summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2025-01-11 07:44:23 -0500
committerEli Zaretskii <eliz@gnu.org>2025-01-11 07:44:23 -0500
commit3d960c16c60da14a07da538cc2468f46425df634 (patch)
tree05eecbbec1a8b784e877790abe4716f0adb602ad
parent5060bf6ed64a6e96b4c660e6ad5204a23133b71d (diff)
parentd66b8d4becb6804d3bd912a000dc64ccfdbe6810 (diff)
downloademacs-3d960c16c60da14a07da538cc2468f46425df634.tar.gz
emacs-3d960c16c60da14a07da538cc2468f46425df634.tar.bz2
emacs-3d960c16c60da14a07da538cc2468f46425df634.zip
Merge from origin/emacs-30
d66b8d4becb Fix checkbox's child creation 26c5fadf474 Document that 'package-vc' doesn't support built-in packages ee61b9a050b ; Fix documentation of completion commands ce43d13593a ; Simplify admin/run-codespell fa1470d0699 ; Remove duplicated word in files.el Commentary dabaea97465 Improve checkdoc-common-verbs-wrong-voice docstring 6de2ee5663d Document string-as-{unibyte,multibyte} as obsolete in manual 7f76f872ebf Fix go-ts-mode var spec indentation (Bug#75362) 01464fc882d Add "text" as a thing in tsx-ts-mode 59c57337923 Improve doc string of 'package-delete' 313a191d047 ; * admin/MAINTAINERS: Remove Kelvin White. 002960ceabf Clarify that 'mac' line ending convention is not used on ... 4210e065648 Add language server for Odin ee1034422b0 ; Improve documentation of function-type display 1c49edc4080 Modernize "Commentary" section of files.el 505c1123e18 * INSTALL: Add advice how to invoke 'make install'. (Bug... 82e16cae9cc Improve the documentation of 'key-valid-p' # Conflicts: # etc/NEWS # lisp/progmodes/typescript-ts-mode.el
-rw-r--r--INSTALL6
-rw-r--r--admin/MAINTAINERS5
-rwxr-xr-xadmin/run-codespell34
-rw-r--r--doc/emacs/help.texi3
-rw-r--r--doc/emacs/mule.texi2
-rw-r--r--doc/emacs/package.texi3
-rw-r--r--doc/lispref/functions.texi1
-rw-r--r--doc/lispref/nonascii.texi15
-rw-r--r--doc/lispref/objects.texi1
-rw-r--r--doc/misc/use-package.texi3
-rw-r--r--etc/NEWS.308
-rw-r--r--lisp/emacs-lisp/checkdoc.el8
-rw-r--r--lisp/emacs-lisp/package.el5
-rw-r--r--lisp/files.el8
-rw-r--r--lisp/keymap.el15
-rw-r--r--lisp/progmodes/eglot.el3
-rw-r--r--lisp/progmodes/go-ts-mode.el1
-rw-r--r--lisp/progmodes/typescript-ts-mode.el6
-rw-r--r--lisp/wid-edit.el9
-rw-r--r--src/minibuf.c10
20 files changed, 84 insertions, 62 deletions
diff --git a/INSTALL b/INSTALL
index 8182ac3f519..14dea1d4a46 100644
--- a/INSTALL
+++ b/INSTALL
@@ -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.
diff --git a/admin/MAINTAINERS b/admin/MAINTAINERS
index 413a587d398..ca20562d8a5 100644
--- a/admin/MAINTAINERS
+++ b/admin/MAINTAINERS
@@ -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/*
diff --git a/admin/run-codespell b/admin/run-codespell
index be90313da1e..f5728f831f0 100755
--- a/admin/run-codespell
+++ b/admin/run-codespell
@@ -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" \
diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi
index 2e0eb0d6459..5c2eabb02d6 100644
--- a/doc/emacs/help.texi
+++ b/doc/emacs/help.texi
@@ -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
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi
index 580f8da27d7..4db0febbef8 100644
--- a/doc/emacs/mule.texi
+++ b/doc/emacs/mule.texi
@@ -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
diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi
index e6d0a66d571..2e3191440cb 100644
--- a/doc/emacs/package.texi
+++ b/doc/emacs/package.texi
@@ -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
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index c659ecaf3f8..772ffd8a136 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -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
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index 448d778f4cb..345460e2cda 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -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
diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi
index 3bd5a4528b0..630765213a2 100644
--- a/doc/lispref/objects.texi
+++ b/doc/lispref/objects.texi
@@ -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
diff --git a/doc/misc/use-package.texi b/doc/misc/use-package.texi
index 6f51780057f..bcb068e6654 100644
--- a/doc/misc/use-package.texi
+++ b/doc/misc/use-package.texi
@@ -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,
diff --git a/etc/NEWS.30 b/etc/NEWS.30
index 6b2831e3809..31a0c4938ad 100644
--- a/etc/NEWS.30
+++ b/etc/NEWS.30
@@ -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.
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index 31d98b5e376..dd3da9ae8c0 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -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)))
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 3abce17a3e8..be8dc3f8377 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -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.
diff --git a/lisp/files.el b/lisp/files.el
index b0f6440fdce..e9f69fcd33c 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -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:
diff --git a/lisp/keymap.el b/lisp/keymap.el
index 3aed1d4b4ca..d1ff52ea397 100644
--- a/lisp/keymap.el
+++ b/lisp/keymap.el
@@ -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:
diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index 858946d6cc4..3c9644568ef 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -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
diff --git a/lisp/progmodes/go-ts-mode.el b/lisp/progmodes/go-ts-mode.el
index 747bf9a9da8..ccfdcb909e5 100644
--- a/lisp/progmodes/go-ts-mode.el
+++ b/lisp/progmodes/go-ts-mode.el
@@ -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'.")
diff --git a/lisp/progmodes/typescript-ts-mode.el b/lisp/progmodes/typescript-ts-mode.el
index 4edfb22909b..3c1b27696bc 100644
--- a/lisp/progmodes/typescript-ts-mode.el
+++ b/lisp/progmodes/typescript-ts-mode.el
@@ -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
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index 26833ce591c..ca4e1e184cb 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -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.
diff --git a/src/minibuf.c b/src/minibuf.c
index 6ac3216a62f..bbbc4399ab0 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -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.