Stefan Monnier [Wed, 24 Mar 2021 02:38:41 +0000 (22:38 -0400)]
* lisp/progmodes/ebnf-*.el: Use lexical-binding
* lisp/progmodes/ebnf-abn.el:
* lisp/progmodes/ebnf-bnf.el:
* lisp/progmodes/ebnf-dtd.el:
* lisp/progmodes/ebnf-ebx.el:
* lisp/progmodes/ebnf-iso.el:
* lisp/progmodes/ebnf-otz.el:
* lisp/progmodes/ebnf-yac.el: Enable lexical-binding.
* lisp/progmodes/ebnf2ps.el (ebnf-apply-style1)
(ebnf-insert-ebnf-prologue): Use lexical-binding.
Stefan Monnier [Tue, 23 Mar 2021 05:00:56 +0000 (01:00 -0400)]
* lisp/mh-e: Enable lexical-binding in all the files
* lisp/mh-e/mh-alias.el: Use lexical-binding.
(mh-alias-insert-file): Completion tables can be mere lists of strings.
* lisp/mh-e/mh-mime.el: Use lexical-binding.
(mh-mm-inline-message): Remove always-nil var `visible-headers`.
* lisp/mh-e/mh-search.el: Use lexical-binding.
(mh-search-folder): Remove unused var `pick-folder`.
* lisp/mh-e/mh-show.el: Use lexical-binding.
(mh-display-msg): Remove always-nil var `visible-headers`.
* lisp/mh-e/mh-utils.el: Use lexical-binding.
(completion-root-regexp): Always declare var.
* lisp/mh-e/mh-buffers.el: Use lexical-binding.
* lisp/mh-e/mh-comp.el: Use lexical-binding.
* lisp/mh-e/mh-folder.el: Use lexical-binding.
* lisp/mh-e/mh-funcs.el: Use lexical-binding.
* lisp/mh-e/mh-gnus.el: Use lexical-binding.
* lisp/mh-e/mh-identity.el: Use lexical-binding.
* lisp/mh-e/mh-inc.el: Use lexical-binding.
* lisp/mh-e/mh-junk.el: Use lexical-binding.
* lisp/mh-e/mh-letter.el: Use lexical-binding.
* lisp/mh-e/mh-limit.el: Use lexical-binding.
* lisp/mh-e/mh-print.el: Use lexical-binding.
* lisp/mh-e/mh-scan.el: Use lexical-binding.
* lisp/mh-e/mh-seq.el: Use lexical-binding.
* lisp/mh-e/mh-speed.el: Use lexical-binding.
* lisp/mh-e/mh-thread.el: Use lexical-binding.
* lisp/mh-e/mh-tool-bar.el: Use lexical-binding.
* lisp/mh-e/mh-xface.el: Use lexical-binding.
Stefan Monnier [Tue, 23 Mar 2021 04:08:24 +0000 (00:08 -0400)]
* lisp/wdired.el: Fix typo in last change.
Reported by Michael Heerdegen <michael_heerdegen@web.de>.
(wdired-change-to-wdired-mode, wdired-change-to-dired-mode):
The `(local FOO)` form takes an expression, so the var needs to be quoted.
Lars Ingebrigtsen [Mon, 22 Mar 2021 19:25:37 +0000 (20:25 +0100)]
Mention `C-o' in the `RET' doc string
* lisp/simple.el (newline-and-indent): Mention `C-o' in the doc
string.
Lars Ingebrigtsen [Mon, 22 Mar 2021 19:18:00 +0000 (20:18 +0100)]
Fix previous face.el change
* lisp/faces.el (require): Fix compilation warning from previous
face.el change.
Juri Linkov [Mon, 22 Mar 2021 18:55:49 +0000 (20:55 +0200)]
* lisp/tab-bar.el (tab-bar-new-tab-group): Set default to t.
(tab-bar-tabs, tab-bar-select-tab, tab-bar-new-tab-to):
Use tab-bar--current-tab-make instead of tab-bar--current-tab.
(tab-bar--tab): Add arg 'frame' to tab-bar--current-tab-find.
(tab-bar--current-tab, tab-bar--current-tab-make): Move most of body
from the former to the latter, thus reverting tab-bar--current-tab
to its previous behavior.
https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00959.html
Lars Ingebrigtsen [Mon, 22 Mar 2021 18:47:25 +0000 (19:47 +0100)]
Use read-color in read-face-attribute for color attributes
* lisp/faces.el (read-face-attribute): Use read-color when
prompting for a color (bug#47316).
Michael Albinus [Mon, 22 Mar 2021 16:47:45 +0000 (17:47 +0100)]
* lisp/files-x.el (connection-local-criteria-for-default-directory):
Add optional argument APPLICATION.
Stefan Kangas [Sun, 21 Mar 2021 23:02:14 +0000 (00:02 +0100)]
Remove unnecessary requires of rx
* lisp/cedet/semantic/wisent/python.el (rx):
* test/src/process-tests.el (rx): Remove unnecessary requires.
Stefan Kangas [Sun, 21 Mar 2021 16:27:44 +0000 (17:27 +0100)]
Use lexical-binding in notifications.el
* lisp/notifications.el: Use lexical-binding.
(notifications-notify): Prefer 'push' to 'add-to-list'.
Alan Mackenzie [Sun, 21 Mar 2021 16:54:31 +0000 (16:54 +0000)]
Prevent open minibuffers getting lost when their frame gets deleted
This happened with minibuffer-follows-selected-frame set to t.
* doc/emacs/mini.texi (Basic Minibuffer): State where a command's action takes
place when a minibuffer's frame has been deleted.
* lisp/window.el (window--before-delete-windows, record-window-buffer): Take
into account that minibuffers are now recorded on w->prev_buffers field.
* src/fns.c (merge_c): New version of `merge' taking a C function, rather than
a Lisp function as the comparison function.
* src/frame.c (do_switch_frame): Pass arguments sf and for_deletion to
move_minibuffers_onnto_frame.
* src/lisp.h (top level): Declare merge_c and
move_minibuffers_onto_selected_frame.
* src/minibuf.c (MB_frame): New Lisp_Object recording the minibuffer's frame.
(choose_minibuf_frame): Remove all code except that which sets minibuf_window
to the current frame's minibuffer.
(minibuffer_ent_greater): New comparison function, passed to merge_c.
(zip_minibuffer_stacks): New function.
(move_minibuffers_onto_frame): Renamed from `move_minibuffer_onto_frame' given
two arguments, the old frame and for_deletion, and simplified. Minibuffers
are now stacked in the mini-window's ->prev_buffers field.
(read_minibuf): Several detailed amendments.
(exp_MB_frame): New Lisp_Object, the expired minibuffer's frame.
(read_minibuf_unwind): Search for the expired minibuffer's frame, rather than
taking it from (unreliable) variables. Switch temporarily to this frame for
tidying up operations.
(minibuffer_unwind): New function which pops a stacked minibuffer.
(syms_of_minibuf): Call staticpro for the two new Lisp variables.
* src/window.c (Fset_window_configuration): Don't record minibuffers with
record-window-buffer.
* src/xdisp.c (gui_consider_frame_title): Remove redundant Fselect_window,
which caused an unwanted frame switch. Amend the arguments to
format_mode_line_unwind_data to match.
Glenn Morris [Sun, 21 Mar 2021 16:15:51 +0000 (09:15 -0700)]
* lisp/thumbs.el (thumbs-conversion-program): Simplify.
/usr/bin is (normally) always in PATH, and this need not be absolute,
so the executable-find is unnecesary.
Stefan Kangas [Sun, 21 Mar 2021 16:04:32 +0000 (17:04 +0100)]
Actually use lexical-binding in wid-browse.el
* lisp/wid-browse.el: Use lexical-binding. I apparently forgot to
commit the lexical-binding cookie in my previous attempt.
Theodor Thornhill [Sun, 21 Mar 2021 07:02:28 +0000 (08:02 +0100)]
Use pop-to-buffer-same-window for shell
* lisp/progmodes/project.el (project-shell): Behave the same way as
'M-x project-eshell'.
* lisp/shell.el (shell): Behave the same way as 'M-x eshell'.
* etc/NEWS: Add news entry describing the change.
* lisp/tutorial.el: Use lexical-binding.
Zhiwei Chen [Sun, 21 Mar 2021 07:09:14 +0000 (08:09 +0100)]
Allow hide-ifdef-guts to work in buffers not visiting files
* lisp/progmodes/hideif.el (hide-ifdef-guts): Allow working in
buffers not visiting files (bug#47279).
Copyright-paperwork-exempt: yes
Stefan Kangas [Sun, 21 Mar 2021 01:26:37 +0000 (02:26 +0100)]
* lisp/tutorial.el: Use lexical-binding.
Stefan Monnier [Sun, 21 Mar 2021 00:39:01 +0000 (20:39 -0400)]
* lisp/cedet/semantic/ia.el (semantic-ia-complete-symbol): Simplify
Cut the `semantic-ia-get-completions-deprecated` middle man.
Stefan Kangas [Sat, 20 Mar 2021 15:09:29 +0000 (16:09 +0100)]
Remove support for Syndic8.com, defunct since 2013
* lisp/gnus/nnrss.el (nnrss-discover-feed)
(nnrss-find-rss-via-syndic8): Remove support for Syndic8.com, as
the site was shut down in 2013.
Eli Zaretskii [Sat, 20 Mar 2021 10:11:04 +0000 (12:11 +0200)]
; * etc/NEWS: Minor improvement to the last change.
Eli Zaretskii [Sat, 20 Mar 2021 09:08:25 +0000 (11:08 +0200)]
; Improve a recent change in NEWS
* etc/NEWS: Enhance the description of how to get the old bindings
removed with the 'M-o' keymap.
Toby Cubitt [Sat, 20 Mar 2021 09:01:13 +0000 (10:01 +0100)]
Fix cl-progv binding order
* lisp/emacs-lisp/cl-macs.el (cl-progv): Bind variables in the
correct order (bug#47272).
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.