Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-05-17

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:24 ugexe zef master (0.1.13) now sends reports to p6c testers if Net::HTTP is installed, and to cpan testers if Zef::CPANReporter is installed (not in ecosystem yet, but can `zef install https://github.com/garu/Zef-Reporter`)
01:26 ugexe the cpan test reports dont seem to be viewable by the web ui yet, but i assure you they are being stored
01:49 ilbot3 joined #perl6-dev
01:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
02:11 ugexe [Tux]: https://gist.github.com/ugexe/0e77eaba67c893e5a18042a59f20c164 # installs Text::CSV from cpan and sends test report to cpan testers
06:26 [Tux] ugexe++
06:34 Ven joined #perl6-dev
06:39 [Tux] This is Rakudo version 2017.04.3-275-g84502dc20 built on MoarVM version 2017.04-64-g6d5ea042
06:39 [Tux] csv-ip5xs        2.539
06:39 [Tux] test            12.727
06:39 [Tux] test-t           4.336 - 4.341
06:39 [Tux] csv-parser      12.659
07:12 pmurias joined #perl6-dev
07:24 lizmat .
07:24 yoleaux 16 May 2017 11:27Z <Zoffix> lizmat: just remembered, it was samcv++ that fixed the +> op in MoarVM. I just removed a kludge from rakudo
07:25 lizmat .tell Zoffix fixed +> in P6W, thanks!
07:25 yoleaux lizmat: I'll pass your message to Zoffix.
07:41 AlexDaniel joined #perl6-dev
08:12 [TuxCM] joined #perl6-dev
08:32 lizmat hmmm... looking at supporting System::Info on Win: but that's a rabbit hole requiring Win32 and Win32::TieRegistry modules  :-(
08:32 robertle joined #perl6-dev
08:57 lizmat m: EVAL "print $^O":lang<Perl5>
08:57 camelia rakudo-moar 84502d: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of $^O variable; in Perl 6 please use VM.osname␤at <tmp>:1␤------> 3EVAL "print $^O7⏏5":lang<Perl5>␤»
09:07 lizmat m: EVAL q/print $^O"/,:lang<Perl5>
09:07 camelia rakudo-moar 84502d: OUTPUT: «Could not find Inline::Perl5 at line 0 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-1/share/perl6/site␤    /home/camelia/rakudo-m-inst-1/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-1/share/perl6␤    CompUnit::Repository::…»
09:07 lizmat hmmm
09:20 jnthn lizmat: I think you can probably bind Windows registry lookups using NativeCall
09:21 eater ohh
09:22 jnthn I've certainly called Win32 API using NativeCall in the past
09:22 lizmat jnthn: that'd be well possible, but I've eradicated Windows from my lIfe well over 15 years ago
09:23 jnthn VM? :P :P
09:23 lizmat so what I'm going to do is to make System::Info::Generic depend on Inline::Perl5 -> System::Info there
09:23 jnthn My new dev machine in the office doesn't actually have Windows at all yet either :)
09:23 lizmat and let other people provide PR's for their native system
09:24 jnthn And I need to figure out why on earth VirtualBox's kernel module isn't loading :/
09:24 jnthn OK, but Inline::Perl5 isn't in Rakudo Star yet? And I thought that System::Info would want to be part of that?
09:27 lizmat I thought Inline::Perl5 *was* part of R* ?
09:32 samcv oh yeah that is a thing i did. also hi everyone
09:32 samcv being sick is no fun. was sick all day
09:33 * jnthn did that all day yesterday and can fully agree :/
09:33 lizmat samcv: know the feeling...  bad cold during PTS
09:33 lizmat woolfy was well on her way to get pneumonia
09:35 lizmat hmmm... so why is zavolaj still part of R* ?
09:36 jnthn No idea :)
09:36 jnthn The only thing in that repo now is examples
09:36 lizmat hmnmm...
09:37 jnthn I didn't even think it was listed in the ecosystem now :)
09:37 jnthn Since NativeCall is bundled
09:37 jnthn (With Rakudo)
09:38 lizmat guess I was looking at an old repo somehow
09:38 lizmat so why isn't Inline::Perl5 part of R* ?
09:39 lizmat alternately, maybe we should set up a different meta-distro for testers ?
09:55 robertle joined #perl6-dev
09:55 Zoffix .
09:55 yoleaux 07:25Z <lizmat> Zoffix: fixed +> in P6W, thanks!
10:22 nine AFAIK the list of modules contained in R* ist purely historical and has no system whatsoever
10:29 astj joined #perl6-dev
11:22 astj joined #perl6-dev
11:30 astj joined #perl6-dev
11:40 lizmat if "use System::Info:from<Perl5>" works, shouldn't "require System::Info:from<Perl5>" also work ?
12:21 lizmat nine: P6M Merging GLOBAL symbols failed: duplicate definition of symbol Darwin  :-(
12:23 jnthn If only we had a way to know which one should survive...
12:25 lizmat didn't we have a syntax to rename a module with ?
12:25 jnthn OK, beanstalk makes reverts easy
12:25 jnthn uh, ww
12:26 lizmat guess it's NYI:
12:26 lizmat $ 6 'use System::Info:from<Perl5>:as<Foo>; dd Foo.new'
12:26 lizmat ===SORRY!=== Error while compiling -e
12:26 lizmat Undeclared name:
12:26 lizmat Foo used at line 1
12:28 jnthn Wasn't it called :name ?
12:28 lizmat nope  :-(  same error
12:29 jnthn aww
12:33 Geth ¦ rakudo/nom: 2e34c9e015 | (Zoffix Znet)++ | src/core/Str.pm
12:33 Geth ¦ rakudo/nom: Remove comments about deprecating $limit in Str.lines/words
12:33 Geth ¦ rakudo/nom:
12:33 Geth ¦ rakudo/nom: No, we shouldn't deprecate this feature, as it serves a very useful
12:33 Geth ¦ rakudo/nom: feature in IO::Handle.lines/words: closing the handle when reaching
12:33 Geth ¦ rakudo/nom: the limit. The Str.* routines then have the $limit param to maintain
12:33 Geth ¦ rakudo/nom: consistent interface with the IO versions.
12:33 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2e34c9e015
12:39 nine lizmat: ooooh, that may be what the local changes were about. Found something about require in my Inline-Perl5 repo but didn't remember what that was actually about
12:40 lizmat nine: my approach would be to try to use Perl5's version of System::Info until we have a Perl 6 version available
12:40 nine lizmat: :as or :name support would have to be implemented in Inline::Perl5 itself, but I didn't even know that it exists :)
12:41 nine lizmat: you can however use the module in its own lexical scope
12:41 nine { use System::Info:from<Perl5>; #`expose it somehow to the outside` }
12:41 Zoffix m: dd WHAT lines "a\nb"
12:41 camelia rakudo-moar 84502d: OUTPUT: «Seq␤»
12:42 lizmat $ PERL6LIB=lib 6 'use System::Info; { use System::Info:from<Perl5> }'
12:42 lizmat ===SORRY!===
12:42 lizmat P6M Merging GLOBAL symbols failed: duplicate definition of symbol Info
12:42 Zoffix m: dd .WHAT for (lines "a\nb"), (lines "a\nb", 2), (words "f b"), (words "f z", 2)
12:42 camelia rakudo-moar 84502d: OUTPUT: «Seq␤List␤Seq␤List␤»
12:42 Zoffix :(
12:42 lizmat nine: like this ^^^
12:42 nine darn
12:44 lizmat Zoffix: fix under way
12:45 Zoffix OK. Though I'm about to commit a fix for a different bug to Str.words $limit
12:45 Zoffix ZOFVM: Files=1242, Tests=135582, 108 wallclock secs (21.88 usr  3.18 sys + 2249.35 cusr 144.81 csys = 2419.22 CPU)
12:46 lizmat Zoffix: -          !! self.lines[ lazy 0 .. $limit.Int - 1 ]
12:46 lizmat +          !! self.lines.head($limit)
12:46 lizmat -          !! self.words[ 0 .. $limit.Int - 1 ]
12:46 lizmat +          !! self.words.head($limit)
12:46 lizmat should be oodles faster as well
12:46 lizmat and lazier
12:46 Geth ¦ rakudo/nom: 641641f9d4 | (Zoffix Znet)++ | src/core/Str.pm
12:46 Geth ¦ rakudo/nom: Fix Str.words($limit) padding returned list with Nils
12:46 Geth ¦ rakudo/nom:
12:46 Geth ¦ rakudo/nom: We don't pad stuff in any of the related routines that accept
12:46 Geth ¦ rakudo/nom: limit. Fix by making words return up-to-$limit elements.
12:46 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/641641f9d4
12:47 Zoffix lizmat: oh and that fixes that bug too
12:47 Zoffix m: dd <a b c d e>.head: 100
12:47 camelia rakudo-moar 84502d: OUTPUT: «("a", "b", "c", "d", "e").Seq␤»
12:47 Geth ¦ rakudo/nom: d70bf14afc | (Zoffix Znet)++ | src/core/Str.pm
12:47 Geth ¦ rakudo/nom: Revert "Fix Str.words($limit) padding returned list with Nils"
12:47 Geth ¦ rakudo/nom:
12:47 Geth ¦ rakudo/nom: This reverts commit 641641f9d44dc2f172f586b0e9e147b6174cc850.
12:47 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d70bf14afc
12:47 lizmat yup
12:47 Zoffix lizmat: sorry :) Go ahead :)
12:48 lizmat running spectest now, will in a mo
12:49 lizmat argh spectest failures
12:50 Zoffix weird
12:50 lizmat checking errors now
12:51 Zoffix Other than Inf and * limit, doesn't look like $limit is tested at all in S32-str/words.t
12:51 lizmat perhaps I didn't have  the off-by-one error fix yet
12:53 lizmat yeah, it was that
12:53 Zoffix \o/
12:53 Geth ¦ rakudo/nom: 4bcf84a2c7 | (Elizabeth Mattijsen)++ | src/core/Str.pm
12:53 Geth ¦ rakudo/nom: Fix various issues with Str.(lines|words)($limit)
12:53 Geth ¦ rakudo/nom:
12:53 Geth ¦ rakudo/nom: Original code predated the existence of .head.  Both forms of calling
12:53 Geth ¦ rakudo/nom: .lines and .words on Str should now return .Seq and be properly lazy.
12:53 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4bcf84a2c7
12:53 [Coke] doc examples failing on doc/Language/list.pod6 and doc/Type/Any.pod6
12:55 [Coke] (any is missing a comment on the OUTPUT lines)
12:55 [Coke] List put a syntax error in a code block that is compiled to be tested.
12:56 lizmat afk for some fresh air (for some value of fresh at 30 degrees C)
12:56 [Coke] .seen skids
12:56 yoleaux I saw skids 00:31Z in #perl6: <skids> o/
12:57 Zoffix Fixed a couple; dunno if all
12:58 dogbert11 [Coke], I was making changes to Any yesterday, where is the error?
12:59 [Coke] Zoffix++
12:59 [Coke] dogbert11: already fixed.
12:59 [Coke] https://github.com/perl6/doc/commit/7ef469cca3
12:59 dogbert11 cool, I guess it was the new duckmap examples
13:00 [Coke] Remember, all the examples are compiled unless explicited tagged
13:00 dogbert11 what do I have to do in order to verify the code examples?
13:01 dogbert11 or would it have been enough to do a 'perl6 htmlify.p6'
13:01 [Coke] Zoffix: -1 on adding that extra space.
13:01 [Coke] dogbert11: 'make xtest'
13:01 dogbert11 [Coke], thx, will keep that in mind
13:02 [Coke] xtest runs test plus some extra (slower) stuff. consensus was that we didn't want a some things to break the build because they were hard to get right when editing via the github UI
13:02 [Coke] I think the examples can probably be moved to test/ at this point, and that they should break the build.
13:03 dogbert11 ok :) now I'm up to speed
13:05 Zoffix pmurias[TAB]...
13:06 Zoffix *sigh* the devs don't even bother joining the -dev channel anymore :/
13:06 ugexe is it possible to capture the stdout/stderr from a specific thread only? or for that thread to capture only its own stdout/stderr (and not anything from the parent)?
13:07 Zoffix pmurias: MoarVM does return `. ..` for opendir/nextfiledir but JVM doesn't, so there's a precedent for not returning it, and we can just add js to the `#ifjvm` blocks here, I guess: https://github.com/rakudo/rakudo/blob/nom/src/core/IO/Path.pm#L579-L588
13:09 Zoffix [Coke]: reverted
13:11 jnthn ugexe: Are you creating the thread directly rather than using the pool? If so, setting $*OUT and $*ERR should work out
13:11 jnthn Since everything that runs on the thread will use them
13:16 ugexe jnthn: i haven't tried it yet, but basically yeah I have something that prints to stdout/stderr and want to create an interface to the output like Proc's :out/:err - but whatever is using this interface would likely print whatever it gets through this interface to stdout itself after processing it. I wasn't sure if using $*OUT would cause an infinite loop in this case like it would if no new thread was
13:16 ugexe used
13:20 jnthn I guess just make really sure that the processing of the output happens somewhere other than the thread that's collecting it
13:21 jnthn So then the collecting $*OUT/$*ERR will not be in scope
13:22 Geth ¦ rakudo/nom: f3f99b3ac4 | (Zoffix Znet)++ | lib/Test.pm6
13:22 Geth ¦ rakudo/nom: Fix crash in is-deeply when Seq type objects are given
13:22 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f3f99b3ac4
13:23 Geth ¦ roast: 3ea879737b | (Zoffix Znet)++ | S24-testing/9-is_deeply.t
13:23 Geth ¦ roast: Test is-deeply does not crash with Seq type objects
13:23 Geth ¦ roast: review: https://github.com/perl6/roast/commit/3ea879737b
13:29 ugexe m: my $s = Supplier.new; my $err-supply = $s.Supply; $err-supply.tap({ note $_ }); my $stderr = $*ERR; my $err = ""; my class ERR_CAPTURE { my $err-store = ""; method print(*@_) { $err ~= @_.join("\n"); my $self = self; $*ERR = $stderr; $s.emit($_) for @_; $*ERR = $self; $err ~= $err-store; True }; }; my $t = start { $*ERR = ERR_CAPTURE.new; note 1; }; await $t; $*ERR = $stderr;
13:29 camelia rakudo-moar 4bcf84: OUTPUT: «1␤␤»
13:31 ugexe assuming I use a lock around a method to write to $err instead of directly using $err ~= the above should be good then? or am I getting lucky with thread-ids being the same (so no error)?
13:35 ugexe i thought I would not need the logic in method print to switch $*ERR to/from the capturing class using a thread, but without it its stuck
13:35 jnthn Yes, supplies don't ever switch to a new thread
13:36 jnthn The tap block will run on the thread that does the .emit, not on the thread that did the .tap
13:36 ugexe ah
13:36 jnthn A neat trick is to take a Supply and then do .Channel.Supply on it
13:37 jnthn Which means spit the stuff into a channel, and then schedule something in the thread pool to grab stuff out of it
13:38 jnthn Taking care of ordering and termination and errors and so forth
13:38 jnthn I used that trick in the LibSSH binding to make sure we didn't get deadlocks or clog up the event processing thread: https://github.com/jnthn/p6-ssh-libssh/blob/master/lib/SSH/LibSSH.pm6#L827
13:42 ugexe to make sure this is the right path, i'll clarify my intention: I need to isolate a specific module's stdout/stderr such that it still gets printed to stdout/stderr for the user to see (maybe not exactly the same, but close enough) while also storing all the output (to be saved as some string for possible later processing)
13:43 ugexe processing does not have to happen until I'm finished with the thread
13:45 ugexe yeah that looks like the pattern I need
14:05 jnthn ugexe: I guess my only question would be, "what if the module also spans threads"
14:08 astj_ joined #perl6-dev
14:10 Geth ¦ roast: 41e9adadbc | (Zoffix Znet)++ | 2 files
14:10 Geth ¦ roast: Add `is-eqv` test function
14:10 Geth ¦ roast:
14:10 Geth ¦ roast: Same as `is-deeply`, but without the Seq bug, so we can correctly
14:10 Geth ¦ roast: spec things returning Seqs when we need to.
14:10 Geth ¦ roast: review: https://github.com/perl6/roast/commit/41e9adadbc
14:19 ugexe jnthn: i guess ideally I would want to multiplex those at the level of the module in question, such that the module in question would appear to be the sole source of the stdout/stderr to whatever is using said module
14:22 ugexe $client <== $multiplexor-adapter <<== ($thread1-streaming-stdout <== $thread2-streaming-stdout) # attempt to show with pipes
14:26 FROGGS joined #perl6-dev
14:30 Zoffix m: dd "foobar_#fsd ɦ5♥".comb: /<.-[_]>/
14:30 camelia rakudo-moar f3f99b: OUTPUT: «("f", "o", "o", "b", "a", "r", "#", "f", "s", "d", " ", "ɦ", "5", "♥")␤»
14:30 Zoffix m: dd "foobar_#fsd ɦ5♥".comb: /<\w-[_]>/
14:30 camelia rakudo-moar f3f99b: OUTPUT: «5===SORRY!5===␤Unrecognized regex metacharacter < (must be quoted to match literally)␤at <tmp>:1␤------> 3dd "foobar_#fsd ɦ5♥".comb: /<7⏏5\w-[_]>/␤Unrecognized regex metacharacter \ (must be quoted to match literally)␤at <tmp>:1␤…»
14:31 Zoffix So what's the trick here? `.` can be used as-is but \w must be placd into square bracked?
14:35 jnthn I wonder how that parses...
14:50 * geekosaur guesses: subrule, negate, cclass. unexpected tangle between . and non-identifiers, similar to some other odd edge cases I've run into where features combine in unexpected ways
14:54 jnthn Yeah, my guess is it's the non-caputring .
14:54 jnthn That shows up in <.foo>
14:55 jnthn ugexe: Is there a reason you're not doing this by starting a Perl 6 sub-process, which would seemingly be more robust?
15:00 Geth ¦ roast: 779cb8a237 | (Zoffix Znet)++ | S32-str/words.t
15:00 Geth ¦ roast: Test Str.words($limit)
15:00 Geth ¦ roast:
15:00 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/4bcf84a2c7
15:00 Geth ¦ roast: review: https://github.com/perl6/roast/commit/779cb8a237
15:00 Zoffix and Cool.words
15:24 timotimo give us some cool words
15:28 Zoffix m: dd "foobar_#fsd ɦ5♥".comb: /<-[_]>/
15:28 camelia rakudo-moar f3f99b: OUTPUT: «("f", "o", "o", "b", "a", "r", "#", "f", "s", "d", " ", "ɦ", "5", "♥")␤»
15:28 Zoffix Ah. Now I get it...
15:43 Zoffix m: dd "foobar_#fsd ɦ5♥".comb: /<−[_]>/
15:43 camelia rakudo-moar f3f99b: OUTPUT: «5===SORRY!5===␤Unrecognized regex metacharacter < (must be quoted to match literally)␤at <tmp>:1␤------> 3dd "foobar_#fsd ɦ5♥".comb: /<7⏏5−[_]>/␤Unrecognized regex metacharacter − (must be quoted to match literally)␤at <tmp>:1…»
15:43 Zoffix One more place where the bug of − minus still lives.
15:57 Zoffix Interesting how Perl 6's "latest" Twitter feed is full of Japaneese and Chineese tweets...
16:02 Zoffix Pretty good. Only one confused, negative tweet out of a whole lot :)
16:12 TimToady joined #perl6-dev
16:17 BenGoldberg joined #perl6-dev
16:38 AlexDaniel joined #perl6-dev
17:19 Guest4914 joined #perl6-dev
17:35 [TuxCM] joined #perl6-dev
17:41 robertle joined #perl6-dev
18:10 BenGoldberg joined #perl6-dev
18:19 Zoffix m: sub g(Pair (Str :key($desc), Pair :value((UInt :key($plan) where .so, :value(&g:(Int)))))) { dd [ $desc, $plan, g $plan ] }( 'foo' => 1 => -> Int $p { say "hi $p"; 42 } )
18:19 camelia rakudo-moar f3f99b: OUTPUT: «hi 1␤["foo", 1, 42]␤»
18:20 * Zoffix nerdgasms
18:35 Zoffix m: sub g(&g){g}(g)
18:35 camelia rakudo-moar f3f99b: OUTPUT: «Too few positionals passed; expected 1 argument but got 0␤  in sub g at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
18:36 Zoffix m: sub g(&g){g}(&g)
18:36 camelia rakudo-moar f3f99b: OUTPUT: «Too few positionals passed; expected 1 argument but got 0␤  in sub g at <tmp> line 1␤  in sub g at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
18:36 * Zoffix wonders how that's interpreted...
18:36 Zoffix Ah :( not that exitedly :(
18:37 Zoffix ugh... but calling it right was quite exciting for a second. Almost "forkbombed" my box :(
18:37 Zoffix m: sub g(&g){g &g}(g &g)
18:37 camelia rakudo-moar f3f99b: OUTPUT: «MoarVM panic: Memory allocation failed; could not allocate 131072 bytes␤»
20:32 BenGoldberg joined #perl6-dev
20:50 AlexDaniel joined #perl6-dev
22:25 AlexDaniel joined #perl6-dev
22:38 dct joined #perl6-dev
23:12 labster joined #perl6-dev
23:42 Zoffix huggable: release commits :is: tags=('2015.12' '2016.01' `git tag -l 201{6,7}.??` '2017.04' 'HEAD'); for (( i=0; i<${#tags[@]} ; i+=2 )); do printf "\e[0m\e[1;33m%-9s - %-11s: \e[0;32m" ${tags[i]} ${tags[i+1]}; git log --oneline "${tags[i]}...${tags[i+1]}" | wc -l; done; printf "\e[0m"
23:42 huggable Zoffix, Added release commits as tags=('2015.12' '2016.01' `git tag -l 201{6,7}.??` '2017.04' 'HEAD'); for (( i=0; i<${#tags[@]} ; i+=2 )); do printf "\e[0m\e[1;33m%-9s - %-11s: \e[0;32m" ${tags[i]} ${tags[i+1]}; git log --oneline "${tags[i]}...${tags[i+1]}" | wc -l; done; printf "\e[0m"
23:43 Zoffix ^ number of commits in each release. Looks purty: https://twitter.com/zoffix/status/864989737387536384
23:46 Zoffix oh oops, missing every 3rd release...
23:46 Zoffix You know what bash needs? .rotor!
23:48 * geekosaur sighs at cargo-culted escapes
23:49 Zoffix :)
23:49 Zoffix Which ones? The colours?
23:49 geekosaur ... printf "\e[0;1;33m%-9s - %-11s: \e[0;32m" ${tags[i]} ${tags[i+1]}; git log --oneline "${tags[i]}...${tags[i+1]}" | wc -l; done; printf "\e[m"
23:49 Zoffix m: say Date.new('2015-12-15', :formatter{"hi"})
23:49 camelia rakudo-moar f3f99b: OUTPUT: «hi␤»
23:49 Zoffix m: say Date.new('2015-12-15', :formatter{"hi"}).later: :month
23:49 camelia rakudo-moar f3f99b: OUTPUT: «2016-01-15␤»
23:49 Zoffix Feels like .earlier/.later should copy the formatter too, eh?
23:49 geekosaur don't see why you have one reset split out and the other combined, and the resets explicitly say 0 when that's the default
23:50 Zoffix geekosaur: I just copy-pasted those. I don't know what they mean
23:50 Zoffix #21stCenturyProgramming
23:50 geekosaur also I suspect you don't even need the reset on the middle one (\e[32m should be sufficient)
23:51 geekosaur which might even make the 0; on the first one irrelevant, come to think of it
23:51 BenGoldberg \e[0;<blah blah blah>m causes the colors to be reset.
23:51 geekosaur oh well
23:51 Zoffix hm, there's also .succ/.pred/.truncate-to that'd need formatter copying
23:51 * Zoffix leaves it all alone
23:51 geekosaur yes, 0 turns off all attributes, then a fg color is set. but default for all escapes is 0 (which some translate to something in range, so \e[H = \e[0H = \e[0;0H = \e[1;1H)
23:52 geekosaur ANSI X3.64's quite regular in its handling of parameters
23:53 geekosaur (had to be, since the original implementation ran on an 8-bit CPU which kinda limited the firmware size a bit...)

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary