| Commit message (Collapse) | Author | Age |
... | |
|
|
|
| |
... that opens a new namedqueries buffer
|
|\
| |
| | |
fix: automatically update envelope gpg keys only if requested. see #1228
|
| | |
|
|/
|
|
|
|
|
| |
Otherwise it will be read as a regular python string and be interpreted
as octet-stream.
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
|
|
|
|
| |
They are not needed for python >= 3.0.
|
| |
|
|
|
|
|
| |
Commands running in a subprocess should return the terminal encoding so
we don't need to guess their encoding.
|
|
|
|
| |
basically just remove hand rolling what try_decode does.
|
|
|
|
| |
I can't reproduce this with arch, but it does reproduce in CI.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
Fix templates with non-ascii characters.
|
| | |
|
|/
|
|
| |
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes the following bug:
To reproduce::
- Don't define `template_dir` in the user configuration file, such that
the default value is used.
- Run: :compose --template=foobar
Problem:
Displays error: `no template directory: $XDG_CONFIG_HOME/alot/templates`
|
| |
|
| |
|
|
|
|
|
| |
This mostly shortens lines down to <=79 chars and fixes some other small
things I found using the pep8 tool.
|
|
|
|
|
|
|
|
|
|
| |
Otherwise the editor will crash.
I can't figure out for the life of me to test this. I thought that I
would be able to do something like detect if stdin is a tty or something
else, but that doesn't seem to work.
Fixes #1137
|
|
|
|
|
|
| |
If someone passes us something other than None or a callable they're
abusing the API. Instead, use is not None, and let the code except if
something else is passed.
|
|
|
|
|
|
| |
This simplifies the code but not using an if/else, but to just use a
ternary to set the input to Popen.communicate. This also pulls some code
out of the try/except block that isn't being tried.
|
|
|
|
| |
It's just a little off
|
|\
| |
| | |
Some small changes that are py2 and py3 compatible
|
| |
| |
| |
| |
| | |
The short version is deprecated as of python3. Both are available in
both python versions.
|
|/
|
|
|
|
|
|
| |
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 python 3 email.Utils doesn't exist, in python 2.7 both do, but Utils
is deprecated.
|
|
|
|
|
|
| |
Currently it's possible to set sign_by_default without setting a default
key. This is obviously not a good plan for all sorts of reasons. This
fixes the two failing tests from the last commit.
|
| |
|
|
|
|
|
|
|
| |
This can create circular imports in unittests, which causes difficult to
debug errors.
Fixes #1076
|
|
|
|
|
|
|
| |
This command allows the configuration to be reloaded while alot is
running.
Fixes #1046
|
|
|
|
|
|
| |
Fixes #707 and #332.
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
|
| |
|
|
|
|
|
|
| |
This imports division from __future__, and changes the one use of
division to integer division, since it's for calculating how many lines
to move the cursor.
|
|\
| |
| | |
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.
|
|/ |
|
|\
| |
| | |
Use absolute_imports from __future__
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently if global.quit_on_last_bclose is set to True (not the default),
and the last buffer is an envelope, then when 'd' or ':bclose' is
called, the user will be prompted twice to 'close without sending?'.
This patch fixes that by skipping the prompt in BufferCloseCommand, if
there is 1 buffer, and global.quit_on_last_bclose is True. It does this
by adding a private keyword to the ExitCommand() constructor, telling
that classes apply method to not prompt.
Fixes #979
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the last buffer if closed (using 'd' or ':bclose'), by default either
nothing will happen, or the user will be prompted whether he/she wants
to close without saving, and then nothing happens. This can be changed
by setting global.quit_on_last_bclose to True (it defaults to False).
This patch changes that behavior to preempt the prompt and adds a UI
notification that the relevant option is unset, and returns. It will
check the same conditions again after the yield statement since the
number of buffers or the options might have changed (it seems rather
unlikely that the options will change, but it's a tiny amount of code
with minimal performance impact and it's better to be safe).
Fixes #968
|
|\
| |
| | |
alot/commands/globals: fix typo
|
| |
| |
| |
| |
| | |
This is a bug, though apparently no one has run into it yet. Found
through inspection.
|
|\ \
| |/
|/| |
Encrypt for the CC addresses too
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
One of the differences between map/filter and a comprehension is what
happens with None. For map and filter passing None as the function will
be treated as an identity function (equivalent to lambda x: x), for
comprehensions however, this will raise an exception (calling NoneType).
The fix is rather simple, instead of making the default of filtfun None,
make it an identity function. I've used lambda x: x since it's easy,
although defining an identity function in a utility library might be
preferable since lambdas are slower than normal functions.
Fixes #946
|