aboutsummaryrefslogtreecommitdiffhomepage
path: root/emacs
Commit message (Collapse)AuthorAge
* Makefile: Make emacs compilation depend on global dependencies.Gravatar Carl Worth2011-06-28
| | | | | | | | We call these "global_deps" for a reason, after all! Without this, emacs compilation would proceed even if the configure script failed, (such as for a missing dependency). That's undesirable as it can cause the helpful error messages from the configure failure to scroll away.
* fix sum moar typos [error messages]Gravatar Pieter Praet2011-06-23
| | | | | | | | Various typo fixes in error messages within the source code. Signed-off-by: Pieter Praet <pieter@praet.org> Edited-by: Carl Worth <cworth@cworth.org> Restricted to just error messages.
* fix sum moar typos [user-visible documentation in code]Gravatar Pieter Praet2011-06-23
| | | | | | | | | | | | Various typo fixes in documentation within the code that can be made available to the user, (emacs function help strings, "notmuch help" output, notmuch man page, etc.). Signed-off-by: Pieter Praet <pieter@praet.org> Edited-by: Carl Worth <cworth@cworth.org> Restricted to just documentation and fixed fix of "comman" to "common" rather than "command".
* fix sum moar typos [comments in source code]Gravatar Pieter Praet2011-06-23
| | | | | | | | | | Various typo fixes in comments within the source code. Signed-off-by: Pieter Praet <pieter@praet.org> Edited-by: Carl Worth <cworth@cworth.org> Restricted to just source-code comments, (and fixed fix of "descriptios" to "descriptors" rather than "descriptions").
* fix sum moar typos [build scripts, Makefiles]Gravatar Pieter Praet2011-06-23
| | | | | | | | Various typo fixes in comments within the Makefile and other build scripts. Signed-off-by: Pieter Praet <pieter@praet.org> Edited-by: Carl Worth <cworth@cworth.org> Restricted to just build files.
* Fix wrong-type-argument lisp error in `notmuch-fcc-header-setup'Gravatar Dmitry Kurochkin2011-06-23
| | | | | | | | | | | This error occurs when `notmuch-fcc-dirs' is set to a list. The error was in the `notmuch-fcc-dirs' format check which was changed in an incompatible way from 0.4 to 0.5. The fix was extracted from a bigger patch series by David Edmondson id:"1290682750-30283-2-git-send-email-dme@dme.org". Signed-off-by: Jameson Graef Rollins <jrollins@finestructure.net>
* emacs: Show all multipart/alternative parts by default.Gravatar Jameson Graef Rollins2011-06-22
| | | | | | | | | | | | | | | | | | This is patch is a temporary work-around for a slight regression that popped up in the part handling reorganization. Currently, text/plain parts are always preferred, if present, over other non-text/plain parts in multipart/alternative. However, this means that if there is a blank text/plain part, no content will be displayed. One way to get around this is to set the "notmuch-show-all-multipart/alternative-parts" customization variable to True ('t'), which will cause all parts to always be displayed. Since we want to move forward with the next release, we're going to set this variable true by default, to make sure that no content is unretrievably hidden from the user. Once we come up with a better solution for easy display of hidden parts we can set this back to a default value of 'nil'.
* Simplify message and headers visibility code in notmuch-show view.Gravatar Dmitry Kurochkin2011-06-15
| | | | | | | | | | | | Before the change, headers and message visibility functions took extra care to correctly set `buffer-invisibility-spec'. This was needed because headers overlay `invisible' property had only headers' invisibility spec. So visibility of headers was determined only by the headers invisibility spec. The patch sets headers overlay `invisible' property a list with both the headers and the message invisibility spec. This makes headers invisible if either of them is added to the `buffer-invisibility-spec' and allows to simplify the code.
* Set higher priority for headers and hidden citation overlays.Gravatar Dmitry Kurochkin2011-06-15
| | | | | | | | | | | Before the patch, message, headers and hidden citation overlays had zero priority. All these overlay have `invisible' property. Emacs documentation says that we should not make assumptions about which overlay will prevail when they have the same priority [1]. It happens to work as we need, but we should not rely on undocumented behavior. [1] http://www.gnu.org/s/emacs/manual/html_node/elisp/Overlay-Properties.html
* Fix hiding a message while some citations are shown in notmuch-show view.Gravatar Dmitry Kurochkin2011-06-15
| | | | | | | | | | | | | | | | | | | Before the change, message and citation invisibility overlays conflicted: if some citation is made visible and then the whole message is hidden, that citation remained visible. This happened because the citation's overlay has an invisible property which takes priority over the message overlay. The message invisibility spec does not affect citation visibility, it is determined solely by the citation overlay invisibility spec. Hence, if citation is made visible, it is not hidden by message invisibility spec. The patch changes citation overlay invisibility property to be a list which contains both the citation and the message invisibility specs. This makes the citation invisible if either of them is added to the `buffer-invisibility-spec'. Note that all citation visibility states are "restored" when the message hidden and shown again.
* Set message invisibility spec properties before inserting the body.Gravatar Dmitry Kurochkin2011-06-15
| | | | | This would allow body-inserting code (in particular, wash button-inserting code) to use message invisibility specs.
* Pass message to the `notmuch-show-insert-text/plain-hook' hook.Gravatar Dmitry Kurochkin2011-06-15
| | | | | | | | Before the change, the `notmuch-show-insert-text/plain-hook' was given only the `depth' argument. The patch adds another one - the message. Currently, the new message argument is not used by any on the hooks. But it will be used later to get access to message invisibility specs when wash buttons are inserted.
* Workaround for Emacs bug #8721.Gravatar Dmitry Kurochkin2011-06-15
| | | | | | | | | | | The emacs bug is that isearch cannot search through invisible text when the 'invisible' property is a list. The patch adds `notmuch-isearch-range-invisible' function which is the same as `isearch-range-invisible' but with fixed Emacs bug #8721. Advice added for `isearch-range-invisible' which calls `notmuch-isearch-range-invisible' instead of the original `isearch-range-invisible' when in `notmuch-show-mode'.
* notmuch.el: hide original message in top posted replies.Gravatar David Bremner2011-06-10
| | | | | | | | | | | | | This code treats top posted copies essentially like signatures, except that it doesn't sanity check their length, since neither do their senders. New user-visible variables: notmuch-wash-button-original-hidden-format notmuch-wash-button-original-visible-format Rebased-by: Carl Worth <cworth@cworth.org>
* Make `notmuch-show-clean-address' parsing-error-proof.Gravatar Dmitry Kurochkin2011-06-03
| | | | | | | | Mail-header-parse-address may fail for an invalid address. Before the change, this would result in empty notmuch-show buffer with an error message like: Scan error: "Unbalanced parentheses". The patch wraps the function in condition-case and returns unchanged address in case of error.
* emacs: Cleaner interface when prompting for sender addressGravatar Thomas Jost2011-06-03
| | | | | | Most of the time, every entry in the list of identities has the same user name part. It can then be filled in automatically, and the user can only be prompted for the email address, which makes the interface much cleaner.
* emacs: Don't always prompt for the "From" address when replyingGravatar Thomas Jost2011-06-03
| | | | | When replying, the From: address is already filled in by notmuch reply, so most of the time there is no need to prompt the user for it.
* emacs: fix notmuch-show-part-button to not include newlineGravatar Jameson Graef Rollins2011-06-03
| | | | | This makes the button cleaner, so that it doesn't include the entire rest of the line that the button is on.
* Use message-field-value instead of message-fetch-field in FCC header setup.Gravatar Dmitry Kurochkin2011-06-03
| | | | | | | | | | | | | | For message-fetch-field the buffer is expected to be narrowed to just the header of the message. That is not the case when notmuch-fcc-header-setup is run, hence a wrong header value may be returned. E.g. when forwarding an email, (message-fetch-field "From") returns the From header value of the forwarded email. Message-field-value is the same as message-fetch-field, only narrows the buffer to the headers first. Signed-off-by: Jameson Graef Rollins <jrollins@finestructure.net>
* emacs: Use "message-cited-text" instead of "message-cited-text-face"Gravatar Pieter Praet2011-06-01
| | | | | | | | | (describe-face 'message-cited-text-face) > message-cited-text-face is an alias for the face `message-cited-text'. > This face is obsolete since 22.1; use `message-cited-text' instead. Signed-off-by: Pieter Praet <pieter@praet.org> Signed-off-by: Jameson Graef Rollins <jrollins@finestructure.net>
* emacs: Define several faces for the crypto-status buttonGravatar Thomas Jost2011-06-01
| | | | | | | Signed-off-by: Jameson Graef Rollins <jrollins@finestructure.net> jrollins modified this patch to conform to recent changes in the crypto processing since this patch was originally sent in.
* Don't re-compress .gz & al. in notmuch-show-save-part.Gravatar Dmitry Kurochkin2011-05-31
| | | | | | | | | | | | | | | | | | | | | | | | Write-region handles some file names specially, see Emacs Lisp manual section 25.11 Making Certain File Names "Magic" [1]. This is a nice feature for normal text editing, but it is not desirable if we need to save raw file content (e.g. attachment). In particular, this affects archives and may result in corrupted attachments saved with notmuch-show-save-part (attachment button click handler). Turns out, smart GNUS folks encountered the same problem and implemented write-region wrapper which inhibits some file name handlers. In particular, this wrapper is used in mm-save-part, which is why notmuch-save-attachments that uses it works fine with archives. The patch replaces write-region with mm-write-region in notmuch-show-save-part. Also it removes coding-system-for-write and require-final-newline setting in notmuch-show-save-part. The former is set in mm-write-region. The latter seems to be unneeded because mm-save-part does not use it. [1] http://www.gnu.org/s/emacs/manual/html_node/elisp/Magic-File-Names.html
* emacs: Give mutlipart/{signed, encrypted} their own part handler.Gravatar Jameson Graef Rollins2011-05-27
| | | | | | | | This is the best way to make the displayed output for decrypted/verified messages clearer. The special sigstatus and encstatus buttons are now displayed under the part header button. The part header button is also tweaked to provide information to user about how to proces crypto.
* emacs: Do not attempt to render arbitrary application parts.Gravatar Jameson Graef Rollins2011-05-27
| | | | | | | We probably shouldn't have been doing this anyway, but we do it here specifically because we don't want the content of the application/pgp-encrypted parts to be displayed and cluttering the message show.
* emacs: Add support for PGP/MIME verification/decryptionGravatar Jameson Graef Rollins2011-05-27
| | | | | | | | | | | | | A new emacs configuration variable "notmuch-crypto-process-mime" controls the processing of PGP/MIME signatures and encrypted parts. When this is set true, notmuch-query will use the notmuch show --decrypt flag to decrypt encrypted messages and/or calculate the sigstatus of signed messages. If sigstatus is available, notmuch-show will place a specially color-coded header at the begining of the signed message. Also included is the ability to switch decryption/verification on/off on the fly, which is bound to M-RET in notmuch-search-mode.
* emacs: Make the queries used in the all-tags section configurableGravatar Daniel Schoepe2011-05-26
| | | | | | | | | | This patch adds a customization variable that controls what queries are used to construct the all-tags section in notmuch-hello. It allows the user to specify a function to construct the query given a tag or a string that is used as a filter for each tag. It also adds a variable to hide various tags from the all-tags section. Signed-off-by: Daniel Schoepe <daniel.schoepe@googlemail.com>
* emacs: Add a customization allowing to always prompt for the "From" address ↵Gravatar Thomas Jost2011-05-26
| | | | when composing a new message
* emacs: Allow the user to choose the "From" address when replying to a messageGravatar Thomas Jost2011-05-26
| | | | When pressing C-u r, the user will be prompted for the identity to use.
* emacs: Allow the user to choose the "From" address when forwarding a messageGravatar Thomas Jost2011-05-26
| | | | When pressing C-u f, the user will be prompted for the identity to use.
* emacs: Allow the user to choose the "From" address when composing a new messageGravatar Thomas Jost2011-05-26
| | | | When pressing C-u m, the user will be prompted for the identity to use.
* emacs: Helpers needed for the user to be able to choose the "From" address ↵Gravatar Thomas Jost2011-05-26
| | | | | | | | | | | | | | | when composing a new message This adds functions and variables needed for this feature to be implemented. Once it's done, the user will be able to use a prefix argument (e.g. pressing C-u m instead of m) and be able to select a From address. By default the list of names/addresses to be used during completion will be automatically generated by the settings in the notmuch configuration file. The user can customize the notmuch-identities variable to provide an alternate list. This is based on a previous patch by Carl Worth (id:"87wrhfvk6a.fsf@yoom.home.cworth.org" and follow-ups).
* Carefully manage save/restore of point in ↵Gravatar Dmitry Kurochkin2011-05-24
| | | | | | | | | | | | `notmuch-wash-toggle-invisible-action'. Before the change, save-excursion was used to save the point. But the marker saved by save-excursion was inside a region that was deleted, so that approach is unreliable, (leading to point jumping to a new position past the button). This patch instead saves point in an integer variable, and when restoring, carefully avoids moving point past the button, (in case the new button label is shorter than the old button label).
* Use different labels for wash buttons when text is visible or hidden.Gravatar Dmitry Kurochkin2011-05-24
| | | | | | | | | Before the change, citation and signature wash buttons used the same label in both visible and hidden states. Sometimes it is very convenient when you can determine if the text is hidden or shown without reading the context and/or clicking the button. The patch makes it easy to see if the text is shown or hidden by explicitly saying what the button does (shows or hides the text).
* emacs: Add an accessor function for emacs code to get at user.other_emailGravatar Carl Worth2011-05-24
| | | | | This is like the other notmuch-config accessor functions except that it converts the newline-separated string into an actual lisp list.
* emacs: add notmuch-before- and notmuch-after-tag-hookGravatar Daniel Schoepe2011-05-24
| | | | | | | | This patch adds hooks that are run before/after messages are tagged From the emacs interface. In order to implement this and to avoid having hooks parse all the arguments to the notmuch binary again, I created a `notmuch-tag' function that other modules should use instead of running (notmuch-call-notmuch-process "tag" ...) directly.
* emacs: update notmuch-show.el to use new part outputGravatar Jameson Graef Rollins2011-05-24
| | | | | | | | | The command-line interface for extracting a single part from a message recently changed from: notmuch part --part=X to: notmuch show --format=raw --part=X
* emacs: Show cleaner `From:' addresses in the summary line.Gravatar David Edmondson2011-05-18
| | | | | | | | | | Remove double quotes and flatten "foo@bar.com <foo@bar.com>" to "foo@bar.com". Edited-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net> (clean up expected output for emacs tests). Signed-off-by: Jameson Rollins <jrollins@finestructure.net>
* emacs: Add custom `notmuch-show-elide-same-subject'Gravatar David Edmondson2011-05-18
| | | | | | | | | This controls the appearance of collapsed messages in notmuch-show mode, avoiding redundancy for repeated subject). Remove `notmuch-show-always-show-subject'. Signed-off-by: Jameson Rollins <jrollins@finestructure.net>
* emacs: Add `notmuch-show-always-show-subject', allowing control overGravatar David Edmondson2011-05-18
| | | | | | the display of collapsed messages. Signed-off-by: Jameson Rollins <jrollins@finestructure.net>
* emacs: Allow renderer of multipart/related parts access to non-primary parts.Gravatar David Edmondson2011-05-18
| | | | | | | | | | | | | | Typically used to allow a `text/html' renderer access to images which are sent along with the HTML. This is not enabled by default, instead the user must execute `notmuch-show-setup-w3m' for it to take effect. Edited-by: Carl Worth <cworth@cworth.org> Add documentation string for notmuch-show-setup-23m and clean up warning about reference/assignment of free variable. Signed-off-by: Jameson Rollins <jrollins@finestructure.net>
* emacs: Optionally show all parts in multipart/alternative.Gravatar David Edmondson2011-05-18
| | | | | | | | | | | Add a variable `notmuch-show-all-multipart/alternative-parts' that allows the user to indicate that all candidate sub-parts of a multipart/alternative part should be shown rather than just the preferred part. The default is `nil', showing only the preferred part. This is mostly a debugging aid. Signed-off-by: Jameson Rollins <jrollins@finestructure.net>
* emacs: Render text/x-vcalendar parts.Gravatar David Edmondson2011-05-17
| | | | | | | Use code from icalendar.el to convert text/x-vcalendar parts to something suitable for use with the Emacs diary. Signed-off-by: Jameson Rollins <jrollins@finestructure.net>
* emacs: Allow indentation of multipart children.Gravatar David Edmondson2011-05-17
| | | | Signed-off-by: Jameson Rollins <jrollins@finestructure.net>
* emacs: Add `notmuch-show-multipart/alternative-discouraged'.Gravatar David Edmondson2011-05-17
| | | | | | | Also improved implementation of indication of which parts are not shown. Signed-off-by: Jameson Rollins <jrollins@finestructure.net>
* emacs: add more part handling functionsGravatar David Edmondson2011-05-17
| | | | | This adds new notmuch-show-insert-part functions to handle multipart/alternative and message/rfc822 parts.
* notmuch show: Properly nest MIME parts within mulipart partsGravatar Carl Worth2011-05-17
| | | | | | | | | | | | | | | | | | | | | | | Previously, notmuch show flattened all output, losing information about the nesting of the MIME hierarchy. Now, the output is properly nested, (both in the --format=text and --format=json output), so that clients can analyze the original MIME structure. Internally, this required splitting the final closing delimiter out of the various show_part functions and putting it into a new show_part_end function instead. Also, the show_part function now accepts a new "first" argument that is set not only for the first MIME part of a message, but also for each first MIME part within a series of multipart parts. This "first" argument controls the omission of a preceding comma when printing a part (for json). Many thanks to David Edmondson <dme@dme.org> for originally identifying the lack of nesting in the json output and submitting an early implementation of this feature. Thanks as well to Jameson Graef Rollins <jrollins@finestructure.net> for carefully shepherding David's patches through a remarkably long review process, patiently explaining them, and providing a cleaned up series that led to this final implementation. Jameson also provided the new emacs code here.
* emacs: Only compile replacement functions for emacs < emacs-23Gravatar Carl Worth2011-05-11
| | | | | | This avoids the emacs lisp compiler from emitting warnings on this replacement code, (which warnings would be hard for us to eliminate since we didn't write the code but copied it verbatim from emacs 23).
* use custom-face-edit value-type in notmuch-search-line-facesGravatar Jameson Graef Rollins2011-04-25
| | | | | This enables the proper face customization UI for notmuch-search-line-faces.
* emacs: Define notmuch-search-process-filter-data before first use.Gravatar Carl Worth2011-03-10
| | | | To avoid a wraning about a reference to a free variable when compiling.
* emacs: Don't drop error messages from "notmuch search"Gravatar Carl Worth2011-03-10
| | | | | | | | | | | | | With the previous commit, unexpected output before or between search results would be displayed. However, trailing junk from the "notmuch search" output would still be silently swallowed. The most common case for an error message from "notmuch search" would be an invalid command-line, and in that case, there would be no search results and the trailing error message would get swallowed. We fix the process sentinel to check for leftover data and add it to the final buffer. We also add a test case to ensure this works.