Re: Tagging and selectrum+prescient
Sorry for this empty messaging happening again. :( There's some problem in my mail configuration. I'm onto fixing it. I just wrote to let you know about this question I wrote for the prescient software community [0], in case someone is interested or has some clues about it. Regards, [0] https://github.com/raxod502/prescient.el/issues/115 On Wed Oct 13, 2021 at 6:27 PM CEST, inwit wrote: > > ___ > notmuch mailing list -- notmuch@notmuchmail.org > To unsubscribe send an email to notmuch-le...@notmuchmail.org ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Tagging and selectrum+prescient
___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [RFC 3/5] lib: remove commented out NOTMUCH_DEPRECATED()
On Wed, 13 Oct 2021, David Bremner wrote: > Jani Nikula writes: > >> Having comments between the documentation comment and the object being >> documented throws Hawkmoth off. Remove the placeholder >> NOTMUCH_DEPRECATED() comments. >> >> --- >> >> They were added in commit e5f3c3ed5024 ("lib: add stub for >> notmuch_database_open_with_config"); maybe the comment markers should >> be removed instead? > > Yes, those should be uncommented, I think. Thanks, sent separately. Though it does give deprecation warnings now. BR, Jani. ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [RFC 2/5] lib: remove enum names from typedefs
On Wed, 13 Oct 2021, Tomi Ollila wrote: > On Wed, Oct 13 2021, David Bremner wrote: > >> Jani Nikula writes: >> >>> Given the named enum typedef: >>> >>> typedef enum _name_t { ... } name_t; >>> >>> Hawkmoth uses _name_t as the name for documentation. Typedef the >>> anonymous enum: >>> >>> typedef enum { ... } name_t; >>> >>> instead to use name_t. We don't really need the enum names for >>> anything, and not all of the enum typedefs have them anyway. >>> --- >> I guess that change would be fine independent of the rest? > > I had the same thought. Added more typedef enums outside of notmuch.h, removed hawkmoth references, and resent separately. BR, Jani. ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Emacs notmuch extracts text attachments as if they had Windows (CRLF) encoding
Hi, I have stumbled upon strange behavior of emacs-notmuch. When I extract (some?) plain text attachments into files using notmuch-show-save-part (by pressing ".s"), the file they end up in has Windows encoding of line ends (CRLF) even though both the machine used to send and receive the email are Linux ones. I can reproduce the issue with the attached example email. Emacs notmuch extracts the attachment into a windows encoding file while mutt or metamail does not. Can anyone else reproduce this behavior? Any ideas how to fix it? Thanks a lot, Martin 1633684554.29424_1.virgil.gz Description: 1633684554.29424_1.virgil.gz ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
[PATCH] lib: fix commented out NOTMUCH_DEPRECATED()
Remove the comment markers from the placeholder NOTMUCH_DEPRECATED(), added in commit e5f3c3ed5024 ("lib: add stub for notmuch_database_open_with_config"). --- This does lead to deprecation warnings now. --- lib/notmuch.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/notmuch.h b/lib/notmuch.h index 546643e80cbb..b2227daef6ad 100644 --- a/lib/notmuch.h +++ b/lib/notmuch.h @@ -323,7 +323,7 @@ typedef enum { * config_path="" and error_message=NULL * @deprecated Deprecated as of libnotmuch 5.4 (notmuch 0.32) */ -/* NOTMUCH_DEPRECATED(5, 4) */ +NOTMUCH_DEPRECATED(5, 4) notmuch_status_t notmuch_database_open (const char *path, notmuch_database_mode_t mode, @@ -335,7 +335,7 @@ notmuch_database_open (const char *path, * @deprecated Deprecated as of libnotmuch 5.4 (notmuch 0.32) * */ -/* NOTMUCH_DEPRECATED(5, 4) */ +NOTMUCH_DEPRECATED(5, 4) notmuch_status_t notmuch_database_open_verbose (const char *path, notmuch_database_mode_t mode, -- 2.30.2 ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
[PATCH 2/2] cli: remove enum names from typedefs
There are some enum typedefs with the enum name: typedef enum _name_t { ... } name_t; We don't need or use the enum names _name_t for anything, and not all of the enum typedefs have them. We have the typedefs specifically to use the typedef name. Use the anonymous enum in the typedefs: typedef enum { ... } name_t; --- notmuch-client.h | 4 ++-- util/hex-escape.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/notmuch-client.h b/notmuch-client.h index 96d81166d2f5..82ae44e429fc 100644 --- a/notmuch-client.h +++ b/notmuch-client.h @@ -426,13 +426,13 @@ mime_node_seek_dfs (mime_node_t *node, int n); const _notmuch_message_crypto_t * mime_node_get_message_crypto_status (mime_node_t *node); -typedef enum dump_formats { +typedef enum { DUMP_FORMAT_AUTO, DUMP_FORMAT_BATCH_TAG, DUMP_FORMAT_SUP } dump_format_t; -typedef enum dump_includes { +typedef enum { DUMP_INCLUDE_TAGS = 1, DUMP_INCLUDE_CONFIG= 2, DUMP_INCLUDE_PROPERTIES= 4 diff --git a/util/hex-escape.h b/util/hex-escape.h index 8703334cda8d..83a4c6f146fe 100644 --- a/util/hex-escape.h +++ b/util/hex-escape.h @@ -5,7 +5,7 @@ extern "C" { #endif -typedef enum hex_status { +typedef enum { HEX_SUCCESS = 0, HEX_SYNTAX_ERROR, HEX_OUT_OF_MEMORY -- 2.30.2 ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
[PATCH 1/2] lib: remove enum names from typedefs
There are some enum typedefs with the enum name: typedef enum _name_t { ... } name_t; We don't need or use the enum names _name_t for anything, and not all of the enum typedefs have them. We have the typedefs specifically to use the typedef name. Use the anonymous enum in the typedefs: typedef enum { ... } name_t; --- lib/database-private.h | 2 +- lib/notmuch-private.h | 4 ++-- lib/notmuch.h | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/database-private.h b/lib/database-private.h index 8b9d67feec70..7a0450515f44 100644 --- a/lib/database-private.h +++ b/lib/database-private.h @@ -160,7 +160,7 @@ operator&= (_notmuch_features &a, _notmuch_features b) /* * Configuration options for xapian database fields */ -typedef enum notmuch_field_flags { +typedef enum { NOTMUCH_FIELD_NO_FLAGS = 0, NOTMUCH_FIELD_EXTERNAL = 1 << 0, NOTMUCH_FIELD_PROBABILISTIC = 1 << 1, diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h index 093c29b1bbc5..e9ce74a4b178 100644 --- a/lib/notmuch-private.h +++ b/lib/notmuch-private.h @@ -121,7 +121,7 @@ typedef enum { */ #define NOTMUCH_MESSAGE_ID_MAX (200 - sizeof (NOTMUCH_METADATA_THREAD_ID_PREFIX)) -typedef enum _notmuch_private_status { +typedef enum { /* First, copy all the public status values. */ NOTMUCH_PRIVATE_STATUS_SUCCESS = NOTMUCH_STATUS_SUCCESS, NOTMUCH_PRIVATE_STATUS_OUT_OF_MEMORY = NOTMUCH_STATUS_OUT_OF_MEMORY, @@ -173,7 +173,7 @@ typedef enum _notmuch_private_status { (notmuch_status_t) private_status) /* Flags shared by various lookup functions. */ -typedef enum _notmuch_find_flags { +typedef enum { /* Lookup without creating any documents. This is the default * behavior. */ NOTMUCH_FIND_LOOKUP = 0, diff --git a/lib/notmuch.h b/lib/notmuch.h index 546643e80cbb..ca5878a949bc 100644 --- a/lib/notmuch.h +++ b/lib/notmuch.h @@ -112,7 +112,7 @@ typedef int notmuch_bool_t; * A zero value (NOTMUCH_STATUS_SUCCESS) indicates that the function * completed without error. Any other value indicates an error. */ -typedef enum _notmuch_status { +typedef enum { /** * No error occurred. */ @@ -1678,7 +1678,7 @@ notmuch_message_reindex (notmuch_message_t *message, /** * Message flags. */ -typedef enum _notmuch_message_flag { +typedef enum { NOTMUCH_MESSAGE_FLAG_MATCH, NOTMUCH_MESSAGE_FLAG_EXCLUDED, @@ -2524,7 +2524,7 @@ notmuch_config_list_destroy (notmuch_config_list_t *config_list); /** * Configuration keys known to libnotmuch */ -typedef enum _notmuch_config_key { +typedef enum { NOTMUCH_CONFIG_FIRST, NOTMUCH_CONFIG_DATABASE_PATH = NOTMUCH_CONFIG_FIRST, NOTMUCH_CONFIG_MAIL_ROOT, -- 2.30.2 ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [RFC 0/5] doc: api docs overhaul
Jani Nikula writes: > > I'm afraid I don't have an answer to that. What do projects do when they > depend on packages from PyPI? It's a kind of chicken and egg problem. I would say python projects would happily _only_ depend on pypi (witness the requests to package notmuch for pypi) but we're not such a project. > > I saw that you made the Debian packaging request; many thanks! But is > that enough? No, it's actually relatively unlikely that someone will volunteer to package it. I could do it myself, but I'd be happier if someone more up on the latest python-in-debian practices would handle it. > What is your stance on imposing new dependencies on other > distros? > Well I just did it with sfsexp. My reasoning was that it was for an optional (for now) new feature, so people were no worse off than before. It's not quite the same thing here, since there is some API docs now. I don't know how many people refer to them. A very rough estimate from Debian [1] is that about 10% of the people who install notmuch also install libnotmuch-dev, which contains the API docs. I guess most people would be happy with a Web version of the API docs, which we don't do now, but which would automagically happen if it was in the sphinx doctree. [1]: https://qa.debian.org/popcon.php?package=notmuch ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [RFC 0/5] doc: api docs overhaul
On Wed, 13 Oct 2021, David Bremner wrote: > Jani Nikula writes: > >> The main downside is that Hawkmoth is not available via distro >> packaging, only PyPI. > > I guess another issue is the new dependency on Clang + > bindings. Although maybe that's a fair trade for dropping doxygen. Doxygen already depends on libclang: $ dpkg -s doxygen | grep "^Depends:" Depends: libc6 (>= 2.29), libclang-cpp11 (>= 1:11.0.1), libclang1-11 (>= 1:5.0~svn298832-1~), libgcc-s1 (>= 3.0), libllvm11 (>= 1:9~svn298832-1~), libstdc++6 (>= 7), libxapian30 (>= 1.4.14~) The difference is that the libclang python bindings depend on the dev packages: $ dpkg -s python3-clang-11 | grep "^Depends:" Depends: python3, libclang-11-dev $ dpkg -s libclang-11-dev | grep "^Depends:" Depends: libstdc++-10-dev, libgcc-10-dev, libobjc-10-dev, libclang1-11 (= 1:11.0.1-2), libclang-common-11-dev (= 1:11.0.1-2) I think you're probably in a better position to judge the relative sizes of the dependency trees than me, but the libclang dependency is already there with Doxygen. The Python parts are pretty small, it's the dev packages vs. Doxygen that makes the difference. > What would be the plan for transition while distros package hawkmoth? > Embed it in notmuch? Ship the compiled docs? I'm afraid I don't have an answer to that. What do projects do when they depend on packages from PyPI? It's a kind of chicken and egg problem. I saw that you made the Debian packaging request; many thanks! But is that enough? What is your stance on imposing new dependencies on other distros? BR, Jani. ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [RFC 2/5] lib: remove enum names from typedefs
On Wed, Oct 13 2021, David Bremner wrote: > Jani Nikula writes: > >> Given the named enum typedef: >> >> typedef enum _name_t { ... } name_t; >> >> Hawkmoth uses _name_t as the name for documentation. Typedef the >> anonymous enum: >> >> typedef enum { ... } name_t; >> >> instead to use name_t. We don't really need the enum names for >> anything, and not all of the enum typedefs have them anyway. >> --- > I guess that change would be fine independent of the rest? I had the same thought. Tomi ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [RFC 1/5] doc: replace doxygen with hawkmoth sphinx extension for api docs
Jani Nikula writes: > > -have_doxygen=0 > -if [ $WITH_API_DOCS = "1" ] ; then > -printf "Checking if doxygen is available... " > -if command -v doxygen > /dev/null; then > - printf "Yes.\n" > - have_doxygen=1 > -else > - printf "No (so will not install api docs)\n" > -fi > -fi > - I guess it's an important point that missing hawkmoth only blocks building the api docs, not all of the docs. d ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [RFC 3/5] lib: remove commented out NOTMUCH_DEPRECATED()
Jani Nikula writes: > Having comments between the documentation comment and the object being > documented throws Hawkmoth off. Remove the placeholder > NOTMUCH_DEPRECATED() comments. > > --- > > They were added in commit e5f3c3ed5024 ("lib: add stub for > notmuch_database_open_with_config"); maybe the comment markers should > be removed instead? Yes, those should be uncommented, I think. d ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [RFC 2/5] lib: remove enum names from typedefs
Jani Nikula writes: > Given the named enum typedef: > > typedef enum _name_t { ... } name_t; > > Hawkmoth uses _name_t as the name for documentation. Typedef the > anonymous enum: > > typedef enum { ... } name_t; > > instead to use name_t. We don't really need the enum names for > anything, and not all of the enum typedefs have them anyway. > --- I guess that change would be fine independent of the rest? ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Bug#996357: RFP: python3-hawkmoth -- minimalistic Sphinx C Domain autodoc directive extension
Package: wnpp Severity: wishlist X-Debbugs-Cc: notmuch@notmuchmail.org -BEGIN PGP SIGNED MESSAGE- Hash: SHA256 * Package name: python3-hawkmoth Version : 0.9.0 Upstream Author : Jani Nikula * URL : https://github.com/jnikula/hawkmoth * License : BSD 2 clause Programming Lang: Python Description : minimalistic Sphinx C Domain autodoc directive extension Incorporate formatted C source code comments written in reStructuredText into Sphinx based documentation. Hawkmoth focuses on simplicity of design, implementation and use. Roughly speaking, it's replacement for Doxygen that integrates nicer with documentation written in Sphinx. It seems useful in general. We're considering using it in notmuch. -BEGIN PGP SIGNATURE- iQIzBAEBCAAdFiEEkiyHYXwaY0SiY6fqA0U5G1WqFSEFAmFmz1kACgkQA0U5G1Wq FSFVkg//Z+n9KDTUvMeZNQBSKWFOmoNYiYy1M6lM0S03Nzj73S9iaW3x5TWN21oo 81LwE3obciclnI49E2arychNYFHbIqL9NfkhxLAB15ngJLdo1/UmICLJqzeHNnhr 1/rEqnXs/kpzqQVh3IfFI9t6NwvmGb1iOgPv8RWzOl4BuytrIjuNBHYj7OYX4JKd BZHAM7aWY4Becnn4r8rjt+iWiIhbdZbB5ozIFtEXQgcs4kCmJPY6kjsl57eFJQMh Y+OUInLxB1mLGRcBRRVXHaFPSvkO3fjzl8YQmre5LBzYkFKwykKAL8OMIwMabBor 5/hPUVxHBkbnX4+B54G7J2esISrRCaRRGL9CIHeebmwz+lX0ugK0j4H7HlTqW7Z8 cGM9HW5pGN2CZGUukJNbLS+r6pca2l0cDP3NjFgI6GDdEmq4mWe1PQxmHIqN6XWI tnH18GoApKayMAhzQaZoxMGsSry15xqowl4mypOvm+z2elcXkJm/afreFv7mCqD0 3PZokDvN5SqsrbDrmkHXr0cqwq5FjeC9HO0HlWAhQ/53i/bp35Yqg/RizcTXwgup sm7AFMCbp60DxvjGVKUzskdV8GypvO18oMMle+KaQSTDwbJ0oqe8vAECY3Og14/1 WdInOBdRe16Zs/zP+2bWe0jsiVC6EXoutQAoKAeihev5E1c56S0= =/KZP -END PGP SIGNATURE- ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [RFC 0/5] doc: api docs overhaul
Jani Nikula writes: > The main downside is that Hawkmoth is not available via distro > packaging, only PyPI. I guess another issue is the new dependency on Clang + bindings. Although maybe that's a fair trade for dropping doxygen. What would be the plan for transition while distros package hawkmoth? Embed it in notmuch? Ship the compiled docs? d ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [RFC 1/5] doc: replace doxygen with hawkmoth sphinx extension for api docs
On Wed, 13 Oct 2021, Tomi Ollila wrote: > Interesting stuff... > > On Tue, Oct 12 2021, Jani Nikula wrote: > >> Hawkmoth is a Sphinx extension for incorporating documentation >> comments from C source to Sphinx. For Notmuch API documentation needs, >> Doxygen is overkill, and Hawkmoth also directly integrates with >> Sphinx. > > // stuff deleted // > >> + >> # -- Options for HTML output -- >> >> # The theme to use for HTML and HTML Help pages. See the documentation for >> @@ -172,6 +178,13 @@ man_pages = [ >> [notmuch_authors], 1), >> ] >> >> +if tags.has('WITH_API_DOCS'): >> +man_pages += [ >> +('man3/notmuch', 'notmuch', >> + u'notmuch library', > > öld stuff...??? (the u'' i mean) :O Yeah, it's still used throughout in man_pages, decided to follow suit instead of making that cleanup now. BR, Jani. > > Tomi > > >> + [notmuch_authors], 3), >> +] >> + >> # If true, show URL addresses after external links. >> #man_show_urls = False ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org