| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
| |
in python3 dict.{keys,items,values} return views, which are similar to
iterators without some of the caveats about modifying the underlying
object. The iter* and view* methods have been removed, instead one warps
dict.x in iter or list to get those types.
|
|
|
|
| |
This probably isn't completely right, but it's a start.
|
|
|
|
|
| |
cStringIO doesn't exist in python 3.x, instead one simply uses
io.StringIO and python provided a C accelerated version if possible.
|
|
|
|
|
|
|
| |
As well as reducing duplication and adding screen size detection to
:pipeto and :pyshell, this ensures that the screen is always restarted,
resulting in cleaner error handling if an error occurs while the screen
is stopped.
|
|
|
|
|
|
|
|
| |
This is caused by urwid/urwid#285; stopping and starting the whole
mainloop rather than just the screen works around this, but that's only
available in newer urwid versions.
This also affected the :pipeto and :pyshell commands.
|
| |
|
|
|
|
|
|
|
|
| |
this makes sure that 'tbuffer._indent_width', which stores the requested
indentation width, remains non-negative.
As a consequence, multiple "decrease" operations on zero values can be
reverted by a single "increase", as is intuitive.
|
|
|
|
|
|
| |
this introduces a new argparse validation check that makes sure a
parameter is '+', '-', or an integer, and uses this check for the
'indent' thread mode command.
|
|
|
|
| |
to dynamically change the message indentation
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
This just wries the new Address class into alot for use, and fixes up a
few places where such fixups are needed.
Fixes #1107
|
|/ |
|
|
|
|
|
|
|
|
| |
In python3 StringIO and cStringIO are gone. In their place are
io.BytesIO and io.StringIO. They are somewhat different in that they are
not separated on implementation, but on the type they emulated. BytesIO
works like the bytes class (str in python 2), while StringIO works like
the str class (unicode in python2).
|
|
|
|
|
|
| |
In python3 Exception doesn't have a message attribute, the only way to
get the string output is to call str() on the Exception. This also works
in python 2.7, so go ahead and make that change.
|
|\
| |
| | |
Add `move next matching` command in thread buffer
|
| | |
|
| |
| |
| |
| |
| |
| | |
The move command in thread buffers can recognize some predefined targets
to move to. All other arguments are interpreted as notmuch queries and
the next or previous matching message is moved to.
|
|/ |
|
|
|
|
|
|
|
| |
This can create circular imports in unittests, which causes difficult to
debug errors.
Fixes #1076
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This fixes a bug in determine_sender where an account that did match but
did not have a realname set was "not found" in case force_realname was
set.
Helped-By: Pol Van Aubel <dev@polvanaubel.com>
|
|
|
|
|
| |
Otherwise the next account in the for loop might have been returned if
the account was found to match with its last alias.
|
|\
| |
| | |
argparse validators
|
| |
| |
| |
| |
| | |
This module is going to be enhanced with additional components in later
patches in this series, so it needs a more generic name.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The bug and fix were found by @josch. One needs to set
`honor_followup_to = True` and `followup_to = True` to trigger the bug.
See #874 for more info. The bug was probably introduced in
2c85e7322f7a060309ee83e5906c731d3d8f5da6.
|
| | |
|
|\ \
| | |
| | | |
[RFC] Fix addressbook completion
|
| | | |
|
| | | |
|
|/ /
| |
| |
| | |
Fix #1001
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
| |
This is just whitespace changes.
|
|
|
|
|
|
|
|
|
|
| |
This patch replaces a large number (but not all) unused arguments with
the standard ``_`` placeholder. This has the advantage of signaling that
these values are unused.
There are a number of places that I've chosen not to apply this, largely
in methods that have publicly define signatures that they inherit
(usually from urwid).
|
|
|
|
|
|
|
|
| |
This had the advantage of being more readable to people without a
functional programming background, and it avoids the need to use lambdas
which are both slow and have many corners in python. In a few cases it
also allows us to use a generator expression instead of a materialized
list, which save some memory.
|
| |
|
|\
| |
| | |
Save command line history across sessions
|
| | |
|
| |
| |
| |
| | |
This will also make the string interpolation lazy evaluated.
|
|/
|
|
| |
The lower case version is available since 2.5.
|
|
|
|
| |
This is the default value.
|
|
|
|
|
| |
It's more efficient to use a generator here than a list comprehension,
since then we can avoid calculating addresses we don't need.
|
| |
|
|
|
|
|
|
| |
- use relative imports if possible
- group imports into standard library, third party, and alot modules
- sort imports alphabetically
|
| |
|
|\
| |
| | |
Allow specifing the mailcap field key for `pipeto`
|