[PATCH 1/2] cli: convert notmuch_bool_t to stdbool

Tomi Ollila tomi.ollila at iki.fi
Sat Oct 7 10:05:18 PDT 2017


On Sat, Oct 07 2017, Jani Nikula wrote:

> C99 stdbool turned 18 this year. There really is no reason to use our
> own, except in the library interface for backward
> compatibility. Convert the cli and test binaries to stdbool.

+2 (i.e. +1 for both patches). I trust the changes works...

> ---
>  command-line-arguments.c | 58 +++++++++++++++++++--------------------
>  command-line-arguments.h | 10 ++++---
>  crypto.c                 |  6 ++---
>  debugger.c               |  8 +++---
>  gmime-filter-reply.c     | 32 +++++++++++-----------
>  mime-node.c              | 10 +++----
>  notmuch-client.h         | 35 ++++++++++++------------
>  notmuch-compact.c        |  2 +-
>  notmuch-config.c         | 28 +++++++++----------
>  notmuch-count.c          | 18 ++++++-------
>  notmuch-dump.c           | 10 +++----
>  notmuch-insert.c         | 70 ++++++++++++++++++++++++------------------------
>  notmuch-new.c            | 30 ++++++++++-----------
>  notmuch-reply.c          | 30 ++++++++++-----------
>  notmuch-restore.c        |  4 +--
>  notmuch-search.c         | 24 ++++++++---------
>  notmuch-setup.c          |  6 ++---
>  notmuch-show.c           | 52 +++++++++++++++++------------------
>  notmuch-tag.c            |  6 ++---
>  notmuch.c                | 12 ++++-----
>  sprinter-json.c          | 18 ++++++-------
>  sprinter-sexp.c          | 16 +++++------
>  sprinter-text.c          |  6 ++---
>  sprinter.h               |  6 ++---
>  tag-util.c               | 24 ++++++++---------
>  tag-util.h               |  8 +++---
>  test/arg-test.c          |  6 ++---
>  test/hex-xcode.c         |  8 +++---
>  test/random-corpus.c     |  2 +-
>  29 files changed, 275 insertions(+), 270 deletions(-)
>
> diff --git a/command-line-arguments.c b/command-line-arguments.c
> index 3fa8d9044966..1ff5aae578c6 100644
> --- a/command-line-arguments.c
> +++ b/command-line-arguments.c
> @@ -6,11 +6,11 @@
>  
>  /*
>    Search the array of keywords for a given argument, assigning the
> -  output variable to the corresponding value.  Return FALSE if nothing
> +  output variable to the corresponding value.  Return false if nothing
>    matches.
>  */
>  
> -static notmuch_bool_t
> +static bool
>  _process_keyword_arg (const notmuch_opt_desc_t *arg_desc, char next, const char *arg_str) {
>  
>      const notmuch_keyword_t *keywords;
> @@ -29,64 +29,64 @@ _process_keyword_arg (const notmuch_opt_desc_t *arg_desc, char next, const char
>  	else
>  	    *arg_desc->opt_keyword = keywords->value;
>  
> -	return TRUE;
> +	return true;
>      }
>      if (next != '\0')
>  	fprintf (stderr, "Unknown keyword argument \"%s\" for option \"%s\".\n", arg_str, arg_desc->name);
>      else
>  	fprintf (stderr, "Option \"%s\" needs a keyword argument.\n", arg_desc->name);
> -    return FALSE;
> +    return false;
>  }
>  
> -static notmuch_bool_t
> +static bool
>  _process_boolean_arg (const notmuch_opt_desc_t *arg_desc, char next, const char *arg_str) {
> -    notmuch_bool_t value;
> +    bool value;
>  
>      if (next == '\0' || strcmp (arg_str, "true") == 0) {
> -	value = TRUE;
> +	value = true;
>      } else if (strcmp (arg_str, "false") == 0) {
> -	value = FALSE;
> +	value = false;
>      } else {
>  	fprintf (stderr, "Unknown argument \"%s\" for (boolean) option \"%s\".\n", arg_str, arg_desc->name);
> -	return FALSE;
> +	return false;
>      }
>  
>      *arg_desc->opt_bool = value;
>  
> -    return TRUE;
> +    return true;
>  }
>  
> -static notmuch_bool_t
> +static bool
>  _process_int_arg (const notmuch_opt_desc_t *arg_desc, char next, const char *arg_str) {
>  
>      char *endptr;
>      if (next == '\0' || arg_str[0] == '\0') {
>  	fprintf (stderr, "Option \"%s\" needs an integer argument.\n", arg_desc->name);
> -	return FALSE;
> +	return false;
>      }
>  
>      *arg_desc->opt_int = strtol (arg_str, &endptr, 10);
>      if (*endptr == '\0')
> -	return TRUE;
> +	return true;
>  
>      fprintf (stderr, "Unable to parse argument \"%s\" for option \"%s\" as an integer.\n",
>  	     arg_str, arg_desc->name);
> -    return FALSE;
> +    return false;
>  }
>  
> -static notmuch_bool_t
> +static bool
>  _process_string_arg (const notmuch_opt_desc_t *arg_desc, char next, const char *arg_str) {
>  
>      if (next == '\0') {
>  	fprintf (stderr, "Option \"%s\" needs a string argument.\n", arg_desc->name);
> -	return FALSE;
> +	return false;
>      }
>      if (arg_str[0] == '\0') {
>  	fprintf (stderr, "String argument for option \"%s\" must be non-empty.\n", arg_desc->name);
> -	return FALSE;
> +	return false;
>      }
>      *arg_desc->opt_string = arg_str;
> -    return TRUE;
> +    return true;
>  }
>  
>  /* Return number of non-NULL opt_* fields in opt_desc. */
> @@ -102,8 +102,8 @@ static int _opt_set_count (const notmuch_opt_desc_t *opt_desc)
>  	!!opt_desc->opt_position;
>  }
>  
> -/* Return TRUE if opt_desc is valid. */
> -static notmuch_bool_t _opt_valid (const notmuch_opt_desc_t *opt_desc)
> +/* Return true if opt_desc is valid. */
> +static bool _opt_valid (const notmuch_opt_desc_t *opt_desc)
>  {
>      int n = _opt_set_count (opt_desc);
>  
> @@ -115,11 +115,11 @@ static notmuch_bool_t _opt_valid (const notmuch_opt_desc_t *opt_desc)
>  }
>  
>  /*
> -   Search for the {pos_arg_index}th position argument, return FALSE if
> +   Search for the {pos_arg_index}th position argument, return false if
>     that does not exist.
>  */
>  
> -notmuch_bool_t
> +bool
>  parse_position_arg (const char *arg_str, int pos_arg_index,
>  		    const notmuch_opt_desc_t *arg_desc) {
>  
> @@ -129,14 +129,14 @@ parse_position_arg (const char *arg_str, int pos_arg_index,
>  	    if (pos_arg_counter == pos_arg_index) {
>  		*arg_desc->opt_position = arg_str;
>  		if (arg_desc->present)
> -		    *arg_desc->present = TRUE;
> -		return TRUE;
> +		    *arg_desc->present = true;
> +		return true;
>  	    }
>  	    pos_arg_counter++;
>  	}
>  	arg_desc++;
>      }
> -    return FALSE;
> +    return false;
>  }
>  
>  /*
> @@ -192,7 +192,7 @@ parse_option (int argc, char **argv, const notmuch_opt_desc_t *options, int opt_
>  	    opt_index ++;
>  	}
>  
> -	notmuch_bool_t opt_status = FALSE;
> +	bool opt_status = false;
>  	if (try->opt_keyword || try->opt_flags)
>  	    opt_status = _process_keyword_arg (try, next, value);
>  	else if (try->opt_bool)
> @@ -208,7 +208,7 @@ parse_option (int argc, char **argv, const notmuch_opt_desc_t *options, int opt_
>  	    return -1;
>  
>  	if (try->present)
> -	    *try->present = TRUE;
> +	    *try->present = true;
>  
>  	return opt_index+1;
>      }
> @@ -221,7 +221,7 @@ parse_arguments (int argc, char **argv,
>  		 const notmuch_opt_desc_t *options, int opt_index) {
>  
>      int pos_arg_index = 0;
> -    notmuch_bool_t more_args = TRUE;
> +    bool more_args = true;
>  
>      while (more_args && opt_index < argc) {
>  	if (strncmp (argv[opt_index],"--",2) != 0) {
> @@ -242,7 +242,7 @@ parse_arguments (int argc, char **argv,
>  	    opt_index = parse_option (argc, argv, options, opt_index);
>  	    if (opt_index < 0) {
>  		fprintf (stderr, "Unrecognized option: %s\n", argv[prev_opt_index]);
> -		more_args = FALSE;
> +		more_args = false;
>  	    }
>  	}
>      }
> diff --git a/command-line-arguments.h b/command-line-arguments.h
> index dfc808bdab78..76ca4dcbb276 100644
> --- a/command-line-arguments.h
> +++ b/command-line-arguments.h
> @@ -1,6 +1,8 @@
>  #ifndef NOTMUCH_OPTS_H
>  #define NOTMUCH_OPTS_H
>  
> +#include <stdbool.h>
> +
>  #include "notmuch.h"
>  
>  /*
> @@ -17,7 +19,7 @@ typedef struct notmuch_keyword {
>  typedef struct notmuch_opt_desc {
>      /* One and only one of opt_* must be set. */
>      const struct notmuch_opt_desc *opt_inherit;
> -    notmuch_bool_t *opt_bool;
> +    bool *opt_bool;
>      int *opt_int;
>      int *opt_keyword;
>      int *opt_flags;
> @@ -27,8 +29,8 @@ typedef struct notmuch_opt_desc {
>      /* Must be set except for opt_inherit and opt_position. */
>      const char *name;
>  
> -    /* Optional, if non-NULL, set to TRUE if the option is present. */
> -    notmuch_bool_t *present;
> +    /* Optional, if non-NULL, set to true if the option is present. */
> +    bool *present;
>  
>      /* Must be set for opt_keyword and opt_flags. */
>      const struct notmuch_keyword *keywords;
> @@ -64,7 +66,7 @@ parse_arguments (int argc, char **argv, const notmuch_opt_desc_t *options, int o
>  int
>  parse_option (int argc, char **argv, const notmuch_opt_desc_t* options, int opt_index);
>  
> -notmuch_bool_t
> +bool
>  parse_position_arg (const char *arg,
>  		    int position_arg_index,
>  		    const notmuch_opt_desc_t* options);
> diff --git a/crypto.c b/crypto.c
> index cc45b88521ec..9c557d6e0640 100644
> --- a/crypto.c
> +++ b/crypto.c
> @@ -37,8 +37,8 @@ create_gpg_context (notmuch_crypto_t *crypto)
>      }
>      crypto->gpgctx = gpgctx;
>  
> -    g_mime_gpg_context_set_use_agent ((GMimeGpgContext *) gpgctx, TRUE);
> -    g_mime_gpg_context_set_always_trust ((GMimeGpgContext *) gpgctx, FALSE);
> +    g_mime_gpg_context_set_use_agent ((GMimeGpgContext *) gpgctx, true);
> +    g_mime_gpg_context_set_always_trust ((GMimeGpgContext *) gpgctx, false);
>  
>      return gpgctx;
>  }
> @@ -61,7 +61,7 @@ create_pkcs7_context (notmuch_crypto_t *crypto)
>      crypto->pkcs7ctx = pkcs7ctx;
>  
>      g_mime_pkcs7_context_set_always_trust ((GMimePkcs7Context *) pkcs7ctx,
> -					   FALSE);
> +					   false);
>  
>      return pkcs7ctx;
>  }
> diff --git a/debugger.c b/debugger.c
> index 0fa0fb6bda23..5cb38ac444e3 100644
> --- a/debugger.c
> +++ b/debugger.c
> @@ -28,20 +28,20 @@
>  #define RUNNING_ON_VALGRIND 0
>  #endif
>  
> -notmuch_bool_t
> +bool
>  debugger_is_active (void)
>  {
>      char buf[1024];
>  
>      if (RUNNING_ON_VALGRIND)
> -	return TRUE;
> +	return true;
>  
>      sprintf (buf, "/proc/%d/exe", getppid ());
>      if (readlink (buf, buf, sizeof (buf)) != -1 &&
>  	strncmp (basename (buf), "gdb", 3) == 0)
>      {
> -	return TRUE;
> +	return true;
>      }
>  
> -    return FALSE;
> +    return false;
>  }
> diff --git a/gmime-filter-reply.c b/gmime-filter-reply.c
> index 847426bfe663..a1ba4b45411b 100644
> --- a/gmime-filter-reply.c
> +++ b/gmime-filter-reply.c
> @@ -16,6 +16,8 @@
>   * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
>   */
>  
> +#include <stdbool.h>
> +
>  #include "gmime-filter-reply.h"
>  
>  /**
> @@ -87,8 +89,8 @@ static void
>  g_mime_filter_reply_init (GMimeFilterReply *filter, GMimeFilterReplyClass *klass)
>  {
>  	(void) klass;
> -	filter->saw_nl = TRUE;
> -	filter->saw_angle = FALSE;
> +	filter->saw_nl = true;
> +	filter->saw_angle = false;
>  }
>  
>  static void
> @@ -117,43 +119,43 @@ filter_filter (GMimeFilter *filter, char *inbuf, size_t inlen, size_t prespace,
>  
>  	(void) prespace;
>  	if (reply->encode) {
> -		g_mime_filter_set_size (filter, 3 * inlen, FALSE);
> +		g_mime_filter_set_size (filter, 3 * inlen, false);
>  
>  		outptr = filter->outbuf;
>  		while (inptr < inend) {
>  			if (reply->saw_nl) {
>  				*outptr++ = '>';
>  				*outptr++ = ' ';
> -				reply->saw_nl = FALSE;
> +				reply->saw_nl = false;
>  			}
>  			if (*inptr == '\n')
> -				reply->saw_nl = TRUE;
> +				reply->saw_nl = true;
>  			else
> -				reply->saw_nl = FALSE;
> +				reply->saw_nl = false;
>  			if (*inptr != '\r')
>  				*outptr++ = *inptr;
>  			inptr++;
>  		}
>  	} else {
> -		g_mime_filter_set_size (filter, inlen + 1, FALSE);
> +		g_mime_filter_set_size (filter, inlen + 1, false);
>  
>  		outptr = filter->outbuf;
>  		while (inptr < inend) {
>  			if (reply->saw_nl) {
>  				if (*inptr == '>')
> -					reply->saw_angle = TRUE;
> +					reply->saw_angle = true;
>  				else
>  					*outptr++ = *inptr;
> -				reply->saw_nl = FALSE;
> +				reply->saw_nl = false;
>  			} else if (reply->saw_angle) {
>  				if (*inptr == ' ')
>  					;
>  				else
>  					*outptr++ = *inptr;
> -				reply->saw_angle = FALSE;
> +				reply->saw_angle = false;
>  			} else if (*inptr != '\r') {
>  				if (*inptr == '\n')
> -					reply->saw_nl = TRUE;
> +					reply->saw_nl = true;
>  				*outptr++ = *inptr;
>  			}
>  
> @@ -179,19 +181,19 @@ filter_reset (GMimeFilter *filter)
>  {
>  	GMimeFilterReply *reply = (GMimeFilterReply *) filter;
>  
> -	reply->saw_nl = TRUE;
> -	reply->saw_angle = FALSE;
> +	reply->saw_nl = true;
> +	reply->saw_angle = false;
>  }
>  
>  
>  /**
>   * g_mime_filter_reply_new:
> - * @encode: %TRUE if the filter should encode or %FALSE otherwise
> + * @encode: %true if the filter should encode or %false otherwise
>   * @dots: encode/decode dots (as for SMTP)
>   *
>   * Creates a new #GMimeFilterReply filter.
>   *
> - * If @encode is %TRUE, then all lines will be prefixed by "> ",
> + * If @encode is %true, then all lines will be prefixed by "> ",
>   * otherwise any lines starting with "> " will have that removed
>   *
>   * Returns: a new #GMimeFilterReply filter.
> diff --git a/mime-node.c b/mime-node.c
> index 24d73afa8458..8b767d783117 100644
> --- a/mime-node.c
> +++ b/mime-node.c
> @@ -112,7 +112,7 @@ mime_node_open (const void *ctx, notmuch_message_t *message,
>  	status = NOTMUCH_STATUS_OUT_OF_MEMORY;
>  	goto DONE;
>      }
> -    g_mime_stream_file_set_owner (GMIME_STREAM_FILE (mctx->stream), FALSE);
> +    g_mime_stream_file_set_owner (GMIME_STREAM_FILE (mctx->stream), false);
>  
>      mctx->parser = g_mime_parser_new_with_stream (mctx->stream);
>      if (!mctx->parser) {
> @@ -175,7 +175,7 @@ node_verify (mime_node_t *node, GMimeObject *part,
>  {
>      GError *err = NULL;
>  
> -    node->verify_attempted = TRUE;
> +    node->verify_attempted = true;
>      node->sig_list = g_mime_multipart_signed_verify
>  	(GMIME_MULTIPART_SIGNED (part), cryptoctx, &err);
>  
> @@ -198,7 +198,7 @@ node_decrypt_and_verify (mime_node_t *node, GMimeObject *part,
>      GMimeDecryptResult *decrypt_result = NULL;
>      GMimeMultipartEncrypted *encrypteddata = GMIME_MULTIPART_ENCRYPTED (part);
>  
> -    node->decrypt_attempted = TRUE;
> +    node->decrypt_attempted = true;
>      node->decrypted_child = g_mime_multipart_encrypted_decrypt
>  	(encrypteddata, cryptoctx, &decrypt_result, &err);
>      if (! node->decrypted_child) {
> @@ -207,8 +207,8 @@ node_decrypt_and_verify (mime_node_t *node, GMimeObject *part,
>  	goto DONE;
>      }
>  
> -    node->decrypt_success = TRUE;
> -    node->verify_attempted = TRUE;
> +    node->decrypt_success = true;
> +    node->verify_attempted = true;
>  
>      /* This may be NULL if the part is not signed. */
>      node->sig_list = g_mime_decrypt_result_get_signatures (decrypt_result);
> diff --git a/notmuch-client.h b/notmuch-client.h
> index c68538fcc0a2..0365baae4b89 100644
> --- a/notmuch-client.h
> +++ b/notmuch-client.h
> @@ -24,6 +24,7 @@
>  #ifndef _GNU_SOURCE
>  #define _GNU_SOURCE /* for getline */
>  #endif
> +#include <stdbool.h>
>  #include <stdio.h>
>  #include <sysexits.h>
>  
> @@ -72,8 +73,8 @@ typedef struct notmuch_show_format {
>  } notmuch_show_format_t;
>  
>  typedef struct notmuch_crypto {
> -    notmuch_bool_t verify;
> -    notmuch_bool_t decrypt;
> +    bool verify;
> +    bool decrypt;
>  #if (GMIME_MAJOR_VERSION < 3)
>      notmuch_crypto_context_t* gpgctx;
>      notmuch_crypto_context_t* pkcs7ctx;
> @@ -82,12 +83,12 @@ typedef struct notmuch_crypto {
>  } notmuch_crypto_t;
>  
>  typedef struct notmuch_show_params {
> -    notmuch_bool_t entire_thread;
> -    notmuch_bool_t omit_excluded;
> -    notmuch_bool_t output_body;
> +    bool entire_thread;
> +    bool omit_excluded;
> +    bool output_body;
>      int part;
>      notmuch_crypto_t crypto;
> -    notmuch_bool_t include_html;
> +    bool include_html;
>      GMimeStream *out_stream;
>  } notmuch_show_params_t;
>  
> @@ -247,12 +248,12 @@ show_one_part (const char *filename, int part);
>  
>  void
>  format_part_sprinter (const void *ctx, struct sprinter *sp, mime_node_t *node,
> -		      notmuch_bool_t output_body,
> -		      notmuch_bool_t include_html);
> +		      bool output_body,
> +		      bool include_html);
>  
>  void
>  format_headers_sprinter (struct sprinter *sp, GMimeMessage *message,
> -			 notmuch_bool_t reply);
> +			 bool reply);
>  
>  typedef enum {
>      NOTMUCH_SHOW_TEXT_PART_REPLY = 1 << 0,
> @@ -286,7 +287,7 @@ notmuch_config_close (notmuch_config_t *config);
>  int
>  notmuch_config_save (notmuch_config_t *config);
>  
> -notmuch_bool_t
> +bool
>  notmuch_config_is_new (notmuch_config_t *config);
>  
>  const char *
> @@ -345,12 +346,12 @@ notmuch_config_set_new_ignore (notmuch_config_t *config,
>  			       const char *new_ignore[],
>  			       size_t length);
>  
> -notmuch_bool_t
> +bool
>  notmuch_config_get_maildir_synchronize_flags (notmuch_config_t *config);
>  
>  void
>  notmuch_config_set_maildir_synchronize_flags (notmuch_config_t *config,
> -					      notmuch_bool_t synchronize_flags);
> +					      bool synchronize_flags);
>  
>  const char **
>  notmuch_config_get_search_exclude_tags (notmuch_config_t *config, size_t *length);
> @@ -363,7 +364,7 @@ notmuch_config_set_search_exclude_tags (notmuch_config_t *config,
>  int
>  notmuch_run_hook (const char *db_path, const char *hook);
>  
> -notmuch_bool_t
> +bool
>  debugger_is_active (void);
>  
>  /* mime-node.c */
> @@ -406,14 +407,14 @@ struct mime_node {
>      int part_num;
>  
>      /* True if decryption of this part was attempted. */
> -    notmuch_bool_t decrypt_attempted;
> +    bool decrypt_attempted;
>      /* True if decryption of this part's child succeeded.  In this
>       * case, the decrypted part is substituted for the second child of
>       * this part (which would usually be the encrypted data). */
> -    notmuch_bool_t decrypt_success;
> +    bool decrypt_success;
>  
>      /* True if signature verification on this part was attempted. */
> -    notmuch_bool_t verify_attempted;
> +    bool verify_attempted;
>  
>      /* The list of signatures for signed or encrypted containers. If
>       * there are no signatures, this will be NULL. */
> @@ -487,7 +488,7 @@ notmuch_database_dump (notmuch_database_t *notmuch,
>  		       const char *query_str,
>  		       dump_format_t output_format,
>  		       dump_include_t include,
> -		       notmuch_bool_t gzip_output);
> +		       bool gzip_output);
>  
>  /* If status is non-zero (i.e. error) print appropriate
>     messages to stderr.
> diff --git a/notmuch-compact.c b/notmuch-compact.c
> index ae464e4805cb..f8996cf46039 100644
> --- a/notmuch-compact.c
> +++ b/notmuch-compact.c
> @@ -32,7 +32,7 @@ notmuch_compact_command (notmuch_config_t *config, int argc, char *argv[])
>      const char *path = notmuch_config_get_database_path (config);
>      const char *backup_path = NULL;
>      notmuch_status_t ret;
> -    notmuch_bool_t quiet = FALSE;
> +    bool quiet = false;
>      int opt_index;
>  
>      notmuch_opt_desc_t options[] = {
> diff --git a/notmuch-config.c b/notmuch-config.c
> index cb9529b90912..8fb59f96eb6d 100644
> --- a/notmuch-config.c
> +++ b/notmuch-config.c
> @@ -122,7 +122,7 @@ static const char crypto_config_comment[] =
>  struct _notmuch_config {
>      char *filename;
>      GKeyFile *key_file;
> -    notmuch_bool_t is_new;
> +    bool is_new;
>  
>      char *database_path;
>      char *crypto_gpg_path;
> @@ -134,7 +134,7 @@ struct _notmuch_config {
>      size_t new_tags_length;
>      const char **new_ignore;
>      size_t new_ignore_length;
> -    notmuch_bool_t maildir_synchronize_flags;
> +    bool maildir_synchronize_flags;
>      const char **search_exclude_tags;
>      size_t search_exclude_tags_length;
>  };
> @@ -212,8 +212,8 @@ get_username_from_passwd_file (void *ctx)
>      return name;
>  }
>  
> -static notmuch_bool_t
> -get_config_from_file (notmuch_config_t *config, notmuch_bool_t create_new)
> +static bool
> +get_config_from_file (notmuch_config_t *config, bool create_new)
>  {
>      #define BUF_SIZE 4096
>      char *config_str = NULL;
> @@ -221,7 +221,7 @@ get_config_from_file (notmuch_config_t *config, notmuch_bool_t create_new)
>      int config_bufsize = BUF_SIZE;
>      size_t len;
>      GError *error = NULL;
> -    notmuch_bool_t ret = FALSE;
> +    bool ret = false;
>  
>      FILE *fp = fopen(config->filename, "r");
>      if (fp == NULL) {
> @@ -230,8 +230,8 @@ get_config_from_file (notmuch_config_t *config, notmuch_bool_t create_new)
>  	     * default configuration file in the case of FILE NOT FOUND.
>  	     */
>  	    if (create_new) {
> -		config->is_new = TRUE;
> -		ret = TRUE;
> +		config->is_new = true;
> +		ret = true;
>  	    } else {
>  		fprintf (stderr, "Configuration file %s not found.\n"
>  			 "Try running 'notmuch setup' to create a configuration.\n",
> @@ -271,7 +271,7 @@ get_config_from_file (notmuch_config_t *config, notmuch_bool_t create_new)
>  
>      if (g_key_file_load_from_data (config->key_file, config_str, config_len,
>  				   G_KEY_FILE_KEEP_COMMENTS, &error)) {
> -	ret = TRUE;
> +	ret = true;
>  	goto out;
>      }
>  
> @@ -352,7 +352,7 @@ notmuch_config_open (void *ctx,
>      talloc_set_destructor (config, notmuch_config_destructor);
>  
>      /* non-zero defaults */
> -    config->maildir_synchronize_flags = TRUE;
> +    config->maildir_synchronize_flags = true;
>  
>      if (filename) {
>  	config->filename = talloc_strdup (config, filename);
> @@ -366,7 +366,7 @@ notmuch_config_open (void *ctx,
>      config->key_file = g_key_file_new ();
>  
>      if (config_mode & NOTMUCH_CONFIG_OPEN) {
> -	notmuch_bool_t create_new = (config_mode & NOTMUCH_CONFIG_CREATE) != 0;
> +	bool create_new = (config_mode & NOTMUCH_CONFIG_CREATE) != 0;
>  
>  	if (! get_config_from_file (config, create_new)) {
>  	    talloc_free (config);
> @@ -466,7 +466,7 @@ notmuch_config_open (void *ctx,
>  	g_key_file_get_boolean (config->key_file,
>  				"maildir", "synchronize_flags", &error);
>      if (error) {
> -	notmuch_config_set_maildir_synchronize_flags (config, TRUE);
> +	notmuch_config_set_maildir_synchronize_flags (config, true);
>  	g_error_free (error);
>      }
>  
> @@ -579,7 +579,7 @@ notmuch_config_save (notmuch_config_t *config)
>      return 0;
>  }
>  
> -notmuch_bool_t
> +bool
>  notmuch_config_is_new (notmuch_config_t *config)
>  {
>      return config->is_new;
> @@ -1086,7 +1086,7 @@ notmuch_config_command (notmuch_config_t *config, int argc, char *argv[])
>  
>  }
>  
> -notmuch_bool_t
> +bool
>  notmuch_config_get_maildir_synchronize_flags (notmuch_config_t *config)
>  {
>      return config->maildir_synchronize_flags;
> @@ -1094,7 +1094,7 @@ notmuch_config_get_maildir_synchronize_flags (notmuch_config_t *config)
>  
>  void
>  notmuch_config_set_maildir_synchronize_flags (notmuch_config_t *config,
> -					      notmuch_bool_t synchronize_flags)
> +					      bool synchronize_flags)
>  {
>      g_key_file_set_boolean (config->key_file,
>  			    "maildir", "synchronize_flags", synchronize_flags);
> diff --git a/notmuch-count.c b/notmuch-count.c
> index b8b03cdbc0d4..1ae7d5146d92 100644
> --- a/notmuch-count.c
> +++ b/notmuch-count.c
> @@ -29,8 +29,8 @@ enum {
>  
>  /* The following is to allow future options to be added more easily */
>  enum {
> -    EXCLUDE_TRUE,
> -    EXCLUDE_FALSE,
> +    EXCLUDE_true,
> +    EXCLUDE_false,
>  };
>  
>  /* Return the number of files matching the query, or -1 for an error */
> @@ -160,11 +160,11 @@ notmuch_count_command (notmuch_config_t *config, int argc, char *argv[])
>      char *query_str;
>      int opt_index;
>      int output = OUTPUT_MESSAGES;
> -    int exclude = EXCLUDE_TRUE;
> +    int exclude = EXCLUDE_true;
>      const char **search_exclude_tags = NULL;
>      size_t search_exclude_tags_length = 0;
> -    notmuch_bool_t batch = FALSE;
> -    notmuch_bool_t print_lastmod = FALSE;
> +    bool batch = false;
> +    bool print_lastmod = false;
>      FILE *input = stdin;
>      const char *input_file_name = NULL;
>      int ret;
> @@ -176,8 +176,8 @@ notmuch_count_command (notmuch_config_t *config, int argc, char *argv[])
>  				  { "files", OUTPUT_FILES },
>  				  { 0, 0 } } },
>  	{ .opt_keyword = &exclude, .name = "exclude", .keywords =
> -	  (notmuch_keyword_t []){ { "true", EXCLUDE_TRUE },
> -				  { "false", EXCLUDE_FALSE },
> +	  (notmuch_keyword_t []){ { "true", EXCLUDE_true },
> +				  { "false", EXCLUDE_false },
>  				  { 0, 0 } } },
>  	{ .opt_bool = &print_lastmod, .name = "lastmod" },
>  	{ .opt_bool = &batch, .name = "batch" },
> @@ -193,7 +193,7 @@ notmuch_count_command (notmuch_config_t *config, int argc, char *argv[])
>      notmuch_process_shared_options (argv[0]);
>  
>      if (input_file_name) {
> -	batch = TRUE;
> +	batch = true;
>  	input = fopen (input_file_name, "r");
>  	if (input == NULL) {
>  	    fprintf (stderr, "Error opening %s for reading: %s\n",
> @@ -221,7 +221,7 @@ notmuch_count_command (notmuch_config_t *config, int argc, char *argv[])
>  	return EXIT_FAILURE;
>      }
>  
> -    if (exclude == EXCLUDE_TRUE) {
> +    if (exclude == EXCLUDE_true) {
>  	search_exclude_tags = notmuch_config_get_search_exclude_tags
>  	    (config, &search_exclude_tags_length);
>      }
> diff --git a/notmuch-dump.c b/notmuch-dump.c
> index 03e64d608c85..ef2f02dfeb5c 100644
> --- a/notmuch-dump.c
> +++ b/notmuch-dump.c
> @@ -97,7 +97,7 @@ dump_properties_message (void *ctx,
>  {
>      const char *message_id;
>      notmuch_message_properties_t *list;
> -    notmuch_bool_t first = TRUE;
> +    bool first = true;
>  
>      message_id = notmuch_message_get_message_id (message);
>  
> @@ -106,7 +106,7 @@ dump_properties_message (void *ctx,
>  	return 0;
>      }
>  
> -    for (list = notmuch_message_get_properties (message, "", FALSE);
> +    for (list = notmuch_message_get_properties (message, "", false);
>  	 notmuch_message_properties_valid (list); notmuch_message_properties_move_to_next (list)) {
>  	const char *key, *val;
>  
> @@ -116,7 +116,7 @@ dump_properties_message (void *ctx,
>  		return 1;
>  	    }
>  	    gzprintf (output, "#= %s", *buffer_p);
> -	    first = FALSE;
> +	    first = false;
>  	}
>  
>  	key = notmuch_message_properties_key (list);
> @@ -277,7 +277,7 @@ notmuch_database_dump (notmuch_database_t *notmuch,
>  		       const char *query_str,
>  		       dump_format_t output_format,
>  		       dump_include_t include,
> -		       notmuch_bool_t gzip_output)
> +		       bool gzip_output)
>  {
>      gzFile output = NULL;
>      const char *mode = gzip_output ? "w9" : "wT";
> @@ -374,7 +374,7 @@ notmuch_dump_command (notmuch_config_t *config, int argc, char *argv[])
>  
>      int output_format = DUMP_FORMAT_BATCH_TAG;
>      int include = 0;
> -    notmuch_bool_t gzip_output = 0;
> +    bool gzip_output = 0;
>  
>      notmuch_opt_desc_t options[] = {
>  	{ .opt_keyword = &output_format, .name = "format", .keywords =
> diff --git a/notmuch-insert.c b/notmuch-insert.c
> index bbbc29ea103d..32be74193472 100644
> --- a/notmuch-insert.c
> +++ b/notmuch-insert.c
> @@ -65,7 +65,7 @@ safe_gethostname (char *hostname, size_t len)
>  }
>  
>  /* Call fsync() on a directory path. */
> -static notmuch_bool_t
> +static bool
>  sync_dir (const char *dir)
>  {
>      int fd, r;
> @@ -73,7 +73,7 @@ sync_dir (const char *dir)
>      fd = open (dir, O_RDONLY);
>      if (fd == -1) {
>  	fprintf (stderr, "Error: open %s: %s\n", dir, strerror (errno));
> -	return FALSE;
> +	return false;
>      }
>  
>      r = fsync (fd);
> @@ -88,29 +88,29 @@ sync_dir (const char *dir)
>  /*
>   * Check the specified folder name does not contain a directory
>   * component ".." to prevent writes outside of the Maildir
> - * hierarchy. Return TRUE on valid folder name, FALSE otherwise.
> + * hierarchy. Return true on valid folder name, false otherwise.
>   */
> -static notmuch_bool_t
> +static bool
>  is_valid_folder_name (const char *folder)
>  {
>      const char *p = folder;
>  
>      for (;;) {
>  	if ((p[0] == '.') && (p[1] == '.') && (p[2] == '\0' || p[2] == '/'))
> -	    return FALSE;
> +	    return false;
>  	p = strchr (p, '/');
>  	if (!p)
> -	    return TRUE;
> +	    return true;
>  	p++;
>      }
>  }
>  
>  /*
>   * Make the given directory and its parents as necessary, using the
> - * given mode. Return TRUE on success, FALSE otherwise. Partial
> + * given mode. Return true on success, false otherwise. Partial
>   * results are not cleaned up on errors.
>   */
> -static notmuch_bool_t
> +static bool
>  mkdir_recursive (const void *ctx, const char *path, int mode)
>  {
>      struct stat st;
> @@ -123,13 +123,13 @@ mkdir_recursive (const void *ctx, const char *path, int mode)
>          if (! S_ISDIR (st.st_mode)) {
>  	    fprintf (stderr, "Error: '%s' is not a directory: %s\n",
>  		     path, strerror (EEXIST));
> -	    return FALSE;
> +	    return false;
>  	}
>  
> -	return TRUE;
> +	return true;
>      } else if (errno != ENOENT) {
>  	fprintf (stderr, "Error: stat '%s': %s\n", path, strerror (errno));
> -	return FALSE;
> +	return false;
>      }
>  
>      /* mkdir parents, if any */
> @@ -138,27 +138,27 @@ mkdir_recursive (const void *ctx, const char *path, int mode)
>  	parent = talloc_strndup (ctx, path, slash - path);
>  	if (! parent) {
>  	    fprintf (stderr, "Error: %s\n", strerror (ENOMEM));
> -	    return FALSE;
> +	    return false;
>  	}
>  
>  	if (! mkdir_recursive (ctx, parent, mode))
> -	    return FALSE;
> +	    return false;
>      }
>  
>      if (mkdir (path, mode)) {
>  	fprintf (stderr, "Error: mkdir '%s': %s\n", path, strerror (errno));
> -	return FALSE;
> +	return false;
>      }
>  
> -    return parent ? sync_dir (parent) : TRUE;
> +    return parent ? sync_dir (parent) : true;
>  }
>  
>  /*
>   * Create the given maildir folder, i.e. maildir and its
> - * subdirectories cur/new/tmp. Return TRUE on success, FALSE
> + * subdirectories cur/new/tmp. Return true on success, false
>   * otherwise. Partial results are not cleaned up on errors.
>   */
> -static notmuch_bool_t
> +static bool
>  maildir_create_folder (const void *ctx, const char *maildir)
>  {
>      const char *subdirs[] = { "cur", "new", "tmp" };
> @@ -170,14 +170,14 @@ maildir_create_folder (const void *ctx, const char *maildir)
>  	subdir = talloc_asprintf (ctx, "%s/%s", maildir, subdirs[i]);
>  	if (! subdir) {
>  	    fprintf (stderr, "Error: %s\n", strerror (ENOMEM));
> -	    return FALSE;
> +	    return false;
>  	}
>  
>  	if (! mkdir_recursive (ctx, subdir, mode))
> -	    return FALSE;
> +	    return false;
>      }
>  
> -    return TRUE;
> +    return true;
>  }
>  
>  /*
> @@ -241,13 +241,13 @@ maildir_mktemp (const void *ctx, const char *maildir, char **path_out)
>  }
>  
>  /*
> - * Copy fdin to fdout, return TRUE on success, and FALSE on errors and
> + * Copy fdin to fdout, return true on success, and false on errors and
>   * empty input.
>   */
> -static notmuch_bool_t
> +static bool
>  copy_fd (int fdout, int fdin)
>  {
> -    notmuch_bool_t empty = TRUE;
> +    bool empty = true;
>  
>      while (! interrupted) {
>  	ssize_t remain;
> @@ -262,7 +262,7 @@ copy_fd (int fdout, int fdin)
>  		continue;
>  	    fprintf (stderr, "Error: reading from standard input: %s\n",
>  		     strerror (errno));
> -	    return FALSE;
> +	    return false;
>  	}
>  
>  	p = buf;
> @@ -273,11 +273,11 @@ copy_fd (int fdout, int fdin)
>  	    if (written <= 0) {
>  		fprintf (stderr, "Error: writing to temporary file: %s",
>  			 strerror (errno));
> -		return FALSE;
> +		return false;
>  	    }
>  	    p += written;
>  	    remain -= written;
> -	    empty = FALSE;
> +	    empty = false;
>  	} while (remain > 0);
>      }
>  
> @@ -367,19 +367,19 @@ FAIL:
>  
>  /*
>   * Add the specified message file to the notmuch database, applying
> - * tags in tag_ops. If synchronize_flags is TRUE, the tags are
> + * tags in tag_ops. If synchronize_flags is true, the tags are
>   * synchronized to maildir flags (which may result in message file
>   * rename).
>   *
>   * Return NOTMUCH_STATUS_SUCCESS on success, errors otherwise. If keep
> - * is TRUE, errors in tag changes and flag syncing are ignored and
> + * is true, errors in tag changes and flag syncing are ignored and
>   * success status is returned; otherwise such errors cause the message
>   * to be removed from the database. Failure to add the message to the
>   * database results in error status regardless of keep.
>   */
>  static notmuch_status_t
>  add_file (notmuch_database_t *notmuch, const char *path, tag_op_list_t *tag_ops,
> -	  notmuch_bool_t synchronize_flags, notmuch_bool_t keep)
> +	  bool synchronize_flags, bool keep)
>  {
>      notmuch_message_t *message;
>      notmuch_status_t status;
> @@ -453,10 +453,10 @@ notmuch_insert_command (notmuch_config_t *config, int argc, char *argv[])
>      tag_op_list_t *tag_ops;
>      char *query_string = NULL;
>      const char *folder = "";
> -    notmuch_bool_t create_folder = FALSE;
> -    notmuch_bool_t keep = FALSE;
> -    notmuch_bool_t no_hooks = FALSE;
> -    notmuch_bool_t synchronize_flags;
> +    bool create_folder = false;
> +    bool keep = false;
> +    bool no_hooks = false;
> +    bool synchronize_flags;
>      char *maildir;
>      char *newpath;
>      int opt_index;
> @@ -489,14 +489,14 @@ notmuch_insert_command (notmuch_config_t *config, int argc, char *argv[])
>      for (i = 0; i < new_tags_length; i++) {
>  	const char *error_msg;
>  
> -	error_msg = illegal_tag (new_tags[i], FALSE);
> +	error_msg = illegal_tag (new_tags[i], false);
>  	if (error_msg) {
>  	    fprintf (stderr, "Error: tag '%s' in new.tags: %s\n",
>  		     new_tags[i],  error_msg);
>  	    return EXIT_FAILURE;
>  	}
>  
> -	if (tag_op_list_append (tag_ops, new_tags[i], FALSE))
> +	if (tag_op_list_append (tag_ops, new_tags[i], false))
>  	    return EXIT_FAILURE;
>      }
>  
> diff --git a/notmuch-new.c b/notmuch-new.c
> index 50597b75c07e..0f50457eb894 100644
> --- a/notmuch-new.c
> +++ b/notmuch-new.c
> @@ -44,7 +44,7 @@ enum verbosity {
>  typedef struct {
>      int output_is_a_tty;
>      enum verbosity verbosity;
> -    notmuch_bool_t debug;
> +    bool debug;
>      const char **new_tags;
>      size_t new_tags_length;
>      const char **new_ignore;
> @@ -60,7 +60,7 @@ typedef struct {
>      _filename_list_t *removed_directories;
>      _filename_list_t *directory_mtimes;
>  
> -    notmuch_bool_t synchronize_flags;
> +    bool synchronize_flags;
>  } add_files_state_t;
>  
>  static volatile sig_atomic_t do_print_progress = 0;
> @@ -234,7 +234,7 @@ _entries_resemble_maildir (const char *path, struct dirent **entries, int count)
>      return 0;
>  }
>  
> -static notmuch_bool_t
> +static bool
>  _special_directory (const char *entry)
>  {
>      return strcmp (entry, ".") == 0 || strcmp (entry, "..") == 0;
> @@ -242,16 +242,16 @@ _special_directory (const char *entry)
>  
>  /* Test if the file/directory is to be ignored.
>   */
> -static notmuch_bool_t
> +static bool
>  _entry_in_ignore_list (const char *entry, add_files_state_t *state)
>  {
>      size_t i;
>  
>      for (i = 0; i < state->new_ignore_length; i++)
>  	if (strcmp (entry, state->new_ignore[i]) == 0)
> -	    return TRUE;
> +	    return true;
>  
> -    return FALSE;
> +    return false;
>  }
>  
>  /* Add a single file to the database. */
> @@ -376,7 +376,7 @@ add_files (notmuch_database_t *notmuch,
>      notmuch_filenames_t *db_subdirs = NULL;
>      time_t stat_time;
>      struct stat st;
> -    notmuch_bool_t is_maildir;
> +    bool is_maildir;
>  
>      if (stat (path, &st)) {
>  	fprintf (stderr, "Error reading directory %s: %s\n",
> @@ -837,7 +837,7 @@ remove_filename (notmuch_database_t *notmuch,
>      status = notmuch_database_remove_message (notmuch, path);
>      if (status == NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID) {
>  	add_files_state->renamed_messages++;
> -	if (add_files_state->synchronize_flags == TRUE)
> +	if (add_files_state->synchronize_flags == true)
>  	    notmuch_message_maildir_flags_to_tags (message);
>  	status = NOTMUCH_STATUS_SUCCESS;
>      } else if (status == NOTMUCH_STATUS_SUCCESS) {
> @@ -941,7 +941,7 @@ notmuch_new_command (notmuch_config_t *config, int argc, char *argv[])
>      notmuch_database_t *notmuch;
>      add_files_state_t add_files_state = {
>  	.verbosity = VERBOSITY_NORMAL,
> -	.debug = FALSE,
> +	.debug = false,
>  	.output_is_a_tty = isatty (fileno (stdout)),
>      };
>      struct timeval tv_start;
> @@ -953,9 +953,9 @@ notmuch_new_command (notmuch_config_t *config, int argc, char *argv[])
>      _filename_node_t *f;
>      int opt_index;
>      unsigned int i;
> -    notmuch_bool_t timer_is_active = FALSE;
> -    notmuch_bool_t no_hooks = FALSE;
> -    notmuch_bool_t quiet = FALSE, verbose = FALSE;
> +    bool timer_is_active = false;
> +    bool no_hooks = false;
> +    bool quiet = false, verbose = false;
>      notmuch_status_t status;
>  
>      notmuch_opt_desc_t options[] = {
> @@ -987,7 +987,7 @@ notmuch_new_command (notmuch_config_t *config, int argc, char *argv[])
>      for (i = 0; i < add_files_state.new_tags_length; i++) {
>  	const char *error_msg;
>  
> -	error_msg = illegal_tag (add_files_state.new_tags[i], FALSE);
> +	error_msg = illegal_tag (add_files_state.new_tags[i], false);
>  	if (error_msg) {
>  	    fprintf (stderr, "Error: tag '%s' in new.tags: %s\n",
>  		     add_files_state.new_tags[i], error_msg);
> @@ -1054,7 +1054,7 @@ notmuch_new_command (notmuch_config_t *config, int argc, char *argv[])
>  	    }
>  
>  	    if (notmuch_database_dump (notmuch, backup_name, "",
> -				       DUMP_FORMAT_BATCH_TAG, DUMP_INCLUDE_DEFAULT, TRUE)) {
> +				       DUMP_FORMAT_BATCH_TAG, DUMP_INCLUDE_DEFAULT, true)) {
>  		fprintf (stderr, "Backup failed. Aborting upgrade.");
>  		return EXIT_FAILURE;
>  	    }
> @@ -1101,7 +1101,7 @@ notmuch_new_command (notmuch_config_t *config, int argc, char *argv[])
>      if (add_files_state.verbosity == VERBOSITY_NORMAL &&
>  	add_files_state.output_is_a_tty && ! debugger_is_active ()) {
>  	setup_progress_printing_timer ();
> -	timer_is_active = TRUE;
> +	timer_is_active = true;
>      }
>  
>      ret = add_files (notmuch, db_path, &add_files_state);
> diff --git a/notmuch-reply.c b/notmuch-reply.c
> index e7ead79d755d..3e5a1443719a 100644
> --- a/notmuch-reply.c
> +++ b/notmuch-reply.c
> @@ -93,7 +93,7 @@ typedef enum {
>  } address_match_t;
>  
>  /* Match given string against given address according to mode. */
> -static notmuch_bool_t
> +static bool
>  match_address (const char *str, const char *address, address_match_t mode)
>  {
>      switch (mode) {
> @@ -105,7 +105,7 @@ match_address (const char *str, const char *address, address_match_t mode)
>  	return strcasecmp (address, str) == 0;
>      }
>  
> -    return FALSE;
> +    return false;
>  }
>  
>  /* Match given string against user's configured "primary" and "other"
> @@ -153,7 +153,7 @@ string_in_user_address (const char *str, notmuch_config_t *config)
>  
>  /* Is the given address configured as one of the user's "primary" or
>   * "other" addresses. */
> -static notmuch_bool_t
> +static bool
>  address_is_users (const char *address, notmuch_config_t *config)
>  {
>      return address_match (address, config, STRING_IS_USER_ADDRESS) != NULL;
> @@ -221,7 +221,7 @@ scan_address_list (InternetAddressList *list,
>  /* Does the address in the Reply-To header of 'message' already appear
>   * in either the 'To' or 'Cc' header of the message?
>   */
> -static notmuch_bool_t
> +static bool
>  reply_to_header_is_redundant (GMimeMessage *message,
>  			      InternetAddressList *reply_to_list)
>  {
> @@ -229,7 +229,7 @@ reply_to_header_is_redundant (GMimeMessage *message,
>      InternetAddress *address;
>      InternetAddressMailbox *mailbox;
>      InternetAddressList *recipients;
> -    notmuch_bool_t ret = FALSE;
> +    bool ret = false;
>      int i;
>  
>      if (reply_to_list == NULL ||
> @@ -253,7 +253,7 @@ reply_to_header_is_redundant (GMimeMessage *message,
>  	mailbox = INTERNET_ADDRESS_MAILBOX (address);
>  	addr = internet_address_mailbox_get_addr (mailbox);
>  	if (strcmp (addr, reply_to) == 0) {
> -	    ret = TRUE;
> +	    ret = true;
>  	    break;
>  	}
>      }
> @@ -323,7 +323,7 @@ static const char *
>  add_recipients_from_message (GMimeMessage *reply,
>  			     notmuch_config_t *config,
>  			     GMimeMessage *message,
> -			     notmuch_bool_t reply_all)
> +			     bool reply_all)
>  {
>  
>      /* There is a memory leak here with gmime-2.6 because get_sender
> @@ -522,8 +522,8 @@ create_reply_message(void *ctx,
>  		     notmuch_config_t *config,
>  		     notmuch_message_t *message,
>  		     GMimeMessage *mime_message,
> -		     notmuch_bool_t reply_all,
> -		     notmuch_bool_t limited)
> +		     bool reply_all,
> +		     bool limited)
>  {
>      const char *subject, *from_addr = NULL;
>      const char *in_reply_to, *orig_references, *references;
> @@ -612,7 +612,7 @@ static int do_reply(notmuch_config_t *config,
>  		    notmuch_query_t *query,
>  		    notmuch_show_params_t *params,
>  		    int format,
> -		    notmuch_bool_t reply_all)
> +		    bool reply_all)
>  {
>      GMimeMessage *reply;
>      mime_node_t *node;
> @@ -663,11 +663,11 @@ static int do_reply(notmuch_config_t *config,
>  
>  	    /* The headers of the reply message we've created */
>  	    sp->map_key (sp, "reply-headers");
> -	    format_headers_sprinter (sp, reply, TRUE);
> +	    format_headers_sprinter (sp, reply, true);
>  
>  	    /* Start the original */
>  	    sp->map_key (sp, "original");
> -	    format_part_sprinter (config, sp, node, TRUE, FALSE);
> +	    format_part_sprinter (config, sp, node, true, false);
>  
>  	    /* End */
>  	    sp->end (sp);
> @@ -702,7 +702,7 @@ notmuch_reply_command (notmuch_config_t *config, int argc, char *argv[])
>  	.part = -1,
>      };
>      int format = FORMAT_DEFAULT;
> -    int reply_all = TRUE;
> +    int reply_all = true;
>  
>      notmuch_opt_desc_t options[] = {
>  	{ .opt_keyword = &format, .name = "format", .keywords =
> @@ -713,8 +713,8 @@ notmuch_reply_command (notmuch_config_t *config, int argc, char *argv[])
>  				  { 0, 0 } } },
>  	{ .opt_int = &notmuch_format_version, .name = "format-version" },
>  	{ .opt_keyword = &reply_all, .name = "reply-to", .keywords =
> -	  (notmuch_keyword_t []){ { "all", TRUE },
> -				  { "sender", FALSE },
> +	  (notmuch_keyword_t []){ { "all", true },
> +				  { "sender", false },
>  				  { 0, 0 } } },
>  	{ .opt_bool = &params.crypto.decrypt, .name = "decrypt" },
>  	{ .opt_inherit = notmuch_shared_options },
> diff --git a/notmuch-restore.c b/notmuch-restore.c
> index 0025e2c316be..dee19c206d13 100644
> --- a/notmuch-restore.c
> +++ b/notmuch-restore.c
> @@ -211,7 +211,7 @@ parse_sup_line (void *ctx, char *line,
>  	    tok_len++;
>  	}
>  
> -	if (tag_op_list_append (tag_ops, tok, FALSE))
> +	if (tag_op_list_append (tag_ops, tok, false))
>  	    return -1;
>      }
>  
> @@ -223,7 +223,7 @@ int
>  notmuch_restore_command (notmuch_config_t *config, int argc, char *argv[])
>  {
>      notmuch_database_t *notmuch;
> -    notmuch_bool_t accumulate = FALSE;
> +    bool accumulate = false;
>      tag_op_flag_t flags = 0;
>      tag_op_list_t *tag_ops;
>  
> diff --git a/notmuch-search.c b/notmuch-search.c
> index 2ea658d325d6..0abac08eb7ab 100644
> --- a/notmuch-search.c
> +++ b/notmuch-search.c
> @@ -163,7 +163,7 @@ do_search_threads (search_context_t *ctx)
>  	    int files = notmuch_thread_get_total_files (thread);
>  	    int total = notmuch_thread_get_total_messages (thread);
>  	    const char *relative_date = NULL;
> -	    notmuch_bool_t first_tag = TRUE;
> +	    bool first_tag = true;
>  
>  	    format->begin_map (format);
>  
> @@ -243,7 +243,7 @@ do_search_threads (search_context_t *ctx)
>  		if (format->is_text_printer) {
>                    /* Special case for the text formatter */
>  		    if (first_tag)
> -			first_tag = FALSE;
> +			first_tag = false;
>  		    else
>  			fputc (' ', stdout);
>  		    fputs (tag, stdout);
> @@ -295,9 +295,9 @@ static int mailbox_compare (const void *v1, const void *v2)
>      return ret;
>  }
>  
> -/* Returns TRUE iff name and addr is duplicate. If not, stores the
> +/* Returns true iff name and addr is duplicate. If not, stores the
>   * name/addr pair in order to detect subsequent duplicates. */
> -static notmuch_bool_t
> +static bool
>  is_duplicate (const search_context_t *ctx, const char *name, const char *addr)
>  {
>      char *key;
> @@ -315,12 +315,12 @@ is_duplicate (const search_context_t *ctx, const char *name, const char *addr)
>  	if (l) {
>  	    mailbox = l->data;
>  	    mailbox->count++;
> -	    return TRUE;
> +	    return true;
>  	}
>  
>  	mailbox = new_mailbox (ctx->format, name, addr);
>  	if (! mailbox)
> -	    return FALSE;
> +	    return false;
>  
>  	/*
>  	 * XXX: It would be more efficient to prepend to the list, but
> @@ -331,24 +331,24 @@ is_duplicate (const search_context_t *ctx, const char *name, const char *addr)
>  	if (list != g_list_append (list, mailbox))
>  	    INTERNAL_ERROR ("appending to list changed list head\n");
>  
> -	return FALSE;
> +	return false;
>      }
>  
>      key = talloc_strdup (ctx->format, addr);
>      if (! key)
> -	return FALSE;
> +	return false;
>  
>      mailbox = new_mailbox (ctx->format, name, addr);
>      if (! mailbox)
> -	return FALSE;
> +	return false;
>  
>      list = g_list_append (NULL, mailbox);
>      if (! list)
> -	return FALSE;
> +	return false;
>  
>      g_hash_table_insert (ctx->addresses, key, list);
>  
> -    return FALSE;
> +    return false;
>  }
>  
>  static void
> @@ -363,7 +363,7 @@ print_mailbox (const search_context_t *ctx, const mailbox_t *mailbox)
>  
>      /* name_addr has the name part quoted if necessary. Compare
>       * 'John Doe <john at doe.com>' vs. '"Doe, John" <john at doe.com>' */
> -    name_addr = internet_address_to_string (ia, FALSE);
> +    name_addr = internet_address_to_string (ia, false);
>  
>      if (format->is_text_printer) {
>  	if (ctx->output & OUTPUT_COUNT) {
> diff --git a/notmuch-setup.c b/notmuch-setup.c
> index 9a66810db385..5304800553cf 100644
> --- a/notmuch-setup.c
> +++ b/notmuch-setup.c
> @@ -187,7 +187,7 @@ notmuch_setup_command (notmuch_config_t *config,
>  					     (const char **)
>  					     other_emails->pdata,
>  					     other_emails->len);
> -    g_ptr_array_free (other_emails, TRUE);
> +    g_ptr_array_free (other_emails, true);
>  
>      prompt ("Top-level directory of your email archive [%s]: ",
>  	    notmuch_config_get_database_path (config));
> @@ -210,7 +210,7 @@ notmuch_setup_command (notmuch_config_t *config,
>  	notmuch_config_set_new_tags (config, (const char **) tags->pdata,
>  				     tags->len);
>  
> -	g_ptr_array_free (tags, TRUE);
> +	g_ptr_array_free (tags, true);
>      }
>  
>  
> @@ -227,7 +227,7 @@ notmuch_setup_command (notmuch_config_t *config,
>  						(const char **) tags->pdata,
>  						tags->len);
>  
> -	g_ptr_array_free (tags, TRUE);
> +	g_ptr_array_free (tags, true);
>      }
>  
>      if (notmuch_config_save (config))
> diff --git a/notmuch-show.c b/notmuch-show.c
> index 3d11a40c6a59..1cfc74652aca 100644
> --- a/notmuch-show.c
> +++ b/notmuch-show.c
> @@ -196,7 +196,7 @@ _is_from_line (const char *line)
>  
>  void
>  format_headers_sprinter (sprinter_t *sp, GMimeMessage *message,
> -			 notmuch_bool_t reply)
> +			 bool reply)
>  {
>      /* Any changes to the JSON or S-Expression format should be
>       * reflected in the file devel/schemata. */
> @@ -283,7 +283,7 @@ show_text_part_content (GMimeObject *part, GMimeStream *stream_out,
>  	return;
>  
>      stream_filter = g_mime_stream_filter_new (stream_out);
> -    crlf_filter = g_mime_filter_crlf_new (FALSE, FALSE);
> +    crlf_filter = g_mime_filter_crlf_new (false, false);
>      g_mime_stream_filter_add(GMIME_STREAM_FILTER (stream_filter),
>  			     crlf_filter);
>      g_object_unref (crlf_filter);
> @@ -305,7 +305,7 @@ show_text_part_content (GMimeObject *part, GMimeStream *stream_out,
>  
>      if (flags & NOTMUCH_SHOW_TEXT_PART_REPLY) {
>  	GMimeFilter *reply_filter;
> -	reply_filter = g_mime_filter_reply_new (TRUE);
> +	reply_filter = g_mime_filter_reply_new (true);
>  	if (reply_filter) {
>  	    g_mime_stream_filter_add (GMIME_STREAM_FILTER (stream_filter),
>  				      reply_filter);
> @@ -350,7 +350,7 @@ do_format_signature_errors (sprinter_t *sp, struct key_map_struct *key_map,
>      for (unsigned int i = 0; i < array_map_len; i++) {
>  	if (errors & key_map[i].bit) {
>  	    sp->map_key (sp, key_map[i].string);
> -	    sp->boolean (sp, TRUE);
> +	    sp->boolean (sp, true);
>  	}
>      }
>  
> @@ -490,7 +490,7 @@ format_part_text (const void *ctx, sprinter_t *sp, mime_node_t *node,
>      GMimeObject *meta = node->envelope_part ?
>  	GMIME_OBJECT (node->envelope_part) : node->part;
>      GMimeContentType *content_type = g_mime_object_get_content_type (meta);
> -    const notmuch_bool_t leaf = GMIME_IS_PART (node->part);
> +    const bool leaf = GMIME_IS_PART (node->part);
>      GMimeStream *stream = params->out_stream;
>      const char *part_type;
>      int i;
> @@ -603,8 +603,8 @@ format_omitted_part_meta_sprinter (sprinter_t *sp, GMimeObject *meta, GMimePart
>  
>  void
>  format_part_sprinter (const void *ctx, sprinter_t *sp, mime_node_t *node,
> -		      notmuch_bool_t output_body,
> -		      notmuch_bool_t include_html)
> +		      bool output_body,
> +		      bool include_html)
>  {
>      /* Any changes to the JSON or S-Expression format should be
>       * reflected in the file devel/schemata. */
> @@ -614,12 +614,12 @@ format_part_sprinter (const void *ctx, sprinter_t *sp, mime_node_t *node,
>  	format_message_sprinter (sp, node->envelope_file);
>  
>  	sp->map_key (sp, "headers");
> -	format_headers_sprinter (sp, GMIME_MESSAGE (node->part), FALSE);
> +	format_headers_sprinter (sp, GMIME_MESSAGE (node->part), false);
>  
>  	if (output_body) {
>  	    sp->map_key (sp, "body");
>  	    sp->begin_list (sp);
> -	    format_part_sprinter (ctx, sp, mime_node_child (node, 0), TRUE, include_html);
> +	    format_part_sprinter (ctx, sp, mime_node_child (node, 0), true, include_html);
>  	    sp->end (sp);
>  	}
>  	sp->end (sp);
> @@ -713,7 +713,7 @@ format_part_sprinter (const void *ctx, sprinter_t *sp, mime_node_t *node,
>  	sp->begin_map (sp);
>  
>  	sp->map_key (sp, "headers");
> -	format_headers_sprinter (sp, GMIME_MESSAGE (node->part), FALSE);
> +	format_headers_sprinter (sp, GMIME_MESSAGE (node->part), false);
>  
>  	sp->map_key (sp, "body");
>  	sp->begin_list (sp);
> @@ -721,7 +721,7 @@ format_part_sprinter (const void *ctx, sprinter_t *sp, mime_node_t *node,
>      }
>  
>      for (i = 0; i < node->nchildren; i++)
> -	format_part_sprinter (ctx, sp, mime_node_child (node, i), TRUE, include_html);
> +	format_part_sprinter (ctx, sp, mime_node_child (node, i), true, include_html);
>  
>      /* Close content structures */
>      for (i = 0; i < nclose; i++)
> @@ -898,8 +898,8 @@ show_messages (void *ctx,
>  	       notmuch_show_params_t *params)
>  {
>      notmuch_message_t *message;
> -    notmuch_bool_t match;
> -    notmuch_bool_t excluded;
> +    bool match;
> +    bool excluded;
>      int next_indent;
>      notmuch_status_t status, res = NOTMUCH_STATUS_SUCCESS;
>  
> @@ -1081,13 +1081,13 @@ notmuch_show_command (notmuch_config_t *config, int argc, char *argv[])
>      sprinter_t *sprinter;
>      notmuch_show_params_t params = {
>  	.part = -1,
> -	.omit_excluded = TRUE,
> -	.output_body = TRUE,
> +	.omit_excluded = true,
> +	.output_body = true,
>      };
>      int format = NOTMUCH_FORMAT_NOT_SPECIFIED;
> -    notmuch_bool_t exclude = TRUE;
> -    notmuch_bool_t entire_thread_set = FALSE;
> -    notmuch_bool_t single_message;
> +    bool exclude = true;
> +    bool entire_thread_set = false;
> +    bool single_message;
>  
>      notmuch_opt_desc_t options[] = {
>  	{ .opt_keyword = &format, .name = "format", .keywords =
> @@ -1118,7 +1118,7 @@ notmuch_show_command (notmuch_config_t *config, int argc, char *argv[])
>  
>      /* decryption implies verification */
>      if (params.crypto.decrypt)
> -	params.crypto.verify = TRUE;
> +	params.crypto.verify = true;
>  
>      /* specifying a part implies single message display */
>      single_message = params.part >= 0;
> @@ -1138,21 +1138,21 @@ notmuch_show_command (notmuch_config_t *config, int argc, char *argv[])
>  	}
>      } else if (format == NOTMUCH_FORMAT_RAW) {
>  	/* raw format only supports single message display */
> -	single_message = TRUE;
> +	single_message = true;
>      }
>  
>      notmuch_exit_if_unsupported_format ();
>  
> -    /* Default is entire-thread = FALSE except for format=json and
> +    /* Default is entire-thread = false except for format=json and
>       * format=sexp. */
>      if (! entire_thread_set &&
>  	(format == NOTMUCH_FORMAT_JSON || format == NOTMUCH_FORMAT_SEXP))
> -	params.entire_thread = TRUE;
> +	params.entire_thread = true;
>  
>      if (!params.output_body) {
>  	if (params.part > 0) {
>  	    fprintf (stderr, "Warning: --body=false is incompatible with --part > 0. Disabling.\n");
> -	    params.output_body = TRUE;
> +	    params.output_body = true;
>  	} else {
>  	    if (format != NOTMUCH_FORMAT_JSON && format != NOTMUCH_FORMAT_SEXP)
>  		fprintf (stderr,
> @@ -1222,9 +1222,9 @@ notmuch_show_command (notmuch_config_t *config, int argc, char *argv[])
>  	    }
>  	}
>  
> -	if (exclude == FALSE) {
> -	    notmuch_query_set_omit_excluded (query, FALSE);
> -	    params.omit_excluded = FALSE;
> +	if (exclude == false) {
> +	    notmuch_query_set_omit_excluded (query, false);
> +	    params.omit_excluded = false;
>  	}
>  
>  	ret = do_show (config, query, formatter, sprinter, &params);
> diff --git a/notmuch-tag.c b/notmuch-tag.c
> index 630efa65399c..05b1837d7c50 100644
> --- a/notmuch-tag.c
> +++ b/notmuch-tag.c
> @@ -194,8 +194,8 @@ notmuch_tag_command (notmuch_config_t *config, int argc, char *argv[])
>      notmuch_database_t *notmuch;
>      struct sigaction action;
>      tag_op_flag_t tag_flags = TAG_FLAG_NONE;
> -    notmuch_bool_t batch = FALSE;
> -    notmuch_bool_t remove_all = FALSE;
> +    bool batch = false;
> +    bool remove_all = false;
>      FILE *input = stdin;
>      const char *input_file_name = NULL;
>      int opt_index;
> @@ -223,7 +223,7 @@ notmuch_tag_command (notmuch_config_t *config, int argc, char *argv[])
>      notmuch_process_shared_options (argv[0]);
>  
>      if (input_file_name) {
> -	batch = TRUE;
> +	batch = true;
>  	input = fopen (input_file_name, "r");
>  	if (input == NULL) {
>  	    fprintf (stderr, "Error opening %s for reading: %s\n",
> diff --git a/notmuch.c b/notmuch.c
> index cc9c34aefb30..02148f2e3bf6 100644
> --- a/notmuch.c
> +++ b/notmuch.c
> @@ -46,7 +46,7 @@ notmuch_command (notmuch_config_t *config, int argc, char *argv[]);
>  static int
>  _help_for (const char *topic);
>  
> -static notmuch_bool_t print_version = FALSE, print_help = FALSE;
> +static bool print_version = false, print_help = false;
>  const char *notmuch_requested_db_uuid = NULL;
>  
>  const notmuch_opt_desc_t notmuch_shared_options [] = {
> @@ -371,13 +371,13 @@ notmuch_command (notmuch_config_t *config,
>   * is).
>   *
>   * Does not return if the external command is found and
> - * executed. Return TRUE if external command is not found. Return
> - * FALSE on errors.
> + * executed. Return true if external command is not found. Return
> + * false on errors.
>   */
> -static notmuch_bool_t try_external_command(char *argv[])
> +static bool try_external_command(char *argv[])
>  {
>      char *old_argv0 = argv[0];
> -    notmuch_bool_t ret = TRUE;
> +    bool ret = true;
>  
>      argv[0] = talloc_asprintf (NULL, "notmuch-%s", old_argv0);
>  
> @@ -389,7 +389,7 @@ static notmuch_bool_t try_external_command(char *argv[])
>      if (errno != ENOENT) {
>  	fprintf (stderr, "Error: Running external command '%s' failed: %s\n",
>  		 argv[0], strerror(errno));
> -	ret = FALSE;
> +	ret = false;
>      }
>  
>      talloc_free (argv[0]);
> diff --git a/sprinter-json.c b/sprinter-json.c
> index 0a077907cd83..c6ec857720d9 100644
> --- a/sprinter-json.c
> +++ b/sprinter-json.c
> @@ -13,14 +13,14 @@ struct sprinter_json {
>      /* A flag to signify that a separator should be inserted in the
>       * output as soon as possible.
>       */
> -    notmuch_bool_t insert_separator;
> +    bool insert_separator;
>  };
>  
>  struct json_state {
>      struct json_state *parent;
>      /* True if nothing has been printed in this aggregate yet.
>       * Suppresses the comma before a value. */
> -    notmuch_bool_t first;
> +    bool first;
>      /* The character that closes the current aggregate. */
>      char close;
>  };
> @@ -37,12 +37,12 @@ json_begin_value (struct sprinter *sp)
>  	    fputc (',', spj->stream);
>  	    if (spj->insert_separator) {
>  		fputc ('\n', spj->stream);
> -		spj->insert_separator = FALSE;
> +		spj->insert_separator = false;
>  	    } else {
>  		fputc (' ', spj->stream);
>  	    }
>  	} else {
> -	    spj->state->first = FALSE;
> +	    spj->state->first = false;
>  	}
>      }
>      return spj;
> @@ -58,7 +58,7 @@ json_begin_aggregate (struct sprinter *sp, char open, char close)
>  
>      fputc (open, spj->stream);
>      state->parent = spj->state;
> -    state->first = TRUE;
> +    state->first = true;
>      state->close = close;
>      spj->state = state;
>  }
> @@ -132,7 +132,7 @@ json_integer (struct sprinter *sp, int val)
>  }
>  
>  static void
> -json_boolean (struct sprinter *sp, notmuch_bool_t val)
> +json_boolean (struct sprinter *sp, bool val)
>  {
>      struct sprinter_json *spj = json_begin_value (sp);
>  
> @@ -154,7 +154,7 @@ json_map_key (struct sprinter *sp, const char *key)
>  
>      json_string (sp, key);
>      fputs (": ", spj->stream);
> -    spj->state->first = TRUE;
> +    spj->state->first = true;
>  }
>  
>  static void
> @@ -167,7 +167,7 @@ json_separator (struct sprinter *sp)
>  {
>      struct sprinter_json *spj = (struct sprinter_json *) sp;
>  
> -    spj->insert_separator = TRUE;
> +    spj->insert_separator = true;
>  }
>  
>  struct sprinter *
> @@ -186,7 +186,7 @@ sprinter_json_create (const void *ctx, FILE *stream)
>  	    .map_key = json_map_key,
>  	    .separator = json_separator,
>  	    .set_prefix = json_set_prefix,
> -	    .is_text_printer = FALSE,
> +	    .is_text_printer = false,
>  	}
>      };
>      struct sprinter_json *res;
> diff --git a/sprinter-sexp.c b/sprinter-sexp.c
> index 08783e11d3bd..6891ea4254f8 100644
> --- a/sprinter-sexp.c
> +++ b/sprinter-sexp.c
> @@ -33,7 +33,7 @@ struct sprinter_sexp {
>  
>      /* A flag to signify that a separator should be inserted in the
>       * output as soon as possible. */
> -    notmuch_bool_t insert_separator;
> +    bool insert_separator;
>  };
>  
>  struct sexp_state {
> @@ -41,7 +41,7 @@ struct sexp_state {
>  
>      /* True if nothing has been printed in this aggregate yet.
>       * Suppresses the space before a value. */
> -    notmuch_bool_t first;
> +    bool first;
>  };
>  
>  /* Helper function to set up the stream to print a value.  If this
> @@ -55,12 +55,12 @@ sexp_begin_value (struct sprinter *sp)
>  	if (! sps->state->first) {
>  	    if (sps->insert_separator) {
>  		fputc ('\n', sps->stream);
> -		sps->insert_separator = FALSE;
> +		sps->insert_separator = false;
>  	    } else {
>  		fputc (' ', sps->stream);
>  	    }
>  	} else {
> -	    sps->state->first = FALSE;
> +	    sps->state->first = false;
>  	}
>      }
>      return sps;
> @@ -76,7 +76,7 @@ sexp_begin_aggregate (struct sprinter *sp)
>  
>      fputc ('(', sps->stream);
>      state->parent = sps->state;
> -    state->first = TRUE;
> +    state->first = true;
>      sps->state = state;
>  }
>  
> @@ -169,7 +169,7 @@ sexp_integer (struct sprinter *sp, int val)
>  }
>  
>  static void
> -sexp_boolean (struct sprinter *sp, notmuch_bool_t val)
> +sexp_boolean (struct sprinter *sp, bool val)
>  {
>      struct sprinter_sexp *sps = sexp_begin_value (sp);
>  
> @@ -202,7 +202,7 @@ sexp_separator (struct sprinter *sp)
>  {
>      struct sprinter_sexp *sps = (struct sprinter_sexp *) sp;
>  
> -    sps->insert_separator = TRUE;
> +    sps->insert_separator = true;
>  }
>  
>  struct sprinter *
> @@ -221,7 +221,7 @@ sprinter_sexp_create (const void *ctx, FILE *stream)
>  	    .map_key = sexp_map_key,
>  	    .separator = sexp_separator,
>  	    .set_prefix = sexp_set_prefix,
> -	    .is_text_printer = FALSE,
> +	    .is_text_printer = false,
>  	}
>      };
>      struct sprinter_sexp *res;
> diff --git a/sprinter-text.c b/sprinter-text.c
> index 7779488f99a3..648b54b1e886 100644
> --- a/sprinter-text.c
> +++ b/sprinter-text.c
> @@ -21,7 +21,7 @@ struct sprinter_text {
>      /* A flag to indicate if this is the first tag. Used in list of tags
>       * for summary.
>       */
> -    notmuch_bool_t first_tag;
> +    bool first_tag;
>  };
>  
>  static void
> @@ -52,7 +52,7 @@ text_integer (struct sprinter *sp, int val)
>  }
>  
>  static void
> -text_boolean (struct sprinter *sp, notmuch_bool_t val)
> +text_boolean (struct sprinter *sp, bool val)
>  {
>      struct sprinter_text *sptxt = (struct sprinter_text *) sp;
>  
> @@ -128,7 +128,7 @@ sprinter_text_create (const void *ctx, FILE *stream)
>  	    .map_key = text_map_key,
>  	    .separator = text_separator,
>  	    .set_prefix = text_set_prefix,
> -	    .is_text_printer = TRUE,
> +	    .is_text_printer = true,
>  	},
>      };
>      struct sprinter_text *res;
> diff --git a/sprinter.h b/sprinter.h
> index f859672f8b3f..9d2e9b6f7140 100644
> --- a/sprinter.h
> +++ b/sprinter.h
> @@ -1,7 +1,7 @@
>  #ifndef NOTMUCH_SPRINTER_H
>  #define NOTMUCH_SPRINTER_H
>  
> -/* Necessary for notmuch_bool_t */
> +/* Necessary for bool */
>  #include "notmuch-client.h"
>  
>  /* Structure printer interface. This is used to create output
> @@ -34,7 +34,7 @@ typedef struct sprinter {
>      void (*string) (struct sprinter *, const char *);
>      void (*string_len) (struct sprinter *, const char *, size_t);
>      void (*integer) (struct sprinter *, int);
> -    void (*boolean) (struct sprinter *, notmuch_bool_t);
> +    void (*boolean) (struct sprinter *, bool);
>      void (*null) (struct sprinter *);
>  
>      /* Print the key of a map's key/value pair. The char * must be UTF-8
> @@ -58,7 +58,7 @@ typedef struct sprinter {
>  
>      /* True if this is the special-cased plain text printer.
>       */
> -    notmuch_bool_t is_text_printer;
> +    bool is_text_printer;
>  } sprinter_t;
>  
>  
> diff --git a/tag-util.c b/tag-util.c
> index d9fca7b832fd..1837b1aeafa3 100644
> --- a/tag-util.c
> +++ b/tag-util.c
> @@ -7,7 +7,7 @@
>  
>  struct _tag_operation_t {
>      const char *tag;
> -    notmuch_bool_t remove;
> +    bool remove;
>  };
>  
>  struct _tag_op_list_t {
> @@ -35,7 +35,7 @@ line_error (tag_parse_status_t status,
>  }
>  
>  const char *
> -illegal_tag (const char *tag, notmuch_bool_t remove)
> +illegal_tag (const char *tag, bool remove)
>  {
>      if (*tag == '\0' && ! remove)
>  	return "empty tag forbidden";
> @@ -84,7 +84,7 @@ parse_tag_line (void *ctx, char *line,
>  
>      /* Parse tags. */
>      while ((tok = strtok_len (tok + tok_len, " ", &tok_len)) != NULL) {
> -	notmuch_bool_t remove;
> +	bool remove;
>  	char *tag;
>  
>  	/* Optional explicit end of tags marker. */
> @@ -168,7 +168,7 @@ parse_tag_command_line (void *ctx, int argc, char **argv,
>  	if (argv[i][0] != '+' && argv[i][0] != '-')
>  	    break;
>  
> -	notmuch_bool_t is_remove = argv[i][0] == '-';
> +	bool is_remove = argv[i][0] == '-';
>  	const char *msg;
>  
>  	msg = illegal_tag (argv[i] + 1, is_remove);
> @@ -215,7 +215,7 @@ makes_changes (notmuch_message_t *message,
>      size_t i;
>  
>      notmuch_tags_t *tags;
> -    notmuch_bool_t changes = FALSE;
> +    bool changes = false;
>  
>      /* First, do we delete an existing tag? */
>      for (tags = notmuch_message_get_tags (message);
> @@ -239,11 +239,11 @@ makes_changes (notmuch_message_t *message,
>      notmuch_tags_destroy (tags);
>  
>      if (changes)
> -	return TRUE;
> +	return true;
>  
>      /* Now check for adding new tags */
>      for (i = 0; i < list->count; i++) {
> -	notmuch_bool_t exists = FALSE;
> +	bool exists = false;
>  
>  	if (list->ops[i].remove)
>  	    continue;
> @@ -253,7 +253,7 @@ makes_changes (notmuch_message_t *message,
>  	     notmuch_tags_move_to_next (tags)) {
>  	    const char *cur_tag = notmuch_tags_get (tags);
>  	    if (strcmp (cur_tag, list->ops[i].tag) == 0) {
> -		exists = TRUE;
> +		exists = true;
>  		break;
>  	    }
>  	}
> @@ -264,9 +264,9 @@ makes_changes (notmuch_message_t *message,
>  	 * but this is OK from a correctness point of view
>  	 */
>  	if (! exists)
> -	    return TRUE;
> +	    return true;
>      }
> -    return FALSE;
> +    return false;
>  
>  }
>  
> @@ -359,7 +359,7 @@ tag_op_list_create (void *ctx)
>  int
>  tag_op_list_append (tag_op_list_t *list,
>  		    const char *tag,
> -		    notmuch_bool_t remove)
> +		    bool remove)
>  {
>      /* Make room if current array is full.  This should be a fairly
>       * rare case, considering the initial array size.
> @@ -387,7 +387,7 @@ tag_op_list_append (tag_op_list_t *list,
>   *   Is the i'th tag operation a remove?
>   */
>  
> -notmuch_bool_t
> +bool
>  tag_op_list_isremove (const tag_op_list_t *list, size_t i)
>  {
>      assert (i < list->count);
> diff --git a/tag-util.h b/tag-util.h
> index 8a4074ce168f..a2f0ddfaa280 100644
> --- a/tag-util.h
> +++ b/tag-util.h
> @@ -99,7 +99,7 @@ parse_tag_command_line (void *ctx, int argc, char **argv,
>   *	   explanatory message otherwise.
>   */
>  const char *
> -illegal_tag (const char *tag, notmuch_bool_t remove);
> +illegal_tag (const char *tag, bool remove);
>  
>  /*
>   * Create an empty list of tag operations
> @@ -111,14 +111,14 @@ tag_op_list_t *
>  tag_op_list_create (void *ctx);
>  
>  /*
> - * Add a tag operation (delete iff remove == TRUE) to a list.
> + * Add a tag operation (delete iff remove == true) to a list.
>   * The list is expanded as necessary.
>   */
>  
>  int
>  tag_op_list_append (tag_op_list_t *list,
>  		    const char *tag,
> -		    notmuch_bool_t remove);
> +		    bool remove);
>  
>  /*
>   * Apply a list of tag operations, in order, to a given message.
> @@ -157,7 +157,7 @@ tag_op_list_tag (const tag_op_list_t *list, size_t i);
>   *   Is the i'th tag operation a remove?
>   */
>  
> -notmuch_bool_t
> +bool
>  tag_op_list_isremove (const tag_op_list_t *list, size_t i);
>  
>  #endif
> diff --git a/test/arg-test.c b/test/arg-test.c
> index 64751df4ada1..7aff825507a5 100644
> --- a/test/arg-test.c
> +++ b/test/arg-test.c
> @@ -12,9 +12,9 @@ int main(int argc, char **argv){
>      const char *pos_arg1=NULL;
>      const char *pos_arg2=NULL;
>      const char *string_val=NULL;
> -    notmuch_bool_t bool_val = FALSE;
> -    notmuch_bool_t fl_set = FALSE, int_set = FALSE, bool_set = FALSE,
> -	kw_set = FALSE, string_set = FALSE, pos1_set = FALSE, pos2_set = FALSE;
> +    bool bool_val = false;
> +    bool fl_set = false, int_set = false, bool_set = false,
> +	kw_set = false, string_set = false, pos1_set = false, pos2_set = false;
>  
>      notmuch_opt_desc_t parent_options[] = {
>  	{ .opt_flags = &fl_val, .name = "flag", .present = &fl_set, .keywords =
> diff --git a/test/hex-xcode.c b/test/hex-xcode.c
> index 221ccdb90843..33046e9a5178 100644
> --- a/test/hex-xcode.c
> +++ b/test/hex-xcode.c
> @@ -16,7 +16,7 @@ enum direction {
>      DECODE
>  };
>  
> -static int inplace = FALSE;
> +static bool inplace = false;
>  
>  static int
>  xcode (void *ctx, enum direction dir, char *in, char **buf_p, size_t *size_p)
> @@ -45,7 +45,7 @@ main (int argc, char **argv)
>  {
>  
>      int dir = DECODE;
> -    notmuch_bool_t omit_newline = FALSE;
> +    bool omit_newline = false;
>  
>      notmuch_opt_desc_t options[] = {
>  	{ .opt_keyword = &dir, .name = "direction", .keywords =
> @@ -71,7 +71,7 @@ main (int argc, char **argv)
>      char *buffer = NULL;
>      size_t buf_size = 0;
>  
> -    notmuch_bool_t read_stdin = TRUE;
> +    bool read_stdin = true;
>  
>      for (; opt_index < argc; opt_index++) {
>  
> @@ -82,7 +82,7 @@ main (int argc, char **argv)
>  	if (! omit_newline)
>  	    putchar ('\n');
>  
> -	read_stdin = FALSE;
> +	read_stdin = false;
>      }
>  
>      if (! read_stdin)
> diff --git a/test/random-corpus.c b/test/random-corpus.c
> index e3b855e1efd8..9272afda8bed 100644
> --- a/test/random-corpus.c
> +++ b/test/random-corpus.c
> @@ -179,7 +179,7 @@ main (int argc, char **argv)
>  	exit (1);
>      }
>  
> -    config = notmuch_config_open (ctx, config_path, FALSE);
> +    config = notmuch_config_open (ctx, config_path, false);
>      if (config == NULL)
>  	return 1;
>  
> -- 
> 2.11.0
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list