| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
| |
* lisp/emacs-lisp/byte-opt.el (byte-optimize--substitutable-p):
Consider #'SYMBOL a constant for compile-time propagation purposes.
|
|
|
|
| |
* lisp/emacs-lisp/byte-opt.el (byte-optimize-cons): New function.
|
| |
|
|
|
|
|
|
| |
* lisp/emacs-lisp/comp.el (native-compile-target-directory): New
variable.
(comp-spill-lap-function): Make use of.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lisp/Makefile.in : Rename `batch-byte-native-compile-for-bootstrap'
-> `batch-byte+native-compile.
* lisp/emacs-lisp/bytecomp.el (byte+native-compile)
(byte-compile-file): Rename
`batch-byte-native-compile-for-bootstrap' ->
`batch-byte+native-compile + `byte-native-for-bootstrap' ->
`byte+native-compile'.
* lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final)
(batch-native-compile, batch-byte+native-compile): Likewise.
* lisp/emacs-lisp/bytecomp.el (byte+native-compile)
(byte-compile-file): Likewise.
* test/src/comp-tests.el (comp-tests-bootstrap): Rename
`byte-native-for-bootstrap' -> `byte+native-compile'.
|
|
|
|
|
| |
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Make
"*Async-native-compile-log*" read-only.
|
|
|
|
|
|
| |
* lisp/emacs-lisp/elp.el (elp-results): Make `q' work in ELP
results buffer (bug#14104).
(elp-results-mode): Define as an empty special mode derivation.
|
|
|
|
|
|
|
| |
This function is generally useful.
* lisp/emacs-lisp/syntax.el (syntax-propertize-wholelines): Add
docstring.
|
|
|
|
|
| |
* lisp/emacs-lisp/shortdoc.el (overlay): Add documentation group for
buffer overlays(bug#48730).
|
|
|
|
|
|
|
| |
* doc/lispref/help.texi (Documentation Groups): Fix typos and add an
example.
* lisp/emacs-lisp/shortdoc.el (define-short-documentation-group): Add
:no-eval* and :result-string keywords to the docstring. (Bug#48730)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Make sure that each example in shortdoc actually contains the function
it illustrates, and add a test for it.
* lisp/emacs-lisp/shortdoc.el (string, list, buffer, number):
Use the right functions in examples for string-version-lessp,
lax-plist-put, point-min and ffloor.
* test/lisp/emacs-lisp/shortdoc-tests.el: New test file.
|
|
|
|
|
| |
* lisp/emacs-lisp/shortdoc.el (regexp): Use `looking-at-p' instead of
`looking-at' (bug#48709).
|
|
|
|
|
| |
(byte-optimize--lexvars): Move before first use instead of using `dlet`
on that first use.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Functions compiled when inlined (thus from inside the optimiser)
mustn't retain the lexical environment of the caller or there will be
tears. See discussion at
https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg01227.html .
Bug found by Stefan Monnier.
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
Bind byte-optimize--lexvars to nil when re-entering the compiler
recursively.
* test/lisp/emacs-lisp/bytecomp-resources/bc-test-alpha.el:
* test/lisp/emacs-lisp/bytecomp-resources/bc-test-beta.el: New files.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-defsubst): New test.
|
|
|
|
|
|
| |
(byte-compile-inline-expand): When inlining code from another file,
always inline the byte-code version of the function.
(byte-optimize--pcase): Simplify edebug spec.
|
|
|
|
|
|
|
|
|
| |
* lisp/emacs-lisp/copyright.el (copyright-regexp)
(copyright-years-regexp, copyright-update-year)
(copyright-fix-years): Also include en dash.
* test/lisp/emacs-lisp/copyright-tests.el (copyright-tests--data): New
test cases.
|
|
|
|
|
|
| |
This makes the same spec work both for `if-let` and `when-let`.
(when-let*, and-let*, when-let): Simplify accordingly.
|
|
|
|
|
|
|
|
| |
* doc/lispref/compile.texi (Native-Compilation Variables): Document
'silent' alternative of native-comp-async-report-warnings-errors.
* lisp/emacs-lisp/comp.el
(native-comp-async-report-warnings-errors): Fix quoting in
:type expression (bug#48586).
|
|
|
|
|
|
|
|
|
| |
The Edebug specification of 'if-let' and 'if-let*' doesn't work if the
body is empty. While that's a pathological case, it's not wrong per
se, and could arguably happen due to macro expansion.
* lisp/emacs-lisp/subr-x.el (when-let*, when-let): Don't reuse Edebug
specification from 'if-let*' and 'if-let'.
|
| |
|
| |
|
|
|
|
|
| |
(lisp-outline-level): Return right levels starting from 1 instead of 5.
Suggested by Howard Melman <hmelman@gmail.com> in bug#46878.
|
|
|
|
|
|
|
| |
* lisp/emacs-lisp/eldoc.el (eldoc--echo-area-prefer-doc-buffer-p):
Look for a window displaying the ElDoc documentation buffer in all
visible frames, as promised by the user option
eldoc-echo-area-prefer-doc-buffer (bug#48278).
|
|
|
|
|
|
|
| |
* lisp/emacs-lisp/shortdoc.el (list): Fix the length= example
(bug#48495).
Copyright-paperwork-exempt: yes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pcase 'rx' patterns with a single named submatch, like
(rx (let x "a"))
would always succeed because of an over-optimistic transformation.
Patterns with 0 or more than 1 named submatches were not affected.
Reported by Philipp Stephani.
* lisp/emacs-lisp/rx.el (rx--pcase-macroexpander):
Special case for a single named submatch.
* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add tests.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As the Info node `(elisp) Specification List' explains, it is not
correct to use `body' or t for a piece of code that the macro wraps in
a `lambda' form. These should use `def-body' instead.
* lisp/info-xref.el (info-xref-with-file):
* lisp/subr.el (subr--with-wrapper-hook-no-warnings, track-mouse)
(combine-change-calls, with-eval-after-load):
* lisp/emacs-lisp/bytecomp.el (displaying-byte-compile-warnings):
* lisp/emacs-lisp/cl-macs.el (cl-do-symbols, cl-progv):
* lisp/emacs-lisp/ert-x.el (ert-with-test-buffer):
* lisp/emacs-lisp/gv.el (gv-letplace):
* lisp/emacs-lisp/nadvice.el (define-advice):
* lisp/emacs-lisp/thunk.el (thunk-delay):
* lisp/vc/vc-dispatcher.el (vc-run-delayed): Use 'def-body' instead of
t or 'body' where applicable.
* lisp/emacs-lisp/package.el (package--with-response-buffer): Remove
evaluation of the body altogether. I have no idea how to write it
correctly in this case.
|
|
|
|
|
|
|
| |
* lisp/emacs-lisp/comp.el (native-comp-async-report-warnings-errors):
Set to 'silent to log warnings, but not pop up the *Warnings* buffer.
* lisp/emacs-lisp/comp.el (comp-accept-and-process-async-output):
Check value.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's good practice to compare integers using 'eql' because two bignum
objects representing the same integer might not be 'eq'. However,
'eql' is slower and doesn't have its own byte code. Therefore,
replace it with 'eq' if one argument is guaranteed to be a fixnum on
all platforms.
* lisp/emacs-lisp/byte-opt.el (byte-optimize--fixnump): New helper
function.
(byte-optimize-equal, byte-optimize-member, byte-optimize-assoc): Use
it to optimize 'eql' etc. to 'eq' if it will always compare fixnums.
|
|
|
|
|
| |
* lisp/emacs-lisp/text-property-search.el
(text-property-search-forward): Further doc string clarifications.
|
|
|
|
|
|
| |
* lisp/emacs-lisp/text-property-search.el
(text-property-search-forward): Correct doc string.
(text-property-search-backward): Ditto.
|
|
|
|
|
|
|
|
|
| |
* test/lisp/emacs-lisp/subr-x-tests.el (subr-string-limit-coding):
Fix the expected results of string-limit when encoding with
UTF-16. Add tests for UTF-8 with BOM. (Bug#48324)
* lisp/emacs-lisp/subr-x.el (string-limit): Add FIXME comment
about the current implementation, which is faulty by design.
|
|
|
|
|
|
|
| |
* lisp/emacs-lisp/comp.el (native-comp-deferred-compilation-deny-list)
(native-compile-async-skip-p): Rename
comp-deferred-compilation-deny-list ->
native-comp-deferred-compilation-deny-list.
|
|
|
|
|
|
| |
* lisp/emacs-lisp/text-property-search.el
(text-property-search-forward): Correct and clarify the doc string
(bug#48317).
|
|
|
|
|
|
|
| |
* lisp/emacs-lisp/edebug.el (edebug-all-defs, edebug-all-forms):
Reintroduce ;;;###autoload of these user options that were removed
in bae2cfe63c, because this leads to errors in a common (and
recommended) use case (bug#47516).
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* doc/lispref/searching.texi (Regular Expressions): Mention
`case-fold-search'.
* lisp/emacs-lisp/re-builder.el (re-builder): Mention case
sensitivity toggles (bug#47534).
Copyright-paperwork-exempt: yes
|
|
|
|
|
| |
* lisp/emacs-lisp/rmc.el (read-multiple-choice): Doc fix. Improve
the message when entering recursive-edit.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/comp.c (Fcomp_el_to_eln_filename): Rename comp-eln-load-path →
native-comp-eln-load-path.
* src/lread.c (maybe_swap_for_eln): Likewise.
* lisp/startup.el (native-comp-eln-load-path)
(normal-top-level): Likewise.
* lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final)
(comp-eln-load-path-eff, comp-trampoline-compile)
(comp-clean-up-stale-eln, comp-run-async-workers)
(comp-lookup-eln, batch-byte-native-compile-for-bootstrap): Likewise.
|
|
|
|
|
|
|
|
|
| |
* src/lread.c (maybe_swap_for_eln): Rename
comp-warning-on-missing-source →
native-comp-warning-on-missing-source.
* src/comp.c (syms_of_comp): Likewise.
* lisp/emacs-lisp/comp.el (native-comp-warning-on-missing-source):
Likewise.
|
|
|
|
|
|
|
|
|
| |
* src/comp.c (add_driver_options, syms_of_comp): Rename
comp-native-driver-options → native-comp-driver-options.
* lisp/emacs-lisp/comp.el (native-comp-driver-options)
(comp-ctxt, comp-spill-lap-function, comp-final)
(comp-run-async-workers): Likewise.
* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Likewise.
|
|
|
|
|
|
| |
* lisp/emacs-lisp/comp.el (native-comp-async-query-on-exit)
(comp-run-async-workers): Rename comp-async-query-on-exit →
native-comp-async-query-on-exit.
|
|
|
|
|
|
|
| |
* lisp/emacs-lisp/comp.el (native-comp-async-report-warnings-errors)
(comp-accept-and-process-async-output): Rename
comp-async-report-warnings-errors →
native-comp-async-report-warnings-errors.
|
|
|
|
|
|
| |
* lisp/emacs-lisp/comp.el (native-comp-async-env-modifier-form)
(comp-final, comp-run-async-workers): Rename
comp-async-env-modifier-form → native-comp-async-env-modifier-form.
|
|
|
|
|
|
| |
* lisp/emacs-lisp/comp.el (native-comp-async-all-done-hook)
(comp-run-async-workers): Rename comp-async-all-done-hook →
native-comp-async-all-done-hook.
|
|
|
|
|
|
| |
* lisp/emacs-lisp/comp.el (native-comp-async-cu-done-functions)
(comp-run-async-workers): Rename comp-async-cu-done-functions →
native-comp-async-cu-done-functions.
|
|
|
|
|
|
|
| |
* lisp/emacs-lisp/comp.el (native-comp-async-jobs-number)
(comp-effective-async-max-jobs, native--compile-async)
(native-compile-async): Rename comp-async-jobs-number →
native-comp-async-jobs-number.
|
|
|
|
|
|
|
| |
* lisp/emacs-lisp/nadvice.el (advice--add-function): Rename
comp-never-optimize-functions → native-comp-never-optimize-functions.
* lisp/emacs-lisp/comp.el (native-comp-never-optimize-functions)
(comp-subr-trampoline-install, comp-call-optim-form-call): Likewise.
|