summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
...
* | Let display-warning work during bootstrapNoam Postavsky2018-06-121-3/+7
| | | | | | | | | | * lisp/emacs-lisp/warnings.el (display-warning): Only call `special-mode' and `newline' if they are `fbound'.
* | Merge from emacs-26Noam Postavsky2018-06-101-2/+7
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3434edc731 Enlarge DUMPED_HEAP_SIZE for 64-bit Windows builds 36bbdfc017 Update Unicode data files to version 11.0.0 of Unicode b7b7a5f4f3 * etc/NEWS: Belatedly call out vc-hg changes in v26.1. (B... 5b6f8b54d1 Clarify the documentation of 'dired-recursive-deletes' 9db97b49cd ; * etc/DEBUG: Add information about debugging libXft prob... 0214ffbe60 Clarify doc string of 'update-glyphless-char-display' ef35d405b1 Clarify subtle issues with 'eq' in byte-compiled code c6ef3c8321 Make cl-print respect print-quoted (bug#31649) 26b52ac40e Fix unexpected jumps of window-point in 'set-window-config... 4af077ab4d * etc/emacs.appdata.xml: Update Emacs screenshot. e5ab25deae Fix cursor movement by 'next-logical-line' after 'next-line' d20beef5f1 Fix prompt in bookmark.el (Bug#24726) c57e7eaae8 Improve documentation of 'empty' whitespace-style # Conflicts: # etc/NEWS
| * Make cl-print respect print-quoted (bug#31649)Gemini Lasswell2018-06-071-2/+7
| | | | | | | | | | | | * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Observe print-quoted when printing quote and its relatives. Add printing of 'function' as #'.
| * Make cl-print respect print-level and print-length (bug#31559)Gemini Lasswell2018-06-041-47/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-print.el (cl-print--depth): New variable. (cl-print-object) <cons>: Print ellipsis if printing depth greater than 'print-level' or length of list greater than 'print-length'. (cl-print-object) <vector>: Truncate printing with ellipsis if vector is longer than 'print-length'. (cl-print-object) <cl-structure-object>: Truncate printing with ellipsis if structure has more slots than 'print-length'. (cl-print-object) <:around>: Bind 'cl-print--depth'. * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-3, cl-print-tests-4): New tests. (cherry picked from commit 0f48d18fd2a30f29cc3592a835d2a2254c9b0afb)
* | Fix default candidate of find-face-definitionBasil L. Contovounesios2018-06-091-0/+1
| | | | | | | | | | * lisp/emacs-lisp/find-func.el (find-function-read): Use face-at-point instead of variable-at-point for faces. (bug#31699)
* | Merge from origin/emacs-26Glenn Morris2018-06-041-6/+12
|\| | | | | | | | | 03697e6 Fix remote-host directory tracking for shells in `term' buffers 16e8541 Update doc string of 'rx'
| * Update doc string of 'rx'Eli Zaretskii2018-06-031-6/+12
| | | | | | | | | | * lisp/emacs-lisp/rx.el (rx): Update the description of some character classes.
| * Fix cl-print for circular sublists (Bug#31146)Noam Postavsky2018-06-031-3/+6
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Push each element of list being printed onto cl-print--currently-printing. * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle-2): New test. (cherry picked from commit b8aa7ecf54c9b164a59f1b0e9f9fe90531dadd20)
* | Merge from origin/emacs-26Glenn Morris2018-06-021-9/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ca3f0a8 ; * etc/NEWS: Belated announcement of 2 changes made in Emacs... 99f92da Improve documentation of 'directory-files-and-attributes' df8649a * lisp/gnus/message.el (message-remove-header): Don't remove ... b682a7e ; * etc/NEWS: Add headings for Emacs 26.2 aa175a4 Adapt hexl-mode to native line-number display b8e7749 Fix example in Tramp manual f212fe5 Handle case where Xft is found but not XRender 186280f * doc/misc/tramp.texi (Frequently Asked Questions): Adapt zsh... 24ba633 Improve read-multiple-choice docstring (Bug#31628) Conflicts: etc/NEWS src/dired.c
| * Improve read-multiple-choice docstring (Bug#31628)Damien Cassou2018-05-291-9/+9
| | | | | | | | * lisp/emacs-lisp/rmc.el (read-multiple-choice): Improve docstring.
* | Merge from origin/emacs-26Michael Albinus2018-05-295-71/+92
|\| | | | | | | | | | | | | | | 9d6a3ac73a Mention pcase as a fifth conditional form 567cb9046d Overhaul pcase documentation 4d7e54acff Use EXPVAL in docstrings of patterns defined using pcase-d... 7e8227ed68 Introduce EXPVAL for pcase, pcase-defmacro docstrings e6de5b3d51 Ensure pcase doc shows `QPAT first among extensions
| * Overhaul pcase documentationThien-Thi Nguyen2018-05-271-51/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suggested by Drew Adams (Bug#31311). * doc/lispref/control.texi (Control Structures): Add "Pattern-Matching Conditional" to menu, before "Iteration". (Conditionals): Delete menu. (Pattern matching case statement): Delete node/subsection, by actually moving, renaming, and overhauling it to... (Pattern-Matching Conditional): ...new node/section. (pcase Macro): New node/subsection. (Extending pcase): Likewise. (Backquote Patterns): Likewise. * doc/lispref/elisp.texi (Top) In @detailmenu, add "Pattern-Matching Conditional" under "Control Structures" section and delete "Conditionals" section. * lisp/emacs-lisp/pcase.el (pcase): Rewrite docstring. (pcase-defmacro \` (qpat) ...): Likewise.
| * Use EXPVAL in docstrings of patterns defined using pcase-defmacroThien-Thi Nguyen2018-05-274-9/+11
| | | | | | | | | | | | | | | | | | Suggested by Drew Adams (Bug#31311). * lisp/emacs-lisp/cl-macs.el (cl-struct): ...here. * lisp/emacs-lisp/eieio.el (eieio): Likewise. * lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Likewise. * lisp/emacs-lisp/rx.el (rx): Likewise.
| * Introduce EXPVAL for pcase, pcase-defmacro docstringsThien-Thi Nguyen2018-05-271-2/+6
| | | | | | | | | | | | | | | | | | Suggested by Drew Adams (Bug#31311). * lisp/emacs-lisp/pcase.el (pcase): Use EXPVAL in docstring to stand for the result of evaluating EXP. (pcase-defmacro): Add (fn ...) form in docstring that includes [DOC], and the EXPVAL convention.
| * Ensure pcase doc shows `QPAT first among extensionsThien-Thi Nguyen2018-05-271-9/+24
| | | | | | | | | | | | | | * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Split extensions display into two phases, collection and display, separated by a reordering step that ensures backquote is the first.
* | Make cl-print respect print-level and print-length (bug#31559)Gemini Lasswell2018-05-271-47/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-print.el (cl-print--depth): New variable. (cl-print-object) <cons>: Print ellipsis if printing depth greater than 'print-level' or length of list greater than 'print-length'. (cl-print-object) <vector>: Truncate printing with ellipsis if vector is longer than 'print-length'. (cl-print-object) <cl-structure-object>: Truncate printing with ellipsis if structure has more slots than 'print-length'. (cl-print-object) <:around>: Bind 'cl-print--depth'. * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-3, cl-print-tests-4): New tests.
* | Merge from origin/emacs-26Glenn Morris2018-05-231-0/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e3f00f5 (origin/emacs-26) Clarify when to use advice-add vs add-function c0f3e6b Minor formatting tweak in the Emacs manual fadf653 Update comments in Intro to Emacs Lisp 52ccb24 ; * doc/os.texi (Batch Mode): use = after --eval d65430f * etc/NEWS: Mention change in `edebug-prin1-to-string'. ef4aec1 ; * doc/lispref/hash.texi (Defining Hash): Fix typos. 2981952 Another attempt to fix sql.el b1b96d7 Update binding of 'M-.' in Intro to Emacs Lisp b239a09 Fix a typo in last change in sql.el 0d8bae5 Fix capitalization of mail headers 845fe03 Fix buffer names in sql.el a3885f5 Minor fixes in the Emacs manual 542f830 Fix a typo in rmail.texi eb0bc6f * etc/PROBLEMS: Document Bug#31305. Conflicts: doc/emacs/sending.texi etc/NEWS
| * Clarify when to use advice-add vs add-functionNoam Postavsky2018-05-221-0/+3
| | | | | | | | | | * lisp/emacs-lisp/nadvice.el (add-function): Note in docstring that advice-add should be used for named functions.
* | Fix cl-print for circular sublists (Bug#31146)Noam Postavsky2018-04-261-3/+6
| | | | | | | | | | | | | | * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Push each element of list being printed onto cl-print--currently-printing. * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle-2): New test.
* | (text-property-search-forward): Copy edits in doc stringLars Ingebrigtsen2018-04-221-4/+4
| | | | | | | | | | * lisp/emacs-lisp/text-property-search.el (text-property-search-forward): Copy edits in doc string.
* | (text-property-search-forward): Doc string tweakLars Ingebrigtsen2018-04-221-2/+2
| | | | | | | | | | * lisp/emacs-lisp/text-property-search.el (text-property-search-forward): Doc string tweak.
* | (text-property-search-forward): Fix search at the endLars Ingebrigtsen2018-04-221-7/+12
| | | | | | | | | | | | * lisp/emacs-lisp/text-property-search.el (text-property-search-forward): Fix search at the end of the buffer with no text properties.
* | Tweak recent bytecomp defvaralias changeGlenn Morris2018-04-201-2/+3
| | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defvar-function): Respect with-no-warnings.
* | The tedious game of whack-a-mole with compiler warnings continuesGlenn Morris2018-04-202-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/abbrev.el (edit-abbrevs-map): * lisp/emacs-lock.el (emacs-lock-from-exiting): * lisp/htmlfontify.el (hfy-optimisations): * lisp/ielm.el (inferior-emacs-lisp-mode-hook) (inferior-emacs-lisp-mode-map): * lisp/isearch.el (isearch-lazy-highlight-word): * lisp/select.el (x-select-enable-clipboard, x-select-enable-primary): * lisp/shell.el (shell-dirtrack-mode): * lisp/skeleton.el (skeleton-transformation, skeleton-filter): * lisp/startup.el (inhibit-splash-screen, inhibit-startup-message): * lisp/window.el (even-window-heights): * lisp/calendar/timeclock.el (timeclock-modeline-display): * lisp/cedet/semantic/db-mode.el (semanticdb-mode-hook) (semanticdb-global-mode): * lisp/emacs-lisp/edebug.el (gud-inhibit-global-bindings): * lisp/emacs-lisp/warnings.el (display-warning-minimum-level) (log-warning-minimum-level): * lisp/erc/erc-dcc.el (erc-dcc-chat-filter-hook): * lisp/gnus/nnspool.el (news-path): * lisp/org/org-agenda.el (org-agenda-search-view-search-words-only) (org-agenda-remove-tags-when-in-prefix) (org-agenda-align-tags-to-column, org-agenda-keymap): * lisp/org/org.el (org-special-ctrl-a) (org-log-state-notes-into-drawer) (org-agenda-multi-occur-extra-files): * lisp/progmodes/flymake-proc.el (flymake-err-line-patterns) (flymake-check-file-limit): * lisp/progmodes/make-mode.el (makefile-query-one-target-method): * lisp/progmodes/octave.el (inferior-octave-startup-hook): * lisp/progmodes/python.el (python-buffer) (python-preoutput-result): * lisp/progmodes/sql.el (sql-dialect): * lisp/textmodes/artist.el (artist-text-renderer): * lisp/textmodes/bibtex.el (bibtex-autokey-name-case-convert) (bibtex-autokey-titleword-case-convert): * lisp/textmodes/flyspell.el (flyspell-generic-check-word-p): * lisp/textmodes/ispell.el (ispell-format-word): * lisp/textmodes/rst.el (rst-preferred-decorations): * lisp/textmodes/sgml-mode.el (sgml-transformation): Move aliases before targets, to silence new compiler warning. * lisp/term/ns-win.el (ns-option-modifier, ns-right-option-modifier): Silence warning.
* | * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defvar-function):Stefan Monnier2018-04-201-0/+9
| | | | | | | | Warn about defvaralias that follows instead of precedes its var.
* | * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):Glenn Morris2018-04-191-1/+2
| | | | | | | | Sort definition-prefixes, for stability.
* | * lisp/emacs-lisp/gv.el (gv-define-setter): Silence compiler warningStefan Monnier2018-04-181-0/+2
| | | | | | | | | | Code placed in the `gv-expander` property will presumably only be used when gv is loaded (bug#14529).
* | Add `text-property-search-forward' and `-backward'Lars Ingebrigtsen2018-04-171-0/+201
| | | | | | | | | | | | | | * doc/lispref/text.texi (Property Search): Document `text-property-search-forward' and `text-property-search-backward'. * lisp/emacs-lisp/text-property-search.el: New file.
* | Further fix to eieio-persistentEric Abrahamsen2018-04-131-17/+15
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value): Make handling of hash tables and vectors recursive. This is necessary because the write process, in `eieio-override-prin1' is also recursive. With any luck, this will be the last fix of its kind. If that's true, cherry-pick to Emacs 26.2 later on.
* | Support list of default values in completing-read-multipleBasil L. Contovounesios2018-04-121-1/+2
| | | | | | | | | | | | * lisp/emacs-lisp/crm.el (completing-read-multiple): Consider head of DEF argument when specified as a list, as per completing-read-default. (bug#30072)
* | Merge from origin/emacs-26Glenn Morris2018-04-101-0/+4
|\| | | | | | | | | | | f674c89 ; * ChangeLog.3: Update. 80d868e * lisp/emacs-lisp/inline.el: Clarify apparent typos 9f54f28 ; * lisp/auth-source.el (auth-sources): Update the :version tag.
| * * lisp/emacs-lisp/inline.el: Clarify apparent typosStefan Monnier2018-04-041-0/+4
| |
* | Merge from origin/emacs-26Glenn Morris2018-04-041-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3109d2b (origin/emacs-26) ; * lisp/ldefs-boot.el: Update. 86825c4 * etc/NEWS: Remove temporary markup. 737d0a2 * Update etc/AUTHORS fbd03ba * ChangeLog.3: Update 56794ac Fix Bug#31022 a231c33 Update "Calendrical Calculations" cites 1527235 ; * doc/lispref/compile.texi (Compilation Functions): Fix wor... b07decd ; * doc/lispref/compile.texi (Compilation Functions): Fix typo a64c11a Fix term.el rendering following a window resize (Bug#30544) 1e6f09a * files.el (auto-save-visited-mode): Don't prompt for filenames. eb8b13f ; * etc/NEWS: Improve the entry about pinentry.el removal. 52501ec Quote a few backticks in docstrings. Conflicts: etc/NEWS lisp/ldefs-boot.el
| * Quote a few backticks in docstrings.Philipp Stephani2018-04-011-3/+3
| | | | | | | | | | * lisp/emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*) (macroexp-if): Quote backtick in docstrings.
* | Fix Testcover bug in handling of vectors containing dotted listsGemini Lasswell2018-04-021-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/testcover.el (testcover-analyze-coverage-compose): Handle dotted lists. Fix bug#30909. * test/lisp/emacs-lisp/testcover-resources/testcases.el: (dotted-list-in-vector-bug-30909): New test case. (quotes-within-backquotes-bug-25316, dotted-backquote) (quoted-backquote, backquoted-vector-bug-25316) (vector-in-macro-spec-bug, backquoted-dotted-alist): Change docstrings to mention analyzing code instead of reinstrumenting it.
* | * lisp/emacs-lisp/debug.el (debug): Don't hang upon error in initial-frame.Stefan Monnier2018-04-021-4/+24
| |
* | Merge from origin/emacs-26Glenn Morris2018-04-011-2/+5
|\| | | | | | | | | | | | | | | | | | | | | af1624f * lisp/net/shr.el (shr-browse-url): Doc fix. (Bug#30957) 3a451bd ; * doc/emacs/msdos.texi: Fix wording of last change. 3bc1e2f Mention `key-description' as inverse of `kbd' (Bug#30942) e50196e Document return value of pcase (Bug#30425) 8a2466f * doc/emacs/macos.texi: Tweak grammar and capitalization. 9db62bf Distinguish free from non-free OSes ff49d86 * doc/emacs/misc.texi (Amusements): Avoid non-printing charac... 5bab671 Fix xrefs in pdf Emacs manual
| * Document return value of pcase (Bug#30425)Noam Postavsky2018-03-311-2/+5
| | | | | | | | | | | | | | | | * doc/lispref/control.texi (Pattern matching case statement): * lisp/emacs-lisp/pcase.el (pcase): State that pcase returns nil if no patterns match. (pcase-exhaustive): State that an error is signaled if no patterns match.
* | Prefer \... to control chars in .el literalsPaul Eggert2018-03-293-386/+386
| |
* | Merge from origin/emacs-26Glenn Morris2018-03-283-23/+29
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9bff405 (origin/emacs-26) * doc/misc/org.texi (Installation): Fix clo... 613c9a5 Update Org to v9.1.9 1b075a9 ; Fix some tiny doc typos 441fe20 De-obsolete `if-let' and `when-let' 8696038 * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix. 930f7b1 * doc/lispref/functions.texi (Defining Functions): Improve in... 95ccf50 Fix crash after frame is freed on macOS (bug#30800) 45d0475 More manual editing 2acb9f0 Minor manual changes changes d481cba * lisp/calculator.el (calculator-paste-decimals): Add version. 7d6c7d0 ; Use GNU not Gnu in docs 1bc4def More proofreading of the Emacs manual Conflicts: doc/misc/org.texi etc/NEWS lisp/org/org-clock.el
| * ; Fix some tiny doc typosGlenn Morris2018-03-271-1/+1
| |
| * De-obsolete `if-let' and `when-let'Michael Heerdegen2018-03-271-20/+26
| | | | | | | | | | | | | | | | | | | | For the following release it is planned to make `if-let*' and `when-let*' aliases for `if-let' and `when-let'. For now we revert declaring `if-let' and `when-let' obsolete and tweak the docstrings. * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): Make docstrings refer to those of `if-let' and `when-let'. (if-let, when-let): De-obsolete. Rewrite documentation.
| * * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.Glenn Morris2018-03-261-2/+2
| |
* | (benchmark-run-compiled): Make it work like 'benchmark-run' againStefan Monnier2018-03-271-3/+3
| | | | | | | | | | * lisp/emacs-lisp/benchmark.el (benchmark-run): Add special case for nil repetitions.
* | * lisp/emacs-lisp/benchmark.el (benchmark-run): Allow variable.Stefan Monnier2018-03-261-3/+3
| | | | | | | | (benchmark-run): Allow `repetitions` to be a variable rather than a constant.
* | Fix constant folding of overflowsPaul Eggert2018-03-261-51/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This suppresses some byte-code optimizations that were invalid in the presence of integer overflows, because they meant that .elc files assumed the runtime behavior of the compiling platform, as opposed to the runtime platform. Problem reported by Pip Cet in: https://lists.gnu.org/r/emacs-devel/2018-03/msg00753.html * lisp/emacs-lisp/byte-opt.el (byte-opt--portable-max) (byte-opt--portable-min): New constants. (byte-opt--portable-numberp, byte-opt--arith-reduce) (byte-optimize-1+, byte-optimize-1-): New functions. (byte-optimize-plus, byte-optimize-minus, byte-optimize-multiply) (byte-optimize-divide): Avoid invalid optimizations. (1+, 1-): Use new optimizers. (byte-optimize-or, byte-optimize-cond): Simplify by using remq instead of delq and copy-sequence.
* | Trivial fixes for last changes to package.el and marker.cStefan Monnier2018-03-261-4/+6
| | | | | | | | | | * lisp/emacs-lisp/package.el (package-quickstart): Add missing version. * src/marker.c (verify_bytepos): Fix typo.
* | * lisp/emacs-lisp/package.el: New quickstart featureStefan Monnier2018-03-261-14/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (package--quickstart-pkgs): New var. (package-activate-1): Obey and fill it. (package-activate-all): New function. (package-initialize): Call it. Set package-initialized before activating the packages. (package-installed-p): Make it work before package.el is initialized in the case where min-version is not specified. (package-install, package-delete): Refresh the quickstart if applicable. (package-quickstart, package-quickstart-file): New vars. (package--quickstart-maybe-refresh, package-quickstart-refresh): New functions. * lisp/startup.el (command-line): Use package-activate-all rather than package-initialize. * doc/lispref/package.texi (Packaging Basics): * doc/emacs/package.texi (Package Installation): * doc/lispref/os.texi (Startup Summary): Refer to package-activate-all.
* | Allow `&rest' or `&optional' without following variable (Bug#29165)Noam Postavsky2018-03-251-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is sometimes convenient when writing macros, so that the empty variable case doesn't need to be handled specially. Older versions of Emacs accepted this in some cases (especially the interpreter in Emacs 25 and below was very accepting). | interpreted/compiled | | arglist | 25 & earlier | 26 | 27 | |---------------------------+--------------+-----+-----| | (&rest) | y/n | n/n | y/y | | (&rest &rest) | y/n | n/n | n/n | | (&rest &rest x) | y/n | n/n | n/n | | (&rest x &rest) | y/n | n/n | n/n | | (&rest x &rest y) | y/n | n/n | n/n | |---------------------------+--------------+-----+-----| | (&optional) | y/n | n/n | y/y | | (&optional &optional) | y/n | n/n | n/n | | (&optional x &optional) | y/n | n/n | n/n | | (&optional x &optional y) | y/y | n/n | n/n | |---------------------------+--------------+-----+-----| | (&optional &rest) | y/n | n/n | y/y | | (&optional x &rest) | y/n | n/n | y/y | | (&optional &rest y) | y/y | n/n | y/y | |---------------------------+--------------+-----+-----| | (&rest &optional) | y/n | n/n | n/n | | (&rest &optional y) | y/n | n/n | n/n | | (&rest x &optional y) | y/n | n/n | n/n | The values in the table above can be produced with the following code: (with-current-buffer (get-buffer-create "*ck-args*") (erase-buffer) (dolist (arglist '((&rest) (&rest &rest) (&rest &rest x) (&rest x &rest) (&rest x &rest y) (&optional) (&optional &optional) (&optional x &optional) (&optional x &optional y) (&optional &rest) (&optional x &rest) (&optional &rest y) (&rest &optional) (&rest &optional y) (&rest x &optional y))) (insert (format "%c/%c\n" (condition-case err (progn (funcall `(lambda ,arglist 'ok)) ?y) (error ?n)) (condition-case err (progn (byte-compile-check-lambda-list arglist) ?y) (error ?n)))) (display-buffer (current-buffer)))) * src/eval.c (funcall_lambda): * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Don't check for missing variables after `&rest' and `&optional'. * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913) (eval-tests-accept-empty-optional-rest): Update tests accordingly. * etc/NEWS: Update announcement accordingly. * doc/lispref/functions.texi (Argument List): Update manual to indicate that variable names are optional.
* | Fix byte-optimize-memq incorrectly optimizing some memq forms.Vibhav Pant2018-03-251-4/+5
| | | | | | | | | | | | * lisp/emacs-lisp/byte-opt.el (byte-optimize-memq): Call byte-optimize-and only for memq forms that can be optimized, use byte-optimize-predicate to optimize the final form.