1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-06 14:02:07 -08:00
Commit graph

179018 commits

Author SHA1 Message Date
Michael Albinus
7ade5bd9fb Disable setting connection-local variables in tramp-smb.el
* lisp/net/tramp-smb.el: Disable setting connection-local
variables.  (Bug#78886)
2025-07-24 15:30:13 +02:00
Paul Eggert
e026b57f07 Don’t read before BEG in insert-file-contents
* src/fileio.c (Finsert_file_contents): Don’t sample bytes before BEG.
Give up optimizing if the file size shrinks to less than BEG.
2025-07-23 17:55:15 -07:00
Paul Eggert
4c79154949 Simplify file end finding in insert-file-contents
* src/fileio.c (Finsert_file_contents): Don’t give up finding the
file’s end merely because SEEK_END fails.  Try a small test read
anyway.  This might work in non-POSIX file systems where SEEK_END
is not allowed, and trying is easy and simplifies the code.
2025-07-23 17:55:15 -07:00
Paul Eggert
69af0d4c85 GCC bug 119085 fixed in GCC 16
* configure.ac (emacs_cv_gcc_bug_119085_CFLAGS):
Assume the bug is fixed starting in GCC 16.
2025-07-23 13:05:56 -07:00
Juri Linkov
128e8311be * lisp/repeat.el (repeat-mode): Use 'called-interactively-p'.
This logic is copied from 'define-minor-mode' that displays a message
about mode activation only when called interactively (bug#79081).
2025-07-23 20:56:05 +03:00
Michael Albinus
c142f0d246 Add consistent environment for local process calls in Tramp
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-androidsu.el (tramp-androidsu-maybe-open-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-file-acl)
(tramp-smb-handle-file-notify-add-watch)
(tramp-smb-handle-set-file-acl, tramp-smb-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-send-command):
Use `tramp-start-process'.  Do not call	`tramp-post-process-creation'.

* lisp/net/tramp.el (with-tramp-local-environment): New defmacro.
(tramp-start-process): New defun.
(tramp-call-process, tramp-call-process-region)
(tramp-process-lines): Use `with-tramp-local-environment'.
2025-07-23 16:22:26 +02:00
Gerd Möllmann
2d1d1f31df NS: Fix build with NSTRACE_ENABLED
* src/nsterm.h (NSTRACE_MSG_NO_DASHES): Use
nstrace_enabled_global.
* src/nsterm.m: ([EmacsView performDragOperation:]): Don't use
an NSString.
2025-07-23 11:59:23 +02:00
Jim Porter
0d752f15b8 Handle Eshell prompts where stickiness properties are 't'
Previously, this signaled an error, breaking the prompt (bug#79059).

* lisp/eshell/em-prompt.el (eshell--append-text-property): Don't append
to non-list property values.

* test/lisp/eshell/em-prompt-tests.el
(em-prompt-test/field-properties/merge-stickiness): Adapt test.
2025-07-22 22:24:15 -07:00
Gerd Möllmann
f177537f70 NS: Use different window collection behavior for tooltips (bug#73037)
* src/nsterm.m ([EmacsView updateCollectionBehavior]):
Use NSWindowCollectionBehaviorFullScreenAuxiliary for non-native
tooltips which are not child frames.
2025-07-23 06:26:45 +02:00
Michael Albinus
5a7a12d792 Add function exec-suffixes
* doc/lispref/processes.texi (Subprocess Creation):
Add function exec-suffixes.

* etc/NEWS: New function 'exec-suffixes'.
Presentational fixes and improvements.

* lisp/files-x.el (exec-suffixes): New defun.  (Bug#78886)

* lisp/files.el (executable-find): Use function `exec-suffixes'.

* lisp/net/tramp-integration.el
(tramp-connection-local-default-system-variables): Add also
`exec-suffixes'.

* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use
default values of `path-separator', `null-device' and
`exec-suffixes'.
(tramp-smb-connection-local-default-system-variables):
New defconst.  Add it to connection-local profiles.
2025-07-22 17:47:38 +02:00
Mattias Engdegård
b7f2d994c6 * lisp/custom.el (defcustom): Remove empty doc string.
It is no longer needed because (lambda () "hello") has no doc string.
2025-07-22 14:30:58 +02:00
Sean Whitton
d381a7e799 * lisp/vc/vc-git.el (vc-git-diff): Don't pass --textconv.
This reverts this change:

    Author:     Sean Whitton <spwhitton@spwhitton.name>
    AuthorDate: Mon Jul 21 09:26:59 2025 +0100

      * lisp/vc/vc-git.el (vc-git-diff): Pass --textconv (bug#79050).
2025-07-22 11:34:44 +01:00
Paul Eggert
eb488e1bba insert-file-contents respect END better
This fixes some longstanding bugs, along with bugs recently
introduced as part of fixes for Bug#77315.
* src/fileio.c (Finsert_file_contents): Arrange for END_OFFSET
to never be less than BEG_OFFSET, to simplify the code.
Do not go past END_OFFSET when sampling or optimizing reading.
Avoid a few unnecessary lseeks.
2025-07-21 16:23:18 -07:00
Paul Eggert
8393e469e7 insert-file-contents shrinking Solaris file fix
This is related to recent fixes for Bug#77315.
* src/fileio.c (Finsert_file_contents): Defend against
a file shrinking to be smaller than its initial offset.
This can happen only on platforms like Solaris where
the initial offset can be positive.
2025-07-21 16:23:18 -07:00
Paul Eggert
e879533f4b Refactor insert-file-contents overlap check
* src/fileio.c (Finsert_file_contents):
Simplify and clarify file overlap check.
2025-07-21 16:23:18 -07:00
Paul Eggert
adbae4f92f insert-file-contents refactor xlseek
* src/fileio.c (xlseek): New arg WHENCE.  All uses changed.
This generalizes xlseek and should simplify future changes.
2025-07-21 16:23:18 -07:00
Paul Eggert
d04182d52a Say why quit is captured in insert-file-contents
* src/fileio.c (Finsert_file_contents): Add comment.
2025-07-21 16:23:18 -07:00
Paul Eggert
a8e46f11a8 insert-file-contents read size increase
This increases the max read size from 0.25 to 1 MiB, which is a
bit better for Emacs in my measurements.  The old value was taken
from coreutils, but was for a different purpose.
* src/fileio.c (INSERT_READ_SIZE_MAX): New constant, replacing
IO_BUFSIZE.  All uses changed.
(Finsert_file_contents): Do not use a read buffer that is larger
than INSERT_READ_SIZE_MAX.
2025-07-21 16:23:18 -07:00
Paul Eggert
27e0f0f79b Fix insert-file-contents infloop with unlucky END
This partially reverts 55f41ca3aa,
which was a partial fix for Bug#77315.
* src/fileio.c (Finsert_file_contents): Go back to accepting
partial reads when doing the optimized way when code conversion is
not needed.  This avoids an unlikely bug when END happens to lie
at a buffer boundary, causing an infloop.  For consistency, do the
same when doing code conversion (though there’s no bug in then),
as there’s not a real need for emacs_full_read there either.
2025-07-21 16:23:18 -07:00
Paul Eggert
46314aef87 Refactor by coalescing MAX_RW_COUNT definitions
* src/emacs.c (read_full):
Simplify by assuming MAX_RW_COUNT is defined.
* src/lisp.h (MAX_RW_COUNT): Move here from src/sysdep.c.
* src/pdumper.c (dump_read_all):
Use MAX_RW_COUNT rather than defining our own equivalent.
2025-07-21 16:23:18 -07:00
Paul Eggert
aaf9c5213f insert-file-contents from seekable non-regular
* src/fileio.c (Finsert_file_contents): Be more conservative
when reading from seekable non-regular files when END is given.
The code assumed that in this case, reads would succeed or fail
quickly so there was no need to call internal_condition_case_1.
However, in some cases, e.g., /dev/random, it could take a while.
This fixes a glitch introduced in commit
cb4579ed6b dated 2022-06-11.
2025-07-21 16:23:18 -07:00
Paul Eggert
49ca3a2151 insert-file-contents beware buffer relocation
This fixes a potential (albeit quite unlikely) bug
introduced during recent fixes to Bug#77315.
* src/fileio.c (union read_non_regular.s.inserted):
Bring back this member.
(read_non_regular, Finsert_file_contents): Work in the unlikely
case when internal_condition_case_1 relocates the buffer before
calling read_non_regular.
2025-07-21 16:23:18 -07:00
Paul Eggert
2903b0b92c insert-file-contents 1 KiB seek fix
This improves on recent fixes to Bug#77315.
When sampling the first 1 KiB and last 3 KiB, do not seek before
BEG if given.  Instead, sample starting at BEG, to be consistent
with the non-optimized version.
* src/fileio.c (xlseek): Return POS, for convenience.
(Finsert_file_contents): Sample the first 1 KiB correctly when BEG.
In a CURPOS local, keep track of the input file offset, or for
nonseekable files the number of bytes read, while this value is
important.  This lets us avoid some unnecessary seeks.  Report an
error earlier if the file is not seekable and BEG is nonzero,
to save work and simplify the code.  When sampling, discard less
data, as this is simpler and there’s little point to discarding it.
2025-07-21 16:23:18 -07:00
Paul Eggert
ffe6d33ef4 insert-file-contents seek refactoring
* src/fileio.c (xlseek): New function.
(Finsert_file_contents): Use it instead of doing things by hand.
(write_region): Match diagnostic wording to xlseek’s.
2025-07-21 16:23:17 -07:00
Paul Eggert
5f4b71b0c4 Fix insert-file-contents optimization glitch
This improves on recent fixes to Bug#77315.
* src/fileio.c (Finsert_file_contents): When optimizing
do not seek to 0 if the initial file offset is positive,
as that causes the optimized code to behave differently
from the nonoptimized.
2025-07-21 16:23:17 -07:00
Paul Eggert
1b517a4fe0 insert-file-contents SEEK_END optimization
This improves on recent fixes to Bug#77315.
* src/fileio.c (Finsert_file_contents):
Do not give up on seeking merely because SEEK_END fails.
On some files (/proc/cpuinfo, say) SEEK_END can fail
even though SEEK_SET and SEEK_CUR succeed, and the
code still works in this case.
2025-07-21 16:23:17 -07:00
Paul Eggert
8d83402edc insert-file-contents st_size cleanup
* src/fileio.c (Finsert_file_contents): Store st_size,
not file_size_hint, into current_buffer->modtime_size,
since modtime_size is compared to a later st_size, not
to the actual file size.  Simplify buffer overflow detection
from file size, since this occurred only on regular files.
2025-07-21 16:23:17 -07:00
Eli Zaretskii
5485bda523 Improve documentation of 'quit-window'
* lisp/window.el (quit-window): Mention 'quit-window-kill-buffer'.
(quit-window): Doc fix.

* doc/lispref/windows.texi (Quitting Windows):
* etc/NEWS: Improve documentation of 'quit-window-kill-buffer'.
2025-07-21 15:35:36 +03:00
Eli Zaretskii
527dc4faff ; * lisp/simple.el (shell-command): Fix last change (bug#79067). 2025-07-21 13:41:18 +03:00
Sean Whitton
0a0ff03839 ; * lisp/vc/vc-cvs.el (vc-cvs-file-to-string): Simplify slightly. 2025-07-21 11:04:34 +01:00
Sean Whitton
90fc061fd2 * lisp/vc/vc-git.el (vc-git-diff): Pass --textconv (bug#79050). 2025-07-21 09:26:59 +01:00
Steven Allen
59575c32aa Add an example for the :authorizable `dbus-call-method' keyword
This was requested in bug#71969 over a year ago.

* doc/misc/dbus.texi (Synchronous Methods): Add example for
`dbus-call-method' with authorization.  (Bug#79062)
2025-07-21 09:50:33 +02:00
Michael Albinus
ef84a1b2d6 Handle an error of file-notify-add-watch in autorevert.el
* lisp/autorevert.el (auto-revert-notify-add-watch):
Disable `auto-revert-use-notify' in the buffer when
`file-notify-add-watch' fails.
2025-07-21 09:24:23 +02:00
Jim Porter
cb2de76614 ; * lisp/eshell/esh-cmd.el (eshell-lisp-command): Simplify. 2025-07-20 16:05:00 -07:00
Jim Porter
dc38f05757 Disable track-changes while reloading pages in EWW
This makes sure 'eww--track-changes' doesn't interfere with the initial
rendering process.  Previously, this caused problems like <textareas>
consuming the rest of the page when reloading the document.

* lisp/net/eww.el (eww--change-tracker-id): New variable.
(eww-display-document): Temporarily unregister our change tracker.

* test/lisp/net/eww-tests.el (eww-test/tag/textarea/reload): New test.
2025-07-20 13:13:41 -07:00
Jim Porter
49376118a1 Fix EWW <textarea> properties when it's on the same line as other text
* lisp/net/eww.el (eww-tag-textarea): Set 'start' after ensuring
preceding newline.

* test/lisp/net/eww-tests.el (eww-test/tag/textarea/starts-on-new-line):
New test.
2025-07-20 13:13:41 -07:00
Eli Zaretskii
852009b4f1 Improve error message for "C-u M-! something &"
* lisp/simple.el (shell-command): User-friendlier error message
when async shell command is invoked with a prefix argument.
2025-07-20 11:36:35 +03:00
Roland Winkler
e6c1ec71b7 Define setfunction for bibtex-generate-url-list (bug#78798)
* lisp/textmodes/bibtex.el
        (bibtex-generate-url-list-init): New function.

        * lisp/textmodes/bibtex.el (bibtex-generate-url-list)
        (bibtex-font-lock-url-regexp): Use it.
2025-07-20 01:01:12 -05:00
Jim Porter
49696b5cd1 Make sure we always set the ':readable' state when displaying EWW page
* lisp/net/eww.el (eww-display-html): Always set ':readable'.
* test/lisp/net/eww-tests.el (eww-test/readable/reload-resets-readable):
New test.
2025-07-19 20:24:32 -07:00
Stefan Monnier
e35e18ac18 lisp/vc: Try and avoid quoting lambdas
* lisp/vc/pcvs.el (cvs-menu, cvs-minor-mode-map):
* lisp/vc/vc-hg.el (vc-hg--extract-headers):
* lisp/vc/vc-git.el (vc-git-show-stash): Don't quote lambdas.
2025-07-19 14:42:28 -04:00
Eli Zaretskii
7300f50007 ; Avoid lexical-binding warning in lread-tests
* test/src/lread-tests.el (lread-test-bug-31186)
(lread-tests--unescaped-char-literals): Avoid lexical-binding warning.
2025-07-19 20:50:57 +03:00
Alvaro Ramirez
bd5b1c6b08 Fix send-to on non-macOS platforms and macOS crash on "emacs -nw"
* lisp/send-to.el: Both fixes included.
2025-07-19 18:57:34 +02:00
Mattias Engdegård
c184ea2441 ; silence some compiler warnings in tests
* test/lisp/savehist-tests.el (savehist-test-saved-variables):
(savehist-test-duplicated-saved-symbols):
* test/src/data-tests.el (binding-test-toplevel-values):
Suppress harmless warnings.
2025-07-19 17:02:28 +02:00
Mattias Engdegård
f4a9673f61 Speed up unintern, and fix symbol shorthand edge case (bug#79035)
Don't do a full lookup if the argument is a symbol, and only compute the
hash index once.  Fix a bug that occurred when there is another symbol
whose shorthand is equal to the true name of the symbol being removed.

* src/lread.c (Funintern): Rewrite for speed and correctness.
(oblookup_last_bucket_number, oblookup): Remove now unused variable.
* test/src/lread-tests.el (lread-unintern): New test.
2025-07-19 16:48:11 +02:00
Mattias Engdegård
e9deec70da Remove the variable load-convert-to-unibyte
It has been ineffective since 2002.
Suggested by Lynn Winebarger.

* src/lread.c (Fload, readevalloop_1, readevalloop, Feval_buffer)
(Feval_region, syms_of_lread): Remove the variable and its propagation.
* etc/NEWS: Announce.
2025-07-19 15:12:52 +02:00
Mattias Engdegård
ce90f00fec ; * lisp/tab-line.el (tab-line-exclude-buffers): missing backslash 2025-07-19 15:12:52 +02:00
Michael Albinus
a86e33663e Update Tramp manual
* doc/misc/tramp.texi (Frequently Asked Questions): Add new items
for Tramp speed up.
2025-07-19 15:04:36 +02:00
Alvaro Ramirez
813013691a Add "Send to..." context menu item to mouse.el
* lisp/send-to.el: New package implements sending files/region.

* lisp/mouse.el (context-menu-send-to): Add "Send to..." context menu.

* lisp/term/ns-win.el (ns-send-items): Expose native macOS send API.

* src/nsfns.m (ns-send-items): Implement native macOS sending.

* etc/NEWS: Announce the new feature.
2025-07-19 14:15:55 +02:00
Eli Zaretskii
fa61deda32 Merge from origin/emacs-30
3b2bfdfef6 ; Fix last change (bug#79042)
740138b113 ; Fix last change
e675d5ba64 ; Update doc strings of Dired functions due to 'marked' v...
a05be41af7 ; * lisp/battery.el (battery-bsd-apm): Explain a FIXME (b...
fe3ac1575a Fix :box attribute of faces in Leuven themes.
86e32aed4a ; define-globalized-minor-mode: Fix capitalization.
2025-07-19 06:56:58 -04:00
Sean Whitton
c56c56b3c6 Include shorter bindings in diff-mode docstring
* lisp/vc/diff-mode.el (diff-read-only-map): New keymap,
factored out of code modifying minor-mode-map-alist.
(diff-mode): Include bindings from diff-read-only-map in
docstring (bug#34080).
2025-07-19 11:17:25 +01:00