Tab Auto-Completition Broken - 3.2.91

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Tab Auto-Completition Broken - 3.2.91

highbeg
Hi Everyone,

I upgraded from 3.2.5 to 3.2.91 because of a stability issue and bugs with
3.2.5.

3.2.91 doesn't have the issue and runs just fine.

Tab auto-completition isn't working. Instead of gst completing keywords as
it did in 3 2.5, the tab key simply inserts a tab without completing the
keyword.

I realize .91 isn't released and is likely not supported. I'm just
documenting what I'm seeing and hoping someone has seen such behavior
before and has a suggestion for me.

The installation files and procedure from the following link worked
perfectly. I simply typed the following and installed missing components as
necessary.

./config
make
sudo make install

https://alpha.gnu.org/gnu/smalltalk/smalltalk-3.2.91.tar.gz

My system is Ubuntu 20.04.


Thanks everyone,

Gary Highberger
Reply | Threaded
Open this post in threaded view
|

Re: Tab Auto-Completition Broken - 3.2.91

stes

Works for me ...

I wasn't aware of this feature by the way, thanks for pointing out.

st> 1 fa    
factor            factorial         falseBlock        fastAsFloat:
factorOrDuration  false             falseString      
st> Smalltalk version
'GNU Smalltalk version 3.2.91'
st> 3 factorial
6

For example I type 1 fa then 'Tab'.

Later 1 typed 3 fac + Tab + i + Tab to get '3 factorial'.

So the feature works for me in 3.2.91.

My guess is that this is related to the configure settings (how the package is being compiled).

Perhaps it would be possible to compile 3.2.5 without the feature as well.

I tested with GNU smalltalk 3.2.5 and in 3.2.5 and 3.2.91, the feature works in both versions.

But I think it depends on the configure script.

David.

----- Op 3 feb 2021 om 4:49 schreef Gary Highberger [hidden email]:

> Hi Everyone,
>
> I upgraded from 3.2.5 to 3.2.91 because of a stability issue and bugs with
> 3.2.5.
>
> 3.2.91 doesn't have the issue and runs just fine.
>
> Tab auto-completition isn't working. Instead of gst completing keywords as
> it did in 3 2.5, the tab key simply inserts a tab without completing the
> keyword.
>
> I realize .91 isn't released and is likely not supported. I'm just
> documenting what I'm seeing and hoping someone has seen such behavior
> before and has a suggestion for me.
>
> The installation files and procedure from the following link worked
> perfectly. I simply typed the following and installed missing components as
> necessary.
>
> ./config
> make
> sudo make install
>
> https://alpha.gnu.org/gnu/smalltalk/smalltalk-3.2.91.tar.gz
>
> My system is Ubuntu 20.04.
>
>
> Thanks everyone,
>
> Gary Highberger

Reply | Threaded
Open this post in threaded view
|

Re: Tab Auto-Completition Broken - 3.2.91

stes
In reply to this post by highbeg

----- Op 3 feb 2021 om 4:49 schreef Gary Highberger [hidden email]:
>
> I realize .91 isn't released and is likely not supported. I'm just
> documenting what I'm seeing and hoping someone has seen such behavior
> before and has a suggestion for me.

It would be nice if version 3.3 or 3.2.6 were released, even if they would be the same as 3.2.91.

The version 3.2.91 although that it has many really good improvements has a version number that may cause certain doubts with package maintainers.

The fact that it has a number which indicates 'alpha' or 'testing' is not to make people feel at ease with that version.

Anyway, I tested with

  ./configure --without-readline

and then I get the behavior that you describe: Tab just is inserting a tab, not completing keywords.

You can check with :

# grep HAVE_READLINE config.h
/* #undef HAVE_READLINE */

in your config.h you either have HAVE_READLINE 1 if it discovers you have readline or the above #undef.

The solution would be to install GNU readline before building your own version of GNU smalltalk.

David Stes



Reply | Threaded
Open this post in threaded view
|

Re: Tab Auto-Completition Broken - 3.2.91

highbeg
Excellent suggestion David. At around line 380 in config.h:


*/* Define if your system has the GNU readline library. */*
*/* #undef HAVE_READLINE */*

All that needs doing is finding and installing the correct readline library.

As to tab expansion in gst, choices are shown if more than one keyword can
complete the string. Type tab twice to see them all. Very cool!

I'll report my progress as soon as I know more.

I assume a 32 bit library is needed?

Thank you very much,

Gary

On Wed, Feb 3, 2021 at 6:40 AM [hidden email] <[hidden email]> wrote:

>
> ----- Op 3 feb 2021 om 4:49 schreef Gary Highberger
> [hidden email]:
> >
> > I realize .91 isn't released and is likely not supported. I'm just
> > documenting what I'm seeing and hoping someone has seen such behavior
> > before and has a suggestion for me.
>
> It would be nice if version 3.3 or 3.2.6 were released, even if they would
> be the same as 3.2.91.
>
> The version 3.2.91 although that it has many really good improvements has
> a version number that may cause certain doubts with package maintainers.
>
> The fact that it has a number which indicates 'alpha' or 'testing' is not
> to make people feel at ease with that version.
>
> Anyway, I tested with
>
>   ./configure --without-readline
>
> and then I get the behavior that you describe: Tab just is inserting a
> tab, not completing keywords.
>
> You can check with :
>
> # grep HAVE_READLINE config.h
> /* #undef HAVE_READLINE */
>
> in your config.h you either have HAVE_READLINE 1 if it discovers you have
> readline or the above #undef.
>
> The solution would be to install GNU readline before building your own
> version of GNU smalltalk.
>
> David Stes
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Tab Auto-Completition Broken - 3.2.91

stes

I'm not sure whether a 32 bit library is needed.

Are you building GNU smalltalk in 32 bit ?

I think it's best to do so (others may disagree, but that's my sentiment).

Also there's no shame in 32bit applications. At the time that GNU smalltalk was written,
back in 1988, I think 32bit was quite normal.

The blue book Smalltalk language definition actually defines Smalltalk : "objects are 16bit pointers".

So the blue book is for a 16bit model (XEROX computers from that time may have been 16bit).

Anyway,  what is the result of 'config.guess' in your case ?


./build-aux/config.guess


If it reports something like x86_64
then you could try to configure as a 32bit.

For example, I believe:

  ./configure i386-gnu-linux

or something like that may force configure to have a target i386 architecture (32bit).


David Stes

----- Op 3 feb 2021 om 18:24 schreef Gary Highberger [hidden email]:

> Excellent suggestion David. At around line 380 in config.h:
>
>
> */* Define if your system has the GNU readline library. */*
> */* #undef HAVE_READLINE */*
>
> All that needs doing is finding and installing the correct readline library.
>
> As to tab expansion in gst, choices are shown if more than one keyword can
> complete the string. Type tab twice to see them all. Very cool!
>
> I'll report my progress as soon as I know more.
>
> I assume a 32 bit library is needed?
>
> Thank you very much,
>
> Gary
>
> On Wed, Feb 3, 2021 at 6:40 AM [hidden email] <[hidden email]> wrote:
>
>>
>> ----- Op 3 feb 2021 om 4:49 schreef Gary Highberger
>> [hidden email]:
>> >
>> > I realize .91 isn't released and is likely not supported. I'm just
>> > documenting what I'm seeing and hoping someone has seen such behavior
>> > before and has a suggestion for me.
>>
>> It would be nice if version 3.3 or 3.2.6 were released, even if they would
>> be the same as 3.2.91.
>>
>> The version 3.2.91 although that it has many really good improvements has
>> a version number that may cause certain doubts with package maintainers.
>>
>> The fact that it has a number which indicates 'alpha' or 'testing' is not
>> to make people feel at ease with that version.
>>
>> Anyway, I tested with
>>
>>   ./configure --without-readline
>>
>> and then I get the behavior that you describe: Tab just is inserting a
>> tab, not completing keywords.
>>
>> You can check with :
>>
>> # grep HAVE_READLINE config.h
>> /* #undef HAVE_READLINE */
>>
>> in your config.h you either have HAVE_READLINE 1 if it discovers you have
>> readline or the above #undef.
>>
>> The solution would be to install GNU readline before building your own
>> version of GNU smalltalk.
>>
>> David Stes
>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: Tab Auto-Completition Broken - 3.2.91

highbeg
Hi David and everone,

Mark and I worked this issue last night and I finally got 3.2.91 to run
with readline support this morning! The breakthrough was learning that my
system was missing readline.h and that the Smalltalk installer needed it.
Curiously enough the only way to cleanly get that header file on my system
was to install *neither* a 32 bit nor a 64 bit Ubuntu package, or at least
neither 32 nor 64 appeared in the package name. The installation of
libreadlne-dev put readline.h (and lots of other stuff too) on my system
and allowed ./configure to set the HAVE_READLINE bit in config.h.

The last installation glitch is gst won't run as a user. I could just chmod
it but want to dig a little deeper.

Test results:
$ ./build-aux/config.guess
x86_64-unknown-linux-gnu

I'm not sure what mode I'm building Smallalk in. Is it it specified in the
Makefile? Let me know and I will check. I can also do an experimental build
if you like.

What is the process for (requesting) putting 3.2.91 on Ubuntu? Maybe I can
assist, file a request, fill out a form, etc.

Many thanks for your help David. Your "HAVE_READLINE" clue is all Mark and
I needed to resolve this issue.

Thank you,
Gary


On Thu, Feb 4, 2021, 11:17 AM [hidden email] <[hidden email]> wrote:

>
> I'm not sure whether a 32 bit library is needed.
>
> Are you building GNU smalltalk in 32 bit ?
>
> I think it's best to do so (others may disagree, but that's my sentiment).
>
> Also there's no shame in 32bit applications. At the time that GNU
> smalltalk was written,
> back in 1988, I think 32bit was quite normal.
>
> The blue book Smalltalk language definition actually defines Smalltalk :
> "objects are 16bit pointers".
>
> So the blue book is for a 16bit model (XEROX computers from that time may
> have been 16bit).
>
> Anyway,  what is the result of 'config.guess' in your case ?
>
>
> ./build-aux/config.guess
>
>
> If it reports something like x86_64
> then you could try to configure as a 32bit.
>
> For example, I believe:
>
>   ./configure i386-gnu-linux
>
> or something like that may force configure to have a target i386
> architecture (32bit).
>
>
> David Stes
>
> ----- Op 3 feb 2021 om 18:24 schreef Gary Highberger
> [hidden email]:
>
> > Excellent suggestion David. At around line 380 in config.h:
> >
> >
> > */* Define if your system has the GNU readline library. */*
> > */* #undef HAVE_READLINE */*
> >
> > All that needs doing is finding and installing the correct readline
> library.
> >
> > As to tab expansion in gst, choices are shown if more than one keyword
> can
> > complete the string. Type tab twice to see them all. Very cool!
> >
> > I'll report my progress as soon as I know more.
> >
> > I assume a 32 bit library is needed?
> >
> > Thank you very much,
> >
> > Gary
> >
> > On Wed, Feb 3, 2021 at 6:40 AM [hidden email] <[hidden email]> wrote:
> >
> >>
> >> ----- Op 3 feb 2021 om 4:49 schreef Gary Highberger
> >> [hidden email]:
> >> >
> >> > I realize .91 isn't released and is likely not supported. I'm just
> >> > documenting what I'm seeing and hoping someone has seen such behavior
> >> > before and has a suggestion for me.
> >>
> >> It would be nice if version 3.3 or 3.2.6 were released, even if they
> would
> >> be the same as 3.2.91.
> >>
> >> The version 3.2.91 although that it has many really good improvements
> has
> >> a version number that may cause certain doubts with package maintainers.
> >>
> >> The fact that it has a number which indicates 'alpha' or 'testing' is
> not
> >> to make people feel at ease with that version.
> >>
> >> Anyway, I tested with
> >>
> >>   ./configure --without-readline
> >>
> >> and then I get the behavior that you describe: Tab just is inserting a
> >> tab, not completing keywords.
> >>
> >> You can check with :
> >>
> >> # grep HAVE_READLINE config.h
> >> /* #undef HAVE_READLINE */
> >>
> >> in your config.h you either have HAVE_READLINE 1 if it discovers you
> have
> >> readline or the above #undef.
> >>
> >> The solution would be to install GNU readline before building your own
> >> version of GNU smalltalk.
> >>
> >> David Stes
> >>
> >>
>
Reply | Threaded
Open this post in threaded view
|

Re: Tab Auto-Completition Broken - 3.2.91

stes

I think the test result indicates you're building 64-bit.

The compiler and config.guess on your system is configured for 64-bit.

Although that the GNU Smalltalk ChangeLog indicates that building 64bit is possible now,
I'd still (as I said in my previous email) think about :

  ./configure i686-unknown-linux-gnu

or something similar to target 32bit.

Is the GNU smalltalk 3.2.5 in ubuntu (the one that you used before) 32bit or 64bit ?

$ file gst
gst: ELF 32-bit LSB executable 80386 Version 1, dynamically linked, not stripped

Regards,
David Stes

----- Op 4 feb 2021 om 19:56 schreef Gary Highberger [hidden email]:

> Test results:
> $ ./build-aux/config.guess
> x86_64-unknown-linux-gnu