/[emacs]/emacs/lisp/log-view.el
ViewVC logotype

Diff of /emacs/lisp/log-view.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by sds, Mon Nov 12 20:34:45 2001 UTC revision 1.9 by sds, Mon Nov 12 23:01:17 2001 UTC
# Line 35  Line 35 
35    
36  (eval-when-compile (require 'cl))  (eval-when-compile (require 'cl))
37  (require 'pcvs-util)  (require 'pcvs-util)
38    (autoload 'vc-version-diff "vc")
39    
40  (defgroup log-view nil  (defgroup log-view nil
41    "Major mode for browsing log output of RCS/CVS/SCCS."    "Major mode for browsing log output of RCS/CVS/SCCS."
# Line 43  Line 43 
43    :prefix "log-view-")    :prefix "log-view-")
44    
45  (easy-mmode-defmap log-view-mode-map  (easy-mmode-defmap log-view-mode-map
46    '(("n" . log-view-msg-next)    '(("q" . quit-window)
47        ("z" . kill-this-buffer)
48        ("m" . set-mark-command)
49        ("d" . log-view-diff)
50        ("n" . log-view-msg-next)
51      ("p" . log-view-msg-prev)      ("p" . log-view-msg-prev)
52      ("N" . log-view-file-next)      ("N" . log-view-file-next)
53      ("P" . log-view-file-prev)      ("P" . log-view-file-prev)
# Line 97  Line 101 
101  ;;;###autoload  ;;;###autoload
102  (define-derived-mode log-view-mode fundamental-mode "Log-View"  (define-derived-mode log-view-mode fundamental-mode "Log-View"
103    "Major mode for browsing CVS log output."    "Major mode for browsing CVS log output."
104      (set-buffer-modified-p nil)
105      (setq buffer-read-only t)
106    (set (make-local-variable 'font-lock-defaults) log-view-font-lock-defaults)    (set (make-local-variable 'font-lock-defaults) log-view-font-lock-defaults)
107    (set (make-local-variable 'cvs-minor-wrap-function) 'log-view-minor-wrap))    (set (make-local-variable 'cvs-minor-wrap-function) 'log-view-minor-wrap))
108    
# Line 135  Line 141 
141             (dir ""))             (dir ""))
142        (let ((default-directory ""))        (let ((default-directory ""))
143          (when pcldir (setq dir (expand-file-name pcldir dir)))          (when pcldir (setq dir (expand-file-name pcldir dir)))
144          (when cvsdir (setq dir (expand-file-name cvsdir dir)))          (when cvsdir (setq dir (expand-file-name cvsdir dir))))
145          (expand-file-name file dir)))))        (expand-file-name file dir))))
146    
147  (defun log-view-current-tag ()  (defun log-view-current-tag (&optional where)
148    (save-excursion    (save-excursion
149        (when where (goto-char where))
150      (forward-line 1)      (forward-line 1)
151      (let ((pt (point)))      (let ((pt (point)))
152        (when (re-search-backward log-view-message-re nil t)        (when (re-search-backward log-view-message-re nil t)
# Line 167  Line 174 
174            (cvs-force-command "/F"))            (cvs-force-command "/F"))
175        (funcall f))))        (funcall f))))
176    
177    ;;;
178    ;;; diff
179    ;;;
180    
181    (defun log-view-diff (beg end)
182      "Get the diff for several revisions.
183    If the point is the same as the mark, get the diff for this revision.
184    Otherwise, get the diff between the revisions
185     were the region starts and ends."
186      (interactive "r")
187      (let ((fr (log-view-current-tag beg))
188            (to (log-view-current-tag end)))
189        (when (string-equal fr to)
190          (save-excursion
191            (goto-char end)
192            (log-view-msg-next)
193            (setq to (log-view-current-tag))))
194        (vc-version-diff (log-view-current-file) to fr)))
195    
196  (provide 'log-view)  (provide 'log-view)
197    
198  ;;; Change Log:  ;;; Change Log:
199  ;; $Log$  ;; $Log$
200    ;; Revision 1.9  2001/11/12 23:01:17  sds
201    ;; * vc.el (vc-print-log): Bind `inhibit-read-only' to t before and
202    ;; set-buffer-modified-p to nil after `vc-exec-after'.
203    ;; * log-view.el (log-view-mode-map): Bind "q", "z", "m" and "d".
204    ;; (log-view-mode): Make read-only.
205    ;; (log-view-current-file): Do final `expand-file-name' in the
206    ;; current `default-directory'.
207    ;; (log-view-current-tag): Take an optional `where' arg.
208    ;; (log-view-diff): New user command.
209    ;;
210  ;; Revision 1.8  2001/11/12 20:34:45  sds  ;; Revision 1.8  2001/11/12 20:34:45  sds
211  ;; updated (C)  ;; updated (C)
212  ;;  ;;

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26