X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/190271b979ef212f48d8501e337cd502fbafbc5c..0b64a3da3a1673936bb61a5a9faa103640c66cf9:/lisp/ediff-hook.el diff --git a/lisp/ediff-hook.el b/lisp/ediff-hook.el index d0b1e34ef7..0d412d4d40 100644 --- a/lisp/ediff-hook.el +++ b/lisp/ediff-hook.el @@ -1,5 +1,6 @@ ;;; ediff-hook.el --- setup for Ediff's menus and autoloads -;;; Copyright (C) 1995 Free Software Foundation, Inc. + +;; Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -16,14 +17,16 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to -;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. +;;; Code: ;;; These must be placed in menu-bar.el in Emacs ;; -;; (define-key menu-bar-tools-menu [eregistry] -;; '("List Ediff Sessions" . ediff-show-registry)) +;; (define-key menu-bar-tools-menu [ediff-misc] +;; '("Ediff Miscellanea" . menu-bar-ediff-misc-menu)) ;; (define-key menu-bar-tools-menu [epatch] ;; '("Apply Patch" . menu-bar-epatch-menu)) ;; (define-key menu-bar-tools-menu [ediff-merge] @@ -31,6 +34,16 @@ ;; (define-key menu-bar-tools-menu [ediff] ;; '("Compare" . menu-bar-ediff-menu)) +;; Compiler pacifier +(defvar ediff-menu) +(defvar ediff-merge-menu) +(defvar epatch-menu) +(defvar ediff-misc-menu) +;; end pacifier + +;; allow menus to be set up without ediff-wind.el being loaded +(defvar ediff-window-setup-function) + (defun ediff-xemacs-init-menus () (if (featurep 'menubar) @@ -41,16 +54,14 @@ '("Tools") ediff-merge-menu "OO-Browser...") (add-submenu '("Tools") epatch-menu "OO-Browser...") + (add-submenu + '("Tools") ediff-misc-menu "OO-Browser...") (add-menu-button '("Tools") - ["List Ediff Sessions" ediff-show-registry t] "OO-Browser...") - (add-menu-button - '("Tools") - ["---" nil nil] "OO-Browser...") + ["-------" nil nil] "OO-Browser...") ))) - ;; explicit string-match is needed: ediff-xemacs-p is not defined at build time (cond ((string-match "XEmacs" emacs-version) (defvar ediff-menu @@ -70,7 +81,8 @@ ["Windows Line-by-line..." ediff-windows-linewise t] "---" ["Regions Word-by-word..." ediff-regions-wordwise t] - ["Regions Line-by-line..." ediff-regions-linewise t])) + ["Regions Line-by-line..." ediff-regions-linewise t] + )) (defvar ediff-merge-menu '("Merge" ["Files..." ediff-merge-files t] @@ -88,22 +100,45 @@ ediff-merge-revisions-with-ancestor t] ["Directory Revisions..." ediff-merge-directory-revisions t] ["Directory Revisions with Ancestor..." - ediff-merge-directory-revisions-with-ancestor t])) + ediff-merge-directory-revisions-with-ancestor t] + )) (defvar epatch-menu '("Apply Patch" ["To a file..." ediff-patch-file t] - ["To a buffer..." ediff-patch-buffer t])) + ["To a buffer..." ediff-patch-buffer t] + )) + (defvar ediff-misc-menu + '("Ediff Miscellanea" + ["Ediff Manual..." ediff-documentation t] + ["List Ediff Sessions..." ediff-show-registry t] + ["Use separate frame for Ediff control buffer..." + ediff-toggle-multiframe + :style toggle + :selected (if (and (featurep 'ediff-util) + (boundp 'ediff-window-setup-function)) + (eq ediff-window-setup-function + 'ediff-setup-windows-multiframe))] + ["Use a toolbar with Ediff control buffer" + ediff-toggle-use-toolbar + :style toggle + :selected (if (featurep 'ediff-tbar) + (ediff-use-toolbar-p))] + )) ;; put these menus before Object-Oriented-Browser in Tools menu - (add-hook 'before-init-hook 'ediff-xemacs-init-menus) - ;; this `if' is to be deleted before going into distribution - (if (not purify-flag) - (ediff-xemacs-init-menus)) - ) +;; (add-hook 'before-init-hook 'ediff-xemacs-init-menus) +;; (if (not purify-flag) +;; (ediff-xemacs-init-menus)) +;; ) + (ediff-xemacs-init-menus)) ;; Emacs--only if menu-bar is loaded ((featurep 'menu-bar) ;; initialize menu bar keymaps + (defvar menu-bar-ediff-misc-menu + (make-sparse-keymap "Ediff Miscellanea")) + (fset 'menu-bar-ediff-misc-menu + (symbol-value 'menu-bar-ediff-misc-menu)) (defvar menu-bar-epatch-menu (make-sparse-keymap "Apply Patch")) (fset 'menu-bar-epatch-menu (symbol-value 'menu-bar-epatch-menu)) (defvar menu-bar-ediff-merge-menu (make-sparse-keymap "Merge")) @@ -114,7 +149,17 @@ ;; define ediff-menu (define-key menu-bar-ediff-menu [window] - '("This Window And Next Window" . compare-windows)) + '("This Window and Next Window" . compare-windows)) + (define-key menu-bar-ediff-menu [ediff-windows-linewise] + '("Windows Line-by-line..." . ediff-windows-linewise)) + (define-key menu-bar-ediff-menu [ediff-windows-wordwise] + '("Windows Word-by-word..." . ediff-windows-wordwise)) + (define-key menu-bar-ediff-menu [separator-ediff-windows] '("--")) + (define-key menu-bar-ediff-menu [ediff-regions-linewise] + '("Regions Line-by-line..." . ediff-regions-linewise)) + (define-key menu-bar-ediff-menu [ediff-regions-wordwise] + '("Regions Word-by-word..." . ediff-regions-wordwise)) + (define-key menu-bar-ediff-menu [separator-ediff-regions] '("--")) (define-key menu-bar-ediff-menu [ediff-dir-revision] '("Directory Revisions..." . ediff-directory-revisions)) (define-key menu-bar-ediff-menu [ediff-revision] @@ -133,16 +178,6 @@ '("Two Buffers..." . ediff-buffers)) (define-key menu-bar-ediff-menu [ediff-files] '("Two Files..." . ediff-files)) - (define-key menu-bar-ediff-menu [separator-ediff-regions] '("--")) - (define-key menu-bar-ediff-menu [ediff-regions-linewise] - '("Regions Line-by-line..." . ediff-regions-linewise)) - (define-key menu-bar-ediff-menu [ediff-regions-wordwise] - '("Regions Word-by-word..." . ediff-regions-wordwise)) - (define-key menu-bar-ediff-menu [separator-ediff-windows] '("--")) - (define-key menu-bar-ediff-menu [ediff-windows-linewise] - '("Windows Line-by-line..." . ediff-windows-linewise)) - (define-key menu-bar-ediff-menu [ediff-windows-wordwise] - '("Windows Word-by-word..." . ediff-windows-wordwise)) ;; define merge menu (define-key @@ -181,7 +216,17 @@ (define-key menu-bar-epatch-menu [ediff-patch-buffer] '("To a Buffer..." . ediff-patch-buffer)) (define-key menu-bar-epatch-menu [ediff-patch-file] - '("To a File..." . ediff-patch-file))) + '("To a File..." . ediff-patch-file)) + + ;; define ediff miscellanea + (define-key menu-bar-ediff-misc-menu [emultiframe] + '("Toggle use of separate control buffer frame..." + . ediff-toggle-multiframe)) + (define-key menu-bar-ediff-misc-menu [eregistry] + '("List Ediff Sessions..." . ediff-show-registry)) + (define-key menu-bar-ediff-misc-menu [ediff-doc] + '("Ediff Manual..." . ediff-documentation)) + ) ) ; cond @@ -193,85 +238,108 @@ (autoload 'ediff "ediff" "Compare two files" t) (autoload 'ediff-files "ediff" "Compare two files" t) (autoload 'ediff-buffers "ediff" "Compare two bufers" t) + (autoload 'ebuffers "ediff" "Compare two bufers" t) (autoload 'ediff3 "ediff" "Compare three files" t) (autoload 'ediff-files3 "ediff" "Compare three files" t) (autoload 'ediff-buffers3 "ediff" "Compare three bufers" t) + (autoload 'ebuffers3 "ediff" "Compare three bufers" t) + (autoload 'erevision "ediff" "Compare versions of a file" t) (autoload 'ediff-revision "ediff" "Compare versions of a file" t) ;; compare regions and windows (autoload 'ediff-windows-wordwise - "ediff" "Compare two windows word-by-word" t) + "ediff" "Compare two windows word-by-word." t) (autoload 'ediff-regions-wordwise - "ediff" "Compare two regions word-by-word" t) + "ediff" "Compare two regions word-by-word." t) (autoload 'ediff-windows-linewise - "ediff" "Compare two windows line-by-line" t) + "ediff" "Compare two windows line-by-line." t) (autoload 'ediff-regions-linewise - "ediff" "Compare two regions line-by-line" t) + "ediff" "Compare two regions line-by-line." t) ;; patch - (autoload 'ediff-patch-file "ediff" "Patch a file" t) - (autoload 'epatch "ediff" "Patch a file" t) - (autoload 'ediff-patch-buffer "ediff" "Patch a buffer") - (autoload 'epatch-buffer "ediff" "Patch a buffer" t) + (autoload 'ediff-patch-file "ediff" "Patch a file." t) + (autoload 'epatch "ediff" "Patch a file." t) + (autoload 'ediff-patch-buffer "ediff" "Patch a buffer.") + (autoload 'epatch-buffer "ediff" "Patch a buffer." t) ;; merge - (autoload 'ediff-merge "ediff" "Merge two files" t) - (autoload 'ediff-merge-files "ediff" "Merge two files" t) + (autoload 'ediff-merge "ediff" "Merge two files." t) + (autoload 'ediff-merge-files "ediff" "Merge two files." t) (autoload 'ediff-merge-files-with-ancestor - "ediff" "Merge two files using a third file as an ancestor" t) - (autoload 'ediff-merge-buffers "ediff" "Merge two buffers" t) + "ediff" "Merge two files using a third file as an ancestor." t) + (autoload 'ediff-merge-buffers "ediff" "Merge two buffers." t) (autoload 'ediff-merge-buffers-with-ancestor - "ediff" "Merge two buffers using a third buffer as an ancestor" t) + "ediff" "Merge two buffers using a third buffer as an ancestor." t) - (autoload 'ediff-merge-revisions "ediff" "Merge two versions of a file" t) + (autoload 'ediff-merge-revisions "ediff" "Merge two versions of a file." t) (autoload 'ediff-merge-revisions-with-ancestor - "ediff" "Merge two versions of a file" t) + "ediff" "Merge two versions of a file." t) ;; compare directories - (autoload 'edirs "ediff" "Compare files in two directories" t) - (autoload 'ediff-directories "ediff" "Compare files in two directories" t) - (autoload 'edirs3 "ediff" "Compare files in three directories" t) - (autoload 'ediff-directories3 "ediff" "Compare files in three directories" t) + (autoload 'edirs "ediff" "Compare files in two directories." t) + (autoload 'ediff-directories "ediff" "Compare files in two directories." t) + (autoload 'edirs3 "ediff" "Compare files in three directories." t) + (autoload + 'ediff-directories3 "ediff" "Compare files in three directories." t) (autoload 'edir-revisions - "ediff" "Compare two versions of a file" t) + "ediff" "Compare two versions of a file." t) (autoload 'ediff-directory-revisions - "ediff" "Compare two versions of a file" t) + "ediff" "Compare two versions of a file." t) ;; merge directories - (autoload 'edirs-merge "ediff" "Merge files in two directories" t) + (autoload 'edirs-merge "ediff" "Merge files in two directories." t) (autoload 'ediff-merge-directories - "ediff" "Merge files in two directories" t) + "ediff" "Merge files in two directories." t) (autoload 'edirs-merge-with-ancestor "ediff" - "Merge files in two directories using files in a third dir as ancestors" t) + "Merge files in two directories using files in a third dir as ancestors." + t) (autoload 'ediff-merge-directories-with-ancestor "ediff" - "Merge files in two directories using files in a third dir as ancestors" t) + "Merge files in two directories using files in a third dir as ancestors." + t) (autoload 'edir-merge-revisions - "ediff" "Merge versions of files in a directory" t) + "ediff" "Merge versions of files in a directory." t) (autoload 'ediff-merge-directory-revisions - "ediff" "Merge versions of files in a directory" t) + "ediff" "Merge versions of files in a directory." t) (autoload 'ediff-merge-directory-revisions-with-ancestor "ediff" - "Merge versions of files in a directory using other versions as ancestors" + "Merge versions of files in a directory using other versions as ancestors." t) (autoload 'edir-merge-revisions-with-ancestor "ediff" - "Merge versions of files in a directory using other versions as ancestors" + "Merge versions of files in a directory using other versions as ancestors." t) ;; misc (autoload 'ediff-show-registry "ediff-mult" - "Display the registry of active Ediff sessions" + "Display the registry of active Ediff sessions." + t) + (autoload 'eregistry + "ediff-mult" + "Display the registry of active Ediff sessions." + t) + (autoload 'ediff-documentation + "ediff" + "Display Ediff's manual." t) (autoload 'ediff-version "ediff" - "Show Ediff's version and last modification date" + "Show Ediff's version and last modification date." + t) + (autoload 'ediff-toggle-multiframe + "ediff-util" + "Toggle the use of separate frame for Ediff control buffer." + t) + (autoload 'ediff-toggle-use-toolbar + "ediff-util" + "Toggle the use of Ediff toolbar." t) + ) ; if purify-flag