]> git.eshelyaron.com Git - emacs.git/commit
Fix byte-opt lists of pure functions etc.
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 22 Mar 2018 18:25:42 +0000 (11:25 -0700)
committerAndrew G Cohen <cohen@andy.bu.edu>
Tue, 11 Dec 2018 06:17:57 +0000 (14:17 +0800)
commit0d04cb600669377bee3b91363e27c51276aa6036
tree3ceae84afe1cf0a1d8bcc4df1bc13bc3403591eb
parent7f60bfed2df615eeddcfdd4772ef72a149480421
Fix byte-opt lists of pure functions etc.

This fixes a bug where a byte-compiler running on 64-bit Emacs
optimized (lsh -1 -1) to #x1fffffffffffffff, an optimization
that is incorrect for .elc files intended for either 32- or
64-bit Emacs.  While I was in the neighborhood, I noticed other
glitches in the lists of pure and side-effect-free functions, and
fixed the errors that I found.
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
Move some functions here from side-effect-and-error-free-fns,
since they can now signal errors.  The affected functions are
current-time-string, current-time-zone,
line-beginning-position, line-end-position.  Rename langinfo
to locale-info.  Add logcount.  Remove string-to-int.
(side-effect-and-error-free-fns): Remove minibuffer-window, a
function that can signal errors, and that is already in
side-effect-free-fns.
(pure-fns): Remove ash, lsh, and logb, since they are
platform-dependent and .elc files should be
platform-independent.  Add %, logand, logcount.  Sort.
Clarify what is meant by “pure”.
lisp/emacs-lisp/byte-opt.el