|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T m
Length: 4192 (0x1060)
Types: TextFile
Names: »mh-extras.ml«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
└─⟦3658e588a⟧ »EurOpenD3/mail/mh/mh-6.7.tar.Z«
└─⟦c75e36ecb⟧
└─⟦this⟧ »mh-6.7/miscellany/mhe/mh-extras.ml«
; This autoloaded file implements the "x" key of mhe: extended commands.
(defun
(&mh-extras
(save-excursion
(pop-to-buffer "mh-xcommands")
(use-local-map "&mh-x-keymap")
(if (= 0 (buffer-size))
(insert-string
"Key Meaning (Type extended command character: )\n"
" q Quit: get out of this extended command mode\n"
" p Pack the current folder (renumber messages to be 1-N)\n"
" c Close the current folder (process deletes and moves).\n"
" s Scavenge the current folder (regenerate header buffer)\n"
" f Show a list of the existing folders\n"
" l Print the current message on the line printer.\n"
" m Make a new folder.\n"
" k Kill a folder (erase it and all of its contents)\n"
)
)
(setq mode-line-format
"mhe extended command mode. Type 'q' to quit this mode %M")
(setq buffer-is-modified 0)
(beginning-of-file) (end-of-line) (backward-character)
(backward-character)
(local-bind-to-key "&mh-xpack" "p")
(local-bind-to-key "&mh-xclose" "c")
(local-bind-to-key "&mh-xscavenge" "s")
(local-bind-to-key "&mh-xfolders" "f")
(local-bind-to-key "&mh-xlprint" "l")
(local-bind-to-key "&mh-xmake" "m")
(local-bind-to-key "&mh-xkill" "k")
(recursive-edit)
(pop-to-buffer "mh-xcommands")
(delete-window)
)
)
(&mh-beep (error-message "Use 'q' to quit this extended command mode."))
(&mh-xpack
(pop-to-buffer (concat "+" mh-folder))
(&mh-pack-folder)
(&mh-adjust-window)
(exit-emacs)
)
(&mh-xclose
(message "C: close folder...") (sit-for 0)
(pop-to-buffer (concat "+" mh-folder))
(message "C: close folder...") (sit-for 1)
(&mh-close-folder)
(exit-emacs)
)
(&mh-xscavenge sm
(pop-to-buffer (concat "+" mh-folder))
(setq sm mode-line-format)
(&mh-regenerate-headers)
(setq mode-line-format sm)
(exit-emacs)
)
(&mh-xfolders
(message "F: list folders...")
(pop-to-buffer "mh-temp")
(use-local-map "&mh-keymap")
(erase-buffer) (sit-for 0)
(send-to-shell (concat mh-progs "/folders"))
(exit-emacs)
)
(&mh-xlprint
(error-message "L: command not implemented.")
)
(&mh-xmake exists msgg name
(message "M: make a new folder...")
(setq exists 1)
(setq msgg "M: make a new folder...name for it? ")
(while exists
(setq name (get-tty-string msgg))
(if (= 0 (length name))
(progn
(message "Aborted.") (sit-for 5)
(exit-emacs)))
(if (!= (string-to-char (substr name 1 1)) '/')
(setq t-buffer-filename (concat mh-path "/" name))
(setq t-buffer-filename name)
)
(setq exists (file-exists t-buffer-filename))
(if (= exists 1)
(setq msgg (concat "Folder +" name " already exists. Try another name? "))
)
)
(send-to-shell
(concat "mkdir " t-buffer-filename))
(exit-emacs)
)
(&mh-xkill exists action name msgg
(message "K: kill a folder, erasing all of its contents...")
(setq exists 0)
(setq msgg "K: kill a folder, erasing all of its contents...which folder? ")
(while (! exists)
(setq name (get-tty-string msgg))
(if (= 0 (length name))
(progn
(message "Aborted.") (sit-for 5)
(exit-emacs)))
(if (!= (string-to-char (substr name 1 1)) '/')
(setq t-buffer-filename (concat mh-path "/" name))
(setq t-buffer-filename name)
)
(setq exists (file-exists t-buffer-filename))
(if (= exists 0)
(setq msgg (concat "Folder +" name " does not exist. Try another name? "))
)
)
(setq action
(get-response (concat "Do you really want to destroy folder +"
name " and all its contents? ")
"yYnN\3" "Please answer y or n"))
(if (= name "inbox")
(setq action
(get-response "That's your one and only inbox you are asking me to destroy. Still sure? "
"yYnN\3" "Please answer y or n: destroy inbox??? ")))
(if (= action 'y')
(progn
(send-to-shell (concat "rmf +" name))
(message "OK, the deed is done... +" name " destroyed.")
)
(message "Nothing has been destroyed.")
)
(sit-for 10)
(exit-emacs)
)
)