diff options
| author | Joakim Verona | 2011-07-15 04:39:29 +0200 |
|---|---|---|
| committer | Joakim Verona | 2011-07-15 04:39:29 +0200 |
| commit | 4f616a2e7ed1db28da98df90266e9751a8ae9ee1 (patch) | |
| tree | 74a9dcbe13e945e712ae04a4a94c2202ca720591 /doc/lispref | |
| parent | ff2be00005c3aeda6e11d7ed264ce86f02b60958 (diff) | |
| parent | ec2bc542a4d0127425625e8cb458684bd825675a (diff) | |
| download | emacs-4f616a2e7ed1db28da98df90266e9751a8ae9ee1.tar.gz emacs-4f616a2e7ed1db28da98df90266e9751a8ae9ee1.zip | |
merge from upstream
Diffstat (limited to 'doc/lispref')
| -rw-r--r-- | doc/lispref/ChangeLog | 135 | ||||
| -rw-r--r-- | doc/lispref/commands.texi | 35 | ||||
| -rw-r--r-- | doc/lispref/customize.texi | 233 | ||||
| -rw-r--r-- | doc/lispref/display.texi | 59 | ||||
| -rw-r--r-- | doc/lispref/elisp.texi | 6 | ||||
| -rw-r--r-- | doc/lispref/frames.texi | 78 | ||||
| -rw-r--r-- | doc/lispref/functions.texi | 13 | ||||
| -rw-r--r-- | doc/lispref/help.texi | 11 | ||||
| -rw-r--r-- | doc/lispref/keymaps.texi | 11 | ||||
| -rw-r--r-- | doc/lispref/modes.texi | 24 | ||||
| -rw-r--r-- | doc/lispref/objects.texi | 4 | ||||
| -rw-r--r-- | doc/lispref/searching.texi | 6 | ||||
| -rw-r--r-- | doc/lispref/streams.texi | 6 | ||||
| -rw-r--r-- | doc/lispref/strings.texi | 14 | ||||
| -rw-r--r-- | doc/lispref/syntax.texi | 2 | ||||
| -rw-r--r-- | doc/lispref/text.texi | 22 | ||||
| -rw-r--r-- | doc/lispref/variables.texi | 52 | ||||
| -rw-r--r-- | doc/lispref/vol1.texi | 2 | ||||
| -rw-r--r-- | doc/lispref/vol2.texi | 2 |
19 files changed, 443 insertions, 272 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 7946e4b91ff..153d7e839c3 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,138 @@ | |||
| 1 | 2011-07-14 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * display.texi (Other Display Specs): Document that `left-fringe' | ||
| 4 | and `right-fringe' display specifications are of the "replacing" | ||
| 5 | kind. | ||
| 6 | |||
| 7 | 2011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 8 | |||
| 9 | * help.texi (Documentation Basics): Add a link to the Function | ||
| 10 | Documentation node (bug#6580). | ||
| 11 | |||
| 12 | 2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 13 | |||
| 14 | * keymaps.texi (Menu Bar): Mention :visible and :enable | ||
| 15 | (bug#6344). Text by Drew Adams. | ||
| 16 | |||
| 17 | * modes.texi (Running Hooks): Mention buffer-local hook variables | ||
| 18 | (bug#6218). | ||
| 19 | |||
| 20 | * objects.texi (General Escape Syntax): "a with grave accent" is | ||
| 21 | ?xe0, not ?x8e0 (bug#5259). | ||
| 22 | |||
| 23 | 2011-07-12 Chong Yidong <cyd@stupidchicken.com> | ||
| 24 | |||
| 25 | * display.texi (Face Attributes, Font Selection): Add references | ||
| 26 | to the Fonts node in the Emacs manual (Bug#4178). | ||
| 27 | |||
| 28 | 2011-07-12 Chong Yidong <cyd@stupidchicken.com> | ||
| 29 | |||
| 30 | * display.texi (Window Systems): `window-system' is | ||
| 31 | terminal-local. | ||
| 32 | |||
| 33 | * frames.texi (Frame Parameters, Parameter Access): Don't mention | ||
| 34 | frame-local variables. | ||
| 35 | |||
| 36 | * variables.texi (Buffer-Local Variables): Don't mention obsolete | ||
| 37 | frame-local variables. | ||
| 38 | (Frame-Local Variables): Node deleted. | ||
| 39 | |||
| 40 | * elisp.texi (Top): Update node listing. | ||
| 41 | |||
| 42 | 2011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 43 | |||
| 44 | * elisp.texi: Change "inferiors" to "subnodes" in three places | ||
| 45 | (bug#3523). | ||
| 46 | |||
| 47 | 2011-07-11 Chong Yidong <cyd@stupidchicken.com> | ||
| 48 | |||
| 49 | * frames.texi (Window System Selections): Discussion of | ||
| 50 | x-select-enable-clipboard moved to Emacs manual. | ||
| 51 | |||
| 52 | 2011-07-11 Deniz Dogan <deniz@dogan.se> | ||
| 53 | |||
| 54 | * commands.texi (Prefix Command Arguments): Remove excessive | ||
| 55 | apostrophe. | ||
| 56 | |||
| 57 | 2011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 58 | |||
| 59 | * syntax.texi (Syntax Descriptors): Clarify that the ". 23" syntax | ||
| 60 | description is a string (bug#3313). | ||
| 61 | |||
| 62 | * frames.texi (Display Feature Testing): Try to explain what all | ||
| 63 | the visual classes mean (bug#3042). | ||
| 64 | |||
| 65 | 2011-07-10 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 66 | |||
| 67 | * modes.texi (Mode Line Variables): Document `mode-line-remote' | ||
| 68 | and `mode-line-client' (bug#2974). | ||
| 69 | |||
| 70 | * text.texi (Insertion): Clarify marker movements (bug#1651). | ||
| 71 | Text from Drew Adams. | ||
| 72 | |||
| 73 | 2011-07-07 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 74 | |||
| 75 | * text.texi (Special Properties): Clarify the format of `face' | ||
| 76 | (bug#1375). | ||
| 77 | |||
| 78 | * commands.texi (Interactive Call): Add a `call-interactively' | ||
| 79 | example (bug#1010). | ||
| 80 | |||
| 81 | 2011-07-06 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 82 | |||
| 83 | * functions.texi (Calling Functions): Link to the "Interactive | ||
| 84 | Call" node (bug#1001). | ||
| 85 | |||
| 86 | 2011-07-06 Chong Yidong <cyd@stupidchicken.com> | ||
| 87 | |||
| 88 | * customize.texi (Composite Types): Move alist and plist to here | ||
| 89 | from Simple Types (Bug#7545). | ||
| 90 | |||
| 91 | * elisp.texi (Top): Update menu description. | ||
| 92 | |||
| 93 | * display.texi (Face Attributes): Document negative line widths | ||
| 94 | (Bug#6113). | ||
| 95 | |||
| 96 | 2011-07-03 Tobias C. Rittweiler <tcr@freebits.de> (tiny change) | ||
| 97 | |||
| 98 | * searching.texi (Match Data): Note that match data can be | ||
| 99 | overwritten by most functions (bug#2499). | ||
| 100 | |||
| 101 | 2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 102 | |||
| 103 | * strings.texi (Formatting Strings): Clarify what the "-" and "0" | ||
| 104 | flags mean (bug#6659). | ||
| 105 | |||
| 106 | * functions.texi (What Is a Function): Document the autoload | ||
| 107 | object (bug#6496). | ||
| 108 | |||
| 109 | 2011-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 110 | |||
| 111 | * customize.texi (Variable Definitions): Clarify that SETFUNCTION | ||
| 112 | is only used in the Customize user interface (bug#6089). | ||
| 113 | |||
| 114 | * display.texi (Showing Images): Mention the point of sliced | ||
| 115 | images (bug#7836). | ||
| 116 | |||
| 117 | 2011-07-02 Eli Zaretskii <eliz@gnu.org> | ||
| 118 | |||
| 119 | * variables.texi (Defining Variables, Void Variables) | ||
| 120 | (Constant Variables): Fix incorrect usage of @kindex. | ||
| 121 | |||
| 122 | 2011-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 123 | |||
| 124 | * variables.texi (Defining Variables): Add an index entry for | ||
| 125 | `set-variable' (bug#7262). | ||
| 126 | (Defining Variables): Use @findex for functions. | ||
| 127 | |||
| 128 | * frames.texi (Basic Parameters): Document the `explicit-name' | ||
| 129 | parameter (bug#6951). | ||
| 130 | |||
| 131 | * customize.texi (Type Keywords): Clarify that :value provides a | ||
| 132 | default value for all types (bug#7386). | ||
| 133 | |||
| 134 | * streams.texi (Output Functions): Document `pp'. | ||
| 135 | |||
| 1 | 2011-06-25 Chong Yidong <cyd@stupidchicken.com> | 136 | 2011-06-25 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 137 | ||
| 3 | * keymaps.texi (Searching Keymaps): | 138 | * keymaps.texi (Searching Keymaps): |
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi index eb42ddb11a4..e76b2bafd79 100644 --- a/doc/lispref/commands.texi +++ b/doc/lispref/commands.texi | |||
| @@ -597,13 +597,32 @@ realistic example of using @code{commandp}. | |||
| 597 | 597 | ||
| 598 | @defun call-interactively command &optional record-flag keys | 598 | @defun call-interactively command &optional record-flag keys |
| 599 | This function calls the interactively callable function @var{command}, | 599 | This function calls the interactively callable function @var{command}, |
| 600 | reading arguments according to its interactive calling specifications. | 600 | providing arguments according to its interactive calling specifications. |
| 601 | It returns whatever @var{command} returns. An error is signaled if | 601 | It returns whatever @var{command} returns. |
| 602 | @var{command} is not a function or if it cannot be called | 602 | |
| 603 | interactively (i.e., is not a command). Note that keyboard macros | 603 | If, for instance, you have a function with the following signature: |
| 604 | (strings and vectors) are not accepted, even though they are | 604 | |
| 605 | considered commands, because they are not functions. If @var{command} | 605 | @example |
| 606 | is a symbol, then @code{call-interactively} uses its function definition. | 606 | (defun foo (begin end) |
| 607 | (interactive "r") | ||
| 608 | ...) | ||
| 609 | @end example | ||
| 610 | |||
| 611 | then saying | ||
| 612 | |||
| 613 | @example | ||
| 614 | (call-interactively 'foo) | ||
| 615 | @end example | ||
| 616 | |||
| 617 | will call @code{foo} with the region (@code{point} and @code{mark}) as | ||
| 618 | the arguments. | ||
| 619 | |||
| 620 | An error is signaled if @var{command} is not a function or if it | ||
| 621 | cannot be called interactively (i.e., is not a command). Note that | ||
| 622 | keyboard macros (strings and vectors) are not accepted, even though | ||
| 623 | they are considered commands, because they are not functions. If | ||
| 624 | @var{command} is a symbol, then @code{call-interactively} uses its | ||
| 625 | function definition. | ||
| 607 | 626 | ||
| 608 | @cindex record command history | 627 | @cindex record command history |
| 609 | If @var{record-flag} is non-@code{nil}, then this command and its | 628 | If @var{record-flag} is non-@code{nil}, then this command and its |
| @@ -2993,7 +3012,7 @@ An integer, which stands for itself. | |||
| 2993 | 3012 | ||
| 2994 | @item | 3013 | @item |
| 2995 | A list of one element, which is an integer. This form of prefix | 3014 | A list of one element, which is an integer. This form of prefix |
| 2996 | argument results from one or a succession of @kbd{C-u}'s with no | 3015 | argument results from one or a succession of @kbd{C-u}s with no |
| 2997 | digits. The numeric value is the integer in the list, but some | 3016 | digits. The numeric value is the integer in the list, but some |
| 2998 | commands make a distinction between such a list and an integer alone. | 3017 | commands make a distinction between such a list and an integer alone. |
| 2999 | 3018 | ||
diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi index e58c8c298c9..868edaa5bd4 100644 --- a/doc/lispref/customize.texi +++ b/doc/lispref/customize.texi | |||
| @@ -326,11 +326,12 @@ individual types for a description of how to use @code{:options}. | |||
| 326 | @item :set @var{setfunction} | 326 | @item :set @var{setfunction} |
| 327 | @kindex set@r{, @code{defcustom} keyword} | 327 | @kindex set@r{, @code{defcustom} keyword} |
| 328 | Specify @var{setfunction} as the way to change the value of this | 328 | Specify @var{setfunction} as the way to change the value of this |
| 329 | option. The function @var{setfunction} should take two arguments, a | 329 | option when using the Customize user interface. The function |
| 330 | symbol (the option name) and the new value, and should do whatever is | 330 | @var{setfunction} should take two arguments, a symbol (the option |
| 331 | necessary to update the value properly for this option (which may not | 331 | name) and the new value, and should do whatever is necessary to update |
| 332 | mean simply setting the option as a Lisp variable). The default for | 332 | the value properly for this option (which may not mean simply setting |
| 333 | @var{setfunction} is @code{set-default}. | 333 | the option as a Lisp variable). The default for @var{setfunction} is |
| 334 | @code{set-default}. | ||
| 334 | 335 | ||
| 335 | @item :get @var{getfunction} | 336 | @item :get @var{getfunction} |
| 336 | @kindex get@r{, @code{defcustom} keyword} | 337 | @kindex get@r{, @code{defcustom} keyword} |
| @@ -512,8 +513,7 @@ equivalent to @code{(string)}. | |||
| 512 | Introduction, widget, The Emacs Widget Library}, for details. | 513 | Introduction, widget, The Emacs Widget Library}, for details. |
| 513 | 514 | ||
| 514 | @menu | 515 | @menu |
| 515 | * Simple Types:: Simple customization types: sexp, integer, number, | 516 | * Simple Types:: Simple customization types: sexp, integer, etc. |
| 516 | string, file, directory, alist. | ||
| 517 | * Composite Types:: Build new types from other types or data. | 517 | * Composite Types:: Build new types from other types or data. |
| 518 | * Splicing into Lists:: Splice elements into list with @code{:inline}. | 518 | * Splicing into Lists:: Splice elements into list with @code{:inline}. |
| 519 | * Type Keywords:: Keyword-argument pairs in a customization type. | 519 | * Type Keywords:: Keyword-argument pairs in a customization type. |
| @@ -576,22 +576,103 @@ You can use the @code{:options} keyword in a hook variable's | |||
| 576 | @code{defcustom} to specify a list of functions recommended for use in | 576 | @code{defcustom} to specify a list of functions recommended for use in |
| 577 | the hook; see @ref{Variable Definitions}. | 577 | the hook; see @ref{Variable Definitions}. |
| 578 | 578 | ||
| 579 | @item alist | 579 | @item symbol |
| 580 | The value must be a list of cons-cells, the @sc{car} of each cell | 580 | The value must be a symbol. It appears in the customization buffer as |
| 581 | representing a key, and the @sc{cdr} of the same cell representing an | 581 | the name of the symbol. |
| 582 | associated value. The user can add and delete key/value pairs, and | ||
| 583 | edit both the key and the value of each pair. | ||
| 584 | 582 | ||
| 585 | You can specify the key and value types like this: | 583 | @item function |
| 584 | The value must be either a lambda expression or a function name. When | ||
| 585 | it is a function name, you can do completion with @kbd{M-@key{TAB}}. | ||
| 586 | 586 | ||
| 587 | @smallexample | 587 | @item variable |
| 588 | (alist :key-type @var{key-type} :value-type @var{value-type}) | 588 | The value must be a variable name, and you can do completion with |
| 589 | @end smallexample | 589 | @kbd{M-@key{TAB}}. |
| 590 | |||
| 591 | @item face | ||
| 592 | The value must be a symbol which is a face name, and you can do | ||
| 593 | completion with @kbd{M-@key{TAB}}. | ||
| 594 | |||
| 595 | @item boolean | ||
| 596 | The value is boolean---either @code{nil} or @code{t}. Note that by | ||
| 597 | using @code{choice} and @code{const} together (see the next section), | ||
| 598 | you can specify that the value must be @code{nil} or @code{t}, but also | ||
| 599 | specify the text to describe each value in a way that fits the specific | ||
| 600 | meaning of the alternative. | ||
| 601 | |||
| 602 | @item coding-system | ||
| 603 | The value must be a coding-system name, and you can do completion with | ||
| 604 | @kbd{M-@key{TAB}}. | ||
| 605 | |||
| 606 | @item color | ||
| 607 | The value must be a valid color name, and you can do completion with | ||
| 608 | @kbd{M-@key{TAB}}. A sample is provided. | ||
| 609 | @end table | ||
| 610 | |||
| 611 | @node Composite Types | ||
| 612 | @subsection Composite Types | ||
| 613 | @cindex composite types (customization) | ||
| 614 | |||
| 615 | When none of the simple types is appropriate, you can use composite | ||
| 616 | types, which build new types from other types or from specified data. | ||
| 617 | The specified types or data are called the @dfn{arguments} of the | ||
| 618 | composite type. The composite type normally looks like this: | ||
| 619 | |||
| 620 | @example | ||
| 621 | (@var{constructor} @var{arguments}@dots{}) | ||
| 622 | @end example | ||
| 590 | 623 | ||
| 591 | @noindent | 624 | @noindent |
| 592 | where @var{key-type} and @var{value-type} are customization type | 625 | but you can also add keyword-value pairs before the arguments, like |
| 593 | specifications. The default key type is @code{sexp}, and the default | 626 | this: |
| 594 | value type is @code{sexp}. | 627 | |
| 628 | @example | ||
| 629 | (@var{constructor} @r{@{}@var{keyword} @var{value}@r{@}}@dots{} @var{arguments}@dots{}) | ||
| 630 | @end example | ||
| 631 | |||
| 632 | Here is a table of constructors and how to use them to write | ||
| 633 | composite types: | ||
| 634 | |||
| 635 | @table @code | ||
| 636 | @item (cons @var{car-type} @var{cdr-type}) | ||
| 637 | The value must be a cons cell, its @sc{car} must fit @var{car-type}, and | ||
| 638 | its @sc{cdr} must fit @var{cdr-type}. For example, @code{(cons string | ||
| 639 | symbol)} is a customization type which matches values such as | ||
| 640 | @code{("foo" . foo)}. | ||
| 641 | |||
| 642 | In the customization buffer, the @sc{car} and the @sc{cdr} are | ||
| 643 | displayed and edited separately, each according to the type | ||
| 644 | that you specify for it. | ||
| 645 | |||
| 646 | @item (list @var{element-types}@dots{}) | ||
| 647 | The value must be a list with exactly as many elements as the | ||
| 648 | @var{element-types} given; and each element must fit the | ||
| 649 | corresponding @var{element-type}. | ||
| 650 | |||
| 651 | For example, @code{(list integer string function)} describes a list of | ||
| 652 | three elements; the first element must be an integer, the second a | ||
| 653 | string, and the third a function. | ||
| 654 | |||
| 655 | In the customization buffer, each element is displayed and edited | ||
| 656 | separately, according to the type specified for it. | ||
| 657 | |||
| 658 | @item (group @var{element-types}@dots{}) | ||
| 659 | This works like @code{list} except for the formatting | ||
| 660 | of text in the Custom buffer. @code{list} labels each | ||
| 661 | element value with its tag; @code{group} does not. | ||
| 662 | |||
| 663 | @item (vector @var{element-types}@dots{}) | ||
| 664 | Like @code{list} except that the value must be a vector instead of a | ||
| 665 | list. The elements work the same as in @code{list}. | ||
| 666 | |||
| 667 | @item (alist :key-type @var{key-type} :value-type @var{value-type}) | ||
| 668 | The value must be a list of cons-cells, the @sc{car} of each cell | ||
| 669 | representing a key of customization type @var{key-type}, and the | ||
| 670 | @sc{cdr} of the same cell representing a value of customization type | ||
| 671 | @var{value-type}. The user can add and delete key/value pairs, and | ||
| 672 | edit both the key and the value of each pair. | ||
| 673 | |||
| 674 | If omitted, @var{key-type} and @var{value-type} default to | ||
| 675 | @code{sexp}. | ||
| 595 | 676 | ||
| 596 | The user can add any key matching the specified key type, but you can | 677 | The user can add any key matching the specified key type, but you can |
| 597 | give some keys a preferential treatment by specifying them with the | 678 | give some keys a preferential treatment by specifying them with the |
| @@ -686,105 +767,11 @@ and the VALUE is a list of that person's pets." | |||
| 686 | :type '(alist :value-type (repeat string))) | 767 | :type '(alist :value-type (repeat string))) |
| 687 | @end smallexample | 768 | @end smallexample |
| 688 | 769 | ||
| 689 | @item plist | 770 | @item (plist :key-type @var{key-type} :value-type @var{value-type}) |
| 690 | The @code{plist} custom type is similar to the @code{alist} (see above), | 771 | This customization type is similar to @code{alist} (see above), except |
| 691 | except that the information is stored as a property list, i.e. a list of | 772 | that (i) the information is stored as a property list, |
| 692 | this form: | 773 | (@pxref{Property Lists}), and (ii) @var{key-type}, if omitted, |
| 693 | 774 | defaults to @code{symbol} rather than @code{sexp}. | |
| 694 | @smallexample | ||
| 695 | (@var{key} @var{value} @var{key} @var{value} @var{key} @var{value} @dots{}) | ||
| 696 | @end smallexample | ||
| 697 | |||
| 698 | The default @code{:key-type} for @code{plist} is @code{symbol}, | ||
| 699 | rather than @code{sexp}. | ||
| 700 | |||
| 701 | @item symbol | ||
| 702 | The value must be a symbol. It appears in the customization buffer as | ||
| 703 | the name of the symbol. | ||
| 704 | |||
| 705 | @item function | ||
| 706 | The value must be either a lambda expression or a function name. When | ||
| 707 | it is a function name, you can do completion with @kbd{M-@key{TAB}}. | ||
| 708 | |||
| 709 | @item variable | ||
| 710 | The value must be a variable name, and you can do completion with | ||
| 711 | @kbd{M-@key{TAB}}. | ||
| 712 | |||
| 713 | @item face | ||
| 714 | The value must be a symbol which is a face name, and you can do | ||
| 715 | completion with @kbd{M-@key{TAB}}. | ||
| 716 | |||
| 717 | @item boolean | ||
| 718 | The value is boolean---either @code{nil} or @code{t}. Note that by | ||
| 719 | using @code{choice} and @code{const} together (see the next section), | ||
| 720 | you can specify that the value must be @code{nil} or @code{t}, but also | ||
| 721 | specify the text to describe each value in a way that fits the specific | ||
| 722 | meaning of the alternative. | ||
| 723 | |||
| 724 | @item coding-system | ||
| 725 | The value must be a coding-system name, and you can do completion with | ||
| 726 | @kbd{M-@key{TAB}}. | ||
| 727 | |||
| 728 | @item color | ||
| 729 | The value must be a valid color name, and you can do completion with | ||
| 730 | @kbd{M-@key{TAB}}. A sample is provided. | ||
| 731 | @end table | ||
| 732 | |||
| 733 | @node Composite Types | ||
| 734 | @subsection Composite Types | ||
| 735 | @cindex composite types (customization) | ||
| 736 | |||
| 737 | When none of the simple types is appropriate, you can use composite | ||
| 738 | types, which build new types from other types or from specified data. | ||
| 739 | The specified types or data are called the @dfn{arguments} of the | ||
| 740 | composite type. The composite type normally looks like this: | ||
| 741 | |||
| 742 | @example | ||
| 743 | (@var{constructor} @var{arguments}@dots{}) | ||
| 744 | @end example | ||
| 745 | |||
| 746 | @noindent | ||
| 747 | but you can also add keyword-value pairs before the arguments, like | ||
| 748 | this: | ||
| 749 | |||
| 750 | @example | ||
| 751 | (@var{constructor} @r{@{}@var{keyword} @var{value}@r{@}}@dots{} @var{arguments}@dots{}) | ||
| 752 | @end example | ||
| 753 | |||
| 754 | Here is a table of constructors and how to use them to write | ||
| 755 | composite types: | ||
| 756 | |||
| 757 | @table @code | ||
| 758 | @item (cons @var{car-type} @var{cdr-type}) | ||
| 759 | The value must be a cons cell, its @sc{car} must fit @var{car-type}, and | ||
| 760 | its @sc{cdr} must fit @var{cdr-type}. For example, @code{(cons string | ||
| 761 | symbol)} is a customization type which matches values such as | ||
| 762 | @code{("foo" . foo)}. | ||
| 763 | |||
| 764 | In the customization buffer, the @sc{car} and the @sc{cdr} are | ||
| 765 | displayed and edited separately, each according to the type | ||
| 766 | that you specify for it. | ||
| 767 | |||
| 768 | @item (list @var{element-types}@dots{}) | ||
| 769 | The value must be a list with exactly as many elements as the | ||
| 770 | @var{element-types} given; and each element must fit the | ||
| 771 | corresponding @var{element-type}. | ||
| 772 | |||
| 773 | For example, @code{(list integer string function)} describes a list of | ||
| 774 | three elements; the first element must be an integer, the second a | ||
| 775 | string, and the third a function. | ||
| 776 | |||
| 777 | In the customization buffer, each element is displayed and edited | ||
| 778 | separately, according to the type specified for it. | ||
| 779 | |||
| 780 | @item (group @var{element-types}@dots{}) | ||
| 781 | This works like @code{list} except for the formatting | ||
| 782 | of text in the Custom buffer. @code{list} labels each | ||
| 783 | element value with its tag; @code{group} does not. | ||
| 784 | |||
| 785 | @item (vector @var{element-types}@dots{}) | ||
| 786 | Like @code{list} except that the value must be a vector instead of a | ||
| 787 | list. The elements work the same as in @code{list}. | ||
| 788 | 775 | ||
| 789 | @item (choice @var{alternative-types}@dots{}) | 776 | @item (choice @var{alternative-types}@dots{}) |
| 790 | The value must fit at least one of @var{alternative-types}. | 777 | The value must fit at least one of @var{alternative-types}. |
| @@ -1035,7 +1022,12 @@ meanings: | |||
| 1035 | 1022 | ||
| 1036 | @table @code | 1023 | @table @code |
| 1037 | @item :value @var{default} | 1024 | @item :value @var{default} |
| 1038 | This is used for a type that appears as an alternative inside of | 1025 | Provide a default value. |
| 1026 | |||
| 1027 | If @code{nil} is not a valid value for the alternative, then it is | ||
| 1028 | essential to specify a valid default with @code{:value}. | ||
| 1029 | |||
| 1030 | If you use this for a type that appears as an alternative inside of | ||
| 1039 | @code{choice}; it specifies the default value to use, at first, if and | 1031 | @code{choice}; it specifies the default value to use, at first, if and |
| 1040 | when the user selects this alternative with the menu in the | 1032 | when the user selects this alternative with the menu in the |
| 1041 | customization buffer. | 1033 | customization buffer. |
| @@ -1043,9 +1035,6 @@ customization buffer. | |||
| 1043 | Of course, if the actual value of the option fits this alternative, it | 1035 | Of course, if the actual value of the option fits this alternative, it |
| 1044 | will appear showing the actual value, not @var{default}. | 1036 | will appear showing the actual value, not @var{default}. |
| 1045 | 1037 | ||
| 1046 | If @code{nil} is not a valid value for the alternative, then it is | ||
| 1047 | essential to specify a valid default with @code{:value}. | ||
| 1048 | |||
| 1049 | @item :format @var{format-string} | 1038 | @item :format @var{format-string} |
| 1050 | @kindex format@r{, customization keyword} | 1039 | @kindex format@r{, customization keyword} |
| 1051 | This string will be inserted in the buffer to represent the value | 1040 | This string will be inserted in the buffer to represent the value |
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 069b3c91d7b..d8be424a69f 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi | |||
| @@ -1800,9 +1800,9 @@ height. | |||
| 1800 | @cindex faces | 1800 | @cindex faces |
| 1801 | 1801 | ||
| 1802 | A @dfn{face} is a collection of graphical attributes for displaying | 1802 | A @dfn{face} is a collection of graphical attributes for displaying |
| 1803 | text: font family, foreground color, background color, optional | 1803 | text: font, foreground color, background color, optional underlining, |
| 1804 | underlining, and so on. Faces control how buffer text is displayed, | 1804 | and so on. Faces control how buffer text is displayed, and how some |
| 1805 | and how some parts of the frame, such as the mode-line, are displayed. | 1805 | parts of the frame, such as the mode-line, are displayed. |
| 1806 | @xref{Standard Faces,,, emacs, The GNU Emacs Manual}, for the list of | 1806 | @xref{Standard Faces,,, emacs, The GNU Emacs Manual}, for the list of |
| 1807 | faces Emacs normally comes with. | 1807 | faces Emacs normally comes with. |
| 1808 | 1808 | ||
| @@ -2001,16 +2001,17 @@ attribute is ignored. | |||
| 2001 | 2001 | ||
| 2002 | @table @code | 2002 | @table @code |
| 2003 | @item :family | 2003 | @item :family |
| 2004 | Font family name or fontset name (a string). If you specify a font | 2004 | Font family or fontset (a string). @xref{Fonts,,, emacs, The GNU |
| 2005 | family name, the wild-card characters @samp{*} and @samp{?} are | 2005 | Emacs Manual}. If you specify a font family name, the wild-card |
| 2006 | allowed. The function @code{font-family-list}, described below, | 2006 | characters @samp{*} and @samp{?} are allowed. The function |
| 2007 | returns a list of available family names. @xref{Fontsets}, for | 2007 | @code{font-family-list}, described below, returns a list of available |
| 2008 | information about fontsets. | 2008 | family names. @xref{Fontsets}, for information about fontsets. |
| 2009 | 2009 | ||
| 2010 | @item :foundry | 2010 | @item :foundry |
| 2011 | The name of the @dfn{font foundry} in which the font family specified | 2011 | The name of the @dfn{font foundry} for the font family specified by |
| 2012 | by the @code{:family} attribute is located (a string). The wild-card | 2012 | the @code{:family} attribute (a string). The wild-card characters |
| 2013 | characters @samp{*} and @samp{?} are allowed. | 2013 | @samp{*} and @samp{?} are allowed. @xref{Fonts,,, emacs, The GNU |
| 2014 | Emacs Manual}. | ||
| 2014 | 2015 | ||
| 2015 | @item :width | 2016 | @item :width |
| 2016 | Relative proportionate character width, also known as the character | 2017 | Relative proportionate character width, also known as the character |
| @@ -2092,7 +2093,10 @@ Draw a box with lines of width 1, in color @var{color}. | |||
| 2092 | 2093 | ||
| 2093 | @item @code{(:line-width @var{width} :color @var{color} :style @var{style})} | 2094 | @item @code{(:line-width @var{width} :color @var{color} :style @var{style})} |
| 2094 | This way you can explicitly specify all aspects of the box. The value | 2095 | This way you can explicitly specify all aspects of the box. The value |
| 2095 | @var{width} specifies the width of the lines to draw; it defaults to 1. | 2096 | @var{width} specifies the width of the lines to draw; it defaults to |
| 2097 | 1. A negative width @var{-n} means to draw a line of width @var{n} | ||
| 2098 | that occupies the space of the underlying text, thus avoiding any | ||
| 2099 | increase in the character height or width. | ||
| 2096 | 2100 | ||
| 2097 | The value @var{color} specifies the color to draw with. The default is | 2101 | The value @var{color} specifies the color to draw with. The default is |
| 2098 | the foreground color of the face for simple boxes, and the background | 2102 | the foreground color of the face for simple boxes, and the background |
| @@ -2681,14 +2685,15 @@ usually assign faces to around 400 to 600 characters at each call. | |||
| 2681 | Before Emacs can draw a character on a particular display, it must | 2685 | Before Emacs can draw a character on a particular display, it must |
| 2682 | select a @dfn{font} for that character@footnote{In this context, the | 2686 | select a @dfn{font} for that character@footnote{In this context, the |
| 2683 | term @dfn{font} has nothing to do with Font Lock (@pxref{Font Lock | 2687 | term @dfn{font} has nothing to do with Font Lock (@pxref{Font Lock |
| 2684 | Mode}).}. Normally, Emacs automatically chooses a font based on the | 2688 | Mode}).}. @xref{Fonts,,, emacs, The GNU Emacs Manual}. Normally, |
| 2685 | faces assigned to that character---specifically, the face attributes | 2689 | Emacs automatically chooses a font based on the faces assigned to that |
| 2686 | @code{:family}, @code{:weight}, @code{:slant}, and @code{:width} | 2690 | character---specifically, the face attributes @code{:family}, |
| 2687 | (@pxref{Face Attributes}). The choice of font also depends on the | 2691 | @code{:weight}, @code{:slant}, and @code{:width} (@pxref{Face |
| 2688 | character to be displayed; some fonts can only display a limited set | 2692 | Attributes}). The choice of font also depends on the character to be |
| 2689 | of characters. If no available font exactly fits the requirements, | 2693 | displayed; some fonts can only display a limited set of characters. |
| 2690 | Emacs looks for the @dfn{closest matching font}. The variables in | 2694 | If no available font exactly fits the requirements, Emacs looks for |
| 2691 | this section control how Emacs makes this selection. | 2695 | the @dfn{closest matching font}. The variables in this section |
| 2696 | control how Emacs makes this selection. | ||
| 2692 | 2697 | ||
| 2693 | @defopt face-font-family-alternatives | 2698 | @defopt face-font-family-alternatives |
| 2694 | If a given family is specified but does not exist, this variable | 2699 | If a given family is specified but does not exist, this variable |
| @@ -3894,7 +3899,8 @@ Margins}). | |||
| 3894 | @itemx (right-fringe @var{bitmap} @r{[}@var{face}@r{]}) | 3899 | @itemx (right-fringe @var{bitmap} @r{[}@var{face}@r{]}) |
| 3895 | This display specification on any character of a line of text causes | 3900 | This display specification on any character of a line of text causes |
| 3896 | the specified @var{bitmap} be displayed in the left or right fringes | 3901 | the specified @var{bitmap} be displayed in the left or right fringes |
| 3897 | for that line. The optional @var{face} specifies the colors to be | 3902 | for that line, instead of the characters that have the display |
| 3903 | specification. The optional @var{face} specifies the colors to be | ||
| 3898 | used for the bitmap. @xref{Fringe Bitmaps}, for the details. | 3904 | used for the bitmap. @xref{Fringe Bitmaps}, for the details. |
| 3899 | 3905 | ||
| 3900 | @item (space-width @var{factor}) | 3906 | @item (space-width @var{factor}) |
| @@ -4700,10 +4706,17 @@ it a @code{display} property which specifies @var{image}. @xref{Display | |||
| 4700 | Property}. | 4706 | Property}. |
| 4701 | @end defun | 4707 | @end defun |
| 4702 | 4708 | ||
| 4709 | @cindex slice, image | ||
| 4710 | @cindex image slice | ||
| 4703 | @defun insert-sliced-image image &optional string area rows cols | 4711 | @defun insert-sliced-image image &optional string area rows cols |
| 4704 | This function inserts @var{image} in the current buffer at point, like | 4712 | This function inserts @var{image} in the current buffer at point, like |
| 4705 | @code{insert-image}, but splits the image into @var{rows}x@var{cols} | 4713 | @code{insert-image}, but splits the image into @var{rows}x@var{cols} |
| 4706 | equally sized slices. | 4714 | equally sized slices. |
| 4715 | |||
| 4716 | If an image is inserted ``sliced'', then the Emacs display engine will | ||
| 4717 | treat each slice as a separate image, and allow more intuitive | ||
| 4718 | scrolling up/down, instead of jumping up/down the entire image when | ||
| 4719 | paging through a buffer that displays (large) images. | ||
| 4707 | @end defun | 4720 | @end defun |
| 4708 | 4721 | ||
| 4709 | @defun put-image image pos &optional string area | 4722 | @defun put-image image pos &optional string area |
| @@ -5900,8 +5913,8 @@ differently. An Emacs frame is a single window as far as X is | |||
| 5900 | concerned; the individual Emacs windows are not known to X at all. | 5913 | concerned; the individual Emacs windows are not known to X at all. |
| 5901 | 5914 | ||
| 5902 | @defvar window-system | 5915 | @defvar window-system |
| 5903 | This frame-local variable tells Lisp programs what window system Emacs is using | 5916 | This terminal-local variable tells Lisp programs what window system |
| 5904 | for displaying the frame. The possible values are | 5917 | Emacs is using for displaying the frame. The possible values are |
| 5905 | 5918 | ||
| 5906 | @table @code | 5919 | @table @code |
| 5907 | @item x | 5920 | @item x |
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 264d63511bc..bb05f1b4a0b 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi | |||
| @@ -193,7 +193,7 @@ Appendices | |||
| 193 | --- The Detailed Node Listing --- | 193 | --- The Detailed Node Listing --- |
| 194 | --------------------------------- | 194 | --------------------------------- |
| 195 | 195 | ||
| 196 | Here are other nodes that are inferiors of those already listed, | 196 | Here are other nodes that are subnodes of those already listed, |
| 197 | mentioned here so you can get to them in one step: | 197 | mentioned here so you can get to them in one step: |
| 198 | 198 | ||
| 199 | Introduction | 199 | Introduction |
| @@ -430,7 +430,6 @@ Variables | |||
| 430 | * File Local Variables:: Handling local variable lists in files. | 430 | * File Local Variables:: Handling local variable lists in files. |
| 431 | * Directory Local Variables:: Local variables common to all files in a | 431 | * Directory Local Variables:: Local variables common to all files in a |
| 432 | directory. | 432 | directory. |
| 433 | * Frame-Local Variables:: Frame-local bindings for variables. | ||
| 434 | * Variable Aliases:: Variables that are aliases for other variables. | 433 | * Variable Aliases:: Variables that are aliases for other variables. |
| 435 | * Variables with Restricted Values:: Non-constant variables whose value can | 434 | * Variables with Restricted Values:: Non-constant variables whose value can |
| 436 | @emph{not} be an arbitrary Lisp object. | 435 | @emph{not} be an arbitrary Lisp object. |
| @@ -508,8 +507,7 @@ Writing Customization Definitions | |||
| 508 | 507 | ||
| 509 | Customization Types | 508 | Customization Types |
| 510 | 509 | ||
| 511 | * Simple Types:: Simple customization types: sexp, integer, number, | 510 | * Simple Types:: Simple customization types: sexp, integer, etc. |
| 512 | string, file, directory, alist. | ||
| 513 | * Composite Types:: Build new types from other types or data. | 511 | * Composite Types:: Build new types from other types or data. |
| 514 | * Splicing into Lists:: Splice elements into list with @code{:inline}. | 512 | * Splicing into Lists:: Splice elements into list with @code{:inline}. |
| 515 | * Type Keywords:: Keyword-argument pairs in a customization type. | 513 | * Type Keywords:: Keyword-argument pairs in a customization type. |
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index c5136456177..b6012a4dd53 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi | |||
| @@ -337,9 +337,6 @@ parameters @code{foreground-color}, @code{background-color}, | |||
| 337 | If the terminal supports frame transparency, the parameter | 337 | If the terminal supports frame transparency, the parameter |
| 338 | @code{alpha} is also meaningful. | 338 | @code{alpha} is also meaningful. |
| 339 | 339 | ||
| 340 | You can use frame parameters to define frame-local bindings for | ||
| 341 | variables. @xref{Frame-Local Variables}. | ||
| 342 | |||
| 343 | @menu | 340 | @menu |
| 344 | * Parameter Access:: How to change a frame's parameters. | 341 | * Parameter Access:: How to change a frame's parameters. |
| 345 | * Initial Parameters:: Specifying frame parameters when you make a frame. | 342 | * Initial Parameters:: Specifying frame parameters when you make a frame. |
| @@ -374,9 +371,6 @@ elements of @var{alist}. Each element of @var{alist} has the form | |||
| 374 | parameter. If you don't mention a parameter in @var{alist}, its value | 371 | parameter. If you don't mention a parameter in @var{alist}, its value |
| 375 | doesn't change. If @var{frame} is @code{nil}, it defaults to the selected | 372 | doesn't change. If @var{frame} is @code{nil}, it defaults to the selected |
| 376 | frame. | 373 | frame. |
| 377 | |||
| 378 | You can use this function to define frame-local bindings for | ||
| 379 | variables, see @ref{Frame-Local Variables}. | ||
| 380 | @end defun | 374 | @end defun |
| 381 | 375 | ||
| 382 | @defun set-frame-parameter frame parm value | 376 | @defun set-frame-parameter frame parm value |
| @@ -520,6 +514,11 @@ you don't specify a name, Emacs sets the frame name automatically | |||
| 520 | If you specify the frame name explicitly when you create the frame, the | 514 | If you specify the frame name explicitly when you create the frame, the |
| 521 | name is also used (instead of the name of the Emacs executable) when | 515 | name is also used (instead of the name of the Emacs executable) when |
| 522 | looking up X resources for the frame. | 516 | looking up X resources for the frame. |
| 517 | |||
| 518 | @item explicit-name | ||
| 519 | If the frame name was specified explicitly when the frame was created, | ||
| 520 | this parameter will be that name. If the frame wasn't explicitly | ||
| 521 | named, this parameter will be @code{nil}. | ||
| 523 | @end table | 522 | @end table |
| 524 | 523 | ||
| 525 | @node Position Parameters | 524 | @node Position Parameters |
| @@ -1954,30 +1953,34 @@ defined in the file @file{lisp/term/x-win.el}. Use @kbd{M-x apropos | |||
| 1954 | @node Window System Selections | 1953 | @node Window System Selections |
| 1955 | @section Window System Selections | 1954 | @section Window System Selections |
| 1956 | @cindex selection (for window systems) | 1955 | @cindex selection (for window systems) |
| 1957 | 1956 | @cindex clipboard | |
| 1958 | The X server records a set of @dfn{selections} which permit transfer of | 1957 | @cindex primary selection |
| 1959 | data between application programs. The various selections are | 1958 | @cindex secondary selection |
| 1960 | distinguished by @dfn{selection types}, represented in Emacs by | 1959 | |
| 1961 | symbols. X clients including Emacs can read or set the selection for | 1960 | In the X window system, data can be transferred between different |
| 1962 | any given type. | 1961 | applications by means of @dfn{selections}. X defines an arbitrary |
| 1962 | number of @dfn{selection types}, each of which can store its own data; | ||
| 1963 | however, only three are commonly used: the @dfn{clipboard}, | ||
| 1964 | @dfn{primary selection}, and @dfn{secondary selection}. @xref{Cut and | ||
| 1965 | Paste,, Cut and Paste, emacs, The GNU Emacs Manual}, for Emacs | ||
| 1966 | commands that make use of these selections. This section documents | ||
| 1967 | the low-level functions for reading and setting X selections. | ||
| 1963 | 1968 | ||
| 1964 | @deffn Command x-set-selection type data | 1969 | @deffn Command x-set-selection type data |
| 1965 | This function sets a ``selection'' in the X server. It takes two | 1970 | This function sets an X selection. It takes two arguments: a |
| 1966 | arguments: a selection type @var{type}, and the value to assign to it, | 1971 | selection type @var{type}, and the value to assign to it, @var{data}. |
| 1967 | @var{data}. If @var{data} is @code{nil}, it means to clear out the | 1972 | |
| 1968 | selection. Otherwise, @var{data} may be a string, a symbol, an integer | 1973 | @var{type} should be a symbol; it is usually one of @code{PRIMARY}, |
| 1969 | (or a cons of two integers or list of two integers), an overlay, or a | 1974 | @code{SECONDARY} or @code{CLIPBOARD}. These are symbols with |
| 1970 | cons of two markers pointing to the same buffer. An overlay or a pair | 1975 | upper-case names, in accord with X Window System conventions. If |
| 1971 | of markers stands for text in the overlay or between the markers. | 1976 | @var{type} is @code{nil}, that stands for @code{PRIMARY}. |
| 1972 | 1977 | ||
| 1973 | The argument @var{data} may also be a vector of valid non-vector | 1978 | If @var{data} is @code{nil}, it means to clear out the selection. |
| 1974 | selection values. | 1979 | Otherwise, @var{data} may be a string, a symbol, an integer (or a cons |
| 1975 | 1980 | of two integers or list of two integers), an overlay, or a cons of two | |
| 1976 | Each possible @var{type} has its own selection value, which changes | 1981 | markers pointing to the same buffer. An overlay or a pair of markers |
| 1977 | independently. The usual values of @var{type} are @code{PRIMARY}, | 1982 | stands for text in the overlay or between the markers. The argument |
| 1978 | @code{SECONDARY} and @code{CLIPBOARD}; these are symbols with upper-case | 1983 | @var{data} may also be a vector of valid non-vector selection values. |
| 1979 | names, in accord with X Window System conventions. If @var{type} is | ||
| 1980 | @code{nil}, that stands for @code{PRIMARY}. | ||
| 1981 | 1984 | ||
| 1982 | This function returns @var{data}. | 1985 | This function returns @var{data}. |
| 1983 | @end deffn | 1986 | @end deffn |
| @@ -2014,14 +2017,6 @@ and @code{x-set-selection} on MS-Windows support the text data type | |||
| 2014 | only; if the clipboard holds other types of data, Emacs treats the | 2017 | only; if the clipboard holds other types of data, Emacs treats the |
| 2015 | clipboard as empty. | 2018 | clipboard as empty. |
| 2016 | 2019 | ||
| 2017 | @defopt x-select-enable-clipboard | ||
| 2018 | If this is non-@code{nil}, the Emacs yank functions consult the | ||
| 2019 | clipboard before the primary selection, and the kill functions store in | ||
| 2020 | the clipboard as well as the primary selection. Otherwise they do not | ||
| 2021 | access the clipboard at all. The default is @code{t} on systems with | ||
| 2022 | clipboards. | ||
| 2023 | @end defopt | ||
| 2024 | |||
| 2025 | @node Drag and Drop | 2020 | @node Drag and Drop |
| 2026 | @section Drag and Drop | 2021 | @section Drag and Drop |
| 2027 | 2022 | ||
| @@ -2441,10 +2436,13 @@ For a tty display, it is log to base two of the number of colors supported. | |||
| 2441 | @end defun | 2436 | @end defun |
| 2442 | 2437 | ||
| 2443 | @defun display-visual-class &optional display | 2438 | @defun display-visual-class &optional display |
| 2444 | This function returns the visual class for the screen. The value is one | 2439 | This function returns the visual class for the screen. The value is |
| 2445 | of the symbols @code{static-gray}, @code{gray-scale}, | 2440 | one of the symbols @code{static-gray} (a limited, unchangeable number |
| 2446 | @code{static-color}, @code{pseudo-color}, @code{true-color}, and | 2441 | of grays), @code{gray-scale} (a full range of grays), |
| 2447 | @code{direct-color}. | 2442 | @code{static-color} (a limited, unchangeable number of colors), |
| 2443 | @code{pseudo-color} (a limited number of colors), @code{true-color} (a | ||
| 2444 | full range of colors), and @code{direct-color} (a full range of | ||
| 2445 | colors). | ||
| 2448 | @end defun | 2446 | @end defun |
| 2449 | 2447 | ||
| 2450 | @defun display-color-cells &optional display | 2448 | @defun display-color-cells &optional display |
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index 974487382c8..f3b2375b61d 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi | |||
| @@ -112,6 +112,13 @@ editors; for Lisp programs, the distinction is normally unimportant. | |||
| 112 | @item byte-code function | 112 | @item byte-code function |
| 113 | A @dfn{byte-code function} is a function that has been compiled by the | 113 | A @dfn{byte-code function} is a function that has been compiled by the |
| 114 | byte compiler. @xref{Byte-Code Type}. | 114 | byte compiler. @xref{Byte-Code Type}. |
| 115 | |||
| 116 | @item autoload object | ||
| 117 | @cindex autoload object | ||
| 118 | An @dfn{autoload object} is a place-holder for a real function. If | ||
| 119 | the autoload object is called, it will make Emacs load the file | ||
| 120 | containing the definition of the real function, and then call the real | ||
| 121 | function instead. | ||
| 115 | @end table | 122 | @end table |
| 116 | 123 | ||
| 117 | @defun functionp object | 124 | @defun functionp object |
| @@ -783,6 +790,12 @@ This function returns @var{arg} and has no side effects. | |||
| 783 | This function ignores any arguments and returns @code{nil}. | 790 | This function ignores any arguments and returns @code{nil}. |
| 784 | @end defun | 791 | @end defun |
| 785 | 792 | ||
| 793 | Emacs Lisp functions can also be user-visible @dfn{commands}. A | ||
| 794 | command is a function that has an @dfn{interactive} specification. | ||
| 795 | You may want to call these functions as if they were called | ||
| 796 | interactively. See @ref{Interactive Call} for details on how to do | ||
| 797 | that. | ||
| 798 | |||
| 786 | @node Mapping Functions | 799 | @node Mapping Functions |
| 787 | @section Mapping Functions | 800 | @section Mapping Functions |
| 788 | @cindex mapping functions | 801 | @cindex mapping functions |
diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi index 63fc06c929b..0ce05d55a07 100644 --- a/doc/lispref/help.texi +++ b/doc/lispref/help.texi | |||
| @@ -78,11 +78,12 @@ function or variable that it describes: | |||
| 78 | @item | 78 | @item |
| 79 | @kindex function-documentation | 79 | @kindex function-documentation |
| 80 | The documentation for a function is usually stored in the function | 80 | The documentation for a function is usually stored in the function |
| 81 | definition itself (@pxref{Lambda Expressions}). The function | 81 | definition itself (@pxref{Lambda Expressions} and @pxref{Function |
| 82 | @code{documentation} knows how to extract it. You can also put | 82 | Documentation}). The function @code{documentation} knows how to |
| 83 | function documentation in the @code{function-documentation} property | 83 | extract it. You can also put function documentation in the |
| 84 | of the function name. That is useful with definitions such as | 84 | @code{function-documentation} property of the function name. That is |
| 85 | keyboard macros that can't hold a documentation string. | 85 | useful with definitions such as keyboard macros that can't hold a |
| 86 | documentation string. | ||
| 86 | 87 | ||
| 87 | @item | 88 | @item |
| 88 | @kindex variable-documentation | 89 | @kindex variable-documentation |
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi index cf1db5b7fce..15b2f2079ba 100644 --- a/doc/lispref/keymaps.texi +++ b/doc/lispref/keymaps.texi | |||
| @@ -2262,6 +2262,17 @@ the double-dash and replacing each single dash with capitalization of | |||
| 2262 | the following word. Thus, @code{"--:singleLine"}, is equivalent to | 2262 | the following word. Thus, @code{"--:singleLine"}, is equivalent to |
| 2263 | @code{"--single-line"}. | 2263 | @code{"--single-line"}. |
| 2264 | 2264 | ||
| 2265 | You can use a longer form to specify keywords such as @code{:enable} | ||
| 2266 | and @code{:visible} for a menu separator: | ||
| 2267 | |||
| 2268 | @code{(menu-item @var{separator-type} nil . @var{item-property-list})} | ||
| 2269 | |||
| 2270 | For example: | ||
| 2271 | |||
| 2272 | @example | ||
| 2273 | (menu-item "--" nil :visible (boundp 'foo)) | ||
| 2274 | @end example | ||
| 2275 | |||
| 2265 | Some systems and display toolkits don't really handle all of these | 2276 | Some systems and display toolkits don't really handle all of these |
| 2266 | separator types. If you use a type that isn't supported, the menu | 2277 | separator types. If you use a type that isn't supported, the menu |
| 2267 | displays a similar kind of separator that is supported. | 2278 | displays a similar kind of separator that is supported. |
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index 562cc76c3f0..dd3b2e3038f 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi | |||
| @@ -101,6 +101,11 @@ one, with no arguments. | |||
| 101 | The hook variable's value can also be a single function---either a | 101 | The hook variable's value can also be a single function---either a |
| 102 | lambda expression or a symbol with a function definition---which | 102 | lambda expression or a symbol with a function definition---which |
| 103 | @code{run-hooks} calls. But this usage is obsolete. | 103 | @code{run-hooks} calls. But this usage is obsolete. |
| 104 | |||
| 105 | If the hook variable is buffer-local, the buffer-local variable will | ||
| 106 | be used instead of the global variable. However, if the buffer-local | ||
| 107 | variable contains the element @code{t}, the global hook variable will | ||
| 108 | be run as well. | ||
| 104 | @end defun | 109 | @end defun |
| 105 | 110 | ||
| 106 | @defun run-hook-with-args hook &rest args | 111 | @defun run-hook-with-args hook &rest args |
| @@ -169,11 +174,11 @@ function goes at the end of the hook list and will be executed last. | |||
| 169 | value is a single function; it sets or changes the value to a list of | 174 | value is a single function; it sets or changes the value to a list of |
| 170 | functions. | 175 | functions. |
| 171 | 176 | ||
| 172 | If @var{local} is non-@code{nil}, that says to add @var{function} to | 177 | If @var{local} is non-@code{nil}, that says to add @var{function} to the |
| 173 | the buffer-local hook list instead of to the global hook list. If | 178 | buffer-local hook list instead of to the global hook list. This makes |
| 174 | needed, this makes the hook buffer-local and adds @code{t} to the | 179 | the hook buffer-local and adds @code{t} to the buffer-local value. The |
| 175 | buffer-local value. The latter acts as a flag to run the hook | 180 | latter acts as a flag to run the hook functions in the default value as |
| 176 | functions in the default value as well as in the local value. | 181 | well as in the local value. |
| 177 | @end defun | 182 | @end defun |
| 178 | 183 | ||
| 179 | @defun remove-hook hook function &optional local | 184 | @defun remove-hook hook function &optional local |
| @@ -1866,6 +1871,15 @@ default value also displays the recursive editing level, information | |||
| 1866 | on the process status, and whether narrowing is in effect. | 1871 | on the process status, and whether narrowing is in effect. |
| 1867 | @end defopt | 1872 | @end defopt |
| 1868 | 1873 | ||
| 1874 | @defopt mode-line-remote | ||
| 1875 | This variable is used to show whether @code{default-directory} for the | ||
| 1876 | current buffer is remote. | ||
| 1877 | @end defopt | ||
| 1878 | |||
| 1879 | @defopt mode-line-client | ||
| 1880 | This variable is used to identify @code{emacsclient} frames. | ||
| 1881 | @end defopt | ||
| 1882 | |||
| 1869 | The following three variables are used in @code{mode-line-modes}: | 1883 | The following three variables are used in @code{mode-line-modes}: |
| 1870 | 1884 | ||
| 1871 | @defvar mode-name | 1885 | @defvar mode-name |
diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi index 27d9ba10aef..6d63bb7b750 100644 --- a/doc/lispref/objects.texi +++ b/doc/lispref/objects.texi | |||
| @@ -392,7 +392,7 @@ value is more important than the @acronym{ASCII} representation. | |||
| 392 | and the hexadecimal character code. You can use any number of hex | 392 | and the hexadecimal character code. You can use any number of hex |
| 393 | digits, so you can represent any character code in this way. | 393 | digits, so you can represent any character code in this way. |
| 394 | Thus, @samp{?\x41} for the character @kbd{A}, @samp{?\x1} for the | 394 | Thus, @samp{?\x41} for the character @kbd{A}, @samp{?\x1} for the |
| 395 | character @kbd{C-a}, and @code{?\x8e0} for the Latin-1 character | 395 | character @kbd{C-a}, and @code{?\xe0} for the Latin-1 character |
| 396 | @iftex | 396 | @iftex |
| 397 | @samp{@`a}. | 397 | @samp{@`a}. |
| 398 | @end iftex | 398 | @end iftex |
| @@ -1037,7 +1037,7 @@ digits as necessary. (Multibyte non-@acronym{ASCII} character codes are all | |||
| 1037 | greater than 256.) Any character which is not a valid hex digit | 1037 | greater than 256.) Any character which is not a valid hex digit |
| 1038 | terminates this construct. If the next character in the string could be | 1038 | terminates this construct. If the next character in the string could be |
| 1039 | interpreted as a hex digit, write @w{@samp{\ }} (backslash and space) to | 1039 | interpreted as a hex digit, write @w{@samp{\ }} (backslash and space) to |
| 1040 | terminate the hex escape---for example, @w{@samp{\x8e0\ }} represents | 1040 | terminate the hex escape---for example, @w{@samp{\xe0\ }} represents |
| 1041 | one character, @samp{a} with grave accent. @w{@samp{\ }} in a string | 1041 | one character, @samp{a} with grave accent. @w{@samp{\ }} in a string |
| 1042 | constant is just like backslash-newline; it does not contribute any | 1042 | constant is just like backslash-newline; it does not contribute any |
| 1043 | character to the string, but it does terminate the preceding hex escape. | 1043 | character to the string, but it does terminate the preceding hex escape. |
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi index 27b089f75b6..6272301dbb4 100644 --- a/doc/lispref/searching.texi +++ b/doc/lispref/searching.texi | |||
| @@ -1207,6 +1207,12 @@ search you wish to refer back to and the use of the match data. If you | |||
| 1207 | can't avoid another intervening search, you must save and restore the | 1207 | can't avoid another intervening search, you must save and restore the |
| 1208 | match data around it, to prevent it from being overwritten. | 1208 | match data around it, to prevent it from being overwritten. |
| 1209 | 1209 | ||
| 1210 | Notice that all functions are allowed to overwrite the match data | ||
| 1211 | unless they're explicitly documented not to do so. A consequence is | ||
| 1212 | that functions that are run implictly in the background | ||
| 1213 | (@pxref{Timers}, and @ref{Idle Timers}) should likely save and restore | ||
| 1214 | the match data explicitly. | ||
| 1215 | |||
| 1210 | @menu | 1216 | @menu |
| 1211 | * Replacing Match:: Replacing a substring that was matched. | 1217 | * Replacing Match:: Replacing a substring that was matched. |
| 1212 | * Simple Match Data:: Accessing single items of match data, | 1218 | * Simple Match Data:: Accessing single items of match data, |
diff --git a/doc/lispref/streams.texi b/doc/lispref/streams.texi index 9802c7485dd..4d3a66d8852 100644 --- a/doc/lispref/streams.texi +++ b/doc/lispref/streams.texi | |||
| @@ -684,6 +684,12 @@ For example, if the current buffer name is @samp{foo}, | |||
| 684 | returns @code{"The buffer is foo"}. | 684 | returns @code{"The buffer is foo"}. |
| 685 | @end defmac | 685 | @end defmac |
| 686 | 686 | ||
| 687 | @defun pp object &optional stream | ||
| 688 | This function outputs @var{object} to @var{stream}, just like | ||
| 689 | @code{prin1}, but does it in a more ``pretty'' way. That is, it'll | ||
| 690 | indent and fill the object to make it more readable for humans. | ||
| 691 | @end defun | ||
| 692 | |||
| 687 | @node Output Variables | 693 | @node Output Variables |
| 688 | @section Variables Affecting Output | 694 | @section Variables Affecting Output |
| 689 | @cindex output-controlling variables | 695 | @cindex output-controlling variables |
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index 05ac40e90c1..2b8911277cd 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi | |||
| @@ -856,14 +856,16 @@ with @samp{0x} or @samp{0X}. For @samp{%e}, @samp{%f}, and @samp{%g}, | |||
| 856 | the @samp{#} flag means include a decimal point even if the precision | 856 | the @samp{#} flag means include a decimal point even if the precision |
| 857 | is zero. | 857 | is zero. |
| 858 | 858 | ||
| 859 | The flag @samp{0} ensures that the padding consists of @samp{0} | ||
| 860 | characters instead of spaces. This flag is ignored for non-numerical | ||
| 861 | specification characters like @samp{%s}, @samp{%S} and @samp{%c}. | ||
| 862 | These specification characters accept the @samp{0} flag, but still pad | ||
| 863 | with @emph{spaces}. | ||
| 864 | |||
| 859 | The flag @samp{-} causes the padding inserted by the width | 865 | The flag @samp{-} causes the padding inserted by the width |
| 860 | specifier, if any, to be inserted on the right rather than the left. | 866 | specifier, if any, to be inserted on the right rather than the left. |
| 861 | The flag @samp{0} ensures that the padding consists of @samp{0} | 867 | If both @samp{-} and @samp{0} are present, the @samp{0} flag is |
| 862 | characters instead of spaces, inserted on the left. These flags are | 868 | ignored. |
| 863 | ignored for specification characters for which they do not make sense: | ||
| 864 | @samp{%s}, @samp{%S} and @samp{%c} accept the @samp{0} flag, but still | ||
| 865 | pad with @emph{spaces} on the left. If both @samp{-} and @samp{0} are | ||
| 866 | present and valid, @samp{-} takes precedence. | ||
| 867 | 869 | ||
| 868 | @example | 870 | @example |
| 869 | @group | 871 | @group |
diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi index 6582a8dfb0c..31ee7eb4e7d 100644 --- a/doc/lispref/syntax.texi +++ b/doc/lispref/syntax.texi | |||
| @@ -108,7 +108,7 @@ Then come the characters for any desired flags. If no matching | |||
| 108 | character or flags are needed, one character is sufficient. | 108 | character or flags are needed, one character is sufficient. |
| 109 | 109 | ||
| 110 | For example, the syntax descriptor for the character @samp{*} in C | 110 | For example, the syntax descriptor for the character @samp{*} in C |
| 111 | mode is @samp{@w{. 23}} (i.e., punctuation, matching character slot | 111 | mode is @code{". 23"} (i.e., punctuation, matching character slot |
| 112 | unused, second character of a comment-starter, first character of a | 112 | unused, second character of a comment-starter, first character of a |
| 113 | comment-ender), and the entry for @samp{/} is @samp{@w{. 14}} (i.e., | 113 | comment-ender), and the entry for @samp{/} is @samp{@w{. 14}} (i.e., |
| 114 | punctuation, matching character slot unused, first character of a | 114 | punctuation, matching character slot unused, first character of a |
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 7d2c3831a5a..b91afb044f0 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi | |||
| @@ -364,14 +364,13 @@ after point. Some insertion functions leave point before the inserted | |||
| 364 | text, while other functions leave it after. We call the former | 364 | text, while other functions leave it after. We call the former |
| 365 | insertion @dfn{after point} and the latter insertion @dfn{before point}. | 365 | insertion @dfn{after point} and the latter insertion @dfn{before point}. |
| 366 | 366 | ||
| 367 | Insertion relocates markers that point at positions after the | 367 | Insertion moves markers located at positions after the insertion |
| 368 | insertion point, so that they stay with the surrounding text | 368 | point, so that they stay with the surrounding text (@pxref{Markers}). |
| 369 | (@pxref{Markers}). When a marker points at the place of insertion, | 369 | When a marker points at the place of insertion, insertion may or may |
| 370 | insertion may or may not relocate the marker, depending on the marker's | 370 | not relocate the marker, depending on the marker's insertion type |
| 371 | insertion type (@pxref{Marker Insertion Types}). Certain special | 371 | (@pxref{Marker Insertion Types}). Certain special functions such as |
| 372 | functions such as @code{insert-before-markers} relocate all such markers | 372 | @code{insert-before-markers} relocate all such markers to point after |
| 373 | to point after the inserted text, regardless of the markers' insertion | 373 | the inserted text, regardless of the markers' insertion type. |
| 374 | type. | ||
| 375 | 374 | ||
| 376 | Insertion functions signal an error if the current buffer is | 375 | Insertion functions signal an error if the current buffer is |
| 377 | read-only or if they insert within read-only text. | 376 | read-only or if they insert within read-only text. |
| @@ -2978,8 +2977,7 @@ character. | |||
| 2978 | You can use the property @code{face} to control the font and color of | 2977 | You can use the property @code{face} to control the font and color of |
| 2979 | text. @xref{Faces}, for more information. | 2978 | text. @xref{Faces}, for more information. |
| 2980 | 2979 | ||
| 2981 | In the simplest case, the value is a face name. It can also be a list; | 2980 | @code{face} can be the following: |
| 2982 | then each element can be any of these possibilities; | ||
| 2983 | 2981 | ||
| 2984 | @itemize @bullet | 2982 | @itemize @bullet |
| 2985 | @item | 2983 | @item |
| @@ -2994,8 +2992,8 @@ time you want to specify a particular attribute for certain text. | |||
| 2994 | @xref{Face Attributes}. | 2992 | @xref{Face Attributes}. |
| 2995 | @end itemize | 2993 | @end itemize |
| 2996 | 2994 | ||
| 2997 | It works to use the latter two forms directly as the value | 2995 | @code{face} can also be a list, where each element uses one of the |
| 2998 | of the @code{face} property. | 2996 | forms listed above. |
| 2999 | 2997 | ||
| 3000 | Font Lock mode (@pxref{Font Lock Mode}) works in most buffers by | 2998 | Font Lock mode (@pxref{Font Lock Mode}) works in most buffers by |
| 3001 | dynamically updating the @code{face} property of characters based on | 2999 | dynamically updating the @code{face} property of characters based on |
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index 08712466b5c..3da09369882 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi | |||
| @@ -39,7 +39,6 @@ representing the variable. | |||
| 39 | * Buffer-Local Variables:: Variable values in effect only in one buffer. | 39 | * Buffer-Local Variables:: Variable values in effect only in one buffer. |
| 40 | * File Local Variables:: Handling local variable lists in files. | 40 | * File Local Variables:: Handling local variable lists in files. |
| 41 | * Directory Local Variables:: Local variables common to all files in a directory. | 41 | * Directory Local Variables:: Local variables common to all files in a directory. |
| 42 | * Frame-Local Variables:: Frame-local bindings for variables. | ||
| 43 | * Variable Aliases:: Variables that are aliases for other variables. | 42 | * Variable Aliases:: Variables that are aliases for other variables. |
| 44 | * Variables with Restricted Values:: Non-constant variables whose value can | 43 | * Variables with Restricted Values:: Non-constant variables whose value can |
| 45 | @emph{not} be an arbitrary Lisp object. | 44 | @emph{not} be an arbitrary Lisp object. |
| @@ -99,7 +98,7 @@ x | |||
| 99 | 98 | ||
| 100 | @node Constant Variables | 99 | @node Constant Variables |
| 101 | @section Variables that Never Change | 100 | @section Variables that Never Change |
| 102 | @kindex setting-constant | 101 | @cindex @code{setting-constant} error |
| 103 | @cindex keyword symbol | 102 | @cindex keyword symbol |
| 104 | @cindex variable with constant value | 103 | @cindex variable with constant value |
| 105 | @cindex constant variables | 104 | @cindex constant variables |
| @@ -288,7 +287,7 @@ has room to execute. | |||
| 288 | 287 | ||
| 289 | @node Void Variables | 288 | @node Void Variables |
| 290 | @section When a Variable is ``Void'' | 289 | @section When a Variable is ``Void'' |
| 291 | @kindex void-variable | 290 | @cindex @code{void-variable} error |
| 292 | @cindex void variable | 291 | @cindex void variable |
| 293 | 292 | ||
| 294 | If you have never given a symbol any value as a global variable, we | 293 | If you have never given a symbol any value as a global variable, we |
| @@ -583,7 +582,8 @@ and is a string, and its first character is @samp{*}, then the variable | |||
| 583 | is a user option. Aliases of user options are also user options. | 582 | is a user option. Aliases of user options are also user options. |
| 584 | @end defun | 583 | @end defun |
| 585 | 584 | ||
| 586 | @kindex variable-interactive | 585 | @cindex @code{variable-interactive} property |
| 586 | @findex set-variable | ||
| 587 | If a user option variable has a @code{variable-interactive} property, | 587 | If a user option variable has a @code{variable-interactive} property, |
| 588 | the @code{set-variable} command uses that value to control reading the | 588 | the @code{set-variable} command uses that value to control reading the |
| 589 | new value for the variable. The property's value is used as if it were | 589 | new value for the variable. The property's value is used as if it were |
| @@ -1186,8 +1186,7 @@ additional, unusual kinds of variable binding, such as | |||
| 1186 | @dfn{buffer-local} bindings, which apply only in one buffer. Having | 1186 | @dfn{buffer-local} bindings, which apply only in one buffer. Having |
| 1187 | different values for a variable in different buffers is an important | 1187 | different values for a variable in different buffers is an important |
| 1188 | customization method. (Variables can also have bindings that are | 1188 | customization method. (Variables can also have bindings that are |
| 1189 | local to each terminal, or to each frame. @xref{Multiple Terminals}, | 1189 | local to each terminal. @xref{Multiple Terminals}.) |
| 1190 | and @xref{Frame-Local Variables}.) | ||
| 1191 | 1190 | ||
| 1192 | @menu | 1191 | @menu |
| 1193 | * Intro to Buffer-Local:: Introduction and concepts. | 1192 | * Intro to Buffer-Local:: Introduction and concepts. |
| @@ -1286,9 +1285,8 @@ buffer-local binding of buffer @samp{b}. | |||
| 1286 | values when you visit the file. @xref{File Variables,,, emacs, The | 1285 | values when you visit the file. @xref{File Variables,,, emacs, The |
| 1287 | GNU Emacs Manual}. | 1286 | GNU Emacs Manual}. |
| 1288 | 1287 | ||
| 1289 | A buffer-local variable cannot be made frame-local | 1288 | A buffer-local variable cannot be made terminal-local |
| 1290 | (@pxref{Frame-Local Variables}) or terminal-local (@pxref{Multiple | 1289 | (@pxref{Multiple Terminals}). |
| 1291 | Terminals}). | ||
| 1292 | 1290 | ||
| 1293 | @node Creating Buffer-Local | 1291 | @node Creating Buffer-Local |
| 1294 | @subsection Creating and Deleting Buffer-Local Bindings | 1292 | @subsection Creating and Deleting Buffer-Local Bindings |
| @@ -1339,9 +1337,9 @@ is not current either on entry to or exit from the @code{let}. This is | |||
| 1339 | because @code{let} does not distinguish between different kinds of | 1337 | because @code{let} does not distinguish between different kinds of |
| 1340 | bindings; it knows only which variable the binding was made for. | 1338 | bindings; it knows only which variable the binding was made for. |
| 1341 | 1339 | ||
| 1342 | If the variable is terminal-local (@pxref{Multiple Terminals}), or | 1340 | If the variable is terminal-local (@pxref{Multiple Terminals}), this |
| 1343 | frame-local (@pxref{Frame-Local Variables}), this function signals an | 1341 | function signals an error. Such variables cannot have buffer-local |
| 1344 | error. Such variables cannot have buffer-local bindings as well. | 1342 | bindings as well. |
| 1345 | 1343 | ||
| 1346 | @strong{Warning:} do not use @code{make-local-variable} for a hook | 1344 | @strong{Warning:} do not use @code{make-local-variable} for a hook |
| 1347 | variable. The hook variables are automatically made buffer-local as | 1345 | variable. The hook variables are automatically made buffer-local as |
| @@ -1879,36 +1877,6 @@ modification times of the associated directory local variables file | |||
| 1879 | updates this list. | 1877 | updates this list. |
| 1880 | @end defvar | 1878 | @end defvar |
| 1881 | 1879 | ||
| 1882 | @node Frame-Local Variables | ||
| 1883 | @section Frame-Local Values for Variables | ||
| 1884 | @cindex frame-local variables | ||
| 1885 | |||
| 1886 | In addition to buffer-local variable bindings (@pxref{Buffer-Local | ||
| 1887 | Variables}), Emacs supports @dfn{frame-local} bindings. A frame-local | ||
| 1888 | binding for a variable is in effect in a frame for which it was | ||
| 1889 | defined. | ||
| 1890 | |||
| 1891 | In practice, frame-local variables have not proven very useful. | ||
| 1892 | Ordinary frame parameters are generally used instead (@pxref{Frame | ||
| 1893 | Parameters}). The function @code{make-variable-frame-local}, which | ||
| 1894 | was used to define frame-local variables, has been deprecated since | ||
| 1895 | Emacs 22.2. However, you can still define a frame-specific binding | ||
| 1896 | for a variable @var{var} in frame @var{frame}, by setting the | ||
| 1897 | @var{var} frame parameter for that frame: | ||
| 1898 | |||
| 1899 | @lisp | ||
| 1900 | (modify-frame-parameters @var{frame} '((@var{var} . @var{value}))) | ||
| 1901 | @end lisp | ||
| 1902 | |||
| 1903 | @noindent | ||
| 1904 | This causes the variable @var{var} to be bound to the specified | ||
| 1905 | @var{value} in the named @var{frame}. To check the frame-specific | ||
| 1906 | values of such variables, use @code{frame-parameter}. @xref{Parameter | ||
| 1907 | Access}. | ||
| 1908 | |||
| 1909 | Note that you cannot have a frame-local binding for a variable that | ||
| 1910 | has a buffer-local binding. | ||
| 1911 | |||
| 1912 | @node Variable Aliases | 1880 | @node Variable Aliases |
| 1913 | @section Variable Aliases | 1881 | @section Variable Aliases |
| 1914 | @cindex variable aliases | 1882 | @cindex variable aliases |
diff --git a/doc/lispref/vol1.texi b/doc/lispref/vol1.texi index afcd3d6cbd6..3b7718814b5 100644 --- a/doc/lispref/vol1.texi +++ b/doc/lispref/vol1.texi | |||
| @@ -211,7 +211,7 @@ Appendices | |||
| 211 | --- The Detailed Node Listing --- | 211 | --- The Detailed Node Listing --- |
| 212 | --------------------------------- | 212 | --------------------------------- |
| 213 | 213 | ||
| 214 | Here are other nodes that are inferiors of those already listed, | 214 | Here are other nodes that are subnodes of those already listed, |
| 215 | mentioned here so you can get to them in one step: | 215 | mentioned here so you can get to them in one step: |
| 216 | 216 | ||
| 217 | Introduction | 217 | Introduction |
diff --git a/doc/lispref/vol2.texi b/doc/lispref/vol2.texi index 65ffbc23860..22a51d3235c 100644 --- a/doc/lispref/vol2.texi +++ b/doc/lispref/vol2.texi | |||
| @@ -210,7 +210,7 @@ Appendices | |||
| 210 | --- The Detailed Node Listing --- | 210 | --- The Detailed Node Listing --- |
| 211 | --------------------------------- | 211 | --------------------------------- |
| 212 | 212 | ||
| 213 | Here are other nodes that are inferiors of those already listed, | 213 | Here are other nodes that are subnodes of those already listed, |
| 214 | mentioned here so you can get to them in one step: | 214 | mentioned here so you can get to them in one step: |
| 215 | 215 | ||
| 216 | Introduction | 216 | Introduction |