aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1993-06-19 00:15:32 +0000
committerRichard M. Stallman1993-06-19 00:15:32 +0000
commitea3d9551e8eb9477a413b716bb881bb874d11394 (patch)
treefe89a255d1ef474dd2cd9871ffcdfda0a8c24d38
parent0cfa68a9a88c8713c934d21a815195ec57f8eca0 (diff)
downloademacs-ea3d9551e8eb9477a413b716bb881bb874d11394.tar.gz
emacs-ea3d9551e8eb9477a413b716bb881bb874d11394.zip
entered into RCS
-rw-r--r--lisp/forms.el113
1 files changed, 30 insertions, 83 deletions
diff --git a/lisp/forms.el b/lisp/forms.el
index ccc25530bf5..2da889b4769 100644
--- a/lisp/forms.el
+++ b/lisp/forms.el
@@ -1,5 +1,5 @@
1;;; forms.el -- Forms mode: edit a file as a form to fill in. 1;;; forms.el -- Forms mode: edit a file as a form to fill in.
2;;; Copyright (C) 1991 Free Software Foundation, Inc. 2;;; Copyright (C) 1991, 1993 Free Software Foundation, Inc.
3 3
4;;; Author: Johan Vromans 4;;; Author: Johan Vromans
5 5
@@ -222,15 +222,9 @@
222(provide 'forms) ;;; official 222(provide 'forms) ;;; official
223(provide 'forms-mode) ;;; for compatibility 223(provide 'forms-mode) ;;; for compatibility
224 224
225(defconst forms-version "1.2.10" 225(defconst forms-version "1.2.11"
226 "Version of forms-mode implementation.") 226 "Version of forms-mode implementation.")
227 227
228(defvar forms-forms-scrolls t
229 "If non-null: redefine scroll-up/down to be used with Forms mode.")
230
231(defvar forms-forms-jumps t
232 "If non-null: redefine beginning/end-of-buffer to be used with Forms mode.")
233
234(defvar forms-mode-hooks nil 228(defvar forms-mode-hooks nil
235 "Hook functions to be run upon entering Forms mode.") 229 "Hook functions to be run upon entering Forms mode.")
236 230
@@ -258,11 +252,12 @@
258 "Character to separate multi-line fields (default C-k)") 252 "Character to separate multi-line fields (default C-k)")
259 253
260(defvar forms-forms-scroll t 254(defvar forms-forms-scroll t
261 "Redefine scroll-up/down to perform forms-next/prev-record in Forms mode.") 255 "*Non-nil means replace scroll-up/down commands in Forms mode.
256The replacement commands performs forms-next/prev-record.")
262 257
263(defvar forms-forms-jump t 258(defvar forms-forms-jump t
264 "Redefine beginning/end-of-buffer to perform forms-first/last-record in Forms mode.") 259 "*Non-nil means redefine beginning/end-of-buffer in Forms mode.
265 260The replacement commands performs forms-first/last-record.")
266 261
267;;; Internal variables. 262;;; Internal variables.
268 263
@@ -782,79 +777,36 @@
782 "Localize some commands." 777 "Localize some commands."
783 ;; 778 ;;
784 ;; scroll-down -> forms-prev-record 779 ;; scroll-down -> forms-prev-record
785 ;;
786 (if (fboundp 'forms--scroll-down)
787 nil
788 (fset 'forms--scroll-down (symbol-function 'scroll-down))
789 (fset 'scroll-down
790 (function
791 (lambda (&optional arg)
792 (interactive "P")
793 (if (and forms--mode-setup
794 forms-forms-scroll)
795 (forms-prev-record arg)
796 (forms--scroll-down arg))))))
797 ;;
798 ;; scroll-up -> forms-next-record 780 ;; scroll-up -> forms-next-record
799 ;; 781 (if forms-forms-scroll
800 (if (fboundp 'forms--scroll-up) 782 (progn
801 nil 783 (substitute-key-definition 'scroll-up 'forms-next-record
802 (fset 'forms--scroll-up (symbol-function 'scroll-up)) 784 (current-local-map)
803 (fset 'scroll-up 785 (current-global-map))
804 (function 786 (substitute-key-definition 'scroll-down 'forms-prev-record
805 (lambda (&optional arg) 787 (current-local-map)
806 (interactive "P") 788 (current-global-map))))
807 (if (and forms--mode-setup
808 forms-forms-scroll)
809 (forms-next-record arg)
810 (forms--scroll-up arg))))))
811 ;; 789 ;;
812 ;; beginning-of-buffer -> forms-first-record 790 ;; beginning-of-buffer -> forms-first-record
813 ;;
814 (if (fboundp 'forms--beginning-of-buffer)
815 nil
816 (fset 'forms--beginning-of-buffer (symbol-function 'beginning-of-buffer))
817 (fset 'beginning-of-buffer
818 (function
819 (lambda ()
820 (interactive)
821 (if (and forms--mode-setup
822 forms-forms-jump)
823 (forms-first-record)
824 (forms--beginning-of-buffer))))))
825 ;;
826 ;; end-of-buffer -> forms-end-record 791 ;; end-of-buffer -> forms-end-record
827 ;; 792 (if forms-forms-jump
828 (if (fboundp 'forms--end-of-buffer) 793 (progn
829 nil 794 (substitute-key-definition 'beginning-of-buffer 'forms-first-record
830 (fset 'forms--end-of-buffer (symbol-function 'end-of-buffer)) 795 (current-local-map)
831 (fset 'end-of-buffer 796 (current-global-map))
832 (function 797 (substitute-key-definition 'end-of-buffer 'forms-last-record
833 (lambda () 798 (current-local-map)
834 (interactive) 799 (current-global-map))))
835 (if (and forms--mode-setup
836 forms-forms-jump)
837 (forms-last-record)
838 (forms--end-of-buffer))))))
839 ;; 800 ;;
840 ;; save-buffer -> forms--save-buffer 801 ;; save-buffer -> forms--save-buffer
841 ;; 802 (add-hook 'local-write-file-hooks
842 (if (fboundp 'forms--save-buffer) 803 (function
843 nil 804 (lambda (nil)
844 (fset 'forms--save-buffer (symbol-function 'save-buffer)) 805 (forms--checkmod)
845 (fset 'save-buffer 806 (save-excursion
846 (function 807 (set-buffer forms--file-buffer)
847 (lambda (&optional arg) 808 (save-buffer))
848 (interactive "p") 809 t))))
849 (if forms--mode-setup
850 (progn
851 (forms--checkmod)
852 (save-excursion
853 (set-buffer forms--file-buffer)
854 (forms--save-buffer arg)))
855 (forms--save-buffer arg))))))
856 ;;
857 )
858 810
859(defun forms--help () 811(defun forms--help ()
860 "Initial help." 812 "Initial help."
@@ -1344,9 +1296,4 @@ Usage: (setq forms-number-of-fields
1344 (goto-char (point-max)) 1296 (goto-char (point-max))
1345 (insert ret))))) 1297 (insert ret)))))
1346 1298
1347;;; Disabled Local Variables:
1348;;; eval: (headers)
1349;;; eval: (setq comment-start ";;; ")
1350;;; End:
1351
1352;;; forms.el ends here. 1299;;; forms.el ends here.