;*=====================================================================*/
;*    serrano/prgm/project/skribe/src/bigloo/param.bgl                 */
;*    -------------------------------------------------------------    */
;*    Author      :  Manuel Serrano                                    */
;*    Creation    :  Sat Jul 26 14:03:15 2003                          */
;*    Last change :  Wed Mar  3 10:18:48 2004 (serrano)                */
;*    Copyright   :  2003-04 Manuel Serrano                            */
;*    -------------------------------------------------------------    */
;*    Skribe parameters                                                */
;*    -------------------------------------------------------------    */
;*    Implementation: @label param@                                    */
;*    bigloo: @path ../common/param.scm@                               */
;*=====================================================================*/

;*---------------------------------------------------------------------*/
;*    The module                                                       */
;*---------------------------------------------------------------------*/
(module skribe_param

   (import skribe_configure)
   
   (export *skribe-verbose*
	   *skribe-warning*
	   *skribe-path*
	   *skribe-bib-path*
	   *skribe-source-path*
	   *skribe-image-path*
	   *load-rc*
	   
	   *skribe-src*
	   *skribe-dest*
	   *skribe-engine*
	   *skribe-variants*
	   *skribe-chapter-split*

	   *skribe-ref-base*
	   
	   *skribe-rc-directory*
	   *skribe-rc-file*
	   *skribe-auto-mode-alist*
	   *skribe-auto-load-alist*
	   *skribe-preload*
	   *skribe-precustom*

	   *skribebib-auto-mode-alist*))

;*---------------------------------------------------------------------*/
;*    *skribe-verbose* ...                                             */
;*---------------------------------------------------------------------*/
(define *skribe-verbose* 0)

;*---------------------------------------------------------------------*/
;*    *skribe-warning* ...                                             */
;*---------------------------------------------------------------------*/
(define *skribe-warning* 5)

;*---------------------------------------------------------------------*/
;*    *skribe-path* ...                                                */
;*---------------------------------------------------------------------*/
(define *skribe-path* (skribe-default-path))

;*---------------------------------------------------------------------*/
;*    *skribe-bib-path* ...                                            */
;*---------------------------------------------------------------------*/
(define *skribe-bib-path* '("."))

;*---------------------------------------------------------------------*/
;*    *skribe-source-path* ...                                         */
;*---------------------------------------------------------------------*/
(define *skribe-source-path* '("."))

;*---------------------------------------------------------------------*/
;*    *skribe-image-path* ...                                          */
;*---------------------------------------------------------------------*/
(define *skribe-image-path* '("."))

;*---------------------------------------------------------------------*/
;*    *load-rc* ...                                                    */
;*---------------------------------------------------------------------*/
(define *load-rc* #t)

;*---------------------------------------------------------------------*/
;*    *skribe-src* ...                                                 */
;*---------------------------------------------------------------------*/
(define *skribe-src* '())

;*---------------------------------------------------------------------*/
;*    *skribe-dest* ...                                                */
;*---------------------------------------------------------------------*/
(define *skribe-dest* #f)

;*---------------------------------------------------------------------*/
;*    *skribe-engine* ...                                              */
;*---------------------------------------------------------------------*/
(define *skribe-engine* 'html)

;*---------------------------------------------------------------------*/
;*    *skribe-variants*                                                */
;*---------------------------------------------------------------------*/
(define *skribe-variants* '())

;*---------------------------------------------------------------------*/
;*    *skribe-chapter-split* ...                                       */
;*---------------------------------------------------------------------*/
(define *skribe-chapter-split* '())

;*---------------------------------------------------------------------*/
;*    *skribe-ref-base* ...                                            */
;*---------------------------------------------------------------------*/
(define *skribe-ref-base* #f)

;*---------------------------------------------------------------------*/
;*    *skribe-rc-directory* ...                                        */
;*    -------------------------------------------------------------    */
;*    The "runtime command" file directory.                            */
;*---------------------------------------------------------------------*/
(define *skribe-rc-directory*
   (let ((home (getenv "HOME"))
	 (host (hostname)))
      (let loop ((host (if (not (string? host)) (getenv "HOST") host)))
	 (if (string? host)
	     (let ((home/host (string-append home "/.skribe" host)))
		(if (and (file-exists? home/host) (directory? home/host))
		    home/host
		    (if (string=? (suffix host) "")
			(let ((home/def (make-file-name home ".skribe")))
			   (cond
			      ((and (file-exists? home/def)
				    (directory? home/def))
			       home/def)
			      (else
			       home)))
			(loop (prefix host)))))))))