[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r109637: * src/eval.c (eval_sub): Bin
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r109637: * src/eval.c (eval_sub): Bind lexical-binding. |
Date: |
Wed, 15 Aug 2012 21:18:07 -0400 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 109637
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Wed 2012-08-15 21:18:07 -0400
message:
* src/eval.c (eval_sub): Bind lexical-binding.
* src/lread.c (Qlexical_binding): Make non-static.
modified:
src/ChangeLog
src/eval.c
src/lread.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2012-08-15 18:58:19 +0000
+++ b/src/ChangeLog 2012-08-16 01:18:07 +0000
@@ -1,3 +1,8 @@
+2012-08-16 Stefan Monnier <address@hidden>
+
+ * eval.c (eval_sub): Bind lexical-binding.
+ * lread.c (Qlexical_binding): Make non-static.
+
2012-08-15 Jan Djärv <address@hidden>
* nsmenu.m (popupSession): Remove.
@@ -44,8 +49,8 @@
Generalize and cleanup font subsystem checks.
* font.h (FONT_DEBUG, font_assert): Remove.
- * font.c, fontset.c, w32font.c, xfont.c, xftfont.c: Change
- font_assert to eassert. Use eassert where appropriate.
+ * font.c, fontset.c, w32font.c, xfont.c, xftfont.c:
+ Change font_assert to eassert. Use eassert where appropriate.
2012-08-15 Dmitry Antipov <address@hidden>
@@ -53,10 +58,10 @@
2012-08-15 Chong Yidong <address@hidden>
- * gtkutil.c (xg_get_font): Rename from xg_get_font_name. When
- using the new font chooser, use gtk_font_chooser_get_font_desc to
- extract the font descriptor instead of just the font name. In
- that case, return a font spec instead of a string.
+ * gtkutil.c (xg_get_font): Rename from xg_get_font_name.
+ When using the new font chooser, use gtk_font_chooser_get_font_desc to
+ extract the font descriptor instead of just the font name.
+ In that case, return a font spec instead of a string.
(x_last_font_name): Move to this file from xfns.c.
* xfns.c (Fx_select_font): The return value can also be a font
=== modified file 'src/eval.c'
--- a/src/eval.c 2012-08-08 19:53:44 +0000
+++ b/src/eval.c 2012-08-16 01:18:07 +0000
@@ -2217,7 +2217,19 @@
goto retry;
}
if (EQ (funcar, Qmacro))
- val = eval_sub (apply1 (Fcdr (fun), original_args));
+ {
+ ptrdiff_t count = SPECPDL_INDEX ();
+ extern Lisp_Object Qlexical_binding;
+ Lisp_Object exp;
+ /* Bind lexical-binding during expansion of the macro, so the
+ macro can know reliably if the code it outputs will be
+ interpreted using lexical-binding or not. */
+ specbind (Qlexical_binding,
+ NILP (Vinternal_interpreter_environment) ? Qnil : Qt);
+ exp = apply1 (Fcdr (fun), original_args);
+ unbind_to (count, Qnil);
+ val = eval_sub (exp);
+ }
else if (EQ (funcar, Qlambda)
|| EQ (funcar, Qclosure))
val = apply_lambda (fun, original_args);
=== modified file 'src/lread.c'
--- a/src/lread.c 2012-08-14 17:45:25 +0000
+++ b/src/lread.c 2012-08-16 01:18:07 +0000
@@ -80,7 +80,7 @@
Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction;
static Lisp_Object Qinhibit_file_name_operation;
static Lisp_Object Qeval_buffer_list;
-static Lisp_Object Qlexical_binding;
+Lisp_Object Qlexical_binding;
static Lisp_Object Qfile_truename, Qdo_after_load_evaluation; /* ACM 2006/5/16
*/
/* Used instead of Qget_file_char while loading *.elc files compiled
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r109637: * src/eval.c (eval_sub): Bind lexical-binding.,
Stefan Monnier <=