|
Parrot 4.4.0 "Banana Fanna Fo Ferret" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 15 May 2012. |
|||
| kjs | cotto: if this mini VM supports the PCC, does that mean that m1 would support that natively? (e.g., named, slurpy, parameters etc?) | 00:04 | |
|
00:06
kid51 joined
00:50
benabik joined
|
|||
| dalek | rrot: 4fd7560 | Whiteknight++ | / (4 files): Remove vtable can from most places where it's used. Fix a test in namespace.t which is (perhaps unintelligently) using hard-coded vtable indices |
01:05 | |
| rrot: 34b729c | Whiteknight++ | / (3 files): Remove two VTABLE can implementations, and fix a test in extend_vtable.t |
|||
| rrot: 95c9a63 | Whiteknight++ | / (7 files): Merge branch 'whiteknight/gh_675' |
|||
| cotto | ~~ | ||
| whiteknight | hello cotto | 01:07 | |
| aloha | (parrot/parrot) Issues closed : 675 (Deprecate VTABLE_can) by Whiteknight : github.com/parrot/parrot/issues/675 | 01:08 | |
| dalek | rrot: d27a655 | Whiteknight++ | compilers/imcc/imc (5 files): Remove .file, .line, setfile and setline directives from the IMCC parser. These mechanisms are to be replaced by the newer and more flexible .annotate directive. |
01:10 | |
| rrot: e95a8c1 | Whiteknight++ | t/compilers/imcc/syn/clash.t: Remove some tests for setfile/setline, the only instances of any of these directives in coretest |
|||
| rrot: 5bdacd5 | Whiteknight++ | t/dynoplibs/debug.t: Remove setfile/setline in t/dynoplibs/debug.t, the only remaining instances in make test |
|||
| rrot: 0083dc2 | Whiteknight++ | / (7 files): Merge branch 'whiteknight/imcc_file_line' |
|||
| aloha | (parrot/parrot) Issues closed : 519 (Deprecate .file, .line, setline, and setfile) by Whiteknight : github.com/parrot/parrot/issues/519 | 01:13 | |
| cotto | hi whiteknight | 01:18 | |
| whiteknight | hello cotto | ||
| dalek | rrot: d22efea | Whiteknight++ | frontend/parrot2/main.c: Remove un-wired arguments --optimize (-O), --imcc-debug (-d) and --verbose (-v). IMCC no longer optimizes, and the other arguments don't really have a home in the new IMCC external API. |
01:27 | |
| rrot: a6158f7 | Whiteknight++ | frontend/parrot2/main.c: Merge branch 'whiteknight/remove_cmd_opts' |
01:28 | ||
| whiteknight | ok, I'm out for the night. | 01:31 | |
| aloha | (parrot/parrot) Issues closed : 708 (-d/--imcc-debug does nothing) by Benabik : github.com/parrot/parrot/issues/708, 760 (threads branch fails to build on Windows) by gerdr : github.com/parrot/parrot/issues/760 | 01:33 | |
|
01:40
travis-ci joined
|
|||
| travis-ci | [travis-ci] parrot/parrot#364 (master - a6158f7 : Whiteknight): The build was broken. | 01:40 | |
| [travis-ci] Change view : github.com/parrot/parrot/compare/0......a6158f7 | |||
| [travis-ci] Build details : travis-ci.org/parrot/parrot/builds/1351716 | |||
|
01:40
travis-ci left
|
|||
| nbrown | cotto: I had a little time to work on cm0-debugger. I added a backend to support scripting. Now I just need to wire it up to an ARGV option | 03:01 | |
| cotto | nice | 03:10 | |
|
03:12
nbrown joined
|
|||
| nbrown | yeah, I thought if I was gonna do real work on this, the first thing I should do is make it possible to write tests for it | 03:13 | |
| my one big issue, is how to pass the debugger state struct around cm0 | 03:15 | ||
| I think that needs some real thought, but right now I'm temporarily working around it but trying to prevent rework later | 03:17 | ||
| cotto | I'm not sure I understand the difficulty. What'd be tricky about having a debugger struct that gets passed around? | 03:31 | |
| apart from having to modify it when you want to add things to the debugger | |||
| nbrown | it just becomes more invasive in the standard cm0 startup and runloop flow. I was trying to touch it as little as possible | 03:52 | |
| anyway, it's time for bed. I'll talk to you later | 03:53 | ||
| cotto | ok. I'll be thinking about that too. | ||
| dalek | rrot: 5e407c3 | bacek++ | / (3 files): Add handling of Op.deprecated flag |
04:01 | |
| rrot: 3cbfc12 | bacek++ | t/compilers/imcc/syn/tail.t: Fix build. |
|||
| bacek_at_work | oops | ||
| first commit shouldn't be there... | |||
|
04:11
travis-ci joined
|
|||
| travis-ci | [travis-ci] parrot/parrot#365 (master - 3cbfc12 : Vasily Chekalkin): The build was fixed. | 04:11 | |
| [travis-ci] Change view : github.com/parrot/parrot/compare/a......3cbfc12 | |||
| [travis-ci] Build details : travis-ci.org/parrot/parrot/builds/1352701 | |||
|
04:11
travis-ci left
05:49
jevin_ joined
05:50
cosimo joined,
mj41 joined
05:54
masak joined,
simcop2387 joined,
Maddingue joined
05:59
fperrad joined
06:43
alin joined
|
|||
| dalek | rrot: b6bf583 | fperrad++ | / (3 files): [distutils] efactor with opcode rindex |
06:52 | |
|
07:02
jkitazawa joined
07:04
dalek joined
07:30
alin joined
07:57
alvis joined
|
|||
| alvis | msg whiteknight I went ahead and took care of the docs for parrot.github.com | 07:58 | |
| aloha | OK. I'll deliver the message. | ||
|
08:24
lucian joined
08:42
schmooster joined
09:11
alin joined
09:26
kjs joined
|
|||
| dalek | kudo/method-not-found: 47497c4 | moritz++ | src/core/Exception.pm: fix control exception catcher |
09:31 | |
|
10:28
crab2313 joined
11:11
JimmyZ joined
11:30
JimmyZ joined
11:32
benabik joined
11:50
JimmyZ joined
11:55
JimmyZ joined
11:58
brrt joined
12:03
bluescreen joined
12:05
JimmyZ joined
12:07
lucian joined
12:10
bluescreen_ joined
12:15
benabik joined
|
|||
| benabik | ~~ | 12:16 | |
| tadzik | hi benabik | ||
| benabik | 'lo tadzik, what's happening? | ||
| tadzik | Rakudo release! \\o/ | 12:17 | |
| as soon as I get back from $work | 12:18 | ||
| dalek | p: 67c15eb | pmichaud++ | t/qregex/rx_captures: Add some tests for RT #107254. |
12:24 | |
| p: 799f465 | pmichaud++ | src/ (2 files): Revert 87bb1c to re-implement ratchet/capture semantics in regex_commit. |
|||
| p: 6f6555f | pmichaud++ | src/ops/nqp.ops: Documentation fix. |
|||
| p: 485d4f2 | pmichaud++ | src/ (2 files): Convert QAST::Compiler.regex_commit to use opcode form. |
|||
| p: 215243f | pmichaud++ | src/ops/nqp.ops: Update nqp_rxcommit to preserve captures at point of commit. |
|||
|
12:27
bluescreen__ joined
12:28
bluescreen joined
12:33
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 12:34 | |
| alvis++ # beat me to the docs update! | 12:35 | ||
| dalek | kudo/nom: d438760 | pmichaud++ | tools/build/NQP_REVISION: Bump NQP_REVISION to get regex fixes for RT #107254. |
12:50 | |
|
12:57
PacoAir joined
13:06
JimmyZ joined,
Psyche^ joined
13:07
mtk joined
|
|||
| brrt | whose method is say? | 13:13 | |
| oh wait | 13:14 | ||
| say is an opcode | |||
|
13:18
atrodo joined
13:19
JimmyZ_ joined
13:20
isBEKaml joined
|
|||
| isBEKaml | ~.~, #parrot! | 13:21 | |
| tadzik | isBEKaml: o/ | ||
| isBEKaml | tadzik: here too? :) | ||
| tadzik | sure :) | ||
| I'm a man of many channels | 13:22 | ||
| isBEKaml | tadzik: try telling to the ubiquitous television! :P | ||
| *that | |||
|
13:22
fperrad joined
|
|||
| tadzik | hah, ironically, I have many television channels, but not a television machine :) | 13:23 | |
| whiteknight | good morning isBEKaml. I'm probably going to try to get your pull request merged tonight | ||
| isBEKaml: it's a fix that will allow me to fix other problems elsewhere :) | |||
| isBEKaml | whiteknight: hey, I was just about to get on that. :) I was thinking of adding that CPU_TYPE thing cotto++ mentioned. | 13:24 | |
| whiteknight: Like I said in the comments there, it was a miss in sysinfo too. | |||
| whiteknight: other problems disappear out of this? Oh, great! \\o/ | 13:25 | ||
| whiteknight | isBEKaml: I'm working on a random number generator which can't really work correctly if I don't know what INT_MAX and INT_MIN are on the platform | ||
| isBEKaml | whiteknight: ah, good to know this patch is useful, in some form, if not fixing other problems. :) | 13:27 | |
| whiteknight | yes, I think I will find it immediately useful | ||
| isBEKaml | whiteknight++ | 13:30 | |
| brrt | what would be a good PMC for string => string hash table | 13:33 | |
| whiteknight | brrt: what do you mean? You just need a string->string map? | 13:34 | |
| brrt | yes, for the psgi 'enviroment' | ||
| oh wait | |||
| benabik | An ordinary Hash should do that just fine, although you'll technically have String PMCs instead of just strings. | ||
| whiteknight | github.com/Whiteknight/Rosella/blo...winxed#L19 | ||
| brrt | not string=>string, string=>anything | 13:35 | |
| whiteknight | Yeah a Hash does it fine, you just have to flag it as having string data | ||
| a "normal" hash is a string->PMC map. You can change the datatype of the key and the values though to whatever you want | |||
| brrt | i see | 13:36 | |
| i was looking into implementing psgi in winxed | |||
| whiteknight | brrt: Awesome. If you see anything in Rosella that can help you you're welcome to either link to Rosella or steal the code wholesale | 13:37 | |
| brrt | :-) will do | ||
| whiteknight | Rosella intends to be something of an insulation layer, so if Parrot changes something internally, the Rosella interface should stay stable | 13:39 | |
| brrt | i see, i just thought it was a few libraries | 13:40 | |
| whiteknight | that too | ||
| brrt | i'm mentally balancing between including and not including rosella right now | ||
| whiteknight | Whatever you want is fine. It's your project :) | 13:41 | |
| benabik | I intend to use Rosella to help build/test PACT, but will avoid it in the main code. Less dependencies make it easier to use. | 13:42 | |
| brrt | true | ||
| i might want to do something like parse xml / yaml /json | 13:43 | ||
| for configuration | |||
| benabik | I'm also probably not going to have a lot of overlapping functionality with Rosella... I'd rather use it than re-implement something. :-) | ||
| brrt | so for that, Rosella could be useful | ||
| whiteknight | benabik: one day if it really does become something like a "standard library", it might get bundled somewhere | ||
| benabik | brrt: You could just have your library take in hashes/other structures and have the example code use Rosella to parse configuration files. | 13:44 | |
| brrt | i think it probably should be | ||
| benabik | I'd rather see Parrot gain a good packaging system than a standard library. | 13:45 | |
| whiteknight | like plumage? | ||
| benabik | Right. | ||
| whiteknight | I think I may have to sit down one day and either fix plumage or rewrite it | ||
| benabik | Maybe we'll distribute Parrot with plumage and Rosella and PACT, but my preference would be to keep them separate projects. | ||
| smash | whiteknight++ # release | 13:46 | |
| whiteknight | there's a difference between the development repos and what a distrubution tarball contains | ||
| smash: thanks! | |||
| isBEKaml | I don't want parrot to go the way other VMs did (bundle everything together, all or nothing package) | ||
| moritz | well, if the VMs don't bundle it, the users have to | 13:47 | |
| whiteknight | we could also have the parrot distro separate, but then have a parrot-tools or parrot-libs package that bundles some other common things | ||
| brrt | i imagine that people would not like to hear 'o well, here's parrot_x. but to run it, you need parrot_y, parrot_z, parrot_foo, parrot_bar, parrot_quix, parrot_quam' | ||
| isBEKaml | true, we could keep stuff modular and optional. | ||
| brrt | distribution is the key trick here | ||
| benabik | If the packaging system is robust, then dependencies are automatically grabbed and it's no problem. :-) | 13:48 | |
| whiteknight | brrt: exactly. Distributions need to be crafted with different goals than a development repo has | ||
| isBEKaml | Let's say you're targeting mobile platforms, you don't want a bloated vm, right? | ||
| brrt | bloated is a loaded word | ||
| whiteknight | With all the legal nonsense going on over Java, I feel like writing google an email that says "you could use Parrot for free...." | 13:49 | |
| brrt | and, a mobile platform easily has +100M of RAM right now | ||
| whiteknight | ...not that Parrot is ready for that, yet | ||
| isBEKaml | whiteknight: do it! | ||
| benabik | Parrot would be more ready if there were a pile of Google engineers on it. :-) | ||
| *working on | 13:50 | ||
| brrt | sidenote: did anyone see the piece about 'look awesome android on mono yay' | ||
| isBEKaml | whiteknight: atleast, we would a boatload of patches from google in a firehose fashion.. :-) | ||
| brrt | 'because mono be faster than dalvik' or something | ||
| whiteknight | brrt: Yeah, those mono guys are doing some great work still | 14:00 | |
| brrt: I suspect Google won't go to Mono officially, because they don't want to get into this same legal problem with microsoft | |||
| brrt | no, i don't believe they will, either | 14:01 | |
| hmm, there is something about psgi i do not much like | |||
| 'The bodyĀ MUSTĀ be encoded into appropriate encodings andĀ MUST NOTĀ contain wide characters (> 255).' | 14:02 | ||
| whiteknight | so it basically must be in a fixed8 encoding? That's kind of weird | ||
| brrt | that what i thought | ||
| whiteknight | well, fixed8 or ascii | 14:03 | |
| doesn't matter. Parrot supports that. | |||
| brrt | is utf8 fixed8? | ||
| whiteknight | nope, utf8 is multibyte | 14:04 | |
| brrt | so how will anyone use unicode, then? | 14:05 | |
| tadzik | encode the string into a series of bytes | 14:06 | |
| dalek | Heuristic branch merge: pushed 62 commits to nqp/qbootstrap by jnthn | 14:07 | |
| tadzik | the MUST NOTĀ contain wide characters (> 255) part looks kinda weird | ||
| moritz | brrt: by decoding locally first | 14:08 | |
| whiteknight | yeah, I'm wondering what that means, because any wide characters is just a sequence of bytes | ||
| moritz | ie, it can be an UTF-8 encoded strin | ||
| g | |||
| brrt | lets ask #plack | 14:09 | |
| benabik | I think that restriction is because Python uses wchars for their strings. | 14:12 | |
| So you have to encode down to utf8 or other 8b encoding. | |||
| brrt | that is sensible | 14:13 | |
| whiteknight | encoding to utf8 is easy enough, too | 14:16 | |
| NotFound | Unicode restricted to chars <= 255 is latin-1, so you can internally stotre it fixed-8. | 14:20 | |
| brrt | i just asked, utf8 is ok | ||
| just as long as the strings contain only 'bytes' | 14:21 | ||
| moritz | so the gist is, the implementation shouldn't decode by itself | ||
| but let the user do it | |||
| whiteknight | as opposed to dolphins | ||
| oh noes! My string contains dolphins! Where did all these dolphins come from! | 14:22 | ||
| you belong in the ocean, not in my string! | |||
| dalek | kudo/match-gist-fixup: 762996e | masak++ | src/core/Match.pm: [src/core/Match.pm] changed <> to q[] in .gist Suggested by pmichaud++. It may or may not be worth it to also escape all ']' in the matched text itself. |
14:23 | |
| kudo/match-gist-fixup: 194f846 | masak++ | src/core/Match.pm: [src/core/Match.pm] removed root-level '=> ' |
|||
| NotFound | Dolphins are comparatively easy, but sirens need double-body encoding. | ||
| p/qbootstrap: 44e1c14 | jnthn++ | src/QHLL/Grammar.pm: Update QHLL to not use ** with a separator. |
14:24 | ||
| p/qbootstrap: 7a76f20 | jnthn++ | src/NQPQ/Grammar.pm: NQPQ's Grammar used the ** ',' syntax, which is now gone from QRegex, but it builds this in stage 1 too, using the old regex engine which doesn't do %. So, eliminate those two cases for something a little more verbose. |
|||
| NotFound | s/siren/mermaid | 14:25 | |
|
14:25
alester joined
|
|||
| brrt | right :-) | 14:29 | |
|
14:59
dmalcolm joined
|
|||
| brrt will be making dinner | 15:15 | ||
| kjs | cotto: ping | 15:21 | |
| whiteknight | cotto may not be getting online for a little while still. | 15:24 | |
| kjs | oh ok | ||
| thanks | |||
| whiteknight | it's only about 8:30AM there, I think | 15:25 | |
| kjs | that's a nice time to get up ;-) | ||
| whiteknight: M0 will implement the PCC right? | 15:26 | ||
| whiteknight | kjs: That's a good question. I don't know exactly where all the boundaries will be | ||
| I suspect it will implement PCC, to expose that system to the JIT | |||
| kjs | ah ok. anyway, i hacked up a prototype parser for a c subset. | ||
| so i was thinking, if it does, then M1 (or mole?) will have access to the PCC too | 15:27 | ||
| whiteknight | ha! | ||
| yes, exactly | |||
| kjs | and then you can do all sorts of fancy stuff | ||
| but mole would have to support that syntactically. | |||
| whiteknight | yes | 15:28 | |
| kjs | anyway, i sent the proto to cotto, i'll wait for some feedback. prob should do some real work now. | 15:30 | |
| whiteknight | awesome | ||
| dalek | p: aee8809 | pmichaud++ | src/Q (2 files): Fix bug with subcaptures receiving empty hash entries from outer match quantified captures (RT #111286). |
15:35 | |
| kudo/nom: 0ed00f0 | pmichaud++ | tools/build/NQP_REVISION: Bump NQP_REVISION to get fix for RT #111286. |
15:49 | ||
| p: dfb6d5a | tadzik++ | VERSION: bump VERSION to 2012.05 |
16:45 | ||
| Coke | how does one claim a ticket in github? | 16:51 | |
| ah, found it | |||
|
16:52
crab2313 joined
|
|||
| dalek | nxed: 9d25e0a | NotFound++ | winxedst2.winxed: fix check for "null" in several places |
16:52 | |
| nxed: 0df8bce | NotFound++ | winxedst2.winxed: simplify a bit IdentifierExpr.optimize |
17:00 | ||
| aloha | (parrot/parrot) Issues closed : 185 (Memory corruption error) by coke : github.com/parrot/parrot/issues/185 | 17:01 | |
| dalek | kudo/nom: 3866972 | tadzik++ | tools/build/NQP_REVISION: Bump NQP revision |
17:05 | |
| kudo/nom: 8004748 | tadzik++ | docs/release_guide.pod: Update release guide |
|||
| kudo/nom: 64dc550 | tadzik++ | docs/announce/2012.05: Add a release announcement for 2012.05 |
|||
| whiteknight | Coke: it's not the easiest-to-use mechanism ever. I wish there was an "assign to me" button at top | 17:09 | |
| dalek | kudo/nom: 4f48183 | moritz++ | docs/announce/2012.05: [announce] mention regex improvements; wording |
17:10 | |
| kudo/nom: b6d1c8e | tadzik++ | docs/announce/2012.05: Some more fixes to the release announcement |
17:14 | ||
| nxed: bf89811 | NotFound++ | winxedst2.winxed: NullExpr class |
|||
| kudo/nom: c4fd56d | tadzik++ | docs/ChangeLog: [Changelog] Fix a tyop |
17:35 | ||
| kudo/nom: 1a5a46f | tadzik++ | VERSION: Bump VERSION |
17:37 | ||
|
17:43
lucian joined,
brrt joined
|
|||
| cotto | ~~ | 17:54 | |
| nine | o/ | ||
| cotto | hio nine | ||
| kjs: do you have a git repo you're working from? | 17:57 | ||
| whiteknight | nine: Have you had any other thoughts about the windows build? Come the weekend, I have a windows VM but no VisualStudio and no debugger | 18:18 | |
| kjs | cotto: no, was just working locally, not in a repo (not very comfortable with git) | 18:24 | |
| cotto | kjs: I'd highly recommend it. Commit early and often | 18:26 | |
| kjs | i understand, will see if i can get some time and motivation to study a manual | 18:28 | |
| however, at this moment i was just prototyping | |||
|
18:38
kurahaupo joined
|
|||
| cotto | kjs: ok | 18:50 | |
|
18:51
brambles joined
18:56
kurahaupo joined,
brambles_ joined
|
|||
| dalek | kudo/nom: 65f9d95 | moritz++ | src/core/Exception.pm: avoid some boxing in print_control |
18:56 | |
| nine | whiteknight: sorry, no. It's kinda hard to diagnose from one symptom alone. | 18:57 | |
| dalek | kudo/nom: 8254a60 | moritz++ | src/core/Exception.pm: typed exception for "method not found" error |
||
| kudo/nom: 47497c4 | moritz++ | src/core/Exception.pm: fix control exception catcher |
|||
| kudo/nom: 7165ff5 | moritz++ | src/core/Exception.pm: Merge remote branch 'origin/method-not-found' into nom |
|||
|
19:43
alin joined
19:50
bluescreen joined
20:29
adu joined
20:52
kjs joined
20:57
not_gerd joined
|
|||
| not_gerd | nine: gist.github.com/2721537 | 20:57 | |
| nine: let me know if I can do something to get threads working on Windows | 20:58 | ||
| msg whiteknight current status of threads branch on Win7/MinGW-64: gist.github.com/2721537 | 20:59 | ||
| aloha | OK. I'll deliver the message. | ||
| dalek | nxed/builtinexpr: 68d3473 | NotFound++ | winxedst2.winxed: finish conversion of int, float and string casts |
21:25 | |
| nine | msg not_gerd I'll cook up a patch with the debug output I need to diagnose this tomorrow. If you could run that version and send me the output, that'd be great. | 21:26 | |
| aloha | OK. I'll deliver the message. | ||
|
22:11
bacek joined
22:19
nine joined
22:48
benabik_ joined
|
|||
| Coke | bacek; g'day, mate. | 22:56 | |
| isBEKaml | gist.github.com/2722178 | 23:06 | |
| sorry, gist.github.com/2722184 | 23:07 | ||
| output: gist.github.com/2722189 -- Does this look right? | 23:08 | ||
| msg whiteknight if he can look at 2 gists: gist.github.com/2722184, gist.github.com/2722189 and provide feedback on what exactly should go into CPU_TYPE. CPU_ARCH and CPU_TYPE look similar though they pull this information from different locations. | 23:12 | ||
| aloha | OK. I'll deliver the message. | ||
| benabik | isBEKaml: Looks sane to me, FWIW | 23:15 | |
| isBEKaml | benabik: hey - back from #perl6. :) | 23:17 | |
| benabik | isBEKaml: It's perfectly acceptable to sit in both. :-) | 23:18 | |
| isBEKaml | benabik: yeah, straddling across two worlds. Feels a lot like shifting between sleep and awake state. :P | ||
| isBEKaml it's nearly five am where he is.... I really should sleep. | 23:19 | ||
| benabik | I know that feeling. | ||
| Well, goodnight from the other side of the planet. | |||
| I've got to head home from work. | 23:20 | ||
|
23:37
brambles joined
|
|||
| dalek | nxed/builtinexpr: 0289de5 | NotFound++ | winxedst2.winxed: clean a bit IdentifierExpr and FunctionId classes |
23:41 | |
| nxed/builtinexpr: 292f84f | NotFound++ | winxedst2.winxed: getvar needs a Token, not a string |
|||
| nxed/builtinexpr: ddcff05 | NotFound++ | / (3 files): drop builtin var cast from stage 1 |
|||
| nxed/builtinexpr: 8a44172 | NotFound++ | winxedst2.winxed: fix and simplify a bit CallBuiltinExpr.emit |
|||
| nxed/builtinexpr: 9d25e0a | NotFound++ | winxedst2.winxed: fix check for "null" in several places |
|||
| nxed/builtinexpr: 0df8bce | NotFound++ | winxedst2.winxed: simplify a bit IdentifierExpr.optimize |
|||
| nxed/builtinexpr: bf89811 | NotFound++ | winxedst2.winxed: NullExpr class |
|||
| nxed/builtinexpr: 8bd62d5 | NotFound++ | / (4 files): resolve merge conflict |
|||
|
23:53
whiteknight joined
|
|||
| whiteknight | good evening, #parrot | 23:55 | |
| blah, my evening is turning into an episode of COPS | 23:57 | ||