dtext_rb 1.0.4 → 1.0.5

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: 6716ab4daccf93899c98066494d8bda0cc829af5
4
- data.tar.gz: 894e84ba1dac5936957ae8a72fcfcfe174aefc7a
3
+ metadata.gz: 6ae4baf2be55f273a33eb3fd5251023b9ef73957
4
+ data.tar.gz: 622f190a6b0f6ff2861800ac4880600cff4c73e1
5
5
  SHA512:
6
- metadata.gz: c52968e58a81c1c96c690704fc7d58a6f3fe2ada3fe096323f9568ade426702bf1699c955bc137e78f022db668d67acbac243dc42afc5709e96b087030f892ee
7
- data.tar.gz: d89e6a21afd2df5a529fbf3a9c0b36d8a0f9240ad7f4003d1ed2ce672c68f1e0f0ed0df9b86ea2203ea9f0216c2448abe803d759c2a24ec3d6f6c91d03b932be
6
+ metadata.gz: f1832f21285e25f845b8ef635a9f24527d9baa2b22e046aed5026d8b53cbc8ab9ace87d30633ac33392da02e9ae2ad6e556292bbbb1002d7082c28a35ca48b82
7
+ data.tar.gz: 0b3d7e786fc08a7718ee6f3fef54308a1db776b1773b852483bffc70220de69dd1c908d08dc9e13d541697a25402b0f5f7791030eb4defd9c212f23a0375792d
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ #ENV["G_MESSAGES_DEBUG"] = "all"
2
+
1
3
  require "rake/extensiontask"
2
4
  require "rubygems/package_task"
3
5
  require "bundler"
@@ -23,8 +25,6 @@ Jeweler::Tasks.new do |gem|
23
25
  end
24
26
  Jeweler::RubygemsDotOrgTasks.new
25
27
 
26
- # ENV["G_MESSAGES_DEBUG"] = "all"
27
-
28
28
  Rake::ExtensionTask.new "dtext" do |ext|
29
29
  ext.lib_dir = "lib/dtext"
30
30
  end
@@ -69,7 +69,7 @@ task test_file_ragel: %w(ragel compile) do
69
69
  end
70
70
 
71
71
  task test: %w(ragel compile) do
72
- ruby "-Ilib", '-rdtext', "test/dtext_test.rb" #, '--name=test_special'
72
+ ruby "-Ilib", '-rdtext', "test/dtext_test.rb" #, '--name=test_headers'
73
73
  end
74
74
 
75
75
  task default: :test
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.4
1
+ 1.0.5
@@ -2,17 +2,17 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: dtext_rb 1.0.4 ruby lib
5
+ # stub: dtext_rb 1.0.5 ruby lib
6
6
  # stub: ext/dtext/extconf.rb
7
7
 
8
8
  Gem::Specification.new do |s|
9
9
  s.name = "dtext_rb"
10
- s.version = "1.0.4"
10
+ s.version = "1.0.5"
11
11
 
12
12
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
13
13
  s.require_paths = ["lib"]
14
14
  s.authors = ["r888888888"]
15
- s.date = "2016-03-25"
15
+ s.date = "2016-04-28"
16
16
  s.description = "Compield DText parser"
17
17
  s.email = "r888888888@gmail.com"
18
18
  s.extensions = ["ext/dtext/extconf.rb"]
@@ -5,6 +5,7 @@
5
5
  #define PRETTY_PRINT 0
6
6
 
7
7
  #include <ruby.h>
8
+ #include <ruby/encoding.h>
8
9
  #include <stdio.h>
9
10
  #include <stdint.h>
10
11
  #include <stdbool.h>
@@ -69,11 +70,11 @@ static const int BLOCK_H5 = 27;
69
70
  static const int BLOCK_H6 = 28;
70
71
 
71
72
 
72
- #line 961 "ext/dtext/dtext.rl"
73
+ #line 966 "ext/dtext/dtext.rl"
73
74
 
74
75
 
75
76
 
76
- #line 77 "ext/dtext/dtext.c"
77
+ #line 78 "ext/dtext/dtext.c"
77
78
  static const int dtext_start = 245;
78
79
  static const int dtext_first_final = 245;
79
80
  static const int dtext_error = -1;
@@ -86,7 +87,7 @@ static const int dtext_en_list = 301;
86
87
  static const int dtext_en_main = 245;
87
88
 
88
89
 
89
- #line 964 "ext/dtext/dtext.rl"
90
+ #line 969 "ext/dtext/dtext.rl"
90
91
 
91
92
  static inline void underscore_string(char * str, size_t len) {
92
93
  for (size_t i=0; i<len; ++i) {
@@ -337,6 +338,9 @@ static void dstack_close_list(StateMachine * sm) {
337
338
  while (dstack_check(sm, BLOCK_LI) || dstack_check(sm, BLOCK_UL)) {
338
339
  dstack_rewind(sm);
339
340
  }
341
+
342
+ sm->list_mode = false;
343
+ sm->list_nest = 0;
340
344
  }
341
345
 
342
346
  static inline bool is_boundary_c(char c) {
@@ -406,6 +410,7 @@ static VALUE parse(int argc, VALUE * argv, VALUE self) {
406
410
  VALUE opt_inline;
407
411
  VALUE opt_strip;
408
412
  VALUE ret;
413
+ rb_encoding * encoding = NULL;
409
414
  StateMachine * sm = NULL;
410
415
 
411
416
  g_debug("start\n");
@@ -437,7 +442,7 @@ static VALUE parse(int argc, VALUE * argv, VALUE self) {
437
442
  }
438
443
 
439
444
 
440
- #line 441 "ext/dtext/dtext.c"
445
+ #line 446 "ext/dtext/dtext.c"
441
446
  {
442
447
  sm->cs = dtext_start;
443
448
  ( sm->top) = 0;
@@ -446,9 +451,9 @@ static VALUE parse(int argc, VALUE * argv, VALUE self) {
446
451
  ( sm->act) = 0;
447
452
  }
448
453
 
449
- #line 1314 "ext/dtext/dtext.rl"
454
+ #line 1323 "ext/dtext/dtext.rl"
450
455
 
451
- #line 452 "ext/dtext/dtext.c"
456
+ #line 457 "ext/dtext/dtext.c"
452
457
  {
453
458
  if ( ( sm->p) == ( sm->pe) )
454
459
  goto _test_eof;
@@ -781,6 +786,8 @@ tr0:
781
786
  if (sm->header_mode) {
782
787
  sm->header_mode = false;
783
788
  dstack_rewind(sm);
789
+ } else if (sm->list_mode) {
790
+ dstack_close_list(sm);
784
791
  } else {
785
792
  dstack_close_before_block(sm);
786
793
  }
@@ -795,7 +802,7 @@ tr0:
795
802
  }
796
803
  goto st245;
797
804
  tr2:
798
- #line 946 "ext/dtext/dtext.rl"
805
+ #line 951 "ext/dtext/dtext.rl"
799
806
  {{( sm->p) = ((( sm->te)))-1;}{
800
807
  g_debug("block char: %c", (*( sm->p)));
801
808
  ( sm->p)--;
@@ -822,7 +829,7 @@ tr2:
822
829
  }}
823
830
  goto st245;
824
831
  tr14:
825
- #line 855 "ext/dtext/dtext.rl"
832
+ #line 858 "ext/dtext/dtext.rl"
826
833
  {( sm->te) = ( sm->p)+1;{
827
834
  g_debug("block [/spoiler]");
828
835
  dstack_close_before_block(sm);
@@ -833,7 +840,7 @@ tr14:
833
840
  }}
834
841
  goto st245;
835
842
  tr53:
836
- #line 902 "ext/dtext/dtext.rl"
843
+ #line 905 "ext/dtext/dtext.rl"
837
844
  {( sm->te) = ( sm->p)+1;{
838
845
  dstack_close_before_block(sm);
839
846
  dstack_push(sm, &BLOCK_TABLE);
@@ -853,7 +860,7 @@ tr53:
853
860
  }}
854
861
  goto st245;
855
862
  tr54:
856
- #line 909 "ext/dtext/dtext.rl"
863
+ #line 912 "ext/dtext/dtext.rl"
857
864
  {( sm->te) = ( sm->p)+1;{
858
865
  dstack_push(sm, &BLOCK_TN);
859
866
  append_block(sm, "<p class=\"tn\">");
@@ -872,7 +879,7 @@ tr54:
872
879
  }}
873
880
  goto st245;
874
881
  tr292:
875
- #line 946 "ext/dtext/dtext.rl"
882
+ #line 951 "ext/dtext/dtext.rl"
876
883
  {( sm->te) = ( sm->p)+1;{
877
884
  g_debug("block char: %c", (*( sm->p)));
878
885
  ( sm->p)--;
@@ -899,7 +906,7 @@ tr292:
899
906
  }}
900
907
  goto st245;
901
908
  tr293:
902
- #line 925 "ext/dtext/dtext.rl"
909
+ #line 928 "ext/dtext/dtext.rl"
903
910
  {( sm->te) = ( sm->p)+1;{
904
911
  g_debug("block 0");
905
912
  g_debug(" close dstack");
@@ -907,7 +914,7 @@ tr293:
907
914
  }}
908
915
  goto st245;
909
916
  tr300:
910
- #line 946 "ext/dtext/dtext.rl"
917
+ #line 951 "ext/dtext/dtext.rl"
911
918
  {( sm->te) = ( sm->p);( sm->p)--;{
912
919
  g_debug("block char: %c", (*( sm->p)));
913
920
  ( sm->p)--;
@@ -934,11 +941,11 @@ tr300:
934
941
  }}
935
942
  goto st245;
936
943
  tr301:
937
- #line 107 "ext/dtext/dtext.rl"
944
+ #line 108 "ext/dtext/dtext.rl"
938
945
  {
939
946
  sm->b2 = sm->p;
940
947
  }
941
- #line 915 "ext/dtext/dtext.rl"
948
+ #line 918 "ext/dtext/dtext.rl"
942
949
  {( sm->te) = ( sm->p);( sm->p)--;{
943
950
  g_debug("block list");
944
951
  g_debug(" call list");
@@ -961,7 +968,7 @@ tr301:
961
968
  }}
962
969
  goto st245;
963
970
  tr310:
964
- #line 864 "ext/dtext/dtext.rl"
971
+ #line 867 "ext/dtext/dtext.rl"
965
972
  {( sm->te) = ( sm->p);( sm->p)--;{
966
973
  g_debug("block [code]");
967
974
  dstack_close_before_block(sm);
@@ -982,7 +989,7 @@ tr310:
982
989
  }}
983
990
  goto st245;
984
991
  tr311:
985
- #line 881 "ext/dtext/dtext.rl"
992
+ #line 884 "ext/dtext/dtext.rl"
986
993
  {( sm->te) = ( sm->p);( sm->p)--;{
987
994
  g_debug("block [expand=]");
988
995
  dstack_close_before_block(sm);
@@ -996,7 +1003,7 @@ tr311:
996
1003
  }}
997
1004
  goto st245;
998
1005
  tr313:
999
- #line 872 "ext/dtext/dtext.rl"
1006
+ #line 875 "ext/dtext/dtext.rl"
1000
1007
  {( sm->te) = ( sm->p);( sm->p)--;{
1001
1008
  g_debug("block [expand]");
1002
1009
  dstack_close_before_block(sm);
@@ -1007,7 +1014,7 @@ tr313:
1007
1014
  }}
1008
1015
  goto st245;
1009
1016
  tr314:
1010
- #line 893 "ext/dtext/dtext.rl"
1017
+ #line 896 "ext/dtext/dtext.rl"
1011
1018
  {( sm->te) = ( sm->p);( sm->p)--;{
1012
1019
  g_debug("block [nodtext]");
1013
1020
  dstack_close_before_block(sm);
@@ -1029,7 +1036,7 @@ tr314:
1029
1036
  }}
1030
1037
  goto st245;
1031
1038
  tr315:
1032
- #line 837 "ext/dtext/dtext.rl"
1039
+ #line 840 "ext/dtext/dtext.rl"
1033
1040
  {( sm->te) = ( sm->p);( sm->p)--;{
1034
1041
  g_debug("block [quote]");
1035
1042
  g_debug(" push quote");
@@ -1040,7 +1047,7 @@ tr315:
1040
1047
  }}
1041
1048
  goto st245;
1042
1049
  tr316:
1043
- #line 846 "ext/dtext/dtext.rl"
1050
+ #line 849 "ext/dtext/dtext.rl"
1044
1051
  {( sm->te) = ( sm->p);( sm->p)--;{
1045
1052
  g_debug("block [spoiler]");
1046
1053
  g_debug(" push spoiler");
@@ -1051,7 +1058,7 @@ tr316:
1051
1058
  }}
1052
1059
  goto st245;
1053
1060
  tr318:
1054
- #line 792 "ext/dtext/dtext.rl"
1061
+ #line 795 "ext/dtext/dtext.rl"
1055
1062
  {( sm->te) = ( sm->p);( sm->p)--;{
1056
1063
  char header = *sm->a1;
1057
1064
 
@@ -1116,7 +1123,7 @@ st245:
1116
1123
  case 245:
1117
1124
  #line 1 "NONE"
1118
1125
  {( sm->ts) = ( sm->p);}
1119
- #line 1120 "ext/dtext/dtext.c"
1126
+ #line 1127 "ext/dtext/dtext.c"
1120
1127
  switch( (*( sm->p)) ) {
1121
1128
  case 0: goto tr293;
1122
1129
  case 10: goto tr294;
@@ -1129,20 +1136,20 @@ case 245:
1129
1136
  tr1:
1130
1137
  #line 1 "NONE"
1131
1138
  {( sm->te) = ( sm->p)+1;}
1132
- #line 931 "ext/dtext/dtext.rl"
1139
+ #line 934 "ext/dtext/dtext.rl"
1133
1140
  {( sm->act) = 79;}
1134
1141
  goto st246;
1135
1142
  tr294:
1136
1143
  #line 1 "NONE"
1137
1144
  {( sm->te) = ( sm->p)+1;}
1138
- #line 942 "ext/dtext/dtext.rl"
1145
+ #line 947 "ext/dtext/dtext.rl"
1139
1146
  {( sm->act) = 80;}
1140
1147
  goto st246;
1141
1148
  st246:
1142
1149
  if ( ++( sm->p) == ( sm->pe) )
1143
1150
  goto _test_eof246;
1144
1151
  case 246:
1145
- #line 1146 "ext/dtext/dtext.c"
1152
+ #line 1153 "ext/dtext/dtext.c"
1146
1153
  switch( (*( sm->p)) ) {
1147
1154
  case 10: goto tr1;
1148
1155
  case 13: goto st0;
@@ -1165,7 +1172,7 @@ case 247:
1165
1172
  tr296:
1166
1173
  #line 1 "NONE"
1167
1174
  {( sm->te) = ( sm->p)+1;}
1168
- #line 95 "ext/dtext/dtext.rl"
1175
+ #line 96 "ext/dtext/dtext.rl"
1169
1176
  {
1170
1177
  sm->a1 = sm->p;
1171
1178
  }
@@ -1174,7 +1181,7 @@ st248:
1174
1181
  if ( ++( sm->p) == ( sm->pe) )
1175
1182
  goto _test_eof248;
1176
1183
  case 248:
1177
- #line 1178 "ext/dtext/dtext.c"
1184
+ #line 1185 "ext/dtext/dtext.c"
1178
1185
  switch( (*( sm->p)) ) {
1179
1186
  case 9: goto tr5;
1180
1187
  case 32: goto tr5;
@@ -1182,7 +1189,7 @@ case 248:
1182
1189
  }
1183
1190
  goto tr300;
1184
1191
  tr5:
1185
- #line 99 "ext/dtext/dtext.rl"
1192
+ #line 100 "ext/dtext/dtext.rl"
1186
1193
  {
1187
1194
  sm->a2 = sm->p;
1188
1195
  }
@@ -1191,7 +1198,7 @@ st1:
1191
1198
  if ( ++( sm->p) == ( sm->pe) )
1192
1199
  goto _test_eof1;
1193
1200
  case 1:
1194
- #line 1195 "ext/dtext/dtext.c"
1201
+ #line 1202 "ext/dtext/dtext.c"
1195
1202
  switch( (*( sm->p)) ) {
1196
1203
  case 0: goto tr2;
1197
1204
  case 9: goto tr4;
@@ -1201,7 +1208,7 @@ case 1:
1201
1208
  }
1202
1209
  goto tr3;
1203
1210
  tr3:
1204
- #line 103 "ext/dtext/dtext.rl"
1211
+ #line 104 "ext/dtext/dtext.rl"
1205
1212
  {
1206
1213
  sm->b1 = sm->p;
1207
1214
  }
@@ -1210,7 +1217,7 @@ st249:
1210
1217
  if ( ++( sm->p) == ( sm->pe) )
1211
1218
  goto _test_eof249;
1212
1219
  case 249:
1213
- #line 1214 "ext/dtext/dtext.c"
1220
+ #line 1221 "ext/dtext/dtext.c"
1214
1221
  switch( (*( sm->p)) ) {
1215
1222
  case 0: goto tr301;
1216
1223
  case 10: goto tr301;
@@ -1218,7 +1225,7 @@ case 249:
1218
1225
  }
1219
1226
  goto st249;
1220
1227
  tr4:
1221
- #line 103 "ext/dtext/dtext.rl"
1228
+ #line 104 "ext/dtext/dtext.rl"
1222
1229
  {
1223
1230
  sm->b1 = sm->p;
1224
1231
  }
@@ -1227,7 +1234,7 @@ st250:
1227
1234
  if ( ++( sm->p) == ( sm->pe) )
1228
1235
  goto _test_eof250;
1229
1236
  case 250:
1230
- #line 1231 "ext/dtext/dtext.c"
1237
+ #line 1238 "ext/dtext/dtext.c"
1231
1238
  switch( (*( sm->p)) ) {
1232
1239
  case 0: goto tr301;
1233
1240
  case 9: goto tr4;
@@ -1254,7 +1261,7 @@ st251:
1254
1261
  if ( ++( sm->p) == ( sm->pe) )
1255
1262
  goto _test_eof251;
1256
1263
  case 251:
1257
- #line 1258 "ext/dtext/dtext.c"
1264
+ #line 1265 "ext/dtext/dtext.c"
1258
1265
  switch( (*( sm->p)) ) {
1259
1266
  case 47: goto st3;
1260
1267
  case 99: goto st11;
@@ -1410,7 +1417,7 @@ case 21:
1410
1417
  goto tr2;
1411
1418
  goto tr26;
1412
1419
  tr26:
1413
- #line 95 "ext/dtext/dtext.rl"
1420
+ #line 96 "ext/dtext/dtext.rl"
1414
1421
  {
1415
1422
  sm->a1 = sm->p;
1416
1423
  }
@@ -1419,12 +1426,12 @@ st22:
1419
1426
  if ( ++( sm->p) == ( sm->pe) )
1420
1427
  goto _test_eof22;
1421
1428
  case 22:
1422
- #line 1423 "ext/dtext/dtext.c"
1429
+ #line 1430 "ext/dtext/dtext.c"
1423
1430
  if ( (*( sm->p)) == 93 )
1424
1431
  goto tr28;
1425
1432
  goto st22;
1426
1433
  tr28:
1427
- #line 99 "ext/dtext/dtext.rl"
1434
+ #line 100 "ext/dtext/dtext.rl"
1428
1435
  {
1429
1436
  sm->a2 = sm->p;
1430
1437
  }
@@ -1433,7 +1440,7 @@ st253:
1433
1440
  if ( ++( sm->p) == ( sm->pe) )
1434
1441
  goto _test_eof253;
1435
1442
  case 253:
1436
- #line 1437 "ext/dtext/dtext.c"
1443
+ #line 1444 "ext/dtext/dtext.c"
1437
1444
  if ( (*( sm->p)) == 32 )
1438
1445
  goto st253;
1439
1446
  if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 )
@@ -1660,12 +1667,12 @@ st258:
1660
1667
  if ( ++( sm->p) == ( sm->pe) )
1661
1668
  goto _test_eof258;
1662
1669
  case 258:
1663
- #line 1664 "ext/dtext/dtext.c"
1670
+ #line 1671 "ext/dtext/dtext.c"
1664
1671
  if ( 49 <= (*( sm->p)) && (*( sm->p)) <= 54 )
1665
1672
  goto tr317;
1666
1673
  goto tr300;
1667
1674
  tr317:
1668
- #line 95 "ext/dtext/dtext.rl"
1675
+ #line 96 "ext/dtext/dtext.rl"
1669
1676
  {
1670
1677
  sm->a1 = sm->p;
1671
1678
  }
@@ -1674,12 +1681,12 @@ st48:
1674
1681
  if ( ++( sm->p) == ( sm->pe) )
1675
1682
  goto _test_eof48;
1676
1683
  case 48:
1677
- #line 1678 "ext/dtext/dtext.c"
1684
+ #line 1685 "ext/dtext/dtext.c"
1678
1685
  if ( (*( sm->p)) == 46 )
1679
1686
  goto tr55;
1680
1687
  goto tr2;
1681
1688
  tr55:
1682
- #line 99 "ext/dtext/dtext.rl"
1689
+ #line 100 "ext/dtext/dtext.rl"
1683
1690
  {
1684
1691
  sm->a2 = sm->p;
1685
1692
  }
@@ -1688,7 +1695,7 @@ st259:
1688
1695
  if ( ++( sm->p) == ( sm->pe) )
1689
1696
  goto _test_eof259;
1690
1697
  case 259:
1691
- #line 1692 "ext/dtext/dtext.c"
1698
+ #line 1699 "ext/dtext/dtext.c"
1692
1699
  switch( (*( sm->p)) ) {
1693
1700
  case 9: goto st259;
1694
1701
  case 32: goto st259;
@@ -1731,7 +1738,6 @@ tr56:
1731
1738
 
1732
1739
  if (sm->list_mode) {
1733
1740
  dstack_close_list(sm);
1734
- sm->list_mode = false;
1735
1741
  }
1736
1742
 
1737
1743
  {( sm->p) = (( sm->ts))-1;}
@@ -1755,7 +1761,7 @@ tr56:
1755
1761
  }
1756
1762
  goto st260;
1757
1763
  tr58:
1758
- #line 597 "ext/dtext/dtext.rl"
1764
+ #line 600 "ext/dtext/dtext.rl"
1759
1765
  {{( sm->p) = ((( sm->te)))-1;}{
1760
1766
  g_debug("inline newline");
1761
1767
 
@@ -1769,18 +1775,18 @@ tr58:
1769
1775
  }}
1770
1776
  goto st260;
1771
1777
  tr63:
1772
- #line 613 "ext/dtext/dtext.rl"
1778
+ #line 616 "ext/dtext/dtext.rl"
1773
1779
  {{( sm->p) = ((( sm->te)))-1;}{
1774
1780
  g_debug("inline char: %c", (*( sm->p)));
1775
1781
  append_c_html_escaped(sm, (*( sm->p)));
1776
1782
  }}
1777
1783
  goto st260;
1778
1784
  tr74:
1779
- #line 107 "ext/dtext/dtext.rl"
1785
+ #line 108 "ext/dtext/dtext.rl"
1780
1786
  {
1781
1787
  sm->b2 = sm->p;
1782
1788
  }
1783
- #line 328 "ext/dtext/dtext.rl"
1789
+ #line 329 "ext/dtext/dtext.rl"
1784
1790
  {( sm->te) = ( sm->p)+1;{
1785
1791
  append(sm, true, "<a href=\"");
1786
1792
  append_segment_html_escaped(sm, sm->b1, sm->b2 - 1);
@@ -1790,7 +1796,7 @@ tr74:
1790
1796
  }}
1791
1797
  goto st260;
1792
1798
  tr122:
1793
- #line 236 "ext/dtext/dtext.rl"
1799
+ #line 237 "ext/dtext/dtext.rl"
1794
1800
  {{( sm->p) = ((( sm->te)))-1;}{
1795
1801
  append(sm, true, "<a href=\"http://www.pixiv.net/member_illust.php?mode=medium&illust_id=");
1796
1802
  append_segment(sm, true, sm->a1, sm->a2 - 1);
@@ -1801,7 +1807,7 @@ tr122:
1801
1807
  }}
1802
1808
  goto st260;
1803
1809
  tr141:
1804
- #line 169 "ext/dtext/dtext.rl"
1810
+ #line 170 "ext/dtext/dtext.rl"
1805
1811
  {{( sm->p) = ((( sm->te)))-1;}{
1806
1812
  append(sm, true, "<a href=\"/forum_topics/");
1807
1813
  append_segment(sm, true, sm->a1, sm->a2 - 1);
@@ -1812,7 +1818,7 @@ tr141:
1812
1818
  }}
1813
1819
  goto st260;
1814
1820
  tr156:
1815
- #line 403 "ext/dtext/dtext.rl"
1821
+ #line 407 "ext/dtext/dtext.rl"
1816
1822
  {( sm->te) = ( sm->p)+1;{
1817
1823
  if (dstack_check(sm, INLINE_B)) {
1818
1824
  dstack_pop(sm);
@@ -1823,7 +1829,7 @@ tr156:
1823
1829
  }}
1824
1830
  goto st260;
1825
1831
  tr162:
1826
- #line 539 "ext/dtext/dtext.rl"
1832
+ #line 543 "ext/dtext/dtext.rl"
1827
1833
  {( sm->te) = ( sm->p)+1;{
1828
1834
  dstack_close_before_block(sm);
1829
1835
 
@@ -1837,7 +1843,7 @@ tr162:
1837
1843
  }}
1838
1844
  goto st260;
1839
1845
  tr163:
1840
- #line 417 "ext/dtext/dtext.rl"
1846
+ #line 421 "ext/dtext/dtext.rl"
1841
1847
  {( sm->te) = ( sm->p)+1;{
1842
1848
  if (dstack_check(sm, INLINE_I)) {
1843
1849
  dstack_pop(sm);
@@ -1848,7 +1854,7 @@ tr163:
1848
1854
  }}
1849
1855
  goto st260;
1850
1856
  tr169:
1851
- #line 431 "ext/dtext/dtext.rl"
1857
+ #line 435 "ext/dtext/dtext.rl"
1852
1858
  {( sm->te) = ( sm->p)+1;{
1853
1859
  if (dstack_check(sm, INLINE_S)) {
1854
1860
  dstack_pop(sm);
@@ -1859,7 +1865,7 @@ tr169:
1859
1865
  }}
1860
1866
  goto st260;
1861
1867
  tr176:
1862
- #line 511 "ext/dtext/dtext.rl"
1868
+ #line 515 "ext/dtext/dtext.rl"
1863
1869
  {( sm->te) = ( sm->p)+1;{
1864
1870
  g_debug("inline [/spoiler]");
1865
1871
  dstack_close_before_block(sm);
@@ -1882,7 +1888,7 @@ tr176:
1882
1888
  }}
1883
1889
  goto st260;
1884
1890
  tr180:
1885
- #line 566 "ext/dtext/dtext.rl"
1891
+ #line 570 "ext/dtext/dtext.rl"
1886
1892
  {( sm->te) = ( sm->p)+1;{
1887
1893
  if (dstack_check(sm, BLOCK_TD)) {
1888
1894
  dstack_pop(sm);
@@ -1894,7 +1900,7 @@ tr180:
1894
1900
  }}
1895
1901
  goto st260;
1896
1902
  tr181:
1897
- #line 556 "ext/dtext/dtext.rl"
1903
+ #line 560 "ext/dtext/dtext.rl"
1898
1904
  {( sm->te) = ( sm->p)+1;{
1899
1905
  if (dstack_check(sm, BLOCK_TH)) {
1900
1906
  dstack_pop(sm);
@@ -1906,7 +1912,7 @@ tr181:
1906
1912
  }}
1907
1913
  goto st260;
1908
1914
  tr182:
1909
- #line 459 "ext/dtext/dtext.rl"
1915
+ #line 463 "ext/dtext/dtext.rl"
1910
1916
  {( sm->te) = ( sm->p)+1;{
1911
1917
  dstack_close_before_block(sm);
1912
1918
 
@@ -1922,7 +1928,7 @@ tr182:
1922
1928
  }}
1923
1929
  goto st260;
1924
1930
  tr183:
1925
- #line 445 "ext/dtext/dtext.rl"
1931
+ #line 449 "ext/dtext/dtext.rl"
1926
1932
  {( sm->te) = ( sm->p)+1;{
1927
1933
  if (dstack_check(sm, INLINE_U)) {
1928
1934
  dstack_pop(sm);
@@ -1933,7 +1939,7 @@ tr183:
1933
1939
  }}
1934
1940
  goto st260;
1935
1941
  tr188:
1936
- #line 266 "ext/dtext/dtext.rl"
1942
+ #line 267 "ext/dtext/dtext.rl"
1937
1943
  {( sm->te) = ( sm->p)+1;{
1938
1944
  GString * segment = g_string_new_len(sm->a1, sm->a2 - sm->a1);
1939
1945
  GString * lowercase_segment = NULL;
@@ -1956,7 +1962,7 @@ tr188:
1956
1962
  }}
1957
1963
  goto st260;
1958
1964
  tr192:
1959
- #line 287 "ext/dtext/dtext.rl"
1965
+ #line 288 "ext/dtext/dtext.rl"
1960
1966
  {( sm->te) = ( sm->p)+1;{
1961
1967
  GString * segment = g_string_new_len(sm->a1, sm->a2 - sm->a1);
1962
1968
  GString * lowercase_segment = NULL;
@@ -1979,14 +1985,14 @@ tr192:
1979
1985
  }}
1980
1986
  goto st260;
1981
1987
  tr193:
1982
- #line 398 "ext/dtext/dtext.rl"
1988
+ #line 402 "ext/dtext/dtext.rl"
1983
1989
  {( sm->te) = ( sm->p)+1;{
1984
1990
  dstack_push(sm, &INLINE_B);
1985
1991
  append(sm, true, "<strong>");
1986
1992
  }}
1987
1993
  goto st260;
1988
1994
  tr199:
1989
- #line 532 "ext/dtext/dtext.rl"
1995
+ #line 536 "ext/dtext/dtext.rl"
1990
1996
  {( sm->te) = ( sm->p)+1;{
1991
1997
  g_debug("inline [expand]");
1992
1998
  dstack_rewind(sm);
@@ -1995,14 +2001,14 @@ tr199:
1995
2001
  }}
1996
2002
  goto st260;
1997
2003
  tr200:
1998
- #line 412 "ext/dtext/dtext.rl"
2004
+ #line 416 "ext/dtext/dtext.rl"
1999
2005
  {( sm->te) = ( sm->p)+1;{
2000
2006
  dstack_push(sm, &INLINE_I);
2001
2007
  append(sm, true, "<em>");
2002
2008
  }}
2003
2009
  goto st260;
2004
2010
  tr207:
2005
- #line 551 "ext/dtext/dtext.rl"
2011
+ #line 555 "ext/dtext/dtext.rl"
2006
2012
  {( sm->te) = ( sm->p)+1;{
2007
2013
  dstack_push(sm, &INLINE_NODTEXT);
2008
2014
  {
@@ -2020,7 +2026,7 @@ tr207:
2020
2026
  }}
2021
2027
  goto st260;
2022
2028
  tr212:
2023
- #line 481 "ext/dtext/dtext.rl"
2029
+ #line 485 "ext/dtext/dtext.rl"
2024
2030
  {( sm->te) = ( sm->p)+1;{
2025
2031
  g_debug("inline [quote]");
2026
2032
  dstack_close_before_block(sm);
@@ -2029,14 +2035,14 @@ tr212:
2029
2035
  }}
2030
2036
  goto st260;
2031
2037
  tr213:
2032
- #line 426 "ext/dtext/dtext.rl"
2038
+ #line 430 "ext/dtext/dtext.rl"
2033
2039
  {( sm->te) = ( sm->p)+1;{
2034
2040
  dstack_push(sm, &INLINE_S);
2035
2041
  append(sm, true, "<s>");
2036
2042
  }}
2037
2043
  goto st260;
2038
2044
  tr220:
2039
- #line 504 "ext/dtext/dtext.rl"
2045
+ #line 508 "ext/dtext/dtext.rl"
2040
2046
  {( sm->te) = ( sm->p)+1;{
2041
2047
  g_debug("inline [spoiler]");
2042
2048
  g_debug(" push <span>");
@@ -2045,21 +2051,21 @@ tr220:
2045
2051
  }}
2046
2052
  goto st260;
2047
2053
  tr222:
2048
- #line 454 "ext/dtext/dtext.rl"
2054
+ #line 458 "ext/dtext/dtext.rl"
2049
2055
  {( sm->te) = ( sm->p)+1;{
2050
2056
  dstack_push(sm, &INLINE_TN);
2051
2057
  append(sm, true, "<span class=\"tn\">");
2052
2058
  }}
2053
2059
  goto st260;
2054
2060
  tr223:
2055
- #line 440 "ext/dtext/dtext.rl"
2061
+ #line 444 "ext/dtext/dtext.rl"
2056
2062
  {( sm->te) = ( sm->p)+1;{
2057
2063
  dstack_push(sm, &INLINE_U);
2058
2064
  append(sm, true, "<u>");
2059
2065
  }}
2060
2066
  goto st260;
2061
2067
  tr235:
2062
- #line 258 "ext/dtext/dtext.rl"
2068
+ #line 259 "ext/dtext/dtext.rl"
2063
2069
  {( sm->te) = ( sm->p)+1;{
2064
2070
  append(sm, true, "<a rel=\"nofollow\" href=\"/posts?tags=");
2065
2071
  append_segment_uri_escaped(sm, sm->a1, sm->a2 - 1);
@@ -2069,14 +2075,14 @@ tr235:
2069
2075
  }}
2070
2076
  goto st260;
2071
2077
  tr320:
2072
- #line 613 "ext/dtext/dtext.rl"
2078
+ #line 616 "ext/dtext/dtext.rl"
2073
2079
  {( sm->te) = ( sm->p)+1;{
2074
2080
  g_debug("inline char: %c", (*( sm->p)));
2075
2081
  append_c_html_escaped(sm, (*( sm->p)));
2076
2082
  }}
2077
2083
  goto st260;
2078
2084
  tr321:
2079
- #line 576 "ext/dtext/dtext.rl"
2085
+ #line 580 "ext/dtext/dtext.rl"
2080
2086
  {( sm->te) = ( sm->p)+1;{
2081
2087
  g_debug("inline 0");
2082
2088
  g_debug(" return");
@@ -2086,7 +2092,7 @@ tr321:
2086
2092
  }}
2087
2093
  goto st260;
2088
2094
  tr336:
2089
- #line 597 "ext/dtext/dtext.rl"
2095
+ #line 600 "ext/dtext/dtext.rl"
2090
2096
  {( sm->te) = ( sm->p);( sm->p)--;{
2091
2097
  g_debug("inline newline");
2092
2098
 
@@ -2100,14 +2106,13 @@ tr336:
2100
2106
  }}
2101
2107
  goto st260;
2102
2108
  tr339:
2103
- #line 584 "ext/dtext/dtext.rl"
2109
+ #line 588 "ext/dtext/dtext.rl"
2104
2110
  {( sm->te) = ( sm->p);( sm->p)--;{
2105
2111
  g_debug("inline newline2");
2106
2112
  g_debug(" return");
2107
2113
 
2108
2114
  if (sm->list_mode) {
2109
2115
  dstack_close_list(sm);
2110
- sm->list_mode = false;
2111
2116
  }
2112
2117
 
2113
2118
  {( sm->p) = (( sm->ts))-1;}
@@ -2116,11 +2121,11 @@ tr339:
2116
2121
  goto st260;
2117
2122
  tr340:
2118
2123
  sm->cs = 260;
2119
- #line 107 "ext/dtext/dtext.rl"
2124
+ #line 108 "ext/dtext/dtext.rl"
2120
2125
  {
2121
2126
  sm->b2 = sm->p;
2122
2127
  }
2123
- #line 382 "ext/dtext/dtext.rl"
2128
+ #line 383 "ext/dtext/dtext.rl"
2124
2129
  {( sm->te) = ( sm->p);( sm->p)--;{
2125
2130
  g_debug("inline list");
2126
2131
 
@@ -2130,6 +2135,9 @@ tr340:
2130
2135
  } else if (dstack_check(sm, BLOCK_P)) {
2131
2136
  g_debug(" rewind p");
2132
2137
  dstack_rewind(sm);
2138
+ } else if (sm->header_mode) {
2139
+ g_debug(" rewind header");
2140
+ dstack_rewind(sm);
2133
2141
  }
2134
2142
 
2135
2143
  g_debug(" next list");
@@ -2138,24 +2146,24 @@ tr340:
2138
2146
  }}
2139
2147
  goto _again;
2140
2148
  tr342:
2141
- #line 609 "ext/dtext/dtext.rl"
2149
+ #line 612 "ext/dtext/dtext.rl"
2142
2150
  {( sm->te) = ( sm->p);( sm->p)--;{
2143
2151
  append_c(sm, ' ');
2144
2152
  }}
2145
2153
  goto st260;
2146
2154
  tr343:
2147
- #line 613 "ext/dtext/dtext.rl"
2155
+ #line 616 "ext/dtext/dtext.rl"
2148
2156
  {( sm->te) = ( sm->p);( sm->p)--;{
2149
2157
  g_debug("inline char: %c", (*( sm->p)));
2150
2158
  append_c_html_escaped(sm, (*( sm->p)));
2151
2159
  }}
2152
2160
  goto st260;
2153
2161
  tr345:
2154
- #line 107 "ext/dtext/dtext.rl"
2162
+ #line 108 "ext/dtext/dtext.rl"
2155
2163
  {
2156
2164
  sm->b2 = sm->p;
2157
2165
  }
2158
- #line 308 "ext/dtext/dtext.rl"
2166
+ #line 309 "ext/dtext/dtext.rl"
2159
2167
  {( sm->te) = ( sm->p);( sm->p)--;{
2160
2168
  if (is_boundary_c((*( sm->p)))) {
2161
2169
  sm->d = 2;
@@ -2177,11 +2185,11 @@ tr345:
2177
2185
  }}
2178
2186
  goto st260;
2179
2187
  tr347:
2180
- #line 99 "ext/dtext/dtext.rl"
2188
+ #line 100 "ext/dtext/dtext.rl"
2181
2189
  {
2182
2190
  sm->a2 = sm->p;
2183
2191
  }
2184
- #line 361 "ext/dtext/dtext.rl"
2192
+ #line 362 "ext/dtext/dtext.rl"
2185
2193
  {( sm->te) = ( sm->p);( sm->p)--;{
2186
2194
  if (is_boundary_c((*( sm->p)))) {
2187
2195
  sm->b = true;
@@ -2204,7 +2212,7 @@ tr347:
2204
2212
  }}
2205
2213
  goto st260;
2206
2214
  tr350:
2207
- #line 99 "ext/dtext/dtext.rl"
2215
+ #line 100 "ext/dtext/dtext.rl"
2208
2216
  {
2209
2217
  sm->a2 = sm->p;
2210
2218
  }
@@ -2244,7 +2252,6 @@ tr350:
2244
2252
 
2245
2253
  if (sm->list_mode) {
2246
2254
  dstack_close_list(sm);
2247
- sm->list_mode = false;
2248
2255
  }
2249
2256
 
2250
2257
  {( sm->p) = (( sm->ts))-1;}
@@ -2268,11 +2275,11 @@ tr350:
2268
2275
  }
2269
2276
  goto st260;
2270
2277
  tr352:
2271
- #line 99 "ext/dtext/dtext.rl"
2278
+ #line 100 "ext/dtext/dtext.rl"
2272
2279
  {
2273
2280
  sm->a2 = sm->p;
2274
2281
  }
2275
- #line 218 "ext/dtext/dtext.rl"
2282
+ #line 219 "ext/dtext/dtext.rl"
2276
2283
  {( sm->te) = ( sm->p);( sm->p)--;{
2277
2284
  append(sm, true, "<a href=\"/artists/");
2278
2285
  append_segment(sm, true, sm->a1, sm->a2 - 1);
@@ -2283,11 +2290,11 @@ tr352:
2283
2290
  }}
2284
2291
  goto st260;
2285
2292
  tr355:
2286
- #line 99 "ext/dtext/dtext.rl"
2293
+ #line 100 "ext/dtext/dtext.rl"
2287
2294
  {
2288
2295
  sm->a2 = sm->p;
2289
2296
  }
2290
- #line 191 "ext/dtext/dtext.rl"
2297
+ #line 192 "ext/dtext/dtext.rl"
2291
2298
  {( sm->te) = ( sm->p);( sm->p)--;{
2292
2299
  append(sm, true, "<a href=\"/comments/");
2293
2300
  append_segment(sm, true, sm->a1, sm->a2 - 1);
@@ -2298,11 +2305,11 @@ tr355:
2298
2305
  }}
2299
2306
  goto st260;
2300
2307
  tr358:
2301
- #line 99 "ext/dtext/dtext.rl"
2308
+ #line 100 "ext/dtext/dtext.rl"
2302
2309
  {
2303
2310
  sm->a2 = sm->p;
2304
2311
  }
2305
- #line 160 "ext/dtext/dtext.rl"
2312
+ #line 161 "ext/dtext/dtext.rl"
2306
2313
  {( sm->te) = ( sm->p);( sm->p)--;{
2307
2314
  append(sm, true, "<a href=\"/forum_posts/");
2308
2315
  append_segment(sm, true, sm->a1, sm->a2 - 1);
@@ -2313,11 +2320,11 @@ tr358:
2313
2320
  }}
2314
2321
  goto st260;
2315
2322
  tr361:
2316
- #line 99 "ext/dtext/dtext.rl"
2323
+ #line 100 "ext/dtext/dtext.rl"
2317
2324
  {
2318
2325
  sm->a2 = sm->p;
2319
2326
  }
2320
- #line 227 "ext/dtext/dtext.rl"
2327
+ #line 228 "ext/dtext/dtext.rl"
2321
2328
  {( sm->te) = ( sm->p);( sm->p)--;{
2322
2329
  append(sm, true, "<a href=\"https://github.com/r888888888/danbooru/issues/");
2323
2330
  append_segment(sm, true, sm->a1, sm->a2 - 1);
@@ -2328,11 +2335,11 @@ tr361:
2328
2335
  }}
2329
2336
  goto st260;
2330
2337
  tr365:
2331
- #line 99 "ext/dtext/dtext.rl"
2338
+ #line 100 "ext/dtext/dtext.rl"
2332
2339
  {
2333
2340
  sm->a2 = sm->p;
2334
2341
  }
2335
- #line 236 "ext/dtext/dtext.rl"
2342
+ #line 237 "ext/dtext/dtext.rl"
2336
2343
  {( sm->te) = ( sm->p);( sm->p)--;{
2337
2344
  append(sm, true, "<a href=\"http://www.pixiv.net/member_illust.php?mode=medium&illust_id=");
2338
2345
  append_segment(sm, true, sm->a1, sm->a2 - 1);
@@ -2343,11 +2350,11 @@ tr365:
2343
2350
  }}
2344
2351
  goto st260;
2345
2352
  tr368:
2346
- #line 107 "ext/dtext/dtext.rl"
2353
+ #line 108 "ext/dtext/dtext.rl"
2347
2354
  {
2348
2355
  sm->b2 = sm->p;
2349
2356
  }
2350
- #line 245 "ext/dtext/dtext.rl"
2357
+ #line 246 "ext/dtext/dtext.rl"
2351
2358
  {( sm->te) = ( sm->p);( sm->p)--;{
2352
2359
  append(sm, true, "<a href=\"http://www.pixiv.net/member_illust.php?mode=manga_big&illust_id=");
2353
2360
  append_segment(sm, true, sm->a1, sm->a2 - 1);
@@ -2362,11 +2369,11 @@ tr368:
2362
2369
  }}
2363
2370
  goto st260;
2364
2371
  tr370:
2365
- #line 99 "ext/dtext/dtext.rl"
2372
+ #line 100 "ext/dtext/dtext.rl"
2366
2373
  {
2367
2374
  sm->a2 = sm->p;
2368
2375
  }
2369
- #line 200 "ext/dtext/dtext.rl"
2376
+ #line 201 "ext/dtext/dtext.rl"
2370
2377
  {( sm->te) = ( sm->p);( sm->p)--;{
2371
2378
  append(sm, true, "<a href=\"/pools/");
2372
2379
  append_segment(sm, true, sm->a1, sm->a2 - 1);
@@ -2377,11 +2384,11 @@ tr370:
2377
2384
  }}
2378
2385
  goto st260;
2379
2386
  tr372:
2380
- #line 99 "ext/dtext/dtext.rl"
2387
+ #line 100 "ext/dtext/dtext.rl"
2381
2388
  {
2382
2389
  sm->a2 = sm->p;
2383
2390
  }
2384
- #line 151 "ext/dtext/dtext.rl"
2391
+ #line 152 "ext/dtext/dtext.rl"
2385
2392
  {( sm->te) = ( sm->p);( sm->p)--;{
2386
2393
  append(sm, true, "<a href=\"/posts/");
2387
2394
  append_segment(sm, true, sm->a1, sm->a2 - 1);
@@ -2392,11 +2399,11 @@ tr372:
2392
2399
  }}
2393
2400
  goto st260;
2394
2401
  tr375:
2395
- #line 99 "ext/dtext/dtext.rl"
2402
+ #line 100 "ext/dtext/dtext.rl"
2396
2403
  {
2397
2404
  sm->a2 = sm->p;
2398
2405
  }
2399
- #line 169 "ext/dtext/dtext.rl"
2406
+ #line 170 "ext/dtext/dtext.rl"
2400
2407
  {( sm->te) = ( sm->p);( sm->p)--;{
2401
2408
  append(sm, true, "<a href=\"/forum_topics/");
2402
2409
  append_segment(sm, true, sm->a1, sm->a2 - 1);
@@ -2407,11 +2414,11 @@ tr375:
2407
2414
  }}
2408
2415
  goto st260;
2409
2416
  tr378:
2410
- #line 107 "ext/dtext/dtext.rl"
2417
+ #line 108 "ext/dtext/dtext.rl"
2411
2418
  {
2412
2419
  sm->b2 = sm->p;
2413
2420
  }
2414
- #line 178 "ext/dtext/dtext.rl"
2421
+ #line 179 "ext/dtext/dtext.rl"
2415
2422
  {( sm->te) = ( sm->p);( sm->p)--;{
2416
2423
  append(sm, true, "<a href=\"/forum_topics/");
2417
2424
  append_segment(sm, true, sm->a1, sm->a2 - 1);
@@ -2426,11 +2433,11 @@ tr378:
2426
2433
  }}
2427
2434
  goto st260;
2428
2435
  tr381:
2429
- #line 99 "ext/dtext/dtext.rl"
2436
+ #line 100 "ext/dtext/dtext.rl"
2430
2437
  {
2431
2438
  sm->a2 = sm->p;
2432
2439
  }
2433
- #line 209 "ext/dtext/dtext.rl"
2440
+ #line 210 "ext/dtext/dtext.rl"
2434
2441
  {( sm->te) = ( sm->p);( sm->p)--;{
2435
2442
  append(sm, true, "<a href=\"/users/");
2436
2443
  append_segment(sm, true, sm->a1, sm->a2 - 1);
@@ -2441,7 +2448,7 @@ tr381:
2441
2448
  }}
2442
2449
  goto st260;
2443
2450
  tr393:
2444
- #line 488 "ext/dtext/dtext.rl"
2451
+ #line 492 "ext/dtext/dtext.rl"
2445
2452
  {( sm->te) = ( sm->p);( sm->p)--;{
2446
2453
  g_debug("inline [/quote]");
2447
2454
  dstack_close_before_block(sm);
@@ -2459,7 +2466,7 @@ tr393:
2459
2466
  }}
2460
2467
  goto st260;
2461
2468
  tr396:
2462
- #line 475 "ext/dtext/dtext.rl"
2469
+ #line 479 "ext/dtext/dtext.rl"
2463
2470
  {( sm->te) = ( sm->p);( sm->p)--;{
2464
2471
  dstack_rewind(sm);
2465
2472
  {( sm->p) = (( sm->a1 - 1))-1;}
@@ -2467,7 +2474,7 @@ tr396:
2467
2474
  }}
2468
2475
  goto st260;
2469
2476
  tr398:
2470
- #line 336 "ext/dtext/dtext.rl"
2477
+ #line 337 "ext/dtext/dtext.rl"
2471
2478
  {( sm->te) = ( sm->p);( sm->p)--;{
2472
2479
  if (is_boundary_c((*( sm->p)))) {
2473
2480
  sm->b = true;
@@ -2496,7 +2503,7 @@ st260:
2496
2503
  case 260:
2497
2504
  #line 1 "NONE"
2498
2505
  {( sm->ts) = ( sm->p);}
2499
- #line 2500 "ext/dtext/dtext.c"
2506
+ #line 2507 "ext/dtext/dtext.c"
2500
2507
  switch( (*( sm->p)) ) {
2501
2508
  case 0: goto tr321;
2502
2509
  case 10: goto tr322;
@@ -2525,14 +2532,14 @@ case 260:
2525
2532
  tr322:
2526
2533
  #line 1 "NONE"
2527
2534
  {( sm->te) = ( sm->p)+1;}
2528
- #line 597 "ext/dtext/dtext.rl"
2535
+ #line 600 "ext/dtext/dtext.rl"
2529
2536
  {( sm->act) = 43;}
2530
2537
  goto st261;
2531
2538
  st261:
2532
2539
  if ( ++( sm->p) == ( sm->pe) )
2533
2540
  goto _test_eof261;
2534
2541
  case 261:
2535
- #line 2536 "ext/dtext/dtext.c"
2542
+ #line 2543 "ext/dtext/dtext.c"
2536
2543
  switch( (*( sm->p)) ) {
2537
2544
  case 10: goto tr57;
2538
2545
  case 13: goto st49;
@@ -2542,14 +2549,14 @@ case 261:
2542
2549
  tr57:
2543
2550
  #line 1 "NONE"
2544
2551
  {( sm->te) = ( sm->p)+1;}
2545
- #line 584 "ext/dtext/dtext.rl"
2552
+ #line 588 "ext/dtext/dtext.rl"
2546
2553
  {( sm->act) = 42;}
2547
2554
  goto st262;
2548
2555
  st262:
2549
2556
  if ( ++( sm->p) == ( sm->pe) )
2550
2557
  goto _test_eof262;
2551
2558
  case 262:
2552
- #line 2553 "ext/dtext/dtext.c"
2559
+ #line 2560 "ext/dtext/dtext.c"
2553
2560
  switch( (*( sm->p)) ) {
2554
2561
  case 10: goto tr57;
2555
2562
  case 13: goto st49;
@@ -2563,7 +2570,7 @@ case 49:
2563
2570
  goto tr57;
2564
2571
  goto tr56;
2565
2572
  tr338:
2566
- #line 95 "ext/dtext/dtext.rl"
2573
+ #line 96 "ext/dtext/dtext.rl"
2567
2574
  {
2568
2575
  sm->a1 = sm->p;
2569
2576
  }
@@ -2572,7 +2579,7 @@ st50:
2572
2579
  if ( ++( sm->p) == ( sm->pe) )
2573
2580
  goto _test_eof50;
2574
2581
  case 50:
2575
- #line 2576 "ext/dtext/dtext.c"
2582
+ #line 2583 "ext/dtext/dtext.c"
2576
2583
  switch( (*( sm->p)) ) {
2577
2584
  case 9: goto tr59;
2578
2585
  case 32: goto tr59;
@@ -2580,7 +2587,7 @@ case 50:
2580
2587
  }
2581
2588
  goto tr58;
2582
2589
  tr59:
2583
- #line 99 "ext/dtext/dtext.rl"
2590
+ #line 100 "ext/dtext/dtext.rl"
2584
2591
  {
2585
2592
  sm->a2 = sm->p;
2586
2593
  }
@@ -2589,7 +2596,7 @@ st51:
2589
2596
  if ( ++( sm->p) == ( sm->pe) )
2590
2597
  goto _test_eof51;
2591
2598
  case 51:
2592
- #line 2593 "ext/dtext/dtext.c"
2599
+ #line 2600 "ext/dtext/dtext.c"
2593
2600
  switch( (*( sm->p)) ) {
2594
2601
  case 0: goto tr58;
2595
2602
  case 9: goto tr62;
@@ -2599,7 +2606,7 @@ case 51:
2599
2606
  }
2600
2607
  goto tr61;
2601
2608
  tr61:
2602
- #line 103 "ext/dtext/dtext.rl"
2609
+ #line 104 "ext/dtext/dtext.rl"
2603
2610
  {
2604
2611
  sm->b1 = sm->p;
2605
2612
  }
@@ -2608,7 +2615,7 @@ st263:
2608
2615
  if ( ++( sm->p) == ( sm->pe) )
2609
2616
  goto _test_eof263;
2610
2617
  case 263:
2611
- #line 2612 "ext/dtext/dtext.c"
2618
+ #line 2619 "ext/dtext/dtext.c"
2612
2619
  switch( (*( sm->p)) ) {
2613
2620
  case 0: goto tr340;
2614
2621
  case 10: goto tr340;
@@ -2616,7 +2623,7 @@ case 263:
2616
2623
  }
2617
2624
  goto st263;
2618
2625
  tr62:
2619
- #line 103 "ext/dtext/dtext.rl"
2626
+ #line 104 "ext/dtext/dtext.rl"
2620
2627
  {
2621
2628
  sm->b1 = sm->p;
2622
2629
  }
@@ -2625,7 +2632,7 @@ st264:
2625
2632
  if ( ++( sm->p) == ( sm->pe) )
2626
2633
  goto _test_eof264;
2627
2634
  case 264:
2628
- #line 2629 "ext/dtext/dtext.c"
2635
+ #line 2636 "ext/dtext/dtext.c"
2629
2636
  switch( (*( sm->p)) ) {
2630
2637
  case 0: goto tr340;
2631
2638
  case 9: goto tr62;
@@ -2649,12 +2656,12 @@ st266:
2649
2656
  if ( ++( sm->p) == ( sm->pe) )
2650
2657
  goto _test_eof266;
2651
2658
  case 266:
2652
- #line 2653 "ext/dtext/dtext.c"
2659
+ #line 2660 "ext/dtext/dtext.c"
2653
2660
  if ( (*( sm->p)) == 34 )
2654
2661
  goto tr343;
2655
2662
  goto tr344;
2656
2663
  tr344:
2657
- #line 95 "ext/dtext/dtext.rl"
2664
+ #line 96 "ext/dtext/dtext.rl"
2658
2665
  {
2659
2666
  sm->a1 = sm->p;
2660
2667
  }
@@ -2663,12 +2670,12 @@ st52:
2663
2670
  if ( ++( sm->p) == ( sm->pe) )
2664
2671
  goto _test_eof52;
2665
2672
  case 52:
2666
- #line 2667 "ext/dtext/dtext.c"
2673
+ #line 2674 "ext/dtext/dtext.c"
2667
2674
  if ( (*( sm->p)) == 34 )
2668
2675
  goto tr65;
2669
2676
  goto st52;
2670
2677
  tr65:
2671
- #line 99 "ext/dtext/dtext.rl"
2678
+ #line 100 "ext/dtext/dtext.rl"
2672
2679
  {
2673
2680
  sm->a2 = sm->p;
2674
2681
  }
@@ -2677,7 +2684,7 @@ st53:
2677
2684
  if ( ++( sm->p) == ( sm->pe) )
2678
2685
  goto _test_eof53;
2679
2686
  case 53:
2680
- #line 2681 "ext/dtext/dtext.c"
2687
+ #line 2688 "ext/dtext/dtext.c"
2681
2688
  if ( (*( sm->p)) == 58 )
2682
2689
  goto st54;
2683
2690
  goto tr63;
@@ -2692,7 +2699,7 @@ case 54:
2692
2699
  }
2693
2700
  goto tr63;
2694
2701
  tr67:
2695
- #line 103 "ext/dtext/dtext.rl"
2702
+ #line 104 "ext/dtext/dtext.rl"
2696
2703
  {
2697
2704
  sm->b1 = sm->p;
2698
2705
  }
@@ -2701,7 +2708,7 @@ st55:
2701
2708
  if ( ++( sm->p) == ( sm->pe) )
2702
2709
  goto _test_eof55;
2703
2710
  case 55:
2704
- #line 2705 "ext/dtext/dtext.c"
2711
+ #line 2712 "ext/dtext/dtext.c"
2705
2712
  if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 )
2706
2713
  goto st267;
2707
2714
  goto tr63;
@@ -2722,7 +2729,7 @@ case 56:
2722
2729
  }
2723
2730
  goto tr63;
2724
2731
  tr71:
2725
- #line 103 "ext/dtext/dtext.rl"
2732
+ #line 104 "ext/dtext/dtext.rl"
2726
2733
  {
2727
2734
  sm->b1 = sm->p;
2728
2735
  }
@@ -2731,7 +2738,7 @@ st57:
2731
2738
  if ( ++( sm->p) == ( sm->pe) )
2732
2739
  goto _test_eof57;
2733
2740
  case 57:
2734
- #line 2735 "ext/dtext/dtext.c"
2741
+ #line 2742 "ext/dtext/dtext.c"
2735
2742
  if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 )
2736
2743
  goto st58;
2737
2744
  goto tr63;
@@ -2745,7 +2752,7 @@ case 58:
2745
2752
  goto st58;
2746
2753
  goto tr63;
2747
2754
  tr72:
2748
- #line 103 "ext/dtext/dtext.rl"
2755
+ #line 104 "ext/dtext/dtext.rl"
2749
2756
  {
2750
2757
  sm->b1 = sm->p;
2751
2758
  }
@@ -2754,7 +2761,7 @@ st59:
2754
2761
  if ( ++( sm->p) == ( sm->pe) )
2755
2762
  goto _test_eof59;
2756
2763
  case 59:
2757
- #line 2758 "ext/dtext/dtext.c"
2764
+ #line 2765 "ext/dtext/dtext.c"
2758
2765
  if ( (*( sm->p)) == 116 )
2759
2766
  goto st60;
2760
2767
  goto tr63;
@@ -2803,7 +2810,7 @@ case 65:
2803
2810
  goto st63;
2804
2811
  goto tr63;
2805
2812
  tr69:
2806
- #line 103 "ext/dtext/dtext.rl"
2813
+ #line 104 "ext/dtext/dtext.rl"
2807
2814
  {
2808
2815
  sm->b1 = sm->p;
2809
2816
  }
@@ -2812,7 +2819,7 @@ st66:
2812
2819
  if ( ++( sm->p) == ( sm->pe) )
2813
2820
  goto _test_eof66;
2814
2821
  case 66:
2815
- #line 2816 "ext/dtext/dtext.c"
2822
+ #line 2823 "ext/dtext/dtext.c"
2816
2823
  if ( (*( sm->p)) == 116 )
2817
2824
  goto st67;
2818
2825
  goto tr63;
@@ -2868,7 +2875,7 @@ case 268:
2868
2875
  goto tr346;
2869
2876
  goto tr343;
2870
2877
  tr346:
2871
- #line 95 "ext/dtext/dtext.rl"
2878
+ #line 96 "ext/dtext/dtext.rl"
2872
2879
  {
2873
2880
  sm->a1 = sm->p;
2874
2881
  }
@@ -2877,7 +2884,7 @@ st269:
2877
2884
  if ( ++( sm->p) == ( sm->pe) )
2878
2885
  goto _test_eof269;
2879
2886
  case 269:
2880
- #line 2881 "ext/dtext/dtext.c"
2887
+ #line 2888 "ext/dtext/dtext.c"
2881
2888
  if ( (*( sm->p)) == 64 )
2882
2889
  goto tr349;
2883
2890
  if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 )
@@ -2886,20 +2893,20 @@ case 269:
2886
2893
  tr348:
2887
2894
  #line 1 "NONE"
2888
2895
  {( sm->te) = ( sm->p)+1;}
2889
- #line 361 "ext/dtext/dtext.rl"
2896
+ #line 362 "ext/dtext/dtext.rl"
2890
2897
  {( sm->act) = 19;}
2891
2898
  goto st270;
2892
2899
  tr349:
2893
2900
  #line 1 "NONE"
2894
2901
  {( sm->te) = ( sm->p)+1;}
2895
- #line 357 "ext/dtext/dtext.rl"
2902
+ #line 358 "ext/dtext/dtext.rl"
2896
2903
  {( sm->act) = 18;}
2897
2904
  goto st270;
2898
2905
  st270:
2899
2906
  if ( ++( sm->p) == ( sm->pe) )
2900
2907
  goto _test_eof270;
2901
2908
  case 270:
2902
- #line 2903 "ext/dtext/dtext.c"
2909
+ #line 2910 "ext/dtext/dtext.c"
2903
2910
  if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 )
2904
2911
  goto tr348;
2905
2912
  goto tr350;
@@ -2911,7 +2918,7 @@ st271:
2911
2918
  if ( ++( sm->p) == ( sm->pe) )
2912
2919
  goto _test_eof271;
2913
2920
  case 271:
2914
- #line 2915 "ext/dtext/dtext.c"
2921
+ #line 2922 "ext/dtext/dtext.c"
2915
2922
  switch( (*( sm->p)) ) {
2916
2923
  case 82: goto st73;
2917
2924
  case 114: goto st73;
@@ -2975,7 +2982,7 @@ case 79:
2975
2982
  goto tr95;
2976
2983
  goto tr63;
2977
2984
  tr95:
2978
- #line 95 "ext/dtext/dtext.rl"
2985
+ #line 96 "ext/dtext/dtext.rl"
2979
2986
  {
2980
2987
  sm->a1 = sm->p;
2981
2988
  }
@@ -2984,7 +2991,7 @@ st272:
2984
2991
  if ( ++( sm->p) == ( sm->pe) )
2985
2992
  goto _test_eof272;
2986
2993
  case 272:
2987
- #line 2988 "ext/dtext/dtext.c"
2994
+ #line 2995 "ext/dtext/dtext.c"
2988
2995
  if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 )
2989
2996
  goto st272;
2990
2997
  goto tr352;
@@ -2996,7 +3003,7 @@ st273:
2996
3003
  if ( ++( sm->p) == ( sm->pe) )
2997
3004
  goto _test_eof273;
2998
3005
  case 273:
2999
- #line 3000 "ext/dtext/dtext.c"
3006
+ #line 3007 "ext/dtext/dtext.c"
3000
3007
  switch( (*( sm->p)) ) {
3001
3008
  case 79: goto st80;
3002
3009
  case 111: goto st80;
@@ -3069,7 +3076,7 @@ case 87:
3069
3076
  goto tr103;
3070
3077
  goto tr63;
3071
3078
  tr103:
3072
- #line 95 "ext/dtext/dtext.rl"
3079
+ #line 96 "ext/dtext/dtext.rl"
3073
3080
  {
3074
3081
  sm->a1 = sm->p;
3075
3082
  }
@@ -3078,7 +3085,7 @@ st274:
3078
3085
  if ( ++( sm->p) == ( sm->pe) )
3079
3086
  goto _test_eof274;
3080
3087
  case 274:
3081
- #line 3082 "ext/dtext/dtext.c"
3088
+ #line 3089 "ext/dtext/dtext.c"
3082
3089
  if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 )
3083
3090
  goto st274;
3084
3091
  goto tr355;
@@ -3090,7 +3097,7 @@ st275:
3090
3097
  if ( ++( sm->p) == ( sm->pe) )
3091
3098
  goto _test_eof275;
3092
3099
  case 275:
3093
- #line 3094 "ext/dtext/dtext.c"
3100
+ #line 3101 "ext/dtext/dtext.c"
3094
3101
  switch( (*( sm->p)) ) {
3095
3102
  case 79: goto st88;
3096
3103
  case 111: goto st88;
@@ -3145,7 +3152,7 @@ case 93:
3145
3152
  goto tr109;
3146
3153
  goto tr63;
3147
3154
  tr109:
3148
- #line 95 "ext/dtext/dtext.rl"
3155
+ #line 96 "ext/dtext/dtext.rl"
3149
3156
  {
3150
3157
  sm->a1 = sm->p;
3151
3158
  }
@@ -3154,7 +3161,7 @@ st276:
3154
3161
  if ( ++( sm->p) == ( sm->pe) )
3155
3162
  goto _test_eof276;
3156
3163
  case 276:
3157
- #line 3158 "ext/dtext/dtext.c"
3164
+ #line 3165 "ext/dtext/dtext.c"
3158
3165
  if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 )
3159
3166
  goto st276;
3160
3167
  goto tr358;
@@ -3166,7 +3173,7 @@ st277:
3166
3173
  if ( ++( sm->p) == ( sm->pe) )
3167
3174
  goto _test_eof277;
3168
3175
  case 277:
3169
- #line 3170 "ext/dtext/dtext.c"
3176
+ #line 3177 "ext/dtext/dtext.c"
3170
3177
  switch( (*( sm->p)) ) {
3171
3178
  case 83: goto st94;
3172
3179
  case 115: goto st94;
@@ -3221,7 +3228,7 @@ case 99:
3221
3228
  goto tr115;
3222
3229
  goto tr63;
3223
3230
  tr115:
3224
- #line 95 "ext/dtext/dtext.rl"
3231
+ #line 96 "ext/dtext/dtext.rl"
3225
3232
  {
3226
3233
  sm->a1 = sm->p;
3227
3234
  }
@@ -3230,7 +3237,7 @@ st278:
3230
3237
  if ( ++( sm->p) == ( sm->pe) )
3231
3238
  goto _test_eof278;
3232
3239
  case 278:
3233
- #line 3234 "ext/dtext/dtext.c"
3240
+ #line 3241 "ext/dtext/dtext.c"
3234
3241
  if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 )
3235
3242
  goto st278;
3236
3243
  goto tr361;
@@ -3242,7 +3249,7 @@ st279:
3242
3249
  if ( ++( sm->p) == ( sm->pe) )
3243
3250
  goto _test_eof279;
3244
3251
  case 279:
3245
- #line 3246 "ext/dtext/dtext.c"
3252
+ #line 3253 "ext/dtext/dtext.c"
3246
3253
  switch( (*( sm->p)) ) {
3247
3254
  case 73: goto st100;
3248
3255
  case 79: goto st108;
@@ -3301,7 +3308,7 @@ case 105:
3301
3308
  tr121:
3302
3309
  #line 1 "NONE"
3303
3310
  {( sm->te) = ( sm->p)+1;}
3304
- #line 95 "ext/dtext/dtext.rl"
3311
+ #line 96 "ext/dtext/dtext.rl"
3305
3312
  {
3306
3313
  sm->a1 = sm->p;
3307
3314
  }
@@ -3314,14 +3321,14 @@ st280:
3314
3321
  if ( ++( sm->p) == ( sm->pe) )
3315
3322
  goto _test_eof280;
3316
3323
  case 280:
3317
- #line 3318 "ext/dtext/dtext.c"
3324
+ #line 3325 "ext/dtext/dtext.c"
3318
3325
  if ( (*( sm->p)) == 47 )
3319
3326
  goto tr366;
3320
3327
  if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 )
3321
3328
  goto tr367;
3322
3329
  goto tr365;
3323
3330
  tr366:
3324
- #line 99 "ext/dtext/dtext.rl"
3331
+ #line 100 "ext/dtext/dtext.rl"
3325
3332
  {
3326
3333
  sm->a2 = sm->p;
3327
3334
  }
@@ -3330,7 +3337,7 @@ st106:
3330
3337
  if ( ++( sm->p) == ( sm->pe) )
3331
3338
  goto _test_eof106;
3332
3339
  case 106:
3333
- #line 3334 "ext/dtext/dtext.c"
3340
+ #line 3341 "ext/dtext/dtext.c"
3334
3341
  if ( (*( sm->p)) == 112 )
3335
3342
  goto st107;
3336
3343
  goto tr122;
@@ -3342,7 +3349,7 @@ case 107:
3342
3349
  goto tr124;
3343
3350
  goto tr122;
3344
3351
  tr124:
3345
- #line 103 "ext/dtext/dtext.rl"
3352
+ #line 104 "ext/dtext/dtext.rl"
3346
3353
  {
3347
3354
  sm->b1 = sm->p;
3348
3355
  }
@@ -3351,7 +3358,7 @@ st281:
3351
3358
  if ( ++( sm->p) == ( sm->pe) )
3352
3359
  goto _test_eof281;
3353
3360
  case 281:
3354
- #line 3355 "ext/dtext/dtext.c"
3361
+ #line 3362 "ext/dtext/dtext.c"
3355
3362
  if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 )
3356
3363
  goto st281;
3357
3364
  goto tr368;
@@ -3397,7 +3404,7 @@ case 112:
3397
3404
  goto tr130;
3398
3405
  goto tr63;
3399
3406
  tr130:
3400
- #line 95 "ext/dtext/dtext.rl"
3407
+ #line 96 "ext/dtext/dtext.rl"
3401
3408
  {
3402
3409
  sm->a1 = sm->p;
3403
3410
  }
@@ -3406,7 +3413,7 @@ st282:
3406
3413
  if ( ++( sm->p) == ( sm->pe) )
3407
3414
  goto _test_eof282;
3408
3415
  case 282:
3409
- #line 3410 "ext/dtext/dtext.c"
3416
+ #line 3417 "ext/dtext/dtext.c"
3410
3417
  if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 )
3411
3418
  goto st282;
3412
3419
  goto tr370;
@@ -3441,7 +3448,7 @@ case 116:
3441
3448
  goto tr134;
3442
3449
  goto tr63;
3443
3450
  tr134:
3444
- #line 95 "ext/dtext/dtext.rl"
3451
+ #line 96 "ext/dtext/dtext.rl"
3445
3452
  {
3446
3453
  sm->a1 = sm->p;
3447
3454
  }
@@ -3450,7 +3457,7 @@ st283:
3450
3457
  if ( ++( sm->p) == ( sm->pe) )
3451
3458
  goto _test_eof283;
3452
3459
  case 283:
3453
- #line 3454 "ext/dtext/dtext.c"
3460
+ #line 3461 "ext/dtext/dtext.c"
3454
3461
  if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 )
3455
3462
  goto st283;
3456
3463
  goto tr372;
@@ -3462,7 +3469,7 @@ st284:
3462
3469
  if ( ++( sm->p) == ( sm->pe) )
3463
3470
  goto _test_eof284;
3464
3471
  case 284:
3465
- #line 3466 "ext/dtext/dtext.c"
3472
+ #line 3473 "ext/dtext/dtext.c"
3466
3473
  switch( (*( sm->p)) ) {
3467
3474
  case 79: goto st117;
3468
3475
  case 111: goto st117;
@@ -3519,7 +3526,7 @@ case 122:
3519
3526
  tr140:
3520
3527
  #line 1 "NONE"
3521
3528
  {( sm->te) = ( sm->p)+1;}
3522
- #line 95 "ext/dtext/dtext.rl"
3529
+ #line 96 "ext/dtext/dtext.rl"
3523
3530
  {
3524
3531
  sm->a1 = sm->p;
3525
3532
  }
@@ -3532,14 +3539,14 @@ st285:
3532
3539
  if ( ++( sm->p) == ( sm->pe) )
3533
3540
  goto _test_eof285;
3534
3541
  case 285:
3535
- #line 3536 "ext/dtext/dtext.c"
3542
+ #line 3543 "ext/dtext/dtext.c"
3536
3543
  if ( (*( sm->p)) == 47 )
3537
3544
  goto tr376;
3538
3545
  if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 )
3539
3546
  goto tr377;
3540
3547
  goto tr375;
3541
3548
  tr376:
3542
- #line 99 "ext/dtext/dtext.rl"
3549
+ #line 100 "ext/dtext/dtext.rl"
3543
3550
  {
3544
3551
  sm->a2 = sm->p;
3545
3552
  }
@@ -3548,7 +3555,7 @@ st123:
3548
3555
  if ( ++( sm->p) == ( sm->pe) )
3549
3556
  goto _test_eof123;
3550
3557
  case 123:
3551
- #line 3552 "ext/dtext/dtext.c"
3558
+ #line 3559 "ext/dtext/dtext.c"
3552
3559
  if ( (*( sm->p)) == 112 )
3553
3560
  goto st124;
3554
3561
  goto tr141;
@@ -3560,7 +3567,7 @@ case 124:
3560
3567
  goto tr143;
3561
3568
  goto tr141;
3562
3569
  tr143:
3563
- #line 103 "ext/dtext/dtext.rl"
3570
+ #line 104 "ext/dtext/dtext.rl"
3564
3571
  {
3565
3572
  sm->b1 = sm->p;
3566
3573
  }
@@ -3569,7 +3576,7 @@ st286:
3569
3576
  if ( ++( sm->p) == ( sm->pe) )
3570
3577
  goto _test_eof286;
3571
3578
  case 286:
3572
- #line 3573 "ext/dtext/dtext.c"
3579
+ #line 3580 "ext/dtext/dtext.c"
3573
3580
  if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 )
3574
3581
  goto st286;
3575
3582
  goto tr378;
@@ -3581,7 +3588,7 @@ st287:
3581
3588
  if ( ++( sm->p) == ( sm->pe) )
3582
3589
  goto _test_eof287;
3583
3590
  case 287:
3584
- #line 3585 "ext/dtext/dtext.c"
3591
+ #line 3592 "ext/dtext/dtext.c"
3585
3592
  switch( (*( sm->p)) ) {
3586
3593
  case 83: goto st125;
3587
3594
  case 115: goto st125;
@@ -3627,7 +3634,7 @@ case 129:
3627
3634
  goto tr148;
3628
3635
  goto tr63;
3629
3636
  tr148:
3630
- #line 95 "ext/dtext/dtext.rl"
3637
+ #line 96 "ext/dtext/dtext.rl"
3631
3638
  {
3632
3639
  sm->a1 = sm->p;
3633
3640
  }
@@ -3636,7 +3643,7 @@ st288:
3636
3643
  if ( ++( sm->p) == ( sm->pe) )
3637
3644
  goto _test_eof288;
3638
3645
  case 288:
3639
- #line 3640 "ext/dtext/dtext.c"
3646
+ #line 3647 "ext/dtext/dtext.c"
3640
3647
  if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 )
3641
3648
  goto st288;
3642
3649
  goto tr381;
@@ -3648,7 +3655,7 @@ st289:
3648
3655
  if ( ++( sm->p) == ( sm->pe) )
3649
3656
  goto _test_eof289;
3650
3657
  case 289:
3651
- #line 3652 "ext/dtext/dtext.c"
3658
+ #line 3659 "ext/dtext/dtext.c"
3652
3659
  switch( (*( sm->p)) ) {
3653
3660
  case 47: goto st130;
3654
3661
  case 91: goto st156;
@@ -3875,7 +3882,7 @@ case 156:
3875
3882
  }
3876
3883
  goto tr184;
3877
3884
  tr184:
3878
- #line 95 "ext/dtext/dtext.rl"
3885
+ #line 96 "ext/dtext/dtext.rl"
3879
3886
  {
3880
3887
  sm->a1 = sm->p;
3881
3888
  }
@@ -3884,14 +3891,14 @@ st157:
3884
3891
  if ( ++( sm->p) == ( sm->pe) )
3885
3892
  goto _test_eof157;
3886
3893
  case 157:
3887
- #line 3888 "ext/dtext/dtext.c"
3894
+ #line 3895 "ext/dtext/dtext.c"
3888
3895
  switch( (*( sm->p)) ) {
3889
3896
  case 93: goto tr186;
3890
3897
  case 124: goto tr187;
3891
3898
  }
3892
3899
  goto st157;
3893
3900
  tr186:
3894
- #line 99 "ext/dtext/dtext.rl"
3901
+ #line 100 "ext/dtext/dtext.rl"
3895
3902
  {
3896
3903
  sm->a2 = sm->p;
3897
3904
  }
@@ -3900,12 +3907,12 @@ st158:
3900
3907
  if ( ++( sm->p) == ( sm->pe) )
3901
3908
  goto _test_eof158;
3902
3909
  case 158:
3903
- #line 3904 "ext/dtext/dtext.c"
3910
+ #line 3911 "ext/dtext/dtext.c"
3904
3911
  if ( (*( sm->p)) == 93 )
3905
3912
  goto tr188;
3906
3913
  goto tr63;
3907
3914
  tr187:
3908
- #line 99 "ext/dtext/dtext.rl"
3915
+ #line 100 "ext/dtext/dtext.rl"
3909
3916
  {
3910
3917
  sm->a2 = sm->p;
3911
3918
  }
@@ -3914,12 +3921,12 @@ st159:
3914
3921
  if ( ++( sm->p) == ( sm->pe) )
3915
3922
  goto _test_eof159;
3916
3923
  case 159:
3917
- #line 3918 "ext/dtext/dtext.c"
3924
+ #line 3925 "ext/dtext/dtext.c"
3918
3925
  if ( (*( sm->p)) == 93 )
3919
3926
  goto tr63;
3920
3927
  goto tr189;
3921
3928
  tr189:
3922
- #line 103 "ext/dtext/dtext.rl"
3929
+ #line 104 "ext/dtext/dtext.rl"
3923
3930
  {
3924
3931
  sm->b1 = sm->p;
3925
3932
  }
@@ -3928,12 +3935,12 @@ st160:
3928
3935
  if ( ++( sm->p) == ( sm->pe) )
3929
3936
  goto _test_eof160;
3930
3937
  case 160:
3931
- #line 3932 "ext/dtext/dtext.c"
3938
+ #line 3939 "ext/dtext/dtext.c"
3932
3939
  if ( (*( sm->p)) == 93 )
3933
3940
  goto tr191;
3934
3941
  goto st160;
3935
3942
  tr191:
3936
- #line 107 "ext/dtext/dtext.rl"
3943
+ #line 108 "ext/dtext/dtext.rl"
3937
3944
  {
3938
3945
  sm->b2 = sm->p;
3939
3946
  }
@@ -3942,7 +3949,7 @@ st161:
3942
3949
  if ( ++( sm->p) == ( sm->pe) )
3943
3950
  goto _test_eof161;
3944
3951
  case 161:
3945
- #line 3946 "ext/dtext/dtext.c"
3952
+ #line 3953 "ext/dtext/dtext.c"
3946
3953
  if ( (*( sm->p)) == 93 )
3947
3954
  goto tr192;
3948
3955
  goto tr63;
@@ -4166,14 +4173,14 @@ st291:
4166
4173
  if ( ++( sm->p) == ( sm->pe) )
4167
4174
  goto _test_eof291;
4168
4175
  case 291:
4169
- #line 4170 "ext/dtext/dtext.c"
4176
+ #line 4177 "ext/dtext/dtext.c"
4170
4177
  if ( (*( sm->p)) == 116 )
4171
4178
  goto st193;
4172
4179
  if ( 49 <= (*( sm->p)) && (*( sm->p)) <= 54 )
4173
4180
  goto tr394;
4174
4181
  goto tr343;
4175
4182
  tr394:
4176
- #line 95 "ext/dtext/dtext.rl"
4183
+ #line 96 "ext/dtext/dtext.rl"
4177
4184
  {
4178
4185
  sm->a1 = sm->p;
4179
4186
  }
@@ -4182,12 +4189,12 @@ st192:
4182
4189
  if ( ++( sm->p) == ( sm->pe) )
4183
4190
  goto _test_eof192;
4184
4191
  case 192:
4185
- #line 4186 "ext/dtext/dtext.c"
4192
+ #line 4193 "ext/dtext/dtext.c"
4186
4193
  if ( (*( sm->p)) == 46 )
4187
4194
  goto tr224;
4188
4195
  goto tr63;
4189
4196
  tr224:
4190
- #line 99 "ext/dtext/dtext.rl"
4197
+ #line 100 "ext/dtext/dtext.rl"
4191
4198
  {
4192
4199
  sm->a2 = sm->p;
4193
4200
  }
@@ -4196,7 +4203,7 @@ st292:
4196
4203
  if ( ++( sm->p) == ( sm->pe) )
4197
4204
  goto _test_eof292;
4198
4205
  case 292:
4199
- #line 4200 "ext/dtext/dtext.c"
4206
+ #line 4207 "ext/dtext/dtext.c"
4200
4207
  switch( (*( sm->p)) ) {
4201
4208
  case 9: goto st292;
4202
4209
  case 32: goto st292;
@@ -4268,7 +4275,7 @@ st294:
4268
4275
  if ( ++( sm->p) == ( sm->pe) )
4269
4276
  goto _test_eof294;
4270
4277
  case 294:
4271
- #line 4272 "ext/dtext/dtext.c"
4278
+ #line 4279 "ext/dtext/dtext.c"
4272
4279
  if ( (*( sm->p)) == 123 )
4273
4280
  goto st200;
4274
4281
  goto tr343;
@@ -4280,7 +4287,7 @@ case 200:
4280
4287
  goto tr63;
4281
4288
  goto tr232;
4282
4289
  tr232:
4283
- #line 95 "ext/dtext/dtext.rl"
4290
+ #line 96 "ext/dtext/dtext.rl"
4284
4291
  {
4285
4292
  sm->a1 = sm->p;
4286
4293
  }
@@ -4289,12 +4296,12 @@ st201:
4289
4296
  if ( ++( sm->p) == ( sm->pe) )
4290
4297
  goto _test_eof201;
4291
4298
  case 201:
4292
- #line 4293 "ext/dtext/dtext.c"
4299
+ #line 4300 "ext/dtext/dtext.c"
4293
4300
  if ( (*( sm->p)) == 125 )
4294
4301
  goto tr234;
4295
4302
  goto st201;
4296
4303
  tr234:
4297
- #line 99 "ext/dtext/dtext.rl"
4304
+ #line 100 "ext/dtext/dtext.rl"
4298
4305
  {
4299
4306
  sm->a2 = sm->p;
4300
4307
  }
@@ -4303,18 +4310,18 @@ st202:
4303
4310
  if ( ++( sm->p) == ( sm->pe) )
4304
4311
  goto _test_eof202;
4305
4312
  case 202:
4306
- #line 4307 "ext/dtext/dtext.c"
4313
+ #line 4314 "ext/dtext/dtext.c"
4307
4314
  if ( (*( sm->p)) == 125 )
4308
4315
  goto tr235;
4309
4316
  goto tr63;
4310
4317
  tr236:
4311
- #line 634 "ext/dtext/dtext.rl"
4318
+ #line 637 "ext/dtext/dtext.rl"
4312
4319
  {{( sm->p) = ((( sm->te)))-1;}{
4313
4320
  append_c_html_escaped(sm, (*( sm->p)));
4314
4321
  }}
4315
4322
  goto st295;
4316
4323
  tr241:
4317
- #line 620 "ext/dtext/dtext.rl"
4324
+ #line 623 "ext/dtext/dtext.rl"
4318
4325
  {( sm->te) = ( sm->p)+1;{
4319
4326
  if (dstack_check(sm, BLOCK_CODE)) {
4320
4327
  dstack_rewind(sm);
@@ -4325,20 +4332,20 @@ tr241:
4325
4332
  }}
4326
4333
  goto st295;
4327
4334
  tr400:
4328
- #line 634 "ext/dtext/dtext.rl"
4335
+ #line 637 "ext/dtext/dtext.rl"
4329
4336
  {( sm->te) = ( sm->p)+1;{
4330
4337
  append_c_html_escaped(sm, (*( sm->p)));
4331
4338
  }}
4332
4339
  goto st295;
4333
4340
  tr401:
4334
- #line 629 "ext/dtext/dtext.rl"
4341
+ #line 632 "ext/dtext/dtext.rl"
4335
4342
  {( sm->te) = ( sm->p)+1;{
4336
4343
  ( sm->p)--;
4337
4344
  { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;}
4338
4345
  }}
4339
4346
  goto st295;
4340
4347
  tr403:
4341
- #line 634 "ext/dtext/dtext.rl"
4348
+ #line 637 "ext/dtext/dtext.rl"
4342
4349
  {( sm->te) = ( sm->p);( sm->p)--;{
4343
4350
  append_c_html_escaped(sm, (*( sm->p)));
4344
4351
  }}
@@ -4351,7 +4358,7 @@ st295:
4351
4358
  case 295:
4352
4359
  #line 1 "NONE"
4353
4360
  {( sm->ts) = ( sm->p);}
4354
- #line 4355 "ext/dtext/dtext.c"
4361
+ #line 4362 "ext/dtext/dtext.c"
4355
4362
  switch( (*( sm->p)) ) {
4356
4363
  case 0: goto tr401;
4357
4364
  case 91: goto tr402;
@@ -4365,7 +4372,7 @@ st296:
4365
4372
  if ( ++( sm->p) == ( sm->pe) )
4366
4373
  goto _test_eof296;
4367
4374
  case 296:
4368
- #line 4369 "ext/dtext/dtext.c"
4375
+ #line 4376 "ext/dtext/dtext.c"
4369
4376
  if ( (*( sm->p)) == 47 )
4370
4377
  goto st203;
4371
4378
  goto tr403;
@@ -4405,13 +4412,13 @@ case 207:
4405
4412
  goto tr241;
4406
4413
  goto tr236;
4407
4414
  tr242:
4408
- #line 658 "ext/dtext/dtext.rl"
4415
+ #line 661 "ext/dtext/dtext.rl"
4409
4416
  {{( sm->p) = ((( sm->te)))-1;}{
4410
4417
  append_c_html_escaped(sm, (*( sm->p)));
4411
4418
  }}
4412
4419
  goto st297;
4413
4420
  tr250:
4414
- #line 640 "ext/dtext/dtext.rl"
4421
+ #line 643 "ext/dtext/dtext.rl"
4415
4422
  {( sm->te) = ( sm->p)+1;{
4416
4423
  if (dstack_check(sm, BLOCK_NODTEXT)) {
4417
4424
  dstack_pop(sm);
@@ -4426,20 +4433,20 @@ tr250:
4426
4433
  }}
4427
4434
  goto st297;
4428
4435
  tr405:
4429
- #line 658 "ext/dtext/dtext.rl"
4436
+ #line 661 "ext/dtext/dtext.rl"
4430
4437
  {( sm->te) = ( sm->p)+1;{
4431
4438
  append_c_html_escaped(sm, (*( sm->p)));
4432
4439
  }}
4433
4440
  goto st297;
4434
4441
  tr406:
4435
- #line 653 "ext/dtext/dtext.rl"
4442
+ #line 656 "ext/dtext/dtext.rl"
4436
4443
  {( sm->te) = ( sm->p)+1;{
4437
4444
  ( sm->p)--;
4438
4445
  { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;}
4439
4446
  }}
4440
4447
  goto st297;
4441
4448
  tr408:
4442
- #line 658 "ext/dtext/dtext.rl"
4449
+ #line 661 "ext/dtext/dtext.rl"
4443
4450
  {( sm->te) = ( sm->p);( sm->p)--;{
4444
4451
  append_c_html_escaped(sm, (*( sm->p)));
4445
4452
  }}
@@ -4452,7 +4459,7 @@ st297:
4452
4459
  case 297:
4453
4460
  #line 1 "NONE"
4454
4461
  {( sm->ts) = ( sm->p);}
4455
- #line 4456 "ext/dtext/dtext.c"
4462
+ #line 4463 "ext/dtext/dtext.c"
4456
4463
  switch( (*( sm->p)) ) {
4457
4464
  case 0: goto tr406;
4458
4465
  case 91: goto tr407;
@@ -4466,7 +4473,7 @@ st298:
4466
4473
  if ( ++( sm->p) == ( sm->pe) )
4467
4474
  goto _test_eof298;
4468
4475
  case 298:
4469
- #line 4470 "ext/dtext/dtext.c"
4476
+ #line 4477 "ext/dtext/dtext.c"
4470
4477
  if ( (*( sm->p)) == 47 )
4471
4478
  goto st208;
4472
4479
  goto tr408;
@@ -4527,11 +4534,11 @@ case 215:
4527
4534
  goto tr250;
4528
4535
  goto tr242;
4529
4536
  tr251:
4530
- #line 733 "ext/dtext/dtext.rl"
4537
+ #line 736 "ext/dtext/dtext.rl"
4531
4538
  {{( sm->p) = ((( sm->te)))-1;}}
4532
4539
  goto st299;
4533
4540
  tr260:
4534
- #line 718 "ext/dtext/dtext.rl"
4541
+ #line 721 "ext/dtext/dtext.rl"
4535
4542
  {( sm->te) = ( sm->p)+1;{
4536
4543
  if (dstack_check(sm, BLOCK_TABLE)) {
4537
4544
  dstack_pop(sm);
@@ -4543,7 +4550,7 @@ tr260:
4543
4550
  }}
4544
4551
  goto st299;
4545
4552
  tr264:
4546
- #line 683 "ext/dtext/dtext.rl"
4553
+ #line 686 "ext/dtext/dtext.rl"
4547
4554
  {( sm->te) = ( sm->p)+1;{
4548
4555
  if (dstack_check(sm, BLOCK_TBODY)) {
4549
4556
  dstack_pop(sm);
@@ -4554,7 +4561,7 @@ tr264:
4554
4561
  }}
4555
4562
  goto st299;
4556
4563
  tr268:
4557
- #line 669 "ext/dtext/dtext.rl"
4564
+ #line 672 "ext/dtext/dtext.rl"
4558
4565
  {( sm->te) = ( sm->p)+1;{
4559
4566
  if (dstack_check(sm, BLOCK_THEAD)) {
4560
4567
  dstack_pop(sm);
@@ -4565,7 +4572,7 @@ tr268:
4565
4572
  }}
4566
4573
  goto st299;
4567
4574
  tr269:
4568
- #line 703 "ext/dtext/dtext.rl"
4575
+ #line 706 "ext/dtext/dtext.rl"
4569
4576
  {( sm->te) = ( sm->p)+1;{
4570
4577
  if (dstack_check(sm, BLOCK_TR)) {
4571
4578
  dstack_pop(sm);
@@ -4576,14 +4583,14 @@ tr269:
4576
4583
  }}
4577
4584
  goto st299;
4578
4585
  tr277:
4579
- #line 678 "ext/dtext/dtext.rl"
4586
+ #line 681 "ext/dtext/dtext.rl"
4580
4587
  {( sm->te) = ( sm->p)+1;{
4581
4588
  dstack_push(sm, &BLOCK_TBODY);
4582
4589
  append_block(sm, "<tbody>");
4583
4590
  }}
4584
4591
  goto st299;
4585
4592
  tr278:
4586
- #line 712 "ext/dtext/dtext.rl"
4593
+ #line 715 "ext/dtext/dtext.rl"
4587
4594
  {( sm->te) = ( sm->p)+1;{
4588
4595
  dstack_push(sm, &BLOCK_TD);
4589
4596
  append_block(sm, "<td>");
@@ -4602,7 +4609,7 @@ tr278:
4602
4609
  }}
4603
4610
  goto st299;
4604
4611
  tr279:
4605
- #line 692 "ext/dtext/dtext.rl"
4612
+ #line 695 "ext/dtext/dtext.rl"
4606
4613
  {( sm->te) = ( sm->p)+1;{
4607
4614
  dstack_push(sm, &BLOCK_TH);
4608
4615
  append_block(sm, "<th>");
@@ -4621,32 +4628,32 @@ tr279:
4621
4628
  }}
4622
4629
  goto st299;
4623
4630
  tr283:
4624
- #line 664 "ext/dtext/dtext.rl"
4631
+ #line 667 "ext/dtext/dtext.rl"
4625
4632
  {( sm->te) = ( sm->p)+1;{
4626
4633
  dstack_push(sm, &BLOCK_THEAD);
4627
4634
  append_block(sm, "<thead>");
4628
4635
  }}
4629
4636
  goto st299;
4630
4637
  tr284:
4631
- #line 698 "ext/dtext/dtext.rl"
4638
+ #line 701 "ext/dtext/dtext.rl"
4632
4639
  {( sm->te) = ( sm->p)+1;{
4633
4640
  dstack_push(sm, &BLOCK_TR);
4634
4641
  append_block(sm, "<tr>");
4635
4642
  }}
4636
4643
  goto st299;
4637
4644
  tr410:
4638
- #line 733 "ext/dtext/dtext.rl"
4645
+ #line 736 "ext/dtext/dtext.rl"
4639
4646
  {( sm->te) = ( sm->p)+1;}
4640
4647
  goto st299;
4641
4648
  tr411:
4642
- #line 728 "ext/dtext/dtext.rl"
4649
+ #line 731 "ext/dtext/dtext.rl"
4643
4650
  {( sm->te) = ( sm->p)+1;{
4644
4651
  ( sm->p)--;
4645
4652
  { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;}
4646
4653
  }}
4647
4654
  goto st299;
4648
4655
  tr413:
4649
- #line 733 "ext/dtext/dtext.rl"
4656
+ #line 736 "ext/dtext/dtext.rl"
4650
4657
  {( sm->te) = ( sm->p);( sm->p)--;}
4651
4658
  goto st299;
4652
4659
  st299:
@@ -4657,7 +4664,7 @@ st299:
4657
4664
  case 299:
4658
4665
  #line 1 "NONE"
4659
4666
  {( sm->ts) = ( sm->p);}
4660
- #line 4661 "ext/dtext/dtext.c"
4667
+ #line 4668 "ext/dtext/dtext.c"
4661
4668
  switch( (*( sm->p)) ) {
4662
4669
  case 0: goto tr411;
4663
4670
  case 91: goto tr412;
@@ -4671,7 +4678,7 @@ st300:
4671
4678
  if ( ++( sm->p) == ( sm->pe) )
4672
4679
  goto _test_eof300;
4673
4680
  case 300:
4674
- #line 4675 "ext/dtext/dtext.c"
4681
+ #line 4682 "ext/dtext/dtext.c"
4675
4682
  switch( (*( sm->p)) ) {
4676
4683
  case 47: goto st216;
4677
4684
  case 116: goto st231;
@@ -4886,7 +4893,7 @@ tr285:
4886
4893
  }
4887
4894
  goto st301;
4888
4895
  tr287:
4889
- #line 784 "ext/dtext/dtext.rl"
4896
+ #line 787 "ext/dtext/dtext.rl"
4890
4897
  {{( sm->p) = ((( sm->te)))-1;}{
4891
4898
  dstack_rewind(sm);
4892
4899
  ( sm->p)--;
@@ -4894,7 +4901,7 @@ tr287:
4894
4901
  }}
4895
4902
  goto st301;
4896
4903
  tr416:
4897
- #line 784 "ext/dtext/dtext.rl"
4904
+ #line 787 "ext/dtext/dtext.rl"
4898
4905
  {( sm->te) = ( sm->p)+1;{
4899
4906
  dstack_rewind(sm);
4900
4907
  ( sm->p)--;
@@ -4902,7 +4909,7 @@ tr416:
4902
4909
  }}
4903
4910
  goto st301;
4904
4911
  tr417:
4905
- #line 776 "ext/dtext/dtext.rl"
4912
+ #line 779 "ext/dtext/dtext.rl"
4906
4913
  {( sm->te) = ( sm->p)+1;{
4907
4914
  dstack_close_list(sm);
4908
4915
  {( sm->p) = (( sm->ts))-1;}
@@ -4910,7 +4917,7 @@ tr417:
4910
4917
  }}
4911
4918
  goto st301;
4912
4919
  tr422:
4913
- #line 784 "ext/dtext/dtext.rl"
4920
+ #line 787 "ext/dtext/dtext.rl"
4914
4921
  {( sm->te) = ( sm->p);( sm->p)--;{
4915
4922
  dstack_rewind(sm);
4916
4923
  ( sm->p)--;
@@ -4918,11 +4925,11 @@ tr422:
4918
4925
  }}
4919
4926
  goto st301;
4920
4927
  tr423:
4921
- #line 107 "ext/dtext/dtext.rl"
4928
+ #line 108 "ext/dtext/dtext.rl"
4922
4929
  {
4923
4930
  sm->b2 = sm->p;
4924
4931
  }
4925
- #line 737 "ext/dtext/dtext.rl"
4932
+ #line 740 "ext/dtext/dtext.rl"
4926
4933
  {( sm->te) = ( sm->p);( sm->p)--;{
4927
4934
  int prev_nest = sm->list_nest;
4928
4935
  append_closing_p_if(sm);
@@ -4980,7 +4987,7 @@ st301:
4980
4987
  case 301:
4981
4988
  #line 1 "NONE"
4982
4989
  {( sm->ts) = ( sm->p);}
4983
- #line 4984 "ext/dtext/dtext.c"
4990
+ #line 4991 "ext/dtext/dtext.c"
4984
4991
  switch( (*( sm->p)) ) {
4985
4992
  case 0: goto tr417;
4986
4993
  case 10: goto tr418;
@@ -4991,20 +4998,20 @@ case 301:
4991
4998
  tr286:
4992
4999
  #line 1 "NONE"
4993
5000
  {( sm->te) = ( sm->p)+1;}
4994
- #line 776 "ext/dtext/dtext.rl"
5001
+ #line 779 "ext/dtext/dtext.rl"
4995
5002
  {( sm->act) = 64;}
4996
5003
  goto st302;
4997
5004
  tr418:
4998
5005
  #line 1 "NONE"
4999
5006
  {( sm->te) = ( sm->p)+1;}
5000
- #line 782 "ext/dtext/dtext.rl"
5007
+ #line 785 "ext/dtext/dtext.rl"
5001
5008
  {( sm->act) = 65;}
5002
5009
  goto st302;
5003
5010
  st302:
5004
5011
  if ( ++( sm->p) == ( sm->pe) )
5005
5012
  goto _test_eof302;
5006
5013
  case 302:
5007
- #line 5008 "ext/dtext/dtext.c"
5014
+ #line 5015 "ext/dtext/dtext.c"
5008
5015
  switch( (*( sm->p)) ) {
5009
5016
  case 10: goto tr286;
5010
5017
  case 13: goto st242;
@@ -5027,7 +5034,7 @@ case 303:
5027
5034
  tr420:
5028
5035
  #line 1 "NONE"
5029
5036
  {( sm->te) = ( sm->p)+1;}
5030
- #line 95 "ext/dtext/dtext.rl"
5037
+ #line 96 "ext/dtext/dtext.rl"
5031
5038
  {
5032
5039
  sm->a1 = sm->p;
5033
5040
  }
@@ -5036,7 +5043,7 @@ st304:
5036
5043
  if ( ++( sm->p) == ( sm->pe) )
5037
5044
  goto _test_eof304;
5038
5045
  case 304:
5039
- #line 5040 "ext/dtext/dtext.c"
5046
+ #line 5047 "ext/dtext/dtext.c"
5040
5047
  switch( (*( sm->p)) ) {
5041
5048
  case 9: goto tr290;
5042
5049
  case 32: goto tr290;
@@ -5044,7 +5051,7 @@ case 304:
5044
5051
  }
5045
5052
  goto tr422;
5046
5053
  tr290:
5047
- #line 99 "ext/dtext/dtext.rl"
5054
+ #line 100 "ext/dtext/dtext.rl"
5048
5055
  {
5049
5056
  sm->a2 = sm->p;
5050
5057
  }
@@ -5053,7 +5060,7 @@ st243:
5053
5060
  if ( ++( sm->p) == ( sm->pe) )
5054
5061
  goto _test_eof243;
5055
5062
  case 243:
5056
- #line 5057 "ext/dtext/dtext.c"
5063
+ #line 5064 "ext/dtext/dtext.c"
5057
5064
  switch( (*( sm->p)) ) {
5058
5065
  case 0: goto tr287;
5059
5066
  case 9: goto tr289;
@@ -5063,7 +5070,7 @@ case 243:
5063
5070
  }
5064
5071
  goto tr288;
5065
5072
  tr288:
5066
- #line 103 "ext/dtext/dtext.rl"
5073
+ #line 104 "ext/dtext/dtext.rl"
5067
5074
  {
5068
5075
  sm->b1 = sm->p;
5069
5076
  }
@@ -5072,7 +5079,7 @@ st305:
5072
5079
  if ( ++( sm->p) == ( sm->pe) )
5073
5080
  goto _test_eof305;
5074
5081
  case 305:
5075
- #line 5076 "ext/dtext/dtext.c"
5082
+ #line 5083 "ext/dtext/dtext.c"
5076
5083
  switch( (*( sm->p)) ) {
5077
5084
  case 0: goto tr423;
5078
5085
  case 10: goto tr423;
@@ -5080,7 +5087,7 @@ case 305:
5080
5087
  }
5081
5088
  goto st305;
5082
5089
  tr289:
5083
- #line 103 "ext/dtext/dtext.rl"
5090
+ #line 104 "ext/dtext/dtext.rl"
5084
5091
  {
5085
5092
  sm->b1 = sm->p;
5086
5093
  }
@@ -5089,7 +5096,7 @@ st306:
5089
5096
  if ( ++( sm->p) == ( sm->pe) )
5090
5097
  goto _test_eof306;
5091
5098
  case 306:
5092
- #line 5093 "ext/dtext/dtext.c"
5099
+ #line 5100 "ext/dtext/dtext.c"
5093
5100
  switch( (*( sm->p)) ) {
5094
5101
  case 0: goto tr423;
5095
5102
  case 9: goto tr289;
@@ -5727,11 +5734,12 @@ case 244:
5727
5734
 
5728
5735
  }
5729
5736
 
5730
- #line 1315 "ext/dtext/dtext.rl"
5737
+ #line 1324 "ext/dtext/dtext.rl"
5731
5738
 
5732
5739
  dstack_close(sm);
5733
5740
 
5734
- ret = rb_str_new(sm->output->str, sm->output->len);
5741
+ encoding = rb_enc_find("utf-8");
5742
+ ret = rb_enc_str_new(sm->output->str, sm->output->len, encoding);
5735
5743
 
5736
5744
  free_machine(sm);
5737
5745