From 15a7dc91a3ef278e1beaa834fdf961844f7b80c8 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Wed, 1 Jul 2020 10:07:57 +0200 Subject: [PATCH] * Add a number of functions to pure-fns (bug#42147) * lisp/emacs-lisp/byte-opt.el (pure-fns): Add: /=, <, <=, =, >, >=, abs, arrayp, ash, assoc, assq, bool-vector-p car, car-safe, cdr, cdr-safe, char-or-string-p, characterp, consp, eq, eql, equal, expt, floatp, hash-table-p, identity, integer-or-marker-p, integerp, keywordp, length, listp, max, member, memq, memql, min, mod, natnump, nlistp, not, null, number-or-marker-p, numberp, proper-list-p, rassq, safe-length, sequencep, string-equal, string-lessp, string<, string=, stringp, symbolp, vectorp. --- lisp/emacs-lisp/byte-opt.el | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el index 12bde8faf3..6ad8f11cd7 100644 --- a/lisp/emacs-lisp/byte-opt.el +++ b/lisp/emacs-lisp/byte-opt.el @@ -1307,9 +1307,14 @@ byte-optimize-set ;; values if a marker is moved. (let ((pure-fns - '(% concat logand logcount logior lognot logxor - regexp-opt regexp-quote - string-to-char string-to-syntax symbol-name))) + '(% /= < <= = > >= abs arrayp ash assoc assq bool-vector-p car car-safe + cdr cdr-safe char-or-string-p characterp concat consp eq eql equal + expt floatp hash-table-p identity integer-or-marker-p integerp + keywordp length listp logand logcount logior lognot logxor max member + memq memql min mod natnump nlistp not null number-or-marker-p, numberp + proper-list-p rassq regexp-opt regexp-quote safe-length sequencep + string-equal string-lessp string-to-char string-to-syntax string< + string= stringp symbol-name symbolp vectorp))) (while pure-fns (put (car pure-fns) 'pure t) (setq pure-fns (cdr pure-fns))) -- 2.17.1