Commit graph

7037 commits

Author SHA1 Message Date
Andrea Corallo
8b135af5bb Provide feature nativecomp and make use of it
* lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Use
	`featurep' to identify if the native compiler is available.
	* lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise.
	* lisp/emacs-lisp/package.el (package--delete-directory): Likewise.
	* lisp/loadup.el: Likewise.
	* src/comp.c (syms_of_comp): Provide feature nativecomp.
2020-10-10 18:47:45 +02:00
Andrea Corallo
77fa6befb4 * lisp/emacs-lisp/comp.el (comp-func): Fix doc for blocks slot. 2020-10-10 18:08:23 +02:00
Stefan Monnier
46c0f28c0e * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Doc tweak
Try and clarify the meaning of `init-value`.
2020-10-10 11:07:28 -04:00
Andrea Corallo
b8772e8b08 * Fix LIMPLE latch block name coloring in "*Native-compile-Log*"
* lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): Fix
	latch block name coloring.
2020-10-10 15:15:49 +02:00
Brian Leung
51f5e487b2 Various typo fixes in native compiler related files
* lisp/emacs-lisp/comp.el (native-compiler-error-dyn-func)
	(comp-func, comp-func-l)
	(comp-func-d, comp-ensure-native-compiler, comp-type-hint-p)
	(comp-func-unique-in-cu-p, comp-alloc-class-to-container)
	(comp-limple-mode, comp-loop-insn-in-block)
	(comp-lex-byte-func-p, comp-c-func-name, comp-decrypt-arg-list)
	(comp-spill-lap-function, comp-intern-func-in-ctxt)
	(comp-spill-lap-function, comp-spill-lap, comp-emit-handler)
	(comp-prepare-args-for-top-level): Various typo fixes.
	* src/comp.c (Fcomp_el_to_eln_filename): Fix typo in error
	message.
2020-10-10 12:19:30 +02:00
Andrea Corallo
f7e7ff4fb1 Merge remote-tracking branch 'savannah/master' into HEAD 2020-10-10 11:00:35 +02:00
Andrea Corallo
138990bbda * Fix failure when compiling a trampoline with no eln-cache dir (bug#43875)
* lisp/emacs-lisp/comp.el (comp-trampoline-compile): Try to create
	the eln-cache dir if this is not existing, if fails to do that
	move on to the next one.
2020-10-10 10:29:17 +02:00
Andrew Whatson
85450f03be * Fix typo name plus make error homogeneous in `comp-trampoline-compile'
* lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix typo
	renaming `comp-tampoline-compile' -> `comp-trampoline-compile'.
	Change error to be consistent.
	(comp-subr-trampoline-install): Use `comp-trampoline-compile'.
2020-10-10 10:29:14 +02:00
Stefan Kangas
b19bf08447 ; shorten https://lists.gnu.org/archive/html/... links 2020-10-09 12:23:02 +02:00
Andrea Corallo
7041c32ec2 * Fix some nits in comp.el
* lisp/emacs-lisp/comp.el (comp-spill-lap-function): Use
	`cl-defmethod' where correct in place of `cl-defgeneric'.
	(comp-tampoline-compile): Add missing #.
2020-10-07 20:43:00 +02:00
Andrea Corallo
58d85f4dbb * Do use echo area for async compilation started/finished messages
* lisp/emacs-lisp/comp.el (comp-run-async-workers)
	(native-compile-async): Do not write into the echo area.
2020-10-07 07:41:00 +02:00
Andrea Corallo
0b58be4941 Rename comp-subr-safe-advice -> comp-subr-trampoline-install 2020-10-05 21:32:38 +02:00
Andrea Corallo
ad5a2bbde0 Revert "Add `advice-flet' macro"
This reverts commit d07d7ab1a0.
2020-10-05 20:46:15 +02:00
Andrea Corallo
44ef24342f Merge remote-tracking branch 'savannah/master' into HEAD 2020-10-04 19:45:05 +02:00
Lars Ingebrigtsen
d8665e6d34 Make update-file-autoloads respect generated-autoload-file
* lisp/emacs-lisp/autoload.el (update-file-autoloads): Make
update-file-autoloads respect `generated-autoload-file', as
documented.
2020-10-04 16:32:16 +02:00
Andrea Corallo
d07d7ab1a0 Add `advice-flet' macro
The testsuite does large use of primitive redefinition, to avoid that
we define `advice-flet' to use instead as an easy `cl-letf'
replacement.

	* lisp/emacs-lisp/nadvice.el (advice-flet): New macro.
2020-10-02 21:20:50 +02:00
Glenn Morris
726eb835dd Merge from origin/emacs-27
78eacf31e8 ; Fix many typos in symbols in docs and comments
d5d12707d6 * doc/misc/flymake.texi (Using Flymake): Fix a typo.  (Bug...

# Conflicts:
#	lisp/allout.el
#	lisp/progmodes/ebrowse.el
2020-10-02 09:38:24 -07:00
Glenn Morris
223de5f2f5 Merge from origin/emacs-27
41dcbeccf3 Make aliases introduced in previous patch obsolete
4997032c05 Restore some public debugging functions removed in Emacs 27
2020-10-02 09:33:53 -07:00
Andrea Corallo
36e0c3fb07 * When advising search in `comp-eln-load-path' the first writable dir
* lisp/emacs-lisp/comp.el (comp-tampoline-compile): Do not crash
	if we can't write in the first entry in `comp-eln-load-path' but
	search for another one.
2020-10-02 14:48:48 +02:00
Stefan Kangas
78eacf31e8 ; Fix many typos in symbols in docs and comments 2020-10-02 13:29:45 +02:00
Lars Ingebrigtsen
6f36b67e41 Stop using a dynamically bound 'generated-autoload-file' variable
* doc/lispref/loading.texi (Autoload): Document change of name
(bug#39823).

* lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Pass
the file name in.
(autoload-generated-file): Ditto.
(autoload-file-load-name): Ditto.
(generate-file-autoloads): Ditto.
(autoload--setup-output): Ditto.
(autoload-generate-file-autoloads): Ditto, and alter doc string to
reflect when `generated-autoload-file' is heeded.
(update-file-autoloads): Pass outfile in to functions.
(autoload-find-destination): Ditto.
(update-directory-autoloads): Make into an obsolete shim around
`make-directory-autoloads'.
(make-directory-autoloads): Renamed from
`update-directory-autoloads' with new semantics.
(batch-update-autoloads): Adjust caller.

* lisp/emacs-lisp/package.el (package-generate-autoloads): Adjust
caller.
2020-10-02 04:34:31 +02:00
Lars Ingebrigtsen
41dcbeccf3 Make aliases introduced in previous patch obsolete
* lisp/emacs-lisp/debug.el (debugger-toggle-locals):
(debug-help-follow): Make reinstated aliases obsolete.
2020-10-01 20:03:58 +02:00
Gemini Lasswell
4997032c05 Restore some public debugging functions removed in Emacs 27
* lisp/emacs-lisp/backtrace.el (backtrace--to-string): New function.
(backtrace-to-string): Use it.  Fix whitespace (bug#40728).
* lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function.
Mark it as obsolete.
(debugger-toggle-locals, debug-help-follow): New aliases.
2020-10-01 20:00:19 +02:00
Stefan Kangas
b03f74e0f2 Don't quote lambdas in several places
* admin/find-gc.el (find-gc-unsafe):
* lisp/align.el (align-rules-list):
* lisp/comint.el (comint-arguments):
* lisp/double.el (isearch-mode-map):
* lisp/ehelp.el (electric-help-command-loop):
* lisp/emacs-lisp/cl-macs.el (cl-defstruct):
* lisp/emulation/cua-rect.el (cua--copy-rectangle-as-kill)
(cua-copy-rectangle-as-text):
* lisp/eshell/esh-var.el (eshell-parse-variable-ref):
* lisp/hexl.el (hexl-insert-multibyte-char):
* lisp/international/titdic-cnv.el (tsang-quick-converter)
(ziranma-converter):
* lisp/language/tibet-util.el (tibetan-decompose-precomposition-alist):
* lisp/mail/mailalias.el (mail-get-names):
* lisp/mh-e/mh-e.el (mh-auto-fields-list, mh-identity-default):
* lisp/mouse.el (mouse-buffer-menu-map, mouse-buffer-menu-alist):
* lisp/play/gametree.el (gametree-make-heading-function):
* lisp/shell.el (shell--command-completion-data):
* lisp/talk.el (talk-update-buffers):
* lisp/tempo.el (tempo-insert-template, tempo-is-user-element)
(tempo-build-collection):
* lisp/term.el (term-input-filter, term-pager-help):
* lisp/textmodes/table.el (table-delete-column):
* lisp/url/url-cache.el (url-cache-create-filename-human-readable):
* lisp/textmodes/tex-mode.el (latex-imenu-create-index): Don't quote
lambdas.
2020-10-01 15:28:14 +02:00
Andrea Corallo
2cc82563d2 * lisp/emacs-lisp/comp.el (comp-c-func-name): Add autoload cookie. 2020-10-01 07:55:00 +02:00
Lars Ingebrigtsen
56d6e29d80 Clarify the "Forgot to expand macro" message
* lisp/emacs-lisp/bytecomp.el (byte-compile-form): Make the
define-after-use warning for macros clearer (bug#43678).
2020-09-30 16:12:32 +02:00
Eli Zaretskii
ed99a1eb89 Minor fixes of recent changes
* lisp/emacs-lisp/generic.el (define-generic-mode): Fix typos.

* etc/NEWS: Adjust an entry due to recent changes.
2020-09-30 16:56:08 +03:00
Andrea Corallo
6eb5a8c492 Merge remote-tracking branch 'savannah/master' into clean-up 2020-09-30 09:09:39 +02:00
Stefan Monnier
52afb2b104 * lisp/emacs-lisp/cl-macs.el (hash-table): Define the type's typep test 2020-09-29 22:28:23 -04:00
Lars Ingebrigtsen
fda8c53309 define-generic-mode doc string fix
* lisp/emacs-lisp/generic.el (define-generic-mode): Say what a
generic mode is (bug#43713).
2020-09-30 03:52:18 +02:00
Lars Ingebrigtsen
e608477da2 Give better error feedback on wrong password in .gpg files
* lisp/epa-file.el (epa-file--find-file-not-found-function): Do a
user-error when there's a wrong password (bug#43704).
(epa--wrong-password-p): New function.
(epa-file-insert-file-contents): Use it, and stash the error away
for later signalling.

* lisp/emacs-lisp/subr-x.el (if-let): Autoload.
2020-09-30 03:47:47 +02:00
Andrea Corallo
89f064104c * Some clean-up in comp.el
* lisp/emacs-lisp/comp.el (comp-emit-cond-jump, comp-emit-switch)
	(comp-limplify-block, comp-compute-edges)
	(comp-ssa-rename, comp-fwprop*, comp-effective-async-max-jobs)
	(comp-run-async-workers): Respect max 80 columns.
	(batch-byte-native-compile-for-bootstrap): Improve doc + remove
	some now unnecessary error handling.
2020-09-29 17:14:22 +02:00
Andrea Corallo
3129b3ffcb Rename in docstrings "non nil" into "non-nil"
* lisp/emacs-lisp/comp.el: Rename non nil -> non-nil in doc.

	* src/comp.c: Likewise.
2020-09-28 21:09:00 +02:00
Andrea Corallo
a06fe08e8e Clean-up some now unnecessary diff against master
* lisp/emacs-lisp/autoload.el (update-directory-autoloads):
	.eln files have been moved so remove the '.eln' match.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded):
	Likewise.

	* lisp/emacs-lisp/find-func.el (find-library-suffixes): Clean-up
	as '.eln' is no more in `load-suffixes'.

	* lisp/help-fns.el (find-lisp-object-file-name): Clean-up as
	`symbol-file' will return the '.elc' file.

	* src/lread.c (Fget_load_suffixes): Remove logic as '.eln' is not
	anymore in load-suffixes.
	(openp): Two spaces.
2020-09-29 10:05:39 +02:00
Pip Cet
433b6fc53d Handle single-argument `apply' consistently (bug#40968)
* src/eval.c (Fapply): Handle (apply nil) without crashing.
Document single-argument form.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-apply): Don't attempt
to optimize single-argument apply.
* doc/lispref/functions.texi (Calling Functions): Document
single-argument apply.  Provide example (bug#40968).
2020-09-27 16:59:00 +02:00
Andrea Corallo
29a8d9303b * lisp/emacs-lisp/cl-macs.el (cl--optimize): Add a FIXME. 2020-09-26 15:32:21 +02:00
Andrea Corallo
06acf681d6 Merge remote-tracking branch 'savannah/master' into HEAD 2020-09-26 15:31:50 +02:00
Mattias Engdegård
497a1ed8bb string-search robustness and documentation improvement (bug#43598)
* src/fns.c (Fstring_search): Check START-POS argument range.
Simplify logic.  Improve doc string.
* test/src/fns-tests.el (string-search): Add test cases.
* doc/lispref/strings.texi (Text Comparison): Elaborate.
* lisp/emacs-lisp/byte-opt.el (pure-fns): Mark string-search as pure.
2020-09-25 17:08:00 +02:00
Lars Ingebrigtsen
79762ffa61 Mark string-search as being side effect free
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add
string-search.
2020-09-25 14:30:13 +02:00
Andrea Corallo
e5b052d60d Rename comp--subr-safe-advice -> comp-subr-safe-advice
* lisp/emacs-lisp/comp.el (comp-subr-safe-advice): Rename
	comp--subr-safe-advice -> comp-subr-safe-advice.
	* lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise.
	* lisp/emacs-lisp/advice.el (ad-add-advice): Likewise.
2020-09-24 09:57:17 +02:00
Andrea Corallo
6d83902ffd * lisp/emacs-lisp/comp.el (comp-body-eff): Improve style. 2020-09-24 09:57:17 +02:00
Andrea Corallo
94736c413f Do not install a subr trampoline twice
* src/comp.c (syms_of_comp): Define and initialize
	'Vcomp_installed_trampolines_h'.
	(Fcomp__install_trampoline): Fill 'Vcomp_installed_trampolines_h'
	* lisp/emacs-lisp/comp.el (comp--subr-safe-advice): Make use of
	`comp-installed-trampolines-h' to guard against installing a
	trampoline twice.
2020-09-24 09:57:17 +02:00
Andrea Corallo
b94a0a931e * lisp/emacs-lisp/comp.el (comp-never-optimize-functions): Clean-up. 2020-09-24 09:57:17 +02:00
Andrea Corallo
db354ffd57 Call `comp--subr-safe-advice' from the advice machinery
* lisp/emacs-lisp/nadvice.el (advice--add-function): Call
	`comp--subr-safe-advice' when necessary.

	* lisp/emacs-lisp/advice.el (ad-add-advice): Likewhise.
2020-09-24 09:57:17 +02:00
Andrea Corallo
3ec1b932c9 * Add `comp--subr-safe-advice' entry point
Add a Lisp side entry-point to be called to make primitive adivicing
effective.

	* lisp/emacs-lisp/comp.el (comp-trampoline-sym)
	(comp-trampoline-filename): New substs.
	(comp-make-lambda-list-from-subr, comp-search-trampoline)
	(comp-tampoline-compile): New functions
2020-09-24 09:57:17 +02:00
Andrea Corallo
9d4fd669cf * lisp/emacs-lisp/comp.el (comp-final): Log when interactively invoked. 2020-09-23 20:48:23 +02:00
Andrea Corallo
63c65b4fe0 * lisp/emacs-lisp/comp.el (native-compile): Add OUTPUT parameter. 2020-09-23 20:47:34 +02:00
Mattias Engdegård
3bfddaec3a ; * lisp/emacs-lisp/lisp.el: rename parameter in last change 2020-09-23 18:08:32 +02:00
Mattias Engdegård
df0f32f048 Don't signal scan-error when moving by sexp interactively
* lisp/emacs-lisp/lisp.el (forward-sexp, backward-sexp, forward-list)
(backward-list, down-list, up-list, mark-sexp, kill-sexp)
(backward-kill-sexp): Remove unsightly scan-error when running
interactively and no further movement by sexp can be made (bug#43489).
2020-09-23 16:31:18 +02:00
martin rudalics
10696d0ac5 Make delete-pair only delete pairs that are part of insert-pair-alist
* lisp/emacs-lisp/lisp.el (delete-pair): Only delete pairs that
are part of `insert-pair-alist' (bug#4136).
2020-09-22 16:44:15 +02:00