Re: [perl #34625] [PATCH] make setup on MSWin32

2005-04-04 Thread François PERRAD
At 18:01 02/04/2005 +, you wrote:
Ron Blaschke [EMAIL PROTECTED] wrote:
 Or even:
 nmake win32-installer
 ?
 The Windows equivalent of rpm would be msi.
Maybe then:
  nmake win32-inno-installer
I agree with you, 'win32-inno-installer' is a better target name than 'setup'.
Do you want a new version of the patch with this name ?
Francois.
  nmake win32-msi-installer
  ...
(which make the win32 prefix rather superfluent)
 Ron
leo




Re: [PROPOSAL] calling convention abstraction

2005-04-04 Thread Leopold Toetsch
Roger Hale [EMAIL PROTECTED] wrote:
 Leopold Toetsch wrote:

 As @ARGS (or @IN_ARGS, @OUT_ARGS) is being stored in the context, and
 that context is defacto the continuation, yes - a tail-call would
 inherit this information.

 leo

 But as each tail-call supplies a new @ARGS, how can this be the case?

We would have two parts in the context: @IN_ARGS, @OUT_ARGS. The
Ctailcall opcode can preserve that part with the return context.

 One can also think of {scalar, list, ...} context as the continuation's
 signature...

Yes.

leo


Re: [perl #34660] [TODO] Unicode hash keys

2005-04-04 Thread Leopold Toetsch
Will Coleda [EMAIL PROTECTED] wrote:

 .sub main @MAIN
   $P0 = new Integer
   store_global Foo, unicode:Bar, $P0
   print ok 1\n
 .end

 It generates the error:

 unimplemented unicode

Yep. charset/unicode.c:compute_hash() *was* unimplemented.

leo


Re: [perl #34661] [BUG] Unicode String Literal, assert failure

2005-04-04 Thread Leopold Toetsch
Will Coleda [EMAIL PROTECTED] wrote:

 .sub main @MAIN
   $S0 = unicode:\]\nif I3 == 
 .end

 Generates:

 encodings/utf8.c:277: failed assertion `i-bytepos  PObj_buflen(s) - 4'

Slightly wrong assert. I've moved it after the advance of the bytepos
now.

 2) The fact that the diagnostic shows up in encodings/utf8.c, rather
 than being caught and showing up on line 2 of my PIR code.

It's a C assert and not an exception, but it probably should be an
exception, yes.

leo


Re: _temp_mmd_init size error

2005-04-04 Thread Leopold Toetsch
Ron Blaschke [EMAIL PROTECTED] wrote:
 Leopold Toetsch wrote:

 There's gotta be at least one element in the array.  Not sure why this
 compiles on other platforms, though.
 gcc hasn't problems with it. Dunno what the standard says.

 MS VC++ has an error code C2466 - cannot allocate an array of
 constant size 0, an indication the standard says that Thou Shalt
 Not Do It.

Ah, yep:

$ info gcc

,--[ C Extensions ]--
| Arrays of Length Zero
| =
|
|Zero-length arrays are allowed in GNU C.
`

 Ron

leo


FYI: NCI call signature change

2005-04-04 Thread Leopold Toetsch
The NCI signature char 'I' used to be the Parrot Interpreter. It's now 
'J'. This frees 'I' for its new and more consistent meaning INTVAL.

Classes that use the newer METHOD syntax don't need a change. Old code 
that uses enter_nci_method() and uses an BInterpreter argument should 
be changed to use the new METHOD syntax.

leo


[CVS ci] MMD 16 - builtin infix multis

2005-04-04 Thread Leopold Toetsch
During class registration of classes that define a MMD_init table, 
several new things happen:

1) a MultiSub PMC is created in the __parrot_core namespace once
2a) if there is just one MMD variant:
 a NCI method is created in the classes namespace
2b) if there are more then one MMD variants with the same short_name
 a MultiSub is created in the class namespace
 a NCI method is created and appended to that multi
3) the method is appended to the __parrot_core multi sub from 1)
A method or function call does the right thing:
  l = new Integer
  r = new Float
  d = new Undef
  l.__add(r, d)
and
  __add(l, r, d)
both dispatch to Parrot_Integer_add_Float().
Related changes:
- S1 holds now the call signature used for MMD search
- renamed is_equal_str MMD to is_equal_string
still TODO:
- rebuilt static MMD_table after adding MMD functions
- add inplace variants of prefix and infix operations
- add variants that return a new destination PMC
leo


$(TOUCH) in Perl: any reason not to use utime()?

2005-04-04 Thread Chip Salzenberg
Currently, config/gen/makefiles/root.in says:

  TOUCH  = $(PERL) -e ${PQ}open(A,qq{$$_}) or die foreach @ARGV${PQ}

However, this fails for my source tree.  I habitually leave
CVS-controlled files write-only until they are locally modified.
(This is cvs -r behavior, also triggered by exporting CVSREAD=1.)

Perl has a Cutime operator which should work even when files are
read-only.  Is there a reason that $(TOUCH) doesn't use it?
-- 
Chip Salzenberg- a.k.a. -[EMAIL PROTECTED]
 Open Source is not an excuse to write fun code
then leave the actual work to others.


Re: $(TOUCH) in Perl: any reason not to use utime()?

2005-04-04 Thread Steve Peters
On Mon, Apr 04, 2005 at 12:00:20PM -0400, Chip Salzenberg wrote:
 Currently, config/gen/makefiles/root.in says:
 
   TOUCH  = $(PERL) -e ${PQ}open(A,qq{$$_}) or die foreach @ARGV${PQ}
 
 However, this fails for my source tree.  I habitually leave
 CVS-controlled files write-only until they are locally modified.
 (This is cvs -r behavior, also triggered by exporting CVSREAD=1.)
 
 Perl has a Cutime operator which should work even when files are
 read-only.  Is there a reason that $(TOUCH) doesn't use it?
 -- 

utime will only work if the file already exists.  The above looks like it
would work to create empty files.

Steve Peters
[EMAIL PROTECTED]


Re: $(TOUCH) in Perl: any reason not to use utime()?

2005-04-04 Thread Michael G Schwern
On Mon, Apr 04, 2005 at 12:00:20PM -0400, Chip Salzenberg wrote:
 Currently, config/gen/makefiles/root.in says:
 
   TOUCH  = $(PERL) -e ${PQ}open(A,qq{$$_}) or die foreach @ARGV${PQ}
 
 However, this fails for my source tree.  I habitually leave
 CVS-controlled files write-only until they are locally modified.
   read-only?

 (This is cvs -r behavior, also triggered by exporting CVSREAD=1.)
 
 Perl has a Cutime operator which should work even when files are
 read-only.  Is there a reason that $(TOUCH) doesn't use it?

ExtUtils::Command has a perfectly good and known working touch() function
which both opens for appending AND uses utime.

TOUCH = $(PERL) -MExtUtils::Command -e touch @ARGV

However, as currently implemented, it will die if the file is unwritable.
This can be corrected but I'm not confident in relying solely on utime 
because perlport sez...

   May not behave as expected.  Behavior depends on the C runtime
   library's implementation of utime(), and the filesystem being
   used.  The FAT filesystem typically does not support an access
   time field, and it may limit timestamps to a granularity of
   two seconds. (Win32)



Re: cvs commit: parrot/classes parrotinterpreter.pmc

2005-04-04 Thread Leopold Toetsch
Will Coleda [EMAIL PROTECTED] wrote:
 cvsuser 05/04/04 07:13:43

   Fix calling signature so it's in line with leo's recent change of I-J.

   Index: parrotinterpreter.pmc

Argh. I must have again fixed parrotinterpreter.c - I do remember
these changes.

Thanks for the ci and sorry,
leo


[perl #34669] [TODO] Make imcc.l compatible with modern flex

2005-04-04 Thread via RT
# New Ticket Created by  Chip Salzenberg 
# Please include the string:  [perl #34669]
# in the subject line of all future correspondence about this issue. 
# URL: https://rt.perl.org/rt3/Ticket/Display.html?id=34669 


The creators of flex were rather mean to go and change the internal
API without even incrementing the major version.  But that's what they
did.  Now Parrot doesn't work with current flex.

We should make imcc.l (and any other lexers) compatible with modern
flex versions.

Frankly I've never really like flex, but as long as we're using it,
let's use the current version.
-- 
Chip Salzenberg- a.k.a. -[EMAIL PROTECTED]
 Open Source is not an excuse to write fun code
then leave the actual work to others.


[perl #34672] [BUG] t/library/md5.t failure, OSX

2005-04-04 Thread via RT
# New Ticket Created by  Will Coleda 
# Please include the string:  [perl #34672]
# in the subject line of all future correspondence about this issue. 
# URL: https://rt.perl.org/rt3/Ticket/Display.html?id=34672 



Failed Test Stat Wstat Total Fail  Failed  List of Failed
---
t/library/md5.t2   512 62  33.33%  5-6

Darwin oolong 7.8.0 Darwin Kernel Version 7.8.0: Wed Dec 22 14:26:17 PST 2004; 
root:xnu/xnu-517.11.1.obj~1/RELEASE_PPC  Power Macintosh powerpc

The long output said please verify the MD5 checksum, but doesn't tell me how 
to do that. =-)

(the other call of this nature was marked resolved. Here, have a new one.)


# Failed test (t/library/md5.t at line 354)
#  got: 'This appears to be a big endian processor: Please verify the 
MD5 checksum
# Hello World!
# e6052e1f711f849343d0457d4b2cac5a
# 30384faa9180610b36882ce9484e7a74
# fb09f805c9607fd4fbab7a0b12e2a911
# 71d5a5cad2e60674d20fcac20ab5d41f
# 7948000ea5f26163e82d91181b59ef7d
# 2b68f7c91a43072a1c3d11a25fe7f2c9
# d316468f621782b0377569746401ca9d
# fd86e2b9ae3f3b0ab2241c54b4450011
# f854d70eeb094ca7809bd7c1a70a56f8
# b9bb693f4be95298d7655063fd323ec4
# 325cfb8a39472eb9a52a573c8e202057
# 0065c7178996217a119eaff9bbf51480
# d545dce15f0ef01316e21baeeb03bd9f
# bc1722d5e5b40401fadf205dbfa965a3
# 29982c1ba4b9e6f75a59ecf3e0d6ea64
# 2cc8b3de9fd24c336fad38c9786b066d
# 237ac0365e45346b395b86cd5d9b88a0
# a7f5d0c03d1f70fbe765438d387d82b7
# 63e8486a32eba8d7725e82394c8a8807
# 924f1b100042bbfecd7a162210d7d18c
# e550489db49d7750bf889218a879a53c
# b14f5ee2d5b04f19cc51e02f8a50ae37
# 8a20f0cff9d2e5a7e1032e18d4dda74f
# ba7c391eee9d21bc5c8cb96e74821671
# b3cd6c2505dc908c971266c3d362ddbb
# d234d2a146537565069687aa7b32f8f9
# dc95b85d6dff2b9e26f9a844f3029c5e
# 72401e4a5260cafdb51ff4fff75f1a17
# 1aa4a5fe8a884b86fd428105dd2f9763
# 41043a46bcabcf0b794f896c2189f8af
# 70f6a887c16fd833ba8bd12aa098deaa
# 5db47d454a3dcff368379245f332bd73
# d8a60c364e9189df680ec072daf56ea4
# 6a0b8dbc3f7e1ad52ea1dd486a931121
# 1bafe1214aa89b29ced4844b7e3e0fd7
# 0e740e8cb02ca33387cd228b5ae1f243
# c5da4f9d245e2eecd4666a39fd0683f0
# aeaeb5892acb0a622e737face35e7efb
# a447e5aaf6898e2c8b0b42282dbf1bce
# be4fd08b3aaae59886e1f33e42dc190a
# c924393b213bc3070da62ab163a5ab38
# d11338b4f27ed3342df980afc130570d
# 538a58c2d803598c2cd0d2eeb26ee788
# 49b36a2a7c389179cf5514f69b778d9d
# 50f23f93de483f7ab7331e28c6a6c846
# a23a24d64af3f1ec59886272e4482fb0
# 1aa5d024f77e2ee7c49ba876eafb896b
# 8d0bd968c06dd23dc7f06bd73e0256b2
# 303093c8363cdc8bce572eb851904d7d
# 128d80dca1b4e8ca49fc0133ef940aeb
# a25d17ed998311bb589bd1436a396ca3
# 96aa74f8d7bf5193ef4a611c1d568964
# ce8fccf94e132ea17f056760eadc6d57
# 870e8e72a8f84e8789baf1ecc621a37f
# b579f8a57c71211d15e2ab83499e6047
# 6e06d121680a1f3dd8e3e540d76c7871
# bbe24f01c3eb0e19ca62e80428e516cb
# d610d5c8a15ea8063b103ad422b3c4e1
# 713021268cd5da2bb7e84a06edec52a0
# 9e6d9f2892bce9598c44d5619b79b5e9
# b3a43921188222adfb62b767011f668e
# 68cbf5fea42eccab0cdea98a8d3ba404
# 8592b5b86ae10a3e3bc79238a1e9
# 44ffea7d49589340d9bac724c859e91b
# 5fb3e33ac61df5c97c7f192dc0a02144
# cc2e5d371eaa2251f8fc3af2918007ba
# 00249b2b42dfab02992c3e5d08741439
# 68af72aa37f3b541d97365b5e73b9275
# 7f1a19cb4ea539a047a31067cf1d7620
# af76d9d4a3ec64bf1ea3a386f5c64a2c
# 6347608d54e07cdc99a56e799f0b1862
# 6d84e03dac07502af18bc50cebe5f3ed
# e7296305f79ac6e931f033a6d3d22747
# 6169c451a12bf857bfa153937f6ee847
# 6bbc4ac8c4ee038a84660ab85334e371
# d2ff2f2a9a0621207d302cf24472603e
# f835babfd507df037db375c6097e05ab
# 6a09d5d4176241673a6f882e04d7ece5
# fdc129e9e76254c960571cc757f50cc4
# 199ea2d00aadd5eb8e94d03fcc7d1f3d
# 4122ed3173b714de9430203a40ccd5ce
# 4abe75ef89c5b90820b0e932cfa335fe
# 3e7ab506a3672a95b54dda4135261618
# 788f0a807852848949c39deea2972da3
# b459dfae4f41683c0c9c748fa5a1a3b7
# 94015671521d5962d0c4f48507637ab7
# 2ad7d554cf70c6fca02710b80afef7da
# a26136082c4937b868c352f18d5bae69
# 87e5e14d0199b7aceccc99b96ad03f81
# 507fe194123e444fc882f78f54142564
# 7339357d7f7b7a24ecd754244010b494
# 86cd911f733933df0ba6f2e5fd13c95b
# 9ca4c8d1a58702fa23f007b9737e8395
# 93107eafe9fc99b965e2f926c3623bdf
# 626b0f2d1785ceb1d9830317a95489f7
# 14aeb9b7897dd50ffcad3e463a6dc5bc
# 784f9f6fe83fb45f6b7517ef4a414441
# 2992462c0ff66ac2bbb53391e75c38f0
# 6de79e8b9a06ccd24eaf77bf03e579e3
# 5011bbca0693dbc08e5f7c0e3ccef1ed
# 083a349abaaf0039bd1e06cbb3d0468a
# 0cda5fd759b2799b96384581b6be2bb6
# c0f3ec4c0f78418a91460a6e1600a9df
# 11a39354cf2898e8a915c0e8704bc2e4
# ac1931f75acc77e93d739bc6fb9a3778
# a17e3238233dc53ca8921912590981fc
# 2b1b4be9b5669171efed46572c31f503
# 2f5828d102e378b3cc7954ddf78d9c6e
# 1e997d2d4475c621decf55bc689476c7
# 50198be6a3766a016783c7af108c901c
# f66c319e01271e4dc6ce413cad0356ca
# 5fabf3821ebc88d1aeeeaea988b32ca7
# 3c552f41bc8e6a924a21bc7554ed5266
# 36fcda3ced4be06d655583417f2eb816
# b62cdfc10790e29e94683026c5a7d3c2
# ecfc2a18ddce8a314ee642b2ba19acdd
# 328025c21a4436016e22e80415977e07
# 

[perl #34675] [BUG] Build broken (undefined symbols)

2005-04-04 Thread via RT
# New Ticket Created by  Will Coleda 
# Please include the string:  [perl #34675]
# in the subject line of all future correspondence about this issue. 
# URL: https://rt.perl.org/rt3/Ticket/Display.html?id=34675 


Trying to track down a different problem, I just did a fresh checkout on OS X 
and got this:

c++ -o ./parrot -L/usr/local/lib  -g  imcc/main.o blib/lib/libparrot.a   -lm 
-lpthread -lm -L/usr/local/lib  -licuuc -licudata -lpthread -lm
ld: Undefined symbols:
_line
_yydebug
_yyparse
_cur_unit
_expect_pasm
_is_def
_pragmas
_IMCC_create_itcall_label
_IMCC_itcall_sub
_cur_namespace
_INS_LABEL
_ostat
_cur_pmc_type
_namespace