Mercurial > hg > xemacs-beta
comparison lisp/ediff/ediff-hook.el @ 82:6a378aca36af r20-0b91
Import from CVS: tag r20-0b91
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:07:36 +0200 |
parents | 1ce6082ce73f |
children | 2d532a89d707 |
comparison
equal
deleted
inserted
replaced
81:ebca3d831cea | 82:6a378aca36af |
---|---|
1 ;;; ediff-hook.el --- setup for Ediff's menus and autoloads | 1 ;;; ediff-hook.el --- setup for Ediff's menus and autoloads |
2 | 2 |
3 ;; Copyright (C) 1995, 1996 Free Software Foundation, Inc. | 3 ;; Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. |
4 | 4 |
5 ;; Author: Michael Kifer <kifer@cs.sunysb.edu> | 5 ;; Author: Michael Kifer <kifer@cs.sunysb.edu> |
6 | 6 |
7 ;; This file is part of GNU Emacs. | 7 ;; This file is part of GNU Emacs. |
8 | 8 |
23 | 23 |
24 ;;; Code: | 24 ;;; Code: |
25 | 25 |
26 ;;; These must be placed in menu-bar.el in Emacs | 26 ;;; These must be placed in menu-bar.el in Emacs |
27 ;; | 27 ;; |
28 ;; (define-key menu-bar-tools-menu [ediff-misc] | |
29 ;; '("Ediff Miscellanea" . menu-bar-ediff-misc-menu)) | |
28 ;; (define-key menu-bar-tools-menu [epatch] | 30 ;; (define-key menu-bar-tools-menu [epatch] |
29 ;; '("Apply Patch" . menu-bar-epatch-menu)) | 31 ;; '("Apply Patch" . menu-bar-epatch-menu)) |
30 ;; (define-key menu-bar-tools-menu [ediff-merge] | 32 ;; (define-key menu-bar-tools-menu [ediff-merge] |
31 ;; '("Merge" . menu-bar-ediff-merge-menu)) | 33 ;; '("Merge" . menu-bar-ediff-merge-menu)) |
32 ;; (define-key menu-bar-tools-menu [ediff] | 34 ;; (define-key menu-bar-tools-menu [ediff] |
34 | 36 |
35 ;; Compiler pacifier | 37 ;; Compiler pacifier |
36 (defvar ediff-menu) | 38 (defvar ediff-menu) |
37 (defvar ediff-merge-menu) | 39 (defvar ediff-merge-menu) |
38 (defvar epatch-menu) | 40 (defvar epatch-menu) |
41 (defvar ediff-misc-menu) | |
39 ;; end pacifier | 42 ;; end pacifier |
40 | 43 |
41 ;; allow menus to be set up without ediff-wind.el being loaded | 44 ;; allow menus to be set up without ediff-wind.el being loaded |
42 (defvar ediff-window-setup-function) | 45 (defvar ediff-window-setup-function) |
43 | 46 |
44 | 47 |
45 (defun ediff-xemacs-init-menus () | 48 (defun ediff-xemacs-init-menus () |
46 (setq ediff-window-setup-function | |
47 (if (console-on-window-system-p) | |
48 'ediff-setup-windows-multiframe | |
49 'ediff-setup-windows-plain)) | |
50 (if (featurep 'menubar) | 49 (if (featurep 'menubar) |
51 (progn | 50 (progn |
52 (add-menu-button | |
53 '("Tools") | |
54 ["Use separate frame for Ediff control buffer" | |
55 ediff-toggle-multiframe | |
56 :style toggle | |
57 :selected (eq ediff-window-setup-function 'ediff-setup-windows-multiframe)] | |
58 "00-Browser...") | |
59 ;;(add-menu-button | |
60 ;; '("Tools") | |
61 ;; ["Use a toolbar with Ediff control buffer" | |
62 ;; ediff-toggle-use-toolbar | |
63 ;; :style toggle | |
64 ;; :selected (ediff-use-toolbar-p)] | |
65 ;; "00-Browser...") | |
66 (add-submenu | 51 (add-submenu |
67 '("Tools") ediff-menu "OO-Browser...") | 52 '("Tools") ediff-menu "OO-Browser...") |
68 (add-submenu | 53 (add-submenu |
69 '("Tools") ediff-merge-menu "OO-Browser...") | 54 '("Tools") ediff-merge-menu "OO-Browser...") |
70 (add-submenu | 55 (add-submenu |
71 '("Tools") epatch-menu "OO-Browser...") | 56 '("Tools") epatch-menu "OO-Browser...") |
57 (add-submenu | |
58 '("Tools") ediff-misc-menu "OO-Browser...") | |
72 (add-menu-button | 59 (add-menu-button |
73 '("Tools") | 60 '("Tools") |
74 ["-------" nil nil] "OO-Browser...") | 61 ["-------" nil nil] "OO-Browser...") |
75 ))) | 62 ))) |
76 | 63 |
93 ["Windows Word-by-word..." ediff-windows-wordwise t] | 80 ["Windows Word-by-word..." ediff-windows-wordwise t] |
94 ["Windows Line-by-line..." ediff-windows-linewise t] | 81 ["Windows Line-by-line..." ediff-windows-linewise t] |
95 "---" | 82 "---" |
96 ["Regions Word-by-word..." ediff-regions-wordwise t] | 83 ["Regions Word-by-word..." ediff-regions-wordwise t] |
97 ["Regions Line-by-line..." ediff-regions-linewise t] | 84 ["Regions Line-by-line..." ediff-regions-linewise t] |
98 "---" | |
99 ["List Ediff Sessions..." ediff-show-registry t] | |
100 ["Ediff Manual..." ediff-documentation t] | |
101 )) | 85 )) |
102 (defvar ediff-merge-menu | 86 (defvar ediff-merge-menu |
103 '("Merge" | 87 '("Merge" |
104 ["Files..." ediff-merge-files t] | 88 ["Files..." ediff-merge-files t] |
105 ["Files with Ancestor..." ediff-merge-files-with-ancestor t] | 89 ["Files with Ancestor..." ediff-merge-files-with-ancestor t] |
115 ["Revisions with Ancestor..." | 99 ["Revisions with Ancestor..." |
116 ediff-merge-revisions-with-ancestor t] | 100 ediff-merge-revisions-with-ancestor t] |
117 ["Directory Revisions..." ediff-merge-directory-revisions t] | 101 ["Directory Revisions..." ediff-merge-directory-revisions t] |
118 ["Directory Revisions with Ancestor..." | 102 ["Directory Revisions with Ancestor..." |
119 ediff-merge-directory-revisions-with-ancestor t] | 103 ediff-merge-directory-revisions-with-ancestor t] |
120 "---" | |
121 ["List Ediff Sessions..." ediff-show-registry t] | |
122 ["Ediff Manual..." ediff-documentation t] | |
123 )) | 104 )) |
124 (defvar epatch-menu | 105 (defvar epatch-menu |
125 '("Apply Patch" | 106 '("Apply Patch" |
126 ["To a file..." ediff-patch-file t] | 107 ["To a file..." ediff-patch-file t] |
127 ["To a buffer..." ediff-patch-buffer t] | 108 ["To a buffer..." ediff-patch-buffer t] |
128 "---" | 109 )) |
110 (defvar ediff-misc-menu | |
111 '("Ediff Miscellanea" | |
112 ["Ediff Manual..." ediff-documentation t] | |
129 ["List Ediff Sessions..." ediff-show-registry t] | 113 ["List Ediff Sessions..." ediff-show-registry t] |
130 ["Ediff Manual..." ediff-documentation t] | 114 ["Use separate frame for Ediff control buffer..." |
115 ediff-toggle-multiframe | |
116 :style toggle | |
117 :selected (if (and (featurep 'ediff-util) | |
118 (boundp 'ediff-window-setup-function)) | |
119 (eq ediff-window-setup-function | |
120 'ediff-setup-windows-multiframe))] | |
121 ["Use a toolbar with Ediff control buffer" | |
122 ediff-toggle-use-toolbar | |
123 :style toggle | |
124 :selected (if (featurep 'ediff-tbar) | |
125 (ediff-use-toolbar-p))] | |
131 )) | 126 )) |
132 | 127 |
133 ;; put these menus before Object-Oriented-Browser in Tools menu | 128 ;; put these menus before Object-Oriented-Browser in Tools menu |
134 (add-hook 'before-init-hook 'ediff-xemacs-init-menus) | 129 (add-hook 'before-init-hook 'ediff-xemacs-init-menus) |
135 (if (not purify-flag) | 130 (if (not purify-flag) |
137 ) | 132 ) |
138 | 133 |
139 ;; Emacs--only if menu-bar is loaded | 134 ;; Emacs--only if menu-bar is loaded |
140 ((featurep 'menu-bar) | 135 ((featurep 'menu-bar) |
141 ;; initialize menu bar keymaps | 136 ;; initialize menu bar keymaps |
137 (defvar menu-bar-ediff-misc-menu | |
138 (make-sparse-keymap "Ediff Miscellanea")) | |
139 (fset 'menu-bar-ediff-misc-menu | |
140 (symbol-value 'menu-bar-ediff-misc-menu)) | |
142 (defvar menu-bar-epatch-menu (make-sparse-keymap "Apply Patch")) | 141 (defvar menu-bar-epatch-menu (make-sparse-keymap "Apply Patch")) |
143 (fset 'menu-bar-epatch-menu (symbol-value 'menu-bar-epatch-menu)) | 142 (fset 'menu-bar-epatch-menu (symbol-value 'menu-bar-epatch-menu)) |
144 (defvar menu-bar-ediff-merge-menu (make-sparse-keymap "Merge")) | 143 (defvar menu-bar-ediff-merge-menu (make-sparse-keymap "Merge")) |
145 (fset 'menu-bar-ediff-merge-menu | 144 (fset 'menu-bar-ediff-merge-menu |
146 (symbol-value 'menu-bar-ediff-merge-menu)) | 145 (symbol-value 'menu-bar-ediff-merge-menu)) |
147 (defvar menu-bar-ediff-menu (make-sparse-keymap "Compare")) | 146 (defvar menu-bar-ediff-menu (make-sparse-keymap "Compare")) |
148 (fset 'menu-bar-ediff-menu (symbol-value 'menu-bar-ediff-menu)) | 147 (fset 'menu-bar-ediff-menu (symbol-value 'menu-bar-ediff-menu)) |
149 | 148 |
150 ;; define ediff-menu | 149 ;; define ediff-menu |
151 (define-key menu-bar-ediff-menu [ediff-doc] | |
152 '("Ediff Manual..." . ediff-documentation)) | |
153 (define-key menu-bar-ediff-menu [emultiframe] | |
154 '("Toggle separate control buffer frame..." | |
155 . ediff-toggle-multiframe)) | |
156 (define-key menu-bar-ediff-menu [eregistry] | |
157 '("List Ediff Sessions..." . ediff-show-registry)) | |
158 (define-key menu-bar-ediff-menu [separator-ediff-manual] '("--")) | |
159 (define-key menu-bar-ediff-menu [window] | 150 (define-key menu-bar-ediff-menu [window] |
160 '("This Window and Next Window" . compare-windows)) | 151 '("This Window and Next Window" . compare-windows)) |
161 (define-key menu-bar-ediff-menu [ediff-windows-linewise] | 152 (define-key menu-bar-ediff-menu [ediff-windows-linewise] |
162 '("Windows Line-by-line..." . ediff-windows-linewise)) | 153 '("Windows Line-by-line..." . ediff-windows-linewise)) |
163 (define-key menu-bar-ediff-menu [ediff-windows-wordwise] | 154 (define-key menu-bar-ediff-menu [ediff-windows-wordwise] |
186 '("Two Buffers..." . ediff-buffers)) | 177 '("Two Buffers..." . ediff-buffers)) |
187 (define-key menu-bar-ediff-menu [ediff-files] | 178 (define-key menu-bar-ediff-menu [ediff-files] |
188 '("Two Files..." . ediff-files)) | 179 '("Two Files..." . ediff-files)) |
189 | 180 |
190 ;; define merge menu | 181 ;; define merge menu |
191 (define-key menu-bar-ediff-merge-menu [ediff-doc2] | |
192 '("Ediff Manual..." . ediff-documentation)) | |
193 (define-key menu-bar-ediff-merge-menu [emultiframe2] | |
194 '("Toggle separate control buffer frame..." | |
195 . ediff-toggle-multiframe)) | |
196 (define-key menu-bar-ediff-merge-menu [eregistry2] | |
197 '("List Ediff Sessions..." . ediff-show-registry)) | |
198 (define-key | |
199 menu-bar-ediff-merge-menu [separator-ediff-merge-manual] '("--")) | |
200 (define-key | 182 (define-key |
201 menu-bar-ediff-merge-menu [ediff-merge-dir-revisions-with-ancestor] | 183 menu-bar-ediff-merge-menu [ediff-merge-dir-revisions-with-ancestor] |
202 '("Directory Revisions with Ancestor..." | 184 '("Directory Revisions with Ancestor..." |
203 . ediff-merge-directory-revisions-with-ancestor)) | 185 . ediff-merge-directory-revisions-with-ancestor)) |
204 (define-key | 186 (define-key |
228 '("Files with Ancestor..." . ediff-merge-files-with-ancestor)) | 210 '("Files with Ancestor..." . ediff-merge-files-with-ancestor)) |
229 (define-key menu-bar-ediff-merge-menu [ediff-merge-files] | 211 (define-key menu-bar-ediff-merge-menu [ediff-merge-files] |
230 '("Files..." . ediff-merge-files)) | 212 '("Files..." . ediff-merge-files)) |
231 | 213 |
232 ;; define epatch menu | 214 ;; define epatch menu |
233 (define-key menu-bar-epatch-menu [ediff-doc3] | |
234 '("Ediff Manual..." . ediff-documentation)) | |
235 (define-key menu-bar-epatch-menu [emultiframe3] | |
236 '("Toggle separate control buffer frame..." | |
237 . ediff-toggle-multiframe)) | |
238 (define-key menu-bar-epatch-menu [eregistry3] | |
239 '("List Ediff Sessions..." . ediff-show-registry)) | |
240 (define-key menu-bar-epatch-menu [separator-epatch] '("--")) | |
241 (define-key menu-bar-epatch-menu [ediff-patch-buffer] | 215 (define-key menu-bar-epatch-menu [ediff-patch-buffer] |
242 '("To a Buffer..." . ediff-patch-buffer)) | 216 '("To a Buffer..." . ediff-patch-buffer)) |
243 (define-key menu-bar-epatch-menu [ediff-patch-file] | 217 (define-key menu-bar-epatch-menu [ediff-patch-file] |
244 '("To a File..." . ediff-patch-file))) | 218 '("To a File..." . ediff-patch-file)) |
219 | |
220 ;; define ediff miscellanea | |
221 (define-key menu-bar-ediff-misc-menu [emultiframe] | |
222 '("Toggle use of separate control buffer frame..." | |
223 . ediff-toggle-multiframe)) | |
224 (define-key menu-bar-ediff-misc-menu [eregistry] | |
225 '("List Ediff Sessions..." . ediff-show-registry)) | |
226 (define-key menu-bar-ediff-misc-menu [ediff-doc] | |
227 '("Ediff Manual..." . ediff-documentation)) | |
228 ) | |
245 | 229 |
246 ) ; cond | 230 ) ; cond |
247 | 231 |
248 ;; arrange for autoloads | 232 ;; arrange for autoloads |
249 (if purify-flag | 233 (if purify-flag |
343 t) | 327 t) |
344 (autoload 'ediff-toggle-multiframe | 328 (autoload 'ediff-toggle-multiframe |
345 "ediff-util" | 329 "ediff-util" |
346 "Toggle the use of separate frame for Ediff control buffer." | 330 "Toggle the use of separate frame for Ediff control buffer." |
347 t) | 331 t) |
348 (condition-case nil | 332 (autoload 'ediff-toggle-use-toolbar |
349 (if (string-match "XEmacs" emacs-version) | 333 "ediff-util" |
350 (autoload 'ediff-toggle-use-toolbar | 334 "Toggle the use of Ediff toolbar." |
351 "ediff-tbar" | 335 t) |
352 "Toggle the use of Ediff toolbar." | 336 |
353 t)) | |
354 (error)) | |
355 ) ; if purify-flag | 337 ) ; if purify-flag |
356 | 338 |
357 | 339 |
358 (provide 'ediff-hook) | 340 (provide 'ediff-hook) |
359 | 341 |