Fixed Bug: automatic linking does not work with trailing punctuation

The automatic linker seems to have problems in linking pages with trailling punctuation. In particular it does not link pages like ‘Site Index A.’ that are used in the multi-page index.

The source of the problem was the regexp in the BruteMatch class in soks-view.rb

Where it reads: /\b#{Regexp.escape(title)}\b/

it should now read /(^|\W)(#{Regexp.escape(title)})(\W|$)/

and where it reads:

text.gsub!( regexp ) { |match| yield match, page }

it should now read

text.gsub!( regexp ) { |match| "#{$1}#{yield $2, page}#{$3}" }

This has been fixed in the CVS version.

The reason is that \b only matches a word boundary, and the trailing punctuation means the word boundary has been passed.

tamc2

Fixed in v1-0-0

Edit this page or watch for changes using RSS.