pull/1507/head
Jonas Bernoulli 3 years ago
parent ed6842e5bd
commit f31d1b065d
  1. 2
      HACKING
  2. 6
      NEWS.org
  3. 2
      autogen.sh
  4. 2
      c.cfg
  5. 2
      configure.ac
  6. 2
      guile/mu-guile-message.c
  7. 14
      guile/mu-guile.texi
  8. 2
      guile/mu/stats.scm
  9. 4
      lib/mu-contacts.hh
  10. 2
      lib/mu-date.h
  11. 6
      lib/mu-index.h
  12. 2
      lib/mu-log.h
  13. 2
      lib/mu-maildir.c
  14. 4
      lib/mu-msg-iter.h
  15. 2
      lib/mu-msg-json.c
  16. 2
      lib/mu-msg-prio.h
  17. 2
      lib/mu-msg-sexp.c
  18. 2
      lib/mu-msg.h
  19. 2
      lib/mu-query.h
  20. 2
      lib/mu-runtime.h
  21. 2
      lib/mu-store.hh
  22. 2
      lib/mu-str.h
  23. 2
      lib/mu-threader.c
  24. 4
      lib/mu-util.h
  25. 2
      mu/mu-cmd-find.c
  26. 2
      mu/mu-config.c
  27. 2
      mu/mu-config.h
  28. 2
      mu/mu-help-strings.txt
  29. 2
      mu4e/mu4e-contrib.el
  30. 6
      mu4e/mu4e-headers.el
  31. 4
      mu4e/mu4e-main.el
  32. 2
      mu4e/mu4e-mark.el
  33. 4
      mu4e/mu4e-proc.el
  34. 2
      mu4e/mu4e-utils.el
  35. 6
      mu4e/mu4e-vars.el
  36. 6
      mu4e/mu4e-view.el
  37. 2
      mu4e/mu4e.texi
  38. 2
      toys/msg2pdf/msg2pdf.c
  39. 2
      toys/mug/mug.c

@ -17,7 +17,7 @@
1. Basic code layout is like in the Linux kernel coding style. Keep the '{'
on the same line as the statement, except for functions. Tabs for
indentation, space for aligment; use 8-char tabs.
indentation, space for alignment; use 8-char tabs.
2. Lines should not exceed 80 characters (C) or 100 characters (C++)

@ -70,12 +70,12 @@
- The query-parser now generates better queries for wildcard searches, by
using the Xapian machinery for that (when available) rather than
tranforming into regexp queries.
transforming into regexp queries.
- The perl backend is hardly used and will be removed; for now we just
disable it in the build.
- Allow outputing messages in json format, closely following the sexp
- Allow outputting messages in json format, closely following the sexp
output. This adds an (optional) dependency on the Json-Glib library.
*** mu4e
@ -374,7 +374,7 @@ GuileUsr | Guile-SDL 0.4.2 ava... End of search results #+END_EXAMPLE
#+BEGIN_EXAMPLE
10:26 ⭑☐ Nicolas Goaziou Orgmode /bulk ◼ Re: [O] 2 issue with Include function
11:00 ⭑☐ Leonard Randall Orgmode /bulk ┗▶ 10:55 ⭑☐ Guillermo Rodrigu... GstDev
/bulk ◼ Re: stop pipeline into a callback funtion. 12:04 ⭑☐ Enrique Ocaña Gon...
/bulk ◼ Re: stop pipeline into a callback function. 12:04 ⭑☐ Enrique Ocaña Gon...
GstDev /bulk ┗▶ 11:27 ⭑☐ Tim Müller GstDev /bulk ◼ 09:34 ⭑☐ Robert Klein Orgmode
/bulk ◼ Re: [O] Agenda Tag filtering - has the behaviour changed? #+END_EXAMPLE

@ -6,7 +6,7 @@ test -f mu/mu.cc || {
exit 1
}
# opportunistically; usually not needed, but occassionaly it'll
# opportunistically; usually not needed, but occasionally it'll
# avoid build errors that would otherwise confuse users.
test -f Makefile && {
echo "*** clear out old things"

@ -1496,7 +1496,7 @@ cmt_insert_func_header = "" # string
# Will substitute $(class) with the class name.
cmt_insert_class_header = "" # string
# The filename that contains text to insert before a Obj-C message specification if the method isn't preceeded with a C/C++ comment.
# The filename that contains text to insert before a Obj-C message specification if the method isn't preceded with a C/C++ comment.
# Will substitute $(message) with the function name and $(javaparam) with the javadoc @param and @return stuff.
cmt_insert_oc_msg_header = "" # string

@ -109,7 +109,7 @@ AS_IF([test "x$ac_cv_member_struct_dirent_d_type" != "xyes"],
# support for d_ino (inode) in struct dirent is optional; if it's
# available we can sort direntries by inode and access them in that
# order; this is much faster on some file systems (such as extfs3).
# Explicity disabling it is for testing purposes only.
# Explicitly disabling it is for testing purposes only.
AC_ARG_ENABLE([dirent-d-ino],
AC_HELP_STRING([--disable-dirent-d-ino],
[Don't use dirent->d_ino, even if you have it]),

@ -385,7 +385,7 @@ SCM_DEFINE (get_parts, "mu:c:get-parts", 1, 1, 0,
SCM_DEFINE (get_header, "mu:c:get-header", 2, 0, 0,
(SCM MSG, SCM HEADER), "Get an arbitary HEADER from MSG.\n")
(SCM MSG, SCM HEADER), "Get an arbitrary HEADER from MSG.\n")
#define FUNC_NAME s_get_header
{
MuMsgWrapper *msgwrap;

@ -84,7 +84,7 @@ Trust me, it's not very hard -- and it's @emph{fun}!
Appendices
* Recipies:: Snippets do specific things
* Recipes:: Snippets do specific things
* GNU Free Documentation License:: The license of this manual.
@end menu
@ -155,7 +155,7 @@ Guile version : 2.0.3.82-a2c66
@end example
If you don't see any line referring to @t{guile}, please install it, and run
@t{configure} again. After a succesfull @t{./configure}, we can make and
@t{configure} again. After a successful @t{./configure}, we can make and
install the package:
@example
@ -309,7 +309,7 @@ modules and show what you can do with them.
In this chapter, we discuss searching messages and doing things with them.
@menu
* Finding messages:: query for messages in the databse
* Finding messages:: query for messages in the database
* Message methods:: what methods are available for messages?
* Example - the longest subject:: find the messages with the longest subject
@end menu
@ -549,7 +549,7 @@ which is a @emph{subclass} of the @t{<mu:contact>} class discussed in
expose the following additional methods:
@itemize
@item @code{(mu:frequency <contact>)}: returns the @emph{number of times} this contact occured in
@item @code{(mu:frequency <contact>)}: returns the @emph{number of times} this contact occurred in
one of the address fields
@item @code{(mu:last-seen <contact>)}: returns the @emph{most recent time} the contact was
seen in one of the address fields, as a @t{time_t} value
@ -623,7 +623,7 @@ exec guile -s $0 $@
@end lisp
This simple program could be improved in many ways; this is left as an
excercise to the reader.
exercise to the reader.
@node Attachments and other parts
@chapter Attachments and other parts
@ -965,8 +965,8 @@ Please refer to the @t{mu-script} man-page for some details on writing your
own scripts.
@node Recipies
@appendix Recipies
@node Recipes
@appendix Recipes
@itemize
@item Calculating the average length of subject-lines

@ -65,7 +65,7 @@ returns #t if A < B, #f otherwise), and then take the first N."
(take (sort (mu:tabulate func expr) less) n))
(define* (mu:top-n-most-frequent func n #:optional (expr #t))
"Take the results of (mu:tabulate FUNC EXPR), and return the N items with the higest frequency."
"Take the results of (mu:tabulate FUNC EXPR), and return the N items with the highest frequency."
(top-n func (lambda (a b) (> (cdr a) (cdr b))) n expr))
(define* (mu:count #:optional (expr #t))

@ -44,7 +44,7 @@ struct ContactInfo {
* Construct a new ContactInfo
*
* @param _full_address the full email address + name.
* @param _email email addres
* @param _email email address
* @param _name name or empty
* @param _personal is this a personal contact?
* @param _last_seen when was this contact last seen?
@ -145,7 +145,7 @@ public:
/**
* For C compatiblityy
*
* @return a MuContacts* refering to this.
* @return a MuContacts* referring to this.
*/
const MuContacts* mu_contacts() const {
return reinterpret_cast<const MuContacts*>(this);

@ -42,7 +42,7 @@ G_BEGIN_DECLS
* @param t the time as time_t
*
* @return a string representation of the time; see above for what to
* do with it. Lenght is max. 128 bytes, inc. the ending \0. if the
* do with it. Length is max. 128 bytes, inc. the ending \0. if the
* format is too long, the value will be truncated. in practice this
* should not happen.
*/

@ -119,7 +119,7 @@ typedef MuError (*MuIndexDirCallback) (const char* path, gboolean enter,
* @param cb_dir a callback function called for every dir entered/left or NULL
* @param user_data a user pointer that will be passed to the callback function
*
* @return MU_OK if the stats gathering was completed succesfully,
* @return MU_OK if the stats gathering was completed successfully,
* MU_STOP if the user stopped or MU_ERROR in
* case of some error.
*/
@ -144,7 +144,7 @@ MuError mu_index_run (MuIndex *index, const char *path, gboolean force,
* @param dir_cb a callback function which will be called for every dir or NULL
* @param user_data a user pointer that will be passed to the callback function
* xb
* @return MU_OK if the stats gathering was completed succesfully,
* @return MU_OK if the stats gathering was completed successfully,
* MU_STOP if the user stopped or MU_ERROR in
* case of some error.
*/
@ -177,7 +177,7 @@ typedef MuError (*MuIndexCleanupDeleteCallback) (MuIndexStats *stats,
* @param user_data a user pointer that will be passed to the callback function
* @param err to receive error info or NULL. err->code is MuError value
*
* @return MU_OK if the stats gathering was completed succesfully,
* @return MU_OK if the stats gathering was completed successfully,
* MU_STOP if the user stopped or MU_ERROR in
* case of some error.
*/

@ -76,7 +76,7 @@ gboolean mu_log_init (const char *logfile, MuLogOptions opts)
gboolean mu_log_init_silence (void) G_GNUC_WARN_UNUSED_RESULT;
/**
* unitialize the logging system, and free all resources
* uninitialize the logging system, and free all resources
*/
void mu_log_uninit (void);

@ -714,7 +714,7 @@ mu_maildir_get_flags_from_path (const char *path)
/*
* take an exising message path, and return a new path, based on
* take an existing message path, and return a new path, based on
* whether it should be in 'new' or 'cur'; ie.
*
* /home/user/Maildir/foo/bar/cur/abc:2,F and flags == MU_FLAG_NEW

@ -167,7 +167,7 @@ guint mu_msg_iter_get_docid (MuMsgIter *iter);
*
* @param iter a valid MuMsgIter iterator
*
* @return TRUE if it worked, FALSE otherwsie.
* @return TRUE if it worked, FALSE otherwise.
*/
gboolean mu_msg_iter_calculate_threads (MuMsgIter *iter);
@ -185,7 +185,7 @@ enum _MuMsgIterThreadProp {
typedef guint8 MuMsgIterThreadProp;
struct _MuMsgIterThreadInfo {
gchar *threadpath; /* a string decribing the thread-path in
gchar *threadpath; /* a string describing the thread-path in
* such a way that we can sort by this
* string to get the right order. */
guint level; /* thread-depth -- [0...] */

@ -444,7 +444,7 @@ add_file_parts (JsonBuilder *bob, MuMsg *msg, MuMsgOptions opts)
if (!mu_msg_load_msg_file (msg, &err)) {
g_warning ("failed to load message file: %s",
err ? err->message : "some error occured");
err ? err->message : "some error occurred");
g_clear_error (&err);
return;
}

@ -62,7 +62,7 @@ MuMsgPrio mu_msg_prio_from_char (char k) G_GNUC_CONST;
* ('l'=>MU_MSG_PRIO_, 'n'=>MU_MSG_PRIO_NORMAL or
* 'h'=>MU_MSG_PRIO_HIGH)
*
* @param prio a mesage priority
* @param prio a message priority
*
* @return a shortcut character or 0 in case of error
*/

@ -507,7 +507,7 @@ append_message_file_parts (GString *gstr, MuMsg *msg, MuMsgOptions opts)
if (!mu_msg_load_msg_file (msg, &err)) {
g_warning ("failed to load message file: %s",
err ? err->message : "some error occured");
err ? err->message : "some error occurred");
g_clear_error (&err);
return;
}

@ -109,7 +109,7 @@ MuMsg *mu_msg_new_from_doc (XapianDocument* doc, GError **err)
* @param msg a MuMsg
* @param err receives error information
*
* @return TRUE if this succceeded, FALSE in case of error
* @return TRUE if this succeeded, FALSE in case of error
*/
gboolean mu_msg_load_msg_file (MuMsg *msg, GError **err);

@ -36,7 +36,7 @@ typedef struct _MuQuery MuQuery;
* @param store a MuStore object
* @param err receives error information (if there is any); if
* function returns non-NULL, err will _not_be set. err can be NULL
* possble errors (err->code) are MU_ERROR_XAPIAN_DIR and
* possible errors (err->code) are MU_ERROR_XAPIAN_DIR and
* MU_ERROR_XAPIAN_NOT_UPTODATE
*
* @return a new MuQuery instance, or NULL in case of error.

@ -29,7 +29,7 @@ G_BEGIN_DECLS
* initialize the mu runtime system; initializes logging and other
* systems. To uninitialize, use mu_runtime_uninit
*
* @param muhome path where to find the mu home directory (typicaly, ~/.mu)
* @param muhome path where to find the mu home directory (typically, ~/.mu)
* @param name of the main program, ie. 'mu', 'mug' or
* 'procmule'. this influences the name of the e.g. the logfile
*

@ -45,7 +45,7 @@ public:
/**
* Construct a store for a not-yet-existing document database
*
* @param path path to the detabase
* @param path path to the database
* @param maildir maildir to use for this store
*/
Store (const std::string& path, const std::string& maildir);

@ -77,7 +77,7 @@ char* mu_str_size (size_t s) G_GNUC_WARN_UNUSED_RESULT;
/**
* Replace all occurences of substr in str with repl
* Replace all occurrences of substr in str with repl
*
* @param str a string
* @param substr some string to replace

@ -127,7 +127,7 @@ assert_no_duplicates (GHashTable *ids)
}
/* a referred message is a message that is refered by some other
/* a referred message is a message that is referred by some other
* message */
static MuContainer*
find_or_create_referred (GHashTable *id_table, const char *msgid,

@ -285,7 +285,7 @@ typedef gpointer XapianEnquire;
#define MU_HANDLE_G_ERROR(GE) \
do { \
if (!(GE)) \
g_warning ("%s:%u: an error occured in %s", \
g_warning ("%s:%u: an error occurred in %s", \
__FILE__, __LINE__, __func__); \
else { \
g_warning ("error %u: %s", (GE)->code, (GE)->message); \
@ -466,7 +466,7 @@ typedef enum _MuError MuError;
*
* @param err errptr, or NULL
* @param errcode error code
* @param frm printf-style format, followed by paremeters
* @param frm printf-style format, followed by parameters
*
* @return FALSE
*/

@ -123,7 +123,7 @@ run_query (MuQuery *xapian, const gchar *query, MuConfig *opts, GError **err)
sortid = MU_MSG_FIELD_ID_NONE;
if (opts->sortfield) {
sortid = sort_field_from_string (opts->sortfield, err);
if (sortid == MU_MSG_FIELD_ID_NONE) /* error occured? */
if (sortid == MU_MSG_FIELD_ID_NONE) /* error occurred? */
return FALSE;
}

@ -557,7 +557,7 @@ get_option_group (MuConfigCmd cmd)
/* ugh yuck massaging the GOption text output; glib prepares some text
* which has a 'Usage:' for the 'help' commmand. However, we need the
* which has a 'Usage:' for the 'help' command. However, we need the
* help for the command we're asking help for. So, we remove the Usage:
* from what glib generates. :-( */
static gchar*

@ -148,7 +148,7 @@ struct _MuConfig {
* in results */
/* for find and cind */
time_t after; /* only show messages or
* adresses last seen after
* addresses last seen after
* T */
/* options for crypto
* ie, 'view', 'extract' */

@ -44,7 +44,7 @@ for use in other programs.
'plain' is the default.
If you specify '--personal', only addresses that were found in mails
that include 'my' e-mail addres will be listed - so to exclude e.g.
that include 'my' e-mail address will be listed - so to exclude e.g.
mailing-list posts. Use the --my-address= option in 'mu index' to
specify what addresses are considered 'my' address.

@ -165,7 +165,7 @@ For example for bogofile, use \"/usr/bin/bogofilter -Sn < %s\"")
;;; end of spam-filtering functions
;;; eshell functions
;; Code for 'gnus-dired-attached' modifed to run from eshell, allowing files to
;; Code for 'gnus-dired-attached' modified to run from eshell, allowing files to
;; be attached to an email via mu4e using the eshell. Does not depend on gnus.
(defun eshell/mu4e-attach (&rest args)
"Attach files to a mu4e message using eshell. If no mu4e

@ -128,7 +128,7 @@ messages that were found in the first set (the \"leaders\").
(defcustom mu4e-headers-skip-duplicates t
"With this option set to non-nil, show only one of duplicate
messages. This is useful when you have multiple copies of the same
message, which is a common occurence for example when using Gmail
message, which is a common occurrence for example when using Gmail
and offlineimap."
:type 'boolean
:group 'mu4e-headers)
@ -472,7 +472,7 @@ into a string."
(let* ((length (length mu4e~headers-thread-state))
(padding (make-list (max 0 (- level length)) nil)))
;; Trim and pad the state to ensure a message will
;; always be shown with the correct identation, even if
;; always be shown with the correct indentation, even if
;; a broken thread is returned. It's trimmed to level-1
;; because the current level has always an connection
;; and it used a special formatting.
@ -1458,7 +1458,7 @@ descendants."
(defun mu4e~headers-push-query (query where)
"Push QUERY to one of the query stacks.
WHERE is a symbol telling us where to push; it's a symbol, either
'future or 'past. Functional also removes duplicats, limits the
'future or 'past. Functional also removes duplicates, limits the
stack size."
(let ((stack
(cl-case where

@ -24,7 +24,7 @@
;;; Code:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(require 'smtpmail) ;; the queing stuff (silence elint)
(require 'smtpmail) ;; the queueing stuff (silence elint)
(require 'mu4e-utils) ;; utility functions
(require 'mu4e-context) ;; the context
(require 'cl-lib)
@ -81,7 +81,7 @@
(defun mu4e~main-action-str (str &optional func-or-shortcut)
"Highlight the first occurence of [.] in STR.
"Highlight the first occurrence of [.] in STR.
If FUNC-OR-SHORTCUT is non-nil and if it is a function, call it
when STR is clicked (using RET or mouse-2); if FUNC-OR-SHORTCUT is
a string, execute the corresponding keyboard action when it is

@ -375,7 +375,7 @@ user which one)."
(defun mu4e-mark-execute-all (&optional no-confirmation)
"Execute the actions for all marked messages in this buffer.
After the actions have been executed succesfully, the affected
After the actions have been executed successfully, the affected
messages are *hidden* from the current header list. Since the
headers are the result of a search, we cannot be certain that the
messages no longer match the current one - to get that

@ -317,7 +317,7 @@ Start the process if needed."
(defun mu4e~proc-find (query threads sortfield sortdir maxnum skip-dups
include-related)
"Run QUERY with THREADS SORTFIELD SORTDIR MAXNUM SKIP-DUPS INCLUDE-RELATED.
If THREADS is non-nil, show results in threaded fasion, SORTFIELD
If THREADS is non-nil, show results in threaded fashion, SORTFIELD
is a symbol describing the field to sort by (or nil); see
`mu4e~headers-sortfield-choices'. If SORT is `descending', sort
Z->A, if it's `ascending', sort A->Z. MAXNUM determines the
@ -375,7 +375,7 @@ If the variable `mu4e-change-filenames-when-moving' is
non-nil, moving to a different maildir generates new names forq
the target files; this helps certain tools (such as mbsync).
If NO-VIEW is non-nil, don't updat the view.
If NO-VIEW is non-nil, don't update the view.
Returns either (:update ... ) or (:error ) sexp, which are handled my
`mu4e-update-func' and `mu4e-error-func', respectively."

@ -1230,7 +1230,7 @@ used in the view and compose modes."
(defun mu4e~fontify-signature ()
"Give the message signatures a distinctive color. This is used in
the view and compose modes and will color each signature in digest messages adhearing to RFC 1153."
the view and compose modes and will color each signature in digest messages adhering to RFC 1153."
(let ((inhibit-read-only t))
(save-excursion
;; give the footer a different color...

@ -63,7 +63,7 @@ Common values are \"offlineimap\", \"fetchmail\" or \"mbsync\", but
arbitrary shell-commands can be used.
When set to the literal string \"true\" (the default), the
command simply finishes succesfully (running the 'true' command)
command simply finishes successfully (running the 'true' command)
without retrieving any mail. This can be useful when mail is
already retrieved in another way."
:type 'string
@ -94,7 +94,7 @@ This depends on the `mu4e-get-mail-command' exit code."
That is, validate that each message in the message store has a
corresponding message file in the filesystem.
Having this option as t ensures that no non-existing mesages are
Having this option as t ensures that no non-existing messages are
shown but can also be quite slow with large message stores."
:type 'boolean :group 'mu4e :safe 'booleanp)
@ -181,7 +181,7 @@ Follows the format of `format-time-string'."
(defcustom mu4e-modeline-max-width 30
"Determines the maximum length of the modeline string.
If the string exeeds this limit, it will be truncated to fit."
If the string exceeds this limit, it will be truncated to fit."
:type 'integer
:group 'mu4e)

@ -574,7 +574,7 @@ add text-properties to VAL."
(mu4e~view-construct-header :decryption val t)))
(defun mu4e~view-open-attach-from-binding ()
"Open the attachement at point, or click location."
"Open the attachment at point, or click location."
(interactive)
(let* (( msg (mu4e~view-get-property-from-event 'mu4e-msg))
( attnum (mu4e~view-get-property-from-event 'mu4e-attnum)))
@ -582,7 +582,7 @@ add text-properties to VAL."
(mu4e-view-open-attachment msg attnum))))
(defun mu4e~view-save-attach-from-binding ()
"Save the attachement at point, or click location."
"Save the attachment at point, or click location."
(interactive)
(let* (( msg (mu4e~view-get-property-from-event 'mu4e-msg))
( attnum (mu4e~view-get-property-from-event 'mu4e-attnum)))
@ -1587,7 +1587,7 @@ user with PROMPT."
"Apply URLFUNC to a a range of urls in the current message,
prompting the user with PROMPT.
Default is to aplly it to all URLs, [1..n], where n is the number
Default is to apply it to all URLs, [1..n], where n is the number
of urls. You can type multiple values separated by space, e.g. 1
3-6 8 will visit urls 1,3,4,5,6 and 8.

@ -471,7 +471,7 @@ As we have seen, we can do all of the mail retrieval @emph{outside} of
@subsection Basics
To set up mail-retrieval from withing @t{mu4e}, set the variable
To set up mail-retrieval from within @t{mu4e}, set the variable
@code{mu4e-get-mail-command} to the program or shell command you want to
use for retrieving mail. You can then get your e-mail using @kbd{M-x
mu4e-update-mail-and-index}, or @kbd{C-S-u} in all @t{mu4e}-views;

@ -260,7 +260,7 @@ main(int argc, char *argv[])
return 0;
err:
/* some error occured */
/* some error occurred */
mu_msg_unref (msg);
if (err)

@ -247,7 +247,7 @@ on_list_view_error (MugMsgListView * mlist, MugError err, MugData * mugdata)
msg = "Error in query";
break;
default:
msg = "Some error occured";
msg = "Some error occurred";
break;
}

Loading…
Cancel
Save