diff options
| author | Miles Bader | 2005-06-15 23:32:15 +0000 |
|---|---|---|
| committer | Miles Bader | 2005-06-15 23:32:15 +0000 |
| commit | 2092fd2b3339ac097e1b27643b70211dcb0b4e95 (patch) | |
| tree | 7f2307bbb82c7f111678885f871d88d44c870d4e /lispref | |
| parent | 8786f9fffda045f818e622bddd9c85249dfb9ff7 (diff) | |
| parent | a4bf534f1eb1dcb2048f5deeff783c23059e3924 (diff) | |
| download | emacs-2092fd2b3339ac097e1b27643b70211dcb0b4e95.tar.gz emacs-2092fd2b3339ac097e1b27643b70211dcb0b4e95.zip | |
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-63
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 358-423)
- Update from CVS
- Remove "-face" suffix from widget faces
- Remove "-face" suffix from custom faces
- Remove "-face" suffix from change-log faces
- Remove "-face" suffix from compilation faces
- Remove "-face" suffix from diff-mode faces
- lisp/longlines.el (longlines-visible-face): Face removed
- Remove "-face" suffix from woman faces
- Remove "-face" suffix from whitespace-highlight face
- Remove "-face" suffix from ruler-mode faces
- Remove "-face" suffix from show-paren faces
- Remove "-face" suffix from log-view faces
- Remove "-face" suffix from smerge faces
- Remove "-face" suffix from show-tabs faces
- Remove "-face" suffix from highlight-changes faces
- Remove "-face" suffix from and downcase info faces
- Remove "-face" suffix from pcvs faces
- Update uses of renamed pcvs faces
- Tweak ChangeLog
- Remove "-face" suffix from strokes-char face
- Remove "-face" suffix from compare-windows face
- Remove "-face" suffix from calendar faces
- Remove "-face" suffix from diary-button face
- Remove "-face" suffix from testcover faces
- Remove "-face" suffix from viper faces
- Remove "-face" suffix from org faces
- Remove "-face" suffix from sgml-namespace face
- Remove "-face" suffix from table-cell face
- Remove "-face" suffix from tex-mode faces
- Remove "-face" suffix from texinfo-heading face
- Remove "-face" suffix from flyspell faces
- Remove "-face" suffix from gomoku faces
- Remove "-face" suffix from mpuz faces
- Merge from gnus--rel--5.10
- Remove "-face" suffix from Buffer-menu-buffer face
- Remove "-face" suffix from antlr-mode faces
- Remove "-face" suffix from ebrowse faces
- Remove "-face" suffix from flymake faces
- Remove "-face" suffix from idlwave faces
- Remove "-face" suffix from sh-script faces
- Remove "-face" suffix from vhdl-mode faces
- Remove "-face" suffix from which-func face
- Remove "-face" suffix from cperl-mode faces
- Remove "-face" suffix from ld-script faces
- Fix cperl-mode font-lock problem
- Tweak which-func face
* gnus--rel--5.10 (patch 80-82)
- Merge from emacs--cvs-trunk--0
- Update from CVS
Diffstat (limited to 'lispref')
| -rw-r--r-- | lispref/ChangeLog | 120 | ||||
| -rw-r--r-- | lispref/Makefile.in | 2 | ||||
| -rw-r--r-- | lispref/anti.texi | 3 | ||||
| -rw-r--r-- | lispref/debugging.texi | 35 | ||||
| -rw-r--r-- | lispref/edebug.texi | 99 | ||||
| -rw-r--r-- | lispref/elisp.texi | 32 | ||||
| -rw-r--r-- | lispref/intro.texi | 6 | ||||
| -rw-r--r-- | lispref/searching.texi | 10 | ||||
| -rw-r--r-- | lispref/syntax.texi | 38 | ||||
| -rw-r--r-- | lispref/text.texi | 84 |
10 files changed, 304 insertions, 125 deletions
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 6742080bd03..d1df2e17667 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,82 @@ | |||
| 1 | 2005-06-15 Kim F. Storm <storm@cua.dk> | ||
| 2 | |||
| 3 | * searching.texi (Entire Match Data): Rephrase warnings about | ||
| 4 | evaporate arg to match-data and set-match-data. | ||
| 5 | |||
| 6 | 2005-06-14 Luc Teirlinck <teirllm@auburn.edu> | ||
| 7 | |||
| 8 | * elisp.texi (Top): Update detailed menu. | ||
| 9 | |||
| 10 | * edebug.texi (Edebug): Update menu. | ||
| 11 | (Instrumenting): Update xrefs. | ||
| 12 | (Edebug Execution Modes): Correct xref. | ||
| 13 | (Jumping): Clarify description of `h' command. | ||
| 14 | Eliminate redundant @ref. | ||
| 15 | (Breaks): New node. | ||
| 16 | (Breakpoints): is now a subsubsection. | ||
| 17 | (Global Break Condition): Mention `C-x X X'. | ||
| 18 | (Edebug Views): Clarify `v' and `p'. Mention `C-x X w'. | ||
| 19 | (Trace Buffer): Clarify STRING arg of `edebug-tracing'. | ||
| 20 | (Edebug Display Update): Correct pxref. | ||
| 21 | (Edebug and Macros): New node. | ||
| 22 | (Instrumenting Macro Calls): Is now a subsubsection. | ||
| 23 | Neither arg of `def-edebug-spec' is evaluated. | ||
| 24 | (Instrumenting Macro Calls): Mention `edebug-eval-macro-args'. | ||
| 25 | (Specification Examples): Fix typo. | ||
| 26 | |||
| 27 | 2005-06-14 Lute Kamstra <lute@gnu.org> | ||
| 28 | |||
| 29 | * debugging.texi (Function Debugging): Primitives can break on | ||
| 30 | entry too. | ||
| 31 | |||
| 32 | 2005-06-14 Kim F. Storm <storm@cua.dk> | ||
| 33 | |||
| 34 | * variables.texi (Setting Variables): Add add-to-ordered-list. | ||
| 35 | |||
| 36 | 2005-06-13 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 37 | |||
| 38 | * syntax.texi (Parsing Expressions): Document aux functions and vars of | ||
| 39 | syntax-ppss: syntax-ppss-flush-cache and syntax-begin-function. | ||
| 40 | |||
| 41 | 2005-06-13 Lute Kamstra <lute@gnu.org> | ||
| 42 | |||
| 43 | * text.texi (Special Properties): Fix cross reference. | ||
| 44 | |||
| 45 | 2005-06-11 Luc Teirlinck <teirllm@auburn.edu> | ||
| 46 | |||
| 47 | * debugging.texi (Function Debugging): Delete mention of empty | ||
| 48 | string argument to `cancel-debug-on-entry'. Delete inaccurate | ||
| 49 | description of the return value of that command. | ||
| 50 | |||
| 51 | 2005-06-11 Alan Mackenzie <acm@muc.de> | ||
| 52 | |||
| 53 | * text.texi (Adaptive Fill): Amplify the description of | ||
| 54 | fill-context-prefix. | ||
| 55 | |||
| 56 | 2005-06-10 Luc Teirlinck <teirllm@auburn.edu> | ||
| 57 | |||
| 58 | * syntax.texi (Parsing Exprssions): Fix Texinfo error. | ||
| 59 | |||
| 60 | 2005-06-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 61 | |||
| 62 | * syntax.texi (Parsing Expressions): Document syntax-ppss. | ||
| 63 | |||
| 64 | 2005-06-10 Luc Teirlinck <teirllm@auburn.edu> | ||
| 65 | |||
| 66 | * debugging.texi (Error Debugging): Minor rewording. | ||
| 67 | (Function Debugging): FUNCTION-NAME arg to `cancel-debug-on-entry' | ||
| 68 | is optional. | ||
| 69 | |||
| 70 | 2005-06-10 Lute Kamstra <lute@gnu.org> | ||
| 71 | |||
| 72 | * elisp.texi: Use EMACSVER to refer to the current version of Emacs. | ||
| 73 | (Top): Give it a title. Correct version number. Give the | ||
| 74 | detailed node listing a more prominent header. | ||
| 75 | * intro.texi: Don't set VERSION here a second time. | ||
| 76 | Mention Emacs's version too. | ||
| 77 | * anti.texi (Antinews): Use EMACSVER to refer to the current | ||
| 78 | version of Emacs. | ||
| 79 | |||
| 1 | 2005-06-09 Kim F. Storm <storm@cua.dk> | 80 | 2005-06-09 Kim F. Storm <storm@cua.dk> |
| 2 | 81 | ||
| 3 | * searching.texi (Entire Match Data): Explain new `reseat' argument to | 82 | * searching.texi (Entire Match Data): Explain new `reseat' argument to |
| @@ -78,8 +157,8 @@ | |||
| 78 | 157 | ||
| 79 | 2005-05-21 Eli Zaretskii <eliz@gnu.org> | 158 | 2005-05-21 Eli Zaretskii <eliz@gnu.org> |
| 80 | 159 | ||
| 81 | * files.texi (Locating Files): New subsection. Describe | 160 | * files.texi (Locating Files): New subsection. |
| 82 | locate-file and executable-find. | 161 | Describe locate-file and executable-find. |
| 83 | 162 | ||
| 84 | 2005-05-21 Kevin Ryde <user42@zip.com.au> | 163 | 2005-05-21 Kevin Ryde <user42@zip.com.au> |
| 85 | 164 | ||
| @@ -94,8 +173,8 @@ | |||
| 94 | (Major Mode Conventions): Refer to `Auto Major Mode' in more | 173 | (Major Mode Conventions): Refer to `Auto Major Mode' in more |
| 95 | appropriate place. | 174 | appropriate place. |
| 96 | (Derived Modes): Small clarifications. | 175 | (Derived Modes): Small clarifications. |
| 97 | (Minor Mode Conventions, Keymaps and Minor Modes): Replace | 176 | (Minor Mode Conventions, Keymaps and Minor Modes): |
| 98 | references to nodes with references to anchors. | 177 | Replace references to nodes with references to anchors. |
| 99 | (Mode Line Data): Warn that `(:eval FORM)' should not load any files. | 178 | (Mode Line Data): Warn that `(:eval FORM)' should not load any files. |
| 100 | Clarify description of lists whose first element is an integer. | 179 | Clarify description of lists whose first element is an integer. |
| 101 | (Mode Line Variables): Add anchor. | 180 | (Mode Line Variables): Add anchor. |
| @@ -247,10 +326,10 @@ | |||
| 247 | (Font Lock Basics): Say that font-lock-defaults is buffer-local | 326 | (Font Lock Basics): Say that font-lock-defaults is buffer-local |
| 248 | when set and that some parts are optional. Add cross references. | 327 | when set and that some parts are optional. Add cross references. |
| 249 | (Search-based Fontification): Say how to specify font-lock-keywords. | 328 | (Search-based Fontification): Say how to specify font-lock-keywords. |
| 250 | Add cross references. Add font-lock-multiline to index. Move | 329 | Add cross references. Add font-lock-multiline to index. |
| 251 | font-lock-keywords-case-fold-search here from node "Other Font | 330 | Move font-lock-keywords-case-fold-search here from node "Other Font |
| 252 | Lock Variables". Document font-lock-add-keywords and | 331 | Lock Variables". Document font-lock-add-keywords and |
| 253 | font-lock-remove-keywords | 332 | font-lock-remove-keywords. |
| 254 | (Other Font Lock Variables): Move font-lock-keywords-only, | 333 | (Other Font Lock Variables): Move font-lock-keywords-only, |
| 255 | font-lock-syntax-table, font-lock-beginning-of-syntax-function, | 334 | font-lock-syntax-table, font-lock-beginning-of-syntax-function, |
| 256 | and font-lock-syntactic-face-function to node "Syntactic Font | 335 | and font-lock-syntactic-face-function to node "Syntactic Font |
| @@ -265,8 +344,8 @@ | |||
| 265 | and font-lock-syntactic-face-function here from node "Other Font | 344 | and font-lock-syntactic-face-function here from node "Other Font |
| 266 | Lock Variables". Move font-lock-syntactic-keywords to "Setting | 345 | Lock Variables". Move font-lock-syntactic-keywords to "Setting |
| 267 | Syntax Properties". Add cross references. | 346 | Syntax Properties". Add cross references. |
| 268 | (Setting Syntax Properties): New node. Move | 347 | (Setting Syntax Properties): New node. |
| 269 | font-lock-syntactic-keywords here from "Syntactic Font Lock". | 348 | Move font-lock-syntactic-keywords here from "Syntactic Font Lock". |
| 270 | * syntax.texi (Syntax Properties): Add cross reference. | 349 | * syntax.texi (Syntax Properties): Add cross reference. |
| 271 | * hooks.texi (Standard Hooks): Add Font-Lock hooks. | 350 | * hooks.texi (Standard Hooks): Add Font-Lock hooks. |
| 272 | 351 | ||
| @@ -325,7 +404,7 @@ | |||
| 325 | 404 | ||
| 326 | 2005-04-19 Kevin Ryde <user42@zip.com.au> | 405 | 2005-04-19 Kevin Ryde <user42@zip.com.au> |
| 327 | 406 | ||
| 328 | * streams.texi (Output Functions): Fix xref. | 407 | * streams.texi (Output Functions): Fix xref. |
| 329 | * strings.texi (String Conversion): Fix xref. | 408 | * strings.texi (String Conversion): Fix xref. |
| 330 | 409 | ||
| 331 | 2005-04-19 Kim F. Storm <storm@cua.dk> | 410 | 2005-04-19 Kim F. Storm <storm@cua.dk> |
| @@ -419,8 +498,8 @@ | |||
| 419 | 498 | ||
| 420 | * markers.texi (The Mark): Document temporary Transient Mark mode. | 499 | * markers.texi (The Mark): Document temporary Transient Mark mode. |
| 421 | 500 | ||
| 422 | * minibuf.texi (Reading File Names): Document | 501 | * minibuf.texi (Reading File Names): |
| 423 | read-file-name-completion-ignore-case. | 502 | Document read-file-name-completion-ignore-case. |
| 424 | 503 | ||
| 425 | * positions.texi (Screen Lines): Document nil for width argument | 504 | * positions.texi (Screen Lines): Document nil for width argument |
| 426 | to compute-motion. | 505 | to compute-motion. |
| @@ -440,11 +519,10 @@ | |||
| 440 | (Managing Overlays): Document remove-overlays. | 519 | (Managing Overlays): Document remove-overlays. |
| 441 | (Standard Faces): Document escape-glyph face. | 520 | (Standard Faces): Document escape-glyph face. |
| 442 | 521 | ||
| 443 | * minibuf.texi (Reading File Names): Document | 522 | * minibuf.texi (Reading File Names): Document read-file-name-function. |
| 444 | read-file-name-function. | ||
| 445 | 523 | ||
| 446 | * modes.texi (Other Font Lock Variables): Document | 524 | * modes.texi (Other Font Lock Variables): |
| 447 | font-lock-lines-before. | 525 | Document font-lock-lines-before. |
| 448 | 526 | ||
| 449 | * positions.texi (Skipping Characters): skip-chars-forward allows | 527 | * positions.texi (Skipping Characters): skip-chars-forward allows |
| 450 | character classes. | 528 | character classes. |
| @@ -498,18 +576,18 @@ | |||
| 498 | (Progress): Clarify. | 576 | (Progress): Clarify. |
| 499 | (Invisible Text): Explain that main loop moves point out. | 577 | (Invisible Text): Explain that main loop moves point out. |
| 500 | (Selective Display): Say "hidden", not "invisible". | 578 | (Selective Display): Say "hidden", not "invisible". |
| 501 | (Managing Overlays): Moved up. Describe relation to Undo here. | 579 | (Managing Overlays): Move up. Describe relation to Undo here. |
| 502 | (Overlay Properties): Clarify intro. | 580 | (Overlay Properties): Clarify intro. |
| 503 | (Finding Overlays): Explain return values when nothing found. | 581 | (Finding Overlays): Explain return values when nothing found. |
| 504 | (Width): truncate-string-to-width has added arg. | 582 | (Width): truncate-string-to-width has added arg. |
| 505 | (Displaying Faces): Clarify and update mode line face handling. | 583 | (Displaying Faces): Clarify and update mode line face handling. |
| 506 | (Face Functions): Minor cleanup. | 584 | (Face Functions): Minor cleanup. |
| 507 | (Conditional Display): Merged into Other Display Specs. | 585 | (Conditional Display): Merge into Other Display Specs. |
| 508 | (Pixel Specification, Other Display Specs): Minor cleanups. | 586 | (Pixel Specification, Other Display Specs): Minor cleanups. |
| 509 | (Images, Image Descriptors): Minor cleanups. | 587 | (Images, Image Descriptors): Minor cleanups. |
| 510 | (GIF Images): Patents have expired. | 588 | (GIF Images): Patents have expired. |
| 511 | (Showing Images): Explain default text for insert-image. | 589 | (Showing Images): Explain default text for insert-image. |
| 512 | (Manipulating Button Types): Merged into Manipulating Buttons. | 590 | (Manipulating Button Types): Merge into Manipulating Buttons. |
| 513 | (Making Buttons): Explain return values. | 591 | (Making Buttons): Explain return values. |
| 514 | (Button Buffer Commands): Add xref. | 592 | (Button Buffer Commands): Add xref. |
| 515 | (Inverse Video): Update mode-line-inverse-video. | 593 | (Inverse Video): Update mode-line-inverse-video. |
| @@ -869,8 +947,8 @@ | |||
| 869 | * commands.texi (Misc Events): Describe the help-echo event. | 947 | * commands.texi (Misc Events): Describe the help-echo event. |
| 870 | 948 | ||
| 871 | * text.texi (Special Properties) <help-echo>: Use `pos' | 949 | * text.texi (Special Properties) <help-echo>: Use `pos' |
| 872 | consistently in description of the help-echo property. Use | 950 | consistently in description of the help-echo property. |
| 873 | @code{nil} instead of @var{nil}. | 951 | Use @code{nil} instead of @var{nil}. |
| 874 | 952 | ||
| 875 | * display.texi (Overlay Properties): Fix the index entry for | 953 | * display.texi (Overlay Properties): Fix the index entry for |
| 876 | help-echo overlay property. | 954 | help-echo overlay property. |
diff --git a/lispref/Makefile.in b/lispref/Makefile.in index 2fab86ab876..f2e5e46874f 100644 --- a/lispref/Makefile.in +++ b/lispref/Makefile.in | |||
| @@ -124,7 +124,7 @@ distclean: clean | |||
| 124 | 124 | ||
| 125 | maintainer-clean: clean | 125 | maintainer-clean: clean |
| 126 | rm -f elisp.dvi elisp.oaux | 126 | rm -f elisp.dvi elisp.oaux |
| 127 | cd $(infodir); rm -f elisp elisp-[1-9] elisp-[1-9][0-9] | 127 | cd $(infodir); rm -f elisp elisp-[1-9] elisp-[1-9][0-9] |
| 128 | 128 | ||
| 129 | dist: $(infodir)/elisp elisp.dvi | 129 | dist: $(infodir)/elisp elisp.dvi |
| 130 | -rm -rf temp | 130 | -rm -rf temp |
diff --git a/lispref/anti.texi b/lispref/anti.texi index 458409f2603..46375f3f157 100644 --- a/lispref/anti.texi +++ b/lispref/anti.texi | |||
| @@ -10,7 +10,8 @@ | |||
| 10 | 10 | ||
| 11 | For those users who live backwards in time, here is information about | 11 | For those users who live backwards in time, here is information about |
| 12 | downgrading to Emacs version 21.4. We hope you will enjoy the greater | 12 | downgrading to Emacs version 21.4. We hope you will enjoy the greater |
| 13 | simplicity that results from the absence of many Emacs 22 features. | 13 | simplicity that results from the absence of many Emacs @value{EMACSVER} |
| 14 | features. | ||
| 14 | 15 | ||
| 15 | @section Old Lisp Features in Emacs 21 | 16 | @section Old Lisp Features in Emacs 21 |
| 16 | 17 | ||
diff --git a/lispref/debugging.texi b/lispref/debugging.texi index 07dfe18f283..739dd1fe298 100644 --- a/lispref/debugging.texi +++ b/lispref/debugging.texi | |||
| @@ -118,8 +118,8 @@ the error. The easiest way is usually to set | |||
| 118 | @end defopt | 118 | @end defopt |
| 119 | 119 | ||
| 120 | @defopt eval-expression-debug-on-error | 120 | @defopt eval-expression-debug-on-error |
| 121 | If you set this variable to a non-@code{nil} value, then | 121 | If this variable has a non-@code{nil} value, then |
| 122 | @code{debug-on-error} will be set to @code{t} when evaluating with the | 122 | @code{debug-on-error} is set to @code{t} when evaluating with the |
| 123 | command @code{eval-expression}. If | 123 | command @code{eval-expression}. If |
| 124 | @code{eval-expression-debug-on-error} is @code{nil}, then the value of | 124 | @code{eval-expression-debug-on-error} is @code{nil}, then the value of |
| 125 | @code{debug-on-error} is not changed. @xref{Lisp Eval,, Evaluating | 125 | @code{debug-on-error} is not changed. @xref{Lisp Eval,, Evaluating |
| @@ -210,15 +210,19 @@ called shortly before the problem, step quickly over the call to that | |||
| 210 | function, and then step through its caller. | 210 | function, and then step through its caller. |
| 211 | 211 | ||
| 212 | @deffn Command debug-on-entry function-name | 212 | @deffn Command debug-on-entry function-name |
| 213 | This function requests @var{function-name} to invoke the debugger each time | 213 | This function requests @var{function-name} to invoke the debugger each |
| 214 | it is called. It works by inserting the form @code{(debug 'debug)} into | 214 | time it is called. It works by inserting the form |
| 215 | the function definition as the first form. | 215 | @code{(implement-debug-on-entry)} into the function definition as the |
| 216 | 216 | first form. | |
| 217 | Any function defined as Lisp code may be set to break on entry, | 217 | |
| 218 | regardless of whether it is interpreted code or compiled code. If the | 218 | Any function or macro defined as Lisp code may be set to break on |
| 219 | function is a command, it will enter the debugger when called from Lisp | 219 | entry, regardless of whether it is interpreted code or compiled code. |
| 220 | and when called interactively (after the reading of the arguments). You | 220 | If the function is a command, it will enter the debugger when called |
| 221 | can't debug primitive functions (i.e., those written in C) this way. | 221 | from Lisp and when called interactively (after the reading of the |
| 222 | arguments). You can also set debug-on-entry for primitive functions | ||
| 223 | (i.e., those written in C) this way, but it only takes effect when the | ||
| 224 | primitive is called from Lisp code. Debug-on-entry is not allowed for | ||
| 225 | special forms. | ||
| 222 | 226 | ||
| 223 | When @code{debug-on-entry} is called interactively, it prompts for | 227 | When @code{debug-on-entry} is called interactively, it prompts for |
| 224 | @var{function-name} in the minibuffer. If the function is already set | 228 | @var{function-name} in the minibuffer. If the function is already set |
| @@ -267,16 +271,13 @@ Debugger entered--entering a function: | |||
| 267 | @end example | 271 | @end example |
| 268 | @end deffn | 272 | @end deffn |
| 269 | 273 | ||
| 270 | @deffn Command cancel-debug-on-entry function-name | 274 | @deffn Command cancel-debug-on-entry &optional function-name |
| 271 | This function undoes the effect of @code{debug-on-entry} on | 275 | This function undoes the effect of @code{debug-on-entry} on |
| 272 | @var{function-name}. When called interactively, it prompts for | 276 | @var{function-name}. When called interactively, it prompts for |
| 273 | @var{function-name} in the minibuffer. If @var{function-name} is | 277 | @var{function-name} in the minibuffer. If @var{function-name} is |
| 274 | @code{nil} or the empty string, it cancels break-on-entry for all | 278 | omitted or @code{nil}, it cancels break-on-entry for all functions. |
| 275 | functions. | ||
| 276 | |||
| 277 | Calling @code{cancel-debug-on-entry} does nothing to a function which is | 279 | Calling @code{cancel-debug-on-entry} does nothing to a function which is |
| 278 | not currently set up to break on entry. It always returns | 280 | not currently set up to break on entry. |
| 279 | @var{function-name}. | ||
| 280 | @end deffn | 281 | @end deffn |
| 281 | 282 | ||
| 282 | @node Explicit Debug | 283 | @node Explicit Debug |
diff --git a/lispref/edebug.texi b/lispref/edebug.texi index cc42926ecf7..981afbb894c 100644 --- a/lispref/edebug.texi +++ b/lispref/edebug.texi | |||
| @@ -65,7 +65,7 @@ enable you to use it. | |||
| 65 | * Modes: Edebug Execution Modes. Execution modes, stopping more or less often. | 65 | * Modes: Edebug Execution Modes. Execution modes, stopping more or less often. |
| 66 | * Jumping:: Commands to jump to a specified place. | 66 | * Jumping:: Commands to jump to a specified place. |
| 67 | * Misc: Edebug Misc. Miscellaneous commands. | 67 | * Misc: Edebug Misc. Miscellaneous commands. |
| 68 | * Breakpoints:: Setting breakpoints to make the program stop. | 68 | * Breaks:: Setting breakpoints to make the program stop. |
| 69 | * Trapping Errors:: Trapping errors with Edebug. | 69 | * Trapping Errors:: Trapping errors with Edebug. |
| 70 | * Views: Edebug Views. Views inside and outside of Edebug. | 70 | * Views: Edebug Views. Views inside and outside of Edebug. |
| 71 | * Eval: Edebug Eval. Evaluating expressions within Edebug. | 71 | * Eval: Edebug Eval. Evaluating expressions within Edebug. |
| @@ -75,7 +75,7 @@ enable you to use it. | |||
| 75 | * Trace Buffer:: How to produce trace output in a buffer. | 75 | * Trace Buffer:: How to produce trace output in a buffer. |
| 76 | * Coverage Testing:: How to test evaluation coverage. | 76 | * Coverage Testing:: How to test evaluation coverage. |
| 77 | * The Outside Context:: Data that Edebug saves and restores. | 77 | * The Outside Context:: Data that Edebug saves and restores. |
| 78 | * Instrumenting Macro Calls:: Specifying how to handle macro calls. | 78 | * Edebug and Macros:: Specifying how to handle macro calls. |
| 79 | * Options: Edebug Options. Option variables for customizing Edebug. | 79 | * Options: Edebug Options. Option variables for customizing Edebug. |
| 80 | @end menu | 80 | @end menu |
| 81 | 81 | ||
| @@ -203,13 +203,13 @@ function. | |||
| 203 | @code{interactive} forms with an expression argument, anonymous lambda | 203 | @code{interactive} forms with an expression argument, anonymous lambda |
| 204 | expressions, and other defining forms. However, Edebug cannot determine | 204 | expressions, and other defining forms. However, Edebug cannot determine |
| 205 | on its own what a user-defined macro will do with the arguments of a | 205 | on its own what a user-defined macro will do with the arguments of a |
| 206 | macro call, so you must provide that information; see @ref{Instrumenting | 206 | macro call, so you must provide that information; see @ref{Edebug and |
| 207 | Macro Calls}, for details. | 207 | Macros}, for details. |
| 208 | 208 | ||
| 209 | When Edebug is about to instrument code for the first time in a | 209 | When Edebug is about to instrument code for the first time in a |
| 210 | session, it runs the hook @code{edebug-setup-hook}, then sets it to | 210 | session, it runs the hook @code{edebug-setup-hook}, then sets it to |
| 211 | @code{nil}. You can use this to load Edebug specifications | 211 | @code{nil}. You can use this to load Edebug specifications |
| 212 | (@pxref{Instrumenting Macro Calls}) associated with a package you are | 212 | (@pxref{Edebug and Macros}) associated with a package you are |
| 213 | using, but only when you use Edebug. | 213 | using, but only when you use Edebug. |
| 214 | 214 | ||
| 215 | @findex eval-expression @r{(Edebug)} | 215 | @findex eval-expression @r{(Edebug)} |
| @@ -253,7 +253,7 @@ Step: stop at the next stop point encountered (@code{edebug-step-mode}). | |||
| 253 | @item n | 253 | @item n |
| 254 | Next: stop at the next stop point encountered after an expression | 254 | Next: stop at the next stop point encountered after an expression |
| 255 | (@code{edebug-next-mode}). Also see @code{edebug-forward-sexp} in | 255 | (@code{edebug-next-mode}). Also see @code{edebug-forward-sexp} in |
| 256 | @ref{Edebug Misc}. | 256 | @ref{Jumping}. |
| 257 | 257 | ||
| 258 | @item t | 258 | @item t |
| 259 | Trace: pause (normally one second) at each Edebug stop point | 259 | Trace: pause (normally one second) at each Edebug stop point |
| @@ -341,9 +341,8 @@ Run the program until the end of the containing sexp. | |||
| 341 | Step into the function or macro called by the form after point. | 341 | Step into the function or macro called by the form after point. |
| 342 | @end table | 342 | @end table |
| 343 | 343 | ||
| 344 | The @kbd{h} command proceeds to the stop point near the current location | 344 | The @kbd{h} command proceeds to the stop point at or after the current |
| 345 | of point, using a temporary breakpoint. See @ref{Breakpoints}, for more | 345 | location of point, using a temporary breakpoint. |
| 346 | information about breakpoints. | ||
| 347 | 346 | ||
| 348 | The @kbd{f} command runs the program forward over one expression. More | 347 | The @kbd{f} command runs the program forward over one expression. More |
| 349 | precisely, it sets a temporary breakpoint at the position that | 348 | precisely, it sets a temporary breakpoint at the position that |
| @@ -427,14 +426,23 @@ recursively. Whenever Edebug is active, you can quit to the top level | |||
| 427 | with @kbd{q} or abort one recursive edit level with @kbd{C-]}. You can | 426 | with @kbd{q} or abort one recursive edit level with @kbd{C-]}. You can |
| 428 | display a backtrace of all the pending evaluations with @kbd{d}. | 427 | display a backtrace of all the pending evaluations with @kbd{d}. |
| 429 | 428 | ||
| 430 | @node Breakpoints | 429 | @node Breaks |
| 431 | @subsection Breakpoints | 430 | @subsection Breaks |
| 432 | 431 | ||
| 433 | @cindex breakpoints | ||
| 434 | Edebug's step mode stops execution when the next stop point is reached. | 432 | Edebug's step mode stops execution when the next stop point is reached. |
| 435 | There are three other ways to stop Edebug execution once it has started: | 433 | There are three other ways to stop Edebug execution once it has started: |
| 436 | breakpoints, the global break condition, and source breakpoints. | 434 | breakpoints, the global break condition, and source breakpoints. |
| 437 | 435 | ||
| 436 | @menu | ||
| 437 | * Breakpoints:: Breakpoints at stop points. | ||
| 438 | * Global Break Condition:: Breaking on an event. | ||
| 439 | * Source Breakpoints:: Embedding breakpoints in source code. | ||
| 440 | @end menu | ||
| 441 | |||
| 442 | @node Breakpoints | ||
| 443 | @subsubsection Breakpoints | ||
| 444 | |||
| 445 | @cindex breakpoints | ||
| 438 | While using Edebug, you can specify @dfn{breakpoints} in the program you | 446 | While using Edebug, you can specify @dfn{breakpoints} in the program you |
| 439 | are testing: these are places where execution should stop. You can set a | 447 | are testing: these are places where execution should stop. You can set a |
| 440 | breakpoint at any stop point, as defined in @ref{Using Edebug}. For | 448 | breakpoint at any stop point, as defined in @ref{Using Edebug}. For |
| @@ -494,12 +502,6 @@ function, or to the first breakpoint if there are no following | |||
| 494 | breakpoints. This command does not continue execution---it just moves | 502 | breakpoints. This command does not continue execution---it just moves |
| 495 | point in the buffer. | 503 | point in the buffer. |
| 496 | 504 | ||
| 497 | @menu | ||
| 498 | * Global Break Condition:: Breaking on an event. | ||
| 499 | * Source Breakpoints:: Embedding breakpoints in source code. | ||
| 500 | @end menu | ||
| 501 | |||
| 502 | |||
| 503 | @node Global Break Condition | 505 | @node Global Break Condition |
| 504 | @subsubsection Global Break Condition | 506 | @subsubsection Global Break Condition |
| 505 | 507 | ||
| @@ -515,7 +517,9 @@ evaluating the condition gets an error, execution does not stop. | |||
| 515 | @findex edebug-set-global-break-condition | 517 | @findex edebug-set-global-break-condition |
| 516 | The condition expression is stored in | 518 | The condition expression is stored in |
| 517 | @code{edebug-global-break-condition}. You can specify a new expression | 519 | @code{edebug-global-break-condition}. You can specify a new expression |
| 518 | using the @kbd{X} command (@code{edebug-set-global-break-condition}). | 520 | using the @kbd{X} command from the source code buffer while Edebug is |
| 521 | active, or using @kbd{C-x X X} from any buffer at any time, as long as | ||
| 522 | Edebug is loaded (@code{edebug-set-global-break-condition}). | ||
| 519 | 523 | ||
| 520 | The global break condition is the simplest way to find where in your | 524 | The global break condition is the simplest way to find where in your |
| 521 | code some event occurs, but it makes code run much more slowly. So you | 525 | code some event occurs, but it makes code run much more slowly. So you |
| @@ -582,13 +586,14 @@ effect outside of Edebug. | |||
| 582 | 586 | ||
| 583 | @table @kbd | 587 | @table @kbd |
| 584 | @item v | 588 | @item v |
| 585 | Temporarily view the outside window configuration | 589 | View the outside window configuration (@code{edebug-view-outside}). |
| 586 | (@code{edebug-view-outside}). | 590 | Type @kbd{C-x X w} to return to Edebug. |
| 587 | 591 | ||
| 588 | @item p | 592 | @item p |
| 589 | Temporarily display the outside current buffer with point at its outside | 593 | Temporarily display the outside current buffer with point at its |
| 590 | position (@code{edebug-bounce-point}). With a prefix argument @var{n}, | 594 | outside position (@code{edebug-bounce-point}), pausing for one second |
| 591 | pause for @var{n} seconds instead. | 595 | before returning to Edebug. With a prefix argument @var{n}, pause for |
| 596 | @var{n} seconds instead. | ||
| 592 | 597 | ||
| 593 | @item w | 598 | @item w |
| 594 | Move point back to the current stop point in the source code buffer | 599 | Move point back to the current stop point in the source code buffer |
| @@ -610,8 +615,12 @@ source code buffer, you must use @kbd{C-x X W} from the global keymap. | |||
| 610 | 615 | ||
| 611 | You can view the outside window configuration with @kbd{v} or just | 616 | You can view the outside window configuration with @kbd{v} or just |
| 612 | bounce to the point in the current buffer with @kbd{p}, even if | 617 | bounce to the point in the current buffer with @kbd{p}, even if |
| 613 | it is not normally displayed. After moving point, you may wish to jump | 618 | it is not normally displayed. |
| 614 | back to the stop point with @kbd{w} from a source code buffer. | 619 | |
| 620 | After moving point, you may wish to jump back to the stop point. | ||
| 621 | You can do that with @kbd{w} from a source code buffer. You can jump | ||
| 622 | back to the stop point in the source code buffer from any buffer using | ||
| 623 | @kbd{C-x X w}. | ||
| 615 | 624 | ||
| 616 | Each time you use @kbd{W} to turn saving @emph{off}, Edebug forgets the | 625 | Each time you use @kbd{W} to turn saving @emph{off}, Edebug forgets the |
| 617 | saved outside window configuration---so that even if you turn saving | 626 | saved outside window configuration---so that even if you turn saving |
| @@ -838,8 +847,9 @@ redefining the functions @code{edebug-print-trace-before} and | |||
| 838 | @defmac edebug-tracing string body@dots{} | 847 | @defmac edebug-tracing string body@dots{} |
| 839 | This macro requests additional trace information around the execution | 848 | This macro requests additional trace information around the execution |
| 840 | of the @var{body} forms. The argument @var{string} specifies text | 849 | of the @var{body} forms. The argument @var{string} specifies text |
| 841 | to put in the trace buffer. All the arguments are evaluated, and | 850 | to put in the trace buffer, after the @samp{@{} or @samp{@}}. All |
| 842 | @code{edebug-tracing} returns the value of the last form in @var{body}. | 851 | the arguments are evaluated, and @code{edebug-tracing} returns the |
| 852 | value of the last form in @var{body}. | ||
| 843 | @end defmac | 853 | @end defmac |
| 844 | 854 | ||
| 845 | @defun edebug-trace format-string &rest format-args | 855 | @defun edebug-trace format-string &rest format-args |
| @@ -990,7 +1000,7 @@ current buffer, are saved and restored. | |||
| 990 | @item | 1000 | @item |
| 991 | @cindex window configuration (Edebug) | 1001 | @cindex window configuration (Edebug) |
| 992 | The outside window configuration is saved and restored if | 1002 | The outside window configuration is saved and restored if |
| 993 | @code{edebug-save-windows} is non-@code{nil} (@pxref{Edebug Display Update}). | 1003 | @code{edebug-save-windows} is non-@code{nil} (@pxref{Edebug Options}). |
| 994 | 1004 | ||
| 995 | The window configuration is not restored on error or quit, but the | 1005 | The window configuration is not restored on error or quit, but the |
| 996 | outside selected window @emph{is} reselected even on error or quit in | 1006 | outside selected window @emph{is} reselected even on error or quit in |
| @@ -1061,8 +1071,21 @@ Edebug is active, @code{defining-kbd-macro} is bound to | |||
| 1061 | @code{edebug-continue-kbd-macro}. | 1071 | @code{edebug-continue-kbd-macro}. |
| 1062 | @end itemize | 1072 | @end itemize |
| 1063 | 1073 | ||
| 1074 | @node Edebug and Macros | ||
| 1075 | @subsection Edebug and Macros | ||
| 1076 | |||
| 1077 | To make Edebug properly instrument expressions that call macros, some | ||
| 1078 | extra care is needed. This subsection explains the details. | ||
| 1079 | |||
| 1080 | @menu | ||
| 1081 | * Instrumenting Macro Calls:: The basic problem. | ||
| 1082 | * Specification List:: How to specify complex patterns of evaluation. | ||
| 1083 | * Backtracking:: What Edebug does when matching fails. | ||
| 1084 | * Specification Examples:: To help understand specifications. | ||
| 1085 | @end menu | ||
| 1086 | |||
| 1064 | @node Instrumenting Macro Calls | 1087 | @node Instrumenting Macro Calls |
| 1065 | @subsection Instrumenting Macro Calls | 1088 | @subsubsection Instrumenting Macro Calls |
| 1066 | 1089 | ||
| 1067 | When Edebug instruments an expression that calls a Lisp macro, it needs | 1090 | When Edebug instruments an expression that calls a Lisp macro, it needs |
| 1068 | additional information about the macro to do the job properly. This is | 1091 | additional information about the macro to do the job properly. This is |
| @@ -1101,7 +1124,7 @@ define Edebug specifications for special forms implemented in C. | |||
| 1101 | @deffn Macro def-edebug-spec macro specification | 1124 | @deffn Macro def-edebug-spec macro specification |
| 1102 | Specify which expressions of a call to macro @var{macro} are forms to be | 1125 | Specify which expressions of a call to macro @var{macro} are forms to be |
| 1103 | evaluated. @var{specification} should be the edebug specification. | 1126 | evaluated. @var{specification} should be the edebug specification. |
| 1104 | It is not evaluated. | 1127 | Neither argument is evaluated. |
| 1105 | 1128 | ||
| 1106 | The @var{macro} argument can actually be any symbol, not just a macro | 1129 | The @var{macro} argument can actually be any symbol, not just a macro |
| 1107 | name. | 1130 | name. |
| @@ -1128,12 +1151,12 @@ calling form. The possible elements of a specification list are | |||
| 1128 | described in the following sections. | 1151 | described in the following sections. |
| 1129 | @end table | 1152 | @end table |
| 1130 | 1153 | ||
| 1131 | @menu | 1154 | @vindex edebug-eval-macro-args |
| 1132 | * Specification List:: How to specify complex patterns of evaluation. | 1155 | If a macro has no Edebug specification, neither through a @code{debug} |
| 1133 | * Backtracking:: What Edebug does when matching fails. | 1156 | declaration nor through a @code{def-edebug-spec} call, the variable |
| 1134 | * Specification Examples:: To help understand specifications. | 1157 | @code{edebug-eval-macro-args} comes into play. If it is @code{nil}, |
| 1135 | @end menu | 1158 | the default, none of the arguments is instrumented for evaluation. |
| 1136 | 1159 | If it is non-@code{nil}, all arguments are instrumented. | |
| 1137 | 1160 | ||
| 1138 | @node Specification List | 1161 | @node Specification List |
| 1139 | @subsubsection Specification List | 1162 | @subsubsection Specification List |
| @@ -1406,7 +1429,7 @@ inside of the sublist to prevent backtracking once a sublist is found. | |||
| 1406 | Edebug uses the following specifications for @code{defun} and | 1429 | Edebug uses the following specifications for @code{defun} and |
| 1407 | @code{defmacro} and the associated argument list and @code{interactive} | 1430 | @code{defmacro} and the associated argument list and @code{interactive} |
| 1408 | specifications. It is necessary to handle interactive forms specially | 1431 | specifications. It is necessary to handle interactive forms specially |
| 1409 | since an expression argument it is actually evaluated outside of the | 1432 | since an expression argument is actually evaluated outside of the |
| 1410 | function body. | 1433 | function body. |
| 1411 | 1434 | ||
| 1412 | @smallexample | 1435 | @smallexample |
diff --git a/lispref/elisp.texi b/lispref/elisp.texi index 7a19f8a47da..4be680969a1 100644 --- a/lispref/elisp.texi +++ b/lispref/elisp.texi | |||
| @@ -4,8 +4,10 @@ | |||
| 4 | @settitle GNU Emacs Lisp Reference Manual | 4 | @settitle GNU Emacs Lisp Reference Manual |
| 5 | @c %**end of header | 5 | @c %**end of header |
| 6 | 6 | ||
| 7 | @c Versino of the manual. | 7 | @c Version of the manual and of Emacs. |
| 8 | @set VERSION 2.9 | 8 | @c Please remember to update the edition number in README as well. |
| 9 | @set VERSION 2.9 | ||
| 10 | @set EMACSVER 22.0.50 | ||
| 9 | 11 | ||
| 10 | @dircategory Emacs | 12 | @dircategory Emacs |
| 11 | @direntry | 13 | @direntry |
| @@ -26,9 +28,7 @@ | |||
| 26 | 28 | ||
| 27 | @ifnottex | 29 | @ifnottex |
| 28 | This Info file contains edition @value{VERSION} of the GNU Emacs Lisp | 30 | This Info file contains edition @value{VERSION} of the GNU Emacs Lisp |
| 29 | Reference Manual, corresponding to Emacs version 22.1. | 31 | Reference Manual, corresponding to Emacs version @value{EMACSVER}. |
| 30 | @c Please REMEMBER to update edition number in *four* places in this file | ||
| 31 | @c and also in *one* place in intro.texi and *one* in README. | ||
| 32 | 32 | ||
| 33 | Published by the Free Software Foundation | 33 | Published by the Free Software Foundation |
| 34 | 59 Temple Place, Suite 330 | 34 | 59 Temple Place, Suite 330 |
| @@ -52,9 +52,7 @@ Software Foundation raise funds for GNU development.'' | |||
| 52 | 52 | ||
| 53 | @titlepage | 53 | @titlepage |
| 54 | @title GNU Emacs Lisp Reference Manual | 54 | @title GNU Emacs Lisp Reference Manual |
| 55 | @subtitle For Emacs Version 22 | 55 | @subtitle For Emacs Version @value{EMACSVER} |
| 56 | @c The edition number appears in several places in this file | ||
| 57 | @c and also in the file intro.texi. | ||
| 58 | @subtitle Revision @value{VERSION}, January 2002 | 56 | @subtitle Revision @value{VERSION}, January 2002 |
| 59 | 57 | ||
| 60 | @author by Bil Lewis, Dan LaLiberte, Richard Stallman | 58 | @author by Bil Lewis, Dan LaLiberte, Richard Stallman |
| @@ -66,7 +64,7 @@ Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998,@* | |||
| 66 | 64 | ||
| 67 | @sp 2 | 65 | @sp 2 |
| 68 | Edition @value{VERSION} @* | 66 | Edition @value{VERSION} @* |
| 69 | Revised for Emacs Version 22.1,@* | 67 | Revised for Emacs Version @value{EMACSVER},@* |
| 70 | January 2002.@* | 68 | January 2002.@* |
| 71 | @sp 2 | 69 | @sp 2 |
| 72 | ISBN 1-882114-73-6 | 70 | ISBN 1-882114-73-6 |
| @@ -92,11 +90,12 @@ Cover art by Etienne Suvasa. | |||
| 92 | @end titlepage | 90 | @end titlepage |
| 93 | @page | 91 | @page |
| 94 | 92 | ||
| 93 | @ifnottex | ||
| 95 | @node Top, Introduction, (dir), (dir) | 94 | @node Top, Introduction, (dir), (dir) |
| 95 | @top Emacs Lisp | ||
| 96 | 96 | ||
| 97 | @ifnottex | ||
| 98 | This Info file contains edition @value{VERSION} of the GNU Emacs Lisp | 97 | This Info file contains edition @value{VERSION} of the GNU Emacs Lisp |
| 99 | Reference Manual, corresponding to GNU Emacs version 22.1. | 98 | Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}. |
| 100 | @end ifnottex | 99 | @end ifnottex |
| 101 | 100 | ||
| 102 | @menu | 101 | @menu |
| @@ -156,7 +155,7 @@ Reference Manual, corresponding to GNU Emacs version 22.1. | |||
| 156 | 155 | ||
| 157 | Appendices | 156 | Appendices |
| 158 | 157 | ||
| 159 | * Antinews:: Info for users downgrading to Emacs 20. | 158 | * Antinews:: Info for users downgrading to Emacs 21. |
| 160 | * GNU Free Documentation License:: The license for this documentation | 159 | * GNU Free Documentation License:: The license for this documentation |
| 161 | * GPL:: Conditions for copying and changing GNU Emacs. | 160 | * GPL:: Conditions for copying and changing GNU Emacs. |
| 162 | * Tips:: Advice and coding conventions for Emacs Lisp. | 161 | * Tips:: Advice and coding conventions for Emacs Lisp. |
| @@ -171,9 +170,10 @@ Appendices | |||
| 171 | * Index:: Index including concepts, functions, variables, | 170 | * Index:: Index including concepts, functions, variables, |
| 172 | and other terms. | 171 | and other terms. |
| 173 | 172 | ||
| 174 | * New Symbols:: New functions and variables in Emacs 22. | 173 | * New Symbols:: New functions and variables in Emacs @value{EMACSVER}. |
| 175 | 174 | ||
| 176 | --- The Detailed Node Listing --- | 175 | Detailed Node Listing |
| 176 | --------------------- | ||
| 177 | 177 | ||
| 178 | Here are other nodes that are inferiors of those already listed, | 178 | Here are other nodes that are inferiors of those already listed, |
| 179 | mentioned here so you can get to them in one step: | 179 | mentioned here so you can get to them in one step: |
| @@ -514,7 +514,7 @@ Edebug | |||
| 514 | * Edebug Execution Modes:: Execution modes, stopping more or less often. | 514 | * Edebug Execution Modes:: Execution modes, stopping more or less often. |
| 515 | * Jumping:: Commands to jump to a specified place. | 515 | * Jumping:: Commands to jump to a specified place. |
| 516 | * Edebug Misc:: Miscellaneous commands. | 516 | * Edebug Misc:: Miscellaneous commands. |
| 517 | * Breakpoints:: Setting breakpoints to make the program stop. | 517 | * Breaks:: Setting breakpoints to make the program stop. |
| 518 | * Trapping Errors:: Trapping errors with Edebug. | 518 | * Trapping Errors:: Trapping errors with Edebug. |
| 519 | * Edebug Views:: Views inside and outside of Edebug. | 519 | * Edebug Views:: Views inside and outside of Edebug. |
| 520 | * Edebug Eval:: Evaluating expressions within Edebug. | 520 | * Edebug Eval:: Evaluating expressions within Edebug. |
| @@ -524,7 +524,7 @@ Edebug | |||
| 524 | * Trace Buffer:: How to produce trace output in a buffer. | 524 | * Trace Buffer:: How to produce trace output in a buffer. |
| 525 | * Coverage Testing:: How to test evaluation coverage. | 525 | * Coverage Testing:: How to test evaluation coverage. |
| 526 | * The Outside Context:: Data that Edebug saves and restores. | 526 | * The Outside Context:: Data that Edebug saves and restores. |
| 527 | * Instrumenting Macro Calls:: Specifying how to handle macro calls. | 527 | * Edebug and Macros:: Specifying how to handle macro calls. |
| 528 | * Edebug Options:: Option variables for customizing Edebug. | 528 | * Edebug Options:: Option variables for customizing Edebug. |
| 529 | 529 | ||
| 530 | Debugging Invalid Lisp Syntax | 530 | Debugging Invalid Lisp Syntax |
diff --git a/lispref/intro.texi b/lispref/intro.texi index 999db7ad722..bb264c81c46 100644 --- a/lispref/intro.texi +++ b/lispref/intro.texi | |||
| @@ -5,9 +5,6 @@ | |||
| 5 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../info/intro | 6 | @setfilename ../info/intro |
| 7 | 7 | ||
| 8 | @c Versino of the manual. | ||
| 9 | @set VERSION 2.9 | ||
| 10 | |||
| 11 | @node Introduction, Lisp Data Types, Top, Top | 8 | @node Introduction, Lisp Data Types, Top, Top |
| 12 | @comment node-name, next, previous, up | 9 | @comment node-name, next, previous, up |
| 13 | @chapter Introduction | 10 | @chapter Introduction |
| @@ -38,7 +35,8 @@ Lisp that have counterparts in many programming languages, and later | |||
| 38 | chapters describe features that are peculiar to Emacs Lisp or relate | 35 | chapters describe features that are peculiar to Emacs Lisp or relate |
| 39 | specifically to editing. | 36 | specifically to editing. |
| 40 | 37 | ||
| 41 | This is edition @value{VERSION}. | 38 | This is edition @value{VERSION} of the GNU Emacs Lisp Reference |
| 39 | Manual, corresponding to Emacs version @value{EMACSVER}. | ||
| 42 | 40 | ||
| 43 | @menu | 41 | @menu |
| 44 | * Caveats:: Flaws and a request for help. | 42 | * Caveats:: Flaws and a request for help. |
diff --git a/lispref/searching.texi b/lispref/searching.texi index 15037068dd2..38a0f4915d7 100644 --- a/lispref/searching.texi +++ b/lispref/searching.texi | |||
| @@ -1531,8 +1531,9 @@ are reseated to point to nowhere, and if the value is @code{evaporate}, | |||
| 1531 | the markers are put back on the free list. | 1531 | the markers are put back on the free list. |
| 1532 | 1532 | ||
| 1533 | @strong{Warning:} When @code{evaporate} is specified for @var{reseat}, | 1533 | @strong{Warning:} When @code{evaporate} is specified for @var{reseat}, |
| 1534 | no other references to the markers on the @var{reuse} list; otherwise, | 1534 | you must ensure that no other references to the markers on the |
| 1535 | Emacs may crash during the next garbage collection. | 1535 | @var{reuse} list exists; otherwise, Emacs may crash during the next |
| 1536 | garbage collection. | ||
| 1536 | 1537 | ||
| 1537 | As always, there must be no possibility of intervening searches between | 1538 | As always, there must be no possibility of intervening searches between |
| 1538 | the call to a search function and the call to @code{match-data} that is | 1539 | the call to a search function and the call to @code{match-data} that is |
| @@ -1563,8 +1564,9 @@ are reseated to point to nowhere, and if the value is @code{evaporate}, | |||
| 1563 | the markers are put back on the free list. | 1564 | the markers are put back on the free list. |
| 1564 | 1565 | ||
| 1565 | @strong{Warning:} When @code{evaporate} is specified for @var{reseat}, | 1566 | @strong{Warning:} When @code{evaporate} is specified for @var{reseat}, |
| 1566 | no other references to the markers on the @var{match-list} list; otherwise, | 1567 | you must ensure that no other references to the markers on the |
| 1567 | Emacs may crash during the next garbage collection. | 1568 | @var{match-list} list exists; otherwise, Emacs may crash during the |
| 1569 | next garbage collection. | ||
| 1568 | 1570 | ||
| 1569 | @findex store-match-data | 1571 | @findex store-match-data |
| 1570 | @code{store-match-data} is a semi-obsolete alias for @code{set-match-data}. | 1572 | @code{store-match-data} is a semi-obsolete alias for @code{set-match-data}. |
diff --git a/lispref/syntax.texi b/lispref/syntax.texi index a9df79e9f57..e8707709fe2 100644 --- a/lispref/syntax.texi +++ b/lispref/syntax.texi | |||
| @@ -256,7 +256,7 @@ English text has no comment characters. In Lisp, the semicolon | |||
| 256 | @deffn {Syntax class} @w{inherit} | 256 | @deffn {Syntax class} @w{inherit} |
| 257 | This syntax class does not specify a particular syntax. It says to look | 257 | This syntax class does not specify a particular syntax. It says to look |
| 258 | in the standard syntax table to find the syntax of this character. The | 258 | in the standard syntax table to find the syntax of this character. The |
| 259 | designator for this syntax code is @samp{@@}. | 259 | designator for this syntax class is @samp{@@}. |
| 260 | @end deffn | 260 | @end deffn |
| 261 | 261 | ||
| 262 | @deffn {Syntax class} @w{generic comment delimiter} | 262 | @deffn {Syntax class} @w{generic comment delimiter} |
| @@ -385,7 +385,7 @@ nestable. | |||
| 385 | @samp{p} identifies an additional ``prefix character'' for Lisp syntax. | 385 | @samp{p} identifies an additional ``prefix character'' for Lisp syntax. |
| 386 | These characters are treated as whitespace when they appear between | 386 | These characters are treated as whitespace when they appear between |
| 387 | expressions. When they appear within an expression, they are handled | 387 | expressions. When they appear within an expression, they are handled |
| 388 | according to their usual syntax codes. | 388 | according to their usual syntax classes. |
| 389 | 389 | ||
| 390 | The function @code{backward-prefix-chars} moves back over these | 390 | The function @code{backward-prefix-chars} moves back over these |
| 391 | characters, as well as over characters whose primary syntax class is | 391 | characters, as well as over characters whose primary syntax class is |
| @@ -566,7 +566,7 @@ have certain syntax classes. | |||
| 566 | 566 | ||
| 567 | @defun skip-syntax-forward syntaxes &optional limit | 567 | @defun skip-syntax-forward syntaxes &optional limit |
| 568 | This function moves point forward across characters having syntax | 568 | This function moves point forward across characters having syntax |
| 569 | classes mentioned in @var{syntaxes} (a string of syntax code | 569 | classes mentioned in @var{syntaxes} (a string of syntax class |
| 570 | characters). It stops when it encounters the end of the buffer, or | 570 | characters). It stops when it encounters the end of the buffer, or |
| 571 | position @var{limit} (if specified), or a character it is not supposed | 571 | position @var{limit} (if specified), or a character it is not supposed |
| 572 | to skip. | 572 | to skip. |
| @@ -730,6 +730,36 @@ This function is most often used to compute indentation for languages | |||
| 730 | that have nested parentheses. | 730 | that have nested parentheses. |
| 731 | @end defun | 731 | @end defun |
| 732 | 732 | ||
| 733 | @defun syntax-ppss &optional pos | ||
| 734 | This function returns the state that the parser would have at position | ||
| 735 | @var{pos}, if it were started with a default start state at the | ||
| 736 | beginning of the buffer. Thus, it is equivalent to | ||
| 737 | @code{(parse-partial-sexp (point-min) @var{pos})}, except that | ||
| 738 | @code{syntax-ppss} uses a cache to speed up the computation. Also, | ||
| 739 | the 2nd value (previous complete subexpression) and 6th value (minimum | ||
| 740 | parenthesis depth) of the returned state are not meaningful. | ||
| 741 | @end defun | ||
| 742 | |||
| 743 | @defun syntax-ppss-flush-cache beg | ||
| 744 | This function flushes the cache used by @code{syntax-ppss}, starting at | ||
| 745 | position @var{beg}. | ||
| 746 | |||
| 747 | When @code{syntax-ppss} is called, it automatically hooks itself | ||
| 748 | to @code{before-change-functions} to keep its cache consistent. | ||
| 749 | But this can fail if @code{syntax-ppss} is called while | ||
| 750 | @code{before-change-functions} is temporarily let-bound, or if the | ||
| 751 | buffer is modified without obeying the hook, such as when using | ||
| 752 | @code{inhibit-modification-hooks}. For this reason, it is sometimes | ||
| 753 | necessary to flush the cache manually. | ||
| 754 | @end defun | ||
| 755 | |||
| 756 | @defvar syntax-begin-function | ||
| 757 | If this is non-nil, it should be a function that moves to an earlier | ||
| 758 | buffer position where the parser state is equivalent to @code{nil}, | ||
| 759 | i.e., a position outside of any comment, string, or parenthesis. | ||
| 760 | @code{syntax-ppss} uses it to supplement its cache. | ||
| 761 | @end defvar | ||
| 762 | |||
| 733 | @defun scan-lists from count depth | 763 | @defun scan-lists from count depth |
| 734 | This function scans forward @var{count} balanced parenthetical groupings | 764 | This function scans forward @var{count} balanced parenthetical groupings |
| 735 | from position @var{from}. It returns the position where the scan stops. | 765 | from position @var{from}. It returns the position where the scan stops. |
| @@ -779,7 +809,7 @@ whitespace by the functions in this section and by @code{forward-sexp}. | |||
| 779 | @end defopt | 809 | @end defopt |
| 780 | 810 | ||
| 781 | @vindex parse-sexp-lookup-properties | 811 | @vindex parse-sexp-lookup-properties |
| 782 | The behaviour of @code{parse-partial-sexp} is also affected by | 812 | The behavior of @code{parse-partial-sexp} is also affected by |
| 783 | @code{parse-sexp-lookup-properties} (@pxref{Syntax Properties}). | 813 | @code{parse-sexp-lookup-properties} (@pxref{Syntax Properties}). |
| 784 | 814 | ||
| 785 | You can use @code{forward-comment} to move forward or backward over | 815 | You can use @code{forward-comment} to move forward or backward over |
diff --git a/lispref/text.texi b/lispref/text.texi index 1d4dc0fce8a..cddeeb8fbde 100644 --- a/lispref/text.texi +++ b/lispref/text.texi | |||
| @@ -1667,8 +1667,12 @@ line won't be broken there. | |||
| 1667 | @section Adaptive Fill Mode | 1667 | @section Adaptive Fill Mode |
| 1668 | @cindex Adaptive Fill mode | 1668 | @cindex Adaptive Fill mode |
| 1669 | 1669 | ||
| 1670 | Adaptive Fill mode chooses a fill prefix automatically from the text | 1670 | When @dfn{Adaptive Fill Mode} is enabled, Emacs determines the fill |
| 1671 | in each paragraph being filled. | 1671 | prefix automatically from the text in each paragraph being filled |
| 1672 | rather than using a predetermined value. During filling, this fill | ||
| 1673 | prefix gets inserted at the start of the second and subsequent lines | ||
| 1674 | of the paragraph as described in @ref{Filling}, and in @ref{Auto | ||
| 1675 | Filling}. | ||
| 1672 | 1676 | ||
| 1673 | @defopt adaptive-fill-mode | 1677 | @defopt adaptive-fill-mode |
| 1674 | Adaptive Fill mode is enabled when this variable is non-@code{nil}. | 1678 | Adaptive Fill mode is enabled when this variable is non-@code{nil}. |
| @@ -1677,38 +1681,80 @@ It is @code{t} by default. | |||
| 1677 | 1681 | ||
| 1678 | @defun fill-context-prefix from to | 1682 | @defun fill-context-prefix from to |
| 1679 | This function implements the heart of Adaptive Fill mode; it chooses a | 1683 | This function implements the heart of Adaptive Fill mode; it chooses a |
| 1680 | fill prefix based on the text between @var{from} and @var{to}. It does | 1684 | fill prefix based on the text between @var{from} and @var{to}, |
| 1681 | this by looking at the first two lines of the paragraph, based on the | 1685 | typically the start and end of a paragraph. It does this by looking |
| 1682 | variables described below. | 1686 | at the first two lines of the paragraph, based on the variables |
| 1687 | described below. | ||
| 1683 | @c The optional argument first-line-regexp is not documented | 1688 | @c The optional argument first-line-regexp is not documented |
| 1684 | @c because it exists for internal purposes and might be eliminated | 1689 | @c because it exists for internal purposes and might be eliminated |
| 1685 | @c in the future. | 1690 | @c in the future. |
| 1691 | |||
| 1692 | Usually, this function returns the fill prefix, a string. However, | ||
| 1693 | before doing this, the function makes a final check (not specially | ||
| 1694 | mentioned in the following) that a line starting with this prefix | ||
| 1695 | wouldn't look like the start of a paragraph. Should this happen, the | ||
| 1696 | function signals the anomaly by returning @code{nil} instead. | ||
| 1697 | |||
| 1698 | In detail, @code{fill-context-prefix} does this: | ||
| 1699 | |||
| 1700 | @enumerate | ||
| 1701 | @item | ||
| 1702 | It takes a candidate for the fill prefix from the first line---it | ||
| 1703 | tries first the function in @code{adaptive-fill-function} (if any), | ||
| 1704 | then the regular expression @code{adaptive-fill-regexp} (see below). | ||
| 1705 | The first non-@code{nil} result of these, or the empty string if | ||
| 1706 | they're both @code{nil}, becomes the first line's candidate. | ||
| 1707 | @item | ||
| 1708 | If the paragraph has as yet only one line, the function tests the | ||
| 1709 | validity of the prefix candidate just found. The function then | ||
| 1710 | returns the candidate if it's valid, or a string of spaces otherwise. | ||
| 1711 | (see the description of @code{adaptive-fill-first-line-regexp} below). | ||
| 1712 | @item | ||
| 1713 | When the paragraph already has two lines, the function next looks for | ||
| 1714 | a prefix candidate on the second line, in just the same way it did for | ||
| 1715 | the first line. If it doesn't find one, it returns @code{nil}. | ||
| 1716 | @item | ||
| 1717 | The function now compares the two candidate prefixes heuristically: if | ||
| 1718 | the non-whitespace characters in the line 2 candidate occur in the | ||
| 1719 | same order in the line 1 candidate, the function returns the line 2 | ||
| 1720 | candidate. Otherwise, it returns the largest initial substring which | ||
| 1721 | is common to both candidates (which might be the empty string). | ||
| 1722 | @end enumerate | ||
| 1686 | @end defun | 1723 | @end defun |
| 1687 | 1724 | ||
| 1688 | @defopt adaptive-fill-regexp | 1725 | @defopt adaptive-fill-regexp |
| 1689 | This variable holds a regular expression to control Adaptive Fill mode. | ||
| 1690 | Adaptive Fill mode matches this regular expression against the text | 1726 | Adaptive Fill mode matches this regular expression against the text |
| 1691 | starting after the left margin whitespace (if any) on a line; the | 1727 | starting after the left margin whitespace (if any) on a line; the |
| 1692 | characters it matches are that line's candidate for the fill prefix. | 1728 | characters it matches are that line's candidate for the fill prefix. |
| 1729 | |||
| 1730 | The default value of this variable is | ||
| 1731 | @w{@samp{"[ \t]*\\([-|#;>*]+[ \t]*\\|(?[0-9]+[.)][ \t]*\\)*"}}. This | ||
| 1732 | matches a number enclosed in parentheses or followed by a period, | ||
| 1733 | or certain punctuation characters, or any sequence of these | ||
| 1734 | intermingled with whitespace. In particular, it matches a sequence of | ||
| 1735 | whitespace, possibly empty. | ||
| 1693 | @end defopt | 1736 | @end defopt |
| 1694 | 1737 | ||
| 1695 | @defopt adaptive-fill-first-line-regexp | 1738 | @defopt adaptive-fill-first-line-regexp |
| 1696 | In a one-line paragraph, if the candidate fill prefix matches this | 1739 | Used only in one-line paragraphs, this regular expression acts as an |
| 1697 | regular expression, or if it matches @code{comment-start-skip}, then it | 1740 | additional check of the validity of the one available candidate fill |
| 1698 | is used---otherwise, spaces amounting to the same width are used | 1741 | prefix: the candidate must match this regular expression, or match |
| 1699 | instead. | 1742 | @code{comment-start-skip}. If it doesn't, @code{fill-context-prefix} |
| 1700 | 1743 | replaces the candidate with a string of spaces ``of the same width'' | |
| 1701 | However, the fill prefix is never taken from a one-line paragraph | 1744 | as it. |
| 1702 | if it would act as a paragraph starter on subsequent lines. | 1745 | |
| 1746 | The default value of this variable is @w{@samp{"\\`[ \t]*\\'"}}, which | ||
| 1747 | matches only a string of whitespace. The effect of this default is to | ||
| 1748 | force the fill prefixes found in one-line paragraphs always to be pure | ||
| 1749 | whitespace. | ||
| 1703 | @end defopt | 1750 | @end defopt |
| 1704 | 1751 | ||
| 1705 | @defopt adaptive-fill-function | 1752 | @defopt adaptive-fill-function |
| 1706 | You can specify more complex ways of choosing a fill prefix | 1753 | You can specify more complex ways of choosing a fill prefix |
| 1707 | automatically by setting this variable to a function. The function is | 1754 | automatically by setting this variable to a function. The function is |
| 1708 | called when @code{adaptive-fill-regexp} does not match, with point after | 1755 | called with point after the left margin (if any) of a line, and it |
| 1709 | the left margin of a line, and it should return the appropriate fill | 1756 | must preserve point. It should return either ``that line's'' fill |
| 1710 | prefix based on that line. If it returns @code{nil}, that means it sees | 1757 | prefix or @code{nil}, meaning it has failed to determine a prefix. |
| 1711 | no fill prefix in that line. | ||
| 1712 | @end defopt | 1758 | @end defopt |
| 1713 | 1759 | ||
| 1714 | @node Auto Filling | 1760 | @node Auto Filling |
| @@ -3078,8 +3124,8 @@ that character a non-@code{nil} @var{cursor} text property. | |||
| 3078 | @item pointer | 3124 | @item pointer |
| 3079 | @kindex pointer @r{(text property)} | 3125 | @kindex pointer @r{(text property)} |
| 3080 | This specifies a specific pointer shape when the mouse pointer is over | 3126 | This specifies a specific pointer shape when the mouse pointer is over |
| 3081 | this text or image. See the variable @var{void-area-text-pointer} | 3127 | this text or image. @xref{Pointer Shape}, for possible pointer |
| 3082 | for possible pointer shapes. | 3128 | shapes. |
| 3083 | 3129 | ||
| 3084 | @item line-spacing | 3130 | @item line-spacing |
| 3085 | @kindex line-spacing @r{(text property)} | 3131 | @kindex line-spacing @r{(text property)} |