Creole Ticket #452: Port and/or user/password causes URL to terminate it's link

Details

Type: Bug Report Severity: Normal Category: General
Assigned To: DerekParnell Status: Accepted Reported Release: 4318
Fixed in SVN #: View VCS: none Milestone:

1. Comment by DerekParnell Nov 28, 2010

Can you provide a bit more detail? I don't understand what the problem actually is or it's context. For example, is this really just a problem for the Binder?

2. Comment by jimcbrown Nov 28, 2010

Hmm ... the Binder in the category is what I saw as a result of http://openeuphoria.org/ticket/445.wc

I guess 445 affects more than just me.

3. Comment by jeremy Nov 28, 2010

It showing "Binder" as the category is a bug in the ticket system. "Select Another Product" and choose "Creole".

It should state in the title "Creole Ticket #452" regardless of selected product, the category chooser needs fixed. This is a creole bug in URL translation to HTML.

4. Comment by DerekParnell Nov 28, 2010

Ok, now I understand. I'll take this one on.

5. Comment by DerekParnell Nov 29, 2010

I'm proposing that a new function be defined in url.e. The find_uri() would take a string and an optional starting point, and return two numbers which represent the slice indexes that contain the next uri starting on or after the supplied start point. A return value of {0,0} would indicate that there is no uri to be found.

? find_uri("Please look at http://some.com/userx?wiuye#sdfsdf to see example", 1) 
--> {16,49} 

The definition of the uri syntax which will used can be found at http://labs.apache.org/webarch/uri/rfc/rfc3986.html

6. Comment by jimcbrown Nov 29, 2010

The new function would have to be in the 4.1.0 (or 4.0.1) stdlib.

We can add a local implementation of find_uri() to creole and ifdef EU_4_0_0 around it, so that the local implementation is only defined under 4.0.0 and the stdlib version can be used in 4.0.1

In 4.0.1, we can copy the code of the creole implementation of find_uri() and stuff it into std/url.e

7. Comment by DerekParnell Nov 29, 2010

jimcbrown said...

The new function would have to be in the 4.1.0 (or 4.0.1) stdlib.

IMNSHO, that would be a silly idea.

Fixing a bug by adding code in the correct manner does not violate the policy of "no enhancements" for the RC.

8. Comment by jimcbrown Nov 30, 2010

While we have precedence for adding new public routines post-RC (in fact, an entire library, std/base64.e) that was done to address another bug in Euphoria.

We have here a case of a bug in another product (Creole, though discovered on Openeuphoria.org - e.g. the euweb product) causing a change in Euphoria's stdlib - a feature request for an enhancement that does not affect backwards compatibility.

I'm in favor of adding find_uri() to std/url.e now and then fixing creole to use it and then updating the website to the latest creole, just to get this out of the way asap, but this feels very close to allowing the implementation of nonbreaking feature requests post-RC.

9. Comment by mattlewis Nov 30, 2010

Jim, I think you may be confusing the way in which the bug was found with the nature of the bug.

10. Comment by jimcbrown Nov 30, 2010

What's the nature of the bug?

11. Comment by mattlewis Nov 30, 2010

The nature of the bug is that it doesn't handle all URIs correctly.

I guess it's perhaps not the nature of the bug so much as the proposed solution, which happens to implement things in a way that allows for more, rather than less flexibility in its usage, and happens to be useful in at least one real world application.

12. Comment by jimcbrown Nov 30, 2010

I guess what it comes down to is, do we have a bug in std/url.e that needs fixing or just an enhancement to std/url.e that makes fixing creole easier?

But on another line of thought, I was thinking that the manual was part of Euphoria and that this bug could affect the manual. So we have a potential bug in Euphoria that's tied into eudoc and creolehtml - so we might have justification for special-casing bugs in creole that would not apply to truly independent projects, like win32lib. (E.g. to fix the manual formatting we need to fix the bug in creole which means changing the stdlib to add find_uri)

13. Comment by jimcbrown Feb 23, 2013

Was this ever fixed? I assented to a post-RC new function. I know that Euphoria releases shouldn't be tied to Creole releases, but it'd be nice to have this fixed before the 4.1.0 release.

Search



Quick Links

User menu

Not signed in.

Misc Menu