4 Data File Format

Files for use with Forms mode are very simple—each record (usually one line) forms the contents of one form. Each record consists of a number of fields, which are separated by the value of the string forms-field-sep, which is "\t" (a Tab) by default.

If the format of the data file is not suitable enough you can define the filter functions forms-read-file-filter and forms-write-file-filter. forms-read-file-filter is called when the data file is read from disk into the data buffer. It operates on the data buffer, ignoring read-only protections. When the data file is saved to disk forms-write-file-filter is called to cancel the effects of forms-read-file-filter. After being saved, forms-read-file-filter is called again to prepare the data buffer for further processing.

Fields may contain text which shows up in the forms in multiple lines. These lines are separated in the field using a “pseudo-newline” character which is defined by the value of the string forms-multi-line. Its default value is "\^k" (a Control-K character). If it is set to nil, multiple line fields are prohibited.

If the data file does not exist, it is automatically created.