1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-28 19:42:02 +00:00
Commit Graph

159712 Commits

Author SHA1 Message Date
Sam James
6b7dc132af 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
2022-09-08 11:48:33 +03:00
Michael Albinus
684950eb94 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'.
2022-09-08 10:36:08 +02:00
Eli Zaretskii
e97ca476a1 ; 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>.
2022-09-08 10:14:10 +03:00
Philip Kaludercic
740a1a3d0e 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.
2022-09-08 08:21:15 +02:00
Po Lu
56f3cdef6b 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.
2022-09-08 13:20:33 +08:00
Stefan Kangas
cb036a79e2 dired-guess: Support zstandard archives
* lisp/dired-aux.el (dired-guess-shell-alist-default): Support
zstandard archives.
2022-09-08 02:48:46 +02:00
Stefan Kangas
5b87429d99 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>.
2022-09-08 02:35:37 +02:00
Morgan Smith
ffe50d41d9 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)
2022-09-08 02:15:22 +02:00
Morgan Smith
c6b25b55b3 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)
2022-09-08 02:15:14 +02:00
Stefan Kangas
901d3a2b5d ; Make emacsclient.c more quiet again
* lib-src/emacsclient.c (main): Remove status message after getting a
response from the server.  (Bug#57650)
2022-09-07 23:38:55 +02:00
Stefan Kangas
7db52f611c Prefer defvar-keymap in icomplete.el
* lisp/icomplete.el (icomplete-minibuffer-map)
(icomplete-fido-mode-map)
(icomplete-vertical-mode-minibuffer-map): Prefer defvar-keymap.
2022-09-07 23:38:55 +02:00
Mattias Engdegård
35b4205dee Improve save-match-data hygiene
* lisp/subr.el (save-match-data): Use uninterned variable symbol.
Remove outdated comments.
2022-09-07 18:02:26 +02:00
Eli Zaretskii
e1282c8c66 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>.
2022-09-07 16:20:29 +03:00
Eli Zaretskii
579eefda36 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.
2022-09-07 15:18:54 +03:00
Mattias Engdegård
c6c9dfc867 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.
2022-09-07 14:05:28 +02:00
Philip Kaludercic
50020d026c Untabify rcirc.el 2022-09-07 11:18:32 +02:00
Gerd Möllmann
25813b697c ; TODO for writing to the bottom-right corner of a TTY (bug#57607) 2022-09-07 06:54:49 +02:00
Po Lu
473313d2a8 Fix nsfont breakage since 6b1ed2f2c9
* 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.
2022-09-07 09:52:35 +08:00
Po Lu
976965eb5e 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.
2022-09-07 09:52:35 +08:00
Stefan Kangas
5308a4e11e Improve image-tests.el Commentary
* test/src/image-tests.el: Doc fix; explain how to run from
command line.
2022-09-07 03:22:48 +02:00
Stefan Kangas
ca0a8b554a ; * lib-src/emacsclient.c (main): Fix previous change. 2022-09-07 03:00:14 +02:00
Stefan Kangas
9acb278af5 Bump Emacs version to 28.2
* README:
* configure.ac:
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 28.2.
2022-09-07 01:20:12 +02:00
Stefan Kangas
395760dcd3 Update ChangeLog and AUTHORS for Emacs 28.2
* ChangeLog.3:
* etc/AUTHORS:
* etc/NEWS: Update for Emacs 28.2.
2022-09-07 00:20:57 +02:00
Stefan Monnier
e09872ccb3 * lisp/jit-lock.el (jit-lock-function): Update comment 2022-09-06 17:29:34 -04:00
Stefan Kangas
ddabb03a01 * doc/misc/idlwave.texi (Troubleshooting): Don't say "Emacsen". 2022-09-06 23:27:01 +02:00
Stefan Monnier
91a79eedf6 * 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.
2022-09-06 17:24:11 -04:00
Stefan Monnier
be342f73bd * etc/NEWS.28: Mention make-closure 2022-09-06 17:20:37 -04:00
Stefan Kangas
8b2ac68e9f * doc/misc/mh-e.texi (Getting MH-E): Update. 2022-09-06 22:46:40 +02:00
Stefan Kangas
724444f3d5 ; * doc/emacs/misc.texi (emacsclient Options): Fix typo. 2022-09-06 22:46:11 +02:00
Stefan Kangas
0907e8a3c9 ; Fix deleting XEmacs references from MH-E manual
* doc/misc/mh-e.texi (Incorporating Mail): Also remove index entries
for gnuclient.
2022-09-06 22:44:49 +02:00
Stefan Kangas
19cc17b493 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.
2022-09-06 22:43:26 +02:00
Eli Zaretskii
088b81031b 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.
2022-09-06 15:09:09 +03:00
Stefan Kangas
b96257162d 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.
2022-09-06 14:08:27 +02:00
Stefan Kangas
a99665cf38 * doc/misc/semantic.texi: Delete unused macro. 2022-09-06 13:50:07 +02:00
Stefan Kangas
c016014af4 ; Minor doc fix in gnus.texi
* doc/misc/gnus.texi (Writing New Back Ends): Delete now obsolete
version variable.
2022-09-06 13:44:40 +02:00
Po Lu
a3d7332d75 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.
2022-09-06 19:39:24 +08:00
Kai Tetzlaff
ae963e80a7 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.
2022-09-06 13:33:48 +02:00
Kai Tetzlaff
46963d0bc9 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).
2022-09-06 13:33:48 +02:00
Stefan Kangas
015fb4ac1c 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.
2022-09-06 13:13:15 +02:00
Stefan Kangas
2d29ee5dde Fix interactive image.c tests
* test/src/image-tests.el (image-tests-image-metadata/gif)
(image-tests-image-metadata/webp): Fix tests.
2022-09-06 12:57:25 +02:00
Drew Adams
653bc39434 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.
2022-09-06 12:54:42 +02:00
Laurence Warne
969983ea1f 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).
2022-09-06 12:54:42 +02:00
Michael Albinus
91423627b4 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2022-09-06 12:33:45 +02:00
Michael Albinus
106456d01b 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.
2022-09-06 12:33:19 +02:00
Lars Ingebrigtsen
9f3f7f1ec4 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.
2022-09-06 12:24:32 +02:00
Stefan Kangas
eaca6378d2 Merge from origin/emacs-28
ecbdb3b0ad * lisp/server.el: Improve Commentary.
ee5c591249 Explain how the font appearance can be fine-tuned in fbterm.
2022-09-06 06:30:27 +02:00
Stefan Monnier
2a78f06ef4 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.
2022-09-06 00:08:35 -04:00
Sean Whitton
9219e83b3c ; 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.
2022-09-05 17:39:21 -07:00
Stefan Kangas
6a19f2a024 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.
2022-09-06 02:05:18 +02:00
Gregory Heytings
b648634982 ; * lisp/help-fns.el (help-fns--key-bindings): Fix previous change. 2022-09-06 00:15:49 +02:00