Michael Albinus [Thu, 27 Apr 2023 17:40:46 +0000 (19:40 +0200)]
Fix Tramp bug#63102
* lisp/net/tramp.el (tramp-remote-path): Add ;;;###tramp-autoload cookie.
(Bug#63102)
Mattias Engdegård [Thu, 27 Apr 2023 11:52:57 +0000 (13:52 +0200)]
Clarify `nconc` behaviour for dotted lists (bug#63103)
* doc/lispref/lists.texi (Rearrangement): Explicitly say that dotted
lists are valid args to `nconc` and give an example.
Mattias Engdegård [Thu, 27 Apr 2023 10:38:58 +0000 (12:38 +0200)]
Don't rewrite (nconc X nil) -> X for any X (bug#63103)
Since the last cdr of a non-terminal argument to `nconc` is
overwritten no matter its value:
(nconc (cons 1 2) nil) => (1)
a terminating nil arg cannot just be eliminated unconditionally.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-nconc):
Only eliminate a terminal nil arg to `nconc` if preceded by
a nonempty proper list. Right now we only bother to prove this
for `(list ...)`, so that
(nconc (list 1 2 3) nil) -> (list 1 2 3)
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--test-cases): Add test cases.
Po Lu [Thu, 27 Apr 2023 10:51:40 +0000 (18:51 +0800)]
; * admin/charsets/mapconv (LC_ALL): Fix typo.
Po Lu [Thu, 27 Apr 2023 10:50:47 +0000 (18:50 +0800)]
Fix bootstrap on Unix
* admin/charsets/Makefile.in (${charsetdir}/JISX0201.map): Use
run_mapconv, which uses the correct awk.
* admin/charsets/mapconv (LC_ALL): Don't place assignment in
same line as export.
Stefan Kangas [Thu, 27 Apr 2023 04:30:14 +0000 (06:30 +0200)]
; Merge from origin/emacs-29
The following commit was skipped:
c46e93b1f50 Explain ERC 5.5 regressions in new version 5.5.0.29.1
Stefan Kangas [Thu, 27 Apr 2023 04:30:14 +0000 (06:30 +0200)]
Merge from origin/emacs-29
af43f0a2954 * doc/misc/erc.texi: Elaborate on upgrading via ELPA.
10948948c12 Improve outline-default-state docstring
b5ace2eed80 Document problems with /bin/sh on Solaris 10
7b2ad8f199e ; Add missing <<inserted by help-with-tutorial>> line to ...
Eli Zaretskii [Wed, 26 Apr 2023 16:25:23 +0000 (19:25 +0300)]
; * lisp/help.el (describe-bindings-outline-rules): Fix :type tags.
Michael Albinus [Wed, 26 Apr 2023 16:06:39 +0000 (18:06 +0200)]
New command 'tramp-cleanup-some-buffers'
* doc/misc/tramp.texi (Cleanup remote connections):
Document tramp-cleanup-some-buffers and
tramp-cleanup-some-buffers-hook.
* etc/NEWS: New command 'tramp-cleanup-some-buffers'.
* lisp/net/tramp.el (tramp-handle-make-process):
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
Use `tramp-taint-remote-process-buffer'.
* lisp/net/tramp.el (tramp-post-process-creation): New defun.
(tramp-handle-make-process):
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-crypt.el (tramp-crypt-maybe-open-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch)
(tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-file-notify-add-watch)
(tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
(tramp-smb-maybe-open-connection):
* lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection)
(tramp-sudoedit-send-command): Use it.
* lisp/net/tramp-cmds.el (tramp-tainted-remote-process-buffers):
New defvar.
(tramp-cleanup-dired-buffer-p)
(tramp-delete-tainted-remote-process-buffer-function)
(kill-buffer-hook, tramp-cleanup-remote-process-p)
(tramp-cleanup-some-buffers): New defuns.
(tramp-cleanup-some-buffers-hook): New defcustom. Add
`buffer-file-name', `tramp-cleanup-dired-buffer-p' and
`tramp-cleanup-remote-process-p' to the hook.
(kill-buffer-hook):
Add `tramp-delete-tainted-remote-process-buffer-function'.
(tramp-cleanup-all-buffers): Rework.
* lisp/net/tramp-compat.el (tramp-compat-always): New defalias.
* test/lisp/net/tramp-tests.el (tramp--test-always): Delete.
(tramp-test10-write-region, tramp-test21-file-links)
(tramp--test-deftest-direct-async-process)
(tramp-test37-make-auto-save-file-name)
(tramp-test38-find-backup-file-name)
(tramp-test39-make-lock-file-name)
(tramp-test39-detect-external-change): Use `tramp-compat-always'.
F. Jason Park [Fri, 21 Apr 2023 14:39:05 +0000 (07:39 -0700)]
Explain ERC 5.5 regressions in new version 5.5.0.29.1
* doc/misc/erc.texi: Bump version to 5.5.0.29.1.
* etc/ERC-NEWS: Don't hype bugged option `erc-reconnect-display'.
* lisp/erc/erc-dcc.el (erc-dcc-do-GET-command): Add comment explaining
parsing bug in ERC 5.5 (bug#62444).
* lisp/erc/erc-networks.el (erc-networks-on-MOTD-end): Mention known
/MOTD bug in error notice so people don't waste energy reporting
it (bug#62151).
* lisp/erc/erc.el: Change Version header to 5.5.0.29.1. Don't bother
updating the `customize-package-emacs-version-alist' entry
because no option defaults are affected.
(erc-version): Change version to 5.5.0.29.1.
(erc-reconnect-display, erc-query-on-unjoined-chan-privmsg): Add
warning to doc strings and `custom-set' functions. It's believed that
these bugs degrade the user experience significantly enough to warrant
such mentions (bug#62833).
(erc-query): Fix erroneous redirect string in deprecation spec.
Do not merge to master.
F. Jason Park [Fri, 21 Apr 2023 14:39:05 +0000 (07:39 -0700)]
* doc/misc/erc.texi: Elaborate on upgrading via ELPA.
Robert Pluim [Wed, 26 Apr 2023 10:27:30 +0000 (12:27 +0200)]
Improve outline-default-state docstring
* lisp/outline.el (outline-default-state): Explain which functions are
available to affect heading visibility.
Eli Zaretskii [Wed, 26 Apr 2023 06:39:35 +0000 (09:39 +0300)]
Document problems with /bin/sh on Solaris 10
* etc/PROBLEMS (Solaris): Document problems with '/bin/sh'.
Suggested by Paul Eggert <eggert@cs.ucla.edu>. (Bug#63067)
Mohsen Banan [Tue, 25 Apr 2023 21:49:28 +0000 (14:49 -0700)]
; Add missing <<inserted by help-with-tutorial>> line to TUTORIAL.fa.
Eli Zaretskii [Tue, 25 Apr 2023 14:39:23 +0000 (17:39 +0300)]
Allow inserting #x6A58 using chinese-ctlaub IM
* leim/MISC-DIC/CTLau-b5.html (CTLau-b5 : Hanzi input by Cantonese
transcription (Lau style)): Add #x6A58 to GAT and GWAT. (Bug#62898)
Eli Zaretskii [Tue, 25 Apr 2023 14:31:05 +0000 (17:31 +0300)]
; * etc/NEWS: Fix last change.
Antero Mejr [Thu, 13 Apr 2023 15:59:54 +0000 (15:59 +0000)]
eww: Provide completions for bookmarks and suggested URIs.
* lisp/net/eww.el (eww): Add the result of 'eww-suggest-uris' to the
completion collection argument.
(eww-bookmark-urls): New procedure.
(eww-suggest-uris): Add "eww-bookmark-urls" to the default list.
* etc/NEWS (EWW): Add NEWS entry for the change. (Bug#62800)
Antero Mejr [Wed, 12 Apr 2023 17:56:01 +0000 (17:56 +0000)]
eww: Enable completion in URL/keyword prompt.
* lisp/net/eww.el (eww): Use 'completing-read' when prompting for a URL
or keywords.
(eww-minibuffer-url-keymap): New keymap for use in the URL/keyword
prompt.
* etc/NEWS (EWW): Add NEWS entry for the change. (Bug#62800)
Eli Zaretskii [Tue, 25 Apr 2023 14:08:34 +0000 (10:08 -0400)]
; Auto-commit of loaddefs files.
Eli Zaretskii [Tue, 25 Apr 2023 13:57:23 +0000 (09:57 -0400)]
Merge from origin/emacs-29
524e161a536 Followup to addition of TUTORIAL.fa
76f50df1539 Add Farsi/Persian translation of the tutorial
8eacfaea6d8 Add Mongolian language environments
fe8efbb8f75 Document the 'end-session' event on MS-Windows
d80f959bede Update to Org 9.6.4-9-g8eb209
98c6cfcbe4a Don't support versioned grammar libraries on MS-Windows
8f71c1546df Accept versioned tree-sitter language grammar files
99add09d5e1 tab-bar-new-tab: inhibit side-window checks
087e8181947 * etc/NEWS: Fix outline level. (Bug#63042)
d7f38558c4c ; Improve font selection for Traditional Mongolian
965c5e0231c Fix rendering of Traditional Mongolian script
9a0f10b5f88 Fix line-number-at-pos when POSITION is out of narrowing
4e0f4292aaf ; * etc/tutorials/TUTORIAL: Fix punctuation.
dec2ac0c657 Fix exiting Emacs after saving a tutorial
# Conflicts:
# etc/NEWS
Eli Zaretskii [Tue, 25 Apr 2023 13:45:31 +0000 (16:45 +0300)]
; Update authors.el
* admin/authors.el (authors-aliases): Update per
https://lists.gnu.org/archive/html/emacs-devel/2023-04/msg00692.html.
Po Lu [Tue, 25 Apr 2023 12:41:05 +0000 (20:41 +0800)]
Improve portability of pkg-config tests.
* configure.ac: Fix problems found after pkg-config was
installed on Solaris 10.
Your Name [Tue, 25 Apr 2023 12:28:38 +0000 (20:28 +0800)]
Fix configure.ac for some Bourne shells
This fixes running configure under /bin/sh on Solaris 10, and
some other Unix systems.
* configure.ac: Avoid POSIX style command substitutions.
(emacs_major_version): Avoid POSIX style pattern substitution.
(PORT_PACKAGE, MAC_FLAGS, MAC_LIBS): Avoid POSIX style command
substitutions.
Eli Zaretskii [Tue, 25 Apr 2023 09:26:20 +0000 (12:26 +0300)]
Followup to addition of TUTORIAL.fa
* etc/NEWS: Announce addition of TUTORIAL.fa.
* etc/tutorials/TUTORIAL.translators (TUTORIAL.fa): New entry.
* lisp/language/misc-lang.el ("Persian"): Add tutorial property.
Mohsen Banan [Mon, 24 Apr 2023 04:26:06 +0000 (21:26 -0700)]
Add Farsi/Persian translation of the tutorial
* etc/tutorials/TUTORIAL.fa: New file.
* lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Fix
typo in doc string.
Eli Zaretskii [Tue, 25 Apr 2023 08:50:59 +0000 (11:50 +0300)]
Add Mongolian language environments
* lisp/language/misc-lang.el ("Mongolian-traditional"):
* lisp/language/cyrillic.el ("Mongolian-cyrillic"): New
language environments.
* etc/HELLO: Add Mongolian Traditional.
* etc/NEWS: Announce the new language environments.
(Bug#63028)
Eli Zaretskii [Tue, 25 Apr 2023 06:35:30 +0000 (09:35 +0300)]
Document the 'end-session' event on MS-Windows
* doc/lispref/commands.texi (Misc Events): Document the
'end-session' event. (Bug#63058)
Kyle Meyer [Mon, 24 Apr 2023 23:47:12 +0000 (19:47 -0400)]
Update to Org 9.6.4-9-g8eb209
Eli Zaretskii [Mon, 24 Apr 2023 18:46:35 +0000 (21:46 +0300)]
Don't support versioned grammar libraries on MS-Windows
* src/treesit.c (treesit_load_language_push_for_each_suffix):
Don't append ".0.0" on WINDOWSNT.
Yuan Fu [Mon, 24 Apr 2023 06:55:22 +0000 (23:55 -0700)]
Accept versioned tree-sitter language grammar files
By discussion on emacs-devel, titled "Versioned Tree-sitter parser
libraries".
* src/treesit.c (Vtreesit_str_dot_0): New variable.
(treesit_load_language_push_for_each_suffix): Additionally look for
lib_base_name.0 and lib_base_name.0.0.
(syms_of_treesit): Initialize Vtreesit_str_dot_0.
Eli Zaretskii [Mon, 24 Apr 2023 16:22:44 +0000 (19:22 +0300)]
; Fix last change in help.el
* lisp/help.el (describe-bindings-outline-rules): Fix :type.
Reported by Robert Pluim <rpluim@gmail.com>.
Mattias Engdegård [Mon, 24 Apr 2023 14:06:14 +0000 (16:06 +0200)]
; * lisp/mail/uudecode.el (uudecode-use-external): Boolean value.
Mattias Engdegård [Mon, 24 Apr 2023 14:03:47 +0000 (16:03 +0200)]
Require custom values of `boolean` type to be nil or t
This helps detecting mistakes in types and/or initial values.
* lisp/wid-edit.el (boolean): Add :match function.
Benson Chu [Fri, 24 Mar 2023 20:38:03 +0000 (15:38 -0500)]
tab-bar-new-tab: inhibit side-window checks
Previously, calling 'tab-bar-new-tab-to' only removed the
'window-side' property on the currently selected window,
and then a call to 'delete-other-windows' was made to
ensure that the selected window was the only window.
We can skip this check by shadowing 'window--sides-inhibit-check'
to t.
* lisp/tab-bar.el (tab-bar-new-tab-to): Inhibit side-window checks.
(Bug#62427)
Copyright-paperwork-exempt: yes
Eshel Yaron [Fri, 7 Apr 2023 10:09:59 +0000 (13:09 +0300)]
Add option to control default outlining in 'C-h b'
* lisp/help.el (describe-bindings-outline-rules): New user option.
(describe-bindings): Use it instead of hardcoding "Key translations".
(Bug#62708)
Eli Zaretskii [Mon, 24 Apr 2023 11:16:05 +0000 (14:16 +0300)]
Fix build when Org's version changes
* lisp/org/org-macs.el (org--inhibit-version-check): Rename from
'org--built-in-p' and make it a defvar. All users changed.
(Bug#62762)
Michael Albinus [Mon, 24 Apr 2023 07:40:43 +0000 (09:40 +0200)]
* etc/NEWS: Fix outline level. (Bug#63042)
Fix typos.
Jim Porter [Sun, 23 Apr 2023 19:08:32 +0000 (12:08 -0700)]
; Fix last change
Jim Porter [Sun, 23 Apr 2023 18:43:07 +0000 (11:43 -0700)]
When examining merge commits in our Git hooks, only check the first parent
This does two things:
1. We can properly validate log entries in merge commits.
2. We don't check commits that were merged in from other branches.
* build-aux/git-hooks/commit-msg-files.awk (get_commit_changes): Get
the changes compared to the first parent.
* build-aux/git-hooks/pre-push: Only get the first parent of merge
commits when returning the rev-list, and only check "master" or
"emacs-NN" branches.
Jim Porter [Sun, 23 Apr 2023 19:04:34 +0000 (12:04 -0700)]
; Fix logic of Git pre-push hook when pushing a new branch
* build-aux/git-hooks/pre-push: Update the Git command to run on each
iteration.
Jim Porter [Fri, 21 Apr 2023 17:06:49 +0000 (10:06 -0700)]
Improve the logic of the file entry Git hooks to support more cases
In addition to starting with a "*", file entries now need a ":"
somewhere in them. This helps reduce false positives with bulleted
lists. Also, support multiple files separated by commas after a "*".
* build-aux/git-hooks/commit-msg-files.awk (check_commit_msg_files):
Accumulate file entries over multiple lines to support the above.
Eli Zaretskii [Sun, 23 Apr 2023 16:11:49 +0000 (19:11 +0300)]
; Improve font selection for Traditional Mongolian
* lisp/international/fontset.el (setup-default-fontset): Improve
the font spec for Traditional Mongolian. (Bug#63028)
Eli Zaretskii [Sun, 23 Apr 2023 14:04:56 +0000 (17:04 +0300)]
Fix rendering of Traditional Mongolian script
* lisp/international/characters.el: Set punctuation syntax for Po
characters from the Mongolian block
* lisp/international/fontset.el (setup-default-fontset): Add
fontset setting for Traditional Mongolic.
* lisp/language/misc-lang.el (composition-function-table): Add
rules for Traditional Mongolic. (Bug#63028)
Michael Albinus [Sun, 23 Apr 2023 11:37:39 +0000 (13:37 +0200)]
Add new Tramp method "flatpak"
* doc/misc/tramp.texi (Inline methods): Add flatpak.
* etc/NEWS: Add new Tramp method "flatpak". Fix typos.
* lisp/net/tramp-container.el (tramp-flatpak-program): New defcustom.
(tramp-flatpak-method): New defconst.
(tramp-flatpak--completion-function): New defun. Set it for "flatpak".
(tramp-methods) <flatpak>: Add.
(tramp-container-connection-local-default-flatpak-variables):
New defconst. Set respective connection-local variables.
Eli Zaretskii [Sat, 22 Apr 2023 16:27:16 +0000 (19:27 +0300)]
Fix line-number-at-pos when POSITION is out of narrowing
* src/fns.c (Fline_number_at_pos): Don't signal an error when
ABSOLUTE is nil and POSITION is outside of the narrowing, like the
original Lisp implementation did. Minor speedup by using the byte
position where it is available from the get-go. (Bug#62857)
Eli Zaretskii [Sat, 22 Apr 2023 10:40:57 +0000 (13:40 +0300)]
; * etc/tutorials/TUTORIAL: Fix punctuation.
Eli Zaretskii [Sat, 22 Apr 2023 10:35:36 +0000 (13:35 +0300)]
Fix exiting Emacs after saving a tutorial
* lisp/tutorial.el (tutorial--starting-point): Make it
permanent-local, so that saving the tutorial to some file doesn't
kill this buffer-local variable. Otherwise, trying to exit Emacs
after saving the tutorial will signal an error, because
'tutorial--starting-point' is void. (Bug#37326)
kobarity [Thu, 20 Apr 2023 13:55:29 +0000 (22:55 +0900)]
Improve docstring of python-indent-def-block-scale
* lisp/progmodes/python.el (python-indent-def-block-scale): Improve
docstring. (Bug#62696)
Eli Zaretskii [Sat, 22 Apr 2023 09:29:55 +0000 (12:29 +0300)]
; * etc/NEWS: Fix last change. (Bug#62696)
kobarity [Sun, 16 Apr 2023 13:18:39 +0000 (22:18 +0900)]
Add a new user option in Python mode to improve the indentation
* lisp/progmodes/python.el (python-indent-block-paren-deeper): New
user option.
(python-indent-context): Add a new context :inside-paren-from-block.
(python-indent--calculate-indentation): Modify according to
`python-indent-block-paren-deeper' and :inside-paren-from-block.
* test/lisp/progmodes/python-tests.el
(python-indent-inside-paren-block-1)
(python-indent-inside-paren-block-2)
(python-indent-inside-paren-block-3)
(python-indent-inside-paren-block-4): New tests.
(python-indent-inside-paren-5, python-indent-dedenters-8): Modify
according to the new context.
* etc/NEWS: Document the new user option. (Bug#62696)
Eli Zaretskii [Sat, 22 Apr 2023 08:56:57 +0000 (04:56 -0400)]
Merge from origin/emacs-29
44145bf07e2 Add indentation style setting for c-ts-mode in .dir-local...
e7db6c59cc6 ; * .dir-locals.el (c-ts-mode): Add settings.
d041f01b02f ; Minor fix in Emacs Lisp Intro manual
Mattias Engdegård [Thu, 20 Apr 2023 13:07:06 +0000 (15:07 +0200)]
Improved nconc and append compiler optimisations
Add the transforms:
(nconc) -> nil
(nconc X) -> X
and for arguments to `nconc`:
nil -> <elided>
(list X...) (list Y...) -> (list X... Y...)
(list X) Y -> (cons X Y)
* lisp/emacs-lisp/byte-opt.el (byte-optimize-nconc): New.
(byte-optimize-append): Fix minor flaws and generalise.
Eli Zaretskii [Sat, 22 Apr 2023 06:41:50 +0000 (09:41 +0300)]
Add indentation style setting for c-ts-mode in .dir-locals.el
* lisp/progmodes/c-ts-mode.el (c-ts-indent-style-safep): New
predicate.
(c-ts-mode-indent-style): Use it to test the value for being safe.
* .dir-locals.el (c-ts-mode): Set 'c-ts-mode-indent-style' to 'gnu'.
Dmitry Gutov [Fri, 21 Apr 2023 23:27:22 +0000 (02:27 +0300)]
project--read-project-buffer: Fixup default-directory if needed
* lisp/progmodes/project.el (project--read-project-buffer):
Make sure that when the read buffer is new, its default-directory
belongs to the project (bug#62974).
Yuan Fu [Fri, 21 Apr 2023 20:48:51 +0000 (13:48 -0700)]
; * etc/NEWS: Mention the new symbol images.
Eli Zaretskii [Fri, 21 Apr 2023 17:54:15 +0000 (20:54 +0300)]
; * .dir-locals.el (c-ts-mode): Add settings.
Eli Zaretskii [Fri, 21 Apr 2023 16:16:52 +0000 (19:16 +0300)]
; Minor fix in Emacs Lisp Intro manual
* doc/lispintro/emacs-lisp-intro.texi (what-line): Fix punctuation
and wording. Reported by Holger Kienle <hkienle@posteo.de>.
(Bug#62998)
Eli Zaretskii [Fri, 21 Apr 2023 11:29:14 +0000 (07:29 -0400)]
Merge from origin/emacs-29
3899acbb336 ; * src/fringe.c: Fix description of large circle. (Bug#...
2b10e1827d3 sql: add missing postgresql types
9ac12592781 Fix display of menu-bar bindings of commands in *Help* bu...
ecdd3a9efac Improve Completion Example section in the Emacs manual
626e1ac62b2 Improve 'message-server-alist' docstring
327986936c3 Add index entry for fallback modes
1c4783c3300 ; * etc/NEWS: Copyedits and grammar fixes.
3d6f7553319 xref-search-program-alist: Fix searching larger file list...
1b8b2cf61bd Fix typo and inaccuracy in the ELisp Reference manual
df17682ebf1 ; Support 'dart-ts-mode' in Eglot
e0dc60e0780 ; Fix typos in gdb-mi.el
60560cc7adf Fix description of lexical environment's internals
1456adf4248 ; Eglot: fix a typo in a customization type
2f59595f5f4 ; * etc/NEWS: Grammar fixes.
596b780ab71 Update to Org 9.6.4-2-g0f6ae7
a0b04a22479 Documentation copyedits for 'package-install-upgrade-buil...
580d8278c5f Allow upgrading built-in packages with 'package-install'
329304c23fa ; * src/term.c (init_tty): Fix last change. (Bug#62877)
200dbf7d302 Minor changes in c-ts-mode.el's support of DEFUNs
9686b015a0d Fix strike-through attribute support on TTY frames
39035fbfc5f Avoid crashes in 'describe-keymap' due to shadowing
# Conflicts:
# etc/NEWS
# lisp/progmodes/c-ts-mode.el
# lisp/progmodes/eglot.el
Jim Porter [Thu, 13 Apr 2023 06:03:31 +0000 (23:03 -0700)]
Add Git hooks to check filenames listed in the commit message
See <https://lists.gnu.org/archive/html/emacs-devel/2023-04/msg00274.html>.
* build-aux/git-hooks/commit-msg-files.awk:
* build-aux/git-hooks/post-commit:
* build-aux/git-hooks/pre-push: New files...
* autogen.sh: ... add them.
Stefan Monnier [Thu, 20 Apr 2023 19:51:44 +0000 (15:51 -0400)]
* lisp/emacs-lisp/gv.el: Silly typo
Eli Zaretskii [Thu, 20 Apr 2023 10:06:24 +0000 (13:06 +0300)]
; * src/fringe.c: Fix description of large circle. (Bug#62961)
Ruijie Yu [Mon, 6 Mar 2023 03:03:32 +0000 (11:03 +0800)]
Handle modifications in extensionless zip files (bug#61326)
* lisp/arc-mode.el (archive-*-write-file-member)
(archive-*-expunge): Refactor to correctly modify
extensionless zip archives.
(archive-expunge): Move implementation to a separate helper
function to facilitate testing.
(archive--act-files): New helper function to wrap around
`call-process' calls.
(archive--need-rename-p): New helper function to check whether
a temporary rename is necessary.
(archive--ensure-extension) (archive--maybe-rename): New helper
functions to rename archive if the caller deems it necessary.
(archive--with-ensure-extension): New helper function to handle
writing an archive while ensuring extensionless archives work
correctly by temporarily renaming them.
* test/lisp/arc-mode-tests.el (arc-mode-test-zip-ensure-ext):
New regression test for bug#61326.
Eli Zaretskii [Thu, 20 Apr 2023 08:53:32 +0000 (11:53 +0300)]
; Minor fixes for user-facing text in last vc-cvs.el changes
* lisp/vc/vc-cvs.el (vc-cvs-repository-hostname)
(vc-cvs-parse-root): Fix doc strings, text of messages, and use of
"pathname". (Bug#62693)
Nicolas Martyanoff [Sun, 16 Apr 2023 13:30:47 +0000 (15:30 +0200)]
sql: add missing postgresql types
* lisp/progmodes/sql.el: Add multiple missing PostgreSQL types: bigserial,
smallserial, macaddr8, jsonb, jsonpath, built-in range types, object
identifier types (oid & co).
Yuan Fu [Wed, 19 Apr 2023 23:23:25 +0000 (16:23 -0700)]
Fix treesit-install-language-grammar for non-interactive call
A continuation of bug#62704.
* lisp/treesit.el (treesit-install-language-grammar): Differentiate
between interactive and non-interactive call, and don't prompt when
it's called non-interactively.
Eli Zaretskii [Wed, 19 Apr 2023 17:46:40 +0000 (20:46 +0300)]
Fix display of menu-bar bindings of commands in *Help* buffers
* lisp/help-fns.el (help-fns--insert-menu-bindings): Propertize
with 'help-key-binding' face only the menu items, not the arrows
between successive items. This is because 'char-displayable-p' is
unreliable when we propertize the character with an arbitrary
face: that face could specify a font which doesn't support the
character after all, while 'char-displayable-p' assumes there are
no restrictions on fonts that can be used for displaying the
character. Also, make the code more efficient by avoiding the
call to 'char-displayable-p' inside the loop.
Eli Zaretskii [Wed, 19 Apr 2023 16:30:55 +0000 (19:30 +0300)]
; * src/fns.c (assq_no_signal): Fix a typo in a comment.
Spencer Baugh [Tue, 18 Apr 2023 22:03:36 +0000 (18:03 -0400)]
Improve Completion Example section in the Emacs manual
This can be a useful substitute for full-on fuzzy completion, as
provided by other completion styles and completion packages.
* doc/emacs/mini.texi (Completion Example): Give an example of
completion with point not at end of minibuffer. Also, use
@kbd{@key{TAB}} when telling the user to hit TAB. (Bug#62836)
Robert Pluim [Wed, 19 Apr 2023 10:33:18 +0000 (12:33 +0200)]
Improve 'message-server-alist' docstring
* lisp/gnus/message.el (message-server-alist): Fix typo and clarify
what happens if there is already an X-Message-SMTP-Method header.
Robert Pluim [Wed, 19 Apr 2023 10:29:57 +0000 (12:29 +0200)]
Add index entry for fallback modes
* doc/emacs/custom.texi (Specifying File Variables): Add index for
'fallback modes'.
Robert Pluim [Wed, 19 Apr 2023 07:48:02 +0000 (09:48 +0200)]
; Double space at end of sentence for vc-cvs.el
* lisp/vc/vc-cvs.el (vc-cvs-repository-hostname, vc-cvs-parse-root)
(vc-cvs-parse-status, vc-cvs-after-dir-status): Double space at end of
sentence.
* test/lisp/vc/vc-cvs-tests.el: Double space at end of sentence.
Robert Pluim [Tue, 18 Apr 2023 14:10:10 +0000 (16:10 +0200)]
; * etc/NEWS: Copyedits and grammar fixes.
Olivier Certner [Thu, 6 Apr 2023 09:25:33 +0000 (11:25 +0200)]
VC: Allow `vc-default-revert' (and CVS) to revert a missing file
* lisp/vc/vc.el (vc-default-revert): Fix reverting a missing file case
by not trying to create a backup through `copy-file'. Notably impacts
CVS, where `vc-cvs-revert' calls `vc-default-revert'.
Olivier Certner [Thu, 6 Apr 2023 08:52:23 +0000 (10:52 +0200)]
VC: CVS: Fix parsing of 'cvs -qn update' for missing files for 1.12
* lisp/vc/vc-cvs.el (vc-cvs-after-dir-status): Fix the name reported
for missing files in the case of CVS 1.12.3+ where name is quoted in
the warning line (it was not before this version). Use instead the
following U line, where the name is never quoted on all versions.
Olivier Certner [Thu, 6 Apr 2023 08:16:33 +0000 (10:16 +0200)]
VC: CVS: Fix "Root" file parsing
The new "Root" file parsing has been based on CVS' documentation,
which gives the following format for *remote* repositories:
[:method:][[user][:password]@]hostname[:[port]]/pathname/to/repository
and for local ones:
:local:/pathname/to/repository
or
:local:c:/pathname/to/repository
or alternatively ':local:' replaced by ':fork:', or ':local:' omitted
when the path starts with a slash.
[The actual parsing code in CVS is actually a bit more restrictive.
See 'root.c'.]
Most notably, the previous version could not parse an absolute
pathname without an explicit :local: method or :pserver: lines with
passwords.
* lisp/vc/vc-cvs.el (vc-cvs-parse-root): Rewrite.
(vc-cvs-repository-hostname): Cope with `vc-cvs-parse-root' returning
an empty hostname (can only happen if the "Root" file is invalid),
returning nil in this case.
(vc-cvs-parse-uhp): Remove this standalone function formerly used only
by `vc-cvs-parse-root' and which doesn't allow correct parsing anyway.
* test/lisp/vc/vc-cvs-tests.el: New file, with tests for common "Root"
file content.
João Távora [Tue, 18 Apr 2023 23:59:17 +0000 (00:59 +0100)]
Eglot: unbreak activation/management of derived modes (bug#62907)
After recent changes to how LSP "languageId" is computed from major
modes and stored in the eglot-lsp-server object, the activation of the
'eglot--managed-mode' minor mode in modes _derived_ from some
major-mode mentioned in 'eglot-server-programs' was broken.
This commit restores that by introducing a new helper which uses the
same logic to provide the current-buffer's "languageId" to the server
and to discover if the server should manage the mode at all. This
ensures the two things stay in sync.
Also, this helper uses the function 'provided-mode-derived-p' to fix
this bug#62907.
* lisp/progmodes/eglot.el (eglot--languageId): New helper.
(eglot-current-server, eglot--TextDocumentItem): Use it.
Dmitry Gutov [Tue, 18 Apr 2023 22:56:57 +0000 (01:56 +0300)]
flymake-end-of-line-diagnostics-face: Tweak a little
* lisp/progmodes/flymake.el
(flymake-end-of-line-diagnostics-face):
Use height 0.85 and ensure the box doesn't change the line height
(https://debbugs.gnu.org/62029#86).
Dmitry Gutov [Tue, 18 Apr 2023 22:29:20 +0000 (01:29 +0300)]
xref-search-program-alist: Fix searching larger file lists on MS Windows
* lisp/progmodes/xref.el (xref-search-program-alist):
Add '-s 10000' to xargs' options when on Windows or DOS.
Apparently the xargs port doesn't currently know how to obey the
system-wide limits (https://debbugs.gnu.org/bug=61667#521).
Shynur [Sun, 16 Apr 2023 18:13:32 +0000 (02:13 +0800)]
Fix typo and inaccuracy in the ELisp Reference manual
* doc/lispref/loading.texi (Dynamic Modules): Fix a typo.
* doc/lispref/customize.texi (Group Definitions): Faces are also
in the 'custom-group' property of a customization group.
(Bug#62887)
Copyright-paperwork-exempt: yes
Eli Zaretskii [Tue, 18 Apr 2023 11:49:18 +0000 (14:49 +0300)]
; Support 'dart-ts-mode' in Eglot
* lisp/progmodes/eglot.el (eglot-server-programs): Add
'dart-ts-mode'. Patch by Mou Tong <mou.tong@outlook.com>.
(Bug#62879)
Eli Zaretskii [Tue, 18 Apr 2023 11:36:28 +0000 (14:36 +0300)]
; Fix typos in gdb-mi.el
* lisp/progmodes/gdb-mi.el (gdbmi-bnf-result-state-configs): Fix
typos introduced while fixing bug#10580. (Bug#62858)
Eli Zaretskii [Tue, 18 Apr 2023 11:30:28 +0000 (14:30 +0300)]
Fix description of lexical environment's internals
* doc/lispref/variables.texi (Lexical Binding): Update the
description of how the lexical environment is represented
internally. (Bug#62840)
Idir Lankri [Fri, 14 Apr 2023 13:52:24 +0000 (15:52 +0200)]
; Eglot: fix a typo in a customization type
* lisp/progmodes/eglot.el (eglot-ignored-server-capabilities): Fix the
value associated with the tag "Go to declaration". (Bug#62849)
Copyright-paperwork-exempt: yes
Basil L. Contovounesios [Sun, 2 Apr 2023 15:46:33 +0000 (16:46 +0100)]
Fix verilog-diff-file-with-buffer
* lisp/progmodes/verilog-mode.el: Fix commentary to avoid implying
XEmacs defines diff-command.
(verilog-diff-file-with-buffer): Claim compatibility with Emacs 21
rather than XEmacs in commentary, since the latter does not seem to
define diff-command. Use get-buffer in place of likely thinko
with-temp-buffer + BUFNAME + current-buffer. Fix unused
unwind-protect: move temporary file deletion to its unwind
forms (bug#62620). Avoid race condition between file existence
check and deletion. Handle list-valued diff-switches. Avoid
passing empty argument to diff-command.
Michael Albinus [Tue, 18 Apr 2023 09:10:12 +0000 (11:10 +0200)]
Fix :package-version in flymake.el
* lisp/progmodes/flymake.el (flymake-end-of-line-diagnostics-face)
(flymake-error-echo-at-eol, flymake-warning-echo-at-eol)
(flymake-note-echo-at-eol): Fix :package-version.
Andrew G Cohen [Tue, 18 Apr 2023 03:12:54 +0000 (11:12 +0800)]
* lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Fix limiting
Stefan Monnier [Mon, 17 Apr 2023 22:15:45 +0000 (18:15 -0400)]
* lisp/emacs-lisp/gv.el (error): Add gv-expander
This fixes incorrect expansion of (setf (case-exhaustive ..) ..),
as found for example in `elpa-admin.el`.
João Távora [Mon, 17 Apr 2023 12:04:39 +0000 (13:04 +0100)]
Flymake: improve new flymake-show-diagnostics-at-end-of-line feature
* lisp/progmodes/flymake.el (flymake-end-of-line-diagnostics-face)
(flymake-error-echo-at-eol, flymake-warning-echo-at-eol)
(flymake-note-echo-at-eol): New faces
(flymake-error, flymake-warning, flymake-note): Use new faces.
(flymake--highlight-line): Rework.
(flymake-after-change-function): Rework.
Robert Pluim [Mon, 17 Apr 2023 10:24:30 +0000 (12:24 +0200)]
; * etc/NEWS: Grammar fixes.
Yuan Fu [Mon, 17 Apr 2023 03:35:45 +0000 (20:35 -0700)]
; Fix typos in treesit.c
* src/treesit.c (treesit_traverse_validate_predicate)
(Ftreesit_node_match_p): Fix typos.
Yuan Fu [Mon, 17 Apr 2023 03:33:51 +0000 (20:33 -0700)]
New helper function assq_no_signal
* src/fns.c (assq_no_signal): New function.
* src/lisp.h (assoc_no_signal): Declare it.
* src/treesit.c (safe_assq): Remove function.
(treesit_traverse_get_predicate): Change safe_assq to assq_no_signal.
Kyle Meyer [Mon, 17 Apr 2023 01:13:08 +0000 (21:13 -0400)]
Update to Org 9.6.4-2-g0f6ae7
Andrew G Cohen [Mon, 17 Apr 2023 00:09:12 +0000 (08:09 +0800)]
Include previous summary buffer articles in gnus thread referrals
* lisp/gnus/gnus-search.el (gnus-search-thread): Include all the
current articles along with the thread when searching outside the
current group.
João Távora [Mon, 17 Apr 2023 00:37:19 +0000 (01:37 +0100)]
Eglot: guard against empty 'textDocument/documentSymbol' response
* lisp/progmodes/eglot.el (eglot-imenu): Protect against missing response.
Eli Zaretskii [Sun, 16 Apr 2023 15:11:07 +0000 (18:11 +0300)]
Documentation copyedits for 'package-install-upgrade-built-in' etc
* etc/NEWS: More details about the new option
'package-install-upgrade-built-in'.
* lisp/emacs-lisp/package.el (package-install-upgrade-built-in)
(package--active-built-in-p, package-install): Doc fixes.
(Bug#62720)
Philip Kaludercic [Thu, 13 Apr 2023 18:13:59 +0000 (20:13 +0200)]
Allow upgrading built-in packages with 'package-install'
* etc/NEWS: Mention the change
* lisp/emacs-lisp/package.el (package--upgradable-built-in-p): Add new
predicate.
(package-install-upgrade-built-in): Add new user option to enable
feature.
(package-install): Respect new user option.
Mattias Engdegård [Sun, 16 Apr 2023 09:20:05 +0000 (11:20 +0200)]
Fit symbol_redirect snugly in two bits
This allows the C compiler to do away with all default clauses when
switching on the `redirect` field.
* src/lisp.h (enum symbol_redirect): Use values in the 0..3 range,
which also matches the old comment in struct Lisp_Symbol.
(enum symbol_interned, enum symbol_redirect)
(enum symbol_trapped_write): Comment members. Remove explicit values.
(struct Lisp_Symbol): Shrink the `redirect` member to 2 bits.
Use the correct type for the `interned` field.
Move value comments to their types.
* src/pdumper.c (dump_symbol): Update hashes.
Eli Zaretskii [Sun, 16 Apr 2023 08:16:45 +0000 (11:16 +0300)]
; * src/term.c (init_tty): Fix last change. (Bug#62877)
Eli Zaretskii [Sun, 16 Apr 2023 08:12:39 +0000 (11:12 +0300)]
Minor changes in c-ts-mode.el's support of DEFUNs
* lisp/progmodes/c-ts-mode.el (c-ts-mode--fontify-DEFUN): Renamed
from 'c-ts-mode--fontify-defun'; all callers changed.
(c-ts-mode-emacs-sources-support): Renamed from
'c-ts-mode-emacs-devel' and made into a defcustom; all users
changed.
(c-ts-mode--emacs-defun-p, c-ts-mode--emacs-defun-at-point)
(c-ts-mode--emacs-current-defun-name): Doc fixes. (Bug#62825)
Eli Zaretskii [Sun, 16 Apr 2023 06:19:15 +0000 (09:19 +0300)]
Fix strike-through attribute support on TTY frames
* src/term.c (init_tty): Fix setting the strike-through capability
with "smxx". (Bug#62265)