Improved URL regexp.
[elpher.git] / elopher.el
index 217ef98..4617d08 100644 (file)
@@ -306,7 +306,7 @@ The result is stored as a string in the variable elopher-selector-string."
 
 ;; Text retrieval
 
-(defvar elopher-url-regex "\\(https?\\|gopher\\)://\\([a-z.\-]+\\)\\(?3::[0-9]+\\)?\\(?4:/[^ \r\n\t(),]*\\)")
+(defvar elopher-url-regex "\\(https?\\|gopher\\)://\\([a-zA-Z0-9.\-]+\\)\\(?3::[0-9]+\\)?\\(?4:/[^ \r\n\t(),]*\\)")
 
 (defun elopher-buttonify-urls (string)
   "Turn substrings which look like urls in STRING into clickable buttons."
@@ -532,11 +532,13 @@ The result is stored as a string in the variable elopher-selector-string."
   (interactive)
   (let ((button (button-at (point))))
     (if button
-        (elopher-visit-node (button-get button 'elopher-node)
-                            #'elopher-get-node-download)
+        (let ((node (button-get button 'elopher-node)))
+          (if node
+              (elopher-visit-node (button-get button 'elopher-node)
+                                  #'elopher-get-node-download)
+            (message "Can only download gopher links, not general URLs.")))
       (message "No link selected."))))
 
-
 ;;; Mode and keymap
 ;;