1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 11:50:51 -08:00

(Fdefvar): Only record (defvar <var>) in the load-history

in <var> has no default value yet.
This commit is contained in:
Stefan Monnier 2001-05-14 20:53:03 +00:00
parent 940cf42ecb
commit 3356884957
2 changed files with 22 additions and 12 deletions

View file

@ -1,5 +1,8 @@
2001-05-14 Stefan Monnier <monnier@cs.yale.edu>
* eval.c (Fdefvar): Only record (defvar <var>) in the load-history
in <var> 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.

View file

@ -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))));
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);
}
tail = Fcdr (Fcdr (args));
if (!NILP (Fcar (tail)))
{
tem = Fcar (tail);
if (!NILP (Vpurify_flag))
tem = Fpurecopy (tem);
Fput (sym, Qvariable_documentation, tem);
}
LOADHIST_ATTACH (sym);
else
/* A (defvar <var>) should not take precedence in the load-history over
an earlier (defvar <var> <val>), so only add to history if the default
value is still unbound. */
if (NILP (tem))
LOADHIST_ATTACH (sym);
return sym;
}