view lisp/cus-load.el @ 2951:b694dfd2f40e

[xemacs-hg @ 2005-09-26 08:13:00 by ben] Compile Windows with gmp, ldap, postgresql, db, etc. README: Major rewrite. Document how to compile various optional libs. config.inc.samp: Update to recent versions of optional libs. Add support for gmp, db, postgresql, ldap. Turn on optimization when not debug. minitar.c: Include config.h. xemacs.mak: Figure out VC++ version and use it to set debug and browser flags appropriately. Add support for building gmp, db, postgresql, ldap. Rewrite handling of optional stuff so it is all added to single variables OPT_* rather than to various FOO_* variables. Pass -I$(SRC) to minitar.c so it compiles. Pass module sources, not objects, to make-docfile. Delete more stuff in `make clean'.
author ben
date Mon, 26 Sep 2005 08:13:00 +0000
parents 3ecd8885ac67
children 308d34e9f07d
line wrap: on
line source

;;; cus-load.el --- Batch load all available cus-load files

;; Copyright (C) 1997 by Free Software Foundation, Inc.

;; Author: Steven L Baur <steve@xemacs.org>
;; Keywords: internal, help, faces

;; This file is part of XEmacs.

;; XEmacs 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.

;; XEmacs 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 XEmacs; see the file COPYING.  If not, write to the Free
;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
;; 02111-1307, USA.

;;; Synched up with: Not in FSF

;;; Commentary:

;; In FSF all of the custom loads are in a single `cus-load' file.
;; However, we have them distributed across directories, with optional
;; incremental loading.  Here we simply collect the whole set.


;;; Code:

(require 'custom)

(defun custom-add-loads (symbol list)
  "Update the custom-loads list of a symbol.
This works by adding the elements from LIST to the SYMBOL's
`custom-loads' property, avoiding duplicates.  Also, SYMBOL is
added to `custom-group-hash-table'."
  (let ((loads (get symbol 'custom-loads)))
    (dolist (el list)
      (unless (member el loads)
	(setq loads (nconc loads (list el)))))
    (put symbol 'custom-loads loads)
    (puthash symbol t custom-group-hash-table)))

(message "Loading customization dependencies...")

;; Garbage-collection seems to be very intensive here, and it slows
;; things down.  Nuke it.
(let ((gc-cons-threshold most-positive-fixnum))
  (mapc (lambda (dir)
	  (load (expand-file-name "custom-load" dir) t t))
	load-path))

(message "Loading customization dependencies...done")

(provide 'cus-load)

;;; cus-load.el ends here