;;; pcustom.el -- a portable custom.el.
+;; Copyright (C) 1999 Free Software Foundation, Inc.
;; Copyright (C) 1999 Mikio Nakajima <minakaji@osaka.email.ne.jp>
;; Author: Mikio Nakajima <minakaji@osaka.email.ne.jp>
-;; Maintainer: Mikio Nakajima <minakaji@osaka.email.ne.jp>
+;; Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
;; Keywords: emulating, custom
;; This file is part of APEL (A Portable Emacs Library).
;; 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.
+;; along with this program; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Commentary:
;;; Code:
-(condition-case nil
+(require 'poe)
+(eval-when-compile (require 'static))
+
+(static-if (condition-case nil
+ ;; compile-time check.
+ (if (and (require 'custom)
+ (fboundp 'custom-declare-variable))
+ ;; you have "new custom".
+ t
+ ;; you have custom, but it is "old".
+ (message "\
+ ** \"old custom\" is loaded. See README if you want to use \"new custom\".")
+ (sleep-for 1)
+ nil)
+ ;; you don't have custom.
+ (error nil))
+ ;; you have "new custom". no load-time check.
(require 'custom)
- (error (require 'tinycustom)) )
+ ;; your custom is "old custom",
+ ;; or you don't have custom library at compile-time.
+ (or (condition-case nil
+ ;; load-time check.
+ ;; load "custom" if exists.
+ (and (require 'custom)
+ (fboundp 'custom-declare-variable))
+ (error nil))
+ ;; your custom is "old custom",
+ ;; or you don't have custom library.
+ ;; load emulation version of "new custom".
+ (require 'tinycustom)))
-(provide 'pcustom)
+(require 'product)
+(product-provide (provide 'pcustom) (require 'apel-ver))
-;; end of pcustom.el
+;;; pcustom.el ends here