Prevent an args-out-of-range error during login/out
[riece] / lisp / riece-eval-ruby.el
index c280df7..58682c9 100644 (file)
@@ -1,4 +1,4 @@
-;;; riece-eval-ruby.el --- evaluate Ruby programs in channels
+;;; riece-eval-ruby.el --- evaluate input string as a Ruby program -*- lexical-binding: t -*-
 ;; Copyright (C) 1998-2005 Daiki Ueno
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
-;; To use, add the following line to your ~/.riece/init.el:
-;; (add-to-list 'riece-addons 'riece-eval-ruby)
+;; NOTE: This is an add-on module for Riece.
 
 ;;; Code:
 
@@ -33,7 +32,8 @@
 (require 'riece-message)
 
 (defgroup riece-eval-ruby nil
-  "Evaluate Ruby programs in channels."
+  "Evaluate input string as a Ruby program."
+  :prefix "riece-"
   :group 'riece)
 
 (defcustom riece-eval-ruby-prefix-regexp "^,ruby\\s-+"
   :type 'string
   :group 'riece-eval-ruby)
 
-(defvar riece-eval-ruby-enabled nil)
-
 (defconst riece-eval-ruby-description
-  "Evaluate an input string as Ruby program.")
+  "Evaluate input string as a Ruby program.")
 
 (defun riece-eval-ruby-exit-handler (name)
   (riece-ruby-inspect name)
@@ -67,7 +65,7 @@
                         'notice))))
 
 (defun riece-eval-ruby-display-message-function (message)
-  (if (and riece-eval-ruby-enabled
+  (if (and (get 'riece-eval-ruby 'riece-addon-enabled)
           (riece-message-own-p message)
           (string-match riece-eval-ruby-prefix-regexp
                         (riece-message-text message)))
   (add-hook 'riece-after-display-message-functions
            'riece-eval-ruby-display-message-function))
 
-(defun riece-eval-ruby-enable ()
-  (setq riece-eval-ruby-enabled t))
-
-(defun riece-eval-ruby-disable ()
-  (setq riece-eval-ruby-enabled nil))
+(defun riece-eval-ruby-uninstall ()
+  (remove-hook 'riece-after-display-message-functions
+              'riece-eval-ruby-display-message-function))
 
 (provide 'riece-eval-ruby)