Commit Graph

103 Commits

Author SHA1 Message Date
a9cbead5af Add a menu entry for electric-quote-local-mode 2017-01-24 23:21:55 +01:00
9cb0772993 Make electric-quote-(local-)mode work when composing emails
electric-quote-(local-)mode used to have no effect because
`comment-use-syntax' was left to `undecided' so the electric mode was
not enabled for paragraphs.

Fixes https://github.com/djcb/mu/issues/997
2017-01-24 23:21:55 +01:00
ad738b88b0 force use of strings for other-header in mu4e~compose-mail
org-mime and potentially other users of `compose-mail' pass a parameter
`other-headers', an alist of the form ((symbol . string)).
`mu4e~compose-mail' sends this parameter to message-add-header, which
appears to expect a string instead.  We therefore loop through
other-headers and instead pass a string to message-add-header for each
element of other-headers.
2016-11-30 14:55:23 -05:00
34cd624023 mu4e: fix some defcustoms
There weren't quite right.
2016-11-24 00:33:06 +02:00
b981a7804f Merge pull request #934 from antoine-levitt/master
mu4e: Don't erase global-mode-string with context label, but add to it
2016-11-05 10:52:35 +02:00
e1092c5f27 mu4e: restore mu4e-compose-type in compose-buffer
Seems the `mu4e-compose-type' is always nil when we enter the
compose (it is set when executing the pre-hooks though). It can be
useful in the compose buffer as well, so restore it.
2016-11-05 10:18:23 +02:00
c0726d92a0 do not rename current message buffer if the name has not changed 2016-10-31 16:28:25 +01:00
bc13cfda35 dont erase global-mode-string with context label, but add to it 2016-10-26 08:20:25 +02:00
c419bca577 mu4e: set mu4e-compose-type earlier
Set mu4e-compose-type before invoking the "pre" hook, so that it can be
used there.
2016-09-06 18:29:05 +03:00
bca649cb32 mu4e: make mu4e-compose-type a public variable
Replace mu4e~compose-type so it can be used in pre-hooks and the like.
2016-09-06 09:15:17 +03:00
f1aedf14ab mu4e: remove some debugging output 2016-09-05 15:07:44 +03:00
37f11d642f mu4e: improve mu4e-fill-paragraph
Improve mu4e-fill-paragraph for some corner-cases where there is
trailing whitespace. Patch by holtzermann17.
2016-08-27 19:06:10 +03:00
744f288431 Fix typo 2016-08-12 00:05:12 +02:00
c27471f4fa mu4e: compose: auto-crypt/sign crypto replies
When replying to an encrypted message, sign/encrypt by default; see
  mu4e-compose-crypto-reply-policy.

(Issue #865)
2016-07-12 00:25:05 +03:00
a24058040f mu4e: fix typo in face description 2016-07-12 00:15:29 +03:00
1e963c1779 mu4e: update font-locking for mu4e-compose-mode
mu4e was making a vain attempt to fontify the compose buffer; this
doesn't work because message (from which mu4e-compose-mode derives) uses
font-locking for that.

So, instead, remap the message-mode faces to the ones used for mu4e.
2016-07-09 23:42:58 +03:00
b31ba3dd81 mu4e: seems the keymaps might not be defined (workaround)
Users were seeing:
,----
| Debugger entered--Lisp error: (wrong-type-argument keymapp nil)
|   signal(wrong-type-argument (keymapp nil))
|   define-key-after(nil [mu4e-hard-newlines] (menu-item "Format=flowed"
| mu4e-toggle-use-hard-newlines :button (:toggle . use-hard-newlines) :help
| "Toggle format=flowed" :visible (eq major-mode (quote mu4e-compose-mode))
| :enable mu4e-compose-format-flowed) sep)
|   mu4e-compose-mode()
|   byte-code("..." [original-msg mu4e-compose-parent-message
| mu4e-compose-context-policy winconf includes att make-local-variable put
| permanent-local t mu4e~context-autoswitch run-hooks mu4e-compose-pre-hook
| current-window-configuration nil (mu4e-draft-open compose-type
| original-msg) ((quit (byte-code "..." [winconf set-window-configuration
| mu4e-message "Operation aborted" throw --cl-block-mu4e~compose-handler--
| nil] 3))) mu4e~draft-insert-mail-header-separator mml-attach-file plist-get
| :file-name :mime-type mu4e~compose-set-friendly-buffer-name
| set-buffer-modified-p (new forward) message-goto-to message-goto-body
| mu4e~compose-type mu4e~compose-hide-headers mu4e-compose-mode delete-frame
| --dolist-tail-- compose-type mu4e-compose-in-new-frame message-exit-actions
| message-postpone-actions] 6)
|   mu4e~compose-handler(new)
|   mu4e-compose(new)
|   mu4e-compose-new()
`----
2016-07-03 23:29:05 +03:00
fa2427e6f9 Fix window restoration when C-g'ing on reply.
* mu4e/mu4e-compose.el (mu4e~compose-handler):
Save and restore window config.
2016-06-09 07:22:56 +02:00
ed16684f45 mu4e: cosmetics 2016-06-08 19:25:52 +03:00
834b0671c8 Add a menu entry to attach captured messages
Without this menu entry, one has to remember the command name which is
not convenient.  This entry also helps to discover the "capture" feature.
2016-05-10 21:55:54 +02:00
d063889e4c Set mu4e-compose-format-flowed to nil by default
Requested by Dirk-Jan C. Binnema <djcb@djcbsoftware.nl> not to disturb
existing users.
2016-05-07 18:12:10 +02:00
af523cd05a Add the menu entry in the function defining the mode
This ensures that `(lookup-key message-mode-map [menu-bar text])'
returns a valid keymap.
2016-05-07 03:28:09 +02:00
d2ae534ad8 With use-hard-newlines, M-q reformat the paragraph as a single line 2016-05-07 02:58:17 +02:00
b6a1e1cef8 Add a menu entry to toggle format=flowed 2016-05-07 02:58:17 +02:00
0d939f6852 By default, compose messages as format=flowed
Fixes https://github.com/djcb/mu/issues/836
2016-05-07 02:58:17 +02:00
975d270dd3 mu4e: don't strip references for fwd messages
Don't remove the references header for forwarded message because there's
no "in-reply-to"
2016-03-24 20:27:47 +02:00
2b0d75b295 mu4e: don't use message-kill-actions for closing frames
Seems it is handled by the other actions already, and kills one-too-many
frames.
2016-02-21 16:33:55 +02:00
a0f0e95344 mu4e: better handling of closing compose frames
Use message-mode actions to close the compose
frame (`mu4e-compose-in-new-frame') whenever we're finished editing a
message.
2016-02-20 12:25:21 +02:00
b72db626f3 mu4e: implement resending
Implement the special compose type 'resend', for resending existing
messages, possibly with changes.
2016-02-16 08:29:06 +02:00
46ca26457a mu4e: restore window-layout after `message-kill-buffer'
Replaces `message-kill-buffer' with `mu4e-message-kill-buffer'. This new
function is a wrapper around the original. It restores the window-layout
of mu4e after cancelling a message in mu4e-compose-mode.
2016-02-02 21:08:38 +02:00
144e2a8f1b mu4e: Contact completion - better sorting / display
Improve the contact-sorting algorithm, and make it better cooperate with
completion-at-point functions.

Also deal better with broken rewritten contacts, and document how
rewriting should done (docstrings and reference doc).
2016-01-09 21:27:52 +02:00
b373f8e5f0 mu4e: context policy tweaking
As discussed in issue #751, mu4e should tried to accommodate some
different ways of choosing the context.

We add a new policy `ask-if-none', that will only query the user if
there is no context yet; this is the new default for
mu4e-context-policy, i.e. what happens when entering the main view.

The default policy for mu4e-compose-context-policy is now `ask',
i.e. ask if none of the contexts match.

The idea is for the defaults to ask when we don't know a context, and we
can't determine one using the match functions; this is probably the
least confusing. When user gets annoyed by too many question, they can
tweak the behavior to their liking. I.e. 'ask questions first, shoot
later'

Document all of this.
2016-01-03 13:29:19 +02:00
8e43e8cac3 mu4e: use substring when completing contacts
Make substring the first completion strategy.
2015-12-30 17:42:08 +02:00
a085c881ef mu4e: don't change context at startup when there is one
Since people often go start/stop mu4e, we shouldn't try to pick a
default context if one is already set.
2015-12-30 17:39:59 +02:00
f645a12075 mu4e: improve sorting of contacts for completion
set up the extra machinery for making sure emacs does not try to re-sort
our already-sorted contacts.... Also try to improve the sorting strategy
itself.
2015-12-29 18:53:57 +02:00
113c024632 mu4e: implement context-policies
Allow setting a policy about what context to choose when starting mu4e
and composing a message. Basically:

When you have defined contexts and you start mu4e it decides which
context to use based on the variable `mu4e-context-policy';
similarly, when you compose a new message, the context is determined
using `mu4e-compose-context-policy'.

These policies can be one of the following:
- a symbol always-ask: unconditionally ask the user what context to pick

The other choices only apply if none of the context matches (i.e., if
none of the contexts' match-functions returns t:

- symbol ask: ask the user
- a symbol pick-first: pick the first context
- nil: don't change the context
2015-12-23 22:01:51 +02:00
60192a60d2 mu4e: by default, make changing to current context a no-op
Update mu4e-context-switch to not call the enter/leave functions when
'changing' to the current context. However, calling those functions (if
defined) can be force through a prefix arg. Document this.

Make mu4e-context-determine recognize 'policies', i.e. what to do when
no context matches. This part is WIP.
2015-12-21 22:24:16 +02:00
d3dbed6c1f mu4e: make global-mode-string buffer-local
Make `global-mode-string' local in all buffers where we use it, so we
don't leak the "context" string outside mu4e.

Also add the context string to the compose buffer's modeline.

This fixes #740.
2015-12-19 10:14:49 +02:00
0032ccf73c When mu4e-context-determine fails, prompt user 2015-12-16 16:51:54 +02:00
40b8fe138b mu4e: context: auto-detect context using the match function
When composing a new message, attempt to auto-detect the context for
that, using the context's 'match-func'.
2015-12-13 17:46:02 +02:00
a2409b62ca mu4e: when in-reply-to: is removed, remove references: too
When user removes the In-Reply-To header, also remove the (hidden)
References header when sending the message, effectively making the
message appear at the top-level.

Mention in the doc, NEWS.
2015-11-22 12:17:36 +02:00
2cf741e996 Make mu4e-compose-in-new-frame always kill frame
When `message-kill-buffer-on-exit` was set to nil mu4e would not close
the new frame.  Closing the new frame should be independent of killing
the buffer.  This patch corrects this.

(relates to #615)
2015-06-07 14:00:20 +03:00
51628e2229 Fix else case in if statement of #615 2015-05-25 16:50:33 +03:00
64959382b9 Mu4e: add support for composing in a new frame
Adds the variable mu4e-compose-in-new-frame and when set to t, message
are composed in a new frame rather than the current one.
2015-05-24 11:48:37 +03:00
097b4232e2 mu4e: compose: tells us what you saved when saving a message
Provide the number of lines saved in a draft message
2015-03-21 15:23:35 +02:00
64ed6e71c1 mu4e: append `substring' to the completion-styles for address-completion 2014-12-06 14:23:55 +02:00
fcdb2c1a04 mu4e: clean up address completion 2014-11-30 16:29:10 +02:00
c5fd36a67f Fix replying to gpg encrypted mails (#186) 2014-10-15 02:42:57 +03:00
34f42e799b mu4e: unbreak sending mail when gnus-agents is unplugged in gnus (#462) 2014-10-12 10:36:33 +03:00
54a6ef7401 Some documentation fixes
(Thanks to Joe Corneli)
2014-09-23 02:40:35 +03:00