branch: elpa/goto-chg commit 2af612153bc9f5bed135d25abe62f46ddaa9027f Merge: 5c057c8 9c16962 Author: Vasilij Schneidermann <m...@vasilij.de> Commit: GitHub <nore...@github.com>
Merge pull request #10 from leungbk/boundp-buffer-undo-tree goto-last-change: don't check buffer-undo-tree when not using undo-tree --- goto-chg.el | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/goto-chg.el b/goto-chg.el index 31cf016..ad35962 100644 --- a/goto-chg.el +++ b/goto-chg.el @@ -97,6 +97,8 @@ ;;; Code: +(require 'undo-tree nil t) + (defvar glc-default-span 8 "*goto-last-change don't visit the same point twice. glc-default-span tells how far around a visited point not to visit again.") (defvar glc-current-span 8 "Internal for goto-last-change.\nA copy of glc-default-span or the ARG passed to goto-last-change.") (defvar glc-probe-depth 0 "Internal for goto-last-change.\nIt is non-zero between successive goto-last-change.") @@ -229,11 +231,10 @@ Return nil if E represents no real change. that is, it was previously saved or unchanged. Nil otherwise." (and (listp e) (eq (car e) t))) -(declare-function undo-tree-current "undo-tree") -(declare-function undo-tree-node-p "undo-tree") -(declare-function undo-tree-node-previous "undo-tree") -(declare-function undo-tree-node-undo "undo-tree") -(declare-function undo-list-transfer-to-tree "undo-tree") +(declare-function undo-tree-current "ext:undo-tree") +(declare-function undo-tree-node-previous "ext:undo-tree") +(declare-function undo-tree-node-undo "ext:undo-tree") +(declare-function undo-list-transfer-to-tree "ext:undo-tree") (defvar buffer-undo-tree) ;;;###autoload @@ -268,7 +269,9 @@ discarded. See variable `undo-limit'." glc-current-span glc-default-span) (if (< (prefix-numeric-value arg) 0) (error "Negative arg: Cannot reverse as the first operation")))) - (cond ((and (null buffer-undo-list) (null buffer-undo-tree)) + (cond ((and (null buffer-undo-list) + (or (not (boundp 'buffer-undo-tree)) + (null buffer-undo-tree))) (error "Buffer has not been changed")) ((eq buffer-undo-list t) (error "No change info (undo is disabled)"))) @@ -331,7 +334,7 @@ discarded. See variable `undo-limit'." (when (not glc-seen-canary) (setq l (cdr l))))) (when glc-seen-canary - (while (and (< n new-probe-depth) (undo-tree-node-p l)) + (while (and (< n new-probe-depth) (eval '(undo-tree-node-p l))) (cond ((null l) ;(setq this-command t) ; Disrupt repeat sequence (error "No further change info"))