emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master d968b5f: Minor improvements to debbugs-reference.el


From: Michael Albinus
Subject: [elpa] master d968b5f: Minor improvements to debbugs-reference.el
Date: Wed, 08 Apr 2015 09:30:17 +0000

branch: master
commit d968b5f5bafc70d86e602fc2ffe848d8cdbf96a0
Author: Michael Albinus <address@hidden>
Commit: Michael Albinus <address@hidden>

    Minor improvements to debbugs-reference.el
    
    * debbugs-reference.el (debbugs-browse-url): Check URL pointing to
    debbugs.gnu.org.
    (debbugs-reference-mode, debbugs-reference-prog-mode):
    Use `add-function' and `remove-function'.
---
 packages/debbugs/debbugs-reference.el |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/packages/debbugs/debbugs-reference.el 
b/packages/debbugs/debbugs-reference.el
index 12664a0..e7dd6b6 100644
--- a/packages/debbugs/debbugs-reference.el
+++ b/packages/debbugs/debbugs-reference.el
@@ -32,8 +32,16 @@
 
 ;;;###autoload
 (defun debbugs-browse-url (url &optional _new-window)
-  (when (and (stringp url) (string-match "[[:digit:]]+$" url))
-    (debbugs-gnu-bugs (string-to-number (match-string 0 url)))))
+  (when (and (stringp url)
+            (string-match
+             (format
+              "^%s\\(%s\\)?\\([[:digit:]]+\\)$"
+              (regexp-quote "http://debbugs.gnu.org/";)
+              (regexp-quote "cgi/bugreport.cgi?bug="))
+             url))
+    (debbugs-gnu-bugs (string-to-number (match-string 2 url)))
+    ;; Return t for add-function mechanery.
+    t))
 
 ;;;###autoload
 (define-minor-mode debbugs-reference-mode
@@ -45,8 +53,9 @@ the mode if ARG is omitted or nil."
   ""
   nil
   (if debbugs-reference-mode
-       (setq-local browse-url-browser-function 'debbugs-browse-url)
-    (kill-local-variable 'browse-url-browser-function)))
+      (add-function
+       :before-until (local 'browse-url-browser-function) 'debbugs-browse-url)
+    (remove-function (local 'browse-url-browser-function) 
'debbugs-browse-url)))
 
 ;;;###autoload
 (define-minor-mode debbugs-reference-prog-mode
@@ -55,8 +64,9 @@ the mode if ARG is omitted or nil."
   ""
   nil
   (if debbugs-reference-prog-mode
-       (setq-local browse-url-browser-function 'debbugs-browse-url)
-    (kill-local-variable 'browse-url-browser-function)))
+      (add-function
+       :before-until (local 'browse-url-browser-function) 'debbugs-browse-url)
+    (remove-function (local 'browse-url-browser-function) 
'debbugs-browse-url)))
 
 (provide 'debbugs-reference)
 ;;; debbugs-reference.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]