X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/92c51e075e8bc9c2ace8487bfc42f23389d09b73..0471bec29964ba9a7cba3a7bd5766056aa66f395:/lisp/ediff-hook.el diff --git a/lisp/ediff-hook.el b/lisp/ediff-hook.el index 0b9dc1fb61..0d412d4d40 100644 --- a/lisp/ediff-hook.el +++ b/lisp/ediff-hook.el @@ -1,6 +1,6 @@ ;;; ediff-hook.el --- setup for Ediff's menus and autoloads -;; Copyright (C) 1995, 1996 Free Software Foundation, Inc. +;; Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -25,6 +25,8 @@ ;;; These must be placed in menu-bar.el in Emacs ;; +;; (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] @@ -36,8 +38,13 @@ (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) (progn @@ -47,6 +54,8 @@ '("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") ["-------" nil nil] "OO-Browser...") @@ -73,9 +82,6 @@ "---" ["Regions Word-by-word..." ediff-regions-wordwise t] ["Regions Line-by-line..." ediff-regions-linewise t] - "---" - ["List Ediff Sessions..." ediff-show-registry t] - ["Ediff Manual..." ediff-documentation t] )) (defvar ediff-merge-menu '("Merge" @@ -95,28 +101,44 @@ ["Directory Revisions..." ediff-merge-directory-revisions t] ["Directory Revisions with Ancestor..." ediff-merge-directory-revisions-with-ancestor t] - "---" - ["List Ediff Sessions..." ediff-show-registry t] - ["Ediff Manual..." ediff-documentation t] )) (defvar epatch-menu '("Apply Patch" ["To a file..." ediff-patch-file t] ["To a buffer..." ediff-patch-buffer t] - "---" - ["List Ediff Sessions..." ediff-show-registry 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) - (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")) @@ -126,11 +148,6 @@ (fset 'menu-bar-ediff-menu (symbol-value 'menu-bar-ediff-menu)) ;; define ediff-menu - (define-key menu-bar-ediff-menu [ediff-doc] - '("Ediff Manual..." . ediff-documentation)) - (define-key menu-bar-ediff-menu [eregistry] - '("List Ediff Sessions..." . ediff-show-registry)) - (define-key menu-bar-ediff-menu [separator-ediff-manual] '("--")) (define-key menu-bar-ediff-menu [window] '("This Window and Next Window" . compare-windows)) (define-key menu-bar-ediff-menu [ediff-windows-linewise] @@ -163,12 +180,6 @@ '("Two Files..." . ediff-files)) ;; define merge menu - (define-key menu-bar-ediff-merge-menu [ediff-doc2] - '("Ediff Manual..." . ediff-documentation)) - (define-key menu-bar-ediff-merge-menu [eregistry2] - '("List Ediff Sessions..." . ediff-show-registry)) - (define-key - menu-bar-ediff-merge-menu [separator-ediff-merge-manual] '("--")) (define-key menu-bar-ediff-merge-menu [ediff-merge-dir-revisions-with-ancestor] '("Directory Revisions with Ancestor..." @@ -202,15 +213,20 @@ '("Files..." . ediff-merge-files)) ;; define epatch menu - (define-key menu-bar-epatch-menu [ediff-doc3] - '("Ediff Manual..." . ediff-documentation)) - (define-key menu-bar-epatch-menu [eregistry3] - '("List Ediff Sessions..." . ediff-show-registry)) - (define-key menu-bar-epatch-menu [separator-epatch] '("--")) (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 @@ -228,6 +244,7 @@ (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 @@ -302,6 +319,10 @@ "ediff-mult" "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." @@ -310,6 +331,15 @@ "ediff" "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