Re: [Trac] WikiExtrasPlugin delimiters adjacent to a phrase

Clemens Feige <c.feige-OaXy4Qdpe4n2eFz/[email protected]> Tue, 13 Aug 2024 09:19:07 +0200
Newsgroups gmane.comp.version-control.subversion.trac.general
Organization Osypka Medical
Message-ID <[email protected]>
Clemens wrote on 08.08.2024 at 12:08:
>
> Jun Omae wrote on 08.08.2024 at 01:49:
>> Hi,
>>
>> On 2024/08/08 1:11, Clemens Feige wrote:
>>> Hello
>>>
>>> I suspect there is a regression with the popular WikiExtrasPlugin, see
>>> [1]. After upgrading from TRAC 1.4 to 1.6 the handling delimiters
>>> adjacent to a phrase seems affected.
>>>
>>> Here is a quote of what WikiExtrasPlugin advertises, and what is
>>> accomplished in code with method `add_style` in file `phrases.py`;
>>> see [2]:
>>>
>>>> Any delimiter ():<> adjacent to a phrase will not be presented. This
>>>> makes it possible to naturally write FIXME:, for example, but view
>>>> the phrase highlighted without the colon (:) which would not look
>>>> natural.
>>>
>>> However, in TRAC 1.6 for a phrase like FIXME: the colon is not removed,
>>> but it should be. For dual colons i.e. :FIXME: both colons are removed,
>>> which is correct.
>>> TRAC 1.4, all colons in FIXME: and in :FIXME: are removed.
>>>
>>> If you are using the WikiExtrasPlugin and the new TRAC 1.6, then please
>>> tell me: What comes out if you write a phrase with trailing adjacent
>>> delimiter i.e. "FIXME:"?
>>>
>>> Anybody who can comment on this?
>>> Depending on other people's feedback I would file a bug ticket.
>>>
>>> Unfortunately I do not understand the code in method `add_style` in file
>>> `phrases.py`; see [2]. What is `self.text` for example?
>>>
>>> Thanks
>>> Clemens
>>>
>>>
>>> P.S.
>>>
>>> [1]
>>> https://trac-hacks.org/wiki/WikiExtrasPlugin
>>>
>>> [2]
>>> https://trac-hacks.org/browser/wikiextrasplugin/trunk/tracwikiextras/phrases.py?rev=16718#L90
>>>
>>
>> That is caused by the generated regular expression from the plugin.
>> The longer symbols in (...|...|...) of the regular expression should
>> come first.
>>
>> Please try the following patch:
>>
>> [[[
>> Index: tracwikiextras/util.py
>> ===================================================================
>> --- tracwikiextras/util.py      (revision 18650)
>> +++ tracwikiextras/util.py      (working copy)
>> @@ -35,7 +35,7 @@
>>       unicode = str
>>
>>   def prepare_regexp(d):
>> -    syms = sorted(d.keys(), key=lambda a: len(a))
>> +    syms = sorted(d.keys(), key=lambda a: len(a), reverse=True)
>>       return "|".join([r'%s%s%s'
>>                        % (r'\b' if re.match(r'\w', s[0]) else '',
>>                           re.escape(s),
>> ]]]
>>
>
> Hello
>
> The patch works well. Great! Thanks, Jun.
> Using `reverse=True` inside `prepare_regexp` seems to cure the issue.
>
> [snip]
>
> Thanks
> Clemens



Just for the records.
The issue is fixed with TRAC hacks SVN revision 18651, as mentioned in
the related ticket:

https://trac-hacks.org/ticket/14133#comment:10

Thanks
Clemens


-- 
You received this message because you are subscribed to the Google Groups "Trac Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to trac-users+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
To view this discussion on the web visit https://groups.google.com/d/msgid/trac-users/690091d5-990a-464d-aa6a-b4b385aefb82%40osypkamed.com.