/usr/share/scsh-0.6/misc/require.scm is in scsh-common-0.6 0.6.7-8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | ; Copyright (c) 1993-1999 by Richard Kelsey and Jonathan Rees. See file COPYING.
(define-syntax require
(syntax-rules (quote)
((require '(name1 name2 ...))
(*require '(name1 name2 ...)))))
(define (*require interface-id)
(let ((start-thunk
(case (car interface-id)
((scheme-48)
(let ((p (config-package)))
(lambda () p)))
((scheme-library-1)
(let* ((p (config-package))
(thunk
(lambda ()
(environment-ref p 'scheme-library-1))))
(ensure-loaded (thunk))
(thunk)))
(else
(error "unrecognized interface identifier" interface-id)))))
(package-open! (interaction-environment)
(let loop ((names (cdr interface-id))
(thunk start-thunk))
(if (null? names)
thunk
(let ((new-thunk
(lambda ()
(let ((source (thunk)))
(if (package? source)
(environment-ref source
(car names))
(*structure-ref source
(car names)))))))
(ensure-loaded (new-thunk))
(loop (cdr names)
new-thunk)))))))
|