FrontPage  Index  Search  Changes  Login

Hiki Issue Tracking System - Ticket-96 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

! RD+スタイルでプラグイン引数がエスケープされる

:Priority:Normal
:Reporter:sakai
:Status:New
:Assigned to:?
:Version:HEAD
:Milestone:?
:Created:2008-06-08

!! Description

[[[Hiki-dev:01163] RD+スタイルでプラグイン引数がエスケープされる|http://lists.sourceforge.jp/mailman/archives/hiki-dev/2007-September/001162.html]]

""HikiをRD+スタイルで使っていて、プラグイン引数中の & 等がエスケープされてプラグインに引き渡されていることに気付きました。例えば {{hoge "&"}} と書いた場合、 "&" ではなく "&" という文字列がhogeプラグインに渡されてしまいます。
""
""special_parseに引き渡されるcontentは既にHTMLに変換済みの文字列なので、プラグインの呼び出し処理を行う前にunescapeHTMLを呼ぶ必要があるのではないかと思います。
""
""<<<
""Index: rd2html.rb
""===================================================================
""RCS file: /cvsroot/hiki/hiki/style/rd+/rd2html.rb,v
""retrieving revision 1.9
""diff -u -p -r1.9 rd2html.rb
""--- rd2html.rb 26 Dec 2005 12:33:49 -0000 1.9
""+++ rd2html.rb 15 Sep 2007 03:28:16 -0000
""@@ -76,13 +76,13 @@ module Hiki
""       return content if content.nil? or content == ""
""       #Eval Plugin
""       content = content.gsub(EVAL_PLUGIN_RE) do |match|
""-        method = $1
""+        method = $1.unescapeHTML
""         ret = ''
""         begin
""           ret = Hiki::Util.apply_plugin(method, @plugin, @conf)
""           ret.gsub!(@regex_modulenames, "\\&#{ESC_WORD}") if @regex_modulenames
""         rescue Exception
""-          err = "Plugin Error: #{$!}" #<pre>#{match.to_s.escapeHTML}</pre>"
""+          err = "Plugin Error: #{$!}" #<pre>#{match}</pre>"
""           if @conf.plugin_debug
""             err += "</p><p>Back trace<pre>"
""             $!.backtrace.each do |v|
"">>>

----
!! Changelog
{{its_edit_ticket_form}}