diff options
| -rw-r--r-- | doc/lispref/ChangeLog | 10 | ||||
| -rw-r--r-- | doc/lispref/customize.texi | 212 | ||||
| -rw-r--r-- | doc/lispref/display.texi | 5 | ||||
| -rw-r--r-- | doc/lispref/elisp.texi | 3 | ||||
| -rw-r--r-- | lisp/ChangeLog | 10 | ||||
| -rw-r--r-- | lisp/info.el | 2 | ||||
| -rw-r--r-- | lisp/progmodes/gud.el | 3 | ||||
| -rw-r--r-- | lisp/window.el | 2 |
8 files changed, 128 insertions, 119 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 807313c8632..0924bbcecc8 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,13 @@ +2011-07-06 Chong Yidong <cyd@stupidchicken.com> + + * customize.texi (Composite Types): Move alist and plist to here + from Simple Types (Bug#7545). + + * elisp.texi (Top): Update menu description. + + * display.texi (Face Attributes): Document negative line widths + (Bug#6113). + 2011-07-03 Tobias C. Rittweiler <tcr@freebits.de> (tiny change) * searching.texi (Match Data): Note that match data can be diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi index ff658eb81f8..868edaa5bd4 100644 --- a/doc/lispref/customize.texi +++ b/doc/lispref/customize.texi @@ -513,8 +513,7 @@ equivalent to @code{(string)}. Introduction, widget, The Emacs Widget Library}, for details. @menu -* Simple Types:: Simple customization types: sexp, integer, number, - string, file, directory, alist. +* Simple Types:: Simple customization types: sexp, integer, etc. * Composite Types:: Build new types from other types or data. * Splicing into Lists:: Splice elements into list with @code{:inline}. * Type Keywords:: Keyword-argument pairs in a customization type. @@ -577,22 +576,103 @@ You can use the @code{:options} keyword in a hook variable's @code{defcustom} to specify a list of functions recommended for use in the hook; see @ref{Variable Definitions}. -@item alist -The value must be a list of cons-cells, the @sc{car} of each cell -representing a key, and the @sc{cdr} of the same cell representing an -associated value. The user can add and delete key/value pairs, and -edit both the key and the value of each pair. +@item symbol +The value must be a symbol. It appears in the customization buffer as +the name of the symbol. -You can specify the key and value types like this: +@item function +The value must be either a lambda expression or a function name. When +it is a function name, you can do completion with @kbd{M-@key{TAB}}. -@smallexample -(alist :key-type @var{key-type} :value-type @var{value-type}) -@end smallexample +@item variable +The value must be a variable name, and you can do completion with +@kbd{M-@key{TAB}}. + +@item face +The value must be a symbol which is a face name, and you can do +completion with @kbd{M-@key{TAB}}. + +@item boolean +The value is boolean---either @code{nil} or @code{t}. Note that by +using @code{choice} and @code{const} together (see the next section), +you can specify that the value must be @code{nil} or @code{t}, but also +specify the text to describe each value in a way that fits the specific +meaning of the alternative. + +@item coding-system +The value must be a coding-system name, and you can do completion with +@kbd{M-@key{TAB}}. + +@item color +The value must be a valid color name, and you can do completion with +@kbd{M-@key{TAB}}. A sample is provided. +@end table + +@node Composite Types +@subsection Composite Types +@cindex composite types (customization) + + When none of the simple types is appropriate, you can use composite +types, which build new types from other types or from specified data. +The specified types or data are called the @dfn{arguments} of the +composite type. The composite type normally looks like this: + +@example +(@var{constructor} @var{arguments}@dots{}) +@end example @noindent -where @var{key-type} and @var{value-type} are customization type -specifications. The default key type is @code{sexp}, and the default -value type is @code{sexp}. +but you can also add keyword-value pairs before the arguments, like +this: + +@example +(@var{constructor} @r{@{}@var{keyword} @var{value}@r{@}}@dots{} @var{arguments}@dots{}) +@end example + + Here is a table of constructors and how to use them to write +composite types: + +@table @code +@item (cons @var{car-type} @var{cdr-type}) +The value must be a cons cell, its @sc{car} must fit @var{car-type}, and +its @sc{cdr} must fit @var{cdr-type}. For example, @code{(cons string +symbol)} is a customization type which matches values such as +@code{("foo" . foo)}. + +In the customization buffer, the @sc{car} and the @sc{cdr} are +displayed and edited separately, each according to the type +that you specify for it. + +@item (list @var{element-types}@dots{}) +The value must be a list with exactly as many elements as the +@var{element-types} given; and each element must fit the +corresponding @var{element-type}. + +For example, @code{(list integer string function)} describes a list of +three elements; the first element must be an integer, the second a +string, and the third a function. + +In the customization buffer, each element is displayed and edited +separately, according to the type specified for it. + +@item (group @var{element-types}@dots{}) +This works like @code{list} except for the formatting +of text in the Custom buffer. @code{list} labels each +element value with its tag; @code{group} does not. + +@item (vector @var{element-types}@dots{}) +Like @code{list} except that the value must be a vector instead of a +list. The elements work the same as in @code{list}. + +@item (alist :key-type @var{key-type} :value-type @var{value-type}) +The value must be a list of cons-cells, the @sc{car} of each cell +representing a key of customization type @var{key-type}, and the +@sc{cdr} of the same cell representing a value of customization type +@var{value-type}. The user can add and delete key/value pairs, and +edit both the key and the value of each pair. + +If omitted, @var{key-type} and @var{value-type} default to +@code{sexp}. The user can add any key matching the specified key type, but you can give some keys a preferential treatment by specifying them with the @@ -687,105 +767,11 @@ and the VALUE is a list of that person's pets." :type '(alist :value-type (repeat string))) @end smallexample -@item plist -The @code{plist} custom type is similar to the @code{alist} (see above), -except that the information is stored as a property list, i.e. a list of -this form: - -@smallexample -(@var{key} @var{value} @var{key} @var{value} @var{key} @var{value} @dots{}) -@end smallexample - -The default @code{:key-type} for @code{plist} is @code{symbol}, -rather than @code{sexp}. - -@item symbol -The value must be a symbol. It appears in the customization buffer as -the name of the symbol. - -@item function -The value must be either a lambda expression or a function name. When -it is a function name, you can do completion with @kbd{M-@key{TAB}}. - -@item variable -The value must be a variable name, and you can do completion with -@kbd{M-@key{TAB}}. - -@item face -The value must be a symbol which is a face name, and you can do -completion with @kbd{M-@key{TAB}}. - -@item boolean -The value is boolean---either @code{nil} or @code{t}. Note that by -using @code{choice} and @code{const} together (see the next section), -you can specify that the value must be @code{nil} or @code{t}, but also -specify the text to describe each value in a way that fits the specific -meaning of the alternative. - -@item coding-system -The value must be a coding-system name, and you can do completion with -@kbd{M-@key{TAB}}. - -@item color -The value must be a valid color name, and you can do completion with -@kbd{M-@key{TAB}}. A sample is provided. -@end table - -@node Composite Types -@subsection Composite Types -@cindex composite types (customization) - - When none of the simple types is appropriate, you can use composite -types, which build new types from other types or from specified data. -The specified types or data are called the @dfn{arguments} of the -composite type. The composite type normally looks like this: - -@example -(@var{constructor} @var{arguments}@dots{}) -@end example - -@noindent -but you can also add keyword-value pairs before the arguments, like -this: - -@example -(@var{constructor} @r{@{}@var{keyword} @var{value}@r{@}}@dots{} @var{arguments}@dots{}) -@end example - - Here is a table of constructors and how to use them to write -composite types: - -@table @code -@item (cons @var{car-type} @var{cdr-type}) -The value must be a cons cell, its @sc{car} must fit @var{car-type}, and -its @sc{cdr} must fit @var{cdr-type}. For example, @code{(cons string -symbol)} is a customization type which matches values such as -@code{("foo" . foo)}. - -In the customization buffer, the @sc{car} and the @sc{cdr} are -displayed and edited separately, each according to the type -that you specify for it. - -@item (list @var{element-types}@dots{}) -The value must be a list with exactly as many elements as the -@var{element-types} given; and each element must fit the -corresponding @var{element-type}. - -For example, @code{(list integer string function)} describes a list of -three elements; the first element must be an integer, the second a -string, and the third a function. - -In the customization buffer, each element is displayed and edited -separately, according to the type specified for it. - -@item (group @var{element-types}@dots{}) -This works like @code{list} except for the formatting -of text in the Custom buffer. @code{list} labels each -element value with its tag; @code{group} does not. - -@item (vector @var{element-types}@dots{}) -Like @code{list} except that the value must be a vector instead of a -list. The elements work the same as in @code{list}. +@item (plist :key-type @var{key-type} :value-type @var{value-type}) +This customization type is similar to @code{alist} (see above), except +that (i) the information is stored as a property list, +(@pxref{Property Lists}), and (ii) @var{key-type}, if omitted, +defaults to @code{symbol} rather than @code{sexp}. @item (choice @var{alternative-types}@dots{}) The value must fit at least one of @var{alternative-types}. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 6d19d73545e..bc81c59f05f 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -2092,7 +2092,10 @@ Draw a box with lines of width 1, in color @var{color}. @item @code{(:line-width @var{width} :color @var{color} :style @var{style})} This way you can explicitly specify all aspects of the box. The value -@var{width} specifies the width of the lines to draw; it defaults to 1. +@var{width} specifies the width of the lines to draw; it defaults to +1. A negative width @var{-n} means to draw a line of width @var{n} +that occupies the space of the underlying text, thus avoiding any +increase in the character height or width. The value @var{color} specifies the color to draw with. The default is the foreground color of the face for simple boxes, and the background diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 264d63511bc..29b3e398f4b 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -508,8 +508,7 @@ Writing Customization Definitions Customization Types -* Simple Types:: Simple customization types: sexp, integer, number, - string, file, directory, alist. +* Simple Types:: Simple customization types: sexp, integer, etc. * Composite Types:: Build new types from other types or data. * Splicing into Lists:: Splice elements into list with @code{:inline}. * Type Keywords:: Keyword-argument pairs in a customization type. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 32423da9afe..71efe9761aa 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,13 @@ +2011-07-06 Markus Heiser <markus.heiser@darmarit.de> (tiny change) + + * progmodes/gud.el (gud-pdb-marker-regexp): Accept \r char (Bug#5653). + +2011-07-06 Chong Yidong <cyd@stupidchicken.com> + + * window.el (special-display-popup-frame): Doc fix (Bug#8853). + + * info.el (Info-directory-toc-nodes): Minor doc fix (Bug#8833). + 2011-07-05 Chong Yidong <cyd@stupidchicken.com> * button.el (button): Inherit from link face. Suggested by Dan diff --git a/lisp/info.el b/lisp/info.el index dca3df21d5c..047a1b340a0 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -2092,7 +2092,7 @@ If SAME-FILE is non-nil, do not move to a different Info file." )) (defun Info-directory-toc-nodes (filename) - "Directory-specific implementation of `Info-directory-toc-nodes'." + "Directory-specific implementation of `Info-toc-nodes'." `(,filename ("Top" nil nil nil))) diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index 259ee81c9ba..a54d1438368 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el @@ -1581,7 +1581,8 @@ and source-file directory for your debugger." ;; Last group is for return value, e.g. "> test.py(2)foo()->None" ;; Either file or function name may be omitted: "> <string>(0)?()" (defvar gud-pdb-marker-regexp - "^> \\([-a-zA-Z0-9_/.:\\]*\\|<string>\\)(\\([0-9]+\\))\\([a-zA-Z0-9_]*\\|\\?\\|<module>\\)()\\(->[^\n]*\\)?\n") + "^> \\([-a-zA-Z0-9_/.:\\]*\\|<string>\\)(\\([0-9]+\\))\\([a-zA-Z0-9_]*\\|\\?\\|<module>\\)()\\(->[^\n\r]*\\)?[\n\r]") + (defvar gud-pdb-marker-regexp-file-group 1) (defvar gud-pdb-marker-regexp-line-group 2) (defvar gud-pdb-marker-regexp-fnname-group 3) diff --git a/lisp/window.el b/lisp/window.el index f8b7abbb2bf..37a3863ae08 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -6108,7 +6108,7 @@ BUFFER in a window on the selected frame. If ARGS is a list whose car is a symbol, use (car ARGS) as a function to do the work. Pass it BUFFER as first argument, -and (cdr ARGS) as second." +and (cdr ARGS) as the rest of the arguments." (if (and args (symbolp (car args))) (apply (car args) buffer (cdr args)) (let ((window (get-buffer-window buffer 0))) |
