MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.218.164.141
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/mh-e/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/mh-e/mh-speed.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:11:40 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/mh-e/mh-speed.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\207" [require mh-e gnus-util speedbar timer] 2)
(defvar mh-speed-refresh-flag nil)
(defvar mh-speed-last-selected-folder nil)
(defvar mh-speed-folder-map (make-hash-table :test 'equal))
(defvar mh-speed-flists-cache (make-hash-table :test 'equal))
(defvar mh-speed-flists-process nil)
(defvar mh-speed-flists-timer nil)
(defvar mh-speed-partial-line "")
(byte-code "\302\303\304\"A\235\204\305!\303\304\"\211\302	AB\241\210)\302\207" [speedbar-stealthy-function-list #:v mh-speed-stealth-update assoc "files" copy-tree] 5)
#@32 Extra menu items for speedbar.
(defvar mh-folder-speedbar-menu-items '("--" ["Visit Folder" mh-speed-view (with-current-buffer speedbar-buffer (get-text-property (mh-line-beginning-position) 'mh-folder))] ["Expand Nested Folders" mh-speed-expand-folder (and (get-text-property (mh-line-beginning-position) 'mh-children-p) (not (get-text-property (mh-line-beginning-position) 'mh-expanded)))] ["Contract Nested Folders" mh-speed-contract-folder (and (get-text-property (mh-line-beginning-position) 'mh-children-p) (get-text-property (mh-line-beginning-position) 'mh-expanded))] ["Refresh Speedbar" mh-speed-refresh t]) (#$ . 1147))
(defvar mh-show-speedbar-menu-items mh-folder-speedbar-menu-items)
(defvar mh-letter-speedbar-menu-items mh-folder-speedbar-menu-items)
#@47 Specialized speedbar keymap for MH-E buffers.
(defvar mh-folder-speedbar-key-map (speedbar-make-specialized-keymap) (#$ . 1920))
(gnus-define-keys-1 'mh-folder-speedbar-key-map '("+" mh-speed-expand-folder "-" mh-speed-contract-folder "
" mh-speed-view "r" mh-speed-refresh))
(defvar mh-show-speedbar-key-map mh-folder-speedbar-key-map)
(defvar mh-letter-speedbar-key-map mh-folder-speedbar-key-map)
(byte-code "\300\301\302\"\210\300\303\302\"\207" [defalias mh-speed-contract-folder mh-speed-toggle mh-speed-expand-folder] 3)
#@182 Regenerates the list of folders in the speedbar.

Run this command if you've added or deleted a folder, or want to
update the unseen message count before the next automatic
update.
(defalias 'mh-speed-refresh #[nil "\300\301!\210\302\303!\207" [mh-speed-flists t mh-speed-invalidate-map ""] 2 (#$ . 2455) nil])
#@74 Do stealth update.
With non-nil FORCE, the update is always carried out.
(defalias 'mh-speed-stealth-update #[(&optional force) "rq\210\302e\303\")\203\304	!\210\305\207\306\207" [speedbar-buffer force get-text-property mh-level mh-speed-update-current-folder nil t] 3 (#$ . 2772)])
#@104 Toggle the display of child folders in the speedbar.
The optional arguments from speedbar are IGNORED.
(defalias 'mh-speed-toggle #[(&rest ignored) "\306 \210\307`\310\"\307`\311\"\307`\312\"\307`\313\"`\314\315\f\204&\314\202\224\203|\314y\210`\307`\313\"\203f\307`\313\"\nV\203f\307`\310\"\316\"\203_\316\"\314\211\223\210\317\"\210)\314y\210\202/`|\210\320y\210\321\322!\210\323\324 \325 T\326#\202\224\314y\210\327
\nT\"\210	b\210\321\330!\210\323\324 \325 T\331#.\207" [start-region point level expanded kids-p parent beginning-of-line get-text-property mh-folder mh-children-p mh-expanded mh-level nil t gethash remhash -1 speedbar-change-expand-button-char 43 add-text-properties mh-line-beginning-position line-beginning-position (mh-expanded nil) mh-speed-add-buttons 45 (mh-expanded t) inhibit-read-only folder mh-speed-folder-map] 6 (#$ . 3065) nil])
#@143 Visits the selected folder just as if you had used \<mh-folder-mode-map>\[mh-visit-folder].
The optional arguments from speedbar are IGNORED.
(defalias 'mh-speed-view #[(&rest ignored) "\304\305 \306\"\211;\205\307\310\311\312\211	&;\205.\313 r\314\216\315 \210\316\n\"\210\317 \210\320 +*\207" [folder mh-interpret-number-as-range-flag range save-selected-window--state get-text-property mh-line-beginning-position mh-folder mh-read-range "Scan" t nil internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) dframe-select-attached-frame mh-visit-folder delete-other-windows dframe-maybee-jump-to-attached-frame] 8 (#$ . 3968) nil])
#@126 Interface function to create MH-E speedbar buffer.
BUFFER is the MH-E buffer for which the speedbar buffer is to be
created.
(defalias 'mh-folder-speedbar-buttons #[(buffer) "\303e\304\"?\205K\305 \210\306!\210\307\310\311\312\313\314\315\313\316\317&	\210\320y\210\321\313\322\313\"\206,\323 \324 T\313\223	#\210)\325\324 \326 T\327#\210\330\331!\210\n\317V\205K\332\313!\207" [mh-speed-folder-map #1=#:v mh-speed-update-interval get-text-property mh-level erase-buffer clrhash speedbar-make-tag-line bracket 43 mh-speed-toggle nil " " ignore mh-speedbar-folder 0 -1 puthash gethash make-marker mh-line-beginning-position add-text-properties line-beginning-position (mh-folder nil mh-expanded nil mh-children-p t mh-level 0) mh-speed-stealth-update t mh-speed-flists] 10 (#$ . 4669)])
(byte-code "\300\301\302\"\210\300\303\302\"\207" [defalias mh-show-speedbar-buttons mh-folder-speedbar-buttons mh-letter-speedbar-buttons] 3)
#@70 Compatibility macro to handle speedbar versions 0.11a and 0.14beta4.
(defalias 'mh-speed-select-attached-frame '(macro . #[nil "\300\301!\203\302\207\303\304!\203\305\207\306\307!\207" [fboundp dframe-select-attached-frame (dframe-select-attached-frame speedbar-frame) boundp speedbar-attached-frame (select-frame speedbar-attached-frame) error "Installed speedbar version not supported by MH-E"] 2 (#$ . 5611)]))
#@475 Update speedbar highlighting of the current folder.
The function tries to be smart so that work done is minimized.
The currently highlighted folder is cached and no highlighting
happens unless it changes.
Also highlighting is suspended while the speedbar frame is selected.
Otherwise you get the disconcerting behavior of folders popping open
on their own when you are trying to navigate around in the speedbar
buffer.

The update is always carried out if FORCE is non-nil.
(defalias 'mh-speed-update-current-folder #[(force) "\306 \212\307	!\210\310\311 !\312!\210)p\313
\204:\203%	=\203:\n;\203j\n\314\315O\316\232\203j\n\232\204j\317\312	!\210q\210\320\321\"\210\322\n!\203V\320\n\323\"\210\n\324 \210\325\326	!`\"\210q\210\312!\210	=\205t\313\211,\207" [lastf speedbar-frame newcf lastb case-fold-search force selected-frame dframe-select-attached-frame mh-speed-extract-folder-name buffer-name select-frame t 0 1 "+" nil mh-speed-highlight mh-speedbar-folder mh-speed-goto-folder mh-speedbar-selected-folder speedbar-position-cursor-on-line set-window-point frame-first-window mh-speed-refresh-flag mh-speed-last-selected-folder speedbar-buffer] 3 (#$ . 6036)])
#@21 Set FOLDER to FACE.
(defalias 'mh-speed-highlight #[(folder face) "\212\304\305	\n`#b\210\306 \210\307\310\311 \304#\203\312!\202!\313!\306 \210\307\314\311 \304#\2054\315`\311 \303$*\207" [inhibit-read-only folder mh-speed-folder-map face t gethash beginning-of-line re-search-forward "([1-9][0-9]*/[0-9]+)" mh-line-end-position mh-speed-bold-face mh-speed-normal-face "\\[.\\] " put-text-property] 5 (#$ . 7240)])
#@36 Return normal face for given FACE.
(defalias 'mh-speed-normal-face #[(face) "\301=\203\302\207\303=\203\304\207\207" [face mh-speedbar-folder-with-unseen-messages mh-speedbar-folder mh-speedbar-selected-folder-with-unseen-messages mh-speedbar-selected-folder] 2 (#$ . 7672)])
#@34 Return bold face for given FACE.
(defalias 'mh-speed-bold-face #[(face) "\301=\203\302\207\303=\203\304\207\207" [face mh-speedbar-folder mh-speedbar-folder-with-unseen-messages mh-speedbar-selected-folder mh-speedbar-selected-folder-with-unseen-messages] 2 (#$ . 7961)])
#@104 Move point to line containing FOLDER.
The function will expand out parent folders of FOLDER if needed.
(defalias 'mh-speed-goto-folder #[(folder) "\306\307\310\f\"\204+	\203+\311\312\"\211\250\203	T\306O\nB\313	O\202\310\f\"\211\203:
b\210\202Peb\210\314 \210\315`\316\"\204J\314 \210\310\f\"b\210)\n\203\200\315\317 \320\"\232\203l\314 \210\315`\316\"\204l\314 \210\321\322\n\211A@#\310\f`#b\210\202Q\323 \210\315`\320\"\232+\207" [folder last-slash suffix-list prefix mh-speed-folder-map prefix-position nil t gethash mh-search-from-end 47 0 mh-speed-toggle get-text-property mh-expanded mh-line-beginning-position mh-folder format "%s/%s" beginning-of-line] 6 (#$ . 8247)])
#@136 Given an MH-E BUFFER find the folder that should be highlighted.
Do the right thing for the different kinds of buffers that MH-E
uses.
(defalias 'mh-speed-extract-folder-name #[(buffer) "rq\210	\306=\203\n\202D	\307=\203q\210\n\202D	\310=\205D\311\f
\"\205D
\312\225\313O\314\315\"\211\205C\316\317\312O\"*)\207" [buffer major-mode mh-current-folder mh-show-folder-buffer mh-user-path buffer-file-name mh-folder-mode mh-show-mode mh-letter-mode string-match 0 nil mh-search-from-end 47 format "+%s" rel-path directory-end] 6 (#$ . 8964)])
#@70 Add speedbar button for FOLDER which is at indented by LEVEL amount.
(defalias 'mh-speed-add-buttons #[(folder level) "\302!\303\304	\")\207" [folder folder-list mh-sub-folders mapc #[(f) "\306\307\206\310\203\311\202\312	@$\313\n\"\314\315\316	A\203&\317\202'\320\321\322\306\323	@\f\203;\306\324\f@\fA#\202<\312#\325\322\f\203N\f@\326V\203N\327\202O\330$&	\210\212\331y\210\n%&'\332%\313\n&\"\206l\333 \334 T\322\223'#\210*\335\334 \334 T\336\n\337\322\340	A??\341\f\205\221\342\f@\fABD\343$D\"BBBBBB#,\207" [folder f folder-name mh-speed-flists-cache counts inhibit-read-only format "%s%s%s" "+" "/" "" gethash t speedbar-make-tag-line bracket 43 32 mh-speed-toggle nil "%s%s" " (%s/%s)" mh-speed-view 0 mh-speedbar-folder-with-unseen-messages mh-speedbar-folder -1 puthash make-marker mh-line-beginning-position add-text-properties mh-folder mh-expanded mh-children-p append mh-count mh-level level #1=#:v mh-speed-folder-map #2=#:v] 13]] 3 (#$ . 9530)])
(defvar mh-speed-current-folder nil)
(defvar mh-speed-flists-folder nil)
#@131 PROCESS can be killed without query on Emacs exit.
Avoid using `process-kill-without-query' if possible since it is
now obsolete.
(defalias 'mh-process-kill-without-query '(macro . #[(process) "\301\302!\203\f\302\303BB\207\304D\207" [process fboundp set-process-query-on-exit-flag (nil) process-kill-without-query] 3 (#$ . 10600)]))
#@196 Execute flists -recurse and update message counts.
If FORCE is non-nil the timer is reset.

Any number of optional FOLDERS can be specified. If specified,
flists is run only for that one folder.
(defalias 'mh-speed-flists #[(force &rest folders) "\203)	\203\306	!\210\307\310\n!\203)\311\n!\312=\204)\313\n\314\"\210\315\n!\210\316\307\f	?\205?\317\307\320V\205;\321#\211\207" [force mh-speed-flists-timer mh-speed-flists-process mh-speed-partial-line folders mh-speed-flists-folder mh-cancel-timer nil processp process-status exit set-process-filter t kill-process "" run-at-time 0 #[nil "\306!\205\f\307!\310=??\205c	\203\311	!@\312\313O\2028\314\315!r\nq\210\316\216\317\320\321\"\313\322\313\323%\210edS{+\324P\325\326\327\313\320\330\"	\203K\331\202L\332\333\334
!	\206U\335&\313\336\313\"\210\337\340\"\207" [mh-speed-flists-process mh-speed-flists-folder #1=#:temp-buffer mh-progs mh-speed-current-folder mh-unseen-seq processp process-status exit reverse 1 nil generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) call-process expand-file-name "folder" (t nil) "-fast" "+" apply start-process "*flists*" "flists" "-noall" "-all" "-sequence" symbol-name ("-recurse") set-process-query-on-exit-flag set-process-filter mh-speed-parse-flists-output] 9] mh-speed-update-interval] 4 (#$ . 10944) (list t)])
#@127 Parse the incremental results from flists.
PROCESS is the flists process and OUTPUT is the results that must
be handled next.
(defalias 'mh-speed-parse-flists-output #[(process output) "\306 \307\310\211\211\211\211\"\311\216\312\313#
#\211\203\314\315$#
\fO#\316$\317%\"\211&@&A@\320&8)\n\203	\203\203\321\n'\"\211(@	\232?\206a(A\232?)\203\n)'*\322)	B*#\210*\323\324+!!\203r+q\210\325,\326e\327\"\203\321\n-\"\310\211.\203.b\210\330 b\210\326`\331\"\204\326\332 b\210\326`S\333\"\314\334	#c\210\335\336\"\210\330 b\210\337``T\331	BD#\210\202\326`\331\"	B\232\204\332 b\210\326`S\333\"\340\341\330 \325#\210`\332 |\210\314\334	#c\210\335\336\"\210\330 b\210\337``T\331	BD#\210**\fT\202)#
\310O\211$.\207" [total unseen folder line line-end position match-data 0 nil ((set-match-data prevailing-match-data)) string-match "\n" format "%s%s" "" mh-parse-flist-output-line 2 gethash puthash buffer-live-p get-buffer t get-text-property mh-level mh-line-beginning-position mh-count mh-line-end-position face " (%s/%s)" mh-speed-highlight unknown add-text-properties re-search-backward " " prevailing-match-data output mh-speed-partial-line mh-speed-current-folder #1=#:--cl-var-- mh-speed-flists-cache old-pair #2=#:v #3=#:v speedbar-buffer inhibit-read-only mh-speed-folder-map pos] 8 (#$ . 12353)])
#@49 Remove FOLDER from various optimization caches.
(defalias 'mh-speed-invalidate-map #[(folder) "rq\210\306\307\310\n\"\211\205\n\311O\312\f
\"\306\203\230\313\f!\211\2041\314\202VA\204V\203C\nT\306O\202G\n\315\306O\211@@)\232\203V\316)b\210\317\320 \321\"\f\232\203\230\317\320 \322\"\203p\323 \210\203\214\324 \325!\210\326\320 \320 T\327\314\232D#\210)\330!\331\"\210\306!\324\"\n\332\232\205\240\333 .\207" [speedbar-buffer speedbar-update-flag folder last-slash parent mh-speed-folder-map nil mh-search-from-end 47 0 gethash mh-sub-folders 43 1 32 get-text-property mh-line-beginning-position mh-folder mh-expanded mh-speed-toggle t mh-speedbar-change-expand-button-char add-text-properties mh-children-p mh-speed-highlight mh-speedbar-folder "" mh-clear-sub-folders-cache parent-position parent-change parent-kids x inhibit-read-only mh-speed-last-selected-folder mh-speed-refresh-flag] 7 (#$ . 13736) (list "")])
#@69 Change the expansion button character to CHAR for the current line.
(defalias 'mh-speedbar-change-expand-button-char #[(char) "\212\302 \210\303\304\305 \306#\2051\306\307u\210\310\311!\210\312	\311\306#\210\313``S\314\315$\210\316\317!\2050\317`\320Z\321\"))\207" [inhibit-read-only char beginning-of-line re-search-forward "\\[.\\]" mh-line-end-position t -2 delete-char 1 insert-char put-text-property invisible nil fboundp speedbar-insert-image-button-maybe 2 3] 5 (#$ . 14711)])
#@101 Add FOLDER since it is being created.
The function invalidates the latest ancestor that is present.
(defalias 'mh-speed-add-folder #[(folder) "rq\210\306\307\310	\"	\306\311\312\215\210\n\204\306\n\206\"\313\306\"b\210\314\315\316!\210\317\320 \320 T\321#\210)\322\320 \323\"\203@\324 \210\314\211-\207" [speedbar-buffer folder ancestor-pos ancestor last-slash speedbar-update-flag nil mh-search-from-end 47 --cl-block-while-loop-- (byte-code "\203 	\304O\305	\n\"\211\203\306\307\310\"\210\311\312	\"\211\204\310\207" [last-slash ancestor mh-speed-folder-map ancestor-pos 0 gethash throw --cl-block-while-loop-- nil mh-search-from-end 47] 4) gethash t mh-speedbar-change-expand-button-char 43 add-text-properties mh-line-beginning-position (mh-children-p t) get-text-property mh-expanded mh-speed-toggle mh-speed-folder-map inhibit-read-only mh-speed-refresh-flag] 4 (#$ . 15205)])
(provide 'mh-speed)

MMCT - 2023