]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoAdd a new command `memory-report'
Lars Ingebrigtsen [Fri, 11 Dec 2020 13:49:53 +0000 (14:49 +0100)]
Add a new command `memory-report'

* doc/lispref/internals.texi (Garbage Collection): Document it.
* lisp/emacs-lisp/memory-report.el: New package.

3 years agoAdd new function `object-intervals'
Lars Ingebrigtsen [Fri, 11 Dec 2020 13:40:20 +0000 (14:40 +0100)]
Add new function `object-intervals'

* doc/lispref/text.texi (Examining Properties): Document it.
* src/fns.c (Fobject_intervals): New defun.
(collect_interval): New function.

3 years agoAdd new function 'image-cache-size'
Lars Ingebrigtsen [Fri, 11 Dec 2020 13:30:44 +0000 (14:30 +0100)]
Add new function 'image-cache-size'

* src/image.c (Fimage_cache_size): New defun.
(image_frame_cache_size): New function.

3 years agoAdd a new function `button-buttonize'
Lars Ingebrigtsen [Fri, 11 Dec 2020 13:25:20 +0000 (14:25 +0100)]
Add a new function `button-buttonize'

* doc/lispref/display.texi (Manipulating Buttons): Document it.

* lisp/button.el (button-buttonize): Implement it.

3 years ago* lisp/battery.el (battery--upower-devices): Protect the D-Bus call.
Michael Albinus [Fri, 11 Dec 2020 10:31:10 +0000 (11:31 +0100)]
* lisp/battery.el (battery--upower-devices): Protect the D-Bus call.

(Bug#45163)

3 years agoFix quoting in gnus-buffer-configuration
Basil L. Contovounesios [Fri, 11 Dec 2020 01:50:17 +0000 (01:50 +0000)]
Fix quoting in gnus-buffer-configuration

* lisp/gnus/gnus-win.el (gnus-buffer-configuration): Include
shell-command-buffer-name value rather than symbol in pipe
configuration.  (Bug#39138, bug#45154)

3 years agoBe more graceful about handling Gnus search errors
Eric Abrahamsen [Fri, 13 Nov 2020 04:03:05 +0000 (20:03 -0800)]
Be more graceful about handling Gnus search errors

One search may be applied to several servers: don't let one server's
error derail the whole process.

* lisp/gnus/gnus-search.el (gnus-search-config-error): Define new
error.
(gnus-search-run-search, gnus-search-server-to-engine): Raise this
specific error as appropriate.
(gnus-search-run-query): Catch this error and effectively demote it.

3 years agoRemove some ancient Emacs compat code from cperl-mode
Stefan Kangas [Thu, 10 Dec 2020 16:42:50 +0000 (17:42 +0100)]
Remove some ancient Emacs compat code from cperl-mode

This variable has this value by default since Emacs 19.34.

* lisp/progmodes/cperl-mode.el (cperl-mode): Remove some compat code.

3 years agoPrefer setq-local in cperl-mode.el
Stefan Kangas [Thu, 10 Dec 2020 16:34:05 +0000 (17:34 +0100)]
Prefer setq-local in cperl-mode.el

* lisp/progmodes/cperl-mode.el (cperl-mode, cperl-info-buffer)
(cperl-setup-tmp-buf, cperl-emulate-lazy-lock): Prefer setq-local.

3 years agoPrefer setq-local in bibtex-style.el
Stefan Kangas [Thu, 10 Dec 2020 08:44:25 +0000 (09:44 +0100)]
Prefer setq-local in bibtex-style.el

* lisp/textmodes/bibtex-style.el (bibtex-style-mode): Prefer
setq-local.

3 years agoAvoid segfaults in pos_visible_p
Eli Zaretskii [Thu, 10 Dec 2020 15:10:06 +0000 (17:10 +0200)]
Avoid segfaults in pos_visible_p

* src/xdisp.c (pos_visible_p): Don't try accessing the glyphs
produced by iterator whose glyph_row was set to NULL; instead,
record the X coordinate before the display string when moving past
it, and use the recorded coordinate if needed.  (Bug#45156)

3 years agoFupcase no longer maps ?ß to itself (bug#11309)
Mattias Engdegård [Thu, 10 Dec 2020 09:57:16 +0000 (10:57 +0100)]
Fupcase no longer maps ?ß to itself (bug#11309)

* test/src/casefiddle-tests.el (casefiddle-tests-char-casing):
(upcase ?ß) now returns ?ẞ (U+7838), partly for technical reasons but
the previous behaviour was arbitrary and arguably less useful.
Correct upcasing of ß is normally SS, which is what Fupcase returns if
given a string, or (for special purposes) ẞ.

3 years agoAllow creating a new tab from the minibuffer (bug#45072)
Juri Linkov [Thu, 10 Dec 2020 08:28:32 +0000 (10:28 +0200)]
Allow creating a new tab from the minibuffer (bug#45072)

* lisp/tab-bar.el (tab-bar-new-tab-to): Select the original window
when selected window is the minibuffer.

3 years agoValentin Gatien-Baron <valentin.gatienbaron@gmail.com>
Dmitry Gutov [Thu, 10 Dec 2020 00:31:39 +0000 (02:31 +0200)]
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>

* lisp/vc/vc-hg.el (vc-hg-working-revision):
Use 'hg log -T' instead of 'hg parent' (bug#36534).

Copyright-paperwork-exempt: yes

3 years agoFix thinko in my previous commit
Stefan Kangas [Wed, 9 Dec 2020 21:40:31 +0000 (22:40 +0100)]
Fix thinko in my previous commit

* lisp/pcomplete.el (pcomplete-comint-setup): Fix thinko in my
previous commit.  This was not a quoted symbol but a variable, and
therefore cannot use setq-local.

3 years ago* lisp/progmodes/xref.el: Bump the version.
Dmitry Gutov [Wed, 9 Dec 2020 21:37:53 +0000 (23:37 +0200)]
* lisp/progmodes/xref.el: Bump the version.

3 years ago; Fix typo in my previous commit
Stefan Kangas [Wed, 9 Dec 2020 21:24:43 +0000 (22:24 +0100)]
; Fix typo in my previous commit

* lisp/pcomplete.el (pcomplete-comint-setup): Fix typo.

3 years agoAllow specifying the project to switch to programmatically
Dmitry Gutov [Wed, 9 Dec 2020 20:56:12 +0000 (22:56 +0200)]
Allow specifying the project to switch to programmatically

* lisp/progmodes/project.el (project-switch-project):
Allow specifying the project to switch to programmatically
(bug#45134).

3 years agoAdd missing defcustom keywords to new variables
Dmitry Gutov [Wed, 9 Dec 2020 19:42:19 +0000 (21:42 +0200)]
Add missing defcustom keywords to new variables

* lisp/progmodes/xref.el (xref-search-program-alist)
(xref-search-program): Add :version and :package-version.

3 years agoClarify `scroll-preserve-screen-position' doc string
Lars Ingebrigtsen [Wed, 9 Dec 2020 19:40:03 +0000 (20:40 +0100)]
Clarify `scroll-preserve-screen-position' doc string

* src/window.c (syms_of_window): Clarify the doc string (bug#7910).

3 years agoRemove isearch-input-method-local-p and always set buffer-local input-method
Juri Linkov [Wed, 9 Dec 2020 19:30:47 +0000 (21:30 +0200)]
Remove isearch-input-method-local-p and always set buffer-local input-method

* lisp/isearch.el (isearch-input-method-local-p): Remove defvar.
(isearch-mode): Don't set isearch-input-method-local-p.
Set buffer-local input-method-function to nil.
(isearch-done): When isearch-input-method-function is still non-nil,
set the buffer-local value of input-method-function.  (Bug#45005)

* lisp/international/isearch-x.el (isearch-toggle-specified-input-method)
(isearch-toggle-input-method, isearch-transient-input-method):
Don't set isearch-input-method-local-p to t.  Set buffer-local
input-method-function to nil.

* lisp/language/korea-util.el (isearch-toggle-korean-input-method)
(isearch-hangul-switch-symbol-ksc, isearch-hangul-switch-hanja):
Don't set isearch-input-method-local-p to t.  Set buffer-local
input-method-function to nil.

3 years agoSupport highlighting of ripgrep output (bug#44983)
Juri Linkov [Wed, 9 Dec 2020 19:16:03 +0000 (21:16 +0200)]
Support highlighting of ripgrep output (bug#44983)

* etc/grep.txt: Add ripgrep samples.

* lisp/progmodes/grep.el (grep-match-regexp): Highlight ripgrep matches too.
(grep-regexp-alist): Remove $ to highlight ripgrep binary file matches.

3 years agoStricter gradle-kotlin message pattern
Mattias Engdegård [Sun, 6 Dec 2020 15:22:09 +0000 (16:22 +0100)]
Stricter gradle-kotlin message pattern

* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Rule 'gradle-kotlin': don't be more forgiving than necessary; we know
exactly what the output looks like (see
https://github.com/JetBrains/kotlin/commit/\
ffe8ae3840d7b9bdc82170c8181031f05ced68bd) and there is no reason to
risk mismatches or expensive backtracking (bug#18109).  Recognise
'info' level messages.  Convert to rx.

3 years agoInclude the keymap in the gud-mode doc string
Lars Ingebrigtsen [Wed, 9 Dec 2020 17:42:36 +0000 (18:42 +0100)]
Include the keymap in the gud-mode doc string

* lisp/progmodes/gud.el (gud-mode): Add the gud keymap to the end
of the doc string for easier access (bug#31406).

3 years ago`pdb' doc string clarification
Lars Ingebrigtsen [Wed, 9 Dec 2020 17:36:41 +0000 (18:36 +0100)]
`pdb' doc string clarification

* lisp/progmodes/gud.el (pdb): Mention that this command is for
debugging Python scripts.

3 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 9 Dec 2020 16:50:12 +0000 (08:50 -0800)]
; Merge from origin/emacs-27

The following commit was skipped:

809b22d18d (origin/emacs-27) Fix crash (segfault) in etags on generat...

3 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 9 Dec 2020 16:50:12 +0000 (08:50 -0800)]
Merge from origin/emacs-27

c0b3e38d7c Update publicsuffix.txt from upstream
3fe6cea6e0 * lisp/vc/vc.el: Update args of backend API calls in the h...

3 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 9 Dec 2020 16:50:12 +0000 (08:50 -0800)]
; Merge from origin/emacs-27

The following commit was skipped:

a40be60ec8 Backport Handle read-char-from-minibuffer and y-or-n-p fro...

3 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 9 Dec 2020 16:50:12 +0000 (08:50 -0800)]
Merge from origin/emacs-27

32090a3de4 Improve documentation of streams in batch mode
34feded008 Support ks_c_5601-1987 encoding
da00a6f317 Fix Xaw widget text disappearing when built with cairo (bu...
6916e7954a Improve documentation of 'ps-print-color-p'
6663b2f211 ; * lisp/simple.el (move-beginning-of-line): Doc fix.
a4dd03ebe9 ; * src/charset.c (Fmap_charset_chars): Doc fix.
d86cc3ffcb ; * src/chartab.c, src/lisp.h: Fix typos in comments.

3 years agoFix mark-defun in fortran-mode
Lars Ingebrigtsen [Wed, 9 Dec 2020 16:35:59 +0000 (17:35 +0100)]
Fix mark-defun in fortran-mode

* lisp/progmodes/fortran.el (fortran-beginning-of-subprogram):
Make mark-defun work (bug#33208).

3 years agoImprove predictability of 'scroll-preserve-screen-position'
Eli Zaretskii [Wed, 9 Dec 2020 16:13:35 +0000 (18:13 +0200)]
Improve predictability of 'scroll-preserve-screen-position'

* src/window.c (window_scroll_pixel_based): Compute the new
window-start more precisely when 'scroll-preserve-screen-position'
is non-nil.  (Bug#8355)

3 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Wed, 9 Dec 2020 15:18:01 +0000 (17:18 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

3 years agoUpdate docs of 'defvar' and 'defface'
Eli Zaretskii [Wed, 9 Dec 2020 15:17:09 +0000 (17:17 +0200)]
Update docs of 'defvar' and 'defface'

* doc/lispref/display.texi (Defining Faces):
* doc/lispref/variables.texi (Defining Variables): Update the
descriptions of 'defvar' and 'defface' per recent changes in
'eval-last-sexp'.  (Bug#45125)

3 years agoFix info mode fontification of built-in (*note Built-ins::)
Lars Ingebrigtsen [Wed, 9 Dec 2020 15:07:50 +0000 (16:07 +0100)]
Fix info mode fontification of built-in (*note Built-ins::)

* lisp/info.el (Info-fontify-node): Don't interpret things like
"built-in" as being the word "in" (bug#34661).

3 years agoFix crash (segfault) in etags on generating tags for Erlang files
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

(cherry picked from commit 2d8f0364fcd1d5dad2b82dd3a9af870b03854547)

3 years agoRecognise ß properly as a lower-case letter (bug#11309)
Mattias Engdegård [Wed, 9 Dec 2020 12:27:16 +0000 (13:27 +0100)]
Recognise ß properly as a lower-case letter (bug#11309)

ß was incorrectly treated as a caseless character and thus not matched
by the regexp [[:lower:]] (or, in case-folding mode, [[:upper:]]).
The reason is that the upcase table maps it to itself, which can be
remedied by mapping it to ẞ (U+7838) instead.  Doing so does not
affect upcasing since the special-uppercase property maps it to SS.

* lisp/international/characters.el (tbl): Map ß to ẞ in the upcase
table.
* test/src/regex-emacs-tests.el (regexp-eszett): Uncomment previously
failing tests.  Add checks to make sure that case transformations
remain valid.

3 years agocl-pushnew manual clarification
Lars Ingebrigtsen [Wed, 9 Dec 2020 13:52:49 +0000 (14:52 +0100)]
cl-pushnew manual clarification

* doc/misc/cl.texi (Modify Macros): Don't claim that cl-pushnew
uses eql.
(Lists as Sets): Mention that eql is the default comparison function.

3 years agocl-defmethod doc string clarification
Lars Ingebrigtsen [Wed, 9 Dec 2020 13:51:48 +0000 (14:51 +0100)]
cl-defmethod doc string clarification

* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Clarify the doc
string, and give an example (bug#42322).

3 years agoClarify the default-boundp doc string
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).

3 years agoMake ediff offer to create files it's inferring
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.

3 years agoImprove tests for gio file notifications
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.

3 years agoFilter revoked keys when saving files
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.

3 years agoPrefer setq-local in most files
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.

3 years agoPrefer setq-local in dired extensions
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):

3 years agoUpdate publicsuffix.txt from upstream
Stefan Kangas [Wed, 9 Dec 2020 10:52:59 +0000 (11:52 +0100)]
Update publicsuffix.txt from upstream

* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2020-11-30 21:57:25 UTC.

3 years agoFix [:upper:] and [:lower:] for Unicode characters (bug#11309)
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.

3 years agoPrefer setq-local in some remaining progmodes
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.

3 years agoPrefer setq-local in gdb-mi.el
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.

3 years agoPrefer setq-local in etags.el
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.

3 years agoPrefer setq-local in cfengine.el
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.

3 years agoPrefer setq-local in sql.el
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.

3 years agoPrefer setq-local in font-lock.el
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.

3 years ago* lisp/progmodes/sql.el: Remove redundant URL.
Stefan Kangas [Wed, 9 Dec 2020 06:58:55 +0000 (07:58 +0100)]
* lisp/progmodes/sql.el: Remove redundant URL.

3 years agoMake abbrev-tests.el more deterministic
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.

3 years agoMake uncache_image slightly more efficient
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.

3 years ago* src/fns.c: Remove left over include
Stefan Monnier [Tue, 8 Dec 2020 23:54:52 +0000 (18:54 -0500)]
* src/fns.c: Remove left over include

3 years agoRestore Emacs 27 image cache semantics
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).

3 years agoRemove interactive spec from internal eldoc--format-doc-buffer
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.

3 years ago* src/fns.c (hash_string): Speed up on large strings
Stefan Monnier [Tue, 8 Dec 2020 23:08:54 +0000 (18:08 -0500)]
* src/fns.c (hash_string): Speed up on large strings

3 years agoterm.el comment update
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).

3 years agoFix crash (segfault) in etags on generating tags for Erlang files
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

3 years agoMake rcirc nick renaming heed nickname max lengths
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.

3 years agoMake hexl scrolling commands work more like the normal ones
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).

3 years agoFix scrolling in hexl-mode when ruler-mode is on
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.

3 years agoImprove documentation of 'backtrace-on-error-noninteractive'
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.

3 years agoMake the history traversal functions in coming more regular
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.

3 years agoMake table-fixed-width-mode work again
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).

3 years agoUse the proper face for the Gnus mode line id
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.

3 years agoSimplify gnus-mode-line-buffer-identification
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.

3 years agoCache toolbar icon data paths
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.

3 years ago; * lisp/timezone.el: Fix typo in lexical-binding cookie.
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>.

3 years agoPrefer setq-local in grep.el
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.

3 years agoPrefer setq-local in meta-mode.el
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.

3 years agoPrefer setq-local in compile.el
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.

3 years ago* admin/nt/dist-build/build-dep-zips.py: Remove unused import.
Stefan Kangas [Tue, 8 Dec 2020 08:19:51 +0000 (09:19 +0100)]
* admin/nt/dist-build/build-dep-zips.py: Remove unused import.

3 years agoPrefer setq-local in tests
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.

3 years agoPrefer setq-local in term.el
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.

3 years agoPrefer setq-local in shell.el
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.

3 years agoPrefer setq-local in speedbar.el
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.

3 years agoPrefer setq-local in newcomment.el
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.

3 years ago* lisp/locate.el (locate, locate-mode): 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.

3 years ago* lisp/array.el (array-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.

3 years agoPrefer setq-local in simple.el
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.

3 years agoFix bug in how ERT invokes its debugger.
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.

3 years agoAvoid problems when calling desktop-read twice
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).

3 years agoMake previous Fkill_emacs change safer
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.

3 years ago; Fix recent typos/wording in NEWS and server.el
Basil L. Contovounesios [Mon, 7 Dec 2020 16:06:14 +0000 (16:06 +0000)]
; Fix recent typos/wording in NEWS and server.el

3 years agoAdd commands xref-next-group and xref-prev-group
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).

3 years agoOnly use the comint environment in comint-derived modes
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

3 years agoPrefer setq-local in calendar/*.el
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.

3 years agoPrefer setq-local in gnus/*.el
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.

3 years agoInsert skeletons at the correct point
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).

3 years agoAllow shutting down Emacs even if there are errors in kill-emacs-hook
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.

3 years agoEnsure that new emacsclient frames has focus
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?").

3 years agoAllow inhibiting the instructions on how to close emacsclient frames
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.

3 years agoAllow using newer versions of Gnuplot from calc again
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

3 years agoFix file name quoting problems in tex-mode
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.

3 years agoClarify icomplete-show-matches-on-no-input doc string
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.

3 years agoRevert "Clarify icomplete-show-matches-on-no-input doc string"
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.

3 years agoCalc: simplify integer log2 and power of 2
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.