X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/0f74f7850de124626d556442d22d143d85457816..7a22490f14441898e1c4f6679f5924f097f3bb34:/lisp/mh-e/mh-compat.el?ds=sidebyside diff --git a/lisp/mh-e/mh-compat.el b/lisp/mh-e/mh-compat.el index 07c558f60c..b755572c95 100644 --- a/lisp/mh-e/mh-compat.el +++ b/lisp/mh-e/mh-compat.el @@ -1,6 +1,6 @@ -;;; mh-compat.el --- make MH-E compatibile with various versions of Emacs +;;; mh-compat.el --- make MH-E compatible with various versions of Emacs -;; Copyright (C) 2006-2011 Free Software Foundation, Inc. +;; Copyright (C) 2006-2013 Free Software Foundation, Inc. ;; Author: Bill Wohler ;; Maintainer: Bill Wohler @@ -75,6 +75,12 @@ introduced in Emacs 22." 'cancel-timer 'delete-itimer)) +;; Emacs 24 renamed flet to cl-flet. +(defalias 'mh-cl-flet + (if (fboundp 'cl-flet) + 'cl-flet + 'flet)) + (defun mh-display-color-cells (&optional display) "Return the number of color cells supported by DISPLAY. This function is used by XEmacs to return 2 when `device-color-cells' @@ -174,7 +180,7 @@ compatibility with versions of Emacs that lack the variable dir (expand-file-name "../" dir)))) (setq image-directory-load-path dir)) - ;; If `image-directory-load-path' isn't Emacs' image directory, + ;; If `image-directory-load-path' isn't Emacs's image directory, ;; it's probably a user preference, so use it. Then use a ;; relative setting if possible; otherwise, use ;; `image-directory-load-path'. @@ -205,7 +211,7 @@ compatibility with versions of Emacs that lack the variable ;; Set it to nil if image is not found. (cond ((file-exists-p (expand-file-name image d2ei)) d2ei) ((file-exists-p (expand-file-name image d1ei)) d1ei))))) - ;; Use Emacs' image directory. + ;; Use Emacs's image directory. (image-directory-load-path (setq image-directory image-directory-load-path)) (no-error @@ -242,6 +248,40 @@ This function returns nil on those systems." This function returns nil on those systems." nil) +(defmacro mh-define-obsolete-variable-alias + (obsolete-name current-name &optional when docstring) + "Make OBSOLETE-NAME a variable alias for CURRENT-NAME and mark it obsolete. +See documentation for `define-obsolete-variable-alias' for a description +of the arguments OBSOLETE-NAME, CURRENT-NAME, and perhaps WHEN +and DOCSTRING. This macro is used by XEmacs that lacks WHEN and +DOCSTRING arguments." + (if (featurep 'xemacs) + `(define-obsolete-variable-alias ,obsolete-name ,current-name) + `(define-obsolete-variable-alias ,obsolete-name ,current-name ,when ,docstring))) + +(defmacro mh-make-obsolete-variable (obsolete-name current-name &optional when access-type) + "Make the byte-compiler warn that OBSOLETE-NAME is obsolete. +See documentation for `make-obsolete-variable' for a description +of the arguments OBSOLETE-NAME, CURRENT-NAME, and perhaps WHEN +and ACCESS-TYPE. This macro is used by XEmacs that lacks WHEN and +ACCESS-TYPE arguments." + (if (featurep 'xemacs) + `(make-obsolete-variable ,obsolete-name ,current-name) + `(make-obsolete-variable ,obsolete-name ,current-name ,when ,access-type))) + +(defmacro mh-make-obsolete-variable (obsolete-name current-name &optional when access-type) + "Make the byte-compiler warn that OBSOLETE-NAME is obsolete. +See documentation for `make-obsolete-variable' for a description +of the arguments OBSOLETE-NAME, CURRENT-NAME, and perhaps WHEN +and ACCESS-TYPE. This macro is used by XEmacs that lacks WHEN and +ACCESS-TYPE arguments and by Emacs versions that lack ACCESS-TYPE, +introduced in Emacs 24." + (if (featurep 'xemacs) + `(make-obsolete-variable ,obsolete-name ,current-name) + (if (< emacs-major-version 24) + `(make-obsolete-variable ,obsolete-name ,current-name ,when) + `(make-obsolete-variable ,obsolete-name ,current-name ,when ,access-type)))) + (defun-mh mh-match-string-no-properties match-string-no-properties (num &optional string) "Return string of text matched by last search, without text properties.