emacs/lisp/emacs-lisp
Paul Eggert 66b7718901 Fix constant folding of overflows
This suppresses some byte-code optimizations that were invalid in
the presence of integer overflows, because they meant that .elc
files assumed the runtime behavior of the compiling platform, as
opposed to the runtime platform.  Problem reported by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2018-03/msg00753.html
* lisp/emacs-lisp/byte-opt.el (byte-opt--portable-max)
(byte-opt--portable-min): New constants.
(byte-opt--portable-numberp, byte-opt--arith-reduce)
(byte-optimize-1+, byte-optimize-1-): New functions.
(byte-optimize-plus, byte-optimize-minus, byte-optimize-multiply)
(byte-optimize-divide):	Avoid invalid optimizations.
(1+, 1-): Use new optimizers.
(byte-optimize-or, byte-optimize-cond): Simplify by using
remq instead of delq and copy-sequence.
2018-03-26 17:04:38 -07:00
..
advice.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
autoload.el Remove many items obsolete since Emacs 22.1 2018-03-10 19:15:56 -08:00
avl-tree.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
backquote.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
benchmark.el Merge from origin/emacs-26 2018-02-17 07:50:28 -08:00
bindat.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
byte-opt.el Fix constant folding of overflows 2018-03-26 17:04:38 -07:00
byte-run.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
bytecomp.el Allow &rest' or &optional' without following variable (Bug#29165) 2018-03-25 07:56:35 -04:00
cconv.el * lisp/emacs-lisp/cconv.el (cconv-convert): Fix compiling compiled code 2018-02-02 10:28:34 -05:00
chart.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
check-declare.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
checkdoc.el Quieten cl-lib related compiler warnings 2018-03-22 21:40:24 -07:00
cl-extra.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
cl-generic.el Prevent name clashes between CL structures and builtin types 2018-01-28 19:21:47 +01:00
cl-indent.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
cl-lib.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
cl-macs.el Merge from origin/emacs-26 2018-03-10 18:30:54 -08:00
cl-preloaded.el Add missing module types to cl--typeof-types. 2018-01-28 20:39:58 +01:00
cl-print.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
cl-seq.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
cl.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
copyright.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
crm.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
cursor-sensor.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
debug.el Explicitly require cl-lib where needed 2018-03-16 20:41:17 -04:00
derived.el Remove many items obsolete since Emacs 22.1 2018-03-10 19:15:56 -08:00
disass.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
easy-mmode.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
easymenu.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
edebug.el Merge from origin/emacs-26 2018-02-17 07:50:28 -08:00
eieio-base.el Merge from origin/emacs-26 2018-03-22 07:50:37 -07:00
eieio-compat.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
eieio-core.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
eieio-custom.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
eieio-datadebug.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
eieio-opt.el Define cl-type-definition button type as needed (Bug#28899) 2018-01-30 22:14:02 -05:00
eieio-speedbar.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
eieio.el ; lisp/emacs-lisp/eieio.el (eieio-object-set-name-string): Fix quote. 2018-03-01 22:08:42 -05:00
eldoc.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
elint.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
elp.el Merge from origin/emacs-26 2018-02-17 07:50:28 -08:00
ert-x.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
ert.el Print top time consuming tests if advised 2018-03-19 12:58:45 +01:00
ewoc.el * lisp/emacs-lisp/ewoc.el (ewoc-goto-node): 2018-03-05 14:32:20 -05:00
faceup.el Update copyright year to 2018 2018-01-01 01:25:56 -08:00
find-func.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
float-sup.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
generator.el * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-string' prop. 2018-01-11 11:24:38 -05:00
generic.el Remove many items obsolete since Emacs 22.1 2018-03-10 19:15:56 -08:00
gv.el * lisp/emacs-lisp/gv.el (char-table-range): Add gv-setter. 2018-01-25 19:20:49 -05:00
helper.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
inline.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
let-alist.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
lisp-mnt.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
lisp-mode.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
lisp.el Merge from origin/emacs-26 2018-01-09 15:29:25 -08:00
macroexp.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
map-ynp.el New function read-answer (bug#30073) 2018-01-21 23:45:43 +02:00
map.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
nadvice.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
package-x.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
package.el Trivial fixes for last changes to package.el and marker.c 2018-03-26 14:29:49 -04:00
pcase.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
pp.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
radix-tree.el Quieten cl-lib related compiler warnings 2018-03-22 21:40:24 -07:00
re-builder.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
regexp-opt.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
regi.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
ring.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
rmc.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
rx.el Explicitly require cl-lib where needed 2018-03-16 20:41:17 -04:00
seq.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
shadow.el ; Spelling fix 2018-01-22 08:50:06 -08:00
smie.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
subr-x.el Revert last commit 2018-03-06 18:32:04 +01:00
syntax.el Remove outdated comment in syntax.el 2018-03-03 14:41:16 +02:00
tabulated-list.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
tcover-ses.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
tcover-unsafep.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
testcover.el Explicitly require cl-lib where needed 2018-03-16 20:41:17 -04:00
thunk.el Quieten cl-lib related compiler warnings 2018-03-22 21:40:24 -07:00
timer-list.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
timer.el Remove many items obsolete since Emacs 22.1 2018-03-10 19:15:56 -08:00
tq.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
trace.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
unsafep.el Remove many items obsolete since Emacs 22.1 2018-03-10 19:15:56 -08:00
warnings.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00