;;; jde-compat.el -- Integrated Development Environment for Java. ;; Author: Paul Kinnucan ;; 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