]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoFix indentation of non-comment HTML with -- in it
Lars Ingebrigtsen [Mon, 1 Feb 2021 09:42:22 +0000 (10:42 +0100)]
Fix indentation of non-comment HTML with -- in it

* lisp/textmodes/sgml-mode.el (sgml-comment-indent-new-line): Only
indent as if we're in a comment if syntax-ppss says that we're in
a comment (bug#36227).

3 years ago* lisp/eshell/em-cmpl.el (eshell--complete-commands-list): Fix last fix
Stefan Monnier [Mon, 1 Feb 2021 03:39:45 +0000 (22:39 -0500)]
* lisp/eshell/em-cmpl.el (eshell--complete-commands-list): Fix last fix

Complete `*firef` to `*firefox` rather than to `firefox`.

3 years ago* lisp/eshell/em-cmpl.el: Try and fix bug#41423
Stefan Monnier [Mon, 1 Feb 2021 00:27:10 +0000 (19:27 -0500)]
* lisp/eshell/em-cmpl.el: Try and fix bug#41423

(eshell--complete-commands-list): Rename from `eshell-complete-commands-list`.
Return a (dynamic) completion table rather than a list of completions.
Use `dolist` and `push`.

3 years ago* admin/*.el: Use lexical-binding
Stefan Monnier [Sun, 31 Jan 2021 23:00:39 +0000 (18:00 -0500)]
* admin/*.el: Use lexical-binding

* admin/admin.el: Use lexical-binding.
(manual-misc-manuals): Pass a limit to `looking-back`.
(reminder-for-release-blocking-bugs): Don't use `_` for a real variable.

* admin/authors.el: Use lexical-binding.
(authors-disambiguate-file-name): Remove unused var `parent`.

* admin/cus-test.el:
* admin/find-gc.el:
* admin/gitmerge.el: Use lexical-binding.

3 years agoMerge remote-tracking branch 'origin/scratch/lexical-gnus' into trunk
Stefan Monnier [Sun, 31 Jan 2021 22:38:38 +0000 (17:38 -0500)]
Merge remote-tracking branch 'origin/scratch/lexical-gnus' into trunk

3 years ago* lisp/gnus/gnus-group.el: Defvar all the `gnus-tmp-*` vars
Stefan Monnier [Sun, 31 Jan 2021 22:32:11 +0000 (17:32 -0500)]
* lisp/gnus/gnus-group.el: Defvar all the `gnus-tmp-*` vars

These were collected via

    sed -n -e 's/.*\(gnus-tmp-[^     ()]*\).*/(defvar \1)/p' \
        lisp/gnus/gnus-group.el

3 years ago; * lisp/double.el: Delete cruft dating back to 1994.
Stefan Kangas [Sun, 31 Jan 2021 18:57:11 +0000 (19:57 +0100)]
; * lisp/double.el: Delete cruft dating back to 1994.

3 years agoPrefer defvar-local in preloaded files
Stefan Kangas [Sun, 31 Jan 2021 18:46:20 +0000 (19:46 +0100)]
Prefer defvar-local in preloaded files

* lisp/abbrev.el:
* lisp/bindings.el (mode-line-mule-info, mode-line-modified)
(mode-line-remote, mode-line-process)
(mode-line-buffer-identification):
* lisp/buff-menu.el (Buffer-menu-files-only):
* lisp/files.el (buffer-file-number, buffer-file-read-only)
(local-write-file-hooks, write-contents-functions)
(file-local-variables-alist, dir-local-variables-alist)
(save-buffer-coding-system, buffer-save-without-query):
* lisp/font-core.el (font-lock-defaults):
* lisp/font-lock.el (font-lock-keywords-case-fold-search)
(font-lock-syntactically-fontified)
(font-lock-extend-after-change-region-function)
(font-lock-extend-region-functions, font-lock-major-mode):
* lisp/menu-bar.el (list-buffers-directory):
* lisp/simple.el (next-error--message-highlight-overlay)
(next-error-buffer, next-error-function)
(next-error-move-function, goto-line-history)
(minibuffer-default-add-done, undo-extra-outer-limit):
* lisp/tab-bar.el (tab-switcher-column):
* lisp/term/ns-win.el (ns-select-overlay):
* lisp/window.el (window-size-fixed, window-area-factor)
(window-group-start-function, window-group-end-function)
(set-window-group-start-function)
(recenter-window-group-function)
(pos-visible-in-window-group-p-function)
(selected-window-group-function)
(move-to-window-group-line-function): Prefer defvar-local.

3 years agoPrefer defvar-local in mail/*.el
Stefan Kangas [Sun, 31 Jan 2021 18:28:22 +0000 (19:28 +0100)]
Prefer defvar-local in mail/*.el

* lisp/mail/emacsbug.el (report-emacs-bug-send-command)
(report-emacs-bug-send-hook):
* lisp/mail/reporter.el (reporter-initial-text):
* lisp/mail/supercite.el (sc-mail-info, sc-attributions):
* lisp/mail/rmail.el (rmail-buffer-swapped, rmail-view-buffer):
Prefer defvar-local.

3 years agoPrefer defvar-local in progmodes/*.el
Stefan Kangas [Sun, 31 Jan 2021 17:46:17 +0000 (18:46 +0100)]
Prefer defvar-local in progmodes/*.el

This skips libraries that might want compatibility with Emacs 24.2.

* lisp/progmodes/compile.el (compilation-auto-jump-to-next)
(compilation--previous-directory-cache, compilation--parsed)
(compilation-gcpro):
* lisp/progmodes/cpp.el (cpp-overlay-list, cpp-edit-buffer)
(cpp-parse-symbols, cpp-edit-symbols):
* lisp/progmodes/ebnf2ps.el (ebnf-eps-upper-x, ebnf-eps-upper-y)
(ebnf-eps-prod-width, ebnf-eps-max-height, ebnf-eps-max-width):
* lisp/progmodes/f90.el (f90-cache-position):
* lisp/progmodes/gud.el (gud-marker-acc):
* lisp/progmodes/js.el (js--quick-match-re)
(js--quick-match-re-func, js--cache-end, js--last-parse-pos)
(js--state-at-last-parse-pos, js--tmp-location):
* lisp/progmodes/octave.el (inferior-octave-directory-tracker-resync):
* lisp/progmodes/sh-script.el (sh-header-marker): Prefer defvar-local.

3 years agoPrefer defvar-local in textmodes/*.el
Stefan Kangas [Sun, 31 Jan 2021 17:45:47 +0000 (18:45 +0100)]
Prefer defvar-local in textmodes/*.el

This skips libraries that might want compatibility with Emacs 24.2.

* lisp/textmodes/artist.el (artist-curr-go)
(artist-line-char-set, artist-line-char, artist-fill-char-set)
(artist-fill-char, artist-erase-char, artist-default-fill-char)
(artist-draw-region-min-y, artist-draw-region-max-y)
(artist-borderless-shapes):
* lisp/textmodes/css-mode.el (css--at-ids, css--bang-ids)
(css--nested-selectors-allowed):
* lisp/textmodes/enriched.el (enriched-old-bindings):
* lisp/textmodes/flyspell.el (flyspell-generic-check-word-predicate)
(flyspell-consider-dash-as-word-delimiter-flag)
(flyspell-dash-dictionary, flyspell-dash-local-dictionary)
(flyspell-word-cache-start, flyspell-word-cache-end)
(flyspell-word-cache-word, flyspell-word-cache-result)
(flyspell-changes, flyspell-auto-correct-pos)
(flyspell-auto-correct-region, flyspell-auto-correct-ring)
(flyspell-auto-correct-word):
* lisp/textmodes/ispell.el (ispell-local-dictionary-overridden)
(ispell-local-pdict, ispell-buffer-session-localwords):
* lisp/textmodes/refill.el (refill-ignorable-overlay)
(refill-doit):
* lisp/textmodes/sgml-mode.el (html--buffer-classes-cache)
(html--buffer-ids-cache):
* lisp/textmodes/table.el (table-mode-indicator):
* lisp/textmodes/tex-mode.el (tex-send-command-modified-tick):
* lisp/textmodes/two-column.el (2C-autoscroll-start, 2C-mode):
Prefer defvar-local.

3 years agoPrefer defvar-local in cedet
Stefan Kangas [Sun, 31 Jan 2021 15:54:54 +0000 (16:54 +0100)]
Prefer defvar-local in cedet

* lisp/cedet/ede.el (ede-object-root-project)
(ede-object-project, ede-object):
* lisp/cedet/mode-local.el (mode-local-symbol-table):
* lisp/cedet/semantic.el (semantic--parse-table)
(semantic-symbol->name-assoc-list)
(semantic-symbol->name-assoc-list-for-type-parts)
(semantic-case-fold, semantic--buffer-cache)
(semantic-unmatched-syntax-cache)
(semantic-unmatched-syntax-cache-check, semantic-parser-name)
(semantic--completion-cache, semantic-parse-tree-state)
(semantic-init-mode-hook, semantic-parser-warnings):
* lisp/cedet/semantic/bovine.el
(semantic-bovinate-nonterminal-check-obarray):
* lisp/cedet/semantic/complete.el (semantic-collector-per-buffer-list):
* lisp/cedet/semantic/ctxt.el (semantic-command-separation-character)
(semantic-function-argument-separation-character):
* lisp/cedet/semantic/db-find.el (semanticdb-find-lost-includes)
(semanticdb-find-scanned-include-tags):
* lisp/cedet/semantic/db.el (semanticdb-new-database-class)
(semanticdb-default-find-index-class)
(semanticdb-current-database, semanticdb-current-table)
(semanticdb-project-system-databases)
(semanticdb-out-of-buffer-create-table-fcn):
* lisp/cedet/semantic/debug.el (semantic-debug-parser-source)
(semantic-debug-parser-class)
(semantic-debug-parser-debugger-source):
* lisp/cedet/semantic/dep.el (semantic-dependency-include-path)
(semantic-dependency-system-include-path):
* lisp/cedet/semantic/format.el (semantic-function-argument-separator)
(semantic-format-parent-separator):
* lisp/cedet/semantic/fw.el (semantic-new-buffer-fcn-was-run):
* lisp/cedet/semantic/grammar.el (semantic-grammar-macros)
(semantic--grammar-macros-regexp-1)
(semantic--grammar-macros-regexp-2):
* lisp/cedet/semantic/idle.el (semantic-idle-scheduler-mode):
* lisp/cedet/semantic/imenu.el (semantic-imenu-expandable-tag-classes):
* lisp/cedet/semantic/lex-spp.el
(semantic-lex-spp-macro-symbol-obarray)
(semantic-lex-spp-project-macro-symbol-obarray)
(semantic-lex-spp-dynamic-macro-symbol-obarray)
(semantic-lex-spp-dynamic-macro-symbol-obarray-stack):
* lisp/cedet/semantic/lex.el (semantic-flex-keywords-obarray)
(semantic-lex-types-obarray, semantic-lex-analyzer)
(semantic-lex-syntax-modifications, semantic-lex-syntax-table)
(semantic-lex-comment-regex, semantic-lex-number-expression)
(semantic-lex-depth, semantic-flex-extensions)
(semantic-flex-syntax-modifications, semantic-ignore-comments)
(semantic-flex-enable-newlines, semantic-flex-enable-whitespace)
(semantic-flex-enable-bol, semantic-number-expression)
(semantic-flex-depth):
* lisp/cedet/semantic/senator.el (senator-isearch-semantic-mode):
* lisp/cedet/semantic/sort.el
(semantic-orphaned-member-metaparent-type):
* lisp/cedet/semantic/tag.el (semantic-tag-expand-function):
* lisp/cedet/semantic/util-modes.el (semantic-show-parser-state-string)
(semantic-stickyfunc-sticky-classes)
(semantic-highlight-func-ct-overlay):
* lisp/cedet/semantic/util.el
(semantic-type-relation-separator-character)
(semantic-equivalent-major-modes):
* lisp/cedet/semantic/wisent.el (wisent-error-function)
(wisent-lexer-function): Prefer defvar-local.

3 years agoPrefer defvar-local in net/*.el
Stefan Kangas [Sun, 31 Jan 2021 15:30:55 +0000 (16:30 +0100)]
Prefer defvar-local in net/*.el

* lisp/net/browse-url.el (browse-url-temp-file-name):
* lisp/net/rcirc.el (rcirc-ignore-buffer-activity-flag)
(rcirc-low-priority-flag, rcirc-parent-buffer)
(rcirc-activity-types, rcirc-last-sender):
* lisp/net/soap-inspect.el (soap-inspect-previous-items)
(soap-inspect-current-item):
* lisp/net/telnet.el (telnet-remote-echoes)
(telnet-interrupt-string, telnet-count): Prefer defvar-local.

3 years agoPrefer defvar-local in vc/*.el
Stefan Kangas [Sun, 31 Jan 2021 15:27:26 +0000 (16:27 +0100)]
Prefer defvar-local in vc/*.el

* lisp/vc/ediff-diff.el (ediff-whitespace, ediff-word-1)
(ediff-word-2, ediff-word-3, ediff-word-4):
* lisp/vc/ediff-init.el (ediff-defvar-local):
* lisp/vc/smerge-mode.el (smerge-check-cache):
* lisp/vc/vc-bzr.el (vc-bzr-annotation-table):
* lisp/vc/vc-dispatcher.el (vc-mode-line-hook): Prefer defvar-local.

3 years ago* etc/MACHINES: Document that we support AArch64 with macOS.
Philipp Stephani [Sun, 31 Jan 2021 18:50:28 +0000 (19:50 +0100)]
* etc/MACHINES: Document that we support AArch64 with macOS.

3 years agoMinimise the time Vminibuffer_list is in an inconsistent state (src/minibuf.c)
Alan Mackenzie [Sun, 31 Jan 2021 17:24:23 +0000 (17:24 +0000)]
Minimise the time Vminibuffer_list is in an inconsistent state (src/minibuf.c)

src/minibuf.c (get_minibuffer): Move the XSETCAR which writes the new
minibuffer into Vminibuffer_list to immediately after the MB's creation, so
that the list is in a consistent state before calling fundamental-mode or
minibuffer-inactive-mode.

3 years agoPrefer defvar-local in international/*.el
Stefan Kangas [Sun, 31 Jan 2021 14:56:53 +0000 (15:56 +0100)]
Prefer defvar-local in international/*.el

* lisp/international/mule-cmds.el (current-input-method)
(current-input-method-title, current-transient-input-method)
(previous-transient-input-method, input-method-history)
(deactivate-current-input-method-function)
(describe-current-input-method-function):
* lisp/international/mule.el (buffer-file-coding-system-explicit):
* lisp/international/quail.el (quail-current-package)
(quail-guidance-str, quail-overlay, quail-conv-overlay)
(quail-current-key, quail-current-str)
(quail-current-translations, quail-current-data):
* lisp/international/robin.el (robin-mode)
(robin-current-package-name): Prefer defvar-local in
international/*.el.

3 years agoPrefer defvar-local in nxml/*.el
Stefan Kangas [Sun, 31 Jan 2021 14:00:41 +0000 (15:00 +0100)]
Prefer defvar-local in nxml/*.el

* lisp/nxml/rng-cmpct.el (rng-c-current-token)
(rng-c-escape-positions, rng-c-file-name):
* lisp/nxml/rng-pttrn.el (rng-current-schema):
* lisp/nxml/rng-valid.el (rng-validate-timer)
(rng-validate-quick-timer, rng-error-count, rng-message-overlay)
(rng-message-overlay-inhibit-point, rng-message-overlay-current)
(rng-validate-up-to-date-end, rng-conditional-up-to-date-start)
(rng-conditional-up-to-date-end, rng-dtd): Prefer defvar-local.

3 years agoPrefer defvar-local in emacs-lisp/*.el
Stefan Kangas [Sun, 31 Jan 2021 13:55:53 +0000 (14:55 +0100)]
Prefer defvar-local in emacs-lisp/*.el

* lisp/emacs-lisp/chart.el (chart-local-object):
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode)
(define-globalized-minor-mode):
* lisp/emacs-lisp/edebug.el:
* lisp/emacs-lisp/generic.el (generic-font-lock-keywords):
* lisp/emacs-lisp/re-builder.el (reb-regexp, reb-regexp-src)
(reb-overlays):
* lisp/emacs-lisp/syntax.el
(syntax-propertize-extend-region-functions): Prefer defvar-local.

3 years agoPrefer defvar-local in allout
Stefan Kangas [Sun, 31 Jan 2021 13:35:44 +0000 (14:35 +0100)]
Prefer defvar-local in allout

* lisp/allout.el (allout-just-did-undo, allout-mode)
(allout-layout, allout-regexp, allout-bullets-string)
(allout-bullets-string-len, allout-depth-specific-regexp)
(allout-depth-one-regexp, allout-line-boundary-regexp)
(allout-bob-regexp, allout-header-subtraction)
(allout-plain-bullets-string-len, allout-mode-prior-settings)
(allout-outside-normal-auto-fill-function)
(allout-encryption-plaintext-sanitization-regexps)
(allout-encryption-ciphertext-rejection-regexps)
(allout-explicitly-deactivated, allout-recent-prefix-beginning)
(allout-recent-prefix-end, allout-recent-depth)
(allout-recent-end-of-subtree, allout-post-goto-bullet)
(allout-command-counter, allout-this-command-hid-text):
* lisp/allout-widgets.el (allout-widgets-mode)
(allout-widgets-tally, allout-widgets-mode-inhibit)
(allout-inhibit-body-modification-hook)
(allout-widgets-changes-record)
(allout-widgets-undo-exposure-record)
(allout-escaped-prefix-regexp, allout-item-icon-keymap)
(allout-item-body-keymap, allout-cue-span-keymap)
(allout-widgets-last-decoration-timing)
(allout-container-item-widget): Prefer defvar-local.

3 years agoPrefer defvar-local in cua
Stefan Kangas [Sun, 31 Jan 2021 13:17:16 +0000 (14:17 +0100)]
Prefer defvar-local in cua

* lisp/emulation/cua-base.el (cua-inhibit-cua-keys)
(cua--status-string):
* lisp/emulation/cua-rect.el (cua--rectangle)
(cua--rectangle-overlays): Prefer defvar-local.

3 years agoObsolete viper-deflocalvar for defvar-local
Stefan Kangas [Sun, 31 Jan 2021 13:10:10 +0000 (14:10 +0100)]
Obsolete viper-deflocalvar for defvar-local

* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.

* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.

3 years agoDon't attempt to display input method guidance in expired minibuffers
Alan Mackenzie [Sun, 31 Jan 2021 11:20:50 +0000 (11:20 +0000)]
Don't attempt to display input method guidance in expired minibuffers

This caused infinite waits in circumstances involving setting an input method
in a global minor mode.  This commit fixes bug #45792.

* lisp/international/quail.el (quail-show-guidance): Test the major mode is
not minibuffer-inactive-mode before proceding with the function.

3 years agoexecute-kbd-macro doc string clarification
Lars Ingebrigtsen [Sun, 31 Jan 2021 07:46:02 +0000 (08:46 +0100)]
execute-kbd-macro doc string clarification

* src/macros.c (Fexecute_kbd_macro): Mention that the buffer is
(potentially) changed (bug#37396).

3 years agoMake operating-system-release obsolete
Lars Ingebrigtsen [Sun, 31 Jan 2021 07:22:12 +0000 (08:22 +0100)]
Make operating-system-release obsolete

* lisp/subr.el (operating-system-release): Make obsolete
(bug#39940).  There are no in-tree usages any more, and the data
doesn't seem all that interesting on its own.

3 years agoDoc string improvements around `default-korean-keyboard'
Lars Ingebrigtsen [Sun, 31 Jan 2021 07:12:10 +0000 (08:12 +0100)]
Doc string improvements around `default-korean-keyboard'

* lisp/language/korea-util.el (default-korean-keyboard): Mention
"Hangul" here for easier discoverability.
(toggle-korean-input-method, quail-hangul-switch-symbol-ksc)
(quail-hangul-switch-hanja): Mention the variable.

3 years agoRevert "Improve fontifying of #| ... |# in `lisp-mode'"
Lars Ingebrigtsen [Sun, 31 Jan 2021 06:59:40 +0000 (07:59 +0100)]
Revert "Improve fontifying of #| ... |# in `lisp-mode'"

This reverts commit 1275dc4711af77c9c223063dcd149d782d497463.

Setting comment-end isn't the correct thing to do -- it makes M-; insert that string.

3 years ago; Fix my previous commit
Stefan Kangas [Sun, 31 Jan 2021 04:41:51 +0000 (05:41 +0100)]
; Fix my previous commit

* lisp/play/5x5.el (5x5-solver-output): Prefer defvar-local.
* lisp/play/gamegrid.el (gamegrid-display-table): Provide default
value.

3 years agoPrefer defvar-local in play/*.el
Stefan Kangas [Sun, 31 Jan 2021 04:27:06 +0000 (05:27 +0100)]
Prefer defvar-local in play/*.el

* lisp/play/5x5.el
(5x5-grid, 5x5-x-pos, 5x5-y-pos, 5x5-moves, 5x5-cracking):
* lisp/play/decipher.el (decipher-alphabet)
(decipher-stats-buffer, decipher-undo-list-size)
(decipher-undo-list):
* lisp/play/gamegrid.el (gamegrid-use-glyphs)
(gamegrid-use-color, gamegrid-font, gamegrid-face)
(gamegrid-display-options, gamegrid-buffer-width)
(gamegrid-buffer-height, gamegrid-blank, gamegrid-timer)
(gamegrid-display-mode, gamegrid-display-table)
(gamegrid-face-table, gamegrid-buffer-start)
(gamegrid-score-file-length):
* lisp/play/snake.el (snake-length, snake-velocity-x)
(snake-velocity-y, snake-positions, snake-score, snake-paused)
(snake-moved-p, snake-velocity-queue):
* lisp/play/tetris.el (tetris-shape, tetris-rot)
(tetris-next-shape, tetris-n-shapes, tetris-n-rows)
(tetris-score, tetris-pos-x, tetris-pos-y, tetris-paused):
Prefer defvar-local.

* lisp/play/5x5.el (5x5-defvar-local): Make obsolete.

3 years agoRemove redundant defvar for artist-mode
Stefan Kangas [Sun, 31 Jan 2021 02:23:29 +0000 (03:23 +0100)]
Remove redundant defvar for artist-mode

* lisp/textmodes/artist.el (artist-mode): Remove redundant
defvar; it is defined by define-minor-mode.

3 years agoPrefer defvar-local in erc
Stefan Kangas [Sun, 31 Jan 2021 02:19:41 +0000 (03:19 +0100)]
Prefer defvar-local in erc

* lisp/erc/erc-backend.el (erc-server-current-nick)
(erc-server-process, erc-session-server, erc-session-connector)
(erc-session-port, erc-server-announced-name)
(erc-server-version, erc-server-parameters)
(erc-server-connected, erc-server-reconnect-count)
(erc-server-quitting, erc-server-reconnecting)
(erc-server-timed-out, erc-server-banned)
(erc-server-error-occurred, erc-server-lines-sent)
(erc-server-last-peers, erc-server-last-sent-time)
(erc-server-last-ping-time, erc-server-last-received-time)
(erc-server-lag, erc-server-filter-data, erc-server-duplicates)
(erc-server-processing-p, erc-server-flood-last-message)
(erc-server-flood-queue, erc-server-flood-timer)
(erc-server-ping-handler):
* lisp/erc/erc-capab.el (erc-capab-identify-activated)
(erc-capab-identify-sent):
* lisp/erc/erc-dcc.el (erc-dcc-byte-count, erc-dcc-entry-data)
(erc-dcc-file-name):
* lisp/erc/erc-ezbounce.el (erc-ezb-session-list):
* lisp/erc/erc-join.el (erc--autojoin-timer):
* lisp/erc/erc-netsplit.el (erc-netsplit-list):
* lisp/erc/erc-networks.el (erc-network):
* lisp/erc/erc-notify.el (erc-last-ison, erc-last-ison-time):
* lisp/erc/erc-ring.el (erc-input-ring, erc-input-ring-index):
* lisp/erc/erc-stamp.el (erc-timestamp-last-inserted)
(erc-timestamp-last-inserted-left)
(erc-timestamp-last-inserted-right):
* lisp/erc/erc.el (erc-session-password, erc-channel-users)
(erc-server-users, erc-channel-topic, erc-channel-modes)
(erc-insert-marker, erc-input-marker, erc-last-saved-position)
(erc-dbuf, erc-active-buffer, erc-default-recipients)
(erc-session-user-full-name, erc-channel-user-limit)
(erc-channel-key, erc-invitation, erc-channel-list)
(erc-bad-nick, erc-logged-in, erc-default-nicks)
(erc-nick-change-attempt-count, erc-send-input-line-function)
(erc-channel-new-member-names, erc-channel-banlist)
(erc-current-message-catalog): Prefer defvar-local.

3 years agoRemove redundant requires of 'derived'
Stefan Kangas [Sun, 31 Jan 2021 02:09:13 +0000 (03:09 +0100)]
Remove redundant requires of 'derived'

* lisp/net/newst-backend.el (derived):
* lisp/net/newst-plainview.el (derived):
* lisp/play/gametree.el (derived):
* lisp/textmodes/less-css-mode.el (derived): Remove redundant require;
'define-derived-mode' is autoloaded.

3 years agoRecompute mode-lines when marking conflicts resolved
Dmitry Gutov [Sun, 31 Jan 2021 01:08:38 +0000 (03:08 +0200)]
Recompute mode-lines when marking conflicts resolved

* lisp/vc/vc.el (vc-mark-resolved):
Recompute the mode lines of the affected files.

3 years ago* lisp/gnus: Use closures now that we activated `lexical-binding`
Stefan Monnier [Sat, 30 Jan 2021 23:56:37 +0000 (18:56 -0500)]
* lisp/gnus: Use closures now that we activated `lexical-binding`

* lisp/gnus/nnml.el (nnml-request-accept-article):
* lisp/gnus/nnmairix.el (nnmairix-request-marks):
* lisp/gnus/nnmail.el (nnmail-get-new-mail-1):
* lisp/gnus/mm-view.el (mm-inline-image)
(mm-inline-text-html-render-with-w3m, mm-inline-text)
(mm-insert-inline, mm-inline-message):
* lisp/gnus/mm-partial.el (mm-inline-partial):
* lisp/gnus/mm-archive.el (mm-archive-dissect-and-inline):
* lisp/gnus/gnus-util.el (gnus-create-info-command):
* lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters)
(gnus-topic-sort-topics-1):
* lisp/gnus/gnus-sum.el (gnus-summary-edit-article):
* lisp/gnus/gnus-srvr.el (gnus-server-edit-server):
* lisp/gnus/gnus-msg.el (gnus-inews-make-draft)
(gnus-inews-add-send-actions, gnus-summary-cancel-article)
(gnus-summary-supersede-article, gnus-summary-resend-message)
(gnus-configure-posting-styles):
* lisp/gnus/gnus-kill.el (gnus-execute):
* lisp/gnus/gnus-html.el (gnus-html-wash-images):
* lisp/gnus/gnus-group.el (gnus-group-edit-group)
(gnus-group-nnimap-edit-acl):
* lisp/gnus/gnus-draft.el (gnus-draft-edit-message, gnus-draft-setup):
* lisp/gnus/gnus-art.el (gnus-article-edit-part)
(gnus-mm-display-part, gnus-article-edit):
* lisp/gnus/gnus-agent.el (gnus-category-edit-predicate)
(gnus-category-edit-score, gnus-category-edit-groups):
Use closures instead of `(lambda ...).

* lisp/gnus/nnoo.el (noo--defalias): New function.
(nnoo-import-1, nnoo-define-skeleton-1): Use it to avoid `eval`.

3 years ago* lisp/gnus: Use lexical-binding in all the files
Stefan Monnier [Sat, 30 Jan 2021 23:44:00 +0000 (18:44 -0500)]
* lisp/gnus: Use lexical-binding in all the files

* lisp/gnus/gnus-group.el (features): Use `dlet`.
(gnus-tmp-level, gnus-tmp-marked, gnus-tmp-group): Declare vars.
(gnus-group-insert-group-line): Bind dynbound vars via `let` rather
than as formal args.  Bind `number` as dynbound.
(gnus-visual, gnus-score-find-score-files-function)
(gnus-home-score-file, gnus-apply-kill-hook)
(gnus-summary-expunge-below): Declare vars.
(gnus-group-restart, gnus-group-list-plus): Fix `interactive` spec
since the arg is unused.

* lisp/gnus/mail-source.el (mail-source-bind, mail-source-bind-common):
Use `dlet` and suppress the warnings about the non-prefixed dynbound vars.
(mail-source-set-1): Remove unused var `auth-info`.
(mail-source-call-script): Remove unused var `background`.
(mail-source-fetch-pop, mail-source-check-pop): Bind pop3 vars with `dlet`.

* lisp/gnus/gnus-int.el (mail-source-plugged, gnus-inhibit-demon):
Declare vars.
(gnus-server-opened, gnus-status-message)
(gnus-open-server, gnus-close-server, gnus-request-list)
(gnus-finish-retrieve-group-infos, gnus-retrieve-group-data-early)
(gnus-request-list-newsgroups, gnus-request-newgroups)
(gnus-request-regenerate, gnus-request-compact, gnus-request-group)
(gnus-retrieve-groups, gnus-request-post, gnus-request-expunge-group)
(gnus-request-scan, gnus-request-update-info, gnus-request-marks)
(gnus-request-accept-article, gnus-request-create-group)
(gnus-asynchronous-p, gnus-remove-denial):
Bind `gnus-command-method` via `let` rather than as formal args.

* lisp/gnus/gnus-topic.el (gnus-topic-insert-topic-line):
Pass documented vars to eval for `gnus-topic-line-format-spec`.

* lisp/gnus/message.el (message-yank-original): Use `cl-progv` rather
than `eval` to bind the vars from `message-cite-style`.

* lisp/gnus/mml.el (mml-parse-1): Use `apply` instead of `eval`.
(gnus-newsgroup-name, gnus-displaying-mime, gnus-newsgroup-name)
(gnus-article-prepare-hook, gnus-newsgroup-charset)
(gnus-original-article-buffer, gnus-message-buffer)
(message-this-is-news, message-this-is-mail): Declare vars.

* lisp/gnus/deuglify.el (gnus-outlook-rearrange-article): Remove unused
var `cite-marks`.
* lisp/gnus/gnus-art.el (ansi-color-context-region): Declare var.
(gnus-mime-display-attachment-buttons-in-header): Move declaration
before first use.
(gnus-mime-display-alternative): Remove unused var `from`.
* lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-list): Remove unused
var `start` `end`.
* lisp/gnus/gnus-cache.el (gnus-article-decode-hook)
(nnml-generate-active-function): Declare var.
* lisp/gnus/gnus-cite.el (gnus-message-citation-mode): Remove unused
var `keywords`.
* lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Remove unused var
`cipher`.
(gnus-cloud-ensure-cloud-group): Remove unused var `method`.
* lisp/gnus/gnus-delay.el (gnus-delay-article): Remove unused var `days`.
* lisp/gnus/gnus-html.el (gnus-html-wash-images): Remove unused vars
`tag`, `string`, and `images`.
(gnus-html-wash-tags): Remove unused vars `string` and `images`.
* lisp/gnus/gnus-msg.el (gnus-msg-mail): Remove unused var `group-name`.
(gnus-group-mail, gnus-group-news, gnus-summary-mail-other-window)
(gnus-summary-news-other-window):
Remove unused vars `group` and `buffer`.
(gnus-configure-posting-styles): Remove unused vars `style` and `attribute`.
* lisp/gnus/gnus-picon.el (gnus-picon-find-face): Remove unused vars
`database`, `directory`, and `instance`.
(gnus-picon-transform-newsgroups): Remove unused var `point`.
* lisp/gnus/gnus-range.el (gnus-range-difference): Remove unused var `safe`.
* lisp/gnus/gnus-score.el (gnus-score-load-file): Remove unused var
`score-fn`.
* lisp/gnus/gnus-sum.el (message-options-set-recipient): Declare var.
* lisp/gnus/gnus-undo.el (gnus-undo): Fix docstring lie.
* lisp/gnus/gnus-util.el (print-string-length)
(iswitchb-make-buflist-hook): Declare vars.
(gnus-emacs-version): Remove unused var `codename`.
(gnus-rename-file): Remove unused vars `old-name` and `new-name`.
* lisp/gnus/gnus-uu.el (gnus-uu-yenc-article): Remove unused var
`start-char`.
(gnus-asynchronous): Declare var.
* lisp/gnus/mm-partial.el (gnus-displaying-mime): Declare var.
(mm-inline-partial): Remove unused var `buffer`.
* lisp/gnus/mm-view.el (w3m-force-redisplay, w3m-safe-url-regexp)
(gnus-displaying-mime, gnus-original-article-buffer)
(gnus-article-prepare-hook): Declare vars.
* lisp/gnus/mml-smime.el (mml-smime-epg-encrypt): Remove unused var
`boundary`.
(mml-smime-epg-verify): Remove unused vars `plain` and `signature-file`.
* lisp/gnus/mml1991.el (pgg-text-mode): Declare var.
* lisp/gnus/mml2015.el (pgg-text-mode): Declare var.
(mml2015-pgg-decrypt): Remove unused var `result`.
(mml2015-epg-key-image-to-string): Remove unused var `error`.
(mml2015-epg-decrypt): Remove unused var `result`.
(mml2015-epg-verify): Remove unused vars `plain` and `signature-file`.
* lisp/gnus/nnbabyl.el (nnml-current-directory): Declare var.
* lisp/gnus/nndiary.el (nndiary-files): Move declaration before first use.
* lisp/gnus/nnfolder.el (nnfolder-request-accept-article):
Remove unused var `buf`.
* lisp/gnus/nnmail.el (nnmail-parse-active): Remove unused var `err`.
* lisp/gnus/nnmairix.el (nnmairix-request-group): Remove unused var `args`.
(nnmairix-request-create-group): Remove unused var `info`.
(nnmairix-request-list): Remove unused var `folder`.
(nnmairix-request-set-mark): Remove unused var `propto`.
(nnmairix-request-set-mark): Remove unused vars `number` and `method`.
(nnmairix-close-group): Remove unused var `method`.
(nnmairix-create-search-group-from-message): Remove unused var `cq`.
(nnmairix-create-server-and-default-group): Remove unused var `create`.
(nnmairix-purge-old-groups): Remove unused var `folder`.
(nnmairix-remove-tick-mark-original-article, nnmairix-get-valid-servers):
Remove unused var `cur`.
(nnmairix-replace-group-and-numbers): Remove unused var `header`.
(nnmairix-goto-original-article): Remove unused var `rval`.
(nnmairix-widget-create-query): Remove unused var `allwidgets`.
* lisp/gnus/nnmbox.el (nnml-current-directory): Declare var.
* lisp/gnus/nnmh.el (nnmh-toplev): Move declaration before first use.
(nnmh-request-list-1): Remove unused var `rdir`.
* lisp/gnus/nnml.el (nnml-generate-nov-file): Remove unused var `file`.
* lisp/gnus/nnrss.el (nnrss-request-article): Remove unused var `post`.
(nnrss-request-article): Remove unused var `fn`.
(nnrss-check-group): Remove unused var `rdf-ns`.
* lisp/gnus/nnweb.el (nnweb-request-article): Remove unused var `active`.
(nnweb-google-parse-1): Remove unused var `Score`.
* lisp/gnus/spam-stat.el (spam-stat-error-holder): Remove var.
(spam-stat-buffer-words-with-scores): Remove unused var `word`.
(spam-stat-score-buffer): Remove unused var `spam-stat-error-holder`.
(spam-stat-split-fancy): Use `err` instead of `spam-stat-error-holder`.
* lisp/gnus/spam-wash.el (spam-wash): Remove unused var `handle`.
* lisp/gnus/spam.el (spam-copy-or-move-routine): Remove unused vars
`article` and `mark`.
(spam-register-routine): Remove unused var `article`.
(spam-log-undo-registration): Remove unused var `found`.
(spam-ifile-register-with-ifile): Remove unused var `parameters`.
(spam-check-stat): Remove unused vars `category` and `return`.
(spam-parse-list): Remove unused var `found`.
(spam-filelist-register-routine): Remove unused var `from`.

3 years ago* lisp/gnus: Misc simplifications found during conversion to lexical
Stefan Monnier [Sat, 30 Jan 2021 21:45:25 +0000 (16:45 -0500)]
* lisp/gnus: Misc simplifications found during conversion to lexical

* lisp/gnus/nnoo.el (noo-import-1, nnoo-define-skeleton-1): Use `dolist`.
(noo-map-functions, nnoo-define-basics): Directly emit the code rather than
going through an intermediate function; this also avoids the use of `eval`.
(noo-map-functions-1, nnoo-define-basics-1): Delete functions,
folded into their corresponding macro.

* lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Demote `eval` to
`symbol-value`.

* lisp/gnus/gnus-art.el (gnus-button-handle-describe-key): Avoid `eval`
since `kbd` is a function nowadays.
(gnus-treat-part-number): Rename from `part-number`.
(gnus-treat-total-parts): Rename from `total-parts`.
(gnus-treat-article, gnus-treat-predicate): Adjust accordingly.

* lisp/gnus/gnus-cache.el (gnus-agent-load-alist): Use `declare-function`.

* lisp/gnus/gnus-group.el (gnus-cache-active-hashtb): Use `defvar`.
(gnus-group-iterate): Make it a normal function since lexical scoping
avoids the risk of name capture anyway.
(gnus-group-delete-articles): Actually use the `oldp` arg.

* lisp/gnus/gnus-html.el (gnus-html-wash-images): Fix debug message so
it's emitted after the `url` var it prints is actually initialized.
And avoid `setq` while we're at it.

* lisp/gnus/gnus-msg.el (gnus-group-mail, gnus-group-news)
(gnus-summary-mail-other-window, gnus-summary-news-other-window):
Merge `let`s using `let*`.

* lisp/gnus/gnus-spec.el (gnus-update-format-specifications):
Tighten the scope of `buffer`, and tighten a regexp.
(gnus-parse-simple-format): Reduce code duplication.

* lisp/gnus/gnus-start.el (gnus-child-mode): Don't `defvar` it since we
never use that variable and accordingly don't define it as a minor mode.

* lisp/gnus/gnus-util.el (gnus-byte-compile): Simplify so it obeys
`gnus-use-byte-compile` not just on the first call.
(iswitchb-minibuffer-setup): Declare.

* lisp/gnus/mail-source.el (mail-source-bind-1)
(mail-source-bind-common-1): Use `mapcar`.
(mail-source-set-common-1): Use `dolist`.
(display-time-event-handler): Declare.

* lisp/gnus/mml-smime.el (mml-smime-epg-verify): Reduce code duplication.

* lisp/gnus/mml.el (mml-parse-1): Reduce code duplication.

* lisp/gnus/mml2015.el (mml2015-epg-verify): Reduce code duplication.

* lisp/gnus/nnmail.el (nnmail-get-split-group): Tighten regexp.
(nnmail-split-it): Reduce code duplication.

* lisp/gnus/nnweb.el (nnweb-request-article): Avoid `setq`.

* lisp/gnus/spam.el (BBDB): Use the `noerror` arg of `require`, and
define all the functions for BBDB regardless if the require succeeded.
(spam-exists-in-BBDB-p): Don't inline, not worth it.

3 years agoWith minibuffer-follows-selected-frame `hybrid', preserve recursive Mbuffers
Alan Mackenzie [Sat, 30 Jan 2021 21:16:35 +0000 (21:16 +0000)]
With minibuffer-follows-selected-frame `hybrid', preserve recursive Mbuffers

...when enable-recursive-minibuffers is non-nil, and several minibuffers are
activated from different frames.  Also set the major mode of a reused active
minibuffer to `fundamental-mode' - up till now it's been
minibuffer-inactive-mode.

* src/minibuf.c (read_minibuf): with the indicated settings of variables,
"stack up" all containing minibuffers on the mini-window of the current
frame.  Delete another, now superfluous such stacking up.
(set_minibuffer_mode): New function.
(get_minibuffer): Call the above new function (twice), in place of inline
code, ensuring active minibuffers are never left in minibuffer-inactive-mode.

3 years ago* lisp/gnus: Remove redundant `:group` args
Stefan Monnier [Sat, 30 Jan 2021 19:27:40 +0000 (14:27 -0500)]
* lisp/gnus: Remove redundant `:group` args

* lisp/gnus/spam-stat.el:
* lisp/gnus/spam-report.el:
* lisp/gnus/smime.el:
* lisp/gnus/nnrss.el:
* lisp/gnus/nnmairix.el:
* lisp/gnus/nnimap.el:
* lisp/gnus/nndiary.el:
* lisp/gnus/mm-url.el:
* lisp/gnus/mail-source.el:
* lisp/gnus/gnus-win.el:
* lisp/gnus/gnus-topic.el:
* lisp/gnus/gnus-sieve.el:
* lisp/gnus/gnus-search.el:
* lisp/gnus/gnus-registry.el:
* lisp/gnus/gnus-notifications.el:
* lisp/gnus/gnus-gravatar.el:
* lisp/gnus/gnus-eform.el:
* lisp/gnus/gnus-dup.el:
* lisp/gnus/gnus-diary.el:
* lisp/gnus/gnus-demon.el:
* lisp/gnus/gnus-delay.el:
* lisp/gnus/gnus-cloud.el:
* lisp/gnus/gnus-cite.el:
* lisp/gnus/gnus-bookmark.el:
* lisp/gnus/gmm-utils.el:
* lisp/gnus/deuglify.el:
* lisp/gnus/canlock.el: Remove redundant `:group` arguments

3 years ago* lisp/gnus: Demote some macros and defsubsts, plus a fix
Stefan Monnier [Sat, 30 Jan 2021 19:15:19 +0000 (14:15 -0500)]
* lisp/gnus: Demote some macros and defsubsts, plus a fix

* lisp/gnus/gnus-sum.el (gnus-summary-thread-level)
(gnus-summary-article-mark): Turn macros into `defsubst`.

* lisp/gnus/mail-source.el (mail-source-bind-common): Actually use its arg.

* lisp/gnus/nntp.el (nntp-copy-to-buffer): Turn macro into a `defsubst`.
(nntp-wait-for, nntp-retrieve-data, nntp-send-command): Don't inline
those, it's not worth it.

3 years ago* lisp/gnus: Use `with-current-buffer` at a few more places
Stefan Monnier [Sat, 30 Jan 2021 19:12:10 +0000 (14:12 -0500)]
* lisp/gnus: Use `with-current-buffer` at a few more places

* lisp/gnus/nnmbox.el (nnmbox-request-scan, nnmbox-read-mbox):
* lisp/gnus/nnmairix.el (nnmairix-create-search-group):
* lisp/gnus/nnfolder.el (nnfolder-existing-articles):
* lisp/gnus/nndraft.el (nndraft-auto-save-file-name):
* lisp/gnus/nndoc.el (nndoc-request-article):
* lisp/gnus/nnbabyl.el (nnbabyl-read-mbox):
* lisp/gnus/gnus-score.el (gnus-score-body):
* lisp/gnus/gnus-start.el (gnus-dribble-enter)
(gnus-dribble-eval-file, gnus-ask-server-for-new-groups)
(gnus-read-newsrc-file, gnus-read-descriptions-file):
* lisp/gnus/gnus-spec.el (gnus-update-format-specifications):
* lisp/gnus/gnus-draft.el (gnus-draft-edit-message):
* lisp/gnus/gnus-art.el (gnus-request-article-this-buffer)
(gnus-article-edit-exit): Use `with-current-buffer`.

3 years agoFix NS build broken by a recent change
Eli Zaretskii [Sat, 30 Jan 2021 19:13:53 +0000 (21:13 +0200)]
Fix NS build broken by a recent change

* src/nsmenu.m (set_frame_menubar, Fns_reset_menu): Adapt to
recent changes in set_frame_menubar.  (Bug#45759)

3 years agoAllow the caller to specify own face on suffix in annotation-function
Juri Linkov [Sat, 30 Jan 2021 19:12:37 +0000 (21:12 +0200)]
Allow the caller to specify own face on suffix in annotation-function

* lisp/minibuffer.el (completion--insert-strings):
Don't add 'completions-annotations' face when the caller
specified own face in annotation-function.
Remove no-op code for 'unless prefix' branch.
(completion-metadata, completion-extra-properties):
Update docs of affixation-function.
Suggested by Clemens <clemera@posteo.net> (bug#45780)

* test/lisp/minibuffer-tests.el: Rename package name from
completion-tests.el to minibuffer-tests.el.
Add new test completion--insert-strings-faces.

* doc/lispref/minibuf.texi (Completion Variables)
(Programmed Completion): Update descriptions of
annotation-function and affixation-function.

3 years ago; Improve defcustom :type in last change.
Basil L. Contovounesios [Sat, 30 Jan 2021 19:09:46 +0000 (19:09 +0000)]
; Improve defcustom :type in last change.

3 years agoReduce flicker in Isearch mode
Augusto Stoffel [Wed, 27 Jan 2021 15:09:38 +0000 (16:09 +0100)]
Reduce flicker in Isearch mode

Lazy highlighting now happens immediately when the search string is at
least as long as the value of the new custom variable
`lazy-highlight-no-delay-length`.  Also avoid updating the lazy
count in the echo area too often.
* isearch.el (lazy-highlight-no-delay-length): New defcustom.
* isearch.el (lazy-lazy-count-format): Avoid a momentarily incorrect
count when reversing search direction.
* isearch.el (isearch-lazy-highlight-new-loop): Avoid a call to
`isearch-message` that is quickly succeed by a second echo area
update, thus causing flicker.
* isearch.el (isearch-lazy-highlight-new-loop):
Start lazy highlight immediately if appropriate.
* etc/NEWS: Announce the change.
* doc/emacs/search.texi: Document `lazy-highlight-no-delay-length'.

Copyright-paperwork-exempt: yes

3 years ago* lisp/gnus/gnus-msg.el: Remove empty `unwind-protect`s
Stefan Monnier [Sat, 30 Jan 2021 05:45:22 +0000 (00:45 -0500)]
* lisp/gnus/gnus-msg.el: Remove empty `unwind-protect`s

(gnus-msg-mail, gnus-group-mail)
(gnus-group-news, gnus-summary-mail-other-window)
(gnus-summary-news-other-window): Remove empty `unwind-protect`.

3 years ago* lisp/gnus/mm-encode.el (mm-default-file-type): New name
Stefan Monnier [Sat, 30 Jan 2021 05:40:21 +0000 (00:40 -0500)]
* lisp/gnus/mm-encode.el (mm-default-file-type): New name

Rename from misleading `mm-default-file-encoding`.
(mm-default-file-encoding): Redefine as obsolete alias.

* lisp/mail/sendmail.el (mail-add-attachment):
* lisp/mh-e/mh-mime.el (mh-minibuffer-read-type):
* lisp/gnus/gnus-art.el (gnus-mime-view-part-as-type-internal):
* lisp/gnus/gnus-dired.el (gnus-dired-attach):
* lisp/gnus/mml.el (mml-generate-mime-1, mml-minibuffer-read-type)
(mml-attach-file): Use the new name.

3 years ago* lisp/gnus: Quote functions with #'
Stefan Monnier [Sat, 30 Jan 2021 05:35:24 +0000 (00:35 -0500)]
* lisp/gnus: Quote functions with #'

To get better warnings, try and use #' to quote function names.

* lisp/gnus/canlock.el:
* lisp/gnus/deuglify.el:
* lisp/gnus/gmm-utils.el:
* lisp/gnus/gnus-agent.el:
* lisp/gnus/gnus-art.el:
* lisp/gnus/gnus-bookmark.el:
* lisp/gnus/gnus-cache.el:
* lisp/gnus/gnus-cite.el:
* lisp/gnus/gnus-cus.el:
* lisp/gnus/gnus-delay.el:
* lisp/gnus/gnus-diary.el:
* lisp/gnus/gnus-dired.el:
* lisp/gnus/gnus-draft.el:
* lisp/gnus/gnus-fun.el:
* lisp/gnus/gnus-group.el:
* lisp/gnus/gnus-html.el:
* lisp/gnus/gnus-int.el:
* lisp/gnus/gnus-kill.el:
* lisp/gnus/gnus-mlspl.el:
* lisp/gnus/gnus-msg.el:
* lisp/gnus/gnus-notifications.el:
* lisp/gnus/gnus-picon.el:
* lisp/gnus/gnus-registry.el:
* lisp/gnus/gnus-rfc1843.el:
* lisp/gnus/gnus-salt.el:
* lisp/gnus/gnus-score.el:
* lisp/gnus/gnus-search.el:
* lisp/gnus/gnus-sieve.el:
* lisp/gnus/gnus-srvr.el:
* lisp/gnus/gnus-start.el:
* lisp/gnus/gnus-topic.el:
* lisp/gnus/gnus-undo.el:
* lisp/gnus/gnus-util.el:
* lisp/gnus/gnus-uu.el:
* lisp/gnus/gnus.el:
* lisp/gnus/mail-source.el:
* lisp/gnus/message.el:
* lisp/gnus/mm-archive.el:
* lisp/gnus/mm-decode.el:
* lisp/gnus/mm-url.el:
* lisp/gnus/mm-util.el:
* lisp/gnus/mm-view.el:
* lisp/gnus/mml-sec.el:
* lisp/gnus/mml-smime.el:
* lisp/gnus/mml.el:
* lisp/gnus/nnagent.el:
* lisp/gnus/nndiary.el:
* lisp/gnus/nndoc.el:
* lisp/gnus/nndraft.el:
* lisp/gnus/nnfolder.el:
* lisp/gnus/nnheader.el:
* lisp/gnus/nnmail.el:
* lisp/gnus/nnmaildir.el:
* lisp/gnus/nnmairix.el:
* lisp/gnus/nnmh.el:
* lisp/gnus/nnml.el:
* lisp/gnus/nnrss.el:
* lisp/gnus/nnselect.el:
* lisp/gnus/nnspool.el:
* lisp/gnus/nnvirtual.el:
* lisp/gnus/nnweb.el:
* lisp/gnus/smiley.el:
* lisp/gnus/smime.el:
* lisp/gnus/spam-report.el:
* lisp/gnus/spam-stat.el:
* lisp/gnus/spam-wash.el:
* lisp/gnus/spam.el:

3 years ago* lisp/gnus/gnus-art.el: Add `event` args and operate at its position.
Stefan Monnier [Sat, 30 Jan 2021 04:58:58 +0000 (23:58 -0500)]
* lisp/gnus/gnus-art.el: Add `event` args and operate at its position.

(gnus-mime-save-part-and-strip)
(gnus-mime-delete-part, gnus-mime-save-part, gnus-mime-pipe-part)
(gnus-mime-view-part, gnus-mime-view-part-as-type)
(gnus-mime-copy-part, gnus-mime-print-part, gnus-mime-inline-part)
(gnus-mime-view-part-as-charset, gnus-mime-view-part-externally)
(gnus-mime-view-part-internally, gnus-article-press-button):
Add `event` arg and operate at its position.

3 years ago* lisp/gnus: Use `declare`.
Stefan Monnier [Sat, 30 Jan 2021 04:40:48 +0000 (23:40 -0500)]
* lisp/gnus: Use `declare`.

* lisp/gnus/nnoo.el (defvoo, deffoo, nnoo-declare, nnoo-import)
(nnoo-map-functions):
* lisp/gnus/nnmaildir.el (nnmaildir--with-nntp-buffer)
(nnmaildir--with-work-buffer, nnmaildir--with-nov-buffer)
(nnmaildir--with-move-buffer, nnmaildir--condcase):
* lisp/gnus/mm-decode.el (mm-with-part):
* lisp/gnus/gnus-msg.el (gnus-setup-message):
* lisp/gnus/gnus-agent.el (gnus-agent-with-fetch, gnus-agent-while-plugged):
* lisp/gnus/mail-source.el (mail-source-set-1, mail-source-value):
Use `declare`.

* lisp/gnus/gnus-util.el (gnus-define-keys): Use `declare`, and also
don't quote `keymap` if it's a variable name.
(gnus-define-keys-1): Reject the case where `keymap` is a variable name.
(gnus-eval-in-buffer-window, gnus-define-keys-safe)
(gnus-define-keymap, gnus-atomic-progn, gnus-with-output-to-file)
(gnus-parse-without-error): Use `declare`.
(gnus-atomic-progn-assign, gnus-atomic-setq): Delete macros.

* lisp/gnus/gnus-undo.el (gnus-undo-register): Drop indent and edebug spec
since they're not really appropriate for a function.

* lisp/gnus/gnus-art.el (gnus--\,@): New macro.
Use it at top-level to construct the `gnus-article-FOO` => `article-FOO`
wrapper functions.
(gnus-with-article-headers, gnus-with-article-buffer): Use `declare`.

3 years agoRemove unused argument from set_frame_menubar (Bug#45759)
Stefan Kangas [Sat, 30 Jan 2021 14:59:13 +0000 (15:59 +0100)]
Remove unused argument from set_frame_menubar (Bug#45759)

* src/w32menu.c (set_frame_menubar):
* src/xmenu.c (set_frame_menubar): Remove unused argument.
All callers updated.

3 years agoAlso highlight 'conflict' with the warning face
Dmitry Gutov [Sat, 30 Jan 2021 13:42:19 +0000 (15:42 +0200)]
Also highlight 'conflict' with the warning face

* lisp/vc/vc-git.el (vc-git-dir-printer):
Also highlight 'conflict' with the warning face, like
vc-default-dir-printer does already.

3 years ago; Use American spelling in etc/NEWS.
Basil L. Contovounesios [Sat, 30 Jan 2021 13:26:29 +0000 (13:26 +0000)]
; Use American spelling in etc/NEWS.

3 years agoauth-source-search doc string fix
Lars Ingebrigtsen [Sat, 30 Jan 2021 10:10:26 +0000 (11:10 +0100)]
auth-source-search doc string fix

* lisp/auth-source.el (auth-source-search): Fix example (bug#36286).

3 years ago* lisp/tab-line.el (tab-line-new-tab): Use tty menus when supported.
Jared Finder [Tue, 8 Dec 2020 06:44:32 +0000 (22:44 -0800)]
* lisp/tab-line.el (tab-line-new-tab): Use tty menus when supported.

3 years agoNew Rmail option 'rmail-show-message-set-modified'
Eli Zaretskii [Sat, 30 Jan 2021 09:26:07 +0000 (11:26 +0200)]
New Rmail option 'rmail-show-message-set-modified'

* lisp/mail/rmail.el (rmail-show-message-set-modified): New
option.
(rmail-show-message-1): If 'rmail-show-message-set-modified' is
non-nil, don't reset the buffer's modified state.  (Bug#45941)

* etc/NEWS: Announce the new option.

3 years agoFix vc-hg-rename-file on file names like ~/foo/bar
Lars Ingebrigtsen [Sat, 30 Jan 2021 07:59:48 +0000 (08:59 +0100)]
Fix vc-hg-rename-file on file names like ~/foo/bar

* lisp/vc/vc-hg.el (vc-hg-rename-file): Use absolute file names,
because hg doesn't like getting file names like "~/foo/bar"
(bug#36932).

3 years agoFix interaction between two dired cleanup variables
Jeff Spencer [Sat, 30 Jan 2021 07:12:57 +0000 (08:12 +0100)]
Fix interaction between two dired cleanup variables

* lisp/dired.el (dired-clean-up-after-deletion): Kill the buffers
if you have `dired-clean-up-buffers-too' set and
`dired-clean-confirm-killing-deleted-buffers' nil (bug#38037).

Copyright-paperwork-exempt: yes

3 years agoImprove :foreground description in the manual
Lars Ingebrigtsen [Sat, 30 Jan 2021 06:59:30 +0000 (07:59 +0100)]
Improve :foreground description in the manual

* doc/lispref/frames.texi (Font and Color Parameters): Make the
description less confusing (bug#38710).

3 years agoAdd source to sgml-empty-tags
Mauro Aranda [Sat, 30 Jan 2021 06:47:34 +0000 (07:47 +0100)]
Add source to sgml-empty-tags

* lisp/textmodes/sgml-mode.el (html-mode): Add "source" as an empty
tag to fix indentation when this element is present (bug#46181).

3 years agormail-summary-mark-deleted optional argument fix
Lars Ingebrigtsen [Fri, 29 Jan 2021 07:34:43 +0000 (08:34 +0100)]
rmail-summary-mark-deleted optional argument fix

* lisp/mail/rmailsum.el (rmail-summary-mark-deleted): Argument N
is optional, so don't assume that it's a number (bug#39076).

3 years agovc-dir-mode-map: Remove the mouse-2 binding
Dmitry Gutov [Sat, 30 Jan 2021 01:56:27 +0000 (03:56 +0200)]
vc-dir-mode-map: Remove the mouse-2 binding

* lisp/vc/vc-dir.el (vc-dir-mode-map):
Remove the mouse-2 binding (bug#13692).
(vc-dir-mode): Update the docstring accordingly.
(vc-dir-status-mouse-map): New variable.
(vc-default-dir-printer): Use it on the state buttons.

* lisp/vc/vc-git.el (vc-git-dir-printer): Same.

3 years agoUse lexical-binding in mpuz.el
Stefan Kangas [Fri, 29 Jan 2021 23:32:20 +0000 (00:32 +0100)]
Use lexical-binding in mpuz.el

* lisp/play/mpuz.el: Use lexical-binding.  Remove redundant :group
args.
(mpuz-switch-to-window): Minor cleanup.

3 years agoUse lexical-binding in handwrite.el
Stefan Kangas [Fri, 29 Jan 2021 23:10:10 +0000 (00:10 +0100)]
Use lexical-binding in handwrite.el

* lisp/play/handwrite.el: Use lexical-binding.  Remove redundant
:group args.  Minor cleanups.

(handwrite): Minor cleanups.
(handwrite-set-pagenumber-off, handwrite-set-pagenumber-on): Make
comments into docstrings.

3 years ago* test/lisp/electric-tests.el: Fix switch to lexical-binding.
Stefan Monnier [Fri, 29 Jan 2021 21:49:12 +0000 (16:49 -0500)]
* test/lisp/electric-tests.el: Fix switch to lexical-binding.

(define-electric-pair-test): Don't presume that function values are
self-evaluating.

3 years ago; * src/process.c (child_signal_read): Don't report EAGAIN as error
Mattias EngdegÄrd [Fri, 29 Jan 2021 20:15:33 +0000 (21:15 +0100)]
; * src/process.c (child_signal_read): Don't report EAGAIN as error

3 years ago; Silence byte-compiler
Stefan Kangas [Fri, 29 Jan 2021 20:06:02 +0000 (21:06 +0100)]
; Silence byte-compiler

* lisp/net/sasl-ntlm.el (sasl-ntlm-request):
* lisp/net/sasl.el (sasl-plain-response, sasl-login-response-1)
(sasl-login-response-2, sasl-anonymous-response): Fix warnings
introduced by my previous commit.

3 years agoUse lexical-binding in sasl.el and add tests
Stefan Kangas [Fri, 29 Jan 2021 19:11:38 +0000 (20:11 +0100)]
Use lexical-binding in sasl.el and add tests

* lisp/net/sasl.el:
* lisp/net/sasl-digest.el:
* lisp/net/sasl-cram.el:
* lisp/net/sasl-ntlm.el: Use lexical-binding.

* test/lisp/net/sasl-tests.el:
* test/lisp/net/sasl-cram-tests.el: New files.

3 years ago(xref-revert-buffer): Also 'erase-buffer' when handling a user-error
Dmitry Gutov [Fri, 29 Jan 2021 13:53:28 +0000 (15:53 +0200)]
(xref-revert-buffer): Also 'erase-buffer' when handling a user-error

* lisp/progmodes/xref.el (xref-revert-buffer):
Also 'erase-buffer' when handling a user-error (bug#46042).

3 years agoSupport 'operating-system-release' on MS-Windows
Eli Zaretskii [Fri, 29 Jan 2021 11:52:31 +0000 (13:52 +0200)]
Support 'operating-system-release' on MS-Windows

* src/w32fns.c (w32_version_string) [WINDOWSNT]: New function.
* src/w32common.h (w32_version_string) [WINDOWSNT]: Add prototype.
* src/editfns.c (init_editfns) [WINDOWSNT]: Produce a non-nil
string with the OS version.

3 years ago* test/lisp/net/tramp-tests.el (tramp--test-special-characters):
Michael Albinus [Fri, 29 Jan 2021 11:25:36 +0000 (12:25 +0100)]
* test/lisp/net/tramp-tests.el (tramp--test-special-characters):

Adapt test for docker.

3 years agoUse save-mark-and-excursion in query-replace-read-args (bug#45617)
Juri Linkov [Fri, 29 Jan 2021 08:55:16 +0000 (10:55 +0200)]
Use save-mark-and-excursion in query-replace-read-args (bug#45617)

3 years agoFix Bug#45518 in compile.el
Michael Albinus [Fri, 29 Jan 2021 08:44:31 +0000 (09:44 +0100)]
Fix Bug#45518 in compile.el

* lisp/progmodes/compile.el (compilation-get-file-structure):
Avoid call of `file-truename' for remote files.  (Bug#45518)

3 years agoImprove doc string of 'operating-system-release'
Eli Zaretskii [Fri, 29 Jan 2021 07:45:13 +0000 (09:45 +0200)]
Improve doc string of 'operating-system-release'

* src/editfns.c (syms_of_editfns) <operating-system-release>: Doc
fix.  (Bug#39940)

3 years agoFix previous commit regarding revert-buffer-function
Sean Whitton [Fri, 29 Jan 2021 07:18:52 +0000 (08:18 +0100)]
Fix previous commit regarding revert-buffer-function

* simple.el (shell-command, shell-command-on-region): Set
revert-buffer-function buffer-locally, not globally.  Also, avoid an
unnecessary call to (current-buffer) by taking advantage of the
closure (bug#46151).

3 years agoDescribe pointer shapes in the manual
Lars Ingebrigtsen [Fri, 29 Jan 2021 07:16:04 +0000 (08:16 +0100)]
Describe pointer shapes in the manual

* doc/lispref/frames.texi (Pointer Shape): Describe what the
typical pointer shapes are (and add `nhdrag') (bug#39246).

3 years agoAdd a command for redisplay during keyboard macros
Marco Wahl [Fri, 29 Jan 2021 07:01:12 +0000 (08:01 +0100)]
Add a command for redisplay during keyboard macros

* doc/emacs/kmacro.texi (Basic Keyboard Macro): Document it
(bug#39252).

* lisp/kmacro.el (kdb-macro-redisplay): New function.
(kmacro-keymap): Bind it.

3 years agoImprove fontifying of #| ... |# in `lisp-mode'
Lars Ingebrigtsen [Fri, 29 Jan 2021 06:40:06 +0000 (07:40 +0100)]
Improve fontifying of #| ... |# in `lisp-mode'

* lisp/emacs-lisp/lisp-mode.el (lisp-mode): Fontify the end
delimiter in #| ... |# correctly (bug#39820).

3 years agooperating-system-release doc string improvement
Lars Ingebrigtsen [Fri, 29 Jan 2021 06:22:14 +0000 (07:22 +0100)]
operating-system-release doc string improvement

* src/editfns.c (syms_of_editfns): Be more precise about what
`operating-system-release' is (bug#39940).

3 years agoflymake-diagnostic-beg/end doc string and error reporting improvement
Lars Ingebrigtsen [Fri, 29 Jan 2021 06:15:35 +0000 (07:15 +0100)]
flymake-diagnostic-beg/end doc string and error reporting improvement

* lisp/progmodes/flymake.el (flymake-diagnostic-beg):
(flymake-diagnostic-end): Improve doc string and error reporting
(bug#39971).

3 years agoFix position in empty buffers in checkdoc-file-comments-engine
Lars Ingebrigtsen [Fri, 29 Jan 2021 06:04:43 +0000 (07:04 +0100)]
Fix position in empty buffers in checkdoc-file-comments-engine

* lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine):
Don't give invalid positions on empty buffers (bug#39987).

3 years agoSet revert-buffer-function in shell command output buffers
Sean Whitton [Fri, 29 Jan 2021 05:50:38 +0000 (06:50 +0100)]
Set revert-buffer-function in shell command output buffers

* simple.el (shell-command, shell-command-on-region): Set
revert-buffer-function in shell command output buffers (bug#46151).

3 years agoMention using buffer-list-update-hook in recentf-mode
Lars Ingebrigtsen [Fri, 29 Jan 2021 05:46:14 +0000 (06:46 +0100)]
Mention using buffer-list-update-hook in recentf-mode

* lisp/recentf.el (recentf-mode): Mention using
`buffer-list-update-hook' (bug#46153).

3 years agoRemove Emacs 21 compat code from sasl.el
Stefan Kangas [Fri, 29 Jan 2021 03:43:57 +0000 (04:43 +0100)]
Remove Emacs 21 compat code from sasl.el

* lisp/net/sasl.el (sasl-read-passphrase): Remove compat code;
'read-passwd' is preloaded since Emacs 22.

3 years ago* lisp/flow-ctrl.el: Use lexical-binding.
Stefan Kangas [Fri, 29 Jan 2021 01:55:34 +0000 (02:55 +0100)]
* lisp/flow-ctrl.el: Use lexical-binding.

* lisp/flow-ctrl.el (enable-flow-control): Minor cleanup.

3 years agoUse lexical-binding in find-cmd.el and add tests
Stefan Kangas [Fri, 29 Jan 2021 01:47:38 +0000 (02:47 +0100)]
Use lexical-binding in find-cmd.el and add tests

* lisp/find-cmd.el: Use lexical-binding.
* test/lisp/find-cmd-tests.el: New file.

3 years agoSlight gravatar.el code clean up
Lars Ingebrigtsen [Fri, 29 Jan 2021 04:52:51 +0000 (05:52 +0100)]
Slight gravatar.el code clean up

* lisp/image/gravatar.el (gravatar--service-libravatar): Clean the
code up slightly.

3 years agoMerge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk
Stefan Monnier [Thu, 28 Jan 2021 23:10:29 +0000 (18:10 -0500)]
Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk

3 years agoUse lexical-binding in nroff-mode.el
Stefan Kangas [Thu, 28 Jan 2021 21:06:35 +0000 (22:06 +0100)]
Use lexical-binding in nroff-mode.el

* lisp/textmodes/nroff-mode.el: Use lexical-binding.  Remove
redundant :group args.

3 years ago* lisp/progmodes/bat-mode.el: Use lexical-binding.
Stefan Kangas [Thu, 28 Jan 2021 20:45:26 +0000 (21:45 +0100)]
* lisp/progmodes/bat-mode.el: Use lexical-binding.

3 years ago; Fix my previous commit
Stefan Kangas [Thu, 28 Jan 2021 20:55:31 +0000 (21:55 +0100)]
; Fix my previous commit

* lisp/generic-x.el (generic-mode-ini-file-find-file-hook): Fix my
previous commit; for some reason 'function' produces a warning here
while 'quote' does not.

3 years agoUse lexical-binding in generic-x.el
Stefan Kangas [Thu, 28 Jan 2021 20:35:34 +0000 (21:35 +0100)]
Use lexical-binding in generic-x.el

* lisp/generic-x.el: Use lexical-binding.  Remove redundant :groups.
(generic-rul-mode-setup-function): Prefer setq-local.

3 years agoDefine compat alias obsolete
Stefan Kangas [Thu, 28 Jan 2021 20:28:03 +0000 (21:28 +0100)]
Define compat alias obsolete

* lisp/generic-x.el (generic-mode-ini-file-find-file-hook): Define
compat alias introduced after rename in 22.1 obsolete.

3 years agoUse lexical-binding in all of `lisp/emacs-lisp`
Stefan Monnier [Thu, 28 Jan 2021 19:42:21 +0000 (14:42 -0500)]
Use lexical-binding in all of `lisp/emacs-lisp`

* lisp/emacs-lisp/bindat.el: Use lexical-binding.
(bindat--unpack-group, bindat--length-group, bindat--pack-group):
Declare `last` and `tag` as dyn-scoped.
(bindat-unpack, bindat-pack): Bind `bindat-raw` and `bindat-idx` via
`let` rather than via the formal arglist.

* lisp/emacs-lisp/package-x.el:
* lisp/emacs-lisp/generic.el:
* lisp/emacs-lisp/eieio-opt.el:
* lisp/emacs-lisp/derived.el:
* lisp/emacs-lisp/crm.el: Use lexical-binding.

* lisp/emacs-lisp/helper.el: Use lexical-binding.
(Helper-help-map): Move initialization into declaration.

* lisp/emacs-lisp/regi.el: Use lexical-binding.
(regi-interpret): Remove unused var `tstart`.
Declare `curframe`, `curentry` and `curline` as dyn-scoped.

* lisp/emacs-lisp/shadow.el: Use lexical-binding.
(load-path-shadows-find): Remove unused var `file`.
Tighten a regexp, use `push`.

* lisp/emacs-lisp/tcover-ses.el: Use lexical-binding.  Require `ses`.
Remove correspondingly redundant declarations.
(ses--curcell-overlay): Declare.
(ses-exercise): Use `dlet` and use a properly-prefixed var name.
Fix name of `curcell-overlay` variable.

* lisp/emacs-lisp/unsafep.el: Use lexical-binding.
(unsafep): Bind `unsafep-vars` via `let` rather than via the formal arglist.

3 years agoUse isearch-tmm-menubar when tmm-menubar is called in isearch-mode (bug#43966)
Juri Linkov [Thu, 28 Jan 2021 19:27:26 +0000 (21:27 +0200)]
Use isearch-tmm-menubar when tmm-menubar is called in isearch-mode (bug#43966)

* lisp/isearch.el (isearch-menu-bar-commands): Add tmm-menubar to defaults.
(isearch-mode-map): Remove remapping of tmm-menubar to isearch-tmm-menubar.

* lisp/tmm.el (tmm-menubar): Call isearch-tmm-menubar in isearch-mode.

3 years ago* lisp/wdired.el: Minor doc fixes.
Stefan Kangas [Thu, 28 Jan 2021 18:21:41 +0000 (19:21 +0100)]
* lisp/wdired.el: Minor doc fixes.

3 years agoAvoid recommending Google
Stefan Kangas [Thu, 28 Jan 2021 18:06:18 +0000 (19:06 +0100)]
Avoid recommending Google

* doc/misc/org.texi (Link Abbreviations):
* lisp/net/webjump.el (webjump-sample-sites):
* lisp/org/ol.el (org-link-shell-confirm-function)
(org-link-elisp-confirm-function):
* lisp/org/org.el (org-highlight-links):
* lisp/wdired.el: Avoid recommending Google.

squash! Avoid recommending Google

3 years ago* lisp/leim/quail/viqr.el: Use lexical-binding.
Stefan Kangas [Thu, 28 Jan 2021 17:49:29 +0000 (18:49 +0100)]
* lisp/leim/quail/viqr.el: Use lexical-binding.

3 years ago* lisp/leim/quail/compose.el: Use lexical-binding.
Stefan Kangas [Thu, 28 Jan 2021 17:49:17 +0000 (18:49 +0100)]
* lisp/leim/quail/compose.el: Use lexical-binding.

3 years ago* lisp/ezimage.el: Use lexical-binding.
Stefan Kangas [Thu, 28 Jan 2021 17:35:45 +0000 (18:35 +0100)]
* lisp/ezimage.el: Use lexical-binding.

3 years ago* src/fns.c (hash_string): Fix bug#46111
Stefan Monnier [Thu, 28 Jan 2021 17:27:09 +0000 (12:27 -0500)]
* src/fns.c (hash_string): Fix bug#46111

Use `memcpy` instead of an unaligned memory access.  On x86 at least,
GCC turns this `memcpy` into a single `mov`, so it's about as fast.