[PATCH v2 0/9] FreeBSD Support Patches
Mike Kelly writes: > Hi, > > Here's a second attempt at adding FreeBSD support. Hopefully most of the > concerns raised about the initial patch set have been addressed. I pushed (finally) patches 1,2,4,5,6 and 8. The others either no longer apply, or there were some outstanding issues in the discussion on the list. d
[PATCH] test: make test_expect_equal_file() arguments flexible
Dmitry Kurochkin writes: > Before the change, test_expect_equal_file() function treated the first > argument as "actual output file" and the second argument as "expected > output file". When the test fails, the files are copied for later > inspection. The first files was copied to "$testname.output" and the > second file to "$testname.expected". The argument order for > test_expect_equal_file() is often wrong which results in confusing > diff output and incorrectly named files. pushed, d
[PATCH] emacs: correct `notmuch-search-mode's docstring wrt `notmuch-search-tag-all'
Pieter Praet writes: > * emacs/notmuch.el (notmuch-search-mode): > `notmuch-search-tag-all' currently uses the current query string > instead of `notmuch-search-find-thread-id-region-search', which > might cause a race condition. pushed, finally. d
[PATCH v2] cli: make the command line parser's errors more informative.
Mark Walters writes: > Previously, the cli parser was a little erratic in what errors it > reported and would fail silently in many cases (for example, when no > argument was passed to an integer option). This was particularly > annoying as the user could not (easily) tell whether the command > failed or just there were no search results. pushed, d
[PATCH 1/3] lib: fix NULL checks for filenames iterators
Sascha Silbe writes: > The API documentation (notmuch.h) states that the parameter may be NULL, > but the implementation only checked the current element, potentially > dereferencing a NULL pointer in the process. > Pushed this one patch. d
[PATCH 2/5] emacs: make notmuch-show return its buffer
Mark Walters writes: > notmuch-pick uses the returned buffer to try and make sure it does not > close the wrong buffer. Pushed this one patch, d
[PATCH] contrib/nmbug/nmbug-status: if realname empty, use part of mailaddr
Tomi Ollila writes: > When the From: field in patch email does not contain 'realname' > field, the patch listing does not show anything as patch sender. > In this case use the part before '@' in mail address as the sender > identification in patch listing. pushed, d
Bug (?) difference 24.1 and 23.3.1
On 31 August 2012 15:45, Daniel Bergey wrote: > > Now I just have to get used to pictures in my email > I understand how disturbing that might be. Welcome to 2012... at least it's not full html5 & css3 animations. Maybe emacs will support that in couple of years. I have customized that functions with an empty one, so I don't see any pictures, but all of my email works. Regards, Dmitrijs.
Re: [PATCH v2 0/9] FreeBSD Support Patches
Mike Kelly writes: > Hi, > > Here's a second attempt at adding FreeBSD support. Hopefully most of the > concerns raised about the initial patch set have been addressed. I pushed (finally) patches 1,2,4,5,6 and 8. The others either no longer apply, or there were some outstanding issues in the discussion on the list. d ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH] test: make test_expect_equal_file() arguments flexible
Dmitry Kurochkin writes: > Before the change, test_expect_equal_file() function treated the first > argument as "actual output file" and the second argument as "expected > output file". When the test fails, the files are copied for later > inspection. The first files was copied to "$testname.output" and the > second file to "$testname.expected". The argument order for > test_expect_equal_file() is often wrong which results in confusing > diff output and incorrectly named files. pushed, d ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH] emacs: correct `notmuch-search-mode's docstring wrt `notmuch-search-tag-all'
Pieter Praet writes: > * emacs/notmuch.el (notmuch-search-mode): > `notmuch-search-tag-all' currently uses the current query string > instead of `notmuch-search-find-thread-id-region-search', which > might cause a race condition. pushed, finally. d ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH v2] cli: make the command line parser's errors more informative.
Mark Walters writes: > Previously, the cli parser was a little erratic in what errors it > reported and would fail silently in many cases (for example, when no > argument was passed to an integer option). This was particularly > annoying as the user could not (easily) tell whether the command > failed or just there were no search results. pushed, d ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH 1/3] lib: fix NULL checks for filenames iterators
Sascha Silbe writes: > The API documentation (notmuch.h) states that the parameter may be NULL, > but the implementation only checked the current element, potentially > dereferencing a NULL pointer in the process. > Pushed this one patch. d ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH 2/5] emacs: make notmuch-show return its buffer
Mark Walters writes: > notmuch-pick uses the returned buffer to try and make sure it does not > close the wrong buffer. Pushed this one patch, d ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH] contrib/nmbug/nmbug-status: if realname empty, use part of mailaddr
Tomi Ollila writes: > When the From: field in patch email does not contain 'realname' > field, the patch listing does not show anything as patch sender. > In this case use the part before '@' in mail address as the sender > identification in patch listing. pushed, d ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: Bug (?) difference 24.1 and 23.3.1
On 31 August 2012 15:45, Daniel Bergey wrote: > > Now I just have to get used to pictures in my email > I understand how disturbing that might be. Welcome to 2012... at least it's not full html5 & css3 animations. Maybe emacs will support that in couple of years. I have customized that functions with an empty one, so I don't see any pictures, but all of my email works. Regards, Dmitrijs. ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
[PATCH V2 2/2] {., man}/Makefile.local: edit/remove release-checks.sh related targets
Use new target release-checks in place of verify-version-debian, verify-version-python verify-version-manpage. This target executes devel/release-checks.sh which does all the verifications the three dropped targets did, and some more. --- Makefile.local | 28 man/Makefile.local | 9 + 2 files changed, 5 insertions(+), 32 deletions(-) diff --git a/Makefile.local b/Makefile.local index de984ab..99f1e19 100644 --- a/Makefile.local +++ b/Makefile.local @@ -187,7 +187,7 @@ release-message: verify-source-tree-and-version: verify-no-dirty-code .PHONY: verify-no-dirty-code -verify-no-dirty-code: verify-version-debian verify-version-python verify-version-manpage +verify-no-dirty-code: release-checks ifeq ($(IS_GIT),yes) @printf "Checking that source tree is clean..." ifneq ($(shell git ls-files -m),) @@ -204,29 +204,9 @@ else endif endif -.PHONY: verify-version-debian -verify-version-debian: verify-version-components - @echo -n "Checking that Debian package version is $(VERSION)-1..." - @[ "$(VERSION)-1" = $$(sed '1{ s/).*//; s/.*(//; q; }' debian/changelog) ] || \ - (echo "No." && \ -echo "Please edit version and debian/changelog to have consistent versions." && false) - @echo "Good." - -.PHONY: verify-version-python -verify-version-python: verify-version-components - @echo -n "Checking that python bindings version is $(VERSION)..." - @[ "$(VERSION)" = $$(python -c "execfile('$(PV_FILE)'); print __VERSION__") ] || \ - (echo "No." && \ -echo "Please edit version and $(PV_FILE) to have consistent versions." && false) - @echo "Good." - -.PHONY: verify-version-components -verify-version-components: - @echo -n "Checking that $(VERSION) consists only of digits and periods..." - @echo $(VERSION) | grep -q -x '^[0-9.]*$$' || \ - (echo "No." && \ -echo "Please follow the instructions in RELEASING to choose a version" && false) - @echo "Good." +.PHONY: release-checks +release-checks: + exec devel/release-checks.sh .PHONY: verify-newer verify-newer: diff --git a/man/Makefile.local b/man/Makefile.local index d43a949..72e2a18 100644 --- a/man/Makefile.local +++ b/man/Makefile.local @@ -32,7 +32,7 @@ COMPRESSED_MAN := $(MAN1_GZ) $(MAN5_GZ) $(MAN7_GZ) %.gz: % gzip --stdout $^ > $@ -.PHONY: install-man update-man-versions verify-version-manpage +.PHONY: install-man update-man-versions install-man: $(COMPRESSED_MAN) mkdir -p "$(DESTDIR)$(mandir)/man1" @@ -43,13 +43,6 @@ install-man: $(COMPRESSED_MAN) install -m0644 $(MAN7_GZ) $(DESTDIR)/$(mandir)/man7 cd $(DESTDIR)/$(mandir)/man1 && ln -sf notmuch.1.gz notmuch-setup.1.gz -verify-version-manpage: verify-version-components - @echo -n "Checking that manual page version is $(VERSION)..." - @[ "$(VERSION)" = $$(sed -n '/^[.]TH NOTMUCH 1/{s/.*"Notmuch //;s/".*//p;}' $(MAIN_PAGE)) ] || \ - (echo "No." && \ -echo "Please edit version and notmuch.1 to have consistent versions." && false) - @echo "Good." - update-man-versions: $(MAN_SOURCE) for file in $(MAN_SOURCE); do \ cp $$file $$file.bak ; \ -- 1.7.11.4
[PATCH V2 1/2] devel: add release-checks.sh
Currently Makefile.local contains some machine executable release checking functionality. This is unnecessarily complex way to do it: Multiline script functionality is hard to embed -- from Makefile point of view there is just one line split using backslashes and every line ends with ';'. It is hard to maintain such "script" when it gets longer. The embedded script does not fail as robust as separate script; set -eu could be added to get same level of robustness -- but the provided Bourne Again Shell (bash) script exceeds this with 'set -o pipefail', making the script to fail when any of the commands in pipeline fails (and not just the last one). Checking for release is done very seldom compared to all other use; The whole Makefile.local gets simpler and easier to grasp when most release checking targets are removed. When release checking is done, the steps are executed sequentially; nothing is allowed to be skipped due to some satisfied dependency. --- This patch obsoletes (now moreinfo) patch in id:"1344456107-19308-1-git-send-email-tomi.ollila at iki.fi" devel/release-checks.sh | 211 1 file changed, 211 insertions(+) create mode 100755 devel/release-checks.sh diff --git a/devel/release-checks.sh b/devel/release-checks.sh new file mode 100755 index 000..7dadefa --- /dev/null +++ b/devel/release-checks.sh @@ -0,0 +1,211 @@ +#!/usr/bin/env bash + +set -eu +#set -x # or enter bash -x ... on command line + +if [ x"${BASH_VERSION-}" = x ] +then echo + echo "Please execute this script using 'bash' interpreter" + echo + exit 1 +fi + +set -o pipefail # bash feature + +# Avoid locale-specific differences in output of executed commands +LANG=C LC_ALL=C; export LANG LC_ALL + +readonly DEFAULT_IFS="$IFS" + +readonly PV_FILE='bindings/python/notmuch/version.py' + +# Using array here turned out to be unnecessarily complicated +emsgs='' +append_emsg () +{ + emsgs="${emsgs:+$emsgs\n} $1" +} + +for f in ./version debian/changelog NEWS "$PV_FILE" +do + test -f $f || { append_emsg "File '$f' is missing"; continue; } + test -r $f || { append_emsg "File '$f' is unreadable"; continue; } + test -s $f || append_emsg "File '$f' is empty" +done + +if [ -n "$emsgs" ] +then + echo 'Release files problems; fix these and try again:' + echo -e "$emsgs" + exit 1 +fi + +if read VERSION +then + if read rest + thenecho "'version' file contains more than one line" + exit 1 + fi +else + echo "Reading './version' file failed (suprisingly!)" + exit 1 +fi < ./version + +readonly VERSION + +verfail () +{ + echo No. + echo "$@" + echo "Please follow the instructions in RELEASING to choose a version" + exit 1 +} + +echo -n "Checking that '$VERSION' is good with digits and periods... " +if [ -z "${VERSION//[0123456789.]/}" ] # bash feature +then + case $VERSION in + .*) verfail "'$VERSION' begins with a period" ;; + *.) verfail "'$VERSION' ends with a period" ;; + *..*) verfail "'$VERSION' contains two consecutive periods" ;; + *.*)echo Yes. ;; + *) verfail "'$VERSION' is a single number" ;; + esac +else + verfail "'$VERSION' contains other characters than digits and periods" +fi + + +# In the rest of this file, tests collect list of errors to be fixed + +echo -n "Checking that this is Debian package for notmuch... " +read deb_notmuch deb_version rest < debian/changelog +if [ "$deb_notmuch" = 'notmuch' ] +then + echo Yes. +else + echo No. + append_emsg "Package name '$deb_notmuch' is not 'notmuch' in debian/changelog" +fi + +echo -n "Checking that Debian package version is $VERSION-1... " + +if [ "$deb_version" = "($VERSION-1)" ] +then + echo Yes. +else + echo No. + append_emsg "Version '$deb_version' is not '($VERSION-1)' in debian/changelog" +fi + +echo -n "Checking that python bindings version is $VERSION... " +py_version=`python -c "execfile('$PV_FILE'); print __VERSION__"` +if [ "$py_version" = "$VERSION" ] +then + echo Yes. +else + echo No. + append_emsg "Version '$py_version' is not '$VERSION' in $PV_FILE" +fi + +echo -n "Checking that this is Notmuch NEWS... " +read news_notmuch news_version news_date < NEWS +if [ "$news_notmuch" = "Notmuch" ] +then + echo Yes. +else + echo No. + append_emsg "First word '$news_notmuch' is not 'Notmuch' in NEWS file" +fi + +echo -n "Checking that NEWS version is $VERSION... " +if [ "$news_version" = "$VERSION" ] +then + echo Yes. +else + echo No. + append_emsg "Version '$news_version' in NEWS file is not '$VERSION'" +fi + +#eval `date '+year=%Y mon=%m day=%d'` +today0utc=`date --date=0Z +%s` # gnu date feature + +echo -n "Checking that NEWS date is right... " +case $news_date in + '('[2-9][0-9][0-9][0-9]-[01][0-9]-
[PATCH V2 2/2] {., man}/Makefile.local: edit/remove release-checks.sh related targets
Use new target release-checks in place of verify-version-debian, verify-version-python verify-version-manpage. This target executes devel/release-checks.sh which does all the verifications the three dropped targets did, and some more. --- Makefile.local | 28 man/Makefile.local | 9 + 2 files changed, 5 insertions(+), 32 deletions(-) diff --git a/Makefile.local b/Makefile.local index de984ab..99f1e19 100644 --- a/Makefile.local +++ b/Makefile.local @@ -187,7 +187,7 @@ release-message: verify-source-tree-and-version: verify-no-dirty-code .PHONY: verify-no-dirty-code -verify-no-dirty-code: verify-version-debian verify-version-python verify-version-manpage +verify-no-dirty-code: release-checks ifeq ($(IS_GIT),yes) @printf "Checking that source tree is clean..." ifneq ($(shell git ls-files -m),) @@ -204,29 +204,9 @@ else endif endif -.PHONY: verify-version-debian -verify-version-debian: verify-version-components - @echo -n "Checking that Debian package version is $(VERSION)-1..." - @[ "$(VERSION)-1" = $$(sed '1{ s/).*//; s/.*(//; q; }' debian/changelog) ] || \ - (echo "No." && \ -echo "Please edit version and debian/changelog to have consistent versions." && false) - @echo "Good." - -.PHONY: verify-version-python -verify-version-python: verify-version-components - @echo -n "Checking that python bindings version is $(VERSION)..." - @[ "$(VERSION)" = $$(python -c "execfile('$(PV_FILE)'); print __VERSION__") ] || \ - (echo "No." && \ -echo "Please edit version and $(PV_FILE) to have consistent versions." && false) - @echo "Good." - -.PHONY: verify-version-components -verify-version-components: - @echo -n "Checking that $(VERSION) consists only of digits and periods..." - @echo $(VERSION) | grep -q -x '^[0-9.]*$$' || \ - (echo "No." && \ -echo "Please follow the instructions in RELEASING to choose a version" && false) - @echo "Good." +.PHONY: release-checks +release-checks: + exec devel/release-checks.sh .PHONY: verify-newer verify-newer: diff --git a/man/Makefile.local b/man/Makefile.local index d43a949..72e2a18 100644 --- a/man/Makefile.local +++ b/man/Makefile.local @@ -32,7 +32,7 @@ COMPRESSED_MAN := $(MAN1_GZ) $(MAN5_GZ) $(MAN7_GZ) %.gz: % gzip --stdout $^ > $@ -.PHONY: install-man update-man-versions verify-version-manpage +.PHONY: install-man update-man-versions install-man: $(COMPRESSED_MAN) mkdir -p "$(DESTDIR)$(mandir)/man1" @@ -43,13 +43,6 @@ install-man: $(COMPRESSED_MAN) install -m0644 $(MAN7_GZ) $(DESTDIR)/$(mandir)/man7 cd $(DESTDIR)/$(mandir)/man1 && ln -sf notmuch.1.gz notmuch-setup.1.gz -verify-version-manpage: verify-version-components - @echo -n "Checking that manual page version is $(VERSION)..." - @[ "$(VERSION)" = $$(sed -n '/^[.]TH NOTMUCH 1/{s/.*"Notmuch //;s/".*//p;}' $(MAIN_PAGE)) ] || \ - (echo "No." && \ -echo "Please edit version and notmuch.1 to have consistent versions." && false) - @echo "Good." - update-man-versions: $(MAN_SOURCE) for file in $(MAN_SOURCE); do \ cp $$file $$file.bak ; \ -- 1.7.11.4 ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
[PATCH V2 1/2] devel: add release-checks.sh
Currently Makefile.local contains some machine executable release checking functionality. This is unnecessarily complex way to do it: Multiline script functionality is hard to embed -- from Makefile point of view there is just one line split using backslashes and every line ends with ';'. It is hard to maintain such "script" when it gets longer. The embedded script does not fail as robust as separate script; set -eu could be added to get same level of robustness -- but the provided Bourne Again Shell (bash) script exceeds this with 'set -o pipefail', making the script to fail when any of the commands in pipeline fails (and not just the last one). Checking for release is done very seldom compared to all other use; The whole Makefile.local gets simpler and easier to grasp when most release checking targets are removed. When release checking is done, the steps are executed sequentially; nothing is allowed to be skipped due to some satisfied dependency. --- This patch obsoletes (now moreinfo) patch in id:"1344456107-19308-1-git-send-email-tomi.oll...@iki.fi" devel/release-checks.sh | 211 1 file changed, 211 insertions(+) create mode 100755 devel/release-checks.sh diff --git a/devel/release-checks.sh b/devel/release-checks.sh new file mode 100755 index 000..7dadefa --- /dev/null +++ b/devel/release-checks.sh @@ -0,0 +1,211 @@ +#!/usr/bin/env bash + +set -eu +#set -x # or enter bash -x ... on command line + +if [ x"${BASH_VERSION-}" = x ] +then echo + echo "Please execute this script using 'bash' interpreter" + echo + exit 1 +fi + +set -o pipefail # bash feature + +# Avoid locale-specific differences in output of executed commands +LANG=C LC_ALL=C; export LANG LC_ALL + +readonly DEFAULT_IFS="$IFS" + +readonly PV_FILE='bindings/python/notmuch/version.py' + +# Using array here turned out to be unnecessarily complicated +emsgs='' +append_emsg () +{ + emsgs="${emsgs:+$emsgs\n} $1" +} + +for f in ./version debian/changelog NEWS "$PV_FILE" +do + test -f $f || { append_emsg "File '$f' is missing"; continue; } + test -r $f || { append_emsg "File '$f' is unreadable"; continue; } + test -s $f || append_emsg "File '$f' is empty" +done + +if [ -n "$emsgs" ] +then + echo 'Release files problems; fix these and try again:' + echo -e "$emsgs" + exit 1 +fi + +if read VERSION +then + if read rest + thenecho "'version' file contains more than one line" + exit 1 + fi +else + echo "Reading './version' file failed (suprisingly!)" + exit 1 +fi < ./version + +readonly VERSION + +verfail () +{ + echo No. + echo "$@" + echo "Please follow the instructions in RELEASING to choose a version" + exit 1 +} + +echo -n "Checking that '$VERSION' is good with digits and periods... " +if [ -z "${VERSION//[0123456789.]/}" ] # bash feature +then + case $VERSION in + .*) verfail "'$VERSION' begins with a period" ;; + *.) verfail "'$VERSION' ends with a period" ;; + *..*) verfail "'$VERSION' contains two consecutive periods" ;; + *.*)echo Yes. ;; + *) verfail "'$VERSION' is a single number" ;; + esac +else + verfail "'$VERSION' contains other characters than digits and periods" +fi + + +# In the rest of this file, tests collect list of errors to be fixed + +echo -n "Checking that this is Debian package for notmuch... " +read deb_notmuch deb_version rest < debian/changelog +if [ "$deb_notmuch" = 'notmuch' ] +then + echo Yes. +else + echo No. + append_emsg "Package name '$deb_notmuch' is not 'notmuch' in debian/changelog" +fi + +echo -n "Checking that Debian package version is $VERSION-1... " + +if [ "$deb_version" = "($VERSION-1)" ] +then + echo Yes. +else + echo No. + append_emsg "Version '$deb_version' is not '($VERSION-1)' in debian/changelog" +fi + +echo -n "Checking that python bindings version is $VERSION... " +py_version=`python -c "execfile('$PV_FILE'); print __VERSION__"` +if [ "$py_version" = "$VERSION" ] +then + echo Yes. +else + echo No. + append_emsg "Version '$py_version' is not '$VERSION' in $PV_FILE" +fi + +echo -n "Checking that this is Notmuch NEWS... " +read news_notmuch news_version news_date < NEWS +if [ "$news_notmuch" = "Notmuch" ] +then + echo Yes. +else + echo No. + append_emsg "First word '$news_notmuch' is not 'Notmuch' in NEWS file" +fi + +echo -n "Checking that NEWS version is $VERSION... " +if [ "$news_version" = "$VERSION" ] +then + echo Yes. +else + echo No. + append_emsg "Version '$news_version' in NEWS file is not '$VERSION'" +fi + +#eval `date '+year=%Y mon=%m day=%d'` +today0utc=`date --date=0Z +%s` # gnu date feature + +echo -n "Checking that NEWS date is right... " +case $news_date in + '('[2-9][0-9][0-9][0-9]-[01][0-9]-[01