projects
/
kmrcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r8183: docbook functions
[kmrcl.git]
/
lists.lisp
diff --git
a/lists.lisp
b/lists.lisp
index 77b6fa52401157e11b78451156903100a4df6775..336baa02864fd29363c82ef90949aed6e6cfddae 100644
(file)
--- a/
lists.lisp
+++ b/
lists.lisp
@@
-7,7
+7,7
@@
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id
: lists.lisp,v 1.9 2003/07/31 07:32:11 kevin Exp
$
+;;;; $Id$
;;;;
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
;;;;
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
@@
-42,13
+42,15
@@
(unless (find elem l1)
(setq l1 (append l1 (list elem))))))
(unless (find elem l1)
(setq l1 (append l1 (list elem))))))
-(defun remove-
tree-if (pred tree
)
+(defun remove-
from-tree-if (pred tree atom-processor
)
"Strip from tree of atoms that satistify predicate"
(if (atom tree)
(unless (funcall pred tree)
"Strip from tree of atoms that satistify predicate"
(if (atom tree)
(unless (funcall pred tree)
- tree)
- (let ((car-strip (remove-tree-if pred (car tree)))
- (cdr-strip (remove-tree-if pred (cdr tree))))
+ (if atom-processor
+ (funcall atom-processor tree)
+ tree))
+ (let ((car-strip (remove-from-tree-if pred (car tree) atom-processor))
+ (cdr-strip (remove-from-tree-if pred (cdr tree) atom-processor)))
(cond
((and car-strip (atom (cadr tree)) (null cdr-strip))
(list car-strip))
(cond
((and car-strip (atom (cadr tree)) (null cdr-strip))
(list car-strip))
@@
-169,7
+171,7
@@
(defun plist-alist (plist)
(do ((alist '())
(defun plist-alist (plist)
(do ((alist '())
- (pl plist (cddr pl
ist
)))
+ (pl plist (cddr pl)))
((null pl) alist)
(setq alist (acons (car pl) (cadr pl) alist))))
((null pl) alist)
(setq alist (acons (car pl) (cadr pl) alist))))