From 67bfd1fdf84989b3337b81421ae704976352ec84 Mon Sep 17 00:00:00 2001 From: thdox Date: Wed, 27 May 2015 20:49:18 +0200 Subject: [PATCH 1/7] fix typo --- mu4e/mu4e.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mu4e/mu4e.texi b/mu4e/mu4e.texi index cd62a4d2..e04f6a6f 100644 --- a/mu4e/mu4e.texi +++ b/mu4e/mu4e.texi @@ -1943,7 +1943,7 @@ them, you should @emph{not} quote them when used in @code{mu4e-maildir-shortcuts}, since @t{mu4e} does that automatically for you. The very same shortcuts are used by @kbd{M-x mu4e-mark-for-move} (default -shortcut @key{m}); so, for example, if you want to move a message the +shortcut @key{m}); so, for example, if you want to move a message to the @t{/archive} folder, you can do so by typing @kbd{ma}. @node Other search functionality @@ -2528,7 +2528,7 @@ see @ref{Adding an action in the headers view} action in the message view} @item Add a new kind of mark for use in the headers view - see @ref{Adding a new kind of mark} -@item Apply a function to to an attachment - see @ref{Adding an attachment +@item Apply a function to an attachment - see @ref{Adding an attachment action} @item Custom function to mark certain messages - see @ref{Custom mark functions} @item Using various @emph{mode}-hooks, @code{mu4e-compose-pre-hook} (see From d26fab6210d62fd4d01ba4d61286b09c3aea7a61 Mon Sep 17 00:00:00 2001 From: djcb Date: Sat, 30 May 2015 11:10:59 +0300 Subject: [PATCH 2/7] mu: make NEWS.org the place to put user information --- Makefile.am | 1 + NEWS => NEWS.org | 0 2 files changed, 1 insertion(+) rename NEWS => NEWS.org (100%) diff --git a/Makefile.am b/Makefile.am index 6f04fca3..e5231221 100644 --- a/Makefile.am +++ b/Makefile.am @@ -83,4 +83,5 @@ EXTRA_DIST= \ HACKING \ gtest.mk \ NEWS \ + NEWS.org \ autogen.sh diff --git a/NEWS b/NEWS.org similarity index 100% rename from NEWS rename to NEWS.org From b4d371de53849194895c7d2aed9b09d643167b8a Mon Sep 17 00:00:00 2001 From: djcb Date: Mon, 1 Jun 2015 18:25:23 +0300 Subject: [PATCH 3/7] Add the missing NEWS --- NEWS | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 NEWS diff --git a/NEWS b/NEWS new file mode 100644 index 00000000..23e9add3 --- /dev/null +++ b/NEWS @@ -0,0 +1,2 @@ +See NEWS.org + From 2cf741e99695d5ee395f0b3f4e708832cebb50b8 Mon Sep 17 00:00:00 2001 From: "Foivos S. Zakkak" Date: Sun, 7 Jun 2015 13:56:02 +0300 Subject: [PATCH 4/7] 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) --- mu4e/mu4e-compose.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mu4e/mu4e-compose.el b/mu4e/mu4e-compose.el index b2fb89a7..f46eead7 100644 --- a/mu4e/mu4e-compose.el +++ b/mu4e/mu4e-compose.el @@ -400,16 +400,17 @@ the appropriate flag at the message forwarded or replied-to." ;; this seems a bit hamfisted... (dolist (buf (buffer-list)) (when (and (buffer-file-name buf) - (string= (buffer-file-name buf) path) - message-kill-buffer-on-exit) + (string= (buffer-file-name buf) path)) (if (and mu4e-compose-in-new-frame (window-system)) (progn (switch-to-buffer buf) (when (and (get-buffer-window buf) (window-frame (get-buffer-window buf))) - (kill-buffer buf) (delete-frame (window-frame (get-buffer-window buf))))) - (kill-buffer buf)))) + ) + (if message-kill-buffer-on-exit + (kill-buffer buf)) + )) ;; now, try to go back to some previous buffer, in the order ;; view->headers->main (if (buffer-live-p mu4e~view-buffer) From 7fedb612c397162142cf191cfe44f33b5dee68c7 Mon Sep 17 00:00:00 2001 From: djcb Date: Sun, 7 Jun 2015 21:06:45 +0300 Subject: [PATCH 5/7] Update NEWS.org --- NEWS.org | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/NEWS.org b/NEWS.org index 4fb9dc56..e91035cd 100644 --- a/NEWS.org +++ b/NEWS.org @@ -2,7 +2,19 @@ * NEWS (user visible changes) -** Development +** Development (unreleased) + +*** mu + +*** mu4e + + - update NEWS.org, make it viewable within mu4e + - make `mu4e-headers-sort-field', `mu4e-headers-sort-direction' + public + - add `:thread-subject' header field, for showing the subject for + a thread only once + +** Release 0.9.9.12 *** mu @@ -12,10 +24,19 @@ - give messages without msgids fake-message-ids; this fixes the problem where such messages were not found in --include-related queries - cleanup of the query parser + - provide fake message-ids for messages without it; fixes #183 + - allow showing tags in 'mu find' output + - fix CSV quoting + - *** mu4e - update the emacs <-> backend protocol; documented in the mu-server man page + - show 'None' as date for messages without it (Headers View) + - add `mu4e-headers-found-hook', `mu4e-update-pre-hook'. + - split org support in org-old-mu4e.el (org <= 7.x) and org-mu4e.el + - org: improve template keywords + - rework URL handling ** Release 0.9.9.5 From f69ced2339c05289da0e6f909cc7364b0b72d522 Mon Sep 17 00:00:00 2001 From: djcb Date: Sun, 7 Jun 2015 21:07:41 +0300 Subject: [PATCH 6/7] Install NEWS.org, mu4e-about.org --- Makefile.am | 3 +++ configure.ac | 7 +++++++ mu4e/Makefile.am | 13 ++++--------- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/Makefile.am b/Makefile.am index e5231221..7586e902 100644 --- a/Makefile.am +++ b/Makefile.am @@ -85,3 +85,6 @@ EXTRA_DIST= \ NEWS \ NEWS.org \ autogen.sh + +doc_DATA = \ + NEWS.org diff --git a/configure.ac b/configure.ac index 218813b3..f09a0f0b 100644 --- a/configure.ac +++ b/configure.ac @@ -226,6 +226,13 @@ AM_CONDITIONAL(HAVE_MAKEINFO, [test "x$have_makeinfo" = "xyes"]) +############################################################################### +# docdir, so we can use it in mu4e-meta.el.in +AC_SUBST(MU_DOC_DIR, "${prefix}/share/doc/mu") +############################################################################### + + + ############################################################################### # check for pmccabe AC_PATH_PROG([PMCCABE],[pmccabe],[no]) diff --git a/mu4e/Makefile.am b/mu4e/Makefile.am index 816ad3f0..ffb5cfa8 100644 --- a/mu4e/Makefile.am +++ b/mu4e/Makefile.am @@ -22,7 +22,6 @@ info_TEXINFOS=mu4e.texi mu4e_TEXINFOS=fdl.texi dist_lisp_LISP= \ - mu4e-about.el \ mu4e-actions.el \ mu4e-compose.el \ mu4e-contrib.el \ @@ -31,7 +30,7 @@ dist_lisp_LISP= \ mu4e-lists.el \ mu4e-main.el \ mu4e-mark.el \ - mu4e-message.el \ + mu4e-message.el \ mu4e-meta.el \ mu4e-proc.el \ mu4e-speedbar.el \ @@ -42,13 +41,9 @@ dist_lisp_LISP= \ org-mu4e.el \ org-old-mu4e.el -mu4e-about.el: mu4e-about.org - @echo ";; auto-generated" > mu4e-about.el - @echo "(defconst mu4e-about \"" >> mu4e-about.el - @sed 's/"/\\"/g' < mu4e-about.org >> mu4e-about.el - @echo "\" \"About mu4e.\")" >> mu4e-about.el - @echo "(provide 'mu4e-about)" >> mu4e-about.el - EXTRA_DIST=$(elisp_DATA) mu4e-about.org CLEANFILES=*.elc ${BUILT_SOURCES} + +doc_DATA = \ + mu4e-about.org From f0a34599d0987cd70628484816d1be93726e3152 Mon Sep 17 00:00:00 2001 From: djcb Date: Sun, 7 Jun 2015 21:07:59 +0300 Subject: [PATCH 7/7] mu4e: add NEWS(.org) as a main menu item --- mu4e/mu4e-main.el | 2 ++ mu4e/mu4e-meta.el.in | 3 +++ mu4e/mu4e-utils.el | 48 +++++++++++++++++++++++--------------------- mu4e/mu4e-vars.el | 12 ++++++----- 4 files changed, 37 insertions(+), 28 deletions(-) diff --git a/mu4e/mu4e-main.el b/mu4e/mu4e-main.el index 623ee1a6..d62fe5e8 100644 --- a/mu4e/mu4e-main.el +++ b/mu4e/mu4e-main.el @@ -57,6 +57,7 @@ (define-key map "$" 'mu4e-show-log) (define-key map "A" 'mu4e-about) + (define-key map "N" 'mu4e-news) (define-key map "H" 'mu4e-display-manual) map) @@ -146,6 +147,7 @@ clicked." (mu4e~main-view-queue) "") "\n" + (mu4e~main-action-str "\t* [N]ews\n" 'mu4e-news) (mu4e~main-action-str "\t* [A]bout mu4e\n" 'mu4e-about) (mu4e~main-action-str "\t* [H]elp\n" 'mu4e-display-manual) (mu4e~main-action-str "\t* [q]uit\n" 'mu4e-quit)) diff --git a/mu4e/mu4e-meta.el.in b/mu4e/mu4e-meta.el.in index 91f52726..47d242db 100644 --- a/mu4e/mu4e-meta.el.in +++ b/mu4e/mu4e-meta.el.in @@ -5,4 +5,7 @@ (defconst mu4e-builddir "@abs_top_builddir@" "Top-level build directory.") +(defconst mu4e-doc-dir "@MU_DOC_DIR@" + "Mu4e's data-dir.") + (provide 'mu4e-meta) diff --git a/mu4e/mu4e-utils.el b/mu4e/mu4e-utils.el index 93437880..6c39e821 100644 --- a/mu4e/mu4e-utils.el +++ b/mu4e/mu4e-utils.el @@ -32,7 +32,7 @@ (eval-when-compile (require 'org nil 'noerror)) (require 'mu4e-vars) -(require 'mu4e-about) +(require 'mu4e-meta) (require 'mu4e-lists) (require 'doc-view) @@ -1060,32 +1060,34 @@ displaying it). Do _not_ bury the current buffer, though." (apply 'encode-time (mu4e-parse-time-string timestr)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defconst mu4e~main-about-buffer-name "*mu4e-about*" - "Name for the mu4e-about buffer.") +(define-derived-mode mu4e-org-mode org-mode "mu4e:org" + "Major mode for mu4e documents, derived from + `org-mode'.") -(define-derived-mode mu4e-about-mode org-mode "mu4e:about" - "Major mode for the mu4e About page, derived from `org-mode'.") +(defun mu4e-info (path) + "Show a buffer with the information (an org-file) at PATH." + (interactive) + (unless (file-exists-p path) + (mu4e-error "Cannot find %s" path)) + (lexical-let ((curbuf (current-buffer))) + (find-file path) + (mu4e-org-mode) + (setq buffer-read-only t) + (define-key mu4e-org-mode-map (kbd "q") + (lambda () + (interactive) + (bury-buffer) + (switch-to-buffer curbuf))))) (defun mu4e-about () - "Show a buffer with the mu4e-about text." + "Show the mu4e 'about' page." (interactive) - (lexical-let ((oldbuf (current-buffer))) - (with-current-buffer - (get-buffer-create mu4e~main-about-buffer-name) - (define-key mu4e-about-mode-map (kbd "q") - (lambda () ;; XXX it seems unnecessarily hard to do this... - (interactive) - (bury-buffer) - (when (buffer-live-p oldbuf) - (switch-to-buffer oldbuf)))) - (let ((inhibit-read-only t)) - (erase-buffer) - (insert mu4e-about) - (mu4e-about-mode) - (show-all)))) - (switch-to-buffer mu4e~main-about-buffer-name) - (setq buffer-read-only t) - (goto-char (point-min))) + (mu4e-info (concat mu4e-doc-dir "/mu4e-about.org"))) + +(defun mu4e-news () + "Show the mu4e 'about' page." + (interactive) + (mu4e-info (concat mu4e-doc-dir "/NEWS.org"))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun mu4e-refresh-message (path maildir) diff --git a/mu4e/mu4e-vars.el b/mu4e/mu4e-vars.el index 8ddcbd0e..060e1ea5 100644 --- a/mu4e/mu4e-vars.el +++ b/mu4e/mu4e-vars.el @@ -57,11 +57,13 @@ link." (defcustom mu4e-get-mail-command "true" "Shell command to run to retrieve new mail. -Common values are \"offlineimap\", \"fetchmail\" and \"mbsync\", -but you use arbitrary shell-commands. If you set it to -\"true\" (the default), the command won't don't anything, which is -useful if you get your mail without the need to explicitly run any -scripts, for example when running your own mail-server." +Common values are \"offlineimap\", \"fetchmail\" or \"mbsync\", but +arbitrary shell-commands can be used. + +When set to \"true\" (the default), the command simply finishes +succesfully (running the 'true' command) without retrieving any +mail. This can be useful when mail is already retrieved in another +way." :type 'string :group 'mu4e :safe 'stringp)