mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
Merge from origin/emacs-30
1364bbc6a5; * admin/notes/spelling: Grammar fixdc80a8f050; Add index entry "code completion" to user manual0d9b14ed05; * doc/emacs/programs.texi (Program Modes): Add info abo...f224475f57; admin/notes/spelling: Notes on abbreviation of "Emacs L...86c354dd0dFix OSX build without pdumper2d12754ee2; Add indexing for Eglot in user manuala30b9b640b; Change some instances of cl to cl-lib in docsb681d62436; Improve introduction to use-package manualf1acefd86f; Add cross-references to push and pop docstrings
This commit is contained in:
commit
764f23ef43
8 changed files with 46 additions and 17 deletions
|
|
@ -635,7 +635,9 @@ ifndef NO_BIN_LINK
|
||||||
cd "$(DESTDIR)${bindir}" && $(LN_S_FILEONLY) "$(EMACSFULL)" "$(EMACS)"
|
cd "$(DESTDIR)${bindir}" && $(LN_S_FILEONLY) "$(EMACSFULL)" "$(EMACS)"
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
|
ifeq (${DUMPING},pdumper)
|
||||||
${INSTALL_DATA} src/emacs.pdmp "$(DESTDIR)${libexecdir}/Emacs.pdmp"
|
${INSTALL_DATA} src/emacs.pdmp "$(DESTDIR)${libexecdir}/Emacs.pdmp"
|
||||||
|
endif
|
||||||
subdir=${ns_appresdir}/site-lisp && ${write_subdir}
|
subdir=${ns_appresdir}/site-lisp && ${write_subdir}
|
||||||
rm -rf ${ns_appresdir}/share
|
rm -rf ${ns_appresdir}/share
|
||||||
endif
|
endif
|
||||||
|
|
|
||||||
|
|
@ -15,3 +15,8 @@ Re "behavior" vs "behaviour", etc.
|
||||||
consistency. Leave obsolete aliases, as always.
|
consistency. Leave obsolete aliases, as always.
|
||||||
|
|
||||||
- https://lists.gnu.org/r/emacs-devel/2005-06/msg00489.html
|
- https://lists.gnu.org/r/emacs-devel/2005-06/msg00489.html
|
||||||
|
|
||||||
|
- 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".
|
||||||
|
|
|
||||||
|
|
@ -2248,6 +2248,7 @@ definitions of symbols. (One disadvantage of this kind of backend is
|
||||||
that it only knows about subunits that were loaded into the
|
that it only knows about subunits that were loaded into the
|
||||||
interpreter.)
|
interpreter.)
|
||||||
|
|
||||||
|
@cindex eglot, for finding definitions of identifiers
|
||||||
@item
|
@item
|
||||||
If Eglot is activated for the current buffer's project
|
If Eglot is activated for the current buffer's project
|
||||||
(@pxref{Projects}) and the current buffer's major mode, Eglot consults
|
(@pxref{Projects}) and the current buffer's major mode, Eglot consults
|
||||||
|
|
|
||||||
|
|
@ -115,6 +115,16 @@ utilize the incremental parsing capabilities provided by
|
||||||
@samp{tree-sitter}. These modes have @samp{-ts-} in their names; for
|
@samp{tree-sitter}. These modes have @samp{-ts-} in their names; for
|
||||||
example @code{c-ts-mode}, @code{python-ts-mode}, etc.
|
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)}
|
@kindex DEL @r{(programming modes)}
|
||||||
@findex backward-delete-char-untabify
|
@findex backward-delete-char-untabify
|
||||||
In most programming languages, indentation should vary from line to
|
In most programming languages, indentation should vary from line to
|
||||||
|
|
@ -404,6 +414,7 @@ define your own comparison function by writing Lisp code.
|
||||||
the variable @code{completion-category-overrides} and setting its
|
the variable @code{completion-category-overrides} and setting its
|
||||||
@code{display-sort-function} for the category @code{imenu}.
|
@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
|
If Eglot is activated for the current buffer's project
|
||||||
(@pxref{Projects}) and the current buffer's major mode, Eglot provides
|
(@pxref{Projects}) and the current buffer's major mode, Eglot provides
|
||||||
its own facility for producing the buffer's index based on the
|
its own facility for producing the buffer's index based on the
|
||||||
|
|
@ -1501,6 +1512,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
|
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.
|
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
|
Various major modes configure the Global ElDoc mode to use their
|
||||||
documentation functions. Examples include Emacs Lisp mode, Python
|
documentation functions. Examples include Emacs Lisp mode, Python
|
||||||
mode, and Cfengine mode. In addition, Emacs features that provide
|
mode, and Cfengine mode. In addition, Emacs features that provide
|
||||||
|
|
@ -1686,6 +1698,7 @@ but you can also complete symbol names in ordinary Emacs buffers.
|
||||||
@findex completion-at-point@r{, in programming language modes}
|
@findex completion-at-point@r{, in programming language modes}
|
||||||
@cindex Lisp symbol completion
|
@cindex Lisp symbol completion
|
||||||
@cindex completion (Lisp symbols)
|
@cindex completion (Lisp symbols)
|
||||||
|
@cindex code completion
|
||||||
In most programming language modes, @kbd{C-M-i} (or
|
In most programming language modes, @kbd{C-M-i} (or
|
||||||
@kbd{M-@key{TAB}}@footnote{
|
@kbd{M-@key{TAB}}@footnote{
|
||||||
On graphical displays, the @kbd{M-@key{TAB}} key is usually reserved
|
On graphical displays, the @kbd{M-@key{TAB}} key is usually reserved
|
||||||
|
|
@ -1697,6 +1710,7 @@ uses the available support facilities to come up with the completion
|
||||||
candidates:
|
candidates:
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
|
@cindex eglot, using to complete symbol at point
|
||||||
@item
|
@item
|
||||||
If Eglot is activated for the current buffer's project
|
If Eglot is activated for the current buffer's project
|
||||||
(@pxref{Projects}) and the current buffer's major mode, the command
|
(@pxref{Projects}) and the current buffer's major mode, the command
|
||||||
|
|
|
||||||
|
|
@ -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
|
they write have grown more ambitious, it has become clear that Emacs
|
||||||
Lisp could benefit from many of the conveniences of Common Lisp.
|
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
|
control structures to Emacs Lisp. While not a 100% complete
|
||||||
implementation of Common Lisp, it adds enough functionality
|
implementation of Common Lisp, it adds enough functionality
|
||||||
to make Emacs Lisp programming significantly more convenient.
|
to make Emacs Lisp programming significantly more convenient.
|
||||||
|
|
|
||||||
|
|
@ -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.
|
instead pre-builds a method that gets the slot's value.
|
||||||
|
|
||||||
@item :type
|
@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}.
|
package. @xref{Type Predicates,,,cl,Common Lisp Extensions}.
|
||||||
It therefore has the same issues as that package. Extensions include
|
It therefore has the same issues as that package. Extensions include
|
||||||
the ability to provide object names.
|
the ability to provide object names.
|
||||||
|
|
@ -1702,7 +1702,7 @@ Some important compatibility features that would be good to add are:
|
||||||
@item
|
@item
|
||||||
Support for metaclasses.
|
Support for metaclasses.
|
||||||
@item
|
@item
|
||||||
Improve integration with the @file{cl} package.
|
Improve integration with the @file{cl-lib} package.
|
||||||
@end enumerate
|
@end enumerate
|
||||||
|
|
||||||
There are also improvements to be made to allow @eieio{} to operate
|
There are also improvements to be made to allow @eieio{} to operate
|
||||||
|
|
|
||||||
|
|
@ -49,19 +49,18 @@ modify this GNU manual.''
|
||||||
@node Top
|
@node Top
|
||||||
@top use-package User Manual
|
@top use-package User Manual
|
||||||
|
|
||||||
The @code{use-package} macro allows you to set up package
|
The @code{use-package} macro allows you to set up package customization
|
||||||
customization in your init file in a declarative way. It takes care
|
in your init file in a declarative way. It reduces the need for
|
||||||
of many things for you that would otherwise require a lot of
|
repetitive boilerplate code by handling many common customization tasks
|
||||||
repetitive boilerplate code. It can help with common customization,
|
for you. These include binding keys, setting hooks, customizing user
|
||||||
such as binding keys, setting up hooks, customizing user options and
|
options and faces, setting up autoloading, and more. It also helps you
|
||||||
faces, autoloading, and more. It also helps you keep Emacs startup
|
keep Emacs startup fast, even when you use many (even hundreds) of
|
||||||
fast, even when you use many (even hundreds) of packages.
|
packages.
|
||||||
|
|
||||||
Note that use-package is not a package manager. Although use-package
|
Note that use-package is not a package manager. While it provides
|
||||||
does have the useful capability to interface with the Emacs package
|
convenient integration with Emacs's built-in package manager, its
|
||||||
manager, its primary purpose is help with the configuration and
|
primary purpose is to help with configuring and loading packages, not
|
||||||
loading of packages, not with managing their download, upgrades, and
|
with downloading, upgrading, or installing them.
|
||||||
installation.
|
|
||||||
|
|
||||||
@insertcopying
|
@insertcopying
|
||||||
|
|
||||||
|
|
|
||||||
12
lisp/subr.el
12
lisp/subr.el
|
|
@ -251,8 +251,12 @@ STATES should be an object returned by `buffer-local-set-state'."
|
||||||
|
|
||||||
(defmacro push (newelt place)
|
(defmacro push (newelt place)
|
||||||
"Add NEWELT to the list stored in the generalized variable PLACE.
|
"Add NEWELT to the list stored in the generalized variable PLACE.
|
||||||
|
|
||||||
This is morally equivalent to (setf PLACE (cons NEWELT 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)))
|
(declare (debug (form gv-place)))
|
||||||
(if (symbolp place)
|
(if (symbolp place)
|
||||||
;; Important special case, to avoid triggering GV too early in
|
;; Important special case, to avoid triggering GV too early in
|
||||||
|
|
@ -266,9 +270,13 @@ except that PLACE is evaluated only once (after NEWELT)."
|
||||||
|
|
||||||
(defmacro pop (place)
|
(defmacro pop (place)
|
||||||
"Return the first element of PLACE's value, and remove it from the list.
|
"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.
|
PLACE must be a generalized variable whose value is a list.
|
||||||
If the value is nil, `pop' returns nil but does not actually
|
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)))
|
(declare (debug (gv-place)))
|
||||||
;; We use `car-safe' here instead of `car' because the behavior is the same
|
;; 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),
|
;; (if it's not a cons cell, the `cdr' would have signaled an error already),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue