]> code.delx.au - gnu-emacs/blobdiff - doc/misc/widget.texi
Fix another shr infloop in the filling code
[gnu-emacs] / doc / misc / widget.texi
index ac111870f3ee90bde5ae64af1013772b858c0e62..2fe247dd7503a13128cb01d361dd48c24997ef77 100644 (file)
@@ -8,8 +8,7 @@
 @c %**end of header
 
 @copying
 @c %**end of header
 
 @copying
-Copyright @copyright{} 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-2008, 2009, 2010, 2011  Free Software Foundation, Inc.
+Copyright @copyright{} 2000--2013 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -20,8 +19,7 @@ and with the Back-Cover Texts as in (a) below.  A copy of the license
 is included in the section entitled ``GNU Free Documentation License''.
 
 (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
 is included in the section entitled ``GNU Free Documentation License''.
 
 (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
-modify this GNU manual.  Buying copies from the FSF supports it in
-developing GNU and promoting software freedom.''
+modify this GNU manual.''
 @end quotation
 @end copying
 
 @end quotation
 @end copying
 
@@ -33,8 +31,7 @@ developing GNU and promoting software freedom.''
 
 @contents
 
 
 @contents
 
-@node Top, Introduction, (dir), (dir)
-@comment  node-name,  next,  previous,  up
+@node Top
 @top The Emacs Widget Library
 
 @insertcopying
 @top The Emacs Widget Library
 
 @insertcopying
@@ -56,9 +53,8 @@ developing GNU and promoting software freedom.''
 * Index::
 @end menu
 
 * Index::
 @end menu
 
-@node  Introduction, User Interface, Top, Top
-@comment  node-name,  next,  previous,  up
-@section Introduction
+@node  Introduction
+@chapter Introduction
 
 Most graphical user interface toolkits provide a number of standard
 user interface controls (sometimes known as `widgets' or `gadgets').
 
 Most graphical user interface toolkits provide a number of standard
 user interface controls (sometimes known as `widgets' or `gadgets').
@@ -137,9 +133,8 @@ extended to use the GUI features.  This means that your code using the
 widget library will also use the new graphic features automatically.
 @end enumerate
 
 widget library will also use the new graphic features automatically.
 @end enumerate
 
-@node User Interface, Programming Example, Introduction, Top
-@comment  node-name,  next,  previous,  up
-@section User Interface
+@node User Interface
+@chapter User Interface
 
 A form consists of read only text for documentation and some fields,
 where each field contains two parts, a tag and a value.  The tags are
 
 A form consists of read only text for documentation and some fields,
 where each field contains two parts, a tag and a value.  The tags are
@@ -185,7 +180,7 @@ The top level widgets in this example are tagged @samp{Name},
 within a form, namely editing the editable text fields and activating
 the buttons.
 
 within a form, namely editing the editable text fields and activating
 the buttons.
 
-@subsection Editable Text Fields
+@section Editable Text Fields
 
 In the example, the value for the @samp{Name} is most likely displayed
 in an editable text field, and so are values for each of the members of
 
 In the example, the value for the @samp{Name} is most likely displayed
 in an editable text field, and so are values for each of the members of
@@ -222,7 +217,7 @@ The editing text fields are highlighted with the
 Face used for other editing fields.
 @end deffn
 
 Face used for other editing fields.
 @end deffn
 
-@subsection Buttons
+@section Buttons
 
 @cindex widget buttons
 @cindex button widgets
 
 @cindex widget buttons
 @cindex button widgets
@@ -293,7 +288,7 @@ Face used for highlighting a button when the mouse pointer moves across
 it.
 @end defopt
 
 it.
 @end defopt
 
-@subsection Navigation
+@section Navigation
 
 You can use all the normal Emacs commands to move around in a form
 buffer, plus you will have these additional commands:
 
 You can use all the normal Emacs commands to move around in a form
 buffer, plus you will have these additional commands:
@@ -310,9 +305,8 @@ Move point @var{count} buttons or editing fields backward.
 @end deffn
 @end table
 
 @end deffn
 @end table
 
-@node Programming Example, Setting Up the Buffer, User Interface, Top
-@comment  node-name,  next,  previous,  up
-@section Programming Example
+@node Programming Example
+@chapter Programming Example
 
 @cindex widgets, programming example
 @cindex example of using widgets
 
 @cindex widgets, programming example
 @cindex example of using widgets
@@ -366,13 +360,14 @@ Interface}).
   (setq widget-example-repeat
         (widget-create 'editable-list
                        :entry-format "%i %d %v"
   (setq widget-example-repeat
         (widget-create 'editable-list
                        :entry-format "%i %d %v"
-                       :notify (lambda (widget &rest ignore)
-                                 (let ((old (widget-get widget
-                                                        ':example-length))
-                                       (new (length (widget-value widget))))
-                                   (unless (eq old new)
-                                     (widget-put widget ':example-length new)
-                                     (message "You can count to %d." new))))
+                       :notify
+                       (lambda (widget &rest ignore)
+                         (let ((old (widget-get widget
+                                                ':example-length))
+                               (new (length (widget-value widget))))
+                           (unless (eq old new)
+                             (widget-put widget ':example-length new)
+                             (message "You can count to %d." new))))
                        :value '("One" "Eh, two?" "Five!")
                        '(editable-field :value "three")))
   (widget-insert "\n\nSelect multiple:\n\n")
                        :value '("One" "Eh, two?" "Five!")
                        '(editable-field :value "three")))
   (widget-insert "\n\nSelect multiple:\n\n")
@@ -389,11 +384,13 @@ Interface}).
                  :notify (lambda (widget &rest ignore)
                            (message "You selected %s"
                                     (widget-value widget)))
                  :notify (lambda (widget &rest ignore)
                            (message "You selected %s"
                                     (widget-value widget)))
-                 '(item "One") '(item "Another One.") '(item "A Final One."))
+                 '(item "One") '(item "Another One.")
+                 '(item "A Final One."))
   (widget-insert "\n")
   (widget-create 'push-button
                  :notify (lambda (&rest ignore)
   (widget-insert "\n")
   (widget-create 'push-button
                  :notify (lambda (&rest ignore)
-                           (if (= (length (widget-value widget-example-repeat))
+                           (if (= (length
+                                   (widget-value widget-example-repeat))
                                   3)
                                (message "Congratulation!")
                              (error "Three was the count!")))
                                   3)
                                (message "Congratulation!")
                              (error "Three was the count!")))
@@ -408,9 +405,8 @@ Interface}).
   (widget-setup))
 @end lisp
 
   (widget-setup))
 @end lisp
 
-@node Setting Up the Buffer, Basic Types, Programming Example, Top
-@comment  node-name,  next,  previous,  up
-@section Setting Up the Buffer
+@node Setting Up the Buffer
+@chapter Setting Up the Buffer
 
 Widgets are created with @code{widget-create}, which returns a
 @dfn{widget} object.  This object can be queried and manipulated by
 
 Widgets are created with @code{widget-create}, which returns a
 @dfn{widget} object.  This object can be queried and manipulated by
@@ -435,7 +431,6 @@ Set up a buffer to support widgets.
 
 This should be called after creating all the widgets and before allowing
 the user to edit them.
 
 This should be called after creating all the widgets and before allowing
 the user to edit them.
-@refill
 @end defun
 
 If you want to insert text outside the widgets in the form, the
 @end defun
 
 If you want to insert text outside the widgets in the form, the
@@ -451,11 +446,10 @@ There is a standard widget keymap which you might find useful.
 @findex widget-button-press
 @findex widget-button-click
 @defvr Const widget-keymap
 @findex widget-button-press
 @findex widget-button-click
 @defvr Const widget-keymap
-A keymap with the global keymap as its parent.@*
 @key{TAB} and @kbd{C-@key{TAB}} are bound to @code{widget-forward} and
 @code{widget-backward}, respectively.  @key{RET} and @kbd{Mouse-2}
 are bound to @code{widget-button-press} and
 @key{TAB} and @kbd{C-@key{TAB}} are bound to @code{widget-forward} and
 @code{widget-backward}, respectively.  @key{RET} and @kbd{Mouse-2}
 are bound to @code{widget-button-press} and
-@code{widget-button-click}.@refill
+@code{widget-button-click}.
 @end defvr
 
 @defvar widget-global-map
 @end defvr
 
 @defvar widget-global-map
@@ -463,9 +457,8 @@ Keymap used by @code{widget-button-press} and @code{widget-button-click}
 when not on a button.  By default this is @code{global-map}.
 @end defvar
 
 when not on a button.  By default this is @code{global-map}.
 @end defvar
 
-@node Basic Types, Sexp Types, Setting Up the Buffer, Top
-@comment  node-name,  next,  previous,  up
-@section Basic Types
+@node Basic Types
+@chapter Basic Types
 
 This is the general syntax of a type specification:
 
 
 This is the general syntax of a type specification:
 
@@ -665,7 +658,7 @@ in the buffer with a positive tabbing order, or @code{nil}
 
 @vindex parent@r{ keyword}
 @item :parent
 
 @vindex parent@r{ keyword}
 @item :parent
-The parent of a nested widget (e.g.@: a @code{menu-choice} item or an
+The parent of a nested widget (e.g., a @code{menu-choice} item or an
 element of a @code{editable-list} widget).
 
 @vindex sibling-args@r{ keyword}
 element of a @code{editable-list} widget).
 
 @vindex sibling-args@r{ keyword}
@@ -706,9 +699,8 @@ If non-@code{nil}, allow glyphs to appear on displays where they are supported.
 * group::
 @end menu
 
 * group::
 @end menu
 
-@node link, url-link, Basic Types, Basic Types
-@comment  node-name,  next,  previous,  up
-@subsection The @code{link} Widget
+@node link
+@section The @code{link} Widget
 @findex link@r{ widget}
 
 Syntax:
 @findex link@r{ widget}
 
 Syntax:
@@ -731,9 +723,8 @@ String to prefix links.
 String to suffix links.
 @end defopt
 
 String to suffix links.
 @end defopt
 
-@node url-link, info-link, link, Basic Types
-@comment  node-name,  next,  previous,  up
-@subsection The @code{url-link} Widget
+@node url-link
+@section The @code{url-link} Widget
 @findex url-link@r{ widget}
 
 Syntax:
 @findex url-link@r{ widget}
 
 Syntax:
@@ -746,9 +737,8 @@ Syntax:
 When this link is invoked, the @acronym{WWW} browser specified by
 @code{browse-url-browser-function} will be called with @var{url}.
 
 When this link is invoked, the @acronym{WWW} browser specified by
 @code{browse-url-browser-function} will be called with @var{url}.
 
-@node info-link, push-button, url-link, Basic Types
-@comment  node-name,  next,  previous,  up
-@subsection The @code{info-link} Widget
+@node info-link
+@section The @code{info-link} Widget
 @findex info-link@r{ widget}
 
 Syntax:
 @findex info-link@r{ widget}
 
 Syntax:
@@ -760,9 +750,8 @@ Syntax:
 When this link is invoked, the built-in Info reader is started on
 @var{address}.
 
 When this link is invoked, the built-in Info reader is started on
 @var{address}.
 
-@node  push-button, editable-field, info-link, Basic Types
-@comment  node-name,  next,  previous,  up
-@subsection The @code{push-button} Widget
+@node  push-button
+@section The @code{push-button} Widget
 @findex push-button@r{ widget}
 
 Syntax:
 @findex push-button@r{ widget}
 
 Syntax:
@@ -785,9 +774,8 @@ String to prefix push buttons.
 String to suffix push buttons.
 @end defopt
 
 String to suffix push buttons.
 @end defopt
 
-@node editable-field, text, push-button, Basic Types
-@comment  node-name,  next,  previous,  up
-@subsection The @code{editable-field} Widget
+@node editable-field
+@section The @code{editable-field} Widget
 @findex editable-field@r{ widget}
 
 Syntax:
 @findex editable-field@r{ widget}
 
 Syntax:
@@ -815,7 +803,7 @@ Face used for highlighting the editable field.  Default is
 
 @vindex secret@r{ keyword}
 @item :secret
 
 @vindex secret@r{ keyword}
 @item :secret
-Character used to display the value.  You can set this to e.g.@: @code{?*}
+Character used to display the value.  You can set this to, e.g., @code{?*}
 if the field contains a password or other secret information.  By
 default, this is @code{nil}, and the value is not secret.
 
 if the field contains a password or other secret information.  By
 default, this is @code{nil}, and the value is not secret.
 
@@ -835,9 +823,8 @@ them.  Pressing @key{RET} invokes the function specified by
 @code{:action}.
 @end table
 
 @code{:action}.
 @end table
 
-@node text, menu-choice, editable-field, Basic Types
-@comment  node-name,  next,  previous,  up
-@subsection The @code{text} Widget
+@node text
+@section The @code{text} Widget
 @findex text@r{ widget}
 
 @vindex widget-text-keymap
 @findex text@r{ widget}
 
 @vindex widget-text-keymap
@@ -845,9 +832,8 @@ This is just like @code{editable-field}, but intended for multiline text
 fields.  The default @code{:keymap} is @code{widget-text-keymap}, which
 does not rebind the @key{RET} key.
 
 fields.  The default @code{:keymap} is @code{widget-text-keymap}, which
 does not rebind the @key{RET} key.
 
-@node menu-choice, radio-button-choice, text, Basic Types
-@comment  node-name,  next,  previous,  up
-@subsection The @code{menu-choice} Widget
+@node menu-choice
+@section The @code{menu-choice} Widget
 @findex menu-choice@r{ widget}
 
 Syntax:
 @findex menu-choice@r{ widget}
 
 Syntax:
@@ -886,9 +872,8 @@ The current chosen type.
 The list of types.
 @end table
 
 The list of types.
 @end table
 
-@node radio-button-choice, item, menu-choice, Basic Types
-@comment  node-name,  next,  previous,  up
-@subsection The @code{radio-button-choice} Widget
+@node radio-button-choice
+@section The @code{radio-button-choice} Widget
 @findex radio-button-choice@r{ widget}
 
 Syntax:
 @findex radio-button-choice@r{ widget}
 
 Syntax:
@@ -920,8 +905,8 @@ Insert a literal @samp{%}.
 
 @vindex button-args@r{ keyword}
 @item :button-args
 
 @vindex button-args@r{ keyword}
 @item :button-args
-A list of keywords to pass to the radio buttons.  Useful for setting
-e.g.@: the @samp{:help-echo} for each button.
+A list of keywords to pass to the radio buttons.  Useful for setting,
+e.g., the @samp{:help-echo} for each button.
 
 @vindex buttons@r{ keyword}
 @item :buttons
 
 @vindex buttons@r{ keyword}
 @item :buttons
@@ -953,9 +938,8 @@ Please note that such items added after the @code{radio-button-choice}
 widget has been created will @strong{not} be properly destructed when
 you call @code{widget-delete}.
 
 widget has been created will @strong{not} be properly destructed when
 you call @code{widget-delete}.
 
-@node item, choice-item, radio-button-choice, Basic Types
-@comment  node-name,  next,  previous,  up
-@subsection The @code{item} Widget
+@node item
+@section The @code{item} Widget
 @findex item@r{ widget}
 
 Syntax:
 @findex item@r{ widget}
 
 Syntax:
@@ -968,9 +952,8 @@ The @var{value}, if present, is used to initialize the @code{:value}
 property.  The value should be a string, which will be inserted in the
 buffer.  This widget will only match the specified value.
 
 property.  The value should be a string, which will be inserted in the
 buffer.  This widget will only match the specified value.
 
-@node choice-item, toggle, item, Basic Types
-@comment  node-name,  next,  previous,  up
-@subsection The @code{choice-item} Widget
+@node choice-item
+@section The @code{choice-item} Widget
 @findex choice-item@r{ widget}
 
 Syntax:
 @findex choice-item@r{ widget}
 
 Syntax:
@@ -985,9 +968,8 @@ buffer as a button.  Activating the button of a @code{choice-item} is
 equivalent to activating the parent widget.  This widget will only match
 the specified value.
 
 equivalent to activating the parent widget.  This widget will only match
 the specified value.
 
-@node toggle, checkbox, choice-item, Basic Types
-@comment  node-name,  next,  previous,  up
-@subsection The @code{toggle} Widget
+@node toggle
+@section The @code{toggle} Widget
 @findex toggle@r{ widget}
 
 Syntax:
 @findex toggle@r{ widget}
 
 Syntax:
@@ -1018,9 +1000,8 @@ Name of a glyph to be used instead of the @samp{:off} text string, on
 emacsen that supports this.
 @end table
 
 emacsen that supports this.
 @end table
 
-@node checkbox, checklist, toggle, Basic Types
-@comment  node-name,  next,  previous,  up
-@subsection The @code{checkbox} Widget
+@node checkbox
+@section The @code{checkbox} Widget
 @findex checkbox@r{ widget}
 
 This widget has two possible states, @samp{selected} and
 @findex checkbox@r{ widget}
 
 This widget has two possible states, @samp{selected} and
@@ -1032,9 +1013,8 @@ Syntax:
 @var{type} ::= (checkbox [@var{keyword} @var{argument}]...)
 @end example
 
 @var{type} ::= (checkbox [@var{keyword} @var{argument}]...)
 @end example
 
-@node checklist, editable-list, checkbox, Basic Types
-@comment  node-name,  next,  previous,  up
-@subsection The @code{checklist} Widget
+@node checklist
+@section The @code{checklist} Widget
 @findex checklist@r{ widget}
 
 Syntax:
 @findex checklist@r{ widget}
 
 Syntax:
@@ -1070,12 +1050,12 @@ Usually a checklist will only match if the items are in the exact
 sequence given in the specification.  By setting @code{:greedy} to
 non-@code{nil}, it will allow the items to come in any sequence.
 However, if you extract the value they will be in the sequence given
 sequence given in the specification.  By setting @code{:greedy} to
 non-@code{nil}, it will allow the items to come in any sequence.
 However, if you extract the value they will be in the sequence given
-in the checklist, i.e.@: the original sequence is forgotten.
+in the checklist, i.e., the original sequence is forgotten.
 
 @vindex button-args@r{ keyword}
 @item :button-args
 
 @vindex button-args@r{ keyword}
 @item :button-args
-A list of keywords to pass to the checkboxes.  Useful for setting
-e.g.@: the @samp{:help-echo} for each checkbox.
+A list of keywords to pass to the checkboxes.  Useful for setting,
+e.g., the @samp{:help-echo} for each checkbox.
 
 @vindex buttons@r{ keyword}
 @item :buttons
 
 @vindex buttons@r{ keyword}
 @item :buttons
@@ -1090,9 +1070,8 @@ The widgets representing each type.
 The list of types.
 @end table
 
 The list of types.
 @end table
 
-@node editable-list, group, checklist, Basic Types
-@comment  node-name,  next,  previous,  up
-@subsection The @code{editable-list} Widget
+@node editable-list
+@section The @code{editable-list} Widget
 @findex editable-list@r{ widget}
 
 Syntax:
 @findex editable-list@r{ widget}
 
 Syntax:
@@ -1148,9 +1127,8 @@ The widgets representing the elements of the list.
 List whose @sc{car} is the type of the list elements.
 @end table
 
 List whose @sc{car} is the type of the list elements.
 @end table
 
-@node group,  , editable-list, Basic Types
-@comment  node-name,  next,  previous,  up
-@subsection The @code{group} Widget
+@node group
+@section The @code{group} Widget
 @findex group@r{ widget}
 
 This widget simply group other widgets together.
 @findex group@r{ widget}
 
 This widget simply group other widgets together.
@@ -1163,9 +1141,8 @@ Syntax:
 
 The value is a list, with one member for each @var{type}.
 
 
 The value is a list, with one member for each @var{type}.
 
-@node Sexp Types, Widget Properties, Basic Types, Top
-@comment
-@section Sexp Types
+@node Sexp Types
+@chapter Sexp Types
 @cindex sexp types
 
 A number of widgets for editing @dfn{s-expressions} (Lisp types), sexp
 @cindex sexp types
 
 A number of widgets for editing @dfn{s-expressions} (Lisp types), sexp
@@ -1179,9 +1156,8 @@ categories described in this section.
 * composite::
 @end menu
 
 * composite::
 @end menu
 
-@node constants, generic, Sexp Types, Sexp Types
-@comment  node-name,  next,  previous,  up
-@subsection The Constant Widgets
+@node constants
+@section The Constant Widgets
 @cindex constant widgets
 
 The @code{const} widget can contain any Lisp expression, but the user is
 @cindex constant widgets
 
 The @code{const} widget can contain any Lisp expression, but the user is
@@ -1216,9 +1192,8 @@ An immutable symbol that is bound as a variable.
 An immutable symbol that is bound as a function.
 @end deffn
 
 An immutable symbol that is bound as a function.
 @end deffn
 
-@node generic, atoms, constants, Sexp Types
-@comment  node-name,  next,  previous,  up
-@subsection Generic Sexp Widget
+@node generic
+@section Generic Sexp Widget
 @cindex generic sexp widget
 
 The @code{sexp} widget can contain any Lisp expression, and allows the
 @cindex generic sexp widget
 
 The @code{sexp} widget can contain any Lisp expression, and allows the
@@ -1238,9 +1213,8 @@ The @code{sexp} widget takes the same keyword arguments as the
 @code{editable-field} widget.  @xref{editable-field}.
 @end deffn
 
 @code{editable-field} widget.  @xref{editable-field}.
 @end deffn
 
-@node atoms, composite, generic, Sexp Types
-@comment  node-name,  next,  previous,  up
-@subsection Atomic Sexp Widgets
+@node atoms
+@section Atomic Sexp Widgets
 @cindex atomic sexp widget
 
 The atoms are s-expressions that do not consist of other s-expressions.
 @cindex atomic sexp widget
 
 The atoms are s-expressions that do not consist of other s-expressions.
@@ -1316,9 +1290,8 @@ either @code{nil} meaning false, or non-@code{nil} meaning true.
 @end deffn
 
 
 @end deffn
 
 
-@node composite,  , atoms, Sexp Types
-@comment  node-name,  next,  previous,  up
-@subsection Composite Sexp Widgets
+@node composite
+@section Composite Sexp Widgets
 @cindex composite sexp widgets
 
 The syntax for the composite widget construct is:
 @cindex composite sexp widgets
 
 The syntax for the composite widget construct is:
@@ -1418,9 +1391,8 @@ Specifies a list of any number of elements that fit a certain type.
 @end example
 @end deffn
 
 @end example
 @end deffn
 
-@node Widget Properties, Defining New Widgets, Sexp Types, Top
-@comment  node-name,  next,  previous,  up
-@section Properties
+@node Widget Properties
+@chapter Properties
 @cindex properties of widgets
 @cindex widget properties
 
 @cindex properties of widgets
 @cindex widget properties
 
@@ -1466,7 +1438,7 @@ property @var{property}.
 @end defun
 
 Occasionally it can be useful to know which kind of widget you have,
 @end defun
 
 Occasionally it can be useful to know which kind of widget you have,
-i.e.@: the name of the widget type you gave when the widget was created.
+i.e., the name of the widget type you gave when the widget was created.
 
 @defun widget-type widget
 Return the name of @var{widget}, a symbol.
 
 @defun widget-type widget
 Return the name of @var{widget}, a symbol.
@@ -1513,9 +1485,8 @@ its ancestors have been deactivated.  Do not attempt to set the
 @code{:deactivate} keywords instead.
 
 
 @code{:deactivate} keywords instead.
 
 
-@node Defining New Widgets, Widget Browser, Widget Properties, Top
-@comment  node-name,  next,  previous,  up
-@section Defining New Widgets
+@node Defining New Widgets
+@chapter Defining New Widgets
 @cindex new widgets
 @cindex defining new widgets
 
 @cindex new widgets
 @cindex defining new widgets
 
@@ -1698,9 +1669,8 @@ It provides most of the functionality that is referred to as ``by
 default'' in this text.
 @end deffn
 
 default'' in this text.
 @end deffn
 
-@node Widget Browser, Widget Minor Mode, Defining New Widgets, Top
-@comment  node-name,  next,  previous,  up
-@section Widget Browser
+@node Widget Browser
+@chapter Widget Browser
 @cindex widget browser
 
 There is a separate package to browse widgets.  This is intended to help
 @cindex widget browser
 
 There is a separate package to browse widgets.  This is intended to help
@@ -1723,9 +1693,8 @@ Create a widget browser for the widget at @var{pos}.
 When called interactively, use the position of point.
 @end deffn
 
 When called interactively, use the position of point.
 @end deffn
 
-@node  Widget Minor Mode, Utilities, Widget Browser, Top
-@comment  node-name,  next,  previous,  up
-@section Widget Minor Mode
+@node  Widget Minor Mode
+@chapter Widget Minor Mode
 @cindex widget minor mode
 
 There is a minor mode for manipulating widgets in major modes that
 @cindex widget minor mode
 
 There is a minor mode for manipulating widgets in major modes that
@@ -1741,15 +1710,14 @@ With arg, turn widget mode on if and only if arg is positive.
 Keymap used in @code{widget-minor-mode}.
 @end defvar
 
 Keymap used in @code{widget-minor-mode}.
 @end defvar
 
-@node  Utilities, Widget Wishlist, Widget Minor Mode, Top
-@comment  node-name,  next,  previous,  up
-@section Utilities.
+@node  Utilities
+@chapter Utilities
 @cindex utility functions for widgets
 
 @defun widget-prompt-value widget prompt [ value unbound ]
 Prompt for a value matching @var{widget}, using @var{prompt}.
 The current value is assumed to be @var{value}, unless @var{unbound} is
 @cindex utility functions for widgets
 
 @defun widget-prompt-value widget prompt [ value unbound ]
 Prompt for a value matching @var{widget}, using @var{prompt}.
 The current value is assumed to be @var{value}, unless @var{unbound} is
-non-@code{nil}.@refill
+non-@code{nil}.
 @end defun
 
 @defun widget-get-sibling widget
 @end defun
 
 @defun widget-get-sibling widget
@@ -1757,9 +1725,8 @@ Get the item which @var{widget} is assumed to toggle.
 This is only meaningful for radio buttons or checkboxes in a list.
 @end defun
 
 This is only meaningful for radio buttons or checkboxes in a list.
 @end defun
 
-@node  Widget Wishlist, GNU Free Documentation License, Utilities, Top
-@comment  node-name,  next,  previous,  up
-@section Wishlist
+@node  Widget Wishlist
+@chapter Wishlist
 @cindex todo
 
 @itemize @bullet
 @cindex todo
 
 @itemize @bullet
@@ -1816,12 +1783,11 @@ See @code{TeX-printer-list} for an explanation.
 Add a @code{mailto} widget.
 @end itemize
 
 Add a @code{mailto} widget.
 @end itemize
 
-@node GNU Free Documentation License, Index, Widget Wishlist, Top
+@node GNU Free Documentation License
 @appendix GNU Free Documentation License
 @include doclicense.texi
 
 @appendix GNU Free Documentation License
 @include doclicense.texi
 
-@node Index, , GNU Free Documentation License, Top
-@comment  node-name,  next,  previous,  up
+@node Index
 @unnumbered Index
 
 This is an alphabetical listing of all concepts, functions, commands,
 @unnumbered Index
 
 This is an alphabetical listing of all concepts, functions, commands,
@@ -1829,7 +1795,3 @@ variables, and widgets described in this manual.
 @printindex cp
 
 @bye
 @printindex cp
 
 @bye
-
-@ignore
-   arch-tag: 2b427731-4c61-4e72-85de-5ccec9c623f0
-@end ignore