From: Stefan Monnier Date: Mon, 14 May 2001 20:53:03 +0000 (+0000) Subject: (Fdefvar): Only record (defvar ) in the load-history X-Git-Tag: emacs-pretest-21.0.104~503 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=33568849577b4c07e8f8b29e187eb6ea69f0cc86;p=emacs.git (Fdefvar): Only record (defvar ) in the load-history in has no default value yet. --- diff --git a/src/ChangeLog b/src/ChangeLog index 9cd3520dcb6..d49a0e6c0fc 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2001-05-14 Stefan Monnier + * eval.c (Fdefvar): Only record (defvar ) in the load-history + in has no default value yet. + * xfaces.c (try_alternative_families): First try the FAMILY. And if nothing is found in the end, try again with scalable fonts. (try_font_list): Let try_alternative_families do a bit more of @@ -10,7 +13,7 @@ * xterm.c (note_mouse_highlight): Avoid changing the mouse pointer shape when show_mouse_face has already done it. - + * xterm.c (x_draw_glyphs): Fix computation of rightmost x for full-width rows. diff --git a/src/eval.c b/src/eval.c index f7dd17eb5ea..42dcc814bb6 100644 --- a/src/eval.c +++ b/src/eval.c @@ -686,21 +686,28 @@ If INITVALUE is missing, SYMBOL's value is not set.") if (!NILP (Fcdr (Fcdr (tail)))) error ("too many arguments"); + tem = Fdefault_boundp (sym); if (!NILP (tail)) { - tem = Fdefault_boundp (sym); if (NILP (tem)) - Fset_default (sym, Feval (Fcar (Fcdr (args)))); - } - tail = Fcdr (Fcdr (args)); - if (!NILP (Fcar (tail))) - { - tem = Fcar (tail); - if (!NILP (Vpurify_flag)) - tem = Fpurecopy (tem); - Fput (sym, Qvariable_documentation, tem); + Fset_default (sym, Feval (Fcar (tail))); + tail = Fcdr (tail); + if (!NILP (Fcar (tail))) + { + tem = Fcar (tail); + if (!NILP (Vpurify_flag)) + tem = Fpurecopy (tem); + Fput (sym, Qvariable_documentation, tem); + } + LOADHIST_ATTACH (sym); } - LOADHIST_ATTACH (sym); + else + /* A (defvar ) should not take precedence in the load-history over + an earlier (defvar ), so only add to history if the default + value is still unbound. */ + if (NILP (tem)) + LOADHIST_ATTACH (sym); + return sym; }