From f1acefd86f8d88d26455fec43961d3060451b6f0 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Wed, 19 Mar 2025 21:27:38 +0100 Subject: [PATCH 1/9] ; Add cross-references to push and pop docstrings * lisp/subr.el (push, pop): Add cross-references to Info manual. --- lisp/subr.el | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lisp/subr.el b/lisp/subr.el index 87a06575de7..99981848db4 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -245,8 +245,12 @@ STATES should be an object returned by `buffer-local-set-state'." (defmacro push (newelt place) "Add NEWELT to the list stored in the generalized variable PLACE. + This is morally equivalent to (setf PLACE (cons NEWELT PLACE)), -except that PLACE is evaluated only once (after NEWELT)." +except that PLACE is evaluated only once (after NEWELT). + +For more information about generalized variables, see Info node +`(elisp) Generalized Variables'." (declare (debug (form gv-place))) (if (symbolp place) ;; Important special case, to avoid triggering GV too early in @@ -260,9 +264,13 @@ except that PLACE is evaluated only once (after NEWELT)." (defmacro pop (place) "Return the first element of PLACE's value, and remove it from the list. + PLACE must be a generalized variable whose value is a list. If the value is nil, `pop' returns nil but does not actually -change the list." +change the list. + +For more information about generalized variables, see Info node +`(elisp) Generalized Variables'." (declare (debug (gv-place))) ;; We use `car-safe' here instead of `car' because the behavior is the same ;; (if it's not a cons cell, the `cdr' would have signaled an error already), From b681d62436f577ddfbfbac50885d48cde320632e Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Wed, 19 Mar 2025 21:27:29 +0100 Subject: [PATCH 2/9] ; Improve introduction to use-package manual * doc/misc/use-package.texi (Top): Improve introduction. --- doc/misc/use-package.texi | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/doc/misc/use-package.texi b/doc/misc/use-package.texi index bcb068e6654..c14e7b77d23 100644 --- a/doc/misc/use-package.texi +++ b/doc/misc/use-package.texi @@ -49,19 +49,18 @@ modify this GNU manual.'' @node Top @top use-package User Manual -The @code{use-package} macro allows you to set up package -customization in your init file in a declarative way. It takes care -of many things for you that would otherwise require a lot of -repetitive boilerplate code. It can help with common customization, -such as binding keys, setting up hooks, customizing user options and -faces, autoloading, and more. It also helps you keep Emacs startup -fast, even when you use many (even hundreds) of packages. +The @code{use-package} macro allows you to set up package customization +in your init file in a declarative way. It reduces the need for +repetitive boilerplate code by handling many common customization tasks +for you. These include binding keys, setting hooks, customizing user +options and faces, setting up autoloading, and more. It also helps you +keep Emacs startup fast, even when you use many (even hundreds) of +packages. -Note that use-package is not a package manager. Although use-package -does have the useful capability to interface with the Emacs package -manager, its primary purpose is help with the configuration and -loading of packages, not with managing their download, upgrades, and -installation. +Note that use-package is not a package manager. While it provides +convenient integration with Emacs's built-in package manager, its +primary purpose is to help with configuring and loading packages, not +with downloading, upgrading, or installing them. @insertcopying From a30b9b640b46c23f0a6db7b8fbe329d93e035db6 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Thu, 20 Mar 2025 02:05:55 +0100 Subject: [PATCH 3/9] ; Change some instances of cl to cl-lib in docs * doc/misc/cl.texi (Overview): * doc/misc/eieio.texi (CLOS compatibility, Wish List): Change 'cl' to 'cl-lib' where appropriate. --- doc/misc/cl.texi | 2 +- doc/misc/eieio.texi | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 91ebf2b3862..75988cf825f 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -97,7 +97,7 @@ As Emacs Lisp programmers have grown in number, and the applications they write have grown more ambitious, it has become clear that Emacs Lisp could benefit from many of the conveniences of Common Lisp. -The @dfn{CL} package adds a number of Common Lisp functions and +The @dfn{CL-Lib} package adds a number of Common Lisp functions and control structures to Emacs Lisp. While not a 100% complete implementation of Common Lisp, it adds enough functionality to make Emacs Lisp programming significantly more convenient. diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index 9182af41333..39225535089 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi @@ -1653,7 +1653,7 @@ This should create an unqualified method to access a slot, but instead pre-builds a method that gets the slot's value. @item :type -Specifier uses the @code{typep} function from the @file{cl} +Specifier uses the @code{cl-typep} function from the @file{cl-lib} package. @xref{Type Predicates,,,cl,Common Lisp Extensions}. It therefore has the same issues as that package. Extensions include the ability to provide object names. @@ -1702,7 +1702,7 @@ Some important compatibility features that would be good to add are: @item Support for metaclasses. @item -Improve integration with the @file{cl} package. +Improve integration with the @file{cl-lib} package. @end enumerate There are also improvements to be made to allow @eieio{} to operate From 2d12754ee20deb789bd5444f604acda6bb05bbf9 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 20 Mar 2025 10:41:26 +0200 Subject: [PATCH 4/9] ; Add indexing for Eglot in user manual * doc/emacs/programs.texi (Imenu, Programming Language Doc) (Symbol Completion): * doc/emacs/maintaining.texi (Xref): Index Eglot-related functionalities. --- doc/emacs/maintaining.texi | 1 + doc/emacs/programs.texi | 3 +++ 2 files changed, 4 insertions(+) diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index b433039eec2..d5e42db00e6 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi @@ -2239,6 +2239,7 @@ definitions of symbols. (One disadvantage of this kind of backend is that it only knows about subunits that were loaded into the interpreter.) +@cindex eglot, for finding definitions of identifiers @item If Eglot is activated for the current buffer's project (@pxref{Projects}) and the current buffer's major mode, Eglot consults diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi index 6bfb9b7e279..85d3bb01012 100644 --- a/doc/emacs/programs.texi +++ b/doc/emacs/programs.texi @@ -406,6 +406,7 @@ define your own comparison function by writing Lisp code. the variable @code{completion-category-overrides} and setting its @code{display-sort-function} for the category @code{imenu}. +@cindex eglot, for producing Imenu index If Eglot is activated for the current buffer's project (@pxref{Projects}) and the current buffer's major mode, Eglot provides its own facility for producing the buffer's index based on the @@ -1501,6 +1502,7 @@ Global ElDoc mode, which is turned on by default, and turns on the ElDoc mode in buffers whose major mode sets the variables described below. Use @w{@kbd{M-x global-eldoc-mode}} to turn it off globally. +@cindex eglot, using with ElDoc Various major modes configure the Global ElDoc mode to use their documentation functions. Examples include Emacs Lisp mode, Python mode, and Cfengine mode. In addition, Emacs features that provide @@ -1697,6 +1699,7 @@ uses the available support facilities to come up with the completion candidates: @itemize @bullet +@cindex eglot, using to complete symbol at point @item If Eglot is activated for the current buffer's project (@pxref{Projects}) and the current buffer's major mode, the command From 86c354dd0d891144bf5a6821949de7be3df0ffa2 Mon Sep 17 00:00:00 2001 From: Jindrich Makovicka Date: Wed, 19 Mar 2025 10:03:09 +0100 Subject: [PATCH 5/9] Fix OSX build without pdumper * Makefile.in (install-arch-dep) [ns_self_contained]: Add missing DUMPING = pdumper check. Copyright-paperwork-exempt: yes --- Makefile.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile.in b/Makefile.in index a89836dca2c..ec6239571a8 100644 --- a/Makefile.in +++ b/Makefile.in @@ -643,7 +643,9 @@ ifndef NO_BIN_LINK cd "$(DESTDIR)${bindir}" && $(LN_S_FILEONLY) "$(EMACSFULL)" "$(EMACS)" endif else +ifeq (${DUMPING},pdumper) ${INSTALL_DATA} src/emacs.pdmp "$(DESTDIR)${libexecdir}/Emacs.pdmp" +endif subdir=${ns_appresdir}/site-lisp && ${write_subdir} rm -rf ${ns_appresdir}/share endif From f224475f5784fe40521f066214913212c79dc429 Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Fri, 14 Mar 2025 15:54:13 +0800 Subject: [PATCH 6/9] ; admin/notes/spelling: Notes on abbreviation of "Emacs Lisp" --- admin/notes/spelling | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/admin/notes/spelling b/admin/notes/spelling index e0cf3998ace..a6441c181f6 100644 --- a/admin/notes/spelling +++ b/admin/notes/spelling @@ -15,3 +15,8 @@ Re "behavior" vs "behaviour", etc. consistency. Leave obsolete aliases, as always. - https://lists.gnu.org/r/emacs-devel/2005-06/msg00489.html + +- In comments, docstrings and other documentation that forms parts of + Emacs itself, prefer not to abbreviate "Emacs Lisp". + Say just "Lisp" whenever the context allows. + If you must abbreviate "Emacs Lisp", capitalize it thus: "Elisp". From 0d9b14ed05701104d251495cf80fe47627a3b0ee Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 22 Mar 2025 09:04:48 +0200 Subject: [PATCH 7/9] ; * doc/emacs/programs.texi (Program Modes): Add info about Eglot. --- doc/emacs/programs.texi | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi index 85d3bb01012..716bffc0ec6 100644 --- a/doc/emacs/programs.texi +++ b/doc/emacs/programs.texi @@ -116,6 +116,16 @@ utilize the incremental parsing capabilities provided by @samp{tree-sitter}. These modes have @samp{-ts-} in their names; for example @code{c-ts-mode}, @code{python-ts-mode}, etc. +@cindex LSP +@cindex language server +@cindex Eglot + Major modes for programming languages can use services of +@dfn{language servers} via the facilities provided by the Eglot package. +Eglot implements LSP, the @dfn{language server protocol}, which allows +Emacs to receive language-specific information and services that enrich +and extend source code editing capabilities. @xref{Eglot Features,,, +eglot, Eglot: The Emacs LSP Client}. + @kindex DEL @r{(programming modes)} @findex backward-delete-char-untabify In most programming languages, indentation should vary from line to From dc80a8f0509e37cc92f4f2f3a18c6732b163ffd4 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Sat, 22 Mar 2025 09:05:08 +0100 Subject: [PATCH 8/9] ; Add index entry "code completion" to user manual * doc/emacs/programs.texi (Symbol Completion): Improve indexing by adding "code completion". This is the name that this feature goes by elsewhere, so users are likely to look for it. --- doc/emacs/programs.texi | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi index 716bffc0ec6..e155092676b 100644 --- a/doc/emacs/programs.texi +++ b/doc/emacs/programs.texi @@ -1698,6 +1698,7 @@ but you can also complete symbol names in ordinary Emacs buffers. @findex completion-at-point@r{, in programming language modes} @cindex Lisp symbol completion @cindex completion (Lisp symbols) +@cindex code completion In most programming language modes, @kbd{C-M-i} (or @kbd{M-@key{TAB}}@footnote{ On graphical displays, the @kbd{M-@key{TAB}} key is usually reserved From 1364bbc6a5cb8fd7816674c685bba8db7de8ada7 Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Sat, 22 Mar 2025 21:07:28 +0800 Subject: [PATCH 9/9] ; * admin/notes/spelling: Grammar fix --- admin/notes/spelling | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/notes/spelling b/admin/notes/spelling index a6441c181f6..37a0ada9923 100644 --- a/admin/notes/spelling +++ b/admin/notes/spelling @@ -16,7 +16,7 @@ Re "behavior" vs "behaviour", etc. - https://lists.gnu.org/r/emacs-devel/2005-06/msg00489.html -- In comments, docstrings and other documentation that forms parts of +- In comments, docstrings and other documentation that forms part of Emacs itself, prefer not to abbreviate "Emacs Lisp". Say just "Lisp" whenever the context allows. If you must abbreviate "Emacs Lisp", capitalize it thus: "Elisp".