comparison lispref/elisp.texi @ 49600:23a1cea22d13

Trailing whitespace deleted.
author Juanma Barranquero <lekktu@gmail.com>
date Tue, 04 Feb 2003 14:56:31 +0000
parents 82a85240df83
children 70dce195cb42 d7ddb3e565de
comparison
equal deleted inserted replaced
49599:5ade352e8d1c 49600:23a1cea22d13
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
35 Boston, MA 02111-1307 USA 35 Boston, MA 02111-1307 USA
36 36
37 Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999,@* 37 Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999,@*
38 2000, 2002 Free Software Foundation, Inc. 38 2000, 2002 Free Software Foundation, Inc.
39 39
40 Permission is granted to copy, distribute and/or modify this document 40 Permission is granted to copy, distribute and/or modify this document
41 under the terms of the GNU Free Documentation License, Version 1.1 or 41 under the terms of the GNU Free Documentation License, Version 1.1 or
42 any later version published by the Free Software Foundation; with the 42 any later version published by the Free Software Foundation; with the
43 Invariant Sections being ``Copying'', with the Front-Cover texts being 43 Invariant Sections being ``Copying'', with the Front-Cover texts being
205 * Comment Tips:: Conventions for writing comments. 205 * Comment Tips:: Conventions for writing comments.
206 * Library Headers:: Standard headers for library packages. 206 * Library Headers:: Standard headers for library packages.
207 207
208 Format of Descriptions 208 Format of Descriptions
209 209
210 * A Sample Function Description:: 210 * A Sample Function Description::
211 * A Sample Variable Description:: 211 * A Sample Variable Description::
212 212
213 Lisp Data Types 213 Lisp Data Types
214 214
215 * Printed Representation:: How Lisp objects are represented as text. 215 * Printed Representation:: How Lisp objects are represented as text.
216 * Comments:: Comments and their formatting conventions. 216 * Comments:: Comments and their formatting conventions.
315 Evaluation 315 Evaluation
316 316
317 * Intro Eval:: Evaluation in the scheme of things. 317 * Intro Eval:: Evaluation in the scheme of things.
318 * Eval:: How to invoke the Lisp interpreter explicitly. 318 * Eval:: How to invoke the Lisp interpreter explicitly.
319 * Forms:: How various sorts of objects are evaluated. 319 * Forms:: How various sorts of objects are evaluated.
320 * Quoting:: Avoiding evaluation (to put constants in 320 * Quoting:: Avoiding evaluation (to put constants in
321 the program). 321 the program).
322 322
323 Kinds of Forms 323 Kinds of Forms
324 324
325 * Self-Evaluating Forms:: Forms that evaluate to themselves. 325 * Self-Evaluating Forms:: Forms that evaluate to themselves.
368 * Variable Scoping:: How Lisp chooses among local and global values. 368 * Variable Scoping:: How Lisp chooses among local and global values.
369 * Buffer-Local Variables:: Variable values in effect only in one buffer. 369 * Buffer-Local Variables:: Variable values in effect only in one buffer.
370 370
371 Scoping Rules for Variable Bindings 371 Scoping Rules for Variable Bindings
372 372
373 * Scope:: Scope means where in the program a value 373 * Scope:: Scope means where in the program a value
374 is visible. Comparison with other languages. 374 is visible. Comparison with other languages.
375 * Extent:: Extent means how long in time a value exists. 375 * Extent:: Extent means how long in time a value exists.
376 * Impl of Scope:: Two ways to implement dynamic scoping. 376 * Impl of Scope:: Two ways to implement dynamic scoping.
377 * Using Scoping:: How to use dynamic scoping carefully and 377 * Using Scoping:: How to use dynamic scoping carefully and
378 avoid problems. 378 avoid problems.
379 379
380 Buffer-Local Variables 380 Buffer-Local Variables
381 381
382 * Intro to Buffer-Local:: Introduction and concepts. 382 * Intro to Buffer-Local:: Introduction and concepts.
390 * Lambda Expressions:: How functions are expressed as Lisp objects. 390 * Lambda Expressions:: How functions are expressed as Lisp objects.
391 * Function Names:: A symbol can serve as the name of a function. 391 * Function Names:: A symbol can serve as the name of a function.
392 * Defining Functions:: Lisp expressions for defining functions. 392 * Defining Functions:: Lisp expressions for defining functions.
393 * Calling Functions:: How to use an existing function. 393 * Calling Functions:: How to use an existing function.
394 * Mapping Functions:: Applying a function to each element of a list, etc. 394 * Mapping Functions:: Applying a function to each element of a list, etc.
395 * Anonymous Functions:: Lambda-expressions are functions with no names. 395 * Anonymous Functions:: Lambda-expressions are functions with no names.
396 * Function Cells:: Accessing or setting the function definition 396 * Function Cells:: Accessing or setting the function definition
397 of a symbol. 397 of a symbol.
398 * Related Topics:: Cross-references to specific Lisp primitives 398 * Related Topics:: Cross-references to specific Lisp primitives
399 that have a special bearing on how 399 that have a special bearing on how
400 functions work. 400 functions work.
401 401
402 Lambda Expressions 402 Lambda Expressions
403 403
404 * Lambda Components:: The parts of a lambda expression. 404 * Lambda Components:: The parts of a lambda expression.
443 443
444 Debugging Lisp Programs 444 Debugging Lisp Programs
445 445
446 * Debugger:: How the Emacs Lisp debugger is implemented. 446 * Debugger:: How the Emacs Lisp debugger is implemented.
447 * Syntax Errors:: How to find syntax errors. 447 * Syntax Errors:: How to find syntax errors.
448 * Compilation Errors:: How to find errors that show up in 448 * Compilation Errors:: How to find errors that show up in
449 byte compilation. 449 byte compilation.
450 * Edebug:: A source-level Emacs Lisp debugger. 450 * Edebug:: A source-level Emacs Lisp debugger.
451 451
452 The Lisp Debugger 452 The Lisp Debugger
453 453
454 * Error Debugging:: Entering the debugger when an error happens. 454 * Error Debugging:: Entering the debugger when an error happens.
455 * Function Debugging:: Entering it when a certain function is called. 455 * Function Debugging:: Entering it when a certain function is called.
456 * Explicit Debug:: Entering it at a certain point in the program. 456 * Explicit Debug:: Entering it at a certain point in the program.
465 * Excess Close:: How to find a spurious close paren or missing open. 465 * Excess Close:: How to find a spurious close paren or missing open.
466 466
467 Reading and Printing Lisp Objects 467 Reading and Printing Lisp Objects
468 468
469 * Streams Intro:: Overview of streams, reading and printing. 469 * Streams Intro:: Overview of streams, reading and printing.
470 * Input Streams:: Various data types that can be used as 470 * Input Streams:: Various data types that can be used as
471 input streams. 471 input streams.
472 * Input Functions:: Functions to read Lisp objects from text. 472 * Input Functions:: Functions to read Lisp objects from text.
473 * Output Streams:: Various data types that can be used as 473 * Output Streams:: Various data types that can be used as
474 output streams. 474 output streams.
475 * Output Functions:: Functions to print Lisp objects as text. 475 * Output Functions:: Functions to print Lisp objects as text.
476 476
477 Minibuffers 477 Minibuffers
478 478
540 Major and Minor Modes 540 Major and Minor Modes
541 541
542 * Major Modes:: Defining major modes. 542 * Major Modes:: Defining major modes.
543 * Minor Modes:: Defining minor modes. 543 * Minor Modes:: Defining minor modes.
544 * Mode Line Format:: Customizing the text that appears in the mode line. 544 * Mode Line Format:: Customizing the text that appears in the mode line.
545 * Hooks:: How to use hooks; how to write code that 545 * Hooks:: How to use hooks; how to write code that
546 provides hooks. 546 provides hooks.
547 547
548 Major Modes 548 Major Modes
549 549
550 * Major Mode Conventions:: Coding conventions for keymaps, etc. 550 * Major Mode Conventions:: Coding conventions for keymaps, etc.
600 File Names 600 File Names
601 601
602 * File Name Components:: The directory part of a file name, and the rest. 602 * File Name Components:: The directory part of a file name, and the rest.
603 * Directory Names:: A directory's name as a directory 603 * Directory Names:: A directory's name as a directory
604 is different from its name as a file. 604 is different from its name as a file.
605 * Relative File Names:: Some file names are relative to a 605 * Relative File Names:: Some file names are relative to a
606 current directory. 606 current directory.
607 * File Name Expansion:: Converting relative file names to absolute ones. 607 * File Name Expansion:: Converting relative file names to absolute ones.
608 * Unique File Names:: Generating names for temporary files. 608 * Unique File Names:: Generating names for temporary files.
609 * File Name Completion:: Finding the completions for a given file name. 609 * File Name Completion:: Finding the completions for a given file name.
610 610
611 Backups and Auto-Saving 611 Backups and Auto-Saving
612 612
613 * Backup Files:: How backup files are made; how their names 613 * Backup Files:: How backup files are made; how their names
614 are chosen. 614 are chosen.
615 * Auto-Saving:: How auto-save files are made; how their 615 * Auto-Saving:: How auto-save files are made; how their
616 names are chosen. 616 names are chosen.
617 * Reverting:: @code{revert-buffer}, and how to customize 617 * Reverting:: @code{revert-buffer}, and how to customize
618 what it does. 618 what it does.
619 619
620 Backup Files 620 Backup Files
621 621
622 * Making Backups:: How Emacs makes backup files, and when. 622 * Making Backups:: How Emacs makes backup files, and when.
623 * Rename or Copy:: Two alternatives: renaming the old file 623 * Rename or Copy:: Two alternatives: renaming the old file
624 or copying it. 624 or copying it.
625 * Numbered Backups:: Keeping multiple backups for each source file. 625 * Numbered Backups:: Keeping multiple backups for each source file.
626 * Backup Names:: How backup file names are computed; customization. 626 * Backup Names:: How backup file names are computed; customization.
627 627
628 Buffers 628 Buffers
652 * Buffers and Windows:: Each window displays the contents of a buffer. 652 * Buffers and Windows:: Each window displays the contents of a buffer.
653 * Displaying Buffers:: Higher-lever functions for displaying a buffer 653 * Displaying Buffers:: Higher-lever functions for displaying a buffer
654 and choosing a window for it. 654 and choosing a window for it.
655 * Window Point:: Each window has its own location of point. 655 * Window Point:: Each window has its own location of point.
656 * Window Start:: The display-start position controls which text 656 * Window Start:: The display-start position controls which text
657 is on-screen in the window. 657 is on-screen in the window.
658 * Vertical Scrolling:: Moving text up and down in the window. 658 * Vertical Scrolling:: Moving text up and down in the window.
659 * Horizontal Scrolling:: Moving text sideways on the window. 659 * Horizontal Scrolling:: Moving text sideways on the window.
660 * Size of Window:: Accessing the size of a window. 660 * Size of Window:: Accessing the size of a window.
661 * Resizing Windows:: Changing the size of a window. 661 * Resizing Windows:: Changing the size of a window.
662 * Window Configurations:: Saving and restoring the state of the screen. 662 * Window Configurations:: Saving and restoring the state of the screen.
708 708
709 * Overview of Markers:: The components of a marker, and how it relocates. 709 * Overview of Markers:: The components of a marker, and how it relocates.
710 * Predicates on Markers:: Testing whether an object is a marker. 710 * Predicates on Markers:: Testing whether an object is a marker.
711 * Creating Markers:: Making empty markers or markers at certain places. 711 * Creating Markers:: Making empty markers or markers at certain places.
712 * Information from Markers:: Finding the marker's buffer or character 712 * Information from Markers:: Finding the marker's buffer or character
713 position. 713 position.
714 * Moving Markers:: Moving the marker to a new buffer or position. 714 * Moving Markers:: Moving the marker to a new buffer or position.
715 * The Mark:: How ``the mark'' is implemented with a marker. 715 * The Mark:: How ``the mark'' is implemented with a marker.
716 * The Region:: How to access ``the region''. 716 * The Region:: How to access ``the region''.
717 717
718 Text 718 Text
737 * Substitution:: Replacing a given character wherever it appears. 737 * Substitution:: Replacing a given character wherever it appears.
738 * Transposition:: Swapping two portions of a buffer. 738 * Transposition:: Swapping two portions of a buffer.
739 * Registers:: How registers are implemented. Accessing 739 * Registers:: How registers are implemented. Accessing
740 the text or position stored in a register. 740 the text or position stored in a register.
741 * Change Hooks:: Supplying functions to be run when text is changed. 741 * Change Hooks:: Supplying functions to be run when text is changed.
742 742
743 The Kill Ring 743 The Kill Ring
744 744
745 * Kill Ring Concepts:: What text looks like in the kill ring. 745 * Kill Ring Concepts:: What text looks like in the kill ring.
746 * Kill Functions:: Functions that kill text. 746 * Kill Functions:: Functions that kill text.
747 * Yank Commands:: Commands that access the kill ring. 747 * Yank Commands:: Commands that access the kill ring.