]> git.eshelyaron.com Git - emacs.git/log
emacs.git
19 months agopackage-upgrade: Implement the upgrading of built-ins
Dmitry Gutov [Sat, 6 May 2023 00:54:59 +0000 (03:54 +0300)]
package-upgrade: Implement the upgrading of built-ins

* lisp/emacs-lisp/package.el (package--upgradeable-packages):
Add new argument.  When INCLUDE-BUILTINS is non-nil, also search
among package--builtins (bug#62720).
(package-upgrade): Use the new argument.  Bind
package-install-upgrade-built-in when necessary.  Mark the package
as selected if it was previously an "active built-in".
(package-upgrade-all): Update the docstring.

19 months agoMerge from origin/emacs-29
Dmitry Gutov [Sat, 6 May 2023 00:41:54 +0000 (03:41 +0300)]
Merge from origin/emacs-29

79a886ba368 (package-upgrade): Don't remove the package from 'package...
c0ab4e9ca93 Eglot: re-rename eglot-upgrade to eglot-upgrade-eglot
b4e90070f96 Fix arguments of xml.c functions as displayed in Help buf...
b1bda8228e5 More fixes for NetBSD/vax
a2d4cd06f45 Improve VHDL mode highlighting
2f3a514b6db Clarify documentation wrt floating point division by zero...
94e984e6700 Make loaddefs-generate slightly more tolerant
aba41d2c4bb ; Minor doc cleanups in go-ts-mode.el
b42ccb2e5c1 ; Minor grammar fix in treesit manual.
ab44c8a6f9d Fix order of rcirc-connect arguments
8eb6e33691d Fix rcirc messages printing in the wrong place
2901a3443c7 Prevent unnecessary modifications of 'package-vc-selected...
eaad302bd6f Rename eglot-update to eglot-upgrade
eaf25b9c6ae go-ts-mode: Use iota query only if supported (Bug#63086)
cc090294d77 (rng-complete-tag): Add the (ignored) argument to the :co...
21ec6c1d5cc Update to Transient v0.3.7-219-g3ded15b
8d5aa8df4ad Fix inserting selection data into Mozilla programs
57562c3fd0a Recognize defstruct slot names in various eieio functions
b93eb68cc30 Use 'calendar-buffer' instead of fixed string

# Conflicts:
# etc/EGLOT-NEWS

19 months ago; Merge from origin/emacs-29
Dmitry Gutov [Sat, 6 May 2023 00:36:29 +0000 (03:36 +0300)]
; Merge from origin/emacs-29

The following commit was skipped:

e338a8ac41d Handle point not at EOB in minibuffer-choose-completion

19 months agoMerge from origin/emacs-29
Dmitry Gutov [Sat, 6 May 2023 00:36:29 +0000 (03:36 +0300)]
Merge from origin/emacs-29

fceaf230b06 Note that Emacs pauses when handling sentinel errors

19 months ago(package-upgrade): Don't remove the package from 'package-selected-packages'
Dmitry Gutov [Sat, 6 May 2023 00:32:08 +0000 (03:32 +0300)]
(package-upgrade): Don't remove the package from 'package-selected-packages'

* lisp/emacs-lisp/package.el (package-upgrade):
Don't remove the package from 'package-selected-packages', fixing
the problem described in https://debbugs.gnu.org/62720#718.

19 months agoMake old-struct test more robust
Mattias Engdegård [Thu, 4 May 2023 15:47:05 +0000 (17:47 +0200)]
Make old-struct test more robust

* test/lisp/emacs-lisp/cl-lib-tests.el (old-struct):
Use the `vector` constructor instead of vector literals to
avoid failing because of `type-of` constant-folding.

19 months agoConstant-propagate cons and vector literals
Mattias Engdegård [Thu, 4 May 2023 15:37:17 +0000 (17:37 +0200)]
Constant-propagate cons and vector literals

* lisp/emacs-lisp/byte-opt.el (byte-optimize--substitutable-p):
Allow quoted lists and conses, and vector literals, to be substituted
from lexical variables.  This can eliminate variable bindings and
create new constant folding opportunities.

19 months agoRemove useless handling of erroneous code in Lisp optimiser
Mattias Engdegård [Thu, 4 May 2023 15:31:15 +0000 (17:31 +0200)]
Remove useless handling of erroneous code in Lisp optimiser

* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
((closure ...) ...) is a malformed function call; treat it as such.
Better malformed function warning location.

19 months agoDon't inline funcall to literal lambda form
Mattias Engdegård [Thu, 4 May 2023 15:28:08 +0000 (17:28 +0200)]
Don't inline funcall to literal lambda form

* lisp/emacs-lisp/byte-opt.el (byte-optimize-funcall): Don't convert

  (funcall '(lambda ...) ...) -> ((lambda ...) ...)

because that would inline what is essentially an `eval` of a
function using dynamic binding rules into lexbound code.

19 months agoFido-mode: never shadow 'external' completion style
João Távora [Fri, 5 May 2023 18:44:11 +0000 (19:44 +0100)]
Fido-mode: never shadow 'external' completion style

As explained in the manual (20.7.2 Fast minibuffer selection)
'fido-mode' and 'fido-vertical-mode' give priority the "flex"
completion style.

In fact, bug#62015 was recently fixed in commit because that priority
was not taking place correctly and some completions were missed.

However, an exception must be made for the 'external' completion
style.

That style, made available by the lisp/external-completion.el library,
is specifically designed to work with backends that provide only a
partial view of all completions.  If we allow 'flex' to step in front
of 'external' it could mean that 'flex' matches something and
'external' isn't triggered as it probably should.

To reproduce have the rust-mode ELPA package and the rust-analyzer LSP
server handy.  Then:

  emacs -Q -f package-initialize main.rs

Where main.rs is this content:

  fn foo1()    {} fn foo2()    {} fn foo3() {}
  fn foobar1() {} fn foobar2() {} fn foobar3() {}

The rust-analyzer server can be quickly configured to return only 3
workspace symbols max, so evaluate:

  (setq-default eglot-workspace-configuration
                '(:rust-analyzer
                    (:workspace (:symbol (:search (:limit 3))))))

Now start M-x eglot and M-x fido-vertical-mode and type C-u M-. to
find an arbitrary symbol in this one-file project.

Type 'f'.  You will see the three foo's are listed, correctly.

Now type '3'.   You will only see "foo3".

But that's wrong because "foobar3" was available, if only the server
had been asked for it.  This commit fixes the situation and no
completions are lost.

As an unfortunate side-effect of this commit, the fontification of
completions-common-part on the matches is lost, but that is not worse
than missing out on completions and there are better ways to recover
the fontification anyway (in external-completion.el).

See also:
https://github.com/joaotavora/eglot/discussions/1219#discussioncomment-5818336

* lisp/icomplete.el (icomplete--fido-ccd): Do not touch entries
with 'external in them.

19 months agoImprove ange-ftp-file-remote-p
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.

19 months agoFix dired and tramp where `ls` does not have the `-N` option
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.

19 months agoEglot: re-rename eglot-upgrade to eglot-upgrade-eglot
João Távora [Fri, 5 May 2023 13:51:09 +0000 (14:51 +0100)]
Eglot: re-rename eglot-upgrade to eglot-upgrade-eglot

* doc/misc/eglot.texi (Getting the latest version): Mention
eglot-upgrade-eglot.

* etc/EGLOT-NEWS: Mention eglot-upgrade-eglot.

* lisp/progmodes/eglot.el (eglot-upgrade-eglot): Rename from
eglot-update.
(eglot-update): New compatibility alias.

19 months agoFix arguments of xml.c functions as displayed in Help buffers
Eli Zaretskii [Fri, 5 May 2023 07:08:59 +0000 (10:08 +0300)]
Fix arguments of xml.c functions as displayed in Help buffers

* lisp/subr.el (libxml-parse-xml-region)
(libxml-parse-html-region): Adjust advertised-calling-convention
to the changes in commit cc33c6cf3a.  (Bug#63291)

19 months agoMore fixes for NetBSD/vax
Po Lu [Fri, 5 May 2023 06:13:37 +0000 (14:13 +0800)]
More fixes for NetBSD/vax

* src/sysdep.c (init_signals) [__vax__]: Treat SIGILL
as a floating point error on VAXen.
Otherwise, (log 0.0) crashes Emacs.

19 months agoImprove VHDL mode highlighting
Cyril Arnould [Wed, 3 May 2023 19:40:18 +0000 (19:40 +0000)]
Improve VHDL mode highlighting

* lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist): Differentiate
between ModelSim errors, warnings, and notes when highlighting
them.  Add a new entry for Xilinx Vivado.  (Bug#63251)

Copyright-paperwork-exempt: yes

19 months ago; Use a Bourne shell-compatible form for command substitution
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 $().

19 months ago; Allow spaces in directory names for Git hooks
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.

19 months agoMake vc-hg-annotate-command async
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).

19 months agoSuspend timers when reading Tramp process output
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.

19 months ago; Fix post-commit and pre-push hooks in worktrees again
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.

19 months agoClarify documentation wrt floating point division by zero and NaN
Po Lu [Thu, 4 May 2023 14:08:44 +0000 (22:08 +0800)]
Clarify documentation wrt floating point division by zero and NaN

* doc/lispref/numbers.texi (Float Basics)
(Arithmetic Operations): Document what happens on a VAX.
Tested on NetBSD 9.3.

19 months agoMake loaddefs-generate slightly more tolerant
Robert Pluim [Thu, 4 May 2023 12:07:08 +0000 (14:07 +0200)]
Make loaddefs-generate slightly more tolerant

There are packages in the wild, such as vlf-20191126.2250, which have
entries that are not terminated by three ';', but by two.  Tolerate
such entries.

* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Search for two
';' as a delimiter, not three.  (Bug#63236)

19 months ago; Minor doc cleanups in go-ts-mode.el
Eli Zaretskii [Thu, 4 May 2023 13:37:39 +0000 (16:37 +0300)]
; Minor doc cleanups in go-ts-mode.el

* lisp/progmodes/go-ts-mode.el (go-ts-mode--iota-query-supported-p)
(go-ts-mode--other-type-node-p, go-mod-ts-mode--in-directive-p):
Doc fixes.

19 months ago; Minor grammar fix in treesit manual.
Basil L. Contovounesios [Thu, 4 May 2023 10:16:57 +0000 (12:16 +0200)]
; Minor grammar fix in treesit manual.

19 months agoFix order of rcirc-connect arguments
Philip Kaludercic [Mon, 1 May 2023 11:53:52 +0000 (13:53 +0200)]
Fix order of rcirc-connect arguments

* lisp/net/rcirc.el (rcirc): Pass SERVER-ALIAS before CLIENT-CERT.
(rcirc-connect): Take SERVER-ALIAS before CLIENT-CERT.

This is necessary for the 'rcirc-reconnect' trick to work that applies
the contents of 'rcirc-connection-info' to 'rcirc-connect', otherwise
the server alias gets lost as certfp information.

This addresses a change made in b79cb838a477ee5a5c3660e81264991ff833a82f.

19 months agoFix rcirc messages printing in the wrong place
Thuna [Wed, 23 Nov 2022 03:14:36 +0000 (04:14 +0100)]
Fix rcirc messages printing in the wrong place

* lisp/net/rcirc.el (rcirc-send-message): Print the message before
sending it to the server.
(rcirc-print): Get the time with subsecond precision.
* lisp/calendar/parse-time.el (parse-time-string
parse-iso8601-time-string): Accept optional second FORM arguments,
with the same meaning as in `decode-time'.  Mention as such in the
docstring.  (Bug#59501)

Copyright-paperwork-exempt: yes

19 months agoPrevent unnecessary modifications of 'package-vc-selected-packages'
Philip Kaludercic [Sun, 30 Apr 2023 18:21:04 +0000 (20:21 +0200)]
Prevent unnecessary modifications of 'package-vc-selected-packages'

* lisp/emacs-lisp/package-vc.el (package-vc--unpack): Handle the
structure of correctly, not as an alist but a list of alists.
(package-vc--archive-spec-alist, package-vc--archive-spec-alists,
package-vc--desc->spec, package-vc--read-archive-data,
package-vc--download-and-read-archives, package-vc--unpack): Rename
'package-vc--archive-spec-alist' to 'package-vc--archive-spec-alists'.

19 months agoRename eglot-update to eglot-upgrade
Dmitry Gutov [Wed, 3 May 2023 22:39:15 +0000 (01:39 +0300)]
Rename eglot-update to eglot-upgrade

* doc/misc/eglot.texi (Getting the latest version):
Update the reference.

* lisp/progmodes/eglot.el (eglot-upgrade): Rename from
'eglot-update', as discussed on emacs-devel, in line with
'package-upgrade'.

19 months agogo-ts-mode: Use iota query only if supported (Bug#63086)
Randy Taylor [Wed, 26 Apr 2023 15:15:45 +0000 (11:15 -0400)]
go-ts-mode: Use iota query only if supported (Bug#63086)

iota query support was added on January 5, 2022.  To support older
versions of the tree-sitter-go grammar (like the latest tagged version,
v0.19.1, which was released on March 3, 2021), check if the query is
supported before trying to use it.

* lisp/progmodes/go-ts-mode.el (go-ts-mode--iota-query-supported-p): New
function.
(go-ts-mode--font-lock-settings): Use it.

19 months ago(rng-complete-tag): Add the (ignored) argument to the :company-kind function
Dmitry Gutov [Wed, 3 May 2023 20:58:27 +0000 (23:58 +0300)]
(rng-complete-tag): Add the (ignored) argument to the :company-kind function

* lisp/nxml/rng-nxml.el (rng-complete-tag): Add the (ignored)
argument to the :company-kind function.  Fixes the "Wrong number
of arguments" error reported at
https://github.com/company-mode/company-mode/issues/1386.

19 months ago* lisp/emacs-lisp/package.el (package-buffer-info): Fix thinko
Stefan Monnier [Wed, 3 May 2023 17:18:08 +0000 (13:18 -0400)]
* lisp/emacs-lisp/package.el (package-buffer-info): Fix thinko

19 months agoUpdate to Transient v0.3.7-219-g3ded15b
Jonas Bernoulli [Wed, 3 May 2023 13:02:31 +0000 (15:02 +0200)]
Update to Transient v0.3.7-219-g3ded15b

19 months agoFix inserting selection data into Mozilla programs
Po Lu [Wed, 3 May 2023 12:02:01 +0000 (20:02 +0800)]
Fix inserting selection data into Mozilla programs

* lisp/select.el (xselect-convert-to-text-uri-list): Don't
return any value when converting non-DND selections to this
drag-and-drop target.

Reported by Tobias Bading <tbading@web.de>.

19 months agoRecognize defstruct slot names in various eieio functions
Thuna [Wed, 19 Apr 2023 21:43:22 +0000 (23:43 +0200)]
Recognize defstruct slot names in various eieio functions

* lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Set
each slot's name's 'slot-name' property so that
'eieio--known-slot-name-p' can recognize them.  (Bug#62959)

Copyright-paperwork-exempt: yes

19 months agoTramp code cleanup
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.

19 months ago; * lisp/dired.el (dired-insert-directory): Fix a typo in a comment.
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.

19 months agoFontify "extern foo ();" correctly inside a function
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.

19 months ago; * lisp/simple.el (blink-matching-open): retain props in bootstrap
Mattias Engdegård [Wed, 3 May 2023 09:09:37 +0000 (11:09 +0200)]
; * lisp/simple.el (blink-matching-open): retain props in bootstrap

19 months agoUse connection-aware functions when getting the UID/GID in Eshell
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'.

19 months ago; Fix last change
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)

19 months agoDisplay matched offscreen open paren with a distinct face
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)

19 months agoUse 'calendar-buffer' instead of fixed string
Thuna [Tue, 14 Feb 2023 18:52:37 +0000 (19:52 +0100)]
Use 'calendar-buffer' instead of fixed string

* test/lisp/calendar/cal-julian-tests.el (with-cal-julian-test):
Use 'calendar-buffer' instead of a literal fixed name.
(Bug#61546)

Copyright-paperwork-exempt: yes

19 months agoHandle point not at EOB in minibuffer-choose-completion
Spencer Baugh [Fri, 21 Apr 2023 18:55:00 +0000 (14:55 -0400)]
Handle point not at EOB in minibuffer-choose-completion

Without this change, only the minibuffer contents before point
are cleared when a completion is chosen, which results in stray
text when point is in the middle of the minibuffer.

After this change, we heuristically decide either to clear the
whole buffer or only part of it, taking into account the
location of point.

This is a backport for the Emacs 29 release branch of a simpler
fix in minibuffer-completion-help.

* lisp/minibuffer.el (minibuffer-next-completion):
(minibuffer-choose-completion):
Recalculate completion-base-affixes with point.  (Bug#62700)

19 months agoNote that Emacs pauses when handling sentinel errors
Spencer Baugh [Tue, 2 May 2023 15:37:48 +0000 (11:37 -0400)]
Note that Emacs pauses when handling sentinel errors

Noting this behavior and variable here makes it easier to
understand the behavior of Emacs when a sentinel has an error.

* doc/lispref/processes.texi (Filter Functions): Note that Emacs
pauses when handling sentinel errors.
(Sentinels): Note that Emacs pauses when handling sentinel errors.
(Bug#63096)

19 months agoFix Dired when QUITING_STYLE is set in the environment
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)

19 months ago; * doc/lispref/functions.texi (Declare Form): Fix whitespace.
Eli Zaretskii [Tue, 2 May 2023 12:55:44 +0000 (15:55 +0300)]
; * doc/lispref/functions.texi (Declare Form): Fix whitespace.

19 months agoMerge from origin/emacs-29
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

19 months agoRevert "; * lisp/progmodes/c-ts-mode.el: allow loading file without treesit"
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.

19 months ago; * lisp/progmodes/c-ts-mode.el: allow loading file without treesit
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

19 months ago; Use $GIT_DIR to find the .git directory inside our hooks
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.

19 months agoDeclare `cl-delete` to have important-return-value (bug#61730)
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.

19 months agoAdd the function declaration and property `important-return-value`
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.

19 months agoFix vertical-motion when tab-line is displayed in a window
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)

19 months agoCompare case-folded nicks with erc-fill-wrap-merge
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)

19 months agoUpdate to Org 9.6.5-3-g2993f4
Kyle Meyer [Sun, 30 Apr 2023 23:36:21 +0000 (19:36 -0400)]
Update to Org 9.6.5-3-g2993f4

20 months agoPrevent generating empty autoload files
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)

20 months ago* lisp/org/org-macs.el (org--inhibit-version-check): Fix docstring
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.

20 months agoFix redisplay of mode line after its format changes from nil
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)

20 months agoFix c-ts-mode--emacs-c-range-query
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).

20 months agoImprove documentation of warnings
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)

20 months ago; Doc fix in c-ts-mode.el
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.

20 months agoFix outgoing mime type regression (Bug#62815)
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.

20 months agoFix FOR_EACH_TAIL fontification (bug#62951)
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.

20 months agoEglot: bump to 1.15
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.

20 months agoEglot: unbreak for Emacs 26
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.

20 months ago; * etc/EGLOT-NEWS: chsharp-le -> csharp-ls
Theodor Thornhill [Sat, 29 Apr 2023 17:59:49 +0000 (19:59 +0200)]
; * etc/EGLOT-NEWS:  chsharp-le -> csharp-ls

20 months ago; * etc/EGLOT-NEWS (https): Elglot -> Eglot.
Theodor Thornhill [Sat, 29 Apr 2023 17:54:09 +0000 (19:54 +0200)]
; * etc/EGLOT-NEWS (https): Elglot -> Eglot.

20 months agoImprove call indentation for elixir-ts-mode
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.

20 months agoAdd bitstring indentation and navigation for elixir-ts-mode
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.

20 months agoOptimize search for composable characters in redisplay
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)

20 months agoFix documentation of libxml-parse-* functions
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)

20 months ago; * src/treesit.c (syms_of_treesit): Fix error messages.
Eli Zaretskii [Fri, 28 Apr 2023 18:14:32 +0000 (21:14 +0300)]
; * src/treesit.c (syms_of_treesit): Fix error messages.

20 months ago; Remove some leftover text
Dmitry Gutov [Fri, 28 Apr 2023 16:28:25 +0000 (19:28 +0300)]
; Remove some leftover text

20 months agoSupport displaying all package maintainers (Bug#62524)
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.

20 months agoMerge from origin/emacs-29
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

20 months ago; Fix byte-compilation warnings in c-ts-mode.el
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.

20 months agoUse t for non-nil default values in boolean defcustom declarations
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.

20 months agoSkip over whitespace in annotation-top-cont check (bug#63141)
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 '['.

20 months agoMake mode-line behavior better with grayscale visuals
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.

20 months agoUpdate zh-CN tutorial translation
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.

20 months ago; * lisp/progmodes/c-ts-mode.el: Fix comments and doc strings (bug#62951).
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).

20 months ago; Fix last change.
Eli Zaretskii [Fri, 28 Apr 2023 05:27:20 +0000 (08:27 +0300)]
; Fix last change.

20 months ago; * etc/NEWS: Followup to bug#62720.
Eli Zaretskii [Fri, 28 Apr 2023 05:26:39 +0000 (08:26 +0300)]
; * etc/NEWS: Followup to bug#62720.

20 months ago; Minor improvements in doc strings of package-upgrade commands
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)

20 months agoFix eglot.texi
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.

20 months agoMerge from origin/emacs-29
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

20 months agoFix two crashes upon startup
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.

20 months agoEglot: explain how to update Eglot in manual (bug#62720)
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.

20 months agoEglot: fix edge case when deleting inlay hint overlays
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.

20 months agopackage-upgrade[-all]: Expand docstrings to note the current limitation
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).

20 months agoRename all functions called package-*-update-* to package-*-upgrade-*
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'.

20 months agoFix FOR_EACH_TAIL in c-ts-mode (bug#62951)
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.

20 months ago* Makefile.in (distclean): Remove the 'native-lisp' directory.
Eli Zaretskii [Thu, 27 Apr 2023 18:39:33 +0000 (21:39 +0300)]
* Makefile.in (distclean): Remove the 'native-lisp' directory.

20 months agoFix thinko in tramp-gvfs-maybe-open-connection
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'.

20 months agoFix Tramp bug#63102
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)

20 months agoClarify `nconc` behaviour for dotted lists (bug#63103)
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.

20 months agoDon't rewrite (nconc X nil) -> X for any X (bug#63103)
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.

20 months ago; * admin/charsets/mapconv (LC_ALL): Fix typo.
Po Lu [Thu, 27 Apr 2023 10:51:40 +0000 (18:51 +0800)]
; * admin/charsets/mapconv (LC_ALL): Fix typo.

20 months agoFix bootstrap on Unix
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.