00:00:00 --- log: started retro/10.06.05 06:04:35 --- join: docl (~luke@216-161-87-126.ptld.qwest.net) joined #retro 06:05:24 good morning 06:38:23 hi docl 06:50:23 --- join: sixforty (~sixforty@pdpc/supporter/active/sixforty) joined #retro 06:54:17 hi crc, hi sixforty 06:54:29 hi, docl 08:28:56 --- quit: sixforty (Ping timeout: 258 seconds) 09:00:42 crc: I like the way rxe.extensions.retro is put together. 09:29:28 thanks 09:30:44 I moved $$b and $$B there after experiencing a few crashes; I think they are overwriting code before/after the block buffer 09:33:34 hmm 09:34:21 toBlank hunts for a blank line 09:36:27 if I edit in block 127, and try to shift down past the last line, it segfaults 09:37:59 putting bounds in toBlank seems to stop it from segfaulting but it then goes into an infinite loop 09:44:31 maybe because blk is shifted back by one, so it repeats the search over and over. 09:46:28 I pushed a possible fix 09:46:56 not sure if it breaks anything, but seems to keep things from crashing 09:57:54 it helps. I can still get it to crash by going one line above the text and pushing it down. 10:27:29 ok, home now so I can work a bit faster :) 10:29:29 :) 10:30:22 * docl is working on ideas for making a more flexible database 10:31:41 data types could be stored in a vocab or object. 10:33:32 they would be words like classes are. sub-classes of .data 10:45:02 * crc wonders if it'd be better to just have a swap-lines key instead 10:46:27 might be 10:47:18 maybe a seek-blank key too? 10:47:56 that could work 10:51:40 I just redefined $$b to seek blank and ran it at the end of the file. this causes segfault. 10:53:53 try this one: http://retroforth.com/paste/?id=3425 10:54:08 $$b to swap the current line with the following one; $$B to seek a blank line 10:56:05 cool 10:56:27 does this work ok? 10:57:50 yes, it works good 10:57:57 almost :( 10:58:09 * crc got it to crash with $$B in a full block 10:59:05 hmm 10:59:20 yeah I had that happen once just now, can't seem to replicate 10:59:56 only seems to happen in the last block 11:00:07 this seems to fix it: 11:00:08 : seekBlank ( - ) 11:00:09 repeat line ++ guard isBlank? if; again ; 11:03:52 I can't seem to replicate the issue :( 11:05:56 I had it happen again, the first block had some text in it and the last block had text on the last line (offset by some). I hit B right above the last line and it exited 11:06:15 with my update? 11:07:31 no, let me try that 11:07:47 I seem to be getting better at replicating the issue although it is sporadic 11:09:08 ah, got the same result with the update. 11:09:29 created line at end of buffer, then another line above it. then hit B from the line above that. 11:10:53 from the last line do testitestiB 11:12:02 this is not a segfault though. stack element missing? 11:14:27 could it have to do with 64 chars in a row being blank? 11:16:31 from the first block, testktestiB 11:23:12 docl: isBlank? should only be looking at whole lines, not partials, so that's not the cause 11:23:34 though I do see a problem with it now (no rdrop to get rid of the loop index) 11:24:39 : guard @line 7 >if 7 !line rdrop then ; 11:24:39 : isBlank? ( -f ) @line (line) 64 for @+ 32 !if pop 2drop 0 ;then next drop -1 ; 11:24:42 : seekBlank ( - ) repeat line ++ guard isBlank? if; again ; 11:24:49 this appears to fix both of your test cases 11:33:19 looks good :) 12:12:46 ok, pushed 15:44:10 * docl just pushed the database I've been working on 16:29:34 looks good 16:29:44 you can use ' prefix instead of char: now 16:45:11 cool! 16:48:52 pushed :) 16:50:19 pulled :) 23:35:12 --- quit: docl (Ping timeout: 264 seconds) 23:59:59 --- log: ended retro/10.06.05