(group, widget-group-default-get): Define it.
(menu-choice, widget-choice-default-get): Define it.
(widget-default-get): New function.
(widget-choice-action): Call it.
(widget-editable-list-entry-create): Call it.
(widget-event-point, widget-read-event): Define unconditionally.
(widget-echo-help-mouse): Don't use window-end.
(widget-choice-value-create): If there is an :explicit-choice, respect it.
(widget-choice-action): Record an explicit choice in :explicit-choice.
(widget-toggle-action): Likewise.
(widget-choose): Use only digits, except for C-g.
Allocate digits to disabled commands too.
Don't use a keyboard menu; instead, display a buffer
listing all the alternatives. Put cursor in echo area.
(widget-choose): Alternative method to read one character from the keyboard.
(widget-documentation-face): New variable.
(widget-specify-doc): Use the variable.
(widget-default-button-face-get): Try to get it from the parent.
(widget-default-create): Use :tag-face for tags.
(widget-edit-functions): Renamed from widget-edit-hook.
(widget-field-action): Pass the widget as an arg when running hook.
(character): Doc fix.
(restricted-sexp): New widget type.
(integer, number): Use restricted-sexp.
(widget-field-action, widget-choice-action): Run that hook
instead of displaying an echo area message.
(widget-toggle-action): Likewise.
(group-visibility, widget-group-visibility-create):
Moved to cus-edit.el and renamed.
(widget-choice-action, widget-toggle-action): Not here.
(widget-choice-action, widget-toggle-action):
Display a message about [State].
(widget-field-action): Improve message.
(file): Use widget-file-complete for :completion. Delete :action.
(symbol): Use lisp-complete-symbol for :completion.
(widget-file-action): Function deleted.
(widget-field-action): Just move to next field.
(widget-choice-action, widget-toggle-action):
Preserve point usefully if it is within the widget.
(group-visibility): Inherit from visibility.
(widget-push-button-value-create): Likewise.
(widget-group-value-create): Likewise.
(widget-sublist): New function.
(widget-item-match-inline): Use widget-subllist.
(widget-remove-if): New function.
(widget-choose): Use widget-remove-if.