* [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).