adamh-hpricot 0.6.211 → 0.7.229

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.
data/CHANGELOG CHANGED
@@ -1,3 +1,16 @@
1
+ = 0.8
2
+ === 31st March, 2009
3
+ * Saving memory and speed by using RStruct-based elements in the C extension.
4
+ * Bug in tag parsing, causing runaway <script> and <style> tags in HTML.
5
+ * Problem compiling under Ruby 1.9, due to our_rb_hash_lookup function meant for Ruby 1.8.
6
+ * CData was missing inner_text method.
7
+
8
+ = 0.7
9
+ === 17th March, 2009
10
+ * Rewritten parser routine, much lighter on memory, quite a bit faster.
11
+ * Friendlier with Ruby 1.9.
12
+ * Fixes to nth-child and text() selectors.
13
+
1
14
  = 0.6
2
15
  === 15th June, 2007
3
16
  * Hpricot for JRuby -- nice work Ola Bini!
data/Rakefile CHANGED
@@ -10,7 +10,7 @@ RbConfig = Config unless defined?(RbConfig)
10
10
 
11
11
  NAME = "hpricot"
12
12
  REV = (`#{ENV['GIT'] || "git"} rev-list HEAD`.split.length + 1).to_s
13
- VERS = ENV['VERSION'] || "0.6" + (REV ? ".#{REV}" : "")
13
+ VERS = ENV['VERSION'] || "0.8" + (REV ? ".#{REV}" : "")
14
14
  PKG = "#{NAME}-#{VERS}"
15
15
  BIN = "*.{bundle,jar,so,o,obj,pdb,lib,def,exp,class}"
16
16
  CLEAN.include ["ext/hpricot_scan/#{BIN}", "ext/fast_xs/#{BIN}", "lib/**/#{BIN}",
@@ -53,7 +53,7 @@ SPEC =
53
53
  end
54
54
 
55
55
  Win32Spec = SPEC.dup
56
- Win32Spec.platform = 'mswin32'
56
+ Win32Spec.platform = 'x86-mswin32'
57
57
  Win32Spec.files = PKG_FILES + ["lib/hpricot_scan.so", "lib/fast_xs.so"]
58
58
  Win32Spec.extensions = []
59
59
 
@@ -181,7 +181,7 @@ task :package_win32 => ["fast_xs_win32", "hpricot_scan_win32"] do
181
181
  Dir.chdir("#{WIN32_PKG_DIR}") do
182
182
  Gem::Builder.new(Win32Spec).build
183
183
  verbose(true) {
184
- mv Dir["*.gem"].first, "../pkg/#{WIN32_PKG_DIR}.gem"
184
+ mv Dir["*.gem"].first, "../pkg/"
185
185
  }
186
186
  end
187
187
  end
@@ -6,6 +6,7 @@
6
6
 
7
7
  #ifndef RARRAY_LEN
8
8
  #define RARRAY_LEN(arr) RARRAY(arr)->len
9
+ #define RARRAY_PTR(arr) RARRAY(arr)->ptr
9
10
  #define RSTRING_LEN(str) RSTRING(str)->len
10
11
  #define RSTRING_PTR(str) RSTRING(str)->ptr
11
12
  #endif
@@ -1,3 +1,4 @@
1
+
1
2
  #line 1 "hpricot_css.rl"
2
3
  /*
3
4
  * hpricot_css.rl
@@ -21,12 +22,13 @@
21
22
  #define P(id) printf(id ": %.*s\n", te - ts, ts);
22
23
 
23
24
 
24
- #line 25 "hpricot_css.c"
25
+ #line 26 "hpricot_css.c"
25
26
  static const int hpricot_css_start = 87;
26
27
  static const int hpricot_css_error = 0;
27
28
 
28
29
  static const int hpricot_css_en_main = 87;
29
30
 
31
+
30
32
  #line 87 "hpricot_css.rl"
31
33
 
32
34
 
@@ -51,16 +53,17 @@ VALUE hpricot_css(VALUE self, VALUE mod, VALUE str, VALUE node)
51
53
  pe = p + RSTRING_LEN(str);
52
54
 
53
55
 
54
- #line 55 "hpricot_css.c"
56
+ #line 57 "hpricot_css.c"
55
57
  {
56
58
  cs = hpricot_css_start;
57
59
  ts = 0;
58
60
  te = 0;
59
61
  act = 0;
60
62
  }
63
+
61
64
  #line 110 "hpricot_css.rl"
62
65
 
63
- #line 64 "hpricot_css.c"
66
+ #line 67 "hpricot_css.c"
64
67
  {
65
68
  if ( p == pe )
66
69
  goto _test_eof;
@@ -263,7 +266,7 @@ st87:
263
266
  case 87:
264
267
  #line 1 "hpricot_css.rl"
265
268
  {ts = p;}
266
- #line 267 "hpricot_css.c"
269
+ #line 270 "hpricot_css.c"
267
270
  switch( (*p) ) {
268
271
  case -60: goto tr133;
269
272
  case 32: goto tr137;
@@ -316,7 +319,7 @@ st1:
316
319
  if ( ++p == pe )
317
320
  goto _test_eof1;
318
321
  case 1:
319
- #line 320 "hpricot_css.c"
322
+ #line 323 "hpricot_css.c"
320
323
  if ( -88 <= (*p) && (*p) <= -65 )
321
324
  goto tr1;
322
325
  goto tr0;
@@ -340,7 +343,7 @@ st88:
340
343
  if ( ++p == pe )
341
344
  goto _test_eof88;
342
345
  case 88:
343
- #line 344 "hpricot_css.c"
346
+ #line 347 "hpricot_css.c"
344
347
  switch( (*p) ) {
345
348
  case -60: goto st1;
346
349
  case 45: goto tr1;
@@ -375,7 +378,7 @@ st2:
375
378
  if ( ++p == pe )
376
379
  goto _test_eof2;
377
380
  case 2:
378
- #line 379 "hpricot_css.c"
381
+ #line 382 "hpricot_css.c"
379
382
  if ( (*p) <= -65 )
380
383
  goto tr1;
381
384
  goto tr0;
@@ -389,7 +392,7 @@ st3:
389
392
  if ( ++p == pe )
390
393
  goto _test_eof3;
391
394
  case 3:
392
- #line 393 "hpricot_css.c"
395
+ #line 396 "hpricot_css.c"
393
396
  if ( (*p) <= -65 )
394
397
  goto st2;
395
398
  goto tr0;
@@ -403,7 +406,7 @@ st4:
403
406
  if ( ++p == pe )
404
407
  goto _test_eof4;
405
408
  case 4:
406
- #line 407 "hpricot_css.c"
409
+ #line 410 "hpricot_css.c"
407
410
  if ( (*p) <= -65 )
408
411
  goto st3;
409
412
  goto tr0;
@@ -417,7 +420,7 @@ st5:
417
420
  if ( ++p == pe )
418
421
  goto _test_eof5;
419
422
  case 5:
420
- #line 421 "hpricot_css.c"
423
+ #line 424 "hpricot_css.c"
421
424
  if ( (*p) == 46 )
422
425
  goto tr1;
423
426
  goto tr0;
@@ -429,7 +432,7 @@ st89:
429
432
  if ( ++p == pe )
430
433
  goto _test_eof89;
431
434
  case 89:
432
- #line 433 "hpricot_css.c"
435
+ #line 436 "hpricot_css.c"
433
436
  switch( (*p) ) {
434
437
  case 32: goto st6;
435
438
  case 44: goto st90;
@@ -495,7 +498,7 @@ st8:
495
498
  if ( ++p == pe )
496
499
  goto _test_eof8;
497
500
  case 8:
498
- #line 499 "hpricot_css.c"
501
+ #line 502 "hpricot_css.c"
499
502
  if ( -88 <= (*p) && (*p) <= -65 )
500
503
  goto tr14;
501
504
  goto tr0;
@@ -519,7 +522,7 @@ st91:
519
522
  if ( ++p == pe )
520
523
  goto _test_eof91;
521
524
  case 91:
522
- #line 523 "hpricot_css.c"
525
+ #line 526 "hpricot_css.c"
523
526
  switch( (*p) ) {
524
527
  case -60: goto st8;
525
528
  case 45: goto tr14;
@@ -554,7 +557,7 @@ st9:
554
557
  if ( ++p == pe )
555
558
  goto _test_eof9;
556
559
  case 9:
557
- #line 558 "hpricot_css.c"
560
+ #line 561 "hpricot_css.c"
558
561
  if ( (*p) <= -65 )
559
562
  goto tr14;
560
563
  goto tr0;
@@ -568,7 +571,7 @@ st10:
568
571
  if ( ++p == pe )
569
572
  goto _test_eof10;
570
573
  case 10:
571
- #line 572 "hpricot_css.c"
574
+ #line 575 "hpricot_css.c"
572
575
  if ( (*p) <= -65 )
573
576
  goto st9;
574
577
  goto tr0;
@@ -582,7 +585,7 @@ st11:
582
585
  if ( ++p == pe )
583
586
  goto _test_eof11;
584
587
  case 11:
585
- #line 586 "hpricot_css.c"
588
+ #line 589 "hpricot_css.c"
586
589
  if ( (*p) <= -65 )
587
590
  goto st10;
588
591
  goto tr0;
@@ -596,7 +599,7 @@ st12:
596
599
  if ( ++p == pe )
597
600
  goto _test_eof12;
598
601
  case 12:
599
- #line 600 "hpricot_css.c"
602
+ #line 603 "hpricot_css.c"
600
603
  if ( (*p) == 46 )
601
604
  goto tr14;
602
605
  goto tr0;
@@ -611,7 +614,7 @@ st92:
611
614
  if ( ++p == pe )
612
615
  goto _test_eof92;
613
616
  case 92:
614
- #line 615 "hpricot_css.c"
617
+ #line 618 "hpricot_css.c"
615
618
  switch( (*p) ) {
616
619
  case 43: goto st92;
617
620
  case 45: goto st92;
@@ -640,7 +643,7 @@ st93:
640
643
  if ( ++p == pe )
641
644
  goto _test_eof93;
642
645
  case 93:
643
- #line 644 "hpricot_css.c"
646
+ #line 647 "hpricot_css.c"
644
647
  switch( (*p) ) {
645
648
  case -60: goto st1;
646
649
  case 43: goto tr160;
@@ -705,7 +708,7 @@ st14:
705
708
  if ( ++p == pe )
706
709
  goto _test_eof14;
707
710
  case 14:
708
- #line 709 "hpricot_css.c"
711
+ #line 712 "hpricot_css.c"
709
712
  if ( -88 <= (*p) && (*p) <= -65 )
710
713
  goto tr23;
711
714
  goto tr0;
@@ -729,7 +732,7 @@ st94:
729
732
  if ( ++p == pe )
730
733
  goto _test_eof94;
731
734
  case 94:
732
- #line 733 "hpricot_css.c"
735
+ #line 736 "hpricot_css.c"
733
736
  switch( (*p) ) {
734
737
  case -60: goto st14;
735
738
  case 45: goto tr23;
@@ -764,7 +767,7 @@ st15:
764
767
  if ( ++p == pe )
765
768
  goto _test_eof15;
766
769
  case 15:
767
- #line 768 "hpricot_css.c"
770
+ #line 771 "hpricot_css.c"
768
771
  if ( (*p) <= -65 )
769
772
  goto tr23;
770
773
  goto tr0;
@@ -778,7 +781,7 @@ st16:
778
781
  if ( ++p == pe )
779
782
  goto _test_eof16;
780
783
  case 16:
781
- #line 782 "hpricot_css.c"
784
+ #line 785 "hpricot_css.c"
782
785
  if ( (*p) <= -65 )
783
786
  goto st15;
784
787
  goto tr0;
@@ -792,7 +795,7 @@ st17:
792
795
  if ( ++p == pe )
793
796
  goto _test_eof17;
794
797
  case 17:
795
- #line 796 "hpricot_css.c"
798
+ #line 799 "hpricot_css.c"
796
799
  if ( (*p) <= -65 )
797
800
  goto st16;
798
801
  goto tr0;
@@ -806,7 +809,7 @@ st18:
806
809
  if ( ++p == pe )
807
810
  goto _test_eof18;
808
811
  case 18:
809
- #line 810 "hpricot_css.c"
812
+ #line 813 "hpricot_css.c"
810
813
  if ( (*p) == 46 )
811
814
  goto tr23;
812
815
  goto tr0;
@@ -861,7 +864,7 @@ st20:
861
864
  if ( ++p == pe )
862
865
  goto _test_eof20;
863
866
  case 20:
864
- #line 865 "hpricot_css.c"
867
+ #line 868 "hpricot_css.c"
865
868
  if ( -88 <= (*p) && (*p) <= -65 )
866
869
  goto tr38;
867
870
  goto tr0;
@@ -896,7 +899,7 @@ st95:
896
899
  if ( ++p == pe )
897
900
  goto _test_eof95;
898
901
  case 95:
899
- #line 900 "hpricot_css.c"
902
+ #line 903 "hpricot_css.c"
900
903
  switch( (*p) ) {
901
904
  case -60: goto st20;
902
905
  case 40: goto tr169;
@@ -939,7 +942,7 @@ st21:
939
942
  if ( ++p == pe )
940
943
  goto _test_eof21;
941
944
  case 21:
942
- #line 943 "hpricot_css.c"
945
+ #line 946 "hpricot_css.c"
943
946
  if ( (*p) <= -65 )
944
947
  goto tr38;
945
948
  goto tr0;
@@ -960,7 +963,7 @@ st22:
960
963
  if ( ++p == pe )
961
964
  goto _test_eof22;
962
965
  case 22:
963
- #line 964 "hpricot_css.c"
966
+ #line 967 "hpricot_css.c"
964
967
  if ( (*p) <= -65 )
965
968
  goto st21;
966
969
  goto tr0;
@@ -981,7 +984,7 @@ st23:
981
984
  if ( ++p == pe )
982
985
  goto _test_eof23;
983
986
  case 23:
984
- #line 985 "hpricot_css.c"
987
+ #line 988 "hpricot_css.c"
985
988
  if ( (*p) <= -65 )
986
989
  goto st22;
987
990
  goto tr0;
@@ -996,7 +999,7 @@ st24:
996
999
  if ( ++p == pe )
997
1000
  goto _test_eof24;
998
1001
  case 24:
999
- #line 1000 "hpricot_css.c"
1002
+ #line 1003 "hpricot_css.c"
1000
1003
  switch( (*p) ) {
1001
1004
  case 34: goto tr43;
1002
1005
  case 39: goto tr44;
@@ -1014,7 +1017,7 @@ st25:
1014
1017
  if ( ++p == pe )
1015
1018
  goto _test_eof25;
1016
1019
  case 25:
1017
- #line 1018 "hpricot_css.c"
1020
+ #line 1021 "hpricot_css.c"
1018
1021
  switch( (*p) ) {
1019
1022
  case 34: goto tr0;
1020
1023
  case 40: goto tr0;
@@ -1031,7 +1034,7 @@ st26:
1031
1034
  if ( ++p == pe )
1032
1035
  goto _test_eof26;
1033
1036
  case 26:
1034
- #line 1035 "hpricot_css.c"
1037
+ #line 1038 "hpricot_css.c"
1035
1038
  switch( (*p) ) {
1036
1039
  case 34: goto st28;
1037
1040
  case 40: goto st29;
@@ -1087,7 +1090,7 @@ st32:
1087
1090
  if ( ++p == pe )
1088
1091
  goto _test_eof32;
1089
1092
  case 32:
1090
- #line 1091 "hpricot_css.c"
1093
+ #line 1094 "hpricot_css.c"
1091
1094
  switch( (*p) ) {
1092
1095
  case 34: goto st34;
1093
1096
  case 39: goto st25;
@@ -1148,7 +1151,7 @@ st38:
1148
1151
  if ( ++p == pe )
1149
1152
  goto _test_eof38;
1150
1153
  case 38:
1151
- #line 1152 "hpricot_css.c"
1154
+ #line 1155 "hpricot_css.c"
1152
1155
  if ( (*p) == 41 )
1153
1156
  goto tr0;
1154
1157
  goto st39;
@@ -1185,7 +1188,7 @@ st41:
1185
1188
  if ( ++p == pe )
1186
1189
  goto _test_eof41;
1187
1190
  case 41:
1188
- #line 1189 "hpricot_css.c"
1191
+ #line 1192 "hpricot_css.c"
1189
1192
  if ( (*p) == 46 )
1190
1193
  goto tr38;
1191
1194
  goto tr0;
@@ -1203,7 +1206,7 @@ st96:
1203
1206
  if ( ++p == pe )
1204
1207
  goto _test_eof96;
1205
1208
  case 96:
1206
- #line 1207 "hpricot_css.c"
1209
+ #line 1210 "hpricot_css.c"
1207
1210
  switch( (*p) ) {
1208
1211
  case -60: goto st20;
1209
1212
  case 40: goto tr169;
@@ -1241,7 +1244,7 @@ st97:
1241
1244
  if ( ++p == pe )
1242
1245
  goto _test_eof97;
1243
1246
  case 97:
1244
- #line 1245 "hpricot_css.c"
1247
+ #line 1248 "hpricot_css.c"
1245
1248
  switch( (*p) ) {
1246
1249
  case -60: goto tr174;
1247
1250
  case 40: goto tr178;
@@ -1278,7 +1281,7 @@ st42:
1278
1281
  if ( ++p == pe )
1279
1282
  goto _test_eof42;
1280
1283
  case 42:
1281
- #line 1282 "hpricot_css.c"
1284
+ #line 1285 "hpricot_css.c"
1282
1285
  switch( (*p) ) {
1283
1286
  case 34: goto tr43;
1284
1287
  case 39: goto tr44;
@@ -1298,7 +1301,7 @@ st43:
1298
1301
  if ( ++p == pe )
1299
1302
  goto _test_eof43;
1300
1303
  case 43:
1301
- #line 1302 "hpricot_css.c"
1304
+ #line 1305 "hpricot_css.c"
1302
1305
  switch( (*p) ) {
1303
1306
  case 34: goto tr62;
1304
1307
  case 40: goto tr62;
@@ -1317,7 +1320,7 @@ st98:
1317
1320
  if ( ++p == pe )
1318
1321
  goto _test_eof98;
1319
1322
  case 98:
1320
- #line 1321 "hpricot_css.c"
1323
+ #line 1324 "hpricot_css.c"
1321
1324
  switch( (*p) ) {
1322
1325
  case -60: goto st20;
1323
1326
  case 40: goto tr169;
@@ -1354,7 +1357,7 @@ st99:
1354
1357
  if ( ++p == pe )
1355
1358
  goto _test_eof99;
1356
1359
  case 99:
1357
- #line 1358 "hpricot_css.c"
1360
+ #line 1361 "hpricot_css.c"
1358
1361
  switch( (*p) ) {
1359
1362
  case -60: goto st20;
1360
1363
  case 40: goto tr169;
@@ -1395,7 +1398,7 @@ st100:
1395
1398
  if ( ++p == pe )
1396
1399
  goto _test_eof100;
1397
1400
  case 100:
1398
- #line 1399 "hpricot_css.c"
1401
+ #line 1402 "hpricot_css.c"
1399
1402
  switch( (*p) ) {
1400
1403
  case -60: goto st20;
1401
1404
  case 40: goto tr169;
@@ -1432,7 +1435,7 @@ st101:
1432
1435
  if ( ++p == pe )
1433
1436
  goto _test_eof101;
1434
1437
  case 101:
1435
- #line 1436 "hpricot_css.c"
1438
+ #line 1439 "hpricot_css.c"
1436
1439
  switch( (*p) ) {
1437
1440
  case -60: goto st20;
1438
1441
  case 40: goto tr169;
@@ -1469,7 +1472,7 @@ st102:
1469
1472
  if ( ++p == pe )
1470
1473
  goto _test_eof102;
1471
1474
  case 102:
1472
- #line 1473 "hpricot_css.c"
1475
+ #line 1476 "hpricot_css.c"
1473
1476
  switch( (*p) ) {
1474
1477
  case -60: goto st20;
1475
1478
  case 40: goto tr169;
@@ -1506,7 +1509,7 @@ st103:
1506
1509
  if ( ++p == pe )
1507
1510
  goto _test_eof103;
1508
1511
  case 103:
1509
- #line 1510 "hpricot_css.c"
1512
+ #line 1513 "hpricot_css.c"
1510
1513
  switch( (*p) ) {
1511
1514
  case -60: goto st20;
1512
1515
  case 40: goto tr169;
@@ -1543,7 +1546,7 @@ st104:
1543
1546
  if ( ++p == pe )
1544
1547
  goto _test_eof104;
1545
1548
  case 104:
1546
- #line 1547 "hpricot_css.c"
1549
+ #line 1550 "hpricot_css.c"
1547
1550
  switch( (*p) ) {
1548
1551
  case -60: goto tr174;
1549
1552
  case 40: goto tr178;
@@ -1590,7 +1593,7 @@ st105:
1590
1593
  if ( ++p == pe )
1591
1594
  goto _test_eof105;
1592
1595
  case 105:
1593
- #line 1594 "hpricot_css.c"
1596
+ #line 1597 "hpricot_css.c"
1594
1597
  switch( (*p) ) {
1595
1598
  case -60: goto st20;
1596
1599
  case 40: goto tr169;
@@ -1627,7 +1630,7 @@ st106:
1627
1630
  if ( ++p == pe )
1628
1631
  goto _test_eof106;
1629
1632
  case 106:
1630
- #line 1631 "hpricot_css.c"
1633
+ #line 1634 "hpricot_css.c"
1631
1634
  switch( (*p) ) {
1632
1635
  case -60: goto st20;
1633
1636
  case 40: goto tr169;
@@ -1664,7 +1667,7 @@ st107:
1664
1667
  if ( ++p == pe )
1665
1668
  goto _test_eof107;
1666
1669
  case 107:
1667
- #line 1668 "hpricot_css.c"
1670
+ #line 1671 "hpricot_css.c"
1668
1671
  switch( (*p) ) {
1669
1672
  case -60: goto st20;
1670
1673
  case 40: goto tr169;
@@ -1701,7 +1704,7 @@ st108:
1701
1704
  if ( ++p == pe )
1702
1705
  goto _test_eof108;
1703
1706
  case 108:
1704
- #line 1705 "hpricot_css.c"
1707
+ #line 1708 "hpricot_css.c"
1705
1708
  switch( (*p) ) {
1706
1709
  case -60: goto st20;
1707
1710
  case 40: goto tr169;
@@ -1738,7 +1741,7 @@ st109:
1738
1741
  if ( ++p == pe )
1739
1742
  goto _test_eof109;
1740
1743
  case 109:
1741
- #line 1742 "hpricot_css.c"
1744
+ #line 1745 "hpricot_css.c"
1742
1745
  switch( (*p) ) {
1743
1746
  case -60: goto st20;
1744
1747
  case 40: goto tr169;
@@ -1775,7 +1778,7 @@ st110:
1775
1778
  if ( ++p == pe )
1776
1779
  goto _test_eof110;
1777
1780
  case 110:
1778
- #line 1779 "hpricot_css.c"
1781
+ #line 1782 "hpricot_css.c"
1779
1782
  switch( (*p) ) {
1780
1783
  case -60: goto tr174;
1781
1784
  case 40: goto tr193;
@@ -1812,7 +1815,7 @@ st44:
1812
1815
  if ( ++p == pe )
1813
1816
  goto _test_eof44;
1814
1817
  case 44:
1815
- #line 1816 "hpricot_css.c"
1818
+ #line 1819 "hpricot_css.c"
1816
1819
  switch( (*p) ) {
1817
1820
  case 34: goto tr43;
1818
1821
  case 39: goto tr44;
@@ -1837,7 +1840,7 @@ st45:
1837
1840
  if ( ++p == pe )
1838
1841
  goto _test_eof45;
1839
1842
  case 45:
1840
- #line 1841 "hpricot_css.c"
1843
+ #line 1844 "hpricot_css.c"
1841
1844
  switch( (*p) ) {
1842
1845
  case 34: goto tr66;
1843
1846
  case 40: goto tr66;
@@ -1859,7 +1862,7 @@ st46:
1859
1862
  if ( ++p == pe )
1860
1863
  goto _test_eof46;
1861
1864
  case 46:
1862
- #line 1863 "hpricot_css.c"
1865
+ #line 1866 "hpricot_css.c"
1863
1866
  switch( (*p) ) {
1864
1867
  case 34: goto tr66;
1865
1868
  case 40: goto tr66;
@@ -1909,7 +1912,7 @@ st50:
1909
1912
  if ( ++p == pe )
1910
1913
  goto _test_eof50;
1911
1914
  case 50:
1912
- #line 1913 "hpricot_css.c"
1915
+ #line 1916 "hpricot_css.c"
1913
1916
  switch( (*p) ) {
1914
1917
  case 34: goto tr66;
1915
1918
  case 40: goto tr66;
@@ -1942,7 +1945,7 @@ st111:
1942
1945
  if ( ++p == pe )
1943
1946
  goto _test_eof111;
1944
1947
  case 111:
1945
- #line 1946 "hpricot_css.c"
1948
+ #line 1949 "hpricot_css.c"
1946
1949
  switch( (*p) ) {
1947
1950
  case -60: goto st20;
1948
1951
  case 40: goto tr169;
@@ -1983,7 +1986,7 @@ st112:
1983
1986
  if ( ++p == pe )
1984
1987
  goto _test_eof112;
1985
1988
  case 112:
1986
- #line 1987 "hpricot_css.c"
1989
+ #line 1990 "hpricot_css.c"
1987
1990
  switch( (*p) ) {
1988
1991
  case -60: goto st20;
1989
1992
  case 40: goto tr169;
@@ -2025,7 +2028,7 @@ st113:
2025
2028
  if ( ++p == pe )
2026
2029
  goto _test_eof113;
2027
2030
  case 113:
2028
- #line 2029 "hpricot_css.c"
2031
+ #line 2032 "hpricot_css.c"
2029
2032
  switch( (*p) ) {
2030
2033
  case -60: goto st20;
2031
2034
  case 40: goto tr169;
@@ -2062,7 +2065,7 @@ st114:
2062
2065
  if ( ++p == pe )
2063
2066
  goto _test_eof114;
2064
2067
  case 114:
2065
- #line 2066 "hpricot_css.c"
2068
+ #line 2069 "hpricot_css.c"
2066
2069
  switch( (*p) ) {
2067
2070
  case -60: goto st20;
2068
2071
  case 40: goto tr169;
@@ -2103,7 +2106,7 @@ st115:
2103
2106
  if ( ++p == pe )
2104
2107
  goto _test_eof115;
2105
2108
  case 115:
2106
- #line 2107 "hpricot_css.c"
2109
+ #line 2110 "hpricot_css.c"
2107
2110
  switch( (*p) ) {
2108
2111
  case -60: goto st20;
2109
2112
  case 40: goto tr169;
@@ -2141,7 +2144,7 @@ st116:
2141
2144
  if ( ++p == pe )
2142
2145
  goto _test_eof116;
2143
2146
  case 116:
2144
- #line 2145 "hpricot_css.c"
2147
+ #line 2148 "hpricot_css.c"
2145
2148
  switch( (*p) ) {
2146
2149
  case -60: goto st20;
2147
2150
  case 40: goto tr169;
@@ -2178,7 +2181,7 @@ st117:
2178
2181
  if ( ++p == pe )
2179
2182
  goto _test_eof117;
2180
2183
  case 117:
2181
- #line 2182 "hpricot_css.c"
2184
+ #line 2185 "hpricot_css.c"
2182
2185
  switch( (*p) ) {
2183
2186
  case -60: goto st20;
2184
2187
  case 40: goto tr169;
@@ -2215,7 +2218,7 @@ st118:
2215
2218
  if ( ++p == pe )
2216
2219
  goto _test_eof118;
2217
2220
  case 118:
2218
- #line 2219 "hpricot_css.c"
2221
+ #line 2222 "hpricot_css.c"
2219
2222
  switch( (*p) ) {
2220
2223
  case -60: goto st20;
2221
2224
  case 40: goto tr169;
@@ -2252,7 +2255,7 @@ st119:
2252
2255
  if ( ++p == pe )
2253
2256
  goto _test_eof119;
2254
2257
  case 119:
2255
- #line 2256 "hpricot_css.c"
2258
+ #line 2259 "hpricot_css.c"
2256
2259
  switch( (*p) ) {
2257
2260
  case -60: goto st20;
2258
2261
  case 40: goto tr169;
@@ -2317,7 +2320,7 @@ st53:
2317
2320
  if ( ++p == pe )
2318
2321
  goto _test_eof53;
2319
2322
  case 53:
2320
- #line 2321 "hpricot_css.c"
2323
+ #line 2324 "hpricot_css.c"
2321
2324
  if ( -88 <= (*p) && (*p) <= -65 )
2322
2325
  goto st54;
2323
2326
  goto st0;
@@ -2338,7 +2341,7 @@ st54:
2338
2341
  if ( ++p == pe )
2339
2342
  goto _test_eof54;
2340
2343
  case 54:
2341
- #line 2342 "hpricot_css.c"
2344
+ #line 2345 "hpricot_css.c"
2342
2345
  switch( (*p) ) {
2343
2346
  case -60: goto tr86;
2344
2347
  case 32: goto tr90;
@@ -2379,7 +2382,7 @@ st55:
2379
2382
  if ( ++p == pe )
2380
2383
  goto _test_eof55;
2381
2384
  case 55:
2382
- #line 2383 "hpricot_css.c"
2385
+ #line 2386 "hpricot_css.c"
2383
2386
  if ( (*p) == 61 )
2384
2387
  goto st56;
2385
2388
  goto st0;
@@ -2408,7 +2411,7 @@ st57:
2408
2411
  if ( ++p == pe )
2409
2412
  goto _test_eof57;
2410
2413
  case 57:
2411
- #line 2412 "hpricot_css.c"
2414
+ #line 2415 "hpricot_css.c"
2412
2415
  if ( (*p) == 93 )
2413
2416
  goto tr100;
2414
2417
  goto st57;
@@ -2424,7 +2427,7 @@ st58:
2424
2427
  if ( ++p == pe )
2425
2428
  goto _test_eof58;
2426
2429
  case 58:
2427
- #line 2428 "hpricot_css.c"
2430
+ #line 2431 "hpricot_css.c"
2428
2431
  switch( (*p) ) {
2429
2432
  case 32: goto st58;
2430
2433
  case 34: goto st59;
@@ -2446,7 +2449,7 @@ st59:
2446
2449
  if ( ++p == pe )
2447
2450
  goto _test_eof59;
2448
2451
  case 59:
2449
- #line 2450 "hpricot_css.c"
2452
+ #line 2453 "hpricot_css.c"
2450
2453
  switch( (*p) ) {
2451
2454
  case 34: goto st57;
2452
2455
  case 93: goto tr104;
@@ -2460,7 +2463,7 @@ st120:
2460
2463
  if ( ++p == pe )
2461
2464
  goto _test_eof120;
2462
2465
  case 120:
2463
- #line 2464 "hpricot_css.c"
2466
+ #line 2467 "hpricot_css.c"
2464
2467
  if ( (*p) == 34 )
2465
2468
  goto st61;
2466
2469
  goto st60;
@@ -2490,7 +2493,7 @@ st62:
2490
2493
  if ( ++p == pe )
2491
2494
  goto _test_eof62;
2492
2495
  case 62:
2493
- #line 2494 "hpricot_css.c"
2496
+ #line 2497 "hpricot_css.c"
2494
2497
  switch( (*p) ) {
2495
2498
  case 39: goto st57;
2496
2499
  case 93: goto tr108;
@@ -2504,7 +2507,7 @@ st121:
2504
2507
  if ( ++p == pe )
2505
2508
  goto _test_eof121;
2506
2509
  case 121:
2507
- #line 2508 "hpricot_css.c"
2510
+ #line 2511 "hpricot_css.c"
2508
2511
  if ( (*p) == 39 )
2509
2512
  goto st61;
2510
2513
  goto st63;
@@ -2526,7 +2529,7 @@ st64:
2526
2529
  if ( ++p == pe )
2527
2530
  goto _test_eof64;
2528
2531
  case 64:
2529
- #line 2530 "hpricot_css.c"
2532
+ #line 2533 "hpricot_css.c"
2530
2533
  if ( (*p) == 61 )
2531
2534
  goto st56;
2532
2535
  if ( -88 <= (*p) && (*p) <= -65 )
@@ -2543,7 +2546,7 @@ st65:
2543
2546
  if ( ++p == pe )
2544
2547
  goto _test_eof65;
2545
2548
  case 65:
2546
- #line 2547 "hpricot_css.c"
2549
+ #line 2550 "hpricot_css.c"
2547
2550
  if ( (*p) == 61 )
2548
2551
  goto st56;
2549
2552
  if ( (*p) <= -65 )
@@ -2560,7 +2563,7 @@ st66:
2560
2563
  if ( ++p == pe )
2561
2564
  goto _test_eof66;
2562
2565
  case 66:
2563
- #line 2564 "hpricot_css.c"
2566
+ #line 2567 "hpricot_css.c"
2564
2567
  if ( (*p) == 61 )
2565
2568
  goto st56;
2566
2569
  if ( (*p) <= -65 )
@@ -2576,7 +2579,7 @@ st67:
2576
2579
  if ( ++p == pe )
2577
2580
  goto _test_eof67;
2578
2581
  case 67:
2579
- #line 2580 "hpricot_css.c"
2582
+ #line 2583 "hpricot_css.c"
2580
2583
  if ( (*p) <= -65 )
2581
2584
  goto st54;
2582
2585
  goto st0;
@@ -2591,7 +2594,7 @@ st68:
2591
2594
  if ( ++p == pe )
2592
2595
  goto _test_eof68;
2593
2596
  case 68:
2594
- #line 2595 "hpricot_css.c"
2597
+ #line 2598 "hpricot_css.c"
2595
2598
  if ( (*p) == 61 )
2596
2599
  goto st56;
2597
2600
  if ( (*p) <= -65 )
@@ -2607,7 +2610,7 @@ st69:
2607
2610
  if ( ++p == pe )
2608
2611
  goto _test_eof69;
2609
2612
  case 69:
2610
- #line 2611 "hpricot_css.c"
2613
+ #line 2614 "hpricot_css.c"
2611
2614
  if ( (*p) <= -65 )
2612
2615
  goto st67;
2613
2616
  goto st0;
@@ -2622,7 +2625,7 @@ st70:
2622
2625
  if ( ++p == pe )
2623
2626
  goto _test_eof70;
2624
2627
  case 70:
2625
- #line 2626 "hpricot_css.c"
2628
+ #line 2629 "hpricot_css.c"
2626
2629
  switch( (*p) ) {
2627
2630
  case 32: goto st70;
2628
2631
  case 61: goto st71;
@@ -2641,7 +2644,7 @@ st71:
2641
2644
  if ( ++p == pe )
2642
2645
  goto _test_eof71;
2643
2646
  case 71:
2644
- #line 2645 "hpricot_css.c"
2647
+ #line 2648 "hpricot_css.c"
2645
2648
  switch( (*p) ) {
2646
2649
  case 32: goto tr96;
2647
2650
  case 34: goto tr97;
@@ -2664,7 +2667,7 @@ st72:
2664
2667
  if ( ++p == pe )
2665
2668
  goto _test_eof72;
2666
2669
  case 72:
2667
- #line 2668 "hpricot_css.c"
2670
+ #line 2671 "hpricot_css.c"
2668
2671
  switch( (*p) ) {
2669
2672
  case 32: goto tr96;
2670
2673
  case 34: goto tr97;
@@ -2685,7 +2688,7 @@ st73:
2685
2688
  if ( ++p == pe )
2686
2689
  goto _test_eof73;
2687
2690
  case 73:
2688
- #line 2689 "hpricot_css.c"
2691
+ #line 2692 "hpricot_css.c"
2689
2692
  switch( (*p) ) {
2690
2693
  case 46: goto st54;
2691
2694
  case 61: goto st56;
@@ -2701,7 +2704,7 @@ st74:
2701
2704
  if ( ++p == pe )
2702
2705
  goto _test_eof74;
2703
2706
  case 74:
2704
- #line 2705 "hpricot_css.c"
2707
+ #line 2708 "hpricot_css.c"
2705
2708
  if ( (*p) <= -65 )
2706
2709
  goto st69;
2707
2710
  goto st0;
@@ -2715,7 +2718,7 @@ st75:
2715
2718
  if ( ++p == pe )
2716
2719
  goto _test_eof75;
2717
2720
  case 75:
2718
- #line 2719 "hpricot_css.c"
2721
+ #line 2722 "hpricot_css.c"
2719
2722
  if ( (*p) == 46 )
2720
2723
  goto st54;
2721
2724
  goto st0;
@@ -2729,7 +2732,7 @@ st76:
2729
2732
  if ( ++p == pe )
2730
2733
  goto _test_eof76;
2731
2734
  case 76:
2732
- #line 2733 "hpricot_css.c"
2735
+ #line 2736 "hpricot_css.c"
2733
2736
  switch( (*p) ) {
2734
2737
  case -60: goto tr86;
2735
2738
  case 32: goto tr90;
@@ -2771,7 +2774,7 @@ st77:
2771
2774
  if ( ++p == pe )
2772
2775
  goto _test_eof77;
2773
2776
  case 77:
2774
- #line 2775 "hpricot_css.c"
2777
+ #line 2778 "hpricot_css.c"
2775
2778
  switch( (*p) ) {
2776
2779
  case -60: goto tr86;
2777
2780
  case 32: goto tr90;
@@ -2813,7 +2816,7 @@ st78:
2813
2816
  if ( ++p == pe )
2814
2817
  goto _test_eof78;
2815
2818
  case 78:
2816
- #line 2817 "hpricot_css.c"
2819
+ #line 2820 "hpricot_css.c"
2817
2820
  switch( (*p) ) {
2818
2821
  case -60: goto tr86;
2819
2822
  case 32: goto tr90;
@@ -2855,7 +2858,7 @@ st79:
2855
2858
  if ( ++p == pe )
2856
2859
  goto _test_eof79;
2857
2860
  case 79:
2858
- #line 2859 "hpricot_css.c"
2861
+ #line 2862 "hpricot_css.c"
2859
2862
  switch( (*p) ) {
2860
2863
  case -60: goto tr86;
2861
2864
  case 32: goto tr90;
@@ -2896,7 +2899,7 @@ st80:
2896
2899
  if ( ++p == pe )
2897
2900
  goto _test_eof80;
2898
2901
  case 80:
2899
- #line 2900 "hpricot_css.c"
2902
+ #line 2903 "hpricot_css.c"
2900
2903
  switch( (*p) ) {
2901
2904
  case -60: goto tr120;
2902
2905
  case 32: goto tr96;
@@ -2945,7 +2948,7 @@ st81:
2945
2948
  if ( ++p == pe )
2946
2949
  goto _test_eof81;
2947
2950
  case 81:
2948
- #line 2949 "hpricot_css.c"
2951
+ #line 2952 "hpricot_css.c"
2949
2952
  if ( (*p) == 93 )
2950
2953
  goto tr100;
2951
2954
  if ( -88 <= (*p) && (*p) <= -65 )
@@ -2967,7 +2970,7 @@ st82:
2967
2970
  if ( ++p == pe )
2968
2971
  goto _test_eof82;
2969
2972
  case 82:
2970
- #line 2971 "hpricot_css.c"
2973
+ #line 2974 "hpricot_css.c"
2971
2974
  switch( (*p) ) {
2972
2975
  case -60: goto st81;
2973
2976
  case 45: goto st82;
@@ -3009,7 +3012,7 @@ st83:
3009
3012
  if ( ++p == pe )
3010
3013
  goto _test_eof83;
3011
3014
  case 83:
3012
- #line 3013 "hpricot_css.c"
3015
+ #line 3016 "hpricot_css.c"
3013
3016
  if ( (*p) == 93 )
3014
3017
  goto tr100;
3015
3018
  if ( (*p) <= -65 )
@@ -3031,7 +3034,7 @@ st84:
3031
3034
  if ( ++p == pe )
3032
3035
  goto _test_eof84;
3033
3036
  case 84:
3034
- #line 3035 "hpricot_css.c"
3037
+ #line 3038 "hpricot_css.c"
3035
3038
  if ( (*p) == 93 )
3036
3039
  goto tr100;
3037
3040
  if ( (*p) <= -65 )
@@ -3053,7 +3056,7 @@ st85:
3053
3056
  if ( ++p == pe )
3054
3057
  goto _test_eof85;
3055
3058
  case 85:
3056
- #line 3057 "hpricot_css.c"
3059
+ #line 3060 "hpricot_css.c"
3057
3060
  if ( (*p) == 93 )
3058
3061
  goto tr100;
3059
3062
  if ( (*p) <= -65 )
@@ -3075,7 +3078,7 @@ st86:
3075
3078
  if ( ++p == pe )
3076
3079
  goto _test_eof86;
3077
3080
  case 86:
3078
- #line 3079 "hpricot_css.c"
3081
+ #line 3082 "hpricot_css.c"
3079
3082
  switch( (*p) ) {
3080
3083
  case 46: goto st82;
3081
3084
  case 93: goto tr100;
@@ -3095,7 +3098,7 @@ st122:
3095
3098
  if ( ++p == pe )
3096
3099
  goto _test_eof122;
3097
3100
  case 122:
3098
- #line 3099 "hpricot_css.c"
3101
+ #line 3102 "hpricot_css.c"
3099
3102
  switch( (*p) ) {
3100
3103
  case -60: goto st1;
3101
3104
  case 45: goto tr1;
@@ -3131,7 +3134,7 @@ st123:
3131
3134
  if ( ++p == pe )
3132
3135
  goto _test_eof123;
3133
3136
  case 123:
3134
- #line 3135 "hpricot_css.c"
3137
+ #line 3138 "hpricot_css.c"
3135
3138
  switch( (*p) ) {
3136
3139
  case -60: goto st1;
3137
3140
  case 45: goto tr1;
@@ -3167,7 +3170,7 @@ st124:
3167
3170
  if ( ++p == pe )
3168
3171
  goto _test_eof124;
3169
3172
  case 124:
3170
- #line 3171 "hpricot_css.c"
3173
+ #line 3174 "hpricot_css.c"
3171
3174
  switch( (*p) ) {
3172
3175
  case -60: goto st1;
3173
3176
  case 45: goto tr1;
@@ -3206,7 +3209,7 @@ st125:
3206
3209
  if ( ++p == pe )
3207
3210
  goto _test_eof125;
3208
3211
  case 125:
3209
- #line 3210 "hpricot_css.c"
3212
+ #line 3213 "hpricot_css.c"
3210
3213
  switch( (*p) ) {
3211
3214
  case -60: goto st1;
3212
3215
  case 45: goto tr1;
@@ -3242,7 +3245,7 @@ st126:
3242
3245
  if ( ++p == pe )
3243
3246
  goto _test_eof126;
3244
3247
  case 126:
3245
- #line 3246 "hpricot_css.c"
3248
+ #line 3249 "hpricot_css.c"
3246
3249
  switch( (*p) ) {
3247
3250
  case -60: goto st1;
3248
3251
  case 45: goto tr1;
@@ -3494,6 +3497,7 @@ case 126:
3494
3497
 
3495
3498
  _out: {}
3496
3499
  }
3500
+
3497
3501
  #line 111 "hpricot_css.rl"
3498
3502
 
3499
3503
  rb_gc_unregister_address(&focus);