X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=guile18%2Flang%2Felisp%2Fprimitives%2Ffns.scm;fp=guile18%2Flang%2Felisp%2Fprimitives%2Ffns.scm;h=f7a4aa003dd231492520c705c131194fa7be3289;hb=139c38d9204dd07f6b235f83bae644faedbc63fd;hp=0000000000000000000000000000000000000000;hpb=652ed35a2013489d0a14fede6307cd2595abb2c4;p=lilypond.git diff --git a/guile18/lang/elisp/primitives/fns.scm b/guile18/lang/elisp/primitives/fns.scm new file mode 100644 index 0000000000..f7a4aa003d --- /dev/null +++ b/guile18/lang/elisp/primitives/fns.scm @@ -0,0 +1,45 @@ +(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) + +(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)))