diff options
-rw-r--r-- | INSTALL | 6 | ||||
-rw-r--r-- | admin/MAINTAINERS | 5 | ||||
-rwxr-xr-x | admin/run-codespell | 34 | ||||
-rw-r--r-- | doc/emacs/help.texi | 3 | ||||
-rw-r--r-- | doc/emacs/mule.texi | 2 | ||||
-rw-r--r-- | doc/emacs/package.texi | 3 | ||||
-rw-r--r-- | doc/lispref/functions.texi | 1 | ||||
-rw-r--r-- | doc/lispref/nonascii.texi | 15 | ||||
-rw-r--r-- | doc/lispref/objects.texi | 1 | ||||
-rw-r--r-- | doc/misc/use-package.texi | 3 | ||||
-rw-r--r-- | etc/NEWS.30 | 8 | ||||
-rw-r--r-- | lisp/emacs-lisp/checkdoc.el | 8 | ||||
-rw-r--r-- | lisp/emacs-lisp/package.el | 5 | ||||
-rw-r--r-- | lisp/files.el | 8 | ||||
-rw-r--r-- | lisp/keymap.el | 15 | ||||
-rw-r--r-- | lisp/progmodes/eglot.el | 3 | ||||
-rw-r--r-- | lisp/progmodes/go-ts-mode.el | 1 | ||||
-rw-r--r-- | lisp/progmodes/typescript-ts-mode.el | 6 | ||||
-rw-r--r-- | lisp/wid-edit.el | 9 | ||||
-rw-r--r-- | src/minibuf.c | 10 |
20 files changed, 84 insertions, 62 deletions
@@ -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. |