1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-12 22:40:46 -08:00
Commit graph

183 commits

Author SHA1 Message Date
Stefan Monnier
52d5771e0a Add OClosures, a cross between functions and structs
We here just add the new type.  It is not fully self-contained.
It requires cooperation from `cconv.el` on the one hand, and it
hijacks the docstring info to hold the type of OClosure objects.
This does imply that OClosures can't have docstrings, tho this
limitation will be lifted in subsequent patches.

* lisp/emacs-lisp/oclosure.el: New file.
* test/lisp/emacs-lisp/oclosure-tests.el: New file.
* doc/lispref/functions.texi (OClosures): New section.

* src/eval.c (Ffunction): Accept symbols instead of strings for docstrings.
* src/doc.c (store_function_docstring): Avoid overwriting an OClosure type.
* lisp/emacs-lisp/cconv.el (cconv--convert-function): Tweak ordering of
captured variables.
(cconv-convert): Add case for `oclosure--fix-type`.
2022-03-28 10:53:14 -04:00
Lars Ingebrigtsen
6fbf37a575 Add some indexing for "compiler macro"
* doc/lispref/functions.texi (Inline Functions): Add a link to
where compiler macros are defined.
(Declare Form): Add a concept index.
2022-02-02 19:55:19 +01:00
Robert Pluim
9cc1344c9f Improve function-alias-p documentation
* doc/lispref/functions.texi (Defining Functions): Improve the text.
2022-01-14 08:25:41 +01:00
Michael Albinus
2dc4b1008d * doc/lispref/functions.texi (Defining Functions): Fix thinko. 2022-01-13 14:09:44 +01:00
Lars Ingebrigtsen
c8a2af3037 Add new function function-alias-p
* doc/lispref/functions.texi (Defining Functions): Document it.
* lisp/subr.el (function-alias-p): New function (bug#53178).
2022-01-13 09:49:19 +01:00
Eli Zaretskii
dcd76bd48d Merge from origin/emacs-28
836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year.
86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year
ebe8772f65 ; Minor fixes related to copyright years
23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye...
8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t.
19dcb237b5 ; Add 2022 to copyright years.

# Conflicts:
#	etc/NEWS
#	etc/refcards/ru-refcard.tex
#	lib/cdefs.h
#	lisp/erc/erc-dcc.el
#	lisp/erc/erc-imenu.el
#	lisp/erc/erc-replace.el
#	lisp/image-dired.el
#	lisp/progmodes/xref.el
#	m4/alloca.m4
#	m4/byteswap.m4
#	m4/errno_h.m4
#	m4/getopt.m4
#	m4/gnulib-common.m4
#	m4/inttypes.m4
#	m4/stddef_h.m4
#	m4/stdint.m4
#	m4/sys_socket_h.m4
2022-01-01 07:03:03 -05:00
Eli Zaretskii
19dcb237b5 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
Stefan Kangas
5640b055d6 Merge from origin/emacs-28
9bd3f78645 Make `M-x run-python' select the window again
62139aeb42 * lisp/tab-bar.el (tab-bar-switch-to-last-tab): Add 'abs' ...
ea8422204f * make-dist (manifest): Filter out msdos/autogen/* files.
b5354e989d Rewrite the "Quitting Windows" section of Emacs Lisp Refer...
64ea1a178c Fix eshell for systems that do not have subprocesses
2021-12-13 06:30:58 +01:00
Richard Stallman
b5354e989d Rewrite the "Quitting Windows" section of Emacs Lisp Reference
* doc/lispref/windows.texi (Quitting Windows): Rewrite for
clarity.  (Bug#52328)
2021-12-12 15:04:43 +02:00
Stefan Kangas
acf408934d Merge from origin/emacs-28
8d81ab374d time-stamp: %F is "file name" not "pathname" + other doc
beaa7e14f3 ; Fix typos in CONTRIBUTE, ELisp manual, ediff
747a1ae4ac * doc/misc/eww.texi (Advanced): Fix missed variable name e...
52fe2340b8 * doc/emacs/windows.texi (Window Convenience): Use @code f...
7d3a654e2a * doc/emacs/maintaining.texi (Basic VC Editing): Mention D...
aeb19af4b5 ; * doc/emacs/building.texi (Lisp Libraries): Fix a typo. ...

# Conflicts:
#	etc/NEWS
2021-11-10 12:12:30 +01:00
Tom Levy
beaa7e14f3 ; Fix typos in CONTRIBUTE, ELisp manual, ediff
* CONTRIBUTE: Remove stray '. after git command.
* doc/lispref/functions.texi (Function Cells): Fix typo.
* lisp/vc/ediff.el (ediff-regions-wordwise): Fix typo in prompts
("Region's A buffer" => "Region A's buffer") (bug#51718).

Copyright-paperwork-exempt: yes
2021-11-10 01:17:42 +01:00
Glenn Morris
3378549572 Merge from origin/emacs-28
a2c17e115e (origin/emacs-28) Merge branch 'emacs-28' of git.savannah....
fde56eeb76 Revert "Fix a typo in emacs-lisp-intro.texi"
4779d3ba19 * doc/lispref/functions.texi (Mapping Functions): Use #' w...
85ea3f7f47 Fix issue with interpreting ANSI codes in eshell
50f9436146 image-dired: Doc fix to better explain thumbnail generation
bb475e10b9 Clarify two image-dired docstrings
f5b4bb4a6f Fix flymake example backend conditions in the manual
0771d8939a * etc/PROBLEMS: Mention problems with regexp matcher.  (Bu...
ee579033b9 * test/lisp/repeat-tests.el: New file.
7385a7667f * lisp/tab-bar.el (tab-bar-move-repeat-map): Fix alias bin...
56caf1c9b8 Use restrictive umask when creating image-dired data
3b5de7f991 ; lisp/transient.el: Revert some misguided stylistic fixes.
2021-10-25 09:34:37 -07:00
Robert Pluim
4779d3ba19 * doc/lispref/functions.texi (Mapping Functions): Use #' when mapping. 2021-10-25 15:46:49 +02:00
Glenn Morris
b931e11a03 Merge from origin/emacs-28
c7f53824a8 (origin/emacs-28) Update publicsuffix.txt from upstream
9a50f760e9 ; * doc/lispref/modes.texi (Hooks): Clarify wording.  (Bug...
e154fd9119 Refer to the info node on keymaps in map-keymap docstring
4fd5c8df67 Clarify abnormal hook documentation
6fa5206770 Update to Org 9.5-59-g52e6f1
39413a45bf ; * doc/lispref/functions.texi (Calling Functions): Fix la...
43914ab01f Improve documentation of cl-reduce
ef37a86cac Improve documentation of apply-partially
1e8be48738 Fix typos
8c5fbd712b Revert commit 225ca617b7, and apply another fix
cdbd03345d Fix documentation of posn-at-x-y
598732c899 ; * src/vm-limit.c (get_lim_data): Fix a typo.  (Bug#18238)
efdffd86c5 ; * etc/refcards/README: Prefer HTTPS in link.

# Conflicts:
#	etc/NEWS
2021-10-24 01:55:45 -07:00
Eli Zaretskii
39413a45bf ; * doc/lispref/functions.texi (Calling Functions): Fix last change. 2021-10-23 20:44:26 +03:00
Stefan Kangas
ef37a86cac Improve documentation of apply-partially
* doc/lispref/functions.texi (Calling Functions): Improve
documentation of 'apply-partially' to be slightly more clear with
regards to function arity.  (Bug#17623)
2021-10-23 18:47:00 +02:00
Stefan Kangas
d652efcd08 Make 'mapconcat' argument 'separator' optional
* src/fns.c (Fmapconcat): Make third 'separator' argument
optional.  (Bug#50965)
* doc/lispref/functions.texi (Mapping Functions): Update
documentation for above change.
* test/src/fns-tests.el (fns-tests-mapconcat): New test.

* doc/misc/cl.texi (Obsolete Setf Customization): Don't use third
mapconcat argument in example.
* lisp/emacs-lisp/subr-x.el (string-join): Doc fix.
2021-10-05 15:38:38 +02:00
Mattias Engdegård
ed02b88bba Renege on anonymous &rest (bug#50268, bug#50720)
Allowing &rest without a variable name following turned out not to be
very useful, and it never worked properly.  Disallow it.

* lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list):
* src/eval.c (funcall_lambda):
Signal error for &rest without variable name.
* doc/lispref/functions.texi (Argument List): Adjust manual.
* etc/NEWS (file): Announce.
* test/src/eval-tests.el (eval-tests--bugs-24912-and-24913):
Extend test, also checking with and without lexical binding.
(eval-tests-accept-empty-optional-rest): Reduce to...
(eval-tests-accept-empty-optional): ...this, again checking
with and without lexical binding.
2021-09-25 20:25:01 +02:00
Eli Zaretskii
31ed5a8c12 Avoid deprecation warnings with Texinfo 6.8
* doc/lispref/functions.texi (Function Safety):
* doc/misc/srecode.texi (Parts of SRecode):
* doc/misc/wisent.texi (Wisent Semantic, Wisent Lex):
* doc/misc/pcl-cvs.texi (Editing files):
* doc/misc/bovine.texi (top, Starting Rules)
(Bovine Grammar Rules, How Lexical Tokens Match)
(Optional Lambda Expression):
* doc/emacs/msdos.texi (Windows Keyboard):
* doc/emacs/buffers.texi (Several Buffers):
* doc/emacs/text.texi (Text): Avoid using @inforef, which is
deprecated.
2021-07-04 14:55:42 +03:00
Lars Ingebrigtsen
1b30431c0e Improve the documentation of :extra in cl-defmethod
* doc/lispref/functions.texi (Generic Functions): Improve
documentation of :extra (bug#46917).

* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Ditto.
2021-03-05 14:27:08 +01:00
Lars Ingebrigtsen
825aed11d2 Add the `always' function
* doc/lispref/functions.texi (Calling Functions): Document it.
* lisp/subr.el (always): New function.

* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Mark it as
side effect free.
2021-02-20 13:44:19 +01:00
Lars Ingebrigtsen
9291e7316f Add new 'declare' forms for command completion predicates
* doc/lispref/functions.texi (Declare Form): Document the new
`completion' and `modes' declarations.
* lisp/simple.el (completion-with-modes-p): New helper functions.

* lisp/emacs-lisp/byte-run.el (byte-run--set-completion)
(byte-run--set-modes):
(defun-declarations-alist): New declarations for `completion' and
`modes'.
2021-02-14 13:29:35 +01:00
Paul Eggert
ba05d005e5 Update copyright year to 2021
Run "TZ=UTC0 admin/update-copyright".
2021-01-01 01:13:56 -08:00
Glenn Morris
c1565cc3b9 Merge from origin/emacs-27
4e6104ea0b ; * src/xdisp.c (display_string): Fix a typo in a comment.
7162228815 Improve indexing of check-declare
d218b28ab5 ; * lisp/autoinsert.el (auto-insert-alist): Fix texinfo URL.
2020-11-02 09:27:40 -08:00
Stefan Kangas
7162228815 Improve indexing of check-declare
* doc/lispref/functions.texi (Declaring Functions): Improve indexing.
2020-11-01 19:33:35 +01:00
Pip Cet
433b6fc53d Handle single-argument `apply' consistently (bug#40968)
* src/eval.c (Fapply): Handle (apply nil) without crashing.
Document single-argument form.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-apply): Don't attempt
to optimize single-argument apply.
* doc/lispref/functions.texi (Calling Functions): Document
single-argument apply.  Provide example (bug#40968).
2020-09-27 16:59:00 +02:00
Lars Ingebrigtsen
4102fe1e91 Clarify inline-letevals in the manual
* doc/lispref/functions.texi (Inline Functions): Try to clarify
what inline-letevals really does, and how it differs from `let'
(bug#31052).
2020-08-22 17:57:39 +02:00
Eli Zaretskii
69568674b3 Improve documentation of function argument lists
* doc/lispref/functions.texi (Lambda Components)
(Defining Functions): Add a cross-reference to "Argument List".
(Argument List): Improve the section name.  (Bug#42750)
2020-08-13 17:08:37 +03:00
Mattias Engdegård
14a570afae Remove #' and function quoting from lambda forms in manual
* doc/lispref/abbrevs.texi (Abbrev Expansion):
* doc/lispref/backups.texi (Reverting):
* doc/lispref/functions.texi (Mapping Functions):
* doc/lispref/help.texi (Accessing Documentation):
* doc/lispref/sequences.texi (Char-Tables):
* doc/lispref/syntax.texi (Categories):
* doc/lispref/text.texi (Sorting):
Remove function quoting from lambda in examples where it still occurs,
since examples should follow our best style and be consistent.
2020-04-19 13:19:37 +02:00
Štěpán Němec
067b070598 ; Fix some typos and doc issues (bug#40695) 2020-04-18 17:10:02 +02:00
Richard Stallman
fd8128f0c1 ; Move the description of define-inline to a different node in functions.texi 2020-01-11 11:48:17 +02:00
Paul Eggert
365e01cc9f Update copyright year to 2020
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2020-01-01 00:59:52 +00:00
Eli Zaretskii
32222fb34c Fix documentation of define-obsolete-* functions
* doc/lispref/functions.texi (Obsolete Functions): Make
documentation of functions that obsolete symbols match the
advertised calling conventions.

* lisp/emacs-lisp/byte-run.el (define-obsolete-function-alias)
(define-obsolete-variable-alias, define-obsolete-face-alias):
State in the doc strings that WHEN is a mandatory argument, to be
consistent with the advertised calling convention.  (Bug#38675)
2019-12-28 11:13:25 +02:00
Eli Zaretskii
48169f7c65 Improve indexing of function doc string conventions
* doc/lispref/functions.texi (Function Documentation): Improve
indexing (bug#38158).
2019-11-15 11:42:11 +02:00
Richard Stallman
8758c96dc7 Minor wording change in ELisp manual
* doc/lispref/functions.texi (Advising Named Functions):
Improve and clarify wording of the advice to avoid advising
functions in released code.
2019-11-01 11:45:51 +02:00
Juanma Barranquero
b3314ac5c4 identity, ignore: Make arg names more consistent with docs
* lisp/subr.el (ignore): Rename argument IGNORE to ARGUMENTS.

* src/fns.c (Fidentity): Rename ARG to ARGUMENT.

* doc/lispref/functions.texi (Calling Functions): Fix references.
2019-10-10 06:00:20 +02:00
Štěpán Němec
b8c4a9e0f8 Add an advice-add/interactive spec example
* doc/lispref/functions.texi (Core Advising Primitives): Add an
advice-add example that extends the `interactive' spec (bug#17871).
2019-08-18 16:05:48 -07:00
Lars Ingebrigtsen
21ada03d30 Capitalise a couple of node names
* doc/lispref/functions.texi (Advising Functions): Capitalise node
names (bug#17717).
(Advice Combinators, Porting Old Advice): Capitalise.
2019-08-04 14:50:07 +02:00
Lars Ingebrigtsen
151a99cca9 Core Advising Primitives `interactive' clarification
* doc/lispref/functions.texi (Core Advising Primitives): Clarify
when the interactive spec is a function (bug#17871).
2019-08-04 14:07:06 +02:00
Lars Ingebrigtsen
1a1b5f9802 Add a really simple nadvice example
* doc/lispref/functions.texi (Advising Functions): Add a really
trivial and simple example (bug#35250).
2019-07-09 17:13:54 +02:00
Glenn Morris
17a1dae4af Merge from origin/emacs-26
2168165 ; * doc/lispref/nonascii.texi (Explicit Encoding): Fix typo.
8f18d12 Improve documentation of decoding into a unibyte buffer
7681a57 Remove redundants "See" before @xref or @pxref (Bug#35793)
9bee762 ; * src/coding.c: Improve commentary.  (Bug#34765)
e61349c Fix customization type of recentf-max-saved-items

# Conflicts:
#	src/coding.c
2019-06-01 12:04:41 -07:00
Mauro Aranda
7681a57b88 Remove redundants "See" before @xref or @pxref (Bug#35793)
* doc/lispref/control.texi (Control Structures):
* doc/lispref/modes.texi (Search-based Fontification):
* doc/misc/cc-mode.texi (Filling and Line Breaking Commands)
(Auto-newline Insertion, Other Special Indentations):
* doc/misc/dbus.texi (Errors and Events):
* doc/misc/dired-x.texi (Find File At Point):
* doc/misc/eudc.texi (Display of Query Results, Inline Query Expansion):
* doc/misc/gnus-faq.texi (FAQ 3-11):
* doc/misc/gnus.texi (Group Parameters, Posting Styles)
(Spam Package Introduction):
* doc/misc/org.texi (LaTeX fragments, Previewing LaTeX fragments):
* doc/misc/reftex.texi (Commands):
Remove redundant "See" before cross references.
* doc/lispref/functions.texi (Function Safety): Redundant "see" is in
ignored text, but remove it anyway.
* doc/lispref/positions.texi (Skipping Characters): Remove redundant
"See" before cross references.  Change @xref to @pxref, which is
more suitable when at the end of a sentence.

Most of the redundants "See" found by Noam Postavsky.
2019-05-25 13:02:05 -04:00
Michael Heerdegen
84a3da15e9 Improve documentation of the 'function' special form
Point out that 'function' quoting is beneficial also for symbols.

* src/eval.c (function): Enhance docstring.
* doc/lispref/functions.texi (Anonymous Functions): Improve
documentation.
2019-05-24 00:51:46 +02:00
Basil L. Contovounesios
3988e93d4b Backport: Improve pure and side-effect-free docs
For discussion, see thread starting at:
https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg00316.html
* doc/lispref/customize.texi (Composite Types): Do not overspecify
:match-alternatives predicates.
* doc/lispref/eval.texi (Intro Eval): Anchor definition of "side
effect" for cross-referencing...
* doc/lispref/functions.texi (What Is a Function): ...from here.
Define what a pure function is.
* doc/lispref/internals.texi (Writing Emacs Primitives): Describe
currently preferred approach to marking primitives as pure and
side-effect-free.
* doc/lispref/symbols.texi (Standard Properties): Expand description
of pure and side-effect-free properties.

(cherry picked from commit 4430a9b54f)
2019-04-22 16:14:33 +01:00
Basil L. Contovounesios
4430a9b54f Improve pure and side-effect-free docs
For discussion, see thread starting at:
https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg00316.html
* doc/lispref/customize.texi (Composite Types): Do not overspecify
:match-alternatives predicates.
* doc/lispref/eval.texi (Intro Eval): Anchor definition of "side
effect" for cross-referencing...
* doc/lispref/functions.texi (What Is a Function): ...from here.
Define what a pure function is.
* doc/lispref/internals.texi (Writing Emacs Primitives): Describe
currently preferred approach to marking primitives as pure and
side-effect-free.
* doc/lispref/symbols.texi (Standard Properties): Expand description
of pure and side-effect-free properties.
2019-04-22 13:48:20 +01:00
Paul Eggert
ba809612c0 Merge from origin/emacs-26
2fcf2df Fix copyright years by hand
26bed8b Update copyright year to 2019
2814292 Fix value of default frame height.  (Bug#33921)
2018-12-31 17:57:29 -08:00
Paul Eggert
26bed8ba10 Update copyright year to 2019
Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
2019-01-01 01:01:13 +00:00
Glenn Morris
23209e2c19 Merge from origin/emacs-26
913c001 * lisp/files.el (write-file): Clarify the doc string.  (Bug#3...
d614b84 Fix typos in midnight.el
8c2778a Improve documentation of 'move-file-to-trash'
c7b8a51 ; * doc/lispref/functions.texi (Anonymous Functions): Fix typo.
92296de * src/data.c (Ftype_of): xwidget objects are possible! (bug#3...
a3242cc Improve documentation of Diff mode
39e85a0 Note that lex bound lambda forms are not self-quoting (Bug#33...
fa605f2 Rewrite buffer display related doc-strings and doc
aa55659 Fix call to GlobalMemoryStatusEx in w32.c

# Conflicts:
#	doc/emacs/files.texi
#	src/data.c
2018-11-12 09:38:27 -08:00
Charles A. Roelli
c7b8a51b79 ; * doc/lispref/functions.texi (Anonymous Functions): Fix typo. 2018-11-10 20:32:36 +01:00
Noam Postavsky
39e85a0c6c Note that lex bound lambda forms are not self-quoting (Bug#33199)
* doc/lispref/functions.texi (Anonymous Functions):
* lisp/subr.el (lambda): Note that under lexical binding a lambda form
yields a closure object (Bug#33199).
2018-11-08 20:13:56 -05:00