Richard Russon [Sat, 15 Apr 2017 16:27:54 +0000 (17:27 +0100)]
build: restore po/mutt.pot
This file is autogenerated from the the files listed in po/POTFILES.in
However, if it's missing it causes the build to regenerate ALL the .po
files every time there's a change to the code. This is annoying.
If you want to update the .po files, try:
make -C po update-po
use w3m as default for generating UTF8 manual.txt (#491)
The input for manual.txt is manual.html which is UTF8 encoded. Now
forcing manual.txt to be ascii leads to all sorts of "?" in the ascii
file, which is not nice. If we have UTF8 input we should also use UTF8
for the output.
Moved w3m to be the default to generate UTF8 manual.txt. If you prefer
manual.txt to be ascii the fallbacks lynx or elinks will still produce
plain ascii.
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Richard Russon [Wed, 12 Apr 2017 18:45:24 +0000 (19:45 +0100)]
apply clang-format to the source code
The source and headers have been treated slightly differently.
The source files (*.c) have had clang-format applied and it's expected
that this will become an automatic process in the future. A few blocks
of source have been protected from change by special comments
// clang-format off
// clang-format on
The header files contain a lot of #define'd lists which contain a lot of
manually placed whitespace. clang-format doesn't have an option to
align these as we'd like.
The compromise was to run clang-format on the headers, but cherry-pick
the formatting that was more human-friendly. clang-format won't be
automatically run on the headers.
This commit also sorts out a few other formatting issues:
- All tabs have been expanded
- Tabs in translated strings have been expanded
(this makes it easier to align translated strings)
Richard Russon [Thu, 13 Apr 2017 11:24:05 +0000 (12:24 +0100)]
revert broken fix
This IS the site of a possible bug, but this isn't the way to fix it.
Some paths through parse_set() will lead to (idx == -1) which will cause a
buffer underrun when used as an index to MuttVars.
Richard Russon [Wed, 12 Apr 2017 01:23:44 +0000 (02:23 +0100)]
merge: boolify functions
These functions returned -1 on failure but are essentially boolean.
Convert them to use false/true.
* check_all_msg()
* check_msg()
* compare_certificates()
* compare_stat()
* crypt_key_is_valid()
* is_bound()
* line_compare()
* mutt_check_charset()
* rfc822_valid_msgid()
* smtp_code()
* url_parse_query()
* user_in_addr()
Richard Russon [Sun, 9 Apr 2017 19:43:22 +0000 (20:43 +0100)]
merge: upstream fixes (mutt/default)
* Remove redraw flag setting after mutt_endwin().
* Change km_dokey() to pass SigWinch on for the MENU_EDITOR. (see #3877)
* Separate out the compose menu redrawing. (see #3877)
* Separate out the index menu redrawing. (see #3877)
* Prepare for pager redraw separation. (see #3877)
* Separate out the pager menu redrawing. (see #3877)
* Don't create query menu until after initial prompt. (see #3877)
* Silence imap progress messages for pipe-message. (see #3929)
* Ensure mutt stays in endwin during calls to pipe_msg() (closes #3929)
Kevin McCarthy [Sat, 8 Apr 2017 21:21:15 +0000 (14:21 -0700)]
Ensure mutt stays in endwin during calls to pipe_msg() (closes #3929)
The previous commit solved the problem reported in #3929: progressbar
output while downloading a message via IMAP was refreshing the mutt
ncurses session after launching the pipe program.
To ensure another place in the code doesn't inadvertantly generate
output, wrap OPTKEEPQUIET around the calls to
pipe_msg()/mutt_wait_filter() too.
Kevin McCarthy [Sat, 8 Apr 2017 21:18:26 +0000 (14:18 -0700)]
Silence imap progress messages for pipe-message. (see #3929)
_mutt_pipe_message() calls endwin(), and then calls pipe_msg(). If an
imap message body hasn't already been downloaded, this can end up
calling imap_fetch_message().
The progress messages in imap_fetch_message() were restoring curses,
just after extract_url was running. This was leading to a condition
where mutt curses didn't think the screen had changed after
extract_url exited.
There was already a check for isendwin() inside imap_fetch_message(),
but it wasn't wrapped around the progressbar creation/usage. Add a
check for those places too.