erbot-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Erbot-cvs] Changes to erbot/erbeng.el


From: D . Goel
Subject: [Erbot-cvs] Changes to erbot/erbeng.el
Date: Thu, 28 Apr 2005 12:27:28 -0400

Index: erbot/erbeng.el
diff -u erbot/erbeng.el:1.13 erbot/erbeng.el:1.14
--- erbot/erbeng.el:1.13        Tue Mar 29 19:14:26 2005
+++ erbot/erbeng.el     Thu Apr 28 16:27:27 2005
@@ -1,5 +1,5 @@
 ;;; erbeng.el --- 
-;; Time-stamp: <2005-03-29 14:10:31 deego>
+;; Time-stamp: <2005-04-28 12:26:26 deego>
 ;; Copyright (C) 2002 D. Goel
 ;; Emacs Lisp Archive entry
 ;; Filename: erbeng.el
@@ -76,6 +76,11 @@
 (defvar erbeng-userinfo)
 
 
+(defvar erbot-show-type-p t
+  "Whether to show type of non-string objects when replying...
+
+The old behavior was equivalent to having this as nil.")
+
 
 ;;;###autoload
 (defun erbeng-main (msg proc nick tgt localp userinfo)
@@ -106,83 +111,81 @@
 nil nil\ nil nil nil nil nil nil nil nil]
 
 "
-  (let* (
-   (erbeng-nick nick)
-   (erbeng-msg msg)
-   (erbeng-proc proc)
-   (erbeng-tgt tgt)
-   (erbeng-localp localp)
-   (erbeng-userinfo userinfo)
-   (fs-found-query-p nil)
-   (fs-internal-addressedatlast nil)
-   (fs-internal-message-sans-bot-name fs-internal-message-sans-bot-name)
-   (fs-prestring fs-prestring)
-   tmpvar
-   parsed-msg rep
-   (fs-msg fs-msg)
-   (fs-msglist fs-msglist)
-   (fs-msgsansbot fs-msgsansbot)
-   (fs-msglistsansbot fs-msglistsansbot)
-   (fs-lispa fs-lispa)
-   (fs-lispb fs-lispb)
-   (fs-lispc fs-lispc)
-   (fs-lispd fs-lispd)
-   (fs-lispe fs-lispe)
-   )
+  (let* 
+      (
+       (erbeng-nick nick)
+       (erbeng-msg msg)
+       (erbeng-proc proc)
+       (erbeng-tgt tgt)
+       (erbeng-localp localp)
+       (erbeng-userinfo userinfo)
+       (fs-found-query-p nil)
+       (fs-internal-addressedatlast nil)
+       (fs-internal-message-sans-bot-name fs-internal-message-sans-bot-name)
+       (fs-prestring fs-prestring)
+       tmpvar
+       parsed-msg rep
+       (fs-msg fs-msg)
+       (fs-msglist fs-msglist)
+       (fs-msgsansbot fs-msgsansbot)
+       (fs-msglistsansbot fs-msglistsansbot)
+       (fs-lispa fs-lispa)
+       (fs-lispb fs-lispb)
+       (fs-lispc fs-lispc)
+       (fs-lispd fs-lispd)
+       (fs-lispe fs-lispe)
+       )
     ;;(concat nick ": " "/leave Test.. one big big test...")
     ;;(erbutils-ignore-errors
-     
-     ;; this can also modify fs-found-query
+    
+    ;; this can also modify fs-found-query
     (setq parsed-msg 
-    (or (condition-case tmpvar
-            (fs-parse msg proc nick tgt localp userinfo)
-          (error 
-          ;;"(error \"Please supply a completed lisp form\")"
-          ;; Note that this could be bad: 
-          ;; someone may not even be referring to the bot here:
-          (if 
-              fs-internal-parse-error-p
-              (format "(error %S )" 
-                      (error-message-string tmpvar))
-              (format "(fs-english-only %S)" msg))
-         
-          ))
-       (and (featurep 'erbmsg)
-            erbot-erbmsg-p
-            (erbmsg-parse msg proc nick tgt localp userinfo))))
+         (or (condition-case tmpvar
+                 (fs-parse msg proc nick tgt localp userinfo)
+               (error 
+                ;;"(error \"Please supply a completed lisp form\")"
+                ;; Note that this could be bad: 
+                ;; someone may not even be referring to the bot here:
+                (if 
+                    fs-internal-parse-error-p
+                    (format "(error %S )" 
+                            (error-message-string tmpvar))
+                  (format "(fs-english-only %S)" msg))
+                
+                ))
+             (and (featurep 'erbmsg)
+                  erbot-erbmsg-p
+                  (erbmsg-parse msg proc nick tgt localp userinfo))))
     
     ;;(if (and (first parsed-msg) erbot-nick
     ;;        (string= (first parsed-msg)
     ;;           erbot-nick))
     ;; parsed-msg will never be null if the msg was addressed to fsbot..
-    (cond
-     (parsed-msg
-      (setq rep 
-      ;;(erbutils-ignore-errors
-       (with-timeout 
-     (erbeng-reply-timeout
-      "overall timeout")
-         (erbutils-ignore-errors
-         (erbeng-get-reply parsed-msg proc nick tgt )))
-       )
+    (if
+       parsed-msg
+       (progn
+         (setq rep 
+               ;;(erbutils-ignore-errors
+               (with-timeout 
+                   (erbeng-reply-timeout
+                    "overall timeout")
+                 (erbutils-ignore-errors
+                  (erbeng-get-reply parsed-msg proc nick tgt )))
+               )
+         (cond
+          ((string= "noreply" (format "%s" rep)) 'noreply)
+          ((and (stringp rep) (not (equal rep ""))) (format "%s%s"
+                                                            fsi-prestring
+                                                            rep))
+          (t 
+           (cond
+            (erbot-show-type-p
+             (format "%s%S  (%s)" fsi-prestring rep (type-of rep)))
+            ((equal "" rep) "EMPTY STRING RETURNED")
+            (t (format "%s%S" fsi-prestring rep))))))
       
-      (when rep
-  (if (erbeng-lisp-object-p parsed-msg)
-      (setq rep (format "%S" rep)))
-  
-  (progn (setq rep 
-         (format 
-          (if (stringp rep) "%s%s" 
-      "%s%S")
-          fs-prestring rep))
-
-         (if (null (split-string rep))
-       (if 
-           fs-found-query-p ""
-         "EMPTY STRING RETURNED.." )
-     
-     rep))))
-     (t 'noreply))))
+      'noreply)))
+
 
 
 (defun erbeng-lisp-object-p (msg) 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]