Function: mh-toggle-threads
mh-toggle-threads is an autoloaded, interactive and byte-compiled
function defined in mh-thread.el.gz.
Signature
(mh-toggle-threads)
Documentation
Toggle threaded view of folder.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/mh-e/mh-thread.el.gz
;;;###mh-autoload
(defun mh-toggle-threads ()
"Toggle threaded view of folder."
(interactive)
(let ((msg-at-point (mh-get-msg-num nil))
(old-buffer-modified-flag (buffer-modified-p))
(buffer-read-only nil))
(cond ((memq 'unthread mh-view-ops)
(unless (mh-valid-view-change-operation-p 'unthread)
(error "Can't unthread folder"))
(let ((msg-list ()))
(goto-char (point-min))
(while (not (eobp))
(let ((index (mh-get-msg-num nil)))
(when index
(push index msg-list)))
(forward-line))
(mh-scan-folder mh-current-folder
(mapcar (lambda (x) (format "%s" x))
(mh-coalesce-msg-list msg-list))
t))
(when mh-index-data
(mh-index-insert-folder-headers)
(mh-notate-cur)))
(t (mh-thread-folder)
(push 'unthread mh-view-ops)))
(when msg-at-point (mh-goto-msg msg-at-point t t))
(set-buffer-modified-p old-buffer-modified-flag)
(mh-recenter nil)))