1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-24 07:20:37 +00:00

(display_mode_element): Don't let mode_line_proptrans_alist

grow without limit.  Move recently used elements to the front.
This commit is contained in:
Richard M. Stallman 2002-04-13 17:46:37 +00:00
parent a2c060f6b4
commit adb63af12a

View File

@ -13695,15 +13695,28 @@ display_mode_element (it, depth, field_width, precision, elt, props, risky)
aelt = Fassoc (elt, mode_line_proptrans_alist);
if (! NILP (aelt) && !NILP (Fequal (props, XCDR (aelt))))
elt = XCAR (aelt);
{
mode_line_proptrans_alist
= Fcons (aelt, Fdelq (aelt, mode_line_proptrans_alist));
elt = XCAR (aelt);
}
else
{
Lisp_Object tem;
elt = Fcopy_sequence (elt);
Fset_text_properties (make_number (0), Flength (elt),
props, elt);
/* Add this item to mode_line_proptrans_alist. */
mode_line_proptrans_alist
= Fcons (Fcons (elt, props),
mode_line_proptrans_alist);
/* Truncate mode_line_proptrans_alist
to at most 50 elements. */
tem = Fnthcdr (make_number (50),
mode_line_proptrans_alist);
if (! NILP (tem))
XSETCDR (tem, Qnil);
}
}
}