[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-kawa ad862b1 090/119: Update README.org, TODO.org
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-kawa ad862b1 090/119: Update README.org, TODO.org |
Date: |
Sun, 1 Aug 2021 18:30:44 -0400 (EDT) |
branch: elpa/geiser-kawa
commit ad862b11e18d67ac62905a3847b0e94306ee6003
Author: spellcard199 <spellcard199@protonmail.com>
Commit: spellcard199 <spellcard199@protonmail.com>
Update README.org, TODO.org
---
README.org | 2 ++
TODO.org | 33 +++++++++++++++++++++++++++++----
2 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/README.org b/README.org
index ad13a7e..932f5a2 100644
--- a/README.org
+++ b/README.org
@@ -69,6 +69,8 @@ Double quotes around parameters: the reason why the arguments
are enclosed in do
Parameter names: parameter names are retrieved using the =gnu.bytecode=
package (included in Kawa) for reading local variables in Java methods'
bytecode. Since parameters are not always present in bytecode as local
variables, especially for java, when not available the parameter name defaults
to =argN=, where =N= is a number.
+[[https://gitlab.com/kashell/Kawa/-/blob/master/gnu/kawa/lispexpr/LangObjType.java][LangObjType
objects]]: these are special objects that may behave like procedures. When
these are called as procedures, a constructor java method is called. This
method does not have the same name as the symbol you insert in Kawa, so I
decided that it was a good idea to show the method name as part of the
displayed module, preceded by a colon. I don't know if it's a good idea, but it
would be easy to chang [...]
+
** About completion for java's fields, methods and packages
:PROPERTIES:
:CUSTOM_ID: 7ca3650a-2658-42f0-8274-96f194768e11
diff --git a/TODO.org b/TODO.org
index 8cd53b0..9446d2c 100644
--- a/TODO.org
+++ b/TODO.org
@@ -3,8 +3,7 @@
Since =geiser-kawa= limits itself to ask =kawa-devutil= for data and then wrap
it in geiser's protocol, most of the bugs are actually in =kawa-devutil=.
- Completion for Java is often broken
-- Autodoc when using colon notation on Java methods doesn't show all the
alternatives
-- Evaluation should not capture Java's output by default, only Kawa's: I wrote
it this way because at the time I was convinced it was a feature, but then I
realized it's bad design
+- Autodoc when using colon notation on Java methods doesn't show all the
alternatives (I can't find again examples of where it happened though)
- Fix kawa-devutil issues
** Add elisp tests, find bugs, fix them
@@ -23,8 +22,6 @@ Write tests for these:
** Write melpa recipe and put on melpa
-There are still obvious bugs that need to be fixed before the quality of the
package becomes sufficient for melpa.
-
I tried to make a melpa recipe and it seems to work. Here are the instructions
to reproduce it.
#+BEGIN_SRC shell
@@ -62,3 +59,31 @@ Test that it works:
2. =geiser-kawa-java-find-pc--cache=
3. =geiser-kawa-java-find-pc-refresh-cache=
3. =geiser-kawa-java-find-pc (&optional classloader-list)=
+
+** Add mechanism to inject kawa-geiser into running remote REPL
+
+It may be useful in cases where the user wants to have =Kawa= but not
=kawa-geiser= as an actual dependency for her/his project, while still being
able to use geiser-kawa. For example, for live inspection of a running java
application.
+
+Is it possible to do it in a fileless way on the targe machine? Kawa does load
classes without files. Learn how Kawa does it and if it's possible to:
+1. Create a new ClassLoader in the Kawa remote repl
+2. For each .class file in the =kawa-geiser= fat jar:
+ 1. Encode .class file to base64 string
+ 2. Send base64 string via the geiser connection
+ 3. Decode base64
+ 4. Add to ClassLoader
+3. Import and use =geiser= in the scheme environment directly from our
ClassLoader
+
+** Consider if it's a good idea to write functions to download and uncompress
kawa manual from ftp://ftp.gnu.org/pub/gnu/kawa/kawa-latest.zip
+
+Message could be something like: do you want to download and extract a copy of
the manual from unsecure connection ... (file integrity will be checked with
sha265 however)?
+
+Current sha256sum for ftp://ftp.gnu.org/pub/gnu/kawa/kawa-3.1.1.zip:
dab1f41da968191fc68be856f133e3d02ce65d2dbd577a27e0490f18ca00fa22
+
+#+BEGIN_SRC emacs-lisp
+(defun sha256-of-file(file-path)
+ (secure-hash
+ 'sha256
+ (with-temp-buffer
+ (insert-file-contents file-path)
+ (buffer-substring-no-properties (point-min) (point-max)))))
+#+END_SRC
- [nongnu] elpa/geiser-kawa 5549434 005/119: Add Cask file, (continued)
- [nongnu] elpa/geiser-kawa 5549434 005/119: Add Cask file, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 590968e 045/119: Add autodoc support for constructor methods, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 47a2956 044/119: Refactor kawageiser.Geiser.java, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 9f3a057 050/119: README - Add more information about java completion + update kawa-devutil dep, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 34b68ce 052/119: Add check for deps with run-kawa is called. Uses emacs advice on run-kawa., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 0aa42cb 040/119: Fix broken test, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa b8647aa 057/119: Fix error in func name, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 79dec54 061/119: Add support for viewing Expression tree, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 8d6202f 081/119: Refactor + Fix style + Copyright notices, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 1ffe084 097/119: Fixes for windows support + README.org: add instructions, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa ad862b1 090/119: Update README.org, TODO.org,
Philip Kaludercic <=
- [nongnu] elpa/geiser-kawa d7cb7d9 105/119: Remove advice from "run-kawa" + add "geiser-kawa-run-kawa" function, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa ff93297 112/119: README.org - small changes, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 71f8a69 114/119: Fix checkdoc and lint warnings in preparation for melpa recipe update, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 1538f1f 062/119: TODO.org: update, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 2016503 063/119: Fix error caused by undefined reg-beg and reg-end, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa e4fc302 065/119: pom.xml: update kawa-devutil dep, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 69fbe9c 067/119: Refactor: several changes + update pom.xml for kawa-devutil, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa f57efde 071/119: Change geiser version, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa f25955e 072/119: Fix broken package name, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 0ef5baa 106/119: melpa/melpa#6858 - Fix issues found by "Suggestions/experimental static checks", Philip Kaludercic, 2021/08/01