emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Bug: buffer local variables handled wrong [9.0.5 (release_9.0.5-


From: Nicolas Goaziou
Subject: Re: [O] Bug: buffer local variables handled wrong [9.0.5 (release_9.0.5-497-g5bc540 @ /home/hs/.emacs.d/lib/org-mode/lisp/)]
Date: Sun, 04 Jun 2017 11:35:34 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

"Stefan-W. Hahn" <address@hidden> writes:

> What I don't understand is, if I expand the pcase with (macrostep-expand) I
> get the following:
>
> ,----
> |     (let (res)
> |     (dolist (pair (buffer-local-variables))
> |       (if
> |           (consp pair)
> |           (let*
> |               ((x
> |                 (car pair))
> |                (x
> |                 (cdr pair)))
> |             (let
> |                 ((val x)
> |                  (var x))
> |               (push
> |                (list 'set var val)
> |                res)))
> |         nil))
> |     res)
> `----
>
> And this is obviously wrong.

This is not obviously wrong. You may be thinking that both `x' symbols
are the same, but they are not. E.g.,

  (let ((s1 (make-symbol "x"))
        (s2 (make-symbol "x")))
    (list (list s1 s2) (eq s1 s2)))

  =>

  ((x x) nil)

Regards,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]