Next: composite, Previous: generic, Up: Sexp Types [Contents][Index]

### 6.3 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.

Next: composite, Previous: generic, Up: Sexp Types [Contents][Index]