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
* 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.
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 <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;
}