This is a known issue that history file format is different between readline and linenoise in that readline seems store space as octat number. I think a simple workaround is to assign a different jhistory filename for linenoise. I'll do it in the next update.
On Thu, May 23, 2019, 2:25 PM Joey K Tuttle <[email protected]> wrote: > I can confirm same observations as Ric (and agree that tab-completion of > paths is missed but less critical that other things). > > I do note that ~/.jhistory gets stomped on and while previous history > seems to be there in jconsolemr, it is gone from 901/bin/jconsole instances. > > As someone whose use of J is 99.9% from a CLI, I'm concerned about this. > > As an added "benefit" to being so retro, I've never had any trouble with > ^C for breaking a long running task and confess to never having used jbreak > which has been a UI topic of late. > > - joey > > > On 2019May 22, at 23:10, Ric Sherlock <[email protected]> wrote: > > > > Thanks, yes I can confirm that ctrl+z works with jconsolemr. > > No tab-completion of paths though, but given there will be both options > > (readline and a new "no dependencies" version, then that's a reasonable > > compromise. > > Cheers, > > > > On Thu, May 23, 2019 at 3:03 PM bill lam <[email protected]> wrote: > > > >> Yes, but I don't think this fork is good because it used c++ > >> which make building binaries complicated. It is not the only > >> fork for linenoise. > >> > >> I have made patch from another fork and jconsole (linenosie) can > >> work for utf8 ctrl-r ctrl-z ctrl-c. > >> > >> please get and try the jconsolemr (minimalist readline) > >> from www.jsoftware.com/download/jengine/j901-beta/linux/j64 > >> > >> Thu, 23 May 2019, Ric Tikkanz написал(а): > >>> Did you take a look at https://github.com/AmokHuginnsson/replxx ? > >>> > >>> From my reading it would also provide a self-contained, no outside > >>> dependency solution, but has a significantly enhanced feature set. > >>> > >>> Features: > >>>> > >>> > >>> - single-line and multi-line editing mode with the usual key bindings > >>> implemented > >>> - history handling > >>> - completion > >>> - syntax highlighting > >>> - hints > >>> - BSD license source code > >>> - Only uses a subset of VT100 escapes (ANSI.SYS compatible) > >>> - UTF8 aware > >>> - support for Linux, MacOS and Windows > >>> > >>> It deviates from Salvatore's original goal to have a minimal readline > >>> replacement for the sake of supporting UTF8 and Windows. It deviates > from > >>> 10gen Inc.'s goal to create a C++ interface to linenoise. This library > >> uses > >>> C++ internally, but to the user it provides a pure C interface that is > >>> compatible with the original linenoise API. C interface. > >>> > >>> > >>> On Wed, May 22, 2019 at 12:23 PM bill lam <[email protected]> wrote: > >>> > >>>> Sorry for missing some context for discussion. linenoise here refers > to > >>>> > >>>> https://github.com/antirez/linenoise > >>>> > >>>> > >>>> On Tue, May 21, 2019, 12:14 AM Raul Miller <[email protected]> > >> wrote: > >>>> > >>>>> P.S. if the point of "linenoise" was to cope with faulty modem > >>>>> sessions, note that people with this issue could disable control-z > >>>>> before starting J, using > >>>>> > >>>>> stty susp undef > >>>>> > >>>>> But I don't think J should be optimized for faulty hardware. > >>>>> > >>>>> Thanks, > >>>>> > >>>>> > >>>>> -- > >>>>> Raul > >>>>> > >>>>> On Mon, May 20, 2019 at 12:09 PM Raul Miller <[email protected]> > >>>>> wrote: > >>>>>> > >>>>>> I do not know what linenoise is, in this context, but control-z is > >>>>>> basic functionality which predates libedit by decades. > >>>>>> > >>>>>> My inclination would be to remove that entire section of code (from > >>>>>> the case statement to the continue statement) from the > >> feature-reduced > >>>>>> implementation of jconsole. > >>>>>> > >>>>>> Thanks, > >>>>>> > >>>>>> -- > >>>>>> Raul > >>>>>> > >>>>>> On Mon, May 20, 2019 at 11:55 AM bill lam <[email protected]> > >> wrote: > >>>>>>> > >>>>>>> Right, the original linenoise ignore ctrl-z. There is another > >>>>>>> fork that seemed has a patch for it. > >>>>>>> > >>>>>>> case ctrl('Z'): /* ctrl-z */ > >>>>>>> #ifdef SIGTSTP > >>>>>>> /* send ourselves SIGSUSP */ > >>>>>>> disableRawMode(current); > >>>>>>> raise(SIGTSTP); > >>>>>>> /* and resume */ > >>>>>>> enableRawMode(current); > >>>>>>> refreshLine(current); > >>>>>>> #endif > >>>>>>> continue; > >>>>>>> > >>>>>>> If users want the same level of functions of libedit, the > >>>>>>> linenoise version can never satisfy them no matter how hard > >>>>>>> we put efforts to improve linenoise. It is better to use the > >>>>>>> libedit in that case. > >>>>>>> > >>>>>>> Mon, 20 May 2019, Raul Miller написал(а): > >>>>>>>> On Mon, May 20, 2019 at 11:04 AM bill lam <[email protected] > >>> > >>>>> wrote: > >>>>>>>>> jconsole can not run on rhel if users do not have sudo right > >> to > >>>>> symlink > >>>>>>>>> some shared library. I hope this issue can be addressed > >> properly > >>>>>>>>> in j901. > >>>>>>>> > >>>>>>>> This is an example of a bigger problem that can occur in a > >> variety > >>>>> of contexts. > >>>>>>>> > >>>>>>>> I think the "jconsole without libedit" mechanism is a good > >> thing. > >>>> If > >>>>>>>> we want J to be usable in docker instances, ec2 instances, > >> docker > >>>>>>>> instances in ec2 instances, etc. etc. then we want it to be > >> simple > >>>>> and > >>>>>>>> robust. (We also would want relevant documentation and some > >> way of > >>>>>>>> coping with feature drift and stale documentation in the > >> hosting > >>>>>>>> environments, but that just gives you an idea of the scope of > >> the > >>>>>>>> problems.) > >>>>>>>> > >>>>>>>> That said: > >>>>>>>> > >>>>>>>> (1) It's odd that this beta jconsole instance is ignoring > >>>> control-Z. > >>>>>>>> This issue suggests that the SIGTSTP signal is being caught and > >>>> then > >>>>>>>> jconsole is ignoring it. (It would probably be a good idea to > >> not > >>>>>>>> catch signals if you do not have a specific reason for doing > >> so. If > >>>>>>>> there's a reason for this one, it might need a foreign?) > >>>>>>>> > >>>>>>>> (2) If symlinks are the showstopper for the feature-enhanced > >>>>> jconsole, > >>>>>>>> it would make sense to put the symlinks in the same directory > >> as J > >>>>> and > >>>>>>>> link against those. If there are other issues (like different > >>>>> versions > >>>>>>>> of libedit having different interfaces for needed mechanisms) > >> it > >>>>> would > >>>>>>>> make sense to let the user compile the code that uses the > >>>> libraries. > >>>>>>>> If the user needs privileges to compile and deploy which they > >> do > >>>> not > >>>>>>>> have, they can fall back on the feature reduced jconsole. > >>>>>>>> > >>>>>>>> Thanks, > >>>>>>>> > >>>>>>>> -- > >>>>>>>> Raul > >>>>>>>> > >>>>> > >> ---------------------------------------------------------------------- > >>>>>>>> For information about J forums see > >>>>> http://www.jsoftware.com/forums.htm > >>>>>>> > >>>>>>> -- > >>>>>>> regards, > >>>>>>> ==================================================== > >>>>>>> GPG key 1024D/4434BAB3 2008-08-24 > >>>>>>> gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 > >>>>>>> > >>>> ---------------------------------------------------------------------- > >>>>>>> For information about J forums see > >>>> http://www.jsoftware.com/forums.htm > >>>>> > >> ---------------------------------------------------------------------- > >>>>> For information about J forums see > >> http://www.jsoftware.com/forums.htm > >>>>> > >>>> ---------------------------------------------------------------------- > >>>> For information about J forums see > http://www.jsoftware.com/forums.htm > >>>> > >>> ---------------------------------------------------------------------- > >>> For information about J forums see http://www.jsoftware.com/forums.htm > >> > >> -- > >> regards, > >> ==================================================== > >> GPG key 1024D/4434BAB3 2008-08-24 > >> gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 > >> ---------------------------------------------------------------------- > >> For information about J forums see http://www.jsoftware.com/forums.htm > >> > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
