summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/install.texi20
-rw-r--r--doc/parens.texi30
-rw-r--r--doc/repl.texi4
3 files changed, 43 insertions, 11 deletions
diff --git a/doc/install.texi b/doc/install.texi
index c160f09..4e6b197 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -40,16 +40,18 @@ and untar it in a directory of your choice.
If you feel like living on the bleeding edge, just grab Geiser from its
Git repository @uref{http://git.savannah.nongnu.org/cgit/geiser.git/, over
at Savannah}, either with the following incantation:
+
@example
git clone git://git.sv.gnu.org/geiser.git
@end example
+
@noindent or, if you happen to live under a firewall, with the alternative:
+
@example
git clone http://git.sv.gnu.org/r/geiser.git
@end example
-@noindent
-You can also follow Geiser's development in
+@noindent You can also follow Geiser's development in
@uref{https://github.com/jaor/geiser, one}
@uref{http://repo.or.cz/w/geiser.git, or}
@uref{http://gitorious.org/geiser, three} mirrors that
@@ -66,9 +68,11 @@ sake of concreteness, let's assume you put its source in the directory
@file{~/lisp/geiser}. All you need to do is to add the following
line to your Emacs initialisation file (be it @file{~/.emacs} or any of
its moral equivalents):
+
@example
(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
@@ -85,12 +89,15 @@ install} routine, by all means, you can go through those motions to byte
compile and install Geiser too. That is, you enter the source directory
and (since we grabbed the development tree) run the customary
@i{autogen} script:
+
@example
$ cd ~/lisp/geiser
$ ./autogen.sh
@end example
+
@noindent
I recommend that you compile Geiser in a separate directory:
+
@example
$ mkdir build && cd build
$ ../configure
@@ -98,28 +105,36 @@ $ ../configure
$ 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
byte-code from here, add this line to your initialisation file:
+
@example
(load "~/lisp/geiser/build/elisp/geiser-load")
@end example
+
+@noindent
and eval that form and you're done (you could also restart Emacs, but
killing your friends is widely considered bad form). 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
+
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
your initialisation file:
+
@example
(require 'geiser-install)
@end example
+
@noindent
Please note that we're requiring @code{geiser-install}, and @i{not}
@code{geiser}, and that there's no @code{load-file} to be seen this
@@ -160,6 +175,7 @@ key bindings, which i'm sure you'll manage to tackle just fine. It's
also probably a good idea to require @code{quack} @i{after} loading
@file{geiser.el} (or requiring a compiled version).
@end itemize
+
You just need to install and setup them as usual, for every package's
definition of usual. Geiser will notice their presence and react
accordingly.
diff --git a/doc/parens.texi b/doc/parens.texi
index b241a84..b5c7565 100644
--- a/doc/parens.texi
+++ b/doc/parens.texi
@@ -64,6 +64,7 @@ to be active by default, customizing @code{geiser-mode-auto-p} to
@cindex scheme file extensions
And if you happen to use a funky extension for your Scheme files that is
not recognised as such by Emacs, just tell her about it with:
+
@example
(add-to-list 'auto-mode-alist '("\\.funky-extension\\'" . scheme-mode))
@end example
@@ -103,9 +104,11 @@ If the file-local variable @code{geiser-scheme-implementation} is
defined, its value is used. A common way of setting buffer-local
variables is to put them in a comment near the beginning of the file,
surrounded by @code{-*-} marks, as in:
+
@example
;; -*- geiser-scheme-implementation: guile -*-
@end example
+
@item
If you've customized @code{geiser-active-implementations} so that it's a
single-element list (as explained @ref{choosing-impl,,here}), that
@@ -135,25 +138,30 @@ most impoverishing) is probably limiting the active implementations to a
single one, while customizing @code{geiser-implementations-alist} is the
most flexible (and, unsurprisingly, also the most complex). Here's the
default value for the latter variable:
+
@example
(((regexp "\\.scm$") guile)
((regexp "\\.ss$") racket)
((regexp "\\.rkt$") racket))
@end example
-which describes the simple heuristic that files with @file{.scm} as
-extension are by default associated to a Guile REPL while those
-ending in @file{.ss} or @file{.rkt} correspond to Racket's
-implementation (with the caveat that these rules are applied only if the
-previous heuristics have failed to detect the correct implementation,
-and that they'll match only if the corresponding implementation is
-active). You can add rules to @code{geiser-implementations-alist} (or
-replace all of them) by customizing it. Besides regular expressions, you
-can also use a directory name; for instance, the following snippet:
+
+@noindent which describes the simple heuristic that files with @file{.scm} as
+extension are by default associated to a Guile REPL while those ending
+in @file{.ss} or @file{.rkt} correspond to Racket's implementation (with
+the caveat that these rules are applied only if the previous heuristics
+have failed to detect the correct implementation, and that they'll match
+only if the corresponding implementation is active). You can add rules
+to @code{geiser-implementations-alist} (or replace all of them) by
+customizing it. Besides regular expressions, you can also use a
+directory name; for instance, the following snippet:
+
@example
(eval-after-load "geiser-impl"
'(add-to-list 'geiser-implementations-alist
'((dir "/home/jao/prj/frob") guile)))
@end example
+
+@noindent
will add a new rule that says that any file inside my
@file{/home/jao/prj/frob} directory (or, recursively, any of its
children) is to be assigned to Guile. Since rules are first matched,
@@ -272,9 +280,12 @@ You can change the way Geiser displays the module/identifier combo by
customizing @code{geiser-autodoc-identifier-format}. For example, if you
wanted a tilde surrounded by spaces instead of a colon as a separator,
you would write something like
+
@example
(setq geiser-autodoc-identifier-format "%s ~ %s")
@end example
+
+@noindent
in your Emacs initialisation files. There's also a face
(@code{geiser-font-lock-autodoc-identifier}) that you can customize (for
instance, with @kbd{M-x customize-face}) to change the appearance of the
@@ -487,6 +498,7 @@ you're at the end of the following partial expression:
(frob def
@end example
+@noindent
and press @kbd{M-@key{TAB}}, one of the possible completions will be
@code{default}.
diff --git a/doc/repl.texi b/doc/repl.texi
index 3b722c2..0f0a2cd 100644
--- a/doc/repl.texi
+++ b/doc/repl.texi
@@ -272,9 +272,11 @@ variable @code{geiser-active-implementations} contains a list of those
Schemes Geiser should be aware of. Thus, if you happen to be, say, a
racketeer not to be beguiled by other schemes, you can tell Geiser to
forget about the richness of the Scheme ecosystem with something like
+
@example
(setq geiser-active-implementations '(racket))
@end example
+
@noindent in your initialisation files.
@cindex scheme binary
@@ -304,9 +306,11 @@ prefer it did, just set @code{geiser-repl-history-no-dups-p} to
they're saved in implementation-specific files whose location is
controlled by the variable @code{geiser-repl-history-filename}. For
example, my Geiser configuration includes the following line:
+
@example
(setq geiser-repl-history-filename "~/.emacs.d/geiser-history")
@end example
+
@noindent which makes the files @file{geiser-history.guile} and
@file{geiser-history.racket} to live inside my home's @file{.emacs.d}
directory.