trac-wiki 0.3.20 → 0.3.21

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9082403f6f5ffdf60c8ea8e3c6785e5944292826
4
- data.tar.gz: 13881be54dd10ad85d65928bd07258bd4905cf13
3
+ metadata.gz: 2cc0af0b5c51c390aa590950accded35c88c6b39
4
+ data.tar.gz: d0907cc3a0dc5a8a4e83555f4aa6366edad8ce3b
5
5
  SHA512:
6
- metadata.gz: 56fb3457869356cb1ea30baa0044504411bac301d319db3ca638d6819e4f594d6abaa464370098a0abebb790bf20f21ce30db6c598c30fbc1dc3bb85c18ecbd7
7
- data.tar.gz: 4b19c77f25ac1d16ebcfbdc48549806acee97ece6c38ea526fbd37b0b5522d1d6f2b5bd185582a68aad8865927180769e5f5e74957ba096d1fb496f831566906
6
+ metadata.gz: c0043c157364338f8c99d2c1e63c4c0a0754913dbe78580174fec37a66e728f341b21adbb4a65ca6ca7a8dcee9e9a3d8531ffad3e8942e087a00fb90a8d41e9f
7
+ data.tar.gz: 4408748ddc71a296aca9577c3e42af62beffab19e46d0f63975ea52f090bfa00be1a809a0dad13549b78cc86d6b6b2e62d561ed5a1e3ceb43d99d11bf598a13e
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- trac-wiki (0.3.20)
4
+ trac-wiki (0.3.21)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README CHANGED
@@ -118,6 +118,11 @@ Project page on github:
118
118
  * `$0` all parameters (without named)
119
119
  * `$00` all parameters (with named)
120
120
 
121
+ * `{{unknown_macro par1}}` is expanded to `{{unkmacro unknown_macro|par1}}`,
122
+ you have to specify `uknmacro` macro. If not, error strig
123
+ `UNKNOWN-MACRO(unkmacro)`
124
+ is generated.
125
+
121
126
  * `{{!command}}`
122
127
 
123
128
  == BUGS ==
data/lib/trac-wiki/env.rb CHANGED
@@ -204,7 +204,7 @@ module TracWiki
204
204
  if ! @parser.template_handler.nil?
205
205
  str = @parser.template_handler.call(macro_name, @env, @argv)
206
206
  is_defined = !str.nil?
207
- @parser.used_templates[macro_name] = is_defined
207
+ @parser.used_templates[macro_name] = is_defined if macro_name != 'unkmacro'
208
208
  if is_defined
209
209
  if @argv_stack.size > 32
210
210
  return "TOO_DEEP_RECURSION(`#{str}`)\n"
@@ -218,12 +218,16 @@ module TracWiki
218
218
  return str
219
219
  end
220
220
  end
221
- "UNKNOWN-MACRO(#{macro_name})"
221
+ #return "UNKNOWN-MACRO(#{macro_name})"
222
+ return "UNKNOWN-MACRO(#{@argv['0']})" if macro_name == 'unkmacro'
223
+ return "{{unkmacro #{macro_name}}}" if @argv['##'] == '0'
224
+ return "{{unkmacro #{macro_name}|#{@argv['00']}}}"
222
225
  end
223
226
 
224
227
  def do_macro_arg_to_env(args)
225
228
  argv = {}
226
229
  argv['00'] = args.join('|')
230
+ argv['##'] = args.size.to_s
227
231
  arg0 = []
228
232
 
229
233
  idx = 1
@@ -237,6 +241,7 @@ module TracWiki
237
241
  end
238
242
  end
239
243
  argv['0'] = arg0.join('|')
244
+ argv['#'] = arg0.size.to_s
240
245
  return argv
241
246
  end
242
247
 
@@ -129,7 +129,7 @@ module TracWiki
129
129
  # macro {{$var}} | {{#comment}} | {{!cmd}} | {{template}} | {{/template}}
130
130
  # string begins with macro
131
131
  MACRO_BEG_REX = /\A\{\{ ( \$[\$\.\w]+ | [\#!\/]\w* |\w+ ) /x
132
- MACRO_BEG_INSIDE_REX = /\A(.*?)(?<!\{)\{\{ ( \$[\$\.\w]+ | [\#!\/]\w* | \w+ ) /xm
132
+ MACRO_BEG_INSIDE_REX = /\A(.*?) (?<!\{|!|!\{) \{\{ ( \$[\$\.\w]+ | [\#!\/]\w* | \w+ ) /xm
133
133
  # find end of marcro or begin of inner macro
134
134
  MACRO_END_REX = /\A(.*?) ( \}\} | \{\{ ( \$[\$\.\w]+ | [\#!\/]\w* | \w+) )/mx
135
135
 
@@ -472,8 +472,12 @@ module TracWiki
472
472
  toggle_tag 'sup', $& # ^{}
473
473
  when str =~ /\A,,/
474
474
  toggle_tag 'sub', $& # _{}
475
- when str =~ /\A!(\{\{|[^\s])/
475
+ when str =~ /\A!\./
476
+ @tree.add('') # !. \relax
477
+ when str =~ /\A!(\{\{|[\S])/
476
478
  @tree.add($1) # !neco !{{
479
+ # when str =~ /\A!(\{\{)/
480
+ # @tree.add($1) # !neco !{
477
481
  when str =~ /\A./
478
482
  @tree.add($&) # ordinal char
479
483
  end
@@ -1,3 +1,3 @@
1
1
  module TracWiki
2
- VERSION = '0.3.20'
2
+ VERSION = '0.3.21'
3
3
  end
data/test/parser_test.rb CHANGED
@@ -70,6 +70,9 @@ class Bacon::Context
70
70
  "off:{{$offset}}"
71
71
  when '/slash'
72
72
  "slash/slash"
73
+ when 'unkmacro'
74
+ #"UNKNOWN-MACRO:!{{!.{{$0}}}}."
75
+ "UNKNOWN-MACRO:!{{!.{{$1}}}}."
73
76
  else
74
77
  nil
75
78
  #"UNK_TEMPL(#{tname})"
@@ -965,11 +968,11 @@ eos
965
968
 
966
969
  tc "<h1>h1</h1>" , "{{# co{{HUU}}mment }}\n\n\n= h1 =\n{{# Comment2}}\n"
967
970
 
968
- tc "<p>UNKNOWN-MACRO(macr)</p>\n" , "{{macr\nahoj\n}}"
969
- tc "<p>ahoj UNKNOWN-MACRO(macr)</p>\n" , "ahoj {{macr{{o}}}}"
970
- tc "<p>ahoj UNKNOWN-MACRO(macro)</p>\n" , "ahoj {{macro}}"
971
- tc "<p>ahoj {{%macrUNKNOWN-MACRO(o)}}</p>\n" , "ahoj {{%macr{{o}}}}"
972
- tc "<p>ahoj UNKNOWN-MACRO(macr)</p>\n" , "ahoj {{macr{{mac **o**}}}}"
971
+ tc "<p>UNKNOWN-MACRO:{{macr}}.</p>\n" , "{{macr\nahoj\n}}"
972
+ tc "<p>ahoj UNKNOWN-MACRO:{{macr}}.</p>\n" , "ahoj {{macr{{o}}}}"
973
+ tc "<p>ahoj UNKNOWN-MACRO:{{macro}}.</p>\n" , "ahoj {{macro}}"
974
+ tc "<p>ahoj {{%macrUNKNOWN-MACRO:{{o}}.}}</p>\n" , "ahoj {{%macr{{o}}}}"
975
+ tc "<p>ahoj UNKNOWN-MACRO:{{macr}}.</p>\n" , "ahoj {{macr{{mac **o**}}}}"
973
976
  tc "<p>ahoj ahoj</p>\n" , "ahoj {{$mac|ahoj}}"
974
977
  end
975
978
 
@@ -980,7 +983,8 @@ eos
980
983
  # macro errors:
981
984
  tc "<p>TOO_DEEP_RECURSION(<tt>{{deep}}</tt>)3</p>\n", "{{deep}}3"
982
985
  tc "<p>TOO_LONG_EXPANSION_OF_MACRO(wide)QUIT</p>\n", "{{wide}}3"
983
- tc "<p>UNKNOWN-MACRO(unknown)3</p>\n", "{{unknown}}3"
986
+ tc "<p>UNKNOWN-MACRO:{{unknown}}.4</p>\n", "{{unknown u1|u2}}4"
987
+ tc "<p>UNKNOWN-MACRO:{{unknown}}.3</p>\n", "{{unknown}}3"
984
988
  end
985
989
  it 'should do temlate with args' do
986
990
  tc "<p>jedna::VARTESTPARAM,dve:,p:DVE,arg::VARTESTPARAM|p=DVE</p>\n", "{{vartest::VARTESTPARAM|p=DVE}}"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trac-wiki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.20
4
+ version: 0.3.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vitas Stradal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-13 00:00:00.000000000 Z
11
+ date: 2014-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bacon