[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r115886: Fix defun navigation in vc log view.
From: |
Daniel Colascione |
Subject: |
[Emacs-diffs] trunk r115886: Fix defun navigation in vc log view. |
Date: |
Mon, 06 Jan 2014 07:34:07 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 115886
revision-id: address@hidden
parent: address@hidden
committer: Daniel Colascione <address@hidden>
branch nick: trunk
timestamp: Sun 2014-01-05 23:33:06 -0800
message:
Fix defun navigation in vc log view.
modified:
lisp/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1432
lisp/vc/log-view.el logview.el-20091113204419-o5vbwnq5f7feedwu-1777
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2014-01-06 06:25:30 +0000
+++ b/lisp/ChangeLog 2014-01-06 07:33:06 +0000
@@ -1,3 +1,17 @@
+2014-01-06 Daniel Colascione <address@hidden>
+
+ Fix defun navigation in vc log view.
+
+ * vc/log-view.el (log-view-beginning-of-defun): Rewrite to behave
+ like `beginning-of-defun'.
+ (log-view-end-of-defun,log-view-end-of-defun-1): Rename old
+ log-view-end-of-defun to log-view-end-of-defun-1. Replace
+ log-view-end-of-defun with wrapper that behaves like
+ `end-of-defun'.
+ (log-view-extract-comment): Call `log-view-current-entry' directly
+ instead of relying on broken `log-view-beginning-of-defun'
+ behavior.
+
2014-01-06 Paul Eggert <address@hidden>
Spelling fixes.
=== modified file 'lisp/vc/log-view.el'
--- a/lisp/vc/log-view.el 2014-01-01 07:43:34 +0000
+++ b/lisp/vc/log-view.el 2014-01-06 07:33:06 +0000
@@ -429,18 +429,28 @@
This is Log View mode's default `beginning-of-defun-function'.
It assumes that a log entry starts with a line matching
`log-view-message-re'."
- (if (or (null arg) (zerop arg))
- (setq arg 1))
+ (when (null arg) (setf arg 1))
(if (< arg 0)
- (dotimes (_n (- arg))
- (log-view-end-of-defun))
- (catch 'beginning-of-buffer
- (dotimes (_n arg)
- (or (log-view-current-entry nil t)
- (throw 'beginning-of-buffer nil)))
- (point))))
+ (log-view-end-of-defun (- arg))
+ (let ((found t))
+ (while (> arg 0)
+ (setf arg (1- arg))
+ (let ((cur-start (log-view-current-entry)))
+ (setf found
+ (cond ((null cur-start)
+ (goto-char (point-min))
+ nil)
+ ((>= (car cur-start) (point))
+ (unless (bobp)
+ (forward-line -1)
+ (setf arg (1+ arg)))
+ nil)
+ (t
+ (goto-char (car cur-start))
+ t)))))
+ found)))
-(defun log-view-end-of-defun ()
+(defun log-view-end-of-defun-1 ()
"Move forward to the next Log View entry."
(let ((looping t))
(if (looking-at log-view-message-re)
@@ -457,6 +467,16 @@
(setq looping nil)
(forward-line -1))))))
+(defun log-view-end-of-defun (&optional arg)
+ "Move forward to the next Log View entry.
+Works like `end-of-defun'."
+ (when (null arg) (setf arg 1))
+ (if (< arg 0)
+ (log-view-beginning-of-defun (- arg))
+ (dotimes (_n arg)
+ (log-view-end-of-defun-1)
+ t)))
+
(defvar cvs-minor-current-files)
(defvar cvs-branch-prefix)
(defvar cvs-secondary-branch-prefix)
@@ -511,7 +531,8 @@
(cond ((eq backend 'SVN)
(forward-line -1)))
(setq en (point))
- (log-view-beginning-of-defun)
+ (or (log-view-current-entry nil t)
+ (throw 'beginning-of-buffer nil))
(cond ((memq backend '(SCCS RCS CVS MCVS SVN))
(forward-line 2))
((eq backend 'Hg)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r115886: Fix defun navigation in vc log view.,
Daniel Colascione <=