RedCloth 4.2.4 → 4.2.5

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of RedCloth might be problematic. Click here for more details.

data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ === 4.2.5 / February 7, 2011
2
+
3
+ * Fix bundler and rubygems-test incompatibilities. Working around bug:
4
+ https://github.com/carlhuda/bundler/issues/issue/1021
5
+
1
6
  === 4.2.4 / February 7, 2011
2
7
 
3
8
  * Add .gemtest to opt-in to rubygems-test program (gem install rubygems-test to participate)
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source :rubygems
2
2
  gemspec
3
3
 
4
- group :development do
5
- gem 'rvm'
4
+ group :compilation do
5
+ gem 'rvm', '~> 1.2.6'
6
6
  gem 'rake-compiler', '~> 0.7.1'
7
7
  end
File without changes
data/Rakefile CHANGED
@@ -1,16 +1,18 @@
1
1
  # encoding: utf-8
2
2
  require 'rubygems'
3
3
  require 'bundler'
4
- Bundler.setup
5
4
  ENV['RUBYOPT'] = nil # Necessary to prevent Bundler from *&^%$#ing up rake-compiler.
6
5
 
7
6
  require 'rake/clean'
8
7
 
9
8
  if File.directory? "ragel"
9
+ Bundler.setup
10
10
  Bundler::GemHelper.install_tasks
11
- Bundler.setup(:development)
12
11
  Dir['tasks/**/*.rake'].each { |rake| load File.expand_path(rake) }
13
12
  else
14
- # Omit generation/compile tasks. In a gem package we only need testing tasks.
13
+ # Omit generation/compile tasks and dependencies. In a gem package
14
+ # we only need tasks and dependencies required for running specs.
15
+ Bundler.settings.without = [:compilation]
16
+ Bundler.setup(:default, :development)
15
17
  load 'tasks/rspec.rake'
16
18
  end
@@ -0,0 +1,6 @@
1
+ require 'mkmf'
2
+ CONFIG['warnflags'].gsub!(/-Wshorten-64-to-32/, '') if CONFIG['warnflags']
3
+ $CFLAGS << ' -O0 -Wall -Werror' if CONFIG['CC'] =~ /gcc/
4
+ dir_config("redcloth_scan")
5
+ have_library("c", "main")
6
+ create_makefile("redcloth_scan")
@@ -0,0 +1,649 @@
1
+
2
+ #line 1 "ragel/redcloth_attributes.c.rl"
3
+ /*
4
+ * redcloth_attributes.c.rl
5
+ *
6
+ * Copyright (C) 2009 Jason Garber
7
+ */
8
+ #include <ruby.h>
9
+ #include "redcloth.h"
10
+
11
+
12
+ #line 15 "ragel/redcloth_attributes.c.rl"
13
+
14
+
15
+
16
+ #line 17 "ext/redcloth_scan/redcloth_attributes.c"
17
+ static const char _redcloth_attributes_actions[] = {
18
+ 0, 1, 2, 1, 4, 1, 5, 1,
19
+ 6, 1, 7, 1, 8, 1, 11, 1,
20
+ 12, 1, 13, 1, 15, 1, 18, 1,
21
+ 19, 2, 3, 14, 2, 10, 17, 2,
22
+ 13, 0, 2, 13, 1, 2, 13, 2,
23
+ 2, 13, 5, 2, 13, 6, 2, 13,
24
+ 7, 2, 13, 8, 3, 9, 10, 16
25
+
26
+ };
27
+
28
+ static const short _redcloth_attributes_key_offsets[] = {
29
+ 0, 0, 6, 11, 27, 33, 38, 44,
30
+ 60, 66, 87, 108, 118, 129, 137, 146,
31
+ 153, 159, 164, 180, 201, 205, 210, 224,
32
+ 240, 257, 274, 291, 304, 318, 325, 331,
33
+ 346, 360, 375, 385, 391, 406, 420, 435,
34
+ 445, 452, 462, 473, 492, 513, 535, 557,
35
+ 579, 598, 618, 634, 650, 660, 671, 690,
36
+ 711, 733, 755, 777, 796, 816, 819, 825,
37
+ 840, 854, 869, 878, 888, 899, 918, 939,
38
+ 961, 983, 1005, 1024, 1044
39
+ };
40
+
41
+ static const char _redcloth_attributes_trans_keys[] = {
42
+ 0, 9, 10, 32, 11, 13, 0, 9,
43
+ 32, 10, 13, 0, 9, 10, 32, 35,
44
+ 41, 45, 95, 11, 13, 48, 57, 65,
45
+ 90, 97, 122, 0, 9, 10, 32, 11,
46
+ 13, 0, 9, 32, 10, 13, 0, 9,
47
+ 10, 32, 11, 13, 0, 9, 10, 32,
48
+ 35, 41, 45, 95, 11, 13, 48, 57,
49
+ 65, 90, 97, 122, 0, 9, 10, 32,
50
+ 11, 13, 0, 9, 10, 32, 95, 117,
51
+ 125, 11, 13, 34, 35, 37, 39, 45,
52
+ 46, 48, 59, 65, 90, 97, 122, 0,
53
+ 9, 10, 32, 95, 117, 125, 11, 13,
54
+ 34, 35, 37, 39, 45, 46, 48, 59,
55
+ 65, 90, 97, 122, 32, 35, 45, 95,
56
+ 48, 57, 65, 90, 97, 122, 32, 35,
57
+ 41, 45, 95, 48, 57, 65, 90, 97,
58
+ 122, 45, 95, 48, 57, 65, 90, 97,
59
+ 122, 41, 45, 95, 48, 57, 65, 90,
60
+ 97, 122, 0, 32, 40, 91, 123, 9,
61
+ 13, 0, 9, 10, 32, 11, 13, 0,
62
+ 9, 32, 10, 13, 0, 9, 10, 32,
63
+ 35, 41, 45, 95, 11, 13, 48, 57,
64
+ 65, 90, 97, 122, 0, 9, 10, 32,
65
+ 95, 117, 125, 11, 13, 34, 35, 37,
66
+ 39, 45, 46, 48, 59, 65, 90, 97,
67
+ 122, 45, 95, 97, 122, 45, 93, 95,
68
+ 97, 122, 32, 95, 34, 35, 37, 39,
69
+ 45, 46, 48, 59, 65, 90, 97, 122,
70
+ 32, 95, 117, 125, 34, 35, 37, 39,
71
+ 45, 46, 48, 59, 65, 90, 97, 122,
72
+ 32, 95, 114, 117, 125, 34, 35, 37,
73
+ 39, 45, 46, 48, 59, 65, 90, 97,
74
+ 122, 32, 95, 108, 117, 125, 34, 35,
75
+ 37, 39, 45, 46, 48, 59, 65, 90,
76
+ 97, 122, 32, 40, 95, 117, 125, 34,
77
+ 35, 37, 39, 45, 46, 48, 59, 65,
78
+ 90, 97, 122, 39, 43, 61, 92, 95,
79
+ 34, 35, 45, 57, 63, 64, 97, 122,
80
+ 39, 41, 43, 61, 92, 95, 34, 35,
81
+ 45, 57, 63, 64, 97, 122, 0, 32,
82
+ 40, 91, 123, 9, 13, 0, 9, 10,
83
+ 32, 11, 13, 0, 9, 10, 32, 35,
84
+ 45, 95, 11, 13, 48, 57, 65, 90,
85
+ 97, 122, 0, 9, 10, 32, 45, 95,
86
+ 11, 13, 48, 57, 65, 90, 97, 122,
87
+ 0, 9, 10, 32, 41, 45, 95, 11,
88
+ 13, 48, 57, 65, 90, 97, 122, 0,
89
+ 9, 10, 32, 40, 46, 91, 123, 11,
90
+ 13, 0, 9, 10, 32, 11, 13, 0,
91
+ 9, 10, 32, 35, 45, 95, 11, 13,
92
+ 48, 57, 65, 90, 97, 122, 0, 9,
93
+ 10, 32, 45, 95, 11, 13, 48, 57,
94
+ 65, 90, 97, 122, 0, 9, 10, 32,
95
+ 41, 45, 95, 11, 13, 48, 57, 65,
96
+ 90, 97, 122, 0, 9, 10, 32, 40,
97
+ 46, 91, 123, 11, 13, 0, 9, 10,
98
+ 32, 46, 11, 13, 0, 9, 10, 32,
99
+ 45, 95, 11, 13, 97, 122, 0, 9,
100
+ 10, 32, 45, 93, 95, 11, 13, 97,
101
+ 122, 0, 9, 10, 32, 95, 11, 13,
102
+ 34, 35, 37, 39, 45, 46, 48, 59,
103
+ 65, 90, 97, 122, 0, 9, 10, 32,
104
+ 95, 117, 125, 11, 13, 34, 35, 37,
105
+ 39, 45, 46, 48, 59, 65, 90, 97,
106
+ 122, 0, 9, 10, 32, 95, 114, 117,
107
+ 125, 11, 13, 34, 35, 37, 39, 45,
108
+ 46, 48, 59, 65, 90, 97, 122, 0,
109
+ 9, 10, 32, 95, 108, 117, 125, 11,
110
+ 13, 34, 35, 37, 39, 45, 46, 48,
111
+ 59, 65, 90, 97, 122, 0, 9, 10,
112
+ 32, 40, 95, 117, 125, 11, 13, 34,
113
+ 35, 37, 39, 45, 46, 48, 59, 65,
114
+ 90, 97, 122, 0, 9, 10, 32, 39,
115
+ 43, 61, 92, 95, 11, 13, 34, 35,
116
+ 45, 57, 63, 64, 97, 122, 0, 9,
117
+ 10, 32, 39, 41, 43, 61, 92, 95,
118
+ 11, 13, 34, 35, 45, 57, 63, 64,
119
+ 97, 122, 0, 9, 10, 32, 35, 41,
120
+ 45, 95, 11, 13, 48, 57, 65, 90,
121
+ 97, 122, 0, 9, 10, 32, 35, 41,
122
+ 45, 95, 11, 13, 48, 57, 65, 90,
123
+ 97, 122, 0, 9, 10, 32, 45, 95,
124
+ 11, 13, 97, 122, 0, 9, 10, 32,
125
+ 45, 93, 95, 11, 13, 97, 122, 0,
126
+ 9, 10, 32, 95, 11, 13, 34, 35,
127
+ 37, 39, 45, 46, 48, 59, 65, 90,
128
+ 97, 122, 0, 9, 10, 32, 95, 117,
129
+ 125, 11, 13, 34, 35, 37, 39, 45,
130
+ 46, 48, 59, 65, 90, 97, 122, 0,
131
+ 9, 10, 32, 95, 114, 117, 125, 11,
132
+ 13, 34, 35, 37, 39, 45, 46, 48,
133
+ 59, 65, 90, 97, 122, 0, 9, 10,
134
+ 32, 95, 108, 117, 125, 11, 13, 34,
135
+ 35, 37, 39, 45, 46, 48, 59, 65,
136
+ 90, 97, 122, 0, 9, 10, 32, 40,
137
+ 95, 117, 125, 11, 13, 34, 35, 37,
138
+ 39, 45, 46, 48, 59, 65, 90, 97,
139
+ 122, 0, 9, 10, 32, 39, 43, 61,
140
+ 92, 95, 11, 13, 34, 35, 45, 57,
141
+ 63, 64, 97, 122, 0, 9, 10, 32,
142
+ 39, 41, 43, 61, 92, 95, 11, 13,
143
+ 34, 35, 45, 57, 63, 64, 97, 122,
144
+ 40, 91, 123, 0, 9, 10, 32, 11,
145
+ 13, 0, 9, 10, 32, 35, 45, 95,
146
+ 11, 13, 48, 57, 65, 90, 97, 122,
147
+ 0, 9, 10, 32, 45, 95, 11, 13,
148
+ 48, 57, 65, 90, 97, 122, 0, 9,
149
+ 10, 32, 41, 45, 95, 11, 13, 48,
150
+ 57, 65, 90, 97, 122, 0, 9, 10,
151
+ 32, 40, 91, 123, 11, 13, 0, 9,
152
+ 10, 32, 45, 95, 11, 13, 97, 122,
153
+ 0, 9, 10, 32, 45, 93, 95, 11,
154
+ 13, 97, 122, 0, 9, 10, 32, 95,
155
+ 11, 13, 34, 35, 37, 39, 45, 46,
156
+ 48, 59, 65, 90, 97, 122, 0, 9,
157
+ 10, 32, 95, 117, 125, 11, 13, 34,
158
+ 35, 37, 39, 45, 46, 48, 59, 65,
159
+ 90, 97, 122, 0, 9, 10, 32, 95,
160
+ 114, 117, 125, 11, 13, 34, 35, 37,
161
+ 39, 45, 46, 48, 59, 65, 90, 97,
162
+ 122, 0, 9, 10, 32, 95, 108, 117,
163
+ 125, 11, 13, 34, 35, 37, 39, 45,
164
+ 46, 48, 59, 65, 90, 97, 122, 0,
165
+ 9, 10, 32, 40, 95, 117, 125, 11,
166
+ 13, 34, 35, 37, 39, 45, 46, 48,
167
+ 59, 65, 90, 97, 122, 0, 9, 10,
168
+ 32, 39, 43, 61, 92, 95, 11, 13,
169
+ 34, 35, 45, 57, 63, 64, 97, 122,
170
+ 0, 9, 10, 32, 39, 41, 43, 61,
171
+ 92, 95, 11, 13, 34, 35, 45, 57,
172
+ 63, 64, 97, 122, 0, 9, 10, 32,
173
+ 35, 41, 45, 95, 11, 13, 48, 57,
174
+ 65, 90, 97, 122, 0
175
+ };
176
+
177
+ static const char _redcloth_attributes_single_lengths[] = {
178
+ 0, 4, 3, 8, 4, 3, 4, 8,
179
+ 4, 7, 7, 4, 5, 2, 3, 5,
180
+ 4, 3, 8, 7, 2, 3, 2, 4,
181
+ 5, 5, 5, 5, 6, 5, 4, 7,
182
+ 6, 7, 8, 4, 7, 6, 7, 8,
183
+ 5, 6, 7, 5, 7, 8, 8, 8,
184
+ 9, 10, 8, 8, 6, 7, 5, 7,
185
+ 8, 8, 8, 9, 10, 3, 4, 7,
186
+ 6, 7, 7, 6, 7, 5, 7, 8,
187
+ 8, 8, 9, 10, 8
188
+ };
189
+
190
+ static const char _redcloth_attributes_range_lengths[] = {
191
+ 0, 1, 1, 4, 1, 1, 1, 4,
192
+ 1, 7, 7, 3, 3, 3, 3, 1,
193
+ 1, 1, 4, 7, 1, 1, 6, 6,
194
+ 6, 6, 6, 4, 4, 1, 1, 4,
195
+ 4, 4, 1, 1, 4, 4, 4, 1,
196
+ 1, 2, 2, 7, 7, 7, 7, 7,
197
+ 5, 5, 4, 4, 2, 2, 7, 7,
198
+ 7, 7, 7, 5, 5, 0, 1, 4,
199
+ 4, 4, 1, 2, 2, 7, 7, 7,
200
+ 7, 7, 5, 5, 4
201
+ };
202
+
203
+ static const short _redcloth_attributes_index_offsets[] = {
204
+ 0, 0, 6, 11, 24, 30, 35, 41,
205
+ 54, 60, 75, 90, 98, 107, 113, 120,
206
+ 127, 133, 138, 151, 166, 170, 175, 184,
207
+ 195, 207, 219, 231, 241, 252, 259, 265,
208
+ 277, 288, 300, 310, 316, 328, 339, 351,
209
+ 361, 368, 377, 387, 400, 415, 431, 447,
210
+ 463, 478, 494, 507, 520, 529, 539, 552,
211
+ 567, 583, 599, 615, 630, 646, 650, 656,
212
+ 668, 679, 691, 700, 709, 719, 732, 747,
213
+ 763, 779, 795, 810, 826
214
+ };
215
+
216
+ static const char _redcloth_attributes_indicies[] = {
217
+ 0, 2, 3, 2, 0, 1, 0, 2,
218
+ 2, 0, 1, 0, 2, 3, 4, 5,
219
+ 6, 7, 7, 0, 7, 7, 7, 1,
220
+ 8, 10, 11, 10, 8, 9, 8, 10,
221
+ 10, 8, 9, 0, 2, 3, 13, 0,
222
+ 12, 8, 10, 11, 14, 15, 16, 17,
223
+ 17, 8, 17, 17, 17, 9, 8, 10,
224
+ 11, 18, 8, 12, 8, 10, 11, 19,
225
+ 20, 21, 22, 8, 20, 20, 20, 20,
226
+ 20, 20, 9, 0, 2, 3, 23, 24,
227
+ 25, 26, 0, 24, 24, 24, 24, 24,
228
+ 24, 1, 27, 29, 27, 27, 27, 27,
229
+ 27, 28, 30, 31, 32, 30, 30, 30,
230
+ 30, 30, 28, 33, 33, 33, 33, 33,
231
+ 28, 34, 35, 35, 35, 35, 35, 28,
232
+ 28, 28, 37, 38, 39, 28, 36, 40,
233
+ 42, 43, 42, 40, 41, 40, 42, 42,
234
+ 40, 41, 40, 42, 43, 44, 45, 46,
235
+ 47, 47, 40, 47, 47, 47, 41, 40,
236
+ 42, 43, 48, 49, 50, 51, 40, 49,
237
+ 49, 49, 49, 49, 49, 41, 52, 52,
238
+ 52, 28, 53, 54, 53, 53, 28, 55,
239
+ 55, 55, 55, 55, 55, 55, 55, 28,
240
+ 56, 56, 57, 58, 56, 56, 56, 56,
241
+ 56, 56, 28, 56, 56, 59, 57, 58,
242
+ 56, 56, 56, 56, 56, 56, 28, 56,
243
+ 56, 60, 57, 58, 56, 56, 56, 56,
244
+ 56, 56, 28, 56, 61, 56, 57, 58,
245
+ 56, 56, 56, 56, 56, 56, 28, 62,
246
+ 62, 62, 62, 62, 62, 62, 62, 62,
247
+ 28, 62, 56, 62, 62, 62, 62, 62,
248
+ 62, 62, 62, 28, 28, 28, 64, 65,
249
+ 66, 28, 63, 67, 2, 3, 2, 67,
250
+ 1, 67, 2, 3, 68, 69, 70, 70,
251
+ 67, 70, 70, 70, 1, 67, 2, 3,
252
+ 2, 71, 71, 67, 71, 71, 71, 1,
253
+ 67, 2, 3, 2, 72, 73, 73, 67,
254
+ 73, 73, 73, 1, 67, 2, 3, 13,
255
+ 74, 75, 76, 77, 67, 12, 78, 10,
256
+ 11, 10, 78, 9, 78, 10, 11, 79,
257
+ 80, 81, 81, 78, 81, 81, 81, 9,
258
+ 78, 10, 11, 10, 82, 82, 78, 82,
259
+ 82, 82, 9, 78, 10, 11, 10, 83,
260
+ 84, 84, 78, 84, 84, 84, 9, 78,
261
+ 10, 11, 18, 74, 75, 76, 77, 78,
262
+ 12, 78, 10, 11, 18, 75, 78, 12,
263
+ 78, 10, 11, 10, 85, 85, 78, 85,
264
+ 9, 78, 10, 11, 10, 86, 87, 86,
265
+ 78, 86, 9, 78, 10, 11, 88, 89,
266
+ 78, 89, 89, 89, 89, 89, 89, 9,
267
+ 78, 10, 11, 19, 20, 21, 22, 78,
268
+ 20, 20, 20, 20, 20, 20, 9, 78,
269
+ 10, 11, 19, 20, 90, 21, 22, 78,
270
+ 20, 20, 20, 20, 20, 20, 9, 78,
271
+ 10, 11, 19, 20, 91, 21, 22, 78,
272
+ 20, 20, 20, 20, 20, 20, 9, 78,
273
+ 10, 11, 19, 92, 20, 21, 22, 78,
274
+ 20, 20, 20, 20, 20, 20, 9, 78,
275
+ 10, 11, 10, 93, 93, 93, 93, 93,
276
+ 78, 93, 93, 93, 93, 9, 78, 10,
277
+ 11, 10, 93, 20, 93, 93, 93, 93,
278
+ 78, 93, 93, 93, 93, 9, 78, 10,
279
+ 11, 14, 15, 16, 17, 17, 78, 17,
280
+ 17, 17, 9, 67, 2, 3, 4, 5,
281
+ 6, 7, 7, 67, 7, 7, 7, 1,
282
+ 67, 2, 3, 2, 94, 94, 67, 94,
283
+ 1, 67, 2, 3, 2, 95, 96, 95,
284
+ 67, 95, 1, 67, 2, 3, 97, 98,
285
+ 67, 98, 98, 98, 98, 98, 98, 1,
286
+ 67, 2, 3, 23, 24, 25, 26, 67,
287
+ 24, 24, 24, 24, 24, 24, 1, 67,
288
+ 2, 3, 23, 24, 99, 25, 26, 67,
289
+ 24, 24, 24, 24, 24, 24, 1, 67,
290
+ 2, 3, 23, 24, 100, 25, 26, 67,
291
+ 24, 24, 24, 24, 24, 24, 1, 67,
292
+ 2, 3, 23, 101, 24, 25, 26, 67,
293
+ 24, 24, 24, 24, 24, 24, 1, 67,
294
+ 2, 3, 2, 102, 102, 102, 102, 102,
295
+ 67, 102, 102, 102, 102, 1, 67, 2,
296
+ 3, 2, 102, 24, 102, 102, 102, 102,
297
+ 67, 102, 102, 102, 102, 1, 103, 104,
298
+ 105, 28, 106, 42, 43, 42, 106, 41,
299
+ 106, 42, 43, 107, 108, 109, 109, 106,
300
+ 109, 109, 109, 41, 106, 42, 43, 42,
301
+ 110, 110, 106, 110, 110, 110, 41, 106,
302
+ 42, 43, 42, 111, 112, 112, 106, 112,
303
+ 112, 112, 41, 106, 42, 43, 42, 37,
304
+ 38, 39, 106, 36, 106, 42, 43, 42,
305
+ 113, 113, 106, 113, 41, 106, 42, 43,
306
+ 42, 114, 115, 114, 106, 114, 41, 106,
307
+ 42, 43, 116, 117, 106, 117, 117, 117,
308
+ 117, 117, 117, 41, 106, 42, 43, 48,
309
+ 49, 50, 51, 106, 49, 49, 49, 49,
310
+ 49, 49, 41, 106, 42, 43, 48, 49,
311
+ 118, 50, 51, 106, 49, 49, 49, 49,
312
+ 49, 49, 41, 106, 42, 43, 48, 49,
313
+ 119, 50, 51, 106, 49, 49, 49, 49,
314
+ 49, 49, 41, 106, 42, 43, 48, 120,
315
+ 49, 50, 51, 106, 49, 49, 49, 49,
316
+ 49, 49, 41, 106, 42, 43, 42, 121,
317
+ 121, 121, 121, 121, 106, 121, 121, 121,
318
+ 121, 41, 106, 42, 43, 42, 121, 49,
319
+ 121, 121, 121, 121, 106, 121, 121, 121,
320
+ 121, 41, 106, 42, 43, 44, 45, 46,
321
+ 47, 47, 106, 47, 47, 47, 41, 0
322
+ };
323
+
324
+ static const char _redcloth_attributes_trans_targs[] = {
325
+ 29, 30, 1, 2, 3, 32, 34, 51,
326
+ 29, 35, 4, 5, 35, 6, 7, 37,
327
+ 39, 50, 8, 9, 44, 45, 39, 10,
328
+ 55, 56, 34, 12, 0, 13, 12, 13,
329
+ 15, 14, 15, 14, 62, 63, 67, 69,
330
+ 61, 62, 16, 17, 18, 64, 66, 76,
331
+ 19, 70, 71, 66, 21, 21, 15, 23,
332
+ 23, 24, 15, 25, 26, 27, 28, 30,
333
+ 31, 52, 54, 29, 3, 32, 51, 33,
334
+ 34, 33, 36, 40, 41, 43, 29, 7,
335
+ 37, 50, 38, 39, 38, 42, 42, 39,
336
+ 9, 44, 46, 47, 48, 49, 53, 53,
337
+ 34, 10, 55, 57, 58, 59, 60, 11,
338
+ 20, 22, 61, 18, 64, 76, 65, 66,
339
+ 65, 68, 68, 66, 19, 70, 72, 73,
340
+ 74, 75
341
+ };
342
+
343
+ static const char _redcloth_attributes_trans_actions[] = {
344
+ 23, 17, 0, 0, 0, 40, 40, 17,
345
+ 21, 17, 0, 0, 31, 0, 0, 40,
346
+ 40, 17, 0, 0, 17, 17, 49, 0,
347
+ 17, 17, 49, 1, 0, 0, 0, 5,
348
+ 5, 1, 7, 0, 31, 31, 31, 31,
349
+ 19, 17, 0, 0, 0, 40, 40, 17,
350
+ 0, 17, 17, 49, 1, 0, 9, 1,
351
+ 0, 0, 11, 0, 0, 0, 0, 34,
352
+ 34, 34, 34, 28, 1, 17, 37, 37,
353
+ 43, 17, 31, 31, 31, 31, 52, 1,
354
+ 17, 37, 37, 43, 17, 37, 17, 46,
355
+ 1, 37, 17, 17, 17, 17, 37, 17,
356
+ 46, 1, 37, 17, 17, 17, 17, 3,
357
+ 3, 3, 25, 1, 17, 37, 37, 43,
358
+ 17, 37, 17, 46, 1, 37, 17, 17,
359
+ 17, 17
360
+ };
361
+
362
+ static const char _redcloth_attributes_to_state_actions[] = {
363
+ 0, 0, 0, 0, 0, 0, 0, 0,
364
+ 0, 0, 0, 0, 0, 0, 0, 0,
365
+ 0, 0, 0, 0, 0, 0, 0, 0,
366
+ 0, 0, 0, 0, 0, 13, 0, 0,
367
+ 0, 0, 0, 0, 0, 0, 0, 0,
368
+ 0, 0, 0, 0, 0, 0, 0, 0,
369
+ 0, 0, 0, 0, 0, 0, 0, 0,
370
+ 0, 0, 0, 0, 0, 13, 0, 0,
371
+ 0, 0, 0, 0, 0, 0, 0, 0,
372
+ 0, 0, 0, 0, 0
373
+ };
374
+
375
+ static const char _redcloth_attributes_from_state_actions[] = {
376
+ 0, 0, 0, 0, 0, 0, 0, 0,
377
+ 0, 0, 0, 0, 0, 0, 0, 0,
378
+ 0, 0, 0, 0, 0, 0, 0, 0,
379
+ 0, 0, 0, 0, 0, 15, 0, 0,
380
+ 0, 0, 0, 0, 0, 0, 0, 0,
381
+ 0, 0, 0, 0, 0, 0, 0, 0,
382
+ 0, 0, 0, 0, 0, 0, 0, 0,
383
+ 0, 0, 0, 0, 0, 15, 0, 0,
384
+ 0, 0, 0, 0, 0, 0, 0, 0,
385
+ 0, 0, 0, 0, 0
386
+ };
387
+
388
+ static const short _redcloth_attributes_eof_trans[] = {
389
+ 0, 1, 1, 1, 9, 9, 1, 9,
390
+ 9, 9, 1, 0, 0, 0, 0, 0,
391
+ 41, 41, 41, 41, 0, 0, 0, 0,
392
+ 0, 0, 0, 0, 0, 0, 68, 68,
393
+ 68, 68, 68, 79, 79, 79, 79, 79,
394
+ 79, 79, 79, 79, 79, 79, 79, 79,
395
+ 79, 79, 79, 68, 68, 68, 68, 68,
396
+ 68, 68, 68, 68, 68, 0, 107, 107,
397
+ 107, 107, 107, 107, 107, 107, 107, 107,
398
+ 107, 107, 107, 107, 107
399
+ };
400
+
401
+ static const int redcloth_attributes_start = 29;
402
+ static const int redcloth_attributes_error = 0;
403
+
404
+ static const int redcloth_attributes_en_inline = 61;
405
+ static const int redcloth_attributes_en_link_says = 29;
406
+
407
+
408
+ #line 18 "ragel/redcloth_attributes.c.rl"
409
+
410
+
411
+ VALUE
412
+ redcloth_attribute_parser(machine, self, p, pe)
413
+ int machine;
414
+ VALUE self;
415
+ char *p, *pe;
416
+ {
417
+ int cs, act;
418
+ char *ts = 0, *te = 0, *reg = 0, *bck = NULL, *attr_reg = NULL, *eof = NULL;
419
+ VALUE regs = rb_hash_new();
420
+ VALUE attr_regs = rb_hash_new();
421
+
422
+
423
+ #line 424 "ext/redcloth_scan/redcloth_attributes.c"
424
+ {
425
+ cs = redcloth_attributes_start;
426
+ ts = 0;
427
+ te = 0;
428
+ act = 0;
429
+ }
430
+
431
+ #line 32 "ragel/redcloth_attributes.c.rl"
432
+
433
+ cs = machine;
434
+
435
+
436
+ #line 437 "ext/redcloth_scan/redcloth_attributes.c"
437
+ {
438
+ int _klen;
439
+ unsigned int _trans;
440
+ const char *_acts;
441
+ unsigned int _nacts;
442
+ const char *_keys;
443
+
444
+ if ( p == pe )
445
+ goto _test_eof;
446
+ if ( cs == 0 )
447
+ goto _out;
448
+ _resume:
449
+ _acts = _redcloth_attributes_actions + _redcloth_attributes_from_state_actions[cs];
450
+ _nacts = (unsigned int) *_acts++;
451
+ while ( _nacts-- > 0 ) {
452
+ switch ( *_acts++ ) {
453
+ case 12:
454
+ #line 1 "NONE"
455
+ {ts = p;}
456
+ break;
457
+ #line 458 "ext/redcloth_scan/redcloth_attributes.c"
458
+ }
459
+ }
460
+
461
+ _keys = _redcloth_attributes_trans_keys + _redcloth_attributes_key_offsets[cs];
462
+ _trans = _redcloth_attributes_index_offsets[cs];
463
+
464
+ _klen = _redcloth_attributes_single_lengths[cs];
465
+ if ( _klen > 0 ) {
466
+ const char *_lower = _keys;
467
+ const char *_mid;
468
+ const char *_upper = _keys + _klen - 1;
469
+ while (1) {
470
+ if ( _upper < _lower )
471
+ break;
472
+
473
+ _mid = _lower + ((_upper-_lower) >> 1);
474
+ if ( (*p) < *_mid )
475
+ _upper = _mid - 1;
476
+ else if ( (*p) > *_mid )
477
+ _lower = _mid + 1;
478
+ else {
479
+ _trans += (_mid - _keys);
480
+ goto _match;
481
+ }
482
+ }
483
+ _keys += _klen;
484
+ _trans += _klen;
485
+ }
486
+
487
+ _klen = _redcloth_attributes_range_lengths[cs];
488
+ if ( _klen > 0 ) {
489
+ const char *_lower = _keys;
490
+ const char *_mid;
491
+ const char *_upper = _keys + (_klen<<1) - 2;
492
+ while (1) {
493
+ if ( _upper < _lower )
494
+ break;
495
+
496
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1);
497
+ if ( (*p) < _mid[0] )
498
+ _upper = _mid - 2;
499
+ else if ( (*p) > _mid[1] )
500
+ _lower = _mid + 2;
501
+ else {
502
+ _trans += ((_mid - _keys)>>1);
503
+ goto _match;
504
+ }
505
+ }
506
+ _trans += _klen;
507
+ }
508
+
509
+ _match:
510
+ _trans = _redcloth_attributes_indicies[_trans];
511
+ _eof_trans:
512
+ cs = _redcloth_attributes_trans_targs[_trans];
513
+
514
+ if ( _redcloth_attributes_trans_actions[_trans] == 0 )
515
+ goto _again;
516
+
517
+ _acts = _redcloth_attributes_actions + _redcloth_attributes_trans_actions[_trans];
518
+ _nacts = (unsigned int) *_acts++;
519
+ while ( _nacts-- > 0 )
520
+ {
521
+ switch ( *_acts++ )
522
+ {
523
+ case 0:
524
+ #line 5 "ragel/redcloth_common.rl"
525
+ { MARK(); }
526
+ break;
527
+ case 1:
528
+ #line 6 "ragel/redcloth_common.rl"
529
+ { MARK_B(); }
530
+ break;
531
+ case 2:
532
+ #line 7 "ragel/redcloth_common.rl"
533
+ { MARK_ATTR(); }
534
+ break;
535
+ case 3:
536
+ #line 9 "ragel/redcloth_common.rl"
537
+ { STORE("text"); }
538
+ break;
539
+ case 4:
540
+ #line 10 "ragel/redcloth_common.rl"
541
+ { CLEAR_REGS(); RESET_REG(); }
542
+ break;
543
+ case 5:
544
+ #line 35 "ragel/redcloth_common.rl"
545
+ { STORE_ATTR("class"); }
546
+ break;
547
+ case 6:
548
+ #line 36 "ragel/redcloth_common.rl"
549
+ { STORE_ATTR("id"); }
550
+ break;
551
+ case 7:
552
+ #line 38 "ragel/redcloth_common.rl"
553
+ { STORE_ATTR("lang"); }
554
+ break;
555
+ case 8:
556
+ #line 39 "ragel/redcloth_common.rl"
557
+ { STORE_ATTR("style"); }
558
+ break;
559
+ case 9:
560
+ #line 20 "ragel/redcloth_attributes.rl"
561
+ { STORE("name"); }
562
+ break;
563
+ case 10:
564
+ #line 21 "ragel/redcloth_attributes.rl"
565
+ { STORE_B("name_without_attributes"); }
566
+ break;
567
+ case 13:
568
+ #line 1 "NONE"
569
+ {te = p+1;}
570
+ break;
571
+ case 14:
572
+ #line 16 "ragel/redcloth_attributes.rl"
573
+ {te = p;p--;{ SET_ATTRIBUTES(); }}
574
+ break;
575
+ case 15:
576
+ #line 16 "ragel/redcloth_attributes.rl"
577
+ {{p = ((te))-1;}{ SET_ATTRIBUTES(); }}
578
+ break;
579
+ case 16:
580
+ #line 25 "ragel/redcloth_attributes.rl"
581
+ {te = p;p--;{ SET_ATTRIBUTES(); }}
582
+ break;
583
+ case 17:
584
+ #line 26 "ragel/redcloth_attributes.rl"
585
+ {te = p;p--;{ SET_ATTRIBUTE("name_without_attributes", "name"); }}
586
+ break;
587
+ case 18:
588
+ #line 25 "ragel/redcloth_attributes.rl"
589
+ {{p = ((te))-1;}{ SET_ATTRIBUTES(); }}
590
+ break;
591
+ case 19:
592
+ #line 26 "ragel/redcloth_attributes.rl"
593
+ {{p = ((te))-1;}{ SET_ATTRIBUTE("name_without_attributes", "name"); }}
594
+ break;
595
+ #line 596 "ext/redcloth_scan/redcloth_attributes.c"
596
+ }
597
+ }
598
+
599
+ _again:
600
+ _acts = _redcloth_attributes_actions + _redcloth_attributes_to_state_actions[cs];
601
+ _nacts = (unsigned int) *_acts++;
602
+ while ( _nacts-- > 0 ) {
603
+ switch ( *_acts++ ) {
604
+ case 11:
605
+ #line 1 "NONE"
606
+ {ts = 0;}
607
+ break;
608
+ #line 609 "ext/redcloth_scan/redcloth_attributes.c"
609
+ }
610
+ }
611
+
612
+ if ( cs == 0 )
613
+ goto _out;
614
+ if ( ++p != pe )
615
+ goto _resume;
616
+ _test_eof: {}
617
+ if ( p == eof )
618
+ {
619
+ if ( _redcloth_attributes_eof_trans[cs] > 0 ) {
620
+ _trans = _redcloth_attributes_eof_trans[cs] - 1;
621
+ goto _eof_trans;
622
+ }
623
+ }
624
+
625
+ _out: {}
626
+ }
627
+
628
+ #line 36 "ragel/redcloth_attributes.c.rl"
629
+
630
+ return regs;
631
+ }
632
+
633
+ VALUE
634
+ redcloth_attributes(self, str)
635
+ VALUE self, str;
636
+ {
637
+ StringValue(str);
638
+ int cs = redcloth_attributes_en_inline;
639
+ return redcloth_attribute_parser(cs, self, RSTRING_PTR(str), RSTRING_PTR(str) + RSTRING_LEN(str) + 1);
640
+ }
641
+
642
+ VALUE
643
+ redcloth_link_attributes(self, str)
644
+ VALUE self, str;
645
+ {
646
+ StringValue(str);
647
+ int cs = redcloth_attributes_en_link_says;
648
+ return redcloth_attribute_parser(cs, self, RSTRING_PTR(str), RSTRING_PTR(str) + RSTRING_LEN(str) + 1);
649
+ }