/[emacs]/emacs/lisp/mh-e/mh-speed.el
ViewVC logotype

Diff of /emacs/lisp/mh-e/mh-speed.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2.4.3 by miles, Sat Jul 17 02:51:49 2004 UTC revision 1.2.4.4 by miles, Sat Sep 4 09:22:56 2004 UTC
# Line 34  Line 34 
34  ;;; Code:  ;;; Code:
35    
36  ;; Requires  ;; Requires
37  (require 'mh-utils)  (eval-when-compile (require 'mh-acros))
38  (mh-require-cl)  (mh-require-cl)
39  (require 'mh-e)  (require 'mh-e)
40  (require 'speedbar)  (require 'speedbar)
41    (require 'timer)
42    
43  ;; Global variables  ;; Global variables
44  (defvar mh-speed-refresh-flag nil)  (defvar mh-speed-refresh-flag nil)
# Line 90  BUFFER is the MH-E buffer for which the Line 91  BUFFER is the MH-E buffer for which the
91    "+"           mh-speed-expand-folder    "+"           mh-speed-expand-folder
92    "-"           mh-speed-contract-folder    "-"           mh-speed-contract-folder
93    "\r"          mh-speed-view    "\r"          mh-speed-view
94    "f"           mh-speed-flists    "r"           mh-speed-refresh)
   "i"           mh-speed-invalidate-map)  
95    
96  (defvar mh-show-speedbar-key-map mh-folder-speedbar-key-map)  (defvar mh-show-speedbar-key-map mh-folder-speedbar-key-map)
97  (defvar mh-letter-speedbar-key-map mh-folder-speedbar-key-map)  (defvar mh-letter-speedbar-key-map mh-folder-speedbar-key-map)
98    
99  ;; Menus for speedbar...  ;; Menus for speedbar...
100  (defvar mh-folder-speedbar-menu-items  (defvar mh-folder-speedbar-menu-items
101    '(["Visit Folder" mh-speed-view    '("--"
102        ["Visit Folder" mh-speed-view
103       (save-excursion       (save-excursion
104         (set-buffer speedbar-buffer)         (set-buffer speedbar-buffer)
105         (get-text-property (line-beginning-position) 'mh-folder))]         (get-text-property (line-beginning-position) 'mh-folder))]
106      ["Expand nested folders" mh-speed-expand-folder      ["Expand Nested Folders" mh-speed-expand-folder
107       (and (get-text-property (line-beginning-position) 'mh-children-p)       (and (get-text-property (line-beginning-position) 'mh-children-p)
108            (not (get-text-property (line-beginning-position) 'mh-expanded)))]            (not (get-text-property (line-beginning-position) 'mh-expanded)))]
109      ["Contract nested folders" mh-speed-contract-folder      ["Contract Nested Folders" mh-speed-contract-folder
110       (and (get-text-property (line-beginning-position) 'mh-children-p)       (and (get-text-property (line-beginning-position) 'mh-children-p)
111            (get-text-property (line-beginning-position) 'mh-expanded))]            (get-text-property (line-beginning-position) 'mh-expanded))]
112      ["Run Flists" mh-speed-flists t]      ["Refresh Speedbar" mh-speed-refresh t])
     ["Invalidate cached folders" mh-speed-invalidate-map t])  
113    "Extra menu items for speedbar.")    "Extra menu items for speedbar.")
114    
115  (defvar mh-show-speedbar-menu-items mh-folder-speedbar-menu-items)  (defvar mh-show-speedbar-menu-items mh-folder-speedbar-menu-items)
# Line 352  Optional ARGS are ignored." Line 352  Optional ARGS are ignored."
352  (defvar mh-speed-current-folder nil)  (defvar mh-speed-current-folder nil)
353  (defvar mh-speed-flists-folder nil)  (defvar mh-speed-flists-folder nil)
354    
355    (defmacro mh-process-kill-without-query (process)
356      "PROCESS can be killed without query on Emacs exit.
357    Avoid using `process-kill-without-query' if possible since it is now
358    obsolete."
359      (if (fboundp 'set-process-query-on-exit-flag)
360          `(set-process-query-on-exit-flag ,process nil)
361        `(process-kill-without-query ,process)))
362    
363  ;;;###mh-autoload  ;;;###mh-autoload
364  (defun mh-speed-flists (force &rest folders)  (defun mh-speed-flists (force &rest folders)
365    "Execute flists -recurse and update message counts.    "Execute flists -recurse and update message counts.
# Line 396  only for that one folder." Line 404  only for that one folder."
404                              (or mh-speed-flists-folder '("-recurse"))))                              (or mh-speed-flists-folder '("-recurse"))))
405                 ;; Run flists on all folders the next time around...                 ;; Run flists on all folders the next time around...
406                 (setq mh-speed-flists-folder nil)                 (setq mh-speed-flists-folder nil)
407                   (mh-process-kill-without-query mh-speed-flists-process)
408                 (set-process-filter mh-speed-flists-process                 (set-process-filter mh-speed-flists-process
409                                     'mh-speed-parse-flists-output)))))))                                     'mh-speed-parse-flists-output)))))))
410    
# Line 494  next." Line 503  next."
503        (when (equal folder "")        (when (equal folder "")
504          (clrhash mh-sub-folders-cache)))))          (clrhash mh-sub-folders-cache)))))
505    
506    (defun mh-speed-refresh ()
507      "Refresh the speedbar.
508    Use this function to refresh the speedbar if folders have been added or
509    deleted or message ranges have been updated outside of MH-E."
510      (interactive)
511      (mh-speed-flists t)
512      (mh-speed-invalidate-map ""))
513    
514  ;;;###mh-autoload  ;;;###mh-autoload
515  (defun mh-speed-add-folder (folder)  (defun mh-speed-add-folder (folder)
516    "Add FOLDER since it is being created.    "Add FOLDER since it is being created.

Legend:
Removed from v.1.2.4.3  
changed lines
  Added in v.1.2.4.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26