Dynamic Variables

Check-in [5db29fb22f]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:mop: SLOT-VALUE-USING-CLASS calls SLOT-UNBOUND when the variable is unbound
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | trunk
Files: files | file ages | folders
SHA3-256: 5db29fb22ff62b8af4c609b50211857bf634d022023ffd2941d541d4c07f3496
User & Date: jack 2024-11-07 08:14:35
Context
2024-11-07
08:14
mop: SLOT-VALUE-USING-CLASS calls SLOT-UNBOUND when the variable is unbound Leaf check-in: 5db29fb22f user: jack tags: trunk
2024-11-04
12:19
fix link check-in: fe85dc3258 user: jack tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to dynamic-vars.lisp.

330
331
332
333
334
335
336
337



338
339
340
341
342
343
344
            (mop:slot-definition-initfunction key)))
    dvar))

(defmethod mop:slot-value-using-class
    ((class standard-class)
     object
     (slotd dynamic-effective-slot))
  (dref (slot-dvar object slotd)))




(defmethod (setf mop:slot-value-using-class)
    (new-value
     (class standard-class)
     object
     (slotd dynamic-effective-slot))
  (dset (slot-dvar object slotd) new-value))







|
>
>
>







330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
            (mop:slot-definition-initfunction key)))
    dvar))

(defmethod mop:slot-value-using-class
    ((class standard-class)
     object
     (slotd dynamic-effective-slot))
  (let ((dvar (slot-dvar object slotd)))
    (if (dynamic-variable-bound-p dvar)
        (dref dvar)
        (slot-unbound class object (mop:slot-definition-name slotd)))))

(defmethod (setf mop:slot-value-using-class)
    (new-value
     (class standard-class)
     object
     (slotd dynamic-effective-slot))
  (dset (slot-dvar object slotd) new-value))