Euphoria Ticket #349: Failure to adhere to namespace prefix?

include std/search.e 
include std/regex.e as re 
 
constant re_exp = re:new(`john`) 
? re:match_all(re_exp, "John Doe") 

The function match_all does not exist in std/regex.e. It does exist in std/search.e

Details

Type: Bug Report Severity: Normal Category: Interpreter
Assigned To: mattlewis Status: Fixed Reported Release: 3944
Fixed in SVN #: 4216, 4217 View VCS: 4216, 4217 Milestone: 4.0.0RC2

1. Comment by SDPringle Nov 12, 2010

Notice what happens if you comment out std/search.e:

include std/regex.e as re  
  
constant re_exp = re:new(`john`)  
? re:match_all(re_exp, "John Doe")  

{} 

No change. It seems that public symbols are being included even when they are indirectly included and not with 'public include', and that is why it becomes part of the 're' namespace.

2. Comment by jimcbrown Nov 13, 2010

I suspect this is the same root cause as ticket:343 so I'm blocking it and assigning it to matt. (Feel free to unassign if the cause is something completely different, though...)

3. Comment by jimcbrown Nov 19, 2010

Now that ticket:343 is fixed, this ticket is open again.

4. Comment by mattlewis Nov 19, 2010

Yes, I'll start looking at this soon...ish.

5. Comment by mattlewis Nov 21, 2010

This as of svn:4216.

Search



Quick Links

User menu

Not signed in.

Misc Menu