On Thursday 04 March 2010 05:57:23, DaveG wrote : > When using PmForm it looks like multi-line fields are stored in the base > page with each %0a on a physically separate line, rather than the normal > PmWiki way of storing the entire page text on a single line. > > Here's a snip of what I mean. I've edited from the real thing to avoid > email wrapping, but this demonstrates the end effect: > > text=(:pmform savedata:)(:name:test > %0amulti > %0aline:)%0a(:email:djg:)%0a > > > I believe it's caused by the definition of the $PageTextVarPatterns, > since form data saved using an alternate pattern I also use does not > cause this problem.
What exactly are the new lines? \n or \r, or aren't these just spaces with the long line wrapped? It could be just carriage returns \r that weren't removed by PmWiki before saving the page. > 1] Does it matter that the line is split? I've seen no ill-effects so > far, but I'm not sure. It may seem to work fine now, but I think for compatibility in the future, it is better to fix it. You should be able to remove the \r by adding such a replacement pattern to config.php: $PmFormPostPatterns['/\r/'] = ''; I think this should be added as default in the pmform.php script. > a) In particular what does (?!\\)) do? It seems to be "A zero-width > negative look-ahead assertion."[1], and so seems to be matching > something not followed by a ) -- I presume it's preventing false :) > matches. It prevents (:linebreaks:) to be considered and removed as a PTV -- the ")" after the second ":" will cause the string to be skipped. > b) In the next section \\s?) the closing ) seems to be left hanging. > Obviously it isn't, so what does it match? It closes the very first "(" on that line. It matches the beginning of the PTV definition, but it is not used in the processing. See Pm's announcement: http://article.gmane.org/gmane.comp.web.wiki.pmwiki.user/42757/ Petko _______________________________________________ pmwiki-devel mailing list pmwiki-devel@pmichaud.com http://www.pmichaud.com/mailman/listinfo/pmwiki-devel