]>
git.eshelyaron.com Git - emacs.git/log
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.
Basil L. Contovounesios [Thu, 3 Dec 2020 18:36:42 +0000 (18:36 +0000)]
; Fix last change
* lisp/gnus/nnimap.el (nnimap-split-download-body-default): Declare
obsolete varalias before its referent.
(nnimap-split-download-body): Add :version tag. (Bug#44981)
Eric Abrahamsen [Wed, 2 Dec 2020 23:52:25 +0000 (15:52 -0800)]
Restore nnimap-split-download-body as a customization option
* lisp/gnus/nnimap.el (nnimap-split-download-body): And add an
obsolete alias for `nnimap-split-download-body-default'.
(nnimap-fetch-inbox): Check the value of the option, not the variable.
* doc/misc/gnus.texi (Client-Side IMAP Splitting): Move the primary
documentation of this option to this section.
Basil L. Contovounesios [Fri, 17 Apr 2020 09:27:36 +0000 (10:27 +0100)]
Define explicit-shell-file-name only in shell.el
For discussion, see the following thread:
https://lists.gnu.org/r/emacs-devel/2020-04/msg00880.html
* doc/emacs/cmdargs.texi (General Variables): Mention
shell-file-name in relation to SHELL.
* doc/emacs/misc.texi (Interactive Shell): Move index entry for
SHELL environment variable from here, where it is not mentioned...
(Single Shell): ...to here, where it is discussed along with
shell-file-name.
* lisp/dired.el (dired-insert-directory): Use shell-file-name
instead of explicit-shell-file-name when a shell is implicitly
requested.
* lisp/obsolete/terminal.el (explicit-shell-file-name):
* lisp/term.el (explicit-shell-file-name): Remove duplicate
defcustoms and load lisp/shell.el instead. (Bug#40679)
* lisp/shell.el (explicit-shell-file-name): Clarify docstring.
(shell): Simplify.
Stefan Kangas [Thu, 3 Dec 2020 16:08:28 +0000 (17:08 +0100)]
Add tests for several byte-compiler warnings
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp/warn-autoload-not-on-top-level\.el)
(bytecomp/warn-callargs\.el)
(bytecomp/warn-defcustom-nogroup\.el)
(bytecomp/warn-defcustom-notype\.el)
(bytecomp/warn-defvar-lacks-prefix\.el)
(bytecomp/warn-format\.el)
(bytecomp/warn-lambda-malformed-interactive-spec\.el)
(bytecomp/warn-make-variable-buffer-local\.el)
(bytecomp/warn-redefine-defun-as-macro\.el)
(bytecomp/warn-redefine-defun\.el)
(bytecomp/warn-redefine-macro-as-defun\.el)
(bytecomp/warn-save-excursion\.el)
(bytecomp/warn-variable-let-bind-constant\.el)
(bytecomp/warn-variable-let-bind-nonvariable\.el)
(bytecomp/warn-variable-set-constant\.el)
(bytecomp/warn-variable-set-nonvariable\.el): New tests.
* test/lisp/emacs-lisp/bytecomp-resources/warn-autoload-not-on-top-level.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-callargs.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-defcustom-nogroup.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-defcustom-notype.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-defvar-lacks-prefix.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-format.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-lambda-malformed-interactive-spec.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-make-variable-buffer-local.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-redefine-defun-as-macro.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-redefine-defun.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-redefine-macro-as-defun.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-save-excursion.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-variable-let-bind-constant.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-variable-let-bind-nonvariable.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-variable-set-constant.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-variable-set-nonvariable.el:
* test/lisp/emacs-lisp/bytecomp-tests.el: New files.
Basil L. Contovounesios [Mon, 16 Nov 2020 14:40:57 +0000 (14:40 +0000)]
Avoid spamming view-mode-enter help message
By default, entering view-mode echoes a usage message. This is
particularly helpful with non-nil view-read-only, to notify the user
that view-mode has been enabled. It is less useful and more spammy,
however, if view-mode is (possibly inadvertently) entered from some
non-interactive code running in the background, such as when a major
mode is enabled in a temporary buffer for text formatting
purposes (bug#44629).
* lisp/jsonrpc.el (jsonrpc-events-buffer, initialize-instance): Use
buffer-read-only in place of read-only-mode for non-interactive use.
* lisp/view.el (view-mode-enter): Inhibit help message if either
view-inhibit-help-message is non-nil, or view-mode-enter was called
from an interactive command. Suggested by João Távora
<joaotavora@gmail.com>.
Michael Albinus [Thu, 3 Dec 2020 14:58:40 +0000 (15:58 +0100)]
Fix auto-revert-test07-auto-revert-several-buffers
* test/lisp/autorevert-tests.el
(auto-revert-test07-auto-revert-several-buffers): Adapt times values.
Spencer Baugh [Thu, 3 Dec 2020 14:57:20 +0000 (15:57 +0100)]
Improve performance of auto-revert-notify-add-watch
* lisp/autorevert.el (auto-revert-notify-add-watch):
Do not search for buffers registered with the same file name, this
is not necessary. (Bug#44638)
Stefan Kangas [Wed, 2 Dec 2020 14:56:54 +0000 (15:56 +0100)]
Remove redundant requires of 'help'
* lisp/emacs-lisp/advice.el (ad-read-advised-function):
* lisp/emacs-lisp/ert.el:
* lisp/facemenu.el: Don't require 'help'; it is preloaded since
version 18.59.
Stefan Kangas [Wed, 2 Dec 2020 14:49:56 +0000 (15:49 +0100)]
Remove redundant requires of 'button'
* lisp/apropos.el:
* lisp/emacs-lisp/cl-print.el:
* lisp/emacs-lisp/debug.el:
* lisp/emacs-lisp/ert.el:
* lisp/emacs-lisp/shadow.el:
* lisp/facemenu.el:
* lisp/help-mode.el:
* lisp/man.el:
* lisp/progmodes/etags.el:
* lisp/textmodes/bibtex.el:
* lisp/woman.el: Don't require 'button'; it is preloaded since version
23.1.
Lars Ingebrigtsen [Thu, 3 Dec 2020 10:18:45 +0000 (11:18 +0100)]
Fix "grep foo bar" in eshell
* lisp/eshell/em-unix.el (eshell-grep): Use the -H switch so that
we always get the file name, so that `M-x next-error' and friends
work (bug#22330).
Lars Ingebrigtsen [Thu, 3 Dec 2020 10:11:46 +0000 (11:11 +0100)]
Don't make grep arguments invisible in eshell
* lisp/eshell/em-unix.el (eshell-grep): There doesn't seem to be
any reason why parts of the command should be invisible, so don't
do that.
Lars Ingebrigtsen [Thu, 3 Dec 2020 09:21:15 +0000 (10:21 +0100)]
Recompute error positions in python-shell-send-region
* lisp/progmodes/python.el (python-shell-send-region): Recompute
line positions when evaluating (bug#22934).
Stefan Kangas [Thu, 3 Dec 2020 08:50:58 +0000 (09:50 +0100)]
Remove redundant requires of 'custom'
* lisp/emacs-lisp/eieio-custom.el:
* lisp/htmlfontify.el:
* lisp/mwheel.el:
* lisp/net/eudc-vars.el:
* lisp/net/ldap.el:
* lisp/net/tramp-ftp.el:
* lisp/net/tramp-gvfs.el:
* lisp/progmodes/cwarn.el:
* lisp/progmodes/sql.el:
* lisp/savehist.el:
* lisp/textmodes/reftex.el:
* lisp/wid-browse.el: Don't require 'custom'; it is preloaded since
version 20.1.
Stefan Kangas [Thu, 3 Dec 2020 07:51:15 +0000 (08:51 +0100)]
Remove redundant requires of 'font-core'
* lisp/ibuffer.el:
* test/lisp/erc/erc-track-tests.el: Don't require 'font-core'; it is
preloaded since version 22.1.
Stefan Kangas [Thu, 3 Dec 2020 07:50:14 +0000 (08:50 +0100)]
Remove redundant requires of 'font-lock'
* lisp/cedet/data-debug.el:
* lisp/hi-lock.el:
* lisp/htmlfontify.el:
* lisp/org/org.el:
* lisp/progmodes/cperl-mode.el:
* lisp/progmodes/cwarn.el: Don't require 'font-lock'; it is preloaded
since version 22.1.
Roland Winkler [Wed, 2 Dec 2020 21:08:25 +0000 (15:08 -0600)]
bibtex-autokey-get-year: Allow both a year or date field.
* lisp/textmodes/bibtex.el (bibtex-text-in-field): Allow arg field
to be a list of fields.
(bibtex-autokey-get-year): Look for year and date field. Allow
the extended date format used by biblatex.
Roland Winkler [Wed, 2 Dec 2020 19:51:35 +0000 (13:51 -0600)]
bibtex-mode: do not fail when local variables are disabled
* lisp/textmodes/bibtex.el (bibtex-mode): Check if
enable-local-variables is non-nil (bug#37957).
Roland Winkler [Wed, 2 Dec 2020 18:33:08 +0000 (12:33 -0600)]
Allow bibtex-contline-indentation as file-local variable.
* lisp/textmodes/bibtex.el (bibtex-contline-indentation)
(bibtex-comment-start, bibtex-entry-offset, bibtex-text-indentation):
Add :safe attribute.
(bibtex-mode): Allow these variables as file-local variables
(bug#44618 and bug#44647).
Stefan Kangas [Wed, 2 Dec 2020 14:43:26 +0000 (15:43 +0100)]
Remove redundant requires of faces
* lisp/htmlfontify.el:
* lisp/term/ns-win.el:
* lisp/term/w32-win.el:
* lisp/term/x-win.el:
* test/lisp/faces-tests.el: Don't require 'faces'; it is preloaded
since version 19.34.
Stefan Kangas [Wed, 2 Dec 2020 17:20:46 +0000 (18:20 +0100)]
Remove redundant requires of env
* lisp/eshell/esh-var.el:
* lisp/man.el: Don't require 'env'; it is preloaded since version
20.1.
Roland Winkler [Wed, 2 Dec 2020 15:47:14 +0000 (09:47 -0600)]
Allow bibtex-unify-case-function as file-local variable
* lisp/textmodes/bibtex.el (bibtex-unify-case-function):
Renamed from bibtex-unify-case-convert. Add :safe attribute.
* etc/NEWS: Update accordingly.
Michael Albinus [Wed, 2 Dec 2020 15:09:20 +0000 (16:09 +0100)]
Add test to autorevert-tests.el
* test/lisp/autorevert-tests.el (auto-revert--wait-for-revert):
Handle `auto-revert--messages' being nil.
(auto-revert-test07-auto-revert-several-buffers): New test.
Stefan Kangas [Wed, 2 Dec 2020 10:29:26 +0000 (11:29 +0100)]
Improve sectioning in bytecomp-tests.el
* test/lisp/emacs-lisp/bytecomp-tests.el: Add section comments.
(test-eager-load-macro-expansion)
(test-eager-load-macro-expansion-eval-and-compile): Move definitions.
Stefan Kangas [Wed, 2 Dec 2020 12:03:49 +0000 (13:03 +0100)]
* lisp/play/dunnet.el: Remove Emacs 18 compat code.
Stefan Kangas [Wed, 2 Dec 2020 11:58:42 +0000 (12:58 +0100)]
Make variable cperl-version obsolete
* lisp/progmodes/cperl-mode.el (cperl-menu): Remove CPerl version
menu entry.
(cperl-version): Make obsolete.
Stefan Kangas [Wed, 2 Dec 2020 11:55:22 +0000 (12:55 +0100)]
Remove some Emacs 19 compat code from cperl-mode
* lisp/progmodes/cperl-mode.el
(cperl-put-do-not-fontify): Remove Emacs 19 compat code.
(cperl-do-not-fontify): Make obsolete.
Stefan Kangas [Wed, 2 Dec 2020 11:50:05 +0000 (12:50 +0100)]
Remove some references to fast-lock and lazy-lock
* lisp/htmlfontify.el (hfy-copy-and-fontify-file):
* lisp/progmodes/antlr-mode.el: Remove some references to obsolete
libraries fast-lock and lazy-lock.
Lars Ingebrigtsen [Wed, 2 Dec 2020 12:07:40 +0000 (13:07 +0100)]
Fix alignment of declaractions of arrays
* lisp/align.el (align-rules-list): Align variable declarations
like char *foo[], too (bug#23370).
Michael Albinus [Wed, 2 Dec 2020 11:50:20 +0000 (12:50 +0100)]
* INSTALL: Add the installation command of development packages for FreeBSD.
Recipe contributed by Joseph Mingrone <jrm@ftfl.ca>.
Lars Ingebrigtsen [Wed, 2 Dec 2020 11:26:04 +0000 (12:26 +0100)]
Add tests for xsd-regexp
Lars Ingebrigtsen [Wed, 2 Dec 2020 11:23:13 +0000 (12:23 +0100)]
Fix xsdre-range-list-to-char-alternative problem with {P}
* lisp/nxml/xsd-regexp.el (xsdre-range-list-to-char-alternative):
Make (string-match (xsdre-translate "\\p{P}") "a-b") work
(bug#24093) -- the "forbidden" characters don't have to be the
first elements in a range.