diff options
author | Dave Love <fx@gnu.org> | 1999-10-05 11:10:25 +0000 |
---|---|---|
committer | Dave Love <fx@gnu.org> | 1999-10-05 11:10:25 +0000 |
commit | 0015ac80db6f2756d73660e317bdcc9f6b8481d8 (patch) | |
tree | 412ea3f125be4cfe1e138a3b617facab936e1ed6 /lisp/forms-d2.el | |
parent | 3dd3599dd2ca05d9603a33049e893b433dcc63a0 (diff) | |
download | emacs-0015ac80db6f2756d73660e317bdcc9f6b8481d8.tar.gz |
#
Diffstat (limited to 'lisp/forms-d2.el')
-rw-r--r-- | lisp/forms-d2.el | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/lisp/forms-d2.el b/lisp/forms-d2.el new file mode 100644 index 00000000000..22331292e14 --- /dev/null +++ b/lisp/forms-d2.el @@ -0,0 +1,80 @@ +;;; forms-d2.el --- demo forms-mode + +;; Author: Johan Vromans <jvromans@squirrel.nl> +;; Created: 1989 + +;; This sample forms exploit most of the features of forms mode. + +;; Set the name of the data file. +(setq forms-file "forms-d2.dat") + +;; Use 'forms-enumerate' to set field names and number thereof. +(setq forms-number-of-fields + (forms-enumerate + '(arch-newsgroup ; 1 + arch-volume ; 2 + arch-issue ; and ... + arch-article ; ... so + arch-shortname ; ... ... on + arch-parts + arch-from + arch-longname + arch-keywords + arch-date + arch-remarks))) + +;; The following functions are used by this form for layout purposes. +;; +(defun arch-tocol (target &optional fill) + "Produces a string to skip to column TARGET. Prepends newline if needed. +The optional FILL should be a character, used to fill to the column." + (if (null fill) + (setq fill ? )) + (if (< target (current-column)) + (concat "\n" (make-string target fill)) + (make-string (- target (current-column)) fill))) +;; +(defun arch-rj (target field &optional fill) + "Produces a string to skip to column TARGET minus the width of field FIELD. +Prepends newline if needed. The optional FILL should be a character, +used to fill to the column." + (arch-tocol (- target (length (nth field forms-fields))) fill)) + +;; Record filters. +;; +(defun arch-new-record-filter (the-record) + "Form a new record with some defaults." + (aset the-record arch-from (user-full-name)) + (aset the-record arch-date (current-time-string)) + the-record ; return it +) +(setq forms-new-record-filter 'arch-new-record-filter) + +;; The format list. +(setq forms-format-list + (list + "====== Public Domain Software Archive ======\n\n" + arch-shortname + " - " arch-longname + "\n\n" + "Article: " arch-newsgroup + "/" arch-article + " " + '(arch-tocol 40) + "Issue: " arch-issue + " " + '(arch-rj 73 10) + "Date: " arch-date + "\n\n" + "Submitted by: " arch-from + "\n" + '(arch-tocol 79 ?-) + "\n" + "Keywords: " arch-keywords + "\n\n" + "Parts: " arch-parts + "\n\n====== Remarks ======\n\n" + arch-remarks + )) + +;; That's all, folks! |