Next: Control File Format, Previous: Forms Commands, Up: Top [Contents][Index]

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