Regarding the cross platform nature of rlwrap, at the cost of an extra JVM
dependency might it not be better to use jline?

http://jline.sourceforge.net/
https://github.com/jline/jline3

I used to use it with clojure many many years ago and it seemed to work
quite well...

R.


On 26 July 2017 at 17:57, Alex Miller <a...@puredanger.com> wrote:

>
>
> On Wed, Jul 26, 2017 at 11:48 AM, Steve Miner <stevemi...@gmail.com>
> wrote:
>
>> I’ve been using my own launch script that does something similar to the
>> new clj script. (I’m caching a Leiningen generated classpath.)  I had some
>> bugs when my project directory was copied to another user or machine
>> because the cached classpath was not validate in the new environment,
>> particularly with a different Maven repository.  The same kind of problem
>> can happen with a remotely mounted project directory.  File time checks did
>> not necessarily protect against these relocations.
>>
>> I fixed my problem with two changes.  First, I put the cache in the
>> PROJECT/target subdirectory so that a “lein clean” would allow the user to
>> recover.
>>
>
> This is a non-starter - we need the cache to survive a rebuild by separate
> build tool (also don't want to create target dir if not needed).
>
>
>> Second, I named my cache file with the inode of the project.clj file.  If
>> the project is copied somewhere else, it is highly unlikely that the inode
>> numbers would match.  The inode of the Maven repository or project deps.edn
>> should work with the new clj script.
>>
>
> Interesting, will think about that (portability issues though).
>
>
>> I use rlwrap, except within an Emacs shell.  I suggest you test for the
>> presence of rlwrap as you do for java.  $(type -p rlwrap)  and ignore it if
>> it’s not found.  I think Emacs is popular enough that it’s worth testing
>> for within your clj script ($EMACS will be defined).  It would be good
>> enough if you provided an option to turn off rlwrap so I could wrap your
>> script with my own.
>>
>
> I've had feedback from others on rlwrap too (since it's currently missing
> from the installation instructions, which is just my oversight). The idea
> was that the installer would ensure it's installed so it can be assumed it
> exists. But there are surely cases where you might not want it so a jira
> for having a way to add more control around it would be fine. I don't want
> to check for $EMACS but wouldn't mind having a new env var that you could
> set to skip it or something like that.
>
>
>> I can file bugs and provide patches if you want.
>>
>> Steve Miner
>> stevemi...@gmail.com
>>
>> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to