emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/lisp ChangeLog ediff-init.el ediff-mult.e...


From: Michael Kifer
Subject: [Emacs-diffs] emacs/lisp ChangeLog ediff-init.el ediff-mult.e...
Date: Mon, 07 Dec 2009 06:56:44 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Michael Kifer <kifer>   09/12/07 06:56:43

Modified files:
        lisp           : ChangeLog ediff-init.el ediff-mult.el ediff.el 

Log message:
        2009-12-07  Michael Kifer <address@hidden>
                
                * ediff-init.el (ediff-event-key): use event-to-character 
instead of
                event-key.
                
                * ediff-mult.el (ediff-setup-meta-map, 
ediff-prepare-meta-buffer): add
                menus to the meta mode. (Dan Nicolaescu's <address@hidden> 
patch.)
                
                * ediff.el (ediff-buffers-internal): add unwind-protect.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.16853&r2=1.16854
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ediff-init.el?cvsroot=emacs&r1=1.98&r2=1.99
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ediff-mult.el?cvsroot=emacs&r1=1.68&r2=1.69
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ediff.el?cvsroot=emacs&r1=1.111&r2=1.112

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.16853
retrieving revision 1.16854
diff -u -b -r1.16853 -r1.16854
--- ChangeLog   7 Dec 2009 06:38:06 -0000       1.16853
+++ ChangeLog   7 Dec 2009 06:56:40 -0000       1.16854
@@ -1,3 +1,13 @@
+2009-12-07  Michael Kifer <address@hidden>
+       
+       * ediff-init.el (ediff-event-key): use event-to-character instead of
+       event-key.
+       
+       * ediff-mult.el (ediff-setup-meta-map, ediff-prepare-meta-buffer): add
+       menus to the meta mode. (Dan Nicolaescu's <address@hidden> patch.)
+       
+       * ediff.el (ediff-buffers-internal): add unwind-protect.
+       
 2009-12-07  Michael Albinus  <address@hidden>
 
        Handle prompt rules of ksh in OpenBSD 4.5.  Reported by Raphaël

Index: ediff-init.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ediff-init.el,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -b -r1.98 -r1.99
--- ediff-init.el       22 Nov 2009 03:14:14 -0000      1.98
+++ ediff-init.el       7 Dec 2009 06:56:43 -0000       1.99
@@ -1548,7 +1548,8 @@
 
 (defun ediff-event-key (event-or-key)
   (if (featurep 'xemacs)
-      (if (eventp event-or-key) (event-key event-or-key) event-or-key)
+      ;;(if (eventp event-or-key) (event-key event-or-key) event-or-key)
+      (if (eventp event-or-key) (event-to-character event-or-key t t) 
event-or-key)
     event-or-key))
 
 (defun ediff-last-command-char ()

Index: ediff-mult.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ediff-mult.el,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -b -r1.68 -r1.69
--- ediff-mult.el       22 Nov 2009 03:14:15 -0000      1.68
+++ ediff-mult.el       7 Dec 2009 06:56:43 -0000       1.69
@@ -392,12 +392,40 @@
   (define-key ediff-meta-buffer-map  "p"  'ediff-previous-meta-item)
   (define-key ediff-meta-buffer-map  [delete]  'ediff-previous-meta-item)
   (define-key ediff-meta-buffer-map  [backspace]  'ediff-previous-meta-item)
+
+  (let ((menu-map (make-sparse-keymap "Ediff-Meta")))
+    (define-key ediff-meta-buffer-map [menu-bar ediff-meta-mode]
+      (cons "Ediff-Meta" menu-map))
+    (define-key menu-map [ediff-quit-meta-buffer]
+      '(menu-item "Quit" ediff-quit-meta-buffer
+                 :help "Quit the meta buffer"))
+    (define-key menu-map [ediff-toggle-filename-truncation]
+      '(menu-item "Truncate filenames" ediff-toggle-filename-truncation
+             :help "Toggle truncation of long file names in session group 
buffers"
+             :button (:toggle . ediff-meta-truncate-filenames)))
+    (define-key menu-map [ediff-show-registry]
+      '(menu-item "Display Ediff Registry" ediff-show-registry
+                 :help "Display Ediff's registry"))
+    (define-key menu-map [ediff-documentation]
+      '(menu-item "Show Manual" ediff-documentation
+                 :help "Display Ediff's manual"))
+
   (or (ediff-one-filegroup-metajob)
       (progn
        (define-key ediff-meta-buffer-map "=" nil)
        (define-key ediff-meta-buffer-map "==" 'ediff-meta-mark-equal-files)
        (define-key ediff-meta-buffer-map "=m" 'ediff-meta-mark-equal-files)
        (define-key ediff-meta-buffer-map "=h" 'ediff-meta-mark-equal-files)))
+
+
+    (define-key menu-map [ediff-next-meta-item]
+      '(menu-item "Next" ediff-next-meta-item
+                 :help "Move to the next item in Ediff registry or session 
group buffer"))
+    (define-key menu-map [ediff-previous-meta-item]
+      '(menu-item "Previous" ediff-previous-meta-item
+                 :help "Move to the previous item in Ediff registry or session 
group buffer")))
+
+
   (if ediff-no-emacs-help-in-control-buffer
       (define-key ediff-meta-buffer-map  "\C-h"  'ediff-previous-meta-item))
   (if (featurep 'emacs)
@@ -837,14 +865,58 @@
              ediff-meta-buffer-map "um" 'ediff-unmark-all-for-operation)
            (define-key
              ediff-meta-buffer-map "uh" 'ediff-unmark-all-for-hiding)
+
+           (define-key ediff-meta-buffer-map
+             [menu-bar ediff-meta-mode ediff-hide-marked-sessions]
+             '(menu-item "Hide marked" ediff-hide-marked-sessions
+                 :help "Hide marked sessions.  With prefix arg, unhide"))
+
+           (define-key ediff-meta-buffer-map
+             [menu-bar ediff-meta-mode ediff-mark-for-hiding-at-pos]
+             '(menu-item "Mark for hiding" ediff-mark-for-hiding-at-pos
+                 :help "Mark session for hiding.  With prefix arg, unmark"))
+
+           (define-key ediff-meta-buffer-map
+             [menu-bar ediff-meta-mode ediff-mark-for-operation-at-pos]
+             '(menu-item "Mark for group operation" 
ediff-mark-for-operation-at-pos
+                 :help "Mark session for a group operation.  With prefix arg, 
unmark."))
+
+           (define-key ediff-meta-buffer-map
+             [menu-bar ediff-meta-mode ediff-unmark-all-for-hiding]
+             '(menu-item "Unmark all for hiding" ediff-unmark-all-for-hiding
+                 :help "Unmark all sessions marked for hiding"))
+
+           (define-key ediff-meta-buffer-map
+             [menu-bar ediff-meta-mode ediff-unmark-all-for-operation]
+             '(menu-item "Unmark all for group operation" 
ediff-unmark-all-for-operation
+                 :help "Unmark all sessions marked for operation"))
+
            (cond ((ediff-collect-diffs-metajob jobname)
+                  (define-key ediff-meta-buffer-map
+                    [menu-bar ediff-meta-mode ediff-collect-custom-diffs]
+                    '(menu-item "Collect diffs" ediff-collect-custom-diffs
+                                :help "Collect custom diffs of marked sessions 
in buffer `*Ediff Multifile Diffs*'"))
                   (define-key
                     ediff-meta-buffer-map "P" 'ediff-collect-custom-diffs))
                  ((ediff-patch-metajob jobname)
+                  (define-key ediff-meta-buffer-map
+                    [menu-bar ediff-meta-mode ediff-meta-show-patch]
+                    '(menu-item "Show multi-file patch" ediff-meta-show-patch
+                                :help "Show the multi-file patch associated 
with this group session"))
                   (define-key
                     ediff-meta-buffer-map "P" 'ediff-meta-show-patch)))
            (define-key ediff-meta-buffer-map "^" 'ediff-up-meta-hierarchy)
-           (define-key ediff-meta-buffer-map "D" 'ediff-show-dir-diffs)))
+           (define-key ediff-meta-buffer-map "D" 'ediff-show-dir-diffs)
+
+           (define-key ediff-meta-buffer-map
+             [menu-bar ediff-meta-mode ediff-up-meta-hierarchy]
+             '(menu-item "Go to parent session" ediff-up-meta-hierarchy
+                         :help "Go to the parent session group buffer"))
+
+           (define-key ediff-meta-buffer-map
+             [menu-bar ediff-meta-mode ediff-show-dir-diffs]
+             '(menu-item "Diff directories" ediff-show-dir-diffs
+                         :help "Display differences among the directories 
involved in session group"))))
 
       (if (eq ediff-metajob-name 'ediff-registry)
          (run-hooks 'ediff-registry-setup-hook)

Index: ediff.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ediff.el,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -b -r1.111 -r1.112
--- ediff.el    22 Nov 2009 03:14:15 -0000      1.111
+++ ediff.el    7 Dec 2009 06:56:43 -0000       1.112
@@ -12,8 +12,8 @@
 ;; filed in the Emacs bug reporting system against this file, a copy
 ;; of the bug report be sent to the maintainer's email address.
 
-(defconst ediff-version "2.81.3" "The current version of Ediff")
-(defconst ediff-date "August 15, 2009" "Date of last update")
+(defconst ediff-version "2.81.4" "The current version of Ediff")
+(defconst ediff-date "December 7, 2009" "Date of last update")
 
 
 ;; This file is part of GNU Emacs.
@@ -475,6 +475,8 @@
         (buf-C-file-name (if buf-C-is-alive
                              (buffer-file-name (get-buffer buf-B))))
         file-A file-B file-C)
+    (unwind-protect
+       (progn
     (if (not (ediff-buffer-live-p buf-A))
        (error "Buffer %S doesn't exist" buf-A))
     (if (not (ediff-buffer-live-p buf-B))
@@ -505,7 +507,13 @@
                          (if (stringp ,file-C) (delete-file ,file-C)))
                       startup-hooks)
                 (list (cons 'ediff-job-name job-name))
-                merge-buffer-file)))
+                      merge-buffer-file))
+      (if (and (stringp file-A) (file-exists-p file-A))
+         (delete-file file-A))
+      (if (and (stringp file-B) (file-exists-p file-B))
+         (delete-file file-B))
+      (if (and (stringp file-C) (file-exists-p file-C))
+         (delete-file file-C)))))
 
 
 ;;; Directory and file group operations
@@ -1055,7 +1063,8 @@
   (let ((tmp-buffer (get-buffer-create ediff-tmp-buffer))
        overl-A overl-B
        file-A file-B)
-
+    (unwind-protect
+       (progn
     ;; in case beg/end-A/B aren't markers--make them into markers
     (ediff-with-current-buffer buffer-A
       (setq beg-A (move-marker (make-marker) beg-A)
@@ -1089,7 +1098,11 @@
                  (list (cons 'ediff-word-mode  word-mode)
                        (cons 'ediff-narrow-bounds (list overl-A overl-B))
                        (cons 'ediff-job-name job-name))
-                 setup-parameters))
+                       setup-parameters)))
+      (if (and (stringp file-A) (file-exists-p file-A))
+         (delete-file file-A))
+      (if (and (stringp file-B) (file-exists-p file-B))
+         (delete-file file-B)))
     ))
 
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]