Re: notmuch-show: Verification via epa-verify-region affected by formatting hooks

2019-04-09 Thread Rainer Gemulla
Thanks David! I updated the Wiki accordingly. This issue can be closed from my 
point of view.

Best,
Rainer

David Bremner  writes:

> Rainer Gemulla  writes:
>
>> Hi all,
>>
>> when a message contains an text/plain part that is signed via inline pgp and 
>> shown in notmuch-show-mode, verification of that part's signature via 
>> epa-mail-verify or epa-verify-region fails. 
>>
>> The reason is that the hooks in notmuch-show-insert-text/plain-hook modify 
>> the text (and thus the signature becomes invalid). Calling 
>> notmuch-show-pipe-part with "gpg --verify" works as expected and verifies 
>> the correctness of the signature.
>>
>> Not sure what to do about this, but I find the current behavior confusing. 
>> The notmuch emacstips documentation also (implicitly) states that 
>> verification of inline pgp can be done via the epa-* functions. 
>>
>
> That documentation is wiki. That means both that you should take it with
> a grain of salt, and that we welcome updates to it
>
>   https://notmuchmail.org/wikiwriteaccess/
>   
>> One option may be to document this behavior. Another one to add a
>> function like notmuch-crypto-verify-part (which is what I currently
>> do).
>
> I suppose that you could also customize notmuch-show-insert-text/plain-hook
>
>> And/or one may be verify each inline pgp signature part by
>> default (when crypto processing is enabled) and add a "crypto button".
>
> As far as documentation in the wiki there is a FAQ about (non) support
> for inline PGP. I think dkg (in copy) was working on decryption of
> inline PGP, but explicitely not on verifying signatures. You can read a
> summary of his issues with inline PGP signatures at
>
> https://dkg.fifthhorseman.net/notes/inline-pgp-harmful/


signature.asc
Description: PGP signature
___
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch


[PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region

2019-04-09 Thread Pierre Neidhardt
---
 emacs/notmuch-lib.el |  9 +
 emacs/notmuch.el | 17 -
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el
index 546ab6fd..7fc342a5 100644
--- a/emacs/notmuch-lib.el
+++ b/emacs/notmuch-lib.el
@@ -1008,6 +1008,15 @@ status."
 (defvar notmuch-show-process-crypto nil)
 (make-variable-buffer-local 'notmuch-show-process-crypto)
 
+(defun notmuch-interactive-region ()
+  "Return the bounds of the current interactive region.
+
+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
+
 (provide 'notmuch-lib)
 
 ;; Local Variables:
diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 804e78ab..773d1206 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -557,20 +557,11 @@ thread."
(setq output (append output (notmuch-search-get-tags pos)
 output))
 
-(defun notmuch-search-interactive-region ()
-  "Return the bounds of the current interactive region.
-
-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
-
 (defun notmuch-search-interactive-tag-changes (&optional initial-input)
   "Prompt for tag changes for the current thread or region.
 
 Returns (TAG-CHANGES REGION-BEGIN REGION-END)."
-  (let* ((region (notmuch-search-interactive-region))
+  (let* ((region (notmuch-interactive-region))
 (beg (first region)) (end (second region))
 (prompt (if (= beg end) "Tag thread" "Tag region")))
 (cons (notmuch-read-tag-changes
@@ -590,8 +581,8 @@ is inactive this applies to the thread at point.
 If ONLY-MATCHED is non-nil, only tag matched messages."
   (interactive (notmuch-search-interactive-tag-changes))
   (unless (and beg end)
-(setq beg (car (notmuch-search-interactive-region))
- end (cadr (notmuch-search-interactive-region
+(setq beg (car (notmuch-interactive-region))
+ end (cadr (notmuch-interactive-region
   (let ((search-string (notmuch-search-find-stable-query-region
beg end only-matched)))
 (notmuch-tag search-string tag-changes)
@@ -627,7 +618,7 @@ messages will be \"unarchived\" (i.e. the tag changes in
 `notmuch-archive-tags' will be reversed).
 
 This function advances the next thread when finished."
-  (interactive (cons current-prefix-arg (notmuch-search-interactive-region)))
+  (interactive (cons current-prefix-arg (notmuch-interactive-region)))
   (when notmuch-archive-tags
 (notmuch-search-tag
  (notmuch-tag-change-list notmuch-archive-tags unarchive) beg end))
-- 
2.21.0

___
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch