]> code.delx.au - gnu-emacs-elpa/commitdiff
Allow sending bug control messages from random modes.
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 19 Jul 2011 15:23:27 +0000 (17:23 +0200)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 19 Jul 2011 15:23:27 +0000 (17:23 +0200)
* debbugs-gnu.el (debbugs-guess-current-id): New function.
(debbugs-gnu-send-control-message): Use it.

packages/debbugs/ChangeLog
packages/debbugs/debbugs-gnu.el

index 342be836d7ea6c2005ffeb71854b9fadf9152efc..e5d30bbcedc1ea2df441132eca4e8dd1e2ed7559 100644 (file)
@@ -1,3 +1,8 @@
+2011-07-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * debbugs-gnu.el (debbugs-guess-current-id): New function.
+       (debbugs-gnu-send-control-message): Use it.
+
 2011-07-19  Michael Albinus  <michael.albinus@gmx.de>
 
        * debbugs-gnu.el (debbugs-gnu-default-suppress-bugs): New customer
index d592d334622bb65d7c4b8158e7e9f5aa303ef7e7..60c893936c6607032590dd86c6b0c211077340b1 100644 (file)
@@ -337,7 +337,6 @@ expression matchin the corresponding value, a string."
   (debbugs-gnu-mode)
   (let ((inhibit-read-only t)
        (debbugs-port "gnu.org"))
-
     (erase-buffer)
     (set (make-local-variable 'debbugs-gnu-current-widget)
         widget)
@@ -732,6 +731,17 @@ The following commands are available:
             ;; `message-simplify-subject'.  So we cannot use m-s-s.
             (setq subject ,debbugs-gnu-subject)))))))
 
+(defun debbugs-guess-current-id ()
+  "Guess the ID based on \"#23\"."
+  (save-excursion
+    (beginning-of-line)
+    (and
+     (or (re-search-forward "#\\([0-9]+\\)" (line-end-position) t)
+        (progn
+          (goto-char (point-min))
+          (re-search-forward "#\\([0-9]+\\)" nil t)))
+     (string-to-number (match-string 1)))))
+
 (defun debbugs-gnu-send-control-message (message &optional reverse)
   "Send a control message for the current bug report.
 You can set the severity or add a tag, or close the report.  If
@@ -754,6 +764,7 @@ removed instead."
          nil t)
         current-prefix-arg))
   (let* ((id (or debbugs-gnu-bug-number        ; Set on group entry.
+                (debbugs-guess-current-id)
                 (debbugs-gnu-current-id)))
         (version
          (when (member message '("close" "done"))