Merge XEmacs changes.
[elisp/liece.git] / lisp / liece-channel.el
index ed545e4..80377a6 100644 (file)
@@ -30,6 +30,7 @@
 ;;; Code:
 
 (eval-when-compile (require 'liece-inlines))
+(eval-when-compile (require 'liece-misc))
 
 (eval-when-compile (require 'liece-clfns))
 
 
 ;;; Reader conventions
 (defun liece-channel-p (chnl)
-  (string-match
-   (eval-when-compile
-     (concat "^" liece-channel-regexp))
-   chnl))
+  (string-match (concat "^" liece-channel-regexp) chnl))
 
 (defun liece-channel-modeless-p (chnl)
-  (string-match
-   (eval-when-compile
-     (concat "^" liece-channel-modeless-regexp))
-   chnl))
+  (string-match (concat "^" liece-channel-modeless-regexp) chnl))
 
-(defalias 'liece-channel-equal 'string-equal-ignore-case)
+(defun liece-channel-equal (c1 c2)
+  (string-equal-ignore-case c1 c2))
 
 (defun liece-channel-member (chnl chnls)
   "Return non-nil if CHNL is member of CHNLS."
@@ -289,10 +285,10 @@ Otherwise they are removed from the channel."
       (setq liece-channel-buffer-mode (not liece-channel-buffer-mode)))
   (liece-configure-windows))
 
-(defmacro liece-channel-buffer-create (chnl)
+(defun liece-channel-buffer-create (chnl)
   "Create channel buffer of CHNL."
-  `(with-current-buffer
-       (liece-get-buffer-create (format liece-channel-buffer-format ,chnl))
+  (with-current-buffer
+       (liece-get-buffer-create (format liece-channel-buffer-format chnl))
      (let (buffer-read-only)
        (liece-insert-info (current-buffer)
                           (concat (funcall liece-format-time-function
@@ -300,7 +296,7 @@ Otherwise they are removed from the channel."
                                   " Created.\n")))
      (unless (eq major-mode 'liece-channel-mode)
        (liece-channel-mode))
-     (set-alist 'liece-channel-buffer-alist ,chnl (current-buffer))
+     (set-alist 'liece-channel-buffer-alist chnl (current-buffer))
      (current-buffer)))
 
 (defun liece-channel-join-internal (item chnls &optional hints)
@@ -345,6 +341,12 @@ If NOSW is non-nil do not switch to newly created channel."
            liece-nick-buffer nbuf))
     (liece-channel-change)))
 
+(defmacro liece-channel-switch-to-last (chnls)
+  `(let ((chnl (liece-channel-last ,chnls)))
+     (if chnl
+        (liece-switch-to-channel chnl))
+     (liece-channel-change)))
+
 (defun liece-channel-part-internal (item chnls &optional hints)
   (if hints
       (mapcar
@@ -373,12 +375,6 @@ If NOSW is non-nil do not switch to newly created channel."
 (defun liece-channel-last (chnls)
   (car (last (delq nil (copy-sequence chnls)))))
 
-(defmacro liece-channel-switch-to-last (chnls)
-  `(let ((chnl (liece-channel-last ,chnls)))
-     (if chnl
-        (liece-switch-to-channel chnl))
-     (liece-channel-change)))
-
 (defun liece-channel-change ()
   (let ((chnls (if (eq liece-command-buffer-mode 'chat)
                   liece-current-chat-partners