| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\| | |
|
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
'read' to decide what is and isn't a syntax error. (Bug#25068)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/byte-opt.el,
lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
(byte-compile-lapcode): Calculate the actual jump address while
compiling, store it in the jump table.
* src/bytecode.c: Jump to the looked up value directly, do a linear
search when the number of elements is <= 5.
|
| | | |
|
| | | |
|
|\| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
(Bug#25158)
* test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
(auto-revert-test00-auto-revert-mode)
(auto-revert-test01-auto-revert-several-files)
(auto-revert-test02-auto-revert-deleted-file)
(auto-revert-test03-auto-revert-tail-mode)
(auto-revert-test04-auto-revert-mode-dired):
* test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
ert-with-message-capture.
|
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
'declare' form. (Bug#24722)
|
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
with an explicit 'put' form. Suggested by Gemini Lasswell
<gazally@runbox.com>. (Bug#24717)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
(Bug#24713)
* etc/NEWS: Mention edebug-max-depth.
* doc/lispref/edebug.texi (Checking Whether to Stop): Mention
edebug-max-depth and index it. Add cross-references for
max-lisp-eval-depth and max-specpdl-size.
Co-authored-by: Eli Zaretskii <eliz@gnu.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make the existing if-let and when-let aliases.
* lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros. Rewrite
docstrings, incorporating that from let* and the existing if-let.
(if-let, when-let, and-let*): Alias them.
|
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/let-alist.el: Bump micro version (bug#24641).
|
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
when a graphical popup is used and how it can be avoided.
|
| | |
| | |
| | |
| | |
| | | |
This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
(macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
make sure that obj1/obj2 can be compared with `eq'.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info): Fix
typo in docstring.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
Restore value of byte-compile-depth after emitting a jump to a tag
in a jump table, or default/done tags.
Set the depth of final tags for byte-switch to nil after emitting
any jumps to them.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
Don't make a copy of the constant vector, as it isn't used with
the decompiled lapcode.
Make sure that the correct lapcode pair/list is being modified while
replacing the jump table.
|
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
table can only be used when comparing variables with constant values.
|
| | |
| | |
| | |
| | | |
This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
|
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
instead of cl-loop
|
| | | |
|
|\| | |
|
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
should run after the definition code (Bug#25556).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* etc/NEWS: Mention new core Elisp.
* doc/lispref/lists.texi (List Elements): Document and index the new
functions.
* doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
* lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
(cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
(cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
(cddddr): New functions.
* lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
(cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
(cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
(cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
(cl-cdddar, cl-cddddr): Alias to new subr functions.
* lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
elements.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also make *Help* links to ``' possible. Also make usable as such doc strings
on the function-documentation property of a symbol.
* lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
function-documentation property. Also give these symbols a reader-construct
property.
* lisp/help-fns.el (describe-function): Allow the function-documentation
property to work. Use princ rather than prin1 to print the function's name
when it has a reader-construct property.
(help-fns-signature): Don't insert `high-usage' for a reader-construct.
(describe-function-1): Adapt to process documentation on the
function-documentation property. Print "a reader construct" when appropriate.
* lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
``'.
|
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
|
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
defvar the syntax and abbrev tables so that the compiler will know that
they are dynamically bound variables (Bug#25446).
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
byte-compile-constant instead of byte-compile-form to push nil.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
constant encountered precedes a byte-switch op, replace all the
addresses in the jump table with tags.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
eval obj2 to avoid quoted forms being stored as is.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
default-case for last cond clause.
|
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
t for all symbols (instead for just keywords)
|
| | |
| | |
| | |
| | |
| | | |
* byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
finding the tag in a jump table.
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
'switch' takes two arguments from the stack: the variable to test, and
a jump table (implemented as a hash-table with the appropriate :test
function). By looking up the value of the variable in the hash table,
the interpreter can jump to the label pointed to by the value, if any.
This implementation can only be used for `cond' forms of the type
`(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
variable `x` is same for all clauses.
* lisp/emacs-lisp/bytecomp.el:
* Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
(byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
(byte-compile-cond-jump-table), byte-compile-jump-tables.
* Add defcustom `byte-compile-cond-use-jump-table'.
* (byte-compile-cond): Use them.
* (byte-compile-lapcode): Patch tags present in jump tables, if any.
* lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
some peephole optimizations to prevent them from messing up any code
involving `byte-switch`.
* src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
|
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
emit a warning for those coders who forgot to put a default value in
their slot.
|
| |
| |
| |
| |
| |
| | |
Run admin/update-copyright in the master branch. This fixes files
that were not already fixed in the emacs-25 branch before it was
merged here.
|