Mercurial > emacs
changeset 58413:73c39b73a189
(Fdefvar): Warn when var is let-bound but globally void.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Mon, 22 Nov 2004 05:26:50 +0000 |
parents | b9a1c1b8d195 |
children | 1f06a555fba2 |
files | src/ChangeLog src/eval.c |
diffstat | 2 files changed, 25 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Mon Nov 22 05:07:07 2004 +0000 +++ b/src/ChangeLog Mon Nov 22 05:26:50 2004 +0000 @@ -1,3 +1,7 @@ +2004-11-22 Stefan Monnier <monnier@iro.umontreal.ca> + + * eval.c (Fdefvar): Warn when var is let-bound but globally void. + 2004-11-21 Kim F. Storm <storm@cua.dk> * xdisp.c (erase_phys_cursor): Clear hollow cursor inside TEXT_AREA. @@ -11,9 +15,9 @@ * macterm.c (x_clip_to_row): Add area arg. Callers changed. (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA. - * xdisp.c (move_it_in_display_line_to, display_line): Restore - saved_face_id if overflow-newline-into-fringe is enabled and line - is continued before or in middle of element from display vector. + * xdisp.c (move_it_in_display_line_to, display_line): + Restore saved_face_id if overflow-newline-into-fringe is enabled and + line is continued before or in middle of element from display vector. * indent.c (Fvertical_motion): Fix last change. Use another method to detect if iterator moved too far ahead after reseat. @@ -27,8 +31,7 @@ 2004-11-20 Luc Teirlinck <teirllm@auburn.edu> - * fns.c (Fyes_or_no_p): Call Fread_from_minibuffer with extra - argument. + * fns.c (Fyes_or_no_p): Call Fread_from_minibuffer with extra argument. * callint.c (Fcall_interactively): Ditto. 2004-11-20 Stefan Monnier <monnier@iro.umontreal.ca> @@ -44,7 +47,7 @@ (Fread_from_minibuffer): New arg KEEP_ALL. Callers changed. * search.c (Vsearch_spaces_regexp): - Renamed from Vsearch_whitespace_regexp. All uses changed. + Rename from Vsearch_whitespace_regexp. All uses changed. 2004-11-20 Thien-Thi Nguyen <ttn@gnu.org> @@ -86,8 +89,7 @@ 2004-11-16 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> - * gtkutil.c (xg_get_file_name): Fix typo in - HAVE_GTK_FILE_SELECTION_NEW. + * gtkutil.c (xg_get_file_name): Typo in HAVE_GTK_FILE_SELECTION_NEW. * xmenu.c (x_menu_in_use): Remove. (x_menu_set_in_use): Also set popup_activated_flag.
--- a/src/eval.c Mon Nov 22 05:07:07 2004 +0000 +++ b/src/eval.c Mon Nov 22 05:26:50 2004 +0000 @@ -786,6 +786,21 @@ { if (NILP (tem)) Fset_default (sym, Feval (Fcar (tail))); + else + { /* Check if there is really a global binding rather than just a let + binding that shadows the global unboundness of the var. */ + struct specbinding *pdl = specpdl_ptr; + while (--pdl >= specpdl) + { + if (EQ (pdl->symbol, sym) && !pdl->func + && EQ (pdl->old_value, Qunbound)) + { + message_with_string ("Warning: defvar ignored because %s is let-bound", + SYMBOL_NAME (sym), 1); + break; + } + } + } tail = Fcdr (tail); tem = Fcar (tail); if (!NILP (tem))