From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id 89E8F6DE137A for ; Sat, 8 Apr 2017 11:34:34 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: 0.166 X-Spam-Level: X-Spam-Status: No, score=0.166 tagged_above=-999 required=5 tests=[AWL=0.175, HEADER_FROM_DIFFERENT_DOMAINS=0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xuOlq9z-OFYT for ; Sat, 8 Apr 2017 11:34:33 -0700 (PDT) Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34]) by arlo.cworth.org (Postfix) with ESMTP id E0E2D6DE1373 for ; Sat, 8 Apr 2017 11:34:31 -0700 (PDT) Received: by guru.guru-group.fi (Postfix, from userid 501) id AD2F61001E2; Sat, 8 Apr 2017 21:33:45 +0300 (EEST) From: Tomi Ollila To: notmuch@notmuchmail.org Cc: tomi.ollila@iki.fi Subject: [PATCH] emacs: with prefix argument, notmuch-show-stash-date stashes timestamp Date: Sat, 8 Apr 2017 21:33:43 +0300 Message-Id: <20170408183343.396-1-tomi.ollila@iki.fi> X-Mailer: git-send-email 2.11.0 X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 18:34:34 -0000 Using timestamp of a message is useful in many Xapian queries. --- This is my suggested alternative to id:20170110181525.18269-1-jani@nikula.org since my comments in id:m2fuimv4mj.fsf@guru.guru-group.fi This variant uses prefix argument to `c d` to do stashing of a timestamp and do not (at this time) define any customization variable (and set the format of that potential variable in stone). Time will tell whether this is enough -- I currently don't see how any other format would be useful (unless, someone(tm) wants to have some stupid national formats in their date strings ;/) I did implement that list format in customization variable: :+(defcustom notmuch-show-stash-date-additional-formats '() :+ "List of additional date formats to use when stashing date." :+ :type '(repeat string) :+ :group 'notmuch-show) :+ : (defun notmuch-show-stash-date () : "Copy date of current message to kill-ring." : (interactive) :- (notmuch-common-do-stash (notmuch-show-get-date))) :+ (notmuch-common-do-stash :+ (if (= (length notmuch-show-stash-date-additional-formats) 0) :+ (notmuch-show-get-date) :+ (let ((time (seconds-to-time (notmuch-show-get-timestamp))) :+ (history-length 0)) :+ (completing-read "Formatted date to stash: " :+ (mapcar (lambda (i) (format-time-string i time)) :+ notmuch-show-stash-date-additional-formats) :+ nil nil (notmuch-show-get-date)))))) but for now this patch might just be enough (?) I also have some preliminary docid changes (but it looks to me that it would require Xapian 1.4 RangeProcessor (i.e. no *Value* there) to do it) -- have to get a system with Xapian 1.4 for use first... emacs/notmuch-show.el | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index c670160..e7c22da 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -1674,6 +1674,9 @@ (defun notmuch-show-get-cc () (defun notmuch-show-get-date () (notmuch-show-get-header :Date)) +(defun notmuch-show-get-timestamp () + (notmuch-show-get-prop :timestamp)) + (defun notmuch-show-get-from () (notmuch-show-get-header :From)) @@ -2239,10 +2242,17 @@ (defun notmuch-show-stash-cc () (interactive) (notmuch-common-do-stash (notmuch-show-get-cc))) -(defun notmuch-show-stash-date () - "Copy date of current message to kill-ring." - (interactive) - (notmuch-common-do-stash (notmuch-show-get-date))) +(put 'notmuch-show-stash-date 'notmuch-prefix-doc + "Copy timestamp of current message to kill-ring.") +(defun notmuch-show-stash-date (&optional stash-timestamp) + "Copy date of current message to kill-ring. + +If invoked with a prefix argument, copy timestamp of current +message to kill-ring." + (interactive "P") + (if stash-timestamp + (notmuch-common-do-stash (format "%d" (notmuch-show-get-timestamp))) + (notmuch-common-do-stash (notmuch-show-get-date)))) (defun notmuch-show-stash-filename () "Copy filename of current message to kill-ring." -- 2.9.3