emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 7df8d42 3/3: Merge remote-tracking branch 'ztree/master'


From: Alexey Veretennikov
Subject: [elpa] master 7df8d42 3/3: Merge remote-tracking branch 'ztree/master'
Date: Sat, 13 Jun 2015 20:37:19 +0000

branch: master
commit 7df8d42c144aa31a8337c62127c85bd86be563b1
Merge: 0ce6cfd b42e238
Author: Alexey Veretennikov <address@hidden>
Commit: Alexey Veretennikov <address@hidden>

    Merge remote-tracking branch 'ztree/master'
    
    1) All functions now starts with ztree- prefix
    2) All files now have lexical-binding enabled
---
 packages/ztree/ztree-diff-model.el |   44 +++++++++++++-------------
 packages/ztree/ztree-diff.el       |   60 ++++++++++++++++++------------------
 packages/ztree/ztree-dir.el        |   10 +++---
 packages/ztree/ztree-util.el       |   49 ++++++++++++++---------------
 packages/ztree/ztree-view.el       |   32 +++++++++---------
 packages/ztree/ztree.el            |    2 +-
 6 files changed, 98 insertions(+), 99 deletions(-)

diff --git a/packages/ztree/ztree-diff-model.el 
b/packages/ztree/ztree-diff-model.el
index 54a9615..b68631e 100644
--- a/packages/ztree/ztree-diff-model.el
+++ b/packages/ztree/ztree-diff-model.el
@@ -1,4 +1,4 @@
-;;; ztree-diff-model.el --- diff model for directory trees
+;;; ztree-diff-model.el --- diff model for directory trees -*- 
lexical-binding: t; -*-
 
 ;; Copyright (C) 2013-2015  Free Software Foundation, Inc.
 ;;
@@ -45,7 +45,7 @@
 
 
 
-;; Create a record ztree-diff-node with defined fielsd and getters/setters
+;; Create a record ztree-diff-node with defined fields and getters/setters
 ;; here:
 ;; parent - parent node
 ;; left-path is the full path on the left side of the diff window,
@@ -53,7 +53,7 @@
 ;; short-name - is the file or directory name
 ;; children - list of nodes - files or directories if the node is a directory
 ;; different = {nil, 'new, 'diff} - means comparison status
-(defrecord ztree-diff-node (parent left-path right-path short-name 
right-short-name children different))
+(ztree-defrecord ztree-diff-node (parent left-path right-path short-name 
right-short-name children different))
 
 (defun ztree-diff-node-to-string (node)
   "Construct the string with contents of the NODE given."
@@ -79,7 +79,7 @@
             "\n"
             " * Children: " ch-str
             "\n")))
-                          
+
 
 (defun ztree-diff-node-short-name-wrapper (node &optional right-side)
   "Return the short name of the NODE given.
@@ -139,7 +139,7 @@ Returns t if equal."
 (defun ztree-directory-files (dir)
   "Return the list of full paths of files in a directory DIR.
 Filters out . and .."
-  (ztree-filter #'(lambda (file) (let ((simple-name (file-short-name file)))
+  (ztree-filter #'(lambda (file) (let ((simple-name (ztree-file-short-name 
file)))
                                    (not (or (string-equal simple-name ".")
                                             (string-equal simple-name "..")))))
                 (directory-files dir 'full)))
@@ -157,12 +157,12 @@ Filters out . and .."
                (file-exists-p left)
                (file-exists-p right))
       (if isdir
-        (let ((traverse (ztree-diff-node-traverse
-                         node
-                         left
-                         right)))
-          (ztree-diff-node-set-different node (car traverse))
-          (ztree-diff-node-set-children node (cdr traverse)))
+          (let ((traverse (ztree-diff-node-traverse
+                           node
+                           left
+                           right)))
+            (ztree-diff-node-set-different node (car traverse))
+            (ztree-diff-node-set-children node (cdr traverse)))
         ;; node is a file
         (ztree-diff-node-set-different
          node
@@ -181,8 +181,8 @@ Argument SIDE either 'left or 'right side."
                         parent
                         (when (eq side 'left) file)
                         (when (eq side 'right) file)
-                        (file-short-name file)
-                        (file-short-name file)
+                        (ztree-file-short-name file)
+                        (ztree-file-short-name file)
                         nil
                         'new))
                  (children (ztree-diff-model-subtree node file side)))
@@ -192,8 +192,8 @@ Argument SIDE either 'left or 'right side."
                parent
                (when (eq side 'left) file)
                (when (eq side 'right) file)
-               (file-short-name file)
-               (file-short-name file)
+               (ztree-file-short-name file)
+               (ztree-file-short-name file)
                nil
                'new)
               result)))
@@ -240,7 +240,7 @@ the rest is the combined list of nodes."
     (dolist (file1 list1)
       ;; for every entry in the first directory
       ;; we are creating the node
-      (let* ((simple-name (file-short-name file1))
+      (let* ((simple-name (ztree-file-short-name file1))
              (isdir (file-directory-p file1))
              (children nil)
              (different nil)
@@ -250,7 +250,7 @@ the rest is the combined list of nodes."
              ;; 1. find if the file is in the second directory and the type
              ;;    is the same - i.e. both are directories or both are files
              (file2 (ztree-find list2
-                                #'(lambda (x) (and (string-equal 
(file-short-name x)
+                                #'(lambda (x) (and (string-equal 
(ztree-file-short-name x)
                                                                  simple-name)
                                                    (eq isdir (file-directory-p 
x)))))))
         ;; 2. if it is not in the second directory, add it as a node
@@ -287,7 +287,7 @@ the rest is the combined list of nodes."
     (dolist (file2 list2)
       ;; for every entry in the second directory
       ;; we are creating the node
-      (let* ((simple-name (file-short-name file2))
+      (let* ((simple-name (ztree-file-short-name file2))
              (isdir (file-directory-p file2))
              (children nil)
              ;; create the node to be added to the results list
@@ -295,7 +295,7 @@ the rest is the combined list of nodes."
              ;; 1. find if the file is in the first directory and the type
              ;;    is the same - i.e. both are directories or both are files
              (file1 (ztree-find list1
-                                #'(lambda (x) (and (string-equal 
(file-short-name x)
+                                #'(lambda (x) (and (string-equal 
(ztree-file-short-name x)
                                                                  simple-name)
                                                    (eq isdir (file-directory-p 
x)))))))
         ;; if it is not in the first directory, add it as a node
@@ -321,8 +321,8 @@ the rest is the combined list of nodes."
   (setq ztree-diff-model-wait-message (concat "Comparing " dir1 " and " dir2 " 
..."))
   (let* ((model
           (ztree-diff-node-create nil dir1 dir2
-                                  (file-short-name dir1)
-                                  (file-short-name dir2)
+                                  (ztree-file-short-name dir1)
+                                  (ztree-file-short-name dir2)
                                   nil
                                   nil))
          (traverse (ztree-diff-node-traverse model dir1 dir2)))
@@ -341,7 +341,7 @@ the rest is the combined list of nodes."
     (ztree-diff-node-set-children node (cdr traverse))
     (ztree-diff-node-set-different node (car traverse))
     (message "Done.")))
-    
+
 
 
 (provide 'ztree-diff-model)
diff --git a/packages/ztree/ztree-diff.el b/packages/ztree/ztree-diff.el
index 6caa73e..cd7a353 100644
--- a/packages/ztree/ztree-diff.el
+++ b/packages/ztree/ztree-diff.el
@@ -1,4 +1,4 @@
-;;; ztree-diff.el --- Text mode diff for directory trees
+;;; ztree-diff.el --- Text mode diff for directory trees -*- lexical-binding: 
t; -*-
 
 ;; Copyright (C) 2013-2015  Free Software Foundation, Inc.
 ;;
@@ -110,28 +110,28 @@ By default paths starting with dot (like .git) are 
ignored")
 
 (defun ztree-diff-insert-buffer-header ()
   "Insert the header to the ztree buffer."
-  (insert-with-face "Differences tree" ztreep-diff-header-face)
-  (newline-and-begin)
+  (ztree-insert-with-face "Differences tree" ztreep-diff-header-face)
+  (insert "\n")
   (when ztree-diff-dirs-pair
-    (insert-with-face (concat "Left:  " (car ztree-diff-dirs-pair))
-                      ztreep-diff-header-small-face)
-    (newline-and-begin)
-    (insert-with-face (concat "Right: " (cdr ztree-diff-dirs-pair))
-                      ztreep-diff-header-small-face)
-    (newline-and-begin))
-  (insert-with-face "Legend:" ztreep-diff-header-small-face)
-  (newline-and-begin)
-  (insert-with-face " Normal file " ztreep-diff-model-normal-face)
-  (insert-with-face "- same on both sides" ztreep-diff-header-small-face)
-  (newline-and-begin)
-  (insert-with-face " Orphan file " ztreep-diff-model-add-face)
-  (insert-with-face "- does not exist on other side" 
ztreep-diff-header-small-face)
-  (newline-and-begin)
-  (insert-with-face " Mismatch file " ztreep-diff-model-diff-face)
-  (insert-with-face "- different from other side" 
ztreep-diff-header-small-face)
-  (newline-and-begin)
-  (insert-with-face "==============" ztreep-diff-header-face)
-  (newline-and-begin))
+    (ztree-insert-with-face (concat "Left:  " (car ztree-diff-dirs-pair))
+                            ztreep-diff-header-small-face)
+    (insert "\n")
+    (ztree-insert-with-face (concat "Right: " (cdr ztree-diff-dirs-pair))
+                            ztreep-diff-header-small-face)
+    (insert "\n"))
+  (ztree-insert-with-face "Legend:" ztreep-diff-header-small-face)
+  (insert "\n")
+  (ztree-insert-with-face " Normal file " ztreep-diff-model-normal-face)
+  (ztree-insert-with-face "- same on both sides" ztreep-diff-header-small-face)
+  (insert "\n")
+  (ztree-insert-with-face " Orphan file " ztreep-diff-model-add-face)
+  (ztree-insert-with-face "- does not exist on other side" 
ztreep-diff-header-small-face)
+  (insert "\n")
+  (ztree-insert-with-face " Mismatch file " ztreep-diff-model-diff-face)
+  (ztree-insert-with-face "- different from other side" 
ztreep-diff-header-small-face)
+  (insert "\n")
+  (ztree-insert-with-face "==============" ztreep-diff-header-face)
+  (insert "\n"))
 
 (defun ztree-diff-full-rescan ()
   "Force full rescan of the directory trees."
@@ -151,7 +151,7 @@ By default paths starting with dot (like .git) are ignored")
              (file-exists-p right))
         node
       nil)))
-      
+
 (defun ztree-diff-existing-common-parent (node)
   "Return the first node in up in hierarchy of the NODE which has both sides."
   (let ((common (ztree-diff-existing-common node)))
@@ -170,7 +170,7 @@ By default paths starting with dot (like .git) are ignored")
         (ztree-diff-model-partial-rescan common)
         (ztree-diff-node-update-all-parents-diff node)
         (ztree-refresh-buffer (line-number-at-pos))))))
-  
+
 
 (defun ztree-diff-partial-rescan ()
   "Perform partial rescan on the current node."
@@ -178,7 +178,7 @@ By default paths starting with dot (like .git) are ignored")
   (let ((found (ztree-find-node-at-point)))
     (when found
       (ztree-diff-do-partial-rescan (car found)))))
-  
+
 
 (defun ztree-diff-simple-diff (node)
   "Create a simple diff buffer for files from left and right panels.
@@ -213,7 +213,7 @@ Argument NODE node containing paths to files to call a diff 
on."
 2 if left or right present - view left or rigth"
   (let ((left (ztree-diff-node-left-path node))
         (right (ztree-diff-node-right-path node))
-        (open-f '(lambda (path) (if hard (find-file path)
+        (open-f #'(lambda (path) ((insert )f hard (find-file path)
                                   (let ((split-width-threshold nil))
                                     (view-file-other-window path))))))
     (cond ((and left right)
@@ -225,7 +225,7 @@ Argument NODE node containing paths to files to call a diff 
on."
           (left (funcall open-f left))
           (right (funcall open-f right))
           (t nil))))
-           
+
 
 
 (defun ztree-diff-copy-file (node source-path destination-path copy-to-right)
@@ -258,7 +258,7 @@ COPY-TO-RIGHT specifies which side of the NODE to update."
 
 
 (defun ztree-diff-copy-dir (node source-path destination-path copy-to-right)
-    "Update the NODE status and copy the directory.
+  "Update the NODE status and copy the directory.
 Directory copied from SOURCE-PATH to DESTINATION-PATH.
 COPY-TO-RIGHT specifies which side of the NODE to update."
   (let* ((src-path (file-name-as-directory source-path))
@@ -352,7 +352,7 @@ COPY-TO-RIGHT specifies which side of the NODE to update."
                 ((and (eq side 'right)
                       node-right)
                  (view-file node-right))))))))
-  
+
 
 (defun ztree-diff-delete-file ()
   "Delete the file under the cursor."
@@ -447,7 +447,7 @@ Argument DIR2 right directory."
     (ztreediff-mode)
     (setq ztree-diff-dirs-pair (cons dir1 dir2))
     (ztree-refresh-buffer)))
-          
+
 
 
 
diff --git a/packages/ztree/ztree-dir.el b/packages/ztree/ztree-dir.el
index d52aef1..3dd87b7 100644
--- a/packages/ztree/ztree-dir.el
+++ b/packages/ztree/ztree-dir.el
@@ -1,4 +1,4 @@
-;;; ztree-dir.el --- Text mode directory tree
+;;; ztree-dir.el --- Text mode directory tree -*- lexical-binding: t; -*-
 
 ;; Copyright (C) 2013-2015  Free Software Foundation, Inc.
 ;;
@@ -84,15 +84,15 @@ user press RETURN on file ")t
   "Insert the header to the ztree buffer."
   (let ((start (point)))
     (insert "Directory tree")
-    (newline-and-begin)
+    (insert "\n")
     (insert "==============")
     (set-text-properties start (point) '(face ztreep-header-face)))
-  (newline-and-begin))
+  (insert "\n"))
 
 (defun ztree-file-not-hidden (filename)
   "Determines if the file with FILENAME should be visible."
   (not (string-match ztree-hidden-files-regexp
-                     (file-short-name filename))))
+                     (ztree-file-short-name filename))))
 
 (defun ztree-find-file (node hard)
   "Find the file at NODE.
@@ -117,7 +117,7 @@ Otherwise, the ztree window is used to find the file."
                   (expand-file-name (substitute-in-file-name path))
                   'ztree-file-not-hidden
                   'ztree-insert-buffer-header
-                  'file-short-name
+                  'ztree-file-short-name
                   'file-directory-p
                   'string-equal
                   '(lambda (x) (directory-files x 'full))
diff --git a/packages/ztree/ztree-util.el b/packages/ztree/ztree-util.el
index 45f297d..85df444 100644
--- a/packages/ztree/ztree-util.el
+++ b/packages/ztree/ztree-util.el
@@ -1,4 +1,4 @@
-;;; ztree-util.el --- Auxulary utilities for the ztree package
+;;; ztree-util.el --- Auxulary utilities for the ztree package -*- 
lexical-binding: t; -*-
 
 ;; Copyright (C) 2013-2015  Free Software Foundation, Inc.
 ;;
@@ -43,36 +43,30 @@ Taken from 
http://www.emacswiki.org/emacs/ElispCookbook#toc39";
         (mapcar (lambda (x) (and (funcall condp x) x)) lst)))
 
 
-(defun printable-string (string)
+(defun ztree-printable-string (string)
   "Strip newline character from file names, like 'Icon\n.
 Argument STRING string to process.'."
   (replace-regexp-in-string "\n" "" string))
 
-(defun file-short-name (file)
+(defun ztree-file-short-name (file)
   "By given FILE name return base file/directory name.
 Taken from http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg01238.html";
-  (printable-string (file-name-nondirectory (directory-file-name file))))
+  (ztree-printable-string (file-name-nondirectory (directory-file-name file))))
 
-
-(defun newline-and-begin ()
-  "Move a point to the beginning of the next line."
-  (insert "\n")
-  (beginning-of-line))
-
-(defun car-atom (value)
+(defun ztree-car-atom (value)
   "Return VALUE if value is an atom, otherwise (car value) or nil.
 Used since `car-safe' returns nil for atoms"
   (if (atom value) value (car value)))
 
 
-(defun insert-with-face (text face)
+(defun ztree-insert-with-face (text face)
   "Insert TEXT with the FACE provided."
   (let ((start (point)))
     (insert text)
     (put-text-property start (point) 'face face)))
 
 
-(defmacro defrecord (record-name record-fields)
+(defmacro ztree-defrecord (record-name record-fields)
   "Create a record (structure) and getters/setters.
 
 Record is the following set of functions:
@@ -84,7 +78,7 @@ argument - the record; \"field\" is from \"record-fields\" 
symbols
 arguments - the record and the field value
 
 Example:
-\(defrecord person (name age))
+\(ztree-defrecord person (name age))
 
 will be expanded to the following functions:
 
@@ -92,7 +86,12 @@ will be expanded to the following functions:
 \(defun person-name (record) (...)
 \(defun person-age (record) (...)
 \(defun person-set-name (record value) (...)
-\(defun person-set-age (record value) (...)"
+\(defun person-set-age (record value) (...)
+
+To test expansion one can use GNU Emacs's pp library:
+\(require 'pp)
+\(pp-macroexpand-expression
+ '(ztree-defrecord person (name age)))"
   (let ((ctor-name (intern (concat (symbol-name record-name) "-create")))
         (rec-var (make-symbol "record")))
     `(progn
@@ -101,19 +100,19 @@ will be expanded to the following functions:
        (defun ,ctor-name (,@record-fields)
          (let ((,rec-var))
            ,@(mapcar #'(lambda (x)
-                      (list 'setq rec-var (list 'plist-put rec-var (list 
'quote x) x)))
-                    record-fields)))
+                         (list 'setq rec-var (list 'plist-put rec-var (list 
'quote x) x)))
+                     record-fields)))
        ;; getters with names "record-name-field" where the "field"
        ;; is from record-fields
        ,@(mapcar #'(lambda (x)
-                    (let ((getter-name (intern (concat (symbol-name 
record-name)
-                                                       "-"
-                                                       (symbol-name x)))))
-                      `(progn
-                         (defun ,getter-name (,rec-var)
-                           (plist-get ,rec-var ',x)
-                           ))))
-                record-fields)
+                     (let ((getter-name (intern (concat (symbol-name 
record-name)
+                                                        "-"
+                                                        (symbol-name x)))))
+                       `(progn
+                          (defun ,getter-name (,rec-var)
+                            (plist-get ,rec-var ',x)
+                            ))))
+                 record-fields)
        ;; setters wit names "record-name-set-field where the "field"
        ;; is from record-fields
        ;; arguments for setters: (record value)
diff --git a/packages/ztree/ztree-view.el b/packages/ztree/ztree-view.el
index a251be8..519097b 100644
--- a/packages/ztree/ztree-view.el
+++ b/packages/ztree/ztree-view.el
@@ -1,4 +1,4 @@
-;;; ztree-view.el --- Text mode tree view (buffer)
+;;; ztree-view.el --- Text mode tree view (buffer) -*- lexical-binding: t; -*-
 
 ;; Copyright (C) 2013-2015  Free Software Foundation, Inc.
 ;;
@@ -191,7 +191,7 @@ or nil if there is no node"
         (node (ztree-find-node-in-line (line-number-at-pos))))
     (when node
       (cons node (if (> (current-column) center) 'right 'left)))))
-  
+
 
 (defun ztree-is-expanded-node (node)
   "Find if the NODE is in the list of expanded nodes."
@@ -225,7 +225,7 @@ Argument STATE node state."
       (dolist (child children)
         (ztree-do-toggle-expand-subtree-iter child state)))))
 
-     
+
 (defun ztree-do-toggle-expand-subtree ()
   "Implements the subtree expand."
   (let* ((line (line-number-at-pos))
@@ -241,7 +241,7 @@ Argument STATE node state."
       (ztree-refresh-buffer line)
       ;; restore window start position
       (set-window-start (selected-window) current-pos))))
-          
+
 
 (defun ztree-do-perform-action (hard)
   "Toggle expand/collapsed state for nodes or perform an action.
@@ -262,7 +262,7 @@ should be performed on node."
         (ztree-refresh-buffer line)
         ;; restore window start position
         (set-window-start (selected-window) current-pos)))))
-  
+
 
 (defun ztree-perform-action ()
   "Toggle expand/collapsed state for nodes or perform the action.
@@ -291,7 +291,7 @@ Performs the soft action, binded on Space, on node."
              ztree-expanded-nodes-list))
     (push node ztree-expanded-nodes-list)))
 
-   
+
 (defun ztree-toggle-expand-state (node)
   "Toggle expanded/collapsed state for NODE."
   (ztree-do-toggle-expand-state node (not (ztree-is-expanded-node node))))
@@ -322,15 +322,15 @@ then close the node."
 Argument NODE node which contents will be returned."
   (let ((nodes (funcall ztree-node-contents-fun node))
         (comp  #'(lambda (x y)
-                 (string< (funcall ztree-node-short-name-fun x)
-                          (funcall ztree-node-short-name-fun y)))))
+                   (string< (funcall ztree-node-short-name-fun x)
+                            (funcall ztree-node-short-name-fun y)))))
     (cons (sort (ztree-filter
                  #'(lambda (f) (funcall ztree-node-is-expandable-fun f))
                  nodes) comp)
           (sort (ztree-filter
                  #'(lambda (f) (not (funcall ztree-node-is-expandable-fun f)))
                  nodes) comp))))
-                
+
 
 (defun ztree-draw-char (c x y &optional face)
   "Draw char C at the position (1-based) (X Y).
@@ -412,20 +412,20 @@ Argument START-OFFSET column to start drawing from."
         ;; from the children list
         (let ((last-child (ztree-find children
                                       #'(lambda (x)
-                                          (funcall visible (car-atom x)))))
+                                          (funcall visible (ztree-car-atom 
x)))))
               (x-offset (+ 2 offset)))
           (when last-child
             (ztree-draw-vertical-rounded-line (1+ root)
-                                              (car-atom last-child)
+                                              (ztree-car-atom last-child)
                                               x-offset)))
         ;; draw recursively
         (dolist (child children)
           (ztree-draw-tree child (1+ depth) start-offset)
           (let ((end (if (listp child) line-end-node line-end-leaf)))
-            (when (funcall visible (car-atom child))
+            (when (funcall visible (ztree-car-atom child))
               (ztree-draw-horizontal-line line-start
                                           end
-                                          (car-atom child)))))))))
+                                          (ztree-car-atom child)))))))))
 
 (defun ztree-fill-parent-array (tree)
   "Set the root lines array.
@@ -433,7 +433,7 @@ Argument TREE nodes tree to create an array of lines from."
   (let ((root (car tree))
         (children (cdr tree)))
     (dolist (child children)
-      (ztree-set-parent-for-line (car-atom child) root)
+      (ztree-set-parent-for-line (ztree-car-atom child) root)
       (when (listp child)
         (ztree-fill-parent-array child)))))
 
@@ -497,7 +497,7 @@ Argument PATH start node."
           (when (funcall ztree-node-showp-fun leaf)
             ;; insert the leaf and add it to children
             (push (ztree-insert-entry leaf (1+ depth) nil)
-                    children)))))
+                  children)))))
     ;; result value is the list - head is the root line,
     ;; rest are children
     (cons root-line children)))
@@ -524,7 +524,7 @@ Argument PATH start node."
           (puthash line side ztree-line-tree-properties))
       (ztree-insert-single-entry short-name depth expandable expanded 0))
     (puthash line node ztree-line-to-node-table)
-    (newline-and-begin)
+    (insert "\n")
     line))
 
 (defun ztree-insert-single-entry (short-name depth
diff --git a/packages/ztree/ztree.el b/packages/ztree/ztree.el
index 79e6fe6..2f739aa 100644
--- a/packages/ztree/ztree.el
+++ b/packages/ztree/ztree.el
@@ -1,4 +1,4 @@
-;;; ztree.el --- Text mode directory tree
+;;; ztree.el --- Text mode directory tree -*- lexical-binding: t; -*-
 
 ;; Copyright (C) 2013-2015  Free Software Foundation, Inc.
 ;;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]