]>
git.eshelyaron.com Git - emacs.git/log
Basil L. Contovounesios [Wed, 9 Dec 2020 00:54:34 +0000 (00:54 +0000)]
Make abbrev-tests.el more deterministic
* test/lisp/abbrev-tests.el (abbrev--table-symbols-test): Don't rely
on order of symbols in obarray.
Lars Ingebrigtsen [Wed, 9 Dec 2020 00:10:04 +0000 (01:10 +0100)]
Make uncache_image slightly more efficient
* src/image.c (uncache_image): Extremely minor speed-up: Only
compute the hash once.
Stefan Monnier [Tue, 8 Dec 2020 23:54:52 +0000 (18:54 -0500)]
* src/fns.c: Remove left over include
Lars Ingebrigtsen [Tue, 8 Dec 2020 23:42:06 +0000 (00:42 +0100)]
Restore Emacs 27 image cache semantics
* src/image.c (equal_lists): Remove.
(search_image_cache): Use Fequal instead of equal_lists.
Benchmarking shows no measurable time difference, and this
restores the cache semantics from Emacs 27 (where file names
didn't have to be EQ for the cache to be used).
João Távora [Tue, 8 Dec 2020 23:40:13 +0000 (23:40 +0000)]
Remove interactive spec from internal eldoc--format-doc-buffer
Per bug#43609.
* lisp/emacs-lisp/eldoc.el (eldoc--format-doc-buffer): Remove
useless interactive spec.
Stefan Monnier [Tue, 8 Dec 2020 23:08:54 +0000 (18:08 -0500)]
* src/fns.c (hash_string): Speed up on large strings
Lars Ingebrigtsen [Tue, 8 Dec 2020 22:41:24 +0000 (23:41 +0100)]
term.el comment update
* lisp/term.el: Fix wrong command name in the comments (bug#7041).
Serge Tupchii [Tue, 8 Dec 2020 20:22:34 +0000 (21:22 +0100)]
Fix crash (segfault) in etags on generating tags for Erlang files
* lib-src/etags.c: Set allocated and lastlen to zero, after
freeing last ptr in Erlang_functions to prevent dereferencing NULL
pointer (bug#45122).
Copyright-paperwork-exempt: yes
Lars Ingebrigtsen [Tue, 8 Dec 2020 17:22:47 +0000 (18:22 +0100)]
Make rcirc nick renaming heed nickname max lengths
* lisp/net/rcirc.el (rcirc-server-parameters): New variable (bug#6795).
(rcirc-connect): Set it.
(rcirc-handler-433): Use the length from the server.
(rcirc-handler-005): Collect server data.
(rcirc-server-parameter-value): New utility function.
(rcirc--make-new-nick): New function.
Lars Ingebrigtsen [Tue, 8 Dec 2020 16:57:10 +0000 (17:57 +0100)]
Make hexl scrolling commands work more like the normal ones
* lisp/hexl.el (hexl-scroll-down):
(hexl-scroll-up): Heed `next-screen-context-lines' (bug#7031).
Lars Ingebrigtsen [Tue, 8 Dec 2020 16:48:40 +0000 (17:48 +0100)]
Fix scrolling in hexl-mode when ruler-mode is on
* lisp/hexl.el (hexl-scroll-down):
(hexl-scroll-up): Take ruler-mode into account when computing the
number of lines (bug#7031). These commands would previously jump
one line too many by default, skipping one line.
Eli Zaretskii [Tue, 8 Dec 2020 16:43:09 +0000 (18:43 +0200)]
Improve documentation of 'backtrace-on-error-noninteractive'
* src/eval.c (syms_of_eval) <backtrace-on-error-noninteractive>:
Format the doc string according to conventions.
* etc/NEWS: Improve formatting and wording of the entry describing
'backtrace-on-error-noninteractive.
Lars Ingebrigtsen [Tue, 8 Dec 2020 16:15:41 +0000 (17:15 +0100)]
Make the history traversal functions in coming more regular
* lisp/comint.el (comint-previous-matching-input): Allow restoring
the input on wraps (bug#7885).
(comint-previous-matching-input-from-input): Restore input on wraps.
Boruch Baum [Tue, 8 Dec 2020 13:38:44 +0000 (14:38 +0100)]
Make table-fixed-width-mode work again
* lisp/textmodes/table.el (table--update-cell): Make
table-fixed-width-mode work (bug#18183).
Lars Ingebrigtsen [Tue, 8 Dec 2020 13:20:10 +0000 (14:20 +0100)]
Use the proper face for the Gnus mode line id
* lisp/gnus/gnus-sum.el (gnus-set-mode-line):
* lisp/gnus/gnus-group.el (gnus-group-set-mode-line): Use the
mode-line-buffer-id face on the buffer id.
Lars Ingebrigtsen [Tue, 8 Dec 2020 13:17:36 +0000 (14:17 +0100)]
Simplify gnus-mode-line-buffer-identification
* lisp/gnus/gnus.el (gnus-mode-line-image-cache): Remove.
(gnus-mode-line-buffer-identification): Use the find-image cache.
Lars Ingebrigtsen [Tue, 8 Dec 2020 12:57:44 +0000 (13:57 +0100)]
Cache toolbar icon data paths
* lisp/image.el (find-image): Add an optional CACHE parameter.
(find-image--cache): New variable.
* lisp/tool-bar.el (tool-bar--image-expression): Use cached data
to avoid looking up the image files on each refresh.
Stefan Kangas [Tue, 8 Dec 2020 10:21:13 +0000 (11:21 +0100)]
; * lisp/timezone.el: Fix typo in lexical-binding cookie.
Reported by Xu Chunyang <xuchunyang56@gmail.com>.
Stefan Kangas [Mon, 7 Dec 2020 15:56:15 +0000 (16:56 +0100)]
Prefer setq-local in grep.el
* lisp/progmodes/grep.el (grep-process-setup, grep-mode): Prefer
setq-local.
Stefan Kangas [Mon, 7 Dec 2020 15:54:12 +0000 (16:54 +0100)]
Prefer setq-local in meta-mode.el
* lisp/progmodes/meta-mode.el (meta-common-mode, metafont-mode)
(metapost-mode): Prefer setq-local.
Stefan Kangas [Mon, 7 Dec 2020 15:51:52 +0000 (16:51 +0100)]
Prefer setq-local in compile.el
* lisp/progmodes/compile.el (compile-command, compilation-start)
(compilation-mode, compilation-setup, compilation-filter)
(compilation-forget-errors): Prefer setq-local.
Stefan Kangas [Tue, 8 Dec 2020 08:19:51 +0000 (09:19 +0100)]
* admin/nt/dist-build/build-dep-zips.py: Remove unused import.
Stefan Kangas [Tue, 8 Dec 2020 07:57:22 +0000 (08:57 +0100)]
Prefer setq-local in tests
* test/lisp/allout-tests.el (allout-test-resumption-prior-value-resumed)
(allout-test-resumption-multiple-holds)
(allout-test-resumption-unbinding):
* test/lisp/emacs-lisp/faceup-resources/faceup-test-mode.el
(faceup-test-mode):
* test/lisp/epg-tests.el (with-epg-tests):
* test/src/data-tests.el (binding-test-buffer-A): Prefer setq-local.
Stefan Kangas [Tue, 8 Dec 2020 07:52:57 +0000 (08:52 +0100)]
Prefer setq-local in term.el
* lisp/term.el (term-mode, term-exec, term-emulate-terminal)
(term-process-pager): Prefer setq-local.
Stefan Kangas [Tue, 8 Dec 2020 07:50:54 +0000 (08:50 +0100)]
Prefer setq-local in shell.el
* lisp/shell.el (shell-completion-vars, shell-mode): Prefer
setq-local.
Stefan Kangas [Tue, 8 Dec 2020 07:36:28 +0000 (08:36 +0100)]
Prefer setq-local in speedbar.el
* lisp/speedbar.el (speedbar-frame-mode, speedbar-mode)
(speedbar-add-localized-speedbar-support): Prefer setq-local.
Stefan Kangas [Tue, 8 Dec 2020 07:27:20 +0000 (08:27 +0100)]
Prefer setq-local in newcomment.el
* lisp/newcomment.el (comment-inline-offset)
(comment-normalize-vars): Prefer setq-local.
Stefan Kangas [Tue, 8 Dec 2020 07:25:19 +0000 (08:25 +0100)]
* lisp/locate.el (locate, locate-mode): Prefer setq-local.
Stefan Kangas [Tue, 8 Dec 2020 07:20:40 +0000 (08:20 +0100)]
* lisp/array.el (array-mode): Prefer setq-local.
Stefan Kangas [Tue, 8 Dec 2020 07:18:59 +0000 (08:18 +0100)]
Prefer setq-local in simple.el
* lisp/simple.el (read-extended-command, goto-history-element)
(minibuffer-history-isearch-setup, read-shell-command)
(visual-line-mode, completion-setup-function, read-only-mode)
(visible-mode): Prefer setq-local.
Philipp Stephani [Mon, 7 Dec 2020 20:41:40 +0000 (21:41 +0100)]
Fix bug in how ERT invokes its debugger.
The debugger needs to receive a list of the error symbol and data;
cf. the documentation of the `debugger' variable. This bug manifested
itself in ERT forms such as (should (integerp (ert-fail "Boo"))),
which resulted in an incorrect condition object. Note that forms such
as (should (ert-fail "Boo")) weren't affected because they wouldn't
use the `ert--should-signal-hook'.
* test/emacs-lisp/ert.el (ert--should-signal-hook): Call debugger with
the right arguments.
* test/lisp/emacs-lisp/ert-tests.el (ert-test-fail-inside-should): Add
unit test.
Lars Ingebrigtsen [Mon, 7 Dec 2020 17:53:55 +0000 (18:53 +0100)]
Avoid problems when calling desktop-read twice
* lisp/desktop.el (desktop-read): Don't reload the desktop file if
it's already been loaded, because the later query may lead to
desktop-dirname being set to nil (bug#9765).
Lars Ingebrigtsen [Mon, 7 Dec 2020 16:26:49 +0000 (17:26 +0100)]
Make previous Fkill_emacs change safer
* src/emacs.c (Fkill_emacs): Don't run `kill-emacs-hook' if it's nil.
Basil L. Contovounesios [Mon, 7 Dec 2020 16:06:14 +0000 (16:06 +0000)]
; Fix recent typos/wording in NEWS and server.el
Daniel Martín [Mon, 7 Dec 2020 16:01:35 +0000 (17:01 +0100)]
Add commands xref-next-group and xref-prev-group
* lisp/progmodes/xref.el (xref-next-group): New command that navigates
to the first item of the next xref group (typically a file).
(xref-prev-group): New command that navigates
to the first item of the next xref group (typically a file).
(xref--xref-buffer-mode-map): Bound the new commands to 'N' and 'P',
respectively.
* doc/emacs/maintaining.texi (Xref Commands): Document the new
commands in the Emacs manual.
* etc/NEWS: Announce them (bug#45089).
Alyssa Ross [Mon, 7 Dec 2020 15:57:31 +0000 (16:57 +0100)]
Only use the comint environment in comint-derived modes
* lisp/progmodes/compile.el (compilation-start): Only use the
comint environment in comint-derived modes (bug#45095).
Copyright-paperwork-exempt: yes
Stefan Kangas [Mon, 7 Dec 2020 15:45:46 +0000 (16:45 +0100)]
Prefer setq-local in calendar/*.el
* lisp/calendar/calendar.el (calendar-mode):
* lisp/calendar/diary-lib.el (diary-list-entries, diary-mode):
(diary-fancy-display-mode): Prefer setq-local.
Stefan Kangas [Mon, 7 Dec 2020 15:27:50 +0000 (16:27 +0100)]
Prefer setq-local in gnus/*.el
* lisp/gnus/gnus-agent.el (gnus-agent-mode)
(gnus-agent-get-undownloaded-list, gnus-agent-open-history):
* lisp/gnus/gnus-art.el (gnus-article-setup-highlight-words)
(gnus-article-mode, gnus-article-setup-buffer, defsubst)
(gnus-article-describe-bindings, gnus-article-edit-mode):
* lisp/gnus/gnus-cus.el (gnus-custom-mode, gnus-group-customize)
(gnus-score-customize, gnus-agent-customize-category):
* lisp/gnus/gnus-group.el (gnus-group-make-tool-bar):
* lisp/gnus/gnus-msg.el (gnus-setup-message)
(gnus-summary-news-other-window, gnus-configure-posting-styles):
* lisp/gnus/gnus-salt.el (gnus-pick-mode, gnus-binary-mode):
* lisp/gnus/gnus-score.el (gnus-score-edit-current-scores)
(gnus-score-edit-file):
* lisp/gnus/gnus-srvr.el (gnus-server-mode):
* lisp/gnus/gnus-start.el (gnus-no-server-1)
(gnus-dribble-read-file, gnus-save-newsrc-file)
(gnus-gnus-to-newsrc-format):
* lisp/gnus/gnus-sum.el (gnus-summary-make-tool-bar)
(gnus-summary-mode, gnus-summary-setup-buffer)
(gnus-select-newsgroup, gnus-summary-edit-article)
(gnus-summary-setup-default-charset):
* lisp/gnus/gnus-topic.el (gnus-topic-mode):
* lisp/gnus/gnus-undo.el (gnus-undo-mode):
* lisp/gnus/gnus.el (gnus-simplify-mode-line):
* lisp/gnus/message.el (message-cite-reply-position)
(message-cite-style, message-mode, message-setup-fill-variables):
* lisp/gnus/mm-view.el (mm-display-inline-fontify):
* lisp/gnus/mml.el (mml-mode):
* lisp/gnus/nndiary.el (nndiary-open-nov):
* lisp/gnus/nnfolder.el (nnfolder-save-buffer)
(nnfolder-open-nov):
* lisp/gnus/nnheader.el (nnheader-init-server-buffer):
* lisp/gnus/nnimap.el (nnimap-make-process-buffer):
* lisp/gnus/nnml.el (nnml-get-nov-buffer): Prefer setq-local.
Lars Ingebrigtsen [Mon, 7 Dec 2020 15:36:09 +0000 (16:36 +0100)]
Insert skeletons at the correct point
* lisp/skeleton.el (skeleton-read): Don't insert the skeleton at
an arbitrary point if the user moves around (bug#17752).
Lars Ingebrigtsen [Mon, 7 Dec 2020 14:40:23 +0000 (15:40 +0100)]
Allow shutting down Emacs even if there are errors in kill-emacs-hook
* lisp/subr.el (run-hook-query-error-with-timeout): New function
(bug#28542).
* src/emacs.c (Fkill_emacs): Use it to allow exiting Emacs even if
there are errors in kill-emacs-hook.
(syms_of_emacs): Define the symbol.
Lars Ingebrigtsen [Mon, 7 Dec 2020 13:29:46 +0000 (14:29 +0100)]
Ensure that new emacsclient frames has focus
* lisp/server.el (server-execute): Focus the frame here...
(server-switch-buffer): Instead of here (bug#15469). This ensures
that the frame has focus if Emacs is querying the user about
something when opening a file (for instance "Revert from file?").
Lars Ingebrigtsen [Mon, 7 Dec 2020 12:53:24 +0000 (13:53 +0100)]
Allow inhibiting the instructions on how to close emacsclient frames
* doc/emacs/misc.texi (Invoking emacsclient): Document it.
* lisp/server.el (server-client-instructions): New variable.
(server-execute): Use it.
Illia Ostapyshyn [Mon, 7 Dec 2020 12:36:34 +0000 (13:36 +0100)]
Allow using newer versions of Gnuplot from calc again
* lisp/calc/calc-graph.el (calc-graph-plot): Don't use the "time"
abbreviation for "timestamp" (bug#39232) -- it's no longer valid
after
https://github.com/gnuplot/gnuplot/commit/
b979b5371bc1c18bf8f5bd756e7c1fb54dafd8cc
Copyright-paperwork-exempt: yes
Lars Ingebrigtsen [Sun, 6 Dec 2020 18:25:43 +0000 (19:25 +0100)]
Fix file name quoting problems in tex-mode
* lisp/textmodes/tex-mode.el (tex--quote-spec): New function
(bug#14286).
(tex-format-cmd): Use it.
(tex-compile): Don't quote the file names, because we're using
`file-exists-p' and friends on the results later, and that fails
on systems where everything is quoted, and on file names that need
quoting.
Lars Ingebrigtsen [Sun, 6 Dec 2020 12:45:31 +0000 (13:45 +0100)]
Clarify icomplete-show-matches-on-no-input doc string
* lisp/icomplete.el (icomplete-show-matches-on-no-input): Clarify
doc string (bug#19031), suggested by Andrii Kolomoiets.
Lars Ingebrigtsen [Sun, 6 Dec 2020 12:43:47 +0000 (13:43 +0100)]
Revert "Clarify icomplete-show-matches-on-no-input doc string"
This reverts commit
f352c57972d24464a42ea3e65dc8ac07d8e0517c .
The new explanation of what icomplete does is wrong.
Mattias Engdegård [Mon, 7 Dec 2020 09:15:59 +0000 (10:15 +0100)]
Calc: simplify integer log2 and power of 2
We have bignums and fast primitives now; no caches are needed.
* lisp/calc/calc-bin.el (math-power-of-2-cache)
(math-big-power-of-2-cache): Remove.
(math-power-of-2, math-integer-log2): Simplify.
(calcFunc-ash): Don't call math-power-of-2 with negative argument.
Mattias Engdegård [Mon, 7 Dec 2020 09:12:00 +0000 (10:12 +0100)]
* doc/misc/calc.texi (Predefined Units): Prune outdated kg text.
Philipp Stephani [Mon, 7 Dec 2020 10:57:17 +0000 (11:57 +0100)]
Unbreak a few unit tests that rely on lack of backtraces
* test/lisp/emacs-lisp/gv-tests.el (gv-dont-define-expander-in-file)
(gv-dont-define-expander-other-file):
* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-default-config):
Suppress backtraces in batch mode to unbreak unit tests.
Philipp Stephani [Mon, 7 Dec 2020 10:55:29 +0000 (11:55 +0100)]
Add new variable to selectively suppress backtraces in batch mode.
* src/eval.c (syms_of_eval): Define new variable
'backtrace-on-error-noninteractive' to selectively enable backtrace
printing in batch mode.
(signal_or_quit): Use it.
* etc/NEWS: Document new variable.
* test/src/eval-tests.el (eval-tests/backtrace-in-batch-mode/inhibit):
New unit test.
Stefan Kangas [Mon, 7 Dec 2020 10:19:15 +0000 (11:19 +0100)]
* lisp/ielm.el (inferior-emacs-lisp-mode): Prefer setq-local.
Stefan Kangas [Mon, 7 Dec 2020 10:16:37 +0000 (11:16 +0100)]
* lisp/ibuffer.el (ibuffer, ibuffer-mode): Prefer setq-local.
Stefan Kangas [Mon, 7 Dec 2020 10:14:22 +0000 (11:14 +0100)]
Prefer setq-local in whitespace.el
* lisp/whitespace.el (whitespace-turn-on, whitespace-color-on): Prefer
setq-local.
Stefan Kangas [Mon, 7 Dec 2020 10:10:22 +0000 (11:10 +0100)]
Prefer setq-local in tar-mode.el
* lisp/tar-mode.el (tar-summarize-buffer, tar-mode, tar-extract):
Prefer setq-local.
Stefan Kangas [Mon, 7 Dec 2020 10:07:10 +0000 (11:07 +0100)]
Prefer setq-local in tcl.el
* lisp/progmodes/tcl.el (tcl-mode, inferior-tcl-mode, inferior-tcl):
(tcl-auto-fill-mode, tcl-guess-application): Prefer setq-local.
Michael Albinus [Mon, 7 Dec 2020 09:38:24 +0000 (10:38 +0100)]
* lisp/net/tramp.el (tramp-read-passwd): Use connection-local `auth-sources'.
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
Move setting of connection-local variables up.
Stefan Monnier [Mon, 7 Dec 2020 03:18:48 +0000 (22:18 -0500)]
* lisp/emacs-lisp/lisp-mode.el: Give paren syntax to [...] in lisp-data-mode
(lisp-data-mode-syntax-table): Rename from lisp--mode-syntax-table.
Adjust all users. Set [...] to have paren syntax.
(lisp-data-mode): Don't set `lisp-syntax` arg any more
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode-syntax-table):
Don't bother setting [...] to have paren syntax any more.
* lisp/progmodes/inf-lisp.el (inferior-lisp-mode): Don't use
`lisp-syntax` arg of lisp-mode-variables any more.
Mattias Engdegård [Sun, 6 Dec 2020 22:35:09 +0000 (23:35 +0100)]
Remove Calc bignum remnants
* lisp/calc/calc-macs.el (Math-natnum-lessp):
* lisp/calc/calc-ext.el (math-norm-bignum, math-compare-bignum):
* lisp/calc/calc-math.el (math-zerop-bignum)
(math-scale-bignum-digit-size): Remove.
* lisp/calc/calc-bin.el (math-integer-log2, calcFunc-rot, math-clip):
* lisp/calc/calc-comb.el (math-prime-test, calcFunc-prfac)
(calcFunc-totient, calcFunc-moebius):
* lisp/calc/calc-ext.el (math-gcd):
* lisp/calc/calc-funcs.el (calcFunc-betaB):
* lisp/calc/calc-math.el (math-nth-root-int-iter, calcFunc-ilog):
Replace Math-natnum-lessp with <.
Juri Linkov [Sun, 6 Dec 2020 21:19:23 +0000 (23:19 +0200)]
* lisp/vc/vc-git.el: Update args of backend API calls in the header comments
https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg00283.html
Juri Linkov [Sun, 6 Dec 2020 21:07:36 +0000 (23:07 +0200)]
Handle calling read-char-from-minibuffer and y-or-n-p from pre-command-hook
* lisp/subr.el (read-char-from-minibuffer-insert-char)
(read-char-from-minibuffer-insert-other, y-or-n-p-insert-y)
(y-or-n-p-insert-n, y-or-n-p-insert-other):
Check for 'minibufferp' before executing the body.
(read-char-from-minibuffer, y-or-n-p): Let-bind this-command
before calling read-from-minibuffer. (Bug#45029)
Philipp Stephani [Sun, 29 Nov 2020 13:24:57 +0000 (14:24 +0100)]
Print a backtrace on unhandled errors in batch mode (Bug#44942).
* src/eval.c (signal_or_quit): Print a backtrace in batch mode if no
error handler was found.
* test/src/eval-tests.el (eval-tests/backtrace-in-batch-mode)
(eval-tests/backtrace-in-batch-mode/demoted-errors): New unit tests.
* etc/NEWS: Document change.
Eli Zaretskii [Sun, 6 Dec 2020 15:43:18 +0000 (17:43 +0200)]
Improve error message text of "C-x C-SPC"
* lisp/simple.el (pop-global-mark): Mention the buffer name in the
error message. Suggested by T.V Raman <raman@google.com>.
Michael Albinus [Sun, 6 Dec 2020 13:24:13 +0000 (14:24 +0100)]
Make Tramp scripts more unique and robust
* lisp/net/tramp-sh.el (tramp-uudecode, tramp-perl-file-truename)
(tramp-perl-file-name-all-completions)
(tramp-perl-file-attributes)
(tramp-perl-directory-files-and-attributes)
(tramp-perl-encode-with-module, tramp-perl-decode-with-module)
(tramp-perl-encode, tramp-perl-decode, tramp-perl-pack)
(tramp-perl-unpack, tramp-hexdump-encode, tramp-awk-encode)
(tramp-hexdump-awk-encode, tramp-od-encode, tramp-od-awk-encode)
(tramp-awk-decode): Use format specifiers supported by
`tramp-expand-script'. Adapt docstring.
(tramp-vc-registered-read-file-names): Adapt docstring.
(tramp-sh-handle-file-local-copy): Let-bind local `default-directory'.
(tramp-expand-script): New defun.
(tramp-maybe-send-script, tramp-find-inline-encoding): Use it.
(tramp-local-coding-commands): Simplify.
Mattias Engdegård [Sun, 6 Dec 2020 10:07:33 +0000 (11:07 +0100)]
Unicode integrals in Calc
* lisp/calc/calccomp.el (math-compose-integ): Use Unicode integral
signs when available instead of a crude ASCII approximation, with a
shorter stem to save space.
Basil L. Contovounesios [Sat, 5 Dec 2020 15:28:35 +0000 (15:28 +0000)]
Avoid modifying nnimap user option in spam.el
* lisp/gnus/nnimap.el (nnimap--split-download-body): New variable.
(nnimap-fetch-inbox): Use it in conjunction with
nnimap-split-download-body.
* lisp/gnus/spam.el: Don't load nnimap.el at compile time for a
dynamic variable.
(spam-setup-widening): Rather than unconditionally set user option
nnimap-split-download-body, set nnimap--split-download-body to a
unique non-nil value only if the variable was nil (bug#44981).
(spam-teardown-widening): New function that undoes this if
nnimap--split-download-body still holds the unique value.
(spam-unload-hook): Call spam-teardown-widening to revert any change
to the value of nnimap--split-download-body.
Stefan Kangas [Sun, 6 Dec 2020 09:34:14 +0000 (10:34 +0100)]
; * lisp/subr.el (interactive-p): Note to not remove in a hurry.
Stefan Kangas [Sun, 6 Dec 2020 09:06:33 +0000 (10:06 +0100)]
; * lisp/gnus/spam.el (spam-setup-widening): Silence byte-compiler.
Stefan Kangas [Sun, 6 Dec 2020 07:57:54 +0000 (08:57 +0100)]
Prefer setq-local in several progmodes
* lisp/progmodes/executable.el (executable-interpret):
* lisp/progmodes/f90.el (f90-mode):
* lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics):
* lisp/progmodes/fortran.el (fortran-mode):
* lisp/progmodes/gud.el (gud-gdb, sdb, dbx, xdb, perldb, pdb)
(jdb, gud-mode, gud-common-init, gdb-script-mode)
(gud-tooltip-activate-mouse-motions):
* lisp/progmodes/hideshow.el (hs-minor-mode):
* lisp/progmodes/icon.el (icon-mode):
* lisp/progmodes/ld-script.el (ld-script-mode):
* lisp/progmodes/mixal-mode.el (mixal-mode):
* lisp/progmodes/modula2.el (m2-mode):
* lisp/progmodes/simula.el (simula-mode):
* lisp/progmodes/subword.el (subword-setup-buffer):
* lisp/progmodes/which-func.el (which-function): Prefer setq-local.
Stefan Kangas [Sun, 6 Dec 2020 07:54:50 +0000 (08:54 +0100)]
Prefer setq-local in emulation/*.el
* lisp/emulation/edt.el (edt-select-mode):
* lisp/emulation/viper-cmd.el (viper-refresh-mode-line):
(viper-minibuffer-setup-sentinel):
* lisp/emulation/viper.el (viper-comint-mode-hook): Prefer setq-local.
Stefan Kangas [Sun, 6 Dec 2020 07:50:51 +0000 (08:50 +0100)]
Prefer setq-local in url/*.el
* lisp/url/url-cookie.el (url-cookie-write-file):
* lisp/url/url-http.el (url-http-parse-headers):
* lisp/url/url-util.el (url-extract-mime-headers): Prefer setq-local.
Stefan Monnier [Sat, 5 Dec 2020 15:41:03 +0000 (10:41 -0500)]
* lisp/progmodes/perl-mode.el: Fix handling of s'foo'bar'
(perl-syntax-propertize-function): Don't put a syntax-property
on regexp-op delimiters if they're already handled correctly
by the normal syntax tables.
(perl-syntax-propertize-special-constructs): Mark the middle
quote of s'foo'bar' as punctuation.
* test/manual/indent/perl.perl: Add new test cases.
Stefan Kangas [Sat, 5 Dec 2020 10:53:19 +0000 (11:53 +0100)]
; * lisp/play/doctor.el (make-doctor-variables): Fix indentation.
Stefan Kangas [Sat, 5 Dec 2020 10:53:11 +0000 (11:53 +0100)]
Prefer setq-local in play/*.el
* lisp/play/decipher.el (decipher-mode):
* lisp/play/doctor.el (make-doctor-variables):
* lisp/play/dunnet.el (dun-mode):
* lisp/play/gomoku.el (gomoku-mode): Prefer setq-local.
Basil L. Contovounesios [Sat, 5 Dec 2020 10:39:55 +0000 (10:39 +0000)]
Fix last change to shell-command
* lisp/simple.el: Specify comint-term-environment arglist in
function declaration.
(shell-command): Load shell.el before calling
comint-term-environment; otherwise it is undefined. Allow
async-shell-command-width to take precedence over the COLUMNS value
returned by comint-term-environment. (Bug#45034)
Stefan Kangas [Sat, 5 Dec 2020 09:54:14 +0000 (10:54 +0100)]
Prefer setq-local in mail/*.el
* lisp/mail/emacsbug.el (report-emacs-bug):
* lisp/mail/rfc822.el (rfc822-addresses):
* lisp/mail/rmail.el (rmail-perm-variables, rmail-show-message-1):
* lisp/mail/rmailedit.el (rmail-edit-mode):
(rmail-edit-current-message, rmail-cease-edit):
* lisp/mail/rmailsum.el (rmail-new-summary-1, rmail-summary-mode):
(rmail-summary-update-highlight):
* lisp/mail/sendmail.el (mail-mode): Prefer setq-local.
Stefan Kangas [Sat, 5 Dec 2020 07:58:12 +0000 (08:58 +0100)]
Prefer setq-local in vc/*.el
* lisp/vc/add-log.el (find-change-log, change-log-mode):
* lisp/vc/cvs-status.el (cvs-status-mode):
* lisp/vc/diff-mode.el (diff-restrict-view, diff-find-file-name):
(diff-mode, diff-setup-whitespace, diff-apply-hunk):
* lisp/vc/diff.el (diff-no-select):
* lisp/vc/ediff-util.el (ediff-setup):
* lisp/vc/log-edit.el (log-edit, log-edit-mode):
* lisp/vc/log-view.el (log-view-mode):
* lisp/vc/pcvs.el (cvs-temp-buffer, cvs-make-cvs-buffer):
(cvs-update-filter, cvs-mode, cvs-mode-commit)
(cvs-mode-edit-log, cvs-vc-command-advice):
* lisp/vc/smerge-mode.el (smerge-match-conflict):
(smerge-ediff, smerge-mode):
* lisp/vc/vc-annotate.el (vc-annotate-mode):
(vc-annotate, vc-annotate-display):
* lisp/vc/vc-bzr.el (vc-bzr-log-view-mode):
* lisp/vc/vc-dir.el (vc-dir-mode):
* lisp/vc/vc-dispatcher.el (vc-setup-buffer):
(vc-compilation-mode, vc-start-logentry):
* lisp/vc/vc-git.el (vc-git-log-view-mode):
* lisp/vc/vc-hg.el (vc-hg-log-view-mode):
* lisp/vc/vc-hooks.el (vc-refresh-state):
* lisp/vc/vc-mtn.el (vc-mtn-log-view-mode):
* lisp/vc/vc-svn.el (vc-svn-log-view-mode):
* lisp/vc/vc.el (vc-register, vc-diff-internal):
(vc-find-revision-save, vc-find-revision-no-save):
(vc-log-internal-common, vc-region-history): Prefer setq-local.
Dmitry Gutov [Sat, 5 Dec 2020 00:57:46 +0000 (02:57 +0200)]
Always show the summary
* lisp/progmodes/xref.el (xref--show-defs-minibuffer):
Always show the summary (at least for now).
Dmitry Gutov [Sat, 5 Dec 2020 00:52:39 +0000 (02:52 +0200)]
Fontify the group and the line number
* lisp/progmodes/xref.el (xref--show-defs-minibuffer):
Fontify the group and the line number.
Dmitry Gutov [Sat, 5 Dec 2020 00:36:04 +0000 (02:36 +0200)]
Hide the common parent directory, if any
* lisp/progmodes/xref.el (xref--show-defs-minibuffer):
Hide the common parent directory, if any.
William Xu [Sat, 5 Dec 2020 00:14:32 +0000 (02:14 +0200)]
xref--show-defs-minibuffer: new "show definitions" UI
* lisp/progmodes/xref.el (xref--show-defs-minibuffer):
New function to use as xref-show-definitions-function
(https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00824.html).
Spencer Baugh [Sun, 22 Nov 2020 05:08:28 +0000 (00:08 -0500)]
* src/alloc.c (Fgarbage_collect_maybe): New function
Dmitry Gutov [Fri, 4 Dec 2020 21:22:22 +0000 (23:22 +0200)]
Improve docstrings
* lisp/progmodes/xref.el (xref-search-program-alist)
(xref-search-program): Improve docstrings.
Roland Winkler [Fri, 4 Dec 2020 20:00:49 +0000 (14:00 -0600)]
* lisp/textmodes/bibtex.el: Use user-error.
Stefan Kangas [Fri, 4 Dec 2020 18:12:12 +0000 (19:12 +0100)]
Prefer setq-local in emacs-lisp/*.el
* lisp/emacs-lisp/chart.el (chart-mode):
* lisp/emacs-lisp/copyright.el (copyright-update):
* lisp/emacs-lisp/eieio-custom.el (eieio-customize-object):
* lisp/emacs-lisp/elint.el (elint-update-env, elint-init-form):
* lisp/emacs-lisp/ert.el (ert--results-update-ewoc-hf):
(ert--setup-results-buffer):
* lisp/emacs-lisp/lisp-mode.el (lisp-mode-variables):
* lisp/emacs-lisp/pp.el (pp-display-expression):
* lisp/emacs-lisp/re-builder.el (reb-mode, reb-restart-font-lock):
* lisp/emacs-lisp/shadow.el (load-path-shadows-mode):
* lisp/emacs-lisp/smie.el (smie-setup):
* lisp/emacs-lisp/syntax.el (syntax-propertize):
* lisp/emacs-lisp/trace.el (trace-make-advice): Prefer setq-local.
Stefan Kangas [Fri, 4 Dec 2020 17:43:06 +0000 (18:43 +0100)]
Prefer setq-local in net/*.el
* lisp/net/ange-ftp.el (ange-ftp-process-handle-line):
(internal-ange-ftp-mode):
* lisp/net/imap.el (imap-fetch-safe):
* lisp/net/net-utils.el (net-utils-mode):
(nslookup-mode, network-connection-mode-setup):
* lisp/net/newst-plainview.el (newsticker-mode):
(newsticker-buffer-update):
* lisp/net/newst-treeview.el (newsticker--treeview-item-show):
(newsticker-treeview-mode):
* lisp/net/rlogin.el (rlogin):
* lisp/net/secrets.el (secrets-mode):
* lisp/net/sieve-mode.el (sieve-mode):
* lisp/net/sieve.el (sieve-setup-buffer, sieve-open-server):
* lisp/net/snmp-mode.el (snmp-common-mode, snmp-mode, snmpv2-mode):
* lisp/net/telnet.el (telnet-mode):
* lisp/net/tramp.el (tramp-get-debug-buffer): Prefer setq-local.
Mattias Engdegård [Fri, 4 Dec 2020 17:37:21 +0000 (18:37 +0100)]
Speed up match-substitute-replacement
* lisp/subr.el (match-substitute-replacement): Use match-data--translate.
* src/search.c (Fmatch_data__translate): Remove string restriction.
* test/lisp/subr-tests.el (subr-match-substitute-replacement): New test.
Stefan Kangas [Fri, 4 Dec 2020 16:55:46 +0000 (17:55 +0100)]
Prefer setq-local in cedet
* lisp/cedet/data-debug.el (data-debug-mode):
* lisp/cedet/ede/custom.el (ede-customize-project):
* lisp/cedet/ede/project-am.el (project-am-load-makefile):
* lisp/cedet/mode-local.el (mode-local--activate-bindings):
* lisp/cedet/semantic.el (semantic--set-buffer-cache):
* lisp/cedet/semantic/analyze/debug.el
(semantic-analyzer-debug-add-buttons):
* lisp/cedet/semantic/grammar.el (semantic-grammar-mode):
* lisp/cedet/semantic/senator.el (senator-search-set-tag-class-filter):
(senator-isearch-mode-hook):
* lisp/cedet/semantic/symref/list.el
(semantic-symref-produce-list-on-results)
(semantic-symref-results-mode):
* lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
* lisp/cedet/semantic/wisent/python.el (wisent-python-default-setup):
* lisp/cedet/srecode/srt-mode.el (srecode-template-mode):
Prefer setq-local.
Stefan Kangas [Fri, 4 Dec 2020 15:00:12 +0000 (16:00 +0100)]
Prefer setq-local in most of textmodes/*.el
* lisp/textmodes/artist.el (artist-mode-init):
* lisp/textmodes/bibtex.el (bibtex-mode):
* lisp/textmodes/dns-mode.el (dns-mode):
* lisp/textmodes/enriched.el (enriched-mode):
* lisp/textmodes/ispell.el (ispell-buffer-local-parsing):
* lisp/textmodes/nroff-mode.el (nroff-mode):
* lisp/textmodes/picture.el (picture-mode):
* lisp/textmodes/refill.el (refill-mode):
* lisp/textmodes/two-column.el (2C-split): Prefer setq-local.
Eli Zaretskii [Fri, 4 Dec 2020 14:47:49 +0000 (16:47 +0200)]
Don't abort when terminated by SIGINT in -batch
* src/xdisp.c (clear_message_stack): New function.
* src/emacs.c (terminate_due_to_signal): Call clear_message_stack
when we are being shut down by SIGINT under -batch.
* src/lisp.h (clear_message_stack): Add prototype.
Lars Ingebrigtsen [Fri, 4 Dec 2020 11:15:26 +0000 (12:15 +0100)]
Make custom-data saving atomic
* lisp/cus-edit.el (custom-save-all): Do the custom saves as an
atomic change group, to avoid writing invalid data if something
goes wrong (or the user hits `C-g') in the middle (bug#18633).
Lars Ingebrigtsen [Fri, 4 Dec 2020 10:46:47 +0000 (11:46 +0100)]
Allow viper-save-setting to save numerical settings
* lisp/emulation/viper-util.el (viper-save-setting): Allow saving
numerical settings (bug#18928).
Lars Ingebrigtsen [Fri, 4 Dec 2020 10:33:56 +0000 (11:33 +0100)]
Clarify icomplete-show-matches-on-no-input doc string
* lisp/icomplete.el (icomplete-show-matches-on-no-input): Clarify
the meaning of the variable (bug#19031).
Stefan Kangas [Fri, 4 Dec 2020 10:14:26 +0000 (11:14 +0100)]
Prefer setq-local in erc
* lisp/erc/erc-goodies.el (erc-imenu-setup):
* lisp/erc/erc-list.el (erc-list-install-322-handler, erc-cmd-LIST):
* lisp/erc/erc-pcomplete.el (pcomplete-erc-setup):
* lisp/erc/erc.el (erc-mode, erc-update-mode-line-buffer):
Prefer setq-local.
Alyssa Ross [Fri, 4 Dec 2020 10:06:48 +0000 (11:06 +0100)]
Make shell-command use comint settings
* lisp/simple.el (shell-command): Use the term environment from
comint, so that comint settings are used for commands like
`async-shell-command', too (bug#45034).
Copyright-paperwork-exempt: yes
Stefan Kangas [Fri, 4 Dec 2020 09:57:04 +0000 (10:57 +0100)]
* lisp/eshell/esh-mode.el (eshell-mode): Remove XEmacs compat code.
Stefan Kangas [Fri, 4 Dec 2020 09:55:50 +0000 (10:55 +0100)]
Prefer setq-local in eshell
* lisp/eshell/em-cmpl.el (eshell-cmpl-initialize):
* lisp/eshell/em-dirs.el (eshell-dirs-initialize):
* lisp/eshell/em-glob.el (eshell-glob-initialize, eshell-glob-regexp):
* lisp/eshell/em-hist.el (eshell-hist-initialize):
* lisp/eshell/em-prompt.el (eshell-prompt-initialize):
* lisp/eshell/em-rebind.el (eshell-rebind-initialize)
(eshell-setup-input-keymap):
* lisp/eshell/em-script.el (eshell-script-initialize):
* lisp/eshell/em-smart.el (eshell-smart-initialize):
* lisp/eshell/em-term.el (eshell-term-initialize, eshell-exec-visual):
* lisp/eshell/em-tramp.el (eshell-tramp-initialize):
* lisp/eshell/em-unix.el (eshell-unix-initialize, eshell/diff):
* lisp/eshell/esh-arg.el (eshell-arg-initialize):
* lisp/eshell/esh-cmd.el (eshell-cmd-initialize):
* lisp/eshell/esh-io.el (eshell-get-target):
* lisp/eshell/esh-mode.el (eshell-mode):
* lisp/eshell/esh-var.el (eshell-var-initialize): Prefer setq-local.
Lars Ingebrigtsen [Fri, 4 Dec 2020 09:46:34 +0000 (10:46 +0100)]
Preload iso-trans.el
* lisp/loadup.el ("international/iso-transl"): Load by default so
that we get `Alt-' bindings (bug#21310).
* lisp/international/iso-transl.el: Remove autoloads and some
comments.
Dmitry Gutov [Fri, 4 Dec 2020 02:46:52 +0000 (04:46 +0200)]
; Fix line number sorting
Dmitry Gutov [Fri, 4 Dec 2020 01:54:14 +0000 (03:54 +0200)]
; Expand on the NEWS entry
Dmitry Gutov [Fri, 4 Dec 2020 01:37:10 +0000 (03:37 +0200)]
Support using ripgrep in project-find-regexp and friends
Performance results vary here. Some projects and search terms
don't see much of a change, but for some (including Emacs sources
checkout and case-insensitive search) the switch to ripgrep shows
~2-3x speed improvement. Another piece of anecdata here:
https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00802.html
* lisp/progmodes/xref.el (xref-search-program-alist)
(xref-search-program): New user options.
(xref-matches-in-files): Use them.