* mml2015.el: Require `gnus-clfns' when compiling.
authoryamaoka <yamaoka>
Tue, 31 Jul 2001 00:08:42 +0000 (00:08 +0000)
committeryamaoka <yamaoka>
Tue, 31 Jul 2001 00:08:42 +0000 (00:08 +0000)
* gnus-clfns.el (string-to-list): New compiler macro.

ChangeLog
lisp/gnus-clfns.el
lisp/mml2015.el

index 31314ec..664c058 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2001-07-31  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * lisp/mml2015.el: Require `gnus-clfns' when compiling.
+       * lisp/gnus-clfns.el (string-to-list): New compiler macro.
+
 2001-07-30  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * lisp/gnus-sum.el (gnus-select-newsgroup): Don't examine cached
index a855553..123b9b1 100644 (file)
     "Concatenate all the argument characters and make the result a string."
     (concat args))
 
+  (define-compiler-macro string-to-list (&whole form string)
+    (cond ((fboundp 'string-to-list)
+          form)
+         ((fboundp 'string-to-char-list)
+          (list 'string-to-char-list string))
+         (t
+          `(let* ((str ,string)
+                  (len (length str))
+                  (idx 0)
+                  c l)
+             (while (< idx len)
+               (setq c (sref str idx))
+               (setq idx (+ idx (char-bytes c)))
+               (setq l (cons c l)))
+             (nreverse l)))))
+
+  ;; 92.7.2 by K.Handa (imported from Mule 2.3)
+  (defun-maybe string-to-list (str)
+    (let ((len (length str))
+         (idx 0)
+         c l)
+      (while (< idx len)
+       (setq c (sref str idx))
+       (setq idx (+ idx (char-bytes c)))
+       (setq l (cons c l)))
+      (nreverse l)))
+
   (define-compiler-macro subseq (&whole form seq start &optional end)
     (if (and (fboundp 'subseq)
             (subrp (symbol-function 'subseq)))
index d183432..b9b5255 100644 (file)
@@ -26,6 +26,7 @@
 ;;; Code:
 
 (eval-when-compile (require 'cl))
+(eval-when-compile (require 'gnus-clfns))
 (require 'mm-decode)
 
 (defvar mml2015-use (or