aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* cli: make --entire-thread=false work for format=json.Gravatar Mark Walters2012-06-29
| | | | | | | | | | The --entire-thread option in notmuch-show.c defaults to true when format=json. Previously there was no way to turn this off. This patch makes it respect --entire-thread=false. To do this the patch moves the --entire-thread option to be a keyword option using the new command line parsing to allow the existing --entire-thread to keep working.
* cli: Let json output "null" messages for non --entire-threadGravatar Mark Walters2012-06-29
| | | | | | | All formats except Json can output empty messages for non entire-thread, but in Json format we output "null" to keep the other elements (e.g. the replies to the omitted message) in the correct place.
* cli: command line parsing: allow default for keyword optionsGravatar Mark Walters2012-06-29
| | | | | | | This changes the parsing for "keyword" options so that if the option is specified with no argument the argument is parsed as if it were passed an empty string. This make it easier to add options to existing boolean arguments (the existing --option can default to TRUE).
* ruby: extern linkage portability improvementGravatar Tomi Ollila2012-06-29
| | | | | | | | | | | | Some C compilers are stricter when it comes to (tentative) definition of a variable -- in those compilers introducing variable without 'extern' keyword always allocates new 'storage' to the variable and linking all these modules fails due to duplicate symbols. This is reimplementation of Charlie Allom's patch: id:"1336481467-66356-1-git-send-email-charlie@mediasp.com", written originally by Ali Polatel. This version has more accurate commit message.
* emacs: add pipe attachment commandGravatar Mark Walters2012-06-22
| | | | | | | Allow the user to pipe the attachment somewhere. Bound to '|' on the attachment button. Signed-off-by: Jameson Graef Rollins <jrollins@finestructure.net>
* emacs: derive correct timestamp in FCC unique nameGravatar Jesse Rosenthal2012-06-22
| | | | | | | | | | | | | | | | Previously, the timestamp at the beginning of the FCC unique maildir name was derived incorrectly, thanks to an integer overflow. This changes the derivation of timestamp to use a float, and so will get the number correct at least until 2038. (It is still formatted with "%d" so it will show up as an integer.) Should we need to change it in the next 26 years to take the unix millenium into account, it will be invisible to users. This change is mostly a question of consistency, since the unique name is arbitrary anyway. But since most people use timestamps, and that was the original intention here as well, we might as well. Signed-off-by: Jesse Rosenthal <jrosenthal@jhu.edu>
* News for updated maildir sync semanticsGravatar Austin Clements2012-06-10
|
* lib: Treat messages in new/ as maildir messages with no flags setGravatar Austin Clements2012-06-10
| | | | | | | | | | | | Previously, notmuch new only synchronized maildir flags to tags for files with a maildir "info" part. Since messages in new/ don't have an info part, notmuch would ignore them for flag-to-tag synchronization. This patch makes notmuch consider messages in new/ to be legitimate maildir messages that simply have no maildir flags set. The most visible effect of this is that such messages now automatically get the unread tag.
* lib: Only synchronize maildir flags for messages in maildirsGravatar Austin Clements2012-06-10
| | | | | | | | | | | | | Previously, we synchronized flags to tags for any message that looked like it had maildir flags in its file name, regardless of whether it was in a maildir-like directory structure. This was asymmetric with tag-to-flag synchronization, which only applied to messages in directories named new/ and cur/ (introduced by 95dd5fe5). This change makes our interpretation stricter and addresses this asymmetry by only synchronizing flags to tags for messages in directories named new/ or cur/. It also prepares us to treat messages in new/ as maildir messages, even though they lack maildir flags.
* lib: Move _filename_is_in_maildirGravatar Austin Clements2012-06-10
| | | | | | This way notmuch_message_maildir_flags_to_tags can call it. It makes more sense for this to be just above all of the maildir synchronization code rather than mixed in the middle.
* test: Add broken test for tag synchronization on files delivered to new/Gravatar Austin Clements2012-06-10
| | | | | | | | | | | | | | | | | Currently, notmuch new only synchronizes maildir flags to tags for files that have an "info" part. However, in maildir, new mail doesn't gain the info part until it moves from new/ to cur/. Hence, even though mail in new/ doesn't have an info part, it is still a maildir message and thus has maildir flags (though none of them set). The most visible effect of not synchronizing maildir flags for messages in new/ is that newly delivered messages don't get the unread tag (unless it is assigned by some other mechanism, like new.tags). This patch does *not* modify the test for messages in cur/ that do not have an "info" part. Unlike a message in new/, a message in cur/ without an info part is no longer a maildir message, and thus shouldn't be subject to maildir flag synchronization.
* cli: use new notmuch_crypto_get_context in mime-node.cGravatar Jameson Graef Rollins2012-06-10
| | | | | | | | This has the affect of lazily creating the crypto contexts only when needed. This removes code duplication from notmuch-show and notmuch-reply, and should speed up these functions considerably if the crypto flags are provided but the messages don't have any cryptographic parts.
* cli: new crypto verify flag to handle verificationGravatar Jameson Graef Rollins2012-06-10
| | | | | | | Use this flag rather than depend on the existence of an initialized gpgctx, to determine whether we should verify a multipart/signed. We will be moving to create the ctx lazily, so we don't want to depend on it being previously initialized if it's not needed.
* cli: modify mime_node_context to use the new crypto structGravatar Jameson Graef Rollins2012-06-10
| | | | This simplifies some more interfaces.
* cli: modify mime_node_open to take new crypto struct as argumentGravatar Jameson Graef Rollins2012-06-10
| | | | This simplifies the interface considerably.
* cli: modify show and reply to use new crypto structGravatar Jameson Graef Rollins2012-06-10
| | | | | notmuch_show_params_t is modified to use the new notmuch_crypto_t, and notmuch-show and notmuch-reply are modified accordingly.
* cli: new crypto structure to store crypto contexts and parameters, and ↵Gravatar Jameson Graef Rollins2012-06-10
| | | | | | | | | | | | | | | | functions to support it This new structure, notmuch_crypto_t, keeps all relevant crypto contexts and parameters together, and will make it easier to pass the stuff around and clean it up. The name of the crypto context inside this new struct will change, to reflect that it is actually a GPG context, which is a sub type of Crypto context. There are other types of Crypto contexts (Pkcs7 in particular, which we hope to support) so we want to be clear. The new crypto.c contains functions to return the proper context from the struct for a given protocol (and initialize it if needed), and to cleanup a struct by releasing the crypto contexts.
* cli: use new typedef to deal with gmime 2.4/2.6 context incompatibilityGravatar Jameson Graef Rollins2012-06-10
| | | | | | gmime 2.4 defines GMimeCipherContext, while 2.6 defines GMimeCryptoContext. typedef them both to notmuch_crypto_context_t to cover this discrepancy and remove a bunch of #ifdefs.
* emacs: only strip "re:" in the beginning of subjectGravatar Jani Nikula2012-06-07
| | | | | Fix notmuch-show-strip-re by matching "re:" only in the beginning of the input string.
* test: add test for emacs notmuch-show-strip-re functionGravatar Jani Nikula2012-06-07
| | | | | | The function is used for stripping "re:" from subjects to generate "bare subjects". Include broken test for having "re:" in the middle of the subject.
* nmbug: check whether every forked process exit with (non)zero valueGravatar Tomi Ollila2012-06-03
| | | | | | If any of the forked process exits with nonzero value, terminate current operation -- nonzero exit value indicates failure and then there is no point continuing.
* uncrustify.cfg: comments and more typesGravatar Tomi Ollila2012-06-03
| | | | | | | | | Changes to devel/uncrustify.cfg: * Updated header comment to state this is config file for *notmuch*. * Added comment about the reason of 'type' keyword used. * Added some more custom types woth 'type' keyword. * Have (every) multiline comment lines start with '*'.
* emacs: Suppress warnings about using cl at runtimeGravatar Austin Clements2012-06-03
| | | | | | | | | It was decided in the thread starting at [0] that it is okay for notmuch to use 'cl runtime functions. However, by default, these produce byte compiler warnings. This suppresses those using file-local variables. [0] id:"m262g864dz.fsf@wal122.wireless-pennnet.upenn.edu"
* config: add quoting to fix IFS bugGravatar Jameson Graef Rollins2012-06-03
| | | | | | Without proper quoting the DEFAULT_IFS was getting set incorrectly, which was causing problems with the storage of some variables later in the script. Quoting fixes the problem.
* Merge tag '0.13.2'Gravatar David Bremner2012-06-03
|\ | | | | | | notmuch 0.13.2 release
| * debian: changelog stanza for 0.13.2-1Gravatar David Bremner2012-06-02
| |
| * NEWS: update for 0.13.2Gravatar David Bremner2012-06-02
| |
| * version: update to 0.13.2Gravatar David Bremner2012-06-02
| |
| * notmuch-deliver: Update to new notmuch_database_open APIGravatar Austin Clements2012-06-01
| | | | | | | | Commit 5fddc07 changed this API, but missed this use of it.
* | notmuch-mutt: lookup notmuch-search-terms(7) when asked for helpGravatar Stefano Zacchiroli2012-05-29
| | | | | | | | | | | | | | | | When asked for interactive help, lookup notmuch-search-terms(7) instead of notmuch(1). Syntax of notmuch queries used to be described in the latter, but has recently been moved to the former. Closes: #675073 (in the Debian BTS)
* | Merge branch 'release'Gravatar David Bremner2012-05-29
|\|
| * NEWS: add item about ruby bindings.Gravatar David Bremner2012-05-28
| | | | | | | | Corrections or clarifications welcome.
| * Revert "ruby: Add workarounds to use in-tree build not the installed one"Gravatar Felipe Contreras2012-05-28
| | | | | | | | | | | | | | | | | | This reverts commit 82b73ffd7380b85d259eeb91100dd6ac2d14223a. Only leave the copyright changes. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> (cherry picked from commit 35cb1c95cc8afa964900d29c813349ad8e24e7a8)
* | configure: add help note about gmime versionGravatar Jameson Graef Rollins2012-05-25
| |
* | cli: fix documentation about --decrypt for showGravatar Jameson Graef Rollins2012-05-25
| | | | | | | | Forgot to mention that it implies --verify.
* | test: remove "Testing" from test description in emacs-hello and emacs-showGravatar Dmitry Kurochkin2012-05-25
| | | | | | | | | | "Testing" is printed by test/test-lib.sh, so having "Testing" in test description results in duplicate "Testing" in console output.
| * debian: changelog stanza for 0.13.1Gravatar David Bremner2012-05-25
| |
| * version: bump to 0.13.1Gravatar David Bremner2012-05-25
| |
| * fix release date for 0.13.1Gravatar David Bremner2012-05-25
| |
| * NEWS for directory function fixesGravatar Austin Clements2012-05-25
| |
* | Revert "ruby: Add workarounds to use in-tree build not the installed one"Gravatar Felipe Contreras2012-05-25
| | | | | | | | | | | | | | | | This reverts commit 82b73ffd7380b85d259eeb91100dd6ac2d14223a. Only leave the copyright changes. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
* | test: add tests for notmuch reply From guessingGravatar Jani Nikula2012-05-24
| | | | | | | | | | | | | | Add tests for picking up user's From address from fallback headers Envelope-To, X-Original-To, and Delivered-To. Signed-off-by: Jani Nikula <jani@nikula.org>
* | cli: also use Delivered-To header to figure out the reply from addressGravatar Jani Nikula2012-05-24
| | | | | | | | | | | | | | | | | | | | Add another fallback header Delivered-To for guessing the user's from address for notmuch reply before using the Received headers. Apparently some MTAs use Delivered-To instead of X-Original-To (which already exists as a fallback). Reported-by: Michael Hudson-Doyle <michael.hudson@canonical.com> Signed-off-by: Jani Nikula <jani@nikula.org>
* | Recommend libgmime-2.6-dev in INSTALLGravatar Austin Clements2012-05-24
| | | | | | | | | | Given that everything prefers 2.6 over 2.4, it seems appropriate to suggest that people install the 2.6 dev package instead of 2.4.
* | new: Unify add_files and add_files_recursiveGravatar Austin Clements2012-05-24
| | | | | | | | | | | | | | | | Since starting at the top of a directory tree and recursing within that tree are now identical operations, there's no need for both add_files and add_files_recursive. This eliminates add_files (which did nothing more than call add_files_recursive after the previous patch) and renames add_files_recursive to add_files.
* | new: Merge error checks from add_files and add_files_recursiveGravatar Austin Clements2012-05-24
| | | | | | | | | | | | | | | | | | | | | | | | Previously, add_files_recursive could have been called on a symlink to a non-directory. Hence, calling it on a non-directory was not an error, so a separate function, add_files, existed to fail loudly in situations where the path had to be a directory. With the new stat-ing logic, add_files_recursive is always called on directories, so the separation of this logic is no longer necessary. Hence, this patch moves the strict error checking previously done by add_files into add_files_recursive.
* | new: Centralize file type stat-ing logicGravatar Austin Clements2012-05-24
| | | | | | | | | | | | | | | | | | | | This moves our logic to get a file's type into one function. This has several benefits: we can support OSes and file systems that do not provide dirent.d_type or always return DT_UNKNOWN, complex symlink-handling logic has been replaced by a simple stat fall-through in one place, and the error message for un-stat-able file is more accurate (previously, the error always mentioned directories, even though a broken symlink is not a directory).
* | test: Test notmuch new with a broken symlinkGravatar Austin Clements2012-05-24
| |
| * NEWS: started 0.13.1 stanza: fix decoding of text/plain parts in replyGravatar Tomi Ollila2012-05-24
| | | | | | | | | | NEWS item for forthcoming 0.13.1 bug fix release: UTF-8 characters were incorrectly decoded when inserting reply content from text/plain parts.
* | Merge branch 'release'Gravatar David Bremner2012-05-23
|\| | | | | | | | | merge 0.13.1 bugfix patches back to master, fixes for emacs reply and spurious directory document creation.