Commit graph

7130 commits

Author SHA1 Message Date
Andrea Corallo
72c1a41573 Have native compiler always preserve multibyte strings (bug#45342)
* lisp/emacs-lisp/comp.el (comp-final): Escape multibyte string
	when offloading compilation to child process.
	* test/src/comp-test-funcs.el (comp-test-45342-f): New function
	* test/src/comp-tests.el (bug-45342): New test
2020-12-20 21:21:39 +01:00
Andrea Corallo
682bd30347 * Allow for adding constraints targetting blocks with multiple predecessors
This commit remove the limitaiton we had not being able to add
constraints derived from conditional branches to basic blocks with
multiple predecessors.  When this condition is verified we add a new
dedicated basic block to hold the constraints.

	* lisp/emacs-lisp/comp.el (comp-block, comp-edge): Better slot
	type specifiers.
	(comp-block-cstr): New struct specializing `comp-block'.
	(make-comp-edge): New function.
	(comp-func): Better test function + doc for `blocks' slot.
	(comp-limple-lock-keywords): Update possible basic block names.
	(comp-emit-assume): Recive directly the block instead of its name.
	(comp-add-new-block-beetween): New function.
	(comp-cond-cstr-target-block): Logic update and use
	`comp-add-new-block-beetween'.
	(comp-cond-cstr-func): Make use of the latter.
	(comp-compute-edges): Make use of `make-comp-edge'.
2020-12-13 00:58:25 +01:00
Andrea Corallo
258eaddef8 * Rename comp-cond-rw -> comp-cond-cstr
* lisp/emacs-lisp/comp.el (comp-passes)
	(comp-cond-cstr-target-slot, comp-cond-cstr-func)
	(comp-cond-cstr): Rename pass from cond-rw to cond-cstr.
2020-12-13 00:58:25 +01:00
Andrea Corallo
5ca371b501 * Memoize `comp-cstr-intersection'
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-ctxt): Add new slot
	`intersection-mem'.
	(comp-cstr-intersection-homogeneous): Fix non local exit target.
	(comp-cstr-intersection-no-mem): Rename from
	`comp-cstr-intersection'.
	(comp-cstr-intersection): New function.
2020-12-13 00:58:25 +01:00
Andrea Corallo
0ded37fdad * Add initial negated non-negegated intersection support
* lisp/emacs-lisp/comp-cstr.el (comp-range-intersection): Cosmetic.
	(comp-cstr-intersection-homogeneous): Rename from
	`comp-cstr-intersection'.
	(comp-cstr-intersection): New function.
2020-12-13 00:58:12 +01:00
Andrea Corallo
6286945396 Normalize cstrs for cache hint effectiveness and test stability
* lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset)
	(comp-union-valsets, comp-intersection-valsets)
	(comp-normalize-typeset): New functions.
	(comp-union-typesets, comp-intersect-typesets)
	(comp-cstr-union-homogeneous-no-range, comp-cstr-union-1-no-mem):
	Update to return normalized results.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Normalize expected type specifiers.
2020-12-12 16:30:16 +01:00
Andrea Corallo
a6295d3150 * Add `comp-split-pos-neg' function
* lisp/emacs-lisp/comp-cstr.el (comp-split-pos-neg): New function.
	(comp-cstr-union-1-no-mem): Update to call `comp-split-pos-neg'.
2020-12-12 16:30:16 +01:00
Andrea Corallo
73b5e40750 * Code rework add `comp-cstrs-homogeneous'
* lisp/emacs-lisp/comp-cstr.el (comp-cstrs-homogeneous): New
	function.
	(comp-cstr-union-1-no-mem): Make use of.
2020-12-12 16:30:16 +01:00
Andrea Corallo
0474fda62d Merge remote-tracking branch 'savannah/master' into HEAD 2020-12-12 15:31:33 +01:00
Lars Ingebrigtsen
4afef614cd Alter the "Redundant pcase patter" warning message
* lisp/emacs-lisp/pcase.el (pcase--expand): Make the "Redundant
pcase pattern" warning less vague (bug#31350).
2020-12-12 14:22:58 +01:00
Lars Ingebrigtsen
9a7bce6241 Make elint load `require'd packages
* lisp/emacs-lisp/elint.el (elint-require-form): New function to
load files that are `require'd (bug#27006).
(elint-special-forms): Add function.
2020-12-12 14:13:40 +01:00
Stefan Monnier
7660d0359e * lisp/emacs-lisp/thunk.el (thunk-let*): Don't modify bindings 2020-12-11 19:26:43 -05:00
Lars Ingebrigtsen
b04f322a9b Also sort the totals section by size
* lisp/emacs-lisp/memory-report.el (memory-report): Sort the
totals by size, too.
2020-12-11 18:58:41 +01:00
Lars Ingebrigtsen
c7c261ebdf Tweak memory-report--format
* lisp/emacs-lisp/memory-report.el (memory-report--format): Make
everything line up, even when there's "1023.4kB".
2020-12-11 18:48:44 +01:00
Lars Ingebrigtsen
004d7e97e2 Add a new command `memory-report'
* doc/lispref/internals.texi (Garbage Collection): Document it.
* lisp/emacs-lisp/memory-report.el: New package.
2020-12-11 14:49:53 +01:00
Lars Ingebrigtsen
c47e6aa1f4 cl-defmethod doc string clarification
* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Clarify the doc
string, and give an example (bug#42322).
2020-12-09 14:52:53 +01:00
João Távora
67a9ecb489 Remove interactive spec from internal eldoc--format-doc-buffer
Per bug#43609.

* lisp/emacs-lisp/eldoc.el (eldoc--format-doc-buffer): Remove
useless interactive spec.
2020-12-08 23:40:23 +00:00
Philipp Stephani
0155bd0fdb Fix bug in how ERT invokes its debugger.
The debugger needs to receive a list of the error symbol and data;
cf. the documentation of the `debugger' variable.  This bug manifested
itself in ERT forms such as (should (integerp (ert-fail "Boo"))),
which resulted in an incorrect condition object.  Note that forms such
as (should (ert-fail "Boo")) weren't affected because they wouldn't
use the `ert--should-signal-hook'.

* test/emacs-lisp/ert.el (ert--should-signal-hook): Call debugger with
the right arguments.

* test/lisp/emacs-lisp/ert-tests.el (ert-test-fail-inside-should): Add
unit test.
2020-12-07 21:41:40 +01:00
Andrea Corallo
be907b0ba8 * Spawn a sub-process for running GCC also in batch mode (bug#45056)
* lisp/emacs-lisp/comp.el (comp-async-compilation): New variable.
	(comp-final): Always run the C side of the compilation as a
	sub-process unless during bootstrap or async compilation.
	(comp-run-async-workers): Set `comp-async-compilation'.
2020-12-07 16:43:01 +01:00
Stefan Monnier
300c581370 * lisp/emacs-lisp/lisp-mode.el: Give paren syntax to [...] in lisp-data-mode
(lisp-data-mode-syntax-table): Rename from lisp--mode-syntax-table.
Adjust all users.  Set [...] to have paren syntax.
(lisp-data-mode): Don't set `lisp-syntax` arg any more

* lisp/progmodes/elisp-mode.el (emacs-lisp-mode-syntax-table):
Don't bother setting [...] to have paren syntax any more.

* lisp/progmodes/inf-lisp.el (inferior-lisp-mode): Don't use
`lisp-syntax` arg of lisp-mode-variables any more.
2020-12-06 22:18:48 -05:00
Andrea Corallo
715a1ca174 Merge remote-tracking branch 'savannah/master' into HEAD 2020-12-06 18:07:27 +01:00
Andrea Corallo
27f666e111 * Unify common fallback exit point in `comp-cstr-union-1-no-mem'.
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Define
	a local function `give-up' as a common fall-back exit point.
2020-12-06 18:07:03 +01:00
Andrea Corallo
ac40a60696 Couple of `comp-cstr-union-1-no-mem' improvements for mixed neg pos union
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem):
	Generalize disjoint pos types vs neg values conditions.
	(comp-cstr-union-1-no-mem): Do not propagate ranges when we are
	already returning integer as generic type.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add corresponding tests.
2020-12-06 18:02:18 +01:00
Andrea Corallo
09ec39e352 * Memoize `comp-cstr-union-1'
* lisp/emacs-lisp/comp-cstr.el (comp-cstr): Do not synthesize the
	copier.
	(comp-cstr-ctxt): Add `union-1-mem-no-range' `union-1-mem-range'
	slots.
	(comp-cstr-copy): New function.
	(comp-cstr-union-1-no-mem): Rename from `comp-cstr-union-1'.
	(comp-cstr-union-1): New function.
2020-12-05 22:33:35 +01:00
Andrea Corallo
2eb41ec137 More improvements to `comp-cstr-union-1' for mixed positive/negative cases
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1): Better handle
	mixed positive/negated cases.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add a number of tests.
2020-12-05 19:01:04 +01:00
Andrea Corallo
f923de6853 * Fix `comp-cstr-to-type-spec'
* lisp/emacs-lisp/comp-cstr.el (comp-star-or-num-p): New predicate.
	(comp-type-spec-to-cstr): Make use of.
	(comp-cstr-to-type-spec): Output correctly type specifiers
	as (not (or integer ...
2020-12-05 19:01:04 +01:00
Andrea Corallo
726e40fb7c Fix union of homogeneously negated input constraints
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1): Fix logic.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add a couple of tests.
2020-12-05 19:01:03 +01:00
Andrea Corallo
cbbdb4e199 * Add `with-comp-cstr-accessors' macro.
* lisp/emacs-lisp/comp-cstr.el (with-comp-cstr-accessors): New macro.
	(comp-cstr-union-1): Make use of `with-comp-cstr-accessors'.
2020-12-05 19:01:03 +01:00
Andrea Corallo
7c1d90a41d Initial support for union of negated constraints
* lisp/emacs-lisp/comp-cstr.el (comp-range-negation): New
	function.
	(comp-cstr-union-homogeneous-no-range): Rename from
	`comp-cstr-union-no-range'.
	(comp-cstr-union-homogeneous): Rename from `comp-cstr-union'.
	(comp-cstr-union-1): New function.
	(comp-cstr-union-no-range, comp-cstr-union): Rewrite in function
	of `comp-cstr-union-1'.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add a bunch of tests.
2020-12-05 19:01:03 +01:00
Andrea Corallo
1fb249f6db * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-no-range): Cosmetic. 2020-12-05 19:01:03 +01:00
Andrea Corallo
9b85ae6aa5 Initial constraint negation support
* lisp/emacs-lisp/comp-cstr.el (comp-cstr): Add `neg' slot.
	(comp-range-negation, comp-cstr-negation)
	(comp-cstr-negation-make): New functions.
	(comp-type-spec-to-cstr): Enable `not` in type specifiers.
	(comp-cstr-to-type-spec): Update logic to handle negation.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add a test.
2020-12-05 19:01:03 +01:00
Andrea Corallo
39bdb3f6f5 Vanilla build warning clean-up
* lisp/emacs-lisp/disass.el (native-comp-unit-file)
	(subr-native-comp-unit): Declare function.
	* lisp/progmodes/elisp-mode.el (native-compile): Likewise.
	* lisp/emacs-lisp/package.el (comp-el-to-eln-filename): Likewise.
	* lisp/startup.el (normal-top-level): Silence warning.
	* src/data.c (syms_of_data): 'Ssubr_native_lambda_list' is always
	defined.
	* src/pdumper.c (dump_cold_native_subr): Move under ifdefs.
	(dump_drain_cold_data): Add ifdefs.
2020-12-04 23:21:15 +01:00
Stefan Kangas
81fe928a76 Prefer setq-local in emacs-lisp/*.el
* lisp/emacs-lisp/chart.el (chart-mode):
* lisp/emacs-lisp/copyright.el (copyright-update):
* lisp/emacs-lisp/eieio-custom.el (eieio-customize-object):
* lisp/emacs-lisp/elint.el (elint-update-env, elint-init-form):
* lisp/emacs-lisp/ert.el (ert--results-update-ewoc-hf):
(ert--setup-results-buffer):
* lisp/emacs-lisp/lisp-mode.el (lisp-mode-variables):
* lisp/emacs-lisp/pp.el (pp-display-expression):
* lisp/emacs-lisp/re-builder.el (reb-mode, reb-restart-font-lock):
* lisp/emacs-lisp/shadow.el (load-path-shadows-mode):
* lisp/emacs-lisp/smie.el (smie-setup):
* lisp/emacs-lisp/syntax.el (syntax-propertize):
* lisp/emacs-lisp/trace.el (trace-make-advice): Prefer setq-local.
2020-12-04 19:12:12 +01:00
Stefan Kangas
9b2e5b2301 Remove redundant requires of 'help'
* lisp/emacs-lisp/advice.el (ad-read-advised-function):
* lisp/emacs-lisp/ert.el:
* lisp/facemenu.el: Don't require 'help'; it is preloaded since
version 18.59.
2020-12-03 15:06:13 +01:00
Stefan Kangas
fddf68cd81 Remove redundant requires of 'button'
* lisp/apropos.el:
* lisp/emacs-lisp/cl-print.el:
* lisp/emacs-lisp/debug.el:
* lisp/emacs-lisp/ert.el:
* lisp/emacs-lisp/shadow.el:
* lisp/facemenu.el:
* lisp/help-mode.el:
* lisp/man.el:
* lisp/progmodes/etags.el:
* lisp/textmodes/bibtex.el:
* lisp/woman.el: Don't require 'button'; it is preloaded since version
23.1.
2020-12-03 15:06:13 +01:00
Stefan Kangas
4594d6f59a Remove redundant requires of 'custom'
* lisp/emacs-lisp/eieio-custom.el:
* lisp/htmlfontify.el:
* lisp/mwheel.el:
* lisp/net/eudc-vars.el:
* lisp/net/ldap.el:
* lisp/net/tramp-ftp.el:
* lisp/net/tramp-gvfs.el:
* lisp/progmodes/cwarn.el:
* lisp/progmodes/sql.el:
* lisp/savehist.el:
* lisp/textmodes/reftex.el:
* lisp/wid-browse.el: Don't require 'custom'; it is preloaded since
version 20.1.
2020-12-03 09:50:58 +01:00
Stefan Kangas
ed1730718f Remove specific byte-compiler warnings for cl.el
* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-types)
(byte-compile-warnings, byte-compile-cl-file-p)
(byte-compile-eval, byte-compile-eval-before-compile)
(byte-compile-arglist-warn, byte-compile-find-cl-functions)
(byte-compile-cl-warn, displaying-byte-compile-warnings)
(byte-compile-file-form-require, byte-compile-form): Remove all
specific cl.el warnings, as that library is now obsolete.  The
regular obsoletion warnings are sufficiently discouraging.
* lisp/emacs-lisp/advice.el (ad-compile-function): Don't try to
silence the now removed warning.
* doc/lispref/tips.texi (Coding Conventions):
* doc/misc/cl.texi (Organization): Make recommendation to not use
cl.el and cl-compat.el stronger.
* lisp/obsolete/cl.el: Make alias help say that they are obsolete.
* lisp/obsolete/cl-compat.el (build-klist, safe-idiv)
(pair-with-newsyms): Silence byte-compiler.
2020-12-02 10:19:16 +01:00
Stefan Kangas
ace6eba036 Fix byte-compiler warning for failed uses of lexical vars
* lisp/emacs-lisp/bytecomp.el (byte-compile-form): Fix byte-compiler
warning for failed uses of lexical vars.  (Bug#44980)
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp--define-warning-file-test): Don't prefix tests with
'warn'.
(bytecomp/error-lexical-var-with-add-hook\.el)
(bytecomp/error-lexical-var-with-remove-hook\.el)
(bytecomp/error-lexical-var-with-run-hook-with-args-until-failure\.el)
(bytecomp/error-lexical-var-with-run-hook-with-args-until-success\.el)
(bytecomp/error-lexical-var-with-run-hook-with-args\.el)
(bytecomp/error-lexical-var-with-symbol-value\.el): New tests.
* test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-symbol-value.el:
* test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args.el:
* test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args-until-success.el:
* test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args-until-failure.el:
* test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-remove-hook.el:
* test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-add-hook.el:
New files.
2020-12-01 13:35:03 +01:00
Andrea Corallo
21104e6808 Fix comp-mvar-symbol-p' and comp-mvar-cons-p' (bug#44968)
* lisp/emacs-lisp/comp.el (comp-mvar-symbol-p): As all slots into
	a `comp-cstr' are in or fix this logic.
	(comp-mvar-cons-p): Likewise.
	* test/src/comp-tests.el (bug-44968): New testcase.
	* test/src/comp-test-funcs.el (comp-test-44968-f): New test
	function.
2020-12-01 00:09:46 +01:00
Stefan Kangas
90a543e630 Decrease code duplication in byte-compiler free-vars warning
* lisp/emacs-lisp/bytecomp.el
(byte-compile-free-vars-warn): New defun extracted from...
(byte-compile-variable-ref, byte-compile-variable-set): ...here.
2020-11-30 22:49:52 +01:00
Andrea Corallo
6523b84015 Merge remote-tracking branch 'savannah/master' into HEAD 2020-11-29 15:11:38 +01:00
Andrea Corallo
2e0256e0a0 Add intersection support into comp-cstr.el 2020-11-27 23:30:02 +01:00
Andrea Corallo
23c082638e Add comp-cstr.el and comp-cstr-tests.el
As the constraint logic of the compiler is not trivial and largely
independent from the rest of the code move it into comp-cstr.el to
ease separation and maintainability.

This commit improve the conversion type
specifier -> constraint for generality.

Lastly this should help with bootstrap time as comp.el compilation
unit is slimmed down.

	* lisp/emacs-lisp/comp-cstr.el: New file.
	(comp--typeof-types, comp--all-builtin-types): Move from comp.el.
	(comp-cstr, comp-cstr-f): Same + rename.
	(comp-cstr-ctxt): New struct.
	(comp-supertypes, comp-common-supertype-2)
	(comp-common-supertype, comp-subtype-p, comp-union-typesets)
	(comp-range-1+, comp-range-1-, comp-range-<, comp-range-union)
	(comp-range-intersection): Move from comp.el.
	(comp-cstr-union-no-range, comp-cstr-union): Move from comp.el and
	rename.
	(comp-cstr-union-make): New function.
	(comp-type-spec-to-cstr, comp-cstr-to-type-spec): Move from
	comp.el, rename it and rework it.

	* lisp/emacs-lisp/comp.el (comp-known-func-cstr-h): Rework.
	(comp-ctxt): Remove two fields and include `comp-cstr-ctxt'.
	(comp-mvar, comp-fwprop-call): Update for `comp-cstr' being
	renamed.
	(comp-fwprop-insn): Use `comp-cstr-union-no-range' or
	`comp-cstr-union'.
	(comp-ret-type-spec): Use `comp-cstr-union' and rework.

	* test/lisp/emacs-lisp/comp-cstr-tests.el: New file.
	(comp-cstr-test-ts, comp-cstr-typespec-test): New functions.
	(comp-cstr-typespec-tests-alist): New defconst to generate tests
	on.
	(comp-cstr-generate-tests): New macro.

	* test/src/comp-tests.el (comp-tests-type-spec-tests): Update.
	(ret-type-spec): Initialize constraint context.
2020-11-26 22:02:30 +01:00
Lars Ingebrigtsen
0287c51768 Keep point in the *eldoc* buffer in eldoc-display-in-echo-area
* lisp/emacs-lisp/eldoc.el (eldoc-display-in-echo-area): Use
'save-excursion' to keep point position in *eldoc* buffer.
Suggested by Andrii Kolomoiets <andreyk.mad@gmail.com>.
2020-11-26 11:24:20 +01:00
Lars Ingebrigtsen
d23723cfb2 Allow following symlinks when recompiling directories
* doc/lispref/compile.texi (Compilation Functions): Document it.
* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Allow
following symlinks (bug#10292).
2020-11-26 11:00:35 +01:00
Stefan Kangas
30c437752d Make text-scale-mode optionally adjust the header line
* lisp/face-remap.el
(text-scale-remap-header-line-face): New buffer local variable.
(text-scale-mode): Adjust header line if above variable is non-nil.
(face-remap--clear-remappings, face-remap--remap-face): New defuns.
* lisp/face-remap.el: Arrange to watch text-scale-mode-remapping.
(text-scale--refresh): New function.

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Use
text-scale-remap-header-line.  (Bug#41852)
2020-11-25 03:03:48 +01:00
Stefan Kangas
affe9b225d Make XEmacs compat aliases easy-menu-{add,remove} obsolete
* lisp/emacs-lisp/easymenu.el (easy-menu-remove, easy-menu-add):
Make XEmacs compat aliases obsolete.
* lisp/allout.el (allout-setup-menubar):
* lisp/cus-edit.el (Custom-mode):
* lisp/gnus/gnus-art.el (gnus-article-edit-mode):
* lisp/gnus/message.el (message-mode):
* lisp/net/sieve.el (sieve-manage-mode):
* lisp/org/org-agenda.el (org-agenda-mode):
* lisp/org/org-table.el (org-table-edit-formulas, orgtbl-mode):
* lisp/org/org.el:
* lisp/progmodes/cperl-mode.el (cperl-mode):
* lisp/progmodes/hideshow.el (hs-minor-mode):
* lisp/progmodes/idlw-help.el (idlwave-help-mode):
* lisp/progmodes/idlw-shell.el (idlwave-shell-mode):
* lisp/progmodes/idlwave.el (idlwave-mode):
* lisp/progmodes/meta-mode.el (meta-common-mode):
* lisp/progmodes/octave.el (octave-mode):
* lisp/progmodes/prolog.el (prolog-menu):
* lisp/progmodes/tcl.el (tcl-mode):
* lisp/speedbar.el (speedbar-reconfigure-keymaps):
* lisp/term.el (term-mode, term-char-mode, term-process-pager):
* lisp/textmodes/dns-mode.el (dns-mode):
* lisp/wid-browse.el (widget-browse-mode): Don't call above
obsolete aliases.
* lisp/cedet/semantic/grammar.el (semantic-grammar-setup-menu-xemacs):
* lisp/mh-e/mh-folder.el (mh-folder-mode):
* lisp/mh-e/mh-identity.el (mh-identity-add-menu):
* lisp/mh-e/mh-letter.el (mh-letter-mode):
* lisp/mh-e/mh-search.el (mh-search-mode):
* lisp/mh-e/mh-show.el (mh-show-mode):
* lisp/obsolete/otodo-mode.el (todo-mode):
* lisp/progmodes/antlr-mode.el (antlr-mode):
* lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode)
(java-mode, idl-mode, pike-mode):
* lisp/progmodes/sql.el (sql-mode, sql-interactive-mode):
* lisp/progmodes/vhdl-mode.el (vhdl-update-mode-menu)
(vhdl-add-source-files-menu, vhdl-mode):
* lisp/textmodes/reftex-index.el (reftex-index-mode)
(reftex-index-phrases-mode):
* lisp/textmodes/reftex-toc.el (reftex-toc-mode):
* lisp/textmodes/reftex.el (reftex-mode): Only call above obsolete
aliases in XEmacs.

* lisp/progmodes/prolog.el (prolog-inferior-menu):
* lisp/erc/erc-menu.el (erc-menu-add, erc-menu-remove): Don't call
above obsolete aliases.  Make obsolete.
* lisp/erc/erc-menu.el (menu, erc-menu-add, erc-menu-remove):
* lisp/progmodes/prolog.el (prolog-inferior-mode): Adjust callers.
* lisp/speedbar.el (speedbar-previous-menu): Make obsolete.
(Bug#44731)
2020-11-24 18:06:05 +01:00
Mattias Engdegård
89a24e4d05 Autoload the 'rx' pcase macroexpander (bug#44807)
* lisp/emacs-lisp/rx.el (rx--pcase-macroexpander]): Autoload.
2020-11-24 10:37:37 +01:00
Andrea Corallo
7a8370ed0f * Add SELECTOR parameter to `native-compile-async' (bug#44813)
* lisp/emacs-lisp/comp.el (native-compile-async-skip-p): New function
ripping out logic from `native--compile-async' and accounting for
SELECTOR.
(native--compile-async): Add SELECTOR parameter, make use of
`native-compile-async-skip-p' and move it with other private
functions.
(native-compile-async): Add SELECTOR parameter.
2020-11-23 20:26:00 +01:00
Andrea Corallo
6104ab0f35 * Rename two native compiler customize
* lisp/emacs-lisp/comp.el (comp-deferred-compilation-deny-list):
Rename from `comp-deferred-compilation-black-list'.
* lisp/emacs-lisp/comp.el (native--compile-async): Update to use
`comp-deferred-compilation-deny-list'.
(comp-bootstrap-deny-list): Rename.
(batch-native-compile): Update to use `comp-bootstrap-deny-list'.
2020-11-23 20:25:00 +01:00