1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 13:00:26 +02:00
guile/lang/elisp/primitives/features.scm
2002-02-08 11:50:51 +00:00

26 lines
627 B
Scheme

(define-module (lang elisp primitives features)
#:use-module (lang elisp internals fset)
#:use-module (lang elisp internals load)
#:use-module (lang elisp internals null)
#:use-module (ice-9 optargs))
(define-public features '())
(fset 'provide
(lambda (feature)
(or (memq feature features)
(set! features (cons feature features)))))
(fset 'featurep
(lambda (feature)
(->nil (memq feature features))))
(fset 'require
(lambda* (feature #:optional file-name noerror)
(or (memq feature features)
(load (or file-name
(symbol->string feature))
noerror
#f
#f
#t))))