![]() 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. |
||
---|---|---|
.. | ||
ChangeLog.1 | ||
cons-1.eps | ||
cons-1.pdf | ||
cons-2.eps | ||
cons-2.pdf | ||
cons-2a.eps | ||
cons-2a.pdf | ||
cons-3.eps | ||
cons-3.pdf | ||
cons-4.eps | ||
cons-4.pdf | ||
cons-5.eps | ||
cons-5.pdf | ||
doclicense.texi | ||
drawers.eps | ||
drawers.pdf | ||
emacs-lisp-intro.texi | ||
lambda-1.eps | ||
lambda-1.pdf | ||
lambda-2.eps | ||
lambda-2.pdf | ||
lambda-3.eps | ||
lambda-3.pdf | ||
Makefile.in | ||
README |
Copyright (C) 2001-2022 Free Software Foundation, Inc. See the end of the file for license conditions. This directory contains the source of the "Introduction to Programming in Emacs Lisp" written by Robert J. Chassell, bob@gnu.org. This manual is an elementary introduction to programming in Emacs Lisp for people who are not programmers, and who are not necessarily interested in programming, but who do want to customize or extend their computing environment. This third edition of 2006 Oct 31 updates the previous editions to GNU Emacs 22. You will find additional instructions on formatting in the beginning of the Texinfo file 'emacs-lisp-intro.texi'. Best Wishes! 2006 Oct 31 Robert J. Chassell, bob@gnu.org COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES The PostScript images (*.eps) contain copyright and license information in their headers. The PDF versions were automatically generated using the epstopdf utility, and are subject to the same conditions as their EPS counterparts. 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/>.