+2000-05-12 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * wl-thread.el (wl-thread-update-line-msgs): Added optional argument
+ `no-msg'.
+ * wl-summary.el (wl-summary-delete-messages-on-buffer): Set no-msg
+ argument of `wl-thread-update-line-msgs'.
+ (wl-summary-set-parent): Added optional argument `parent-number'.
+ (wl-summary-buffer-saved-message): New buffer local variable.
+ (wl-summary-save-current-message): New command.
+ (wl-summary-yank-saved-message): Ditto.
+ (wl-summary-mode-map): Added key binding for
+ `wl-summary-save-current-message' (\ew) and
+ `wl-summary-yank-saved-message' (\C-y).
+
2000-05-11 Yuuichi Teranishi <teranisi@gohome.org>
* wl-summary.el (wl-summary-mode-map): Added key binding for
;; Author: Yuuichi Teranishi <teranisi@gohome.org>
;; Keywords: mail, net news
-;; Time-stamp: <00/05/11 13:13:04 teranisi>
+;; Time-stamp: <2000-05-12 16:30:34 teranisi>
;; This file is part of Wanderlust (Yet Another Message Interface on Emacsen).
(defvar wl-summary-buffer-copy-list nil)
(defvar wl-summary-buffer-prev-refile-destination nil)
(defvar wl-summary-buffer-prev-copy-destination nil)
+(defvar wl-summary-buffer-saved-message nil)
+
(defvar wl-thread-indent-level-internal nil)
(defvar wl-thread-have-younger-brother-str-internal nil)
(defvar wl-thread-youngest-child-str-internal nil)
'wl-summary-buffer-persistent
'wl-summary-buffer-thread-nodes
'wl-summary-buffer-prev-refile-destination
+ 'wl-summary-buffer-saved-message
'wl-summary-scored
'wl-summary-default-score
'wl-summary-move-direction-downward
(define-key wl-summary-mode-map "?" 'wl-summary-pick)
(define-key wl-summary-mode-map "\ee" 'wl-summary-expire)
+ ;; copy & paste.
+ (define-key wl-summary-mode-map "\ew" 'wl-summary-save-current-message)
+ (define-key wl-summary-mode-map "\C-y" 'wl-summary-yank-saved-message)
+
;; line commands
(define-key wl-summary-mode-map "R" 'wl-summary-mark-as-read)
(define-key wl-summary-mode-map "i" 'wl-summary-prefetch)
(elmo-display-progress
'wl-summary-delete-messages-on-buffer "Deleting..." 100))
(when (eq wl-summary-buffer-view 'thread)
- (wl-thread-update-line-msgs (elmo-uniq-list update-list)))
+ (wl-thread-update-line-msgs (elmo-uniq-list update-list) 'no-msg))
(wl-thread-cleanup-symbols msgs2)
(wl-summary-count-unread
(elmo-msgdb-get-mark-alist wl-summary-buffer-msgdb))
(if wl-cache-prefetch-debug
(message "Reading %d... done" msg))))))))))
-(defun wl-summary-set-parent ()
+(defun wl-summary-set-parent (&optional parent-number)
"Set current message's parent interactively."
(interactive)
(let ((number (wl-summary-message-number))
- (dst-parent (read-from-minibuffer "Parent Message (No.): "))
+ (dst-parent (if (interactive-p)
+ (read-from-minibuffer "Parent Message (No.): ")))
(overview (elmo-msgdb-get-overview wl-summary-buffer-msgdb))
entity dst-parent-entity src-parent
buffer-read-only)
(if (string= dst-parent "")
(setq dst-parent nil)
- (setq dst-parent (string-to-int dst-parent)))
+ (if (interactive-p)
+ (setq dst-parent (string-to-int dst-parent))
+ (setq dst-parent parent-number)))
(setq entity (wl-thread-get-entity number))
(when (and number entity)
(let* (older-brothers younger-brothers parent-entity beg)
(append (and src-parent (list src-parent))
(list (or dst-parent number)))))))
+(defun wl-summary-save-current-message ()
+ "Save current message for `wl-summary-yank-saved-message'."
+ (interactive)
+ (let ((number (wl-summary-message-number)))
+ (setq wl-summary-buffer-saved-message number)
+ (and number (message "No: %s is saved." number))))
+
+(defun wl-summary-yank-saved-message ()
+ "Set current message as a parent of the saved message."
+ (interactive)
+ (if wl-summary-buffer-saved-message
+ (let ((number (wl-summary-message-number)))
+ (save-excursion
+ (wl-thread-jump-to-msg wl-summary-buffer-saved-message)
+ (wl-summary-set-parent number))
+ (setq wl-summary-buffer-saved-message nil))
+ (message "There's no saved message.")))
+
(provide 'wl-summary)
;;; wl-summary.el ends here
;; Author: Yuuichi Teranishi <teranisi@gohome.org>
;; Keywords: mail, net news
-;; Time-stamp: <00/05/09 19:34:25 teranisi>
+;; Time-stamp: <2000-05-12 10:32:53 teranisi>
;; This file is part of Wanderlust (Yet Another Message Interface on Emacsen).
(if (not (wl-thread-entity-get-opened entity))
(wl-thread-entity-get-children-num entity))))
-(defun wl-thread-update-line-msgs (msgs)
+(defun wl-thread-update-line-msgs (msgs &optional no-msg)
(wl-delete-all-overlays)
(let ((count 0))
- (message "Updating deleted thread...")
+ (unless no-msg (message "Updating deleted thread..."))
(while msgs
(setq msgs
(wl-thread-update-line-on-buffer (car msgs) nil msgs))
(setq count (1+ count))
- (message (concat "Updating deleted thread..."
- (make-string (/ count 5) ?.))))
- (message "Updating deleted thread...done.")))
+ (unless no-msg (message (concat "Updating deleted thread..."
+ (make-string (/ count 5) ?.)))))
+ (unless no-msg (message "Updating deleted thread...done."))))
(defsubst wl-thread-update-line-on-buffer-sub (entity msg &optional parent-msg)
(let ((number-alist (elmo-msgdb-get-number-alist wl-summary-buffer-msgdb))