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...86c354dd0d
Fix 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)"
|
||||
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
|
||||
|
|
|
@ -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 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
|
||||
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
|
||||
|
|
|
@ -115,6 +115,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
|
||||
|
@ -404,6 +414,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 +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
|
||||
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
|
||||
|
@ -1686,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
|
||||
|
@ -1697,6 +1710,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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
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)
|
||||
"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
|
||||
|
@ -266,9 +270,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),
|
||||
|
|
Loading…
Add table
Reference in a new issue