Fixed.
[riece] / lisp / riece-ndcc.el
index 1dad2c9..cd553ae 100644 (file)
@@ -48,8 +48,6 @@ Only used for sending files."
 (defvar riece-ndcc-request-user nil)
 (defvar riece-ndcc-request-size nil)
 
-(defvar riece-ndcc-enabled nil)
-
 (defconst riece-ndcc-description
   "DCC file sending protocol support (written in elisp.)")
 
@@ -196,7 +194,7 @@ Only used for sending files."
 
 (defun riece-handle-dcc-request (prefix target message)
   (let ((case-fold-search t))
-    (when (and riece-ndcc-enabled
+    (when (and (get 'riece-ndcc 'riece-addon-enabled)
               (string-match
                "SEND \\([^ ]+\\) \\([^ ]+\\) \\([^ ]+\\) \\([^ ]+\\)"
                message))
@@ -232,8 +230,13 @@ Only used for sending files."
 
 (defvar riece-dialogue-mode-map)
 (defun riece-ndcc-insinuate ()
+  (unless (fboundp 'make-network-process)
+    (error "This Emacs does not have make-network-process"))
   (add-hook 'riece-ctcp-dcc-request-hook 'riece-handle-dcc-request))
 
+(defun riece-ndcc-uninstall ()
+  (remove-hook 'riece-ctcp-dcc-request-hook 'riece-handle-dcc-request))
+
 (defun riece-ndcc-enable ()
   (define-key riece-dialogue-mode-map "\C-ds" 'riece-command-dcc-send)
   (define-key riece-dialogue-mode-map "\C-dr" 'riece-command-dcc-receive))