Parrot 4.6.0 "Wild Parrots of Telegraph Hill" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 18 July 2012.
00:23 kid51 joined 00:39 benabik_ joined 01:10 dukeleto joined
dukeleto ~~ 01:10
kid51 Yo! 01:11
dukeleto kid51: how goes it? 01:12
dukeleto has been under a rock lately
kid51 Postgres good. SQL bad. 01:13
dukeleto kid51: yeah, that is pretty much how I feel as well :)
kid51 The problem is that until now I've never had to have *active* knowledge of sql, i.e, compose fresh queries as opposed to being able to explain what existing queries do. 01:14
Does there exist an "SQL Cookbook"?
Hmm, the internet says there is. 01:15
dukeleto kid51: yeah, but beware that everybody implements a different "flavor" of SQL. Postgres is considered to be the closest to the spec 01:18
kid51: but the basics are all the same across implementations 01:19
sorear where do you draw the line between basics and nonbasics?
dukeleto sorear: things that are implementation specific, such as non-specific datatypes and the semantics of stored procedures, I guess 01:20
sorear ah.
I have not used stored procedures at all
dukeleto sorear: you are lucky :)
kid51 I'm quite a ways away from stored procedures, at this point.
dukeleto kid51: i have a book recommendation, but the title escapes me so I will let you know when I can search my bookshelf for it :) 01:21
01:21 dmalcolm joined
dukeleto no more updates about new github tickets anymore? 01:50
msg whiteknight can you see if you can reproduce the t/pmc/nci.t failures using clang + address sanitation on linux? Reini seems to be able to... 02:03
aloha OK. I'll deliver the message.
Coke dukeleto: github changed their api, bots need to compensate. 02:09
thought someone had done that in #p6
-> zzzes
03:03 sivoais joined 03:15 benabik joined 03:50 benabik_ joined 06:10 TonyC joined 06:18 nopaste joined 07:07 Saravanan joined, brrt joined
brrt hi #parrot 07:08
Saravanan i like to contribute to perl 6
Hi
brrt hi Saravanan 07:11
what would you like to do?
Saravanan bug fixes or documents
i'm new
sorear if you want to be a *perl 6* contributor, they have their own channel, #perl6 on irc.freenode.net 07:12
this is the channel for the Parrot virtual machine 07:13
Saravanan ok..
sorear which was created for Perl 6 and closely associated with Perl 6, but nevertheless they are separate projects
Saravanan ok..
sorear (in particular, there are several Perl 6 implementations for non-Parrot platforms)
08:03 lucian joined 09:26 particle joined 09:32 particle1 joined 10:58 whiteknight joined 11:19 JimmyZ joined
whiteknight good morning, #parrot 12:20
tadzik good morning whiteknight
whiteknight hello tadzik. how are you doing? 12:24
tadzik not bad. Sitting at $dayjob, ranting on the internet, usual stuff 12:25
How are things?
whiteknight things are alright here. I'm home for the day with my kid because daycare is closed 12:27
msg dukeleto: I can't seem to duplicate failures on master with address-sanitizer, but I might not be using it correctly 12:37
aloha OK. I'll deliver the message.
JimmyZ whiteknight: Reini reproduced it on threads branch, not master 12:40
whiteknight oh, okay
JimmyZ ;)
whiteknight I'm building that branch now. I'll look around
JimmyZ whiteknight++
whiteknight nope, no failures on the threads branch either 12:52
nine My "Threading in Parrot" talk got accepted for YAPC::EU :)
whiteknight nice++
JimmyZ nine++ indeed, I saw the schedule
whiteknight is that nci test the only failing test on any platform?
JimmyZ whiteknight: are you using clang?
whiteknight JimmyZ: yessir 12:53
I'm building it in winxp now 12:57
13:02 Saravanan left
JimmyZ whiteknight: do you mean t/pmc/nci.t ? 13:09
13:14 JimmyZ joined
JimmyZ hmm, I can't reproduce either 13:14
whiteknight yeah, t/pmc/nci.t 13:17
the whole nci callback system is bad, and we've known it's bad for years
the opengl guys used to complain about it all the time 13:18
brrt ... i kind of rely on nci
13:21 bluescreen joined
whiteknight brrt: Sure, several people do. That doesn't mean the system is good, or well-designed. And it doesn't mean we can't and shouldn't do better 13:22
brrt i know, but one step in 'making it better' usually means 'lets break it' 13:24
JimmyZ we should merge it and continue 6model and then rewrite nci part
brrt not that i'm blaming you :-) but still
JimmyZ hates the current nci and doesn't like it as a blocker 13:25
brrt ... in that context
yeah, i kind of agree
whiteknight actually, the nci system is fine. It's the nci callbacks that are bad 13:26
and they've always been bad
tadzik cdn.memegenerator.net/instances/400...682439.jpg 13:27
;)
eh, it was supposed to be "and they've always been bad" at the bottom
brrt well, you may break nci callbacks for me 13:28
i care nothing :-)
whiteknight tadzik: heh 13:29
JimmyZ well, I mostly hate current parrot OO ;)
nine I cannot reproduce those nci.t failures even when slowing down my system so the test takes 1:50 minutes instead of 1.3 seconds. 13:38
brrt what kind of awesome setup do you have? 13:40
nine brrt: just a Core i5-2540M. Slowed it down by disabling 3/4 CPU cores and setting the frequency to 800 MHz and running 20 xterms each one executing cat /dev/urandom > /dev/null with -20 priority. Takes half a minute just to switch to the other console to execute the test... 13:42
Had to give each cat it's own xterm because the Linux kernel would put them into the same scheduling group if executed from the same terminal. It's actually pretty hard nowadays to bog down the system :) 13:43
How exactly does the current cb system work? I'd naively assume that tasks would lend themselves perfectly for this task. 13:49
14:23 dmalcolm joined
whiteknight hmmm... I got some test failures on threads on windows. I don't know if that's noise or not 15:19
15:30 alester joined 15:43 jashwanth joined
rurban hi. I'm finally back from scrum training 16:12
t/pmc/task.t also fails for me in the same way as the nci tests
I run it inside a mips and sparc qemu instance with 200MHz. Should I publish the images now? 16:13
ppc smolder.parrot.org/app/projects/rep...ails/30456 mips smolder.parrot.org/app/projects/rep...ails/30444 (but master, not threads) mips threads passed today smolder.parrot.org/app/projects/rep...ails/30458 16:17
and that's the clang asan failure in threads smolder.parrot.org/app/projects/rep...ails/30427 16:20
Coke I wonder if we can avoid NCI issues by eliminiating NCI and pulling back in rakudo's choice. Having 2 ways to do this across the projects is crazy, no? 16:24
rurban I would not eliminate nci, just sanitize the parallel nci tests and fix the deadlock. 16:25
whiteknight Coke: Standardizing on Rakudo's version definitely seems like a good path to go in the future 16:27
or, since our system is pluggable, integrating Rakudo's version in besides our other versions might be good too
rurban: What's the incantation you use to build Parrot with address-sanitizer? 16:28
rurban whiteknight: can see it in smolder.parrot.org/app/projects/rep...ails/30427 ? 16:29
whiteknight rurban: that only shows me the compiler, not the commandline you passed to Configure.pl 16:30
rurban perl5.17.3d-asan Configure.pl :) 16:32
and perl has all the ccflags and linkflags
linkflags += -faddress-sanitizer
ldflags += -faddress-sanitizer
cc = clang
ld = clang 16:33
perldoc5.17.3 perlhacktips
perl5.git.perl.org/perl.git/blob/HE...cktips.pod /AddressSanitizer 16:36
perl5.git.perl.org/perl.git/blob/HE....pod#l1163
But I rather want to try now code.google.com/p/data-race-test/wi...dSanitizer 16:37
pastebin.com/gKRDTkh3 16:41
There's clearly a race 16:42
With t/pmc/nci.t I get a similar race report 16:43
the problem is the sleep 0.01 in t/pmc/nci_37.pasm 16:48
With the sleep call removed the tests succeeds 16:49
So it's sleep broken with threads, not the test. 16:50
I updated github.com/parrot/parrot/issues/808 with that info 16:54
dalek p/toqast: 319bb8d | jnthn++ | src/QAST/Compiler.nqp:
Implement default parameter handling, winning the optional and named argument tests back.
17:11
p/toqast: 4b85a2e | jnthn++ | src/NQPQ/ (2 files):
Get + and ~ prefixes workingish again.
p/toqast: 67a605c | jnthn++ | src/NQPQ/ (2 files):
Compile =:= again.
Heuristic branch merge: pushed 25 commits to parrot/threads by rurban 17:32
rurban threads look good to merge now. I'll give it another run on my farm 17:34
17:35 benabik joined
benabik ~~ 17:36
17:42 benabik_ joined
dalek p/toqast: 00c649e | jnthn++ | src/NQP/Actions.pm:
Fix bug in v-table method installation.
17:45
p/toqast: 507d55c | jnthn++ | src/NQPQ/Actions.pm:
Port previous fix to NQPQ.
p/toqast: 93a716f | jnthn++ | src/core/NQPMu.pm:
Add some missing methods to NQPMu.
p/toqast: ce81241 | jnthn++ | src/QAST/Operations.nqp:
Add a QAST op for throwing control exceptions.
p/toqast: 26b5b5b | jnthn++ | src/NQPQ/Actions.pm:
Get next/last/redo working again.
rurban Nope, still a threads issue with task.t github.com/parrot/parrot/issues/810 17:49
whiteknight rurban: is it the sleep that is broken, or is the sleep interval too short for the test? 17:57
Can we increase sleep 0.1 to sleep 10 and make the test pass?
rurban nope. tried that. it's the sleep implementation which is racy 17:58
I suspect it's some kind of alarm/sleep interaction
whiteknight ok 17:59
rurban But I haven't analyzed niners code yet. The while loop in Parrot_thread_wait_for_notification looks wrong to me.
And I found another threads race with #810
whiteknight that loop likes ok to me. I haven't really analyzed it either 18:01
18:05 darbelo joined
dalek rrot: c535cfd | Whiteknight++ | compilers/imcc/pbc.c:
Improve an IMCC error message to include just a little bit more information about what register set was received and which were expected. jashwanth++ for running into this error
18:11
rrot/threads: 9f5055b | rurban++ | / (8 files):
[CAGE] fix most t/codingstd/copyright.t issues

Only imcc has some Copyright (C) 2002 Melvin Smith <melvin.smith@mindspring.com> left.
18:30
rrot/threads: c535cfd | Whiteknight++ | compilers/imcc/pbc.c:
Improve an IMCC error message to include just a little bit more information about what register set was received and which were expected. jashwanth++ for running into this error
rrot/threads: f185f07 | rurban++ | / (9 files):
Merge remote-tracking branch 'origin/master' into threads
whiteknight rurban++
just got a "severe storm warning". I'm told to "expect hail and damaging winds" and to "stay away from windows" 18:31
so, if I lose power, that's why
rurban We have severe storm warnings in Houston every two weeks with radio and TV alarms, and nobody really cares. power outages and spikes are common though. 18:32
whiteknight it's 90 degrees outside, so it's weird to think about hail 18:34
benabik storms are like that 18:35
Coke rurban: houston! I do not miss my Chimney Rock apartment. ;) 18:39
rurban I think for practical purposes only the new #810 is blocking threads now. Should be easy to fix. Is niner somewhere around? 18:41
Because there is a wrong assumption in his code and paper. threads.c:313 "there can be no active runloops at this point" - there is 18:43
I'm building now with -DRUNLOOP_TRACE 18:44
benabik rurban++ 18:45
18:51 PerlJam joined
dalek rrot/threads: f1eff70 | Whiteknight++ | src/alarm.c:
Several code cleanups, more comments, improved documentation for alarm.c. No functional change
18:58
rrot/threads: d86d27a | Whiteknight++ | src/thread.c:
Small cleanups to thread.c. No functional changes
rurban runloop diffs bad vs good at github.com/parrot/parrot/issues/81...nt-7623557 19:01
benabik Does the bad case really say "exiting loop 1 level 1" twice? 19:02
(in a row)
rurban yes, and I clearly see the violation of threads.c:313 "there can be no active runloops at this point" 19:03
benabik Huh. That trace is strange. It seems to regularly say "exiting loop 1, level 1" without saying it entered it.
dalek p/toqast: 476a500 | jnthn++ | src/guts/multi_dispatch.c:
Don't look into freed memory.
19:04
p/toqast: 9341160 | jnthn++ | src/NQPQ/ (3 files):
Partially fix multi-method dispatch.
p/toqast: 4e3159b | jnthn++ | src/QAST/Operations.nqp:
Fix code-gen bug.
nine rurban: I am around
rurban Hi, Do you understand the #810 runloop_id_counter race with threads, t/pmc/task.t ? 19:05
nine rurban: you are absolutely right. That comment is from the time when there was only green threads. The runnloop id counter should be moved into the interp. There's absolutely no reason to share it between threads. 19:06
rurban :) sigh
So this is the remaining blocker
nine: Can you fix this so we can merge threads into master? 19:07
nine Well actually the nci.t hangs got me worried. I guess the timer stuff is racy on some platforms. Tried to reproduce it today but there's just no way to get my linux boxes to show any fault.
rurban: on it
I'll just get me a cup of coffee and start hacking 19:08
rurban The nci hang in sleep was not easy to repro. It hangs only sometimes on linux with asan but always with tsan. on darwin/ppc I got the best stacktrace which led me to this race. 19:13
nine rurban: Slowed it down by disabling 3/4 CPU cores and setting the frequency to 800 MHz and running 20 xterms each one executing cat /dev/urandom > /dev/null with -20 priority. Takes half a minute just to switch to the other console to execute the test 19:15
But still it would simply pass
rurban 800MHz is still too fast :)
I got virtual 200MHz machines (essentially an IRIX Indigo 2)
nine Any chance I could access those? 19:16
rurban I'll publish it on my website soon as qemu images. ~1GB compressed.
But I only have network routes out, not in. 19:17
whiteknight rurban++, nine++ 19:19
let me know if you guys need me to do anything 19:20
I'm just reading the code over and making small cleanups now
rurban The threads docs maybe. #809 19:21
As long as you have power
dalek rrot/threads: 39d88fc | Whiteknight++ | src/scheduler.c:
Several small cleanups, comments and a few TODO notes in scheduler.c. No functional changes
19:22
p/toqast: 9ccb91c | jnthn++ | src/QAST/Operations.nqp:
Fix lexotic compilation bug.
19:25
p/toqast: 4780b8e | jnthn++ | src/NQPQ/ (2 files):
Fix return; this also brings it inline with the mechanism we use to do it in Rakudo.
rurban Stefan: Bist du auch Oesterreicher? (nine) 19:26
nine rurban: positiv 19:27
dalek rrot/threads: 0a11e25 | nine++ | / (2 files):
Unshare runloop_id_counter to fix races

runloop_id_counter should be local to the interp instead of global. There's no reason to share it between threads. Leaving it global was an oversight.
rrot/threads: 3451668 | nine++ | src/scheduler.c:
Merge branch 'threads' of github.com:parrot/parrot into threads
rurban :) /Die Oestereicher haben die threads gerettet/
nine *ggg*
benabik What does Hash use for PMC keys? If I just set the key type, will it Just Work? 19:28
I guess not? 19:30
Or maybe that's winxed's assumption...
Nope. 19:31
Hm. PMC_ptr type key appears to do what I want. 19:34
nine rurban: can you re-test with the runloop stuff fixed?
rurban sure, just running three smokers
benabik or not
or I didn't update everything. Coding is an emotional roller-coaster. 19:35
This _should_ fix the labels for multis.
19:36 dukeleto joined
dukeleto whiteknight: ping 19:36
benabik Or not. Blarg.
Or yes. 19:40
Roller coaster, I say.
dalek CT: 72a30ea | benabik++ | src/PACT/Packfile.winxed:
Packfile.Subroutine: Build from a core Sub

This also stores the Sub inside the Subroutine for future reference.
19:43
CT: d03e104 | benabik++ | / (2 files):
Packfile.Decompile: Use Subroutine in constants

Instead of using the raw Sub, store a Packfile.Subroutine built from it.
CT: b2b50d7 | benabik++ | src/disasm.winxed:
disasm: Catch up with the new Subroutine world

This tracks labels based on Subroutine identity instead of name, which is far more reliable. This also means that we handle labels for multis correctly now!
19:49 brrt joined
rurban Is someone smoking threads on windows? I'm soon finished with linux/amd64, darwin/ppc, debian/mips and debian/sparc. 19:52
nine: tsan-r4356-amd64-linux-self-contained.sh ./parrot t/pmc/task.t is still hanging in the Parrot_thread_wait_for_notification while loop 19:54
nine rurban: I think this was to be expected. Everything points to timer handling suffering from a race 19:55
rurban t/pmc/signal.t also does not work on linux/threads 19:57
I guess because of the sleep 2 there
nine Interesting. signal.t gives me: t/pmc/signal.t .. skipped: Signals currently disabled 19:58
rurban you have to enable the tests
plan tests => 3; 19:59
ok, one fix after another 20:00
dukeleto rurban++
rurban dukeleto: For you to reread today's story blogs.perl.org/users/rurban/2012/08...tizer.html 20:03
nine rurban: windows build in progress
rurban I think the new sleep design is too easily disturbed by other signals. We gather no list of signals. So a lot of signal tests fail if there's also a sleep involved. 20:06
alarm/sleep interaction flawed
nine rurban: the irony is that the new sleep implementation does not even use signals any more.
rurban but threads. can we either maintain a list of to be delivered signals, or create a new thread for each signal? 20:07
or something like this?
benabik Is there documentation of what's in a multisig?
rurban the old sleep was more reliable.
I would call the remaining threads problem sleep-alarm deadlock 20:09
nine rurban: well the old sleep did not work at all on Windows, so I'm not exactly sure about more reliable ;)
rurban yes, windows is better now. 20:10
But I' more concerned about signals and the sleep deadlock, which is kinda fragile, since we do not keep a list of signals for our waiting thread. 20:11
nine I have no idea how parrot's signal handling actually works or should work, so I don't have any suggestions 20:12
benabik Random integers in my multisig?
rurban So we leave it to whiteknight 20:13
nine Windows build is broken for me. Get a Null PMC access in get_string() when executing .\\ops2c.exe --dynamic src/dynoplibs/obscure.ops --quiet 20:19
whiteknight rurban: I'm trying to build on windows right now 20:25
I get a lot of false negatives on that platform though, so I'll see what I can do
rurban I'll try to understand blocked signals by sleep in the meantime. Maybe the loop has to be loosened somehow to let some signals through. 20:28
whiteknight what signals? 20:37
Also, while we're using that word, we might be able to start trapping some OS signals, and handling them as alarms or something
being able to capture sigint would be good. sigfpe for some numerics applications 20:41
sigtrap and maybe sigprof would be very useful for some tools 20:42
brrt is there, in C, a cross platform directory separator defined? 20:46
benabik no
whiteknight brrt: HAHAHAHAHA
brrt: HAHA
sorear Does C require the host platform to support directories?
Tene On which platforms is / not accepted as a directory separator, btw? 20:47
brrt .... i feel like i'm being laughed at
also, good question
ok, does parrot happen to define a directory separator?
sorear Tene: vms?
benabik Some C on Windows, I think 20:48
sorear modern windows supports /, I'm not sure when it was added but it goes at least back to 95 20:49
Tene Apparently : was used on classic MacOS
benabik : is still used on OS X, I think.
Tene Wikipedia claims that OS/2 only used \\
sorear OS X is Unix 20:50
it uses /
benabik Ah. Lack of : is a HFS limitation then? 20:51
brrt ... maybe apache has it 20:54
thats actually quite likely
rurban whiteknight: I think of OS and HW signals. But also SW signals are blocked. SIGHUP e.g. in the t/pmc/signals.t 20:55
Tene: VMS, Old MacOS Classic and Win95 do not understand / 21:01
Everything else can do /
I'm not sure about VOS os390 os400 posix-bc vmesa riscos amigaos beos mpeix, os2,dos,bsdos are off. 21:02
brrt beos does / 21:04
rurban I'm keeping this list in a perl module of mine, where I refuse to support non-/ dirseps 21:05
whiteknight brrt: For most cases, Parrot will automatically convert / to \\ on windows 21:10
Tene whiteknight: why? windows understands / fine. 21:11
rurban win95 backwards compat probably 21:12
whiteknight Tene: src/library.c:cnv_to_win32_filesep
Tene: I don't know why we do it. I only know that we *do* do it
Tene nods.
whiteknight Tene: if only there were somebody around here who knew better and had the skills to fix it...
nine rurban: nothing should prevent signal delivery from what I can see. But AFAIK it's unspecified in POSIX which thread receives a signal sent to the process unless it's masked in all but one thread.
rurban I know about it. There's not much to fix. 21:13
nine: thanks
Tene Hmm... working on Parrot again...
Tene updates git checkout.
brrt whiteknight: i'm working from the module (C) layer. AFAIK windows supports the / 21:14
dalek CT: 73b1149 | benabik++ | src/ (2 files):
Store and print multisigs

Involves updating Packfile.Subroutine to store the sig and disasm to print it.
CT: e2fc30b | benabik++ | src/PACT/Packfile.winxed:
Packfile: update dumper for Subroutine and Multi
brrt and 9x we shouldn't care about anyway
dalek CT: d0a2ada | benabik++ | src/disasm.winxed:
disasm: switch from say(a + b) to say(a, b)

Lets me remove a lot of string() conversions
CT: f4a48b2 | benabik++ | src/disasm.winxed:
disasm: Move printing of type

I'd like to remove all the PACT types from the constant output, so lets let each type handle displaying the type.
CT: e8e6a43 | benabik++ | src/disasm.winxed:
disasm: Separate out displaying op argument

I'm about to reuse it to display Key contents
CT: d17a7b4 | benabik++ | src/disasm.winxed:
disasm: Show Keys
whiteknight brrt: yeah, we shoudn't. Every time I suggest cutting official support for an older platform like that, there's pushback
rurban cygwin also stopped supporting win95 and even win200 some years ago. 21:15
win 2000
Tene Since the last time I updated: 570 files changed, 24268 insertions(+), 19789 deletions(-) 21:16
rurban The main problem with / on windows is the cmd.exe interaction
Tene You guys have been busy. :)
benabik How can I determine if a sub is the main sub? Or should I just ask the PAckfile for main and then convert? 21:17
rurban Tene: bignum.pmc needs some love I guess.
whiteknight benabik: ask the packfile for main 21:18
benabik: That's the only official way to do it, although a more powerful mechanism (:tag) is available if we ever have the guts to use it
benabik whiteknight: init and load are tags now? 21:21
whiteknight yessir
benabik whiteknight++
I'll have to add a phase to load that stuff and store it in appropriate places.
It would be kinda nice to ask a Sub for a list of tags though.
Tene whiteknight: looks like your last blog post was about the io cleanups branch? could you use any help there? 21:24
whiteknight benabik: The lookup table doesn't really lookup in that direction 21:25
Tene: It's basically code-complete, but there were some test failure reports on BSD and darwin, I think
Tene Ahh; can't help there.
whiteknight Tene: if you have access to any "exotic" systems for testing and development, that would be great
Tene: If you want to just look through and review/critique any of the code, that would be great too
nine Ok tried again without parallel make and now the windows build of the threads branch succeeded. Running tests 21:26
whiteknight nine: I'm building on my winxp vm right ow 21:28
now
last time I tried and ran tests it failed a few, but those failures were suspicious and my luck with this platform is low
also, i may not have been up-to-date 21:29
rurban Testing now threads and io_cleanup1 on openbsd. solaris next. 21:35
dalek rrot/threads: 78cb477 | Whiteknight++ | src/pmc/alarm.pmc:
Cleanup Alarm PMC. Add some comments/docs. Cleanup some code. Add the ability to get the alarm time as a PMC from get_pmc_keyed_int, in case anybody wants to try that.
21:39
rrot/threads: 33a45e3 | Whiteknight++ | src/pmc/scheduler (2 files):
A few small cleanups to scheduler and schedulermessage PMCs. No functional changes
rurban setting up a netbsd-5.1.2/amd64 kvm vm from ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-5.1.2/amd64/installation/cdrom/boot.iso 21:48
21:48 brrt joined
nine I got test failures in t/src/checkdepend.t, t/src/threads_io.t (which I thought I disabled on Windows), t/dynpmc/os.t and t/library/nciutils.t. 21:54
Except for the threads_io.t, none look threading related 21:55
rurban cygwin threads hang at nci.t 40
nine I guess cygwin suffers from the same problem as other non-Linux POSIX implementations. 21:56
Well, I'm off to bed now. Good night, #parrot 21:58
rurban Oh my. nci_40.pir also has a little sleep which hangs now on cygwin 21:59
22:33 PacoAir joined 22:43 PacoAir joined
benabik whiteknight: Is there a way to get a list of the tags? 22:53
whiteknight: (all tags used in a Packfile, I mean)
whiteknight: Actually, I only see a way to trigger subs by tag, not get a list. 22:59
whiteknight: nm, I see "subs_by_tag" in the source. Undocumented, tisk tisk. Still would like a "list of all tags in packfile" 23:01
And packfile.view() is giving me 7? 23:10
Arg. 23:11
23:17 dmalcolm joined
whiteknight benabik: list of all tags? That's doable 23:52
benabik whiteknight: Yes. It would be nice to say "hey, what tags exist" then iterate than "guess what tags exist" and iterate. :-D 23:53
whiteknight: My most immediate issue though is that "packfile.view()" appears to return 7
whiteknight ...lolwat?
benabik That was about my responce. 23:54
response?
dalek rrot: 7926733 | Whiteknight++ | src/pmc/packfileview.pmc:
Document PackfileView.subs_by_tag. benabik++ for pointing out the omission.
23:55
benabik whiteknight: If it helps, this is the Packfile generated by disasm.winxed by doing new 'Packfile'.unpack(string(file.readall())) 23:56
whiteknight it's returning 7, as in the pointer value 7, or a PMC with integer value 7? 23:57
benabik PMC Integer 7
whiteknight okay, that's F'd up
benabik It was.... somewhat unexpected. 23:58