1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-27 07:37:33 +00:00
Commit Graph

146045 Commits

Author SHA1 Message Date
Paul Eggert
c3980a3ea6 Merge from origin/emacs-27
291a421c2e * admin/make-tarball.txt: Improve and expand the instructi...
0e4795fc98 Fix preeditarea reporting wrong spot.
2021-03-25 08:26:35 -07:00
Paul Eggert
8ab85f560e ; Merge from origin/emacs-27
The following commits were skipped:

6a4ed891d8 Fix replace-buffer-contents undefined behavior
720a8b17f8 Fix filenotify-tests.el for Solaris (bug#47262), do not merge
2021-03-25 08:26:35 -07:00
Paul Eggert
b702225619 Merge from origin/emacs-27
deef5efafb ; * ChangeLog.3: Update with the log of the last change.
bd991e3c9b Fix frame-inner-height in non-GUI builds
2021-03-25 08:26:34 -07:00
Eli Zaretskii
291a421c2e * admin/make-tarball.txt: Improve and expand the instructions. 2021-03-25 17:24:43 +02:00
Amos Bird
0e4795fc98 Fix preeditarea reporting wrong spot.
This patch adjust the x position of preeditarea with both left fringe
and left margin, which prevents IME preedit box (such as fcitx) from
placing at the wrong position in GUI emacs.
* src/xfns.c (xic_set_preeditarea): Adjust X for left margin width.
(Bug#47377)
2021-03-25 17:22:46 +02:00
Paul Eggert
6a4ed891d8 Fix replace-buffer-contents undefined behavior
* src/editfns.c (Freplace_buffer_contents): Avoid undefined
behavior with competing side effects in parallel subexpressions.
Problem reported by Apple clang version 12.0.0 (clang-1200.0.32.29).
2021-03-25 08:13:12 -07:00
Michael Albinus
720a8b17f8 Fix filenotify-tests.el for Solaris (bug#47262), do not merge
* test/lisp/filenotify-tests.el (file-notify--test-read-event):
Check also for GFamDirectoryMonitor.
(file-notify--test-timeout): Increase cygwin timeout.
(file-notify--test-monitor): Use `alist-get'.
(file-notify--test-event-actions): New defun.
(file-notify--test-with-actions-explainer): Use it.
(file-notify--test-with-actions-check): Use it.  If
file-notify-debug is non-nil, trace received events instead of
checking them.
(file-notify-test03-events, file-notify-test05-file-validity)
(file-notify-test07-many-events, file-notify-test08-backup)
(file-notify-test09-watched-file-in-watched-dir):
Handle GFamFileMonitor and GFamDirectoryMonitor.
2021-03-25 15:36:33 +01:00
Michael Albinus
52a7460416 Adapt Tramp file notification support
* lisp/net/tramp-integration.el (tramp-use-ssh-controlmaster-options):
Declare it.

* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
Remove "gvfs-monitor-dir".
(tramp-sh-gvfs-monitor-dir-process-filter)
(tramp-get-remote-gvfs-monitor-dir): Remove.
(tramp-get-remote-gio-file-monitor): Support also cygwin, and
GFamDirectoryMonitor, GPollFileMonitor.
2021-03-25 12:02:57 +01:00
Glenn Morris
aeb0530309 * doc/emacs/maintaining.texi (Managing Projects): Fixes and copyedits. 2021-03-24 20:15:46 -07:00
Dmitry Gutov
c678b137ab Fix typo
* lisp/progmodes/project.el (project-remove-known-project):
Fix typo (bug#47287).
2021-03-25 01:20:26 +02:00
Theodor Thornhill
275be44dd4 Add command project-remove-known-project
* etc/NEWS: Mention the new command.

* lisp/progmodes/project.el (project--remove-from-project-list): Add
new argument, report-message, used to signal various messages when
removal has happened.

* lisp/progmodes/project.el (project-remove-known-project): New
command that removes the selected directory from the project-list-file.

* lisp/progmodes/project.el (project-current): Add the report message.

* doc/emacs/maintaining.text: Add information about the new command to
the manual.
2021-03-25 01:15:50 +02:00
Stefan Monnier
8e9835c673 * list/progmodes/idl*.el: Use lexical-binding
* lisp/progmodes/idlw-complete-structtag.el: Use lexical-binding.

* lisp/progmodes/idlw-help.el: Use lexical-binding.
Delete redundant `:group` arguments.
(idlwave-query-class, idlwave-force-class-query, idlw-help-name)
(idlw-help-kwd, idlw-help-link): Declare vars.
(idlwave-highlight-linked-completions): Remove unused var `class`.
(idlwave-help-find-in-doc-header): Remove unused var `header-re`.

* lisp/progmodes/idlw-shell.el (idlwave-shell-input-mode-magic):
Remove XEmacs-only code.
(idlwave-shell-filter, idlwave-shell-scan-for-state):
Use `functionp` since a function can also satisfy `listp`.
(idlwave-shell--mouse-examine): Rename from `idlwave-shell-mouse-examine`.
Make it a function, and simplify for Emacs≥22.  Simplify calling convention
since all callers always immediately `funcall`d the result.
Update all callers.
(idlwave-default-mouse-track-event-is-with-button): Use `always`.
(idlwave-shell-filter-bp): Simplify a tiny bit.

* lisp/progmodes/idlw-toolbar.el: Use lexical-binding.
(idlwave-toolbar-add, idlwave-toolbar-remove)
(idlwave-toolbar-add-everywhere, idlwave-toolbar-remove-everywhere)
(idlwave-toolbar-toggle): Remove XEmacs-only code.

* lisp/progmodes/idlwave.el: Use lexical-binding.
(idlwave--dlet): New macro.
(<toplevel>): Use it.
(idlwave-keyword-abbrev): Turn it into a function.
(idlwave-code-abbrev): Delete macro.
(idlwave-mode-abbrev-table): Use `:enable-function` instead.
(idlwave-with-special-syntax): Delete macro; use `with-syntax-table`
instead in all callers.
(idlwave-action-and-binding): Use `alist-get` and replace `(lambda...)
with a proper closure.  Change all callers to prefer passing a function
in the `cmd` argument.
(idlwave-fill-function): Delete constant var.
Replace its uses with its value (the symbol `auto-fill-function`).
(idlwave-mode): Set `normal-auto-fill-function` instead of the
cumbersome use of `idlwave-fill-function`.  Tighten a regexp.
Don't set `imenu-create-index-function` to the value it should already have.
(idlwave-auto-fill-mode): Make it an obsolete alias for `auto-fill-mode`.
(idlwave-modify-abbrev): Rename from `idlwave-check-abbrev`.
Don't check `idlwave-quoted` since `:enable-function` did it for us already.
(idlwave--command-function): Rename from `idlwave-command-hook`
and make it hold a function rather than an expression.
(idlwave-command-hook, idlwave-modify-abbrev): Adjust accordingly.
(idlwave-show-begin-check): Don't check `idlwave-quoted` since
`:enable-function` did it for us already.
(idlwave-do-action): Use `functionp` since a function can also satisfy `listp`
(idlwave-new-sintern-type): Make it a macro, so we don't need to
`declare-function` for the functions it defines.
(idlwave--class-selector, idlwave--type-selector)
(idlwave--method-selector, idlwave--super-classes): Rename those vars
by adding the `idlwave--` prefix.  Adjust all uses.
(idlwave-complete-functions): Rename from `idlwave-complete-special`.
(idlwave-call-special): Declare obsolete.  Change all callers to use
`run-hook-with-args-until-success` instead.
(idlwave-complete-filename): Use `dlet`.
(idlwave-rinfo-assq-any-class): Remove unused var `class`.
(idlwave-determine-class-functions): Rename from
`idlwave-determine-class-special`; fix docstring since the functions
are called with only one argument.
(idlwave--complete-after-success-function): Rename from
`idlwave-complete-after-success-form` and make it hold a function.
Adjust all users.
(idlwave--complete-after-success-force-function): Rename from
`idlwave-complete-after-success-form-force` and make it hold a function.
Adjust all users.
(idlwave-attach-classes): Remove always-t variable `do-dots`.
(idlwave-local-value): Use `local-variable-p` and `buffer-local-value`
to avoid `with-current-buffer`.
(idlwave-default-choose-completion): Comment out (unused and calls
a function that doesn't exist).
(idlwave-shell-filter-sysvars): Remove unused vars `type`, `name`, and `class`
(idlwave-fix-module-if-obj_new): Remove unused var `name`.
(idlwave-fix-keywords): Bind `idlwave--super-classes` via `let` than
via the function's argument.
(idlwave-twin-class, idlwave-twin-name): Move before first use.
(idlwave-study-twins): Remove stealth/redundant `type` variable.
(idlwave-routine-entry-compare-twins): Remove unused var `type`.
(idlwave-path-alist-add-flag): Avoid `add-to-list` on a local var.
(idlwave-list-abbrevs): Simplify a tiny bit.
2021-03-24 17:11:05 -04:00
Juri Linkov
3bacf74adb * lisp/tab-bar.el (tab-bar-tab-post-change-group-functions): New hook.
(tab-bar-change-tab-group): Run it.
(tab-bar-move-tab-to-group): New command for new hook.
2021-03-24 22:14:52 +02:00
Alan Mackenzie
d20a4a50d3 Improve failure reporting in test/lisp/electric-tests.el
In particular, on a failure, output the test's doc string to
electric-tests.log, along with all the other failure information.
Fixes bug #47320.

* electric-tests.el (electric-pair-test-for) New parameter doc-string.  On a
test failure, output the doc-string parameter with message.
(electric-pair-define-test-form): Set the new variable doc-string to the
generated doc string, and pass this as argument to both ert-deftest and
electric-pair-test-for.
2021-03-24 19:01:31 +00:00
Stefan Monnier
a5617bccf7 * lisp/auth-source-pass.el (auth-source): Silence spurious warning 2021-03-24 13:45:13 -04:00
Lars Ingebrigtsen
711569e94c Fix previous format-prompt change: The default can be a symbol
* lisp/minibuffer.el (format-prompt): The default can also be a
symbol.
2021-03-24 18:29:11 +01:00
Harald Jörg
1ac8cd3ef6 perl-mode: Fix regexps for fontification
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-fontify-declarations): New test to ensure consistency
between perl-mode.el and cperl-mode.el (bug#47345).
* lisp/progmodes/perl-mode.el (perl-font-lock-keywords-1): pick
correct capture groups for "use Pack::Age;"
Fontify all components of "Pack::Age", not just "Pack"
(perl-font-lock-keywords-2): Use keyword-face for declarators
2021-03-24 17:06:21 +01:00
Lars Ingebrigtsen
39f16a7d39 Revert "Remove font-lock toggle from font-lock-update"
This reverts commit 23995414fe.

The subject is under discussion.
2021-03-24 17:02:17 +01:00
Paul W. Rankin
23995414fe Remove font-lock toggle from font-lock-update
* lisp/font-lock.el (font-lock-update): Remove call to
font-lock-unfontify-region and font-lock-mode toggle with ARG; this
did not perform what original author intended
2021-03-25 00:27:38 +10:00
Dmitry Gutov
344eea4113 xref.el: Keep Emacs 26 compatibility
* lisp/progmodes/xref.el (xref--read-identifier)
(xref-find-definitions, xref-find-definitions-other-window)
(xref-find-definitions-other-frame, xref-find-references):
Undo the latest change for Emacs 26 compatibility (bug#47286).
2021-03-24 12:39:08 +02:00
Gabriel do Nascimento Ribeiro
88fdc4945a Add optional FORMAT argument to 'emacs-init-time'
* lisp/time.el (emacs-init-time): Add optional FORMAT argument
(bug#47306).
2021-03-24 10:34:22 +01:00
Gabriel do Nascimento Ribeiro
50512e36c7 Replace "(default %s)" with 'format-prompt'
* lisp/cmuscheme.el (scheme-load-file, scheme-compile-file):
* lisp/comint.el (comint-get-source):
* lisp/emulation/viper-cmd.el (viper-quote-region, viper-kill-buffer)
(viper-query-replace, viper-read-string-with-history):
* lisp/eshell/esh-mode.el (eshell-find-tag):
* lisp/gnus/gnus-sum.el (gnus-articles-to-read)
(gnus-summary-search-article-forward)
(gnus-summary-search-article-backward):
* lisp/international/mule-cmds.el (set-input-method, toggle-input-method)
(describe-input-method, set-language-environment)
(describe-language-environment):
* lisp/mh-e/mh-gnus.el (mh-mml-minibuffer-read-disposition):
* lisp/mh-e/mh-letter.el (mh-insert-letter):
* lisp/mh-e/mh-mime.el (mh-display-with-external-viewer)
(mh-mime-save-parts, mh-mh-forward-message)
(mh-mml-query-cryptographic-method, mh-minibuffer-read-type):
* lisp/mh-e/mh-seq.el (mh-read-seq, mh-read-range):
* lisp/mh-e/mh-utils.el (mh-prompt-for-folder):
* lisp/progmodes/etags.el (find-tag-tag):
(find-tag-noselect, find-tag, find-tag-other-window)
(find-tag-other-frame, find-tag-regexp):
* lisp/progmodes/idlwave.el (idlwave-find-module):
* lisp/progmodes/inf-lisp.el (lisp-load-file, lisp-compile-file):
* lisp/progmodes/tcl.el (tcl-load-file, tcl-restart-with-file):
* lisp/progmodes/xref.el (xref--read-identifier):
(xref-find-definitions, xref-find-definitions-other-window)
(xref-find-definitions-other-frame, xref-find-references):
* lisp/ses.el (ses-read-printer):
(ses-read-cell-printer, ses-read-column-printer)
(ses-read-default-printer, ses-define-local-printer):
* lisp/subr.el (read-number):
* lisp/term.el (term-get-source):
* src/minibuf.c (read-buffer): Remove prompt suffix and
use 'format-prompt'.
* lisp/minibuffer.el (format-prompt): Ignore DEFAULT empty strings
(bug#47286).
2021-03-24 10:31:31 +01:00
Lars Ingebrigtsen
8d33413245 Fix problem with filling with a computed fill prefix
* lisp/textmodes/fill.el (fill-region-as-paragraph): Fix problem
when filling text with a computed fill prefix (bug#47338).
2021-03-24 10:23:14 +01:00
Stefan Kangas
8b07994e20 Convert many more links to use HTTPS 2021-03-24 10:20:18 +01:00
Lars Ingebrigtsen
a4ececf004 Move string-trim functions to subr.el
* doc/lispref/strings.texi (Creating Strings): Document them.

* lisp/faces.el: Don't require subr-x, because that leads to build
errors.

* lisp/subr.el (string-trim, string-trim-right)
(string-trim-left): Move here from subr-x.el.

* lisp/emacs-lisp/shortdoc.el (string): Adjust.
2021-03-24 09:22:44 +01:00
Stefan Kangas
c0d24d5316 Use lexical-binding in iimage.el
* lisp/iimage.el: Use lexical-binding.  Remove redundant :group args.
2021-03-24 09:09:52 +01:00
Stefan Kangas
df06cfe4a9 * lisp/talk.el: Use lexical-binding. 2021-03-24 09:05:06 +01:00
Stefan Kangas
1ae8a18d94 Use lexical-binding in two trivial org-mode files
This change has already been made on org-mode's master branch.

* lisp/org/org-install.el:
* lisp/org/org-version.el: Use lexical-binding.
2021-03-24 06:35:33 +01:00
Stefan Kangas
6e974130d7 * lisp/help-at-pt.el: Use lexical-binding. 2021-03-24 06:31:29 +01:00
Stefan Kangas
ca194ae5c9 * lisp/progmodes/simula.el (hilit-set-mode-patterns): Use regexp-opt. 2021-03-24 06:25:36 +01:00
Stefan Kangas
6927f23767 * lisp/progmodes/modula2.el: Use lexical-binding. 2021-03-24 06:25:36 +01:00
Stefan Kangas
673d281b82 Use lexical-binding in view.el
* lisp/view.el: Use lexical-binding.  Remove redundant :group args.
2021-03-24 06:15:37 +01:00
Stefan Kangas
a902af6c1b Delete some commented out defgroups
* lisp/eshell/esh-opt.el:
* lisp/international/ccl.el:
* lisp/pcmpl-linux.el:
* lisp/shell.el:
* lisp/url/url-news.el: Delete some commented out defgroups.
2021-03-24 06:15:37 +01:00
Stefan Kangas
e2613f4121 Doc fixes in view.el
* lisp/view.el:
(view-try-extend-at-buffer-end, kill-buffer-if-not-modified)
(view-buffer, view-buffer-other-window, view-buffer-other-frame)
(view-page-size-default, view-set-half-page-size-default)
(view-really-at-end, view-end-message)
(view-search-no-match-lines): Doc fixes.
2021-03-24 06:15:37 +01:00
Stefan Kangas
3a964dc5c1 * lisp/master.el: Use lexical-binding. 2021-03-24 05:32:47 +01:00
Stefan Kangas
ac4dd5f244 Use lexical-binding in ruler-mode.el
* lisp/ruler-mode.el: Use lexical-binding.  Remove redundant
:group args.
2021-03-24 03:47:27 +01:00
Stefan Monnier
952550258d * 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.
2021-03-23 22:38:41 -04:00
Stefan Monnier
667e002e91 * 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.
2021-03-23 01:00:56 -04:00
Stefan Monnier
efd80237ca * 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.
2021-03-23 00:08:24 -04:00
Lars Ingebrigtsen
22910e71e5 Mention C-o' in the RET' doc string
* lisp/simple.el (newline-and-indent): Mention `C-o' in the doc
string.
2021-03-22 20:25:37 +01:00
Lars Ingebrigtsen
b9683230ec Fix previous face.el change
* lisp/faces.el (require): Fix compilation warning from previous
face.el change.
2021-03-22 20:18:04 +01:00
Juri Linkov
8c589c2583 * 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
2021-03-22 20:55:49 +02:00
Lars Ingebrigtsen
add90dcc8a 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).
2021-03-22 19:50:22 +01:00
Michael Albinus
4d944f6ddb * lisp/files-x.el (connection-local-criteria-for-default-directory):
Add optional argument APPLICATION.
2021-03-22 17:47:45 +01:00
Stefan Kangas
cb5d1fe1aa Remove unnecessary requires of rx
* lisp/cedet/semantic/wisent/python.el (rx):
* test/src/process-tests.el (rx): Remove unnecessary requires.
2021-03-22 01:06:32 +01:00
Stefan Kangas
aa21273788 Use lexical-binding in notifications.el
* lisp/notifications.el: Use lexical-binding.
(notifications-notify): Prefer 'push' to 'add-to-list'.
2021-03-22 01:06:32 +01:00
Alan Mackenzie
7c2ebf6e23 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.
2021-03-21 16:54:31 +00:00
Glenn Morris
e276810dff * 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.
2021-03-21 09:15:51 -07:00
Stefan Kangas
574eadbdaf 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.
2021-03-21 17:05:48 +01:00
Theodor Thornhill
70b64e0d04 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.
2021-03-21 14:40:32 +02:00