summaryrefslogtreecommitdiff
path: root/doc/lispref/eval.texi
Commit message (Collapse)AuthorAgeFilesLines
* ; Add 2024 to copyright yearsPo Lu2024-01-021-1/+1
|
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
|
* Remove remaining mentions of 'eval-current-buffer'Gregory Heytings2022-12-261-3/+0
| | | | | | | | * lisp/emacs-lisp/edebug.el (edebug-all-defs): * doc/lispref/eval.texi (Eval): * doc/lispref/edebug.texi (Instrumenting, Edebug Options): Remove remaining mentions of 'eval-current-buffer', obsoleted in Emacs 22 and removed in Emacs 26.
* Abolish max-specpdl-size (bug#57911)Mattias Engdegård2022-09-191-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The max-lisp-eval-depth limit is sufficient to prevent unbounded stack growth including the specbind stack; simplify matters for the user by not having them to worry about two different limits. This change turns max-specpdl-size into a harmless variable with no effects, to keep existing code happy. * lisp/subr.el (max-specpdl-size): Define as an ordinary (but obsolete) dynamic variable. * admin/grammars/Makefile.in: * doc/lispintro/emacs-lisp-intro.texi (Loops & Recursion): * doc/lispref/control.texi (Cleanups): * doc/lispref/edebug.texi (Checking Whether to Stop): * doc/lispref/eval.texi (Eval): * doc/lispref/variables.texi (Local Variables): * doc/misc/calc.texi (Recursion Depth): Update documentation. * etc/NEWS: Announce. * src/eval.c (FletX): Use safe iteration to guard against circular bindings list. (syms_of_eval): Remove old max-specpdl-size definition. (init_eval_once, restore_stack_limits, call_debugger) (signal_or_quit, grow_specpdl_allocation): * leim/Makefile.in: * lisp/Makefile.in: * lisp/calc/calc-stuff.el (calc-more-recursion-depth) (calc-less-recursion-depth): * lisp/calc/calc.el (calc-do): * lisp/cedet/semantic/ede-grammar.el (ede-proj-makefile-insert-rules): * lisp/cedet/semantic/grammar.el (semantic-grammar-batch-build-one-package): * lisp/cus-start.el (standard): * lisp/emacs-lisp/comp.el (comp--native-compile): * lisp/emacs-lisp/edebug.el (edebug-max-depth): (edebug-read-and-maybe-wrap-form, edebug-default-enter): * lisp/emacs-lisp/regexp-opt.el (regexp-opt): * lisp/eshell/esh-mode.el (eshell-mode): * lisp/loadup.el (max-specpdl-size): * lisp/mh-e/mh-e.el (mh-invisible-headers): * lisp/net/shr.el (shr-insert-document, shr-descend): * lisp/play/hanoi.el (hanoi-internal): * lisp/progmodes/cperl-mode.el: * src/fileio.c (Fdo_auto_save): Remove references to and modifications of max-specpdl-size.
* Raise default max-specpdl-size and max-lisp-eval-depthMattias Engdegård2022-09-141-1/+1
| | | | | | | | | | | | | | Recent changes have caused bootstrapping to fail for certain configurations, and it was likely getting close to the limits for others. This change raises the limits to those previously used when configured for nativecomp: max-specpdl-size raised from 1800 to 2500 max-lisp-eval-depth raised from 800 to 1600 * src/eval.c (init_eval_once): Raise limits. * doc/lispref/eval.texi (Eval): * doc/lispref/variables.texi (Local Variables): Document new values.
* functionp doc improvementPaul Eggert2022-05-111-1/+1
| | | | | | * doc/lispref/eval.texi, doc/lispref/functions.texi, src/eval.c: Document functionp a bit more carefully. It can return t on non-functions.
* ; Add 2022 to copyright years.Eli Zaretskii2022-01-011-1/+1
|
* Better document obsolescence of 'values'Eli Zaretskii2021-08-291-4/+9
| | | | | * doc/lispref/eval.texi (Eval): Mention that 'values' is obsolete. * etc/NEWS: Add a rationale for obsoleting 'values'.
* Tweak example in Function Indirection node in the lispref manualLars Ingebrigtsen2021-07-201-1/+2
| | | | | | * doc/lispref/eval.texi (Function Indirection): Make example more robust (bug#49647). Suggested by Scott Marks <scott.c.marks@gmail.com>.
* Remove several references to Emacs 22 and earlierStefan Kangas2021-03-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | * admin/charsets/mapfiles/README: * doc/emacs/custom.texi (Saving Customizations): * doc/lispintro/emacs-lisp-intro.texi (Simple Extension): * doc/misc/efaq-w32.texi (Location of init file): * doc/misc/gnus-faq.texi (FAQ 1-3): * doc/misc/gnus.texi (Top, Various, Image Enhancements): * lisp/erc/erc-menu.el (menu): * lisp/progmodes/cfengine.el (cfengine-fill-paragraph): Remove some references to Emacs 22 and earlier. * doc/lispref/buffers.texi: * doc/lispref/eval.texi: * doc/lispref/files.texi: * doc/lispref/keymaps.texi: * doc/lispref/loading.texi: * doc/lispref/minibuf.texi: * doc/lispref/positions.texi: * doc/lispref/variables.texi: Remove comments about "Emacs 19 specific" features.
* Update copyright year to 2021Paul Eggert2021-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright".
* Don’t use “constant” for values you shouldn’t changePaul Eggert2020-05-161-10/+11
| | | | | | | | | | | | | | | | | | | | Inspired by patch proposed by Dmitry Gutov (Bug#40671#393) and by further comments by him and by Michael Heerdegen in the same bug report. * doc/lispintro/emacs-lisp-intro.texi (setcar): Don’t push mutability here. * doc/lispref/eval.texi (Self-Evaluating Forms, Quoting) (Backquote): * doc/lispref/lists.texi (Modifying Lists): * doc/lispref/objects.texi (Lisp Data Types, Mutability): * doc/lispref/sequences.texi (Array Functions, Vectors): * doc/lispref/strings.texi (String Basics, Modifying Strings): Don’t use the word “constant” to describe all values that a program should not change. * doc/lispref/objects.texi (Mutability): Rename from “Constants and Mutability”. All uses changed. In a footnote, contrast the Emacs behavior with that of Common Lisp, Python, etc. for clarity, and say the goal is to be nicer.
* Improve wording about constantsPaul Eggert2020-04-221-0/+6
| | | | | | | | Thanks to Štěpán Němec and Drew Adams for reviews of recent changes. * doc/lispref/eval.texi (Quoting): Give an example. * doc/lispref/lists.texi (Association Lists): Simplify example code. * doc/lispref/objects.texi (Lisp Data Types) (Constants and Mutability): Clarify wording.
* Tweak setcar-related wordingPaul Eggert2020-04-191-1/+1
| | | | | | | * doc/lispref/eval.texi (Self-Evaluating Forms): Change “primitives” to “operations”. Problem reported by Štěpán Němec in: https://lists.gnu.org/r/emacs-devel/2020-04/msg01146.html
* Fix mutability glitches reported by Drew AdamsPaul Eggert2020-04-191-4/+4
| | | | | | | | | | See Bug#40693#32. * doc/lispref/eval.texi (Self-Evaluating Forms, Backquote): Say that these yield constant conses, vectors and strings, not constant symbols. * doc/lispref/objects.texi (Constants and Mutability): Say that an attempt to modify a constant variable signals an error, instead of saying that it has undefined behavior.
* Improve mutability documentationPaul Eggert2020-04-191-0/+7
| | | | | | | | | | | | | This change was inspired by comments from Štěpán Němec in: https://lists.gnu.org/r/emacs-devel/2020-04/msg01063.html * doc/lispref/objects.texi (Lisp Data Types): Mention mutability. (Constants and mutability): New section. * doc/lispintro/emacs-lisp-intro.texi (Lists diagrammed) (Indent Tabs Mode): Improve wording. * doc/lispref/eval.texi (Self-Evaluating Forms): Say that they return constants. * doc/lispref/lists.texi (Sets And Lists): Fix memql mistake/confusion that I recently introduced.
* Document that quoting yields constantsPaul Eggert2020-04-191-1/+7
| | | | | * doc/lispref/eval.texi (Quoting, Backquote): Mention that quoted expressions yield a constant (Bug#40693).
* Update copyright year to 2020Paul Eggert2020-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
* Improve pure and side-effect-free docsBasil L. Contovounesios2019-04-221-0/+1
| | | | | | | | | | | | | | | | 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.
* Merge from origin/emacs-26Paul Eggert2018-12-311-1/+1
|\ | | | | | | | | | | 2fcf2df Fix copyright years by hand 26bed8b Update copyright year to 2019 2814292 Fix value of default frame height. (Bug#33921)
| * Update copyright year to 2019Paul Eggert2019-01-011-1/+1
| | | | | | | | Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
* | Merge from origin/emacs-26Glenn Morris2018-11-241-0/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 56e3e4f Improve indexing in the ELisp manual 7a4992a More Symbola-related extensions for default fontset 4ae0a75 Better support for display of U+1F900..U+1F9FF block 8f0c788 Improve documentation of 'edit-abbrevs-mode' 3c643e7 ; NEWS tweak 477414a Improve documentation of 'dired-do-compress' 9c09b1d ; * etc/NES: Minor change in the description of Dired's 'Z'. 52715e3 Improve doc string and display of 'describe-character' 93242b1 * etc/NEWS: Clarify what 'Z' does in Dired. (Bug#33450) 0d59ae3 Update the docs of object internals Conflicts: etc/NEWS
| * Improve indexing in the ELisp manualEli Zaretskii2018-11-241-0/+9
| | | | | | | | | | | | | | | | | | | | * doc/lispref/control.texi (Control Structures, Sequencing) (Conditionals, Iteration, Catch and Throw, Handling Errors) (Cleanups): * doc/lispref/eval.texi (Self-Evaluating Forms) (Symbol Forms, Function Forms, Macro Forms, Special Forms) (Quoting, Backquote): Add index entries that begin with "forms". (Bug#33440)
* | Merge from origin/emacs-26Glenn Morris2018-07-281-3/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bd52f37 (origin/emacs-26) ; Fix last change: only MinGW runtime 5.0.2... 024d20f Fix compilation with mingw.org's MinGW 5.x headers 38b6748 Update the list of special forms in the ELisp manual 8579105 Don't fail to indent-sexp before a full sexp (Bug#31984) d24c5f2 Fix calls to modifications hooks in replace-buffer-contents 71a9151 * src/character.c (char_width): Support glyphs with faces. (... 0feb673 Display raw bytes as belonging to 'eight-bit' charset 2e2f00f ; * doc/emacs/mule.texi (International Chars): Fix last change. 00561b5 Fix inaccurate text in the user manual 5cfb7a3 Copyedits in tramp.texi, improved example with bash's readline 6f8f358 Minor Tramp doc update 2585fcb File Shadowing is not available on MS Windows 39da592 ; Minor markup change in indent.texi 2f00ffe ; bookmark-jump: Add comment about last change.
| * Update the list of special forms in the ELisp manualEli Zaretskii2018-07-281-3/+0
| | | | | | | | | | | | * doc/lispref/eval.texi (Special Forms): * doc/lispref/frames.texi (Mouse Tracking): 'track-mouse' is nowadays a macro. (Bug#32284)
* | * src/print.c (syms_of_print) <print_quoted>: Set default to trueStefan Monnier2018-01-151-3/+3
| |
* | Merge from origin/emacs-26Paul Eggert2018-01-011-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 63b04c11d5 Fix copyright years by hand 5c7dd8a783 Update copyright year to 2018 220a9ecba1 Merge from Gnulib 312c565566 Don't add empty keyboard macro to macro ring (Bug#24992) 39ca289a7a Allow customization of decoding of "man" command f8240815ea * etc/NEWS: Add security consideration note on passphrase ... 0c78822c70 Fix subtle problem with scroll-down when scroll-margin is ... acd289c5a4 Fix problems with indexing in User manual b240c7846b * lisp/help.el (describe-key): Only (copy-sequence elt) wh... e879a5444a * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846 81b1028b63 Improve documentation of 'inhibit-modification-hooks' and ... 7175496d7a Fix doc string of 'enable-recursive-minibuffers' 5b38406491 Fix documentation of delsel and of killing text # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex
| * Update copyright year to 2018Paul Eggert2018-01-011-1/+1
| | | | | | | | Run admin/update-copyright.
* | Spelling fixPaul Eggert2017-12-141-1/+1
| | | | | | | | | | * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist): Fix misspelling of ‘delete-directory’.
* | ; * doc/lispref/eval.texi (Deferred Eval): Improve wording.Eli Zaretskii2017-12-011-4/+4
| |
* | Add macros `thunk-let' and `thunk-let*'Michael Heerdegen2017-12-011-5/+118
|/ | | | | | | | | | | | | * lisp/emacs-lisp/thunk.el (thunk-let, thunk-let*): New macros. * test/lisp/emacs-lisp/thunk-tests.el: (thunk-let-basic-test, thunk-let*-basic-test) (thunk-let-bound-vars-cant-be-set-test) (thunk-let-laziness-test, thunk-let*-laziness-test) (thunk-let-bad-binding-test): New tests for `thunk-let' and `thunk-let*. * doc/lispref/eval.texi (Deferred Eval): New section. * doc/lispref/elisp.texi: Update menu.
* Update documentation of 'max-lisp-eval-depth'Eli Zaretskii2017-09-111-1/+1
| | | | | * doc/lispref/eval.texi (Eval): Update the documented default value of 'max-lisp-eval-depth'.
* Update copyright year to 2017Paul Eggert2016-12-311-1/+1
| | | | Run admin/update-copyright.
* Update documentation of 'indirect-function'Eli Zaretskii2016-01-101-6/+5
| | | | | * doc/lispref/eval.texi (Function Indirection): Update the documentation of 'indirect-function'.
* Update copyright year to 2016Paul Eggert2016-01-011-1/+1
| | | | Run admin/update-copyright.
* Clarify documentation of 'values'Eli Zaretskii2015-12-111-3/+3
| | | | | | * doc/lispref/eval.texi (Eval): Clarify that 'values' are not updated by any evaluation commands in 'lisp-interaction-mode'. (Bug#22056)
* Improve documentation of 'eval-buffer' and 'eval-region'Eli Zaretskii2015-11-271-1/+2
| | | | | | | * src/lread.c (Feval_buffer, Feval_region): Doc fixes. (Bug#22023) * doc/lispref/eval.texi (Eval): Mention narrowing to clarify "accessible portion of buffer".
* Restore some of the quoting in the manualsEli Zaretskii2015-09-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/windows.texi (Coordinates and Windows) (Coordinates and Windows): * doc/lispref/variables.texi (Lexical Binding) (File Local Variables): * doc/lispref/text.texi (Format Properties): * doc/lispref/symbols.texi (Symbol Components): * doc/lispref/strings.texi (Creating Strings): * doc/lispref/sequences.texi (Sequence Functions): * doc/lispref/searching.texi (Regexp Special, Regexp Search) (Search and Replace): * doc/lispref/processes.texi (Bindat Spec): * doc/lispref/os.texi (Idle Timers): * doc/lispref/objects.texi (Basic Char Syntax): * doc/lispref/numbers.texi (Float Basics, Random Numbers): * doc/lispref/nonascii.texi (Character Properties): * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks) (Mode Line Variables): * doc/lispref/minibuf.texi (Text from Minibuffer): * doc/lispref/loading.texi (Autoload): * doc/lispref/keymaps.texi (Controlling Active Maps): * doc/lispref/frames.texi (Frame Layout, Size and Position) (Size Parameters, Implied Frame Resizing): * doc/lispref/files.texi (Changing Files, Magic File Names): * doc/lispref/eval.texi (Self-Evaluating Forms): * doc/lispref/display.texi (Progress, Abstract Display) (Abstract Display Example, Bidirectional Display): * doc/lispref/commands.texi (Event Mod): * doc/emacs/windows.texi (Displaying Buffers): * doc/emacs/trouble.texi (Bug Criteria, Checklist): * doc/emacs/text.texi (Enriched Text): * doc/emacs/programs.texi (MixedCase Words): * doc/emacs/picture-xtra.texi (Insert in Picture) (Tabs in Picture): * doc/emacs/misc.texi (Emacs Server, Printing): * doc/emacs/mini.texi (Minibuffer History): * doc/emacs/maintaining.texi (Old Revisions, VC Change Log) (Pulling / Pushing): * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard): * doc/emacs/help.texi (Help, Help Echo): * doc/emacs/glossary.texi (Glossary): * doc/emacs/frames.texi (Mouse Commands, Creating Frames) (Frame Commands): * doc/emacs/files.texi (Reverting, Saving, Directories): * doc/emacs/entering.texi (Exiting): * doc/emacs/emacs.texi (Top): * doc/emacs/cmdargs.texi (Window Size X, Icons X): * doc/emacs/anti.texi (Antinews): Restore quoting of text where appropriate or replace quoting with @dfn. * doc/misc/ediff.texi (Window and Frame Configuration): * doc/lispref/processes.texi (Network Feature Testing): * doc/lispref/display.texi (Display Margins): Quote the phrase after "a.k.a." where appropriate.
* Quote less in manualsPaul Eggert2015-09-151-5/+5
| | | | | | | | | | The manuals often used quotes ``...'' when it is better to use @dfn or @code or capitalized words or no quoting at all. For example, there is no need for the `` and '' in “if a variable has one effect for @code{nil} values and another effect for ``non-@code{nil}'' values”. Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate unnecessary quoting like this, and to use @dfn etc. instead when called for (Bug#21472).
* Fix minor problems with " in manualPaul Eggert2015-09-041-1/+1
|
* Update copyright year to 2015Paul Eggert2015-01-011-1/+1
| | | | Run admin/update-copyright.
* * src/keyboard.c (Vtop_level_message): Rename toDmitry Antipov2014-08-271-1/+6
| | | | | | | | Vinternal__top_level_message, as suggested by Stefan Monnier in http://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00493.html All related users changed. * lisp/startup.el (normal-top-level): Now use internal--top-level-message. * doc/lispref/eval.texi (Eval): Mention possible recovery from stack overflow.
* Update copyright year to 2014 by running admin/update-copyright.Paul Eggert2014-01-011-1/+1
|
* More doc updatesChong Yidong2013-12-271-10/+8
| | | | | | | | | | | | | * commands.texi (Reading One Event): Mention keyboard coding. * functions.texi (Function Cells): * eval.texi (Function Indirection): Update for the fact that symbol-function no longer signals an error. * keymaps.texi (Translation Keymaps, Translation Keymaps): * nonascii.texi (Terminal I/O Encoding): Copyedits. * data.c (Fsymbol_function): Doc fix.
* Document `eval' changes.Chong Yidong2013-12-251-6/+12
| | | | | | | | | | | * doc/lispref/eval.texi (Eval): Document the LEXICAL arg to eval. * doc/lispref/variables.texi (Variables, Void Variables): Use "scoping rule" terminology consistently. (Variable Scoping): Add index entries, and use "dynamic scope" terminology in place of "indefinite scope" to reduce confusion. (Lexical Binding): Document lexical environment format. (Using Lexical Binding): Add index entries for error messages.
* Document `special-form-p' and `macrop'.Xue Fuqiao2013-12-231-0/+5
| | | | | | * doc/lispref/eval.texi (Special Forms): Document `special-form-p'. * doc/lispref/macros.texi (Simple Macro): Document `macrop'.
* Remove remaining @refills from doc/*/*.texi filesGlenn Morris2013-10-231-1/+1
|
* * src/eval.c (Fprogn): Do not check that BODY is a proper list.Paul Eggert2013-07-241-0/+11
| | | | | | | | | This undoes the previous change. The check slows down the interpreter, and is not needed to prevent a crash. See <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00693.html>. * doc/lispref/eval.texi (Special Forms): Mention 'lambda'. Also, say that non-well-formed expressions result in unspecified behavior, though Emacs will not crash.
* Update copyright notices for 2013.Paul Eggert2013-01-011-1/+2
|
* Lispref updates for some things no longer being special formsGlenn Morris2012-10-311-14/+1
| | | | | | | | * doc/lispref/eval.texi (Special Forms): No longer special forms: defmacro, defun, save-window-excursion, with-output-to-temp-buffer. * doc/lispref/functions.texi (Defining Functions): Defun is now a macro. Defalias is a function.