Gregory Heytings [Sat, 20 Mar 2021 07:54:07 +0000 (08:54 +0100)]
* etc/NEWS: Small corrections for the new command 'font-lock-update'
Stefan Kangas [Sat, 20 Mar 2021 08:58:02 +0000 (09:58 +0100)]
Remove Gnus specific .dir-locals.el
* lisp/gnus/.dir-locals.el: Delete file. The only variable it set was
'show-trailing-whitespace', but this should be up to the individual
developer. (Bug#47278)
Stefan Kangas [Sat, 20 Mar 2021 06:48:51 +0000 (07:48 +0100)]
Prefer https and fix broken links in ERC
* lisp/erc/erc-button.el (erc-button-rfc-url)
(erc-button-search-url): Prefer https.
* lisp/erc/erc-capab.el:
* lisp/erc/erc.el (erc-cmd-MODE): Fix broken links.
Stefan Kangas [Sat, 20 Mar 2021 04:12:18 +0000 (05:12 +0100)]
* lisp/thumbs.el (thumbs-show-from-dir): Improve prompt.
Eli Zaretskii [Sat, 20 Mar 2021 08:48:07 +0000 (10:48 +0200)]
Fix args-out-of-range error in format.el
* lisp/format.el (format-deannotate-region): Ignore todo items
with FROM > TO. (Bug#47277)
Paul Eggert [Sat, 20 Mar 2021 00:47:24 +0000 (17:47 -0700)]
Don’t convert pointer to bool
Without this patch, Oracle Studio 12.6 complains about converting
pointer to bool.
* src/editfns.c (styled_format): Use !!.
Stefan Kangas [Sat, 20 Mar 2021 00:16:26 +0000 (01:16 +0100)]
Assume something more recent than X11R6
* lisp/bindings.el:
* lisp/menu-bar.el:
* lisp/printing.el:
* lisp/thumbs.el (thumbs-conversion-program): Assume we have something
more recent than X11R6.
Stefan Kangas [Sat, 20 Mar 2021 00:10:37 +0000 (01:10 +0100)]
Use lexical-binding in thumbs.el
* lisp/thumbs.el: Use lexical-binding. Remove redundant :group args.
* test/lisp/thumbs-tests.el: New file.
Stefan Kangas [Fri, 19 Mar 2021 23:12:38 +0000 (00:12 +0100)]
* lisp/novice.el: Use lexical-binding.
Stefan Monnier [Fri, 19 Mar 2021 23:04:27 +0000 (19:04 -0400)]
* lisp/wdired.el: Use lexical-binding
Remove redundant `:group` args.
(wdired-change-to-wdired-mode): Use `add-function` to modify
`revert-buffer-function`.
(wdired-change-to-dired-mode): Adjust accordingly.
(wdired-do-renames): Make sure to bind `dired-backup-overwrite` dynamically.
Stefan Kangas [Fri, 19 Mar 2021 22:59:47 +0000 (23:59 +0100)]
Don't tag mouse command as mode exclusive
* lisp/finder.el (finder-mouse-select): Don't tag for finder-mode.
Stefan Monnier [Fri, 19 Mar 2021 22:33:38 +0000 (18:33 -0400)]
* lisp/emacs-lisp/bytecomp.el: Remember location of unresolved calls
I've gotten tired of seeing the "function foo not known to be defined"
warning without any line number information. So this patch adds as
line number the position of the first use of that function in the file
(well, approximately, as usual).
(byte-compile-unresolved-functions): Add POSITIONs in the alist.
(byte-compile-function-warn): Store the current position in
`byte-compile-unresolved-functions`.
(byte-compile-arglist-warn): Adjust accordingly.
(byte-compile-print-syms): Delete unused function.
(byte-compile-warn-about-unresolved-functions): Use the stored position
to give more precise warnings.
Stefan Monnier [Fri, 19 Mar 2021 21:42:22 +0000 (17:42 -0400)]
* lisp/emacs-lisp/pcase.el (pcase-compile-patterns): New function (bug#47261)
Extracted from `pcase--expand`.
(pcase--expand): Use it.
Eli Zaretskii [Fri, 19 Mar 2021 12:46:15 +0000 (14:46 +0200)]
Improve the docs of a recent change in mb-depth.el
* lisp/mb-depth.el (minibuffer-depth-indicator-function): Improve
the wording of the doc string and of the label used for the
default value. (Bug#47252)
Mauro Aranda [Fri, 19 Mar 2021 08:50:55 +0000 (05:50 -0300)]
Fix :type of recently introduced defcustom
* lisp/mb-depth.el (minibuffer-depth-indicator-function): The option
can be nil, so add nil as a choice. (Bug#47252)
Gabriel do Nascimento Ribeiro [Fri, 19 Mar 2021 08:37:55 +0000 (09:37 +0100)]
Make minibuffer-depth-indicator-function a defcustom
* lisp/mb-depth.el (minibuffer-depth-indicator-function): Make
into a user option (bug#47252).
Lars Ingebrigtsen [Fri, 19 Mar 2021 07:58:32 +0000 (08:58 +0100)]
Warn the user if we can't find pkg-config
* configure.ac (WITH_IFAVAILABLE): Warn the user if we can't find
a usable pkg-config (bug#47159).
Lars Ingebrigtsen [Fri, 19 Mar 2021 07:44:19 +0000 (08:44 +0100)]
Add a note to NEWS as to how to restore the facemenu
Stefan Monnier [Fri, 19 Mar 2021 03:32:57 +0000 (23:32 -0400)]
Fix copyright lines mistakenly treated as outline headers
* lisp/emacs-lisp/generator.el:
* test/lisp/cedet/semantic-utest.el:
* test/lisp/cedet/semantic/format-tests.el:
* test/lisp/cedet/semantic/fw-tests.el:
* test/lisp/cedet/semantic/bovine/gcc-tests.el:
* test/lisp/cedet/semantic/format-resources/test-fmt.el:
* test/manual/cedet/semantic-tests.el:
* lisp/obsolete/inversion.el: Use only 2 semi-colons before "Copyright".
Stefan Monnier [Fri, 19 Mar 2021 03:14:33 +0000 (23:14 -0400)]
lisp/erc: Use lexical-binding
Also remove various redundant `:group` arguments.
* lisp/erc/erc-backend.el (define-erc-response-handler): Move `declare`
after the docstring.
* lisp/erc/erc-capab.el: Use lexical-binding.
(erc-capab-identify-activate): Simplify with `member`.
* lisp/erc/erc-dcc.el (erc-dcc): Move before erc-dcc-mode definition,
which refers to it.
(erc-dcc-chat-accept): Remove unused vars `nick` and `buffer`.
* lisp/erc/erc-imenu.el: Use lexical-binding.
(erc-create-imenu-index): Remove unused var `prev-pos`.
* lisp/erc/erc-match.el: Use lexical-binding.
(erc-match-message): Remove unused var `old-pt`.
(erc-match-message): Strength-reduce `eval` to `symbol-value`.
* lisp/erc/erc-page.el: Use lexical-binding.
(erc-page): Move Custom group before `erg-page-mode` which refers to it.
* lisp/erc/erc-replace.el: Use lexical-binding.
(erc-replace-insert): Use `functionp`.
* lisp/erc/erc-status-sidebar.el: Use lexical-binding.
(erc-status-sidebar-open): Remove unused var `sidebar-window`.
* lisp/erc/erc.el: Fix header to use the customary 3 semi-colons.
(erc-fill-column): Declare variable.
* lisp/erc/erc-autoaway.el: Use lexical-binding.
* lisp/erc/erc-ezbounce.el: Use lexical-binding.
* lisp/erc/erc-fill.el: Use lexical-binding.
* lisp/erc/erc-goodies.el: Use lexical-binding.
* lisp/erc/erc-ibuffer.el: Use lexical-binding.
* lisp/erc/erc-identd.el: Use lexical-binding.
* lisp/erc/erc-join.el: Use lexical-binding.
* lisp/erc/erc-lang.el: Use lexical-binding.
* lisp/erc/erc-log.el: Use lexical-binding.
* lisp/erc/erc-menu.el: Use lexical-binding.
* lisp/erc/erc-netsplit.el: Use lexical-binding.
* lisp/erc/erc-networks.el: Use lexical-binding.
* lisp/erc/erc-pcomplete.el: Use lexical-binding.
* lisp/erc/erc-ring.el: Use lexical-binding.
* lisp/erc/erc-speedbar.el: Use lexical-binding.
* lisp/erc/erc-spelling.el: Use lexical-binding.
* lisp/erc/erc-truncate.el: Use lexical-binding.
* lisp/erc/erc-xdcc.el: Use lexical-binding.
Stefan Kangas [Fri, 19 Mar 2021 01:22:25 +0000 (02:22 +0100)]
Do interactive mode tagging for finder.el
Stefan Kangas [Fri, 19 Mar 2021 01:14:10 +0000 (02:14 +0100)]
Use lexical-binding in finder.el
* lisp/finder.el: Use lexical-binding.
(finder-mode-map, finder-compile-keywords): Remove unused lexical
variables.
Stefan Kangas [Fri, 19 Mar 2021 01:12:01 +0000 (02:12 +0100)]
Fix a warning due to not preloading facemenu.el
* test/src/undo-tests.el (facemenu): Require.
Stefan Kangas [Thu, 18 Mar 2021 22:36:08 +0000 (23:36 +0100)]
* lisp/faces.el (help-key-binding): Tweak background.
Stefan Monnier [Thu, 18 Mar 2021 21:54:43 +0000 (17:54 -0400)]
* lisp/emacs-lisp/cl-macs.el (cl--self-tco): Optimize the "return nil" case
Stefan Monnier [Thu, 18 Mar 2021 18:32:36 +0000 (14:32 -0400)]
* test/lisp/progmodes/cperl-mode-tests.el: Silence warnings
(cperl-test-bug-47112): Actually obey the major-mode for the test.
Juri Linkov [Thu, 18 Mar 2021 18:01:26 +0000 (20:01 +0200)]
* lisp/newcomment.el: Allow 'comment-continue' with whitespace (bug#47167)
* lisp/newcomment.el (comment-region-default-1): Still use 'comment-continue'
as a string with whitespace even when 'comment-padright' returns nil.
Juri Linkov [Thu, 18 Mar 2021 17:56:45 +0000 (19:56 +0200)]
* lisp/simple.el (next-error-quit-window): New function (bug#44611).
(next-error-found-function): Add it as a choice.
Glenn Morris [Thu, 18 Mar 2021 16:16:10 +0000 (09:16 -0700)]
; ChangeLog.3 fix
admin/make-tarball.txt:
"It's best not to commit these files until the release is actually made"
Glenn Morris [Thu, 18 Mar 2021 16:02:30 +0000 (09:02 -0700)]
* admin/make-tarball.txt: Be kind to people merging branches.
Glenn Morris [Thu, 18 Mar 2021 15:52:48 +0000 (08:52 -0700)]
Merge from origin/emacs-27
d5b160d7cc (tag: emacs-27.2-rc1, origin/emacs-27) Prepare the Emacs 2...
216bd67a4f ; * admin/make-tarball.txt: Advise to remove stale subdire...
# Conflicts:
# ChangeLog.3
# README
# configure.ac
# etc/AUTHORS
# etc/NEWS
# lisp/ldefs-boot.el
# msdos/sed2v2.inp
# nt/README.W32
Glenn Morris [Thu, 18 Mar 2021 15:50:32 +0000 (08:50 -0700)]
; Merge from origin/emacs-27
The following commit was skipped:
7ae4588bb4 Document that `buffer-string' retains text properties
Glenn Morris [Thu, 18 Mar 2021 15:50:32 +0000 (08:50 -0700)]
Merge from origin/emacs-27
a7f95d5244 Remove duplicate @table item from ELisp manual
be1b3512f7 Fix reference to 'diff-font-lock-syntax' in diff-mode docu...
Glenn Morris [Thu, 18 Mar 2021 15:50:32 +0000 (08:50 -0700)]
; Merge from origin/emacs-27
The following commit was skipped:
b9ec6111e2 Fix buffer overflow in xbm_scan (bug#47094)
Glenn Morris [Thu, 18 Mar 2021 15:50:32 +0000 (08:50 -0700)]
Merge from origin/emacs-27
f60eb988f6 Fix typos and omissions for (elisp)Button Buffer Commands
876b95bf90 Teach Rmail about NBSP in "Re:"
# Conflicts:
# lisp/mail/rmail.el
Glenn Morris [Thu, 18 Mar 2021 15:44:16 +0000 (08:44 -0700)]
; Merge from origin/emacs-27
The following commit was skipped:
a2960025e8 Revert "* lisp/mouse.el: Fix mouse-1-clock-follows-mouse =...
Eli Zaretskii [Thu, 18 Mar 2021 12:43:54 +0000 (08:43 -0400)]
Prepare the Emacs 27.2 release.
* etc/HISTORY: Update for Emacs 27.2.
* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp: Set version to 27.2
Mattias Engdegård [Thu, 18 Mar 2021 12:33:09 +0000 (13:33 +0100)]
Optimise tail calls in `and` and `or` forms in `cl-labels` functions
* lisp/emacs-lisp/cl-macs.el (cl--self-tco): Handle `and` and `or`.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
Add test cases.
Michael Albinus [Thu, 18 Mar 2021 11:43:35 +0000 (12:43 +0100)]
Extend handled events in 'while-no-input-ignore-events' (Bug#47205)
* etc/NEWS: Mention changes to 'while-no-input-ignore-events'.
* src/keyboard.c (kbd_buffer_store_buffered_event): Handle also
Qfile_notify and Qdbus_event as ignore_event. (Bug#47205)
Eli Zaretskii [Thu, 18 Mar 2021 10:49:02 +0000 (12:49 +0200)]
; * admin/make-tarball.txt: Advise to remove stale subdirectories.
Stefan Kangas [Thu, 18 Mar 2021 10:17:34 +0000 (11:17 +0100)]
Add comint-password-prompt-regexp test for "zip -e ..."
* test/lisp/comint-tests.el (comint-testsuite-password-strings):
Add test for "zip -e ...". (Bug#47209)
Lars Ingebrigtsen [Thu, 18 Mar 2021 10:15:50 +0000 (11:15 +0100)]
Compute chart-face-list dynamically
* lisp/emacs-lisp/chart.el (chart-face-list): Allow a function as
the value (bug#47133) so that we can compute the faces dynamically
on different displays.
(chart--face-list): New function.
(chart-draw-data): Use it.
Lars Ingebrigtsen [Thu, 18 Mar 2021 04:59:12 +0000 (05:59 +0100)]
Document that `buffer-string' retains text properties
* doc/lispref/text.texi (Buffer Contents): Mention text properties
in the `buffer-string' documentation.
* src/editfns.c (Fbuffer_string): Mention text properties in the
doc string (bug#47220).
(cherry picked from commit
60af754170f22f5d25510af069ed0ebfec95f992)
Lars Ingebrigtsen [Thu, 18 Mar 2021 08:22:28 +0000 (09:22 +0100)]
Fix breaking undo-test
Lars Ingebrigtsen [Thu, 18 Mar 2021 07:43:22 +0000 (08:43 +0100)]
Make "not found" message in dictionary less misleading
* lisp/net/dictionary.el (dictionary-do-search): Don't say there
are more words when there aren't (bug#47056).
Lars Ingebrigtsen [Thu, 18 Mar 2021 07:33:40 +0000 (08:33 +0100)]
Make memory-report work with buffer-local unbound vars
* lisp/emacs-lisp/memory-report.el (memory-report--buffer-data):
Protect against buffer-local unbound variables (bug#47057).
Lars Ingebrigtsen [Thu, 18 Mar 2021 07:25:17 +0000 (08:25 +0100)]
Fix sorting in speedbar sub-groups
* lisp/speedbar.el (speedbar-prefix-group-tag-hierarchy): Sort
entries in sub-groups (bug#47073).
Gabriel do Nascimento Ribeiro [Thu, 18 Mar 2021 07:10:52 +0000 (08:10 +0100)]
lisp/cedet/pulse.el: Use color.el
* lisp/cedet/pulse.el: (pulse-int-to-hex): Remove function.
(pulse-color-values-to-hex): Remove function.
(pulse-lighten-highlight): Remove function.
(pulse-momentary-iteration): Add variable.
(pulse-momentary-highlight-overlay): Use color-gradient from color.el.
(pulse-tick): Receive colors and update overlay background (bug#47083).
Harald Jörg [Thu, 18 Mar 2021 07:06:13 +0000 (08:06 +0100)]
cperl-mode: Don't interpret y_ as start of y// function.
* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Avoid
treating underscores as word-terminators.
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-bug-47112): Test case for that bug (bug#47112).
Gabriel do Nascimento Ribeiro [Thu, 18 Mar 2021 06:54:46 +0000 (07:54 +0100)]
Fix uniquify-trailing-separator-p + uniquify-strip-common-suffix
(uniquify-item): New slot 'original-dirname'.
(uniquify-rationalize-file-buffer-names): Use new slot.
(uniquify-rationalize): Use new slot.
(uniquify-get-proposed-name): New optional argument 'original-dirname'
to properly add a trailing separator when the corresponding user option
is set and the dirname is an existing directory (bug#47132).
Lars Ingebrigtsen [Thu, 18 Mar 2021 06:36:15 +0000 (07:36 +0100)]
Fix problem of trashing files to an inconsistent trash directory
* lisp/files.el (move-file-to-trash): Allow moving files to trash
even if there's a file in trash with the same name (but no entry
in info) (bug#47135).
Lars Ingebrigtsen [Thu, 18 Mar 2021 05:21:44 +0000 (06:21 +0100)]
Autoload 'mouse-wheel-mode'
* lisp/mwheel.el (mouse-wheel-mode): Autoload, since the mode can
be used (but isn't preloaded) when there isn't any window system
(bug#47162).
Lars Ingebrigtsen [Thu, 18 Mar 2021 05:11:06 +0000 (06:11 +0100)]
Recognise "Verify password" as a password prompt
* lisp/comint.el (comint-password-prompt-regexp): Also react to
"Verify password" (output by "zip -e") (bug#47209).
Lars Ingebrigtsen [Thu, 18 Mar 2021 04:59:12 +0000 (05:59 +0100)]
Document that `buffer-string' retains text properties
* doc/lispref/text.texi (Buffer Contents): Mention text properties
in the `buffer-string' documentation.
* src/editfns.c (Fbuffer_string): Mention text properties in the
doc string (bug#47220).
Lars Ingebrigtsen [Thu, 18 Mar 2021 04:55:16 +0000 (05:55 +0100)]
Don't pre-load facemenu
* lisp/facemenu.el (facemenu-add-face-function): Move to avoid a
compilation warning.
(facemenu-color-alist): Made obsolete.
* lisp/faces.el (read-color): Don't use it.
* lisp/loadup.el ("emacs-lisp/syntax"): Don't load facemenu.
* lisp/wid-edit.el (color): Don't use facemenu-color-alist.
(widget-color--choose-action): Require facemenu.
(widget-color-action): Ditto.
* lisp/progmodes/cperl-mode.el (facemenu): Require.
* lisp/textmodes/sgml-mode.el (facemenu): Require.
Lars Ingebrigtsen [Thu, 18 Mar 2021 04:10:32 +0000 (05:10 +0100)]
Unbind `M-o' and add new `C-x x f' binding
* doc/lispref/modes.texi (Other Font Lock Variables):
`font-lock-fontify-block' is no longer bound.
* lisp/bindings.el (ctl-x-x-map): Bind `font-lock-update'.
* lisp/font-lock.el (font-lock-update): New command written by
Gregory Heytings <gregory@heytings.org>.
* lisp/loadup.el: Remove transitional experimental code.
Stefan Monnier [Thu, 18 Mar 2021 03:32:39 +0000 (23:32 -0400)]
* lisp/textmodes: Use lexical-binding
* lisp/textmodes/enriched.el: Use lexical-binding.
(enriched-mode): Use `delete-dups` to avoid `add-to-list` on
a local variable.
* lisp/textmodes/makeinfo.el: Use lexical-binding.
(makeinfo-region): Remove unused var `filename-or-header`.
* lisp/textmodes/refbib.el: Use lexical-binding.
(r2b-put-field): Remove unused var `multi-line`.
(r2b-barf-output): Remove unused var `match`.
* lisp/textmodes/refer.el: Use lexical-binding.
(refer-find-entry-internal): Remove unused vars `old-buffer` and `found`.
* lisp/textmodes/reftex-auc.el: Use lexical-binding.
(LaTeX-add-bibitems): Declare function.
(reftex-plug-into-AUCTeX): Use `add-function` and `advice-add` so we
can properly unplug.
* lisp/textmodes/reftex-cite.el: Use lexical-binding.
(reftex-create-bibtex-file): Remove unused var `file`.
(reftex--found-list): Declare var.
(reftex-offer-bib-menu): Rename local var to `reftex--found-list`.
* lisp/textmodes/reftex-dcr.el: Use lexical-binding.
(reftex-use-itimer-in-xemacs): Delete XEmacs-only var.
(reftex-toggle-auto-view-crossref): Delete XEmacs-only code.
(reftex-start-itimer-once): Delete XEmacs-only function.
* lisp/textmodes/reftex-global.el: Use lexical-binding.
(reftex-isearch-push-state-function): Use a closure instead of `(lambda).
* lisp/textmodes/reftex-index.el: Use lexical-binding.
(mark-active, transient-mark-mode): Delete var declarations.
(reftex-index-mode-map): Remove XEmacs-only code.
Use `mapc` so we can use closures instead of hand-built lambdas.
(reftex-index-next, reftex-index-previous): Tweak interactive spec to
remove unused prefix arg and mark it as a motion command.
(reftex-index-phrases-font-lock-keywords)
(reftex-index-phrases-font-lock-keywords): Move initialization into
declaration.
(reftex-index-initialize-phrases-buffer, reftex-index-phrases-mode)
reftex-index-phrases-apply-to-region: Remove XEmacs-only code.
(TeX-master): Remove redundant declaration.
(reftex--chars-first): Rename dynvar from `chars-first`. Adjust all uses.
* lisp/textmodes/reftex-parse.el: Use lexical-binding.
* lisp/textmodes/reftex-ref.el: Use lexical-binding.
(reftex-label): Remove always-nil var `text`.
(reftex-refstyle): Declare before first use.
(<toplevel>): Use closures rather than `eval` when building commands from
`reftex-ref-style-alist`.
* lisp/textmodes/reftex-sel.el: Use lexical-binding.
(reftex-select-label-mode-map, reftex-select-bib-mode-map):
Use `mapc` so we can use closures instead of hand-built lambdas.
(reftex-select-label-mode, reftex-select-bib-mode): Remove XEmacs-only code.
(reftex-select-data, reftex-select-prompt, reftex-refstyle):
Move declaration before first use.
(reftex--found-list, reftex--cb-flag, reftex--last-data)
(reftex--call-back, reftex--help-string): Move declaration before use,
and rename by adding `reftext--` prefix. Adjust all uses in this file.
For `reftex--found-list` adjust corresponding uses in `reftex-cite.el`.
(reftex-select-item): Explicitly let-bind them.
Remove XEmacs-only code.
* lisp/textmodes/reftex-toc.el: Use lexical-binding.
(reftex-toc-mode-map, reftex-toc-mode, reftex-toc-restore-region)
(reftex-toc-next, reftex-toc-previous, reftex-toc-next-heading)
(reftex-toc-previous-heading, reftex-toggle-auto-toc-recenter
(reftex-make-separate-toc-frame): Remove XEmacs-only code.
* lisp/textmodes/reftex-vars.el: Use lexical-binding.
* lisp/textmodes/reftex.el: Use lexical-binding.
(reftex-mode-map, reftex-mode, reftex-fontify-select-label-buffer)
(reftex-verified-face): Remove XEmacs-only code.
(reftex-region-active-p, reftex-overlay-put, reftex-move-overlay)
(reftex-make-overlay, reftex-get-buffer-visiting, reftex-delete-overlay):
Redefine as obsolete aliases. Replace all callers.
(current-message): Remove XEmacs-only definition.
* lisp/textmodes/remember.el: Use lexical-binding.
* lisp/textmodes/table.el (<toplevel>): Use closures rather than `(lambda)
to build commands.
* lisp/textmodes/texinfmt.el: Use lexical-binding.
(texinfo-example-start): Declare var.
(texinfo-format-region, texinfo-format-buffer-1): Remove unused var
`last-input-buffer`.
(texinfo-format-scan): Use `dlet` to bind `whitespace-silent`.
(texinfo-optional-braces-discard, texinfo-format-parse-line-args)
(texinfo-format-parse-args): Remove unused var `start`.
(texinfo-multitable-widths): Remove unused var `start-of-templates`.
(texinfo-multitable-item): Strength-reduce `eval` to `symbol-value`.
(texinfo-alias): Remove unused vars `start` and `args`.
(texinfo-defun-type symbol-property): Change the car to help the type
symbol rather than an expression returning it.
(texinfo-format-deffn): Remove corresponding `eval`.
(texinfo-clear): Remove unused var `value`.
(texinfo-format-ifeq): Remove unused var `end`.
* lisp/textmodes/texinfo.el: Use lexical-binding.
(tex-show-print-queue): Declare function.
* lisp/textmodes/texnfo-upd.el: Use lexical-binding.
(texinfo-start-menu-description): Remove unused var `end`.
(texinfo-insert-node-lines): Remove unused var `beginning-marker`.
(texinfo-multiple-files-update): Remove unused vars `next-node-name`
and `previous-node-name`.
* lisp/textmodes/two-column.el: Use lexical-binding.
Dmitry Gutov [Thu, 18 Mar 2021 00:35:10 +0000 (02:35 +0200)]
Leave signaling the exact error to cl-generic's internals
* lisp/progmodes/project.el (project-root): Extract default
definition to a new method, predicated on a context
(https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00771.html).
Stefan Monnier [Wed, 17 Mar 2021 23:04:28 +0000 (19:04 -0400)]
* lisp/emacs-lisp/benchmark.el (benchmark-call): New function
(benchmark-run, benchmark-run-compiled, benchmark): Use it.
(benchmark--adaptive): New internal function.
Juri Linkov [Wed, 17 Mar 2021 17:42:48 +0000 (19:42 +0200)]
* lisp/tab-line.el: Face cleanup.
Juri Linkov [Wed, 17 Mar 2021 17:42:27 +0000 (19:42 +0200)]
* lisp/tab-bar.el: New faces and face options.
* lisp/tab-bar.el (tab-bar-tab-group-current)
(tab-bar-tab-group-inactive, tab-bar-tab-ungrouped): New deffaces.
(tab-bar-tab-face-function): New defcustom.
(tab-bar-tab-face-default): New function.
(tab-bar-tab-name-format-default): Use it.
(tab-bar-tab-group-format-default): Use tab-bar-tab-group-inactive face.
(tab-bar-tab-group-face-function): New defcustom.
(tab-bar-tab-group-face-default): New function.
(tab-bar--format-tab-group): Add new arg 'current-p'.
(tab-bar-format-tabs-groups): Prepend current group name before first tab.
Override tab-bar-tab-face-function with tab-bar-tab-group-face-function.
Dmitry Gutov [Wed, 17 Mar 2021 16:49:14 +0000 (18:49 +0200)]
Stop project-root from going into infinite recursion
* lisp/progmodes/project.el (project--within-roots-fallback):
New variable.
(project-root, project-roots): Use it (bug#47168).
Fabrice Bauzac [Tue, 16 Mar 2021 20:09:15 +0000 (21:09 +0100)]
Remove duplicate @table item from ELisp manual
* doc/lispref/objects.texi (Special Read Syntax): Remove duplicate
item "#@N" from the table of Special Read Syntax. (Bug#47200)
Michael Albinus [Tue, 16 Mar 2021 18:45:23 +0000 (19:45 +0100)]
; Remove traces from tramp-tests.el
Juri Linkov [Tue, 16 Mar 2021 18:07:34 +0000 (20:07 +0200)]
New commands xref-next-line-no-show and xref-prev-line-no-show (bug#44611)
* lisp/progmodes/xref.el (xref-next-line-no-show)
(xref-prev-line-no-show): New commands.
(xref-next-line, xref-prev-line): Use them.
Juri Linkov [Tue, 16 Mar 2021 18:03:55 +0000 (20:03 +0200)]
Minor fixes
* lisp/frame.el (set-frame-property--interactive): Remove '(point)'
that makes no sense as the default value. (Bug#9970)
* lisp/simple.el (next-error-found-function): Move defcustom
closer to function 'next-error-found' where it's used.
Juri Linkov [Tue, 16 Mar 2021 17:54:54 +0000 (19:54 +0200)]
* lisp/tab-bar.el (tab-bar-select-tab): Support negative arg.
Juri Linkov [Tue, 16 Mar 2021 17:53:27 +0000 (19:53 +0200)]
* lisp/tab-bar.el: Simplify internal functions.
* lisp/tab-bar.el (tab-bar-tabs-set): New function.
(tab-bar-tabs): Use tab-bar--current-tab-find and tab-bar-tabs-set.
(tab-bar--tab): Use tab-bar--current-tab-find.
(tab-bar--current-tab): Remove unused line (assq 'current-tab ...)
because there is no current-tab when it's called. Remove unused arg 'frame'.
(tab-bar--current-tab-find): Simplify.
(tab-bar-move-tab-to, tab-bar-move-tab-to-frame)
(tab-bar-new-tab-to, tab-bar-close-tab)
(tab-bar-close-other-tabs, tab-bar-undo-close-tab)
(tab-switcher-delete-from-list): Use tab-bar-tabs-set
instead of set-frame-parameter.
(tab-bar-close-group-tabs): Simplify using tab-bar--current-tab-find
without arg.
Michael Albinus [Tue, 16 Mar 2021 17:40:24 +0000 (18:40 +0100)]
Fix problem of image-tests.el on emba
* test/README: Mention $EMACS_TEST_DIRECTORY.
* test/lisp/image-tests.el (image-tests--emacs-images-directory):
Use `data-directory', for runs w/o of make.
(image-type/from-filename): Check for `image-load-path'.
Michael Albinus [Tue, 16 Mar 2021 17:39:51 +0000 (18:39 +0100)]
Fix problem in Tramp running two async processes in parallel
* lisp/net/tramp-integration.el
(tramp-compile-disable-ssh-controlmaster-options): New defun. Add
it to `compilation-mode-hook'. (Bug#45518)
* lisp/progmodes/compile.el (compilation-get-file-structure):
Revert commit
4ce5646d59, it isn't needed.
Michael Albinus [Tue, 16 Mar 2021 15:35:23 +0000 (16:35 +0100)]
; Further traces in tramp-tests.el
Michael Albinus [Tue, 16 Mar 2021 14:36:54 +0000 (15:36 +0100)]
; Trace variables in tramp-tests.el
Stefan Monnier [Tue, 16 Mar 2021 12:43:45 +0000 (08:43 -0400)]
* etc/themes/modus-themes.el: Bump version for GNU ELPA release
(News:): New section.
Daniel Martín [Tue, 16 Mar 2021 00:29:28 +0000 (01:29 +0100)]
Add minibuffer input support to commands that set the frame size
* lisp/frame.el (set-frame-property--interactive): Internal function to
produce the interactive form of `set-frame-width' and
`set-frame-height'. Offer the current size as default. (Bug#9970)
* src/frame.c (Fset_frame_height): Modify to call
`set-frame-property--interactive'.
(Fset_frame_width): Modify to call `set-frame-property--interactive'.
* doc/lispref/frames.texi (Frame Size): Update the manuals.
* etc/NEWS: Advertise the change (bug#9970).
Juri Linkov [Mon, 15 Mar 2021 17:21:53 +0000 (19:21 +0200)]
* lisp/tab-bar.el (tab-bar-new-tab-group): New defcustom.
(tab-bar--current-tab, tab-bar-new-tab-to, tab-bar-duplicate-tab): Use it.
Juri Linkov [Mon, 15 Mar 2021 17:20:06 +0000 (19:20 +0200)]
* lisp/tab-bar.el (tab-bar-tab-group-format-function): New defcustom.
(tab-bar-tab-group-default): New function.
(tab-bar-tab-group-format-default, tab-bar-format-tabs-groups)
(tab-bar-change-tab-group, tab-bar-close-group-tabs): Use it.
Glenn Morris [Mon, 15 Mar 2021 15:51:05 +0000 (08:51 -0700)]
* CONTRIBUTE: Refer to gnulib for request-assign.future.
The vast majority of the exchanges on this topic are "please send me
the form; ok I sent you the form", and there's no need to involve a
mailing list for that.
Protesilaos Stavrou [Mon, 15 Mar 2021 14:04:20 +0000 (10:04 -0400)]
Make the `kbd` macro work in both Emacs-26 and Emacs-28
This is so that elpa.gnu.org's Emacs-26 can successfully build the
Info version of it for the GNU ELPA package.
Michael Albinus [Mon, 15 Mar 2021 08:49:20 +0000 (09:49 +0100)]
Improve command completion in tramp-crypt.el
* lisp/net/tramp-crypt.el (tramp-crypt-command-completion-p):
Rename from `tramp-crypt-enabled-p'. Handle
`tramp-crypt-remove-directory' special.
Stefan Kangas [Mon, 15 Mar 2021 08:16:47 +0000 (09:16 +0100)]
; Silence byte-compiler after previous commit
Stefan Kangas [Mon, 15 Mar 2021 08:15:29 +0000 (09:15 +0100)]
* lisp/textmodes/refill.el: Use lexical-binding.
Stefan Monnier [Mon, 15 Mar 2021 04:08:34 +0000 (00:08 -0400)]
* lisp/cedet: Convert remaining files to lexical-binding
Remove a few more redundant `:group` args.
Make use of lexical scoping to replace `(lambda...) with proper closures.
* lisp/cedet/ede/custom.el (ede-project-sort-targets-list):
Use `dotimes` and replace `(lambda..) with closures.
* lisp/cedet/ede/proj-comp.el (proj-comp-insert-variable-once):
* lisp/cedet/ede/pmake.el (ede-pmake-insert-variable-once):
Remove unused var `addcr`.
* lisp/cedet/semantic/complete.el: Use lexical-binding.
(semantic-displayer-show-request): Remove unused var `typing-count`.
Use `equal` instead of `stringp+string=`.
* lisp/cedet/semantic/db-ebrowse.el: Use lexical-binding.
(semanticdb-create-ebrowse-database): Remove unused vars `mma` and `regexp`.
(semanticdb-ebrowse-strip-trees): Remove unused var `class` and `filename`.
(semanticdb-ebrowse-add-globals-to-table): Remove unused var `fname`.
* lisp/cedet/semantic/db-find.el: Use lexical-binding.
(semanticdb-find-adebug-insert-scanned-tag-cons): Remove always-nil var
`tip`.
* lisp/cedet/semantic/db-global.el: Use lexical-binding.
(semanticdb-enable-gnu-global-databases): Access local var
`semantic--ih` by sticking its value in the code passed to `eval`
rather than by dynamic scoping.
* lisp/cedet/semantic/db-typecache.el: Use lexical-binding.
(semanticdb-db-typecache-dump): Remove unused var `junk`.
* lisp/cedet/semantic/debug.el: Use lexical-binding.
* lisp/cedet/semantic/dep.el: Use lexical-binding.
(semantic-add-system-include): Avoid `add-to-list` on a local variable.
Access local var `value` by sticking its value in the code passed to
`eval` rather than by dynamic scoping.
(semantic-remove-system-include): Don't use `delete` on a list received
from elsewhere.
Access local var `value` by sticking its value in the code passed to
`eval` rather than by dynamic scoping.
(semantic-reset-system-include): Simplify a bit.
* lisp/cedet/semantic/ede-grammar.el: Use lexical-binding.
(project-compile-target): Remove unused vars `csrc` and `cb`.
Use `cl-incf`. Remove apparently unneeded `with-no-warnings`.
* lisp/cedet/semantic/edit.el: Use lexical-binding.
(semantic-edits-change-over-tags): Remove unused var `inner-start`.
(semantic-edits-incremental-parser-1): Silence warnings about
intentionally unused var `last-cond`.
* lisp/cedet/semantic/fw.el: Use lexical-binding.
(recentf-exclude, semantic-init-hook, ede-auto-add-method)
(flymake-start-syntax-check-on-find-file, auto-insert): Declare vars.
* lisp/cedet/semantic/ia-sb.el: Use lexical-binding.
(semantic-ia-sb-key-map): Move initialization into declaration.
(semantic-ia-sb-more-buttons): Remove unused var `idx`.
(semantic-ia-sb-line-path): Simplify `if` -> `or`.
* lisp/cedet/semantic/idle.el (semantic-idle-breadcrumbs--tag-function):
Make it a function returning a closure.
* lisp/cedet/semantic/senator.el: Use lexical-binding.
(senator-search-set-tag-class-filter): Replace `(lambda..) with a closure.
* lisp/cedet/semantic/sort.el: Use lexical-binding.
(semanticdb-search-system-databases): Declare var.
(semantic-tag-external-member-children-default): Replace `(lambda..)
with a closure.
* lisp/cedet/semantic/tag-ls.el: Use lexical-binding.
(semantic-tag-protection-default, semantic-tag-abstract-p-default):
Simplify with `member`.
* lisp/cedet/semantic/util.el: Use lexical-binding.
(semantic-something-to-tag-table): Declare function
`semanticdb-abstract-table--eieio-childp` called via `cl-typep`.
* lisp/cedet/semantic/bovine/scm.el (semantic-default-scheme-setup):
Remove duplicate setting of `imenu-create-index-function`.
* lisp/cedet/semantic/decorate/mode.el (semantic-decoration-build-style-menu):
Replace `(lambda..) with a closure.
* lisp/cedet/srecode/cpp.el (srecode-semantic-apply-tag-to-dict):
Remove always-t variable `member`.
* lisp/cedet/srecode/mode.el (srecode-minor-mode-templates-menu):
Replace `(lambda..) with a closure. Use `push`.
* lisp/cedet/semantic/chart.el: Use lexical-binding.
* lisp/cedet/semantic/db-debug.el: Use lexical-binding.
* lisp/cedet/semantic/db-el.el: Use lexical-binding.
* lisp/cedet/semantic/db-file.el: Use lexical-binding.
* lisp/cedet/semantic/db-javascript.el: Use lexical-binding.
* lisp/cedet/semantic/db-mode.el: Use lexical-binding.
* lisp/cedet/semantic/db-ref.el: Use lexical-binding.
* lisp/cedet/semantic/decorate.el: Use lexical-binding.
* lisp/cedet/semantic/doc.el: Use lexical-binding.
* lisp/cedet/semantic/find.el: Use lexical-binding.
* lisp/cedet/semantic/format.el: Use lexical-binding.
* lisp/cedet/semantic/html.el: Use lexical-binding.
* lisp/cedet/semantic/ia.el: Use lexical-binding.
* lisp/cedet/semantic/imenu.el: Use lexical-binding.
* lisp/cedet/semantic/java.el: Use lexical-binding.
* lisp/cedet/semantic/mru-bookmark.el: Use lexical-binding.
* lisp/cedet/semantic/symref.el: Use lexical-binding.
* lisp/cedet/semantic/tag-file.el: Use lexical-binding.
* lisp/cedet/semantic/tag-write.el: Use lexical-binding.
* lisp/cedet/semantic/texi.el: Use lexical-binding.
* lisp/cedet/semantic/util-modes.el: Use lexical-binding.
Gabriel do Nascimento Ribeiro [Sat, 13 Mar 2021 19:12:47 +0000 (16:12 -0300)]
Init archive and add noconfirm to 'package-install-selected-packages'
* lisp/emacs-lisp/package.el (package-install-selected-packages):
Add call to 'package--archives-initialize' and add optional argument
NOCONFIRM to skip user confirmation when installing packages. (Bug#47124)
Stefan Kangas [Mon, 15 Mar 2021 01:49:07 +0000 (02:49 +0100)]
* lisp/vc/ediff-vers.el: Remove XEmacs compat code.
Stefan Kangas [Mon, 15 Mar 2021 01:32:11 +0000 (02:32 +0100)]
Use lexical-binding in expand.el
* lisp/expand.el: Use lexical-binding. Remove redundant :group args.
Stefan Kangas [Mon, 15 Mar 2021 01:20:23 +0000 (02:20 +0100)]
* lisp/help-macro.el: Use lexical-binding.
Stefan Kangas [Mon, 15 Mar 2021 00:43:11 +0000 (01:43 +0100)]
Add three new tests for image.el
* test/lisp/image-tests.el (image-find-image)
(image-type-from-file-name, image-type/from-filename): New tests.
Stefan Kangas [Sun, 14 Mar 2021 23:27:20 +0000 (00:27 +0100)]
* lisp/wid-edit.el (widget-field): Add subtle border to face.
Stefan Monnier [Sun, 14 Mar 2021 15:35:55 +0000 (11:35 -0400)]
Revert "* lisp/calendar/appt.el (appt-activate): Set the local `write-file-functions`"
This reverts commit
587a97bcb23bc6ea429ab790efa03f2260a9bca8.
We really do want to affect the global part of the hook.
Reported by Gabriel <gabriel376@hotmail.com>.
Juri Linkov [Sun, 14 Mar 2021 09:29:31 +0000 (11:29 +0200)]
* lisp/tab-bar.el: Tab groups can be displayed with tab-bar-format-tabs-groups
* lisp/tab-bar.el (tab-bar-format): Turn defvar into defcustom.
Add :options and force-mode-line-update in :set.
(tab-bar--format-tab): New function refactored from tab-bar-format-tabs.
(tab-bar-format-tabs): Move most of code to tab-bar--format-tab and call it.
(tab-bar-tab-group-format-function): New defcustom.
(tab-bar-tab-group-format-default): New function.
(tab-bar--format-tab-group, tab-bar-format-tabs-groups): New functions.
(tab-bar-format-align-right, tab-bar-format-global): Shorten id.
(tab-bar-change-tab-group): Add refs to tab-bar-format in docstring.
Gabriel do Nascimento Ribeiro [Sat, 13 Mar 2021 22:04:55 +0000 (19:04 -0300)]
* lisp/tab-line.el: Update docstring of 'tab-line-tabs-function' (bug#47117)
(tab-line-tabs-function): Mention 'tab-line-tabs-buffer-groups'
in the docstring.
(tab-line-tabs-buffer-groups): Add docstring.
Gabriel do Nascimento Ribeiro [Sat, 13 Mar 2021 02:12:10 +0000 (23:12 -0300)]
* lisp/tab-line.el: Add face for group-tab (bug#47118)
(tab-line-tab-face-functions): Add choice for 'tab-line-tab-face-group'.
(tab-line-tab-group): New face.
(tab-line-tabs-buffer-groups): Set alist key 'group-tab' for group tabs.
(tab-line-tab-face-group): New function to set face for group tabs.
Michael Albinus [Sun, 14 Mar 2021 08:27:42 +0000 (09:27 +0100)]
* lisp/net/tramp-crypt.el (tramp-crypt-add-directory):
Don't autoload setting property `completion-predicate'.
Daniel Martín [Sun, 14 Mar 2021 01:25:53 +0000 (02:25 +0100)]
Fix reference to 'diff-font-lock-syntax' in diff-mode documentation
* doc/emacs/files.texi (Diff Mode): Add the omitted name of the
variable. (Bug#47129)
Alan Third [Sat, 13 Mar 2021 21:59:59 +0000 (21:59 +0000)]
Fix buffer overflow in xbm_scan (bug#47094)
* src/image.c (xbm_scan): Ensure reading a string doesn't overflow the
buffer.
(cherry picked from commit
ebc3b25409dd614c1814a0643960452683e37aa3)
Alan Third [Sat, 13 Mar 2021 21:59:59 +0000 (21:59 +0000)]
Fix buffer overflow in xbm_scan (bug#47094)
* src/image.c (xbm_scan): Ensure reading a string doesn't overflow the
buffer.
Juri Linkov [Sat, 13 Mar 2021 21:33:14 +0000 (23:33 +0200)]
Separate values 'override' and 'append' in 'outline-minor-mode-highlight'
* lisp/outline.el (outline-font-lock-keywords): Handle 'override' and 'append'
separately.
(outline-minor-mode-highlight): Separate values 'override' and 'append'.
(outline-minor-mode-highlight-buffer): Go to match-beginning
before checking '(point)'.
Stefan Kangas [Sat, 13 Mar 2021 19:14:54 +0000 (20:14 +0100)]
Add help-key-binding styling to wombat theme
* etc/themes/wombat-theme.el (help-key-binding): Add face
definition.
Eli Zaretskii [Sat, 13 Mar 2021 15:04:46 +0000 (17:04 +0200)]
; Add comment for a recent change
* lisp/faces.el (help-key-binding): Comment on the reason for a
recent change.
Eli Zaretskii [Sat, 13 Mar 2021 15:00:15 +0000 (17:00 +0200)]
Fix rare redisplay glitches when image has been removed from display
* src/dispnew.c (update_window): Make sure all glyph rows below
the last visible one are marked as invalid, even when the loop
which "updates the rest of the lines" didn't examine the last
visible row. (Bug#47093)