[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gbs3 fails with ://
[Thread Prev] | [Thread Next]
- Subject: Re: gbs3 fails with ://
- From: Bruce Steers <bsteers4@xxxxxxxxx>
- Date: Thu, 25 Apr 2024 15:04:06 +0100
- To: user@xxxxxxxxxxxxxxxxxxxxxx
On Thu, 25 Apr 2024 at 14:20, Tim Dickson <dickson.tim@xxxxxxxxxxxxxx> wrote: > it would seem so. the detection of : is not smart enough to see if it is > quoted in a string > echo 'dim a as string:a="coffee:tea":print a'|gbs3 > gives errors. > you would need to do > echo 'dim a as string:a="coffee"&chr$(58)&"tea":print a'|gbs3 > to get it to work. > does not seem right to me. conventionally you would just use echo -e and \n for newline echo -e 'dim a as string\na="coffee:tea"\nprint a'|gbs3 - It's like the idea to use : for lf was by someone who was not aware of the -e arg of echo to process escapes. I guess we just need to add to the wiki... A colon : is translated to \n unless you use the - argument. or replace each : with &chr$(58)& but then your example Tim.. echo 'dim a as string:a="coffee:tea":print a'|gbs3 fails if you use - or not. I think there are more problems than benefits to the conversion of : to lf And i don't think it's needed as echo -e and '\n' would be the conventional way. I think in my fork i will remove the conversion as i don't like it and I didn't even know you could use : for lf. and I'll be sure to use echo -e and the - argument in any gbs3 scripts for public use. Respects BruceS > > On 25/04/2024 11:30, Bruce Steers wrote: > > Did you add th code that convert : to lf ? > > That's terrible > > Why not just echo -e "line 1\nline 2" ? > > > So a colon cannot be used in any pipe text to GBS unless you want line > feeds? > > On Thu, 25 Apr 2024, 03:07 Brian G, <brian@xxxxxxxxxxxxxxxx> wrote: > >> >> On 4/23/24 04:04, Bruce Steers wrote: >> >> >> >> On Tue, 23 Apr 2024 at 00:45, Brian G <brian@xxxxxxxxxxxxxxxx> wrote: >> >>> >>> On 4/22/24 16:28, Brian G wrote: >>> >>> >>> On 4/21/24 21:05, Bruce Steers wrote: >>> >>> >>> >>> On Mon, 22 Apr 2024 at 04:58, Bruce Steers <bsteers4@xxxxxxxxx> wrote: >>> >>>> This has bugged me a few times. >>>> using file:// or http:// the : turns into a linefeed when gbs3 is piped >>>> Is it me doing something wrong or is it a bug? >>>> >>>> echo 'Print "http//www.there"'| gbs3 >>>> http//www.there >>>> >>>> echo 'Print "http://www.there"'| gbs3 >>>> # Gambas Project File 3.0 >>>> Title=Gambas Script >>>> Startup=MMain >>>> Vendor=Ordinary >>>> Version=0.0.1 >>>> License=General Public License 2.0 >>>> >>>> # Gambas module file : MMain:4:2: Non terminated string >>>> >>>> 1 :' Gambas module file >>>> 2 : >>>> 3 :Public Sub main() >>>> 4*:Print "http >>>> //www.there" >>>> ^ Non terminated string >>>> 5 :End >>>> 6 : >>>> 7 : >>>> >>>> Respects >>>> BruceS >>>> >>> Aah i discovered this... >>> echo 'Print "file://www.there"'| gbs3 - >>> >>> works okay if i add the dash - >>> >>> I'll use the dash if i need it :) >>> >>> Respects >>> >>> >>> try >>> >>> echo 'print "https"&chr(58)&"//www.endofworld"' | gbs3 >>> >>> Yes it is a bug I guess! >>> >>> -- >>> ~~~~ Brian >>> >>> Yes the - causes it to read the stdin as if it were as file until eof >>> and process it that way. >>> -- >>> ~~~~ Brian >>> >>> I have a fix, not sure how valid it is... >> >> A slight change in the _call() method of ParseArgs.class >> Ie. >> The loop now goes from 0 To aArgs.Max not 1 To aArgs.Max to still >> function if there are no args >> if no args it checks Lof(File.In) to see if there's data and add the - >> arg if yes. >> >> Public Function _Call(c As Context, aArgs As String[]) As String >> Dim I As Integer >> Dim sApp As String >> Dim index As Variant >> If File.Name(aArgs[0]) = "gbw" & System.version Then c.$bWebPage = True >> For I = 0 To aArgs.Max >> If I = 0 Then >> If aArgs.Count = 1 And If Lof(File.In) Then ' if there are no args >> but there is data waiting in stdin >> aArgs.Add("-") >> Goto gStdIn >> Break >> Else >> Continue >> Endif >> Endif >> Respects >> BruceS >> >> >> >> echo "for i as integer = 0 to 3 : print i : next"| gbs3 >> 0 >> 1 >> 2 >> 3 >> $ echo "for i as integer = 0 to 3 : print i : next"| gbs3 - >> # Gambas Project File 3.0 >> Title=Gambas Script >> Startup=MMain >> Vendor=Ordinary >> Version=0.0.1 >> License=General Public License 2.0 >> >> # Gambas module file : MMain:4:28:' >> >> 1 :' Gambas module file >> 2 : >> 3 :Public Sub main() >> 4*:for i as integer = 0 to 3 : print i : next >> ^ Unexpected ':' >> 5 :End >> 6 : >> 7 : >> >> -- >> ~~~~ Brian >> >> >
Re: gbs3 fails with :// | Tim Dickson <dickson.tim@xxxxxxxxxxxxxx> |
gbs3 fails with :// | Bruce Steers <bsteers4@xxxxxxxxx> |
Re: gbs3 fails with :// | Bruce Steers <bsteers4@xxxxxxxxx> |
Re: gbs3 fails with :// | Brian G <brian@xxxxxxxxxxxxxxxx> |
Re: gbs3 fails with :// | Brian G <brian@xxxxxxxxxxxxxxxx> |
Re: gbs3 fails with :// | Bruce Steers <bsteers4@xxxxxxxxx> |
Re: gbs3 fails with :// | Brian G <brian@xxxxxxxxxxxxxxxx> |
Re: gbs3 fails with :// | Bruce Steers <bsteers4@xxxxxxxxx> |
Re: gbs3 fails with :// | Tim Dickson <dickson.tim@xxxxxxxxxxxxxx> |