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

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

[elpa] externals/debbugs 9ba8dcc 139/311: Minor improvements to debbugs-


From: Stefan Monnier
Subject: [elpa] externals/debbugs 9ba8dcc 139/311: Minor improvements to debbugs-reference.el
Date: Sun, 29 Nov 2020 18:41:57 -0500 (EST)

branch: externals/debbugs
commit 9ba8dcc5460af534b5d2dcaea2f4d4893521a29d
Author: Michael Albinus <michael.albinus@gmx.de>
Commit: Michael Albinus <michael.albinus@gmx.de>

    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'.
---
 debbugs-reference.el | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/debbugs-reference.el b/debbugs-reference.el
index 12664a0..e7dd6b6 100644
--- a/debbugs-reference.el
+++ b/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]