branch: externals/debbugs
commit 84be38da7a2c634b37e4e3dd297e6399ff627d5a
Author: Michael Albinus <[email protected]>
Commit: Michael Albinus <[email protected]>

    * debbugs-gnu.el (debbugs-gnu-subject): New defvar.
    (debbugs-gnu-select-report): Set it buffer local.
    (debbugs-gnu-summary-mode): Use it for adapting subject of replies.
---
 ChangeLog      |  6 ++++++
 debbugs-gnu.el | 14 ++++++++++----
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ea3da8b..4dc5458 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-07-14  Michael Albinus  <[email protected]>
+
+       * debbugs-gnu.el (debbugs-gnu-subject): New defvar.
+       (debbugs-gnu-select-report): Set it buffer local.
+       (debbugs-gnu-summary-mode): Use it for adapting subject of replies.
+
 2011-07-13  Michael Albinus  <[email protected]>
 
        * debbugs.el (debbugs-get-bugs): Weaken syntax for packages (and
diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index 5f14e4f..dabb8de 100644
--- a/debbugs-gnu.el
+++ b/debbugs-gnu.el
@@ -591,6 +591,7 @@ The following commands are available:
   (tabulated-list-print))
 
 (defvar debbugs-gnu-bug-number nil)
+(defvar debbugs-gnu-subject nil)
 
 (defun debbugs-gnu-current-id (&optional noerror)
   (or (cdr (assq 'id (debbugs-gnu-current-status)))
@@ -622,8 +623,10 @@ The following commands are available:
      (cons (current-buffer)
           (current-window-configuration)))
     (with-current-buffer (window-buffer (selected-window))
-      (debbugs-gnu-summary-mode 1)
-      (set (make-local-variable 'debbugs-gnu-bug-number) id))))
+      (set (make-local-variable 'debbugs-gnu-bug-number) id)
+      (set (make-local-variable 'debbugs-gnu-subject)
+          (format "Re: bug#%d %s" id (cdr (assq 'subject status))))
+      (debbugs-gnu-summary-mode 1))))
 
 (defvar debbugs-gnu-summary-mode-map
   (let ((map (make-sparse-keymap)))
@@ -638,7 +641,7 @@ The following commands are available:
 \\{debbugs-gnu-summary-mode-map}"
   :lighter " Debbugs" :keymap debbugs-gnu-summary-mode-map
   (set (make-local-variable 'gnus-posting-styles)
-       '((".*"
+       `((".*"
          (eval
           (with-current-buffer gnus-article-copy
             (set (make-local-variable 'message-prune-recipient-rules)
@@ -652,7 +655,10 @@ The following commands are available:
                        (let ((new (format "%[email protected]"
                                           (match-string 1 (car address)))))
                          (cons new new))
-                     address)))))))))
+                     address)))
+            ;; `gnus-posting-styles' is eval'ed after
+            ;; `message-simplify-subject'.  So we cannot use m-s-s.
+            (setq subject ,debbugs-gnu-subject)))))))
 
 (defun debbugs-gnu-send-control-message (message &optional reverse)
   "Send a control message for the current bug report.

Reply via email to