mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-16 17:00:06 +00:00
![]() Early normalisation of setq during macroexpand-all allows later stages, cconv, byte-opt and codegen, to be simplified and duplicated checks to be eliminated. * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Normalise all setq forms to a sequence of (setq VAR EXPR). Emit warnings if necessary. * lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyze-form): * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Simplify. * test/lisp/emacs-lisp/bytecomp-tests.el: Adapt and add tests. * test/lisp/emacs-lisp/bytecomp-resources/warn-variable-setq-nonvariable.el; * test/lisp/emacs-lisp/bytecomp-resources/warn-variable-setq-odd.el: New files. |
||
---|---|---|
.. | ||
bc-test-alpha.el | ||
bc-test-beta.el | ||
error-lexical-var-with-add-hook.el | ||
error-lexical-var-with-remove-hook.el | ||
error-lexical-var-with-run-hook-with-args-until-failure.el | ||
error-lexical-var-with-run-hook-with-args-until-success.el | ||
error-lexical-var-with-run-hook-with-args.el | ||
error-lexical-var-with-symbol-value.el | ||
foo-inlinable.el | ||
nowarn-inline-after-defvar.el | ||
warn-autoload-not-on-top-level.el | ||
warn-callargs-defsubst.el | ||
warn-callargs.el | ||
warn-defcustom-nogroup.el | ||
warn-defcustom-notype.el | ||
warn-defvar-lacks-prefix.el | ||
warn-format.el | ||
warn-free-setq.el | ||
warn-free-variable-reference.el | ||
warn-interactive-only.el | ||
warn-lambda-malformed-interactive-spec.el | ||
warn-make-variable-buffer-local.el | ||
warn-obsolete-defun.el | ||
warn-obsolete-hook.el | ||
warn-obsolete-variable-bound.el | ||
warn-obsolete-variable-same-file.el | ||
warn-obsolete-variable.el | ||
warn-redefine-defun-as-macro.el | ||
warn-redefine-defun.el | ||
warn-redefine-macro-as-defun.el | ||
warn-save-excursion.el | ||
warn-variable-let-bind-constant.el | ||
warn-variable-let-bind-nonvariable.el | ||
warn-variable-set-constant.el | ||
warn-variable-set-nonvariable.el | ||
warn-variable-setq-nonvariable.el | ||
warn-variable-setq-odd.el | ||
warn-wide-docstring-autoload.el | ||
warn-wide-docstring-custom-declare-variable.el | ||
warn-wide-docstring-defalias.el | ||
warn-wide-docstring-defconst.el | ||
warn-wide-docstring-define-abbrev-table.el | ||
warn-wide-docstring-define-obsolete-function-alias.el | ||
warn-wide-docstring-define-obsolete-variable-alias.el | ||
warn-wide-docstring-defun.el | ||
warn-wide-docstring-defvar.el | ||
warn-wide-docstring-defvaralias.el | ||
warn-wide-docstring-ignore-fill-column.el | ||
warn-wide-docstring-ignore-override.el | ||
warn-wide-docstring-ignore-substitutions.el | ||
warn-wide-docstring-ignore.el | ||
warn-wide-docstring-multiline-first.el | ||
warn-wide-docstring-multiline.el |