Next: composite, Previous: generic, Up: Sexp Types

#### Atomic Sexp Widgets

The atoms are s-expressions that do not consist of other s-expressions. For example, a string, a file name, or a symbol are atoms, while a list is a composite type. You can edit the value of an atom with the following widgets.

The syntax for all the atoms are:

         type ::= (construct [keyword argument]...  [ value ])

The value, if present, is used to initialize the `:value` property and must be an expression of the same type as the widget. That is, the string widget can only be initialized with a string.

All the atom widgets take the same keyword arguments as the `editable-field` widget. See editable-field.

— Widget: string

> Allows you to edit a string in an editable field.

— Widget: regexp

> Allows you to edit a regular expression in an editable field.

— Widget: character

> Allows you to enter a character in an editable field.

— Widget: file

> Allows you to edit a file name in an editable field.

> Keywords:

> `:must-match`
>   If this is set to non-`nil`, only existing file names will be allowed in the minibuffer.

— Widget: directory

> Allows you to edit a directory name in an editable field. Similar to the `file` widget.

— Widget: symbol

> Allows you to edit a Lisp symbol in an editable field.

— Widget: function

> Allows you to edit a lambda expression, or a function name with completion.

— Widget: variable

> Allows you to edit a variable name, with completion.

— Widget: integer

> Allows you to edit an integer in an editable field.

— Widget: number

> Allows you to edit a number in an editable field.

— Widget: boolean

> Allows you to edit a boolean. In Lisp this means a variable which is either `nil` meaning false, or non-`nil` meaning true.