* [PATCH v2] emacs: add compatability functions for emacs 23
@ 2016-10-29 10:21 Mark Walters
2016-11-02 23:57 ` Matt Armstrong
2016-11-11 12:11 ` David Bremner
0 siblings, 2 replies; 8+ messages in thread
From: Mark Walters @ 2016-10-29 10:21 UTC (permalink / raw)
To: notmuch
Some of the recent changes to the emacs code have used functions
introduced in emacs 24. The functions used are read-char-choice and
setq-local. This changeset adds compatability functions to
notmuch-lib so that it should work on emacs 23.
---
Version 1 of this patch (with some discussion) is at
id:1477191835-17828-1-git-send-email-markwalters1009@gmail.com
The general consensus is that we should not define functions outside
our namespace, even when they are just backports of functions from
later emacs.
rlb on irc gave one additional reason not mentioned earlier in the
thread -- it could be that some other package choses to test for the
setq-local say and perhaps draws incorrect conclusions about the
environment. In particular this would be a case where we were breaking
otherwise working packages.
I think it makes sense to included the whole of read-char-choice, not
some cutdown version, as we may use other functionality from it later
(eg help-forms etc), and it would be confusing if the change only
worked on emacs 24.
Finally, I have two questions
1) please could someone with emacs 23 see if the testsuite passes? My
system with emacs 23 is so outdated the test suite doesn't run (wrong
python versions I think).
2) Is the copyright notice I have included above the two functions
sufficient, and suitably placed?
Best wishes
Mark
emacs/notmuch-address.el | 4 +--
emacs/notmuch-company.el | 3 +-
emacs/notmuch-lib.el | 72 ++++++++++++++++++++++++++++++++++++++++++++
emacs/notmuch-maildir-fcc.el | 4 +--
4 files changed, 78 insertions(+), 5 deletions(-)
diff --git a/emacs/notmuch-address.el b/emacs/notmuch-address.el
index b2e1fba..1af3263 100644
--- a/emacs/notmuch-address.el
+++ b/emacs/notmuch-address.el
@@ -136,11 +136,11 @@ toggles the setting in this buffer."
(interactive)
(if (local-variable-p 'notmuch-address-command)
(kill-local-variable 'notmuch-address-command)
- (setq-local notmuch-address-command 'internal))
+ (notmuch-setq-local notmuch-address-command 'internal))
(if (boundp 'company-idle-delay)
(if (local-variable-p 'company-idle-delay)
(kill-local-variable 'company-idle-delay)
- (setq-local company-idle-delay nil))))
+ (notmuch-setq-local company-idle-delay nil))))
(defun notmuch-address-matching (substring)
"Returns a list of completion candidates matching SUBSTRING.
diff --git a/emacs/notmuch-company.el b/emacs/notmuch-company.el
index 168315f..5d75c14 100644
--- a/emacs/notmuch-company.el
+++ b/emacs/notmuch-company.el
@@ -28,6 +28,7 @@
;;; Code:
(eval-when-compile (require 'cl))
+(require 'notmuch-lib)
(defvar notmuch-company-last-prefix nil)
(make-variable-buffer-local 'notmuch-company-last-prefix)
@@ -53,7 +54,7 @@
;; internal completion) can still be accessed via standard company
;; functions, e.g., company-complete.
(unless (eq notmuch-address-command 'internal)
- (setq-local company-idle-delay nil)))
+ (notmuch-setq-local company-idle-delay nil)))
;;;###autoload
(defun notmuch-company (command &optional arg &rest _ignore)
diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el
index 1f0d167..bb53170 100644
--- a/emacs/notmuch-lib.el
+++ b/emacs/notmuch-lib.el
@@ -966,6 +966,78 @@ status."
(defvar notmuch-show-process-crypto nil)
(make-variable-buffer-local 'notmuch-show-process-crypto)
+;; Compatibility functions for emacs 23.
+
+;; The functions in this section are copied from eamcs 24.4 and are
+;; Copyright (C) 1985-1986, 1992, 1994-1995, 1999-2014 Free Software
+;; Foundation, Inc.
+
+(if (fboundp 'setq-local)
+ (defalias 'notmuch-setq-local 'setq-local)
+ (defmacro notmuch-setq-local (var val)
+ "Set variable VAR to value VAL in current buffer.
+
+Backport of setq-local for emacs without setq-local (pre 24.3)."
+ `(set (make-local-variable ',var) ,val)))
+
+(if (fboundp 'read-char-choice)
+ (defalias 'notmuch-read-char-choice 'read-char-choice)
+ (defun notmuch-read-char-choice (prompt chars &optional inhibit-keyboard-quit)
+ "Read and return one of CHARS, prompting for PROMPT.
+Any input that is not one of CHARS is ignored.
+
+If optional argument INHIBIT-KEYBOARD-QUIT is non-nil, ignore
+keyboard-quit events while waiting for a valid input.
+
+This is an exact copy of this function from emacs 24 for use on
+emacs 23, except with the one emacs 24 only function it calls
+inlined."
+ (unless (consp chars)
+ (error "Called `read-char-choice' without valid char choices"))
+ (let (char done show-help (helpbuf " *Char Help*"))
+ (let ((cursor-in-echo-area t)
+ (executing-kbd-macro executing-kbd-macro)
+ (esc-flag nil))
+ (save-window-excursion ; in case we call help-form-show
+ (while (not done)
+ (unless (get-text-property 0 'face prompt)
+ (setq prompt (propertize prompt 'face 'minibuffer-prompt)))
+ (setq char (let ((inhibit-quit inhibit-keyboard-quit))
+ (read-key prompt)))
+ (and show-help (buffer-live-p (get-buffer helpbuf))
+ (kill-buffer helpbuf))
+ (cond
+ ((not (numberp char)))
+ ;; If caller has set help-form, that's enough.
+ ;; They don't explicitly have to add help-char to chars.
+ ((and help-form
+ (eq char help-char)
+ (setq show-help t)
+ ;; This is an inlined copy of help-form-show as that
+ ;; was introduced in emacs 24 too.
+ (let ((msg (eval help-form)))
+ (if (stringp msg)
+ (with-output-to-temp-buffer " *Char Help*"
+ (princ msg))))))
+ ((memq char chars)
+ (setq done t))
+ ((and executing-kbd-macro (= char -1))
+ ;; read-event returns -1 if we are in a kbd macro and
+ ;; there are no more events in the macro. Attempt to
+ ;; get an event interactively.
+ (setq executing-kbd-macro nil))
+ ((not inhibit-keyboard-quit)
+ (cond
+ ((and (null esc-flag) (eq char ?\e))
+ (setq esc-flag t))
+ ((memq char '(?\C-g ?\e))
+ (keyboard-quit))))))))
+ ;; Display the question with the answer. But without cursor-in-echo-area.
+ (message "%s%s" prompt (char-to-string char))
+ char)))
+
+;; End of compatability functions
+
(provide 'notmuch-lib)
;; Local Variables:
diff --git a/emacs/notmuch-maildir-fcc.el b/emacs/notmuch-maildir-fcc.el
index 95e5650..7fbcc8c 100644
--- a/emacs/notmuch-maildir-fcc.el
+++ b/emacs/notmuch-maildir-fcc.el
@@ -242,7 +242,7 @@ necessary."
;; typo, or just the user want a new folder, let the user decide
;; how to deal with it.
(error
- (let ((response (read-char-choice
+ (let ((response (notmuch-read-char-choice
"Insert failed: (r)etry, (c)reate folder, (i)gnore, or (e)dit the header? "
'(?r ?c ?i ?e))))
(case response
@@ -328,7 +328,7 @@ if needed."
;; fix it in some way.
(let* ((prompt (format "Fcc %s is not a maildir: (r)etry, (c)reate folder, (i)gnore, or (e)dit the header? "
fcc-header))
- (response (read-char-choice prompt '(?r ?c ?i ?e))))
+ (response (notmuch-read-char-choice prompt '(?r ?c ?i ?e))))
(case response
(?r (notmuch-maildir-fcc-file-fcc fcc-header))
(?c (if (file-writable-p fcc-header)
--
2.1.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2] emacs: add compatability functions for emacs 23
2016-10-29 10:21 [PATCH v2] emacs: add compatability functions for emacs 23 Mark Walters
@ 2016-11-02 23:57 ` Matt Armstrong
2016-11-11 12:11 ` David Bremner
1 sibling, 0 replies; 8+ messages in thread
From: Matt Armstrong @ 2016-11-02 23:57 UTC (permalink / raw)
To: Mark Walters, notmuch
[-- Attachment #1: Type: text/plain, Size: 3491 bytes --]
Mark Walters <markwalters1009@gmail.com> writes:
[...]
> Version 1 of this patch (with some discussion) is at
> id:1477191835-17828-1-git-send-email-markwalters1009@gmail.com
>
> The general consensus is that we should not define functions outside
> our namespace, even when they are just backports of functions from
> later emacs.
>
> rlb on irc gave one additional reason not mentioned earlier in the
> thread -- it could be that some other package choses to test for the
> setq-local say and perhaps draws incorrect conclusions about the
> environment. In particular this would be a case where we were breaking
> otherwise working packages.
Ahh, good point.
Thanks for sticking with the patch.
> I think it makes sense to included the whole of read-char-choice, not
> some cutdown version, as we may use other functionality from it later
> (eg help-forms etc), and it would be confusing if the change only
> worked on emacs 24.
>
> Finally, I have two questions
>
> 1) please could someone with emacs 23 see if the testsuite passes? My
> system with emacs 23 is so outdated the test suite doesn't run (wrong
> python versions I think).
I tried.
FWIW, the patch didn't apply cleanly for me, though I'm not used to
slurping patches around in email. I used: "git apply -3 mark.patch".
"git apply --reject mark.patch" left a few .rej files that were easily
applied by hand (it looked like some code had moved too far?).
I'm stuck on an Ubuntu trusty release, which is rather old and has a
packaged emacs 23. I'm not sure how useful my results are, though,
because I show a lot of test errors regardless. This may be a result of
me compiling my own xapian, which the notmuch build system does not
handle particularly gracefully. Most failures are of the form "A Xapian
exception occurred performing query", and unrelated to your patch.
Before your patch I got the expected byte compiler warnings:
% XAPIAN_CONFIG=$HOME/opt/xapian-core-1.4.0/bin/xapian-config ./configure
% LD_RUN_PATH=$HOME/opt/xapian-core-1.4.0/lib make test
[...]
notmuch-company.el:95:1:Warning: the function `setq-local' is not known to be
defined.
notmuch-address.el:351:1:Warning: the function `setq-local' is not known to be
defined.
notmuch-maildir-fcc.el:376:1:Warning: the function `read-char-choice' is not
known to be defined.
[...then I see...]
Notmuch test suite complete.
635/783 tests passed.
2 broken tests failed as expected.
43 tests failed.
103 tests skipped.
[...with this patch the byte compiler shuts up, but I get the same test
suite errors...]
Notmuch test suite complete.
635/783 tests passed.
2 broken tests failed as expected.
43 tests failed.
103 tests skipped.
[...but not to worry, I get the same running Emacs 25 too...]
I'll attach full output of the notmuch test run.
> 2) Is the copyright notice I have included above the two functions
> sufficient, and suitably placed?
An alternative is to place these functions in a new file named something
like notmuch-backport.el, with clear FSF copyright. Since what
constitutes "functions in this section" may drift over time, the rigor
of a separate file might be desirable.
> --- a/emacs/notmuch-lib.el
> +++ b/emacs/notmuch-lib.el
> @@ -966,6 +966,78 @@ status."
> (defvar notmuch-show-process-crypto nil)
> (make-variable-buffer-local 'notmuch-show-process-crypto)
>
> +;; Compatibility functions for emacs 23.
> +
> +;; The functions in this section are copied from eamcs 24.4 and are
typo: eamcs
[-- Attachment #2: Errors from notmuch test --]
[-- Type: text/plain, Size: 39355 bytes --]
Use "make V=1" to print test headings and PASSing results.
INFO: using 2 minute timeout for tests
T050-new: Testing "notmuch new" in several variations
FAIL Xapian exception: read only files
--- T050-new.30.expected 2016-11-02 23:49:06.740165419 +0000
+++ T050-new.30.output 2016-11-02 23:49:06.740165419 +0000
@@ -1 +1,17 @@
-A Xapian exception occurred opening database
+(D) add_files, pass 1
+(D) add_files, pass 1
+(D) add_files, pass 1
+(D) add_files, pass 1
+(D) add_files, pass 1
+(D) add_files, pass 1
+(D) add_files, pass 2
+(D) add_files, pass 2
+(D) add_files, pass 1
+(D) add_files, pass 2
+(D) add_files, pass 1
+(D) add_files, pass 2
+(D) add_files, pass 2
+(D) add_files, pass 2
+(D) add_files, pass 2
+(D) add_files, pass 2
+No new mail.
chmod: cannot access '/usr/local/google/home/marmstrong/git/notmuch/test/tmp.T050-new/mail/.notmuch/xapian/*.DB': No such file or directory
chmod: cannot access '/usr/local/google/home/marmstrong/git/notmuch/test/tmp.T050-new/mail/.notmuch/xapian/*.DB': No such file or directory
T060-count: Testing "notmuch count" for messages and threads
FAIL error message for database open
--- T060-count.13.expected 2016-11-02 23:49:06.984168633 +0000
+++ T060-count.13.output 2016-11-02 23:49:06.984168633 +0000
@@ -1 +1 @@
-A Xapian exception occurred opening database
+
3+0 records in
3+0 records out
1536 bytes (1.5 kB) copied, 5.4575e-05 s, 28.1 MB/s
FAIL error message from query_search_messages
--- T060-count.14.EXPECTED 2016-11-02 23:49:07.580176482 +0000
+++ T060-count.14.OUTPUT.clean 2016-11-02 23:49:07.580176482 +0000
@@ -1,3 +0,0 @@
-notmuch count: A Xapian exception occurred
-A Xapian exception occurred performing query
-Query string was: *
BROKEN count library function is non-destructive
--- T060-count.15.EXPECTED 2016-11-02 23:49:07.632177167 +0000
+++ T060-count.15.OUTPUT 2016-11-02 23:49:07.632177167 +0000
@@ -2,4 +2,4 @@
2: 52 messages
Exclude 'spam'
3: 52 messages
-4: 52 messages
+4: 0 messages
T150-tagging: Testing "notmuch tag"
FAIL Xapian exception: read only files
--- T150-tagging.24.expected 2016-11-02 23:49:29.548465813 +0000
+++ T150-tagging.24.output 2016-11-02 23:49:29.548465813 +0000
@@ -1 +1 @@
-A Xapian exception occurred opening database
+
chmod: cannot access '/usr/local/google/home/marmstrong/git/notmuch/test/tmp.T150-tagging/mail/.notmuch/xapian/*.DB': No such file or directory
chmod: cannot access '/usr/local/google/home/marmstrong/git/notmuch/test/tmp.T150-tagging/mail/.notmuch/xapian/*.DB': No such file or directory
missing prerequisites: dtach(1)
SKIP Show message: json, inline attachment filename
missing prerequisites: dtach(1)
SKIP Show message: sexp, inline attachment filename
T170-sexp: Testing --format=sexp output
FAIL Search message: sexp, utf-8
--- T170-sexp.7.expected 2016-11-02 23:49:31.208487677 +0000
+++ T170-sexp.7.output 2016-11-02 23:49:31.208487677 +0000
@@ -1 +1 @@
-((:thread "0000000000000005" :timestamp 946728000 :date_relative "2000-01-01" :matched 1 :total 1 :authors "Notmuch Test Suite" :subject "sexp-search-utf8-body-sübjéct" :query ("id:msg-004@notmuch-test-suite" nil) :tags ("inbox" "unread")))
+((:thread "0000000000000004" :timestamp 946728000 :date_relative "2000-01-01" :matched 1 :total 1 :authors "Notmuch Test Suite" :subject "sexp-search-utf8-body-sübjéct" :query ("id:msg-004@notmuch-test-suite" nil) :tags ("inbox" "unread")))
missing prerequisites: dtach(1)
SKIP Basic notmuch-hello view in emacs
missing prerequisites: dtach(1)
SKIP Saved search with 0 results
missing prerequisites: dtach(1)
SKIP No saved searches displayed (all with 0 results)
missing prerequisites: dtach(1)
SKIP Basic notmuch-search view in emacs
missing prerequisites: dtach(1)
SKIP Incremental parsing of search results
missing prerequisites: dtach(1)
SKIP Navigation of notmuch-hello to search results
missing prerequisites: dtach(1)
SKIP Basic notmuch-show view in emacs
missing prerequisites: dtach(1)
SKIP Basic notmuch-show view in emacs default indentation
missing prerequisites: dtach(1)
SKIP Basic notmuch-show view in emacs without indentation
missing prerequisites: dtach(1)
SKIP Basic notmuch-show view in emacs with fourfold indentation
missing prerequisites: dtach(1)
SKIP notmuch-show for message with invalid From
missing prerequisites: dtach(1)
SKIP Navigation of notmuch-search to thread view
missing prerequisites: dtach(1)
SKIP Add tag from search view
missing prerequisites: dtach(1)
SKIP Remove tag from search view
missing prerequisites: dtach(1)
SKIP Add tag (large query)
missing prerequisites: dtach(1)
SKIP notmuch-show: add single tag to single message
missing prerequisites: dtach(1)
SKIP notmuch-show: remove single tag from single message
missing prerequisites: dtach(1)
SKIP notmuch-show: add multiple tags to single message
missing prerequisites: dtach(1)
SKIP notmuch-show: remove multiple tags from single message
missing prerequisites: dtach(1)
SKIP Message with .. in Message-Id:
missing prerequisites: dtach(1)
SKIP Message with quote in Message-Id:
missing prerequisites: dtach(1)
SKIP Sending a message via (fake) SMTP
T310-emacs: Testing emacs interface
FAIL Verify that sent messages are saved/searchable (via FCC)
--- T310-emacs.24.expected 2016-11-02 23:49:50.588742919 +0000
+++ T310-emacs.24.output 2016-11-02 23:49:50.588742919 +0000
@@ -1 +1 @@
-thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; Testing message sent via SMTP (inbox)
+
missing prerequisites: dtach(1)
SKIP notmuch-fcc-dirs set to nil
missing prerequisites: dtach(1)
SKIP notmuch-fcc-dirs set to a string
missing prerequisites: dtach(1)
SKIP notmuch-fcc-dirs set to a list (with match)
missing prerequisites: dtach(1)
SKIP notmuch-fcc-dirs set to a list (catch-all)
missing prerequisites: dtach(1)
SKIP notmuch-fcc-dirs set to a list (no match)
missing prerequisites: dtach(1)
SKIP Reply within emacs
missing prerequisites: dtach(1)
SKIP Reply from alternate address within emacs
missing prerequisites: dtach(1)
SKIP Reply from address in named group list within emacs
missing prerequisites: dtach(1)
SKIP Reply within emacs to a multipart/mixed message
missing prerequisites: dtach(1)
SKIP Reply within emacs to a multipart/alternative message
missing prerequisites: dtach(1)
SKIP Reply within emacs to an html-only message
missing prerequisites: dtach(1)
SKIP Reply within emacs to message from self
missing prerequisites: dtach(1)
SKIP Quote MML tags in reply
missing prerequisites: dtach(1)
SKIP Save attachment from within emacs using notmuch-show-save-attachments
missing prerequisites: dtach(1)
SKIP Save attachment from within emacs using notmuch-show-save-part
missing prerequisites: dtach(1)
SKIP Save 8bit attachment from within emacs using notmuch-show-save-attachments
missing prerequisites: dtach(1)
SKIP View raw message within emacs
missing prerequisites: dtach(1)
SKIP Hiding/showing signature in notmuch-show view
missing prerequisites: dtach(1)
SKIP Detection and hiding of top-post quoting of message
missing prerequisites: dtach(1)
SKIP Hiding message in notmuch-show view
missing prerequisites: dtach(1)
SKIP Hiding message with visible citation in notmuch-show view
missing prerequisites: dtach(1)
SKIP notmuch-show: show message headers
missing prerequisites: dtach(1)
SKIP notmuch-show: hide message headers
missing prerequisites: dtach(1)
SKIP notmuch-show: hide message headers (w/ notmuch-show-toggle-visibility-headers)
missing prerequisites: dtach(1)
SKIP notmuch-show: collapse all messages in thread
missing prerequisites: dtach(1)
SKIP notmuch-show: uncollapse all messages in thread
missing prerequisites: dtach(1)
SKIP Stashing in notmuch-show
missing prerequisites: dtach(1)
SKIP Stashing in notmuch-search
missing prerequisites: dtach(1)
SKIP notmuch-show-advance-and-archive with invisible signature
missing prerequisites: dtach(1)
SKIP Refresh show buffer
missing prerequisites: dtach(1)
SKIP Refresh modified show buffer
missing prerequisites: dtach(1)
SKIP Do not call notmuch for non-inlinable application/mpeg parts
missing prerequisites: dtach(1)
SKIP Do not call notmuch for non-inlinable audio/mpeg parts
FAIL notmuch-hello-mode hook is called
--- T310-emacs.58.expected 2016-11-02 23:49:51.876759883 +0000
+++ T310-emacs.58.output 2016-11-02 23:49:51.876759883 +0000
@@ -1 +1 @@
-1
+
FAIL notmuch-hello-mode hook is not called on updates
--- T310-emacs.59.expected 2016-11-02 23:49:51.884759987 +0000
+++ T310-emacs.59.output 2016-11-02 23:49:51.884759987 +0000
@@ -1 +1 @@
-1
+
FAIL notmuch-hello-refresh hook is called
--- T310-emacs.60.expected 2016-11-02 23:49:51.888760040 +0000
+++ T310-emacs.60.output 2016-11-02 23:49:51.888760040 +0000
@@ -1 +1 @@
-1
+
FAIL notmuch-hello-refresh hook is called on updates
--- T310-emacs.61.expected 2016-11-02 23:49:51.896760146 +0000
+++ T310-emacs.61.output 2016-11-02 23:49:51.896760146 +0000
@@ -1 +1 @@
-2
+
FAIL Rendering HTML mail with images
cat OUTPUT && grep -q smiley OUTPUT
missing prerequisites: dtach(1)
SKIP Search handles subprocess error exit codes
missing prerequisites: dtach(1)
SKIP Search handles subprocess warnings
missing prerequisites: dtach(1)
SKIP Search thread tag operations are race-free
missing prerequisites: dtach(1)
SKIP Search global tag operations are race-free
FAIL Term escaping
--- T310-emacs.67.expected 2016-11-02 23:49:52.112762990 +0000
+++ T310-emacs.67.output 2016-11-02 23:49:52.112762990 +0000
@@ -1 +1 @@
-("\"\"" "abc`~!@#$%^&*-=_+123" "\"(abc\"" "\")abc\"" "\"\"\"abc\"" "\"\x01xyz\"" "\"“xyz”\"")
+
missing prerequisites: dtach(1)
SKIP Ensure that emacs doesn't drop results
missing prerequisites: dtach(1)
SKIP all tests in T330-emacs-subject-to-filename
missing prerequisites: dtach(1)
SKIP emacs delivery of signed message
T350-crypto: Testing PGP/MIME signature verification and decryption
FAIL signature verification
--- T350-crypto.2.expected 2016-11-02 23:49:56.212816988 +0000
+++ T350-crypto.2.output 2016-11-02 23:49:56.212816988 +0000
@@ -1,50 +1 @@
-[
- [
- [
- {
- "body": [
- {
- "content": [
- {
- "content": "This is a test signed message.\n",
- "content-type": "text/plain",
- "id": 2
- },
- {
- "content-length": 280,
- "content-type": "application/pgp-signature",
- "id": 3
- }
- ],
- "content-type": "multipart/signed",
- "id": 1,
- "sigstatus": [
- {
- "created": 946728000,
- "fingerprint": "5AEAB11F5E33DCE875DDB75B6D92612D94E46381",
- "status": "good"
- }
- ]
- }
- ],
- "date_relative": "2000-01-01",
- "excluded": false,
- "filename": "YYYYY",
- "headers": {
- "Date": "Sat, 01 Jan 2000 12:00:00 +0000",
- "From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
- "Subject": "test signed message 001",
- "To": "test_suite@notmuchmail.org"
- },
- "id": "XXXXX",
- "match": true,
- "tags": [
- "inbox",
- "signed"
- ],
- "timestamp": 946728000
- },
- []
- ]
- ]
-]
+
Error opening database at /usr/local/google/home/marmstrong/git/notmuch/test/tmp.T350-crypto/mail/.notmuch: No such file or directory
No JSON object could be decoded
FAIL signature verification with full owner trust
--- T350-crypto.3.expected 2016-11-02 23:49:56.264817674 +0000
+++ T350-crypto.3.output 2016-11-02 23:49:56.264817674 +0000
@@ -1,51 +1 @@
-[
- [
- [
- {
- "body": [
- {
- "content": [
- {
- "content": "This is a test signed message.\n",
- "content-type": "text/plain",
- "id": 2
- },
- {
- "content-length": 280,
- "content-type": "application/pgp-signature",
- "id": 3
- }
- ],
- "content-type": "multipart/signed",
- "id": 1,
- "sigstatus": [
- {
- "created": 946728000,
- "fingerprint": "5AEAB11F5E33DCE875DDB75B6D92612D94E46381",
- "status": "good",
- "userid": " Notmuch Test Suite <test_suite@notmuchmail.org> (INSECURE!)"
- }
- ]
- }
- ],
- "date_relative": "2000-01-01",
- "excluded": false,
- "filename": "YYYYY",
- "headers": {
- "Date": "Sat, 01 Jan 2000 12:00:00 +0000",
- "From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
- "Subject": "test signed message 001",
- "To": "test_suite@notmuchmail.org"
- },
- "id": "XXXXX",
- "match": true,
- "tags": [
- "inbox",
- "signed"
- ],
- "timestamp": 946728000
- },
- []
- ]
- ]
-]
+
Error opening database at /usr/local/google/home/marmstrong/git/notmuch/test/tmp.T350-crypto/mail/.notmuch: No such file or directory
No JSON object could be decoded
FAIL signature verification with signer key unavailable
--- T350-crypto.4.expected 2016-11-02 23:49:56.312818305 +0000
+++ T350-crypto.4.output 2016-11-02 23:49:56.312818305 +0000
@@ -1,50 +1 @@
-[
- [
- [
- {
- "body": [
- {
- "content": [
- {
- "content": "This is a test signed message.\n",
- "content-type": "text/plain",
- "id": 2
- },
- {
- "content-length": 280,
- "content-type": "application/pgp-signature",
- "id": 3
- }
- ],
- "content-type": "multipart/signed",
- "id": 1,
- "sigstatus": [
- {
- "errors": 2,
- "keyid": "6D92612D94E46381",
- "status": "error"
- }
- ]
- }
- ],
- "date_relative": "2000-01-01",
- "excluded": false,
- "filename": "YYYYY",
- "headers": {
- "Date": "Sat, 01 Jan 2000 12:00:00 +0000",
- "From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
- "Subject": "test signed message 001",
- "To": "test_suite@notmuchmail.org"
- },
- "id": "XXXXX",
- "match": true,
- "tags": [
- "inbox",
- "signed"
- ],
- "timestamp": 946728000
- },
- []
- ]
- ]
-]
+
Error opening database at /usr/local/google/home/marmstrong/git/notmuch/test/tmp.T350-crypto/mail/.notmuch: No such file or directory
No JSON object could be decoded
missing prerequisites: dtach(1)
SKIP emacs delivery of encrypted message with attachment
FAIL decryption, --format=text
--- T350-crypto.6.expected 2016-11-02 23:49:56.336818622 +0000
+++ T350-crypto.6.output 2016-11-02 23:49:56.336818622 +0000
@@ -1,24 +1 @@
-\fmessage{ id:XXXXX depth:0 match:1 excluded:0 filename:XXXXX
-\fheader{
-Notmuch Test Suite <test_suite@notmuchmail.org> (2000-01-01) (encrypted inbox)
-Subject: test encrypted message 001
-From: Notmuch Test Suite <test_suite@notmuchmail.org>
-To: test_suite@notmuchmail.org
-Date: Sat, 01 Jan 2000 12:00:00 +0000
-\fheader}
-\fbody{
-\fpart{ ID: 1, Content-type: multipart/encrypted
-\fpart{ ID: 2, Content-type: application/pgp-encrypted
-Non-text part: application/pgp-encrypted
-\fpart}
-\fpart{ ID: 3, Content-type: multipart/mixed
-\fpart{ ID: 4, Content-type: text/plain
-This is a test encrypted message.
-\fpart}
-\fattachment{ ID: 5, Filename: TESTATTACHMENT, Content-type: application/octet-stream
-Non-text part: application/octet-stream
-\fattachment}
-\fpart}
-\fpart}
-\fbody}
-\fmessage}
+
Error opening database at /usr/local/google/home/marmstrong/git/notmuch/test/tmp.T350-crypto/mail/.notmuch: No such file or directory
FAIL decryption, --format=json
--- T350-crypto.7.expected 2016-11-02 23:49:56.384819254 +0000
+++ T350-crypto.7.output 2016-11-02 23:49:56.384819254 +0000
@@ -1,62 +1 @@
-[
- [
- [
- {
- "body": [
- {
- "content": [
- {
- "content-length": 11,
- "content-type": "application/pgp-encrypted",
- "id": 2
- },
- {
- "content": [
- {
- "content": "This is a test encrypted message.\n",
- "content-type": "text/plain",
- "id": 4
- },
- {
- "content-length": 28,
- "content-transfer-encoding": "base64",
- "content-type": "application/octet-stream",
- "filename": "TESTATTACHMENT",
- "id": 5
- }
- ],
- "content-type": "multipart/mixed",
- "id": 3
- }
- ],
- "content-type": "multipart/encrypted",
- "encstatus": [
- {
- "status": "good"
- }
- ],
- "id": 1,
- "sigstatus": []
- }
- ],
- "date_relative": "2000-01-01",
- "excluded": false,
- "filename": "YYYYY",
- "headers": {
- "Date": "Sat, 01 Jan 2000 12:00:00 +0000",
- "From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
- "Subject": "test encrypted message 001",
- "To": "test_suite@notmuchmail.org"
- },
- "id": "XXXXX",
- "match": true,
- "tags": [
- "encrypted",
- "inbox"
- ],
- "timestamp": 946728000
- },
- []
- ]
- ]
-]
+
Error opening database at /usr/local/google/home/marmstrong/git/notmuch/test/tmp.T350-crypto/mail/.notmuch: No such file or directory
No JSON object could be decoded
FAIL decryption, --format=json, --part=4
--- T350-crypto.8.expected 2016-11-02 23:49:56.432819886 +0000
+++ T350-crypto.8.output 2016-11-02 23:49:56.432819886 +0000
@@ -1,5 +1 @@
-{
- "content": "This is a test encrypted message.\n",
- "content-type": "text/plain",
- "id": 4
-}
+
Error opening database at /usr/local/google/home/marmstrong/git/notmuch/test/tmp.T350-crypto/mail/.notmuch: No such file or directory
No JSON object could be decoded
FAIL decrypt attachment (--part=5 --format=raw)
--- T350-crypto.9.OUTPUT 2016-11-02 23:49:56.452820149 +0000
+++ T350-crypto.9.TESTATTACHMENT 2016-11-02 23:49:56.452820149 +0000
@@ -0,0 +1 @@
+This is a test file.
Error opening database at /usr/local/google/home/marmstrong/git/notmuch/test/tmp.T350-crypto/mail/.notmuch: No such file or directory
FAIL decryption failure with missing key
--- T350-crypto.10.expected 2016-11-02 23:49:56.504820835 +0000
+++ T350-crypto.10.output 2016-11-02 23:49:56.504820835 +0000
@@ -1,48 +1 @@
-[
- [
- [
- {
- "body": [
- {
- "content": [
- {
- "content-length": 11,
- "content-type": "application/pgp-encrypted",
- "id": 2
- },
- {
- "content-length": 652,
- "content-type": "application/octet-stream",
- "id": 3
- }
- ],
- "content-type": "multipart/encrypted",
- "encstatus": [
- {
- "status": "bad"
- }
- ],
- "id": 1
- }
- ],
- "date_relative": "2000-01-01",
- "excluded": false,
- "filename": "YYYYY",
- "headers": {
- "Date": "Sat, 01 Jan 2000 12:00:00 +0000",
- "From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
- "Subject": "test encrypted message 001",
- "To": "test_suite@notmuchmail.org"
- },
- "id": "XXXXX",
- "match": true,
- "tags": [
- "encrypted",
- "inbox"
- ],
- "timestamp": 946728000
- },
- []
- ]
- ]
-]
+
Error opening database at /usr/local/google/home/marmstrong/git/notmuch/test/tmp.T350-crypto/mail/.notmuch: No such file or directory
No JSON object could be decoded
missing prerequisites: dtach(1)
SKIP emacs delivery of encrypted + signed message
FAIL decryption + signature verification
--- T350-crypto.12.expected 2016-11-02 23:49:56.564821625 +0000
+++ T350-crypto.12.output 2016-11-02 23:49:56.568821677 +0000
@@ -1,56 +1 @@
-[
- [
- [
- {
- "body": [
- {
- "content": [
- {
- "content-length": 11,
- "content-type": "application/pgp-encrypted",
- "id": 2
- },
- {
- "content": "This is another test encrypted message.\n",
- "content-type": "text/plain",
- "id": 3
- }
- ],
- "content-type": "multipart/encrypted",
- "encstatus": [
- {
- "status": "good"
- }
- ],
- "id": 1,
- "sigstatus": [
- {
- "created": 946728000,
- "fingerprint": "5AEAB11F5E33DCE875DDB75B6D92612D94E46381",
- "status": "good",
- "userid": " Notmuch Test Suite <test_suite@notmuchmail.org> (INSECURE!)"
- }
- ]
- }
- ],
- "date_relative": "2000-01-01",
- "excluded": false,
- "filename": "YYYYY",
- "headers": {
- "Date": "Sat, 01 Jan 2000 12:00:00 +0000",
- "From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
- "Subject": "test encrypted message 002",
- "To": "test_suite@notmuchmail.org"
- },
- "id": "XXXXX",
- "match": true,
- "tags": [
- "encrypted",
- "inbox"
- ],
- "timestamp": 946728000
- },
- []
- ]
- ]
-]
+
Error opening database at /usr/local/google/home/marmstrong/git/notmuch/test/tmp.T350-crypto/mail/.notmuch: No such file or directory
No JSON object could be decoded
FAIL reply to encrypted message
--- T350-crypto.13.expected 2016-11-02 23:49:56.580821835 +0000
+++ T350-crypto.13.output 2016-11-02 23:49:56.580821835 +0000
@@ -1,5 +1 @@
-From: Notmuch Test Suite <test_suite@notmuchmail.org>
-Subject: Re: test encrypted message 002
-On 01 Jan 2000 12:00:00 -0000, Notmuch Test Suite <test_suite@notmuchmail.org> wrote:
-> This is another test encrypted message.
Error opening database at /usr/local/google/home/marmstrong/git/notmuch/test/tmp.T350-crypto/mail/.notmuch: No such file or directory
missing prerequisites: dtach(1)
SKIP Reply within emacs to an encrypted message
FAIL signature verification with revoked key
--- T350-crypto.15.expected 2016-11-02 23:49:56.640822625 +0000
+++ T350-crypto.15.output 2016-11-02 23:49:56.640822625 +0000
@@ -1,50 +1 @@
-[
- [
- [
- {
- "body": [
- {
- "content": [
- {
- "content": "This is a test signed message.\n",
- "content-type": "text/plain",
- "id": 2
- },
- {
- "content-length": 280,
- "content-type": "application/pgp-signature",
- "id": 3
- }
- ],
- "content-type": "multipart/signed",
- "id": 1,
- "sigstatus": [
- {
- "errors": 8,
- "keyid": "6D92612D94E46381",
- "status": "error"
- }
- ]
- }
- ],
- "date_relative": "2000-01-01",
- "excluded": false,
- "filename": "YYYYY",
- "headers": {
- "Date": "Sat, 01 Jan 2000 12:00:00 +0000",
- "From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
- "Subject": "test signed message 001",
- "To": "test_suite@notmuchmail.org"
- },
- "id": "XXXXX",
- "match": true,
- "tags": [
- "inbox",
- "signed"
- ],
- "timestamp": 946728000
- },
- []
- ]
- ]
-]
+
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
Error opening database at /usr/local/google/home/marmstrong/git/notmuch/test/tmp.T350-crypto/mail/.notmuch: No such file or directory
No JSON object could be decoded
missing prerequisites: gpgsm(1)
SKIP all tests in T355-smime
T360-symbol-hiding: Testing exception symbol hiding
FAIL running test
--- T360-symbol-hiding.1.EXPECTED 2016-11-02 23:49:56.748824048 +0000
+++ T360-symbol-hiding.1.OUTPUT 2016-11-02 23:49:56.748824048 +0000
@@ -1,2 +1,2 @@
A Xapian exception occurred opening database: Couldn't stat 'CWD/fakedb/.notmuch/xapian'
-caught No backend database found at path 'CWD/nonexistent'
+caught No glass database found at path 'CWD/nonexistent'
missing prerequisites: ruby development files
SKIP all tests in T395-ruby
T420-emacs-test-functions: Testing emacs test function sanity
FAIL emacs test function sanity
T430-emacs-address-cleaning: Testing emacs address cleaning
FAIL notmuch-test-address-clean part 1
FAIL notmuch-test-address-clean part 2
FAIL notmuch-test-address-clean part 3
missing prerequisites: dtach(1)
SKIP User-defined section with inbox tag
missing prerequisites: dtach(1)
SKIP User-defined section with empty, hidden entry
missing prerequisites: dtach(1)
SKIP User-defined section, unread tag filtered out
missing prerequisites: dtach(1)
SKIP User-defined section, different query for counts
missing prerequisites: dtach(1)
SKIP Empty custom tags section
missing prerequisites: dtach(1)
SKIP Empty custom queries section
missing prerequisites: dtach(1)
SKIP Column alignment for tag/queries with long names
missing prerequisites: dtach(1)
SKIP Hiding Original Message region at beginning of a message
T450-emacs-show: Testing emacs notmuch-show view
FAIL Bare subject #1
--- T450-emacs-show.2.expected 2016-11-02 23:50:07.616967182 +0000
+++ T450-emacs-show.2.output 2016-11-02 23:50:07.616967182 +0000
@@ -1 +1 @@
-"subject"
+
FAIL Bare subject #2
--- T450-emacs-show.3.expected 2016-11-02 23:50:07.624967286 +0000
+++ T450-emacs-show.3.output 2016-11-02 23:50:07.624967286 +0000
@@ -1 +1 @@
-"subject"
+
FAIL Bare subject #3
--- T450-emacs-show.4.expected 2016-11-02 23:50:07.628967339 +0000
+++ T450-emacs-show.4.output 2016-11-02 23:50:07.628967339 +0000
@@ -1 +1 @@
-"the cure: fix the regexp"
+
missing prerequisites: dtach(1)
SKIP don't process cryptographic MIME parts
missing prerequisites: dtach(1)
SKIP process cryptographic MIME parts
missing prerequisites: dtach(1)
SKIP process cryptographic MIME parts (w/ notmuch-show-toggle-process-crypto)
missing prerequisites: dtach(1)
SKIP notmuch-show: don't elide non-matching messages
missing prerequisites: dtach(1)
SKIP notmuch-show: elide non-matching messages
missing prerequisites: dtach(1)
SKIP notmuch-show: elide non-matching messages (w/ notmuch-show-toggle-elide-non-matching)
missing prerequisites: dtach(1)
SKIP notmuch-show: elide non-matching messages (w/ prefix arg to notmuch-show)
missing prerequisites: dtach(1)
SKIP notmuch-show: disable indentation of thread content (w/ notmuch-show-toggle-thread-indentation)
missing prerequisites: dtach(1)
SKIP id buttonization
missing prerequisites: dtach(1)
SKIP Show handles subprocess errors
missing prerequisites: dtach(1)
SKIP Text parts are decoded when rendering
missing prerequisites: dtach(1)
SKIP 8bit text parts are decoded when rendering
missing prerequisites: dtach(1)
SKIP HTML parts are decoded when rendering
missing prerequisites: dtach(1)
SKIP Text parts are not decoded when saving
missing prerequisites: dtach(1)
SKIP 8bit text parts are not decoded when saving
missing prerequisites: dtach(1)
SKIP HTML parts are not decoded when saving
missing prerequisites: dtach(1)
SKIP Binary parts are not decoded when saving
missing prerequisites: dtach(1)
SKIP Text message are not decoded when viewing
missing prerequisites: dtach(1)
SKIP 8bit text message are not decoded when viewing
missing prerequisites: dtach(1)
SKIP Basic notmuch-tree view in emacs
missing prerequisites: dtach(1)
SKIP Refreshed notmuch-tree view in emacs
missing prerequisites: dtach(1)
SKIP Tag message in notmuch tree view (display)
T460-emacs-tree: Testing emacs tree view interface
FAIL Tag message in notmuch tree view (database)
--- T460-emacs-tree.4.expected 2016-11-02 23:50:08.180974609 +0000
+++ T460-emacs-tree.4.output 2016-11-02 23:50:08.180974609 +0000
@@ -1 +1 @@
-id:877h1wv7mg.fsf@inf-8657.int-evry.fr
+
missing prerequisites: dtach(1)
SKIP Untag message in notmuch tree view
missing prerequisites: dtach(1)
SKIP Tag thread in notmuch tree view
FAIL Tag message in notmuch tree view (database)
--- T460-emacs-tree.8.expected 2016-11-02 23:50:08.192974768 +0000
+++ T460-emacs-tree.8.output 2016-11-02 23:50:08.192974768 +0000
@@ -1,7 +1 @@
-id:87ocn0qh6d.fsf@yoom.home.cworth.org
-id:20091118005040.GA25380@dottiness.seas.harvard.edu
-id:yunaayketfm.fsf@aiko.keithp.com
-id:87fx8can9z.fsf@vertex.dottedmag
-id:20091117203301.GV3165@dottiness.seas.harvard.edu
-id:87iqd9rn3l.fsf@vertex.dottedmag
-id:20091117190054.GU3165@dottiness.seas.harvard.edu
+
missing prerequisites: dtach(1)
SKIP Untag thread in notmuch tree view
missing prerequisites: dtach(1)
SKIP Navigation of notmuch-hello to search results
missing prerequisites: dtach(1)
SKIP Tree view of a single thread (from search)
missing prerequisites: dtach(1)
SKIP Tree view of a single thread (from show)
missing prerequisites: dtach(1)
SKIP Message window of tree view
FAIL Stash id
--- T460-emacs-tree.15.expected 2016-11-02 23:50:08.220975136 +0000
+++ T460-emacs-tree.15.output 2016-11-02 23:50:08.220975136 +0000
@@ -1 +1 @@
-"Stashed: id:1258498485-sup-142@elly"
+
FAIL Move to next matching message
--- T460-emacs-tree.16.expected 2016-11-02 23:50:08.224975190 +0000
+++ T460-emacs-tree.16.output 2016-11-02 23:50:08.224975190 +0000
@@ -1 +1 @@
-"Stashed: id:878we4qdqf.fsf@yoom.home.cworth.org"
+
FAIL Move to next thread
--- T460-emacs-tree.17.expected 2016-11-02 23:50:08.232975295 +0000
+++ T460-emacs-tree.17.output 2016-11-02 23:50:08.232975295 +0000
@@ -1 +1 @@
-"Stashed: id:1258471718-6781-1-git-send-email-dottedmag@dottedmag.net"
+
FAIL Move to previous thread
--- T460-emacs-tree.18.expected 2016-11-02 23:50:08.244975452 +0000
+++ T460-emacs-tree.18.output 2016-11-02 23:50:08.244975452 +0000
@@ -1 +1 @@
-"Stashed: id:20091117190054.GU3165@dottiness.seas.harvard.edu"
+
FAIL Move to previous previous thread
--- T460-emacs-tree.19.expected 2016-11-02 23:50:08.252975559 +0000
+++ T460-emacs-tree.19.output 2016-11-02 23:50:08.252975559 +0000
@@ -1 +1 @@
-"Stashed: id:1258493565-13508-1-git-send-email-keithp@keithp.com"
+
missing prerequisites: database-v1.tar.xz - fetch with 'make download-test-databases'
SKIP all tests in T530-upgrade
T560-lib-error: Testing error reporting for library
FAIL Xapian exception finding message
--- T560-lib-error.11.EXPECTED 2016-11-02 23:50:11.921023864 +0000
+++ T560-lib-error.11.OUTPUT.clean 2016-11-02 23:50:11.925023919 +0000
@@ -1,3 +1,3 @@
== stdout ==
== stderr ==
-A Xapian exception occurred finding message
+error opening MAIL_DIR
FAIL Xapian exception getting tags
--- T560-lib-error.12.EXPECTED 2016-11-02 23:50:12.065025764 +0000
+++ T560-lib-error.12.OUTPUT.clean 2016-11-02 23:50:12.069025815 +0000
@@ -1,3 +1,3 @@
== stdout ==
== stderr ==
-A Xapian exception occurred getting tags
+error opening MAIL_DIR
FAIL Xapian exception creating directory
--- T560-lib-error.13.EXPECTED 2016-11-02 23:50:12.177027236 +0000
+++ T560-lib-error.13.OUTPUT.clean 2016-11-02 23:50:12.181027288 +0000
@@ -1,3 +1,3 @@
== stdout ==
== stderr ==
-A Xapian exception occurred creating a directory
+error opening MAIL_DIR
FAIL Xapian exception searching messages
--- T560-lib-error.14.EXPECTED 2016-11-02 23:50:12.281028608 +0000
+++ T560-lib-error.14.OUTPUT.clean 2016-11-02 23:50:12.281028608 +0000
@@ -1,4 +1,3 @@
== stdout ==
== stderr ==
-A Xapian exception occurred performing query
-Query string was: *
+error opening MAIL_DIR
FAIL Xapian exception counting messages
--- T560-lib-error.15.EXPECTED 2016-11-02 23:50:12.437030662 +0000
+++ T560-lib-error.15.OUTPUT.clean 2016-11-02 23:50:12.441030715 +0000
@@ -1,4 +1,3 @@
== stdout ==
== stderr ==
-A Xapian exception occurred performing query
-Query string was: id:87ocn0qh6d.fsf@yoom.home.cworth.org
+error opening MAIL_DIR
test14.c: In function 'main':
test14.c:29:8: warning: 'notmuch_query_count_messages' is deprecated (declared at /usr/local/google/home/marmstrong/git/notmuch/test/../lib/notmuch.h:1028): function deprecated as of libnotmuch 4.3 [-Wdeprecated-declarations]
int count = notmuch_query_count_messages (query);
^
BROKEN No ghosts should remain after deletion of second message
--- T590-thread-breakage.22.expected 2016-11-02 23:50:16.189080078 +0000
+++ T590-thread-breakage.22.output 2016-11-02 23:50:16.189080078 +0000
@@ -1 +1 @@
-0
+1
Notmuch test suite complete.
635/783 tests passed.
2 broken tests failed as expected.
43 tests failed.
103 tests skipped.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] emacs: add compatability functions for emacs 23
2016-10-29 10:21 [PATCH v2] emacs: add compatability functions for emacs 23 Mark Walters
2016-11-02 23:57 ` Matt Armstrong
@ 2016-11-11 12:11 ` David Bremner
2016-11-11 13:16 ` David Bremner
1 sibling, 1 reply; 8+ messages in thread
From: David Bremner @ 2016-11-11 12:11 UTC (permalink / raw)
To: Mark Walters, notmuch
Mark Walters <markwalters1009@gmail.com> writes:
> Some of the recent changes to the emacs code have used functions
> introduced in emacs 24. The functions used are read-char-choice and
> setq-local. This changeset adds compatability functions to
> notmuch-lib so that it should work on emacs 23.
> ---
> 1) please could someone with emacs 23 see if the testsuite passes? My
> system with emacs 23 is so outdated the test suite doesn't run (wrong
> python versions I think).
I get many failures like
emacsclient.emacs23: connect: Connection refused
emacsclient.emacs23: error accessing socket "/tmp/emacs1000/notmuch-test-suite-21492"
At a guess, somehow the server is shutting down/dying. I did manage to
manually run an emacs server on this machine, and the socket is being
created in the file system.
> 2) Is the copyright notice I have included above the two functions
> sufficient, and suitably placed?
I think it would be best to modify the copyright at the top of the
file. So to avoid confusing (if for some unforseen reason we wanted to
relicense this file), it might be best to go with a seperate file. But
lets see if someone can figure out the issue with the test suite before
putting much more effort into it.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] emacs: add compatability functions for emacs 23
2016-11-11 12:11 ` David Bremner
@ 2016-11-11 13:16 ` David Bremner
2016-11-11 13:38 ` David Bremner
0 siblings, 1 reply; 8+ messages in thread
From: David Bremner @ 2016-11-11 13:16 UTC (permalink / raw)
To: Mark Walters, notmuch
David Bremner <david@tethera.net> writes:
> Mark Walters <markwalters1009@gmail.com> writes:
>
>> Some of the recent changes to the emacs code have used functions
>> introduced in emacs 24. The functions used are read-char-choice and
>> setq-local. This changeset adds compatability functions to
>> notmuch-lib so that it should work on emacs 23.
>> ---
>
>> 1) please could someone with emacs 23 see if the testsuite passes? My
>> system with emacs 23 is so outdated the test suite doesn't run (wrong
>> python versions I think).
>
> I get many failures like
>
> emacsclient.emacs23: connect: Connection refused
> emacsclient.emacs23: error accessing socket "/tmp/emacs1000/notmuch-test-suite-21492"
>
> At a guess, somehow the server is shutting down/dying. I did manage to
> manually run an emacs server on this machine, and the socket is being
> created in the file system.
The plot thickens. With this patch applied, I can generate an emacs
segfault with
1) EMACS=emacs23 ./devel/try-emacs-mua -q
2) M-x notmuch-search <return>
3) tag:inbox <return>
without the patch, I get a search view, and the message
Wrong type argument: number-or-marker-p, entry-main
I'm not able to trigger a lisp backtrace.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] emacs: add compatability functions for emacs 23
2016-11-11 13:16 ` David Bremner
@ 2016-11-11 13:38 ` David Bremner
2016-11-11 17:23 ` Tomi Ollila
0 siblings, 1 reply; 8+ messages in thread
From: David Bremner @ 2016-11-11 13:38 UTC (permalink / raw)
To: Mark Walters, notmuch
David Bremner <david@tethera.net> writes:
> The plot thickens. With this patch applied, I can generate an emacs
> segfault with
>
> 1) EMACS=emacs23 ./devel/try-emacs-mua -q
>
> 2) M-x notmuch-search <return>
>
> 3) tag:inbox <return>
OK, I managed to figure out the problem. I had byte compiled the emacs
code with emacs24, and loading that in emacs23 caused all heck to break
loose. With the byte compilation done with a matching version of emacs,
the test suite passes.
So my conclusions from all this fun:
1) since Mark went to the trouble of doing the compatiblity functions,
we may as well get emacs23 working again.
2) It's getting hard to debug emacs23 problems, and developer time is
scarce, so at the same time, deprecate emacs23 support, so e.g. after
the next major release we can just drop it.
3) With the caveat that we plan to drop the compat functions, I leave it
to mark's judgement whether it's worth putting them in a seperate
file, or just adding the FSF copyright to the top of the file.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] emacs: add compatability functions for emacs 23
2016-11-11 13:38 ` David Bremner
@ 2016-11-11 17:23 ` Tomi Ollila
2016-11-11 18:51 ` David Bremner
2016-11-12 12:27 ` David Bremner
0 siblings, 2 replies; 8+ messages in thread
From: Tomi Ollila @ 2016-11-11 17:23 UTC (permalink / raw)
To: David Bremner, Mark Walters, notmuch
On Fri, Nov 11 2016, David Bremner <david@tethera.net> wrote:
> David Bremner <david@tethera.net> writes:
>
>> The plot thickens. With this patch applied, I can generate an emacs
>> segfault with
>>
>> 1) EMACS=emacs23 ./devel/try-emacs-mua -q
>>
>> 2) M-x notmuch-search <return>
>>
>> 3) tag:inbox <return>
>
> OK, I managed to figure out the problem. I had byte compiled the emacs
> code with emacs24, and loading that in emacs23 caused all heck to break
> loose. With the byte compilation done with a matching version of emacs,
> the test suite passes.
I tested this (almost 2 weeks ago :/) using debian wheezy (7.11) docker
container and all relevant (i.e. emacs) tests passed.
>
> So my conclusions from all this fun:
>
> 1) since Mark went to the trouble of doing the compatiblity functions,
> we may as well get emacs23 working again.
>
> 2) It's getting hard to debug emacs23 problems, and developer time is
> scarce, so at the same time, deprecate emacs23 support, so e.g. after
> the next major release we can just drop it.
It is not hard at all. Just do not mess w/ mixed environments >;).
But this compatIbility change is not just emacs 23 -- iirc there were some
changes required to get emacs 24.1, 24.2, and 24.3 to work. It might be
easier to keep testing using emacs 23 until we deprecate everything before
emacs 24.4 (released October 20, 2014) -- or supporting emacs23 gets
nontrivial while supporting older emacs24 releases is still trivial (*)
(*) tried same with emacs22. when it got too hard we just did
ab30a846a49f576e1bfcd73f2ec41def474a6d96
I put the (new, shiny! ;) docker creation script I used to create this
wheezy container to:
https://github.com/domo141/nottoomuch/blob/dogfood/devel/test-in-docker.sh
(with https://github.com/domo141/nottoomuch/blob/dogfood/devel/test-on-macos.sh !)
> 3) With the caveat that we plan to drop the compat functions, I leave it
> to mark's judgement whether it's worth putting them in a seperate
> file, or just adding the FSF copyright to the top of the file.
compat functions will eventually be dropped (along with the code we already
have there to support emacs23)...
sepArate >;)
... but that said I'd suggest if there is going to be FSF copyright in the
file, create separate file for that.
and, also append 'g' to s/compatability/compatibility/ so that *all*
strings are replaced with correctly spelled version ;D
Tomi
PS: using google via smtpmail is pain... Now trying 3rd time... 5th...
got text message to go to google.com/blocked -- now 7th try...
8th... 9th...
Ok. It just fails. Sending the ordinary way (w/o google recipients, then).
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] emacs: add compatability functions for emacs 23
2016-11-11 17:23 ` Tomi Ollila
@ 2016-11-11 18:51 ` David Bremner
2016-11-12 12:27 ` David Bremner
1 sibling, 0 replies; 8+ messages in thread
From: David Bremner @ 2016-11-11 18:51 UTC (permalink / raw)
To: Tomi Ollila, Mark Walters, notmuch
Tomi Ollila <tomi.ollila@iki.fi> writes:
>> 2) It's getting hard to debug emacs23 problems, and developer time is
>> scarce, so at the same time, deprecate emacs23 support, so e.g. after
>> the next major release we can just drop it.
>
> It is not hard at all. Just do not mess w/ mixed environments >;).
I guess a more accurate way of saying it is that I don't want to spend
time on it anymore. So I think I want to deprecate it anyway, with the
understanding that we'll keep supporting as long as we (we being someone
who is not me) can, but no guarantees.
d
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] emacs: add compatability functions for emacs 23
2016-11-11 17:23 ` Tomi Ollila
2016-11-11 18:51 ` David Bremner
@ 2016-11-12 12:27 ` David Bremner
1 sibling, 0 replies; 8+ messages in thread
From: David Bremner @ 2016-11-12 12:27 UTC (permalink / raw)
To: Tomi Ollila, Mark Walters, notmuch
Tomi Ollila <tomi.ollila@iki.fi> writes:
> But this compatIbility change is not just emacs 23 -- iirc there were some
> changes required to get emacs 24.1, 24.2, and 24.3 to work. It might be
> easier to keep testing using emacs 23 until we deprecate everything before
> emacs 24.4 (released October 20, 2014) -- or supporting emacs23 gets
> nontrivial while supporting older emacs24 releases is still trivial (*)
This might refer to the defadvice on ido-completing-read in
notmuch-mua.el. In any case that could also go is a seperate
compatability file.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-11-12 12:27 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-29 10:21 [PATCH v2] emacs: add compatability functions for emacs 23 Mark Walters
2016-11-02 23:57 ` Matt Armstrong
2016-11-11 12:11 ` David Bremner
2016-11-11 13:16 ` David Bremner
2016-11-11 13:38 ` David Bremner
2016-11-11 17:23 ` Tomi Ollila
2016-11-11 18:51 ` David Bremner
2016-11-12 12:27 ` David Bremner
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).