]>
git.eshelyaron.com Git - emacs.git/log
Lars Ingebrigtsen [Wed, 9 Dec 2020 13:18:28 +0000 (14:18 +0100)]
Clarify the default-boundp doc string
* src/data.c (Fdefault_boundp): Doc string clarification (bug#44141).
Lars Ingebrigtsen [Wed, 9 Dec 2020 12:50:06 +0000 (13:50 +0100)]
Make ediff offer to create files it's inferring
* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): Offer to create
the inferred file name (if it doesn't exist) (bug#8009). This allows
applying a patch that creates a file.
Michael Albinus [Wed, 9 Dec 2020 13:49:58 +0000 (14:49 +0100)]
Improve tests for gio file notifications
* .gitlab-ci.yml (test-filenotify-gio): Call "make -k".
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
Set connection property "gio-file-monitor".
* lisp/net/tramp-sh.el (tramp-get-remote-gio-file-monitor): New defun.
(tramp-sh-handle-file-notify-add-watch): Use it.
* test/lisp/filenotify-tests.el (file-notify--test-read-event): Simplify.
(file-notify--test-monitor): Handle also remote "gio monitor".
(file-notify-test03-events, file-notify-test04-autorevert)
(file-notify-test05-file-validity, file-notify-test08-backup)
(file-notify-test09-watched-file-in-watched-dir):
Handle GKqueueFileMonitor.
Lars Ingebrigtsen [Wed, 9 Dec 2020 12:17:06 +0000 (13:17 +0100)]
Filter revoked keys when saving files
* lisp/epa-file.el (epa-file-write-region): Use it to select a
non-revoked key (bug#22359).
* lisp/epg.el (epg--filter-revoked-keys): New function.
Stefan Kangas [Wed, 9 Dec 2020 08:44:38 +0000 (09:44 +0100)]
Prefer setq-local in most files
* lisp/apropos.el (apropos-print):
* lisp/buff-menu.el (Buffer-menu-mode):
* lisp/calc/calc.el (calc-trail-buffer):
* lisp/chistory.el (command-history-mode):
* lisp/dabbrev.el:
* lisp/dframe.el (dframe-frame-mode):
* lisp/doc-view.el (doc-view-presentation-mode):
* lisp/ebuff-menu.el (electric-buffer-menu-mode)
(electric-buffer-update-highlight):
* lisp/edmacro.el (edit-kbd-macro):
* lisp/face-remap.el (buffer-face-set, buffer-face-toggle):
* lisp/files.el:
(find-file-noselect-1, hack-local-variables-confirm)
(set-visited-file-name, revert-buffer--default):
* lisp/filesets.el (filesets-spawn-external-viewer):
* lisp/find-dired.el (find-dired):
* lisp/find-lisp.el (find-lisp-find-dired-internal):
* lisp/finder.el (finder-mode):
* lisp/font-core.el (font-lock-default-function):
* lisp/format.el (format-annotate-function):
* lisp/help-fns.el (describe-variable):
* lisp/help-mode.el (help-mode):
* lisp/icomplete.el (icomplete-minibuffer-setup)
(icomplete--in-region-setup):
* lisp/ido.el (ido-completion-help, ido-tidy):
* lisp/international/robin.el (robin-activate):
* lisp/leim/quail/hangul.el (hangul-input-method-activate):
* lisp/leim/quail/uni-input.el (ucs-input-activate):
* lisp/man.el (Man-mode):
* lisp/master.el (master-set-slave):
* lisp/minibuffer.el (minibuffer-completion-help)
(read-file-name-default):
* lisp/outline.el (outline-minor-mode):
* lisp/pcomplete.el (pcomplete-comint-setup):
* lisp/proced.el (proced-mode):
* lisp/recentf.el (recentf-edit-list, recentf-open-files-items):
* lisp/replace.el (occur-1):
* lisp/reveal.el (reveal-mode):
* lisp/ruler-mode.el (ruler--save-header-line-format):
* lisp/scroll-lock.el (scroll-lock-mode):
* lisp/startup.el (normal-top-level, normal-splash-screen):
* lisp/strokes.el (strokes-list-strokes):
* lisp/thumbs.el (thumbs-insert-image, thumbs-show-thumbs-list):
* lisp/tree-widget.el (tree-widget-set-theme):
* lisp/window.el (read-buffer-to-switch):
* lisp/xwidget.el (xwidget-webkit-begin-edit-textarea): Prefer
setq-local.
Stefan Kangas [Wed, 9 Dec 2020 08:18:04 +0000 (09:18 +0100)]
Prefer setq-local in dired extensions
* lisp/dired-aux.el (dired-diff, dired-compare-directories)
(dired-do-create-files, dired-isearch-filenames):
* lisp/dired-x.el (dired-virtual, dired-vm):
* lisp/wdired.el (wdired-change-to-wdired-mode)
(wdired-change-to-dired-mode, wdired-preprocess-perms):
Mattias Engdegård [Tue, 8 Dec 2020 11:47:58 +0000 (12:47 +0100)]
Fix [:upper:] and [:lower:] for Unicode characters (bug#11309)
* src/regex-emacs.c (execute_charset): Add canon_table argument to
allow expression of a correct predicate for [:upper:] and [:lower:].
(mutually_exclusive_p, re_match_2_internal): Pass extra argument.
* test/src/regex-emacs-tests.el (regexp-case-fold, regexp-eszett):
New tests. Parts of regexp-eszett still fail and are commented out.
Stefan Kangas [Wed, 9 Dec 2020 07:34:35 +0000 (08:34 +0100)]
Prefer setq-local in some remaining progmodes
* lisp/progmodes/dcl-mode.el (dcl-mode):
* lisp/progmodes/hideif.el (hide-ifdef-mode)
(hide-ifdef-toggle-shadowing):
* lisp/progmodes/ps-mode.el (ps-mode, ps-run-mode):
* lisp/progmodes/xscheme.el (xscheme-start)
(local-set-scheme-interaction-buffer, scheme-interaction-mode):
Prefer setq-local.
Stefan Kangas [Wed, 9 Dec 2020 07:30:09 +0000 (08:30 +0100)]
Prefer setq-local in gdb-mi.el
* lisp/progmodes/gdb-mi.el (gdb--check-interpreter, gdb)
(gdb-init-buffer, gdb-get-buffer-create, gdb-threads-mode)
(gdb-memory-mode, gdb-disassembly-mode, gdb-frames-mode): Prefer setq-local.
Stefan Kangas [Wed, 9 Dec 2020 07:29:03 +0000 (08:29 +0100)]
Prefer setq-local in etags.el
* lisp/progmodes/etags.el (initialize-new-tags-table)
(etags-recognize-tags-table, tags-recognize-empty-tags-table):
Prefer setq-local.
Stefan Kangas [Wed, 9 Dec 2020 07:21:05 +0000 (08:21 +0100)]
Prefer setq-local in cfengine.el
* lisp/progmodes/cfengine.el (cfengine-common-settings)
(cfengine3-mode, cfengine2-mode): Prefer setq-local.
Stefan Kangas [Wed, 9 Dec 2020 07:13:41 +0000 (08:13 +0100)]
Prefer setq-local in sql.el
* lisp/progmodes/sql.el (sql--oracle-show-reserved-words)
(sql-product-font-lock, sql-list-all, sql-mode)
(sql-interactive-mode, sql-product-interactive): Prefer
setq-local.
Stefan Kangas [Wed, 9 Dec 2020 07:09:56 +0000 (08:09 +0100)]
Prefer setq-local in font-lock.el
* lisp/font-lock.el:
(font-lock-add-keywords, font-lock-turn-on-thing-lock)
(font-lock-fontify-syntactic-keywords-region)
(font-lock-set-defaults): Prefer setq-local.
Stefan Kangas [Wed, 9 Dec 2020 06:58:55 +0000 (07:58 +0100)]
* lisp/progmodes/sql.el: Remove redundant URL.
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.