1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-29 08:31:35 -08:00
emacs/doc/lispref
Mattias Engdegård 60102016e4 Abolish max-specpdl-size (bug#57911)
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.
2022-09-19 19:30:03 +02: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 ; * buffers.texi (Buffer List): Mention t 2022-07-29 18:21:54 +02:00
ChangeLog.1 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
commands.texi ; * doc/lispref/commands.texi (Interactive Codes): Fix punctuation. 2022-08-22 19:24:29 +03:00
compile.texi Merge from origin/emacs-28 2022-07-24 09:55:01 +02:00
control.texi Abolish max-specpdl-size (bug#57911) 2022-09-19 19:30:03 +02:00
customize.texi Make the bookmark fringe icon look like a bookmark 2022-08-15 21:15:42 -07:00
debugging.texi New debugging facility: backtraces from errors in Lisp called from redisplay 2022-08-11 19:31:09 +00:00
display.texi Rename image-elide' to image-cut' and add more bindings 2022-09-16 11:03:42 +02:00
doclicense.texi
edebug.texi Abolish max-specpdl-size (bug#57911) 2022-09-19 19:30:03 +02:00
elisp.texi Add OVERRIDES argument to prin1/prin1-to-string 2022-05-15 15:29:38 +02:00
errors.texi Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
eval.texi Abolish max-specpdl-size (bug#57911) 2022-09-19 19:30:03 +02:00
files.texi ; Fix documentation of 'file-parent-directory' 2022-07-04 14:59:58 +03:00
frames.texi Implement primitive frame synchronization on Haiku 2022-08-01 05:51:59 +00:00
functions.texi * doc/lispref/functions.texi (What Is a Function): Improve further 2022-08-15 18:45:58 -04:00
gpl.texi
hash.texi string-equal-ignore-case: new function 2022-07-26 13:49:28 -04:00
help.texi New function substitute-quotes 2022-09-10 07:37:36 +02:00
hooks.texi Delete redisplay-end-trigger-functions and related defuns 2022-07-31 01:44:22 +02:00
index.texi
internals.texi Merge from origin/emacs-28 2022-02-23 06:36:45 +01:00
intro.texi Change current-time back to list form 2022-04-28 12:54:06 -07:00
keymaps.texi Document :vert-only tool bar property 2022-09-12 12:57:34 +02:00
lay-flat.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
lists.texi ; * doc/lispref/lists.texi (List Elements): No passive tense! 2022-07-18 15:46:18 +03:00
loading.texi Delete many references to Emacs 23 or older from docs 2022-08-13 12:57:44 +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 Improve indexing of keymap variables 2022-07-30 09:32:48 +03:00
markers.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
minibuf.texi Make format-prompt' use substitute-command-keys' 2022-09-10 08:13:21 +02:00
modes.texi Fix defvar-keymap example in elisp manual 2022-08-06 17:17:38 +02:00
nonascii.texi Update Unicode support to Unicode version 15.0.0 (bug#57846) 2022-09-17 09:51:22 +03:00
numbers.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
objects.texi (compiled-function-p): New function (bug#56648) 2022-08-14 12:30:05 -04:00
os.texi Enable `dont-follow' for inotify file notifications 2022-09-16 17:23:59 +02:00
package.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
positions.texi Rename newly-added eol/bol functions to pos-eol/pos-bol 2022-08-21 14:04:52 +02:00
processes.texi Delete many references to Emacs 23 or older from docs 2022-08-13 12:57:44 +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-07-14 11:37:42 +02:00
sequences.texi ; * doc/lispref/sequences.texi (Sequence Functions): Fix punctuation. 2022-09-04 16:30:03 +03:00
spellfile Rewrites of Elisp manual including tab-bar and tab-line changes 2021-10-18 09:58:48 +02:00
streams.texi ; Improve documentation of the OVERRIDES argument to prin1 2022-05-15 19:02:46 +03:00
strings.texi Add missing @end defun to strings.texi 2022-07-26 20:54:23 +02:00
symbols.texi Don't use autoloaded functions for safe-local-variable 2022-09-16 12:36:15 +02:00
syntax.texi ; * doc/lispref/syntax.texi (Position Parse): Fix a typo. (Bug#55143) 2022-04-27 14:43:20 +03:00
text.texi Make start/end in libxml-parse-html-region optional 2022-08-22 12:48:37 +02:00
threads.texi ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
tips.texi Merge from origin/emacs-28 2022-07-30 06:30:23 +02: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 Abolish max-specpdl-size (bug#57911) 2022-09-19 19:30:03 +02:00
windows.texi Add new functions for splitting the root window 2022-09-05 20:57:21 +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/>.