mail 2.1.3 → 2.1.5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of mail might be problematic. Click here for more details.
- data/CHANGELOG.rdoc +37 -0
- data/README.rdoc +1 -1
- data/Rakefile +2 -3
- data/TODO.rdoc +2 -12
- data/lib/mail.rb +7 -4
- data/lib/mail/attachments_list.rb +28 -10
- data/lib/mail/body.rb +44 -15
- data/lib/mail/core_extensions/string.rb +4 -0
- data/lib/mail/elements/content_transfer_encoding_element.rb +4 -1
- data/lib/mail/encodings/7bit.rb +29 -0
- data/lib/mail/encodings/8bit.rb +29 -0
- data/lib/mail/encodings/base64.rb +18 -5
- data/lib/mail/encodings/binary.rb +29 -0
- data/lib/mail/encodings/encodings.rb +22 -6
- data/lib/mail/encodings/quoted_printable.rb +27 -4
- data/lib/mail/encodings/transfer_encoding.rb +58 -0
- data/lib/mail/field.rb +4 -2
- data/lib/mail/fields/common/parameter_hash.rb +12 -3
- data/lib/mail/fields/content_disposition_field.rb +12 -2
- data/lib/mail/fields/content_location_field.rb +2 -2
- data/lib/mail/fields/content_transfer_encoding_field.rb +5 -3
- data/lib/mail/fields/content_type_field.rb +14 -4
- data/lib/mail/fields/mime_version_field.rb +2 -2
- data/lib/mail/fields/received_field.rb +8 -4
- data/lib/mail/fields/structured_field.rb +4 -0
- data/lib/mail/fields/unstructured_field.rb +5 -0
- data/lib/mail/header.rb +13 -6
- data/lib/mail/mail.rb +1 -1
- data/lib/mail/message.rb +100 -28
- data/lib/mail/network/delivery_methods/smtp.rb +1 -1
- data/lib/mail/parsers/address_lists.rb +4 -1
- data/lib/mail/parsers/content_disposition.rb +24 -6
- data/lib/mail/parsers/content_location.rb +8 -2
- data/lib/mail/parsers/content_transfer_encoding.rb +73 -83
- data/lib/mail/parsers/content_transfer_encoding.treetop +5 -10
- data/lib/mail/parsers/content_type.rb +36 -9
- data/lib/mail/parsers/date_time.rb +4 -1
- data/lib/mail/parsers/envelope_from.rb +8 -2
- data/lib/mail/parsers/message_ids.rb +4 -1
- data/lib/mail/parsers/mime_version.rb +4 -1
- data/lib/mail/parsers/phrase_lists.rb +4 -1
- data/lib/mail/parsers/received.rb +4 -1
- data/lib/mail/parsers/rfc2045.rb +75 -17
- data/lib/mail/parsers/rfc2045.treetop +2 -1
- data/lib/mail/parsers/rfc2822.rb +316 -79
- data/lib/mail/parsers/rfc2822_obsolete.rb +200 -50
- data/lib/mail/part.rb +21 -6
- data/lib/mail/patterns.rb +3 -3
- data/lib/mail/utilities.rb +4 -4
- data/lib/mail/vendor/treetop-1.4.3/Or +0 -0
- data/lib/mail/vendor/treetop-1.4.3/Rakefile +11 -6
- data/lib/mail/vendor/treetop-1.4.3/Treetop.tmbundle/Preferences/Comments.tmPreferences +22 -0
- data/lib/mail/vendor/treetop-1.4.3/Treetop.tmbundle/Syntaxes/Treetop Grammar.tmLanguage +28 -1
- data/lib/mail/vendor/treetop-1.4.3/bin/tt +5 -5
- data/lib/mail/vendor/treetop-1.4.3/lib/treetop.rb +3 -19
- data/lib/mail/vendor/treetop-1.4.3/lib/treetop/bootstrap_gen_1_metagrammar.rb +4 -7
- data/lib/mail/vendor/treetop-1.4.3/lib/treetop/compiler.rb +7 -6
- data/lib/mail/vendor/treetop-1.4.3/lib/treetop/compiler/metagrammar.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes.rb +19 -20
- data/lib/mail/vendor/treetop-1.4.3/lib/treetop/polyglot.rb +9 -0
- data/lib/mail/vendor/treetop-1.4.3/lib/treetop/ruby_extensions.rb +1 -2
- data/lib/mail/vendor/treetop-1.4.3/lib/treetop/runtime.rb +6 -5
- data/lib/mail/vendor/treetop-1.4.3/lib/treetop/runtime/interval_skip_list.rb +3 -4
- data/lib/mail/vendor/treetop-1.4.3/lib/treetop/runtime/syntax_node.rb +7 -7
- data/lib/mail/vendor/treetop-1.4.3/lib/treetop/version.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/script/generate_metagrammar.rb +3 -4
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/and_predicate_spec.rb +2 -2
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/anything_symbol_spec.rb +2 -2
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/character_class_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/choice_spec.rb +2 -2
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/circular_compilation_spec.rb +3 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/failure_propagation_functional_spec.rb +2 -2
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/grammar_compiler_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/grammar_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/multibyte_chars_spec.rb +1 -9
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/nonterminal_symbol_spec.rb +2 -2
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/not_predicate_spec.rb +2 -2
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/one_or_more_spec.rb +2 -2
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/optional_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/parenthesized_expression_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/parsing_rule_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/repeated_subrule_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/semantic_predicate_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/sequence_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/terminal_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/terminal_symbol_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/tt_compiler_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/compiler/zero_or_more_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/composition/grammar_composition_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/ruby_extensions/string_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/runtime/compiled_parser_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/runtime/interval_skip_list/delete_spec.rb +2 -2
- data/lib/mail/vendor/treetop-1.4.3/spec/runtime/interval_skip_list/expire_range_spec.rb +2 -2
- data/lib/mail/vendor/treetop-1.4.3/spec/runtime/interval_skip_list/insert_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/runtime/interval_skip_list/interval_skip_list_spec.rb +2 -2
- data/lib/mail/vendor/treetop-1.4.3/spec/runtime/interval_skip_list/palindromic_fixture_spec.rb +2 -3
- data/lib/mail/vendor/treetop-1.4.3/spec/runtime/interval_skip_list/spec_helper.rb +2 -2
- data/lib/mail/vendor/treetop-1.4.3/spec/runtime/syntax_node_spec.rb +1 -1
- data/lib/mail/vendor/treetop-1.4.3/spec/spec_helper.rb +4 -5
- data/lib/mail/vendor/treetop-1.4.3/treetop.gemspec +2 -2
- data/lib/mail/version.rb +1 -1
- data/lib/mail/version_specific/ruby_1_8.rb +1 -3
- data/lib/mail/version_specific/ruby_1_9.rb +1 -2
- data/lib/tasks/treetop.rake +1 -1
- metadata +33 -14
- data/lib/mail/vendor/treetop-1.4.3/spec/spec_suite.rb +0 -4
@@ -16,7 +16,10 @@ module Mail
|
|
16
16
|
start_index = index
|
17
17
|
if node_cache[:obs_qp].has_key?(index)
|
18
18
|
cached = node_cache[:obs_qp][index]
|
19
|
-
|
19
|
+
if cached
|
20
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
21
|
+
@index = cached.interval.end
|
22
|
+
end
|
20
23
|
return cached
|
21
24
|
end
|
22
25
|
|
@@ -65,7 +68,10 @@ module Mail
|
|
65
68
|
start_index = index
|
66
69
|
if node_cache[:obs_text].has_key?(index)
|
67
70
|
cached = node_cache[:obs_text][index]
|
68
|
-
|
71
|
+
if cached
|
72
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
73
|
+
@index = cached.interval.end
|
74
|
+
end
|
69
75
|
return cached
|
70
76
|
end
|
71
77
|
|
@@ -159,7 +165,10 @@ module Mail
|
|
159
165
|
start_index = index
|
160
166
|
if node_cache[:obs_char].has_key?(index)
|
161
167
|
cached = node_cache[:obs_char][index]
|
162
|
-
|
168
|
+
if cached
|
169
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
170
|
+
@index = cached.interval.end
|
171
|
+
end
|
163
172
|
return cached
|
164
173
|
end
|
165
174
|
|
@@ -206,7 +215,10 @@ module Mail
|
|
206
215
|
start_index = index
|
207
216
|
if node_cache[:obs_utext].has_key?(index)
|
208
217
|
cached = node_cache[:obs_utext][index]
|
209
|
-
|
218
|
+
if cached
|
219
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
220
|
+
@index = cached.interval.end
|
221
|
+
end
|
210
222
|
return cached
|
211
223
|
end
|
212
224
|
|
@@ -221,7 +233,10 @@ module Mail
|
|
221
233
|
start_index = index
|
222
234
|
if node_cache[:obs_phrase].has_key?(index)
|
223
235
|
cached = node_cache[:obs_phrase][index]
|
224
|
-
|
236
|
+
if cached
|
237
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
238
|
+
@index = cached.interval.end
|
239
|
+
end
|
225
240
|
return cached
|
226
241
|
end
|
227
242
|
|
@@ -274,7 +289,10 @@ module Mail
|
|
274
289
|
start_index = index
|
275
290
|
if node_cache[:obs_phrase_list].has_key?(index)
|
276
291
|
cached = node_cache[:obs_phrase_list][index]
|
277
|
-
|
292
|
+
if cached
|
293
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
294
|
+
@index = cached.interval.end
|
295
|
+
end
|
278
296
|
return cached
|
279
297
|
end
|
280
298
|
|
@@ -385,7 +403,10 @@ module Mail
|
|
385
403
|
start_index = index
|
386
404
|
if node_cache[:obs_FWS].has_key?(index)
|
387
405
|
cached = node_cache[:obs_FWS][index]
|
388
|
-
|
406
|
+
if cached
|
407
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
408
|
+
@index = cached.interval.end
|
409
|
+
end
|
389
410
|
return cached
|
390
411
|
end
|
391
412
|
|
@@ -470,7 +491,10 @@ module Mail
|
|
470
491
|
start_index = index
|
471
492
|
if node_cache[:obs_day_of_week].has_key?(index)
|
472
493
|
cached = node_cache[:obs_day_of_week][index]
|
473
|
-
|
494
|
+
if cached
|
495
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
496
|
+
@index = cached.interval.end
|
497
|
+
end
|
474
498
|
return cached
|
475
499
|
end
|
476
500
|
|
@@ -525,7 +549,10 @@ module Mail
|
|
525
549
|
start_index = index
|
526
550
|
if node_cache[:obs_year].has_key?(index)
|
527
551
|
cached = node_cache[:obs_year][index]
|
528
|
-
|
552
|
+
if cached
|
553
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
554
|
+
@index = cached.interval.end
|
555
|
+
end
|
529
556
|
return cached
|
530
557
|
end
|
531
558
|
|
@@ -594,7 +621,10 @@ module Mail
|
|
594
621
|
start_index = index
|
595
622
|
if node_cache[:obs_month].has_key?(index)
|
596
623
|
cached = node_cache[:obs_month][index]
|
597
|
-
|
624
|
+
if cached
|
625
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
626
|
+
@index = cached.interval.end
|
627
|
+
end
|
598
628
|
return cached
|
599
629
|
end
|
600
630
|
|
@@ -639,7 +669,10 @@ module Mail
|
|
639
669
|
start_index = index
|
640
670
|
if node_cache[:obs_day].has_key?(index)
|
641
671
|
cached = node_cache[:obs_day][index]
|
642
|
-
|
672
|
+
if cached
|
673
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
674
|
+
@index = cached.interval.end
|
675
|
+
end
|
643
676
|
return cached
|
644
677
|
end
|
645
678
|
|
@@ -719,7 +752,10 @@ module Mail
|
|
719
752
|
start_index = index
|
720
753
|
if node_cache[:obs_hour].has_key?(index)
|
721
754
|
cached = node_cache[:obs_hour][index]
|
722
|
-
|
755
|
+
if cached
|
756
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
757
|
+
@index = cached.interval.end
|
758
|
+
end
|
723
759
|
return cached
|
724
760
|
end
|
725
761
|
|
@@ -787,7 +823,10 @@ module Mail
|
|
787
823
|
start_index = index
|
788
824
|
if node_cache[:obs_minute].has_key?(index)
|
789
825
|
cached = node_cache[:obs_minute][index]
|
790
|
-
|
826
|
+
if cached
|
827
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
828
|
+
@index = cached.interval.end
|
829
|
+
end
|
791
830
|
return cached
|
792
831
|
end
|
793
832
|
|
@@ -855,7 +894,10 @@ module Mail
|
|
855
894
|
start_index = index
|
856
895
|
if node_cache[:obs_second].has_key?(index)
|
857
896
|
cached = node_cache[:obs_second][index]
|
858
|
-
|
897
|
+
if cached
|
898
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
899
|
+
@index = cached.interval.end
|
900
|
+
end
|
859
901
|
return cached
|
860
902
|
end
|
861
903
|
|
@@ -910,7 +952,10 @@ module Mail
|
|
910
952
|
start_index = index
|
911
953
|
if node_cache[:obs_zone].has_key?(index)
|
912
954
|
cached = node_cache[:obs_zone][index]
|
913
|
-
|
955
|
+
if cached
|
956
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
957
|
+
@index = cached.interval.end
|
958
|
+
end
|
914
959
|
return cached
|
915
960
|
end
|
916
961
|
|
@@ -1084,7 +1129,10 @@ module Mail
|
|
1084
1129
|
start_index = index
|
1085
1130
|
if node_cache[:obs_angle_addr].has_key?(index)
|
1086
1131
|
cached = node_cache[:obs_angle_addr][index]
|
1087
|
-
|
1132
|
+
if cached
|
1133
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1134
|
+
@index = cached.interval.end
|
1135
|
+
end
|
1088
1136
|
return cached
|
1089
1137
|
end
|
1090
1138
|
|
@@ -1162,7 +1210,10 @@ module Mail
|
|
1162
1210
|
start_index = index
|
1163
1211
|
if node_cache[:obs_route].has_key?(index)
|
1164
1212
|
cached = node_cache[:obs_route][index]
|
1165
|
-
|
1213
|
+
if cached
|
1214
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1215
|
+
@index = cached.interval.end
|
1216
|
+
end
|
1166
1217
|
return cached
|
1167
1218
|
end
|
1168
1219
|
|
@@ -1227,7 +1278,10 @@ module Mail
|
|
1227
1278
|
start_index = index
|
1228
1279
|
if node_cache[:obs_domain_list].has_key?(index)
|
1229
1280
|
cached = node_cache[:obs_domain_list][index]
|
1230
|
-
|
1281
|
+
if cached
|
1282
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1283
|
+
@index = cached.interval.end
|
1284
|
+
end
|
1231
1285
|
return cached
|
1232
1286
|
end
|
1233
1287
|
|
@@ -1334,7 +1388,10 @@ module Mail
|
|
1334
1388
|
start_index = index
|
1335
1389
|
if node_cache[:obs_local_part].has_key?(index)
|
1336
1390
|
cached = node_cache[:obs_local_part][index]
|
1337
|
-
|
1391
|
+
if cached
|
1392
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1393
|
+
@index = cached.interval.end
|
1394
|
+
end
|
1338
1395
|
return cached
|
1339
1396
|
end
|
1340
1397
|
|
@@ -1403,7 +1460,10 @@ module Mail
|
|
1403
1460
|
start_index = index
|
1404
1461
|
if node_cache[:obs_domain].has_key?(index)
|
1405
1462
|
cached = node_cache[:obs_domain][index]
|
1406
|
-
|
1463
|
+
if cached
|
1464
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1465
|
+
@index = cached.interval.end
|
1466
|
+
end
|
1407
1467
|
return cached
|
1408
1468
|
end
|
1409
1469
|
|
@@ -1465,7 +1525,10 @@ module Mail
|
|
1465
1525
|
start_index = index
|
1466
1526
|
if node_cache[:obs_mbox_list].has_key?(index)
|
1467
1527
|
cached = node_cache[:obs_mbox_list][index]
|
1468
|
-
|
1528
|
+
if cached
|
1529
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1530
|
+
@index = cached.interval.end
|
1531
|
+
end
|
1469
1532
|
return cached
|
1470
1533
|
end
|
1471
1534
|
|
@@ -1560,7 +1623,10 @@ module Mail
|
|
1560
1623
|
start_index = index
|
1561
1624
|
if node_cache[:obs_addr_list].has_key?(index)
|
1562
1625
|
cached = node_cache[:obs_addr_list][index]
|
1563
|
-
|
1626
|
+
if cached
|
1627
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1628
|
+
@index = cached.interval.end
|
1629
|
+
end
|
1564
1630
|
return cached
|
1565
1631
|
end
|
1566
1632
|
|
@@ -1649,7 +1715,10 @@ module Mail
|
|
1649
1715
|
start_index = index
|
1650
1716
|
if node_cache[:obs_fields].has_key?(index)
|
1651
1717
|
cached = node_cache[:obs_fields][index]
|
1652
|
-
|
1718
|
+
if cached
|
1719
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1720
|
+
@index = cached.interval.end
|
1721
|
+
end
|
1653
1722
|
return cached
|
1654
1723
|
end
|
1655
1724
|
|
@@ -1805,7 +1874,10 @@ module Mail
|
|
1805
1874
|
start_index = index
|
1806
1875
|
if node_cache[:obs_orig_date].has_key?(index)
|
1807
1876
|
cached = node_cache[:obs_orig_date][index]
|
1808
|
-
|
1877
|
+
if cached
|
1878
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1879
|
+
@index = cached.interval.end
|
1880
|
+
end
|
1809
1881
|
return cached
|
1810
1882
|
end
|
1811
1883
|
|
@@ -1876,7 +1948,10 @@ module Mail
|
|
1876
1948
|
start_index = index
|
1877
1949
|
if node_cache[:obs_from].has_key?(index)
|
1878
1950
|
cached = node_cache[:obs_from][index]
|
1879
|
-
|
1951
|
+
if cached
|
1952
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1953
|
+
@index = cached.interval.end
|
1954
|
+
end
|
1880
1955
|
return cached
|
1881
1956
|
end
|
1882
1957
|
|
@@ -1947,7 +2022,10 @@ module Mail
|
|
1947
2022
|
start_index = index
|
1948
2023
|
if node_cache[:obs_sender].has_key?(index)
|
1949
2024
|
cached = node_cache[:obs_sender][index]
|
1950
|
-
|
2025
|
+
if cached
|
2026
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
2027
|
+
@index = cached.interval.end
|
2028
|
+
end
|
1951
2029
|
return cached
|
1952
2030
|
end
|
1953
2031
|
|
@@ -2018,7 +2096,10 @@ module Mail
|
|
2018
2096
|
start_index = index
|
2019
2097
|
if node_cache[:obs_reply_to].has_key?(index)
|
2020
2098
|
cached = node_cache[:obs_reply_to][index]
|
2021
|
-
|
2099
|
+
if cached
|
2100
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
2101
|
+
@index = cached.interval.end
|
2102
|
+
end
|
2022
2103
|
return cached
|
2023
2104
|
end
|
2024
2105
|
|
@@ -2089,7 +2170,10 @@ module Mail
|
|
2089
2170
|
start_index = index
|
2090
2171
|
if node_cache[:obs_to].has_key?(index)
|
2091
2172
|
cached = node_cache[:obs_to][index]
|
2092
|
-
|
2173
|
+
if cached
|
2174
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
2175
|
+
@index = cached.interval.end
|
2176
|
+
end
|
2093
2177
|
return cached
|
2094
2178
|
end
|
2095
2179
|
|
@@ -2160,7 +2244,10 @@ module Mail
|
|
2160
2244
|
start_index = index
|
2161
2245
|
if node_cache[:obs_cc].has_key?(index)
|
2162
2246
|
cached = node_cache[:obs_cc][index]
|
2163
|
-
|
2247
|
+
if cached
|
2248
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
2249
|
+
@index = cached.interval.end
|
2250
|
+
end
|
2164
2251
|
return cached
|
2165
2252
|
end
|
2166
2253
|
|
@@ -2227,7 +2314,10 @@ module Mail
|
|
2227
2314
|
start_index = index
|
2228
2315
|
if node_cache[:obs_bcc].has_key?(index)
|
2229
2316
|
cached = node_cache[:obs_bcc][index]
|
2230
|
-
|
2317
|
+
if cached
|
2318
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
2319
|
+
@index = cached.interval.end
|
2320
|
+
end
|
2231
2321
|
return cached
|
2232
2322
|
end
|
2233
2323
|
|
@@ -2315,7 +2405,10 @@ module Mail
|
|
2315
2405
|
start_index = index
|
2316
2406
|
if node_cache[:obs_message_id].has_key?(index)
|
2317
2407
|
cached = node_cache[:obs_message_id][index]
|
2318
|
-
|
2408
|
+
if cached
|
2409
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
2410
|
+
@index = cached.interval.end
|
2411
|
+
end
|
2319
2412
|
return cached
|
2320
2413
|
end
|
2321
2414
|
|
@@ -2382,7 +2475,10 @@ module Mail
|
|
2382
2475
|
start_index = index
|
2383
2476
|
if node_cache[:obs_in_reply_to].has_key?(index)
|
2384
2477
|
cached = node_cache[:obs_in_reply_to][index]
|
2385
|
-
|
2478
|
+
if cached
|
2479
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
2480
|
+
@index = cached.interval.end
|
2481
|
+
end
|
2386
2482
|
return cached
|
2387
2483
|
end
|
2388
2484
|
|
@@ -2470,7 +2566,10 @@ module Mail
|
|
2470
2566
|
start_index = index
|
2471
2567
|
if node_cache[:obs_references].has_key?(index)
|
2472
2568
|
cached = node_cache[:obs_references][index]
|
2473
|
-
|
2569
|
+
if cached
|
2570
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
2571
|
+
@index = cached.interval.end
|
2572
|
+
end
|
2474
2573
|
return cached
|
2475
2574
|
end
|
2476
2575
|
|
@@ -2552,7 +2651,10 @@ module Mail
|
|
2552
2651
|
start_index = index
|
2553
2652
|
if node_cache[:obs_id_left].has_key?(index)
|
2554
2653
|
cached = node_cache[:obs_id_left][index]
|
2555
|
-
|
2654
|
+
if cached
|
2655
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
2656
|
+
@index = cached.interval.end
|
2657
|
+
end
|
2556
2658
|
return cached
|
2557
2659
|
end
|
2558
2660
|
|
@@ -2567,7 +2669,10 @@ module Mail
|
|
2567
2669
|
start_index = index
|
2568
2670
|
if node_cache[:obs_id_right].has_key?(index)
|
2569
2671
|
cached = node_cache[:obs_id_right][index]
|
2570
|
-
|
2672
|
+
if cached
|
2673
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
2674
|
+
@index = cached.interval.end
|
2675
|
+
end
|
2571
2676
|
return cached
|
2572
2677
|
end
|
2573
2678
|
|
@@ -2592,7 +2697,10 @@ module Mail
|
|
2592
2697
|
start_index = index
|
2593
2698
|
if node_cache[:obs_subject].has_key?(index)
|
2594
2699
|
cached = node_cache[:obs_subject][index]
|
2595
|
-
|
2700
|
+
if cached
|
2701
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
2702
|
+
@index = cached.interval.end
|
2703
|
+
end
|
2596
2704
|
return cached
|
2597
2705
|
end
|
2598
2706
|
|
@@ -2663,7 +2771,10 @@ module Mail
|
|
2663
2771
|
start_index = index
|
2664
2772
|
if node_cache[:obs_comments].has_key?(index)
|
2665
2773
|
cached = node_cache[:obs_comments][index]
|
2666
|
-
|
2774
|
+
if cached
|
2775
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
2776
|
+
@index = cached.interval.end
|
2777
|
+
end
|
2667
2778
|
return cached
|
2668
2779
|
end
|
2669
2780
|
|
@@ -2734,7 +2845,10 @@ module Mail
|
|
2734
2845
|
start_index = index
|
2735
2846
|
if node_cache[:obs_keywords].has_key?(index)
|
2736
2847
|
cached = node_cache[:obs_keywords][index]
|
2737
|
-
|
2848
|
+
if cached
|
2849
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
2850
|
+
@index = cached.interval.end
|
2851
|
+
end
|
2738
2852
|
return cached
|
2739
2853
|
end
|
2740
2854
|
|
@@ -2805,7 +2919,10 @@ module Mail
|
|
2805
2919
|
start_index = index
|
2806
2920
|
if node_cache[:obs_resent_from].has_key?(index)
|
2807
2921
|
cached = node_cache[:obs_resent_from][index]
|
2808
|
-
|
2922
|
+
if cached
|
2923
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
2924
|
+
@index = cached.interval.end
|
2925
|
+
end
|
2809
2926
|
return cached
|
2810
2927
|
end
|
2811
2928
|
|
@@ -2876,7 +2993,10 @@ module Mail
|
|
2876
2993
|
start_index = index
|
2877
2994
|
if node_cache[:obs_resent_send].has_key?(index)
|
2878
2995
|
cached = node_cache[:obs_resent_send][index]
|
2879
|
-
|
2996
|
+
if cached
|
2997
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
2998
|
+
@index = cached.interval.end
|
2999
|
+
end
|
2880
3000
|
return cached
|
2881
3001
|
end
|
2882
3002
|
|
@@ -2947,7 +3067,10 @@ module Mail
|
|
2947
3067
|
start_index = index
|
2948
3068
|
if node_cache[:obs_resent_date].has_key?(index)
|
2949
3069
|
cached = node_cache[:obs_resent_date][index]
|
2950
|
-
|
3070
|
+
if cached
|
3071
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
3072
|
+
@index = cached.interval.end
|
3073
|
+
end
|
2951
3074
|
return cached
|
2952
3075
|
end
|
2953
3076
|
|
@@ -3018,7 +3141,10 @@ module Mail
|
|
3018
3141
|
start_index = index
|
3019
3142
|
if node_cache[:obs_resent_to].has_key?(index)
|
3020
3143
|
cached = node_cache[:obs_resent_to][index]
|
3021
|
-
|
3144
|
+
if cached
|
3145
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
3146
|
+
@index = cached.interval.end
|
3147
|
+
end
|
3022
3148
|
return cached
|
3023
3149
|
end
|
3024
3150
|
|
@@ -3089,7 +3215,10 @@ module Mail
|
|
3089
3215
|
start_index = index
|
3090
3216
|
if node_cache[:obs_resent_cc].has_key?(index)
|
3091
3217
|
cached = node_cache[:obs_resent_cc][index]
|
3092
|
-
|
3218
|
+
if cached
|
3219
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
3220
|
+
@index = cached.interval.end
|
3221
|
+
end
|
3093
3222
|
return cached
|
3094
3223
|
end
|
3095
3224
|
|
@@ -3156,7 +3285,10 @@ module Mail
|
|
3156
3285
|
start_index = index
|
3157
3286
|
if node_cache[:obs_resent_bcc].has_key?(index)
|
3158
3287
|
cached = node_cache[:obs_resent_bcc][index]
|
3159
|
-
|
3288
|
+
if cached
|
3289
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
3290
|
+
@index = cached.interval.end
|
3291
|
+
end
|
3160
3292
|
return cached
|
3161
3293
|
end
|
3162
3294
|
|
@@ -3244,7 +3376,10 @@ module Mail
|
|
3244
3376
|
start_index = index
|
3245
3377
|
if node_cache[:obs_resent_mid].has_key?(index)
|
3246
3378
|
cached = node_cache[:obs_resent_mid][index]
|
3247
|
-
|
3379
|
+
if cached
|
3380
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
3381
|
+
@index = cached.interval.end
|
3382
|
+
end
|
3248
3383
|
return cached
|
3249
3384
|
end
|
3250
3385
|
|
@@ -3315,7 +3450,10 @@ module Mail
|
|
3315
3450
|
start_index = index
|
3316
3451
|
if node_cache[:obs_resent_rply].has_key?(index)
|
3317
3452
|
cached = node_cache[:obs_resent_rply][index]
|
3318
|
-
|
3453
|
+
if cached
|
3454
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
3455
|
+
@index = cached.interval.end
|
3456
|
+
end
|
3319
3457
|
return cached
|
3320
3458
|
end
|
3321
3459
|
|
@@ -3386,7 +3524,10 @@ module Mail
|
|
3386
3524
|
start_index = index
|
3387
3525
|
if node_cache[:obs_return].has_key?(index)
|
3388
3526
|
cached = node_cache[:obs_return][index]
|
3389
|
-
|
3527
|
+
if cached
|
3528
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
3529
|
+
@index = cached.interval.end
|
3530
|
+
end
|
3390
3531
|
return cached
|
3391
3532
|
end
|
3392
3533
|
|
@@ -3457,7 +3598,10 @@ module Mail
|
|
3457
3598
|
start_index = index
|
3458
3599
|
if node_cache[:obs_received].has_key?(index)
|
3459
3600
|
cached = node_cache[:obs_received][index]
|
3460
|
-
|
3601
|
+
if cached
|
3602
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
3603
|
+
@index = cached.interval.end
|
3604
|
+
end
|
3461
3605
|
return cached
|
3462
3606
|
end
|
3463
3607
|
|
@@ -3518,7 +3662,10 @@ module Mail
|
|
3518
3662
|
start_index = index
|
3519
3663
|
if node_cache[:obs_path].has_key?(index)
|
3520
3664
|
cached = node_cache[:obs_path][index]
|
3521
|
-
|
3665
|
+
if cached
|
3666
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
3667
|
+
@index = cached.interval.end
|
3668
|
+
end
|
3522
3669
|
return cached
|
3523
3670
|
end
|
3524
3671
|
|
@@ -3547,7 +3694,10 @@ module Mail
|
|
3547
3694
|
start_index = index
|
3548
3695
|
if node_cache[:obs_optional].has_key?(index)
|
3549
3696
|
cached = node_cache[:obs_optional][index]
|
3550
|
-
|
3697
|
+
if cached
|
3698
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
3699
|
+
@index = cached.interval.end
|
3700
|
+
end
|
3551
3701
|
return cached
|
3552
3702
|
end
|
3553
3703
|
|