* [PATCH 1/4] test: add `notmuch-hello-mode-hook-counter' @ 2011-12-17 4:20 Dmitry Kurochkin 2011-12-17 4:20 ` [PATCH 2/4] test: add test for `notmuch-hello-mode-hook' Dmitry Kurochkin ` (5 more replies) 0 siblings, 6 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-17 4:20 UTC (permalink / raw) To: notmuch Add `notmuch-hello-mode-hook-counter' hook to count how many times `notmuch-hello-mode-hook' was called. The counter function increments `notmuch-hello-mode-hook-counter' variable value if it is bount, otherwise it does nothing. --- test/test-lib.el | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/test/test-lib.el b/test/test-lib.el index 97ae593..3bca138 100644 --- a/test/test-lib.el +++ b/test/test-lib.el @@ -61,3 +61,12 @@ running, quit if it terminated." (if (not (process-attributes pid)) (kill-emacs) (run-at-time "1 min" nil 'orphan-watchdog pid))) + +(defun notmuch-hello-mode-hook-counter () + "Count how many times `notmuch-hello-mode-hook' is called. +Increments `notmuch-hello-mode-hook-counter' variable value if it +is bound, otherwise does nothing." + (if (boundp 'notmuch-hello-mode-hook-counter) + (setq notmuch-hello-mode-hook-counter + (1+ notmuch-hello-mode-hook-counter)))) +(add-hook 'notmuch-hello-mode-hook 'notmuch-hello-mode-hook-counter) -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 2/4] test: add test for `notmuch-hello-mode-hook' 2011-12-17 4:20 [PATCH 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin @ 2011-12-17 4:20 ` Dmitry Kurochkin 2011-12-17 4:20 ` [PATCH 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update Dmitry Kurochkin ` (4 subsequent siblings) 5 siblings, 0 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-17 4:20 UTC (permalink / raw) To: notmuch Test that `notmuch-hello-mode-hook' is called once when `notmuch-hello' function is called. --- test/emacs | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/test/emacs b/test/emacs index 6e922de..a864ffa 100755 --- a/test/emacs +++ b/test/emacs @@ -476,4 +476,13 @@ test_emacs "(let ((notmuch-command \"$notmuch_counter_command\")) (notmuch-show \"id:$id\"))" test_expect_equal $(notmuch_counter_value) 1 +test_begin_subtest "notmuch-hello-mode hook is called" +counter=$(test_emacs \ + '(let ((notmuch-hello-mode-hook-counter 0)) + (kill-buffer "*notmuch-hello*") + (notmuch-hello) + notmuch-hello-mode-hook-counter)' +) +test_expect_equal "$counter" 1 + test_done -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update 2011-12-17 4:20 [PATCH 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin 2011-12-17 4:20 ` [PATCH 2/4] test: add test for `notmuch-hello-mode-hook' Dmitry Kurochkin @ 2011-12-17 4:20 ` Dmitry Kurochkin 2011-12-17 4:20 ` [PATCH 4/4] emacs: do not call `notmuch-hello-mode' on update Dmitry Kurochkin ` (3 subsequent siblings) 5 siblings, 0 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-17 4:20 UTC (permalink / raw) To: notmuch Test that `notmuch-hello-mode-hook' is not called during `notmuch-hello' buffer updates. The test is currently broken. --- test/emacs | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/test/emacs b/test/emacs index a864ffa..b4c2444 100755 --- a/test/emacs +++ b/test/emacs @@ -485,4 +485,15 @@ counter=$(test_emacs \ ) test_expect_equal "$counter" 1 +test_begin_subtest "notmuch-hello-mode hook is not called on updates" +test_subtest_known_broken +counter=$(test_emacs \ + '(let ((notmuch-hello-mode-hook-counter 0)) + (kill-buffer "*notmuch-hello*") + (notmuch-hello) + (notmuch-hello-update) + notmuch-hello-mode-hook-counter)' +) +test_expect_equal "$counter" 1 + test_done -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 4/4] emacs: do not call `notmuch-hello-mode' on update 2011-12-17 4:20 [PATCH 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin 2011-12-17 4:20 ` [PATCH 2/4] test: add test for `notmuch-hello-mode-hook' Dmitry Kurochkin 2011-12-17 4:20 ` [PATCH 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update Dmitry Kurochkin @ 2011-12-17 4:20 ` Dmitry Kurochkin 2011-12-17 20:16 ` [PATCH v2 0/4] " Dmitry Kurochkin ` (2 subsequent siblings) 5 siblings, 0 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-17 4:20 UTC (permalink / raw) To: notmuch `notmuch-hello' should call `notmuch-hello-mode' function only when run for the first time. But before the change, `notmuch-hello' used `kill-all-local-variables' to remove editable widgets fields. This caused the major mode to be reset, and `notmuch-hello-mode' to be called every time. The patch manually deletes all editable widget fields and removes `kill-all-local-variables' call. --- emacs/notmuch-hello.el | 11 +++++++---- test/emacs | 1 - 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el index ca3a381..3b21f55 100644 --- a/emacs/notmuch-hello.el +++ b/emacs/notmuch-hello.el @@ -403,11 +403,14 @@ Complete list of currently available key bindings: (progn (widget-forward 1) (widget-value (widget-at))) - (error nil))))) + (error nil)))) + (inhibit-read-only t)) - (kill-all-local-variables) - (let ((inhibit-read-only t)) - (erase-buffer)) + ;; delete all editable widget fields + (let ((all widget-field-list)) + (mapc 'widget-delete widget-field-list)) + + (erase-buffer) (unless (eq major-mode 'notmuch-hello-mode) (notmuch-hello-mode)) diff --git a/test/emacs b/test/emacs index b4c2444..dffad0f 100755 --- a/test/emacs +++ b/test/emacs @@ -486,7 +486,6 @@ counter=$(test_emacs \ test_expect_equal "$counter" 1 test_begin_subtest "notmuch-hello-mode hook is not called on updates" -test_subtest_known_broken counter=$(test_emacs \ '(let ((notmuch-hello-mode-hook-counter 0)) (kill-buffer "*notmuch-hello*") -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v2 0/4] emacs: do not call `notmuch-hello-mode' on update 2011-12-17 4:20 [PATCH 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin ` (2 preceding siblings ...) 2011-12-17 4:20 ` [PATCH 4/4] emacs: do not call `notmuch-hello-mode' on update Dmitry Kurochkin @ 2011-12-17 20:16 ` Dmitry Kurochkin 2011-12-17 20:16 ` [PATCH v2 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin ` (3 more replies) 2011-12-17 23:39 ` [PATCH v3 0/4] " Dmitry Kurochkin 2011-12-18 0:21 ` [PATCH v4 0/4] " Dmitry Kurochkin 5 siblings, 4 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-17 20:16 UTC (permalink / raw) To: notmuch Changes in v2 since v1: * actually use `all' variable in `mapc' call, thanks Tomi Regards, Dmitry ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH v2 1/4] test: add `notmuch-hello-mode-hook-counter' 2011-12-17 20:16 ` [PATCH v2 0/4] " Dmitry Kurochkin @ 2011-12-17 20:16 ` Dmitry Kurochkin 2011-12-17 20:16 ` [PATCH v2 2/4] test: add test for `notmuch-hello-mode-hook' Dmitry Kurochkin ` (2 subsequent siblings) 3 siblings, 0 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-17 20:16 UTC (permalink / raw) To: notmuch Add `notmuch-hello-mode-hook-counter' hook to count how many times `notmuch-hello-mode-hook' was called. The counter function increments `notmuch-hello-mode-hook-counter' variable value if it is bount, otherwise it does nothing. --- test/test-lib.el | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/test/test-lib.el b/test/test-lib.el index 97ae593..3bca138 100644 --- a/test/test-lib.el +++ b/test/test-lib.el @@ -61,3 +61,12 @@ running, quit if it terminated." (if (not (process-attributes pid)) (kill-emacs) (run-at-time "1 min" nil 'orphan-watchdog pid))) + +(defun notmuch-hello-mode-hook-counter () + "Count how many times `notmuch-hello-mode-hook' is called. +Increments `notmuch-hello-mode-hook-counter' variable value if it +is bound, otherwise does nothing." + (if (boundp 'notmuch-hello-mode-hook-counter) + (setq notmuch-hello-mode-hook-counter + (1+ notmuch-hello-mode-hook-counter)))) +(add-hook 'notmuch-hello-mode-hook 'notmuch-hello-mode-hook-counter) -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v2 2/4] test: add test for `notmuch-hello-mode-hook' 2011-12-17 20:16 ` [PATCH v2 0/4] " Dmitry Kurochkin 2011-12-17 20:16 ` [PATCH v2 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin @ 2011-12-17 20:16 ` Dmitry Kurochkin 2011-12-17 20:16 ` [PATCH v2 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update Dmitry Kurochkin 2011-12-17 20:17 ` [PATCH v2 4/4] emacs: do not call `notmuch-hello-mode' on update Dmitry Kurochkin 3 siblings, 0 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-17 20:16 UTC (permalink / raw) To: notmuch Test that `notmuch-hello-mode-hook' is called once when `notmuch-hello' function is called. --- test/emacs | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/test/emacs b/test/emacs index 6e922de..a864ffa 100755 --- a/test/emacs +++ b/test/emacs @@ -476,4 +476,13 @@ test_emacs "(let ((notmuch-command \"$notmuch_counter_command\")) (notmuch-show \"id:$id\"))" test_expect_equal $(notmuch_counter_value) 1 +test_begin_subtest "notmuch-hello-mode hook is called" +counter=$(test_emacs \ + '(let ((notmuch-hello-mode-hook-counter 0)) + (kill-buffer "*notmuch-hello*") + (notmuch-hello) + notmuch-hello-mode-hook-counter)' +) +test_expect_equal "$counter" 1 + test_done -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v2 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update 2011-12-17 20:16 ` [PATCH v2 0/4] " Dmitry Kurochkin 2011-12-17 20:16 ` [PATCH v2 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin 2011-12-17 20:16 ` [PATCH v2 2/4] test: add test for `notmuch-hello-mode-hook' Dmitry Kurochkin @ 2011-12-17 20:16 ` Dmitry Kurochkin 2011-12-17 20:17 ` [PATCH v2 4/4] emacs: do not call `notmuch-hello-mode' on update Dmitry Kurochkin 3 siblings, 0 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-17 20:16 UTC (permalink / raw) To: notmuch Test that `notmuch-hello-mode-hook' is not called during `notmuch-hello' buffer updates. The test is currently broken. --- test/emacs | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/test/emacs b/test/emacs index a864ffa..b4c2444 100755 --- a/test/emacs +++ b/test/emacs @@ -485,4 +485,15 @@ counter=$(test_emacs \ ) test_expect_equal "$counter" 1 +test_begin_subtest "notmuch-hello-mode hook is not called on updates" +test_subtest_known_broken +counter=$(test_emacs \ + '(let ((notmuch-hello-mode-hook-counter 0)) + (kill-buffer "*notmuch-hello*") + (notmuch-hello) + (notmuch-hello-update) + notmuch-hello-mode-hook-counter)' +) +test_expect_equal "$counter" 1 + test_done -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v2 4/4] emacs: do not call `notmuch-hello-mode' on update 2011-12-17 20:16 ` [PATCH v2 0/4] " Dmitry Kurochkin ` (2 preceding siblings ...) 2011-12-17 20:16 ` [PATCH v2 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update Dmitry Kurochkin @ 2011-12-17 20:17 ` Dmitry Kurochkin 3 siblings, 0 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-17 20:17 UTC (permalink / raw) To: notmuch `notmuch-hello' should call `notmuch-hello-mode' function only when run for the first time. But before the change, `notmuch-hello' used `kill-all-local-variables' to remove editable widgets fields. This caused the major mode to be reset, and `notmuch-hello-mode' to be called every time. The patch manually deletes all editable widget fields and removes `kill-all-local-variables' call. --- emacs/notmuch-hello.el | 11 +++++++---- test/emacs | 1 - 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el index ca3a381..fbbec66 100644 --- a/emacs/notmuch-hello.el +++ b/emacs/notmuch-hello.el @@ -403,11 +403,14 @@ Complete list of currently available key bindings: (progn (widget-forward 1) (widget-value (widget-at))) - (error nil))))) + (error nil)))) + (inhibit-read-only t)) - (kill-all-local-variables) - (let ((inhibit-read-only t)) - (erase-buffer)) + ;; delete all editable widget fields + (let ((all widget-field-list)) + (mapc 'widget-delete all)) + + (erase-buffer) (unless (eq major-mode 'notmuch-hello-mode) (notmuch-hello-mode)) diff --git a/test/emacs b/test/emacs index b4c2444..dffad0f 100755 --- a/test/emacs +++ b/test/emacs @@ -486,7 +486,6 @@ counter=$(test_emacs \ test_expect_equal "$counter" 1 test_begin_subtest "notmuch-hello-mode hook is not called on updates" -test_subtest_known_broken counter=$(test_emacs \ '(let ((notmuch-hello-mode-hook-counter 0)) (kill-buffer "*notmuch-hello*") -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v3 0/4] emacs: do not call `notmuch-hello-mode' on update 2011-12-17 4:20 [PATCH 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin ` (3 preceding siblings ...) 2011-12-17 20:16 ` [PATCH v2 0/4] " Dmitry Kurochkin @ 2011-12-17 23:39 ` Dmitry Kurochkin 2011-12-17 23:39 ` [PATCH v3 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin ` (3 more replies) 2011-12-18 0:21 ` [PATCH v4 0/4] " Dmitry Kurochkin 5 siblings, 4 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-17 23:39 UTC (permalink / raw) To: notmuch Changes: v3: * remove useless let with `widget-field-list', thanks Austin v2: * actually use `all' variable in `mapc' call, thanks Tomi ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH v3 1/4] test: add `notmuch-hello-mode-hook-counter' 2011-12-17 23:39 ` [PATCH v3 0/4] " Dmitry Kurochkin @ 2011-12-17 23:39 ` Dmitry Kurochkin 2011-12-17 23:39 ` [PATCH v3 2/4] test: add test for `notmuch-hello-mode-hook' Dmitry Kurochkin ` (2 subsequent siblings) 3 siblings, 0 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-17 23:39 UTC (permalink / raw) To: notmuch Add `notmuch-hello-mode-hook-counter' hook to count how many times `notmuch-hello-mode-hook' was called. The counter function increments `notmuch-hello-mode-hook-counter' variable value if it is bount, otherwise it does nothing. --- test/test-lib.el | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/test/test-lib.el b/test/test-lib.el index 97ae593..3bca138 100644 --- a/test/test-lib.el +++ b/test/test-lib.el @@ -61,3 +61,12 @@ running, quit if it terminated." (if (not (process-attributes pid)) (kill-emacs) (run-at-time "1 min" nil 'orphan-watchdog pid))) + +(defun notmuch-hello-mode-hook-counter () + "Count how many times `notmuch-hello-mode-hook' is called. +Increments `notmuch-hello-mode-hook-counter' variable value if it +is bound, otherwise does nothing." + (if (boundp 'notmuch-hello-mode-hook-counter) + (setq notmuch-hello-mode-hook-counter + (1+ notmuch-hello-mode-hook-counter)))) +(add-hook 'notmuch-hello-mode-hook 'notmuch-hello-mode-hook-counter) -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v3 2/4] test: add test for `notmuch-hello-mode-hook' 2011-12-17 23:39 ` [PATCH v3 0/4] " Dmitry Kurochkin 2011-12-17 23:39 ` [PATCH v3 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin @ 2011-12-17 23:39 ` Dmitry Kurochkin 2011-12-17 23:39 ` [PATCH v3 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update Dmitry Kurochkin 2011-12-17 23:39 ` [PATCH v3 4/4] emacs: do not call `notmuch-hello-mode' on update Dmitry Kurochkin 3 siblings, 0 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-17 23:39 UTC (permalink / raw) To: notmuch Test that `notmuch-hello-mode-hook' is called once when `notmuch-hello' function is called. --- test/emacs | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/test/emacs b/test/emacs index 6e922de..a864ffa 100755 --- a/test/emacs +++ b/test/emacs @@ -476,4 +476,13 @@ test_emacs "(let ((notmuch-command \"$notmuch_counter_command\")) (notmuch-show \"id:$id\"))" test_expect_equal $(notmuch_counter_value) 1 +test_begin_subtest "notmuch-hello-mode hook is called" +counter=$(test_emacs \ + '(let ((notmuch-hello-mode-hook-counter 0)) + (kill-buffer "*notmuch-hello*") + (notmuch-hello) + notmuch-hello-mode-hook-counter)' +) +test_expect_equal "$counter" 1 + test_done -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v3 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update 2011-12-17 23:39 ` [PATCH v3 0/4] " Dmitry Kurochkin 2011-12-17 23:39 ` [PATCH v3 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin 2011-12-17 23:39 ` [PATCH v3 2/4] test: add test for `notmuch-hello-mode-hook' Dmitry Kurochkin @ 2011-12-17 23:39 ` Dmitry Kurochkin 2011-12-17 23:39 ` [PATCH v3 4/4] emacs: do not call `notmuch-hello-mode' on update Dmitry Kurochkin 3 siblings, 0 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-17 23:39 UTC (permalink / raw) To: notmuch Test that `notmuch-hello-mode-hook' is not called during `notmuch-hello' buffer updates. The test is currently broken. --- test/emacs | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/test/emacs b/test/emacs index a864ffa..b4c2444 100755 --- a/test/emacs +++ b/test/emacs @@ -485,4 +485,15 @@ counter=$(test_emacs \ ) test_expect_equal "$counter" 1 +test_begin_subtest "notmuch-hello-mode hook is not called on updates" +test_subtest_known_broken +counter=$(test_emacs \ + '(let ((notmuch-hello-mode-hook-counter 0)) + (kill-buffer "*notmuch-hello*") + (notmuch-hello) + (notmuch-hello-update) + notmuch-hello-mode-hook-counter)' +) +test_expect_equal "$counter" 1 + test_done -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v3 4/4] emacs: do not call `notmuch-hello-mode' on update 2011-12-17 23:39 ` [PATCH v3 0/4] " Dmitry Kurochkin ` (2 preceding siblings ...) 2011-12-17 23:39 ` [PATCH v3 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update Dmitry Kurochkin @ 2011-12-17 23:39 ` Dmitry Kurochkin 2011-12-18 0:16 ` Austin Clements 3 siblings, 1 reply; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-17 23:39 UTC (permalink / raw) To: notmuch `notmuch-hello' should call `notmuch-hello-mode' function only when run for the first time. But before the change, `notmuch-hello' used `kill-all-local-variables' to remove editable widgets fields. This caused the major mode to be reset, and `notmuch-hello-mode' to be called every time. The patch manually deletes all editable widget fields and removes `kill-all-local-variables' call. --- emacs/notmuch-hello.el | 10 ++++++---- test/emacs | 1 - 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el index ca3a381..c158e89 100644 --- a/emacs/notmuch-hello.el +++ b/emacs/notmuch-hello.el @@ -403,11 +403,13 @@ Complete list of currently available key bindings: (progn (widget-forward 1) (widget-value (widget-at))) - (error nil))))) + (error nil)))) + (inhibit-read-only t)) - (kill-all-local-variables) - (let ((inhibit-read-only t)) - (erase-buffer)) + ;; delete all editable widget fields + (mapc 'widget-delete widget-field-list) + + (erase-buffer) (unless (eq major-mode 'notmuch-hello-mode) (notmuch-hello-mode)) diff --git a/test/emacs b/test/emacs index b4c2444..dffad0f 100755 --- a/test/emacs +++ b/test/emacs @@ -486,7 +486,6 @@ counter=$(test_emacs \ test_expect_equal "$counter" 1 test_begin_subtest "notmuch-hello-mode hook is not called on updates" -test_subtest_known_broken counter=$(test_emacs \ '(let ((notmuch-hello-mode-hook-counter 0)) (kill-buffer "*notmuch-hello*") -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH v3 4/4] emacs: do not call `notmuch-hello-mode' on update 2011-12-17 23:39 ` [PATCH v3 4/4] emacs: do not call `notmuch-hello-mode' on update Dmitry Kurochkin @ 2011-12-18 0:16 ` Austin Clements 0 siblings, 0 replies; 22+ messages in thread From: Austin Clements @ 2011-12-18 0:16 UTC (permalink / raw) To: Dmitry Kurochkin; +Cc: notmuch This series looks good to me. Just one nit below. Quoth Dmitry Kurochkin on Dec 18 at 3:39 am: > `notmuch-hello' should call `notmuch-hello-mode' function only when > run for the first time. But before the change, `notmuch-hello' used > `kill-all-local-variables' to remove editable widgets fields. This > caused the major mode to be reset, and `notmuch-hello-mode' to be > called every time. > > The patch manually deletes all editable widget fields and removes > `kill-all-local-variables' call. > --- > emacs/notmuch-hello.el | 10 ++++++---- > test/emacs | 1 - > 2 files changed, 6 insertions(+), 5 deletions(-) > > diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el > index ca3a381..c158e89 100644 > --- a/emacs/notmuch-hello.el > +++ b/emacs/notmuch-hello.el > @@ -403,11 +403,13 @@ Complete list of currently available key bindings: > (progn > (widget-forward 1) > (widget-value (widget-at))) > - (error nil))))) > + (error nil)))) > + (inhibit-read-only t)) > > - (kill-all-local-variables) > - (let ((inhibit-read-only t)) > - (erase-buffer)) > + ;; delete all editable widget fields It would be good to explain why this is necessary, so future generations of notmuchers aren't as confused as I was by why this dance is needed. > + (mapc 'widget-delete widget-field-list) > + > + (erase-buffer) > > (unless (eq major-mode 'notmuch-hello-mode) > (notmuch-hello-mode)) > diff --git a/test/emacs b/test/emacs > index b4c2444..dffad0f 100755 > --- a/test/emacs > +++ b/test/emacs > @@ -486,7 +486,6 @@ counter=$(test_emacs \ > test_expect_equal "$counter" 1 > > test_begin_subtest "notmuch-hello-mode hook is not called on updates" > -test_subtest_known_broken > counter=$(test_emacs \ > '(let ((notmuch-hello-mode-hook-counter 0)) > (kill-buffer "*notmuch-hello*") ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH v4 0/4] emacs: do not call `notmuch-hello-mode' on update 2011-12-17 4:20 [PATCH 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin ` (4 preceding siblings ...) 2011-12-17 23:39 ` [PATCH v3 0/4] " Dmitry Kurochkin @ 2011-12-18 0:21 ` Dmitry Kurochkin 2011-12-18 0:21 ` [PATCH v4 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin ` (5 more replies) 5 siblings, 6 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-18 0:21 UTC (permalink / raw) To: notmuch Changes: v4: * explain why we need to properly delete editable widget fields v3: * remove useless let with `widget-field-list', thanks Austin v2: * actually use `all' variable in `mapc' call, thanks Tomi ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH v4 1/4] test: add `notmuch-hello-mode-hook-counter' 2011-12-18 0:21 ` [PATCH v4 0/4] " Dmitry Kurochkin @ 2011-12-18 0:21 ` Dmitry Kurochkin 2011-12-18 0:21 ` [PATCH v4 2/4] test: add test for `notmuch-hello-mode-hook' Dmitry Kurochkin ` (4 subsequent siblings) 5 siblings, 0 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-18 0:21 UTC (permalink / raw) To: notmuch Add `notmuch-hello-mode-hook-counter' hook to count how many times `notmuch-hello-mode-hook' was called. The counter function increments `notmuch-hello-mode-hook-counter' variable value if it is bount, otherwise it does nothing. --- test/test-lib.el | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/test/test-lib.el b/test/test-lib.el index 97ae593..3bca138 100644 --- a/test/test-lib.el +++ b/test/test-lib.el @@ -61,3 +61,12 @@ running, quit if it terminated." (if (not (process-attributes pid)) (kill-emacs) (run-at-time "1 min" nil 'orphan-watchdog pid))) + +(defun notmuch-hello-mode-hook-counter () + "Count how many times `notmuch-hello-mode-hook' is called. +Increments `notmuch-hello-mode-hook-counter' variable value if it +is bound, otherwise does nothing." + (if (boundp 'notmuch-hello-mode-hook-counter) + (setq notmuch-hello-mode-hook-counter + (1+ notmuch-hello-mode-hook-counter)))) +(add-hook 'notmuch-hello-mode-hook 'notmuch-hello-mode-hook-counter) -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v4 2/4] test: add test for `notmuch-hello-mode-hook' 2011-12-18 0:21 ` [PATCH v4 0/4] " Dmitry Kurochkin 2011-12-18 0:21 ` [PATCH v4 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin @ 2011-12-18 0:21 ` Dmitry Kurochkin 2011-12-18 0:21 ` [PATCH v4 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update Dmitry Kurochkin ` (3 subsequent siblings) 5 siblings, 0 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-18 0:21 UTC (permalink / raw) To: notmuch Test that `notmuch-hello-mode-hook' is called once when `notmuch-hello' function is called. --- test/emacs | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/test/emacs b/test/emacs index 6e922de..a864ffa 100755 --- a/test/emacs +++ b/test/emacs @@ -476,4 +476,13 @@ test_emacs "(let ((notmuch-command \"$notmuch_counter_command\")) (notmuch-show \"id:$id\"))" test_expect_equal $(notmuch_counter_value) 1 +test_begin_subtest "notmuch-hello-mode hook is called" +counter=$(test_emacs \ + '(let ((notmuch-hello-mode-hook-counter 0)) + (kill-buffer "*notmuch-hello*") + (notmuch-hello) + notmuch-hello-mode-hook-counter)' +) +test_expect_equal "$counter" 1 + test_done -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v4 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update 2011-12-18 0:21 ` [PATCH v4 0/4] " Dmitry Kurochkin 2011-12-18 0:21 ` [PATCH v4 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin 2011-12-18 0:21 ` [PATCH v4 2/4] test: add test for `notmuch-hello-mode-hook' Dmitry Kurochkin @ 2011-12-18 0:21 ` Dmitry Kurochkin 2011-12-18 0:21 ` [PATCH v4 4/4] emacs: do not call `notmuch-hello-mode' on update Dmitry Kurochkin ` (2 subsequent siblings) 5 siblings, 0 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-18 0:21 UTC (permalink / raw) To: notmuch Test that `notmuch-hello-mode-hook' is not called during `notmuch-hello' buffer updates. The test is currently broken. --- test/emacs | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/test/emacs b/test/emacs index a864ffa..b4c2444 100755 --- a/test/emacs +++ b/test/emacs @@ -485,4 +485,15 @@ counter=$(test_emacs \ ) test_expect_equal "$counter" 1 +test_begin_subtest "notmuch-hello-mode hook is not called on updates" +test_subtest_known_broken +counter=$(test_emacs \ + '(let ((notmuch-hello-mode-hook-counter 0)) + (kill-buffer "*notmuch-hello*") + (notmuch-hello) + (notmuch-hello-update) + notmuch-hello-mode-hook-counter)' +) +test_expect_equal "$counter" 1 + test_done -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v4 4/4] emacs: do not call `notmuch-hello-mode' on update 2011-12-18 0:21 ` [PATCH v4 0/4] " Dmitry Kurochkin ` (2 preceding siblings ...) 2011-12-18 0:21 ` [PATCH v4 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update Dmitry Kurochkin @ 2011-12-18 0:21 ` Dmitry Kurochkin 2011-12-18 0:32 ` [PATCH v4 0/4] " Austin Clements 2011-12-20 11:47 ` David Bremner 5 siblings, 0 replies; 22+ messages in thread From: Dmitry Kurochkin @ 2011-12-18 0:21 UTC (permalink / raw) To: notmuch `notmuch-hello' should call `notmuch-hello-mode' function only when run for the first time. But before the change, `notmuch-hello' used `kill-all-local-variables' to remove editable widgets fields. This caused the major mode to be reset, and `notmuch-hello-mode' to be called every time. The patch manually deletes all editable widget fields and removes `kill-all-local-variables' call. --- emacs/notmuch-hello.el | 13 +++++++++---- test/emacs | 1 - 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el index ca3a381..81b2605 100644 --- a/emacs/notmuch-hello.el +++ b/emacs/notmuch-hello.el @@ -403,11 +403,16 @@ Complete list of currently available key bindings: (progn (widget-forward 1) (widget-value (widget-at))) - (error nil))))) + (error nil)))) + (inhibit-read-only t)) - (kill-all-local-variables) - (let ((inhibit-read-only t)) - (erase-buffer)) + ;; Delete all editable widget fields. Editable widget fields are + ;; tracked in a buffer local variable `widget-field-list' (and + ;; others). If we do `erase-buffer' without properly deleting the + ;; widgets, some widget-related functions are confused later. + (mapc 'widget-delete widget-field-list) + + (erase-buffer) (unless (eq major-mode 'notmuch-hello-mode) (notmuch-hello-mode)) diff --git a/test/emacs b/test/emacs index b4c2444..dffad0f 100755 --- a/test/emacs +++ b/test/emacs @@ -486,7 +486,6 @@ counter=$(test_emacs \ test_expect_equal "$counter" 1 test_begin_subtest "notmuch-hello-mode hook is not called on updates" -test_subtest_known_broken counter=$(test_emacs \ '(let ((notmuch-hello-mode-hook-counter 0)) (kill-buffer "*notmuch-hello*") -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH v4 0/4] emacs: do not call `notmuch-hello-mode' on update 2011-12-18 0:21 ` [PATCH v4 0/4] " Dmitry Kurochkin ` (3 preceding siblings ...) 2011-12-18 0:21 ` [PATCH v4 4/4] emacs: do not call `notmuch-hello-mode' on update Dmitry Kurochkin @ 2011-12-18 0:32 ` Austin Clements 2011-12-20 11:47 ` David Bremner 5 siblings, 0 replies; 22+ messages in thread From: Austin Clements @ 2011-12-18 0:32 UTC (permalink / raw) To: Dmitry Kurochkin; +Cc: notmuch LGTM. Quoth Dmitry Kurochkin on Dec 18 at 4:21 am: > Changes: > > v4: > > * explain why we need to properly delete editable widget fields > > v3: > > * remove useless let with `widget-field-list', thanks Austin > > v2: > > * actually use `all' variable in `mapc' call, thanks Tomi ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH v4 0/4] emacs: do not call `notmuch-hello-mode' on update 2011-12-18 0:21 ` [PATCH v4 0/4] " Dmitry Kurochkin ` (4 preceding siblings ...) 2011-12-18 0:32 ` [PATCH v4 0/4] " Austin Clements @ 2011-12-20 11:47 ` David Bremner 5 siblings, 0 replies; 22+ messages in thread From: David Bremner @ 2011-12-20 11:47 UTC (permalink / raw) To: Dmitry Kurochkin, notmuch On Sun, 18 Dec 2011 04:21:17 +0400, Dmitry Kurochkin <dmitry.kurochkin@gmail.com> wrote: > Changes: > > v4: > > * explain why we need to properly delete editable widget fields > pushed. d ^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2011-12-20 11:47 UTC | newest] Thread overview: 22+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-12-17 4:20 [PATCH 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin 2011-12-17 4:20 ` [PATCH 2/4] test: add test for `notmuch-hello-mode-hook' Dmitry Kurochkin 2011-12-17 4:20 ` [PATCH 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update Dmitry Kurochkin 2011-12-17 4:20 ` [PATCH 4/4] emacs: do not call `notmuch-hello-mode' on update Dmitry Kurochkin 2011-12-17 20:16 ` [PATCH v2 0/4] " Dmitry Kurochkin 2011-12-17 20:16 ` [PATCH v2 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin 2011-12-17 20:16 ` [PATCH v2 2/4] test: add test for `notmuch-hello-mode-hook' Dmitry Kurochkin 2011-12-17 20:16 ` [PATCH v2 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update Dmitry Kurochkin 2011-12-17 20:17 ` [PATCH v2 4/4] emacs: do not call `notmuch-hello-mode' on update Dmitry Kurochkin 2011-12-17 23:39 ` [PATCH v3 0/4] " Dmitry Kurochkin 2011-12-17 23:39 ` [PATCH v3 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin 2011-12-17 23:39 ` [PATCH v3 2/4] test: add test for `notmuch-hello-mode-hook' Dmitry Kurochkin 2011-12-17 23:39 ` [PATCH v3 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update Dmitry Kurochkin 2011-12-17 23:39 ` [PATCH v3 4/4] emacs: do not call `notmuch-hello-mode' on update Dmitry Kurochkin 2011-12-18 0:16 ` Austin Clements 2011-12-18 0:21 ` [PATCH v4 0/4] " Dmitry Kurochkin 2011-12-18 0:21 ` [PATCH v4 1/4] test: add `notmuch-hello-mode-hook-counter' Dmitry Kurochkin 2011-12-18 0:21 ` [PATCH v4 2/4] test: add test for `notmuch-hello-mode-hook' Dmitry Kurochkin 2011-12-18 0:21 ` [PATCH v4 3/4] test: add broken test for `notmuch-hello-mode-hook' called during update Dmitry Kurochkin 2011-12-18 0:21 ` [PATCH v4 4/4] emacs: do not call `notmuch-hello-mode' on update Dmitry Kurochkin 2011-12-18 0:32 ` [PATCH v4 0/4] " Austin Clements 2011-12-20 11:47 ` David Bremner
Code repositories for project(s) associated with this public inbox https://yhetil.org/notmuch.git/ This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).