aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/textmodes
diff options
context:
space:
mode:
authorStefan Monnier2001-10-13 19:22:43 +0000
committerStefan Monnier2001-10-13 19:22:43 +0000
commitdda30de7fabaa0065ca168241be72813470e674d (patch)
tree1935fbf673b4bdc4b9a4297fb823e702bca4d121 /lisp/textmodes
parenta3d15b8fdd837de63ddcbaec9e388ce20cc1dea3 (diff)
downloademacs-dda30de7fabaa0065ca168241be72813470e674d.tar.gz
emacs-dda30de7fabaa0065ca168241be72813470e674d.zip
Use define-derived-mode.
Diffstat (limited to 'lisp/textmodes')
-rw-r--r--lisp/textmodes/bib-mode.el70
1 files changed, 28 insertions, 42 deletions
diff --git a/lisp/textmodes/bib-mode.el b/lisp/textmodes/bib-mode.el
index ef9a7f67864..913021ba6e3 100644
--- a/lisp/textmodes/bib-mode.el
+++ b/lisp/textmodes/bib-mode.el
@@ -51,8 +51,6 @@
51(define-key bib-mode-map "\C-c\C-u" 'unread-bib) 51(define-key bib-mode-map "\C-c\C-u" 'unread-bib)
52(define-key bib-mode-map "\C-c\C-@" 'mark-bib) 52(define-key bib-mode-map "\C-c\C-@" 'mark-bib)
53(define-key bib-mode-map "\e`" 'abbrev-mode) 53(define-key bib-mode-map "\e`" 'abbrev-mode)
54(defvar bib-mode-abbrev-table nil
55 "Abbrev table used in Bib mode")
56 54
57(defun addbib () 55(defun addbib ()
58 "Set up editor to add to troff bibliography file specified 56 "Set up editor to add to troff bibliography file specified
@@ -63,7 +61,7 @@ by global variable `bib-file'. See description of `bib-mode'."
63 (bib-mode) 61 (bib-mode)
64 ) 62 )
65 63
66(defun bib-mode () 64(define-derived-mode bib-mode text-mode "Bib"
67 "Mode for editing `lookbib' style bibliographies. 65 "Mode for editing `lookbib' style bibliographies.
68Hit RETURN to get next % field key. 66Hit RETURN to get next % field key.
69If you want to ignore this field, just hit RETURN again. 67If you want to ignore this field, just hit RETURN again.
@@ -94,45 +92,33 @@ Hook can be stored in `bib-mode-hook'.
94Field keys given by variable `bib-assoc'. 92Field keys given by variable `bib-assoc'.
95 93
96Commands: 94Commands:
97\\{bib-mode-map} 95\\{bib-mode-map}"
98" 96 (abbrev-mode 1))
99 (interactive) 97
100 (text-mode) 98(defconst bib-assoc
101 (use-local-map bib-mode-map) 99 '((" *$" . "%A ")
102 (setq mode-name "Bib") 100 ("%A ." . "%A ")
103 (setq major-mode 'bib-mode) 101 ("%A $" . "%T ")
104 (define-abbrev-table 'bib-mode-abbrev-table ()) 102 ("%T " . "%D ")
105 (setq local-abbrev-table bib-mode-abbrev-table) 103 ("%D " . "%J ")
106 (abbrev-mode 1) 104 ("%J ." . "%V ")
107 (run-hooks 'bib-mode-hook) 105 ("%V " . "%N ")
108 ) 106 ("%N " . "%P ")
109 107 ("%P " . "%K ")
110(defconst bib-assoc '( 108 ("%K " . "%W ")
111 (" *$" . "%A ") 109 ("%W " . "%X ")
112 ("%A ." . "%A ") 110 ("%X " . "")
113 ("%A $" . "%T ") 111 ("%J $" . "%B ")
114 ("%T " . "%D ") 112 ("%B ." . "%E ")
115 ("%D " . "%J ") 113 ("%E ." . "%E ")
116 ("%J ." . "%V ") 114 ("%E $" . "%I ")
117 ("%V " . "%N ") 115 ("%I " . "%C ")
118 ("%N " . "%P ") 116 ("%C " . "%P ")
119 ("%P " . "%K ") 117 ("%B $" . "%R ")
120 ("%K " . "%W ") 118 ("%R " . "%I "))
121 ("%W " . "%X ") 119 "Describes bibliographic database format.
122 ("%X " . "") 120A line beginning with the car of an entry is followed by one beginning
123 ("%J $" . "%B ") 121with the cdr.")
124 ("%B ." . "%E ")
125 ("%E ." . "%E ")
126 ("%E $" . "%I ")
127 ("%I " . "%C ")
128 ("%C " . "%P ")
129 ("%B $" . "%R ")
130 ("%R " . "%I ")
131 )
132
133"Describes bibliographic database format. A line beginning with
134the car of an entry is followed by one beginning with the cdr.
135")
136 122
137(defun bib-find-key (slots) 123(defun bib-find-key (slots)
138 (cond 124 (cond