1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-07 12:20:39 -08:00
emacs/doc/lispref
Stefan Monnier bffc4cb39d New generic function oclosure-interactive-form
It's used by `interactive-form` when it encounters an OClosure.
This lets one compute the `interactive-form` of OClosures
dynamically by adding appropriate methods.
This does not include support for `command-modes` for Oclosures.

* lisp/simple.el (oclosure-interactive-form): New generic function.

* src/data.c (Finteractive_form): Delegate to
`oclosure-interactive-form` if the arg is an OClosure.
(syms_of_data): New symbol `Qoclosure_interactive_form`.
* src/eval.c (Fcommandp): Delegate to `interactive-form` if the arg is
an OClosure.

* src/lisp.h (VALID_DOCSTRING_P): New function, extracted from
`store_function_docstring`.
* src/doc.c (store_function_docstring): Use it.

* lisp/kmacro.el (kmacro): Don't carry any interactive form.
(oclosure-interactive-form) <kmacro>: New method, instead.

* test/lisp/emacs-lisp/oclosure-tests.el (oclosure-interactive-form)
<oclosure-test>: New method.
(oclosure-test-interactive-form): New test.

* doc/lispref/commands.texi (Using Interactive):
Document `oclosure-interactive-form`.
2022-04-26 10:36:52 -04:00
..
abbrevs.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
anti.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
back.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
backups.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
book-spine.texi
buffers.texi Further improve buffer-match-p related documentation 2022-04-17 14:04:44 +02:00
ChangeLog.1 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
commands.texi New generic function oclosure-interactive-form 2022-04-26 10:36:52 -04:00
compile.texi Modernise byte-compilation chapters in manual 2022-02-11 21:54:17 +01:00
control.texi Document pcase-lambda 2022-02-08 08:51:30 +01:00
customize.texi New :type key for defcustom 2022-01-02 16:46:02 +01:00
debugging.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
display.texi Allow not clearing the echo area 2022-04-23 17:17:15 +02:00
doclicense.texi
edebug.texi Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
elisp.texi Merge branch 'master' into scratch/correct-warning-pos 2022-01-22 11:02:50 +00:00
errors.texi Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
eval.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
files.texi Use (TICKS . HZ) for current-time etc. 2022-04-25 12:40:20 -07:00
frames.texi Improve doc of x-begin-drag 2022-04-07 08:57:25 +08:00
functions.texi Use "@code{nil}" in documentation 2022-04-18 13:19:14 -07:00
gpl.texi
hash.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
help.texi OClosure: New function function-documentation 2022-04-07 15:59:09 -04:00
hooks.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
index.texi
internals.texi Merge from origin/emacs-28 2022-02-23 06:36:45 +01:00
intro.texi Use (TICKS . HZ) for current-time etc. 2022-04-25 12:40:20 -07:00
keymaps.texi Use "@code{nil}" in documentation 2022-04-18 13:19:14 -07:00
lay-flat.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
lists.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
loading.texi Minor copyedits of 'function-history' documentation 2022-01-31 18:59:43 +02:00
macros.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
Makefile.in ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
maps.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
markers.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
minibuf.texi Add new function `read-string-from-buffer'. 2022-04-24 15:16:00 +02:00
modes.texi ; Improve documentation of 'font-lock-ignore' 2022-04-02 16:45:26 +03:00
nonascii.texi Improve documentation of 'map-charset-chars' 2022-03-10 09:29:29 +02:00
numbers.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
objects.texi Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
os.texi Use (TICKS . HZ) for current-time etc. 2022-04-25 12:40:20 -07:00
package.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
positions.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
processes.texi Handle remote system processes 2022-04-05 17:08:03 +02:00
README ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
records.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
searching.texi Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
sequences.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
spellfile Rewrites of Elisp manual including tab-bar and tab-line changes 2021-10-18 09:58:48 +02:00
streams.texi Add new function `flush-standard-output'. 2022-04-17 14:06:25 +02:00
strings.texi Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
symbols.texi Use "@code{nil}" in documentation 2022-04-18 13:19:14 -07:00
syntax.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
text.texi Document sqlite-mode-open-file and do some NEWS tagging 2022-03-22 23:28:00 +01:00
threads.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
tips.texi Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
two-volume-cross-refs.txt ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
two-volume.make Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
variables.texi * lisp/emacs-lisp/macroexp.el (macroexp-let2*): Allow common shorthand 2022-04-11 15:10:51 -04:00
windows.texi Improve documentation for t value for reusable-frames 2022-04-26 12:11:49 +02:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Copyright (C) 2001-2022 Free Software Foundation, Inc.  -*- outline -*-
See the end of the file for license conditions.


README for the Emacs Lisp Reference Manual.

* This directory contains the texinfo source files for the Emacs Lisp
Reference Manual.

* Report bugs in the Lisp Manual (or in Emacs) using M-x report-emacs-bug.
To ask questions, use the help-gnu-emacs mailing list.

* The Emacs Lisp Reference Manual is quite large.  It totals around
1100 pages in smallbook format; the info files total around 3.0 megabytes.

* You can format this manual for Info, for printing hardcopy using TeX,
or for HTML.

* You can buy nicely printed copies from the Free Software Foundation.
Buying a manual from the Free Software Foundation helps support our GNU
development work.  See <https://shop.fsf.org/>.
(At time of writing, this manual is out of print.)

* The master file for formatting this manual for Tex is called 'elisp.texi'.
It contains @include commands to include all the chapters that make up
the manual.

* This distribution contains a Makefile that you can use with GNU Make.

** To make an Info file, you need to install Texinfo, then run 'make info'.

** Use 'make elisp.pdf' or 'make elisp.html' to create PDF or HTML versions.


This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.