]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years agoFix typo in byte-compile-lambda warning
Lars Ingebrigtsen [Fri, 9 Sep 2022 17:16:01 +0000 (19:16 +0200)]
Fix typo in byte-compile-lambda warning

* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Fix typo in
message (bug#57690).

2 years agoFix --without-x compilation warnings
Lars Ingebrigtsen [Fri, 9 Sep 2022 16:09:36 +0000 (18:09 +0200)]
Fix --without-x compilation warnings

* lisp/image/image-dired.el (clear-image-cache):
* lisp/image/image-dired-external.el (clear-image-cache): Fix
compilation warning (bug#57695).

2 years agoRevert "Fix tramp-loaddefs compilation"
Lars Ingebrigtsen [Fri, 9 Sep 2022 15:57:32 +0000 (17:57 +0200)]
Revert "Fix tramp-loaddefs compilation"

This reverts commit 43e9c8e9d28dcb659a43e58778e2745d1279051f.

The cookie seemed to go to lisp/loaddefs.el for a reason, but a bootstrap is needed.

2 years agoFix tramp-loaddefs compilation
Lars Ingebrigtsen [Fri, 9 Sep 2022 15:54:40 +0000 (17:54 +0200)]
Fix tramp-loaddefs compilation

* lisp/net/tramp-compat.el: Fix build by putting tramp-compat-rx
in the right loaddefs file.

2 years agoMake use of rx in Tramp backward compatoble
Michael Albinus [Fri, 9 Sep 2022 15:10:28 +0000 (17:10 +0200)]
Make use of rx in Tramp backward compatoble

* lisp/net/tramp-compat.el (tramp-compat-rx--runtime-params): New defvar.
(tramp-compat-rx--transform-items)
(tramp-compat-rx--transform-item, tramp-compat-rx--transform):
New defuns.  Suggested by Mattias Engdegård <mattiase@acm.org>.
(tramp-compat-rx): New defalias or defmacro.
(tramp-compat-string-replace, tramp-compat-string-search):
Use regexp-quote.

* lisp/net/tramp.el:
* lisp/net/tramp-adb.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-fuse.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sudoedit.el: Use `tramp-compat-rx' where indicated.

* test/lisp/net/tramp-archive-tests.el:
* test/lisp/net/tramp-tests.el: Use `tramp-compat-rx' where indicated.

2 years agoFix SVG loading test for old librsvg 2.40.1
Stefan Kangas [Fri, 9 Sep 2022 12:19:32 +0000 (14:19 +0200)]
Fix SVG loading test for old librsvg 2.40.1

* test/manual/image-tests.el (image-tests-load-image/svg-invalid): Fix
test for old librsvg 2.40.1.  (Bug#57691)

2 years ago; Clean up recently added SVG test
Stefan Kangas [Fri, 9 Sep 2022 08:31:25 +0000 (10:31 +0200)]
; Clean up recently added SVG test

* test/manual/image-tests.el (image-tests-load-image/svg-invalid):
Clean up.

2 years agoDon't warn about some deleted variables in rst.el
Stefan Kangas [Tue, 16 Aug 2022 14:04:03 +0000 (16:04 +0200)]
Don't warn about some deleted variables in rst.el

* lisp/textmodes/rst.el (rst-level-face-max)
(rst-level-face-base-color, rst-level-face-base-light)
(rst-level-face-format-light, rst-level-face-step-light)
(rst-level-1-face, rst-level-2-face, rst-level-3-face)
(rst-level-4-face, rst-level-5-face, rst-level-6-face): Don't issue
obsoletion warnings for variables deleted in 24.3.

2 years agoDelete variable window-system-version obsolete since 24.3
Stefan Kangas [Sat, 9 Jul 2022 11:05:49 +0000 (13:05 +0200)]
Delete variable window-system-version obsolete since 24.3

* lisp/frame.el (window-system-version): Delete variable.
* src/dispnew.c (syms_of_display) <Vwindow_system_version>:
Delete DEFVAR, obsolete since 24.3.
(init_display_interactive, syms_of_display_for_pdumper):
* src/msdos.c (internal_terminal_init):
* src/nsterm.m (ns_term_init):
* src/pgtkfns.c (pgtk_display_info_for_name):
* src/w32fns.c (w32_display_info_for_name, Fx_open_connection):
* src/xfns.c (x_display_info_for_name, Fx_open_connection): Don't
set above deleted variable.
* admin/admin.el (set-version): Don't update above deleted
variable in msdos.c.
* lisp/textmodes/artist.el (artist-submit-bug-report): Don't use
above deleted variable.

2 years agoDelete many items obsolete since 24.3
Stefan Kangas [Sun, 10 Jul 2022 11:27:36 +0000 (13:27 +0200)]
Delete many items obsolete since 24.3

* lisp/allout.el (allout-exposure-change-hook)
(allout-structure-added-hook, allout-structure-deleted-hook)
(allout-structure-shifted-hook):
* lisp/arc-mode.el (archive-extract-hooks):
* lisp/buff-menu.el (Buffer-menu-buffer+size-width):
* lisp/calendar/timeclock.el (timeclock-modeline-display)
(timeclock-modeline-display, timeclock-update-modeline):
* lisp/cedet/semantic/db-el.el
(semanticdb-elisp-sym-function-arglist):
* lisp/cedet/semantic/db-file.el (semanticdb-save-database-hooks):
* lisp/cedet/semantic/edit.el (semantic-change-hooks)
(semantic-edits-new-change-hooks)
(semantic-edits-delete-change-hooks)
(semantic-edits-reparse-change-hooks):
* lisp/cedet/semantic/lex.el (semantic-lex-reset-hooks):
* lisp/comint.el (comint--unquote&expand-filename)
(comint-unquote-filename):
* lisp/custom.el (user-variable-p):
* lisp/dired.el (dired-shrink-to-fit, dired-pop-to-buffer)
(dired-sort-set-modeline):
* lisp/ebuff-menu.el (Electric-buffer-menu-mode):
* lisp/emacs-lisp/byte-run.el (macro-declaration-function):
* lisp/emacs-lisp/checkdoc.el (custom-print-functions)
(checkdoc-comment-style-hooks):
* lisp/emacs-lisp/cl-lib.el (custom-print-functions):
* lisp/emacs-lisp/edebug.el (gud-inhibit-global-bindings):
* lisp/erc/erc-dcc.el (erc-dcc-chat-filter-hook):
* lisp/eshell/esh-mode.el (eshell-status-in-modeline):
* lisp/eshell/eshell.el (eshell-add-to-window-buffer-names)
(eshell-remove-from-window-buffer-names):
* lisp/faces.el (set-face-underline-p, font-list-limit):
* lisp/files.el (automount-dir-prefix, toggle-read-only):
* lisp/filesets.el (filesets-cache-fill-content-hooks):
* lisp/frame.el (automatic-hscrolling):
* lisp/generic-x.el (javascript-generic-mode)
(javascript-generic-mode-hook):
* lisp/gnus/gnus-start.el (gnus-subscribe-newsgroup-hooks):
* lisp/gnus/nndiary.el (nndiary-request-create-group-hooks)
(nndiary-request-update-info-hooks)
(nndiary-request-accept-article-hooks):
* lisp/htmlfontify.el (hfy-post-html-hooks):
* lisp/international/mule-cmds.el
(inactivate-current-input-method-function)
(inactivate-input-method, input-method-inactivate-hook)
(ucs-insert):
* lisp/international/quail.el (quail-inactivate)
(quail-inactivate-hook):
* lisp/international/robin.el (robin-inactivate)
(robin-inactivate-hook):
* lisp/leim/quail/hangul.el (hangul-input-method-inactivate):
* lisp/leim/quail/uni-input.el (ucs-input-inactivate):
* lisp/mail/emacsbug.el (report-emacs-bug-info):
* lisp/mh-e/mh-e.el (mh-kill-folder-suppress-prompt-hooks):
* lisp/mpc.el (mpc-string-prefix-p):
* lisp/net/rcirc.el (rcirc-print-hooks, rcirc-sentinel-hooks)
(rcirc-receive-message-hooks, rcirc-activity-hooks):
* lisp/obsolete/crisp.el (crisp-mode-modeline-string):
* lisp/pcomplete.el (pcomplete-arg-quote-list)
(pcomplete-quote-argument):
* lisp/progmodes/cc-mode.el (c-prepare-bug-report-hooks):
* lisp/progmodes/python.el (python-info-ppss-context)
(python-info-ppss-context-type)
(python-info-ppss-comment-or-string-p, python-indent)
(python-guess-indent, python-buffer, python-preoutput-result)
(python-proc, python-send-receive, python-send-string)
(python-use-skeletons):
* lisp/progmodes/sh-script.el (sh-maybe-here-document):
* lisp/replace.el (query-replace-interactive):
* lisp/strokes.el (strokes-modeline-string):
* lisp/subr.el (redraw-modeline):
* lisp/term.el (term-default-fg-color, term-default-bg-color):
* lisp/textmodes/tex-mode.el (latex-string-prefix-p)
(tex-string-prefix-p):
* lisp/url/url-parse.el (url-recreate-url-attributes):
* lisp/vc/add-log.el (change-log-acknowledgement):
* lisp/vc/ediff-wind.el
(ediff-choose-window-setup-function-automatically):
* lisp/vc/pcvs-util.el (cvs-string-prefix-p):
* lisp/vc/vc.el (vc-string-prefix-p):
* lisp/window.el (display-buffer-function):
* lisp/winner.el (winner-mode-leave-hook): Remove many functions and
variables obsolete since 24.3.

* lisp/buff-menu.el (list-buffers--refresh):
* lisp/dired.el (dired-mode-map):
* lisp/files.el (abbreviate-file-name):
* lisp/generic-x.el (generic-default-modes):
* lisp/mh-e/mh-funcs.el (mh-kill-folder):
* lisp/progmodes/hideif.el (hide-ifdef-mode-submap):
* lisp/replace.el (query-replace-read-from):
* lisp/term.el (term):
* lisp/window.el (display-buffer): Don't use above deleted
functions and variables.

* src/marker.c (Fbuffer_has_markers_at): Delete DEFUN obsolete
since 24.3.
(syms_of_marker) <Sbuffer_has_markers_at>: Delete defsubr.
* lisp/subr.el (buffer-has-markers-at): Remove obsoletion
of above deleted DEFUN.
* etc/TODO: Doc fix; don't mention above deleted function.

* admin/cus-test.el (cus-test-get-options):
* lisp/pcomplete.el: Doc fixes; don't mention removed items.
; * etc/NEWS: List removed items.

2 years agoDisplay error in emacsclient if setsockopt failed
Stefan Kangas [Fri, 9 Sep 2022 09:19:21 +0000 (11:19 +0200)]
Display error in emacsclient if setsockopt failed

* lib-src/emacsclient.c (set_tcp_socket, set_socket_timeout): Display
an error message if setsockopt failed.

2 years agoRemove some redundant calls to x_ignore_errors_for_next_request
Po Lu [Fri, 9 Sep 2022 08:27:02 +0000 (16:27 +0800)]
Remove some redundant calls to x_ignore_errors_for_next_request

* src/xterm.c (x_dnd_do_unsupported_drop, x_set_frame_alpha):
Wrap some requests in x_ignore_errors_for_next_request instead
of calling it each time.

2 years agoRemove long-broken TESTRM interface
Po Lu [Fri, 9 Sep 2022 01:54:01 +0000 (09:54 +0800)]
Remove long-broken TESTRM interface

* src/xrdb.c: [TESTRM]:
(fatal, main): Delete functions and code block.  They don't work
and rely on XLIB_ILLEGAL_ACCESS.

2 years agoPrefer defvar-keymap in proced.el
Stefan Kangas [Fri, 9 Sep 2022 01:38:42 +0000 (03:38 +0200)]
Prefer defvar-keymap in proced.el

* lisp/proced.el (proced-mode-map): Prefer defvar-keymap.

2 years agoSet indent-tabs-mode for lisp-data-mode in .dir-locals.el
Stefan Kangas [Fri, 9 Sep 2022 01:05:00 +0000 (03:05 +0200)]
Set indent-tabs-mode for lisp-data-mode in .dir-locals.el

* .dir-locals.el (lisp-data-mode): Enforce existing indent-tabs-mode
policy.

2 years agoDisplay librsvg error when loading bad SVG
Stefan Kangas [Fri, 9 Sep 2022 00:32:08 +0000 (02:32 +0200)]
Display librsvg error when loading bad SVG

* src/image.c (svg_load_image): Display the error message from librsvg
when parsing a bad SVG image file.
* test/manual/image-tests.el
(image-tests-load-image/svg-invalid): New test.

2 years ago; Fix a race condition in an Eshell test
Jim Porter [Wed, 7 Sep 2022 20:58:31 +0000 (13:58 -0700)]
; Fix a race condition in an Eshell test

* test/lisp/eshell/esh-proc-tests.el
(esh-proc-test/sigpipe-exits-process): Use "|&" when creating the
pipeline to prevent an extra pipe process from being started.

2 years agoDecode base64 attachments revealed by decryption.
Richard Stallman [Thu, 8 Sep 2022 22:10:12 +0000 (18:10 -0400)]
Decode base64 attachments revealed by decryption.

* lisp/mail/rmail.el (rmail-epa-decode): New function.
(rmail-epa-decrypt): Call rmail-epa-decode.

2 years ago; Merge from origin/emacs-28
Stefan Kangas [Thu, 8 Sep 2022 21:35:04 +0000 (23:35 +0200)]
; Merge from origin/emacs-28

The following commit was skipped:

9acb278af5 Bump Emacs version to 28.2

2 years agoMerge from origin/emacs-28
Stefan Kangas [Thu, 8 Sep 2022 21:35:04 +0000 (23:35 +0200)]
Merge from origin/emacs-28

395760dcd3 Update ChangeLog and AUTHORS for Emacs 28.2
ddabb03a01 * doc/misc/idlwave.texi (Troubleshooting): Don't say "Emac...
724444f3d5 ; * doc/emacs/misc.texi (emacsclient Options): Fix typo.
b96257162d Don't mention very old Emacs versions in docs

# Conflicts:
# doc/emacs/misc.texi
# etc/NEWS

2 years ago* src/keyboard.c (safe_run_hook_funcall): Fix thinko
Stefan Monnier [Thu, 8 Sep 2022 20:15:04 +0000 (16:15 -0400)]
* src/keyboard.c (safe_run_hook_funcall): Fix thinko

2 years ago* src/keyboard.c (safe_run_hook_funcall): Fix recent regression
Stefan Monnier [Thu, 8 Sep 2022 20:12:01 +0000 (16:12 -0400)]
* src/keyboard.c (safe_run_hook_funcall): Fix recent regression

The mutation of `args` was unsafe because that array was
later reused (and assumed unchanged) by the caller.
https://lists.gnu.org/archive/html/emacs-devel/2022-09/msg00329.html

2 years agotest: Remove redundant "" arg to `mapconcat`
Stefan Monnier [Thu, 8 Sep 2022 20:08:42 +0000 (16:08 -0400)]
test: Remove redundant "" arg to `mapconcat`

* test/src/process-tests.el (process-test-stderr-filter):
* test/src/print-tests.el (print-tests-continuous-numbering):
* test/src/fns-tests.el (fns-tests-mapconcat):
* test/src/data-tests.el (test-bool-vector-to-hex-string):
* test/src/casefiddle-tests.el (casefiddle-tests-char-properties)
(casefiddle-tests-case-table, casefiddle-tests-casing-character):
* test/lisp/tabify-tests.el (tabify-tests--test-changes):
* test/lisp/subr-tests.el (subr-tests-bug22027):
* test/lisp/sort-tests.el (sort-tests-random-word):
* test/lisp/net/hmac-md5-tests.el (hmac-md5-test-encode-string):
* test/lisp/md4-tests.el (md4-tests-digest->hex):
* test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map):
* test/lisp/dired-tests.el (dired-test-directory-files):
* test/lisp/char-fold-tests.el (char-fold--random-word):
* test/lisp/ansi-color-tests.el (ansi-color-incomplete-sequences-test):
Remove redundant "" arg to `mapconcat`.

2 years ago; * src/editfns.c (syms_of_editfns) <restrictions-locked>: Doc fix.
Eli Zaretskii [Thu, 8 Sep 2022 19:50:41 +0000 (22:50 +0300)]
; * src/editfns.c (syms_of_editfns) <restrictions-locked>: Doc fix.

2 years agoAdd new user option ecomplete-auto-select
Phil Sainty [Thu, 8 Sep 2022 12:53:00 +0000 (14:53 +0200)]
Add new user option ecomplete-auto-select

* lisp/ecomplete.el (ecomplete-auto-select): New user option
(bug#53935).
(ecomplete-display-matches): Use it.

2 years agoAdd prefix argument to outline-cycle-buffer
Augusto Stoffel [Thu, 8 Sep 2022 07:56:59 +0000 (09:56 +0200)]
Add prefix argument to outline-cycle-buffer

* lisp/outline.el (outline-cycle-buffer): Add prefix argument to show
headings up to a given level.  Handle the case where the top
heading level is not 1.

2 years agoFix diff-add-log-use-relative-names prompting
Lars Ingebrigtsen [Thu, 8 Sep 2022 12:23:12 +0000 (14:23 +0200)]
Fix diff-add-log-use-relative-names prompting

* lisp/vc/diff-mode.el (diff-add-log-use-relative-names): Autoload
to avoid prompting when set via dir-locals.

2 years ago* src/xrdb.c (main) [TESTRM]: Replace gets with fgets.
Stefan Kangas [Thu, 8 Sep 2022 10:42:50 +0000 (12:42 +0200)]
* src/xrdb.c (main) [TESTRM]: Replace gets with fgets.

2 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Thu, 8 Sep 2022 08:49:17 +0000 (11:49 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

2 years agoRecognize zstandard (.zst) compressed Info files
Sam James [Wed, 7 Sep 2022 03:57:33 +0000 (04:57 +0100)]
Recognize zstandard (.zst) compressed Info files

* lisp/info.el (Info-suffix-list): Recognize .zst file extension
from the zstd compression tool.  This allows reading Info pages
compressed with 'zstd'.  (Bug#57636)

Copyright-paperwork-exempt: yes

2 years agoMake call of remote `id' more performant in Tramp
Michael Albinus [Thu, 8 Sep 2022 08:36:08 +0000 (10:36 +0200)]
Make call of remote `id' more performant in Tramp

* lisp/net/tramp-adb.el (tramp-adb-handle-file-exists-p): New defun.
(tramp-adb-file-name-handler-alist): Use it.
(tramp-adb-handle-file-executable-p)
(tramp-adb-handle-file-readable-p)
(tramp-adb-handle-file-writable-p)
(tramp-adb-handle-get-remote-uid)
(tramp-adb-handle-get-remote-gid)
(tramp-adb-handle-get-remote-groups): Use caches consequently.

* lisp/net/tramp-sh.el (tramp-perl-id, tramp-python-id): New defconsts.
(tramp-sh-handle-get-remote-uid, tramp-sh-handle-get-remote-gid)
(tramp-sh-handle-get-remote-groups): Use caches consequently.
(tramp-sh-handle-file-writable-p): Use `file-writable-p'.
(tramp-expand-script): Handle also "python" expansion.
(tramp-get-remote-id): Do not set connection property anymore,
this is done differently now.
(tramp-get-remote-uid-with-id, tramp-get-remote-uid-with-perl)
(tramp-get-remote-uid-with-python, tramp-get-remote-gid-with-id)
(tramp-get-remote-gid-with-perl)
(tramp-get-remote-gid-with-python): Remove.

* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-executable-p)
(tramp-sudoedit-handle-file-exists-p)
(tramp-sudoedit-handle-file-readable-p)
(tramp-sudoedit-handle-file-writable-p):
(tramp-sudoedit-handle-get-remote-uid)
(tramp-sudoedit-handle-get-remote-gid)
(tramp-sudoedit-handle-get-remote-groups): Use caches consequently.

* lisp/net/tramp.el (tramp-check-cached-permissions):
Call `tramp-get-remote-groups' only if needed.
(tramp-get-remote-groups): Do not return default value.
(tramp-read-id-output): New defun.

* test/lisp/net/tramp-tests.el (tramp--test-deftest-with-perl):
Suppress also remote `id'.

2 years ago; Minor improvements in 'standard-display-by-replacement-char'
Eli Zaretskii [Thu, 8 Sep 2022 07:14:10 +0000 (10:14 +0300)]
; Minor improvements in 'standard-display-by-replacement-char'

* lisp/disp-table.el (standard-display-by-replacement-char): Minor
improvements.  Suggested by Richard Stallman <rms@gnu.org>.

2 years agoAdd new user option 'diff-add-log-use-relative-names'
Philip Kaludercic [Tue, 6 Sep 2022 20:06:29 +0000 (22:06 +0200)]
Add new user option 'diff-add-log-use-relative-names'

* .dir-locals.el: Set new option to t
* etc/NEWS: Mention new option.
* lisp/vc/diff-mode.el (diff-add-log-use-relative-names): Add new option.
(diff-add-log-current-defuns): Use new option.
* doc/emacs/maintaining.texi (Log Buffer): Mention new option.

2 years agoAvoid selecting for excessive output configuration events
Po Lu [Thu, 8 Sep 2022 05:20:33 +0000 (13:20 +0800)]
Avoid selecting for excessive output configuration events

* src/xterm.c (x_term_init): Only select for
RROutputPropertyNotify if GTK is in use.  Emacs doesn't need it
itself, and output property changes will otherwise lead to 2
second freezes over connections with high network latency.

2 years agodired-guess: Support zstandard archives
Stefan Kangas [Thu, 8 Sep 2022 00:48:46 +0000 (02:48 +0200)]
dired-guess: Support zstandard archives

* lisp/dired-aux.el (dired-guess-shell-alist-default): Support
zstandard archives.

2 years agoMove some tests to test/manual/image-tests.el
Stefan Kangas [Thu, 8 Sep 2022 00:35:37 +0000 (02:35 +0200)]
Move some tests to test/manual/image-tests.el

* test/src/image-tests.el: Move several tests from here...
* test/manual/image-tests.el: ...to here.
Suggested by Eli Zaretskii <eliz@gnu.org>.

2 years agoimage-dired: Fix moving forward when marking files
Morgan Smith [Thu, 8 Sep 2022 00:12:44 +0000 (02:12 +0200)]
image-dired: Fix moving forward when marking files

* lisp/image/image-dired.el (image-dired--do-mark-command): Make
movement consistent regardless of the value of
image-dired-marking-shows-next.  (Bug#57651)

2 years agoMake image-dired-rotate-original-{left,right} respect marks
Morgan Smith [Thu, 8 Sep 2022 00:09:52 +0000 (02:09 +0200)]
Make image-dired-rotate-original-{left,right} respect marks

* lisp/image/image-dired.el (image-dired-rotate-original-left)
(image-dired-rotate-original-right): Rotate all marked
files.  (Bug#57651)

2 years ago; Make emacsclient.c more quiet again
Stefan Kangas [Wed, 7 Sep 2022 21:37:24 +0000 (23:37 +0200)]
; Make emacsclient.c more quiet again

* lib-src/emacsclient.c (main): Remove status message after getting a
response from the server.  (Bug#57650)

2 years agoPrefer defvar-keymap in icomplete.el
Stefan Kangas [Wed, 7 Sep 2022 10:25:41 +0000 (12:25 +0200)]
Prefer defvar-keymap in icomplete.el

* lisp/icomplete.el (icomplete-minibuffer-map)
(icomplete-fido-mode-map)
(icomplete-vertical-mode-minibuffer-map): Prefer defvar-keymap.

2 years agoImprove save-match-data hygiene
Mattias Engdegård [Wed, 7 Sep 2022 15:55:44 +0000 (17:55 +0200)]
Improve save-match-data hygiene

* lisp/subr.el (save-match-data): Use uninterned variable symbol.
Remove outdated comments.

2 years agoAdd instructions to 'standard-display-by-replacement-char'
Eli Zaretskii [Wed, 7 Sep 2022 13:20:29 +0000 (16:20 +0300)]
Add instructions to 'standard-display-by-replacement-char'

* lisp/disp-table.el (standard-display-by-replacement-char): Add a
preamble to the generated code with instructions.  Suggested by
Richard Stallman <rms@gnu.org>.

2 years agoDon't follow symlinks in w32notify file watches
Eli Zaretskii [Wed, 7 Sep 2022 12:18:54 +0000 (15:18 +0300)]
Don't follow symlinks in w32notify file watches

* src/w32notify.c (add_watch): On filesystems that support
symlinks, don't follow symlinks.  (Bug#57536)
* src/w32.c (symlinks_supported): New function.
* src/w32.h (symlinks_supported): Add prototype.

2 years agoSimplify dolist and dotimes
Mattias Engdegård [Wed, 7 Sep 2022 11:48:20 +0000 (13:48 +0200)]
Simplify dolist and dotimes

We no longer care enough about non-lexbind code generation for it
to merit special attention; better to keep the code simple.

Suggested by Philip Kaludercic in
https://lists.gnu.org/archive/html/emacs-devel/2022-09/msg00354.html .

* lisp/subr.el (dolist, dotimes): Use uninterned symbols for variable
bindings generated by the macros, and discard the alternative code
versions for non-lexbind code.  Use sensible variable names.

2 years agoUntabify rcirc.el
Philip Kaludercic [Tue, 6 Sep 2022 15:07:12 +0000 (17:07 +0200)]
Untabify rcirc.el

2 years ago; TODO for writing to the bottom-right corner of a TTY (bug#57607)
Gerd Möllmann [Wed, 7 Sep 2022 04:54:49 +0000 (06:54 +0200)]
; TODO for writing to the bottom-right corner of a TTY (bug#57607)

2 years agoFix nsfont breakage since 6b1ed2f2c99a1c2da56c5f434570c438cad6576d
Po Lu [Wed, 7 Sep 2022 01:52:01 +0000 (09:52 +0800)]
Fix nsfont breakage since 6b1ed2f2c99a1c2da56c5f434570c438cad6576d

* nsfont.m (ns_spec_to_descriptor): Fix coding style, also
handle `monospace' special family.
(ns_descriptor_to_entity): Fix reporting of spacing on fonts.
(ns_findfonts): Fix coding style.

2 years agoReenable reporting of frame movement on NS
Po Lu [Wed, 7 Sep 2022 01:07:59 +0000 (09:07 +0800)]
Reenable reporting of frame movement on NS

* src/nsterm.m ([EmacsView windowDidMove:]): Restore code to
generate MOVE_FRAME_EVENTS, and use kbd_buffer_store_event
instead.

2 years agoImprove image-tests.el Commentary
Stefan Kangas [Wed, 7 Sep 2022 01:22:15 +0000 (03:22 +0200)]
Improve image-tests.el Commentary

* test/src/image-tests.el: Doc fix; explain how to run from
command line.

2 years ago; * lib-src/emacsclient.c (main): Fix previous change.
Stefan Kangas [Wed, 7 Sep 2022 00:59:50 +0000 (02:59 +0200)]
; * lib-src/emacsclient.c (main): Fix previous change.

2 years agoBump Emacs version to 28.2
Stefan Kangas [Tue, 6 Sep 2022 22:25:16 +0000 (00:25 +0200)]
Bump Emacs version to 28.2

* README:
* configure.ac:
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 28.2.

2 years agoUpdate ChangeLog and AUTHORS for Emacs 28.2
Stefan Kangas [Tue, 6 Sep 2022 22:20:57 +0000 (00:20 +0200)]
Update ChangeLog and AUTHORS for Emacs 28.2

* ChangeLog.3:
* etc/AUTHORS:
* etc/NEWS: Update for Emacs 28.2.

2 years ago* lisp/jit-lock.el (jit-lock-function): Update comment
Stefan Monnier [Tue, 6 Sep 2022 21:29:25 +0000 (17:29 -0400)]
* lisp/jit-lock.el (jit-lock-function): Update comment

2 years ago* doc/misc/idlwave.texi (Troubleshooting): Don't say "Emacsen".
Stefan Kangas [Tue, 6 Sep 2022 21:27:01 +0000 (23:27 +0200)]
* doc/misc/idlwave.texi (Troubleshooting): Don't say "Emacsen".

2 years ago* lisp/jit-lock.el (jit-lock-function): Don't fontify invisible text
Stefan Monnier [Tue, 6 Sep 2022 21:24:11 +0000 (17:24 -0400)]
* lisp/jit-lock.el (jit-lock-function): Don't fontify invisible text

See bug#57447.  This can speed up fontification significantly when using
things like outline-mode.

2 years ago* etc/NEWS.28: Mention `make-closure`
Stefan Monnier [Tue, 6 Sep 2022 21:20:16 +0000 (17:20 -0400)]
* etc/NEWS.28: Mention `make-closure`

2 years ago* doc/misc/mh-e.texi (Getting MH-E): Update.
Stefan Kangas [Tue, 6 Sep 2022 20:40:19 +0000 (22:40 +0200)]
* doc/misc/mh-e.texi (Getting MH-E): Update.

2 years ago; * doc/emacs/misc.texi (emacsclient Options): Fix typo.
Stefan Kangas [Mon, 5 Sep 2022 20:24:05 +0000 (22:24 +0200)]
; * doc/emacs/misc.texi (emacsclient Options): Fix typo.

2 years ago; Fix deleting XEmacs references from MH-E manual
Stefan Kangas [Tue, 6 Sep 2022 20:44:49 +0000 (22:44 +0200)]
; Fix deleting XEmacs references from MH-E manual

* doc/misc/mh-e.texi (Incorporating Mail): Also remove index entries
for gnuclient.

2 years agoDon't mention ancient Gnus versions in MH-E manual
Stefan Kangas [Tue, 6 Sep 2022 20:43:26 +0000 (22:43 +0200)]
Don't mention ancient Gnus versions in MH-E manual

* doc/misc/mh-e.texi (Preface, Reading PGP, Procmail): Don't mention
pre-2000 versions of Gnus.

2 years agoFix the MS-Windows build
Eli Zaretskii [Tue, 6 Sep 2022 12:09:09 +0000 (15:09 +0300)]
Fix the MS-Windows build

* lib-src/emacsclient.c (DEFAULT_TIMEOUT): Move out of the
!WINDOWSNT condition, to fix the MS-Windows compilation.
(set_socket_timeout) [WINDOWSNT]: Protect against too-large values
of timeout.

2 years agoDon't mention very old Emacs versions in docs
Stefan Kangas [Tue, 6 Sep 2022 11:57:01 +0000 (13:57 +0200)]
Don't mention very old Emacs versions in docs

* doc/misc/mh-e.texi (Conventions):
* doc/misc/reftex.texi (Problems and Work-Arounds):
* doc/misc/viper.texi (Loading Viper): Delete references to
very old versions of Emacs.

2 years ago* doc/misc/semantic.texi: Delete unused macro.
Stefan Kangas [Tue, 6 Sep 2022 11:48:49 +0000 (13:48 +0200)]
* doc/misc/semantic.texi: Delete unused macro.

2 years ago; Minor doc fix in gnus.texi
Stefan Kangas [Tue, 6 Sep 2022 11:44:21 +0000 (13:44 +0200)]
; Minor doc fix in gnus.texi

* doc/misc/gnus.texi (Writing New Back Ends): Delete now obsolete
version variable.

2 years agoCorrectly handle frame synchronization on fullscreen KWin
Po Lu [Tue, 6 Sep 2022 11:39:05 +0000 (19:39 +0800)]
Correctly handle frame synchronization on fullscreen KWin

* src/xfns.c (x_set_use_frame_synchronization): Announce that we
do not want the compositor to unredirect the frame while
fullscreen.
* src/xterm.c (x_atom_refs): New atom
`_NET_WM_BYPASS_COMPOSITOR'.
* src/xterm.h (struct x_display_info): Likewise.

2 years agoFix (mostly multibyte) issues in sieve-manage.el (Bug#54154)
Kai Tetzlaff [Mon, 28 Feb 2022 10:08:07 +0000 (11:08 +0100)]
Fix (mostly multibyte) issues in sieve-manage.el (Bug#54154)

The managesieve protocol (s. RFC5804) requires support for (a sightly
restricted variant of) UTF-8 in script content and script names. This
commit fixes/improves the handling of multibyte characters.

In addition, `sieve-manage-getscript' now properly handles NO
responses from the server instead of inflooping.

There are also some logging improvements.

* lisp/net/sieve-manage.el
(sieve-manage--append-to-log):
(sieve-manage--message):
(sieve-manage--error):
(sieve-manage-encode):
(sieve-manage-decode):
(sieve-manage-no-p): New functions.
(sieve-manage-make-process-buffer): Switch process buffer to unibyte.
(sieve-manage-open-server): Add `:coding 'raw-text-unix` to
`open-network-stream' call. Use unix EOLs in order to keep matching
CRLF (aka "\r\n") intact.
(sieve-manage-send): Make sure that UTF-8 multibyte characters are
properly encoded before sending data to the server.
(sieve-manage-getscript):
(sieve-manage-putscript): Use the changes above to fix down/uploading
scripts containing UTF-8 multibyte characters.
(sieve-manage-listscripts):
(sieve-manage-havespace)
(sieve-manage-getscript)
(sieve-manage-putscript):
(sieve-manage-deletescript):
(sieve-manage-setactive): Use the changes above to fix handling of
script names which contain UTF-8 multibyte characters.
(sieve-manage-parse-string):
(sieve-manage-getscript): Add handling of server responses with type
NO. Abort `sieve-manage-getscript' and show error message in message
area.
(sieve-manage-erase):
(sieve-manage-drop-next-answer):
(sieve-manage-parse-crlf): Return erased/dropped data (instead of nil).
(sieve-sasl-auth):
(sieve-manage-getscript):
(sieve-manage-erase):
(sieve-manage-open-server):
(sieve-manage-open):
(sieve-manage-send): Improve logging.

2 years agoImprove robustnes of `sieve-manage-quit' in case of errors
Kai Tetzlaff [Mon, 28 Feb 2022 10:33:56 +0000 (11:33 +0100)]
Improve robustnes of `sieve-manage-quit' in case of errors

* lisp/net/sieve.el (sieve-manage-quit): Avoid killing buffers it's
not supposed to touch (bug#54154).

2 years agoAdd tests for opening different image formats
Stefan Kangas [Tue, 6 Sep 2022 11:03:40 +0000 (13:03 +0200)]
Add tests for opening different image formats

* test/src/image-tests.el
(image-tests-make-load-image-test): New macro.
(image-tests-load-image/gif)
(image-tests-load-image/jpeg)
(image-tests-load-image/pbm)
(image-tests-load-image/png)
(image-tests-load-image/svg)
(image-tests-load-image/tiff)
(image-tests-load-image/webp)
(image-tests-load-image/xbm)
(image-tests-load-image/xpm): New tests.

2 years agoFix interactive image.c tests
Stefan Kangas [Tue, 6 Sep 2022 10:56:51 +0000 (12:56 +0200)]
Fix interactive image.c tests

* test/src/image-tests.el (image-tests-image-metadata/gif)
(image-tests-image-metadata/webp): Fix tests.

2 years agoAdd some new find-lisp commands
Drew Adams [Tue, 6 Sep 2022 10:53:50 +0000 (12:53 +0200)]
Add some new find-lisp commands

* lisp/find-lisp.el (find-lisp-find-dired-other-window): New command.
(find-lisp-find-dired): Improve the doc string.
(find-lisp-find-dired-subdirectories): Clarify doc string.
(find-lisp-find-dired-subdirs-other-window): New command.
(find-lisp-find-dired-internal): Adjust to allow being called by
the new command.
(find-lisp-format): Make symlink output more regular.

2 years agoApply syntax highlighting for all python f-strings
Laurence Warne [Tue, 6 Sep 2022 10:28:12 +0000 (12:28 +0200)]
Apply syntax highlighting for all python f-strings

* lisp/progmodes/python.el (python--f-string-p)
(python--font-lock-f-strings): Edit functions to use a regular
expression matching all f-strings (bug#56757).

2 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Tue, 6 Sep 2022 10:33:45 +0000 (12:33 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

2 years agoUse secondary groups when checking permissions in Tramp (Bug#57044)
Michael Albinus [Tue, 6 Sep 2022 10:33:19 +0000 (12:33 +0200)]
Use secondary groups when checking permissions in Tramp (Bug#57044)

* lisp/net/tramp.el (tramp-check-cached-permissions): Check also for
secondary groups.  (Bug#57044)
(tramp-get-remote-groups):
* lisp/net/tramp-adb.el (tramp-adb-handle-get-remote-groups):
* lisp/net/tramp-sh.el (tramp-sh-handle-get-remote-groups):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-get-remote-groups):
New defuns.

* lisp/net/tramp.el (tramp-file-name-for-operation):
* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
Add `tramp-get-remote-groups'.

* lisp/net/tramp.el:
* lisp/net/tramp-adb.el:
* lisp/net/tramp-cache.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-fuse.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-integration.el:
* lisp/net/tramp-rclone.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sudoedit.el: Use `blank' in `rx' forms.

* test/lisp/net/tramp-archive-tests.el:
* test/lisp/net/tramp-tests.el: Use `blank' in `rx' forms.

2 years agoMake ffap-file-finder work again
Lars Ingebrigtsen [Tue, 6 Sep 2022 10:24:32 +0000 (12:24 +0200)]
Make ffap-file-finder work again

* lisp/ffap.el (find-file-at-point): Allow people to set
ffap-file-finder again (bug#50279).

* lisp/ido.el (ido-everywhere): Add an interstitial to fulfil
ffap-file-handler semantics.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Tue, 6 Sep 2022 04:30:27 +0000 (06:30 +0200)]
Merge from origin/emacs-28

ecbdb3b0ad * lisp/server.el: Improve Commentary.
ee5c591249 Explain how the font appearance can be fine-tuned in fbterm.

2 years agocl-symbol-macrolet: Fix recent regression
Stefan Monnier [Tue, 6 Sep 2022 04:08:35 +0000 (00:08 -0400)]
cl-symbol-macrolet: Fix recent regression

The recent fix for bug#57397 introduced a regression, breaking
the `cl-lib-symbol-macrolet-hide` test.  It turned out that the
origin of the problem was that `gv.el` uses `macroexpand-1` which
does not (can't) use `macroexpand` but `cl-symbol-macrolet` failed
to advise `macroexpand-1` the way it advised `macroexpand`.

To fix this, we change `cl-symbol-macrolet` so it advises both, and we
do that with a new `macroexpand` advice which delegates the bulk of
the work to `macroexpand-1`.

Along the way, I bumped into another bug in the interaction between
`cl-letf` and `cl-symbol-macrolet`, which I tried to fix in `cl-letf`.

I hear the war on `cl-symbol-macrolet` was a failure.
Maybe ... just say no?

* lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand-1): New function,
extracted from `cl--sm-macroexpand`.
(cl--sm-macroexpand): Rewrite completely.
(cl-symbol-macrolet): Advise both `macroexpand` and `macroexpand-1`.
(cl--letf): Don't use the "simple variable" code for symbol macros.

* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet-hide):
Revert last change because the test was right.

* test/lisp/emacs-lisp/cl-macs-tests.el
(cl-macs-test--symbol-macrolet): Add a test case.

2 years ago; Document that a value of any other type means no highlighting
Sean Whitton [Tue, 6 Sep 2022 00:39:21 +0000 (17:39 -0700)]
; Document that a value of any other type means no highlighting

* lisp/vc/vc-git.el (vc-git-log-edit-summary-target-len)
(vc-git-log-edit-summary-max-len): Document that a value of any other
type means no highlighting.

2 years agoAdd new --timeout flag to emacsclient
Stefan Kangas [Tue, 6 Sep 2022 00:05:18 +0000 (02:05 +0200)]
Add new --timeout flag to emacsclient

* lib-src/emacsclient.c (DEFAULT_TIMEOUT): New constant.
(timeout): New static variable.
(longopts, shortopts, decode_options, print_help_and_exit): Add new
flag --timeout.
(set_socket_timeout, check_socket_timeout): New helper functions.
(main): Display a status message or exit after Emacs has not responded
for a while, depending on above new --timeout flag.  (Bug#50849)

* doc/emacs/misc.texi (emacsclient Options):
* doc/man/emacsclient.1: Document the above new option.
* etc/NEWS: Announce it.

2 years ago; * lisp/help-fns.el (help-fns--key-bindings): Fix previous change.
Gregory Heytings [Mon, 5 Sep 2022 22:13:07 +0000 (22:13 +0000)]
; * lisp/help-fns.el (help-fns--key-bindings): Fix previous change.

2 years agoDisable failing cl-lib-symbol-macrolet-hide test for now
Lars Ingebrigtsen [Mon, 5 Sep 2022 22:06:34 +0000 (00:06 +0200)]
Disable failing cl-lib-symbol-macrolet-hide test for now

* test/lisp/emacs-lisp/cl-lib-tests.el
(cl-lib-symbol-macrolet-hide): Disable until code is fixed.

2 years agoSimplify describe-function.
Gregory Heytings [Mon, 5 Sep 2022 21:28:32 +0000 (21:28 +0000)]
Simplify describe-function.

* lisp/help-fns.el (describe-function-1): Do not pass
'describe-function-orig-buffer' as argument to...
(help-fns--key-bindings): but use it directly there instead.
This simplifies 1d1158397b.

2 years agoFit the re-builder window to the buffer
Juri Linkov [Mon, 5 Sep 2022 18:58:27 +0000 (20:58 +0200)]
Fit the re-builder window to the buffer

* lisp/emacs-lisp/re-builder.el (re-builder): Fit the height to
the buffer (bug#56772).

2 years agoAdd new functions for splitting the root window
Hugo Heagren [Mon, 5 Sep 2022 18:54:51 +0000 (20:54 +0200)]
Add new functions for splitting the root window

* lisp/window.el (split-window-right): Add optional argument to
control which window is split (previously, would only split selected
window).  Update docstring.
* doc/lispref/windows.texi (Splitting Windows): Update docs for
`split-window-right'.
* lisp/window.el (split-window-below): Add optional argument to
control which window is split (previously, would only split selected
window).  Update docstring.
* doc/lispref/windows.texi (Splitting Windows): Update docs for
`split-window-below'.
* lisp/window.el (ctl-x-map): Bind `split-root-window-right' to 9 in
ctl-x-map.  This is consistent with binding other window-splitting
operations to numbers in this map.
* lisp/window.el (ctl-x-map): Bind `split-root-window-below' to 7 in
ctl-x-map.  This is consistent with binding other window-splitting
operations to numbers in this map.
* lisp/window.el (split-root-window-right): New function to split
whole frame.
* doc/lispref/windows.texi (Splitting Windows): Add documentation for
`split-root-window-right'.
* lisp/window.el (split-root-window-below): New function to split
whole frame.
* doc/lispref/windows.texi (Splitting Windows): Add documentation for
`split-root-window-below' (bug#56791).

2 years agoFont lock long Git commit summary lines
Sean Whitton [Sun, 4 Sep 2022 23:20:15 +0000 (16:20 -0700)]
Font lock long Git commit summary lines

* lisp/vc/vc-git.el (vc-git-log-edit-summary-target-len)
(vc-git-log-edit-summary-max-len): New defcustoms.
(vc-git-log-edit-summary-target-warning)
(vc-git-log-edit-summary-max-warning): New faces.
(vc-git--log-edit-summary-check): New function.
(vc-git-log-edit-mode): Add vc-git--log-edit-summary-check to
log-edit-font-lock-keywords to font lock long Git commit summary
lines.
* etc/NEWS (VC): Document the change.
* .dir-locals.el: Set vc-git-log-edit-summary-target-len.

2 years ago* lisp/server.el: Improve Commentary.
Stefan Kangas [Mon, 5 Sep 2022 13:44:01 +0000 (15:44 +0200)]
* lisp/server.el: Improve Commentary.

2 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Mon, 5 Sep 2022 12:17:49 +0000 (15:17 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

2 years ago; * doc/emacs/mark.texi (Mark): Improve wording.
Eli Zaretskii [Mon, 5 Sep 2022 12:17:03 +0000 (15:17 +0300)]
; * doc/emacs/mark.texi (Mark): Improve wording.

2 years agoExplain how the font appearance can be fine-tuned in fbterm.
Gregory Heytings [Mon, 5 Sep 2022 08:55:10 +0000 (08:55 +0000)]
Explain how the font appearance can be fine-tuned in fbterm.

* doc/misc/efaq.texi (Emacs in a Linux console): Briefly document
Xft font specifications with which the font appearance can be
fine-tuned.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Mon, 5 Sep 2022 04:30:32 +0000 (06:30 +0200)]
Merge from origin/emacs-28

5713c730f2 Update to Org 9.5.5
aad38d6010 * lisp/emacs-lisp/comp.el (comp-run-async-workers): Fail m...

2 years agoFix crash while converting empty vector to X data
Po Lu [Mon, 5 Sep 2022 01:51:05 +0000 (09:51 +0800)]
Fix crash while converting empty vector to X data

* src/xselect.c (lisp_data_to_selection_data): Assume an empty
vector represents INTEGER data, instead of blindly trying to
aref it's first element.

2 years agoLet external Eshell processes send stdout and stderr to different places
Jim Porter [Sun, 28 Aug 2022 18:53:07 +0000 (11:53 -0700)]
Let external Eshell processes send stdout and stderr to different places

* lisp/eshell/esh-proc.el (eshell-put-process-properties): Pass INDEX.
(eshell-gather-process-output): Create a pipe process for stderr when
stderr goes somewhere different than stdout.
(eshell-insertion-filter, eshell-sentinel): Consult
':eshell-handle-index' property.

* test/lisp/eshell/esh-proc-tests.el
(esh-proc-test/output/stdout-to-buffer)
(esh-proc-test/output/stderr-to-buffer)
(esh-proc-test/exit-status/with-stderr-pipe): New tests (bug#21605).

2 years agoPut Eshell's bookkeeping data for external processes on the process object
Jim Porter [Sun, 28 Aug 2022 18:19:30 +0000 (11:19 -0700)]
Put Eshell's bookkeeping data for external processes on the process object

This allows tracking this information for process objects not recorded
in 'eshell-process-list', which will be useful for pipe processes for
stderr output.

* lisp/eshell/esh-proc.el (eshell-process-list): Add docstring.
(eshell-record-process-object): Only record the process object and
whether it's a subjob.
(eshell-remove-process-entry): Adapt to changes in
'eshell-record-process-object'.
(eshell-record-process-properties): New function...
(eshell-gather-process-output): ... call it.
(eshell-insertion-filter, eshell-sentinel): Use new process
properties, don't require process to be in 'eshell-process-list'.

* test/lisp/eshell/esh-proc-tests.el (esh-proc-test--output-cmd): New
variable.
(esh-proc-test--detect-pty-cmd): Add docstring.
(esh-proc-test/output/to-screen)
(esh-proc-test/output/stdout-and-stderr-to-buffer)
(esh-proc-test/exit-status/success, esh-proc-test/exit-status/failure)
(esh-proc-test/kill-process/foreground-only): New tests.
(esh-proc-test/kill-background-process): Rename to...
(esh-proc-test/kill-process/background-prompt): ... this, and use
'eshell-wait-for-subprocess' instead of 'sit-for'.

2 years agoAdd support for more kinds of redirect operators in Eshell
Jim Porter [Sat, 9 Jul 2022 23:26:55 +0000 (16:26 -0700)]
Add support for more kinds of redirect operators in Eshell

* lisp/eshell/esh-arg.el: Require cl-lib.
(eshell-finish-arg): Allow passing multiple ARGUMENTS.
(eshell-quote-argument): Handle the case when 'eshell-finish-arg' was
passed multiple arguments.

* lisp/eshell/esh-cmd.el (eshell-do-pipelines)
(eshell-do-pipelines-synchronously): Only set stdout output handle.

* lisp/eshell/esh-io.el (eshell-redirection-operators-alist): New
constant.
(eshell-io-initialize): Prefer sharp quotes for functions.
(eshell-parse-redirection, eshell-strip-redirections): Add support for
more redirection forms.
(eshell-copy-output-handle, eshell-set-all-output-handles): New
functions.

* test/lisp/eshell/esh-io-tests.el
(esh-io-test/redirect-all/overwrite, esh-io-test/redirect-all/append)
(esh-io-test/redirect-all/insert, esh-io-test/redirect-copy)
(esh-io-test/redirect-copy-first, esh-io-test/redirect-pipe): New
tests.

* doc/misc/eshell.texi (Redirection): Document new redirection syntax.
(Pipelines): Document '|&' syntax.
(Bugs and ideas): Update item about redirection syntax.

* etc/NEWS: Announce this change.

2 years agoAllow checking specific Eshell handles for interactive output
Jim Porter [Mon, 29 Aug 2022 03:50:27 +0000 (20:50 -0700)]
Allow checking specific Eshell handles for interactive output

This changes the default behavior of the function to check only stdout
for interactivity, but for most cases this should be what we want.

* lisp/eshell/esh-io.el (eshell-interactive-output-p): Pass HANDLES
and handle INDEX.

* lisp/eshell/em-term.el (eshell-visual-command-p): Check for
interactivity of both stdout and stderr.

2 years agoSimplify Eshell handle functions and add tests/documentation
Jim Porter [Sat, 9 Jul 2022 17:34:31 +0000 (10:34 -0700)]
Simplify Eshell handle functions and add tests/documentation

* lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Explain how to
use 'eshell-finish-arg'.

* lisp/eshell/esh-io.el (eshell-create-handles): Only call
'eshell-get-target' for stderr if necessary.
(eshell-protect-handles): Use 'dotimes'.
(eshell-set-output-handle): Pass HANDLES and fix an edge case with
setting a duplicate TARGET.

* test/lisp/eshell/eshell-tests-helpers.el (eshell-with-temp-buffer):
New macro.

* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/quoted-lisp-form)
(esh-cmd-test/backquoted-lisp-form)
(esh-cmd-test/backquoted-lisp-form/splice): New tests.

* test/lisp/eshell/eshell-tests.el (eshell-test/redirect-buffer)
(eshell-test/redirect-buffer-escaped): Move to...
* test/lisp/eshell/esh-io-tests.el: ... here, and add other I/O tests.

* doc/misc/eshell.texi (Arguments): Add documentation for special
argument types.
(Input/Output): Expand documentation for redirection and pipelines.

2 years agoAdd basic test coverage for overlay modification hooks
Matt Armstrong [Sun, 4 Sep 2022 21:58:55 +0000 (23:58 +0200)]
Add basic test coverage for overlay modification hooks

* test/src/buffer-tests.el: (overlay-modification-hooks) new
ert-deftest.
(overlay-tests-start-recording-modification-hooks): New function.
(overlay-tests-get-recorded-modification-hooks): New function
(bug#57150).

2 years agoClarify that the region is in the Emacs manual
Lars Ingebrigtsen [Sun, 4 Sep 2022 20:58:52 +0000 (22:58 +0200)]
Clarify that the region is in the Emacs manual

* doc/emacs/mark.texi (Mark): Try to clarify what's so special
about Emacs' regions (bug#50950).

2 years agoMark some filenotify tests unstable on EMBA
Lars Ingebrigtsen [Sun, 4 Sep 2022 18:44:30 +0000 (20:44 +0200)]
Mark some filenotify tests unstable on EMBA

* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test09-watched-file-in-watched-dir): Mark as unstable
on EMBA, because they seem to fail regularly.

2 years ago; * etc/NEWS: Move WebP entry to a proper place.
Eli Zaretskii [Sun, 4 Sep 2022 18:30:53 +0000 (21:30 +0300)]
; * etc/NEWS: Move WebP entry to a proper place.

2 years agoFix comment in tramp.el
Michael Albinus [Sun, 4 Sep 2022 17:25:21 +0000 (19:25 +0200)]
Fix comment in tramp.el