[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 8935db2 03/92: Removed cl dependencies
From: |
Alexey Veretennikov |
Subject: |
[elpa] master 8935db2 03/92: Removed cl dependencies |
Date: |
Thu, 11 Jun 2015 19:47:48 +0000 |
branch: master
commit 8935db26ef1f1b16ce8f5310b209a5d253eb9da1
Author: Alexey Veretennikov <address@hidden>
Commit: Alexey Veretennikov <address@hidden>
Removed cl dependencies
---
ztree.el | 26 +++++++++++++++++++-------
1 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/ztree.el b/ztree.el
index 0bb9313..f965cb5 100644
--- a/ztree.el
+++ b/ztree.el
@@ -43,18 +43,30 @@
(setq-local font-lock-defaults
'(ztree-font-lock-keywords)))
+(defun ztree-find (where which)
+ "find element of the list `where` matching predicate `which`"
+ (if where
+ (if (funcall which (car where))
+ (car where)
+ (ztree-find (cdr where) which))))
+
+(defun ztree-filter (condp lst)
+ "Filter out elements of the list `lst` not satisfying predicate `condp`.
+Taken from http://www.emacswiki.org/emacs/ElispCookbook#toc39"
+ (delq nil
+ (mapcar (lambda (x) (and (funcall condp x) x)) lst)))
(defun ztree-find-file-in-line (line)
"Search through the array of filename-line pairs and return the
filename for the line specified"
- (let ((found (find line ztree-files-info
- :test #'(lambda (l entry) (eq l (cdr entry))))))
+ (let ((found (ztree-find ztree-files-info
+ #'(lambda (entry) (eq line (cdr entry))))))
(when found
(car found))))
(defun ztree-is-expanded-dir (dir)
"Find if the directory is in the list of expanded directories"
- (find dir ztree-expanded-dir-list :test 'string-equal))
+ (ztree-find ztree-expanded-dir-list #'(lambda (x) (string-equal x dir))))
(defun scroll-to-line (line)
"Recommended way to set the cursor to specified line"
@@ -79,7 +91,7 @@ filename for the line specified"
(defun ztree-toggle-dir-state (dir)
"Toggle expanded/collapsed state for directories"
(if (ztree-is-expanded-dir dir)
- (setq ztree-expanded-dir-list (remove-if #'(lambda (x) (string-equal dir
x))
+ (setq ztree-expanded-dir-list (ztree-filter #'(lambda (x) (not
(string-equal dir x)))
ztree-expanded-dir-list))
(push dir ztree-expanded-dir-list)))
@@ -96,13 +108,13 @@ filename for the line specified"
"Returns pair of 2 elements: list of subdirectories and
list of files"
(let ((files (directory-files path 'full)))
- (cons (remove-if-not #'(lambda (f) (file-directory-p f)) files)
- (remove-if #'(lambda (f) (file-directory-p f)) files))))
+ (cons (ztree-filter #'(lambda (f) (file-directory-p f)) files)
+ (ztree-filter #'(lambda (f) (not (file-directory-p f))) files))))
(defun ztree-file-is-in-filter-list (file)
"Determine if the file is in filter list (and therefore
apparently shall not be visible"
- (find file ztree-filter-list :test #'(lambda (f rx) (string-match rx f))))
+ (ztree-find ztree-filter-list #'(lambda (rx) (string-match rx file))))
(defun ztree-draw-char (c x y)
"Draw char c at the position (1-based) (x y)"
- [elpa] master updated (4e3605e -> 1dbb290), Alexey Veretennikov, 2015/06/11
- [elpa] master 97844e3 06/92: Updated readme, Alexey Veretennikov, 2015/06/11
- [elpa] master 7e58653 04/92: Updated - added faces and updated comments, Alexey Veretennikov, 2015/06/11
- [elpa] master 09b5da6 05/92: Updated readme - added screenshots, Alexey Veretennikov, 2015/06/11
- [elpa] master 52a5c07 01/92: Initial commit, Alexey Veretennikov, 2015/06/11
- [elpa] master 8935db2 03/92: Removed cl dependencies,
Alexey Veretennikov <=
- [elpa] master fd46405 09/92: Fixed recursion problem, Alexey Veretennikov, 2015/06/11
- [elpa] master a0c9a9d 08/92: Updated readme, Alexey Veretennikov, 2015/06/11
- [elpa] master ffe7b3b 07/92: Updated readme, Alexey Veretennikov, 2015/06/11
- [elpa] master b43e0e7 12/92: Added header face, Alexey Veretennikov, 2015/06/11
- [elpa] master c7eb2c2 02/92: Initial import - fork from difftree, Alexey Veretennikov, 2015/06/11
- [elpa] master 7c739c4 11/92: Added faces for arrows and [+] signs, Alexey Veretennikov, 2015/06/11
- [elpa] master aa7f07a 10/92: Added Backspace support, Alexey Veretennikov, 2015/06/11
- [elpa] master eb4ad8e 19/92: Removed test code!, Alexey Veretennikov, 2015/06/11
- [elpa] master 457f48e 13/92: Updated readme, Alexey Veretennikov, 2015/06/11
- [elpa] master 33fe3a2 14/92: Added support for double backspace for closing open directories, Alexey Veretennikov, 2015/06/11