1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-08 04:30:45 -08:00

(Fdefvar): Warn when var is let-bound but globally void.

This commit is contained in:
Stefan Monnier 2004-11-22 05:26:50 +00:00
parent 87ae59e368
commit d0bce91e9c
2 changed files with 25 additions and 8 deletions

View file

@ -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.

View file

@ -786,6 +786,21 @@ usage: (defvar SYMBOL &optional INITVALUE DOCSTRING) */)
{
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))