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.