trac-wiki 0.3.20 → 0.3.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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