emacs-bug-tracker
[Top][All Lists]
Advanced

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

[debbugs-tracker] bug#13813: closed (24.3.50; eval-and-compile in macro


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#13813: closed (24.3.50; eval-and-compile in macro inhibits let-binding of variable)
Date: Tue, 12 Mar 2013 02:50:03 +0000

Your message dated Mon, 11 Mar 2013 22:48:11 -0400
with message-id <address@hidden>
and subject line Re: bug#13813: 24.3.50; eval-and-compile in macro inhibits 
let-binding of variable
has caused the debbugs.gnu.org bug report #13813,
regarding 24.3.50; eval-and-compile in macro inhibits let-binding of variable
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
13813: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13813
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: 24.3.50; eval-and-compile in macro inhibits let-binding of variable Date: Mon, 25 Feb 2013 17:58:41 +0100
Recipe:

* Create a file test.el with the following contents:

(defvar myflag nil)

(defmacro mytestmacro ()
  "An eval-and-compile test."
  `(eval-and-compile (mytestfun)))

(defun mytestfun ()
  (when myflag
    (message "foo")))

(let ((myflag t))
  ;; Should display "foo"
  (mytestmacro))

* Now call with Emacs from trunk:

  emacs --batch -l test.el

* "foo" should be displayed, but isn't. The Emacs 24.2.93 pretest
  however works as expected.

* Note the following:

  - It works if you just 'setq' the 'myflag' variable

  - If you load the file interactively and call `eval-buffer', it will
    also output nothing. However, if you manually evaluate the last
    expression through C-x C-e, it will work.

  - The same problem occurs with `eval-when-compile', but everything
    works with `progn'.


Best,
David "who will never grasp eval-and-compile"

And yes, Stefan, this bug turned up in the EIEIO test suite. :-)



--- End Message ---
--- Begin Message --- Subject: Re: bug#13813: 24.3.50; eval-and-compile in macro inhibits let-binding of variable Date: Mon, 11 Mar 2013 22:48:11 -0400 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)
tags 13813 notabug
thanks

> So in yet other words, you don't see this as a bug?  If so, then please
> close this report and I'll have to discuss with Eric how we deal with
> this on our side.

Right: the `eval-and-compile' can cause the wrapped code to be run
outside of the scope of the surrounding code, so it's normal if that
let-binding doesn't always have the effect you want.


        Stefan


--- End Message ---

reply via email to

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