summaryrefslogtreecommitdiff
path: root/etc/forms
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2012-05-07 18:53:17 -0400
committerGlenn Morris <rgm@gnu.org>2012-05-07 18:53:17 -0400
commitaf8630f410df429ceece61d7ceee2110d0c366a2 (patch)
tree8c60c37d2627cddc9eb05d5b589f8919a028aee2 /etc/forms
parent57699e3735e756ef8d11eaa77f4246aa251ec6ca (diff)
downloademacs-af8630f410df429ceece61d7ceee2110d0c366a2.tar.gz
Move some forms.el example files to etc/forms directory
* etc/forms/README: New. * etc/forms/forms-d2.dat: Move to etc/forms/ subdirectory. * etc/forms/forms-d2.el, etc/forms/forms-pass.el: Move here from ../lisp. * lisp/forms.el: Related comment change.
Diffstat (limited to 'etc/forms')
-rw-r--r--etc/forms/README1
-rw-r--r--etc/forms/forms-d2.dat4
-rw-r--r--etc/forms/forms-d2.el103
-rw-r--r--etc/forms/forms-pass.el33
4 files changed, 141 insertions, 0 deletions
diff --git a/etc/forms/README b/etc/forms/README
new file mode 100644
index 00000000000..4d728450ac4
--- /dev/null
+++ b/etc/forms/README
@@ -0,0 +1 @@
+This directory contains some example files for the forms.el library.
diff --git a/etc/forms/forms-d2.dat b/etc/forms/forms-d2.dat
new file mode 100644
index 00000000000..f6c599c9aa8
--- /dev/null
+++ b/etc/forms/forms-d2.dat
@@ -0,0 +1,4 @@
+comp.sources.unix v11i008 269 getty-enable 1 tron@sc.nsc.com (Ronald S. Karr) Getty on/off programs for 4.[23] BSD 890505 This program can be used to dynamically enable / disable terminal lines on a BSD system.
+comp.sources.unix 11 v11i022 283 syslog 1 emory!arnold (Arnold D. Robbins {EUCC}) Development version of syslog(3), for ATT, too 28/08/1987
+comp.sources.unix 11 v11i033 290 less3 3 sun!intsc!convgt!mark The 'less' pager 02/09/1987
+comp.sources.unix 11 v11i036 293 test.el 3 "Mark A. Ardis" <maa@sei.cmu.edu> Test system for GNU Emacs 10/09/1987
diff --git a/etc/forms/forms-d2.el b/etc/forms/forms-d2.el
new file mode 100644
index 00000000000..9fa2145e4d0
--- /dev/null
+++ b/etc/forms/forms-d2.el
@@ -0,0 +1,103 @@
+;;; forms-d2.el --- demo forms-mode
+
+;; Copyright (C) 1991, 1994-1997, 2001-2012 Free Software Foundation, Inc.
+
+;; Author: Johan Vromans <jvromans@squirrel.nl>
+;; Created: 1989
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This sample forms exploit most of the features of forms mode.
+
+;;; Code:
+
+;; Set the name of the data file.
+(setq forms-file (expand-file-name "forms/forms-d2.dat" data-directory))
+
+;; 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 ?\s))
+ (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!
+
+;;; forms-d2.el ends here
diff --git a/etc/forms/forms-pass.el b/etc/forms/forms-pass.el
new file mode 100644
index 00000000000..34d4548434b
--- /dev/null
+++ b/etc/forms/forms-pass.el
@@ -0,0 +1,33 @@
+;;; forms-pass.el --- passwd file demo for forms-mode
+
+;; This file is part of GNU Emacs.
+
+;;; Commentary:
+
+;; This demo visits your passwd file.
+
+;;; Code:
+
+;; use yp if present
+(or (file-exists-p (setq forms-file "/var/yp/src/passwd"))
+ (setq forms-file "/etc/passwd"))
+
+(setq forms-read-only t) ; to make sure
+(setq forms-field-sep ":")
+(setq forms-number-of-fields 7)
+
+(setq forms-format-list
+ (list
+ "====== Visiting " forms-file " ======\n\n"
+ "User : " 1
+ " Uid: " 3
+ " Gid: " 4
+ "\n\n"
+ "Name : " 5
+ "\n\n"
+ "Home : " 6
+ "\n\n"
+ "Shell: " 7
+ "\n"))
+
+;;; forms-pass.el ends here