| Commit message (Collapse) | Author | Age |
|
|
|
| |
Pretty straightforward abstraction similar to get/set list.
|
|
|
|
|
|
| |
Apart from the status codes for format mismatches, the non-zero exit
status codes have been arbitrary. Make the cli consistently return
either EXIT_SUCCESS or EXIT_FAILURE.
|
|
|
|
|
|
|
|
|
| |
notmuch-config.c has the only use of the function named "index()" in the
notmuch source. Several other places use the equivalent function
"strchr()"; this patch just fixes notmuch-config.c to use strchr()
instead. (Solaris needs to include <strings.h> to get the prototype for
index(), and notmuch-config.c was failing to include that header, so it
wasn't compiling as-is.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The use of realpath(3) in
commit 58ed67992d0ec1fa505026105218fa449f7980b0
Author: Jani Nikula <jani@nikula.org>
Date: Sun Apr 7 20:15:03 2013 +0300
cli: config: do not overwrite symlinks when saving config file
broke config file save when the file does not exist, which results in
'notmuch setup' always failing to create a new config file.
Fix by checking ENOENT from realpath(3).
|
|
|
|
|
|
|
| |
Use realpath to canonicalize the config path before writing.
Previously 'notmuch setup' and 'notmuch config set' overwrote the
config file even if it was a symbolic link.
|
|
|
|
|
| |
Cosmetic change to drop unnecessary braces that don't even conform to
the prevailing coding style.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows specifying config file as a top level argument to notmuch,
and generally makes it possible to override config file options in
main(), without having to touch the subcommands.
If the config file does not exist, one will be created for the notmuch
main command and setup and help subcommands. Help is special in this
regard; the config is created just to avoid errors about missing
config, but it will not be saved.
This also makes notmuch config the talloc context for subcommands.
|
|
|
|
|
|
|
|
| |
We now have a notmuch_config_is_new() function to query whether a
config was created or not. Change the notmuch_config_open() is_new
parameter into boolean create_new to determine whether the function
should create a new config if one doesn't exist. This reduces the
complexity of the API.
|
|
|
|
|
|
|
|
| |
Keep track of whether the config is newly created, and add
notmuch_config_is_new() accessor function to query this.
This is to support anyone with a config handle to check this, instead
of just whoever called notmuch_config_open().
|
|
|
|
|
|
| |
While one comment in generated .notmuch-config file looked good in the
source file notmuch-config.c, the generated output was inconsistently
wide -- even breaking the 80-column boundary.
|
|
|
|
|
|
|
|
|
|
| |
Add a command to list all configuration items with their associated
values.
One use is as follows: a MUA may prefer to store data in a central
notmuch configuration file so that the data is accessible across
different machines, e.g. an addressbook. The list command helps
to implement features such as tab completion on the keys.
|
|
|
|
|
|
| |
Require that 'config get' is passed exactly one additional argument,
instead of silently ignoring extra arguments. As a side-effect, produce
more specific error messages for the 'config' command as a whole.
|
|
|
|
|
| |
The array returned by g_key_file_get_string_list() should be freed with
g_strfreev(), not free().
|
|
|
|
|
|
|
|
| |
This reverts
dfee0f9 man: remove search.exclude_tags from notmuch-config.1 for 0.12
e83409d NEWS: revert NEWS item for exclude tags for 0.12
e77b031 config: disable addition of exclude tags for 0.12
|
|
|
|
|
| |
This disables the addition of search_exclude_tags in notmuch-setup and
notmuch-config.
|
| |
|
|
|
|
|
|
|
|
|
| |
A new configuration key 'new.ignore' is used to determine which
files and directories user wants not to be scanned as new mails.
Mark the corresponding test as no longer broken.
This work merges my previous attempts and Andreas Amann's work
in id:"ylp7hi23mw8.fsf@tyndall.ie"
|
|
|
|
|
|
| |
Moved static functions _config_get_list () and _config_set_list ()
closer to the beginning of file so that their definition is known
(without adding forward declarations) in upcoming changes.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the 'search.exclude_tags' option is automatically
set to "deleted;spam;" if it's missing from the config file.
This violates the Principle of Least Surprise, so *only* set
'search.exclude_tags' to "deleted;spam;" if we didn't find a
configuration file at all.
This patch is actually Austin Clements' work:
id:"20120117203211.GQ16740@mit.edu"
|
|
|
|
|
|
|
| |
All other config-related functions and args include the section
title in their name, so for the sake of consistency, mirror that.
Also, the "auto"matic part is a given, so that was dropped.
|
|
|
|
|
| |
Since "auto_exclude_tags" is long and its description is multi-line,
start the description on the next line and indent it consistently.
|
|
|
|
|
|
| |
This adds a "search" section to the config file and an
"auto_tag_exclusions" setting in that section. The search and count
commands pass tag tags from the configuration to the library.
|
|
|
|
|
|
| |
Two new internal routines are created _config_get_list and
_config_set_list; the notmuch_config_get_* functions that deal with
lists are simply wrappers for these functions.
|
|
|
|
|
|
|
|
|
| |
previously we deleted the subcommand name from argv before passing to
the subcommand. In this version, the deletion is done in the actual
subcommands. Although this causes some duplication of code, it allows
us to be more flexible about how we parse command line arguments in
the subcommand, including possibly using off-the-shelf routines like
getopt_long that expect the name of the command in argv[0].
|
|
|
|
|
|
|
|
|
|
|
|
| |
Various typo fixes in documentation within the code that can be made
available to the user, (emacs function help strings, "notmuch help"
output, notmuch man page, etc.).
Signed-off-by: Pieter Praet <pieter@praet.org>
Edited-by: Carl Worth <cworth@cworth.org> Restricted to just
documentation and fixed fix of "comman" to "common" rather than
"command".
|
|
|
|
|
|
|
| |
Fix to check the value returned by sysconf(_SC_GETPW_R_SIZE_MAX)
before using the value.
This fixes a core dump on DragonFlyBSD where this function returns -1.
|
|
|
|
|
| |
It has been very difficult to get all of these right. I would not be
surprised if I've still missed some.
|
|
|
|
|
|
|
| |
The intent of "notmuch setup" is that it adds new, documented sections
to configuration files that were created before such sections were
defined. But to make this work, we have to explicitly set an option
in the maildir group if it didn't exist previously.
|
|
|
|
|
| |
This is a useful feature that most people should want, so enable it by
default, (still allowing customization to disable it of course).
|
|
|
|
| |
Including details on which actual flags are synchronized with which tags.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the name of the configuration parameter here is:
maildir.synchronize_flags
the convention is that the functions to get and set this parameter
should match it in name. Hence:
notmuch_config_get_maildir_synchronize_flags
etc. (as opposed to notmuch_config_get_maildir_sync).
|
|
|
|
|
|
|
| |
This adds group [maildir] and key 'synchronize_flags' to the
configuration file. Its value enables (true) or diables (false) the
synchronization between notmuch tags and maildir flags. By default,
the synchronization is disabled.
|
|
|
|
|
|
| |
It is now possible to set configuration items from the command-line in
a manner quite similar to the support for querying configuration
items.
|
|
|
|
|
|
| |
We might as well be general here, and allow the "notmuch config" command
to query any stored value from the configuration file, (whether or not
the rest of the code actually knows anything about that value).
|
|
|
|
|
| |
So far, we implement only "notmuch config get". It won't be too much
work from here to also implement "notmuch config set".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since commit f41a35e2923b0b3ef2f66e91cd30e20b4c1a336a running a command
such as:
NOTMUCH_CONFIG=/new/config/file notmuch setup
would result in a segmentation fault.
The purpose of that commit was to ensure that an attempt to manipulate
a non-standard database would not inadvertently manipulate the default
database only due to a typo in the NOTMUCH_CONFIG environment
variable. That is, a command like:
NOTMUCH_CONFIG=mistyped-config-filename notmuch tag -new tag:new
shouldn't modify the database at ${HOME}/mail, but should instead
simply report that the mistype configuration filename does not exist.
We fix both cases simultaneously by reporting the error message
whenever the function calling notmuch_config_open is not explicitly
prepared for a default configuration file.
|
|
|
|
|
|
| |
I think one configuration group for each top-level command makes a lot
of sense. And this makes the existing naming of set_new_tags and
get_new_tags also very reasonable.
|
|
|
|
|
| |
Specifically mentioning that it's a list separated by ';' and use
"will" instead of "should".
|
|
|
|
|
|
|
|
|
|
| |
Our intent has always been that when new configuration-file settings
are created by notmuch, that they get created with comments telling
the user how to use them. But this was only working before when the
entire configuration file was created.
We fix this so that when a new group is added, (such as the recently-
added [messages] section) that it gets its documentation.
|
|
|
|
| |
To eliminate a compiler warning.
|
|
|
|
|
|
| |
Add a new_tags option in the [messages] section of the configuration
file to allow the user to specify which tags should be added to new
messages by notmuch new.
|
|
|
|
|
|
|
|
| |
When there is no configuration file at all, (and none specified),
notmuch works correctly by assuming correct default values. But when
the user specifies a configuration file (with the NOTMUCH_CONFIG
environment variable) and that file doesn't exist, then notmuch should
aboirt and let the user know about the problem.
|
|
|
|
| |
Signed-off-by: Dirk-Jan C. Binnema <djcb.bulk@gmail.com>
|
|
|
|
|
| |
If present, $NOTMUCH_CONFIG will be used as the configuration file
location.
|
|
|
|
|
|
|
| |
While talloc is great we need to free the g_error by hand.
Tested-by: Stefan Schmidt <stefan@datenfreihafen.org>
Signed-off-by: Holger Freyther <zecke@selfish.org>
|
| |
|
|
|
|
|
|
| |
It's quite possible for someone to read the documentation and run
"notmuch setup" rather than just "notmuch". In that case, we don't
want to be any less welcoming.
|
|
|
|
|
| |
The "notmuch setup" command is nice and all, but we also want to allow
users to conveniently edit the configuration file directly.
|
|
This will allow for things like the database path to be specified
without any cheesy NOTMUCH_BASE environment variable. It also will
allow "notmuch reply" to recognize the user's email address when
constructing a reply in order to do the right thing, (that is, to use
the user's address to which mail was sent as From:, and not to reply
to the user's own addresses).
With this change, the "notmuch setup" command is now strictly for
changing the configuration of notmuch. It no longer creates the
database, but instead instructs the user to call "notmuch new" to do
that.
|