From: Lars Ingebrigtsen Date: Wed, 30 Dec 2020 03:48:13 +0000 (+0100) Subject: Switch add-to-ordered-list to eql X-Git-Tag: emacs-28.0.90~4494 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b4fd857ead728a06380250c5336c1ab94a7c2f7a;p=emacs.git Switch add-to-ordered-list to eql * doc/lispref/lists.texi (List Variables): Update documentation. * lisp/subr.el (add-to-ordered-list): Switch to eql (bug#45539). --- diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi index ae793d5e15e..2e5b193d840 100644 --- a/doc/lispref/lists.texi +++ b/doc/lispref/lists.texi @@ -812,7 +812,7 @@ This function sets the variable @var{symbol} by inserting @var{element} into the old value, which must be a list, at the position specified by @var{order}. If @var{element} is already a member of the list, its position in the list is adjusted according -to @var{order}. Membership is tested using @code{eq}. +to @var{order}. Membership is tested using @code{eql}. This function returns the resulting list, whether updated or not. The @var{order} is typically a number (integer or float), and the diff --git a/etc/NEWS b/etc/NEWS index 0231c167112..e4189998340 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1861,6 +1861,8 @@ directory instead of the default directory. * Incompatible Lisp Changes in Emacs 28.1 +** 'add-to-ordered-list' now uses 'eql' instead of 'eq'. + ** 'set-process-buffer' now updates the process mark. The mark will be set to point to the end of the new buffer. diff --git a/lisp/subr.el b/lisp/subr.el index 384dbb25cf8..b3f00cc1782 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -1973,7 +1973,7 @@ can do the job." (defun add-to-ordered-list (list-var element &optional order) "Add ELEMENT to the value of LIST-VAR if it isn't there yet. -The test for presence of ELEMENT is done with `eq'. +The test for presence of ELEMENT is done with `eql'. The resulting list is reordered so that the elements are in the order given by each element's numeric list order. Elements @@ -1993,7 +1993,7 @@ The return value is the new value of LIST-VAR." (let ((ordering (get list-var 'list-order))) (unless ordering (put list-var 'list-order - (setq ordering (make-hash-table :weakness 'key :test 'eq)))) + (setq ordering (make-hash-table :weakness 'key)))) (when order (puthash element (and (numberp order) order) ordering)) (unless (memq element (symbol-value list-var))