X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fgnus-compat.el;h=ce3ad98665648b76024dcacff1a26f25a15f95f1;hb=8f248b21e733d5b77a20135e31902eda2a0c92f0;hp=130748853e68d3a8ef78389f2fe774f64f75ed41;hpb=0083071bc8c341265712e48a4cd128d280fbec94;p=gnus diff --git a/lisp/gnus-compat.el b/lisp/gnus-compat.el index 130748853..ce3ad9866 100644 --- a/lisp/gnus-compat.el +++ b/lisp/gnus-compat.el @@ -1,6 +1,6 @@ ;;; gnus-compat.el --- Compatability functions for Gnus -;; Copyright (C) 2012 Free Software Foundation, Inc. +;; Copyright (C) 2012-2014 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: compat @@ -97,6 +97,38 @@ TRASH is ignored." (lambda (process status) (apply function process status args)))))) +;; XEmacs 21.4 +(unless (fboundp 'bound-and-true-p) + (defmacro bound-and-true-p (var) + "Return the value of symbol VAR if it is bound, else nil." + (and (boundp var) + (symbol-value var)))) + + +;; Emacs less than 24.3 +(unless (fboundp 'add-face) + (defun add-face (beg end face) + "Combine FACE BEG and END." + (let ((b beg)) + (while (< b end) + (let ((oldval (get-text-property b 'face))) + (put-text-property + b (setq b (next-single-property-change b 'face nil end)) + 'face (cond ((null oldval) + face) + ((and (consp oldval) + (not (keywordp (car oldval)))) + (cons face oldval)) + (t + (list face oldval))))))))) + +(unless (fboundp 'move-beginning-of-line) + (defun move-beginning-of-line (arg) + (interactive "p") + (unless (= arg 1) + (forward-line arg)) + (beginning-of-line))) + (provide 'gnus-compat) ;; gnus-compat.el ends here