;;; Code:
+(require 'cl-lib)
+
(require 'mm-util)
(require 'mm-view)
(require 'mm-decode)
-(require 'cl)
+
(require 'notmuch-compat)
(unless (require 'notmuch-version nil t)
(define-key map "?" 'notmuch-help)
(define-key map "q" 'notmuch-bury-or-kill-this-buffer)
(define-key map "s" 'notmuch-search)
+ (define-key map "t" 'notmuch-search-by-tag)
(define-key map "z" 'notmuch-tree)
+ (define-key map "u" 'notmuch-unthreaded)
(define-key map "m" 'notmuch-mua-new-mail)
+ (define-key map "g" 'notmuch-refresh-this-buffer)
(define-key map "=" 'notmuch-refresh-this-buffer)
(define-key map (kbd "M-=") 'notmuch-refresh-all-buffers)
(define-key map "G" 'notmuch-poll-and-refresh-this-buffer)
will appear in a buffer named \"*Notmuch errors*\" and an error
will be signaled.
-Otherwise the output will be returned"
+Otherwise the output will be returned."
(with-temp-buffer
(let* ((status (apply #'call-process notmuch-command nil t nil args))
(output (buffer-string)))
(defun notmuch-describe-key (actual-key binding prefix ua-keys tail)
- "Prepend cons cells describing prefix-arg ACTUAL-KEY and ACTUAL-KEY to TAIL
+ "Prepend cons cells describing prefix-arg ACTUAL-KEY and ACTUAL-KEY to TAIL.
It does not prepend if ACTUAL-KEY is already listed in TAIL."
- (let ((key-string (concat prefix (format-kbd-macro actual-key))))
+ (let ((key-string (concat prefix (key-description actual-key))))
;; We don't include documentation if the key-binding is
;; over-ridden. Note, over-riding a binding automatically hides the
;; prefixed version too.
;; Documentation for command
(push (cons key-string
(or (and (symbolp binding) (get binding 'notmuch-doc))
- (notmuch-documentation-first-line binding)))
+ (and (functionp binding) (notmuch-documentation-first-line binding))))
tail)))
tail)
(cdr xplist)))
(defun notmuch-split-content-type (content-type)
- "Split content/type into 'content' and 'type'"
+ "Split content/type into 'content' and 'type'."
(split-string content-type "/"))
(defun notmuch-match-content-type (t1 t2)
- "Return t if t1 and t2 are matching content types, taking wildcards into account"
+ "Return t if t1 and t2 are matching content types, taking wildcards into account."
(let ((st1 (notmuch-split-content-type t1))
(st2 (notmuch-split-content-type t2)))
(if (or (string= (cadr st1) "*")
(defun notmuch-parts-filter-by-type (parts type)
"Given a list of message parts, return a list containing the ones matching
the given type."
- (remove-if-not
+ (cl-remove-if-not
(lambda (part) (notmuch-match-content-type (plist-get part :content-type) type))
parts))
;; have symbols of the form :Header as keys, and the resulting alist will have
;; symbols of the form 'Header as keys.
(defun notmuch-headers-plist-to-alist (plist)
- (loop for (key value . rest) on plist by #'cddr
- collect (cons (intern (substring (symbol-name key) 1)) value)))
+ (cl-loop for (key value . rest) on plist by #'cddr
+ collect (cons (intern (substring (symbol-name key) 1)) value)))
(defun notmuch-face-ensure-list-form (face)
"Return FACE in face list form.
are passed to `notmuch-check-exit-status'. If COMMAND is not
provided, it is taken from `process-command'."
(let ((exit-status
- (case (process-status proc)
+ (cl-case (process-status proc)
((exit) (process-exit-status proc))
((signal) msg))))
(when exit-status
(let (stdin-string)
(while (keywordp (car args))
- (case (car args)
+ (cl-case (car args)
(:stdin-string (setq stdin-string (cadr args)
args (cddr args)))
(otherwise
(defvar notmuch-show-process-crypto nil)
(make-variable-buffer-local 'notmuch-show-process-crypto)
-(provide 'notmuch-lib)
+(defun notmuch-interactive-region ()
+ "Return the bounds of the current interactive region.
-;; Local Variables:
-;; byte-compile-warnings: (not cl-functions)
-;; End:
+This returns (BEG END), where BEG and END are the bounds of the
+region if the region is active, or both `point' otherwise."
+ (if (region-active-p)
+ (list (region-beginning) (region-end))
+ (list (point) (point))))
+
+(define-obsolete-function-alias
+ 'notmuch-search-interactive-region
+ 'notmuch-interactive-region
+ "notmuch 0.29")
+
+(provide 'notmuch-lib)
;;; notmuch-lib.el ends here