[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master cef7d95 20/36: Functions with errors still:
From: |
Alexey Veretennikov |
Subject: |
[elpa] master cef7d95 20/36: Functions with errors still: |
Date: |
Wed, 27 Jan 2016 23:50:55 +0000 |
branch: master
commit cef7d9520a012223453d2ceb0a9dcffec160889b
Author: Alexey Veretennikov <address@hidden>
Commit: Alexey Veretennikov <address@hidden>
Functions with errors still:
ztree-diff-model-partial-rescan
ztree-diff-delete-file
and probably (need to test)
ztree-diff-copy
---
ztree-diff-model.el | 45 ++++++++++++++++++++++++---------------------
ztree-diff.el | 17 +++++++----------
2 files changed, 31 insertions(+), 31 deletions(-)
diff --git a/ztree-diff-model.el b/ztree-diff-model.el
index 984834c..dbcc713 100644
--- a/ztree-diff-model.el
+++ b/ztree-diff-model.el
@@ -79,8 +79,6 @@
(funcall string-or-nil (ztree-diff-node-different
x)))))
(concat "Node: " (ztree-diff-node-short-name node)
"\n"
- ;; " * Parent: " (let ((parent (ztree-diff-node-parent node)))
- ;; (if parent (ztree-diff-node-short-name parent)
"nil"))
" * Parent: " (funcall string-or-nil (ztree-diff-node-parent node))
"\n"
" * Status: " (funcall string-or-nil (ztree-diff-node-different
node))
@@ -164,16 +162,25 @@ Filters out . and .."
(isdir (ztree-diff-node-is-directory node))
(left (ztree-diff-node-left-path node))
(right (ztree-diff-node-right-path node)))
- ;; if node is a directory - traverse
- (when (and left right
- (file-exists-p left)
- (file-exists-p right))
- (if isdir ;; traverse directory
- (ztree-diff-node-traverse node)
- ;; node is a file
- (ztree-diff-node-set-different
- node
- (ztree-diff-model-files-equal left right))))))
+ (if (not parent) ;; if no parent - traverse
+ (ztree-diff-node-traverse node)
+ ;; verify if the node is not ignored by any chance
+ (when (or (ztree-diff-node-ignore-p node)
+ (eql (ztree-diff-node-different node) 'ignore))
+ (ztree-diff-node-set-different node 'ignore))
+ ;; if node is a directory - traverse
+ (when (and left right
+ (file-exists-p left)
+ (file-exists-p right))
+ (if isdir ;; traverse directory
+ (ztree-diff-node-traverse node)
+ ;; node is a file
+ (ztree-diff-node-set-different
+ node
+ (if (ztree-diff-node-ignore-p node) 'ignore
+ (ztree-diff-model-files-equal left right)))))
+ ;; update all parents statuses
+ (ztree-diff-node-update-all-parents-diff node))))
(defun ztree-diff-model-subtree (parent path side diff)
"Create a subtree with given PARENT for the given PATH.
@@ -208,15 +215,11 @@ Argument DIFF different status to be assigned to all
created nodes."
(defun ztree-diff-node-update-diff-from-children (node)
"Set the diff status for the NODE based on its children."
;(unless (eq
(ztree-diff-node-different node 'ignore))
- (let ((children (ztree-diff-node-children node))
- (diff nil))
- (dolist (child children)
- (unless (ztree-diff-model-ignore-p child)
- (setq diff
- (ztree-diff-model-update-diff
- diff
- (ztree-diff-node-different child)))))
- (ztree-diff-node-set-different node diff))) ;)
+ (let ((diff (cl-reduce 'ztree-diff-model-update-diff
+ (ztree-diff-node-children node)
+ :initial-value 'same
+ :key 'ztree-diff-node-different)))
+ (ztree-diff-node-set-different node diff)))
(defun ztree-diff-node-update-all-parents-diff (node)
"Recursively update all parents diff status for the NODE."
diff --git a/ztree-diff.el b/ztree-diff.el
index 9e0f3f3..89bc2c5 100644
--- a/ztree-diff.el
+++ b/ztree-diff.el
@@ -184,10 +184,8 @@ By default paths starting with dot (like .git) are
ignored")
(if (not parent)
(when ztree-diff-dirs-pair
(ztree-diff (car ztree-diff-dirs-pair) (cdr ztree-diff-dirs-pair)))
- (progn
- (ztree-diff-model-partial-rescan common)
- (ztree-diff-node-update-all-parents-diff node)
- (ztree-refresh-buffer (line-number-at-pos))))))
+ (ztree-diff-model-partial-rescan common)
+ (ztree-refresh-buffer (line-number-at-pos)))))
(defun ztree-diff-partial-rescan ()
@@ -418,18 +416,17 @@ COPY-TO-RIGHT specifies which side of the NODE to update."
;; and update the parents with a new status
;; of this node
(when (file-directory-p remove-path)
- (ztree-diff-model-partial-rescan node)
- (ztree-diff-node-update-all-parents-diff node)))
+ (ztree-diff-model-partial-rescan node)))
;; if everything ok
(progn
;; remove the node from children
(setq children (ztree-filter
#'(lambda (x) (not (ztree-diff-node-equal x
node)))
children))
- (ztree-diff-node-set-children parent children))
- (ztree-diff-node-update-all-parents-diff node)
- ;;(ztree-diff-model-partial-rescan node)
- (ztree-refresh-buffer (line-number-at-pos))))))))))
+ (ztree-diff-node-set-children parent children)))
+ (ztree-diff-node-update-all-parents-diff node)
+ ;;(ztree-diff-model-partial-rescan node)
+ (ztree-refresh-buffer (line-number-at-pos)))))))))
- [elpa] master 04b29c8 06/36: Updated readme, (continued)
- [elpa] master 04b29c8 06/36: Updated readme, Alexey Veretennikov, 2016/01/27
- [elpa] master 67b9b4b 03/36: Issue #24: updated traverse function, Alexey Veretennikov, 2016/01/27
- [elpa] master 4a935ee 07/36: Reshuffled readme, Alexey Veretennikov, 2016/01/27
- [elpa] master 6018029 11/36: Started updating diff logic to include ignored files, Alexey Veretennikov, 2016/01/27
- [elpa] master c227ed8 12/36: Added debug output and some other changes, Alexey Veretennikov, 2016/01/27
- [elpa] master 64d3960 13/36: Added face for ignored files, Alexey Veretennikov, 2016/01/27
- [elpa] master 45dda44 14/36: Started updating diff logic to include ignored files, Alexey Veretennikov, 2016/01/27
- [elpa] master 2dc412f 15/36: Added debug output and some other changes, Alexey Veretennikov, 2016/01/27
- [elpa] master 9408ca1 17/36: Fixed ztree-node-is-visible, Alexey Veretennikov, 2016/01/27
- [elpa] master eea3c2b 19/36: added comments, Alexey Veretennikov, 2016/01/27
- [elpa] master cef7d95 20/36: Functions with errors still:,
Alexey Veretennikov <=
- [elpa] master 653a7f1 21/36: Fixed ignored files, Alexey Veretennikov, 2016/01/27
- [elpa] master a27dbbd 22/36: Started to fix issues with delete file, Alexey Veretennikov, 2016/01/27
- [elpa] master c3144bd 16/36: Updated model - ignored files still not handled, Alexey Veretennikov, 2016/01/27
- [elpa] master bc6a12a 18/36: Traverse function now supports ignored, Alexey Veretennikov, 2016/01/27
- [elpa] master b021697 29/36: Added comment to not to forget to update copy procedure., Alexey Veretennikov, 2016/01/27
- [elpa] master da721ab 33/36: Fixed compile warnings, Alexey Veretennikov, 2016/01/27
- [elpa] master be4e000 24/36: Fix typo in value of Created header keyword, Alexey Veretennikov, 2016/01/27
- [elpa] master b5b2d02 32/36: removed test files, Alexey Veretennikov, 2016/01/27
- [elpa] master 74899aa 30/36: Merge branch 'master' of github.com:fourier/ztree, Alexey Veretennikov, 2016/01/27
- [elpa] master 6d7ce1f 28/36: Fixed Delete method, Alexey Veretennikov, 2016/01/27