* wl-draft.el (wl-draft-config-sub-eval-insert): New function.
[elisp/wanderlust.git] / wl / wl-fldmgr.el
index 8f4f7f7..993fb78 100644 (file)
@@ -1015,21 +1015,28 @@ return value is diffs '(-new -unread -all)."
   (interactive)
   (save-excursion
     (beginning-of-line)
-    (if (looking-at wl-folder-group-regexp)
-       (message "This folder is group")
-      (let ((tmp (wl-fldmgr-get-path-from-buffer))
-           entity)
-       (if (eq (cdr (nth 2 tmp)) 'access)
-           (message "Can't change access group")
-         (setq entity (nth 4 tmp))
-         (unless entity (error "No folder"))
-         (wl-fldmgr-add (concat "/"
-                                (elmo-read-search-condition
-                                 wl-fldmgr-make-filter-default)
-                                "/" entity)))))))
-
-(defun wl-fldmgr-sort ()
-  (interactive)
+    (let ((tmp (wl-fldmgr-get-path-from-buffer))
+         entity)
+      (if (eq (cdr (nth 2 tmp)) 'access)
+         (message "Can't change access group")
+       (if (wl-folder-buffer-group-p)
+           (setq entity
+                 (concat
+                  "*"
+                  (mapconcat 'identity
+                             (wl-folder-get-entity-list
+                              (wl-folder-search-group-entity-by-name
+                               (nth 4 tmp)
+                               wl-folder-entity)) ",")))
+         (setq entity (nth 4 tmp)))
+       (unless entity (error "No folder"))
+       (wl-fldmgr-add (concat "/"
+                              (elmo-read-search-condition
+                               wl-fldmgr-make-filter-default)
+                              "/" entity))))))
+
+(defun wl-fldmgr-sort (&optional arg)
+  (interactive "P")
   (save-excursion
     (beginning-of-line)
     (let ((inhibit-read-only t)
@@ -1042,10 +1049,10 @@ return value is diffs '(-new -unread -all)."
                      wl-folder-entity))
        (message "Sorting...")
        (setq flist (sort (nth 2 entity) wl-fldmgr-sort-function))
+       (when arg (setq flist (nreverse flist)))
        (setcar (cddr entity) flist)
        (wl-fldmgr-add-modified-access-list (car entity))
        (setq wl-fldmgr-modified t)
-       ;;
        (when (string= opened "-")
          (let (beg end)
            (setq beg (point))
@@ -1058,7 +1065,6 @@ return value is diffs '(-new -unread -all)."
                      (point))))
            (delete-region beg end)
            (wl-folder-insert-entity indent entity)))
-;;;    (wl-fldmgr-reconst-entity-hashtb t t)
        (message "Sorting...done")
        (set-buffer-modified-p nil)))))