Merge remote-tracking branch 'origin/master'

This commit is contained in:
David Bremner 2011-06-23 21:54:50 -03:00
commit 68a2c7a8b0
37 changed files with 151 additions and 64 deletions

View file

@ -1,7 +1,23 @@
; emacs local configuration settings for notmuch source ; emacs local configuration settings for notmuch source
; surmised by dkg on 2010-11-23 13:43:18-0500 ; surmised by dkg on 2010-11-23 13:43:18-0500
; amended by amdragon on 2011-06-06
((c-mode . ((indent-tabs-mode . t) ((c-mode
(indent-tabs-mode . t)
(tab-width . 8) (tab-width . 8)
(c-basic-offset . 4) (c-basic-offset . 4)
(c-file-style . "linux")))) (c-file-style . "linux"))
(c++-mode
(indent-tabs-mode . t)
(tab-width . 8)
(c-basic-offset . 4)
(c-file-style . "linux"))
(emacs-lisp-mode
(indent-tabs-mode . t)
(tab-width . 8))
(shell-mode
(indent-tabs-mode . t)
(tab-width . 8)
(sh-basic-offset . 4)
(sh-indentation . 4))
)

10
NEWS
View file

@ -112,15 +112,15 @@ Allow for notmuch-fcc-dirs to have a value of nil.
string. Instead it's now a list of cons cells where the car of each string. Instead it's now a list of cons cells where the car of each
cell is a regular expression to be matched against the sender cell is a regular expression to be matched against the sender
address, and the cdr is the name of a folder to use for an FCC. So address, and the cdr is the name of a folder to use for an FCC. So
the old fallback behavior can be achieved by including a fineal cell the old fallback behavior can be achieved by including a final cell
of (".*" . "default-fcc-folder"). of (".*" . "default-fcc-folder").
Vim interface improvements Vim interface improvements
-------------------------- --------------------------
Felipe Contreras provided a number of updates for the vim interface. Felipe Contreras provided a number of updates for the vim interface.
These include optimiations, support for newer versions of vim, fixed These include optimizations, support for newer versions of vim, fixed
support for sending mail on modern systmms, new commands, and support for sending mail on modern systems, new commands, and
various cleanups. various cleanups.
New bindings New bindings
@ -606,7 +606,7 @@ Fix to compile against GMime 2.6
Fix configure script to accept (and ignore) various standard options. Fix configure script to accept (and ignore) various standard options.
For example, those that the gentoo build scripts expect configure to For example, those that the Gentoo build scripts expect configure to
accept are now all accepted. accept are now all accepted.
Test suite Test suite
@ -714,7 +714,7 @@ tags by region.
Selective bulk tagging is now possible by selecting a region of Selective bulk tagging is now possible by selecting a region of
threads and then using either the '+' or '-' keybindings. Bulk threads and then using either the '+' or '-' keybindings. Bulk
tagging is still available for all threads matching the current tagging is still available for all threads matching the current
search with th '*' binding. search with the '*' binding.
More meaningful buffer names for thread-view buffers. More meaningful buffer names for thread-view buffers.

4
TODO
View file

@ -29,7 +29,7 @@ Make 'notmuch-show-pipe-message have a private history.
Add support for a delete keybinding that adds a "deleted" tag to the Add support for a delete keybinding that adds a "deleted" tag to the
current message/thread and make searches not return deleted messages current message/thread and make searches not return deleted messages
by default, (unless the user asks explicitly for deleted messags in by default, (unless the user asks explicitly for deleted messages in
the search query). the search query).
Add keybindings for next/previous thread. Add keybindings for next/previous thread.
@ -119,7 +119,7 @@ Allow configuration for filename patterns that should be ignored when
indexing. indexing.
Replace the "notmuch part --part=id" command with "notmuch show Replace the "notmuch part --part=id" command with "notmuch show
--part=id", (David Edmonson wants to rewrite some of "notmuch show" to --part=id", (David Edmondson wants to rewrite some of "notmuch show" to
provide more MIME-structure information in its output first). provide more MIME-structure information in its output first).
Replace the "notmuch search-tags" command with "notmuch search Replace the "notmuch search-tags" command with "notmuch search

View file

@ -1,4 +1,4 @@
notmuch/comapt notmuch/compat
This directory consists of two things: This directory consists of two things:

View file

@ -1,4 +1,4 @@
# See Makfefile.local for the list of files to be compiled in this # See Makefile.local for the list of files to be compiled in this
# directory. # directory.
all: all:
$(MAKE) -C .. all $(MAKE) -C .. all

2
configure vendored
View file

@ -22,7 +22,7 @@ if [ "$srcdir" != "." ]; then
fi fi
# Set several defaults (optionally specified by the user in # Set several defaults (optionally specified by the user in
# environemnt variables) # environment variables)
CC=${CC:-gcc} CC=${CC:-gcc}
CXX=${CXX:-g++} CXX=${CXX:-g++}
CFLAGS=${CFLAGS:--O2} CFLAGS=${CFLAGS:--O2}

View file

@ -1,4 +1,4 @@
# See Makfefile.local for the list of files to be compiled in this # See Makefile.local for the list of files to be compiled in this
# directory. # directory.
all: all:
$(MAKE) -C .. all $(MAKE) -C .. all

View file

@ -428,7 +428,7 @@ Complete list of currently available key bindings:
(let ((found-target-pos nil) (let ((found-target-pos nil)
(final-target-pos nil)) (final-target-pos nil))
(let* ((saved-alist (let* ((saved-alist
;; Filter out empty saved seaches if required. ;; Filter out empty saved searches if required.
(if notmuch-show-empty-saved-searches (if notmuch-show-empty-saved-searches
notmuch-saved-searches notmuch-saved-searches
(loop for elem in notmuch-saved-searches (loop for elem in notmuch-saved-searches

View file

@ -88,7 +88,7 @@ the user hasn't set this variable with the old or new value."
(notmuch-config-get "user.primary_email")) (notmuch-config-get "user.primary_email"))
(defun notmuch-user-other-email () (defun notmuch-user-other-email ()
"Return the user.primary_email value (as a list) from the notmuch configuration." "Return the user.other_email value (as a list) from the notmuch configuration."
(split-string (notmuch-config-get "user.other_email") "\n")) (split-string (notmuch-config-get "user.other_email") "\n"))
(defun notmuch-kill-this-buffer () (defun notmuch-kill-this-buffer ()

View file

@ -88,7 +88,7 @@ will NOT be removed or replaced."
notmuch-fcc-dirs) notmuch-fcc-dirs)
((and (listp notmuch-fcc-dirs) ((and (listp notmuch-fcc-dirs)
(= 1 (length (car notmuch-fcc-dirs)))) (stringp (car notmuch-fcc-dirs)))
;; Old style - no longer works. ;; Old style - no longer works.
(error "Invalid `notmuch-fcc-dirs' setting (old style)")) (error "Invalid `notmuch-fcc-dirs' setting (old style)"))
@ -163,7 +163,7 @@ will NOT be removed or replaced."
(make-directory (concat path "/new/") t) (make-directory (concat path "/new/") t)
(make-directory (concat path "/tmp/") t)) (make-directory (concat path "/tmp/") t))
((file-regular-p path) ((file-regular-p path)
(error "%s is a file. Can't creat maildir." path)) (error "%s is a file. Can't create maildir." path))
(t (t
(error "I don't know how to create a maildir here")))) (error "I don't know how to create a maildir here"))))

View file

@ -121,7 +121,7 @@ same as that of the previous message."
"Use external viewers to view all attachments from the current message." "Use external viewers to view all attachments from the current message."
(interactive) (interactive)
(with-current-notmuch-show-message (with-current-notmuch-show-message
; We ovverride the mm-inline-media-tests to indicate which message ; We override the mm-inline-media-tests to indicate which message
; parts are already sufficiently handled by the original ; parts are already sufficiently handled by the original
; presentation of the message in notmuch-show mode. These parts ; presentation of the message in notmuch-show mode. These parts
; will be inserted directly into the temporary buffer of ; will be inserted directly into the temporary buffer of
@ -803,7 +803,7 @@ The optional QUERY-CONTEXT is a notmuch search term. Only
messages from the thread matching this search term are shown if messages from the thread matching this search term are shown if
non-nil. non-nil.
The optional BUFFER-NAME provides the neame of the buffer in The optional BUFFER-NAME provides the name of the buffer in
which the message thread is shown. If it is nil (which occurs which the message thread is shown. If it is nil (which occurs
when the command is called interactively) the argument to the when the command is called interactively) the argument to the
function is used. " function is used. "
@ -921,7 +921,7 @@ more selectively, (such as '\\[notmuch-show-next-message]' and '\\[notmuch-show-
without removing any tags, and '\\[notmuch-show-archive-thread]' to archive an entire thread without removing any tags, and '\\[notmuch-show-archive-thread]' to archive an entire thread
without scrolling through with \\[notmuch-show-advance-and-archive]). without scrolling through with \\[notmuch-show-advance-and-archive]).
You can add or remove arbitary tags from the current message with You can add or remove arbitrary tags from the current message with
'\\[notmuch-show-add-tag]' or '\\[notmuch-show-remove-tag]'. '\\[notmuch-show-add-tag]' or '\\[notmuch-show-remove-tag]'.
All currently available key bindings: All currently available key bindings:

View file

@ -137,7 +137,7 @@ collapse the remaining lines into a button.")
(format label-format lines-count))) (format label-format lines-count)))
(defun notmuch-wash-region-to-button (msg beg end type prefix) (defun notmuch-wash-region-to-button (msg beg end type prefix)
"Auxilary function to do the actual making of overlays and buttons "Auxiliary function to do the actual making of overlays and buttons
BEG and END are buffer locations. TYPE should a string, either BEG and END are buffer locations. TYPE should a string, either
\"citation\" or \"signature\". PREFIX is some arbitrary text to \"citation\" or \"signature\". PREFIX is some arbitrary text to

View file

@ -64,7 +64,7 @@
("authors" . "%-20s ") ("authors" . "%-20s ")
("subject" . "%s ") ("subject" . "%s ")
("tags" . "(%s)")) ("tags" . "(%s)"))
"Search result formating. Supported fields are: "Search result formatting. Supported fields are:
date, count, authors, subject, tags date, count, authors, subject, tags
For example: For example:
(setq notmuch-search-result-format \(\(\"authors\" . \"%-40s\"\) (setq notmuch-search-result-format \(\(\"authors\" . \"%-40s\"\)
@ -493,7 +493,7 @@ the messages that are about to be tagged"
:group 'notmuch) :group 'notmuch)
(defcustom notmuch-after-tag-hook nil (defcustom notmuch-after-tag-hook nil
"Hooks that are run before tags of a message are modified. "Hooks that are run after tags of a message are modified.
'tags' will contain the tags that were added or removed as 'tags' will contain the tags that were added or removed as
a list of strings of the form \"+TAG\" or \"-TAG\". a list of strings of the form \"+TAG\" or \"-TAG\".
@ -836,7 +836,7 @@ non-authors is found, assume that all of the authors match."
(defun notmuch-search-operate-all (action) (defun notmuch-search-operate-all (action)
"Add/remove tags from all matching messages. "Add/remove tags from all matching messages.
Tis command adds or removes tags from all messages matching the This command adds or removes tags from all messages matching the
current search terms. When called interactively, this command current search terms. When called interactively, this command
will prompt for tags to be added or removed. Tags prefixed with will prompt for tags to be added or removed. Tags prefixed with
'+' will be added and tags prefixed with '-' will be removed. '+' will be added and tags prefixed with '-' will be removed.

View file

@ -39,7 +39,7 @@ typedef struct _GMimeFilterHeadersClass GMimeFilterHeadersClass;
* @parent_object: parent #GMimeFilter * @parent_object: parent #GMimeFilter
* @saw_nl: previous char was a \n * @saw_nl: previous char was a \n
* @line: temporary buffer for line unfolding * @line: temporary buffer for line unfolding
* @line_size: size of currently allocated nemory for @line * @line_size: size of currently allocated memory for @line
* @lineptr: pointer to the first unused character in @line * @lineptr: pointer to the first unused character in @line
* *
* A filter to decode rfc2047 encoded headers * A filter to decode rfc2047 encoded headers

View file

@ -1,4 +1,4 @@
# See Makfefile.local for the list of files to be compiled in this # See Makefile.local for the list of files to be compiled in this
# directory. # directory.
all: all:
$(MAKE) -C .. all $(MAKE) -C .. all

View file

@ -89,7 +89,7 @@ $(dir)/$(LINKER_NAME): $(dir)/$(SONAME)
install: install-$(dir) install: install-$(dir)
# The (often-reused) $dir works fine within targets/pre-requisites, # The (often-reused) $dir works fine within targets/prerequisites,
# but cannot be used reliably within commands, so copy its value to a # but cannot be used reliably within commands, so copy its value to a
# variable that is not reused. # variable that is not reused.
lib := $(dir) lib := $(dir)

View file

@ -137,7 +137,7 @@ typedef struct {
* ASCII integer. The initial database version * ASCII integer. The initial database version
* was 1, (though a schema existed before that * was 1, (though a schema existed before that
* were no "version" database value existed at * were no "version" database value existed at
* all). Succesive versions are allocated as * all). Successive versions are allocated as
* changes are made to the database (such as by * changes are made to the database (such as by
* indexing new fields). * indexing new fields).
* *
@ -148,7 +148,7 @@ typedef struct {
* incremented for each thread ID. * incremented for each thread ID.
* *
* thread_id_* A pre-allocated thread ID for a particular * thread_id_* A pre-allocated thread ID for a particular
* message. This is actually an arbitarily large * message. This is actually an arbitrarily large
* family of metadata name. Any particular name is * family of metadata name. Any particular name is
* formed by concatenating "thread_id_" with a message * formed by concatenating "thread_id_" with a message
* ID (or the SHA1 sum of a message ID if it is very * ID (or the SHA1 sum of a message ID if it is very
@ -422,7 +422,7 @@ skip_space_and_comments (const char **str)
} }
/* Parse an RFC 822 message-id, discarding whitespace, any RFC 822 /* Parse an RFC 822 message-id, discarding whitespace, any RFC 822
* comments, and the '<' and '>' delimeters. * comments, and the '<' and '>' delimiters.
* *
* If not NULL, then *next will be made to point to the first character * If not NULL, then *next will be made to point to the first character
* not parsed, (possibly pointing to the final '\0' terminator. * not parsed, (possibly pointing to the final '\0' terminator.
@ -1149,7 +1149,7 @@ _notmuch_database_filename_to_direntry (void *ctx,
/* Given a legal 'path' for the database, return the relative path. /* Given a legal 'path' for the database, return the relative path.
* *
* The return value will be a pointer to the originl path contents, * The return value will be a pointer to the original path contents,
* and will be either the original string (if 'path' was relative) or * and will be either the original string (if 'path' was relative) or
* a portion of the string (if path was absolute and begins with the * a portion of the string (if path was absolute and begins with the
* database path). * database path).
@ -1476,7 +1476,7 @@ _notmuch_database_link_message_to_children (notmuch_database_t *notmuch,
* In all cases, we assign to the current message the first thread_id * In all cases, we assign to the current message the first thread_id
* found (through either parent or child). We will also merge any * found (through either parent or child). We will also merge any
* existing, distinct threads where this message belongs to both, * existing, distinct threads where this message belongs to both,
* (which is not uncommon when mesages are processed out of order). * (which is not uncommon when messages are processed out of order).
* *
* Finally, if no thread ID has been found through parent or child, we * Finally, if no thread ID has been found through parent or child, we
* call _notmuch_message_generate_thread_id to generate a new thread * call _notmuch_message_generate_thread_id to generate a new thread

View file

@ -174,7 +174,7 @@ void sha1_hash(const unsigned char data[], unsigned long len, sha1_ctx ctx[1])
if((ctx->count[0] += len) < len) if((ctx->count[0] += len) < len)
++(ctx->count[1]); ++(ctx->count[1]);
while(len >= space) /* tranfer whole blocks if possible */ while(len >= space) /* transfer whole blocks if possible */
{ {
memcpy(((unsigned char*)ctx->wbuf) + pos, sp, space); memcpy(((unsigned char*)ctx->wbuf) + pos, sp, space);
sp += space; len -= space; space = SHA1_BLOCK_SIZE; pos = 0; sp += space; len -= space; space = SHA1_BLOCK_SIZE; pos = 0;

View file

@ -38,7 +38,7 @@ extern "C"
{ {
#endif #endif
#if 0 #if 0
} /* Appleasing Emacs */ } /* Appeasing Emacs */
#endif #endif
#include <stdint.h> #include <stdint.h>

View file

@ -837,7 +837,7 @@ _notmuch_message_add_term (notmuch_message_t *message,
/* Parse 'text' and add a term to 'message' for each parsed word. Each /* Parse 'text' and add a term to 'message' for each parsed word. Each
* term will be added both prefixed (if prefix_name is not NULL) and * term will be added both prefixed (if prefix_name is not NULL) and
* also unprefixed). */ * also non-prefixed). */
notmuch_private_status_t notmuch_private_status_t
_notmuch_message_gen_terms (notmuch_message_t *message, _notmuch_message_gen_terms (notmuch_message_t *message,
const char *prefix_name, const char *prefix_name,

View file

@ -103,7 +103,7 @@ typedef enum _notmuch_status {
/* Get a string representation of a notmuch_status_t value. /* Get a string representation of a notmuch_status_t value.
* *
* The result is readonly. * The result is read-only.
*/ */
const char * const char *
notmuch_status_to_string (notmuch_status_t status); notmuch_status_to_string (notmuch_status_t status);
@ -510,7 +510,7 @@ notmuch_threads_move_to_next (notmuch_threads_t *threads);
* *
* It's not strictly necessary to call this function. All memory from * It's not strictly necessary to call this function. All memory from
* the notmuch_threads_t object will be reclaimed when the * the notmuch_threads_t object will be reclaimed when the
* containg query object is destroyed. * containing query object is destroyed.
*/ */
void void
notmuch_threads_destroy (notmuch_threads_t *threads); notmuch_threads_destroy (notmuch_threads_t *threads);

View file

@ -69,7 +69,7 @@ static const char maildir_config_comment[] =
"\tsynchronize_flags Valid values are true and false.\n" "\tsynchronize_flags Valid values are true and false.\n"
"\n" "\n"
"\tIf true, then the following maildir flags (in message filenames)\n" "\tIf true, then the following maildir flags (in message filenames)\n"
"\twill be syncrhonized with the corresponding notmuch tags:\n" "\twill be synchronized with the corresponding notmuch tags:\n"
"\n" "\n"
"\t\tFlag Tag\n" "\t\tFlag Tag\n"
"\t\t---- -------\n" "\t\t---- -------\n"

View file

@ -373,7 +373,7 @@ add_files_recursive (notmuch_database_t *notmuch,
/* If we're looking at a symlink, we only want to add it if it /* If we're looking at a symlink, we only want to add it if it
* links to a regular file, (and not to a directory, say). * links to a regular file, (and not to a directory, say).
* *
* Similarly, if the file is of unknown type (due to filesytem * Similarly, if the file is of unknown type (due to filesystem
* limitations), then we also need to look closer. * limitations), then we also need to look closer.
* *
* In either case, a stat does the trick. * In either case, a stat does the trick.

View file

@ -278,7 +278,7 @@ add_recipients_from_message (GMimeMessage *reply,
* The munging is easy to detect, because it results in a * The munging is easy to detect, because it results in a
* redundant reply-to header, (with an address that already exists * redundant reply-to header, (with an address that already exists
* in either To or Cc). So in this case, we ignore the Reply-To * in either To or Cc). So in this case, we ignore the Reply-To
* field and use the From header. Thie ensures the original sender * field and use the From header. This ensures the original sender
* will get the reply even if not subscribed to the list. Note * will get the reply even if not subscribed to the list. Note
* that the address in the Reply-To header will always appear in * that the address in the Reply-To header will always appear in
* the reply. * the reply.
@ -362,7 +362,7 @@ guess_from_received_header (notmuch_config_t *config, notmuch_message_t *message
* them indications to which email address this message was * them indications to which email address this message was
* delivered. * delivered.
* The Received: header is special in our get_header function * The Received: header is special in our get_header function
* and is always concated. * and is always concatenated.
*/ */
received = notmuch_message_get_header (message, "received"); received = notmuch_message_get_header (message, "received");
if (received == NULL) if (received == NULL)

View file

@ -484,7 +484,7 @@ sup calls them).
The The
.B part .B part
command can used to output a single part of a multi-part MIME message. command can used to output a single part of a multipart MIME message.
.RS 4 .RS 4
.TP 4 .TP 4
@ -641,13 +641,13 @@ expression).
Finally, results can be restricted to only messages within a Finally, results can be restricted to only messages within a
particular time range, (based on the Date: header) with a syntax of: particular time range, (based on the Date: header) with a syntax of:
<intial-timestamp>..<final-timestamp> <initial-timestamp>..<final-timestamp>
Each timestamp is a number representing the number of seconds since Each timestamp is a number representing the number of seconds since
1970\-01\-01 00:00:00 UTC. This is not the most convenient means of 1970\-01\-01 00:00:00 UTC. This is not the most convenient means of
expressing date ranges, but until notmuch is fixed to accept a more expressing date ranges, but until notmuch is fixed to accept a more
convenient form, one can use the date program to construct convenient form, one can use the date program to construct
timestamps. For example, with the bash shell the folowing syntax would timestamps. For example, with the bash shell the following syntax would
specify a date range to return messages from 2009\-10\-01 until the specify a date range to return messages from 2009\-10\-01 until the
current time: current time:

View file

@ -48,7 +48,7 @@ static int
notmuch_help_command (void *ctx, int argc, char *argv[]); notmuch_help_command (void *ctx, int argc, char *argv[]);
static const char search_terms_help[] = static const char search_terms_help[] =
"\tSeveral notmuch commands accept a comman syntax for search\n" "\tSeveral notmuch commands accept a common syntax for search\n"
"\tterms.\n" "\tterms.\n"
"\n" "\n"
"\tThe search terms can consist of free-form text (and quoted\n" "\tThe search terms can consist of free-form text (and quoted\n"

View file

@ -1,2 +1,2 @@
The debian packaging exists in the top-level "debian" directory within The Debian packaging exists in the top-level "debian" directory within
this source-code respository. this source-code repository.

View file

@ -1,4 +1,4 @@
# See Makfefile.local for the list of files to be compiled in this # See Makefile.local for the list of files to be compiled in this
# directory. # directory.
all: all:
$(MAKE) -C .. all $(MAKE) -C .. all

View file

@ -151,7 +151,7 @@ library for your script to use.
This works similar to test_expect_equal (see above) but is used to This works similar to test_expect_equal (see above) but is used to
mark a test that demonstrates a known breakage, (that is, the mark a test that demonstrates a known breakage, (that is, the
author of the test expectes "output" and "expected" to differ until author of the test expects "output" and "expected" to differ until
the breakage is fixed). See test_expect_failure for details. the breakage is fixed). See test_expect_failure for details.
test_debug <script> test_debug <script>
@ -181,7 +181,7 @@ writing tests:
generate_message generate_message
Generates a message with an optional template. Most tests will Generates a message with an optional template. Most tests will
actually prefere to call add_message. See below. actually prefer to call add_message. See below.
add_message add_message
@ -197,6 +197,6 @@ writing tests:
This function should be called at the beginning of a test file This function should be called at the beginning of a test file
when a test needs to operate on a non-empty body of messages. It when a test needs to operate on a non-empty body of messages. It
will intialize the mail database to a known state of 50 sample will initialize the mail database to a known state of 50 sample
messages, (culled from the early history of the notmuch mailing messages, (culled from the early history of the notmuch mailing
list). list).

View file

@ -318,7 +318,7 @@ test_expect_equal \
"$expected" "$expected"
test_begin_subtest "signature verification with revoked key" test_begin_subtest "signature verification with revoked key"
# generate revokation certificate and load it to revoke key # generate revocation certificate and load it to revoke key
echo "y echo "y
1 1
Notmuch Test Suite key revocation (automated) $(date '+%F_%T%z') Notmuch Test Suite key revocation (automated) $(date '+%F_%T%z')

View file

@ -108,6 +108,77 @@ notmuch new > /dev/null
output=$(notmuch search 'subject:"testing message sent via SMTP"' | notmuch_search_sanitize) output=$(notmuch search 'subject:"testing message sent via SMTP"' | notmuch_search_sanitize)
test_expect_equal "$output" "thread:XXX 1974-03-29 [1/1] Notmuch Test Suite; Testing message sent via SMTP (inbox)" test_expect_equal "$output" "thread:XXX 1974-03-29 [1/1] Notmuch Test Suite; Testing message sent via SMTP (inbox)"
test_begin_subtest "notmuch-fcc-dirs set to nil"
test_emacs "(setq notmuch-fcc-dirs nil) (notmuch-mua-mail) (princ (buffer-string))" > OUTPUT
cat <<EOF >EXPECTED
From: Notmuch Test Suite <test_suite@notmuchmail.org>
To:
Subject:
--text follows this line--
EOF
test_expect_equal_file OUTPUT EXPECTED
# Make another FCC maildir specific for the next test
mkdir -p mail/sent-string/cur
mkdir -p mail/sent-string/new
mkdir -p mail/sent-string/tmp
test_begin_subtest "notmuch-fcc-dirs set to a string"
test_emacs "(setq notmuch-fcc-dirs \"sent-string\") (notmuch-mua-mail) (princ (buffer-string))" > OUTPUT
cat <<EOF >EXPECTED
From: Notmuch Test Suite <test_suite@notmuchmail.org>
To:
Subject:
Fcc: ${MAIL_DIR}/sent-string
--text follows this line--
EOF
test_expect_equal_file OUTPUT EXPECTED
# Make more FCC maildirs specific for the next test
mkdir -p mail/sent-list-match/cur
mkdir -p mail/sent-list-match/new
mkdir -p mail/sent-list-match/tmp
mkdir -p mail/failure/cur
mkdir -p mail/failure/new
mkdir -p mail/failure/tmp
test_begin_subtest "notmuch-fcc-dirs set to a list (with match)"
test_emacs "(setq notmuch-fcc-dirs '((\"notmuchmail.org\" . \"sent-list-match\") (\".*\" . \"failure\"))) (notmuch-mua-mail) (princ (buffer-string))" > OUTPUT
cat <<EOF >EXPECTED
From: Notmuch Test Suite <test_suite@notmuchmail.org>
To:
Subject:
Fcc: ${MAIL_DIR}/sent-list-match
--text follows this line--
EOF
test_expect_equal_file OUTPUT EXPECTED
# Make another FCC maildir specific for the next test
mkdir -p mail/sent-list-catch-all/cur
mkdir -p mail/sent-list-catch-all/new
mkdir -p mail/sent-list-catch-all/tmp
test_begin_subtest "notmuch-fcc-dirs set to a list (catch-all)"
test_emacs "(setq notmuch-fcc-dirs '((\"example.com\" . \"failure\") (\".*\" . \"sent-list-catch-all\"))) (notmuch-mua-mail) (princ (buffer-string))" > OUTPUT
cat <<EOF >EXPECTED
From: Notmuch Test Suite <test_suite@notmuchmail.org>
To:
Subject:
Fcc: ${MAIL_DIR}/sent-list-catch-all
--text follows this line--
EOF
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "notmuch-fcc-dirs set to a list (no match)"
test_emacs "(setq notmuch-fcc-dirs '((\"example.com\" . \"failure\") (\"nomatchhere.net\" . \"failure\"))) (notmuch-mua-mail) (princ (buffer-string))" > OUTPUT
cat <<EOF >EXPECTED
From: Notmuch Test Suite <test_suite@notmuchmail.org>
To:
Subject:
--text follows this line--
EOF
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "Reply within emacs" test_begin_subtest "Reply within emacs"
# We sed away everything before the ^From in the output to avoid getting # We sed away everything before the ^From in the output to avoid getting
# confused by messages such as "Parsing /home/cworth/.mailrc... done" # confused by messages such as "Parsing /home/cworth/.mailrc... done"

View file

@ -85,7 +85,7 @@ test_expect_equal "$output" "No new mail."
# test created directory document in the database but this document # test created directory document in the database but this document
# was not linked as subdirectory of $MAIL_DIR. Therefore notmuch new # was not linked as subdirectory of $MAIL_DIR. Therefore notmuch new
# could not reach the cur/ directory and its files in it during # could not reach the cur/ directory and its files in it during
# recurive traversal. # recursive traversal.
# #
# XXX: The above sounds like a bug that should be fixed. If notmuch is # XXX: The above sounds like a bug that should be fixed. If notmuch is
# creating new directories in the mail store, then it should be # creating new directories in the mail store, then it should be

View file

@ -209,7 +209,7 @@ Non-text part: text/html
EOF EOF
test_expect_equal_file OUTPUT EXPECTED test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "--format=text --part=5, inline attachement" test_begin_subtest "--format=text --part=5, inline attachment"
notmuch show --format=text --part=5 'id:87liy5ap00.fsf@yoom.home.cworth.org' >OUTPUT notmuch show --format=text --part=5 'id:87liy5ap00.fsf@yoom.home.cworth.org' >OUTPUT
cat <<EOF >EXPECTED cat <<EOF >EXPECTED
attachment{ ID: 5, Content-type: text/plain attachment{ ID: 5, Content-type: text/plain

View file

@ -424,7 +424,7 @@ test_begin_subtest ()
error "bug in test script: Missing test_expect_equal in ${BASH_SOURCE[1]}:${BASH_LINENO[0]}" error "bug in test script: Missing test_expect_equal in ${BASH_SOURCE[1]}:${BASH_LINENO[0]}"
fi fi
test_subtest_name="$1" test_subtest_name="$1"
# Remember stdout and stderr file descriptios and redirect test # Remember stdout and stderr file descriptors and redirect test
# output to the previously prepared file descriptors 3 and 4 (see # output to the previously prepared file descriptors 3 and 4 (see
# below) # below)
if test "$verbose" != "t"; then exec 4>test.output 3>&4; fi if test "$verbose" != "t"; then exec 4>test.output 3>&4; fi

View file

@ -5,11 +5,11 @@ test_description="handling of uuencoded data"
add_message [subject]=uuencodetest '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' \ add_message [subject]=uuencodetest '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' \
'[body]="This message is used to ensure that notmuch correctly handles a '[body]="This message is used to ensure that notmuch correctly handles a
message containing a block of uuencoded data. First, we have a marker message containing a block of uuencoded data. First, we have a marker
this content beforeuudata . Then we beging the uunencoded data itself: this content beforeuudata . Then we begin the uuencoded data itself:
begin 644 bogus-uuencoded-data begin 644 bogus-uuencoded-data
M0123456789012345678901234567890123456789012345678901234567890 M0123456789012345678901234567890123456789012345678901234567890
MOBVIOUSLY, THIS IS NOT ANY SORT OF USEFUL UUNECODED DATA. MOBVIOUSLY, THIS IS NOT ANY SORT OF USEFUL UUENCODED DATA.
MINSTEAD THIS IS JUST A WAY TO ENSURE THAT THIS BLOCK OF DATA MINSTEAD THIS IS JUST A WAY TO ENSURE THAT THIS BLOCK OF DATA
MIS CORRECTLY IGNORED WHEN NOTMUCH CREATES ITS INDEX. SO WE MIS CORRECTLY IGNORED WHEN NOTMUCH CREATES ITS INDEX. SO WE
MINCLUDE A DURINGUUDATA MARKER THAT SHOULD NOT RESULT IN ANY MINCLUDE A DURINGUUDATA MARKER THAT SHOULD NOT RESULT IN ANY

View file

@ -37,7 +37,7 @@ Buffer types:
You are presented with the search results when you run :NotMuch. You are presented with the search results when you run :NotMuch.
Keybindings: Keybindings:
<Space> - show the selected thread colapsing unmatched items <Space> - show the selected thread collapsing unmatched items
<Enter> - show the entire selected thread <Enter> - show the entire selected thread
a - archive message (remove inbox tag) a - archive message (remove inbox tag)
f - filter the current search terms f - filter the current search terms

View file

@ -1314,7 +1314,7 @@ endfunction
function! s:NM_tag(filter, tags) function! s:NM_tag(filter, tags)
let filter = len(a:filter) ? a:filter : [<SID>NM_search_thread_id()] let filter = len(a:filter) ? a:filter : [<SID>NM_search_thread_id()]
if !len(filter) if !len(filter)
throw 'Eeek! I couldn''t find the thead id!' throw 'Eeek! I couldn''t find the thread id!'
endif endif
let args = ['tag'] let args = ['tag']
call extend(args, a:tags) call extend(args, a:tags)