Bug: Regex Error in WebTopicList with Topics that have Meta Chars in the Name
TWiki dopic names normally do not contain meta characters in topic names. The
WebTopicList fails with a regex error if a topic name contains a "++".
Test case
- Create a topic named "C++Language"
- Access WebTopicList
- You get:
Software error: / C++ProgrammingLanguage /: nested *?+ in regexp at TWiki.pm line 2514.
Environment
--
PeterThoeny - 04 May 2004
Follow up
Fix record
In
TWikiAlphaRelease and TWiki.org.
*** TWiki.pm 3 May 2004 13:33:55 -0000 1.338
--- TWiki.pm 4 May 2004 16:18:43 -0000
***************
*** 154,160 ****
# ===========================
# TWiki version:
! $wikiversion = "30 Apr 2004";
# ===========================
# Key Global variables, required for writeDebug
--- 154,160 ----
# ===========================
# TWiki version:
! $wikiversion = "04 May 2004";
# ===========================
# Key Global variables, required for writeDebug
***************
*** 2526,2532 ****
$line =~ s/\$web/$web/goi;
$line =~ s/\$name/$item/goi;
$line =~ s/\$qname/"$item"/goi;
! $mark = ( $selection =~ / $item / ) ? $marker : "";
$line =~ s/\$marker/$mark/goi;
$text .= "$line$separator";
}
--- 2526,2532 ----
$line =~ s/\$web/$web/goi;
$line =~ s/\$name/$item/goi;
$line =~ s/\$qname/"$item"/goi;
! $mark = ( $selection =~ / \Q$item\E / ) ? $marker : "";
$line =~ s/\$marker/$mark/goi;
$text .= "$line$separator";
}
--
PeterThoeny - 04 May 2004
Peter:
- Was this ever in the spec? I think you've implemented a new feature rather than fixed a bug. When you say MetaChar, what is the full set of MetaChars that you are now allowing? Can we have anything in a TopicName?
- We should get a spec down for what is permitted as TopicName. For instance, can we now have '/', ':', '\', ''', '"' as well?
- Have you altered the WikiWord spec to match and, if not, are you intending to?
I'd welcome discussion around all of these.
--
MartinCleaver - 05 May 2004
No, it is not the intention to support meta chars in topic names. The fix is simply added protection to avoid a software error in case there is a topic with unsupported meta chars.
Meta chars are filtered from a
[[...]]
link when you click on the question mark to create the topic. However, creating orphaned topics via the
GoBox or via a
TWikiTemplates form should filter meta chars including spaces. See related
TopicSaveErrorWithTopicsContainingSpace,
RenameDoesNotCorrectSpacedTopics.
--
PeterThoeny - 05 May 2004
So what is the spec for what's allowed in a topic name? It seems you are saying TWiki "filters" them in some places but not in others; that would be inconsistent.
If we start with a spec we can build a test mechanism.
--
MartinCleaver - 05 May 2004
Please do not change a fixed bug to a brainstorming idea since it confuses the
CairoRelease history. Best to follow up in an above mentioned topic or to create a new topic. (Strict topic names are
$regex{wikiWordRegex}
or
$regex{abbrevRegex}
. Other chars are tolerable like underlines, dashes etc. Off-limit is
$securityFilter
in TWiki.cfg)
--
PeterThoeny - 07 May 2004