dotemacs

My Emacs configuration
git clone git://git.entf.net/dotemacs
Log | Files | Refs | LICENSE

geiser-guile.texi (3447B)


      1 \input texinfo    @c -*- texinfo -*-
      2 @c %**start of header
      3 @setfilename geiser-guile.info
      4 @settitle Geiser and Guile talk to each other
      5 @documentencoding UTF-8
      6 @documentlanguage en
      7 @c %**end of header
      8 
      9 @dircategory Emacs
     10 @direntry
     11 * Geiser Guile: (geiser-guile). Support for Guile in Geiser.
     12 @end direntry
     13 
     14 @finalout
     15 @titlepage
     16 @title Geiser and Guile talk to each other
     17 @author jao
     18 @end titlepage
     19 
     20 @ifnottex
     21 @node Top
     22 @top Geiser and Guile talk to each other
     23 @end ifnottex
     24 
     25 @menu
     26 * Overview::
     27 * Start up::
     28 * Debugging support::
     29 * Tramp support::
     30 @end menu
     31 
     32 @node Overview
     33 @unnumbered Overview
     34 
     35 This package provides support for using @uref{https://www.gnu.org/software/guile/, GNU Guile} in Emacs with
     36 @uref{http://geiser.nongnu.org, Geiser}.
     37 
     38 Provided @uref{https://gitlab.com/emacs-geiser/geiser, geiser} is installed in your system, if this package's
     39 directory is in your load path, just add @code{(require 'geiser-guile)} to
     40 your initialisation files and then @code{M-x run-guile} to start a REPL@.
     41 Scheme files with a Guile module declaration should be automatically
     42 recognised as Guile-flavoured Geiser buffers.
     43 
     44 The easiest way of installing this package is using NonGNU Elpa or
     45 MELPA@.  If you're in Emacs 28 or higher, the former is already enabled
     46 and all you need is the familiar
     47 
     48 @lisp
     49 M-x install-package RET geiser-guile RET
     50 @end lisp
     51 
     52 That will also install geiser, and its fine info manual.  Please refer
     53 to it (or its @uref{https://geiser.nongnu.org, online version}) for a general description of how geiser
     54 schemes work.  We provide below some additional details specific to
     55 geiser-guile.
     56 
     57 @node Start up
     58 @unnumbered Start up
     59 
     60 When launching the Guile REPL, geiser will invoke the binary
     61 configured in @code{geiser-guile-binary} (simply "guile" by default)
     62 which in turn will load @code{geiser-guile-init-file}, if any.
     63 
     64 Note, however, that specifying @code{geiser-guile-init-file} is @emph{not}
     65 equivalent to changing Guile's initialization file (@samp{~/.guile}),
     66 because the former is loaded using the @samp{-l} flag, together with @samp{-q}
     67 to disable loading the second.  But there are subtle differences
     68 in the way Guile loads the initialization file versus how it loads
     69 a file specified via the @samp{-l} flag.  If what you want is just
     70 loading @samp{~/.guile}, leave @code{geiser-guile-init-file} alone and set
     71 @code{geiser-guile-load-init-file-p} to @code{t} instead.
     72 
     73 One can also provide a global list of paths to add to Guile's
     74 @samp{%load-path} via @code{geiser-guile-load-path}.
     75 
     76 @node Debugging support
     77 @unnumbered Debugging support
     78 
     79 Guile supports all the debugger commands supported by Geiser (it's
     80 in fact used as the reference for the implementation and design of
     81 that support).  When the REPL would normally enter its debug mode,
     82 with a prompt of the style:
     83 
     84 scheme@@(guile-user) [1]>
     85 
     86 showing a debugging level, Geiser will instead bring you to the
     87 @samp{*Geiser Dbg*} buffer, where you can access a menu of debugging
     88 commands via the @code{,} (comma) key.
     89 
     90 The geiser-guile customization group will show you, among many
     91 other, a few flags fine-tuning interaction with the debugger, as
     92 well as things like the detail level of error messages (e.g. via
     93 @code{geiser-guile-warning-level}).
     94 
     95 @node Tramp support
     96 @unnumbered Tramp support
     97 
     98 Geiser guile can be used remotely via tramp connections: the REPL
     99 process will be run in the machine where the tramp-accessed file
    100 lives.  Implemented by Felipe Lema.
    101 
    102 @bye