Mercurial > emacs
comparison lisp/forms.el @ 3828:c9f18a7140f9
entered into RCS
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 19 Jun 1993 00:15:32 +0000 |
parents | 4089cf0e3f06 |
children | 93a7a7b97030 |
comparison
equal
deleted
inserted
replaced
3827:4089cf0e3f06 | 3828:c9f18a7140f9 |
---|---|
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 |
6 ;; This file is part of GNU Emacs. | 6 ;; This file is part of GNU Emacs. |
7 | 7 |
220 ;;; Global variables and constants | 220 ;;; Global variables and constants |
221 | 221 |
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 | |
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 | 227 |
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 |
237 ;;; Mandatory variables - must be set by evaluating the control file | 231 ;;; Mandatory variables - must be set by evaluating the control file |
256 | 250 |
257 (defvar forms-multi-line "\C-k" | 251 (defvar forms-multi-line "\C-k" |
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. |
256 The 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 | 260 The replacement commands performs forms-first/last-record.") |
266 | 261 |
267 ;;; Internal variables. | 262 ;;; Internal variables. |
268 | 263 |
269 (defvar forms--file-buffer nil | 264 (defvar forms--file-buffer nil |
270 "Buffer which holds the file data") | 265 "Buffer which holds the file data") |
780 | 775 |
781 (defun forms--change-commands () | 776 (defun forms--change-commands () |
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." |
861 ;; We should use | 813 ;; We should use |
862 ;;(message (substitute-command-keys (concat | 814 ;;(message (substitute-command-keys (concat |
1342 (save-excursion | 1294 (save-excursion |
1343 (set-buffer (get-buffer-create "*forms-mode debug*")) | 1295 (set-buffer (get-buffer-create "*forms-mode debug*")) |
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. |