X-Git-Url: https://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece-ndcc.el;h=cd553ae63b3313188085b08f150eefd5b463a2fe;hp=8f390b7fdf67353b9ce0944a8fe9576a10093711;hb=587bd93a160b3df9204ff1581132c30fd1abb344;hpb=29f64e9d1164d24f6657e79f35efdb18fc04b4c0 diff --git a/lisp/riece-ndcc.el b/lisp/riece-ndcc.el index 8f390b7..cd553ae 100644 --- a/lisp/riece-ndcc.el +++ b/lisp/riece-ndcc.el @@ -1,4 +1,4 @@ -;;; riece-ndcc.el --- elisp native DCC add-on +;;; riece-ndcc.el --- DCC file sending protocol support (written in elisp) ;; Copyright (C) 1998-2003 Daiki Ueno ;; Author: Daiki Ueno @@ -21,6 +21,10 @@ ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. +;;; Commentary: + +;; NOTE: This is an add-on module for Riece. + ;;; Code: (require 'riece-globals) @@ -44,10 +48,8 @@ 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 extension implemented with `make-network-process'") + "DCC file sending protocol support (written in elisp.)") (defun riece-ndcc-encode-address (address) (unless (string-match @@ -192,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)) @@ -228,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))