[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/undo-tree d79fab9 193/195: Switch from cl to cl-lib.
From: |
Stefan Monnier |
Subject: |
[elpa] externals/undo-tree d79fab9 193/195: Switch from cl to cl-lib. |
Date: |
Sat, 28 Nov 2020 13:41:51 -0500 (EST) |
branch: externals/undo-tree
commit d79fab9bfc06ef23a12d2357d7d5df083ab45078
Author: Toby S. Cubitt <toby-undo-tree@dr-qubit.org>
Commit: Toby S. Cubitt <toby-undo-tree@dr-qubit.org>
Switch from cl to cl-lib.
---
undo-tree.el | 149 ++++++++++++++++++++++++++++++-----------------------------
1 file changed, 75 insertions(+), 74 deletions(-)
diff --git a/undo-tree.el b/undo-tree.el
index 8f3b703..9e51b03 100644
--- a/undo-tree.el
+++ b/undo-tree.el
@@ -754,7 +754,7 @@
;;; Code:
-(eval-when-compile (require 'cl))
+(require 'cl-lib)
(require 'diff)
(require 'gv)
@@ -1287,7 +1287,7 @@ in visualizer."
;;; =====================================================================
;;; Undo-tree data structure
-(defstruct
+(cl-defstruct
(undo-tree
:named
(:constructor nil)
@@ -1322,7 +1322,7 @@ in visualizer."
(undo-tree-recircle tree)))
-(defstruct
+(cl-defstruct
(undo-tree-node
(:type vector) ; create unnamed struct
(:constructor nil)
@@ -1378,7 +1378,7 @@ in visualizer."
new))
-(defstruct
+(cl-defstruct
(undo-tree-region-data
(:type vector) ; create unnamed struct
(:constructor nil)
@@ -1426,7 +1426,7 @@ in visualizer."
(undo-tree-region-data-redo-end r))))
-(defsetf undo-tree-node-undo-beginning (node) (val)
+(gv-define-setter undo-tree-node-undo-beginning (node val)
`(let ((r (plist-get (undo-tree-node-meta-data ,node) :region)))
(unless (undo-tree-region-data-p r)
(setf (undo-tree-node-meta-data ,node)
@@ -1434,7 +1434,7 @@ in visualizer."
(setq r (undo-tree-make-region-data)))))
(setf (undo-tree-region-data-undo-beginning r) ,val)))
-(defsetf undo-tree-node-undo-end (node) (val)
+(gv-define-setter undo-tree-node-undo-end (node val)
`(let ((r (plist-get (undo-tree-node-meta-data ,node) :region)))
(unless (undo-tree-region-data-p r)
(setf (undo-tree-node-meta-data ,node)
@@ -1442,7 +1442,7 @@ in visualizer."
(setq r (undo-tree-make-region-data)))))
(setf (undo-tree-region-data-undo-end r) ,val)))
-(defsetf undo-tree-node-redo-beginning (node) (val)
+(gv-define-setter undo-tree-node-redo-beginning (node val)
`(let ((r (plist-get (undo-tree-node-meta-data ,node) :region)))
(unless (undo-tree-region-data-p r)
(setf (undo-tree-node-meta-data ,node)
@@ -1450,7 +1450,7 @@ in visualizer."
(setq r (undo-tree-make-region-data)))))
(setf (undo-tree-region-data-redo-beginning r) ,val)))
-(defsetf undo-tree-node-redo-end (node) (val)
+(gv-define-setter undo-tree-node-redo-end (node val)
`(let ((r (plist-get (undo-tree-node-meta-data ,node) :region)))
(unless (undo-tree-region-data-p r)
(setf (undo-tree-node-meta-data ,node)
@@ -1460,7 +1460,7 @@ in visualizer."
-(defstruct
+(cl-defstruct
(undo-tree-visualizer-data
(:type vector) ; create unnamed struct
(:constructor nil)
@@ -1503,7 +1503,7 @@ in visualizer."
(undo-tree-visualizer-data-marker v))))
-(defsetf undo-tree-node-lwidth (node) (val)
+(gv-define-setter undo-tree-node-lwidth (node val)
`(let ((v (plist-get (undo-tree-node-meta-data ,node) :visualizer)))
(unless (undo-tree-visualizer-data-p v)
(setf (undo-tree-node-meta-data ,node)
@@ -1511,7 +1511,7 @@ in visualizer."
(setq v (undo-tree-make-visualizer-data)))))
(setf (undo-tree-visualizer-data-lwidth v) ,val)))
-(defsetf undo-tree-node-cwidth (node) (val)
+(gv-define-setter undo-tree-node-cwidth (node val)
`(let ((v (plist-get (undo-tree-node-meta-data ,node) :visualizer)))
(unless (undo-tree-visualizer-data-p v)
(setf (undo-tree-node-meta-data ,node)
@@ -1519,7 +1519,7 @@ in visualizer."
(setq v (undo-tree-make-visualizer-data)))))
(setf (undo-tree-visualizer-data-cwidth v) ,val)))
-(defsetf undo-tree-node-rwidth (node) (val)
+(gv-define-setter undo-tree-node-rwidth (node val)
`(let ((v (plist-get (undo-tree-node-meta-data ,node) :visualizer)))
(unless (undo-tree-visualizer-data-p v)
(setf (undo-tree-node-meta-data ,node)
@@ -1527,7 +1527,7 @@ in visualizer."
(setq v (undo-tree-make-visualizer-data)))))
(setf (undo-tree-visualizer-data-rwidth v) ,val)))
-(defsetf undo-tree-node-marker (node) (val)
+(gv-define-setter undo-tree-node-marker (node val)
`(let ((v (plist-get (undo-tree-node-meta-data ,node) :visualizer)))
(unless (undo-tree-visualizer-data-p v)
(setf (undo-tree-node-meta-data ,node)
@@ -1537,7 +1537,7 @@ in visualizer."
-(defstruct
+(cl-defstruct
(undo-tree-register-data
(:type vector)
(:constructor nil)
@@ -1556,7 +1556,7 @@ in visualizer."
(defmacro undo-tree-node-register (node)
`(plist-get (undo-tree-node-meta-data ,node) :register))
-(defsetf undo-tree-node-register (node) (val)
+(gv-define-setter undo-tree-node-register (node val)
`(setf (undo-tree-node-meta-data ,node)
(plist-put (undo-tree-node-meta-data ,node) :register ,val)))
@@ -1617,8 +1617,8 @@ that are already part of `buffer-undo-tree'."
;; if active branch didn't go via NODE, update parent's branch to point
;; to same node as before
((> (undo-tree-node-branch parent) position)
- (incf (undo-tree-node-branch parent)
- (1- (length (undo-tree-node-next node))))))
+ (cl-incf (undo-tree-node-branch parent)
+ (1- (length (undo-tree-node-next node))))))
;; replace NODE in parent's next list with NODE's entire next list
(if (= position 0)
(setf (undo-tree-node-next parent)
@@ -1653,7 +1653,7 @@ Comparison is done with `eq'."
(catch 'found
(while (progn
(when (eq node (car list)) (throw 'found i))
- (incf i)
+ (cl-incf i)
(setq list (cdr list))))
nil)))
@@ -1665,7 +1665,8 @@ Comparison is done with `eq'."
;; Generate a new, unique id (uninterned symbol).
;; The name is made by appending a number to "undo-tree-id".
;; (Copied from CL package `gensym'.)
- `(let ((num (prog1 *undo-tree-id-counter* (incf *undo-tree-id-counter*))))
+ `(let ((num (prog1 *undo-tree-id-counter*
+ (cl-incf *undo-tree-id-counter*))))
(make-symbol (format "undo-tree-id%d" num))))
@@ -1808,7 +1809,7 @@ Comparison is done with `eq'."
;; `undo-list-transfer-to-tree' should never be called when undo is disabled
;; (i.e. `buffer-undo-tree' is t)
- (assert (not (eq buffer-undo-tree t)))
+ (cl-assert (not (eq buffer-undo-tree t)))
;; if `buffer-undo-tree' is empty, create initial undo-tree
(when (null buffer-undo-tree) (setq buffer-undo-tree (make-undo-tree)))
@@ -1837,8 +1838,8 @@ Comparison is done with `eq'."
;; grow tree fragment backwards using `undo-list' changesets
(while (setq changeset (undo-list-pop-changeset undo-list))
(setq node (undo-tree-grow-backwards node changeset))
- (incf size (undo-list-byte-size (undo-tree-node-undo node)))
- (incf count))
+ (cl-incf size (undo-list-byte-size (undo-tree-node-undo node)))
+ (cl-incf count))
;; if no undo history has been discarded from `undo-list' since last
;; transfer, splice new tree fragment onto end of old
@@ -1848,8 +1849,8 @@ Comparison is done with `eq'."
(setf (undo-tree-node-previous node) splice)
(push node (undo-tree-node-next splice))
(setf (undo-tree-node-branch splice) 0)
- (incf (undo-tree-size buffer-undo-tree) size)
- (incf (undo-tree-count buffer-undo-tree) count))
+ (cl-incf (undo-tree-size buffer-undo-tree) size)
+ (cl-incf (undo-tree-count buffer-undo-tree) count))
;; if undo history has been discarded, replace entire
;; `buffer-undo-tree' with new tree fragment
@@ -1869,9 +1870,9 @@ Comparison is done with `eq'."
;; Return size (in bytes) of UNDO-LIST
(let ((size 0))
(dolist (elt undo-list)
- (incf size 8) ; cons cells use up 8 bytes
+ (cl-incf size 8) ; cons cells use up 8 bytes
(when (stringp (car-safe elt))
- (incf size (string-bytes (car elt)))))
+ (cl-incf size (string-bytes (car elt)))))
size))
@@ -1957,10 +1958,10 @@ Comparison is done with `eq'."
(setq node (setf (undo-tree-root buffer-undo-tree)
(car (undo-tree-node-next node))))
;; update undo-tree size
- (decf (undo-tree-size buffer-undo-tree)
- (+ (undo-list-byte-size (undo-tree-node-undo node))
- (undo-list-byte-size (undo-tree-node-redo node))))
- (decf (undo-tree-count buffer-undo-tree))
+ (cl-decf (undo-tree-size buffer-undo-tree)
+ (+ (undo-list-byte-size (undo-tree-node-undo node))
+ (undo-list-byte-size (undo-tree-node-redo node))))
+ (cl-decf (undo-tree-count buffer-undo-tree))
;; discard new root's undo data and PREVIOUS link
(setf (undo-tree-node-undo node) nil
(undo-tree-node-redo node) nil
@@ -1982,10 +1983,10 @@ Comparison is done with `eq'."
(when (and r (eq (get-register r) node))
(set-register r nil)))
;; update undo-tree size
- (decf (undo-tree-size buffer-undo-tree)
- (+ (undo-list-byte-size (undo-tree-node-undo node))
- (undo-list-byte-size (undo-tree-node-redo node))))
- (decf (undo-tree-count buffer-undo-tree))
+ (cl-decf (undo-tree-size buffer-undo-tree)
+ (+ (undo-list-byte-size (undo-tree-node-undo node))
+ (undo-list-byte-size (undo-tree-node-redo node))))
+ (cl-decf (undo-tree-count buffer-undo-tree))
;; discard leaf
(setf (undo-tree-node-next parent)
(delq node (undo-tree-node-next parent))
@@ -2145,23 +2146,23 @@ which is defined in the `warnings' library.\n")
;; compute left-width
(dotimes (_ (/ num-children 2))
(if (undo-tree-node-lwidth (car p))
- (incf lwidth (+ (undo-tree-node-lwidth (car p))
+ (cl-incf lwidth (+ (undo-tree-node-lwidth (car p))
(undo-tree-node-cwidth (car p))
(undo-tree-node-rwidth (car p))))
;; if child's widths haven't been computed, return that child
(throw 'need-widths (car p)))
(setq p (cdr p)))
(if (undo-tree-node-lwidth (car p))
- (incf lwidth (undo-tree-node-lwidth (car p)))
+ (cl-incf lwidth (undo-tree-node-lwidth (car p)))
(throw 'need-widths (car p)))
;; centre-width is inherited from middle child
(setf cwidth (undo-tree-node-cwidth (car p)))
;; compute right-width
- (incf rwidth (undo-tree-node-rwidth (car p)))
+ (cl-incf rwidth (undo-tree-node-rwidth (car p)))
(setq p (cdr p))
(dotimes (_ (/ num-children 2))
(if (undo-tree-node-lwidth (car p))
- (incf rwidth (+ (undo-tree-node-lwidth (car p))
+ (cl-incf rwidth (+ (undo-tree-node-lwidth (car p))
(undo-tree-node-cwidth (car p))
(undo-tree-node-rwidth (car p))))
(throw 'need-widths (car p)))
@@ -2173,7 +2174,7 @@ which is defined in the `warnings' library.\n")
;; compute left-width
(dotimes (_ (/ num-children 2))
(if (undo-tree-node-lwidth (car p))
- (incf lwidth (+ (undo-tree-node-lwidth (car p))
+ (cl-incf lwidth (+ (undo-tree-node-lwidth (car p))
(undo-tree-node-cwidth (car p))
(undo-tree-node-rwidth (car p))))
(throw 'need-widths (car p)))
@@ -2183,7 +2184,7 @@ which is defined in the `warnings' library.\n")
;; compute right-width
(dotimes (_ (/ num-children 2))
(if (undo-tree-node-lwidth (car p))
- (incf rwidth (+ (undo-tree-node-lwidth (car p))
+ (cl-incf rwidth (+ (undo-tree-node-lwidth (car p))
(undo-tree-node-cwidth (car p))
(undo-tree-node-rwidth (car p))))
(throw 'need-widths (car p)))
@@ -2458,10 +2459,10 @@ which is defined in the `warnings' library.\n")
(while (progn
(and (setq node (car (undo-tree-node-next node)))
(not (eq node original-fragment))
- (incf (undo-tree-count buffer-undo-tree))
- (incf (undo-tree-size buffer-undo-tree)
- (+ (undo-list-byte-size (undo-tree-node-undo node))
- (undo-list-byte-size (undo-tree-node-redo
node)))))))
+ (cl-incf (undo-tree-count buffer-undo-tree))
+ (cl-incf (undo-tree-size buffer-undo-tree)
+ (+ (undo-list-byte-size (undo-tree-node-undo
node))
+ (undo-list-byte-size (undo-tree-node-redo
node)))))))
t) ; indicate undo-in-region branch was successfully pulled
)))
@@ -2618,12 +2619,12 @@ which is defined in the `warnings' library.\n")
(unless repeated-redo-in-region
(setq node fragment)
(while (and (setq node (car (undo-tree-node-next node)))
- (incf (undo-tree-count buffer-undo-tree))
- (incf (undo-tree-size buffer-undo-tree)
- (undo-list-byte-size
- (undo-tree-node-redo node))))))
- (incf (undo-tree-size buffer-undo-tree)
- (undo-list-byte-size (undo-tree-node-redo fragment)))
+ (cl-incf (undo-tree-count buffer-undo-tree))
+ (cl-incf (undo-tree-size buffer-undo-tree)
+ (undo-list-byte-size
+ (undo-tree-node-redo node))))))
+ (cl-incf (undo-tree-size buffer-undo-tree)
+ (undo-list-byte-size (undo-tree-node-redo fragment)))
t) ; indicate redo-in-region branch was successfully pulled
)))
@@ -2881,12 +2882,12 @@ changes within the current region."
;; remove any GC'd elements from node's undo list
(setq current (undo-tree-current buffer-undo-tree))
- (decf (undo-tree-size buffer-undo-tree)
- (undo-list-byte-size (undo-tree-node-undo current)))
+ (cl-decf (undo-tree-size buffer-undo-tree)
+ (undo-list-byte-size (undo-tree-node-undo current)))
(setf (undo-tree-node-undo current)
(undo-list-clean-GCd-elts (undo-tree-node-undo current)))
- (incf (undo-tree-size buffer-undo-tree)
- (undo-list-byte-size (undo-tree-node-undo current)))
+ (cl-incf (undo-tree-size buffer-undo-tree)
+ (undo-list-byte-size (undo-tree-node-undo current)))
;; undo one record from undo tree
(when undo-in-region
(setq pos (set-marker (make-marker) (point)))
@@ -2900,21 +2901,21 @@ changes within the current region."
(if preserve-redo
(progn
(undo-list-pop-changeset buffer-undo-list)
- (decf (undo-tree-size buffer-undo-tree)
- (undo-list-byte-size (undo-tree-node-redo current)))
+ (cl-decf (undo-tree-size buffer-undo-tree)
+ (undo-list-byte-size (undo-tree-node-redo current)))
(setf (undo-tree-node-redo current)
(undo-list-clean-GCd-elts (undo-tree-node-redo current)))
- (incf (undo-tree-size buffer-undo-tree)
- (undo-list-byte-size (undo-tree-node-redo current))))
+ (cl-incf (undo-tree-size buffer-undo-tree)
+ (undo-list-byte-size (undo-tree-node-redo current))))
;; otherwise, record redo entries that `primitive-undo' has added to
;; `buffer-undo-list' in current node's redo record, replacing
;; existing entry if one already exists
- (decf (undo-tree-size buffer-undo-tree)
- (undo-list-byte-size (undo-tree-node-redo current)))
+ (cl-decf (undo-tree-size buffer-undo-tree)
+ (undo-list-byte-size (undo-tree-node-redo current)))
(setf (undo-tree-node-redo current)
(undo-list-pop-changeset buffer-undo-list 'discard-pos))
- (incf (undo-tree-size buffer-undo-tree)
- (undo-list-byte-size (undo-tree-node-redo current))))
+ (cl-incf (undo-tree-size buffer-undo-tree)
+ (undo-list-byte-size (undo-tree-node-redo current))))
;; rewind current node and update timestamp
(setf (undo-tree-current buffer-undo-tree)
@@ -2994,12 +2995,12 @@ changes within the current region."
current (nth (undo-tree-node-branch current)
(undo-tree-node-next current)))
;; remove any GC'd elements from node's redo list
- (decf (undo-tree-size buffer-undo-tree)
- (undo-list-byte-size (undo-tree-node-redo current)))
+ (cl-decf (undo-tree-size buffer-undo-tree)
+ (undo-list-byte-size (undo-tree-node-redo current)))
(setf (undo-tree-node-redo current)
(undo-list-clean-GCd-elts (undo-tree-node-redo current)))
- (incf (undo-tree-size buffer-undo-tree)
- (undo-list-byte-size (undo-tree-node-redo current)))
+ (cl-incf (undo-tree-size buffer-undo-tree)
+ (undo-list-byte-size (undo-tree-node-redo current)))
;; redo one record from undo tree
(when redo-in-region
(setq pos (set-marker (make-marker) (point)))
@@ -3015,21 +3016,21 @@ changes within the current region."
(if preserve-undo
(progn
(undo-list-pop-changeset buffer-undo-list)
- (decf (undo-tree-size buffer-undo-tree)
- (undo-list-byte-size (undo-tree-node-undo current)))
+ (cl-decf (undo-tree-size buffer-undo-tree)
+ (undo-list-byte-size (undo-tree-node-undo current)))
(setf (undo-tree-node-undo current)
(undo-list-clean-GCd-elts (undo-tree-node-undo current)))
- (incf (undo-tree-size buffer-undo-tree)
- (undo-list-byte-size (undo-tree-node-undo current))))
+ (cl-incf (undo-tree-size buffer-undo-tree)
+ (undo-list-byte-size (undo-tree-node-undo current))))
;; otherwise, record undo entries that `primitive-undo' has added to
;; `buffer-undo-list' in current node's undo record, replacing
;; existing entry if one already exists
- (decf (undo-tree-size buffer-undo-tree)
- (undo-list-byte-size (undo-tree-node-undo current)))
+ (cl-decf (undo-tree-size buffer-undo-tree)
+ (undo-list-byte-size (undo-tree-node-undo current)))
(setf (undo-tree-node-undo current)
(undo-list-pop-changeset buffer-undo-list 'discard-pos))
- (incf (undo-tree-size buffer-undo-tree)
- (undo-list-byte-size (undo-tree-node-undo current))))
+ (cl-incf (undo-tree-size buffer-undo-tree)
+ (undo-list-byte-size (undo-tree-node-undo current))))
;; update timestamp
(unless preserve-timestamps
- [elpa] externals/undo-tree c3d04ea 165/195: Change obsolete subtract-time -> time-subtract., (continued)
- [elpa] externals/undo-tree c3d04ea 165/195: Change obsolete subtract-time -> time-subtract., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree af99ee3 166/195: Uncoditionally clear visualizer data before writing to file., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree f6471ef 173/195: Simplify undo-list-byte-size., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree ea165ed 174/195: Refactor undo-list-transfer-to-tree to not act directly on buffer-undo-list., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 8842bb5 176/195: More undo-tree GC corruption mitigations., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree f6f557c 178/195: Fix various bugs in undo history loading/saving., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree b8652b4 180/195: Null undo-tree-limit attemps to preserve all undo history., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree f0a6192 184/195: Proper fix to copy-undo-tree by writing bespoke copier., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 3090c4f 185/195: Temporarily increase max-lisp-eval-depth and max-specpdl-size when copying undo-trees., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 8cf384f 187/195: Redraw visualizer when history-discarding invalidates it., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree d79fab9 193/195: Switch from cl to cl-lib.,
Stefan Monnier <=
- [elpa] externals/undo-tree bd65bb0 192/195: Fix hook function issue in Emacs 27., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree e01a3e7 191/195: Fix some byte-compilation warnings., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 17454bd 084/195: Improved undo-tree-switch-branch behaviour., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree f16ab5f 067/195: Trivial fix in Commentary., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree e8215a7 078/195: Minor typo fixes in comments., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 8697a0b 077/195: Clear registers referring to nodes being discarded from undo history., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree f956d55 074/195: Added autoload cookies, and other tweaks to prepare for ELPA packaging., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 4e558f8 088/195: Make various interactive commands signal an error if buffer is read-only., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree e001bd5 091/195: Implemented diff display in visualizer., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 1229460 095/195: Make visualizer diff buffer name into a defconst., Stefan Monnier, 2020/11/28