00:00:00 --- log: started forth/02.10.25 01:46:07 --- join: revanthn (revanthn@202.9.183.166) joined #forth 02:29:49 --- part: revanthn left #forth 05:02:23 --- join: XeF4 (xef4@lowfidelity.org) joined #forth 06:10:44 --- join: tathi (~josh@wsip68-15-54-54.ri.ri.cox.net) joined #forth 11:47:53 --- join: I440r (~mark4@sdn-ap-002tnnashP0270.dialsprint.net) joined #forth 12:07:29 --- join: I440r_ (~mark4@sdn-ap-002tnnashP0270.dialsprint.net) joined #forth 12:08:30 eh how can i be in here twice 12:10:15 lol i know why now heh im logged infrom my laptop too :P 12:52:54 Heh. 13:12:05 --- quit: I440r ("Reality Strikes Again") 13:12:08 --- nick: I440r_ -> I440r 13:22:45 Heaven help me. 13:22:51 I wrote OOP extentions to mIRC :/ 13:23:11 extensions 13:23:38 --- join: gilbertbsd (~gilbertbs@67.97.122.120) joined #forth 13:23:55 hey i440 13:24:03 have you ever seen the camel forth sources? 13:31:20 yes 13:31:30 its kinda small... 13:31:37 soap you need help, your sick! 13:31:38 heh 13:31:51 i know :P 13:31:57 is it 'complete'? 13:31:58 but i dont like it :) 13:32:11 what doyou mean by "complete" 13:32:23 what don't you like about it? 13:32:31 * gilbertbsd does not really know what complete means. 13:32:55 i cant remember what i dont like about it, ive not looked at it in ablut 5 years heh 13:43:58 --- quit: gilbertbsd (Remote closed the connection) 14:08:53 --- quit: tathi ("leaving") 14:45:19 --- join: Chef_ (~sam@m222.net81-65-249.noos.fr) joined #forth 14:55:32 hi chef 14:55:37 Hi I440r 14:55:46 I was reading your delirium in c.l.f :) 14:55:51 :) 14:56:09 people who dont comment their code and rationalize reasons for not doing so tend to annoy me:) 14:56:36 Yourself can also mess up your own comments: 14:56:42 ;abort program here if the above fails blah blah 14:56:47 im sure i do in places 14:56:49 Same comment present 10 lines later 14:56:59 (asmsrc/freebsd.1) 14:57:14 thats a "i should realy do something here but im being lazy right now" comment heh 14:57:24 freebsd.1 is going to be deleted 14:57:49 ?? 14:57:52 well maybe not deleted, probably renamed 14:57:56 :) 14:58:01 mainsrc.1 14:58:01 :) 14:58:09 im going to have to have TWO seperate source trees 14:58:15 one for fbsd, one for linux 14:58:20 i refuse to interleave them 14:58:36 so ill have a "syscalls.1" source file in each 14:58:38 --- join: jamc (~user@as3-6-8.asp.s.bonet.se) joined #forth 14:58:38 If one of my students did that, he probably would get the worst possible grade 14:58:59 isforrth doesnt support CONDITIONAL compilation 14:59:09 i absolutely refuse to support that sort of shot 14:59:10 shit 14:59:24 Can make sense 14:59:29 234985623849765923784 different versions of a program all interleaved into ONE source file 14:59:32 I'll wait until I see the result 14:59:48 k :) 15:00:22 What do you need to separate? You'll end up with the same syscalls, more or less 15:00:28 i had a weird problem with fbsd btw 15:00:33 no. they are different 15:00:41 some of the syscalls have different names 15:00:43 What problem? 15:00:50 You can name them whatever you like 15:00:57 some use different parameters, some dont even exist in fbsd (clone) 15:01:05 clone() is useless 15:01:10 It's just a hack to support the pthreads 15:01:10 ok. i did a cd /usr/ports/misc/mc 15:01:16 Eheheh, still mc :) 15:01:17 and did a make followed by a make install 15:01:30 EVERYTHING about mc was installed EXCEPT the mc executable itself 15:01:48 Have you built it with GTK? 15:01:55 i had to hand copy mc from work/mc-version/src/ to /usr/local/bin 15:02:03 What does "ls -l /usr/local/bin | grep mc" give? 15:02:06 i just did make and make install 15:02:09 nothing 15:02:13 it wasnt in there 15:02:24 Strange :/ It sometimes gets installed as GTK-mc or something like that 15:02:32 i did a find / -name mc and the only place it was found was in the ports directory and under /tmp 15:02:36 depending on your environment at compilation time 15:02:42 Yup, but look for a longer name 15:02:51 echo /usr/local/bin/*mc* 15:02:51 no. it was compiled as mc 15:02:59 the executable was mc 15:02:59 Yes, but maybe not *installed* as mc 15:03:08 aha ill check that out :) 15:03:13 Look at /var/db/pkg/mc*/+CONTENTS 15:03:21 You'll have a look at what got (supposedly) installed 15:03:23 cp mc /usr/local/some-other-name-mc :) 15:03:30 bin missing 15:03:40 pkg_list -L mc 15:03:47 pkg_info i mean 15:04:16 i didnt do a pkg_add mc - i tried it a few times, pkg_add is moronic, it downloasd a little, extracts a little, downloads a little, extracts a little 15:04:31 and ended up taking 2 hours to get get PART of what it needed to install mc. 15:04:35 i gave up after 2 hours 15:04:36 Yeah, I heard your ramblings a few days ago 15:04:46 Don't you have a DSL line or a cable connection? 15:05:19 downloading 2k at a time is stupid when you consider teh usual mentality, "who cares if my program is 6 gigs in size, everyone has loads of ram and loads of drive space" 15:05:22 lol 15:06:44 : mswap ( n1 --- n2 n3 ) /mod swap 0 ; 15:06:48 Stack comment is misleading 15:07:09 where is that ? 15:07:14 forthsrc/timer.f 15:07:26 oh yea 15:07:42 (I was bored and started to read some Forth code while my GF is finishing a research paper due in a few hours) 15:07:43 i missed that one. i dont say ALL my comments are correct, i AM human you know :) 15:07:47 :))) 15:07:49 thanx tho, ill fix that one :) 15:08:03 you mean your a coder AND you have a gf ??????????/ 15:08:05 im jelous :P 15:08:11 :))) 15:08:24 does she have a cutensexy single sister ??? :) 15:08:42 Yes :) But a little too young (around 16) 15:09:10 What's your goto? Replacement for tail recursion? I see lotta "goto (nano)" in this file 15:10:03 its like a CALL foobh 15:10:05 ret 15:10:08 changed to 15:10:11 jmp fooblah 15:10:13 Ok, tail recursion 15:10:20 You should really optimize this one, if any 15:10:22 no, its not recursive :P 15:10:34 This is also the first optimization that Chuck Moore put in ColorForth 15:10:35 optimize how 15:11:02 im against optimizations where teh compiler CHANGES what you put 15:11:07 i.e. if i write 15:11:13 : blah ....... foo ; 15:11:17 When you compile "exit", if last thing compile was a "call" and the exit is not a branch target, change it into a "jmp" 15:11:21 changing that to a GOTO foo would be WRONG 15:11:28 no. 15:11:33 im dead set against that sort of thing 15:11:47 the compiler should compile exactly what you give it. not "modify" anything 15:12:06 1:1 co-relation between source and object 15:12:10 Yeah, just define that ";" does that (call->goto) and this is what you give it :) 15:12:40 no injecting things behind yor back, no modifying things in "clever" ways 15:12:57 i think chuck used -; for this like this (i.e. explicit tail recursion) 15:13:06 hmm what would be a good stack comment for that mswap ( n1 n2 --- n3 n4 0 ) ? 15:13:06 hmm, nice sentence 15:13:12 jamc: nope, not in ColorForth 15:13:19 I440r: much better 15:13:52 Chef_: well, at some point... or so I read somewhere 15:13:55 jamc: moreover, Chuck uses conditional like that (without else): 15:14:05 actually, i would like to go thru that timer.f and make it more readable, its sort of obfuscated 15:14:08 : foo bar? if something exit then something-else ; 15:14:13 i dont like that sort of code.. but it does work heh 15:14:15 i think 15:14:30 Chef_: yup 15:14:44 And even, with a ";" which only means exit and no compilation mode, foo bar? if something ; then something-else ; 15:15:12 and he optimizes "something ;" into a "jmp something" 15:15:17 that timer.f is devoid of comments in some places (including stack comments). i wasnt ever realy happy with the code so i consider it a work in progress 15:15:33 i dont ALWAYS comment on the fly 15:15:43 I440r: you mean like the lengthy .elapsed code, which looks like Linus' one? 15:16:05 that .elapsed also might not be correct 15:16:15 i dont trust the results if less than a second 15:16:20 (dunno, cannot test it on FreeBSD) :) 15:16:45 heh 15:17:47 timer.f and time.f arent 100% correct, im using the tz (time zone) as returned by gettimeofday - the wrong way to do it 15:18:17 Does defining constant 0 to 5 really make code compile faster for you? 15:18:21 (I'm reading variable.f) 15:18:23 no 15:18:30 it makes it execute faster 15:18:38 they are defined as consts not constants 15:18:41 \ useful to have these defined - makes code compile faster 15:18:46 consts compile as literals 15:19:00 Yeah, immediate constant, I much prefer that myself 15:19:07 i know. ive been meaning to get rid of that comment, i just keep forgetting heh 15:19:20 ohh 15:19:20 wauit 15:19:29 it does make it compile a LITTTLE faster 15:19:35 but not enought to worry about any more 15:19:41 so i do need to get rid of the comment 15:19:48 I440r: it depends, as the dictionary will be longer, it will slow every other number 15:20:02 if you define 1 2 3 etc the compiler doesnt need to search the entire dictionary and go thry number 15:20:17 but now i have hashed vocs and memory mapped source files 15:20:24 Ok 15:20:33 so defining 0 1 2 3 etc doesnt give any advnatages 15:20:36 How does that execute faster? You compile the same code for a literal, don't you? 15:20:38 i shud prolly delete those definitions 15:20:47 they used to be constants 15:20:56 a constant doesnt execute as fast as a literal 15:21:33 I know that - and your const do execute just as fast as a literal, but not any faster 15:21:34 the const is a state smart var. it compiles as a literal - eventually ill have what im calling transient vocabularies 15:21:47 all consts will compile into a transient vocab 15:21:58 0 const xyzzy 15:22:09 the definition of xyzzy will be in a transient vocabulary 15:22:20 wnen you reference xyzzy in your code it will compile as a literakl 15:22:21 literal 15:22:31 xyzzy itself will literally be deadwood in the target 15:22:41 transient vocs WONT ever be saved out 15:22:50 not ona turnkey anyway 15:23:03 the entier compiler vocabulary is going to be transient 15:23:19 creating words are always deadwood in a turnkeyd app 15:23:25 Sure 15:23:50 fsave will save transient vocabularies. turnkey will strip them and then save out the target 15:24:02 No relocation? 15:24:11 no code, no headers of any transient vocabulary will exist in a turnkeyd app 15:24:12 How do you get rid of defining words? 15:24:14 relocation ? 15:24:27 im going to put every vocabluary in its own buffer 15:24:38 the code anyway 15:25:01 ill have 1 buffer for each vocabularies CODE space 15:25:07 and ONE bufer for ALL headers 15:25:15 It means that defining words must be in a separate vocabulary then 15:25:20 yes 15:25:33 dont HAVE to be 15:25:47 If you don't, then you get them in the turnkey application 15:25:50 but if they were your target executable will be smaller by that much 15:26:05 if you only have one or 2 application defined defining words thats not so bad 15:26:19 I like minimalism :) 15:26:30 When I program on a Palm, I don't want to waste any byte 15:27:35 :) 15:27:43 im with you all the way there :) 15:28:01 my const definitions will be like 15:28:07 xyzzy equ 6 15:28:11 or #define xyzzy 6 15:28:16 :)) 15:28:19 the definitions only exist in the mind of teh compiler 15:28:28 NOT in the resultant executable 15:28:44 How do you compile your leave? 15:28:47 something ive never seen in a forth before 15:28:50 leave ? 15:28:55 Yeah, "leave" 15:28:56 as in "exit a do loop" ? 15:28:59 Yup 15:29:06 Forgot the quotes in the first sentence, sorry 15:29:20 dd (do), exit-point 15:29:21 dd ... 15:29:23 dd ,,, 15:29:30 I don't follow (not familiar with Intel assembly) the logic in (leave) 15:29:33 dd (loop), back-there 15:29:40 do puts 3 items on teh return stack 15:29:48 the loop exit point, and the indicies 15:29:54 Ok 15:29:57 That's what I do too 15:30:00 dd is like db 15:30:06 I haven't looked at your >resolve 15:30:09 but for 32 bit items heh 15:30:27 took me ages to figure out those words hehe 15:30:34 i was using fpc as a reference :P 15:31:01 I don't quite follow on how multiple "leave" are handled 15:31:01 (loop) is realy quite clever 15:31:15 it doesnt need to do any comparisons between index and limit 15:31:32 Classical method :) 15:31:34 it fudges the index so that as you increment it it will cause an overflow when the limit is reached 15:31:46 Just store the number of time to get OV, and store the lower bound 15:31:53 Yeah, I think eforth does this too 15:32:03 i had to figure out how that code worked heh - i did alot of messing arround inside fpc's sources and they wer obfuscated and uncommented :) 15:32:29 i didnt used to like for/next loops in forth but im starting to like them 15:32:40 but i dont like calling the loop bac "next" 15:32:48 "next" has special meanging for me in forth 15:32:51 i called it nxt 15:32:56 I've read your comment on that :) 15:32:58 (in loops.f) 15:33:01 10 for r@ . nxt" 15:33:03 yea 15:33:19 alot of what im putting in comments realy belongs in .txt files heh 15:33:30 In PicForth, I had to use v-for/v-next: 10 var v-for ... var v-next 15:33:32 there there as notes to me for when i start writing those .txt files :) 15:33:37 (because of the lack of return stack) 15:33:46 :) 15:33:51 That's a for/next with an explicit variable address 15:34:00 your q above, exiting multiple for loops 15:34:02 : blah 15:34:05 10 0 do 15:34:09 20 0 do 15:34:09 .... 15:34:15 undo leave 15:34:35 undo discards the 3 items on the return stack for the INNERmost loop 15:34:45 the leave branches to the outermost loops exit point 15:34:59 outermost? 15:35:07 You will leave both loops? 15:35:12 yes 15:35:20 Is that usual Forth? 15:35:25 im discarding the inner loop and exiting the outer loop 15:35:27 NONONO 15:35:28 i can do 15:35:31 : blah 15:35:34 10 0 do 15:35:36 20 0 do 15:35:37 ... 15:35:39 leave 15:35:41 loop 15:35:43 loop 15:35:47 Oh, ok 15:35:59 Your undo is in fact ANS Forth "unloop" 15:36:06 ugh 15:36:08 no 15:36:11 unloop is a crap name 15:36:14 :) 15:36:14 do and UNDO 15:36:17 much better :P 15:36:29 because DO puts items on the stack. UNDO removes them 15:36:51 unloop is like totally unenglish :) 15:37:02 Don't you like ">r" and "r>"? Your definition of "dump" in utils.f uses -rot where it could use >r/r> 15:37:41 im not sure which way is faster but -rot is smaller 15:37:46 ill benchmark it some day 15:38:00 I'd tend to think it's much slower, but I may be mistaken 15:38:02 i do use >r blah r> but its more complex to do it that way somet8imes 15:38:07 less obvious whats going on 15:38:35 >r and r> would probably be slower yea 15:38:38 and bigger :) 15:39:05 and sometimes would make it more difficult to read the souce 15:39:05 No, I'd think -rot is slower 15:39:08 depends 15:39:25 no. you have to count the time of ">r r>" against "-rot" 15:39:33 -rot will be faster 15:39:45 actually, in isforth they might just be the same 15:42:00 im testing now 15:42:02 hang on :) 15:42:04 :) 15:42:16 I just logged onto a i586/Linux to test isforth 15:42:20 might take a few minutes im doing a 9000 0 d0 900000 0 do 15:42:25 cool :) 15:42:32 Installing nasm 15:42:38 good plan :) 15:42:44 98.34 plus will work 15:42:47 Nah, I don't like Linux on Intel 15:43:13 Eheheh, Au-Revoir! :) 15:43:31 Hadn't seen the color stuff :))))) 15:43:34 : test1 90000 0 do 900000 0 do r> >r loop loop ; <-- running now heh 15:44:14 the colour stuff is also a work in progress heh ive injected ansi(etc) escape sequences directly into the source files - ill be extracting them from the terminfo eventually 15:44:29 and everyone keeps telling me theres no - in aurevoir :P 15:44:31 i KNOW herh 15:44:47 maybe i should aboart this test and chose different loop counts heh 15:44:47 There is a space 15:44:49 "au revoir" 15:45:22 No assembler? Bleh 15:45:37 (and no disassembler) 15:45:41 no. thats planned 15:45:42 so is that 15:45:47 so is a metacompiler 15:46:04 so is a debugger 15:46:30 When you remove the status line, the display don't use it and it stays black 15:47:34 statoff ? 15:47:38 Yes 15:47:49 Oh no 15:47:55 Sorry, don't know what I tested, it works now 15:47:57 statoff modifies the scroll regeon to include the status lines line 15:47:57 The line can be used 15:48:18 staton makes teh scroll region from the second line down. thers a bug in the console code here 15:48:19 multitasker in sight? 15:48:30 not yet - thats ALSO planned 15:48:33 but NOT using forth 15:48:37 Why not? 15:48:38 using clone and fork 15:48:49 Yuk, pike, brrrd 15:49:02 Much harder to manage than cooperative multitasking 15:49:14 heh 15:49:46 i know but clone and fork are going to be needed with things like web browsers, ftpd's etc 15:49:50 and i also want to do an ircd 15:49:59 one that uses ROUTING, not spanning tree networks 15:50:19 >r r> might be faster afterall 15:50:33 clone and fork are never needed, except fork to spawn child processes 15:50:40 Yeah, I think they should be faster 15:50:50 but still bigger :) 15:50:51 heh 15:50:51 Everything involving "rot" is slow 15:51:07 rot is just two memory swaps 15:51:15 >r and r> involves two memory moves 15:51:26 and two register increments/adds 15:51:33 With auto increment/decrement registers, no? 15:51:47 So it's equivalent to two moves 15:51:48 no such think as auto increment/decrement in x86 15:51:58 Oh, yeah, I forgot that architecture is dumb 15:51:59 :) 15:52:00 except with loop instruciton or rep mov/stos/cmps 15:52:06 heh 15:52:16 also no realy memory to memory in x86 15:53:29 bbl 15:53:40 k 15:53:50 gona go play with isforth ??? :) 15:54:01 i need more ppl like you wading thru my sources and pointing fingers at the code 15:54:20 thers BOUND to be alot that needs changing, ive done all that shit SOLO for the past 2 years :P 15:54:30 and im learning as i go in some places :) 16:01:51 Back 16:01:55 wb :) 16:02:07 >r and r> are alot faster btw 16:02:09 (GF wanted me to fix a xfig drawing while she is writing) 16:02:11 7 times at least 16:02:15 lol 16:02:17 I440r: ehehe, I should have bet 16:02:18 gf's... 16:02:32 (because I edit xfig drawings with "vi xxx.fig") 16:02:46 lol - that sounds like a pain :) 16:03:21 Damn, we were supposed to watch the latest Buffy, when she realized she had a deadline at 2AM... 16:03:32 (5PM pacific time) 16:04:00 so is there any other foobars you have seen in my sources ? 16:04:26 on a scale from 1 to infinity how do you rate my sources btw... compared to OTHER projects of a similar size :) 16:04:34 I haven't looked everything, I just picked random files 16:05:19 Mmm... If I say 50, you won't know on what scale it was :) 16:05:36 hehe 16:06:12 a score of 50 is low :P but then a score of 29845623849658927364 would be too when you consider teh range of possible scores :) 16:06:32 dont reate my structures.f file, thats changed 16:06:56 dont rate the windowing system either, thats changed too - and will be doing teh display updates in a more optimum way soon 16:07:26 stupid consoles are fubar. it takes longer to change character attributes than it does to move the damend cursor location 16:07:36 :) 16:08:09 thats sort of a low priority right now tho, im very very slowly working on my sockets code 16:08:14 VERY slowly :P 16:08:50 I was wondering last night if I shouldn't do a ColorForth for PalmOS 16:09:08 please do :) 16:09:12 jamc :))) 16:09:40 nonono... help with isforth!!! 16:09:44 With a serial console (colors would be a pain to choose with the stylus, even for a fast typer^H^H^H^H^Hwriter) 16:09:52 its starting to become a drag being the only one developing her 16:09:58 which is why ive slowed down 16:10:06 I440r: I have many more fun languages to play with under Linux :))) 16:10:33 I440r: Erlang, Ada, Python, ... 16:10:57 I440r: I like Forth on devices where I only get boring (C, C++, Java) or inappropriate (Perl, Python on small devices) languages 16:12:56 I440r: why did you choose "mark" over "marker"? 16:15:10 because marker is more verbose 16:15:35 and there was an old DOS tsr utility that could mark and release 16:15:44 i sort of had that mentally in teh back of my mind too i guess 16:18:09 your looking at forget.f ? 16:18:15 check out header.f too hehghe 16:18:22 I was when I wrote that (I just read comment.f) 16:18:28 all words for creating headerless definitions are themselves headerless :) 16:18:50 comment.f is the first file compiled by the extend :) 16:18:58 the word DOT is basically just BS heh 16:19:11 i call it every time i fload an extension :P 16:19:45 Why do you use '.' rather than '. by the way? 16:20:11 You could use 'abc as 'a << 16 | 'b << 8 | c 16:20:20 It would help to pack strings 16:20:46 erm '. is BAD 16:20:54 its an unclosed thing 16:20:58 like (foo 16:21:01 for primatives. UGH!!!!!!!!!!!!!1 16:21:07 '.' is much nicer 16:21:29 and 'x' is a character literal, not a string :P 16:21:37 ,' xyzzy' 16:21:40 ,' abc' 16:21:42 In GForth, '.' gives 2E27h, which is nice too 16:21:52 and 'abc gives 616263h 16:22:13 yes to do that in isforth you do ,' any number of chars here' 16:22:20 that compiles an UNCOUNTED string 16:22:25 ," compiles a counted string" 16:22:34 'x' is a CHARACTER literakl 16:22:38 not a string 16:23:15 You have programmed too much C 16:23:22 no. 16:23:24 You are doing a lot of bad to Forth 16:23:30 You are insulting the Forth spirit 16:23:35 Ooops, sorry, wrong forum :))) 16:23:41 lol no im not, ANS forth does tho :P 16:23:55 #forth is never a "Wrong forum" for anything 16:24:02 c.l.f is :) 16:24:07 i dont want it moderated at all. you can talk any subect you want :) 16:24:55 create terms ,' linuxEtermxterm' 16:25:04 yes 16:25:05 You get lucky that they do all have the same length :) 16:25:24 i know - its tempprary code anyway 16:28:03 thers alot of temporary code in the sources... :P 16:28:18 tho, alot iof its turning out to be permanantly temporary 16:31:57 In env.f: 16:32:01 : getenv ( a1 --- a1 n1 true | f1 ) 16:32:01 yea? 16:32:06 f1 should be f, right? 16:32:11 (or even "false") 16:32:28 erm let me look, i think i meant false :) 16:32:48 According to the code, it is "false" :) 16:34:12 changed the stack comment :) 16:34:18 Ok 16:34:40 Why do you store envp as the beginning of the environment, rather than the array given by the OS? 16:35:15 (in short, why do you scan for null characters rather than using indices into this long sequence of bytes?) 16:36:01 hmmm show me how you would have coded it ? 16:36:36 I don't know, but I can see that "comp" will go over the string for the comparaison, and "scanz" will also go over the string to skip it 16:38:48 What does "dup 16 0 scan drop over -" do? 16:39:27 Why not use "dup scanz over -" to get the length? (I may have misunderstood what your code does) 16:40:12 is the dup scanz over - an equiv ??? 16:40:36 Well, I don't know if it is equivalent, but from what I understand, "dup scanz over -" gives you the length of a zero-terminated string 16:41:13 it leaves teh address and teh length 16:41:40 Yes, that's what I mean, it lets you a "caddr n" string 16:41:49 It changes you a "C" string into a Forth one 16:42:40 i forget what the 16 0 scan part is about 16:42:44 :) 16:42:49 i think its limiting the length of teh scan 16:43:04 That's what I thought too, but it's useless, or the scanz below has to be changed also 16:43:21 (as they work on the same data, the OS-provided envp strings) 16:43:43 yes 16:44:37 Also, you should change "c@ +" into "c@ + 1+", as you are currently returning (from what I can read) the "=" sign as well 16:44:47 I'll relog into the Linux box and try that 16:45:13 here ," TERM" getenv drop type cr 16:45:17 => =xterm 16:45:33 erm no i dont believe so... 16:45:42 check it out, i dont think i am... 16:45:48 I just tested it :) 16:45:53 oh heh 16:45:56 hmmm 16:46:18 It does what the code says it does :) You have a string such as "TERM=xterm" in the environment, and you sum up the length of "TERM" 16:46:36 It's quite logical to have the string first byte be "=" then :) 16:47:24 In fact, I'd replace the whole if...then part by something like: if nip c@ + 1+ dup scanz over - true exit then 16:48:20 erm test that :P 16:48:40 Ooops, swapped date, replace "nip" by "drop" :) 16:49:10 then re-extend and make sure color.f still works :P 16:50:16 brb, my dog is pestering me for walkies, ill give it a quick walk 16:50:36 You're a coder and you have a dog? 16:50:37 :) 16:51:25 yes. wanna swap her for your gf ??? :) 16:51:28 lol 16:53:20 For when you return, "if swap c@ + 1+ dup scanz over - true exit" is shorter and seems to work just fine 16:53:36 Good evening. 16:53:41 Hi Robert 16:58:53 back :) 16:58:59 :) 16:59:05 So, I have a shorter version 16:59:14 Also, yours doesn't want if there is no environment :-) 16:59:24 ? 16:59:27 doesnt want ? 16:59:33 Oops, "work" 16:59:36 oh heh 16:59:37 Starting to be tired 16:59:53 I used "begin dup c@ while ... repeat" in my changes 17:00:07 And "swap c@ + 1+ dup scanz over - true exit" between if and then 17:00:26 And I now get the proper result for: here ," TERM" getenv drop type 17:00:44 that comiles a counted string 17:01:23 Yup, that's what getenv expects :) 17:01:32 *You* wrote it :) 17:01:37 i know :P 17:05:17 wait 17:05:38 Anyway, the new version is still problematic, as the length of the strings are not compared 17:05:54 getenv for "TER" will still return "=xterm", while getenv for "TERM" will return "xterm" 17:25:55 --- quit: Chef_ ("[x]chat") 17:32:16 --- quit: jamc () 18:15:17 --- join: ball (~ball@dialup-65.56.133.254.Dial1.Chicago1.Level3.net) joined #forth 18:18:26 --- part: ball left #forth 18:18:36 hrm who was ball ? hhe 18:19:19 --- join: ball (~ball@dialup-65.56.133.254.Dial1.Chicago1.Level3.net) joined #forth 19:45:38 --- part: ball left #forth 19:58:35 --- quit: Klaw (Read error: 104 (Connection reset by peer)) 21:45:11 --- join: MrReach (~mrreach@209.181.43.190) joined #forth 21:45:35 hihi 21:46:52 --- part: MrReach left #forth 23:45:30 --- join: bugslayer (~thin@h68-146-166-145.cg.shawcable.net) joined #forth 23:59:59 --- log: ended forth/02.10.25