emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 3d960c16c60: Merge from origin/emacs-30


From: Eli Zaretskii
Subject: master 3d960c16c60: Merge from origin/emacs-30
Date: Sat, 11 Jan 2025 07:46:47 -0500 (EST)

branch: master
commit 3d960c16c60da14a07da538cc2468f46425df634
Merge: 5060bf6ed64 d66b8d4becb
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    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
---
 INSTALL                              |  6 ++++++
 admin/MAINTAINERS                    |  5 -----
 admin/run-codespell                  | 34 +++++++++++++++++-----------------
 doc/emacs/help.texi                  |  3 ++-
 doc/emacs/mule.texi                  |  2 +-
 doc/emacs/package.texi               |  3 +++
 doc/lispref/functions.texi           |  1 +
 doc/lispref/nonascii.texi            | 15 +++++++++------
 doc/lispref/objects.texi             |  1 +
 doc/misc/use-package.texi            |  3 ++-
 etc/NEWS.30                          |  8 ++++++--
 lisp/emacs-lisp/checkdoc.el          |  8 ++++----
 lisp/emacs-lisp/package.el           |  5 +++--
 lisp/files.el                        |  8 ++++----
 lisp/keymap.el                       | 15 ++++++++++-----
 lisp/progmodes/eglot.el              |  3 ++-
 lisp/progmodes/go-ts-mode.el         |  1 +
 lisp/progmodes/typescript-ts-mode.el |  6 ++++--
 lisp/wid-edit.el                     |  9 +++------
 src/minibuf.c                        | 10 +++++-----
 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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]