(lambda (p)
(let ((disposition (mm-handle-disposition p)))
(and (listp disposition)
- (equal (car disposition) "attachment")
+ (or (equal (car disposition) "attachment")
+ (and (equal (car disposition) "inline")
+ (assq 'filename disposition)))
(incf count))))
mm-handle)
count))
(lambda (p)
(let ((disposition (mm-handle-disposition p)))
(and (listp disposition)
- (equal (car disposition) "attachment")
+ (or (equal (car disposition) "attachment")
+ (and (equal (car disposition) "inline")
+ (assq 'filename disposition)))
(or (not queryp)
(y-or-n-p
(concat "Save '" (cdr (assq 'filename disposition)) "' ")))
(while (< (point) end)
(let ((beg-sub (point-marker))
(indent (make-string depth ? ))
- (citation "[[:space:]]*>"))
+ (citation ">"))
+ (move-to-column depth)
(if (looking-at citation)
(progn
(while (looking-at citation)
- (forward-line))
+ (forward-line)
+ (move-to-column depth))
(let ((overlay (make-overlay beg-sub (point)))
(invis-spec (make-symbol "notmuch-citation-region")))
(add-to-invisibility-spec invis-spec)
(overlay-put overlay 'invisible invis-spec)
- (let ((p (point))
+ (let ((p (point-marker))
(cite-button-text
(concat "[" (number-to-string (count-lines beg-sub (point)))
- "-line citation.]")))
+ "-line citation. Click/Enter to show.]")))
(goto-char (- beg-sub 1))
(insert (concat "\n" indent))
(insert-button cite-button-text
'invisibility-spec invis-spec
:type 'notmuch-button-citation-toggle-type)
- (insert "\n")
- (goto-char (+ (length cite-button-text) p))
+ (forward-line)
))))
(move-to-column depth)
(if (looking-at notmuch-show-signature-regexp)
(goto-char (- beg-sub 1))
(insert (concat "\n" indent))
(let ((sig-button-text (concat "[" (number-to-string sig-lines)
- "-line signature.]")))
+ "-line signature. Click/Enter to show.]")))
(insert-button sig-button-text 'invisibility-spec invis-spec
:type 'notmuch-button-signature-toggle-type)
)
(save-excursion
(let* ((basic-args (list notmuch-command nil t nil "show" "--entire-thread" thread-id))
(args (if query-context (append basic-args (list "and (" query-context ")")) basic-args)))
- (apply 'call-process args))
+ (apply 'call-process args)
+ (when (and (eq (buffer-size) 0) query-context)
+ (apply 'call-process basic-args)))
(notmuch-show-markup-messages)
)
(run-hooks 'notmuch-show-hook)
which match the current search terms."
(interactive
(list (notmuch-select-tag-with-completion "Tag to add: ")))
- (notmuch-call-notmuch-process "tag" (concat "+" tag) (notmuch-search-find-thread-id) " and " notmuch-search-query-string)
+ (notmuch-call-notmuch-process "tag" (concat "+" tag) (notmuch-search-find-thread-id))
(notmuch-search-set-tags (delete-dups (sort (cons tag (notmuch-search-get-tags)) 'string<))))
(defun notmuch-search-remove-tag (tag)
which match the current search terms."
(interactive
(list (notmuch-select-tag-with-completion "Tag to remove: " (notmuch-search-find-thread-id))))
- (notmuch-call-notmuch-process "tag" (concat "-" tag) (notmuch-search-find-thread-id) " and " notmuch-search-query-string)
+ (notmuch-call-notmuch-process "tag" (concat "-" tag) (notmuch-search-find-thread-id))
(notmuch-search-set-tags (delete tag (notmuch-search-get-tags))))
(defun notmuch-search-archive-thread ()