Move provide to the top to avoid circular dependency.
[elisp/apel.git] / poem.el
diff --git a/poem.el b/poem.el
index 63f670f..1af8f4d 100644 (file)
--- a/poem.el
+++ b/poem.el
 
 (require 'poe)
 
+(eval-and-compile
+  (unless (fboundp 'open-network-stream)
+    (require 'tcp)))
+
 (cond ((featurep 'mule)
        (cond ((featurep 'xemacs)
              (require 'poem-xm)
        ;; for Nemacs and Nepoch
        (require 'poem-nemacs)
        )
+      ((featurep 'file-coding)
+       ;; file coding xemacs
+       (require 'poem-xfc)
+       )
       (t
        (require 'poem-ltn1)
        ))
@@ -62,6 +70,13 @@ If STRING is multibyte, the result is STRING itself.
 \[Emacs 20.3 emulating macro]"
   string)
 
+(defun-maybe charset-after (&optional pos)
+  "Return charset of a character in current buffer at position POS.
+If POS is nil, it defauls to the current point.
+If POS is out of range, the value is nil.
+\[Emacs 20.3 emulating function]"
+  (char-charset (char-after pos))
+  )
 
 ;;; @ XEmacs-mule emulation
 ;;;
@@ -78,8 +93,8 @@ If STRING is multibyte, the result is STRING itself.
   "Return the octet numbered N (should be 0 or 1) of char CH.
 N defaults to 0 if omitted. [XEmacs-mule emulating function]"
   (or (nth (if n
-              1
-            (1+ n))
+              (1+ n)
+            1)
           (split-char ch))
       0))