15 |
@c @smallbook |
@c @smallbook |
16 |
@comment %**end of header (This is for running Texinfo on a region.) |
@comment %**end of header (This is for running Texinfo on a region.) |
17 |
|
|
18 |
@dircategory Emacs |
@copying |
|
@direntry |
|
|
* Forms: (forms). Emacs package for editing data bases |
|
|
by filling in forms. |
|
|
@end direntry |
|
|
|
|
|
@ifinfo |
|
19 |
This file documents Forms mode, a form-editing major mode for GNU Emacs. |
This file documents Forms mode, a form-editing major mode for GNU Emacs. |
20 |
|
|
21 |
Copyright 1989, 1997, 2001 Free Software Foundation, Inc. |
Copyright 1989, 1997, 2001, 2002 Free Software Foundation, Inc. |
22 |
|
|
23 |
|
@quotation |
24 |
Permission is granted to copy, distribute and/or modify this document |
Permission is granted to copy, distribute and/or modify this document |
25 |
under the terms of the GNU Free Documentation License, Version 1.1 or |
under the terms of the GNU Free Documentation License, Version 1.1 or |
26 |
any later version published by the Free Software Foundation; with no |
any later version published by the Free Software Foundation; with no |
37 |
Documentation License. If you want to distribute this document |
Documentation License. If you want to distribute this document |
38 |
separately from the collection, you can do so by adding a copy of the |
separately from the collection, you can do so by adding a copy of the |
39 |
license to the document, as described in section 6 of the license. |
license to the document, as described in section 6 of the license. |
40 |
@end ifinfo |
@end quotation |
41 |
|
@end copying |
42 |
|
|
43 |
|
@dircategory Emacs |
44 |
|
@direntry |
45 |
|
* Forms: (forms). Emacs package for editing data bases |
46 |
|
by filling in forms. |
47 |
|
@end direntry |
48 |
|
|
|
@iftex |
|
49 |
@titlepage |
@titlepage |
50 |
@sp 6 |
@sp 6 |
51 |
@center @titlefont{Forms Mode User's Manual} |
@center @titlefont{Forms Mode User's Manual} |
59 |
@center Johan Vromans |
@center Johan Vromans |
60 |
@center @i{jvromans@@squirrel.nl} |
@center @i{jvromans@@squirrel.nl} |
61 |
@page |
@page |
|
|
|
62 |
@vskip 0pt plus 1filll |
@vskip 0pt plus 1filll |
63 |
Copyright @copyright{} 1989, 1997, 2001 Free Software Foundation, Inc. |
@insertcopying |
|
|
|
|
Permission is granted to copy, distribute and/or modify this document |
|
|
under the terms of the GNU Free Documentation License, Version 1.1 or |
|
|
any later version published by the Free Software Foundation; with no |
|
|
Invariant Sections, with the Front-Cover texts being ``A GNU |
|
|
Manual'', and with the Back-Cover Texts as in (a) below. A copy of the |
|
|
license is included in the section entitled ``GNU Free Documentation |
|
|
License'' in the Emacs manual. |
|
|
|
|
|
(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify |
|
|
this GNU Manual, like GNU software. Copies published by the Free |
|
|
Software Foundation raise funds for GNU development.'' |
|
|
|
|
|
This document is part of a collection distributed under the GNU Free |
|
|
Documentation License. If you want to distribute this document |
|
|
separately from the collection, you can do so by adding a copy of the |
|
|
license to the document, as described in section 6 of the license. |
|
|
@page |
|
64 |
@end titlepage |
@end titlepage |
|
@end iftex |
|
65 |
|
|
66 |
@ifinfo |
@ifnottex |
67 |
@node Top |
@node Top |
68 |
@top Forms Mode |
@top Forms Mode |
69 |
|
|
82 |
* Forms Example:: An example: editing the password data base. |
* Forms Example:: An example: editing the password data base. |
83 |
* Entering and Exiting Forms Mode:: |
* Entering and Exiting Forms Mode:: |
84 |
How to visit a file in Forms mode. |
How to visit a file in Forms mode. |
85 |
* Forms Commands:: Special commands to use while in Forms mode. |
* Forms Commands:: Special commands to use while in Forms mode. |
86 |
* Data File Format:: How to format the data file. |
* Data File Format:: How to format the data file. |
87 |
* Control File Format:: How to control forms mode. |
* Control File Format:: How to control forms mode. |
88 |
* Format Description:: How to define the forms layout. |
* Format Description:: How to define the forms layout. |
93 |
* Credits:: Thanks everyone. |
* Credits:: Thanks everyone. |
94 |
* Index:: Index to this manual. |
* Index:: Index to this manual. |
95 |
@end menu |
@end menu |
96 |
@end ifinfo |
@end ifnottex |
97 |
|
|
98 |
@node Forms Example |
@node Forms Example |
99 |
@chapter Forms Example |
@chapter Forms Example |
254 |
contents for its fields; you can then edit the fields. With a numeric |
contents for its fields; you can then edit the fields. With a numeric |
255 |
argument, the new record is created @emph{after} the current one. |
argument, the new record is created @emph{after} the current one. |
256 |
See also @code{forms-modified-record-filter} in @ref{Modifying Forms |
See also @code{forms-modified-record-filter} in @ref{Modifying Forms |
257 |
Contents}. |
Contents}. |
258 |
|
|
259 |
@findex forms-delete-record |
@findex forms-delete-record |
260 |
@kindex C-c C-k |
@kindex C-c C-k |
319 |
than @code{nil} (which it is, by default), the Emacs functions |
than @code{nil} (which it is, by default), the Emacs functions |
320 |
@code{scroll-up} and @code{scroll-down} will perform a |
@code{scroll-up} and @code{scroll-down} will perform a |
321 |
@code{forms-next-record} and @code{forms-prev-record} when in forms |
@code{forms-next-record} and @code{forms-prev-record} when in forms |
322 |
mode. So you can use your favourite page commands to page through the |
mode. So you can use your favorite page commands to page through the |
323 |
data file. |
data file. |
324 |
|
|
325 |
@vindex forms-forms-jump |
@vindex forms-forms-jump |
531 |
|
|
532 |
@findex forms-insert-after |
@findex forms-insert-after |
533 |
@item forms-insert-after |
@item forms-insert-after |
534 |
If this variable is not @code{nil}, new records are created @emph{after} the |
If this variable is not @code{nil}, new records are created @emph{after} the |
535 |
current record. Also, upon visiting a file, the initial position will be |
current record. Also, upon visiting a file, the initial position will be |
536 |
at the last record instead of the first one. |
at the last record instead of the first one. |
537 |
|
|
613 |
@end example |
@end example |
614 |
|
|
615 |
When you construct the value of @code{forms-format-list}, you should |
When you construct the value of @code{forms-format-list}, you should |
616 |
usually either quote the whole value, like this, |
usually either quote the whole value, like this, |
617 |
|
|
618 |
@example |
@example |
619 |
(setq forms-format-list |
(setq forms-format-list |
654 |
and records of the database. |
and records of the database. |
655 |
|
|
656 |
All normal editing commands are available for editing the contents of the |
All normal editing commands are available for editing the contents of the |
657 |
displayed record. You cannot delete or modify the fixed, explanatory |
displayed record. You cannot delete or modify the fixed, explanatory |
658 |
text that comes from string formatting elements, but you can modify the |
text that comes from string formatting elements, but you can modify the |
659 |
actual field contents. |
actual field contents. |
660 |
|
|
762 |
|
|
763 |
@item Forms control file error: `forms-number-of-fields' must be a number > 0 |
@item Forms control file error: `forms-number-of-fields' must be a number > 0 |
764 |
The variable @code{forms-number-of-fields} did not contain a positive |
The variable @code{forms-number-of-fields} did not contain a positive |
765 |
number. |
number. |
766 |
|
|
767 |
@item Forms control file error: `forms-field-sep' is not a string |
@item Forms control file error: `forms-field-sep' is not a string |
768 |
@itemx Forms control file error: `forms-multi-line' must be nil or a one-character string |
@itemx Forms control file error: `forms-multi-line' must be nil or a one-character string |
835 |
|
|
836 |
@item No write access to @code{"}@var{file}@code{"} |
@item No write access to @code{"}@var{file}@code{"} |
837 |
An attempt was made to enable edit mode on a file that has been write |
An attempt was made to enable edit mode on a file that has been write |
838 |
protected. |
protected. |
839 |
|
|
840 |
@item Search failed: @var{regexp} |
@item Search failed: @var{regexp} |
841 |
The @var{regexp} could not be found in the data file. Forward searching |
The @var{regexp} could not be found in the data file. Forward searching |
899 |
(concat "\n" (make-string target fill)) |
(concat "\n" (make-string target fill)) |
900 |
(make-string (- target (current-column)) fill))) |
(make-string (- target (current-column)) fill))) |
901 |
;; |
;; |
902 |
(defun arch-rj (target field &optional fill) |
(defun arch-rj (target field &optional fill) |
903 |
"Produces a string to skip to column TARGET\ |
"Produces a string to skip to column TARGET\ |
904 |
minus the width of field FIELD. |
minus the width of field FIELD. |
905 |
Prepends newline if needed. |
Prepends newline if needed. |