-;;; riece-url.el --- URL collector add-on
+;;; riece-url.el --- collect URL in IRC buffers
;; Copyright (C) 1998-2003 Daiki Ueno
;; Author: Daiki Ueno <ueno@unixuser.org>
;;; Commentary:
-;; To use, add the following line to your ~/.riece/init.el:
-;; (add-to-list 'riece-addons 'riece-url)
+;; NOTE: This is an add-on module for Riece.
;;; Code:
(defgroup riece-url nil
"URL Browsing in IRC buffer."
+ :prefix "riece-"
:group 'riece)
(defcustom riece-url-regexp "\\b\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\):\\(//[-a-zA-Z0-9_.]+:[0-9]*\\)?[-a-zA-Z0-9_=?#$@~`%&*+|\\/.,;]*[-a-zA-Z0-9_=#$@~`%&*+|\\/;]"
'((\"\\\\bBug#\\\\([0-9]+\\\\)\\\\b\" .
\"http://bugs.debian.org/\\\\1\")))
-This will map a string \"Bug#12345\" to a URL
+This maps a string \"Bug#12345\" to a URL
\"http://bugs.debian.org/12345\"."
:type 'alist
:group 'riece-url)
(defvar riece-url-enabled nil)
(defconst riece-url-description
- "Collect URL in IRC buffers")
+ "Collect URL in IRC buffers.")
(autoload 'widget-convert-button "wid-edit")
(save-excursion
(goto-char start)
(while (re-search-forward (car (car alist)) end t)
- (let ((url (riece-url-replace-match (cdr (car alist)))))
+ (let ((url (save-match-data
+ (riece-url-replace-match (cdr (car alist))))))
(if (memq 'riece-highlight riece-addons)
(widget-convert-button
'url-link (match-beginning 0) (match-end 0) url))
(if (memq 'riece-menu riece-addons)
'(riece-menu))))
+(defun riece-url-command-mode-hook ()
+ (easy-menu-add-item
+ nil (list (car riece-menu-items))
+ '("Open URL..." :filter riece-url-create-menu)))
+
(defun riece-url-insinuate ()
(add-hook 'riece-after-insert-functions 'riece-url-scan-region)
(if (memq 'riece-menu riece-addons)
(add-hook 'riece-command-mode-hook
- (lambda ()
- (easy-menu-add-item
- nil (list (car riece-menu-items))
- '("Open URL..." :filter riece-url-create-menu)))
+ 'riece-url-command-mode-hook
t)))
+(defun riece-url-uninstall ()
+ (remove-hook 'riece-after-insert-functions 'riece-url-scan-region)
+ (remove-hook 'riece-command-mode-hook
+ 'riece-url-command-mode-hook))
+
(defun riece-url-enable ()
(define-key riece-dialogue-mode-map "U" 'riece-command-browse-url)
(setq riece-url-enabled t))