aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-04-05configure: add empty line after each missing component messageTomi Ollila
Currently whenever message about missing GMime, Glib or talloc is printed the message is 2 lines, component info and its http location in next line. In the future the amount of lines will vary. To ease reading in these cases newline is added after each message.
2012-04-05emacs: fix off-by-one error in notmuch-hello column alignmentDmitry Kurochkin
Expected results for few tests are fixed, the relevant test is unmarked broken.
2012-04-05test: add broken test for long names in Emacs notmuch-hello viewDmitry Kurochkin
Currently, the column alignment in Emacs notmuch-hello is broken for tags/queries with long names.
2012-04-02emacs: Fix the References header in replyAdam Wolfe Gordon
In the new reply code, the References header gets inserted by message.el using a function called message-shorten-references. Unlike all the other header-inserting functions, it doesn't put a newline after the header, causing the next header to end up on the same line. In our case, this header happened to be User-Agent, so it's hard to notice. This is probably a bug in message.el, but we need to work around it. This fixes the problem by wrapping message-shorten-references in a function that inserts a newline after if necessary. This should protect against the message.el bug being fixed in the future.
2012-04-02test: Show all headers in emacs reply testsAdam Wolfe Gordon
By default, emacs hides the User-Agent and References headers when composing mail. This is a good thing for users, but a bad thing for testing, since we can create ugly or invalid headers and not have it show up in the tests. By setting message-hidden-headers to an empty list, we force emacs to show all the headers, so we can check that they're correct. Users won't see this, but it will let us catch future bugs. As a side-effect, this breaks all the reply tests, since there is a bug with the References and User-Agent headers, fixed in the next commit.
2012-04-02emacs: Fix two bugs in replyAdam Wolfe Gordon
Bug 1: Replying from alternate addresses ---------------------------------------- The reply code was inconsistent in its use of symbols and strings for header names being passed to message.el functions. This caused the From header to be lookup up incorrectly, causing an additional From header to be added with the user's primary address instead of the correct alternate address. This is fixed by using symbols everywhere, i.e. never using strings for header names when interacting with message.el. This change also removes our use of `mail-header`, since we don't use it anywhere else, and using assq makes it clear how the header lists are expected to work. Bug 2: Duplicate headers in emacs 23.2 -------------------------------------- The message.el code in emacs 23.2 assumes that header names will always be passed as symbols, so our use of strings caused problems. The symptom was that on 23.2 (and presumably on earlier versions) the reply message would end up with two of some headers. Converting everything to symbols also fixes this issue.
2012-04-02test: Tests for reply from alternate addresses in emacsAdam Wolfe Gordon
Since the recent reply changes were pushed, there has been a bug that causes emacs to always reply from the primary address, even if the JSON or default CLI reply output uses an alternate address. This adds two tests to the emacs test library based on the two "Reply form..." tests in the reply test library. One is currently marked broken.
2012-03-31notmuch-mutt: fix typo in manpageStefano Zacchiroli
2012-03-31NEWS: document inclusion of contrib/notmuch-muttStefano Zacchiroli
2012-03-31emacs: Fix mis-named argument to notmuch-get-bodypart-internalAustin Clements
Previously, this function took an argument called "message-id", even though it was a general query, rather than a message ID. This changes it to "query".
2012-03-31reply: Move reply citation printing to the recursive MIME walkAustin Clements
This makes more logical sense, since it makes the recursive printer responsible for the entire reply body and lets it start at the root of the MIME tree instead of the first child. (We could move reply header creation in there, too, but if we ever support proper reply to multiple messages, we'll want just one set of reply headers computed from the entire message set and many bodies.)
2012-03-31reply: Convert default reply format to self-recursive styleAustin Clements
This re-arranges the default reply formatter code to use the mime_node_t abstraction. There are no semantic changes.
2012-03-31show/reply: Unify the code that extracts text partsAustin Clements
Previously, show and reply had separate implementations of decoding and printing text parts. Now both use show's implementation, which was more complete. Show's implementation has been extended with an option to add reply quoting to the extracted part (this is implemented as a named flag to avoid naked booleans, even though it's the only flag it can take).
2012-03-30emacs: Escape all message ID queriesAustin Clements
This adds a lib function to turn a message ID into a properly escaped message ID query and uses this function wherever we previously hand-constructed ID queries. Wherever this new function is used, documentation has been clarified to refer to "id: queries" instead of "message IDs". This fixes the broken test introduced by the previous patch.
2012-03-30test: Add Emacs test for messages with quotes in their message IDAustin Clements
Currently this is broken because Emacs doesn't properly escape double quotes in message IDs.
2012-03-30cli: refactor "notmuch restore" message tagging into a separate functionJani Nikula
Refactor to make tagging code easier to reuse in the future. No functional changes. Signed-off-by: Jani Nikula <jani@nikula.org>
2012-03-30cli: refactor "notmuch tag" query tagging into a separate functionJani Nikula
Refactor to make tagging code easier to reuse in the future. No functional changes. Signed-off-by: Jani Nikula <jani@nikula.org>
2012-03-30cli: refactor "notmuch tag" data structures for tagging operationsJani Nikula
To simplify code, keep all tagging operations in a single array instead of separate add and remove arrays. Apply tag changes in the order specified on the command line, instead of first removing and then adding the tags. This results in a minor functional change: If a tag is both added and removed, the last specified operation is now used. Previously the tag was always added. Change the relevant test to reflect the new behaviour. Signed-off-by: Jani Nikula <jani@nikula.org>
2012-03-30test: add test for both adding and removing a tag at the same timeJani Nikula
The current behaviour is that regardless of the order in which the addition and removal of a tag are specified, the tag is added. Signed-off-by: Jani Nikula <jani@nikula.org>
2012-03-30emacs: content-type comparison should be case insensitive.Mark Walters
The function notmuch-match-content-type was comparing content types case sensitively. Fix it so it tests case insensitively. This fixes a bug where emacs would not include any body when replying to a message with content-type TEXT/PLAIN.
2012-03-30debian packaging: new binary package notmuch-muttStefano Zacchiroli
2012-03-30contrib: new mutt-notmuch utility for Mutt integrationStefano Zacchiroli
2012-03-22NEWS: consistent 2-space indentation in new contentTomi Ollila
Some 0.12 NEWS items descriptions were indented with 3 spaces whereas all other lines are indented with 2 spaces. Brought those escaped lines back in line with others.
2012-03-20Merge tag 'debian/0.12-1'David Bremner
notmuch Debian 0.12-1 upload (same as 0.12 + debian changelog fix)
2012-03-20debian: reword changelog about ignoresdebian/0.12-1David Bremner
2012-03-20Allow selecting which version of gmime is used to build notmuch.Tomi Ollila
This allows for testing against both versions of gmime on a single machine, without having to mess with pkg-config paths. This is rework of Tom Prince's patch submitted in id:"1331402091-15663-1-git-send-email-tom.prince@ualberta.net"
2012-03-20configure: store $IFS to $DEFAULT_IFS readonly variableTomi Ollila
In the future, IFS value needs to be changed in a few places in configure -- and then restored. Store the original value to $DEFAULT_IFS for easy restoration.
2012-03-20Do not try to parse the options for --build and --host argumentsJustus Winter
Formerly the code assumed the arguments to be triples and threw an error if this was not the case. But those arguments are only there for compatibility with autotools and are not used within the build system, so just dropping the code parsing these values makes the build system more robust. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
2012-03-20Add GNU as a valid platformJustus Winter
Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
2012-03-20Merge tag '0.12'David Bremner
notmuch 0.12 release
2012-03-20add NEWS item for printing0.12David Bremner
2012-03-19Merge branch 'release'David Bremner
Conflicts: NEWS Conflicts resolved by hand for date of 0.12 release.
2012-03-19debian: add changelog stanza for 0.12David Bremner
Include extremely terse summary of NEWS.
2012-03-19NEWS: add news item for help = man pageDavid Bremner
As we discovered recently on the list, this really is new for 0.12
2012-03-19update version to 0.12David Bremner
There may be a few NEWS changes after this, but no code (hopefully).
2012-03-19NEWS: update discussion of GMime 2.6 version requirements.David Bremner
Be more specific than "Current GMime 2.6". Also explain why we need >=2.6.7
2012-03-19NEWS: set release date for 0.12David Bremner
2012-03-19NEWS: news for reply enhancementsAdam Wolfe Gordon
2012-03-19emacs: Use the new JSON reply format and message-cite-originalAdam Wolfe Gordon
Use the new JSON reply format to create replies in emacs. Quote HTML parts nicely by using mm-display-part to turn them into displayable text, then quoting them with message-cite-original. This is very useful for users who regularly receive HTML-only email. Use message-mode's message-cite-original function to create the quoted body for reply messages. In order to make this act like the existing notmuch defaults, you will need to set the following in your emacs configuration: message-citation-line-format "On %a, %d %b %Y, %f wrote:" message-citation-line-function 'message-insert-formatted-citation-line The tests have been updated to reflect the (ugly) emacs default.
2012-03-19test: Add broken tests for new emacs reply functionalityAdam Wolfe Gordon
Add tests for creating nice replies to multipart messages, including those with HTML parts. These tests are expected to fail for now.
2012-03-19emacs: Factor out useful functions into notmuch-libAdam Wolfe Gordon
Move a few functions related to handling multipart/alternative parts into notmuch-lib.el, so they can be used by future reply code.
2012-03-19man: Add --decrypt to reply flagsAdam Wolfe Gordon
2012-03-19man: Update notmuch-reply man page for JSON format.Adam Wolfe Gordon
2012-03-19schemata: Add documentation for JSON reply format.Adam Wolfe Gordon
2012-03-19reply: Add a JSON reply format.Adam Wolfe Gordon
This new JSON format for replies includes headers generated for a reply message as well as the headers of the original message. Using this data, a client can intelligently create a reply. For example, the emacs client will be able to create replies with quoted HTML parts by parsing the HTML parts.
2012-03-19TODO: Add replying to multiple messagesAdam Wolfe Gordon
2012-03-19reply: Factor out reply creationAdam Wolfe Gordon
Factor out the creation of a reply message based on an original message so it can be shared by different reply formats.
2012-03-19test: Add broken test for the new JSON reply format.Adam Wolfe Gordon
2012-03-18NEWS: start section for 0.13David Bremner
People are making patches for the 0.12 NEWS section for features that won't be there. Let's help them out by adding a new stanza.
2012-03-18emacs: Fix search tab completion in terminalsAustin Clements
In X, Emacs distinguishes the tab key, which produces a 'tab event; from C-i, which produces a ?\t event. However, in a terminal, these are indistinguishable and only produce a ?\t event. In order to simplify things, Emacs automatically translates from 'tab to ?\t (see "Function key translations" in M-x describe-bindings), so functions only need to be bound to ?\t to work in all situations. Previously, the search tab completion code usedq (kbd "<tab>"), which produced the event sequence [tab], which only matched the 'tab event and hence only worked in X. This patch changes it to (kbd "TAB"), which matches the general ?\t event and works in all situations.