Camelia, the Perl 6 bug

IRC log for #parrot, 2008-08-06

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:10 AndyA joined #parrot
00:50 cotto_work chromatic, thanks for the tip in #ps.
00:50 bacek joined #parrot
00:50 cotto_work I'm reasonably sure my code works now.
00:50 cotto_work (all tests pass, but that only means that all tests pass)
00:51 Infinoid ... which is a really good start
00:58 petdance joined #parrot
01:11 Whiteknight joined #parrot
02:02 Ademan joined #parrot
02:34 tewk gsoc_nci builds and passes t/pmc/nci.t with strawberry perl,
02:35 tewk going to build with active state and msvc
02:35 chromatic Sweet.
02:35 chromatic JITted thunks?
02:37 tewk yep, particle reported that it fail on his windows machine with msvc. so I'm testing that now
02:39 tewk I didn't realize that configure with strawberry perl would default to using msys, but it make sense.
02:40 SCalimlim joined #parrot
02:40 SCalimlim has anyone built parrot on freebsd lately?
02:41 tewk lots of warnings with msvc
02:51 dalek r30045 | jkeenan++ | scriptconfigure:
02:51 dalek : [configure] Extract those options which are valid either on the command-line
02:51 dalek : or inside a configuration file and place them in
02:51 dalek : @Parrot::Configure::Options::Con​f::Shared::valid_shared_options.  Import this
02:51 dalek : into Parrot::Configure::Options::Conf::CLI and
02:51 dalek : Parrot::Configure::Options::Conf::File.  Provide for a more robust
02:51 dalek : configuration file.  Still need to allow for multiple steps designated as
02:51 dalek : verbose-step or fatal-step.
02:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30045
03:01 dalek r30046 | chromatic++ | trunk:
03:01 dalek : [config] Added a dependency on key.str to src/key.c target.
03:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30046
03:12 tewk hmmmm, I got two failing t\pmc\nci.t tests using msvc, which I fixed, just need to push to svn, but it built for me.
03:13 tewk Maybe I got lucky, nci jitted stub errors canC[C[C[C[C cause bad things to happen
03:14 dalek r30047 | chromatic++ | trunk:
03:14 dalek : [src] Fixed a segfault during global destruction of runloop jump points in
03:14 dalek : optimized builds; the runloop pointers passed to
03:14 dalek : really_destroy_runloop_jump_points may be NULL, so the compiler has to know
03:14 dalek : about that so as not to optimize away the checks.
03:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30047
03:19 Whiteknight joined #parrot
03:58 dalek r30048 | chromatic++ | trunk:
03:58 dalek : Added the ports/cygwin directory, with files sufficient to make a Cygwin port
03:58 dalek : of Parrot (Reini Urban, RT #57608).
03:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30048
04:01 dalek r30049 | chromatic++ | trunk:
04:01 dalek : [config] Added support for XEmacs 21-style ctags (Reini Urban, RT #57546).
04:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30049
04:04 dalek r30050 | chromatic++ | trunk:
04:04 dalek : [t] Made stat/lstat tests more portable on Cygwin (Donald Hunter, RT #57486).
04:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30050
04:36 tetragon joined #parrot
05:03 teknomunk_ joined #parrot
05:13 cotto_home clkao?
05:13 purl rumour has it clkao is talking about the higher level thing
05:13 cotto_home seen clkao
05:13 purl clkao was last seen on #moose 1 days, 4 hours, 5 minutes and 56 seconds ago, saying: failed  [Aug  5 01:07:30 2008]
05:19 Ademan joined #parrot
05:39 Psyche^ joined #parrot
06:15 uniejo joined #parrot
06:29 teknomunk joined #parrot
07:32 dalek r30051 | fperrad++ | trunk:
07:32 dalek : [Lua] PMC
07:32 dalek : - refactor LuaUserdata with ATTR
07:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30051
07:38 barney joined #parrot
08:05 clunker3 joined #parrot
08:14 UltraDM joined #parrot
08:21 bacek_ joined #parrot
08:29 cognominal joined #parrot
08:57 masak joined #parrot
10:12 Ademan joined #parrot
10:33 dalek r30052 | julianalbo++ | trunk:
10:33 dalek : drop directory ports/cygwin from MANIFEST
10:33 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30052
10:34 dalek r30053 | kjs++ | trunk:
10:34 dalek : [pirc/new] refactor assignment rule
10:34 dalek : + start of constant-folding implementation in grammar.
10:34 dalek : + refactoring of several rules
10:34 dalek : + more work on back-end (data structures)
10:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30053
11:21 gaz joined #parrot
11:39 dalek r30054 | fperrad++ | trunk:
11:39 dalek : [Lua]
11:39 dalek : - refactor namespace : extension libraries
11:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30054
11:52 clunker3 joined #parrot
11:58 kj joined #parrot
11:59 clunker3 joined #parrot
12:10 dalek r30055 | fperrad++ | trunk:
12:10 dalek : [Lua]
12:10 dalek : - refactor namespace : extension libraries (step 2)
12:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30055
12:41 Whiteknight joined #parrot
13:01 teknomunk_ joined #parrot
13:12 dalek r30056 | fperrad++ | trunk:
13:12 dalek : [Lua]
13:12 dalek : - refactor namespace : standard libraries
13:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30056
13:12 petdance joined #parrot
13:19 dalek r30057 | julianalbo++ | trunk:
13:19 dalek : added runloop for debugger and some more debugger changes
13:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30057
13:21 Whiteknight julianalbo++
13:32 ambs joined #parrot
13:45 dalek r30058 | fperrad++ | trunk:
13:45 dalek : [Lua]
13:45 dalek : - refactor namespace : Perl Compiler
13:45 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30058
13:45 dalek r30059 | fperrad++ | trunk:
13:45 dalek : [Lua]
13:45 dalek : - refactor namespace : extension libraries (step 3)
13:45 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30059
14:00 gryphon__ joined #parrot
14:33 petdance joined #parrot
14:35 clunker3 joined #parrot
14:52 dalek r30060 | jonathan++ | trunk:
14:52 dalek : [rakudo] Stub in empty Perl6MultiSub PMC deriving from MultiSub, add it to the Makefile and add a sanity test to make sure we can instantiate it.
14:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30060
14:54 * particle points jonathan at the MANIFEST
14:56 jonathan oops
14:56 jonathan MANIFEST MUST DIE
14:56 jonathan :-)
14:57 dalek r30061 | jonathan++ | trunk:
14:57 dalek : [rakudo] Add perl6multisub.pmc to the MANIFEST; particle++ for noticing.
14:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30061
15:11 dalek r30062 | infinoid++ | trunk:
15:11 dalek : [src] Remove trailing whitespace in src/debug.c to pass codingstd tests.
15:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30062
15:14 dalek r30063 | infinoid++ | pdd13pbc:
15:14 dalek : [pdd13] Merge changes from trunk (-r29903:30062) into pdd13pbc branch.
15:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30063
15:29 Theory joined #parrot
16:15 Ademan joined #parrot
16:17 iblechbot joined #parrot
16:48 mj41 joined #parrot
16:49 peepsalot joined #parrot
16:59 davidfetter joined #parrot
17:17 cotto_work t/codingstd/pdd_format.t is griping
17:23 Infinoid seen rurban
17:23 purl rurban was last seen on #parrot 3 days, 6 minutes and 43 seconds ago, saying: I'll apply for 10 hours � 100 euro in october then :)  [Aug  3 17:16:43 2008]
17:27 tewk particle: msvc build for me, I had a couple of t/pmc/nci.t failures, but it built and ran.
17:27 particle which version msvc?
17:27 tewk latest patch against head http://tewk.com/nci.diff
17:27 tewk 2008
17:28 particle cl -h returns 15.00... for me
17:29 particle ok, that's same
17:29 tewk 15.00... yeah
17:29 particle can you post a diff against gsoc_nci?
17:30 particle or just ci
17:30 particle i see you noticed the zillion warnings earlier
17:30 tewk Its been some time since I've compiled parrot on win32
17:31 tewk let me see if I can post a diff agaisnt gsoc_nci
17:31 tewk ci i mean
17:31 particle meantime i'll rebuild parrot trunk head and check for warnings
17:40 jonathan hi folks
17:40 jonathan Think I will hack on Rakudo tomorrow.
17:40 pmichaud Aloha
17:40 jonathan (As in, have Rakudo day. Today's hacking is MMD.)
17:40 jonathan Ah, hi PM.
17:40 jonathan :-)
17:40 jonathan How's vacation?
17:40 dalek r30064 | jonathan++ | trunk:
17:40 dalek : [rakudo] Start to stub in some bits of the Perl6MultiSub PMC, plus add a few more sanity tests. Nothing to see or play with just yet, and what is here is very preliminary code and, in places, untested.
17:40 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30064
17:41 particle was it dark in the lava tube?
17:41 pmichaud it's going good.  Did Volcanoes yesterday.  dark in the lava tube, yes
17:41 pmichaud got to see where the lava is flowing into the sea
17:41 jonathan Wow, there's actually lava flows to see there?!
17:41 pmichaud yes
17:41 jonathan WANT!
17:42 particle yep, it's the only u.s. state that's growing
17:42 * jonathan should make a vacation there sometime
17:42 jcm joined #parrot
17:42 pmichaud we didn't see the flow itself, but we could see the lava shooting into the air when it reacted with the seawater
17:42 pmichaud I have a video :-)
17:42 jonathan Cool.
17:42 ambs joined #parrot
17:42 jonathan I booked my flight for Vladivostok last night.
17:42 pmichaud let's see if I have a pic
17:43 * pmichaud fires up Picasa
17:44 pmichaud no, pic.  Let's see how long the video would be
17:45 pmichaud 108M .  probably too long to upload via my gprs modem :-)
17:45 jonathan :-)
17:45 jonathan Well, bring it along the YAPC::EU. ;-)
17:46 pmichaud (I can cut it down a fair bit when I get to some reasonable video editing tools :-)
17:46 jonathan Will Rakudo-hack tomorrow because on Friday late afternoon I'm flying.
17:46 pmichaud sounds good.
17:46 pmichaud I'll be hacking on plane tomorrow night, most likely
17:46 jonathan Will likely spend some time making sure, that my examples from my talks actually run!
17:46 jonathan Then I was considering making a branch and doing some lazy list stuff in it
17:47 particle remind me, does rakudo have given/when yet?
17:47 jonathan So that we can hit YAPC::EU with some code to review and that exposes some of the issues (like, with ResizalbePMCArrays)
17:47 jonathan particle: It 'has' them, but when doesn't throw the control exception at the end of a block.
17:47 pmichaud rakudo has given/when, but the when's .... what jonathan said
17:47 particle ok, i see some room for more tests against S04
17:47 jonathan particle: Is waiting on PCT changes, which were waiting on pdd25cx, but are unblocked now.
17:48 particle like, what happens with default {...} when * {...}
17:48 jonathan Those two are about equivalent, IIRC.
17:48 pmichaud (I think they're explicitly equivalent.)
17:48 particle they are exactly equivalent
17:48 jonathan OK. :-)
17:48 particle but, if they're repeated...
17:48 pmichaud then the second one never gets executed.
17:48 jonathan You'd never reach the second one, usually...
17:48 particle do you get a warning?
17:48 jonathan Unless you used "continue", maybe.
17:49 pmichaud We might provide warnings if there are unreachable statements, yes.
17:49 particle default { continue } when * { foo() }
17:49 jonathan Yeah. :-)
17:49 particle sick.
17:49 particle that needs to be a test
17:49 jonathan :-)
17:49 pmichaud that we provide a warning?  I don't think the spec requires that we issue a warning.
17:50 particle no, it doesn't.
17:50 jonathan If the spec doesn't need it, shouldn't be a spectest. But we should make sure default { continue } when * { foo() } does the right thing.
17:50 particle the spec doesn't define behavior with multiple default blocks
17:50 particle it's ambiguous
17:50 jonathan I'm not sure it needs to.
17:51 particle it's referred to as "the default case"
17:51 particle not "a default case"
17:51 jonathan Ah.
17:51 pmichaud This is one of those places wehre I think the language spec doesn't need to require a warning, but implementations may be encouraged to issue one.
17:51 particle anyway, that's #perl6-speak
17:51 jonathan pmichaud: Does my Rakudo day plan sound reasonable?
17:51 pmichaud jonathan: yes
17:52 jonathan OK, great.
17:52 particle isn't that rakuday-do?
17:52 particle .oO(the day of the camel)
17:52 pmichaud I'm looking forward to being able to dedicate some tuits on rakudo again
17:52 * jonathan needs to try and get most of his second talk written tonight too
17:52 jonathan I'm looking forward to you being able to dedicated some tuits on Rakudo again ;-)
17:53 jonathan Well, day either side of YAPC::EU and time during the conference itself, should be productive.
17:53 pmichaud yes, I'm expecting so.
17:53 jonathan I have a few days just relaxing and vacation before it too.
17:53 particle pmichaud: poke rdice about the hague grant proposal review, if he hasn't committed to a date yet
17:53 jonathan So I should arrive with some energy.
17:54 pmichaud particle: I think rdice is waiting for me to finish the mofo grant
17:54 pmichaud which I told him I'd do before hawai'i, but obviously I didn't make it
17:54 pmichaud so that's my friday afternoon task
17:54 particle ah, right.
17:55 particle ser gut.
17:57 * jonathan needs food
17:57 jonathan Probably need to do some non-Rakudo tasks later today too
17:59 jonathan But may get more MMD time in.
17:59 Whiteknight your mmd algorithm sounds pretty interesting jonathan
17:59 * jonathan needs to spend 40 hours on it in total before August is out. And is on vacation for the last week of August, and at YAPC next week!
17:59 jonathan Whiteknight: Well, I'm hoping it's @Larry's MMD algorithm. ;-)
17:59 jonathan But yes, it's an interesting one.
18:00 Whiteknight if you implement it before Larry gets a chance to comment on it, we will just be stuck with it
18:00 jonathan Well, it's spec'd.
18:00 jonathan So I'm trying to implement it the way the spec suggests.
18:00 jonathan I'm hoping to hack a little bit on evenings while I'm on vacation though.
18:01 jonathan So maybe during YAPC::EU I have some progress to show and get @Larry to play with.
18:04 Whiteknight how is this getting implemented, in PIR, NQP, or something better?
18:04 jonathan Whiteknight: The actual dispatcher itself is C.
18:04 pmichaud MMD probably has to be in C, for efficiency reasons
18:04 Whiteknight oh, okay. makes sense
18:05 jonathan The parsing and code-gen of everything up to the dispatcher is in NQP.
18:06 jonathan Or PIR. Or Perl6 Regex, for the parsing bits.
18:06 jonathan Signature objects will be constructed through NQP too, though the exact nature of those is for discussion at YAPC::EU, I expect.
18:06 jonathan For now I'm writing PIR tests.
18:06 jonathan And will fake up something with the right interface.
18:07 pmichaud time for me to go do more vacationing.
18:07 pmichaud I'll be glad when vacationi s over so I can get some rest :-)
18:07 jonathan pmichaud: enjoy it :-)
18:07 jonathan A good vacation leaves you tired of vacationing and longing for work again. ;-)
18:07 dalek r30065 | coke++ | trunk:
18:07 dalek : Don't complain about files in ports/ - they may need to break the rules.
18:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30065
18:09 pmichaud afk
18:11 tewk gsoc_nci just needs to be deleted and recreated, maybe tonight.
18:23 ruoso joined #parrot
18:45 ambs joined #parrot
19:16 ryanc joined #parrot
19:21 dalek r30066 | fperrad++ | trunk:
19:21 dalek : [Lua]
19:21 dalek : - refactor namespace : extension libraries (step 4)
19:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30066
19:36 donaldh joined #parrot
20:00 TimToady phone?
20:00 purl hmmm... phone is 1/4".
20:00 TimToady phono?
20:01 TimToady purl, phono is RCA.
20:01 purl OK, TimToady.
20:03 donaldh rakudo trunk fails to build on Cygwin
20:04 donaldh It doesn't look specific to Cygwin. Has anyone else noticed?
20:04 donaldh ./perl6multisub.pmc:102: error: `PARROT_OP_set_args_pc' undeclared (first use in this function)
20:09 particle do you have an installed rakudo on cygwin?
20:09 particle er, installed parrot
20:09 donaldh nope
20:11 jonathan Ugh.
20:11 jonathan It builds on Windows.
20:11 jonathan And includes parrot.h
20:12 jonathan Maybe that's not enough, though.
20:12 particle builds with msvc, yes. just checked
20:12 donaldh It's defined in parrot/oplib/ops/h
20:13 donaldh s?ops/h?ops.h?
20:13 jonathan OK, try adding a #include to that.
20:14 donaldh Just wondering why it works elsewhere.
20:14 jonathan Not sure why, this would work one way on MSVC and not work on gcc or something, though.
20:14 jonathan Yeah, I've no idea.
20:18 cotto_work donaldh, same on linux/x86/gcc
20:18 cotto_work b0rken
20:20 Tene Yeah, I get that failure on linux/x86_64/gcc
20:23 cotto_work is anyone other than kl working on pirc?
20:23 cotto_work s/kl/kj/
20:23 nopaste "donaldh" at 213.123.171.12 pasted "patch for ./perl6multisub.pmc:102: error: `PARROT_OP_set_args_pc' undeclared (first use in this function)" (23 lines) at http://nopaste.snit.ch/13751
20:24 particle cotto_work: not that i'm aware of. svn log will help
20:24 cotto_work particle++ #of course
20:34 jonathan Anyone with commit bit and tuits now, feel free to apply that, otherwise I do it later - tied up with something at the mo. Thanks, donaldh++
20:35 particle that patch seems so *wrong*, but who can argue if it works?
20:36 particle does #include "parrot/embed.h" work?
20:36 donaldh I can try it.
20:37 jonathan particle: It's OK, there's much wronger things in that file. ;-)
20:38 donaldh It doesn't fix it anyway.
20:38 donaldh parrot/embed.h that is.
20:39 particle ok, i'll try your patch with msvc
20:39 particle if it builds, i'll commit
20:39 jonathan thanks, particle++
20:39 jonathan Still bemused why it built in the first place on MSVC, if not on gcc...
20:40 donaldh I'm trying to track down any conditional code.
20:42 particle are you looking in the generated .c file?
20:43 particle .\perl6multisub.pmc(54) : fatal error C1083: Cannot open include file 'Parrot/oplibs/ops.h': No such file or directory
20:43 particle ah, oops
20:43 particle i put a trailing 's' on oplib
20:45 donaldh Okay, the other PMCs that test PARROT_OP_* also #include "parrot/oplib/ops.h" so it's _normal_
20:48 particle passes make test. committing.
20:48 particle nothing about parrot's opcode mmd is _normal_
20:48 donaldh :D
20:49 dalek r30067 | particle++ | trunk:
20:49 dalek : [rakudo] include proper header for non-msvc builds (dunno why this works, it just does) donaldh++
20:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30067
20:50 petdance joined #parrot
20:51 Whiteknight joined #parrot
21:05 dalek r30068 | fperrad++ | trunk:
21:05 dalek : [Lua]
21:05 dalek : - refactor namespace : extension libraries (step 5 : export_to)
21:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30068
21:29 Ademan joined #parrot
21:36 vhold joined #parrot
21:42 dalek r30069 | Whiteknight++ | trunk:
21:42 dalek : [core] Small spelling fix in src/pmc.c
21:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30069
21:54 Tene Huh.  Now I'm getting failure here:
21:54 Tene ../../parrot  -o perl6.pbc perl6.pir
21:54 Tene remove_attribute() not implemented in class 'ResizableStringArray'
21:56 slightlyoff joined #parrot
22:01 dalek r30070 | fperrad++ | trunk:
22:01 dalek : [Lua]
22:01 dalek : - refactor namespace with export_to : standard libraries
22:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30070
22:04 slightlyoff left #parrot
22:08 dalek r30071 | Whiteknight++ | gsoc_pdd09:
22:08 dalek : [gsoc_pdd09] update to trunk r30070
22:08 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30071
22:10 timbunce joined #parrot
22:37 dalek r30072 | Whiteknight++ | trunk:
22:37 dalek : [STM] add some function-level documentation to src/stm/backend.c
22:37 dalek : * Open a few CAGE tickets corresponding to some TODO, XXX and FIXME items, and add RT# tags where appropriate.
22:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30072
22:43 cotto_work more fun
22:44 nopaste "cotto" at 131.107.0.77 pasted "another disturbingly short segfault" (13 lines) at http://nopaste.snit.ch/13752
22:45 cotto_work Parrot might not quite be ready for prime time just yet.
22:45 jonathan cotto_work: That is just another case of the "fun" one I discovered
22:46 jonathan But yes, we need to do something about STRINGs.
22:48 cotto_work your earlier nopaste made me think of trying that instead of debugging my code
22:49 Limbic_Region joined #parrot
22:49 cotto_work I'm curious why the i = s line is necessary to trigger the sf, though
22:52 jonathan Because it doesn't check if s is NULL before trying to parse it and get an int.
22:55 cotto_work I see. The i = s line is segfaulting, not the say.
22:55 Whiteknight sounds like there should be an easy fix. I don't know enough about it, however
22:56 Whiteknight do strings, ints, and nums have vtable methods?
22:56 Whiteknight or are vtables reserved for pmcs?
22:57 Infinoid it segfaults at string_to_int() in src/string.c line 1942
22:58 jonathan Just PMCs.
22:58 Infinoid it segfaults because "s" is undef, and therefore, the STRING* pointer on the C level is NULL.
22:58 jonathan But I think we need to not represent null strings as a C NULL.
22:58 jonathan It's kinda just asking for segfaults.
22:59 Whiteknight I see that, and it's unhelpful that PARROT_ASSERT(s) isn't called until after s->strstart is dereferenced
22:59 Infinoid well, you can either pepper the code with checks for NULL, or make a STRINGNULL and pepper the code with checks for that... I don't really see much difference between the two.
23:00 Whiteknight I'll take a quick stab at a solution for that issue. It should be easy enough if we don't worry about beautiful code
23:00 Infinoid Whiteknight++
23:00 Whiteknight ...done! testing now
23:01 Whiteknight of course, it's the testing that always takes such a long time
23:01 Infinoid seems the pdd13pbc branch no longer compiles because real_exception() no longer exists... I'll fix that later tonight.
23:02 jonathan Infinoid: If the STRINGNULL is something that throws errors, like PMCNULL does, it works out better if you forget to check it.
23:04 NotFound jonathan: the price to pay can be high, a check in almost any string function.
23:05 dalek r30073 | Whiteknight++ | trunk:
23:05 dalek : [CORE] fix to src/string.c:string_to_int(). If a NULL string is passed, the code would segfault on a null pointer dereference. Now, if a NULL string is passed, it returns 0. Not the prettiest fix ever.
23:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30073
23:05 jonathan Whiteknight: Would it not have been better to throw an exception there?
23:05 Whiteknight it might have been.
23:06 jonathan NotFound: Yes, I fear that the way strings are (you don't intereact with the via a v-table) may force that.
23:06 Whiteknight it makes the most sense to me that it returns 0, but the "best response" is a personal preference
23:06 jonathan I hadn't been fro a good look.
23:06 Whiteknight I am forcing a NULL string and an empty string to be the same concept in my mind, for simplicity
23:10 cotto_work Whiteknight, what are the extra curly braces for?
23:11 NotFound Whiteknight: the function signature must be changed to no mark it as non null.
23:11 Whiteknight cotto_work: C89 specifies that in a block, all variable declarations must come before all code
23:11 Whiteknight since I can't add an if statement before the variable declarations in the same block, I created a different block
23:12 Whiteknight basically, it tells the compiler to shut up
23:12 Whiteknight NotFound, you're right. I'll do that in a second
23:13 NotFound Whiteknight: I put a comment in that cases, something like /* Limit scope of variable ... */
23:14 NotFound Is helpful for people not familiar with that idiom.
23:14 Whiteknight NotFound, the function allows NULL now
23:15 NotFound Whiteknight: in string_func.h there is an __attribute_nonnull
23:15 NotFound Lack of headerizer?
23:15 Whiteknight No, you're right. I need to change ARGIN to ARGIN_NULLOK
23:16 Whiteknight unfortunately, that means "make" has to redo everything since I changed the headerfiles
23:16 Whiteknight :(
23:17 Whiteknight shoot. Can somebody else "make headerizer && make"?
23:17 Whiteknight When I did that, it screwed up some definitions in the IMCC headers, and now it wont build
23:18 NotFound Maybe we have too much dependencies, including unneeded headers in several places.
23:21 NotFound Whiteknight: let it to me, I will change the function, headerize, and revert all unrelated files.
23:25 ruoso joined #parrot
23:29 Whiteknight NotFound++
23:30 dalek r30074 | julianalbo++ | trunk:
23:30 dalek : allow null argument in string_to_int signature
23:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30074
23:32 Whiteknight NotFound++ on the codingstd fix too
23:32 * Whiteknight needs to watch his codingstd
23:41 tetragon joined #parrot
23:41 * jonathan by some miracle managed to commit a pile of C today that didn't fail any of the codingstd!
23:45 Whiteknight very nice
23:45 Whiteknight I've never committed C code that didn't fail tests
23:45 Whiteknight even my fixes fail something :)
23:45 jonathan I cheated by writing new code and only checking in tests that I knew it could pass. ;-)
23:46 Whiteknight so, more of a manufactured miracle then :)
23:46 jonathan Well, it's the codingstd tests that I usually somehow manage to make an epic fail of. :-)
23:47 Whiteknight tell me about it...
23:47 purl it is just that our experimental liposuction machine... well... let's just say that even a really powerful shop vac isn't the right tool. or 10am
23:47 jonathan The real test will come when we swap the Parrot MMD implementation for my one in Rakudo. Then we'll see just what breaks. :-)
23:47 Whiteknight purl forget it
23:47 purl Whiteknight: I forgot it
23:47 jonathan it would be good if purl had a list of things just to never remember
23:47 Whiteknight (see just what breaks)++
23:48 Whiteknight purl permanently forget it
23:48 purl Whiteknight: huh?
23:48 Whiteknight damnit
23:48 jonathan :-)
23:48 jonathan purl would no way be *that* co-operative.
23:48 purl jonathan: sorry...
23:48 jonathan Though at least she's apologetic about it.
23:48 * jonathan pets purl
23:48 purl don't mess with me
23:49 * Whiteknight slaps purl with a trout
23:49 * jonathan decides purl won't make a suitable girlfriend after all...
23:49 Whiteknight especially not with the trout smell
23:49 cotto_work purl, it is <reply>
23:49 purl OK, cotto_work.
23:49 cotto_work purl, it?
23:49 purl cotto_work: wish i knew
23:49 cotto_work purl, it is something
23:49 purl ...but it is <reply>...
23:50 cotto_work win
23:50 jonathan purl, it?
23:50 purl jonathan: no idea
23:50 jonathan Wow. :-)
23:50 ruoso joined #parrot
23:51 * jonathan tries to get his YAPC::EU slides done...
23:56 bacek joined #parrot

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced