sup 0.19.0 → 0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.gitignore +4 -1
- data/.gitmodules +3 -0
- data/.travis.yml +12 -6
- data/CONTRIBUTORS +28 -14
- data/Gemfile +5 -0
- data/History.txt +92 -0
- data/README.md +26 -5
- data/Rakefile +41 -1
- data/ReleaseNotes +17 -0
- data/bin/sup +12 -23
- data/bin/sup-add +15 -16
- data/bin/sup-config +30 -45
- data/bin/sup-dump +2 -3
- data/bin/sup-import-dump +5 -6
- data/bin/sup-sync +3 -4
- data/bin/sup-sync-back-maildir +3 -4
- data/bin/sup-tweak-labels +6 -7
- data/contrib/colorpicker.rb +0 -2
- data/contrib/completion/_sup.bash +102 -0
- data/devel/profile.rb +0 -1
- data/ext/mkrf_conf_xapian.rb +47 -0
- data/lib/sup.rb +10 -8
- data/lib/sup/buffer.rb +12 -0
- data/lib/sup/colormap.rb +5 -2
- data/lib/sup/contact.rb +4 -2
- data/lib/sup/crypto.rb +58 -16
- data/lib/sup/draft.rb +8 -8
- data/lib/sup/hook.rb +9 -9
- data/lib/sup/index.rb +20 -7
- data/lib/sup/label.rb +1 -1
- data/lib/sup/logger.rb +1 -1
- data/lib/sup/maildir.rb +16 -5
- data/lib/sup/mbox.rb +13 -5
- data/lib/sup/message.rb +36 -12
- data/lib/sup/message_chunks.rb +13 -4
- data/lib/sup/mode.rb +34 -28
- data/lib/sup/modes/contact_list_mode.rb +1 -0
- data/lib/sup/modes/edit_message_mode.rb +3 -2
- data/lib/sup/modes/forward_mode.rb +22 -3
- data/lib/sup/modes/line_cursor_mode.rb +1 -1
- data/lib/sup/modes/reply_mode.rb +3 -1
- data/lib/sup/modes/text_mode.rb +6 -1
- data/lib/sup/modes/thread_index_mode.rb +12 -2
- data/lib/sup/modes/thread_view_mode.rb +111 -14
- data/lib/sup/person.rb +68 -61
- data/lib/sup/search.rb +1 -1
- data/lib/sup/sent.rb +1 -1
- data/lib/sup/source.rb +1 -1
- data/lib/sup/util.rb +15 -94
- data/lib/sup/util/axe.rb +17 -0
- data/lib/sup/util/locale_fiddler.rb +24 -0
- data/lib/sup/util/ncurses.rb +3 -3
- data/lib/sup/version.rb +10 -1
- data/sup.gemspec +29 -11
- data/test/{messages → fixtures}/bad-content-transfer-encoding-1.eml +0 -0
- data/test/{messages → fixtures}/binary-content-transfer-encoding-2.eml +0 -0
- data/test/fixtures/blank-header-fields.eml +71 -0
- data/test/fixtures/contacts.txt +1 -0
- data/test/fixtures/mailing-list-header.eml +80 -0
- data/test/fixtures/malicious-attachment-names.eml +55 -0
- data/test/fixtures/missing-from-to.eml +18 -0
- data/test/{messages → fixtures}/missing-line.eml +0 -0
- data/test/fixtures/multi-part-2.eml +72 -0
- data/test/fixtures/multi-part.eml +61 -0
- data/test/fixtures/no-body.eml +18 -0
- data/test/fixtures/simple-message.eml +29 -0
- data/test/fixtures/text-attachments-with-charset.eml +46 -0
- data/test/fixtures/zimbra-quote-with-bottom-post.eml +27 -0
- data/test/gnupg_test_home/gpg.conf +3 -1
- data/test/gnupg_test_home/private-keys-v1.d/306D2EE90FF0014B5B9FD07E265C751791674140.key +0 -0
- data/test/gnupg_test_home/pubring.gpg +0 -0
- data/test/gnupg_test_home/receiver_pubring.gpg +0 -0
- data/test/gnupg_test_home/receiver_secring.gpg +0 -0
- data/test/gnupg_test_home/regen_keys.sh +89 -0
- data/test/gnupg_test_home/secring.gpg +0 -0
- data/test/gnupg_test_home/sup-test-2@foo.bar.asc +20 -17
- data/test/integration/test_maildir.rb +75 -0
- data/test/integration/test_mbox.rb +69 -0
- data/test/test_crypto.rb +14 -2
- data/test/test_header_parsing.rb +1 -1
- data/test/test_helper.rb +6 -3
- data/test/test_message.rb +115 -341
- data/test/test_messages_dir.rb +4 -28
- data/test/test_yaml_regressions.rb +1 -1
- data/test/unit/test_contact.rb +33 -0
- data/test/unit/test_locale_fiddler.rb +15 -0
- data/test/unit/test_person.rb +37 -0
- data/test/unit/util/test_query.rb +10 -4
- data/test/unit/util/test_string.rb +6 -0
- metadata +137 -53
- data/test/gnupg_test_home/receiver_trustdb.gpg +0 -0
- data/test/gnupg_test_home/trustdb.gpg +0 -0
data/test/test_messages_dir.rb
CHANGED
@@ -6,27 +6,9 @@ require 'stringio'
|
|
6
6
|
|
7
7
|
require 'dummy_source'
|
8
8
|
|
9
|
-
# override File.exists? to make it work with StringIO for testing.
|
10
|
-
# FIXME: do aliasing to avoid breaking this when sup moves from
|
11
|
-
# File.exists? to File.exist?
|
12
|
-
|
13
|
-
class File
|
14
|
-
|
15
|
-
def File.exists? file
|
16
|
-
# puts "fake File::exists?"
|
17
|
-
|
18
|
-
if file.is_a?(StringIO)
|
19
|
-
return false
|
20
|
-
end
|
21
|
-
# use the different function
|
22
|
-
File.exist?(file)
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
|
27
9
|
module Redwood
|
28
10
|
|
29
|
-
class TestMessagesDir < ::Minitest::
|
11
|
+
class TestMessagesDir < ::Minitest::Test
|
30
12
|
|
31
13
|
def setup
|
32
14
|
@path = Dir.mktmpdir
|
@@ -40,9 +22,7 @@ class TestMessagesDir < ::Minitest::Unit::TestCase
|
|
40
22
|
|
41
23
|
def test_binary_content_transfer_encoding
|
42
24
|
message = ''
|
43
|
-
File.open
|
44
|
-
message = f.read
|
45
|
-
end
|
25
|
+
File.open('test/fixtures/binary-content-transfer-encoding-2.eml') { |f| message = f.read }
|
46
26
|
|
47
27
|
source = DummySource.new("sup-test://test_messages")
|
48
28
|
source.messages = [ message ]
|
@@ -74,9 +54,7 @@ class TestMessagesDir < ::Minitest::Unit::TestCase
|
|
74
54
|
|
75
55
|
def test_bad_content_transfer_encoding
|
76
56
|
message = ''
|
77
|
-
File.open
|
78
|
-
message = f.read
|
79
|
-
end
|
57
|
+
File.open('test/fixtures/bad-content-transfer-encoding-1.eml') { |f| message = f.read }
|
80
58
|
|
81
59
|
source = DummySource.new("sup-test://test_messages")
|
82
60
|
source.messages = [ message ]
|
@@ -108,9 +86,7 @@ class TestMessagesDir < ::Minitest::Unit::TestCase
|
|
108
86
|
|
109
87
|
def test_missing_line
|
110
88
|
message = ''
|
111
|
-
File.open
|
112
|
-
message = f.read
|
113
|
-
end
|
89
|
+
File.open('test/fixtures/missing-line.eml') { |f| message = f.read }
|
114
90
|
|
115
91
|
source = DummySource.new("sup-test://test_messages")
|
116
92
|
source.messages = [ message ]
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'sup/contact'
|
3
|
+
|
4
|
+
module Redwood
|
5
|
+
|
6
|
+
class TestContact < Minitest::Test
|
7
|
+
def setup
|
8
|
+
@contact = ContactManager.init(File.expand_path("../../fixtures/contacts.txt", __FILE__))
|
9
|
+
@person = Person.new "Terrible Name", "terrible@name.com"
|
10
|
+
end
|
11
|
+
|
12
|
+
def teardown
|
13
|
+
runner = Redwood.const_get "ContactManager".to_sym
|
14
|
+
runner.deinstantiate!
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_contact_manager
|
18
|
+
assert @contact
|
19
|
+
## 1 contact is imported from the fixture file.
|
20
|
+
assert_equal 1, @contact.contacts.count
|
21
|
+
assert_equal @contact.contact_for("RC").name, "Random Contact"
|
22
|
+
|
23
|
+
assert_nil @contact.contact_for "TN"
|
24
|
+
@contact.update_alias @person, "TN"
|
25
|
+
|
26
|
+
assert @contact.is_aliased_contact?(@person)
|
27
|
+
assert_equal @person, @contact.contact_for("TN")
|
28
|
+
|
29
|
+
assert_equal "TN", @contact.alias_for(@person)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'sup/util/locale_fiddler'
|
3
|
+
|
4
|
+
class TestFiddle < ::Minitest::Unit::TestCase
|
5
|
+
# TODO this is a silly test
|
6
|
+
def test_fiddle_set_locale
|
7
|
+
before = LocaleDummy.setlocale(6, nil).to_s
|
8
|
+
after = LocaleDummy.setlocale(6, "").to_s
|
9
|
+
assert(before != after, "Expected locale to be fiddled with")
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
class LocaleDummy
|
14
|
+
extend LocaleFiddler
|
15
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'sup'
|
3
|
+
|
4
|
+
module Redwood
|
5
|
+
|
6
|
+
class TestPerson < Minitest::Test
|
7
|
+
def setup
|
8
|
+
@person = Person.new("Thomassen, Bob", "bob@thomassen.com")
|
9
|
+
@no_name = Person.new(nil, "alice@alice.com")
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_email_must_be_supplied
|
13
|
+
assert_raises (ArgumentError) { Person.new("Alice", nil) }
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_to_string
|
17
|
+
assert_equal "Thomassen, Bob <bob@thomassen.com>", "#{@person}"
|
18
|
+
assert_equal "alice@alice.com", "#{@no_name}"
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_shortname
|
22
|
+
assert_equal "Bob", @person.shortname
|
23
|
+
assert_equal "alice@alice.com", @no_name.shortname
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_mediumname
|
27
|
+
assert_equal "Thomassen, Bob", @person.mediumname
|
28
|
+
assert_equal "alice@alice.com", @no_name.mediumname
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_fullname
|
32
|
+
assert_equal "\"Thomassen, Bob\" <bob@thomassen.com>", @person.full_address
|
33
|
+
assert_equal "alice@alice.com", @no_name.full_address
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -24,9 +24,14 @@ describe Redwood::Util::Query do
|
|
24
24
|
query = Xapian::Query.new msg
|
25
25
|
life = 'hæi'
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
27
|
+
if query.description.force_encoding("UTF-8").valid_encoding?
|
28
|
+
# xapian 1.4 internally handles this bad input
|
29
|
+
assert true
|
30
|
+
else
|
31
|
+
# xapian 1.2 doesn't handle this bad input, so we do
|
32
|
+
assert_raises Redwood::Util::Query::QueryDescriptionError do
|
33
|
+
desc = Redwood::Util::Query.describe (query)
|
34
|
+
end
|
30
35
|
end
|
31
36
|
|
32
37
|
assert_raises Encoding::CompatibilityError do
|
@@ -40,7 +45,8 @@ describe Redwood::Util::Query do
|
|
40
45
|
|
41
46
|
desc = Redwood::Util::Query.describe(query, "invalid query")
|
42
47
|
|
43
|
-
|
48
|
+
assert desc.force_encoding("UTF-8").valid_encoding?
|
49
|
+
|
44
50
|
end
|
45
51
|
end
|
46
52
|
end
|
@@ -11,6 +11,8 @@ describe "Sup's String extension" do
|
|
11
11
|
['some words', 10,],
|
12
12
|
['中文', 4,],
|
13
13
|
['ä', 1,],
|
14
|
+
['😱', 2],
|
15
|
+
#['🏳️🌈', 2], # Emoji ZWJ sequence not yet supported (see PR #563)
|
14
16
|
]
|
15
17
|
end
|
16
18
|
|
@@ -27,6 +29,8 @@ describe "Sup's String extension" do
|
|
27
29
|
['some words', 6, 'some w'],
|
28
30
|
['中文', 2, '中'],
|
29
31
|
['älpha', 3, 'älp'],
|
32
|
+
['😱😱', 2, '😱'],
|
33
|
+
#['🏳️🌈', 2, '🏳️🌈'], # Emoji ZWJ sequence not yet supported (see PR #563)
|
30
34
|
]
|
31
35
|
end
|
32
36
|
|
@@ -45,6 +49,8 @@ describe "Sup's String extension" do
|
|
45
49
|
['中文', 2, ['中', '文']],
|
46
50
|
['中文', 5, ['中文']],
|
47
51
|
['älpha', 3, ['älp', 'ha']],
|
52
|
+
['😱😱', 2, ['😱', '😱']],
|
53
|
+
#['🏳️🌈🏳️🌈', 2, ['🏳️🌈', '🏳️🌈']], # Emoji ZWJ sequence not yet supported (see PR #563)
|
48
54
|
]
|
49
55
|
end
|
50
56
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.23'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Morgan
|
@@ -11,22 +11,8 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2020-07-10 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
17
|
-
name: xapian-ruby
|
18
|
-
requirement: !ruby/object:Gem::Requirement
|
19
|
-
requirements:
|
20
|
-
- - "~>"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 1.2.15
|
23
|
-
type: :runtime
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
requirements:
|
27
|
-
- - "~>"
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 1.2.15
|
30
16
|
- !ruby/object:Gem::Dependency
|
31
17
|
name: ncursesw
|
32
18
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,19 +28,19 @@ dependencies:
|
|
42
28
|
- !ruby/object:Gem::Version
|
43
29
|
version: 1.4.0
|
44
30
|
- !ruby/object:Gem::Dependency
|
45
|
-
name: rmail
|
31
|
+
name: rmail
|
46
32
|
requirement: !ruby/object:Gem::Requirement
|
47
33
|
requirements:
|
48
34
|
- - "~>"
|
49
35
|
- !ruby/object:Gem::Version
|
50
|
-
version: 1.
|
36
|
+
version: '1.1'
|
51
37
|
type: :runtime
|
52
38
|
prerelease: false
|
53
39
|
version_requirements: !ruby/object:Gem::Requirement
|
54
40
|
requirements:
|
55
41
|
- - "~>"
|
56
42
|
- !ruby/object:Gem::Version
|
57
|
-
version: 1.
|
43
|
+
version: '1.1'
|
58
44
|
- !ruby/object:Gem::Dependency
|
59
45
|
name: highline
|
60
46
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,19 +56,19 @@ dependencies:
|
|
70
56
|
- !ruby/object:Gem::Version
|
71
57
|
version: '0'
|
72
58
|
- !ruby/object:Gem::Dependency
|
73
|
-
name:
|
59
|
+
name: optimist
|
74
60
|
requirement: !ruby/object:Gem::Requirement
|
75
61
|
requirements:
|
76
62
|
- - ">="
|
77
63
|
- !ruby/object:Gem::Version
|
78
|
-
version: '
|
64
|
+
version: '0'
|
79
65
|
type: :runtime
|
80
66
|
prerelease: false
|
81
67
|
version_requirements: !ruby/object:Gem::Requirement
|
82
68
|
requirements:
|
83
69
|
- - ">="
|
84
70
|
- !ruby/object:Gem::Version
|
85
|
-
version: '
|
71
|
+
version: '0'
|
86
72
|
- !ruby/object:Gem::Dependency
|
87
73
|
name: lockfile
|
88
74
|
requirement: !ruby/object:Gem::Requirement
|
@@ -101,16 +87,16 @@ dependencies:
|
|
101
87
|
name: mime-types
|
102
88
|
requirement: !ruby/object:Gem::Requirement
|
103
89
|
requirements:
|
104
|
-
- - "
|
90
|
+
- - ">"
|
105
91
|
- !ruby/object:Gem::Version
|
106
|
-
version: '
|
92
|
+
version: '2.0'
|
107
93
|
type: :runtime
|
108
94
|
prerelease: false
|
109
95
|
version_requirements: !ruby/object:Gem::Requirement
|
110
96
|
requirements:
|
111
|
-
- - "
|
97
|
+
- - ">"
|
112
98
|
- !ruby/object:Gem::Version
|
113
|
-
version: '
|
99
|
+
version: '2.0'
|
114
100
|
- !ruby/object:Gem::Dependency
|
115
101
|
name: locale
|
116
102
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,16 +115,16 @@ dependencies:
|
|
129
115
|
name: chronic
|
130
116
|
requirement: !ruby/object:Gem::Requirement
|
131
117
|
requirements:
|
132
|
-
- - "
|
118
|
+
- - ">="
|
133
119
|
- !ruby/object:Gem::Version
|
134
|
-
version: 0
|
120
|
+
version: '0'
|
135
121
|
type: :runtime
|
136
122
|
prerelease: false
|
137
123
|
version_requirements: !ruby/object:Gem::Requirement
|
138
124
|
requirements:
|
139
|
-
- - "
|
125
|
+
- - ">="
|
140
126
|
- !ruby/object:Gem::Version
|
141
|
-
version: 0
|
127
|
+
version: '0'
|
142
128
|
- !ruby/object:Gem::Dependency
|
143
129
|
name: unicode
|
144
130
|
requirement: !ruby/object:Gem::Requirement
|
@@ -153,20 +139,40 @@ dependencies:
|
|
153
139
|
- - "~>"
|
154
140
|
- !ruby/object:Gem::Version
|
155
141
|
version: 0.4.4
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: unicode-display_width
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
requirements:
|
146
|
+
- - ">="
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '0'
|
149
|
+
type: :runtime
|
150
|
+
prerelease: false
|
151
|
+
version_requirements: !ruby/object:Gem::Requirement
|
152
|
+
requirements:
|
153
|
+
- - ">="
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: '0'
|
156
156
|
- !ruby/object:Gem::Dependency
|
157
157
|
name: bundler
|
158
158
|
requirement: !ruby/object:Gem::Requirement
|
159
159
|
requirements:
|
160
|
-
- - "
|
160
|
+
- - ">="
|
161
161
|
- !ruby/object:Gem::Version
|
162
162
|
version: '1.3'
|
163
|
+
- - "<"
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '3'
|
163
166
|
type: :development
|
164
167
|
prerelease: false
|
165
168
|
version_requirements: !ruby/object:Gem::Requirement
|
166
169
|
requirements:
|
167
|
-
- - "
|
170
|
+
- - ">="
|
168
171
|
- !ruby/object:Gem::Version
|
169
172
|
version: '1.3'
|
173
|
+
- - "<"
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: '3'
|
170
176
|
- !ruby/object:Gem::Dependency
|
171
177
|
name: rake
|
172
178
|
requirement: !ruby/object:Gem::Requirement
|
@@ -187,28 +193,28 @@ dependencies:
|
|
187
193
|
requirements:
|
188
194
|
- - "~>"
|
189
195
|
- !ruby/object:Gem::Version
|
190
|
-
version:
|
196
|
+
version: 5.5.1
|
191
197
|
type: :development
|
192
198
|
prerelease: false
|
193
199
|
version_requirements: !ruby/object:Gem::Requirement
|
194
200
|
requirements:
|
195
201
|
- - "~>"
|
196
202
|
- !ruby/object:Gem::Version
|
197
|
-
version:
|
203
|
+
version: 5.5.1
|
198
204
|
- !ruby/object:Gem::Dependency
|
199
205
|
name: rr
|
200
206
|
requirement: !ruby/object:Gem::Requirement
|
201
207
|
requirements:
|
202
208
|
- - "~>"
|
203
209
|
- !ruby/object:Gem::Version
|
204
|
-
version: 1.
|
210
|
+
version: '1.1'
|
205
211
|
type: :development
|
206
212
|
prerelease: false
|
207
213
|
version_requirements: !ruby/object:Gem::Requirement
|
208
214
|
requirements:
|
209
215
|
- - "~>"
|
210
216
|
- !ruby/object:Gem::Version
|
211
|
-
version: 1.
|
217
|
+
version: '1.1'
|
212
218
|
- !ruby/object:Gem::Dependency
|
213
219
|
name: gpgme
|
214
220
|
requirement: !ruby/object:Gem::Requirement
|
@@ -223,6 +229,20 @@ dependencies:
|
|
223
229
|
- - ">="
|
224
230
|
- !ruby/object:Gem::Version
|
225
231
|
version: 2.0.2
|
232
|
+
- !ruby/object:Gem::Dependency
|
233
|
+
name: pry
|
234
|
+
requirement: !ruby/object:Gem::Requirement
|
235
|
+
requirements:
|
236
|
+
- - ">="
|
237
|
+
- !ruby/object:Gem::Version
|
238
|
+
version: '0'
|
239
|
+
type: :development
|
240
|
+
prerelease: false
|
241
|
+
version_requirements: !ruby/object:Gem::Requirement
|
242
|
+
requirements:
|
243
|
+
- - ">="
|
244
|
+
- !ruby/object:Gem::Version
|
245
|
+
version: '0'
|
226
246
|
description: |2
|
227
247
|
Sup is a console-based email client for people with a lot of email.
|
228
248
|
|
@@ -244,10 +264,22 @@ executables:
|
|
244
264
|
- sup-sync
|
245
265
|
- sup-sync-back-maildir
|
246
266
|
- sup-tweak-labels
|
247
|
-
extensions:
|
248
|
-
|
267
|
+
extensions:
|
268
|
+
- ext/mkrf_conf_xapian.rb
|
269
|
+
extra_rdoc_files:
|
270
|
+
- man/sup-add.1
|
271
|
+
- man/sup-config.1
|
272
|
+
- man/sup-dump.1
|
273
|
+
- man/sup-import-dump.1
|
274
|
+
- man/sup-psych-ify-config-files.1
|
275
|
+
- man/sup-recover-sources.1
|
276
|
+
- man/sup-sync-back-maildir.1
|
277
|
+
- man/sup-sync.1
|
278
|
+
- man/sup-tweak-labels.1
|
279
|
+
- man/sup.1
|
249
280
|
files:
|
250
281
|
- ".gitignore"
|
282
|
+
- ".gitmodules"
|
251
283
|
- ".travis.yml"
|
252
284
|
- CONTRIBUTORS
|
253
285
|
- Gemfile
|
@@ -268,6 +300,7 @@ files:
|
|
268
300
|
- bin/sup-sync-back-maildir
|
269
301
|
- bin/sup-tweak-labels
|
270
302
|
- contrib/colorpicker.rb
|
303
|
+
- contrib/completion/_sup.bash
|
271
304
|
- contrib/completion/_sup.zsh
|
272
305
|
- devel/console.sh
|
273
306
|
- devel/count-loc.sh
|
@@ -277,6 +310,7 @@ files:
|
|
277
310
|
- doc/FAQ.txt
|
278
311
|
- doc/Hooks.txt
|
279
312
|
- doc/Philosophy.txt
|
313
|
+
- ext/mkrf_conf_xapian.rb
|
280
314
|
- lib/sup.rb
|
281
315
|
- lib/sup/account.rb
|
282
316
|
- lib/sup/buffer.rb
|
@@ -337,25 +371,51 @@ files:
|
|
337
371
|
- lib/sup/undo.rb
|
338
372
|
- lib/sup/update.rb
|
339
373
|
- lib/sup/util.rb
|
374
|
+
- lib/sup/util/axe.rb
|
375
|
+
- lib/sup/util/locale_fiddler.rb
|
340
376
|
- lib/sup/util/ncurses.rb
|
341
377
|
- lib/sup/util/path.rb
|
342
378
|
- lib/sup/util/query.rb
|
343
379
|
- lib/sup/util/uri.rb
|
344
380
|
- lib/sup/version.rb
|
381
|
+
- man/sup-add.1
|
382
|
+
- man/sup-config.1
|
383
|
+
- man/sup-dump.1
|
384
|
+
- man/sup-import-dump.1
|
385
|
+
- man/sup-psych-ify-config-files.1
|
386
|
+
- man/sup-recover-sources.1
|
387
|
+
- man/sup-sync-back-maildir.1
|
388
|
+
- man/sup-sync.1
|
389
|
+
- man/sup-tweak-labels.1
|
390
|
+
- man/sup.1
|
345
391
|
- sup.gemspec
|
346
392
|
- test/dummy_source.rb
|
393
|
+
- test/fixtures/bad-content-transfer-encoding-1.eml
|
394
|
+
- test/fixtures/binary-content-transfer-encoding-2.eml
|
395
|
+
- test/fixtures/blank-header-fields.eml
|
396
|
+
- test/fixtures/contacts.txt
|
397
|
+
- test/fixtures/mailing-list-header.eml
|
398
|
+
- test/fixtures/malicious-attachment-names.eml
|
399
|
+
- test/fixtures/missing-from-to.eml
|
400
|
+
- test/fixtures/missing-line.eml
|
401
|
+
- test/fixtures/multi-part-2.eml
|
402
|
+
- test/fixtures/multi-part.eml
|
403
|
+
- test/fixtures/no-body.eml
|
404
|
+
- test/fixtures/simple-message.eml
|
405
|
+
- test/fixtures/text-attachments-with-charset.eml
|
406
|
+
- test/fixtures/zimbra-quote-with-bottom-post.eml
|
407
|
+
- test/gnupg_test_home/.gpg-v21-migrated
|
347
408
|
- test/gnupg_test_home/gpg.conf
|
409
|
+
- test/gnupg_test_home/private-keys-v1.d/306D2EE90FF0014B5B9FD07E265C751791674140.key
|
348
410
|
- test/gnupg_test_home/pubring.gpg
|
349
411
|
- test/gnupg_test_home/receiver_pubring.gpg
|
350
412
|
- test/gnupg_test_home/receiver_secring.gpg
|
351
|
-
- test/gnupg_test_home/
|
413
|
+
- test/gnupg_test_home/regen_keys.sh
|
352
414
|
- test/gnupg_test_home/secring.gpg
|
353
415
|
- test/gnupg_test_home/sup-test-2@foo.bar.asc
|
354
|
-
- test/gnupg_test_home/trustdb.gpg
|
355
416
|
- test/integration/test_label_service.rb
|
356
|
-
- test/
|
357
|
-
- test/
|
358
|
-
- test/messages/missing-line.eml
|
417
|
+
- test/integration/test_maildir.rb
|
418
|
+
- test/integration/test_mbox.rb
|
359
419
|
- test/test_crypto.rb
|
360
420
|
- test/test_header_parsing.rb
|
361
421
|
- test/test_helper.rb
|
@@ -364,18 +424,26 @@ files:
|
|
364
424
|
- test/test_yaml_migration.rb
|
365
425
|
- test/test_yaml_regressions.rb
|
366
426
|
- test/unit/service/test_label_service.rb
|
427
|
+
- test/unit/test_contact.rb
|
367
428
|
- test/unit/test_horizontal_selector.rb
|
429
|
+
- test/unit/test_locale_fiddler.rb
|
430
|
+
- test/unit/test_person.rb
|
368
431
|
- test/unit/util/test_query.rb
|
369
432
|
- test/unit/util/test_string.rb
|
370
433
|
- test/unit/util/test_uri.rb
|
371
|
-
homepage:
|
434
|
+
homepage: https://sup-heliotrope.github.io/
|
372
435
|
licenses:
|
373
|
-
- GPL-2
|
436
|
+
- GPL-2.0
|
374
437
|
metadata: {}
|
375
438
|
post_install_message: |
|
376
439
|
SUP: please note that our old mailing lists have been shut down,
|
377
440
|
re-subscribe to supmua@googlegroups.com to discuss and follow
|
378
441
|
updates on sup (send email to: supmua+subscribe@googlegroups.com).
|
442
|
+
|
443
|
+
OpenBSD users:
|
444
|
+
If your operating system is OpenBSD you have some
|
445
|
+
additional, manual steps to do before Sup will work, see:
|
446
|
+
https://github.com/sup-heliotrope/sup/wiki/Installation%3A-OpenBSD.
|
379
447
|
rdoc_options: []
|
380
448
|
require_paths:
|
381
449
|
- lib
|
@@ -383,32 +451,45 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
383
451
|
requirements:
|
384
452
|
- - ">="
|
385
453
|
- !ruby/object:Gem::Version
|
386
|
-
version:
|
454
|
+
version: 2.0.0
|
387
455
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
388
456
|
requirements:
|
389
457
|
- - ">="
|
390
458
|
- !ruby/object:Gem::Version
|
391
459
|
version: '0'
|
392
460
|
requirements: []
|
393
|
-
|
394
|
-
rubygems_version: 2.2.2
|
461
|
+
rubygems_version: 3.1.2
|
395
462
|
signing_key:
|
396
463
|
specification_version: 4
|
397
464
|
summary: A console-based email client with the best features of GMail, mutt and Emacs
|
398
465
|
test_files:
|
399
466
|
- test/dummy_source.rb
|
467
|
+
- test/fixtures/bad-content-transfer-encoding-1.eml
|
468
|
+
- test/fixtures/binary-content-transfer-encoding-2.eml
|
469
|
+
- test/fixtures/blank-header-fields.eml
|
470
|
+
- test/fixtures/contacts.txt
|
471
|
+
- test/fixtures/mailing-list-header.eml
|
472
|
+
- test/fixtures/malicious-attachment-names.eml
|
473
|
+
- test/fixtures/missing-from-to.eml
|
474
|
+
- test/fixtures/missing-line.eml
|
475
|
+
- test/fixtures/multi-part-2.eml
|
476
|
+
- test/fixtures/multi-part.eml
|
477
|
+
- test/fixtures/no-body.eml
|
478
|
+
- test/fixtures/simple-message.eml
|
479
|
+
- test/fixtures/text-attachments-with-charset.eml
|
480
|
+
- test/fixtures/zimbra-quote-with-bottom-post.eml
|
481
|
+
- test/gnupg_test_home/.gpg-v21-migrated
|
400
482
|
- test/gnupg_test_home/gpg.conf
|
483
|
+
- test/gnupg_test_home/private-keys-v1.d/306D2EE90FF0014B5B9FD07E265C751791674140.key
|
401
484
|
- test/gnupg_test_home/pubring.gpg
|
402
485
|
- test/gnupg_test_home/receiver_pubring.gpg
|
403
486
|
- test/gnupg_test_home/receiver_secring.gpg
|
404
|
-
- test/gnupg_test_home/
|
487
|
+
- test/gnupg_test_home/regen_keys.sh
|
405
488
|
- test/gnupg_test_home/secring.gpg
|
406
489
|
- test/gnupg_test_home/sup-test-2@foo.bar.asc
|
407
|
-
- test/gnupg_test_home/trustdb.gpg
|
408
490
|
- test/integration/test_label_service.rb
|
409
|
-
- test/
|
410
|
-
- test/
|
411
|
-
- test/messages/missing-line.eml
|
491
|
+
- test/integration/test_maildir.rb
|
492
|
+
- test/integration/test_mbox.rb
|
412
493
|
- test/test_crypto.rb
|
413
494
|
- test/test_header_parsing.rb
|
414
495
|
- test/test_helper.rb
|
@@ -417,7 +498,10 @@ test_files:
|
|
417
498
|
- test/test_yaml_migration.rb
|
418
499
|
- test/test_yaml_regressions.rb
|
419
500
|
- test/unit/service/test_label_service.rb
|
501
|
+
- test/unit/test_contact.rb
|
420
502
|
- test/unit/test_horizontal_selector.rb
|
503
|
+
- test/unit/test_locale_fiddler.rb
|
504
|
+
- test/unit/test_person.rb
|
421
505
|
- test/unit/util/test_query.rb
|
422
506
|
- test/unit/util/test_string.rb
|
423
507
|
- test/unit/util/test_uri.rb
|