]> granicus.if.org Git - neomutt/log
neomutt
5 years agomailbox: rename desc to name
Richard Russon [Fri, 12 Jul 2019 13:17:06 +0000 (14:17 +0100)]
mailbox: rename desc to name

5 years agoconfig: convert to subset
Richard Russon [Thu, 11 Jul 2019 11:12:27 +0000 (12:12 +0100)]
config: convert to subset

5 years agoconfig: add config subsets
Richard Russon [Wed, 10 Jul 2019 16:37:29 +0000 (17:37 +0100)]
config: add config subsets

5 years agonotify: drop old Context notifications
Richard Russon [Wed, 10 Jul 2019 16:09:21 +0000 (17:09 +0100)]
notify: drop old Context notifications

5 years agonotify: add Mailbox Events
Richard Russon [Tue, 9 Jul 2019 14:23:50 +0000 (15:23 +0100)]
notify: add Mailbox Events

5 years agoaccount: add mailbox_add()
Richard Russon [Tue, 9 Jul 2019 14:12:55 +0000 (15:12 +0100)]
account: add mailbox_add()

5 years agodrop AllMailboxes
Richard Russon [Thu, 4 Jul 2019 15:01:02 +0000 (16:01 +0100)]
drop AllMailboxes

5 years agorefactor users of AllMailboxes
Richard Russon [Wed, 3 Jul 2019 21:37:52 +0000 (22:37 +0100)]
refactor users of AllMailboxes

5 years agonotify: add Account Events
Richard Russon [Wed, 3 Jul 2019 10:01:13 +0000 (11:01 +0100)]
notify: add Account Events

5 years agoneomutt: move AllAccounts
Richard Russon [Mon, 1 Jul 2019 16:28:40 +0000 (17:28 +0100)]
neomutt: move AllAccounts

5 years agonotify: add global notifications
Richard Russon [Wed, 3 Jul 2019 10:20:15 +0000 (11:20 +0100)]
notify: add global notifications

5 years agosplit up mailbox.c
Richard Russon [Thu, 11 Jul 2019 12:26:54 +0000 (13:26 +0100)]
split up mailbox.c

5 years agoversion: add colour for devel features
Richard Russon [Fri, 28 Jun 2019 12:19:34 +0000 (13:19 +0100)]
version: add colour for devel features

5 years agodoxygen: Address struct members
Richard Russon [Sat, 13 Jul 2019 22:03:49 +0000 (23:03 +0100)]
doxygen: Address struct members

5 years agodoxygen: Email struct members
Richard Russon [Sat, 13 Jul 2019 18:36:14 +0000 (19:36 +0100)]
doxygen: Email struct members

5 years agogitignore: drop old test binaries
Richard Russon [Sat, 13 Jul 2019 18:29:50 +0000 (19:29 +0100)]
gitignore: drop old test binaries

5 years agomerge: Improve const-correctness
Richard Russon [Sat, 13 Jul 2019 23:13:34 +0000 (00:13 +0100)]
merge: Improve const-correctness

 * Improve const-correctness
 * Do not cast const qualifier from sort callbacks
 * Make const discards more explicit
 * Remove useless cast

5 years agoRemove useless cast 1772/head
Federico Kircheis [Wed, 10 Jul 2019 18:30:30 +0000 (20:30 +0200)]
Remove useless cast

5 years agoMake const discards more explicit
Federico Kircheis [Wed, 10 Jul 2019 18:30:30 +0000 (20:30 +0200)]
Make const discards more explicit

5 years agoDo not cast const qualifier from sort callbacks
Federico Kircheis [Wed, 10 Jul 2019 18:30:30 +0000 (20:30 +0200)]
Do not cast const qualifier from sort callbacks

If `const void*` points to an instance of type `T`, then it should be
casted to a `const T*` instance.

If `const void*` is a pointer to an instance of type `T`, then the pointer
is `const T*`.

The instance could be `const`, or could be not, but to be on the safe
side, it's casted to `T const *const *`.
In the case of pointer-to-pointer, `const` is on the right to ease
readability; from right to leaft it reads:
A pointer to a const pointer to a const T.

5 years agoImprove const-correctness
Federico Kircheis [Wed, 10 Jul 2019 18:30:30 +0000 (20:30 +0200)]
Improve const-correctness

of

  * convert_file_to
  * get_quote_level
  * mutt_write_one_header
  * classify_quote
  * gen_string_hash
  * gen_case_string_hash
  * mutt_buffer_enter_fname_full
  * parse_references

5 years agoAvoid using reserved identifiers
Federico Kircheis [Sun, 7 Jul 2019 11:04:51 +0000 (13:04 +0200)]
Avoid using reserved identifiers

Found with `clang -Wreserved-id-macro`

5 years agomerge: trivial fixes
Richard Russon [Sat, 6 Jul 2019 11:46:20 +0000 (12:46 +0100)]
merge: trivial fixes

 * rename templates
 * drop old refs to struct Header
 * unify naming of Email vars/params
 * unify naming of Mailbox vars/params
 * doxy: unify MXAPI comments
 * notmuch: fix prototypes

5 years agonotmuch: fix prototypes
Richard Russon [Sat, 6 Jul 2019 11:10:47 +0000 (12:10 +0100)]
notmuch: fix prototypes

5 years agodoxy: unify MXAPI comments
Richard Russon [Fri, 5 Jul 2019 15:46:26 +0000 (16:46 +0100)]
doxy: unify MXAPI comments

5 years agounify naming of Mailbox vars/params
Richard Russon [Fri, 5 Jul 2019 14:33:05 +0000 (15:33 +0100)]
unify naming of Mailbox vars/params

5 years agounify naming of Email vars/params
Richard Russon [Fri, 5 Jul 2019 14:04:53 +0000 (15:04 +0100)]
unify naming of Email vars/params

5 years agodrop old refs to struct Header
Richard Russon [Fri, 5 Jul 2019 13:08:07 +0000 (14:08 +0100)]
drop old refs to struct Header

5 years agorename templates
Richard Russon [Fri, 5 Jul 2019 14:27:35 +0000 (15:27 +0100)]
rename templates

5 years agoRename typedef to ParseDateRangeFlags
Federico Kircheis [Sat, 6 Jul 2019 05:23:54 +0000 (07:23 +0200)]
Rename typedef to ParseDateRangeFlags

As there is another definition of PatternFlags

5 years agomerge: trivial fixes
Richard Russon [Fri, 5 Jul 2019 11:19:00 +0000 (12:19 +0100)]
merge: trivial fixes

 * fix whitespace
 * add missing flag
 * fix compress local init
 * sidebar: pass in Mailbox
 * debug: fix levels and messages
 * tags: fix leak
 * notify: fix observer retval
 * drop nm_description_to_path() - unused
 * rename locals for consistency
 * rename account_remove_mailbox()
 * monitor #define -> enum

5 years agomonitor #define -> enum
Richard Russon [Fri, 5 Jul 2019 09:49:55 +0000 (10:49 +0100)]
monitor #define -> enum

5 years agorename account_remove_mailbox()
Richard Russon [Wed, 3 Jul 2019 12:58:35 +0000 (13:58 +0100)]
rename account_remove_mailbox()

5 years agorename locals for consistency
Richard Russon [Thu, 4 Jul 2019 18:41:57 +0000 (19:41 +0100)]
rename locals for consistency

5 years agodrop nm_description_to_path() - unused
Richard Russon [Wed, 3 Jul 2019 12:51:27 +0000 (13:51 +0100)]
drop nm_description_to_path() - unused

5 years agonotify: fix observer retval
Richard Russon [Tue, 2 Jul 2019 14:27:28 +0000 (15:27 +0100)]
notify: fix observer retval

5 years agotags: fix leak
Richard Russon [Tue, 2 Jul 2019 13:54:39 +0000 (14:54 +0100)]
tags: fix leak

5 years agodebug: fix levels and messages
Richard Russon [Thu, 4 Jul 2019 17:20:49 +0000 (18:20 +0100)]
debug: fix levels and messages

5 years agosidebar: pass in Mailbox
Richard Russon [Thu, 4 Jul 2019 16:14:06 +0000 (17:14 +0100)]
sidebar: pass in Mailbox

5 years agofix compress local init
Richard Russon [Mon, 1 Jul 2019 13:05:41 +0000 (14:05 +0100)]
fix compress local init

5 years agoadd missing flag
Richard Russon [Mon, 1 Jul 2019 11:01:13 +0000 (12:01 +0100)]
add missing flag

5 years agofix whitespace
Richard Russon [Mon, 17 Jun 2019 16:30:42 +0000 (17:30 +0100)]
fix whitespace

5 years agomerge: Avoid using c++ reserved identifiers
Richard Russon [Fri, 5 Jul 2019 10:06:39 +0000 (11:06 +0100)]
merge: Avoid using c++ reserved identifiers

 * Replace `try` variable with `user`
 * Replace `virtual` variable with `vnum`
 * Replace `template` variable with `tmpl`
 * Replace `catch` variable with `restore`
 * Replace `new` variable with `has_new_mail`
 * Replace `new` variable with`new_file`
 * Replace `public` variable with `only_public_key`
 * Replace `delete` variable with `delete_original`
 * Replace `new` variable with `mark_new`
 * Replace `new` variable with `al_new`
 * Replace `new` variable with `alias`
 * Replace `new` variable with `ap`
 * Replace `new` with `pnew`
 * Unify `body_new` name instances
 * Replace `new` variable with `add`
 * Replace `new` variable with `new_mail`
 * Replace `new` variable with `new_tag`
 * Replace `new` variable with `new_label`
 * Replace `new` variable with `tnew`
 * Replace `new` variable with `new_mail`
 * Replace `delete` variable with `delete_header`
 * Replace `this` variable with `ctx_cur`
 * Replace `this` variable with `key`
 * Replace `class` variable with `qc`
 * Replace `new` variable with `new_param`
 * Replace `new` variable with `new_label`
 * Replace `class` member with `flags`
 * Replace `not` member with `pat_not`
 * Replace `or` member with `pat_or`
 * Fix functions declarations/definitions

5 years agoFix functions declarations/definitions 1760/head
Federico Kircheis [Thu, 4 Jul 2019 15:39:19 +0000 (17:39 +0200)]
Fix functions declarations/definitions

As the function declaration and definition did not match up

5 years agoReplace `or` member with `pat_or`
Federico Kircheis [Sat, 29 Jun 2019 19:27:34 +0000 (21:27 +0200)]
Replace `or` member with `pat_or`

It clashes with the alternate operators

5 years agoReplace `not` member with `pat_not`
Federico Kircheis [Sat, 29 Jun 2019 12:56:18 +0000 (14:56 +0200)]
Replace `not` member with `pat_not`

It clashes with the alternate operators

5 years agoReplace `class` member with `flags`
Federico Kircheis [Sun, 30 Jun 2019 03:30:19 +0000 (05:30 +0200)]
Replace `class` member with `flags`

As it's reserved in C++

5 years agoReplace `new` variable with `new_label`
Federico Kircheis [Thu, 4 Jul 2019 18:18:15 +0000 (20:18 +0200)]
Replace `new` variable with `new_label`

`new` is a reserved keyword in c++

5 years agoReplace `new` variable with `new_param`
Federico Kircheis [Sat, 29 Jun 2019 18:52:32 +0000 (20:52 +0200)]
Replace `new` variable with `new_param`

`new` is a reserved keyword in c++

5 years agoReplace `class` variable with `qc`
Federico Kircheis [Thu, 4 Jul 2019 15:14:19 +0000 (17:14 +0200)]
Replace `class` variable with `qc`

`class` is a reserved keyword in c++

5 years agoReplace `this` variable with `key`
Federico Kircheis [Sat, 29 Jun 2019 19:32:57 +0000 (21:32 +0200)]
Replace `this` variable with `key`

`this` is a reserved keyword in c++

5 years agoReplace `this` variable with `ctx_cur`
Federico Kircheis [Thu, 4 Jul 2019 04:14:09 +0000 (06:14 +0200)]
Replace `this` variable with `ctx_cur`

`this` is a reserved keyword in c++

5 years agoReplace `delete` variable with `delete_header`
Federico Kircheis [Sat, 29 Jun 2019 19:22:06 +0000 (21:22 +0200)]
Replace `delete` variable with `delete_header`

`delete` is a reserved keyword in c++

5 years agoReplace `new` variable with `new_mail`
Federico Kircheis [Wed, 3 Jul 2019 19:35:03 +0000 (21:35 +0200)]
Replace `new` variable with `new_mail`

`new` is a reserved keyword in c++

5 years agoReplace `new` variable with `tnew`
Federico Kircheis [Wed, 3 Jul 2019 19:29:39 +0000 (21:29 +0200)]
Replace `new` variable with `tnew`

`new` is a reserved keyword in c++

5 years agoReplace `new` variable with `new_label`
Federico Kircheis [Wed, 3 Jul 2019 19:26:16 +0000 (21:26 +0200)]
Replace `new` variable with `new_label`

`new` is a reserved keyword in c++

5 years agoReplace `new` variable with `new_tag`
Federico Kircheis [Wed, 3 Jul 2019 19:22:45 +0000 (21:22 +0200)]
Replace `new` variable with `new_tag`

`new` is a reserved keyword in c++

5 years agoReplace `new` variable with `new_mail`
Federico Kircheis [Wed, 3 Jul 2019 19:18:00 +0000 (21:18 +0200)]
Replace `new` variable with `new_mail`

`new` is a reserved keyword in c++

5 years agoReplace `new` variable with `add`
Federico Kircheis [Wed, 3 Jul 2019 19:12:26 +0000 (21:12 +0200)]
Replace `new` variable with `add`

`new` is a reserved keyword in c++

5 years agoUnify `body_new` name instances
Federico Kircheis [Wed, 3 Jul 2019 19:04:19 +0000 (21:04 +0200)]
Unify `body_new` name instances

`new` is a reserved keyword in c++
Most instances are named this way

5 years agoReplace `new` with `pnew`
Federico Kircheis [Wed, 3 Jul 2019 18:54:30 +0000 (20:54 +0200)]
Replace `new` with `pnew`

`new` is a reserved keyword in c++

5 years agoReplace `new` variable with `ap`
Federico Kircheis [Wed, 3 Jul 2019 18:46:17 +0000 (20:46 +0200)]
Replace `new` variable with `ap`

`new` is a reserved keyword in c++

5 years agoReplace `new` variable with `alias`
Federico Kircheis [Wed, 3 Jul 2019 18:27:35 +0000 (20:27 +0200)]
Replace `new` variable with `alias`

`new` is a reserved keyword in c++

5 years agoReplace `new` variable with `al_new`
Federico Kircheis [Wed, 3 Jul 2019 18:21:23 +0000 (20:21 +0200)]
Replace `new` variable with `al_new`

`new` is a reserved keyword in c++

5 years agoReplace `new` variable with `mark_new`
Federico Kircheis [Wed, 3 Jul 2019 18:13:28 +0000 (20:13 +0200)]
Replace `new` variable with `mark_new`

`new` is a reserved keyword in c++

5 years agoReplace `delete` variable with `delete_original`
Federico Kircheis [Sat, 29 Jun 2019 19:14:11 +0000 (21:14 +0200)]
Replace `delete` variable with `delete_original`

`delete` is a reserved keyword in c++

5 years agoReplace `public` variable with `only_public_key`
Federico Kircheis [Sun, 30 Jun 2019 03:23:18 +0000 (05:23 +0200)]
Replace `public` variable with `only_public_key`

`public` is a reserved keyword in c++

5 years agoReplace `new` variable with`new_file`
Federico Kircheis [Sat, 29 Jun 2019 18:52:50 +0000 (20:52 +0200)]
Replace `new` variable with`new_file`

`new` is a reserved keyword in c++

Rename both `new` and `old` to `new_file` and `old_file` for consistency

5 years agoReplace `new` variable with `has_new_mail`
Federico Kircheis [Sat, 29 Jun 2019 13:06:28 +0000 (15:06 +0200)]
Replace `new` variable with `has_new_mail`

`new` is a reserved keyword in c++

5 years agoReplace `catch` variable with `restore`
Federico Kircheis [Sat, 29 Jun 2019 13:09:54 +0000 (15:09 +0200)]
Replace `catch` variable with `restore`

`catch` is a reserved keyword in c++

5 years agoReplace `template` variable with `tmpl`
Federico Kircheis [Sat, 29 Jun 2019 13:00:17 +0000 (15:00 +0200)]
Replace `template` variable with `tmpl`

`virtual` is a reserved keyword in c++

5 years agoReplace `virtual` variable with `vnum`
Federico Kircheis [Sat, 29 Jun 2019 18:57:10 +0000 (20:57 +0200)]
Replace `virtual` variable with `vnum`

`virtual` is a reserved keyword in c++

5 years agoReplace `try` variable with `user`
Federico Kircheis [Sat, 29 Jun 2019 12:11:54 +0000 (14:11 +0200)]
Replace `try` variable with `user`

`try` is a keyword in c++

While this should not affect C code, it affects unfortunately the
tooling.

This specific instance triggers a "syntax error" in Cppcheck, so it
could hide other problems.

(Cppcheck version  1.86, code parsed with `--language=c --std=c99`)

Of course it is a bug in Cppcheck, but renaming the variable is the most
pragmatic approach, as the bug in Cppcheck does not manifest itself in
a simple program.

5 years agonotify: fix leak on exit
Richard Russon [Tue, 2 Jul 2019 12:43:02 +0000 (13:43 +0100)]
notify: fix leak on exit

5 years agoFix saving a msg to a non-existent mailbox
Pietro Cerutti [Mon, 1 Jul 2019 09:01:50 +0000 (09:01 +0000)]
Fix saving a msg to a non-existent mailbox

Fixes #1762

5 years agoAvoid UB when clearing stdin
Federico Kircheis [Tue, 1 May 2018 14:55:20 +0000 (16:55 +0200)]
Avoid UB when clearing stdin

Flushing `stdin` is undefined behaviour.

References
 http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf, chapter 7.21.5.2 (The fflush function)
 http://en.cppreference.com/w/c/io/fflush

5 years agoSync autosetup required version with what we ship
Pietro Cerutti [Fri, 28 Jun 2019 11:41:05 +0000 (11:41 +0000)]
Sync autosetup required version with what we ship

5 years agobuild: refactor idn headers check 1757/head
Pietro Cerutti [Fri, 28 Jun 2019 07:08:25 +0000 (07:08 +0000)]
build: refactor idn headers check

5 years agobuild: check which idn2 headers to include
Richard Russon [Thu, 27 Jun 2019 16:21:24 +0000 (17:21 +0100)]
build: check which idn2 headers to include

5 years agomerge: update translations
Richard Russon [Wed, 26 Jun 2019 22:17:39 +0000 (23:17 +0100)]
merge: update translations

 * Various chages to spanish localization
 * Update lt_LT translations
 * modified some Japanese translations
 * sync translations

5 years agosync translations
Richard Russon [Wed, 26 Jun 2019 22:16:59 +0000 (23:16 +0100)]
sync translations

5 years agomodified some Japanese translations
mochidai [Wed, 26 Jun 2019 19:15:25 +0000 (15:15 -0400)]
modified some Japanese translations

5 years agoUpdate lt_LT translations
Marius Gedminas [Sun, 23 Jun 2019 11:44:46 +0000 (14:44 +0300)]
Update lt_LT translations

One fuzzy down.

5 years agoVarious chages to spanish localization
Nagefire [Wed, 12 Jun 2019 22:12:45 +0000 (16:12 -0600)]
Various chages to spanish localization

5 years agoOptionally use pkg-config for 3rd party dependencies 1738/head
Pietro Cerutti [Thu, 6 Jun 2019 13:51:36 +0000 (13:51 +0000)]
Optionally use pkg-config for 3rd party dependencies

Add a new --pkgconf switch to configure.
When specified, the compiler and linker flags for most 3rd party dependencies
will be figured out using pkg-config.

5 years agoClarify header_cache behaviour on missing paths
Pietro Cerutti [Mon, 24 Jun 2019 12:50:46 +0000 (12:50 +0000)]
Clarify header_cache behaviour on missing paths

Fixes #1752

5 years agomerge: upstream fixes
Richard Russon [Mon, 24 Jun 2019 15:39:55 +0000 (16:39 +0100)]
merge: upstream fixes

 * Convert last rfc1524_expand_command caller to use a Buffer
 * Convert rfc1524_expand_command() implementation to use struct Buffer
 * Rename mutt_buffer_rfc1524_expand_command()
 * Fix send-mode printing when expand_filename() returns 1
 * Fix compose and edit attachment symlink failure code
 * Remove unnecessary strcmp for mutt_view_attachment()
 * Remove mutt_rfc1524_expand_filename() return value and checks
 * Make sure mailcap test %s is sanitized
 * Clean up mutt_print_attachment() cleanup
 * Add NULL checks to rfc1524_free_entry()
 * Detail the documentation of %l for index_format

5 years agoDetail the documentation of %l for index_format
Vincent Lefevre [Sun, 23 Jun 2019 00:05:43 +0000 (02:05 +0200)]
Detail the documentation of %l for index_format

Co-authored-by: Richard Russon <rich@flatcap.org>
5 years agoAdd NULL checks to rfc1524_free_entry()
Kevin McCarthy [Sat, 22 Jun 2019 23:13:46 +0000 (16:13 -0700)]
Add NULL checks to rfc1524_free_entry()

The existing code was fine, but make it robust like other free
functions in mutt, so the behavior isn't surprising.

Co-authored-by: Richard Russon <rich@flatcap.org>
5 years agoClean up mutt_print_attachment() cleanup
Kevin McCarthy [Sat, 22 Jun 2019 23:01:19 +0000 (16:01 -0700)]
Clean up mutt_print_attachment() cleanup

Check if mutt_save_attachment() fails and abort the print in that
case.

Co-authored-by: Richard Russon <rich@flatcap.org>
5 years agoMake sure mailcap test %s is sanitized
Kevin McCarthy [Sat, 22 Jun 2019 21:57:36 +0000 (14:57 -0700)]
Make sure mailcap test %s is sanitized

It's not clear to me if %s is allowed as part of a test field.
However since we are passing the attachment filename, we should
sanitize it first.

Co-authored-by: Richard Russon <rich@flatcap.org>
5 years agoRemove mutt_rfc1524_expand_filename() return value and checks
Kevin McCarthy [Sat, 22 Jun 2019 20:33:11 +0000 (13:33 -0700)]
Remove mutt_rfc1524_expand_filename() return value and checks

The return value was of dubious value.  It returned 0 only for the
case that a nametemplate was specified and it already matched the
supplied oldfile.

However, just because the nametemplate matched does not mean
attachment handling in send-mode should skip the mutt_adv_mktemp()
conversion, which includes a call to mutt_sanitize_filename().  We
didn't do so if *no* nametemplate was supplied.

Remove the return value from the function, and remove the checks and
"special handing" in mutt_attach.c calls.

Co-authored-by: Richard Russon <rich@flatcap.org>
5 years agoRemove unnecessary strcmp for mutt_view_attachment()
Kevin McCarthy [Sat, 22 Jun 2019 19:54:40 +0000 (12:54 -0700)]
Remove unnecessary strcmp for mutt_view_attachment()

mutt_rfc1524_expand_filename() runs the result through
mutt_adv_mktemp(), which will sanitize and relocate the filename under
$tmpdir.  The strcmp() is unneeded and distracting to the program
logic; none of the other routines perform or need this check.

Co-authored-by: Richard Russon <rich@flatcap.org>
5 years agoFix compose and edit attachment symlink failure code
Kevin McCarthy [Sat, 22 Jun 2019 19:35:58 +0000 (12:35 -0700)]
Fix compose and edit attachment symlink failure code

In the case where safe_symlink() fail, mutt prompts to continue, but
did not properly reset the filename to be operated on.

Fix up mutt_view_attachment() to use the same flow as the others, to
allow for easier comparison.

Co-authored-by: Richard Russon <rich@flatcap.org>
5 years agoFix send-mode printing when expand_filename() returns 1
Kevin McCarthy [Sat, 22 Jun 2019 17:09:02 +0000 (10:09 -0700)]
Fix send-mode printing when expand_filename() returns 1

It will return this when a nametemplate entry already matched the
passed in filename.  So this bug required both a print entry and an
already matching nametemplate entry to trigger.

Co-authored-by: Richard Russon <rich@flatcap.org>
5 years agoRename mutt_buffer_rfc1524_expand_command()
Kevin McCarthy [Sun, 14 Apr 2019 22:38:15 +0000 (15:38 -0700)]
Rename mutt_buffer_rfc1524_expand_command()

Remove buffer prefix now that all callers are converted.

5 years agoConvert rfc1524_expand_command() implementation to use struct Buffer
Kevin McCarthy [Sun, 14 Apr 2019 20:34:37 +0000 (13:34 -0700)]
Convert rfc1524_expand_command() implementation to use struct Buffer

Add mutt_buffer_sanitize_filename() helper.

Add a few end-of-buffer checks while iterating over command.

Convert the parameter name, paramater value, and types to use struct Buffer
instead of fixed size strings.

5 years agoConvert last rfc1524_expand_command caller to use a Buffer
Kevin McCarthy [Sun, 14 Apr 2019 18:38:49 +0000 (11:38 -0700)]
Convert last rfc1524_expand_command caller to use a Buffer

5 years agomerge: upstream fixes
Richard Russon [Sun, 16 Jun 2019 00:32:52 +0000 (01:32 +0100)]
merge: upstream fixes

 * Improve imap_append_message() error message handling
 * Mention sources for ~p and ~P patterns
 * Allow imap_cmd_finish() to both expunge and fetch new mail
 * Improve $reverse_realname documentation
 * Add $fcc_before_send, defaulting unset

5 years agoAdd $fcc_before_send, defaulting unset
Kevin McCarthy [Tue, 11 Jun 2019 20:15:22 +0000 (13:15 -0700)]
Add $fcc_before_send, defaulting unset

When set, the message will be Fcc'ed the same as sent.  $fcc_clear and
$fcc_attach will be ignored.  This is because of the difficulty of
unwinding changes, notably Protected Headers, without potentially
breaking signatures.

Co-authored-by: Richard Russon <rich@flatcap.org>