diff options
| author | Lute Kamstra | 2005-05-11 23:25:27 +0000 |
|---|---|---|
| committer | Lute Kamstra | 2005-05-11 23:25:27 +0000 |
| commit | f3280ac53e83e827b3360ce51f6777e8295bb342 (patch) | |
| tree | c5359c310de94118e5b78f8df1c02542ef6c140a | |
| parent | 4b0fcb5dcf999e50f61ce307e1c701f9b2b3e90a (diff) | |
| download | emacs-f3280ac53e83e827b3360ce51f6777e8295bb342.tar.gz emacs-f3280ac53e83e827b3360ce51f6777e8295bb342.zip | |
(Top): Update to the current structure of the manual.
| -rw-r--r-- | lispref/elisp.texi | 259 |
1 files changed, 197 insertions, 62 deletions
diff --git a/lispref/elisp.texi b/lispref/elisp.texi index d6a6b28dac3..061d826e711 100644 --- a/lispref/elisp.texi +++ b/lispref/elisp.texi | |||
| @@ -101,7 +101,6 @@ Reference Manual, corresponding to GNU Emacs version 22.1. | |||
| 101 | 101 | ||
| 102 | @menu | 102 | @menu |
| 103 | * Introduction:: Introduction and conventions used. | 103 | * Introduction:: Introduction and conventions used. |
| 104 | * Standards: Coding Conventions. Coding conventions for Emacs Lisp. | ||
| 105 | 104 | ||
| 106 | * Lisp Data Types:: Data types of objects in Emacs Lisp. | 105 | * Lisp Data Types:: Data types of objects in Emacs Lisp. |
| 107 | * Numbers:: Numbers and arithmetic functions. | 106 | * Numbers:: Numbers and arithmetic functions. |
| @@ -184,6 +183,7 @@ Introduction | |||
| 184 | * Caveats:: Flaws and a request for help. | 183 | * Caveats:: Flaws and a request for help. |
| 185 | * Lisp History:: Emacs Lisp is descended from Maclisp. | 184 | * Lisp History:: Emacs Lisp is descended from Maclisp. |
| 186 | * Conventions:: How the manual is formatted. | 185 | * Conventions:: How the manual is formatted. |
| 186 | * Version Info:: Which Emacs version is running? | ||
| 187 | * Acknowledgements:: The authors, editors, and sponsors of this manual. | 187 | * Acknowledgements:: The authors, editors, and sponsors of this manual. |
| 188 | 188 | ||
| 189 | Conventions | 189 | Conventions |
| @@ -196,14 +196,6 @@ Conventions | |||
| 196 | * Buffer Text Notation:: The format we use for buffer contents in examples. | 196 | * Buffer Text Notation:: The format we use for buffer contents in examples. |
| 197 | * Format of Descriptions:: Notation for describing functions, variables, etc. | 197 | * Format of Descriptions:: Notation for describing functions, variables, etc. |
| 198 | 198 | ||
| 199 | Tips and Conventions | ||
| 200 | |||
| 201 | * Coding Conventions:: Conventions for clean and robust programs. | ||
| 202 | * Compilation Tips:: Making compiled code run fast. | ||
| 203 | * Documentation Tips:: Writing readable documentation strings. | ||
| 204 | * Comment Tips:: Conventions for writing comments. | ||
| 205 | * Library Headers:: Standard headers for library packages. | ||
| 206 | |||
| 207 | Format of Descriptions | 199 | Format of Descriptions |
| 208 | 200 | ||
| 209 | * A Sample Function Description:: | 201 | * A Sample Function Description:: |
| @@ -215,6 +207,7 @@ Lisp Data Types | |||
| 215 | * Comments:: Comments and their formatting conventions. | 207 | * Comments:: Comments and their formatting conventions. |
| 216 | * Programming Types:: Types found in all Lisp systems. | 208 | * Programming Types:: Types found in all Lisp systems. |
| 217 | * Editing Types:: Types specific to Emacs. | 209 | * Editing Types:: Types specific to Emacs. |
| 210 | * Circular Objects:: Read syntax for circular structure. | ||
| 218 | * Type Predicates:: Tests related to types. | 211 | * Type Predicates:: Tests related to types. |
| 219 | * Equality Predicates:: Tests of equality between any two objects. | 212 | * Equality Predicates:: Tests of equality between any two objects. |
| 220 | 213 | ||
| @@ -224,13 +217,16 @@ Programming Types | |||
| 224 | * Floating Point Type:: Numbers with fractional parts and with a large range. | 217 | * Floating Point Type:: Numbers with fractional parts and with a large range. |
| 225 | * Character Type:: The representation of letters, numbers and | 218 | * Character Type:: The representation of letters, numbers and |
| 226 | control characters. | 219 | control characters. |
| 220 | * Symbol Type:: A multi-use object that refers to a function, | ||
| 221 | variable, property list, or itself. | ||
| 227 | * Sequence Type:: Both lists and arrays are classified as sequences. | 222 | * Sequence Type:: Both lists and arrays are classified as sequences. |
| 228 | * Cons Cell Type:: Cons cells, and lists (which are made from cons cells). | 223 | * Cons Cell Type:: Cons cells, and lists (which are made from cons cells). |
| 229 | * Array Type:: Arrays include strings and vectors. | 224 | * Array Type:: Arrays include strings and vectors. |
| 230 | * String Type:: An (efficient) array of characters. | 225 | * String Type:: An (efficient) array of characters. |
| 231 | * Vector Type:: One-dimensional arrays. | 226 | * Vector Type:: One-dimensional arrays. |
| 232 | * Symbol Type:: A multi-use object that refers to a function, | 227 | * Char-Table Type:: One-dimensional sparse arrays indexed by characters. |
| 233 | variable, property list, or itself. | 228 | * Bool-Vector Type:: One-dimensional arrays of @code{t} or @code{nil}. |
| 229 | * Hash Table Type:: Super-fast lookup tables. | ||
| 234 | * Function Type:: A piece of executable code you can call from elsewhere. | 230 | * Function Type:: A piece of executable code you can call from elsewhere. |
| 235 | * Macro Type:: A method of expanding an expression into another | 231 | * Macro Type:: A method of expanding an expression into another |
| 236 | expression, more fundamental but less pretty. | 232 | expression, more fundamental but less pretty. |
| @@ -239,17 +235,20 @@ Programming Types | |||
| 239 | * Autoload Type:: A type used for automatically loading seldom-used | 235 | * Autoload Type:: A type used for automatically loading seldom-used |
| 240 | functions. | 236 | functions. |
| 241 | 237 | ||
| 242 | List Type | 238 | Cons Cell and List Types |
| 243 | 239 | ||
| 240 | * Box Diagrams:: Drawing pictures of lists. | ||
| 244 | * Dotted Pair Notation:: An alternative syntax for lists. | 241 | * Dotted Pair Notation:: An alternative syntax for lists. |
| 245 | * Association List Type:: A specially constructed list. | 242 | * Association List Type:: A specially constructed list. |
| 246 | 243 | ||
| 247 | Editing Types | 244 | Editing Types |
| 248 | 245 | ||
| 249 | * Buffer Type:: The basic object of editing. | 246 | * Buffer Type:: The basic object of editing. |
| 247 | * Marker Type:: A position in a buffer. | ||
| 250 | * Window Type:: What makes buffers visible. | 248 | * Window Type:: What makes buffers visible. |
| 249 | * Frame Type:: Windows subdivide frames. | ||
| 251 | * Window Configuration Type::Save what the screen looks like. | 250 | * Window Configuration Type::Save what the screen looks like. |
| 252 | * Marker Type:: A position in a buffer. | 251 | * Frame Configuration Type::Recording the status of all frames. |
| 253 | * Process Type:: A process running on the underlying OS. | 252 | * Process Type:: A process running on the underlying OS. |
| 254 | * Stream Type:: Receive or send characters. | 253 | * Stream Type:: Receive or send characters. |
| 255 | * Keymap Type:: What function a keystroke invokes. | 254 | * Keymap Type:: What function a keystroke invokes. |
| @@ -261,9 +260,10 @@ Numbers | |||
| 261 | * Float Basics:: Representation and range of floating point. | 260 | * Float Basics:: Representation and range of floating point. |
| 262 | * Predicates on Numbers:: Testing for numbers. | 261 | * Predicates on Numbers:: Testing for numbers. |
| 263 | * Comparison of Numbers:: Equality and inequality predicates. | 262 | * Comparison of Numbers:: Equality and inequality predicates. |
| 263 | * Numeric Conversions:: Converting float to integer and vice versa. | ||
| 264 | * Arithmetic Operations:: How to add, subtract, multiply and divide. | 264 | * Arithmetic Operations:: How to add, subtract, multiply and divide. |
| 265 | * Rounding Operations:: Explicitly rounding floating point numbers. | ||
| 265 | * Bitwise Operations:: Logical and, or, not, shifting. | 266 | * Bitwise Operations:: Logical and, or, not, shifting. |
| 266 | * Numeric Conversions:: Converting float to integer and vice versa. | ||
| 267 | * Math Functions:: Trig, exponential and logarithmic functions. | 267 | * Math Functions:: Trig, exponential and logarithmic functions. |
| 268 | * Random Numbers:: Obtaining random integers, predictable or not. | 268 | * Random Numbers:: Obtaining random integers, predictable or not. |
| 269 | 269 | ||
| @@ -272,10 +272,12 @@ Strings and Characters | |||
| 272 | * String Basics:: Basic properties of strings and characters. | 272 | * String Basics:: Basic properties of strings and characters. |
| 273 | * Predicates for Strings:: Testing whether an object is a string or char. | 273 | * Predicates for Strings:: Testing whether an object is a string or char. |
| 274 | * Creating Strings:: Functions to allocate new strings. | 274 | * Creating Strings:: Functions to allocate new strings. |
| 275 | * Modifying Strings:: Altering the contents of an existing string. | ||
| 275 | * Text Comparison:: Comparing characters or strings. | 276 | * Text Comparison:: Comparing characters or strings. |
| 276 | * String Conversion:: Converting characters or strings and vice versa. | 277 | * String Conversion:: Converting characters or strings and vice versa. |
| 277 | * Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. | 278 | * Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. |
| 278 | * Case Conversion:: Case conversion functions. | 279 | * Case Conversion:: Case conversion functions. |
| 280 | * Case Tables:: Customizing case conversion. | ||
| 279 | 281 | ||
| 280 | Lists | 282 | Lists |
| 281 | 283 | ||
| @@ -300,6 +302,16 @@ Sequences, Arrays, and Vectors | |||
| 300 | * Arrays:: Characteristics of arrays in Emacs Lisp. | 302 | * Arrays:: Characteristics of arrays in Emacs Lisp. |
| 301 | * Array Functions:: Functions specifically for arrays. | 303 | * Array Functions:: Functions specifically for arrays. |
| 302 | * Vectors:: Functions specifically for vectors. | 304 | * Vectors:: Functions specifically for vectors. |
| 305 | * Vector Functions:: Functions specifically for vectors. | ||
| 306 | * Char-Tables:: How to work with char-tables. | ||
| 307 | * Bool-Vectors:: How to work with bool-vectors. | ||
| 308 | |||
| 309 | Hash Tables | ||
| 310 | |||
| 311 | * Creating Hash:: Functions to create hash tables. | ||
| 312 | * Hash Access:: Reading and writing the hash table contents. | ||
| 313 | * Defining Hash:: Defining new comparison methods | ||
| 314 | * Other Hash:: Miscellaneous. | ||
| 303 | 315 | ||
| 304 | Symbols | 316 | Symbols |
| 305 | 317 | ||
| @@ -313,16 +325,18 @@ Symbols | |||
| 313 | Evaluation | 325 | Evaluation |
| 314 | 326 | ||
| 315 | * Intro Eval:: Evaluation in the scheme of things. | 327 | * Intro Eval:: Evaluation in the scheme of things. |
| 316 | * Eval:: How to invoke the Lisp interpreter explicitly. | ||
| 317 | * Forms:: How various sorts of objects are evaluated. | 328 | * Forms:: How various sorts of objects are evaluated. |
| 318 | * Quoting:: Avoiding evaluation (to put constants in | 329 | * Quoting:: Avoiding evaluation (to put constants in |
| 319 | the program). | 330 | the program). |
| 331 | * Eval:: How to invoke the Lisp interpreter explicitly. | ||
| 320 | 332 | ||
| 321 | Kinds of Forms | 333 | Kinds of Forms |
| 322 | 334 | ||
| 323 | * Self-Evaluating Forms:: Forms that evaluate to themselves. | 335 | * Self-Evaluating Forms:: Forms that evaluate to themselves. |
| 324 | * Symbol Forms:: Symbols evaluate as variables. | 336 | * Symbol Forms:: Symbols evaluate as variables. |
| 325 | * Classifying Lists:: How to distinguish various sorts of list forms. | 337 | * Classifying Lists:: How to distinguish various sorts of list forms. |
| 338 | * Function Indirection:: When a symbol appears as the car of a list, | ||
| 339 | we find the real function via the symbol. | ||
| 326 | * Function Forms:: Forms that call functions. | 340 | * Function Forms:: Forms that call functions. |
| 327 | * Macro Forms:: Forms that call macros. | 341 | * Macro Forms:: Forms that call macros. |
| 328 | * Special Forms:: ``Special forms'' are idiosyncratic primitives, | 342 | * Special Forms:: ``Special forms'' are idiosyncratic primitives, |
| @@ -333,7 +347,7 @@ Kinds of Forms | |||
| 333 | Control Structures | 347 | Control Structures |
| 334 | 348 | ||
| 335 | * Sequencing:: Evaluation in textual order. | 349 | * Sequencing:: Evaluation in textual order. |
| 336 | * Conditionals:: @code{if}, @code{cond}. | 350 | * Conditionals:: @code{if}, @code{cond}, @code{when}, @code{unless}. |
| 337 | * Combining Conditions:: @code{and}, @code{or}, @code{not}. | 351 | * Combining Conditions:: @code{and}, @code{or}, @code{not}. |
| 338 | * Iteration:: @code{while} loops. | 352 | * Iteration:: @code{while} loops. |
| 339 | * Nonlocal Exits:: Jumping out of a sequence. | 353 | * Nonlocal Exits:: Jumping out of a sequence. |
| @@ -360,11 +374,19 @@ Variables | |||
| 360 | * Local Variables:: Variable values that exist only temporarily. | 374 | * Local Variables:: Variable values that exist only temporarily. |
| 361 | * Void Variables:: Symbols that lack values. | 375 | * Void Variables:: Symbols that lack values. |
| 362 | * Defining Variables:: A definition says a symbol is used as a variable. | 376 | * Defining Variables:: A definition says a symbol is used as a variable. |
| 377 | * Tips for Defining:: Things you should think about when you | ||
| 378 | define a variable. | ||
| 363 | * Accessing Variables:: Examining values of variables whose names | 379 | * Accessing Variables:: Examining values of variables whose names |
| 364 | are known only at run time. | 380 | are known only at run time. |
| 365 | * Setting Variables:: Storing new values in variables. | 381 | * Setting Variables:: Storing new values in variables. |
| 366 | * Variable Scoping:: How Lisp chooses among local and global values. | 382 | * Variable Scoping:: How Lisp chooses among local and global values. |
| 367 | * Buffer-Local Variables:: Variable values in effect only in one buffer. | 383 | * Buffer-Local Variables:: Variable values in effect only in one buffer. |
| 384 | * Frame-Local Variables:: Variable values in effect only in one frame. | ||
| 385 | * Future Local Variables:: New kinds of local values we might add some day. | ||
| 386 | * Variable Aliases:: Variables that are aliases for other variables. | ||
| 387 | * File Local Variables:: Handling local variable lists in files. | ||
| 388 | * Variables with Restricted Values:: Non-constant variables whose value can | ||
| 389 | @emph{not} be an arbitrary Lisp object. | ||
| 368 | 390 | ||
| 369 | Scoping Rules for Variable Bindings | 391 | Scoping Rules for Variable Bindings |
| 370 | 392 | ||
| @@ -393,6 +415,9 @@ Functions | |||
| 393 | * Anonymous Functions:: Lambda-expressions are functions with no names. | 415 | * Anonymous Functions:: Lambda-expressions are functions with no names. |
| 394 | * Function Cells:: Accessing or setting the function definition | 416 | * Function Cells:: Accessing or setting the function definition |
| 395 | of a symbol. | 417 | of a symbol. |
| 418 | * Obsolete Functions:: Declaring functions obsolete. | ||
| 419 | * Inline Functions:: Defining functions that the compiler will open code. | ||
| 420 | * Function Safety:: Determining whether a function is safe to call. | ||
| 396 | * Related Topics:: Cross-references to specific Lisp primitives | 421 | * Related Topics:: Cross-references to specific Lisp primitives |
| 397 | that have a special bearing on how | 422 | that have a special bearing on how |
| 398 | functions work. | 423 | functions work. |
| @@ -415,6 +440,14 @@ Macros | |||
| 415 | Don't hide the user's variables. | 440 | Don't hide the user's variables. |
| 416 | * Indenting Macros:: Specifying how to indent macro calls. | 441 | * Indenting Macros:: Specifying how to indent macro calls. |
| 417 | 442 | ||
| 443 | Writing Customization Definitions | ||
| 444 | |||
| 445 | * Common Keywords:: Common keyword arguments for all kinds of | ||
| 446 | customization declarations. | ||
| 447 | * Group Definitions:: Writing customization group definitions. | ||
| 448 | * Variable Definitions:: Declaring user options. | ||
| 449 | * Customization Types:: Specifying the type of a user option. | ||
| 450 | |||
| 418 | Loading | 451 | Loading |
| 419 | 452 | ||
| 420 | * How Programs Do Loading:: The @code{load} function and others. | 453 | * How Programs Do Loading:: The @code{load} function and others. |
| @@ -430,13 +463,20 @@ Loading | |||
| 430 | 463 | ||
| 431 | Byte Compilation | 464 | Byte Compilation |
| 432 | 465 | ||
| 466 | * Speed of Byte-Code:: An example of speedup from byte compilation. | ||
| 433 | * Compilation Functions:: Byte compilation functions. | 467 | * Compilation Functions:: Byte compilation functions. |
| 468 | * Docs and Compilation:: Dynamic loading of documentation strings. | ||
| 469 | * Dynamic Loading:: Dynamic loading of individual functions. | ||
| 470 | * Eval During Compile:: Code to be evaluated when you compile. | ||
| 471 | * Compiler Errors:: Handling compiler error messages. | ||
| 472 | * Byte-Code Objects:: The data type used for byte-compiled functions. | ||
| 434 | * Disassembly:: Disassembling byte-code; how to read byte-code. | 473 | * Disassembly:: Disassembling byte-code; how to read byte-code. |
| 435 | 474 | ||
| 436 | Advising Functions | 475 | Advising Emacs Lisp Functions |
| 437 | 476 | ||
| 438 | * Simple Advice:: A simple example to explain the basics of advice. | 477 | * Simple Advice:: A simple example to explain the basics of advice. |
| 439 | * Defining Advice:: Detailed description of @code{defadvice}. | 478 | * Defining Advice:: Detailed description of @code{defadvice}. |
| 479 | * Around-Advice:: Wrapping advice around a function's definition. | ||
| 440 | * Computed Advice:: ...is to @code{defadvice} as @code{fset} is to @code{defun}. | 480 | * Computed Advice:: ...is to @code{defadvice} as @code{fset} is to @code{defun}. |
| 441 | * Activation of Advice:: Advice doesn't do anything until you activate it. | 481 | * Activation of Advice:: Advice doesn't do anything until you activate it. |
| 442 | * Enabling Advice:: You can enable or disable each piece of advice. | 482 | * Enabling Advice:: You can enable or disable each piece of advice. |
| @@ -449,14 +489,16 @@ Advising Functions | |||
| 449 | Debugging Lisp Programs | 489 | Debugging Lisp Programs |
| 450 | 490 | ||
| 451 | * Debugger:: How the Emacs Lisp debugger is implemented. | 491 | * Debugger:: How the Emacs Lisp debugger is implemented. |
| 492 | * Edebug:: A source-level Emacs Lisp debugger. | ||
| 452 | * Syntax Errors:: How to find syntax errors. | 493 | * Syntax Errors:: How to find syntax errors. |
| 494 | * Test Coverage:: Ensuring you have tested all branches in your code. | ||
| 453 | * Compilation Errors:: How to find errors that show up in | 495 | * Compilation Errors:: How to find errors that show up in |
| 454 | byte compilation. | 496 | byte compilation. |
| 455 | * Edebug:: A source-level Emacs Lisp debugger. | ||
| 456 | 497 | ||
| 457 | The Lisp Debugger | 498 | The Lisp Debugger |
| 458 | 499 | ||
| 459 | * Error Debugging:: Entering the debugger when an error happens. | 500 | * Error Debugging:: Entering the debugger when an error happens. |
| 501 | * Infinite Loops:: Stopping and debugging a program that doesn't exit. | ||
| 460 | * Function Debugging:: Entering it when a certain function is called. | 502 | * Function Debugging:: Entering it when a certain function is called. |
| 461 | * Explicit Debug:: Entering it at a certain point in the program. | 503 | * Explicit Debug:: Entering it at a certain point in the program. |
| 462 | * Using Debugger:: What the debugger does; what you see while in it. | 504 | * Using Debugger:: What the debugger does; what you see while in it. |
| @@ -464,6 +506,27 @@ The Lisp Debugger | |||
| 464 | * Invoking the Debugger:: How to call the function @code{debug}. | 506 | * Invoking the Debugger:: How to call the function @code{debug}. |
| 465 | * Internals of Debugger:: Subroutines of the debugger, and global variables. | 507 | * Internals of Debugger:: Subroutines of the debugger, and global variables. |
| 466 | 508 | ||
| 509 | Edebug | ||
| 510 | |||
| 511 | * Using Edebug:: Introduction to use of Edebug. | ||
| 512 | * Instrumenting:: You must instrument your code | ||
| 513 | in order to debug it with Edebug. | ||
| 514 | * Edebug Execution Modes:: Execution modes, stopping more or less often. | ||
| 515 | * Jumping:: Commands to jump to a specified place. | ||
| 516 | * Edebug Misc:: Miscellaneous commands. | ||
| 517 | * Breakpoints:: Setting breakpoints to make the program stop. | ||
| 518 | * Trapping Errors:: Trapping errors with Edebug. | ||
| 519 | * Edebug Views:: Views inside and outside of Edebug. | ||
| 520 | * Edebug Eval:: Evaluating expressions within Edebug. | ||
| 521 | * Eval List:: Expressions whose values are displayed | ||
| 522 | each time you enter Edebug. | ||
| 523 | * Printing in Edebug:: Customization of printing. | ||
| 524 | * Trace Buffer:: How to produce trace output in a buffer. | ||
| 525 | * Coverage Testing:: How to test evaluation coverage. | ||
| 526 | * The Outside Context:: Data that Edebug saves and restores. | ||
| 527 | * Instrumenting Macro Calls:: Specifying how to handle macro calls. | ||
| 528 | * Edebug Options:: Option variables for customizing Edebug. | ||
| 529 | |||
| 467 | Debugging Invalid Lisp Syntax | 530 | Debugging Invalid Lisp Syntax |
| 468 | 531 | ||
| 469 | * Excess Open:: How to find a spurious open paren or missing close. | 532 | * Excess Open:: How to find a spurious open paren or missing close. |
| @@ -478,14 +541,21 @@ Reading and Printing Lisp Objects | |||
| 478 | * Output Streams:: Various data types that can be used as | 541 | * Output Streams:: Various data types that can be used as |
| 479 | output streams. | 542 | output streams. |
| 480 | * Output Functions:: Functions to print Lisp objects as text. | 543 | * Output Functions:: Functions to print Lisp objects as text. |
| 544 | * Output Variables:: Variables that control what the printing | ||
| 545 | functions do. | ||
| 481 | 546 | ||
| 482 | Minibuffers | 547 | Minibuffers |
| 483 | 548 | ||
| 484 | * Intro to Minibuffers:: Basic information about minibuffers. | 549 | * Intro to Minibuffers:: Basic information about minibuffers. |
| 485 | * Text from Minibuffer:: How to read a straight text string. | 550 | * Text from Minibuffer:: How to read a straight text string. |
| 486 | * Object from Minibuffer:: How to read a Lisp object or expression. | 551 | * Object from Minibuffer:: How to read a Lisp object or expression. |
| 552 | * Minibuffer History:: Recording previous minibuffer inputs | ||
| 553 | so the user can reuse them. | ||
| 554 | * Initial Input:: Specifying initial contents for the minibuffer. | ||
| 487 | * Completion:: How to invoke and customize completion. | 555 | * Completion:: How to invoke and customize completion. |
| 488 | * Yes-or-No Queries:: Asking a question with a simple answer. | 556 | * Yes-or-No Queries:: Asking a question with a simple answer. |
| 557 | * Multiple Queries:: Asking a series of similar questions. | ||
| 558 | * Reading a Password:: Reading a password from the terminal. | ||
| 489 | * Minibuffer Misc:: Various customization hooks and variables. | 559 | * Minibuffer Misc:: Various customization hooks and variables. |
| 490 | 560 | ||
| 491 | Completion | 561 | Completion |
| @@ -505,8 +575,10 @@ Command Loop | |||
| 505 | * Defining Commands:: Specifying how a function should read arguments. | 575 | * Defining Commands:: Specifying how a function should read arguments. |
| 506 | * Interactive Call:: Calling a command, so that it will read arguments. | 576 | * Interactive Call:: Calling a command, so that it will read arguments. |
| 507 | * Command Loop Info:: Variables set by the command loop for you to examine. | 577 | * Command Loop Info:: Variables set by the command loop for you to examine. |
| 578 | * Adjusting Point:: Adjustment of point after a command. | ||
| 508 | * Input Events:: What input looks like when you read it. | 579 | * Input Events:: What input looks like when you read it. |
| 509 | * Reading Input:: How to read input events from the keyboard or mouse. | 580 | * Reading Input:: How to read input events from the keyboard or mouse. |
| 581 | * Special Events:: Events processed immediately and individually. | ||
| 510 | * Waiting:: Waiting for user input or elapsed time. | 582 | * Waiting:: Waiting for user input or elapsed time. |
| 511 | * Quitting:: How @kbd{C-g} works. How to catch or defer quitting. | 583 | * Quitting:: How @kbd{C-g} works. How to catch or defer quitting. |
| 512 | * Prefix Command Arguments:: How the commands to set prefix args work. | 584 | * Prefix Command Arguments:: How the commands to set prefix args work. |
| @@ -531,8 +603,6 @@ Keymaps | |||
| 531 | * Inheritance and Keymaps:: How one keymap can inherit the bindings | 603 | * Inheritance and Keymaps:: How one keymap can inherit the bindings |
| 532 | of another keymap. | 604 | of another keymap. |
| 533 | * Prefix Keys:: Defining a key with a keymap as its definition. | 605 | * Prefix Keys:: Defining a key with a keymap as its definition. |
| 534 | * Menu Keymaps:: A keymap can define a menu for X | ||
| 535 | or for use from the terminal. | ||
| 536 | * Active Keymaps:: Each buffer has a local keymap | 606 | * Active Keymaps:: Each buffer has a local keymap |
| 537 | to override the standard (global) bindings. | 607 | to override the standard (global) bindings. |
| 538 | Each minor mode can also override them. | 608 | Each minor mode can also override them. |
| @@ -542,6 +612,8 @@ Keymaps | |||
| 542 | * Remapping Commands:: Bindings that translate one command to another. | 612 | * Remapping Commands:: Bindings that translate one command to another. |
| 543 | * Key Binding Commands:: Interactive interfaces for redefining keys. | 613 | * Key Binding Commands:: Interactive interfaces for redefining keys. |
| 544 | * Scanning Keymaps:: Looking through all keymaps, for printing help. | 614 | * Scanning Keymaps:: Looking through all keymaps, for printing help. |
| 615 | * Menu Keymaps:: A keymap can define a menu for X | ||
| 616 | or for use from the terminal. | ||
| 545 | 617 | ||
| 546 | Major and Minor Modes | 618 | Major and Minor Modes |
| 547 | 619 | ||
| @@ -600,11 +672,15 @@ Files | |||
| 600 | * Reading from Files:: Reading files into other buffers. | 672 | * Reading from Files:: Reading files into other buffers. |
| 601 | * Writing to Files:: Writing new files from parts of buffers. | 673 | * Writing to Files:: Writing new files from parts of buffers. |
| 602 | * File Locks:: Locking and unlocking files, to prevent | 674 | * File Locks:: Locking and unlocking files, to prevent |
| 603 | simultaneous editing by two people. | 675 | simultaneous editing by two people. |
| 604 | * Information about Files:: Testing existence, accessibility, size of files. | 676 | * Information about Files:: Testing existence, accessibility, size of files. |
| 605 | * Contents of Directories:: Getting a list of the files in a directory. | ||
| 606 | * Changing Files:: Renaming files, changing protection, etc. | 677 | * Changing Files:: Renaming files, changing protection, etc. |
| 607 | * File Names:: Decomposing and expanding file names. | 678 | * File Names:: Decomposing and expanding file names. |
| 679 | * Contents of Directories:: Getting a list of the files in a directory. | ||
| 680 | * Create/Delete Dirs:: Creating and Deleting Directories. | ||
| 681 | * Magic File Names:: Defining "magic" special handling | ||
| 682 | for certain file names. | ||
| 683 | * Format Conversion:: Conversion to and from various file formats. | ||
| 608 | 684 | ||
| 609 | Visiting Files | 685 | Visiting Files |
| 610 | 686 | ||
| @@ -614,19 +690,22 @@ Visiting Files | |||
| 614 | Information about Files | 690 | Information about Files |
| 615 | 691 | ||
| 616 | * Testing Accessibility:: Is a given file readable? Writable? | 692 | * Testing Accessibility:: Is a given file readable? Writable? |
| 617 | * Kinds of Files:: Is it a directory? A link? | 693 | * Kinds of Files:: Is it a directory? A symbolic link? |
| 694 | * Truenames:: Eliminating symbolic links from a file name. | ||
| 618 | * File Attributes:: How large is it? Any other names? Etc. | 695 | * File Attributes:: How large is it? Any other names? Etc. |
| 619 | 696 | ||
| 620 | File Names | 697 | File Names |
| 621 | 698 | ||
| 622 | * File Name Components:: The directory part of a file name, and the rest. | 699 | * File Name Components:: The directory part of a file name, and the rest. |
| 623 | * Directory Names:: A directory's name as a directory | ||
| 624 | is different from its name as a file. | ||
| 625 | * Relative File Names:: Some file names are relative to a | 700 | * Relative File Names:: Some file names are relative to a |
| 626 | current directory. | 701 | current directory. |
| 702 | * Directory Names:: A directory's name as a directory | ||
| 703 | is different from its name as a file. | ||
| 627 | * File Name Expansion:: Converting relative file names to absolute ones. | 704 | * File Name Expansion:: Converting relative file names to absolute ones. |
| 628 | * Unique File Names:: Generating names for temporary files. | 705 | * Unique File Names:: Generating names for temporary files. |
| 629 | * File Name Completion:: Finding the completions for a given file name. | 706 | * File Name Completion:: Finding the completions for a given file name. |
| 707 | * Standard File Names:: If your package uses a fixed file name, | ||
| 708 | how to handle various operating systems simply. | ||
| 630 | 709 | ||
| 631 | Backups and Auto-Saving | 710 | Backups and Auto-Saving |
| 632 | 711 | ||
| @@ -648,6 +727,8 @@ Backup Files | |||
| 648 | Buffers | 727 | Buffers |
| 649 | 728 | ||
| 650 | * Buffer Basics:: What is a buffer? | 729 | * Buffer Basics:: What is a buffer? |
| 730 | * Current Buffer:: Designating a buffer as current | ||
| 731 | so primitives will access its contents. | ||
| 651 | * Buffer Names:: Accessing and changing buffer names. | 732 | * Buffer Names:: Accessing and changing buffer names. |
| 652 | * Buffer File Name:: The buffer file name indicates which file | 733 | * Buffer File Name:: The buffer file name indicates which file |
| 653 | is visited. | 734 | is visited. |
| @@ -659,8 +740,9 @@ Buffers | |||
| 659 | * The Buffer List:: How to look at all the existing buffers. | 740 | * The Buffer List:: How to look at all the existing buffers. |
| 660 | * Creating Buffers:: Functions that create buffers. | 741 | * Creating Buffers:: Functions that create buffers. |
| 661 | * Killing Buffers:: Buffers exist until explicitly killed. | 742 | * Killing Buffers:: Buffers exist until explicitly killed. |
| 662 | * Current Buffer:: Designating a buffer as current | 743 | * Indirect Buffers:: An indirect buffer shares text with some |
| 663 | so primitives will access its contents. | 744 | other buffer. |
| 745 | * Buffer Gap:: The gap in the buffer. | ||
| 664 | 746 | ||
| 665 | Windows | 747 | Windows |
| 666 | 748 | ||
| @@ -672,14 +754,20 @@ Windows | |||
| 672 | * Buffers and Windows:: Each window displays the contents of a buffer. | 754 | * Buffers and Windows:: Each window displays the contents of a buffer. |
| 673 | * Displaying Buffers:: Higher-lever functions for displaying a buffer | 755 | * Displaying Buffers:: Higher-lever functions for displaying a buffer |
| 674 | and choosing a window for it. | 756 | and choosing a window for it. |
| 757 | * Choosing Window:: How to choose a window for displaying a buffer. | ||
| 675 | * Window Point:: Each window has its own location of point. | 758 | * Window Point:: Each window has its own location of point. |
| 676 | * Window Start:: The display-start position controls which text | 759 | * Window Start:: The display-start position controls which text |
| 677 | is on-screen in the window. | 760 | is on-screen in the window. |
| 678 | * Vertical Scrolling:: Moving text up and down in the window. | 761 | * Textual Scrolling:: Moving text up and down through the window. |
| 679 | * Horizontal Scrolling:: Moving text sideways on the window. | 762 | * Vertical Scrolling:: Moving the contents up and down on the window. |
| 763 | * Horizontal Scrolling:: Moving the contents sideways on the window. | ||
| 680 | * Size of Window:: Accessing the size of a window. | 764 | * Size of Window:: Accessing the size of a window. |
| 681 | * Resizing Windows:: Changing the size of a window. | 765 | * Resizing Windows:: Changing the size of a window. |
| 766 | * Coordinates and Windows:: Converting coordinates to windows. | ||
| 682 | * Window Configurations:: Saving and restoring the state of the screen. | 767 | * Window Configurations:: Saving and restoring the state of the screen. |
| 768 | * Window Hooks:: Hooks for scrolling, window size changes, | ||
| 769 | redisplay going past a certain point, | ||
| 770 | or window configuration changes. | ||
| 683 | 771 | ||
| 684 | Frames | 772 | Frames |
| 685 | 773 | ||
| @@ -704,6 +792,7 @@ Frames | |||
| 704 | * Pointer Shapes:: Specifying the shape of the mouse pointer. | 792 | * Pointer Shapes:: Specifying the shape of the mouse pointer. |
| 705 | * Window System Selections::Transferring text to and from other windows. | 793 | * Window System Selections::Transferring text to and from other windows. |
| 706 | * Color Names:: Getting the definitions of color names. | 794 | * Color Names:: Getting the definitions of color names. |
| 795 | * Text Terminal Colors:: Defining colors for text-only terminals. | ||
| 707 | * Resources:: Getting resource values from the server. | 796 | * Resources:: Getting resource values from the server. |
| 708 | * Display Feature Testing:: Determining the features of a terminal. | 797 | * Display Feature Testing:: Determining the features of a terminal. |
| 709 | 798 | ||
| @@ -729,8 +818,10 @@ Markers | |||
| 729 | * Overview of Markers:: The components of a marker, and how it relocates. | 818 | * Overview of Markers:: The components of a marker, and how it relocates. |
| 730 | * Predicates on Markers:: Testing whether an object is a marker. | 819 | * Predicates on Markers:: Testing whether an object is a marker. |
| 731 | * Creating Markers:: Making empty markers or markers at certain places. | 820 | * Creating Markers:: Making empty markers or markers at certain places. |
| 732 | * Information from Markers:: Finding the marker's buffer or character | 821 | * Information from Markers::Finding the marker's buffer or character |
| 733 | position. | 822 | position. |
| 823 | * Marker Insertion Types:: Two ways a marker can relocate when you | ||
| 824 | insert where it points. | ||
| 734 | * Moving Markers:: Moving the marker to a new buffer or position. | 825 | * Moving Markers:: Moving the marker to a new buffer or position. |
| 735 | * The Mark:: How ``the mark'' is implemented with a marker. | 826 | * The Mark:: How ``the mark'' is implemented with a marker. |
| 736 | * The Region:: How to access ``the region''. | 827 | * The Region:: How to access ``the region''. |
| @@ -739,6 +830,7 @@ Text | |||
| 739 | 830 | ||
| 740 | * Near Point:: Examining text in the vicinity of point. | 831 | * Near Point:: Examining text in the vicinity of point. |
| 741 | * Buffer Contents:: Examining text in a general fashion. | 832 | * Buffer Contents:: Examining text in a general fashion. |
| 833 | * Comparing Text:: Comparing substrings of buffers. | ||
| 742 | * Insertion:: Adding new text to a buffer. | 834 | * Insertion:: Adding new text to a buffer. |
| 743 | * Commands for Insertion:: User-level commands to insert text. | 835 | * Commands for Insertion:: User-level commands to insert text. |
| 744 | * Deletion:: Removing text from a buffer. | 836 | * Deletion:: Removing text from a buffer. |
| @@ -746,21 +838,25 @@ Text | |||
| 746 | * The Kill Ring:: Where removed text sometimes is saved for | 838 | * The Kill Ring:: Where removed text sometimes is saved for |
| 747 | later use. | 839 | later use. |
| 748 | * Undo:: Undoing changes to the text of a buffer. | 840 | * Undo:: Undoing changes to the text of a buffer. |
| 749 | * Auto Filling:: How auto-fill mode is implemented to break lines. | 841 | * Maintaining Undo:: How to enable and disable undo information. |
| 842 | How to control how much information is kept. | ||
| 750 | * Filling:: Functions for explicit filling. | 843 | * Filling:: Functions for explicit filling. |
| 751 | * Margins:: How to specify margins for filling commands. | 844 | * Margins:: How to specify margins for filling commands. |
| 845 | * Adaptive Fill:: Adaptive Fill mode chooses a fill prefix | ||
| 846 | from context. | ||
| 847 | * Auto Filling:: How auto-fill mode is implemented to break lines. | ||
| 752 | * Sorting:: Functions for sorting parts of the buffer. | 848 | * Sorting:: Functions for sorting parts of the buffer. |
| 753 | * Indentation:: Functions to insert or adjust indentation. | ||
| 754 | * Columns:: Computing horizontal positions, and using them. | 849 | * Columns:: Computing horizontal positions, and using them. |
| 850 | * Indentation:: Functions to insert or adjust indentation. | ||
| 755 | * Case Changes:: Case conversion of parts of the buffer. | 851 | * Case Changes:: Case conversion of parts of the buffer. |
| 756 | * Text Properties:: Assigning Lisp property lists to text characters. | 852 | * Text Properties:: Assigning Lisp property lists to text characters. |
| 757 | * Substitution:: Replacing a given character wherever it appears. | 853 | * Substitution:: Replacing a given character wherever it appears. |
| 758 | * Transposition:: Swapping two portions of a buffer. | 854 | * Transposition:: Swapping two portions of a buffer. |
| 759 | * Registers:: How registers are implemented. Accessing | 855 | * Registers:: How registers are implemented. Accessing |
| 760 | the text or position stored in a register. | 856 | the text or position stored in a register. |
| 761 | * Atomic Changes:: Installing several buffer changes ``atomically''. | ||
| 762 | * Base 64:: Conversion to or from base 64 encoding. | 857 | * Base 64:: Conversion to or from base 64 encoding. |
| 763 | * MD5 Checksum:: Compute the MD5 ``message digest''/``checksum''. | 858 | * MD5 Checksum:: Compute the MD5 ``message digest''/``checksum''. |
| 859 | * Atomic Changes:: Installing several buffer changes ``atomically''. | ||
| 764 | * Change Hooks:: Supplying functions to be run when text is changed. | 860 | * Change Hooks:: Supplying functions to be run when text is changed. |
| 765 | 861 | ||
| 766 | The Kill Ring | 862 | The Kill Ring |
| @@ -796,6 +892,7 @@ Text Properties | |||
| 796 | only when text is examined. | 892 | only when text is examined. |
| 797 | * Clickable Text:: Using text properties to make regions of text | 893 | * Clickable Text:: Using text properties to make regions of text |
| 798 | do something when you click on them. | 894 | do something when you click on them. |
| 895 | * Links and Mouse-1:: How to make @key{Mouse-1} follow a link. | ||
| 799 | * Fields:: The @code{field} property defines | 896 | * Fields:: The @code{field} property defines |
| 800 | fields within the buffer. | 897 | fields within the buffer. |
| 801 | * Not Intervals:: Why text properties do not use | 898 | * Not Intervals:: Why text properties do not use |
| @@ -824,25 +921,31 @@ Searching and Matching | |||
| 824 | * String Search:: Search for an exact match. | 921 | * String Search:: Search for an exact match. |
| 825 | * Regular Expressions:: Describing classes of strings. | 922 | * Regular Expressions:: Describing classes of strings. |
| 826 | * Regexp Search:: Searching for a match for a regexp. | 923 | * Regexp Search:: Searching for a match for a regexp. |
| 924 | * POSIX Regexps:: Searching POSIX-style for the longest match. | ||
| 925 | * Search and Replace:: Internals of @code{query-replace}. | ||
| 827 | * Match Data:: Finding out which part of the text matched | 926 | * Match Data:: Finding out which part of the text matched |
| 828 | various parts of a regexp, after regexp search. | 927 | various parts of a regexp, after regexp search. |
| 829 | * Saving Match Data:: Saving and restoring this information. | ||
| 830 | * Standard Regexps:: Useful regexps for finding sentences, pages,... | ||
| 831 | * Searching and Case:: Case-independent or case-significant searching. | 928 | * Searching and Case:: Case-independent or case-significant searching. |
| 929 | * Standard Regexps:: Useful regexps for finding sentences, pages,... | ||
| 832 | 930 | ||
| 833 | Regular Expressions | 931 | Regular Expressions |
| 834 | 932 | ||
| 835 | * Syntax of Regexps:: Rules for writing regular expressions. | 933 | * Syntax of Regexps:: Rules for writing regular expressions. |
| 836 | * Regexp Example:: Illustrates regular expression syntax. | 934 | * Regexp Example:: Illustrates regular expression syntax. |
| 935 | * Regexp Functions:: Functions for operating on regular expressions. | ||
| 837 | 936 | ||
| 838 | Syntax Tables | 937 | Syntax Tables |
| 839 | 938 | ||
| 939 | * Syntax Basics:: Basic concepts of syntax tables. | ||
| 840 | * Syntax Descriptors:: How characters are classified. | 940 | * Syntax Descriptors:: How characters are classified. |
| 841 | * Syntax Table Functions:: How to create, examine and alter syntax tables. | 941 | * Syntax Table Functions:: How to create, examine and alter syntax tables. |
| 942 | * Syntax Properties:: Overriding syntax with text properties. | ||
| 943 | * Motion and Syntax:: Moving over characters with certain syntaxes. | ||
| 842 | * Parsing Expressions:: Parsing balanced expressions | 944 | * Parsing Expressions:: Parsing balanced expressions |
| 843 | using the syntax table. | 945 | using the syntax table. |
| 844 | * Standard Syntax Tables:: Syntax tables used by various major modes. | 946 | * Standard Syntax Tables:: Syntax tables used by various major modes. |
| 845 | * Syntax Table Internals:: How syntax table information is stored. | 947 | * Syntax Table Internals:: How syntax table information is stored. |
| 948 | * Categories:: Another way of classifying character syntax. | ||
| 846 | 949 | ||
| 847 | Syntax Descriptors | 950 | Syntax Descriptors |
| 848 | 951 | ||
| @@ -852,15 +955,16 @@ Syntax Descriptors | |||
| 852 | Abbrevs And Abbrev Expansion | 955 | Abbrevs And Abbrev Expansion |
| 853 | 956 | ||
| 854 | * Abbrev Mode:: Setting up Emacs for abbreviation. | 957 | * Abbrev Mode:: Setting up Emacs for abbreviation. |
| 855 | * Tables: Abbrev Tables. Creating and working with abbrev tables. | 958 | * Abbrev Tables:: Creating and working with abbrev tables. |
| 856 | * Defining Abbrevs:: Specifying abbreviations and their expansions. | 959 | * Defining Abbrevs:: Specifying abbreviations and their expansions. |
| 857 | * Files: Abbrev Files. Saving abbrevs in files. | 960 | * Abbrev Files:: Saving abbrevs in files. |
| 858 | * Expansion: Abbrev Expansion. Controlling expansion; expansion subroutines. | 961 | * Abbrev Expansion:: Controlling expansion; expansion subroutines. |
| 859 | * Standard Abbrev Tables:: Abbrev tables used by various major modes. | 962 | * Standard Abbrev Tables:: Abbrev tables used by various major modes. |
| 860 | 963 | ||
| 861 | Processes | 964 | Processes |
| 862 | 965 | ||
| 863 | * Subprocess Creation:: Functions that start subprocesses. | 966 | * Subprocess Creation:: Functions that start subprocesses. |
| 967 | * Shell Arguments:: Quoting an argument to pass it to a shell. | ||
| 864 | * Synchronous Processes:: Details of using synchronous subprocesses. | 968 | * Synchronous Processes:: Details of using synchronous subprocesses. |
| 865 | * Asynchronous Processes:: Starting up an asynchronous subprocess. | 969 | * Asynchronous Processes:: Starting up an asynchronous subprocess. |
| 866 | * Deleting Processes:: Eliminating an asynchronous subprocess. | 970 | * Deleting Processes:: Eliminating an asynchronous subprocess. |
| @@ -870,7 +974,13 @@ Processes | |||
| 870 | an asynchronous subprocess. | 974 | an asynchronous subprocess. |
| 871 | * Output from Processes:: Collecting output from an asynchronous subprocess. | 975 | * Output from Processes:: Collecting output from an asynchronous subprocess. |
| 872 | * Sentinels:: Sentinels run when process run-status changes. | 976 | * Sentinels:: Sentinels run when process run-status changes. |
| 977 | * Query Before Exit:: Whether to query if exiting will kill a process. | ||
| 978 | * Transaction Queues:: Transaction-based communication with subprocesses. | ||
| 873 | * Network:: Opening network connections. | 979 | * Network:: Opening network connections. |
| 980 | * Network Servers:: Network servers let Emacs accept net connections. | ||
| 981 | * Datagrams:: UDP network connections. | ||
| 982 | * Low-Level Network:: Lower-level but more general function | ||
| 983 | to create connections and servers. | ||
| 874 | 984 | ||
| 875 | Receiving Output from Processes | 985 | Receiving Output from Processes |
| 876 | 986 | ||
| @@ -879,14 +989,53 @@ Receiving Output from Processes | |||
| 879 | * Decoding Output:: Filters can get unibyte or multibyte strings. | 989 | * Decoding Output:: Filters can get unibyte or multibyte strings. |
| 880 | * Accepting Output:: How to wait until process output arrives. | 990 | * Accepting Output:: How to wait until process output arrives. |
| 881 | 991 | ||
| 992 | Emacs Display | ||
| 993 | |||
| 994 | * Refresh Screen:: Clearing the screen and redrawing everything on it. | ||
| 995 | * Forcing Redisplay:: Forcing redisplay. | ||
| 996 | * Truncation:: Folding or wrapping long text lines. | ||
| 997 | * The Echo Area:: Where messages are displayed. | ||
| 998 | * Warnings:: Displaying warning messages for the user. | ||
| 999 | * Progress:: Informing user about progress of a long operation. | ||
| 1000 | * Invisible Text:: Hiding part of the buffer text. | ||
| 1001 | * Selective Display:: Hiding part of the buffer text. | ||
| 1002 | * Temporary Displays:: Displays that go away automatically. | ||
| 1003 | * Overlays:: Use overlays to highlight parts of the buffer. | ||
| 1004 | * Width:: How wide a character or string is on the screen. | ||
| 1005 | * Line Height:: Controlling the height of lines. | ||
| 1006 | * Faces:: A face defines a graphics style | ||
| 1007 | for text characters: font, colors, etc. | ||
| 1008 | * Fringes:: Controlling window fringes. | ||
| 1009 | * Scroll Bars:: Controlling vertical scroll bars. | ||
| 1010 | * Pointer Shape:: Controlling the mouse pointer shape. | ||
| 1011 | * Display Property:: Enabling special display features. | ||
| 1012 | * Images:: Displaying images in Emacs buffers. | ||
| 1013 | * Buttons:: Adding clickable buttons to Emacs buffers. | ||
| 1014 | * Blinking:: How Emacs shows the matching open parenthesis. | ||
| 1015 | * Inverse Video:: Specifying how the screen looks. | ||
| 1016 | * Usual Display:: The usual conventions for displaying nonprinting chars. | ||
| 1017 | * Display Tables:: How to specify other conventions. | ||
| 1018 | * Beeping:: Audible signal to the user. | ||
| 1019 | * Window Systems:: Which window system is being used. | ||
| 1020 | |||
| 882 | Operating System Interface | 1021 | Operating System Interface |
| 883 | 1022 | ||
| 884 | * Starting Up:: Customizing Emacs start-up processing. | 1023 | * Starting Up:: Customizing Emacs start-up processing. |
| 885 | * Getting Out:: How exiting works (permanent or temporary). | 1024 | * Getting Out:: How exiting works (permanent or temporary). |
| 886 | * System Environment:: Distinguish the name and kind of system. | 1025 | * System Environment:: Distinguish the name and kind of system. |
| 1026 | * User Identification:: Finding the name and user id of the user. | ||
| 1027 | * Time of Day:: Getting the current time. | ||
| 1028 | * Time Conversion:: Converting a time from numeric form to a string, or | ||
| 1029 | to calendrical data (or vice versa). | ||
| 1030 | * Processor Run Time:: Getting the run time used by Emacs. | ||
| 1031 | * Time Calculations:: Adding, subtracting, comparing times, etc. | ||
| 1032 | * Timers:: Setting a timer to call a function at a certain time. | ||
| 887 | * Terminal Input:: Recording terminal input for debugging. | 1033 | * Terminal Input:: Recording terminal input for debugging. |
| 888 | * Terminal Output:: Recording terminal output for debugging. | 1034 | * Terminal Output:: Recording terminal output for debugging. |
| 1035 | * Sound Output:: Playing sounds on the computer's speaker. | ||
| 1036 | * X11 Keysyms:: Operating on key symbols for X Windows | ||
| 889 | * Batch Mode:: Running Emacs without terminal interaction. | 1037 | * Batch Mode:: Running Emacs without terminal interaction. |
| 1038 | * Session Management:: Saving and restoring state with X Session Management. | ||
| 890 | 1039 | ||
| 891 | Starting Up Emacs | 1040 | Starting Up Emacs |
| 892 | 1041 | ||
| @@ -901,36 +1050,22 @@ Getting out of Emacs | |||
| 901 | * Killing Emacs:: Exiting Emacs irreversibly. | 1050 | * Killing Emacs:: Exiting Emacs irreversibly. |
| 902 | * Suspending Emacs:: Exiting Emacs reversibly. | 1051 | * Suspending Emacs:: Exiting Emacs reversibly. |
| 903 | 1052 | ||
| 904 | Emacs Display | 1053 | Tips and Conventions |
| 905 | 1054 | ||
| 906 | * Refresh Screen:: Clearing the screen and redrawing everything on it. | 1055 | * Coding Conventions:: Conventions for clean and robust programs. |
| 907 | * Truncation:: Folding or wrapping long text lines. | 1056 | * Compilation Tips:: Making compiled code run fast. |
| 908 | * The Echo Area:: Where messages are displayed. | 1057 | * Documentation Tips:: Writing readable documentation strings. |
| 909 | * Warnings:: Displaying warning messages for the user. | 1058 | * Comment Tips:: Conventions for writing comments. |
| 910 | * Selective Display:: Hiding part of the buffer text. | 1059 | * Library Headers:: Standard headers for library packages. |
| 911 | * Overlay Arrow:: Display of an arrow to indicate position. | ||
| 912 | * Temporary Displays:: Displays that go away automatically. | ||
| 913 | * Overlays:: Use overlays to highlight parts of the buffer. | ||
| 914 | * Width:: How wide a character or string is on the screen. | ||
| 915 | * Faces:: A face defines a graphics style | ||
| 916 | for text characters: font, colors, etc. | ||
| 917 | * Fringes:: Controlling window fringes. | ||
| 918 | * Display Property:: Enabling special display features. | ||
| 919 | * Images:: Displaying images in Emacs buffers. | ||
| 920 | * Blinking:: How Emacs shows the matching open parenthesis. | ||
| 921 | * Inverse Video:: Specifying how the screen looks. | ||
| 922 | * Usual Display:: The usual conventions for displaying nonprinting chars. | ||
| 923 | * Display Tables:: How to specify other conventions. | ||
| 924 | * Beeping:: Audible signal to the user. | ||
| 925 | * Window Systems:: Which window system is being used. | ||
| 926 | 1060 | ||
| 927 | GNU Emacs Internals | 1061 | GNU Emacs Internals |
| 928 | 1062 | ||
| 929 | * Building Emacs:: How to preload Lisp libraries into Emacs. | 1063 | * Building Emacs:: How to preload Lisp libraries into Emacs. |
| 930 | * Pure Storage:: A kludge to make preloaded Lisp functions sharable. | 1064 | * Pure Storage:: A kludge to make preloaded Lisp functions sharable. |
| 931 | * Garbage Collection:: Reclaiming space for Lisp objects no longer used. | 1065 | * Garbage Collection:: Reclaiming space for Lisp objects no longer used. |
| 932 | * Object Internals:: Data formats of buffers, windows, processes. | 1066 | * Memory Usage:: Info about total size of Lisp objects made so far. |
| 933 | * Writing Emacs Primitives:: Writing C code for Emacs. | 1067 | * Writing Emacs Primitives:: Writing C code for Emacs. |
| 1068 | * Object Internals:: Data formats of buffers, windows, processes. | ||
| 934 | 1069 | ||
| 935 | Object Internals | 1070 | Object Internals |
| 936 | 1071 | ||