diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/install.texi | 20 | ||||
-rw-r--r-- | doc/parens.texi | 30 | ||||
-rw-r--r-- | doc/repl.texi | 4 |
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. |