blob: 7beb8a51c1936ab7872063e67e1a69b2e3db9e9e (
plain)
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
41
42
43
44
45
46
|
(define-module (lang elisp primitives fns)
#:use-module (lang elisp internals set)
#:use-module (lang elisp internals fset)
#:use-module (lang elisp internals null))
(fset 'fset fset)
(fset 'defalias fset)
(fset 'apply elisp-apply)
(fset 'funcall
(lambda (function . args)
(elisp-apply function args)))
(fset 'interactive-p
(lambda ()
%nil))
(fset 'commandp
(lambda (sym)
(if (interactive-specification (fref sym)) #t %nil)))
(fset 'fboundp
(lambda (sym)
(->nil (variable? (symbol-fref sym)))))
(fset 'symbol-function fref/error-if-void)
;; FIXME -- lost in the syncase conversion
;; (fset 'macroexpand macroexpand)
(fset 'subrp
(lambda (obj)
(->nil (not (not-subr? obj)))))
(fset 'byte-code-function-p
(lambda (object)
%nil))
(fset 'run-hooks
(lambda hooks
(for-each (lambda (hooksym)
(for-each (lambda (fn)
(elisp-apply fn '()))
(value hooksym #f)))
hooks)))
|