667e002e — Stefan Monnier 1 year, 6 months ago master
* 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.
efd80237 — Stefan Monnier 1 year, 6 months ago
* 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.
Mention `C-o' in the `RET' doc string

* lisp/simple.el (newline-and-indent): Mention `C-o' in the doc
Fix previous face.el change

* lisp/faces.el (require): Fix compilation warning from previous
face.el change.
8c589c25 — Juri Linkov 1 year, 6 months ago
* 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.
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).
4d944f6d — Michael Albinus 1 year, 6 months ago
* lisp/files-x.el (connection-local-criteria-for-default-directory):

Add optional argument APPLICATION.
Remove unnecessary requires of rx

* lisp/cedet/semantic/wisent/python.el (rx):
* test/src/process-tests.el (rx): Remove unnecessary requires.
Use lexical-binding in notifications.el

* lisp/notifications.el: Use lexical-binding.
(notifications-notify): Prefer 'push' to 'add-to-list'.
7c2ebf6e — Alan Mackenzie 1 year, 6 months ago
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

* src/lisp.h (top level): Declare merge_c and

* 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

* 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.
e276810d — Glenn Morris 1 year, 6 months ago
* 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.
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.
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.
3cbf9232 — Zhiwei Chen 1 year, 6 months ago
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
* lisp/tutorial.el: Use lexical-binding.
f27a9a34 — Stefan Monnier 1 year, 6 months ago
* lisp/cedet/semantic/ia.el (semantic-ia-complete-symbol): Simplify

Cut the `semantic-ia-get-completions-deprecated` middle man.
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.
b4a125e5 — Eli Zaretskii 1 year, 6 months ago
; * etc/NEWS: Minor improvement to the last change.
a9e7ea47 — Eli Zaretskii 1 year, 6 months ago
; Improve a recent change in NEWS

* etc/NEWS: Enhance the description of how to get the old bindings
removed with the 'M-o' keymap.
e33c2bfb — Toby Cubitt 1 year, 6 months ago
Fix cl-progv binding order

* lisp/emacs-lisp/cl-macs.el (cl-progv): Bind variables in the
correct order (bug#47272).