diff options
| author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2010-09-06 07:26:54 +0200 | 
|---|---|---|
| committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2010-09-06 07:26:54 +0200 | 
| commit | cba9e23c6753e84c7633c65f9adda95d25eb4cd0 (patch) | |
| tree | 1444c158601a0aa3f399db78619f96a3fbec9478 | |
| parent | 894abe5b8a5bd0a500fadfd5ec89e9b8fde76b8f (diff) | |
| download | geiser-cba9e23c6753e84c7633c65f9adda95d25eb4cd0.tar.gz geiser-cba9e23c6753e84c7633c65f9adda95d25eb4cd0.tar.bz2 | |
Allow loading byte-compiled Geiser without make install
| -rw-r--r-- | README | 14 | ||||
| -rw-r--r-- | configure.ac | 3 | ||||
| -rw-r--r-- | doc/install.texi | 20 | ||||
| -rw-r--r-- | elisp/Makefile.am | 8 | ||||
| -rw-r--r-- | elisp/geiser-load.el.in | 8 | ||||
| -rw-r--r-- | elisp/geiser-reload.el | 14 | ||||
| -rw-r--r-- | elisp/geiser.el | 26 | 
7 files changed, 63 insertions, 30 deletions
| @@ -43,12 +43,20 @@        $ mkdir build; cd build      - Configure and make:        $ ../configure && make -    - Install it with: + +    Now, you can use the byte-compiled Geiser in place by adding to +    your .emacs: + +    (load "<path-to-geiser>/build/elisp/geiser-load") + +    or, alternatively, install it with: +        $ make install      (you might need to get root access, depending on your installation -    directory) and require 'geiser-install (not 'geiser, mind you) in -    your emacs initialization file: +    directory) and, instead of the above load forms, require +    'geiser-install (not 'geiser, mind you) in your emacs +    initialization file:        (require 'geiser-install) diff --git a/configure.ac b/configure.ac index f8770ab..1a70214 100644 --- a/configure.ac +++ b/configure.ac @@ -8,7 +8,7 @@  # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the  # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -AC_INIT([GNU Geiser],[0.0.7],[jao@gnu.org],geiser) +AC_INIT([GNU Geiser],[0.1],[jao@gnu.org],geiser)  AC_CONFIG_SRCDIR([elisp/geiser.el])  AM_INIT_AUTOMAKE @@ -23,6 +23,7 @@ AC_CONFIG_FILES([  Makefile  elisp/Makefile  elisp/geiser-version.el +elisp/geiser-load.el  scheme/Makefile  doc/Makefile  ]) diff --git a/doc/install.texi b/doc/install.texi index 69cc4c6..2362aa9 100644 --- a/doc/install.texi +++ b/doc/install.texi @@ -53,12 +53,14 @@ sake of concreteness, let's assume you put its source in the directory  line to your Emacs initialisation file (be it @file{~/.emacs} or any of  its moral equivalents):  @example -(load-file "~/lisp/geiser/geiser.el") +(load-file "~/lisp/geiser/elisp/geiser.el")  @end example  @noindent  or simply evaluate that form inside Emacs (you wouldn't kill a friend  just to start using Geiser, would you?). That's it: you're ready to -@ref{quick-start,,go}. +@ref{quick-start,,go}. You can even continue to read this fine manual +inside Emacs by opening @file{doc/geiser.info} using @kbd{C-u C-h +i}.  @cindex byte-compilation  What? You still here? I promise the above is all that's needed to start @@ -79,9 +81,21 @@ $ ../configure  <some drivel here>  $ make all  <more of the above> +@end example +Now you have two options: loading the byte-compiled Geiser from the +@file{elisp} subdirectory, or installing it system-wide. To load the +bytecode from here, add this line to your initialisation file: +@example +(load "~/lisp/geiser/build/elisp/geiser-load") +@end example +and eval that form or (gasp!) restart Emacs and you're done. Yes, that's +@code{load} and @file{geiser-load} instead of @code{load-file} and +@file{geiser.el}. + +If you prefer a system-wide installation, just type: +@example  $ sudo make install  @end example -@noindent  With the above spell, Geiser will be compiled and installed in a safe  place inside Emacs load path. To load it into Emacs you'll need,  @i{instead} of the @code{load-file} form above, the following line in diff --git a/elisp/Makefile.am b/elisp/Makefile.am index 11f2178..1f1ca76 100644 --- a/elisp/Makefile.am +++ b/elisp/Makefile.am @@ -1,4 +1,4 @@ -EXTRA_DIST = geiser-install.el.in +EXTRA_DIST = geiser-install.el.in geiser-load.el.in  dist_lisp_LISP = \     geiser-autodoc.el \ @@ -27,9 +27,11 @@ dist_lisp_LISP = \     geiser-version.el  lisp_LISP = geiser-install.el +noinst_LISP = geiser-load.el -CLEANFILES = geiser-install.el +CLEANFILES = geiser-install.el geiser-load.el  geiser-install.el: $(srcdir)/geiser.el $(srcdir)/geiser-install.el.in -	@sed -e "s|@SCHEME_DIR[@]|$(datarootdir)/geiser|"  $(srcdir)/geiser-install.el.in >$@ +	@sed -e "s|@SCHEME_DIR[@]|$(datarootdir)/geiser|" \ +             $(srcdir)/geiser-install.el.in >$@ diff --git a/elisp/geiser-load.el.in b/elisp/geiser-load.el.in new file mode 100644 index 0000000..746558f --- /dev/null +++ b/elisp/geiser-load.el.in @@ -0,0 +1,8 @@ +(setq geiser-elisp-dir (file-name-directory load-file-name)) +(add-to-list 'load-path geiser-elisp-dir) + +(require 'geiser) + +(setq geiser-scheme-dir "@abs_top_srcdir@/scheme") + +(provide 'geiser-load) diff --git a/elisp/geiser-reload.el b/elisp/geiser-reload.el index 5602cd1..a5c0125 100644 --- a/elisp/geiser-reload.el +++ b/elisp/geiser-reload.el @@ -16,6 +16,8 @@  (require 'geiser-custom)  (require 'geiser-base)  (require 'geiser) +(require 'geiser-load nil t) +(require 'geiser-install nil t)  ;;; Reload: @@ -24,8 +26,8 @@    (quote '(             geiser-mode             geiser-repl -           geiser-xref             geiser-doc +           geiser-xref             geiser-compile             geiser-debug             geiser-company @@ -35,15 +37,15 @@             geiser-eval             geiser-connection             geiser-syntax -           geiser-log             geiser-menu             geiser-impl             geiser-custom -           geiser-base +           geiser-log             geiser-popup +           geiser-base +           geiser-version             geiser-install             geiser -           geiser-version             )))  (defun geiser-unload () @@ -66,8 +68,7 @@ loaded again."      (unless (or (file-exists-p (expand-file-name "geiser-reload.el" dir))                  (file-exists-p (expand-file-name "geiser-reload.elc" dir)))        (error "%s does not contain Geiser!" dir)) -    (let ((installed (featurep 'geiser-install)) -          (memo (geiser-custom--memoized-state)) +    (let ((memo (geiser-custom--memoized-state))            (repls (geiser-repl--repl-list))            (buffers (geiser-mode--buffers)))        (geiser-unload) @@ -75,7 +76,6 @@ loaded again."        (add-to-list 'load-path dir)        (mapc (lambda (x) (set (car x) (cdr x))) memo)        (require 'geiser-reload) -      (when installed (require 'geiser-install nil t))        (geiser-repl--restore repls)        (geiser-mode--restore buffers)        (message "Geiser reloaded!")))) diff --git a/elisp/geiser.el b/elisp/geiser.el index b241b78..8034803 100644 --- a/elisp/geiser.el +++ b/elisp/geiser.el @@ -26,40 +26,40 @@  ;;; Autoloads: -(autoload 'geiser-version "geiser-version.el" "Echo Geiser's version." t) +(autoload 'geiser-version "geiser-version" "Echo Geiser's version." t) -(autoload 'geiser-unload "geiser-reload.el" "Unload all Geiser code." t) +(autoload 'geiser-unload "geiser-reload" "Unload all Geiser code." t) -(autoload 'geiser-reload "geiser-reload.el" "Reload Geiser code." t) +(autoload 'geiser-reload "geiser-reload" "Reload Geiser code." t) -(autoload 'geiser "geiser-repl.el" +(autoload 'geiser "geiser-repl"    "Start a Geiser REPL, or switch to a running one." t) -(autoload 'run-geiser "geiser-repl.el" +(autoload 'run-geiser "geiser-repl"    "Start a Geiser REPL." t) -(autoload 'switch-to-geiser "geiser-guile.el" +(autoload 'switch-to-geiser "geiser-guile"    "Switch to a running one Geiser REPL." t) -(autoload 'run-guile "geiser-guile.el" +(autoload 'run-guile "geiser-guile"    "Start a Geiser Guile REPL, or switch to a running one." t) -(autoload 'switch-to-guile "geiser-guile.el" +(autoload 'switch-to-guile "geiser-guile"    "Start a Geiser Guile REPL, or switch to a running one." t) -(autoload 'run-racket "geiser-racket.el" +(autoload 'run-racket "geiser-racket"    "Start a Geiser Racket REPL, or switch to a running one." t) -(autoload 'switch-to-racket "geiser-guile.el" +(autoload 'switch-to-racket "geiser-guile"    "Start a Geiser Racket REPL, or switch to a running one." t) -(autoload 'geiser-mode "geiser-mode.el" +(autoload 'geiser-mode "geiser-mode"    "Minor mode adding Geiser REPL interaction to Scheme buffers." t) -(autoload 'turn-on-geiser-mode "geiser-mode.el" +(autoload 'turn-on-geiser-mode "geiser-mode"    "Enable Geiser's mode (useful in Scheme buffers)." t) -(autoload 'turn-off-geiser-mode "geiser-mode.el" +(autoload 'turn-off-geiser-mode "geiser-mode"    "Disable Geiser's mode (useful in Scheme buffers)." t)  (mapc (lambda (group) | 
