aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2012-08-15 21:18:07 -0400
committerStefan Monnier2012-08-15 21:18:07 -0400
commit8be3a09c4f4ed0eae2902b81e80856e917a81b2d (patch)
tree6b460256c489213a92086200db5a183318175dd8 /src
parent94c9ece10275f8ca9323c38f93607f1046035c79 (diff)
downloademacs-8be3a09c4f4ed0eae2902b81e80856e917a81b2d.tar.gz
emacs-8be3a09c4f4ed0eae2902b81e80856e917a81b2d.zip
* src/eval.c (eval_sub): Bind lexical-binding.
* src/lread.c (Qlexical_binding): Make non-static.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog17
-rw-r--r--src/eval.c14
-rw-r--r--src/lread.c2
3 files changed, 25 insertions, 8 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 6e49dd44fde..b203908cdb6 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12012-08-16 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * eval.c (eval_sub): Bind lexical-binding.
4 * lread.c (Qlexical_binding): Make non-static.
5
12012-08-15 Jan Djärv <jan.h.d@swipnet.se> 62012-08-15 Jan Djärv <jan.h.d@swipnet.se>
2 7
3 * nsmenu.m (popupSession): Remove. 8 * nsmenu.m (popupSession): Remove.
@@ -44,8 +49,8 @@
44 49
45 Generalize and cleanup font subsystem checks. 50 Generalize and cleanup font subsystem checks.
46 * font.h (FONT_DEBUG, font_assert): Remove. 51 * font.h (FONT_DEBUG, font_assert): Remove.
47 * font.c, fontset.c, w32font.c, xfont.c, xftfont.c: Change 52 * font.c, fontset.c, w32font.c, xfont.c, xftfont.c:
48 font_assert to eassert. Use eassert where appropriate. 53 Change font_assert to eassert. Use eassert where appropriate.
49 54
502012-08-15 Dmitry Antipov <dmantipov@yandex.ru> 552012-08-15 Dmitry Antipov <dmantipov@yandex.ru>
51 56
@@ -53,10 +58,10 @@
53 58
542012-08-15 Chong Yidong <cyd@gnu.org> 592012-08-15 Chong Yidong <cyd@gnu.org>
55 60
56 * gtkutil.c (xg_get_font): Rename from xg_get_font_name. When 61 * gtkutil.c (xg_get_font): Rename from xg_get_font_name.
57 using the new font chooser, use gtk_font_chooser_get_font_desc to 62 When using the new font chooser, use gtk_font_chooser_get_font_desc to
58 extract the font descriptor instead of just the font name. In 63 extract the font descriptor instead of just the font name.
59 that case, return a font spec instead of a string. 64 In that case, return a font spec instead of a string.
60 (x_last_font_name): Move to this file from xfns.c. 65 (x_last_font_name): Move to this file from xfns.c.
61 66
62 * xfns.c (Fx_select_font): The return value can also be a font 67 * xfns.c (Fx_select_font): The return value can also be a font
diff --git a/src/eval.c b/src/eval.c
index b531f790cc5..f3f14d60e1c 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -2217,7 +2217,19 @@ eval_sub (Lisp_Object form)
2217 goto retry; 2217 goto retry;
2218 } 2218 }
2219 if (EQ (funcar, Qmacro)) 2219 if (EQ (funcar, Qmacro))
2220 val = eval_sub (apply1 (Fcdr (fun), original_args)); 2220 {
2221 ptrdiff_t count = SPECPDL_INDEX ();
2222 extern Lisp_Object Qlexical_binding;
2223 Lisp_Object exp;
2224 /* Bind lexical-binding during expansion of the macro, so the
2225 macro can know reliably if the code it outputs will be
2226 interpreted using lexical-binding or not. */
2227 specbind (Qlexical_binding,
2228 NILP (Vinternal_interpreter_environment) ? Qnil : Qt);
2229 exp = apply1 (Fcdr (fun), original_args);
2230 unbind_to (count, Qnil);
2231 val = eval_sub (exp);
2232 }
2221 else if (EQ (funcar, Qlambda) 2233 else if (EQ (funcar, Qlambda)
2222 || EQ (funcar, Qclosure)) 2234 || EQ (funcar, Qclosure))
2223 val = apply_lambda (fun, original_args); 2235 val = apply_lambda (fun, original_args);
diff --git a/src/lread.c b/src/lread.c
index 72991e92bae..94ae4dd4282 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -80,7 +80,7 @@ static Lisp_Object Qascii_character, Qload, Qload_file_name;
80Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction; 80Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction;
81static Lisp_Object Qinhibit_file_name_operation; 81static Lisp_Object Qinhibit_file_name_operation;
82static Lisp_Object Qeval_buffer_list; 82static Lisp_Object Qeval_buffer_list;
83static Lisp_Object Qlexical_binding; 83Lisp_Object Qlexical_binding;
84static Lisp_Object Qfile_truename, Qdo_after_load_evaluation; /* ACM 2006/5/16 */ 84static Lisp_Object Qfile_truename, Qdo_after_load_evaluation; /* ACM 2006/5/16 */
85 85
86/* Used instead of Qget_file_char while loading *.elc files compiled 86/* Used instead of Qget_file_char while loading *.elc files compiled