[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-kawa 1f6357f 009/119: README - Update
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-kawa 1f6357f 009/119: README - Update |
Date: |
Sun, 1 Aug 2021 18:30:28 -0400 (EDT) |
branch: elpa/geiser-kawa
commit 1f6357f139a9993323795ad3a1d10fb900d489ac
Author: spellcard199 <spellcard199@protonmail.com>
Commit: spellcard199 <spellcard199@protonmail.com>
README - Update
---
README.org | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 55 insertions(+), 2 deletions(-)
diff --git a/README.org b/README.org
index 554e682..10fe0fd 100644
--- a/README.org
+++ b/README.org
@@ -4,9 +4,62 @@
geiser-kawa-java is the emacs side of a geiser-kawa implementation that uses
[[https://gitlab.com/spellcard199/kawa-geiser][kawa-geiser]] for its Kawa side.
-** Project status
+** Supported features
-Work in progress.
+- eval
+- load-file
+- completions
+- module-completions (very fragile atm)
+- autodoc:
+ - for scheme procedures
+ - for java methods
+
+** Unsupported features
+
+geiser-related:
+- macroexpand
+- find-file
+- symbol-location
+- module-location
+- symbol-documentation
+- module-exports
+- callers
+- callees
+- generic-methods
+- (TODO) manual lookup: should work for both formats:
+ - info: using emacs' Info-mode
+ - epub: using emacs' eww browser
+
+kawa- and java-specific:
+- completion for java methods
+- completion for java classes
+
+** Try geiser-kawa without modifying your emacs configuration
+
+1. Get Emacs, Cask, Maven and optionally Kawa and make them available through
your $PATH
+ - the reason Kawa is optional is that =quickstart.el= calls =mvn package=
(wrapped by =geiser-kawa-compile-java-dependencies=), which produces a jar that
includes the compiled [[https://gitlab.com/groups/kashell/][Kawa's master
branch]]
+2. Clone this repository
+3. cd into the cloned dir
+4. Tell cask to install emacs dependencies with:
+ : cask install
+5. Pull [[http://gitlab.com/spellcard199/kawa-geiser][kawa-geiser]] maven
dependencies, compile them and start geiser-kawa's scratch buffer and repl with:
+ : cask emacs -Q --load quickstart.el
+
+** Cask issue with geiser
+
+If you use geiser as a dependency in a Cask project, Cask eagerly expands the
=define-geiser-implementation= macro with =load-file-name= having the wrong
value. The result is that geiser implementations in geiser do not work when
geiser is managed as a dependency by Cask.
+
+Link to the issue I've opened in Cask: https://github.com/cask/cask/issues/472.
+
+As a (temporary?) workaround, geiser-kawa.el quotes
=define-geiser-implementation= and wraps it an =eval= form, and that avoids:
+1. macro expansion to happen during cask-cli.el execution
+2. =load-file-name= having the wrong value of =<path-to-cask-cli.el>= instead
of =<path-to-geiser-impl.el>=
+As a side effect, using =(require 'geiser-kawa)= instead of =(require geiser)=
also fixes the problem for the other implementations, but for this I don't
understand why.
+
+To summarize:
+1. geiser-kawa depends on geiser
+2. geiser as a dependency does not work with Cask (or vice-versa)
+3. If in the emacs instance started with =cask emacs= you use =(require
'geiser-kawa)= instead of =(require 'geiser)=, geiser-kawa.el chain-requires
geiser and (for some reason I don't understand) other geiser implementations
start working
** Difference from
[[https://gitlab.com/spellcard199/geiser-kawa-scheme][geiser-kawa-scheme]]
- [nongnu] branch elpa/geiser-kawa created (now 3d999a3), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa eba6684 014/119: pom.xml - Update kawa-geiser commit SHA, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa f5a1697 026/119: README - small reword, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 2ec29bd 011/119: pom.xml - use specific commit instead of -SNAPSHOT for kawa-geiser dep, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 63e662d 012/119: README - reword quickstart instructions, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa fabe331 047/119: Use kawa-devutil's Kawa server wrapper instead of own solution, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 1b82b8f 056/119: Add tests for elisp, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 3c57d06 059/119: TODO.org: Add todos, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 1f6357f 009/119: README - Update,
Philip Kaludercic <=
- [nongnu] elpa/geiser-kawa 4ba3dc2 035/119: Add support for macroexpand, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 266413b 038/119: Refactor: replace Kawa procedures with primitive methods + update kawa-devutil dep, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 281d27c 028/119: Add COPYING, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 72dbb50 036/119: Refactor: rename classes, move static field between classes, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 91929a6 013/119: Small naming change, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 8451f3b 017/119: README.org - Small reword, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa ed8d954 055/119: Rename funcs, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa e4679f7 066/119: pom.xml update kawa-devutil dep + fix code accordingly, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 80ed3e7 068/119: Update geiser version + remove geiser workaround for Cask, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa f258b9a 073/119: TODO.org: add notes to self on how to make the melpa recipe, Philip Kaludercic, 2021/08/01