;;; jde-compat.el -- Integrated Development Environment for Java.
;; Author: Paul Kinnucan <paulk@mathworks.com>
;; Maintainer: Paul Kinnucan
;; Keywords: java, tools
;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004 Paul Kinnucan.
;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
;;; Commentary:
;;
;; This library is intended to eliminate compiler warnings caused
;; by reference to variables that are defined only in Emacs or
;; only in XEmacs or in a particular version of either.
;; This library is required only for compilation.
;;; Code:
(defconst jde-xemacsp (string-match "XEmacs" (emacs-version))
"Non-nil if we are running in the XEmacs environment.")
(defconst jde-xemacs20p (and jde-xemacsp (>= emacs-major-version 20)))
(defconst jde-emacs21p (and (string-match "\\bEmacs\\b" (emacs-version))
(>= emacs-major-version 21)))
;; Define XEmacs- and Emacs-only variables
;; and functions to avoid compiler warnings.
(if jde-xemacsp
(progn
(defvar w32-start-process-show-window nil)
(defvar w32-quote-process-args nil)
(defvar last-nonmenu-event nil)
(defvar tags-table-format-hooks nil)
(defvar auto-insert nil)
(defvar message-log-max nil)
(defun easy-menu-create-menu (&rest args))
(defun define-key-after (&rest args))
(defun ange-ftp-ftp-name (&rest args))
(defun ange-ftp-get-file-entry (&rest args))
(defun make-overlay (beg end &optional buffer front-advance rear-advance))
(defun delete-overlay (overlay))
(defun overlay-start (overlay))
(defun overlay-end (overlay))
(defun overlay-lists ())
(defun event-start (ev))
(defun posn-point (p))
(defun posn-window (p))
(defalias 'frame-char-width 'frame-width)
(defalias 'frame-char-height 'frame-height))
(progn
;; These are XEmacs-only functions
(defvar current-menubar nil)
(defvar tags-table-format-hooks nil)
(defvar windowed-process-io nil)
(unless (fboundp 'add-submenu)
(defun add-submenu (&rest args)))
(defun frame-property (&rest args))
(defun frame-highest-window (&rest args))
(defun mswindows-cygwin-to-win32-path (&rest args))
(defun ange-ftp-ftp-name (&rest args))
(defun ange-ftp-get-file-entry (&rest args))
(defun mswindows-cygwin-to-win32-path (&rest args))
(defun add-submenu (&rest args))
(defun add-menu (&rest args))
(defun easy-menu-create-keymaps (&rest args))
(defun locate-data-directory (&rest args))
(defun temp-directory (&rest args))
(defun extent-at (&rest args))
(defun make-extent (&rest args))
(defun set-extent-face (&rest args))
(defun set-extent-priority (&rest args))
(defun extent-property (&rest args))
(defun delete-extent (&rest args))
(defun map-extents (&rest args))
(defun extent-start-position (&rest args))))
;; Define XEmacs- and Emacs-only variables
;; and functions to avoid compiler warnings.
(if (not jde-xemacsp)
(defun make-event (&rest args)))
(if jde-emacs21p
(progn
(defvar browse-url-new-window-p nil)
(defun hscroll-window-column (&rest args))))
;; Avoid undefined function error when compiling jde-help.
(defun url-file-exists (&args))
;; Required to compile jde-java-font-lock.el in versions
;; of Emacs that lack the cc-fonts package.
(eval-when-compile
(if (not (fboundp 'c-make-font-lock-search-function))
(defun c-make-font-lock-search-function (&rest args))))
;; From custom web page for compatibility between versions of custom:
(condition-case ()
(require 'custom)
(error nil))
(if (and (featurep 'custom) (fboundp 'custom-declare-variable))
nil ;; We've got what we needed
;; We have the old custom-library, hack around it!
(defmacro defgroup (&rest args)
nil)
(defmacro defface (var values doc &rest args)
(` (progn
(defvar (, var) (quote (, var)))
;; To make colors for your faces you need to set your .Xdefaults
;; or set them up ahead of time in your .emacs file.
(make-face (, var))
)))
(defmacro defcustom (var value doc &rest args)
(` (defvar (, var) (, value) (, doc)))))
(provide 'jde-compat)
;; Change History
;;
;; $Log: jde-compat.el,v $
;; Revision 1.6 2004/10/11 03:59:22 paulk
;; Various updates.
;;
;; Revision 1.5 2004/07/01 14:04:39 jslopez
;; Compatibility fix for emacs in CVS. Replaces jde-xemacsp check for boundp for
;; the following variables: compilation-nomessage-regexp-alist,
;; compilation-file-regexp-alist, compilation-leave-directory-regexp-alist,
;; compilation-enter-directory-regexp-alist. Uses the compilation-mode without a
;; parameter. The emacs in CVS does not contain the variables, or the parameter
;; for compilation mode.
;;
;; Revision 1.4 2003/10/23 03:57:11 paulk
;; Added compatibility fix for older versions of XEmacs. Thanks to Len Trigg.
;;
;; Revision 1.3 2003/04/01 04:05:15 paulk
;; Add change log to end of file.
;;
;;
;; End of jde-compat.el