diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/cheat.texi | 6 | ||||
-rw-r--r-- | doc/install.texi | 4 | ||||
-rw-r--r-- | doc/intro.texi | 12 | ||||
-rw-r--r-- | doc/parens.texi | 54 | ||||
-rw-r--r-- | doc/repl.texi | 27 |
5 files changed, 52 insertions, 51 deletions
diff --git a/doc/cheat.texi b/doc/cheat.texi index 3147ccf..62add0c 100644 --- a/doc/cheat.texi +++ b/doc/cheat.texi @@ -92,10 +92,10 @@ third key not modified by @key{Control}; e.g., @tab geiser-autodoc-mode @tab Toggle autodoc mode @item @tab @tab -@item C-c< +@item C-c < @tab geiser-xref-callers @tab Show callers of procedure at point -@item C-c> +@item C-c > @tab geiser-xref-callees @tab Show callees of procedure at point @item @tab @tab @@ -168,7 +168,7 @@ third key not modified by @key{Control}; e.g., @tab forward-button @tab Next link @item S-TAB, p -@tab backwards-button +@tab backward-button @tab Previous link @item N @tab geiser-doc-next-section @tab Next section diff --git a/doc/install.texi b/doc/install.texi index 7d02b69..ae4b9bd 100644 --- a/doc/install.texi +++ b/doc/install.texi @@ -14,7 +14,7 @@ @cindex versions supported If Geiser came with any guarantees, you'd break all of them by not using GNU Emacs 23.2 (or better: i regularly use it with a recent Emacs -snapshot) and at least one of the supported schemes, namely: +snapshot) and at least one of the supported Schemes, namely: @itemize @bullet @item @@ -100,7 +100,7 @@ $ make all @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: +byte-code from here, add this line to your initialisation file: @example (load "~/lisp/geiser/build/elisp/geiser-load") @end example diff --git a/doc/intro.texi b/doc/intro.texi index b2f5017..8856b84 100644 --- a/doc/intro.texi +++ b/doc/intro.texi @@ -28,8 +28,8 @@ bulk of the code. Scheme-Elisp interface makes some assumptions about the capabilities and interaction mode of the corresponding REPL. In particular, Geiser expects the latter to support namespaces in the form of a module system, -and to provide a well defined way to establish the REPL's current -namespace (or module), as well as the current's file module (or +and to provide a well-defined way to establish the REPL's current +namespace (or module), as well as the current file's module (or namespace). Thus, all evaluations performed by Geiser either in the REPL or in a source code buffer happen in the context of the current namespace. Every time you switch to a different file, you're switching @@ -37,15 +37,15 @@ namespaces automatically; at the REPL, you must request the switch explicitly (usually just using means provided by the Scheme implementation itself). -If your favourite scheme supports the above modus operandi, it has all +If your favourite Scheme supports the above modus operandi, it has all that's needed for a bare-bones Geiser mode. But Geiser can, and will, use any metadata available: procedure arities and argument lists to display interactive help, documentation strings, location information to jump to definitions, export lists to provide completion, and so on and so forth. Although this is not an all-or-none proposition (Geiser can -operate with just part of that functionality available), i've -concentrated initially in supporting those Schemes with the richest (to -my knowledge) introspection capabilities, namely, Guile and Racket. +operate with just part of that functionality available), i've initially +concentrated in supporting those Schemes with the richest (to my +knowledge) introspection capabilities, namely, Guile and Racket. @node Showing off, , Modus operandi, Introduction @section Showing off diff --git a/doc/parens.texi b/doc/parens.texi index 4863ac4..5413eee 100644 --- a/doc/parens.texi +++ b/doc/parens.texi @@ -6,7 +6,7 @@ hacking environment. Well, perhaps a bit more than a half; but, at any rate, one surely needs also a pleasant way of editing source code. Don't pay attention to naysayers: Emacs comes with an excellent editor included for about any language on Earth, and just the best one when -that language is sexpy (specially if you use @ref{paredit,,Paredit}). +that language is sexpy (especially if you use @ref{paredit,,Paredit}). Geiser's support for writing Scheme code adds to Emacs' @code{scheme-mode}, rather than supplanting it; and it does so by means of a minor mode (unimaginatively dubbed @code{geiser-mode}) that defines @@ -43,16 +43,16 @@ perfect world; otherwise, don't despair and keep on reading: i'll tell you how to fix that in a moment. @cindex geiser-mode commands -The menu provides a good synopsis of everthing Geiser brings to the +The menu provides a good synopsis of everything Geiser brings to the party, including those keyboard shortcuts we Emacsers love. If you're seeing the name of your favourite Scheme implementation in the -mode-line, have a running REPL and are comfortable with Emacs, you -can stop reading now and, instead, discover Geiser's joys by yourself. -I've tried to make Geiser as self-documenting as any self-respecting -Emacs package should be. If you follow this route, make sure to take a -look at Geiser's customization buffers (@kbd{M-x customize-group -@key{RET} geiser}): there's lot of fine tunning available there. You -might also want to take a glance at the @ref{Cheat sheet}. +mode-line, have a running REPL and are comfortable with Emacs, you can +stop reading now and, instead, discover Geiser's joys by yourself. I've +tried to make Geiser as self-documenting as any self-respecting Emacs +package should be. If you follow this route, make sure to take a look at +Geiser's customization buffers (@kbd{M-x customize-group @key{RET} +geiser}): there's lot of fine-tuning available there. You might also +want to take a glance at the @ref{Cheat sheet}. Since @i{geiser-mode} is a minor mode, you can toggle it with @kbd{M-x geiser-mode}, and control its activation in hooks with the @@ -125,7 +125,7 @@ If we haven't been lucky this far and you have customized @code{geiser-default-implementation} to the name of a supported implementation, we'll follow your lead. @item -See? That's the problem of being a smart alec: one's always outsmarted +See? That's the problem of being a smart aleck: one's always outsmarted by people around. At this point, @i{geiser-mode} will humbly give up and ask you to explicitly choose the Scheme implementation. @end enumerate @@ -191,7 +191,7 @@ As explained before (@pxref{Modus operandi}), all Geiser activities take place in the context of the @i{current namespace}, which, for Scheme buffers, corresponds to the module that the Scheme implementation associates to the source file at hand (for instance, in Racket, there's -a one to one correspondence between paths and modules, while Guile +a one-to-one correspondence between paths and modules, while Guile relies on explicit @code{define-module} forms in the source file). Now that we have @code{geiser-mode} happily alive in our Scheme buffers @@ -242,11 +242,11 @@ enclosed in parenthesis. When an optional argument has a default value (or a form defining its default value), autodoc will display it after the argument name. When the optional arguments are keywords, their names are prefixed with ``#:'' (i.e., their names @i{are} keywords). An -ellipsis (@dots{}) serves as a marker of an indeterminated number of +ellipsis (@dots{}) serves as a marker of an indeterminate number of parameters, as is the case with @i{rest} arguments or when autodoc cannot fathom the exact number of arguments (this is often the case with macros defined using @code{syntax-case}). Another way in which autodoc -displays its ignorance is by using and underscore to display parameters +displays its ignorance is by using an underscore to display parameters whose name is beyond its powers. @img{autodoc-multi, right} It can also be the case that a function or @@ -291,7 +291,7 @@ identifier or module. @cindex documentation for symbol @cindex docstrings, maybe For symbols, the incantation is @kbd{M-x geiser-doc-symbol-at-point}, or -@kbd{C-c C-d C-d} for short. If the associated scheme supports +@kbd{C-c C-d C-d} for short. If the associated Scheme supports docstrings (as, for instance, Guile does), you'll be teleported to a new Emacs buffer displaying Geiser's documentation browser, filled with information about the identifier, including its docstring (if any; @@ -321,7 +321,7 @@ exactly as you would do @ref{repl-mod,,in the REPL}. In both cases, the documentation browser will show a couple of buttons giving you access to further documentation. First, you'll see a button named @i{source}: pressing it you'll jump to the symbol's definition. -The second button, dubbed @i{manual}, will open the scheme +The second button, dubbed @i{manual}, will open the Scheme implementation's manual page for the symbol at hand. For Racket, that will open your web browser displaying the corresponding reference's page (using Emacs' @code{browser-url} command), while in Guile a lookup will @@ -345,7 +345,7 @@ might have noticed that i've made a big fuss of Geiser's ability to recognize context, by being aware of the namespace where its operations happen. -That awareness is specially important when evaluating code in your +That awareness is especially important when evaluating code in your scheme buffers, using the commands described below. They allow you to send code to the running Scheme with a granularity ranging from whole files to single s-expressions. That code will be evaluated in the module @@ -388,15 +388,15 @@ For all the commands above, the result of the evaluation is displayed in the minibuffer, unless it causes a (scheme-side) error (@pxref{To err perchance to debug}). -At the risk of repeating myself, i'll remember you that all these +At the risk of repeating myself, i'll remind you that all these evaluations will take place in the namespace of the module corresponding to the Scheme file from which you're sending your code, which, in -general, will be different from the REPL's current module. And, if -all goes according to plan, (re)defined variables and procedures should -be immediately visible inside and, if exported, outside their module. +general, will be different from the REPL's current module. And, if all +goes according to plan, (re)defined variables and procedures should be +immediately visible inside and, if exported, outside their module. Besides evaluating expressions, definitions and regions, you can also -macro-expand them. The corresponding keybindings start with the prefix +macro-expand them. The corresponding key bindings start with the prefix @kbd{C-c C-m} and end, respectively, with @kbd{C-e}, @kbd{C-x} and @kbd{C-r}. The result of the macro expansion always appears in a pop up buffer. @@ -411,7 +411,7 @@ the capabilities of the underlying Scheme REPL. @cindex error buffer In Racket, you'll be presented with a backtrace, in a new buffer where -file paths locating the origin of the error are clickable (you can +file paths locating the origin of the error are click-able (you can navigate them using the @key{TAB} key, and use @key{RET} or the mouse to jump to the offending spot; or invoke Emacs' stock commands @code{next-error} and @code{previous-error}, bound to @kbd{M-g n} and @@ -420,7 +420,7 @@ jump to the offending spot; or invoke Emacs' stock commands @imgc{eval-error} The Racket backtrace also highlights the exception type, making it -clickable. Following the link will open the documentation corresponding +click-able. Following the link will open the documentation corresponding to said exception type. Both the error and exception link faces are customizable (@code{geiser-font-lock-error-link} and @code{geiser-font-lock-doc-link}). @@ -428,7 +428,7 @@ customizable (@code{geiser-font-lock-error-link} and On the other hand, Guile's reaction to evaluation errors is different: it enters the debugger in its REPL. Accordingly, the REPL buffer will pop up if your evaluation fails in a Guile file, and the error message -and backtrace will be displayed in there, again clickable and all. But +and backtrace will be displayed in there, again click-able and all. But there you have the debugger at your disposal, with the REPL's current module set to that of the offender, and a host of special debugging commands that are described in Guile's fine documentation. @@ -442,9 +442,9 @@ Racket. You can control how picky Guile is reporting warnings by customizing the variable @code{geiser-guile-warning-level}, whose detailed docstring (which see, using, e.g. @kbd{C-h v}) allows me to offer no further explanation here. The customization group -@i{geiser-guile} is also worth a glance, for a couple of options to fine -tune how Geiser interacts with Guile's debugger (and more). Same thing -for racketeers and @i{geiser-racket}. +@i{geiser-guile} is also worth a glance, for a couple of options to +fine-tune how Geiser interacts with Guile's debugger (and more). Same +thing for racketeers and @i{geiser-racket}. @node Jumping around, Geiser writes for you, To err perchance to debug, Between the parens @section Jumping around diff --git a/doc/repl.texi b/doc/repl.texi index cfce6c8..4116c61 100644 --- a/doc/repl.texi +++ b/doc/repl.texi @@ -18,7 +18,7 @@ ready, just come back here and proceed to the following sections. @section Starting the REPL @cindex REPL -To start a Scheme REPL (meaning, a scheme process offering you a +To start a Scheme REPL (meaning, a Scheme process offering you a Read-Eval-Print Loop), Geiser provides the generic interactive command @command{run-geiser}. If you run it (via, as is customary in Emacs, @kbd{M-x run-geiser}, you'll be saluted by a prompt asking which one of @@ -60,7 +60,7 @@ want to use the default. @cindex Racket's REPL server In Racket, you have to use the REPL server that comes with Geiser. To -that end, put Geiser's Racket scheme directory in the Racket's +that end, put Geiser's Racket @file{scheme} directory in Racket's collection search path and invoke @code{start-geiser} (a procedure in the module @code{geiser/server}) somewhere in your program, passing it the desired port. This procedure will start the REPL server in a @@ -80,9 +80,9 @@ Scheme process in a dedicated thread, meaning that your external program can go on doing whatever it was doing while you tinker with it from Emacs. Note, however, that all Scheme threads share the heap, so that you'll be able to interact with those other threads in the running -scheme from Emacs in a variety of ways. For starters, all your -(re)defintions will be visible everywhere. That's dangerous, but will -come in handy when you need to debug your running webserver. +Scheme from Emacs in a variety of ways. For starters, all your +(re)definitions will be visible everywhere. That's dangerous, but will +come in handy when you need to debug your running web server. @cindex remote connections The connection between Emacs and the Scheme process goes over TCP, so it @@ -111,7 +111,7 @@ is, they'll find the previous or next sexp that starts with the current input prefix (defined as the text between the end of the prompt and your current position, a.k.a. @dfn{point}, in the buffer). For going up and down the list unconditionally, just use @kbd{C-c M-p} and @kbd{C-c M-n}. -In addition, navigation is sexp- rather than line-based. +In addition, navigation is sexp-based rather than line-based. There are also a few commands to twiddle with the Scheme process. @kbd{C-c C-q} will gently ask it to quit, while @kbd{C-u C-c C-q} will @@ -142,7 +142,7 @@ will be happy to oblige. @cindex current module, change Once you enter a new module, only those bindings visible in its -namespace will be available to your evaluations. All schemes supported +namespace will be available to your evaluations. All Schemes supported by Geiser provide a way to import new modules in the current namespace. Again, there's a Geiser command, @command{geiser-repl-import-module}, to invoke such functionality, bound this time to @kbd{C-c C-i}. And, again, @@ -243,7 +243,7 @@ If that's still not enough, Geiser can jump, via @kbd{M-.}, to the symbol's definition. A buffer with the corresponding file will pop up, with its point resting upon the identifier's defining form. When you're done inspecting, @kbd{M-,} will bring you back to where you were. As we -will see, these commands are also available in scheme buffers. @kbd{M-.} +will see, these commands are also available in Scheme buffers. @kbd{M-.} also works for modules: if your point is on an unambiguous module name, the file where it's defined will be opened for you. @@ -255,7 +255,7 @@ The looks and ways of the REPL can be fine-tuned via a bunch of customization variables. You can see and modify them all in the corresponding customization group (by using the menu entry or the good old @kbd{M-x customize-group geiser-repl}), or by setting them in your -Emacs initialization files (as a rule, all knobs in Geiser are turnable +Emacs initialisation files (as a rule, all knobs in Geiser are tunable this way: you don't need to use customization buffers if you don't like them). @@ -292,7 +292,7 @@ full path to the requisite binary. You can also specify a couple more initialisation parameters. For Guile, @code{geiser-guile-load-path} is a list of paths to add to its load path when it's started, while @code{geiser-guile-init-file} is the path to an -initialisation file to be loaded on startup. The equivalent variables +initialisation file to be loaded on start-up. The equivalent variables for Racket are @code{geiser-racket-collects} and @code{geiser-racket-init-file}. @@ -326,9 +326,10 @@ back, on a per REPL basis, using @kbd{C-c C-a}. @cindex port, default @cindex host, default When using @code{connect-to-guile} or @code{geiser-connect}, you'll be -prompted for a host and a port, defaulting to localhost and 37146. You -can change those defaults customizing @code{geiser-repl-default-host} -and @code{geiser-repl-default-port}, respectfully. +prompted for a host and a port, defaulting to ``localhost'' and 37146. +You can change those defaults customizing +@code{geiser-repl-default-host} and @code{geiser-repl-default-port}, +respectfully. @c Local Variables: @c mode: texinfo |