public inbox for kawa@sourceware.org
 help / color / mirror / Atom feed
* please try out the Kawa binary pre-release
@ 2016-11-02 22:59 Per Bothner
  2016-11-03  8:58 ` Sudarshan S Chawathe
  2016-11-07 19:59 ` new (last?) " Per Bothner
  0 siblings, 2 replies; 4+ messages in thread
From: Per Bothner @ 2016-11-02 22:59 UTC (permalink / raw)
  To: Kawa mailing list

Grab it from ftp://ftp.gnu.org/pub/gnu/kawa/kawa-latest.zip .

At this point I'm most interested in:
* The REPL, including the JLine3 line-editor, and optionally DomTerm.
* The documentation, especially of new features, and also how usable it is.

I have not recently tested Kawa on Windows, so that would be
extra welcome.

To read the manual (kawa-2.1.91/doc/kawa-manual.epub) see
kawa-2.1.91/doc/README-epub.  Let me know if that is unclear or
you have difficulties ...  The most convenient way to read it is
probably the bin/browse-kawa-manual script, but it does require
JavaFX.

(I'm considering adding a function that starts a http
server, and then uses the Desktop class to create a browser
window.  The tricky part is shutting down the server when the
window is closed.  Let me know if that would be helpful.
The function could be called from your own code, or from the
Kawa command-line.)

For the REPL let me know of any problems or annoying behavior.
Please also try -w to create a Window.  I'm mostly interested
in the new DomTerm-based console window.  (It should say "Kawa (DomTerm)"
in the window top.)  This does require JavaFX.

For the DomTerm window, you can try printing Pictures,
and HTML/XML objects.  For example:
   #<hr/>
displays a horizontal line.

The JaveFX-based console does have some blemishes.  Obviously,
it requires JavaFX and specifically WebView, which are not getting
a lot of love from Oracle.  Copy/Paste are flaky.  I'm considering
prioritizing a browser-based console.  The -w flag would (by default)
start a small web-server (including WebSockets), and then start up
a DomTerm window in your preferred browser.  What do you think?
Most of what's needed is already implemented in Kawa or DomTerm;
it's just a matter of putting them together.  (I think it can be done
without PTYs or native code, which is obviously a plus.)

For extra karma, you could try compiling from Subversion, but
configure --with-jline3 --with-domterm.  It's easiest if you just
use the jars from the binary distribution.
-- 
	--Per Bothner
per@bothner.com   http://per.bothner.com/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: please try out the Kawa binary pre-release
  2016-11-02 22:59 please try out the Kawa binary pre-release Per Bothner
@ 2016-11-03  8:58 ` Sudarshan S Chawathe
  2016-11-03 17:46   ` Per Bothner
  2016-11-07 19:59 ` new (last?) " Per Bothner
  1 sibling, 1 reply; 4+ messages in thread
From: Sudarshan S Chawathe @ 2016-11-03  8:58 UTC (permalink / raw)
  To: Per Bothner; +Cc: Kawa mailing list

[-- Attachment #1: Type: text/plain, Size: 608 bytes --]


I noticed a minor problem: The automatic CLASSPATH-setting code in the
'kawa' shell script does not do the intended (I think) thing when that
shell script is invoked as "./kawa" (leading to an error "Could not find
or load main class kawa.repl).  I believe a small change to the sed
command in the kawa script does the trick:

  kawadir=`echo "$thisdir" | sed -e 's|/bin\(/.\)*$||'`

Perhaps it is safe to replace the '*' with a '?', but the above will
cover the case of multiple trailing './' substrings if they somehow
appear.  I am including a context diff below for completeness sake.

Regards,

-chaw


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: kawa.diff --]
[-- Type: text/x-diff, Size: 764 bytes --]

*** kawa-2.1.91/bin/kawa	2016-11-03 04:48:26.773976949 -0400
--- kawa-2.1.91/bin/kawa.orig	2016-11-02 15:02:26.000000000 -0400
***************
*** 5,15 ****
    /*) ;;
    *) thisfile="$PWD/$thisfile"  ;;
  esac
  while test -L "$thisfile"; do thisfile=$(readlink -f "$thisfile"); done
  thisdir=`dirname "$thisfile"`
! kawadir=`echo "$thisdir" | sed -e 's|/bin\(/.\)*$||'`
  if [ "$#" -eq 0 ]
  then
     command_line="$0"
  else
     command_line="$0 $*"
--- 5,15 ----
    /*) ;;
    *) thisfile="$PWD/$thisfile"  ;;
  esac
  while test -L "$thisfile"; do thisfile=$(readlink -f "$thisfile"); done
  thisdir=`dirname "$thisfile"`
! kawadir=`echo "$thisdir" | sed -e 's|/bin$||'`
  if [ "$#" -eq 0 ]
  then
     command_line="$0"
  else
     command_line="$0 $*"

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: please try out the Kawa binary pre-release
  2016-11-03  8:58 ` Sudarshan S Chawathe
@ 2016-11-03 17:46   ` Per Bothner
  0 siblings, 0 replies; 4+ messages in thread
From: Per Bothner @ 2016-11-03 17:46 UTC (permalink / raw)
  To: Sudarshan S Chawathe; +Cc: Kawa mailing list

On 11/03/2016 01:58 AM, Sudarshan S Chawathe wrote:
>
> I noticed a minor problem: The automatic CLASSPATH-setting code in the
> 'kawa' shell script does not do the intended (I think) thing when that
> shell script is invoked as "./kawa" (leading to an error "Could not find
> or load main class kawa.repl).  I believe a small change to the sed
> command in the kawa script does the trick:
>
>   kawadir=`echo "$thisdir" | sed -e 's|/bin\(/.\)*$||'`
>
> Perhaps it is safe to replace the '*' with a '?', but the above will
> cover the case of multiple trailing './' substrings if they somehow
> appear.

Thanks!  I checked your fix into Subversion.
With one minor change: I escaped the period:

kawadir=`echo "$thisdir" | sed -e 's|/bin\(/\.\)*$||'`

> I am including a context diff below for completeness sake.

For future reference: Most people and projects these days prefer
unified (-u) diffs.  Also note your patch was reversed.
-- 
	--Per Bothner
per@bothner.com   http://per.bothner.com/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* new (last?) Kawa binary pre-release
  2016-11-02 22:59 please try out the Kawa binary pre-release Per Bothner
  2016-11-03  8:58 ` Sudarshan S Chawathe
@ 2016-11-07 19:59 ` Per Bothner
  1 sibling, 0 replies; 4+ messages in thread
From: Per Bothner @ 2016-11-07 19:59 UTC (permalink / raw)
  To: Kawa mailing list

Grab it as usual from ftp://ftp.gnu.org/pub/gnu/kawa/kawa-latest.zip .

This is basically a release candidate, except for the version number.

* The -w option now takes various sub-options.  For example
-wbrowser creates a server (two actually: http and WebSocket),
and then pops up a REPL window in the your default web browser.

-wswing is the old Swing console and -wjavafx is the new JacaFX+DomTerm one.
Plain -w tries various options in order - see the manual for the gory details.

* A new --browse-manual option for (you guessed it) browsing the
(included) manual.  This has various sub-options; the default
creates a new window in your default browser.

* The browse-kana-manual command has been removed. It handled
external links poorly (replacing the entire window), and fixing
it didn't seem a priority.  (It's still in the Subversion source,
but now in the doc directory.)

* The new -w option(s) now works on plain Windows 10.  Even with DomTerm
and JLine3 line editing; composable pictures output etc.
--browse-manual also works.  The bin/kawa shell script works on MinGW.

* On DomTerm the default prompt emits hide/show buttons.

On 11/02/2016 03:58 PM, Per Bothner wrote:
> (I'm considering adding a function that starts a http
> server, and then uses the Desktop class to create a browser
> window.  The tricky part is shutting down the server when the
> window is closed.  Let me know if that would be helpful.
> The function could be called from your own code, or from the
> Kawa command-line.)

Did that ...

> The JaveFX-based console does have some blemishes.  Obviously,
> it requires JavaFX and specifically WebView, which are not getting
> a lot of love from Oracle.  Copy/Paste are flaky.  I'm considering
> prioritizing a browser-based console.  The -w flag would (by default)
> start a small web-server (including WebSockets), and then start up
> a DomTerm window in your preferred browser.  What do you think?
> Most of what's needed is already implemented in Kawa or DomTerm;
> it's just a matter of putting them together.  (I think it can be done
> without PTYs or native code, which is obviously a plus.)

Did that - in spades ...

-- 
	--Per Bothner
per@bothner.com   http://per.bothner.com/

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-11-07 19:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-02 22:59 please try out the Kawa binary pre-release Per Bothner
2016-11-03  8:58 ` Sudarshan S Chawathe
2016-11-03 17:46   ` Per Bothner
2016-11-07 19:59 ` new (last?) " Per Bothner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).