From 87e039f84f6a85315f80cfe07dfe30795d04c1a0 Mon Sep 17 00:00:00 2001 From: ueno Date: Thu, 9 Dec 1999 14:55:04 +0000 Subject: [PATCH] * smime.el: Require `static' when compiling. (smime-directory-files): New macro. (smime-find-certificate): Use it. --- smime.el | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/smime.el b/smime.el index 07a839d..7746f87 100644 --- a/smime.el +++ b/smime.el @@ -39,6 +39,7 @@ ;;; Code: (require 'path-util) +(eval-when-compile (require 'static)) (defgroup smime () "S/MIME interface" @@ -169,10 +170,30 @@ (smime-parse-attribute (buffer-substring (point)(progn (end-of-line)(point)))))))) +(static-condition-case nil + (directory-files nil nil nil nil nil) + (wrong-number-of-arguments + (defmacro smime-directory-files + (directory &optional full match nosort files-only) + (if files-only + `(delq nil (mapcar + (lambda (file) + ,(if (eq files-only t) + `(if (file-directory-p file) nil file) + `(if (file-directory-p file) file nil))) + (directory-files ,directory ,full ,match ,nosort))) + `(directory-files ,directory ,full ,match ,nosort)))) + (wrong-type-argument + (defalias 'smime-directory-files 'directory-files))) + (defsubst smime-find-certificate (attr) (let ((files (if (file-directory-p smime-certificate-directory) - (directory-files smime-certificate-directory - 'full nil nil t) + (delq nil (mapcar (lambda (file) + (if (file-directory-p file) nil + file)) + (directory-files + smime-certificate-directory + 'full))) nil))) (catch 'found (while files -- 1.7.10.4