1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00
guile/lang/elisp/base.scm
2002-12-28 19:22:11 +00:00

48 lines
1.9 KiB
Scheme

(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"))