dotemacs

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

readme.org (2964B)


      1 #+TITLE: Geiser and Guile talk to each other
      2 #+OPTIONS: d:nil
      3 #+EXPORT_FILE_NAME: geiser-guile.texi
      4 #+TEXINFO_DIR_CATEGORY: Emacs
      5 #+TEXINFO_DIR_TITLE: Geiser Guile: (geiser-guile).
      6 #+TEXINFO_DIR_DESC: Support for Guile in Geiser
      7 
      8 * Overview
      9 
     10 This package provides support for using [[https://www.gnu.org/software/guile/][GNU Guile]] in Emacs with
     11 [[http://geiser.nongnu.org][Geiser]].
     12 
     13 Provided [[https://gitlab.com/emacs-geiser/geiser][geiser]] is installed in your system, if this package's
     14 directory is in your load path, just add ~(require 'geiser-guile)~ to
     15 your initialisation files and then ~M-x geiser-guile~ to start a REPL.
     16 Scheme files with a Guile module declaration should be automatically
     17 recognised as Guile-flavoured Geiser buffers.
     18 
     19 The easiest way of installing this package is using NonGNU Elpa or
     20 MELPA.  If you're in Emacs 28 or higher, the former is already enabled
     21 and all you need is the familiar
     22 
     23 #+begin_src elisp
     24   M-x install-package RET geiser-guile RET
     25 #+end_src
     26 
     27 That will also install geiser, and its fine info manual.  Please refer
     28 to it (or its [[https://geiser.nongnu.org][online version]]) for a general description of how geiser
     29 schemes work.  We provide below some additional details specific to
     30 geiser-guile.
     31 
     32 * Start up
     33 
     34   When launching the Guile REPL, geiser will invoke the binary
     35   configured in ~geiser-guile-binary~ (simply "guile" by default)
     36   which in turn will load ~geiser-guile-init-file~, if any.
     37 
     38   Note, however, that specifying ~geiser-guile-init-file~ is /not/
     39   equivalent to changing Guile's initialization file (=~/.guile=),
     40   because the former is loaded using the =-l= flag, together with =-q=
     41   to disable loading the second.  But there are subtle differences
     42   in the way Guile loads the initialization file versus how it loads
     43   a file specified via the =-l= flag.  If what you want is just
     44   loading =~/.guile=, leave ~geiser-guile-init-file~ alone and set
     45   ~geiser-guile-load-init-file~ to ~t~ instead.
     46 
     47   One can also provide a global list of paths to add to Guile's
     48   =%load-path= via ~geiser-guile-load-path~.
     49 
     50 * Debugging support
     51 
     52   Guile supports all the debugger commands supported by Geiser (it's
     53   in fact used as the reference for the implementation and design of
     54   that support).  When the REPL would normally enter its debug mode,
     55   with a prompt of the style:
     56 
     57       scheme@(guile-user) [1]>
     58 
     59   showing a debugging level, Geiser will instead bring you to the
     60   =*Geiser Dbg*= buffer, where you can access a menu of debugging
     61   commands via the ~,~ (comma) key.
     62 
     63   The geiser-guile customization group will show you, among many
     64   other, a few flags fine-tuning interaction with the debugger, as
     65   well as things like the detail level of error messages (e.g. via
     66   ~geiser-guile-warning-level~).
     67 
     68 * Tramp support
     69   Geiser guile can be used remotely via tramp connections: the REPL
     70   process will be run in the machine where the tramp-accessed file
     71   lives.  Implemented by Felipe Lema.