did_you_mean 1.2.0 → 1.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 79a0131dfb1348a1f49293ca29cbfa12eab5f896
4
- data.tar.gz: 274dd39aacc7583c0877cb3313cd938390d11003
2
+ SHA256:
3
+ metadata.gz: 3f4be5515dd4b97b67817085bc1d133942f9a9ee869663992959a5b5311aaf44
4
+ data.tar.gz: 180d2c3163cea5be2980f0ff703b850b716a17fee9673d63222b14a7ea31354c
5
5
  SHA512:
6
- metadata.gz: 31fc5df24553e10482afff9bd425c055f4b0ffbf4d4267927979b3c314a589ff40e13b6597a1e22f5415a221a6e6e0853e0a608d6aab7dafd2b6f71551d23490
7
- data.tar.gz: 5739306a3ddbed14ffe321a114ce5eda17513303d3e6d887da1978c781e694994addb383faf5c178bf46405fa49cc7e5630ad281b33caccdc66ba455eae297ff
6
+ metadata.gz: '028b440678251cd301b0d0b3aed95296d4d00da6e7ccc328aa87e407415fc8e7f73864cb7daa4ab8139f3e908e6102084ebcaf8ea85ff3e1ec0e4447561dc722'
7
+ data.tar.gz: 79c98fd00c0b334818f4b4a2d769405a0536524ce7369139e9b096291251ea4a91b396c262e54ce77294bc38b75689c58a294956cd8f12c27a276d72ef746a36
@@ -1 +1 @@
1
- 2.5.0-dev
1
+ 2.5.1
@@ -11,4 +11,4 @@ after_success:
11
11
  - bundle exec rake benchmark:memory
12
12
 
13
13
  rvm:
14
- - ruby-head
14
+ - 2.5.1
@@ -13,11 +13,11 @@ Gem::Specification.new do |spec|
13
13
  spec.homepage = "https://github.com/yuki24/did_you_mean"
14
14
  spec.license = "MIT"
15
15
 
16
- spec.files = `git ls-files`.split($/)
16
+ spec.files = `git ls-files`.split($/).reject{|path| path.start_with?('evaluation/') }
17
17
  spec.test_files = spec.files.grep(%r{^(test)/})
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.required_ruby_version = '>= 2.5.0dev'
20
+ spec.required_ruby_version = '>= 2.5.0'
21
21
 
22
22
  spec.add_development_dependency "bundler"
23
23
  spec.add_development_dependency "rake"
@@ -50,4 +50,20 @@ module DidYouMean
50
50
  end
51
51
 
52
52
  self.formatter = PlainFormatter.new
53
+
54
+ # Deprecated formatter
55
+ class Formatter #:nodoc:
56
+ def initialize(corrections = [])
57
+ @corrections = corrections
58
+ end
59
+
60
+ def to_s
61
+ return "" if @corrections.empty?
62
+
63
+ output = "\nDid you mean? ".dup
64
+ output << @corrections.join("\n ")
65
+ end
66
+ end
67
+
68
+ deprecate_constant :Formatter
53
69
  end
@@ -7,11 +7,14 @@ module DidYouMean
7
7
  attr_reader :class_name
8
8
 
9
9
  def initialize(exception)
10
- @class_name, @receiver = exception.name, exception.receiver
10
+ @class_name, @receiver, @original_message = exception.name, exception.receiver, exception.original_message
11
11
  end
12
12
 
13
13
  def corrections
14
- @corrections ||= SpellChecker.new(dictionary: class_names).correct(class_name).map(&:full_name)
14
+ @corrections ||= SpellChecker.new(dictionary: class_names)
15
+ .correct(class_name)
16
+ .map(&:full_name)
17
+ .reject {|qualified_name| @original_message.include?(qualified_name) }
15
18
  end
16
19
 
17
20
  def class_names
@@ -1,3 +1,3 @@
1
1
  module DidYouMean
2
- VERSION = "1.2.0"
2
+ VERSION = "1.2.1"
3
3
  end
@@ -20,7 +20,7 @@ class NameErrorExtensionTest < Minitest::Test
20
20
 
21
21
  def test_message
22
22
  message = <<~MESSAGE.chomp
23
- undefined local variable or method `doesnt_exist' for #{method(:to_s).super_method.call}
23
+ undefined local variable or method `doesnt_exist' for #{to_s}
24
24
  Did you mean? does_exist
25
25
  MESSAGE
26
26
 
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ class DeprecatedFormatterTest < Minitest::Test
4
+ def test_deprecated_formatter
5
+ assert_output nil, /test\/deprecated_formatter_test.rb:6: warning: constant DidYouMean::Formatter is deprecated/ do
6
+ assert_equal "\nDid you mean? does_exist", ::DidYouMean::Formatter.new(['does_exist']).to_s
7
+ end
8
+ end
9
+ end
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  require 'test_helper'
3
2
 
4
3
  # These tests were originally written by Jian Weihang (簡煒航) as part of his work
@@ -0,0 +1,4 @@
1
+ class Book
2
+ class Cover
3
+ end
4
+ end
@@ -62,4 +62,16 @@ class ClassNameCheckTest < Minitest::Test
62
62
  error = assert_raises(NameError) { ::Book::Page.new.tableof_contents }
63
63
  assert_correction "Book::TableOfContents", error.corrections
64
64
  end
65
+
66
+ def test_does_not_suggest_user_input
67
+ error = assert_raises(NameError) { ::Book::Cover }
68
+
69
+ # This is a weird require, but in a multi-threaded condition, a constant may
70
+ # be loaded between when a NameError occurred and when the spell checker
71
+ # attemps to find a possible suggestion. The manual require here simulates
72
+ # a race condition a single test.
73
+ require_relative '../fixtures/book'
74
+
75
+ assert_empty error.corrections
76
+ end
65
77
  end
@@ -14,7 +14,7 @@ class VerboseFormatterTest < Minitest::Test
14
14
 
15
15
  def test_message
16
16
  assert_equal <<~MESSAGE.chomp, @error.message
17
- undefined local variable or method `doesnt_exist' for #{method(:to_s).super_method.call}
17
+ undefined local variable or method `doesnt_exist' for #{to_s}
18
18
 
19
19
  Did you mean? does_exist
20
20
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: did_you_mean
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuki Nishijima
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-13 00:00:00.000000000 Z
11
+ date: 2018-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -75,9 +75,6 @@ files:
75
75
  - did_you_mean.gemspec
76
76
  - doc/CHANGELOG.md.erb
77
77
  - doc/changelog_generator.rb
78
- - evaluation/calculator.rb
79
- - evaluation/dictionary_generator.rb
80
- - evaluation/incorrect_words.yaml
81
78
  - lib/did_you_mean.rb
82
79
  - lib/did_you_mean/core_ext/name_error.rb
83
80
  - lib/did_you_mean/experimental.rb
@@ -98,9 +95,11 @@ files:
98
95
  - lib/did_you_mean/verbose_formatter.rb
99
96
  - lib/did_you_mean/version.rb
100
97
  - test/core_ext/name_error_extension_test.rb
98
+ - test/deprecated_formatter_test.rb
101
99
  - test/edit_distance/jaro_winkler_test.rb
102
100
  - test/experimental/initializer_name_correction_test.rb
103
101
  - test/experimental/method_name_checker_test.rb
102
+ - test/fixtures/book.rb
104
103
  - test/spell_checker_test.rb
105
104
  - test/spell_checking/class_name_check_test.rb
106
105
  - test/spell_checking/key_name_check_test.rb
@@ -121,7 +120,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
121
120
  requirements:
122
121
  - - ">="
123
122
  - !ruby/object:Gem::Version
124
- version: 2.5.0dev
123
+ version: 2.5.0
125
124
  required_rubygems_version: !ruby/object:Gem::Requirement
126
125
  requirements:
127
126
  - - ">="
@@ -129,15 +128,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
128
  version: '0'
130
129
  requirements: []
131
130
  rubyforge_project:
132
- rubygems_version: 2.6.13
131
+ rubygems_version: 2.7.6
133
132
  signing_key:
134
133
  specification_version: 4
135
134
  summary: '"Did you mean?" experience in Ruby'
136
135
  test_files:
137
136
  - test/core_ext/name_error_extension_test.rb
137
+ - test/deprecated_formatter_test.rb
138
138
  - test/edit_distance/jaro_winkler_test.rb
139
139
  - test/experimental/initializer_name_correction_test.rb
140
140
  - test/experimental/method_name_checker_test.rb
141
+ - test/fixtures/book.rb
141
142
  - test/spell_checker_test.rb
142
143
  - test/spell_checking/class_name_check_test.rb
143
144
  - test/spell_checking/key_name_check_test.rb
@@ -1,105 +0,0 @@
1
- # frozen-string-literal: true
2
-
3
- require 'benchmark'
4
- require 'did_you_mean'
5
-
6
- def report(message, &block)
7
- time = 1000 * Benchmark.realtime(&block)
8
-
9
- if (time / 1000 / 60) >= 1
10
- minutes = (time / 1000 / 60).floor
11
- seconds = (time % (60 * 1000)) / 1000
12
-
13
- puts " \e[36m%2dm%.3fs:\e[0m %s" % [minutes, seconds, message]
14
- elsif (time / 1000) >= 1
15
- seconds = (time % (60 * 1000)) / 1000
16
-
17
- puts " \e[36m%9.3fs:\e[0m %s" % [seconds, message]
18
- else
19
- puts " \e[36m%8.1fms:\e[0m %s" % [time, message]
20
- end
21
-
22
- time
23
- end
24
-
25
- puts "did_you_mean version: #{DidYouMean::VERSION}\n\n"
26
-
27
- report "loading program" do
28
- require 'yaml'
29
- require 'set'
30
-
31
- begin
32
- require 'jaro_winkler'
33
- DidYouMean::JaroWinkler.module_eval do
34
- module_function
35
- def distance(str1, str2)
36
- ::JaroWinkler.distance(str1, str2)
37
- end if RUBY_ENGINE != 'jruby'
38
- end
39
- rescue LoadError, NameError => e
40
- puts "couldn't load the jaro_winkler gem: #{e.message}\n\n"
41
- end
42
- end
43
-
44
- report "loading dictionary" do
45
- yaml = open("evaluation/dictionary.yml").read
46
- yaml = YAML.load(yaml).map{|word| word.downcase.tr(" ", "_") }
47
-
48
- DICTIONARY = Set.new(yaml)
49
- end
50
-
51
- report "loading correct/incorrect words" do
52
- SPELL_CHECKER = DidYouMean::SpellChecker.new(dictionary: DICTIONARY)
53
- INCORRECT_WORDS = YAML.load(open("evaluation/incorrect_words.yaml").read)
54
- end
55
-
56
- total_count = 0
57
- correct_count = 0
58
- words_not_corrected = []
59
- filename = "log/words_not_corrected_#{Time.now.to_i}.yml"
60
-
61
- puts <<-MSG
62
-
63
- Total number of test data: #{INCORRECT_WORDS.size}
64
-
65
- MSG
66
-
67
- report "calculating accuracy" do
68
- INCORRECT_WORDS.each_with_index do |(expected, user_input), index|
69
- if DICTIONARY.include?(expected)
70
- total_count += 1
71
-
72
- corrections = SPELL_CHECKER.correct(user_input)
73
- if corrections.first == expected
74
- correct_count += 1
75
- else
76
- words_not_corrected << {
77
- 'input' => user_input,
78
- 'expected' => expected,
79
- 'actual' => corrections
80
- }
81
- end
82
- end
83
-
84
- puts "processed #{index} items" if index % 100 == 0
85
- end
86
-
87
- puts "\n"
88
- end
89
-
90
- puts <<-MSG
91
-
92
- Evaulation result
93
-
94
- Total count : #{total_count}
95
- Correct count: #{correct_count}
96
- Accuracy : #{correct_count.to_f / total_count}
97
-
98
- MSG
99
-
100
- Dir.mkdir('log') unless File.exist?('log')
101
- File.open(filename, 'w') do |file|
102
- file.write(words_not_corrected.to_yaml)
103
- end
104
-
105
- puts "Incorrect corrections were logged to #{filename}."
@@ -1,37 +0,0 @@
1
- require 'open-uri'
2
- require 'cgi'
3
- require 'json'
4
-
5
- per_page = 500
6
- base_url = "https://simple.wiktionary.org/w/api.php?action=query&aplimit=#{per_page}&list=allpages&format=json"
7
- filename = "evaluation/dictionary.yml"
8
- apfrom = ""
9
- num = 0
10
- titles = []
11
-
12
- loop do
13
- url = base_url + "&apfrom=#{apfrom}"
14
-
15
- puts "downloading page %2d: #{url}" % num
16
-
17
- body = open(url).read
18
- json = JSON.load(body)
19
- count = json["query"]["allpages"].size
20
- apfrom = CGI.escape(json["query"]["allpages"].last['title']) if count > 0
21
-
22
- titles += json["query"]["allpages"].map {|hash| hash["title"] }
23
- num += 1
24
-
25
- break if count != per_page
26
- end
27
-
28
- require 'yaml'
29
-
30
- File.open(filename, 'w') do |file|
31
- file.write(titles.uniq.to_yaml)
32
- end
33
-
34
- puts "
35
- Number of titles: #{titles.uniq.size}
36
- Dictionary saved: #{filename}
37
- "
@@ -1,1161 +0,0 @@
1
- # This data is based on Birkbeck Spelling Error Corpus: http://ota.ox.ac.uk/headers/0643.xml
2
- # More specifically, this is a yaml version of the data in FAWTHROP1DAT.643 and FAWTHROP2DAT.643.
3
- # released under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
4
- # https://creativecommons.org/licenses/by-nc-sa/3.0/
5
- ---
6
- abattoir: abbatoir
7
- abhorrence: abhorence
8
- absence: absense
9
- absorbent: absorbant
10
- absorption: absorbtion
11
- accede: acceed
12
- accelerate: acellerate
13
- accessible: accesible
14
- accidentally: accidently
15
- accommodate: accomodate
16
- accommodation: accomodation
17
- accommodations: accomodations
18
- accompaniment: accompanimen
19
- accompanying: acompaning
20
- accomplice: acomplice
21
- accrued: acrued
22
- accumulated: acumulated
23
- accustom: acustom
24
- achievement: acheivement
25
- acknowledgment: acknowledgement
26
- acquaintance: acquantance
27
- acquiesce: aquiese
28
- acquiescence: acquiesence
29
- acquire: aquire
30
- actually: actualy
31
- adaptability: adaptibility
32
- addition: additon
33
- address: adress
34
- adequately: adequattly
35
- adjacent: ajacent
36
- adjourned: adjorned
37
- administration: adminstration
38
- admissible: admissable
39
- admitting: admiting
40
- advantageous: advantageos
41
- advice: advise
42
- affidavit: afidavit
43
- aggravated: agravated
44
- aghast: agast
45
- agreeable: agreable
46
- allotted: alloted
47
- also: allso
48
- alumnae: alumni
49
- alumni: alumnae
50
- amateur: amatuer
51
- amiable: aimiable
52
- ammonia: amonia
53
- analogous: analagous
54
- analysis: analsis
55
- analyze: analize
56
- angel: angell
57
- anniversary: anniversery
58
- announcement: anouncement
59
- annoyance: anoyance
60
- answer: anwser
61
- antarctic: antartic
62
- any: anye
63
- anything: anythin
64
- apollo: appolo
65
- apology: appology
66
- apparent: apparant
67
- appearance: appearence
68
- appearing: appearin
69
- appetite: appitite
70
- appetites: appatites
71
- appropriate: apropriate
72
- appropriation: apropriation
73
- approximate: aproximate
74
- approximately: aproximatly
75
- archaeological: archeological
76
- ascertain: assertain
77
- asinine: assinine
78
- asking: askin
79
- asleep: asleeep
80
- assassinate: assasinate
81
- assessment: assesment
82
- assiduous: assidious
83
- assistance: assistence
84
- attorneys: attornies
85
- authoritative: authorative
86
- auxiliary: auxillary
87
- available: availble
88
- awkward: aukward
89
- bachelor: batchelor
90
- balloon: baloon
91
- banana: bananna
92
- bankruptcy: bankrupcy
93
- bargaining: baragining
94
- battalion: batallion
95
- beam: beame
96
- before: befor
97
- beginning: begining
98
- believe: belive
99
- belligerent: beligerant
100
- beneficent: beneficient
101
- beneficial: benificial
102
- bitch: bich
103
- brake: brakke
104
- brethren: bretheren
105
- brief: brif
106
- britain: britian
107
- britannia: britania
108
- brown: broun
109
- bungalow: bungalo
110
- buoyancy: bouyancy
111
- buoyant: bouyant
112
- buried: burried
113
- bushel: bushell
114
- business: busness
115
- buying: buyin
116
- cancellation: cancelation
117
- calling: callin
118
- cantaloupe: cantaloube
119
- caribbean: carribean
120
- catalogues: catologues
121
- category: catagorey
122
- cemetery: cemetary
123
- chauffeur: chauffuer
124
- chemistry: chemestry
125
- chimneys: chimnies
126
- cincinnati: cincinatti
127
- clever: cleva
128
- coalesced: coalesed
129
- coherent: coherant
130
- coliseum: colosium
131
- collateral: calateral
132
- colossal: collosal
133
- colossus: collosus
134
- commanded: commaunded
135
- commission: commision
136
- commitment: committment
137
- committee: committe
138
- communicate: comunicate
139
- comparative: comparitive
140
- comparatively: comparitively
141
- compendium: conpendium
142
- competent: compitent
143
- concede: consede
144
- conceive: concieve
145
- conceived: concieved
146
- conditions: condicions
147
- confectionery: confectionary
148
- confirmation: confermation
149
- confusing: confusin
150
- connoisseurs: connoiseurs
151
- conscience: concience
152
- conscientious: conscientous
153
- consensus: concensus
154
- considering: consderin
155
- consistent: consistant
156
- conspired: conpired
157
- consumer: comsumer
158
- contemptible: contempible
159
- continuous: continous
160
- controllable: controlable
161
- controversy: controversey
162
- conveniently: conviently
163
- coolly: cooly
164
- corduroy: corderoy
165
- correspondence: correspondanc
166
- corrugated: corrigated
167
- could: coud
168
- counting: countin
169
- countryman: countriman
170
- craftsman: craftman
171
- curiosity: curiousity
172
- curriculum: curicculum
173
- customary: customery
174
- cynical: synical
175
- darling: darlin
176
- decidedly: dicidely
177
- deem: deam
178
- definitely: definatly
179
- delinquent: delinquint
180
- delirious: dilirious
181
- delving: delvin
182
- denying: denyin
183
- dependant: dependent
184
- depreciation: depeciation
185
- descendant: descendent
186
- description: desacription
187
- despair: dispair
188
- deuce: duece
189
- develop: develope
190
- development: developement
191
- dictionary: dictionery
192
- dignitary: dignatary
193
- dilapidated: dilapadated
194
- diminish: diminsh
195
- dining: dinning
196
- diphtheria: diptheria
197
- disappoint: dissappoint
198
- disappointment: dissappointment
199
- disastrous: disasterous
200
- discipline: disiplin
201
- discrete: discite
202
- dispel: dispell
203
- dissipate: disippate
204
- divine: devine
205
- doctor: docter
206
- doctors: docters
207
- dormitory: dormatory
208
- doubt: doupt
209
- drastically: drasticly
210
- drawing: drawin
211
- dreaming: dreamin
212
- drew: drewe
213
- dropped: droped
214
- drunkenness: drunkeness
215
- duchess: dutchess
216
- duly: duely
217
- during: durin
218
- earnest: ernest
219
- ecstasy: ecstacy
220
- effecting: effectinge
221
- effeminate: affeminate
222
- effervescent: effervesent
223
- efficiency: effeciency
224
- eisenhower: eisenhhower
225
- eligible: elegable
226
- eliminate: illiminate
227
- embarrass: embarass
228
- embarrassment: embarrasment
229
- encyclopedia: encylopedia
230
- endorsement: endorsment
231
- enemy: emeny
232
- engineers: egnineers
233
- enlarged: enlargd
234
- entertained: enterteyned
235
- equipped: equipt
236
- equivalent: equivelant
237
- esteemed: estimed
238
- every: evrey
239
- exaggerate: exagerate
240
- exaggeration: exageration
241
- examination: eximination
242
- examining: examinin
243
- excellence: excelence
244
- exercises: excercises
245
- exhilarating: exhilirating
246
- exhorted: exorted
247
- existence: existance
248
- exorbitant: exhorbitant
249
- experience: experiance
250
- explicitly: explisitly
251
- exquisite: exqusite
252
- eyeing: eying
253
- facilitate: facilatate
254
- fascinating: facinating
255
- fatiguing: fatiging
256
- fear: feare
257
- february: febuary
258
- fictitious: fictitous
259
- fielder: fiedler
260
- fiery: firey
261
- fighting: fieghting
262
- filipinos: philipinoes
263
- filthiness: filthness
264
- finally: finaly
265
- flammable: flamable
266
- flourished: florished
267
- foreign: forien
268
- forthright: fortright
269
- forty: fourty
270
- fox: foxx
271
- frescos: frescoes
272
- friend: freind
273
- fulfill: fullfil
274
- fundamental: fundemental
275
- fundamentally: fundementally
276
- gardener: gardner
277
- gauge: guage
278
- generosity: generousity
279
- genius: genious
280
- ghastly: gastly
281
- gnawing: knawing
282
- gone: gonne
283
- government: goverment
284
- grabbing: grabbin
285
- grammar: grammer
286
- gramophone: grammophon
287
- grandeur: granduer
288
- grateful: greatful
289
- grievous: grievious
290
- grill: grille
291
- guarantee: gaurantee
292
- guaranteed: guarenteed
293
- guardian: guardien
294
- guttural: gutteral
295
- hammarskjold: hammerskjold
296
- hand: hande
297
- handkerchief: hankerchief
298
- handsome: hansome
299
- harass: harrass
300
- having: haveing
301
- heartrending: heartrendering
302
- height: heighth
303
- heinous: hienous
304
- hemorrhage: hemorrage
305
- heyday: heydey
306
- himself: himselfe
307
- hindrance: hinderence
308
- humbly: humly
309
- hurricane: huricane
310
- hygiene: hygeine
311
- identified: indentified
312
- idiosyncrasy: idiocyncracy
313
- imagination: imagnation
314
- imitation: immitation
315
- immediately: imidatly
316
- immensely: immensly
317
- impedance: impedence
318
- impresario: impressario
319
- incense: insense
320
- incessant: incesant
321
- incidentally: incidently
322
- incompatibility: incompatability
323
- inconvenience: inconvience
324
- incorrigible: incorigible
325
- incredible: incredable
326
- indefinite: indefinate
327
- independence: independance
328
- indictment: inditement
329
- indispensable: indispensible
330
- inevitable: inevitible
331
- infallible: infalable
332
- infinite: infinate
333
- ingratitude: ingratitoode
334
- innocuous: inocuous
335
- inoculate: innoculate
336
- insistence: insistance
337
- instantaneous: instantanous
338
- instead: insted
339
- intercede: intersede
340
- interfered: interferred
341
- interference: intereference
342
- interrupted: interupted
343
- invariably: invarably
344
- irrelevant: irrelavent
345
- irreparable: irrepairable
346
- irresistible: irristible
347
- itemized: itimized
348
- jackknife: jacknife
349
- jaguar: jagaur
350
- japanese: japaneze
351
- jaundice: jaundise
352
- jealousy: jelousy
353
- jeopardize: jeprodise
354
- judgment: judgement
355
- kaleidoscope: kaliedoscope
356
- kapok: kapock
357
- khaki: kahki
358
- kimono: kimona
359
- kindergarten: kindergarden
360
- kitchen: kitchin
361
- knickknacks: knicknacks
362
- labeled: labelled
363
- laboratory: labratory
364
- language: langauge
365
- leeway: leaway
366
- leisure: liesure
367
- leveled: levelled
368
- library: libray
369
- license: lisence
370
- lieutenant: leutenant
371
- linoleum: linolium
372
- liquefied: liquified
373
- liquefy: liquify
374
- livelihood: livelyhood
375
- lodestone: loadstone
376
- lodgment: lodgement
377
- lonely: lonley
378
- magnificent: magnigicient
379
- maintenance: maintainance
380
- mammoth: mamoth
381
- management: managment
382
- maneuver: manuveur
383
- manufactories: manufacturies
384
- masterpiece: masterpice
385
- material: materiel
386
- mathematics: mathmatics
387
- mattress: mattres
388
- maudlin: mauldin
389
- meant: ment
390
- medicine: medecine
391
- meeting: meetin
392
- mercenary: mercanery
393
- merchandise: merchandize
394
- merchantmen: merchantment
395
- meteorological: meterological
396
- metropolitan: metropolitian
397
- millionaire: millionnaire
398
- miniature: minature
399
- miscellaneous: miscelaneous
400
- mischievous: mischievious
401
- moccasins: mocassins
402
- momentous: momentus
403
- mortgage: morgage
404
- mortgaged: mortgauged
405
- murmurs: murmers
406
- mustnt: musnt
407
- mutilate: mutalate
408
- mythical: mithical
409
- nadir: nadar
410
- naphtha: naptha
411
- narrative: narative
412
- naturally: naturaly
413
- navigating: navagating
414
- necessarily: necessarilly
415
- necessary: nessisary
416
- niagara: niagra
417
- nickel: nickle
418
- niggardly: nigardly
419
- ninetieth: nintieth
420
- ninetyninth: nintynineth
421
- nocturnal: nocternal
422
- nonsense: nonsence
423
- notwithstanding: nothwithstanding
424
- nowadays: nowdays
425
- obbligato: obliggato
426
- obdurate: obdirate
427
- occasion: ocassion
428
- occasionally: occasionaly
429
- occurred: occureed
430
- occurrence: occurence
431
- octopus: octapus
432
- odyssey: oddysey
433
- ominous: omenous
434
- omission: ommision
435
- onerous: onirous
436
- opportunities: oppotunities
437
- opposition: oposition
438
- oppressor: oppresser
439
- optician: optitian
440
- oratorio: orotario
441
- orchestra: ochestra
442
- ordinarily: ordinarilly
443
- origin: origen
444
- originally: origionally
445
- own: owne
446
- pain: paine
447
- pamphlet: phamplet
448
- pamphlets: phamplets
449
- parallel: parellel
450
- paralysis: parallysis
451
- paraphernalia: parephernalia
452
- parenthesis: parenthasis
453
- participle: participal
454
- pastime: pasttime
455
- pastor: paster
456
- paternity: paternaty
457
- pavilion: pavillion
458
- peasant: peasent
459
- peculiar: pecular
460
- penance: pennance
461
- pendulum: pendelum
462
- penguins: pengiuns
463
- peninsula: peninsular
464
- penitentiary: penitentary
465
- perceive: percieve
466
- perforation: preforation
467
- permissible: permissable
468
- perseverance: perseverence
469
- personalty: personality
470
- perspiration: persperation
471
- persuade: pursuade
472
- persuaded: pursuaded
473
- persuasion: persausion
474
- pertaining: pertaning
475
- pervaded: prevaded
476
- pharaohs: pharoahs
477
- phase: faze
478
- phenomenal: phenominal
479
- phenomenon: phenonenon
480
- philippines: phillipines
481
- physician: physican
482
- pickerel: pickeral
483
- picnicking: picnicing
484
- pittsburgh: pittsburg
485
- plagiarism: plaigarism
486
- plaque: placque
487
- playwright: playwrite
488
- pleasant: plesent
489
- poetry: poetrie
490
- poisonous: poisenous
491
- ponderous: pondorous
492
- possess: posess
493
- possession: possesion
494
- possibilities: possablities
495
- prairie: prarie
496
- preceding: preceeding
497
- precipice: presipice
498
- preferable: preferrable
499
- preference: preferance
500
- preferred: prefered
501
- prejudice: prejedice
502
- preparation: preperation
503
- preserved: perserved
504
- presumptuous: presumptous
505
- prevalent: prevelant
506
- preventive: preventative
507
- prisoner: prisner
508
- privilege: priviledge
509
- probably: probabley
510
- procedure: proceduer
511
- professor: proffesor
512
- proffer: profer
513
- prominent: prominant
514
- promontory: promonotory
515
- pronunciation: pronounciation
516
- propeller: propellor
517
- prophecy: prophesy
518
- provisions: provisons
519
- pseudonym: pseudynom
520
- psychological: psycological
521
- public: publick
522
- publicly: publically
523
- pumpkin: pumkin
524
- pursue: persue
525
- pursuer: persuer
526
- pursuit: persuit
527
- qualified: qualafied
528
- quandary: quandry
529
- quantities: quanties
530
- quarantine: quarrantine
531
- quarreled: quarelled
532
- quarter: quater
533
- questionnaire: questionare
534
- quiescent: quiscent
535
- quorum: quorem
536
- radiant: radient
537
- radiator: radiater
538
- raise: raize
539
- rating: rateing
540
- really: realy
541
- rebuttal: rebutal
542
- receded: receeded
543
- receipt: reciept
544
- receipts: reciepts
545
- receive: recieve
546
- receiver: reciever
547
- receptacle: receptacel
548
- recipient: resipient
549
- reciprocal: reciprocel
550
- reckon: recon
551
- reclamation: reclaimation
552
- recommend: recomend
553
- recommendation: recomendation
554
- recommendations: reccomendations
555
- recommended: recommend
556
- recommending: recomending
557
- recompense: recompence
558
- redundant: redundent
559
- reference: refference
560
- referred: refered
561
- referring: refering
562
- refrigerator: refrigerater
563
- regretted: regreted
564
- rehabilitate: rehabilatate
565
- relevant: relevaant
566
- religious: religous
567
- remembrance: rememberance
568
- rendezvous: rendevous
569
- renegade: renagade
570
- renown: renoun
571
- reparation: repairation
572
- repel: repell
573
- repetition: repitition
574
- representatives: representitives
575
- rescinded: resinded
576
- reservoir: resevoir
577
- responsibility: responsiblity
578
- restaurant: restuarant
579
- restaurateur: restauranteur
580
- rhapsody: raphsody
581
- rheumatism: rhuematism
582
- rhododendron: rhododrendon
583
- rhubarb: ruhbarb
584
- rhythm: rythm
585
- ridiculous: rediculous
586
- romantic: romantick
587
- rummage: rumage
588
- running: runing
589
- sabbath: sabath
590
- sacrament: sacrement
591
- sacrilegious: sacreligious
592
- safety: safty
593
- sagacious: sagatious
594
- sailor: sailer
595
- sandwich: sanwich
596
- sanitary: sanatary
597
- satisfactory: satisfactary
598
- scarcity: scarsity
599
- scissors: sissers
600
- seize: sieze
601
- seized: siezed
602
- self: selfe
603
- sell: selle
604
- semesters: semisters
605
- seminary: seminery
606
- separate: seporate
607
- sergeant: sergant
608
- sheep: sheepe
609
- shepherd: sheperd
610
- silhouette: silhuette
611
- shipping: shippin
612
- shoulder: shouldda
613
- shoulders: sholders
614
- showing: showin
615
- shrubbery: shrubery
616
- siege: seige
617
- significant: significent
618
- silk: silke
619
- similar: similiar
620
- simultaneous: similtanous
621
- sincerity: sincerety
622
- slimmest: slimest
623
- smiling: smilin
624
- sociable: socable
625
- social: socal
626
- solemn: solomn
627
- sophomore: sophmore
628
- sorority: sororiety
629
- sought: saught
630
- source: sorce
631
- souvenir: souviner
632
- sovereignty: sovreignty
633
- sparsely: sparcely
634
- spear: speer
635
- specifically: specificly
636
- specimen: speciment
637
- specimens: specimans
638
- spirituous: spiritous
639
- sprinkle: sprinkel
640
- starting: startin
641
- stationary: stationery
642
- statue: statu
643
- stirring: stirrin
644
- stirrups: stirups
645
- stomach: stomack
646
- straining: strainin
647
- straitjacket: straightjacket
648
- stratagem: strategem
649
- strategy: stratagy
650
- strenuous: strenous
651
- stretched: streched
652
- stubbornness: stubborness
653
- suburban: sububan
654
- success: sucess
655
- sufficient: suficient
656
- suffrage: sufferage
657
- sugar: suger
658
- suing: sueing
659
- superficial: superfical
660
- superintendent: supertendent
661
- supersede: supercede
662
- supplement: suplement
663
- suppress: supress
664
- surprise: suprise
665
- surreptitious: sureptitous
666
- surrounded: surounded
667
- swearing: swearinge
668
- syllables: sylables
669
- symmetry: symetry
670
- synonymous: synonomous
671
- systematically: systemetically
672
- tacit: tasit
673
- taking: takin
674
- technically: technecally
675
- television: televison
676
- temperament: temperment
677
- temporarily: temporarly
678
- temporary: tempory
679
- tendency: tendancy
680
- terrestrial: terestial
681
- terrors: terrours
682
- that: thatt
683
- therefore: therefor
684
- thief: theaf
685
- think: thinke
686
- thinking: thinkin
687
- thorough: thourough
688
- thoroughly: throughly
689
- tobacco: tobbaco
690
- tobogganing: tobboganing
691
- tonnage: tonage
692
- tragedy: tradgedy
693
- tranquility: tranquillity
694
- tranquillity: tranquility
695
- transferable: transferrable
696
- transferred: transfred
697
- truculent: trucculent
698
- truly: truley
699
- tying: tieing
700
- tyrannical: tyranical
701
- undoubtedly: undoubtly
702
- unequaled: unequalled
703
- unfortunately: unfortunatly
704
- university: unversity
705
- unmistakable: unmistakeable
706
- unparalleled: unparalelled
707
- until: untill
708
- usage: useage
709
- usually: usualy
710
- usurious: usurous
711
- utterance: utterence
712
- vacancy: vancancy
713
- vaccination: vacinnation
714
- vacillate: vaccilate
715
- various: vairious
716
- vegetable: vegatable
717
- vengeance: vengance
718
- vertical: verticle
719
- vice: vise
720
- victuals: vituals
721
- vilify: villify
722
- villain: villian
723
- violence: violance
724
- violin: vioiln
725
- visible: visable
726
- vitamins: vitamines
727
- voucher: vouture
728
- wagging: waggin
729
- waggish: wagish
730
- wednesday: wensday
731
- weed: weede
732
- weight: weigth
733
- weird: wierd
734
- whether: wether
735
- which: whitch
736
- who: whoe
737
- withhold: withold
738
- worshiping: worshipping
739
- yacht: yaht
740
- yearned: yerned
741
- yeoman: yoman
742
- yield: yeild
743
- zealous: zelous
744
- zenith: zeenith
745
- ability: ablity
746
- academically: academicly
747
- accept: acept
748
- accepted: acepted
749
- access: acess
750
- accessibility: accessability
751
- accessing: accesing
752
- according: acording
753
- account: acount
754
- accounts: acounts
755
- acquaintances: aquantences
756
- adaptable: adabtable
757
- addressable: addresable
758
- adequate: adiquate
759
- adjournment: adjurnment
760
- advise: advice
761
- again: agiin
762
- agencies: agences
763
- aggravating: agravating
764
- allow: alow
765
- although: athough
766
- analyse: analiss
767
- analysed: analised
768
- analysing: aalysing
769
- and: anf
770
- announcing: anouncing
771
- annoying: anoying
772
- annual: anual
773
- anomalies: anomolies
774
- apologies: appologies
775
- apologised: appologised
776
- appeal: apeal
777
- appendix: apendix
778
- applicable: aplicable
779
- applied: upplied
780
- applying: applieing
781
- appointment: appoitment
782
- appointments: apointments
783
- appreciated: apreciated
784
- appreciation: apreciation
785
- approach: aproach
786
- approached: aproached
787
- are: arte
788
- arguing: aurguing
789
- arranged: arrainged
790
- arrangeing: aranging
791
- arrangement: arrangment
792
- arrangements: araingements
793
- articles: articals
794
- assessing: accesing
795
- associated: assosiated
796
- atmosphere: atmospher
797
- auguments: aurgument
798
- availability: avaiblity
799
- base: basse
800
- benefit: benifit
801
- benefits: benifits
802
- between: beetween
803
- bicycle: bicycal
804
- bingley: bingly
805
- bonus: bonas
806
- build: biuld
807
- building: biulding
808
- busy: buisy
809
- career: carrer
810
- careers: currers
811
- categories: catagoris
812
- centrally: centraly
813
- certain: cirtain
814
- challenges: chalenges
815
- challenge: chalange
816
- choice: choise
817
- choices: choises
818
- choose: chose
819
- choosing: chosing
820
- clerical: clearical
821
- clerk: clerck
822
- collate: colate
823
- combine: comibine
824
- commercial: comersial
825
- comments: coments
826
- commit: comit
827
- committees: commitees
828
- compare: compair
829
- compared: comppared
830
- comparison: comparrison
831
- completely: completly
832
- component: componant
833
- composed: compossed
834
- conditioning: conditining
835
- conference: conferance
836
- consider: concider
837
- considerable: conciderable
838
- consist: consisit
839
- consisting: consisiting
840
- consists: consisits
841
- contained: contasined
842
- containing: contasining
843
- continually: contually
844
- continued: contuned
845
- controlled: controled
846
- conversely: conversly
847
- corporate: corparate
848
- credit: creadit
849
- criticism: citisum
850
- currently: curruntly
851
- data: dsata
852
- dealt: delt
853
- decide: descide
854
- decided: descided
855
- decides: descides
856
- decision: descisions
857
- decisions: descisions
858
- declarations: declaratrions
859
- definition: defenition
860
- definitions: defenitions
861
- demands: diemands
862
- dependence: dependance
863
- described: discribed
864
- desirable: disiable
865
- desperately: despratly
866
- diagrammatically: diagrammatica
867
- different: diffrent
868
- difficult: dificult
869
- difficulty: dificulty
870
- disaggregate: disaggreagte
871
- disappointing: dissapoiting
872
- discretion: discresion
873
- dissension: desention
874
- dragged: draged
875
- earlier: earlyer
876
- earliest: earlyest
877
- easier: easer
878
- easily: easyly
879
- econometric: economtric
880
- edition: ediition
881
- eliminated: elimiated
882
- embellishing: embelishing
883
- employed: emploied
884
- employees: emploies
885
- employment: empolyment
886
- encompassing: encompasing
887
- encourage: encorage
888
- enormously: enomosly
889
- entirely: entierly
890
- equalled: equaled
891
- erroneous: errounous
892
- especially: especaily
893
- essential: esential
894
- eventually: eventully
895
- evident: evedent
896
- exact: exsact
897
- exactly: exsactly
898
- examine: examin
899
- excellent: exerlant
900
- except: excxept
901
- excessively: exessively
902
- executed: executted
903
- expansion: expanion
904
- expense: expence
905
- expensive: expencive
906
- experiences: experances
907
- explaining: explaning
908
- exponentially: exponentualy
909
- extremely: extreemly
910
- facilities: facilitys
911
- fails: failes
912
- 'false': faulse
913
- familiar: familer
914
- families: familys
915
- favourable: faverable
916
- favourably: favorably
917
- feeling: fealing
918
- female: femail
919
- figure: figuar
920
- figures: figuars
921
- financial: finatical
922
- financially: financialy
923
- flexible: flexable
924
- forbidden: forbiden
925
- forecast: forcast
926
- fourth: forth
927
- functionally: functionaly
928
- functions: functuions
929
- further: futher
930
- gaining: ganing
931
- generated: generataed
932
- geneva: geniva
933
- geographically: goegraphicaly
934
- graphically: graphicaly
935
- guidelines: guidlines
936
- handle: handel
937
- hierarchal: hierachial
938
- hierarchy: hierchy
939
- however: howeverr
940
- humour: humor
941
- ideally: idealy
942
- immediate: imediate
943
- inconceivable: inconcievable
944
- indeed: indead
945
- independent: independant
946
- inefficient: ineffiect
947
- initial: intital
948
- input: inut
949
- inquiries: equiries
950
- insight: insite
951
- intelligence: inteligence
952
- interest: intrest
953
- interesting: intresting
954
- interpretation: interpritatio
955
- interrogating: interogationg
956
- investigated: investegated
957
- journalism: journaism
958
- knowledge: knowlege
959
- largely: largly
960
- later: latter
961
- length: lengh
962
- level: leval
963
- levels: levals
964
- lieu: liew
965
- literature: litriture
966
- loans: lones
967
- locally: localy
968
- luckily: luckeley
969
- majority: majorty
970
- manually: manualy
971
- many: mony
972
- mathematically: mathematicaly
973
- matrix: matriiix
974
- mean: meen
975
- means: meens
976
- minutes: muiuets
977
- misleading: missleading
978
- monitoring: monitering
979
- months: monthes
980
- moving: moveing
981
- nationally: nationaly
982
- nature: natior
983
- necessitates: nessisitates
984
- necessity: nessesity
985
- negligible: negligable
986
- neither: niether
987
- night: nite
988
- normally: normaly
989
- now: noe
990
- numbers: numbuers
991
- obtaining: optaning
992
- occur: occure
993
- operations: operatins
994
- operator: opertor
995
- operators: oprators
996
- opinion: oppinion
997
- opportunity: oppotunity
998
- ordinary: ordenary
999
- organization: oranisation
1000
- organized: oranised
1001
- orientated: orentated
1002
- output: oputput
1003
- overall: overal
1004
- paid: payed
1005
- parameters: perametres
1006
- partially: partialy
1007
- particular: particulaur
1008
- particularly: particulary
1009
- patterns: pattarns
1010
- per: pere
1011
- perhaps: perhapse
1012
- permanent: perminant
1013
- permanently: perminantly
1014
- personnel: personel
1015
- pivoting: pivting
1016
- politics: polatics
1017
- position: possition
1018
- possible: possable
1019
- prepared: prepaired
1020
- primarily: pimarily
1021
- prior: piror
1022
- proceeding: proceding
1023
- profession: preffeson
1024
- profit: proffit
1025
- profits: proffits
1026
- progresses: progressess
1027
- progression: progresion
1028
- projects: projeccts
1029
- proportions: proprtions
1030
- provide: provid
1031
- provisionally: provisionaly
1032
- proviso: provisoe
1033
- qualities: quaties
1034
- queries: quies
1035
- reaching: reching
1036
- readjusted: reajusted
1037
- received: recived
1038
- receives: recives
1039
- receiving: reciving
1040
- recently: reciently
1041
- refered: reffered
1042
- regained: regined
1043
- register: rgister
1044
- relatively: relitivly
1045
- repetitive: repetative
1046
- representative: representitiv
1047
- requested: rquested
1048
- required: reequired
1049
- research: reserch
1050
- resolved: resoved
1051
- responsibilities: responsibliti
1052
- responsible: responcible
1053
- resulting: reulting
1054
- retirement: retirment
1055
- routine: rouint
1056
- safeguard: safegaurd
1057
- salaries: salarys
1058
- scheme: scheem
1059
- scrutinized: scrutiniesed
1060
- search: serch
1061
- searching: serching
1062
- secretaries: secutaries
1063
- security: seurity
1064
- seen: seeen
1065
- segment: segemnt
1066
- senior: sienior
1067
- sense: sence
1068
- sensible: sensable
1069
- separated: seperated
1070
- separation: seperation
1071
- session: sesion
1072
- set: et
1073
- sheets: sheertes
1074
- shortened: shortend
1075
- shown: hown
1076
- sign: eign
1077
- simular: similar
1078
- singular: singulaur
1079
- someone: somone
1080
- sources: sorces
1081
- speaking: speeking
1082
- standardizing: stanerdizing
1083
- stopped: stoped
1084
- students: studens
1085
- studying: studing
1086
- subsequent: subsiquent
1087
- subtract: subtrcat
1088
- successful: sucssuful
1089
- successive: sucsesive
1090
- such: shuch
1091
- suffering: suufering
1092
- suggested: sugested
1093
- suggestion: sugestion
1094
- suggests: sugests
1095
- suited: suted
1096
- summarys: sumarys
1097
- supervision: supervison
1098
- supplementary: suplementary
1099
- supplements: suplements
1100
- supposedly: supposidly
1101
- surrounding: serounding
1102
- surroundings: suroundings
1103
- surveys: servays
1104
- surveying: servaying
1105
- system: sysem
1106
- table: tasble
1107
- technique: tecnique
1108
- techniques: tecniques
1109
- the: thw
1110
- their: thier
1111
- there: thear
1112
- thermawear: thermawhere
1113
- these: thess
1114
- they: thay
1115
- thoughts: thorts
1116
- through: throut
1117
- throughout: throuout
1118
- timing: timeing
1119
- titles: tittles
1120
- to: ro
1121
- together: togehter
1122
- totally: totaly
1123
- traditionally: traditionaly
1124
- transactions: trasactions
1125
- transportability: transportibil
1126
- triangular: triangulaur
1127
- umbrella: umberalla
1128
- unavailable: unavailble
1129
- understandable: understadable
1130
- unequalled: unequaled
1131
- unequivocally: unequivocaly
1132
- union: unioun
1133
- unique: uneque
1134
- universally: universaly
1135
- unnecessarily: unessasarily
1136
- unnecessary: unessessay
1137
- unresolved: unresloved
1138
- used: usedf
1139
- useful: usful
1140
- user: uers
1141
- utilized: utalised
1142
- valuable: valuble
1143
- variable: varible
1144
- variant: vairiant
1145
- variety: variatry
1146
- virtually: vertually
1147
- visitor: vistor
1148
- visitors: vistors
1149
- voluntary: volantry
1150
- voting: voteing
1151
- weapons: wepons
1152
- weighted: wagted
1153
- were: where
1154
- when: whn
1155
- whereas: wheras
1156
- widely: widly
1157
- will: wil
1158
- within: withing
1159
- would: whould
1160
- written: writen
1161
- years: yesars