Michael Albinus [Fri, 5 May 2023 17:39:22 +0000 (19:39 +0200)]
Improve ange-ftp-file-remote-p
* lisp/net/ange-ftp.el (ange-ftp-file-remote-p): Handle hop
identification.
Mattias Engdegård [Fri, 5 May 2023 17:19:51 +0000 (19:19 +0200)]
Fix dired and tramp where `ls` does not have the `-N` option
This includes BSD ls, also used by macOS (bug#63142).
* lisp/dired.el (dired-insert-directory):
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
Test whether -N is understood by ls since that option is used along
with --dired. Remove -N when we remove --dired.
Jim Porter [Fri, 5 May 2023 05:43:13 +0000 (22:43 -0700)]
; Use a Bourne shell-compatible form for command substitution
* build-aux/git-hooks/post-commit:
* build-aux/git-hooks/pre-push: Use `` instead of $().
Jim Porter [Fri, 5 May 2023 04:04:46 +0000 (21:04 -0700)]
; Allow spaces in directory names for Git hooks
* build-aux/git-hooks/post-commit:
* build-aux/git-hooks/pre-push: Quote "$HOOKS_DIR" to allow spaces.
Spencer Baugh [Thu, 27 Apr 2023 16:11:45 +0000 (12:11 -0400)]
Make vc-hg-annotate-command async
There's no benefit in this running the process synchrounously, and
it's annoying for it to block the Emacs UI.
* lisp/vc/vc-hg.el (vc-hg-annotate-command):
Run asynchronously (bug#63123).
Michael Albinus [Thu, 4 May 2023 18:42:24 +0000 (20:42 +0200)]
Suspend timers when reading Tramp process output
* lisp/net/tramp-compat.el (xdg): Require.
(tramp-compat-temporary-file-directory): Set it to
$XDG_CACHE_HOME/emacs if possible.
* lisp/net/tramp.el (tramp-debug-to-file): Fix docstring.
(tramp-wrong-passwd-regexp): Add "Authentication failed" string
(from doas).
(tramp-debug-message): Simplify backtrace check.
(with-tramp-locked-connection): Suppress timers. (Bug#49954, Bug60534)
* test/lisp/net/tramp-tests.el (tramp-test09-insert-file-contents):
Adapt test.
(tramp-test45-asynchronous-requests): Remove :unstable tag.
Adapt test.
Jim Porter [Thu, 4 May 2023 16:22:40 +0000 (09:22 -0700)]
; Fix post-commit and pre-push hooks in worktrees again
* build-aux/git-hooks/post-commit:
* build-aux/git-hooks/pre-push: Use "$(dirname $0)" to get the hooks
directory.
Stefan Monnier [Wed, 3 May 2023 17:18:08 +0000 (13:18 -0400)]
* lisp/emacs-lisp/package.el (package-buffer-info): Fix thinko
Michael Albinus [Wed, 3 May 2023 11:26:35 +0000 (13:26 +0200)]
Tramp code cleanup
* doc/lispref/files.texi (Magic File Names): Order alphabetically.
* 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):
Order alphabetically.
* lisp/net/tramp.el (tramp-handle-file-user-uid)
(tramp-handle-file-group-gid, tramp-read-id-output):
* lisp/net/tramp-archive.el (tramp-archive-handle-file-group-gid):
(tramp-archive-handle-file-user-uid): Fix docstring.
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test44-user-group-ids): Fix docstring.
Eli Zaretskii [Wed, 3 May 2023 11:15:42 +0000 (14:15 +0300)]
; * lisp/dired.el (dired-insert-directory): Fix a typo in a comment.
Alan Mackenzie [Wed, 3 May 2023 10:01:14 +0000 (10:01 +0000)]
Fontify "extern foo ();" correctly inside a function
This fixes bug#63224.
* lisp/progmodes/cc-engine.el (c-forward-type): Handle the "("
as a special case by trying to parse it with
c-forward-declarator and accepting it as a typeless function
when that fails.
Mattias Engdegård [Wed, 3 May 2023 09:09:37 +0000 (11:09 +0200)]
; * lisp/simple.el (blink-matching-open): retain props in bootstrap
Jim Porter [Mon, 1 May 2023 16:49:00 +0000 (09:49 -0700)]
Use connection-aware functions when getting the UID/GID in Eshell
This means, for example, that when using Tramp to sudo in Eshell, "rm"
queries the user before deleting anything (bug#63221).
* lisp/eshell/esh-util.el (eshell-user-login-name): New function...
* lisp/eshell/em-unix.el (eshell/whoami): ... use it.
* lisp/eshell/em-ls.el (eshell-ls-applicable): Use 'file-user-uid' and
'eshell-user-login-name'.
(eshell-ls-decorated-name): Use 'file-user-uid'.
* lisp/eshell/em-pred.el (eshell-predicate-alist): Use 'file-user-uid'
and 'file-group-gid'.
* lisp/eshell/em-unix.el (eshell-interactive-query): New widget...
(eshell-rm-interactive-query, eshell-mv-interactive-query)
(eshell-cp-interactive-query, eshell-ln-interactive-query): ... use
it.
(eshell-interactive-query-p): New function...
(eshell/rm, eshell/mv, eshell/cp, eshell/ln): ... use it.
* lisp/simple.el (file-group-gid): New function.
* lisp/net/ange-ftp.el (ange-ftp-file-group-gid): New function...
(file-group-gid): ... use it.
* lisp/net/tramp.el (tramp-handle-file-group-gid):
* lisp/net/tramp-archive.el (tramp-archive-handle-file-group-gid): New
functions.
* lisp/net/tramp.el (tramp-file-name-for-operation): Add
'file-group-gid'.
* 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 'file-group-gid' mapping.
* test/lisp/net/tramp-tests.el (tramp-test44-file-user-group-ids):
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test44-file-user-group-ids): Add tests for
'file-group-gid'.
* doc/lispref/files.texi (Magic File Names): Mention 'file-group-gid'.
* doc/lispref/os.texi (User Identification): Document
'file-group-gid', and move 'group-real-gid' to match the order of
'user-real-uid'.
* etc/NEWS: Announce 'file-group-gid'.
Eli Zaretskii [Tue, 2 May 2023 18:36:26 +0000 (21:36 +0300)]
; Fix last change
* lisp/simple.el (blink-matching-paren-highlight-offscreen)
(blink-matching-paren-offscreen)
(blink-paren-open-paren-line-string): Doc fixes. (Bug#63089)
Shynur [Mon, 1 May 2023 17:32:44 +0000 (01:32 +0800)]
Display matched offscreen open paren with a distinct face
Propertize matched offscreen openparen that is showing in
the echo area in order to make it prominent; use shadow
face for non-context characters (i.e., 'Matches') for the
same purpose.
* lisp/simple.el (blink-matching-paren-offscreen): Add this
face for highlighting.
* lisp/simple.el (blink-matching-paren-highlight-offscreen): Add
this option to toggle face `blink-matching-paren-offscreen'.
* lisp/simple.el (blink-paren-open-paren-line-string): Propertize
the matched offscreen openparen with a face conditionally.
(Bug#63089)
Eli Zaretskii [Tue, 2 May 2023 17:46:17 +0000 (20:46 +0300)]
Fix Dired when QUITING_STYLE is set in the environment
* lisp/dired.el (dired-insert-directory): Ensure non-default
quoting style of file names is not used by 'ls' when we invoke it
with the --dired switch. (Bug#63142)
Eli Zaretskii [Tue, 2 May 2023 12:55:44 +0000 (15:55 +0300)]
; * doc/lispref/functions.texi (Declare Form): Fix whitespace.
Eli Zaretskii [Tue, 2 May 2023 12:50:09 +0000 (08:50 -0400)]
Merge from origin/emacs-29
46392c1623b Fix vertical-motion when tab-line is displayed in a window
0e52beeacea Update to Org 9.6.5-3-g2993f4
dd21003878d Prevent generating empty autoload files
2bcf11d0efe * lisp/org/org-macs.el (org--inhibit-version-check): Fix ...
ca43435816b Fix redisplay of mode line after its format changes from nil
610a7657e0a Fix c-ts-mode--emacs-c-range-query
7f94558b775 Improve documentation of warnings
5a3f0e2c558 ; Doc fix in c-ts-mode.el
21361d05635 Fix FOR_EACH_TAIL fontification (bug#62951)
d0df3404fde ; * etc/EGLOT-NEWS: chsharp-le -> csharp-ls
c229e83c3ce ; * etc/EGLOT-NEWS (https): Elglot -> Eglot.
b4f2f499783 Fix documentation of libxml-parse-* functions
5dd784961d1 ; * src/treesit.c (syms_of_treesit): Fix error messages.
ddfa0d8da9a ; Remove some leftover text
Eli Zaretskii [Tue, 2 May 2023 12:43:51 +0000 (15:43 +0300)]
Revert "; * lisp/progmodes/c-ts-mode.el: allow loading file without treesit"
This reverts commit
7d246c359cf3d25cab5134076e393c4d25015827.
The same problem was already fixed on the release branch,and this
change will just cause merge conflicts.
Mattias Engdegård [Mon, 1 May 2023 17:08:12 +0000 (19:08 +0200)]
; * lisp/progmodes/c-ts-mode.el: allow loading file without treesit
Jim Porter [Mon, 1 May 2023 16:49:39 +0000 (09:49 -0700)]
; Use $GIT_DIR to find the .git directory inside our hooks
This resolves an issue with running the hooks from a worktree. See
<https://lists.gnu.org/archive/html/emacs-devel/2023-05/msg00000.html>.
* build-aux/git-hooks/post-commit:
* build-aux/git-hooks/pre-push: Use $GIT_DIR.
Mattias Engdegård [Mon, 1 May 2023 15:22:02 +0000 (17:22 +0200)]
Declare `cl-delete` to have important-return-value (bug#61730)
* lisp/emacs-lisp/cl-macs.el: Set property on `cl-delete`.
* lisp/progmodes/python.el (python-shell--add-to-path-with-priority):
Prevent warning by cleaner code.
Mattias Engdegård [Mon, 1 May 2023 13:55:32 +0000 (15:55 +0200)]
Add the function declaration and property `important-return-value`
Now the declaration
(declare (important-return-value t))
can be used to have the byte-compiler warn when the return value from
a call is discarded (bug#61730).
* lisp/emacs-lisp/bytecomp.el (byte-compile-form)
(important-return-value-fns): Use the function property
`important-return-value` instead of looking through a static list.
* lisp/emacs-lisp/byte-run.el (byte-run--set-important-return-value)
(defun-declarations-alist): New function declaration, setting the
property of the same name.
* lisp/emacs-lisp/cl-macs.el:
* lisp/subr.el (assoc-default): Set the property.
* doc/lispref/functions.texi (Declare Form):
* doc/lispref/symbols.texi (Standard Properties): Document.
* etc/NEWS: Announce.
Eli Zaretskii [Mon, 1 May 2023 12:27:21 +0000 (15:27 +0300)]
Fix vertical-motion when tab-line is displayed in a window
* src/xdisp.c (try_window, try_window_id): Account for tab-line,
if present, when converting scroll-margin at the top of the window
to vertical pixel coordinate. (Bug#63201)
F. Jason Park [Fri, 28 Apr 2023 14:01:14 +0000 (07:01 -0700)]
Compare case-folded nicks with erc-fill-wrap-merge
* lisp/erc/erc-fill.el (erc-fill--wrap-continued-message-p): Downcase
both current and previous speaker when comparing nicks.
* test/lisp/erc/erc-fill-tests.el (erc-fill-wrap--merge): Add
title-case nick to test.
* test/lisp/erc/resources/fill/snapshots/merge-01-start.eld: Update
snapshot.
* test/lisp/erc/resources/fill/snapshots/merge-02-right.eld: Update
snapshot. (Bug#60936)
Kyle Meyer [Sun, 30 Apr 2023 23:36:21 +0000 (19:36 -0400)]
Update to Org 9.6.5-3-g2993f4
Philip Kaludercic [Sun, 30 Apr 2023 11:17:09 +0000 (13:17 +0200)]
Prevent generating empty autoload files
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Remove
optimisation that would mistakenly discard old loaddefs in case a file
was not modified by EXTRA-DATA is non-nil. (Bug#62734)
Stefan Monnier [Sun, 30 Apr 2023 13:41:13 +0000 (09:41 -0400)]
* lisp/org/org-macs.el (org--inhibit-version-check): Fix docstring
Also, add an explanation to the docstring for what the version
check is about.
Eli Zaretskii [Sun, 30 Apr 2023 13:24:05 +0000 (16:24 +0300)]
Fix redisplay of mode line after its format changes from nil
* src/dispnew.c (update_window): Make sure a mode-line's row of
the current glyph matrix is disabled when the mode line is not
being displayed. (Bug#63186)
Michael Albinus [Sun, 30 Apr 2023 10:11:00 +0000 (12:11 +0200)]
Fix c-ts-mode--emacs-c-range-query
* lisp/progmodes/c-ts-mode.el (c-ts-mode--emacs-c-range-query):
Check for (treesit-available-p).
Eli Zaretskii [Sun, 30 Apr 2023 08:07:36 +0000 (11:07 +0300)]
Improve documentation of warnings
* doc/lispref/control.texi (Errors):
* doc/lispref/os.texi (Startup Summary):
* doc/lispref/display.texi (Warning Basics, Warning Variables)
(Warning Options, Delayed Warnings): Improve documentation of
warnings. Document the automatic delaying of warnings during
startup. (Bug#63181)
Eli Zaretskii [Sun, 30 Apr 2023 05:21:38 +0000 (08:21 +0300)]
; Doc fix in c-ts-mode.el
* lisp/progmodes/c-ts-mode.el (c-ts-mode--fontify-for-each-tail):
Doc fix.
Andrew G Cohen [Sun, 30 Apr 2023 01:55:42 +0000 (09:55 +0800)]
Fix outgoing mime type regression (Bug#62815)
* lisp/net/mailcap.el (mailcap-mime-extensions,
mailcap-parse-mimetype-file, mailcap-mime-types): Don't regexp-quote
mimetypes in a context where they should be strings.
(mailcap--regexp-quote-type): Remove.
Yuan Fu [Sat, 29 Apr 2023 22:39:54 +0000 (15:39 -0700)]
Fix FOR_EACH_TAIL fontification (bug#62951)
Fix the fontification inconsistency between different FOR_EACH_TAIL's.
See the comment for more explanation. Also enable the emacs-devel
feature automatically when c-ts-mode-emacs-sources-support is on.
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--for-each-tail-regexp): Move up.
(c-ts-mode--font-lock-settings): New font-lock rule for FOR_EACH_TAIL.
(c-ts-mode--fontify-for-each-tail): New function.
(c-ts-mode): Automatically enable emacs-devel feature.
João Távora [Sat, 29 Apr 2023 19:47:24 +0000 (20:47 +0100)]
Eglot: bump to 1.15
* lisp/progmodes/eglot.el (Version): Bump to 1.15
* etc/EGLOT-NEWS: Update.
João Távora [Sat, 29 Apr 2023 19:46:12 +0000 (20:46 +0100)]
Eglot: unbreak for Emacs 26
Emacs 26 doesn't have newer progress-reporter-update.
I think I'll start using compat.el soon.
* lisp/progmodes/eglot.el (eglot--apply-text-edits): Unbreak for
Emacs 26 which doesn't have newer progress-reporter-update.
Theodor Thornhill [Sat, 29 Apr 2023 17:59:49 +0000 (19:59 +0200)]
; * etc/EGLOT-NEWS: chsharp-le -> csharp-ls
Theodor Thornhill [Sat, 29 Apr 2023 17:54:09 +0000 (19:54 +0200)]
; * etc/EGLOT-NEWS (https): Elglot -> Eglot.
Wilhelm H Kirschbaum [Thu, 27 Apr 2023 10:13:25 +0000 (12:13 +0200)]
Improve call indentation for elixir-ts-mode
* lisp/progmodes/elixir-ts-mode.el
(elixir-ts--indent-rules): Change match order.
(Bug#63110)
* test/lisp/progmodes/elixir-ts-mode-resources/indent.erts:
Add test case.
Wilhelm H Kirschbaum [Thu, 27 Apr 2023 09:39:39 +0000 (11:39 +0200)]
Add bitstring indentation and navigation for elixir-ts-mode
* lisp/progmodes/elixir-ts-mode.el
(elixir-ts--sexp-regexp): Add bistring.
(elixir-ts--indent-rules): Handle bitstring indentation.
(Bug#63109)
* test/lisp/progmodes/elixir-ts-mode-resources/indent.erts:
Add test case.
Eli Zaretskii [Sat, 29 Apr 2023 08:50:47 +0000 (11:50 +0300)]
Optimize search for composable characters in redisplay
* src/composite.c (composition_compute_stop_pos): Accept new
argument INCLUDE_STATIC, and look for potential static
compositions only if this argument is non-zero.
* src/xdisp.c:
* src/composite.c:
* src/indent.c: All callers adjusted.
* src/xdisp.c (compute_stop_pos): Don't search for static
compositions. Search for automatic compositions only after the
iterator gets past the composition stop_pos computed last time.
Use a better position for limiting search for automatic
compositions. (Bug#62780)
Eli Zaretskii [Sat, 29 Apr 2023 06:39:15 +0000 (09:39 +0300)]
Fix documentation of libxml-parse-* functions
* doc/lispref/text.texi (Parsing HTML/XML):
* src/xml.c (Flibxml_parse_html_region, Flibxml_parse_xml_region):
Update the documentation regarding the use of BASE-URL argument.
(Bug#63125)
Eli Zaretskii [Fri, 28 Apr 2023 18:14:32 +0000 (21:14 +0300)]
; * src/treesit.c (syms_of_treesit): Fix error messages.
Dmitry Gutov [Fri, 28 Apr 2023 16:28:25 +0000 (19:28 +0300)]
; Remove some leftover text
Jonas Bernoulli [Wed, 29 Mar 2023 14:57:33 +0000 (16:57 +0200)]
Support displaying all package maintainers (Bug#62524)
* lisp/emacs-lisp/package.el (describe-package-1): Use new
:maintainers package extra property from "archive-contents",
if non-nil.
* (package-buffer-info): Fix docstring.
Eli Zaretskii [Fri, 28 Apr 2023 16:14:26 +0000 (12:14 -0400)]
Merge from origin/emacs-29
212e30f6789 ; Fix byte-compilation warnings in c-ts-mode.el
1f2214dabd0 Skip over whitespace in annotation-top-cont check (bug#63...
7e136c51f6f Update zh-CN tutorial translation
d3ca0b3aa2e ; * lisp/progmodes/c-ts-mode.el: Fix comments and doc str...
c6f15c24862 ; Fix last change.
b9e06330f75 ; * etc/NEWS: Followup to bug#62720.
b33d25f5967 ; Minor improvements in doc strings of package-upgrade co...
c3a61870b94 Fix eglot.texi
# Conflicts:
# etc/NEWS
Eli Zaretskii [Fri, 28 Apr 2023 16:01:19 +0000 (12:01 -0400)]
; Fix byte-compilation warnings in c-ts-mode.el
* lisp/progmodes/c-ts-mode.el (treesit-parser-set-included-ranges)
(treesit-query-compile): Declare treesit.c functions.
(treesit-load-name-override-list): Defvar it.
Mattias Engdegård [Fri, 28 Apr 2023 13:03:47 +0000 (15:03 +0200)]
Use t for non-nil default values in boolean defcustom declarations
* lisp/emulation/viper-ex.el (ex-unix-type-shell):
* lisp/emulation/viper-init.el (viper-ms-style-os-p):
* lisp/eshell/em-glob.el (eshell-glob-case-insensitive):
* lisp/filecache.el (file-cache-ignore-case):
* lisp/lpr.el (lpr-add-switches):
* lisp/ls-lisp.el (ls-lisp-ignore-case):
* lisp/mail/binhex.el (binhex-use-external):
* lisp/progmodes/cperl-mode.el (cperl-electric-parens-mark):
Normalise default values to nil or t.
Theodor Thornhill [Fri, 28 Apr 2023 12:00:35 +0000 (14:00 +0200)]
Skip over whitespace in annotation-top-cont check (bug#63141)
* lisp/progmodes/csharp-mode.el (csharp-guess-basic-syntax): Make sure
we skip over whitespace when looking for the next '['.
Po Lu [Fri, 28 Apr 2023 06:43:31 +0000 (14:43 +0800)]
Make mode-line behavior better with grayscale visuals
* lisp/faces.el (mode-line, mode-line-inactive)
(mode-line-highlight): Enable gray faces on grayscale visuals.
Ruijie Yu [Wed, 19 Apr 2023 02:36:22 +0000 (10:36 +0800)]
Update zh-CN tutorial translation
* etc/tutorials/TUTORIAL.cn (INTRO): Additions from English
version; say "interrupt" not "quit" a partially-entered command;
fixed minor inconsistency (English says partially-entered command,
Chinese used to say partially-executed command -- they are
different); converted half-width square brackets containing
translators' notes into full-width ones for consistency.
(BASIC CURSOR CONTROL): mention that a word boundary for Chinese
can also be space; fixed incorrect terminology (keyboard vs
terminal); retain English term "terminal"; retain English term
"prefix argument"; "most commands _interpret_ prefix args as
repeat-count", not "explain"; ensure space is added on both ends
of an English word.
(WINDOWS): Clarify it is the digit 1 in C-x 1.
(INSERTING AND DELETING): Mention the term "continuation line" and
retain its English term, because this term is mentioned again
later in the tutorial; avoid saying the name of "\\"; add
description for "electric" and a rough translation; sync English
for prefix argument for DEL and C-d; ensure that translators'
notes are marked explicitly so; add indentation to the instruction
about continuation lines; additional translations such as
mentioning C--, etc.
(FILES): Re-pluralize the heading; space around English words;
describe what C-g cancels (the command) when entering file name;
replace "search for" with "find"; minor rephrasing; explicit
translator notes; fixed the write-file message to no longer
contain ellipses (see src/fileio.c:5541).
(BUFFERS): Re-pluralize the heading; mention that C-x C-b also
shows buffer name; C-x s only looks for file-visiting buffers.
(EXTENDING THE COMMAND SET): Include C-x s and C-x b in list of
learned commands.
(MODE LINE): Remove the dashes in description on the point
location.
(MULTIPLE WINDOWS): Mention the difference between frame
and window; also add translator notes pointing to end of
tutorial which contains a terminology list.
(MULTIPLE FRAMES): Change the M-x commands to keybinds C-x 5 2 and
C-x 5 0 to sync with English.
(GETTING MORE HELP): Change C-h f to C-h x, to sync with English.
(INSTALLING PACKAGES): Rephrase "available packages", used to say
lit., "existing", now says lit., "installable"; consistently
translate the term "package", and retain its English name.
(TRANSLATION): Add my name as co-maintainer of this file.
* etc/tutorials/TUTORIAL.translators (TUTORIAL.cn): Add my name
as co-maintainer for TUTORIAL.cn.
Eli Zaretskii [Fri, 28 Apr 2023 05:40:56 +0000 (08:40 +0300)]
; * lisp/progmodes/c-ts-mode.el: Fix comments and doc strings (bug#62951).
Eli Zaretskii [Fri, 28 Apr 2023 05:27:20 +0000 (08:27 +0300)]
; Fix last change.
Eli Zaretskii [Fri, 28 Apr 2023 05:26:39 +0000 (08:26 +0300)]
; * etc/NEWS: Followup to bug#62720.
Eli Zaretskii [Fri, 28 Apr 2023 05:14:37 +0000 (08:14 +0300)]
; Minor improvements in doc strings of package-upgrade commands
* lisp/emacs-lisp/package.el (package-upgrade)
(package-upgrade-all): Doc fixes. (Bug#62720)
Eli Zaretskii [Fri, 28 Apr 2023 04:54:16 +0000 (07:54 +0300)]
Fix eglot.texi
* doc/misc/eglot.texi (Troubleshooting Eglot): Add missing @menu.
(Performance, Getting the latest version): Improve wording and
indexing, add cross-references.
Po Lu [Fri, 28 Apr 2023 03:51:01 +0000 (11:51 +0800)]
Merge from origin/emacs-29
a40f1816237 Fix two crashes upon startup
44ebd9cbd56 Eglot: explain how to update Eglot in manual (bug#62720)
941ef044f2e Eglot: fix edge case when deleting inlay hint overlays
a365984d9e1 package-upgrade[-all]: Expand docstrings to note the curr...
f965f35b33b Rename all functions called package-*-update-* to package...
31b58161bb5 Fix FOR_EACH_TAIL in c-ts-mode (bug#62951)
0cf6e0998ba * Makefile.in (distclean): Remove the 'native-lisp' direc...
933705d61e5 Improve greek-ibycus4 input method
# Conflicts:
# etc/NEWS
Po Lu [Fri, 28 Apr 2023 03:47:46 +0000 (11:47 +0800)]
Fix two crashes upon startup
* src/image.c (image_create_bitmap_from_data)
(image_create_bitmap_from_file): Specify a Window or a Pixmap
describing the screen, not a back buffer drawable which may not exist.
Otherwise, Emacs crashes on startup when a bitmap icon is in use.
João Távora [Thu, 27 Apr 2023 20:08:17 +0000 (21:08 +0100)]
Eglot: explain how to update Eglot in manual (bug#62720)
* lisp/progmodes/eglot.el (eglot-update): New command.
* doc/misc/eglot.texi (Troubleshooting): Rework.
João Távora [Thu, 27 Apr 2023 19:51:07 +0000 (20:51 +0100)]
Eglot: fix edge case when deleting inlay hint overlays
When asked to update hints in a region (FROM TO),
eglot--update-hints-1 first deletes the existing hints. It must
however take care to delete all overlays that logically belong to the
region, even if they don't physically belong to it, e.g. inlay
overlays spanning (FROM-1 FROM) and having a 'after-string' property.
* lisp/progmodes/eglot.el (eglot--update-hints-1): Fix edge case.
Dmitry Gutov [Thu, 27 Apr 2023 23:24:10 +0000 (02:24 +0300)]
package-upgrade[-all]: Expand docstrings to note the current limitation
* lisp/emacs-lisp/package.el (package-upgrade, package-upgrade-all):
Expand docstrings to note the current limitation (bug#62720).
Dmitry Gutov [Sun, 23 Apr 2023 23:00:54 +0000 (02:00 +0300)]
Rename all functions called package-*-update-* to package-*-upgrade-*
* lisp/emacs-lisp/package-vc.el (package-vc-upgrade-all):
Rename from 'package-vc-update-all'.
(package-vc-upgrade): Rename from 'package-vc-update'.
* lisp/emacs-lisp/package.el (package-upgrade):
Rename from 'package-update' (bug#62750).
(package--upgradeable-packages):
Rename from 'package--updateable-packages'.
(package-upgrade-all): Rename from 'package-update-all'.
Yuan Fu [Thu, 27 Apr 2023 03:09:42 +0000 (20:09 -0700)]
Fix FOR_EACH_TAIL in c-ts-mode (bug#62951)
* lisp/progmodes/c-ts-mode.el
(c-ts-mode--indent-styles): New indent rule.
(c-ts-mode--for-each-tail-regexp)
(c-ts-mode--for-each-tail-body-matcher)
(c-ts-mode--emacs-c-range-query)
(c-ts-mode--for-each-tail-ranges)
(c-ts-mode--reverse-ranges)
(c-ts-mode--emacs-set-ranges): New functions and variables.
(c-ts-mode): Create a emacs-c parser. More setup for Emacs source
support.
* lisp/treesit.el (treesit-query-range): Ignore underscore-prefixed
capture names.
Eli Zaretskii [Thu, 27 Apr 2023 18:39:33 +0000 (21:39 +0300)]
* Makefile.in (distclean): Remove the 'native-lisp' directory.
Michael Albinus [Thu, 27 Apr 2023 17:41:18 +0000 (19:41 +0200)]
Fix thinko in tramp-gvfs-maybe-open-connection
* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
Use `assoc-default'.
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.
Eli Zaretskii [Thu, 27 Apr 2023 07:25:20 +0000 (10:25 +0300)]
Improve greek-ibycus4 input method
* lisp/leim/quail/greek.el ("greek-ibycus4"): Add another sequence
for CAPITAL LETTER RHO WITH DASIA. (Bug#63104)
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