1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 22:41:06 -08:00
emacs/lisp/emacs-lisp
Mattias Engdegård 2a17925aab Cease attempts to const-propagate through setq
The current method of propagating constants through setq was unsound
because it relied on each setq form only being traversed at most once
during optimisation, which isn't necessarily true in general; it could
be made to miscompile code in rare cases.

Since it was only used in limited circumstances, disabling this
optimisation doesn't cost us much.

* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Don't update the known value when traversing `setq`.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
Add test case.
2021-08-05 15:33:05 +02:00
..
advice.el Rename feature nativecomp' into native-compile' 2021-05-05 22:27:29 +02:00
autoload.el * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Display warning. 2021-08-01 22:58:09 +03:00
avl-tree.el Doc fixes in avl-tree.el 2021-04-28 19:36:42 +03:00
backquote.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
backtrace.el (backtrace-goto-source-functions): Make it a normal abnormal hook 2021-02-13 10:41:45 -05:00
benchmark.el * lisp/emacs-lisp/benchmark.el (benchmark-elapse): Tweak 2021-06-11 14:06:29 -04:00
bindat.el Evaluate eql specializers 2021-08-03 18:26:15 -04:00
byte-opt.el Cease attempts to const-propagate through setq 2021-08-05 15:33:05 +02:00
byte-run.el Merge commit '9cbdf20316' into native-comp 2021-03-09 10:03:47 +01:00
bytecomp.el Single source optimiser entry point 2021-07-30 09:54:29 +02:00
cconv.el Simplify lexical let-optimisations 2021-07-30 14:37:38 +02:00
chart.el EIEIO: Promote the CLOS behavior over the EIEIO-specific behavior 2021-06-12 16:22:03 -04:00
check-declare.el ; Normalize and add missing first and last lines 2021-04-19 12:21:01 +02:00
checkdoc.el * lisp/**/*.el: Avoid positional args to define-minor-mode 2021-04-11 23:47:14 -04:00
cl-extra.el * lisp/emacs-lisp/cl-preloaded.el: Fix the format of props in slot-descs 2021-06-24 17:32:20 -04:00
cl-generic.el * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers): Don't emit warning 2021-08-03 19:02:11 -04:00
cl-indent.el ; Fix typos: emacs lisp -> Emacs Lisp 2021-04-16 14:54:02 +02:00
cl-lib.el Move generalized variable specs from cl-lib.el to gv.el 2021-07-22 00:21:34 +02:00
cl-macs.el * lisp/emacs-lisp/cl-macs.el: Add cl-type pattern 2021-07-30 17:23:32 -04:00
cl-preloaded.el * lisp/emacs-lisp/cl-preloaded.el: Fix the format of props in slot-descs 2021-06-24 17:32:20 -04:00
cl-print.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
cl-seq.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
comp-cstr.el * Improve `comp-normalize-valset' reproducibility (bug#48021) 2021-04-29 21:07:07 +02:00
comp.el * Add `native-compile-target-directory' (bug#48743) 2021-06-01 18:12:20 +02:00
copyright.el Fix an unlikely `copyright-find-copyright' problem 2021-07-18 14:31:09 +02:00
crm.el * lisp/minibuffer.el (completion-in-region--single-word): Simplify 2021-06-26 12:29:52 -04:00
cursor-sensor.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
debug.el * lisp/emacs-lisp/debug.el (debug): Fix (bug#47588) 2021-04-18 01:03:43 -04:00
derived.el Introduce an :interactive keyword for `defined-derived-mode' 2021-02-14 12:58:20 +01:00
disass.el * Fix error while disassembling native code on macOS 2021-08-03 10:27:20 +02:00
easy-mmode.el Improve `define-globalized-minor-mode' doc strings 2021-08-04 09:38:45 +02:00
easymenu.el Clarify obsoletion messages for easy-menu-{add,remove} 2021-04-07 14:33:10 +02:00
edebug.el Evaluate eql specializers 2021-08-03 18:26:15 -04:00
eieio-base.el EIEIO: Promote the CLOS behavior over the EIEIO-specific behavior 2021-06-12 16:22:03 -04:00
eieio-compat.el * lisp/emacs-lisp/edebug.el (edebug--handle-&-spec-op <&name>): New method 2021-02-13 16:21:53 -05:00
eieio-core.el * lisp/emacs-lisp/macroexp.el (macroexp-warn-and-return): Add arg category 2021-07-21 11:11:50 -04:00
eieio-custom.el EIEIO: Promote the CLOS behavior over the EIEIO-specific behavior 2021-06-12 16:22:03 -04:00
eieio-datadebug.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
eieio-opt.el ; Normalize and add missing first and last lines 2021-04-19 12:21:01 +02:00
eieio-speedbar.el EIEIO: Promote the CLOS behavior over the EIEIO-specific behavior 2021-06-12 16:22:03 -04:00
eieio.el * lisp/emacs-lisp/macroexp.el (macroexp-warn-and-return): Add arg category 2021-07-21 11:11:50 -04:00
eldoc.el Look for ElDoc buffer in all visible frames 2021-05-18 16:31:19 +01:00
elint.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
elp.el ; End recently added sentences with a period. 2021-06-01 20:21:51 +01:00
ert-x.el Fix a few Edebug specifications where code is wrapped in lambdas. 2021-05-17 10:09:43 +02:00
ert.el Handle test environment variables 2021-07-01 13:43:44 +02:00
ewoc.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
faceup.el ; Remove some useless comments 2021-04-16 14:54:02 +02:00
find-func.el Make (find-face-definition 'default) work more reliably 2021-06-25 17:16:28 +02:00
float-sup.el * lisp/emacs-lisp/float-sup.el (pi): Actually mark it as obsolete 2021-04-12 12:53:53 -04:00
generator.el Fix copyright lines mistakenly treated as outline headers 2021-03-18 23:32:57 -04:00
generic.el Prefer defvar-local in emacs-lisp/*.el 2021-01-31 14:55:53 +01:00
gv.el Move generalized variable specs from cl-lib.el to gv.el 2021-07-22 00:21:34 +02:00
helper.el Use lexical-binding in all of lisp/emacs-lisp 2021-01-28 14:42:21 -05:00
hierarchy.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
inline.el * lisp/emacs-lisp/cconv.el: Improve line-nb info of unused var warnings 2021-02-26 20:24:52 -05:00
let-alist.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
lisp-mnt.el Add new function lm-maintainers (bug#48592) 2021-06-30 19:53:48 +02:00
lisp-mode.el Adjust docstring of lisp-mode (bug#49278) 2021-06-30 17:00:20 +01:00
lisp.el Don't signal scan-error in interactive sexp-based commands 2021-04-30 17:31:20 +02:00
macroexp.el ; * lisp/emacs-lisp/macroexp.el (macroexp-warn-and-return): Doc fix. 2021-07-22 10:31:14 +03:00
map-ynp.el Merge from origin/emacs-27 2021-04-25 09:16:09 -07:00
map.el Evaluate eql specializers 2021-08-03 18:26:15 -04:00
memory-report.el Define revert-buffer-function for *Memory Report* 2021-07-16 20:05:31 +02:00
nadvice.el Fix a few Edebug specifications where code is wrapped in lambdas. 2021-05-17 10:09:43 +02:00
package-x.el * lisp/gnus/gnus-art.el: Fix misuse of standard-value. 2021-02-02 14:39:28 -05:00
package.el Package archive location needs to be absolute filename 2021-08-04 10:50:38 +02:00
pcase.el * lisp/emacs-lisp/pcase.el (pcase-compile-patterns): New function (bug#47261) 2021-03-19 17:42:22 -04:00
pp.el Merge from origin/emacs-27 2021-05-04 07:50:25 -07:00
radix-tree.el Evaluate eql specializers 2021-08-03 18:26:15 -04:00
re-builder.el Use display-buffer with re-builder (bug#49069) 2021-07-08 20:39:39 +03:00
regexp-opt.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
regi.el Use lexical-binding in all of lisp/emacs-lisp 2021-01-28 14:42:21 -05:00
ring.el ; Remove some useless comments 2021-04-16 14:54:02 +02:00
rmc.el Fix a recent change in rmc.el 2021-05-07 17:09:44 +03:00
rx.el ; * lisp/emacs-lisp/rx.el (rx--pcase-macroexpander): slight rephrase 2021-05-29 09:18:01 +02:00
seq.el Work around long-standing seq.el compilation warning 2021-07-30 13:13:46 +02:00
shadow.el Ignore .dir-locals-2.el files more 2021-07-04 16:23:46 +02:00
shortdoc.el Rename directory-append to file-name-concat 2021-07-25 08:54:20 +02:00
smie.el * lisp/emacs-lisp/smie.el: Fix URL. Remove redundant :group args 2021-04-12 13:01:06 -04:00
subr-x.el Attempt to make defclass documentation more legible 2021-06-24 20:24:43 +02:00
syntax.el Give 'syntax-propertize-wholelines' a docstring. 2021-05-30 22:38:48 +02:00
tabulated-list.el Add commands to move to next/previous column in tabulated-list-mode 2021-07-25 09:16:08 +02:00
tcover-ses.el ; Normalize and add missing first and last lines 2021-04-19 12:21:01 +02:00
testcover.el ; Normalize and add missing first and last lines 2021-04-19 12:21:01 +02:00
text-property-search.el Even further `text-property-search-forward' clarifications 2021-05-12 19:01:53 +02:00
thunk.el Fix a few Edebug specifications where code is wrapped in lambdas. 2021-05-17 10:09:43 +02:00
timer-list.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
timer.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
tq.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
trace.el * lisp/emacs-lisp/trace.el (trace-values): Work outside of traced function 2021-03-02 09:13:57 -05:00
unsafep.el ; Normalize and add missing first and last lines 2021-04-19 12:21:01 +02:00
warnings.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00