1 ;; Copyright (C) 2007-2008 Vesa Karvonen
3 ;; MLton is released under a BSD-style license.
4 ;; See the file MLton-LICENSE for details.
6 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7 ;; Gnu Emacs / XEmacs compatibility workarounds
9 (if (string-match "XEmacs" emacs-version
)
10 (defun compat-replace-regexp-in-string (str regexp rep
)
11 (replace-in-string str regexp rep t
))
12 (defun compat-replace-regexp-in-string (str regexp rep
)
13 (replace-regexp-in-string regexp rep str t t
)))
15 (if (string-match "XEmacs" emacs-version
)
16 (defun compat-error (str &rest objs
)
17 (error 'error
(concat "Error: " (apply (function format
) str objs
) ".")))
18 (defalias 'compat-error
(function error
)))
20 (if (string-match "XEmacs" emacs-version
)
21 (defalias 'compat-add-local-hook
(function add-local-hook
))
22 (defun compat-add-local-hook (hook fn
)
23 (add-hook hook fn nil t
)))
25 (if (string-match "XEmacs" emacs-version
)
26 (defun compat-abbreviate-file-name (file)
27 (abbreviate-file-name file t
))
28 (defalias 'compat-abbreviate-file-name
(function abbreviate-file-name
)))
30 (if (string-match "XEmacs" emacs-version
)
31 (defalias 'compat-delete-timer
(function delete-itimer
))
32 (defalias 'compat-delete-timer
(function cancel-timer
)))
34 (if (string-match "XEmacs" emacs-version
)
35 (defalias 'compat-read-file-name
(function read-file-name
))
36 (defun compat-read-file-name (&optional a b c d e f
)
37 (funcall (function read-file-name
) a b c d e
)))
39 (if (string-match "XEmacs" emacs-version
)
40 (defalias 'compat-process-live-p
(function process-live-p
))
41 (defun compat-process-live-p (process)
42 (case (process-status process
)
45 (if (string-match "XEmacs" emacs-version
)
46 (defun compat-compilation-parse-errors ()
47 (funcall compilation-parse-errors-function nil nil
))
48 (defun compat-compilation-parse-errors ()
49 (compilation-compat-parse-errors (point-max))))
51 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;