home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / share / guile / 1.8 / lang / elisp / primitives / features.scm < prev    next >
Encoding:
Text File  |  2008-12-17  |  627 b   |  27 lines

  1. (define-module (lang elisp primitives features)
  2.   #:use-module (lang elisp internals fset)
  3.   #:use-module (lang elisp internals load)
  4.   #:use-module (lang elisp internals null)
  5.   #:use-module (ice-9 optargs))
  6.  
  7. (define-public features '())
  8.  
  9. (fset 'provide
  10.       (lambda (feature)
  11.     (or (memq feature features)
  12.         (set! features (cons feature features)))))
  13.  
  14. (fset 'featurep
  15.       (lambda (feature)
  16.     (->nil (memq feature features))))
  17.  
  18. (fset 'require
  19.       (lambda* (feature #:optional file-name noerror)
  20.     (or (memq feature features)
  21.         (load (or file-name
  22.               (symbol->string feature))
  23.           noerror
  24.           #f
  25.           #f
  26.           #t))))
  27.