;;; log-view.el --- Major mode for browsing revision log histories -*- lexical-binding: t -*-
-;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2016 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: tools, vc
(unless (and pos (log-view-inside-comment-p pos))
(error "Broken markup in `log-view-toggle-entry-display'"))
(delete-region pos
- (next-single-property-change pos 'log-view-comment))
+ (or
+ (next-single-property-change pos 'log-view-comment)
+ (point-max)))
(put-text-property beg (1+ beg) 'log-view-entry-expanded nil)
(if (< opoint pos)
(goto-char opoint)))
((looking-back "Show 2X entries Show unlimited entries"
(line-beginning-position))
(setq looping nil)
- (forward-line -1))))))
+ (forward-line -1))
+ ;; There are no buttons if we've turned on unlimited entries.
+ ((eobp)
+ (setq looping nil))))))
(defun log-view-end-of-defun (&optional arg)
"Move forward to the next Log View entry.
(setq en (point))
(or (log-view-current-entry nil t)
(throw 'beginning-of-buffer nil))
- (cond ((memq backend '(SCCS RCS CVS MCVS SVN))
+ (cond ((memq backend '(SCCS RCS CVS SVN))
(forward-line 2))
((eq backend 'Hg)
(forward-line 4)
(interactive
(list (if (use-region-p) (region-beginning) (point))
(if (use-region-p) (region-end) (point))))
- (log-view-diff-common beg end t))
+ (when (eq (vc-call-backend log-view-vc-backend 'revision-granularity) 'file)
+ (error "The %s backend does not support changeset diffs" log-view-vc-backend))
+ (let ((default-directory (vc-root-dir)))
+ (log-view-diff-common beg end t)))
(defun log-view-diff-common (beg end &optional whole-changeset)
- (when (and whole-changeset
- (eq (vc-call-backend log-view-vc-backend 'revision-granularity)
- 'file))
- (error "The %s backend does not support changeset diffs" log-view-vc-backend))
(let ((to (log-view-current-tag beg))
(fr (log-view-current-tag end)))
(when (string-equal fr to)