Merge from origin/emacs-30

d66b8d4bec Fix checkbox's child creation
26c5fadf47 Document that 'package-vc' doesn't support built-in packages
ee61b9a050 ; Fix documentation of completion commands
ce43d13593 ; Simplify admin/run-codespell
fa1470d069 ; Remove duplicated word in files.el Commentary
dabaea9746 Improve checkdoc-common-verbs-wrong-voice docstring
6de2ee5663 Document string-as-{unibyte,multibyte} as obsolete in manual
7f76f872eb Fix go-ts-mode var spec indentation (Bug#75362)
01464fc882 Add "text" as a thing in tsx-ts-mode
59c5733792 Improve doc string of 'package-delete'
313a191d04 ; * admin/MAINTAINERS: Remove Kelvin White.
002960ceab Clarify that 'mac' line ending convention is not used on ...
4210e06564 Add language server for Odin
ee1034422b ; Improve documentation of function-type display
1c49edc408 Modernize "Commentary" section of files.el
505c1123e1 * INSTALL: Add advice how to invoke 'make install'.  (Bug...
82e16cae9c Improve the documentation of 'key-valid-p'

# Conflicts:
#	etc/NEWS
#	lisp/progmodes/typescript-ts-mode.el
This commit is contained in:
Eli Zaretskii 2025-01-11 07:44:23 -05:00
commit 3d960c16c6
20 changed files with 84 additions and 62 deletions

View file

@ -667,6 +667,12 @@ for its Lisp files by giving values for 'make' variables as part of
the command. See the section below called 'MAKE VARIABLES' for more
information on this.
If the directories where 'make install' installs files are not writable
by your user, you might prefer invoking 'make && sudo make install'
instead. This first invokes 'make' to make sure all the required files
are rebuilt with your user's permissions and ownership, and then
installs them using the permissions of root.
7) Check the file 'dir' in your site's info directory (usually
/usr/local/share/info) to make sure that it has a menu entry for the
Emacs info files.

View file

@ -256,11 +256,6 @@ maintainership to someone listed above, but who want to continue to be
CC'd as though they were still the primary maintainer, in the meantime.
==============================================================================
Kelvin White
ERC
lisp/erc/*
doc/misc/erc.texi
Eli Zaretskii
doc/*

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
### run-codespell - run codespell on Emacs
## Copyright (C) 2023-2025 Free Software Foundation, Inc.
@ -40,22 +40,22 @@ CODESPELL_DICTIONARY="${CODESPELL_DIR}/codespell.dictionary"
emacs_run_codespell ()
{
git ls-files |\
grep -v -E -e '^(lib|m4)/.*' |\
grep -v -E -e '^admin/(charsets|codespell|unidata)/.*' |\
grep -v -E -e '^doc/lispref/spellfile$' |\
grep -v -E -e '^doc/misc/texinfo.tex$' |\
grep -v -E -e '^doc/translations/.*' |\
grep -v -E -e '^etc/(AUTHORS|HELLO|publicsuffix.txt)$' |\
grep -v -E -e '^etc/refcards/(cs|de|fr|pl|pt|sk)-.+.tex$' |\
grep -v -E -e '^etc/tutorials/TUTORIAL\..+' |\
grep -v -E -e '^leim/(MISC|SKK)-DIC/.*' |\
grep -v -E -e '^lisp/language/ethio-util.el' |\
grep -v -E -e '^lisp/ldefs-boot.el' |\
grep -v -E -e '^lisp/leim/.*' |\
grep -v -E -e '^test/lisp/erc/resources/.*' |\
grep -v -E -e '^test/lisp/net/puny-resources/IdnaTestV2.txt' |\
grep -v -E -e '^test/manual/(etags|indent)/.*' |\
grep -v -E -e '^test/src/regex-resources/.*' |\
grep --line-buffered -v -E -e "^(lib|m4)/.*|\
^admin/(charsets|codespell|unidata)/.*|\
^doc/lispref/spellfile$|\
^doc/misc/texinfo.tex$|\
^doc/translations/.*|\
^etc/(AUTHORS|HELLO|publicsuffix.txt)$|\
^etc/refcards/(cs|de|fr|pl|pt|sk)-.+.tex$|\
^etc/tutorials/TUTORIAL\..+|\
^leim/(MISC|SKK)-DIC/.*|\
^lisp/language/ethio-util.el|\
^lisp/ldefs-boot.el|\
^lisp/leim/.*|\
^test/lisp/erc/resources/.*|\
^test/lisp/net/puny-resources/IdnaTestV2.txt|\
^test/manual/(etags|indent)/.*|\
^test/src/regex-resources/.*" |\
xargs codespell \
--config "$CODESPELL_RC" \
--exclude-file "$CODESPELL_EXCLUDE" \

View file

@ -323,7 +323,8 @@ yet further information is often reachable by clicking or typing
@key{RET} on emphasized parts of the text.
@cindex function type specifier
@cindex declared type of a function
@cindex inferred type of a function
The function type, if known, is expressed with a @dfn{function type
specifier} (@pxref{Type Specifiers,,,elisp, The Emacs Lisp Reference
Manual}), it will be specified if the type was manually declared by a

View file

@ -832,7 +832,7 @@ format, which Emacs doesn't support directly.})
@item @dots{}-mac
Assume the file uses carriage return to separate lines, and do the
appropriate conversion. (This was the convention used in Classic Mac
OS.)
OS, but is now rare outside of legacy software.)
@end table
These variant coding systems are omitted from the

View file

@ -611,6 +611,9 @@ regular package listing. If you just wish to clone the source of a
package, without adding it to the package list, use
@code{package-vc-checkout}.
Note that currently, built-in packages cannot be upgraded using
@code{package-vc-install}.
@findex package-report-bug
@findex package-vc-prepare-patch
With the source checkout, you might want to reproduce a bug against

View file

@ -2726,6 +2726,7 @@ function. This allows function-level control of the safety level used
for the code emitted for the function (@pxref{Native-Compilation
Variables}).
@cindex function type declaration
@item (ftype @var{type} &optional @var{function})
Declare @var{type} to be the type of this function. This is used for
documentation by @code{describe-function}. Also it can be used by the

View file

@ -341,6 +341,9 @@ buffer. An indirect buffer always inherits the representation of its
base buffer.
@end defun
The following two functions are obsolete and will be removed in a future
version of Emacs; use @code{encode-coding-string} instead.
@defun string-as-unibyte string
If @var{string} is already a unibyte string, this function returns
@var{string} itself. Otherwise, it returns a new string with the same
@ -1096,13 +1099,13 @@ that result from encoding unsupported characters.
@cindex EOL conversion
@cindex end-of-line conversion
@cindex line end conversion
@dfn{End of line conversion} handles three different conventions
used on various systems for representing end of line in files. The
Unix convention, used on GNU and Unix systems, is to use the linefeed
character (also called newline). The DOS convention, used on
@dfn{End of line conversion} handles three different conventions used
on various systems for representing end of line in files. The Unix
convention, used on GNU and Unix systems, and macOS, is to use the
linefeed character (also called newline). The DOS convention, used on
MS-Windows and MS-DOS systems, is to use a carriage return and a
linefeed at the end of a line. The Mac convention is to use just
carriage return. (This was the convention used in Classic Mac OS.)
linefeed. The Mac convention, used in Classic Mac OS and now rare
outside of legacy software, is to use just carriage return.
@cindex base coding system
@cindex variant coding system

View file

@ -1545,6 +1545,7 @@ The @code{not} type specifier defines any type except the specified one.
The @code{member} type specifier allows to specify a type that includes
only the explicitly listed values.
@cindex declared type of a function
@item (function (@var{arg-1-type} @dots{} @var{arg-n-type}) @var{return-type})
The @code{function} type specifier is used to describe the argument
types and the return type of a function. Argument types can be interleaved

View file

@ -1660,7 +1660,8 @@ declaration. The accepted property list is augmented by a @code{:rev}
keyword, which has the same shape as the @code{REV} argument to
@code{package-vc-install}. Notably -- even when not specified --
@code{:rev} defaults to checking out the last release of the package.
You can use @code{:rev :newest} to check out the latest commit.
You can use @code{:rev :newest} to check out the latest commit. Note
that currently, you cannot upgrade built-in packages using @code{:vc}.
For example,

View file

@ -481,9 +481,13 @@ This user option controls outline visibility in the output buffer of
'describe-bindings' when 'describe-bindings-outline' is non-nil.
---
*** 'describe-function' shows the function inferred type when available.
*** 'describe-function' shows the function's inferred type when available.
For native compiled Lisp functions, 'describe-function' prints (after
the signature) the automatically inferred function type as well.
the signature) the automatically inferred function type as well. If the
function's type was explicitly declared (via the 'declare' form's
'ftype' property), 'describe-function' shows the declared type. This is
controlled by the new user option 'help-display-function-type', which is
by default t; customize to nil to disable function type display.
---
*** 'describe-function' now shows the type of the function object.

View file

@ -487,10 +487,10 @@ this to anything but t is likely to be counter-productive.")
("yanks" . "yank")
)
"Alist of common words in the wrong voice and what should be used instead.
Set `checkdoc-verb-check-experimental-flag' to nil to avoid this costly
and experimental check. Do not modify this list without setting
the value of `checkdoc-common-verbs-regexp' to nil which cause it to
be re-created.")
Set `checkdoc-verb-check-experimental-flag' to a non-nil value to enable
this experimental check. Do not modify this list without setting the
value of `checkdoc-common-verbs-regexp' to nil, which causes it to be
re-created.")
(defvar checkdoc-syntax-table
(let ((st (make-syntax-table emacs-lisp-mode-syntax-table)))

View file

@ -2497,8 +2497,9 @@ compiled."
(defun package-delete (pkg-desc &optional force nosave)
"Delete package PKG-DESC.
Argument PKG-DESC is a full description of package as vector.
Interactively, prompt the user for the package name and version.
Argument PKG-DESC is the full description of the package, for example as
obtained by `package-get-descriptor'. Interactively, prompt the user
for the package name and version.
When package is used elsewhere as dependency of another package,
refuse deleting it and return an error.

View file

@ -1,4 +1,4 @@
;;; files.el --- file input and output commands for Emacs -*- lexical-binding:t -*-
;;; files.el --- file input and output commands -*- lexical-binding:t -*-
;; Copyright (C) 1985-1987, 1992-2025 Free Software Foundation, Inc.
@ -22,9 +22,9 @@
;;; Commentary:
;; Defines most of Emacs's file- and directory-handling functions,
;; including basic file visiting, backup generation, link handling,
;; ITS-id version control, load- and write-hook handling, and the like.
;; Defines Emacs's basic file- and directory-handling functions,
;; including file visiting, backup file generation and versioning,
;; link handling, load- and write-hook handling, and the like.
;;; Code:

View file

@ -327,21 +327,26 @@ KEYS should be a string consisting of one or more key strokes,
with a single space character separating one key stroke from another.
Each key stroke is either a single character, or the name of an
event, surrounded by angle brackets <like-this>. In addition, any
key stroke may be preceded by one or more modifier keys. Finally,
a limited number of characters have a special shorthand syntax.
event, surrounded by angle brackets <like-this>. An event may be
pushing a key, clicking on a menu item, pressing a mouse button, etc.
In addition, any key stroke may be preceded by one or more modifier
keys. Finally, a limited number of characters have a special shorthand
syntax.
Here are some example of valid key sequences.
\"f\" (the key `f')
\"<f6>\" (the function key named \"F6\")
\"<mouse-1>\" (the mouse button named \"mouse-1\", commonly referred to as
the left button)
\"S o m\" (a three-key sequence of the keys `S', `o' and `m')
\"C-c o\" (a two-key sequence: the key `c' with the control modifier
followed by the key `o')
\"H-<left>\" (the function key named \"left\" with the hyper modifier)
\"H-<left>\" (the cursor control key named \"left\" with the hyper modifier)
\"M-RET\" (the \"return\" key with a meta modifier)
\"C-M-<space>\" (the \"space\" key with both the control and meta modifiers)
These are the characters that have special shorthand syntax:
These characters have special shorthand syntax:
NUL, RET, TAB, LFD, ESC, SPC, DEL.
Modifiers have to be specified in this order:

View file

@ -341,7 +341,8 @@ automatically)."
(sml-mode
. ,(lambda (_interactive project)
(list "millet-ls" (project-root project))))
((blueprint-mode blueprint-ts-mode) . ("blueprint-compiler" "lsp")))
((blueprint-mode blueprint-ts-mode) . ("blueprint-compiler" "lsp"))
((odin-mode odin-ts-mode) . ("ols")))
"How the command `eglot' guesses the server to start.
An association list of (MAJOR-MODE . CONTACT) pairs. MAJOR-MODE
identifies the buffers that are to be managed by a specific

View file

@ -106,6 +106,7 @@
((parent-is "type_spec") parent-bol go-ts-mode-indent-offset)
((parent-is "type_switch_statement") parent-bol 0)
((parent-is "var_declaration") parent-bol go-ts-mode-indent-offset)
((parent-is "var_spec_list") parent-bol go-ts-mode-indent-offset)
(no-node parent-bol 0)))
"Tree-sitter indent rules for `go-ts-mode'.")

View file

@ -632,8 +632,10 @@ at least 3 (which is the default value)."
(sentence ,(regexp-opt
(append typescript-ts-mode--sentence-nodes
'("jsx_element"
"jsx_self_closing_element"))
'symbols)))))
"jsx_self_closing_element"))))
(text ,(regexp-opt '("comment"
"template_string"))
'symbols))))
;; Font-lock.
(setq-local treesit-font-lock-settings

View file

@ -2552,12 +2552,9 @@ If the item is checked, CHOSEN is a cons whose cdr is the value."
(widget-create-child-value
widget type (cdr chosen)))
(t
(widget-create-child-value
widget type (car (cdr chosen)))
;; This somehow breaks :options and other
;; Custom features.
;; (widget-specify-selected child)
))))
(widget-specify-selected child)
(widget-create-child-value
widget type (car (cdr chosen)))))))
(t
(error "Unknown escape `%c'" escape)))))
;; Update properties.

View file

@ -1297,11 +1297,6 @@ barf_if_interaction_inhibited (void)
DEFUN ("read-from-minibuffer", Fread_from_minibuffer,
Sread_from_minibuffer, 1, 7, 0,
doc: /* Read a string from the minibuffer, prompting with string PROMPT.
While in the minibuffer, you can use \\<minibuffer-local-completion-map>\\[minibuffer-complete] and \\[minibuffer-complete-word] to complete your input.
You can also use \\<minibuffer-local-map>\\[minibuffer-complete-history] to complete using history items in the
input history HIST, and you can use \\[minibuffer-complete-defaults] to complete using
the default items in DEFAULT-VALUE.
The optional second arg INITIAL-CONTENTS is an obsolete alternative to
DEFAULT-VALUE. It normally should be nil in new code, except when
HIST is a cons. It is discussed in more detail below.
@ -1977,6 +1972,11 @@ which case that function should itself handle `completion-regexp-list'). */)
DEFUN ("completing-read", Fcompleting_read, Scompleting_read, 2, 8, 0,
doc: /* Read a string in the minibuffer, with completion.
While in the minibuffer, you can use \\<minibuffer-local-completion-map>\\[minibuffer-complete] and \\[minibuffer-complete-word] to complete your input.
You can also use \\<minibuffer-local-map>\\[minibuffer-complete-history] to complete using history items in the
input history HIST, and you can use \\[minibuffer-complete-defaults] to complete using
the default items in DEFAULT-VALUE.
PROMPT is a string to prompt with; normally it ends in a colon and a space.
COLLECTION can be a list of strings, an alist, an obarray or a hash table.
COLLECTION can also be a function to do the completion itself.