12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- (define-module (lang elisp base)
- ;; Be pure. Nothing in this module requires symbols that map to the
- ;; standard Guile builtins, and it creates a problem if this module
- ;; has access to them, as @bind can dynamically change their values.
- ;; Transformer output always uses the values of builtin procedures
- ;; and macros directly.
- #:pure
- ;; {Elisp Primitives}
- ;;
- ;; In other words, Scheme definitions of elisp primitives. This
- ;; should (ultimately) include everything that Emacs defines in C.
- #:use-module (lang elisp primitives buffers)
- #:use-module (lang elisp primitives char-table)
- #:use-module (lang elisp primitives features)
- #:use-module (lang elisp primitives format)
- #:use-module (lang elisp primitives fns)
- #:use-module (lang elisp primitives guile)
- #:use-module (lang elisp primitives keymaps)
- #:use-module (lang elisp primitives lists)
- #:use-module (lang elisp primitives load)
- #:use-module (lang elisp primitives match)
- #:use-module (lang elisp primitives numbers)
- #:use-module (lang elisp primitives pure)
- #:use-module (lang elisp primitives read)
- #:use-module (lang elisp primitives signal)
- #:use-module (lang elisp primitives strings)
- #:use-module (lang elisp primitives symprop)
- #:use-module (lang elisp primitives syntax)
- #:use-module (lang elisp primitives system)
- #:use-module (lang elisp primitives time)
- ;; Now switch into Emacs Lisp syntax.
- #:use-syntax (lang elisp transform))
- ;;; Everything below here is written in Elisp.
- (defun load-emacs (&optional new-load-path debug)
- (if debug (message "load-path: %s" load-path))
- (cond (new-load-path
- (message "Setting load-path to: %s" new-load-path)
- (setq load-path new-load-path)))
- (if debug (message "load-path: %s" load-path))
- (scheme (read-set! keywords 'prefix))
- (message "Calling loadup.el to clothe the bare Emacs...")
- (load "loadup.el")
- (message "Guile Emacs now fully clothed"))
|