summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
...
* | Add space before messsage in byte compiler warningsRüdiger Sonderfeld2020-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | According to the GNU coding standards (info "(standards) Errors"): > If you want to mention the column number, use one of these formats: > SOURCE-FILE-NAME:LINENO:COLUMN: MESSAGE > SOURCE-FILE-NAME:LINENO.COLUMN: MESSAGE * lisp/emacs-lisp/bytecomp.el (byte-compile-warning-prefix): Add space before message in byte compiler warnings to comply with the GNU coding standards. (Bug#18969)
* | Introduce element &error into edebug specification lists for macrosAlan Mackenzie2020-01-171-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes bug #37540. * lisp/emacs-lisp/edebug.el (top level): New entry for &error in alist used to associate elements with their handling functions. (edebug-match-&error): New function. (nested-backquote-form): Use the new element &error to abort instrumentation on encountering a three deep nesting of backquotes (without intervening commas). * doc/lispref/edebug.texi (Specification List): Add an entry for &error. * etc/NEWS: Add an entry for &error.
* | Merge from origin/emacs-27Glenn Morris2020-01-171-2/+2
|\| | | | | | | | | | | | | | | | | | | | | 4df0c1c6c4 (origin/emacs-27) ; * src/lread.c (force_new_style_backquo... 069741b2f7 ; * etc/NEWS: Mention latest changes in checkdoc. (Bug#38... a785be29bf Fix wording and punctuation of a recent commit 0d3d3be35c Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e... 5da372e17e ; Minor edit in anti.texi # Conflicts: # etc/NEWS
| * Fix wording and punctuation of a recent commitEli Zaretskii2020-01-171-2/+2
| | | | | | | | | | | | * lisp/textmodes/ispell.el (ispell-correct-p): Doc fix. * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-init): Fix capitalization and punctuation of comments.
| * Add unattended spell-checking to checkdocDamien Cassou2020-01-171-50/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit makes checkdoc capable of spell-checking even when the user isn't using it interactively. When TAKE-NOTES is non-nil, checkdoc will run spell-checking (with ispell) and report spelling mistakes. Fixes: (bug#38583). * lisp/textmodes/ispell.el (ispell-word): Extract part of it to `ispell--run-on-word`. (ispell--run-on-word): New function, extracted from `ispell-word`. (ispell-error-checking-word): New function. (ispell-correct-p): New function. Use `ispell--run-on-word` and `ispell-error-checking-word`. * lisp/emacs-lisp/checkdoc.el (checkdoc-current-buffer): Pass TAKE-NOTES to `checkdoc-start`. (checkdoc-continue): Pass TAKE-NOTES to `checkdoc-this-string-valid`. (checkdoc-this-string-valid): Add optional argument TAKE-NOTES and pass it to `checkdoc-this-string-valid-engine`. (checkdoc-this-string-valid-engine): Add optional argument TAKE-NOTES and pass it to `checkdoc-ispell-docstring-engine`. (checkdoc-ispell-init): Call `ispell-set-spellchecker-params` and `ispell-accept-buffer-local-defs`. These calls are required to properly use ispell. The problem went unnoticed until now because checkdoc was only using ispell through the high-level command `ispell-word` which takes care of all the initialization for the user. (checkdoc-ispell-docstring-engine): Add optional argument TAKE-NOTES to force reporting of spell-checking errors. Throw error when (checkdoc-ispell-init) fails configuring ispell. Replace a few (if cond nil body) with (unless cond body). Replace (let ((var nil))) with (let (var)). Replace (if (not (eq checkdoc-autofix-flag 'never)) body) with just body because `checkdoc-autofix-flag` is checked at the beginning of the function. (cherry picked from commit 25adbc4a5ecc3e16625c0171607e3153bbdf7ab1)
| * Move “Fix some broken conditional forms” to masterPaul Eggert2020-01-051-4/+4
| | | | | | | | | | | | | | Revert 2020-01-04T19:17:12Z!eggert@cs.ucla.edu which recently I installed into the emacs-27 branch by mistake. These patches are now on master instead (via merging). Do not merge to master.
* | Replace add-hook load-hook with with-eval-after-loadGlenn Morris2020-01-162-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/info.el (Info-install-speedbar-variables): * lisp/cedet/ede.el (speedbar): * lisp/cedet/semantic/imenu.el (speedbar): * lisp/emacs-lisp/eieio-opt.el (eieio-class-speedbar-key-map): * lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-create): * lisp/erc/erc-speedbar.el (erc-install-speedbar-variables): * lisp/mail/rmail.el (rmail-install-speedbar-variables): * lisp/progmodes/gud.el (gud-install-speedbar-variables): Use with-eval-after-load.
* | edebug: remove ancient code for ancient XEmacs support libsGlenn Morris2020-01-161-12/+0
| | | | | | | | | | | | * lisp/emacs-lisp/edebug.el (edebug--require-cl-read): Remove. (edebug-setup-hook, cl-read-load-hooks): Don't modify. (edebug-unload-function): Don't modify cl-read-load-hooks.
* | Remove a FIXME from package.elStefan Kangas2020-01-171-1/+0
| | | | | | | | | | | | * lisp/emacs-lisp/package.el (package-unpack): Remove FIXME about maybe deleting the package directory. It was decided that this was undesirable. (Bug#7756)
* | Add unattended spell-checking to checkdocDamien Cassou2020-01-161-50/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit makes checkdoc capable of spell-checking even when the user isn't using it interactively. When TAKE-NOTES is non-nil, checkdoc will run spell-checking (with ispell) and report spelling mistakes. Fixes: (bug#38583). * lisp/textmodes/ispell.el (ispell-word): Extract part of it to `ispell--run-on-word`. (ispell--run-on-word): New function, extracted from `ispell-word`. (ispell-error-checking-word): New function. (ispell-correct-p): New function. Use `ispell--run-on-word` and `ispell-error-checking-word`. * lisp/emacs-lisp/checkdoc.el (checkdoc-current-buffer): Pass TAKE-NOTES to `checkdoc-start`. (checkdoc-continue): Pass TAKE-NOTES to `checkdoc-this-string-valid`. (checkdoc-this-string-valid): Add optional argument TAKE-NOTES and pass it to `checkdoc-this-string-valid-engine`. (checkdoc-this-string-valid-engine): Add optional argument TAKE-NOTES and pass it to `checkdoc-ispell-docstring-engine`. (checkdoc-ispell-init): Call `ispell-set-spellchecker-params` and `ispell-accept-buffer-local-defs`. These calls are required to properly use ispell. The problem went unnoticed until now because checkdoc was only using ispell through the high-level command `ispell-word` which takes care of all the initialization for the user. (checkdoc-ispell-docstring-engine): Add optional argument TAKE-NOTES to force reporting of spell-checking errors. Throw error when (checkdoc-ispell-init) fails configuring ispell. Replace a few (if cond nil body) with (unless cond body). Replace (let ((var nil))) with (let (var)). Replace (if (not (eq checkdoc-autofix-flag 'never)) body) with just body because `checkdoc-autofix-flag` is checked at the beginning of the function.
* | Mark 'catch' and 'condition-case' bytecodes as obsoleteMattias Engdegård2020-01-051-2/+3
| | | | | | | | | | | | | | | | They have not been generated by the byte-compiler since Emacs 25. * lisp/emacs-lisp/bytecomp.el (byte-catch, byte-condition-case): * src/bytecode.c (BYTE_CODES, exec_byte_code): Mark as obsolete (since Emacs 25; they were still generated in 24.4).
* | Merge from origin/emacs-27Paul Eggert2020-01-051-4/+4
|\| | | | | | | | | | | | | | | | | 448df8fec7 Improve doc-strings of 'quit-window' and 'quit-restore-win... 7f01dfca56 Fix MH-E bug #470: Show buffer discards text properties f95a2b8301 Fix some broken conditional forms 28727444f1 Fix a scoping error in tramp-sudoedit.el 6cbdd048bd * lisp/autorevert.el (auto-revert-notify-handler): Fix bra... 076dd1f69a Fix typo in 'window_box_height'
| * Fix some broken conditional formsPaul Eggert2020-01-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem reported by Mattias Engdegård in: https://lists.gnu.org/r/emacs-devel/2020-01/msg00088.html * lisp/cedet/ede/cpp-root.el (ede-create-lots-of-projects-under-dir): Remove this quick hack, which didn’t do anything anyway. * lisp/cedet/ede/pconf.el (ede-proj-configure-test-required-file): * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-col): * lisp/net/nsm.el (nsm-check-tls-connection): Use ‘when’ rather than bypassing it. This doesn’t affect behavior and is better style. * lisp/cedet/srecode/semantic.el (srecode-semantic-handle-:tag): Fix typo that suppressed an error. * lisp/filesets.el (filesets-run-cmd): Fix typo that mishandled spacing. * lisp/gnus/gnus-cloud.el (gnus-cloud-update-newsrc-data): Fix typo that caused “GROUP has older different info in the cloud as of DATE, update it here?” prompt result to always be treated as “yes”. * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Simplify, since smime-encrypt-buffer signals error on failure. * lisp/international/titdic-cnv.el (tsang-quick-converter): Simplify. The conversion of this file to utf-8-emacs in 2019-01-08T02:18:40Z!monnier@iro.umontreal.ca removed the distinction between Big5 and CNS fulltitles in the generated docstring. * lisp/org/org-agenda.el (org-agenda-show-and-scroll-up): * lisp/textmodes/table.el (table--generate-source-cell-contents): Simplify by removing useless code. * lisp/org/ox-odt.el (org-odt--format-timestamp): Fix typo that always output time-of-day even when the timestamp lacked it.
* | Remove generation of old bytecodes for catch/unwindMattias Engdegård2020-01-053-123/+18
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile--use-old-handlers) (byte-compile-condition-case, byte-compile-condition-case--old): Remove. (byte-compile-condition-case--new): Rename to byte-compile-condition-case. (byte-compile-catch, byte-compile-unwind-protect): * lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyze-form): * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Simplify.
* | * lisp/emacs-lisp/bindat.el: Remove obsolete comment.Paul Eggert2020-01-041-3/+0
| |
* | Generate fewer useless conditionals in cl-loopMattias Engdegård2020-01-041-1/+4
| | | | | | | | | | | | * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause): Don't generate a condition if both branches are the same, which is the common case.
* | Merge from origin/emacs-27Paul Eggert2020-01-0189-89/+89
|\| | | | | | | | | | | | | | | | | | | | | 186152ba40 Pacify gcc -Wunused-function on Ubuntu 18.04.3 4cd143aded Fix copyright years by hand 365e01cc9f Update copyright year to 2020 cd2c156163 ; * etc/NEWS: Make the description of XDG fallback more ac... # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex
| * Fix copyright years by handPaul Eggert2020-01-011-1/+1
| | | | | | | | These are dates that admin/update-copyright did not update.
| * Update copyright year to 2020Paul Eggert2020-01-0188-88/+88
| | | | | | | | Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
* | Merge from origin/emacs-27Glenn Morris2019-12-301-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 59f71d20ea (origin/emacs-27) Fix tar-mode reading the oldgnu Tar format e3ec84fd7d Ensure mini-window is resized to show active minibuffer co... 450633f85a Fix mini-window resizing under resize-mini-windows = t 219d47893a (emacs-27) Fixes for makeinfo 4.13 4bbfd2b42f ; fix previous NEWS entry 81b697d106 Fix crash under -nw on macOS properly this time 9ce4207969 Revert "Check for GUI frame in ns_color_index_to_rgba" 732dcfc850 Ignore all color fonts when using XFT aa0c679f48 Avoid unbounded growth of cl-random-state components (bug#... # Conflicts: # etc/NEWS # src/nsterm.m
| * Avoid unbounded growth of cl-random-state components (bug#38753)Mattias Engdegård2019-12-291-1/+1
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-extra.el (cl-random): Perform the modulo 2**23 operation before updating the state instead of after. The result is always the same, but it prevents the state from growing into arbitrary large bignums. Patch from Christopher Wellons.
* | Merge from origin/emacs-27Glenn Morris2019-12-301-6/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 70fe552c61 ; xref-references-in-directory: Autoload as well 181f571651 Fix up requires 43f66c3368 Extract xref-matches-in-files from project--find-regexp-in... 65af18d86e Rename xref-collect-references and xref-collect-matches 98788bf976 ; Improve the docstring some more c190e91a1e Improve docstrings 012c12a05e Fix when expose draws partially visible first glyph (bug#3... d915b8c3f1 Don't require semantic/fw 50a0126402 Do some renames for clarity 74261ff301 Rearrange NEWS, add missing documentation 6c9571379e Fix interactive spec in netrc-parse 32222fb34c Fix documentation of define-obsolete-* functions # Conflicts: # etc/NEWS
| * Fix documentation of define-obsolete-* functionsEli Zaretskii2019-12-281-6/+6
| | | | | | | | | | | | | | | | | | | | | | * doc/lispref/functions.texi (Obsolete Functions): Make documentation of functions that obsolete symbols match the advertised calling conventions. * lisp/emacs-lisp/byte-run.el (define-obsolete-function-alias) (define-obsolete-variable-alias, define-obsolete-face-alias): State in the doc strings that WHEN is a mandatory argument, to be consistent with the advertised calling convention. (Bug#38675)
* | Deduplicate non-fixnum numeric constants in byte-compilationMattias Engdegård2019-12-271-1/+1
| | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-get-constant): Use eql for looking up constants instead of eq, allowing for bignum and flonum deduplication (bug#38708).
* | Optimise 'while' bodies for effectMattias Engdegård2019-12-261-0/+7
| | | | | | | | | | | | * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Treat all expressions in the body of 'while' as for-effect, since their values are discarded. This also finds some errors.
* | Don't bind XEmacs-only variable in edebugLars Ingebrigtsen2019-12-251-3/+1
| | | | | | | | | | * lisp/emacs-lisp/edebug.el (edebug-safe-prin1-to-string): Remove binding of XEmacs-only variable print-readably.
* | Merge from origin/emacs-27Glenn Morris2019-12-252-6/+7
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | ca6a53d3bc Don't default to showing X-Faces externally in Gnus dbf4b5b2d0 Fix manual typo in Special Read Syntax a9fe6dfa90 Fix problem with emacs -nw / eww / svg 0de63092c8 Clarify base64 requirements and say what {en,de}code_codin... 6184aa003f ; * etc/NEWS: Fix boring oddities. 51ea32dd12 * src/emacs-module.h.in: Add reference to manual. 75d0cef20d Trivial docstring fixes ee12c421b6 imagemagick-types needs to initialize ImageMagick # Conflicts: # etc/NEWS
| * Trivial docstring fixesJuanma Barranquero2019-12-242-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ChangeLog.3: * lisp/emacs-lisp/cl-macs.el (cl-flet): * lisp/filesets.el (filesets-menu-ensure-use-cached): * lisp/progmodes/compile.el (compilation-context-lines): * lisp/progmodes/prolog.el (prolog-paren-indent): * lisp/progmodes/sql.el (sql-password-search-wallet-function): Fix typos in docstrings. * lisp/cedet/semantic/analyze.el (semantic-analyze-push-error): Doc fix. * lisp/emacs-lisp/map.el (map-put, map-info): Refill docstring. (map-contains-key): Fix typo. (map-every-p): Doc fix.
* | Don't use `let*' with just one bindingJuanma Barranquero2019-12-241-1/+1
|/ | | | | | * lisp/registry.el (registry-reindex): * lisp/emacs-lisp/generator.el (cps--add-state): Use `let', not `let*'.
* More precise 'regexp-opt' documentationMattias Engdegård2019-12-181-5/+5
| | | | | | | | * lisp/emacs-lisp/regexp-opt.el (regexp-opt): * doc/lispref/searching.texi (Regexp Functions): Be more specific about how the KEEP-ORDER argument actually works. If nil, the regexp guarantees a longest match; this is the behaviour that many callers implicitly rely on.
* Allow characters and single-char strings in rx charsetsMattias Engdegård2019-12-131-6/+20
| | | | | | | | | | | | | | | | The `not' and `intersection' forms, and `or' inside these forms, now accept characters and single-character strings as arguments. Previously, they had to be wrapped in `any' forms. This does not add expressive power but is a convenience and is easily understood. * doc/lispref/searching.texi (Rx Constructs): Amend the documentation. * etc/NEWS: Announce the change. * lisp/emacs-lisp/rx.el (rx--charset-p, rx--translate-not) (rx--charset-intervals, rx): Accept characters and 1-char strings in more places. * test/lisp/emacs-lisp/rx-tests.el (rx-not, rx-charset-or) (rx-def-in-charset-or, rx-intersection): Test the change.
* Add prefix to help.el uni-confusable* varsNoam Postavsky2019-12-131-1/+1
| | | | | | | | | * lisp/help.el (help-uni-confusables, help-uni-confusables-regexp): Rename from uni-confusable and uni-confusables-regexp, respectively. (help-uni-confusable-suggestions): Use ngettext. Use new variable name. * lisp/emacs-lisp/lisp-mode.el (lisp--match-confusable-symbol-character): Use new variable name.
* * lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation): Use 'user-error'.Juri Linkov2019-12-131-1/+1
|
* Use `or' instead of `union' for charset union in rxMattias Engdegård2019-12-121-15/+26
| | | | | | | | | | | | | | Design change suggested by Stefan Monnier. * doc/lispref/searching.texi (Rx Constructs): * etc/NEWS: Document. * lisp/emacs-lisp/rx.el (rx--translate-or): Detect charset arguments. (rx--charset-p): New. (rx--translate-not, rx--charset-intervals, rx--translate-union): Change from `union' to `or'. (rx--translate-form, rx--builtin-forms, rx): Remove `union'. * test/lisp/emacs-lisp/rx-tests.el (rx-union, rx-def-in-union) (rx-intersection): Rename tests and change `union' to `or' and `|'.
* * lisp/emacs-lisp/debug.el (debug-on-entry): Allow undefined functionsStefan Monnier2019-12-111-1/+1
| | | | | | Allow placing debug-on-entry on a function not-yet-defined, which is convenient when the problem you're investigating happens while the relevant files are loaded.
* Add `union' and `intersection' to rx (bug#37849)Mattias Engdegård2019-12-101-95/+214
| | | | | | | | | | | | | | | | | | | | | | These character set operations, together with `not' for set complement, improve the compositionality of rx, and reduce duplication in complicated cases. Named character classes are not permitted in set operations. * lisp/emacs-lisp/rx.el (rx--translate-any): Split into multiple functions. (rx--foldl, rx--parse-any, rx--generate-alt, rx--intervals-to-alt) (rx--complement-intervals, rx--intersect-intervals) (rx--union-intervals, rx--charset-intervals, rx--charset-union) (rx--charset-all, rx--charset-intersection, rx--translate-union) (rx--translate-intersection): New. (rx--translate-not, rx--translate-form, rx--builtin-forms, rx): Add `union' and `intersection'. * test/lisp/emacs-lisp/rx-tests.el (rx-union ,rx-def-in-union) (rx-intersection, rx-def-in-intersection): New tests. * doc/lispref/searching.texi (Rx Constructs): * etc/NEWS: Document `union' and `intersection'.
* Spelling fixesPaul Eggert2019-12-092-2/+2
|
* * lisp/emacs-lisp/map-ynp.el (read-answer): Use [remap self-insert-command]Juri Linkov2019-12-101-1/+1
| | | | | | This reverts the last change that replaced [remap self-insert-command] with [t]. The user should have freedom of using any command in the minibuffer. (bug#32738)
* * lisp/emacs-lisp/map-ynp.el (read-answer): Allow more SHORT-ANSWER types.Juri Linkov2019-12-091-5/+18
| | | | | | | Treat SHORT-ANSWER as a character is characterp returns non-nil. Otherwise, use key-description to print it. Use catch-all [t] in keymap instead of [remap self-insert-command]. (bug#32738)
* Don't use the return value of 'push'Mattias Engdegård2019-12-041-1/+1
| | | | | | | Although 'push' returns the modified list, it isn't actually documented to do so, so don't rely on it. * lisp/emacs-lisp/rx.el (rx--translate-any): Add progn.
* Avoid duplicated character classes in rxMattias Engdegård2019-12-031-1/+3
| | | | | | | | For example, (any digit digit) should produce "[[:digit:]]", not "[[:digit:][:digit:]]". * lisp/emacs-lisp/rx.el (rx--translate-any): Deduplicate character classes. * test/lisp/emacs-lisp/rx-tests.el (rx-any): Add test case.
* New functions window-state-buffers and tab-bar-get-buffer-tab (bug#38354)Juri Linkov2019-12-031-0/+1
| | | | | | | | | | * lisp/window.el (window-state-buffers): New function. * lisp/tab-bar.el (tab-bar-get-buffer-tab): New function. * lisp/emacs-lisp/seq.el (seq-some): Add autoload cookie. * lisp/desktop.el (desktop-buffers-not-to-save-function): New variable. (desktop-save-buffer-p): Use it.
* Use run-with-idle-timer instead of debounce for responsive image scaling.Juri Linkov2019-11-301-44/+0
| | | | | | | | | | | | | | | * lisp/emacs-lisp/timer.el (debounce, debounce-reduce): Revert macro addition. https://lists.gnu.org/archive/html/emacs-devel/2019-11/msg01133.html * lisp/image.el (image-increase-size, image-decrease-size): Use run-with-idle-timer. (image--change-size): Rename back from image--change-size-function. * lisp/image-mode.el (image-mode--setup-mode): Remove hooks window-size-change-functions and window-selection-change-functions (bug#32672) (image-fit-to-window): Rename from image--window-change-function. (image--window-state-change): Rename from image--window-change. Use run-with-idle-timer.
* Improve errors & warnings due to fancy quoted vars (Bug#32939)Noam Postavsky2019-11-283-5/+29
| | | | | | | | | | | | | | | | | | | | | | | | Add some hints to the message for byte compiler free & unused variable warnings, and 'void-variable' errors where the variable has confusable quote characters in it. * lisp/help.el (uni-confusables), uni-confusables-regexp): New constants. (help-command-error-confusable-suggestions): New function, added to `command-error-function'. (help-uni-confusable-suggestions): New function. * lisp/emacs-lisp/bytecomp.el (byte-compile-variable-ref): * lisp/emacs-lisp/cconv.el (cconv--analyze-use): Use it. * lisp/emacs-lisp/lisp-mode.el (lisp--match-confusable-symbol-character): New function. (lisp-fdefs): Use it to fontify confusable characters with font-lock-warning-face when they occur in symbol names. * doc/lispref/modes.texi (Faces for Font Lock): * doc/lispref/objects.texi (Basic Char Syntax): Recommend backslash escaping of confusable characters, and mention new fontification. * etc/NEWS: Announce the new fontification behavior. * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-fontify-confusables): New test.
* Use new macro debounce-reduce to make mouse scaling of images more responsiveJuri Linkov2019-11-241-0/+44
| | | | | | | | | | * lisp/emacs-lisp/timer.el (debounce, debounce-reduce): New macros. * lisp/image.el (image-increase-size, image-decrease-size): Use funcall to call image--change-size-function. (image--change-size-function): Move code from defun of image--change-size to defvar that has the value of lambda returned from debounce-reduce. (Bug#38187)
* Fix edebug instrumentation removing from advised functionsMichael Heerdegen2019-11-231-6/+22
| | | | | * lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation): Handle advised functions correctly.
* Refix conditional step clauses in cl-loopdickmao2019-11-221-59/+37
| | | | | | | | | | | | | * lisp/emacs-lisp/cl-macs.el (cl--loop-bindings, cl--loop-symbol-macs, cl-loop): Add cl--loop-conditions, remove cl--loop-guard-cond. (cl--push-clause-loop-body): Apply clause to both cl--loop-conditions and cl--loop-body (cl--parse-loop-clause): Use cl--push-clause-loop-body. * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-and-assignment): Use docstring. (cl-macs-loop-for-as-arith): Removed expected failure. (cl-macs-loop-conditional-step-clauses): Add some tests (bug#29799).
* Fix uses of inhibit-message in package.elEli Zaretskii2019-11-221-5/+1
| | | | | | | | * lisp/emacs-lisp/package.el (package-generate-autoloads) (package--compile, package--save-selected-packages): Don't use 'inhibit-message' to bind 'noninteractive' and 'save-silently', since 'inhibit-message' already disables all messages. (Bug#38264)
* * lisp/emacs-lisp/smie.el (smie-next-sexp): Fix bug#38255Stefan Monnier2019-11-211-1/+5
| | | | | | Handle the case where the token is not in `smie-grammar`, either because the caller is making an error, or because it's a paren-like token that's not handled in the grammar but directly via the syntax tables.
* Make pp-buffer into a commandLars Ingebrigtsen2019-11-211-0/+1
| | | | * lisp/emacs-lisp/pp.el (pp-buffer): Make into a command (bug#38306).