Refactor mml-smime.el, mml1991.el, mml2015.el
[gnus] / lisp / gnus-compat.el
index 3eac265..c31baa7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-compat.el --- Compatability functions for Gnus
 
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: compat
@@ -144,6 +144,29 @@ one is kept."
 (unless (fboundp 'declare-function)
   (defmacro declare-function (&rest r)))
 
+(unless (fboundp 'string-bytes)
+  (defun string-bytes (string)
+    (length (if (or (mm-coding-system-p 'utf-8)
+                   (ignore-errors
+                     (let (mucs-ignore-version-incompatibilities)
+                       (require 'un-define))))
+               (mm-encode-coding-string string 'utf-8)
+             string))))
+
+(unless (fboundp 'process-live-p)
+  (defun process-live-p (process)
+    "Returns non-nil if PROCESS is alive.
+A process is considered alive if its status is `run', `open',
+`listen', `connect' or `stop'.  Value is nil if PROCESS is not a
+process."
+    (and (processp process)
+        (memq (process-status process)
+              '(run open listen connect stop)))))
+
+;; XEmacs doesn't have auto-autoloads for overlay functions.
+(when (featurep 'xemacs)
+  (require 'overlay))
+
 (provide 'gnus-compat)
 
 ;; gnus-compat.el ends here