Commit graph

151717 commits

Author SHA1 Message Date
Philipp Stephani
a60053f836 Use posix_spawn if possible.
posix_spawn is less error-prone than vfork + execve, and can make
better use of system-specific enhancements like 'clone' on Linux.  Use
it if we don't need to configure a pseudoterminal.

* configure.ac (HAVE_SPAWN_H, HAVE_POSIX_SPAWN)
(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR)
(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP)
(HAVE_POSIX_SPAWNATTR_SETFLAGS, HAVE_DECL_POSIX_SPAWN_SETSID): New
configuration variables.
* src/callproc.c (USABLE_POSIX_SPAWN): New configuration macro.
(emacs_posix_spawn_init_actions)
(emacs_posix_spawn_init_attributes, emacs_posix_spawn_init): New
helper functions.
(emacs_spawn): Use posix_spawn if possible.
2021-11-11 22:00:03 +01:00
Jim Porter
6c9ac53249 Improve performance of 'file-name-case-insensitive-p' for Tramp files
Previously, each function in 'tramp-foreign-file-name-handler-alist'
would call 'tramp-dissect-file-name', resulting in it being called
several times whenever 'tramp-find-foreign-file-name-handler' was
called.  Now, functions take the dissected file name to avoid this
duplicated effort.  (Bug#51699)

* etc/NEWS: Announce this change.

* lisp/net/tramp-adb.el (tramp-adb-file-name-p):
* lisp/net/tramp-ftp.el (tramp-ftp-file-name-p):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-p):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-p):
* lisp/net/tramp-smb.el (tramp-smb-file-name-p):
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-p):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-p):
Accept dissected file names.

* lisp/net/tramp.el (tramp-ensure-dissected-file-name): New function.
(tramp-find-foreign-file-name-handler): Pass dissected file name to
functions.
(tramp-connectable-p): Use 'tramp-ensure-dissected-file-name'.
2021-11-11 19:34:17 +01:00
Stefan Kangas
585e2103df erc: Don't announce broken functionality in /query docstring
* lisp/erc/erc.el (erc-cmd-QUERY): Be less enthusiastic about
announcing missing/broken functionality.  The comment "except this is
broken right now" has been there since 2008, and it's not obvious to
me that we should ever re-add it.
2021-11-11 18:43:32 +01:00
Filipp Gunbin
e30cb92db6 * lisp/subr.el (add-hook): Fix adding into hook--depth-alist (bug#51620). 2021-11-11 19:44:27 +03:00
Eli Zaretskii
2c082ce800 ; * src/term.c (init_tty): Fix last change. 2021-11-11 16:58:47 +02:00
Eli Zaretskii
4a261ce91d ; * src/term.c (init_tty): Fix style of parentheses. 2021-11-11 16:56:46 +02:00
Eli Zaretskii
386289bdc8 Fix 8-color PuTTY -nw sessions broken by a recent commit
* src/term.c (init_tty): Fix the change which introduced support
for the terminfo Tc flag.  The code as installed broke colors in
PuTTY -nw sessions, because 'tigetflag' returned -1, which is
non-zero, so it was treated as the sign that true color is
supported.  But if the value returned by 'tigetflag' is -1, it means
the capability is not a boolean one, so that's not to be used as a
valid support for 24-bit color.  (Bug#44950)
2021-11-11 16:55:11 +02:00
Lars Ingebrigtsen
d75558f11c Fix problem with non-absolute names
* lisp/files.el (file-name-split): Fix problem with non-absolute
names.
2021-11-11 13:20:38 +01:00
Lars Ingebrigtsen
bf9364a56e Add a command to go the gnu.org version of the info page
* lisp/info.el (Info-url-for-node):
(Info-goto-node-web): New function (bug#44895).

Based on code from Drew Adams <drew.adams@oracle.com>.
2021-11-11 13:20:38 +01:00
Eli Zaretskii
997ca88ef4 ; * lisp/server.el (server-stop-automatically): Doc fix. 2021-11-11 13:12:50 +02:00
Eli Zaretskii
51e3625dec ; * etc/NEWS: Improve a recently added entry. 2021-11-11 12:58:58 +02:00
Michael Albinus
7aad73febf Merge from origin/emacs-28
6dae01ad6d Fix tramp-compat-file-name-concat (Bug#51754)
2021-11-11 11:55:15 +01:00
Aleksandr Vityazev
6dae01ad6d Fix tramp-compat-file-name-concat (Bug#51754)
* lisp/net/tramp-compat.el: Make `tramp-compat-file-name-concat'
work like file-name-concat.  (Bug#51754)
2021-11-11 11:53:41 +01:00
Po Lu
9a59d9017b Add URI as a valid spec for xwidget-webkit-buffer-name-format
* lisp/xwidget.el (xwidget-webkit-buffer-name-format): Update
doc string.
(xwidget-webkit-callback): Add a format spec %U, which stands
for the current URI of the widget.
2021-11-11 18:45:52 +08:00
Feng Shu
f69a808ddc xwidget: Add xwidget-webkit-buffer-name-format.
* lisp/xwidget.el (xwidget-webkit-buffer-name-prefix):
Remove variable.
(xwidget-webkit-buffer-name-format): New variable.
(xwidget-webkit-callback): Use
xwidget-webkit-buffer-name-format instead.
(format-spec): required.

* etc/NEWS: Note xwidget-webkit-buffer-name-format.
2021-11-11 18:26:05 +08:00
Stefan Kangas
12a638d845 ; * admin/gitmerge.el: Fix typos. 2021-11-11 10:28:31 +01:00
Eli Zaretskii
3020791e77 Fix files-tests on MS-Windows
* lisp/ls-lisp.el (ls-lisp--insert-directory): Fix free disk space
calculation.  (Bug#50630)

* test/lisp/files-tests.el (files-tests-revert-buffer)
(files-tests-revert-buffer-with-fine-grain): Disable locking
files.
2021-11-11 10:58:10 +02:00
Po Lu
f96380eb80 Fix documentation in xwidget.el
* src/xwidget.el (xwidget-webkit-isearch-mode): Reword
documentation.
2021-11-11 15:40:57 +08:00
Po Lu
195f5a0dfa Switch to xwidget webkit buffer even if a session already exists
* lisp/xwidget.el (xwidget-webkit-goto-url): Make behavior
when there is an existing session consistent.
2021-11-11 15:40:57 +08:00
Stefan Kangas
3e23494394 Merge from origin/emacs-28
2963de6540 * lisp/vc/vc-git.el (vc-git-mergebase): More meaningful er...
a9148cdee5 ; Fix heading in etc/NEWS
9623342216 ; * etc/NEWS: Move a bookmark related item further down.

# Conflicts:
#	etc/NEWS
2021-11-11 07:17:56 +01:00
Tim Ruffing
f30f531159 Support Tc terminfo flag for 24-bit color support in terminal
* src/term.c (init_tty): Use the Tc flag (bug#44950).

Copyright-paperwork-exempt: yes
2021-11-11 07:14:57 +01:00
Gregory Heytings
894dd18804 Options to automatically stop the Emacs server
* doc/emacs/misc.texi (Emacs Server): Document the new function.
Also mention that an Emacs server can be started with emacsclient.

* etc/NEWS: Describe the new function (bug#51377).
* lisp/server.el (server-stop-automatically): New function.
(server-stop-automatically): New auxiliary variable.
(server-stop-automatically--maybe-kill-emacs)
(server-stop-automatically--handle-delete-frame): New auxiliary
functions.
(server-save-buffers-kill-terminal): Call the new auxiliary
function when necessary.
2021-11-11 06:43:10 +01:00
Miha Rihtaršič
0a93fb499b Set minibuffer-completion-* variables locally in more places
* lisp/calc/calc-store.el (calc-read-var-name):
* lisp/emacs-lisp/crm.el (completing-read-multiple):
* lisp/progmodes/cc-styles.el (c-read-offset):
* lisp/window.el (read-buffer-to-switch):
Set `minibuffer-completion-*` variables buffer-locally instead of
using a global let-binding (bug#48925).

Follow-up to commit
2021-05-01 "* lisp/minibuffer.el (completing-read-default): Fix bug#45474"
2021-11-11 06:16:52 +01:00
Lars Ingebrigtsen
396355f46b Re-fix charset issues when yanking non-plain-text elements
* lisp/select.el (gui-get-selection): Make (gui-get-selection
'CLIPBOARD 'text/html) get decoded correctly (bug#31149), but still
avoid the logic on Windows.
2021-11-11 05:22:02 +01:00
Lars Ingebrigtsen
42037d8948 Don't save places in literally-visited files
* lisp/saveplace.el (save-places-to-alist): Don't save places in
literally-visited files (bug#51740).
2021-11-11 05:04:31 +01:00
John Cummings
9b80fe55f9 Add tests for 'insert-directory'
* test/lisp/files-tests.el: Add 'insert-directory' tests.
* test/lisp/files-resources/insert-directory/: Create directories and files to
use for testing 'insert-directory'.

Add tests for 'insert-directory' base functionality and regression tests for
the issue where free space was reported for the current directory instead of
the target of 'list-directory' (Bug#50630).
2021-11-11 04:37:46 +01:00
Lars Ingebrigtsen
6c405b7a49 Note that loaddefs.el is copied to ldefs-boot.el
* lisp/emacs-lisp/autoload.el (autoload-rubric): Add a comment to
the file noting what'll happen to it.
2021-11-11 04:08:51 +01:00
Lars Ingebrigtsen
b73e904070 Re-generated to get autoloads additions in emoji.el 2021-11-11 04:02:43 +01:00
Po Lu
3d253fa3aa Add `xwidget-webkit-load-html'
* doc/lispref/display.texi (Xwidgets): Document new function.
* etc/NEWS: Announce new function.
* src/xwidget.c (Fxwidget_webkit_load_html): New function.
(syms_of_xwidget): Define new subr.
2021-11-11 08:31:09 +08:00
Filipp Gunbin
d3ccf0895d ; Refer to Repeating from compare-windows info node
* doc/emacs/files.texi (Comparing Files): C-x z (`repeat') is very
convenient to use with compare-windows, so refer to its node.
2021-11-10 23:01:13 +03:00
Juri Linkov
2963de6540 * lisp/vc/vc-git.el (vc-git-mergebase): More meaningful error message.
Display a readable error message instead of signaling an error on nil value.
2021-11-10 20:41:19 +02:00
Juri Linkov
b7e212aca4 * etc/NEWS.28: Add changes omitted while merging from emacs-28 NEWS. 2021-11-10 20:36:41 +02:00
Juri Linkov
cb6cd6c8a2 * etc/NEWS: Remove old news accidentally merged from emacs-28. 2021-11-10 20:24:00 +02:00
Eli Zaretskii
32086ea233 Fix font weights on MS-Windows
* src/w32font.c (w32_decode_weight, w32_encode_weight)
(w32_to_fc_weight): Adjust weight translations to match those in
font.c and gtkutil.c:xg_weight_to_symbol.  (Bug#51704)
2021-11-10 20:17:33 +02:00
Robert Pluim
a491b73c76 Improve 'ensure-empty-lines' docstring
* lisp/emacs-lisp/subr-x.el (ensure-empty-lines): Fix typo and improve
wording.
2021-11-10 17:42:30 +01:00
Robert Pluim
c5e7a0225b ; * etc/NEWS: Improve some entries. 2021-11-10 17:05:10 +01:00
Robert Pluim
bf4151c65d ; * etc/NEWS: Fix merge error 2021-11-10 17:04:08 +01:00
Robert Pluim
77aff4c56e ; * etc/NEWS: Fix merge error 2021-11-10 16:53:44 +01:00
Stefan Kangas
4424970b2b * admin/update_autogen: Remove unused variables. 2021-11-10 16:37:52 +01:00
Stefan Kangas
3aad70326d Use "grep -E" instead of deprecated "egrep"
* admin/emake:
* test/lisp/so-long-tests/so-long-tests.el: Use "grep -E" instead of
deprecated "egrep".
2021-11-10 16:30:50 +01:00
Stefan Kangas
810fa21d26 Avoid another byte-compiler warning in package-quickstart.el
* lisp/emacs-lisp/package.el (package-quickstart-refresh): Avoid
byte-compiler warning "assignment to free variable" in
package-quickstart.el.
2021-11-10 15:24:29 +01:00
Stefan Kangas
1e7720d39a Avoid spurious byte-compiler warnings in package-quickstart.el
* lisp/emacs-lisp/package.el (package-quickstart-refresh): Disable the
"`make-variable-buffer-local' not called at toplevel" byte-compiler
warnings.  Given that we wrap it all in a let-form, these are mostly
false positives and not helpful.
2021-11-10 14:52:38 +01:00
Michael Albinus
a9148cdee5 ; Fix heading in etc/NEWS 2021-11-10 13:40:44 +01:00
Stefan Kangas
9623342216 ; * etc/NEWS: Move a bookmark related item further down. 2021-11-10 13:19:02 +01:00
Stefan Kangas
e3f5f5d867 * admin/automerge: Fix quoting of some variables. 2021-11-10 13:06:58 +01:00
Stefan Kangas
99abafdd0d * admin/automerge: Use mktemp if it exists. 2021-11-10 13:06:58 +01:00
Po Lu
4d99388c16 Prevent GDK warning about missing event devices in most cases
* src/xwidget.c (synthesize_focus_in_event): Set event device to
selected frame's pointer if it's an X frame.
2021-11-10 19:43:53 +08:00
Po Lu
4ab7a22abe Add `xwidget-webkit-isearch-yank-kill'
* lisp/xwidget.el: Bind C-y to xwidget-webkit-yank-kill in incremental
search.
(xwidget-webkit-isearch-mode): Update doc string.
(xwidget-webkit-yank-kill): New function.
2021-11-10 19:43:53 +08:00
Stefan Kangas
acf408934d Merge from origin/emacs-28
8d81ab374d time-stamp: %F is "file name" not "pathname" + other doc
beaa7e14f3 ; Fix typos in CONTRIBUTE, ELisp manual, ediff
747a1ae4ac * doc/misc/eww.texi (Advanced): Fix missed variable name e...
52fe2340b8 * doc/emacs/windows.texi (Window Convenience): Use @code f...
7d3a654e2a * doc/emacs/maintaining.texi (Basic VC Editing): Mention D...
aeb19af4b5 ; * doc/emacs/building.texi (Lisp Libraries): Fix a typo. ...

# Conflicts:
#	etc/NEWS
2021-11-10 12:12:30 +01:00
Stefan Kangas
d7e7f92fc3 ; Merge from origin/emacs-28
The following commit was skipped:

a83ccc46fa * lisp/progmodes/prog-mode.el (prog-context-menu): Use "Go...
2021-11-10 12:12:29 +01:00