* elmo.el (elmo-make-folder): Remove text properties for prefix.
authorteranisi <teranisi>
Sun, 5 Sep 2004 04:17:59 +0000 (04:17 +0000)
committerteranisi <teranisi>
Sun, 5 Sep 2004 04:17:59 +0000 (04:17 +0000)
* elmo-flag.el (elmo-folder-list-subfolders): Fetch flag names
from msgdb.

elmo/ChangeLog
elmo/elmo-flag.el
elmo/elmo.el

index 872d571..89087a8 100644 (file)
@@ -1,3 +1,10 @@
+2004-09-05  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-make-folder): Remove text properties for prefix.
+
+       * elmo-flag.el (elmo-folder-list-subfolders): Fetch flag names
+       from msgdb.
+
 2004-08-31  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
 
        * elmo-multi.el (elmo-folder-count-flags): Changed return value
index f667d17..13c71f2 100644 (file)
 
 (luna-define-method elmo-folder-list-subfolders ((folder elmo-flag-folder)
                                                 &optional one-level)
-  (mapcar (lambda (flag)
-           (concat
-            (elmo-folder-prefix-internal folder)
-            (symbol-name (elmo-folder-type-internal folder))
-            "/"
-            (symbol-name flag)))
-         elmo-global-flag-list))
+  (let ((dir (expand-file-name "flag" elmo-msgdb-directory)))
+    (mapcar (lambda (flag)
+             (concat
+              (elmo-folder-prefix-internal folder)
+              (symbol-name (elmo-folder-type-internal folder))
+              "/"
+              (symbol-name flag)))
+           (elmo-uniq-list
+            (append
+             (mapcar 'intern (delete ".." (delete "." (directory-files dir))))
+             elmo-global-flag-list)))))
 
 (defun elmo-flag-folder-delete-message (folder number
                                               &optional keep-referrer)
index 87b0b4c..1851371 100644 (file)
@@ -142,8 +142,8 @@ If optional argument NON-PERSISTENT is non-nil, the folder msgdb is not saved."
     (setq original (elmo-string name))
     (if type
        (progn
-         (setq prefix (substring name 0 1))
-         (setq name (substring name 1)))
+         (setq prefix (elmo-string (substring name 0 1)))
+         (setq name (elmo-string (substring name 1))))
       (setq type (intern (car (setq split (split-string name ":")))))
       (if (>= (length split) 2)
          (setq name (substring name (+ 1 (length (car split)))))