]> git.donarmstrong.com Git - lilypond.git/blob - guile18/lang/elisp/primitives/fns.scm
New upstream version 2.19.65
[lilypond.git] / guile18 / lang / elisp / primitives / fns.scm
1 (define-module (lang elisp primitives fns)
2   #:use-module (lang elisp internals set)
3   #:use-module (lang elisp internals fset)
4   #:use-module (lang elisp internals null))
5
6 (fset 'fset fset)
7 (fset 'defalias fset)
8
9 (fset 'apply elisp-apply)
10
11 (fset 'funcall
12       (lambda (function . args)
13         (elisp-apply function args)))
14
15 (fset 'interactive-p
16       (lambda ()
17         %nil))
18
19 (fset 'commandp
20       (lambda (sym)
21         (if (interactive-specification (fref sym)) #t %nil)))
22
23 (fset 'fboundp
24       (lambda (sym)
25         (->nil (variable? (symbol-fref sym)))))
26
27 (fset 'symbol-function fref/error-if-void)
28
29 (fset 'macroexpand macroexpand)
30
31 (fset 'subrp
32       (lambda (obj)
33         (->nil (not (not-subr? obj)))))
34
35 (fset 'byte-code-function-p
36       (lambda (object)
37         %nil))
38
39 (fset 'run-hooks
40       (lambda hooks
41         (for-each (lambda (hooksym)
42                     (for-each (lambda (fn)
43                                 (elisp-apply fn '()))
44                               (value hooksym #f)))
45                   hooks)))