exercism-analysis 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (579) hide show
  1. checksums.yaml +7 -0
  2. data/exercism-analysis.gemspec +30 -0
  3. data/lib/exercism-analysis.rb +38 -0
  4. data/lib/exercism-analysis/adapters/adapter.rb +23 -0
  5. data/lib/exercism-analysis/adapters/clojure.rb +13 -0
  6. data/lib/exercism-analysis/adapters/go.rb +19 -0
  7. data/lib/exercism-analysis/adapters/javascript.rb +13 -0
  8. data/lib/exercism-analysis/adapters/python.rb +13 -0
  9. data/lib/exercism-analysis/adapters/ruby.rb +19 -0
  10. data/lib/exercism-analysis/analysis.rb +18 -0
  11. data/lib/exercism-analysis/analyzers/analyzer.rb +54 -0
  12. data/lib/exercism-analysis/analyzers/clojure/kibit.rb +25 -0
  13. data/lib/exercism-analysis/analyzers/go/golint.rb +23 -0
  14. data/lib/exercism-analysis/analyzers/javascript/jslint.rb +24 -0
  15. data/lib/exercism-analysis/analyzers/python/pylint.rb +24 -0
  16. data/lib/exercism-analysis/analyzers/ruby/control_flow.rb +21 -0
  17. data/lib/exercism-analysis/analyzers/ruby/enumerable_condition.rb +21 -0
  18. data/lib/exercism-analysis/analyzers/ruby/for_loop.rb +29 -0
  19. data/lib/exercism-analysis/analyzers/ruby/indentation.rb +21 -0
  20. data/lib/exercism-analysis/analyzers/ruby/iter_mutation.rb +37 -0
  21. data/lib/exercism-analysis/analyzers/ruby/output.rb +20 -0
  22. data/lib/exercism-analysis/analyzers/ruby/range.rb +28 -0
  23. data/lib/exercism-analysis/analyzers/ruby/roodi.rb +19 -0
  24. data/lib/exercism-analysis/analyzers/ruby/send.rb +25 -0
  25. data/lib/exercism-analysis/analyzers/ruby/shebang.rb +23 -0
  26. data/lib/exercism-analysis/analyzers/ruby/tab.rb +38 -0
  27. data/lib/exercism-analysis/processors/call_processor.rb +39 -0
  28. data/lib/exercism-analysis/processors/control_flow_processor.rb +27 -0
  29. data/lib/exercism-analysis/processors/enumerable_condition_processor.rb +31 -0
  30. data/lib/exercism-analysis/processors/for_loop_processor.rb +21 -0
  31. data/lib/exercism-analysis/processors/indentation_processor.rb +69 -0
  32. data/lib/exercism-analysis/processors/iter_mutation_processor.rb +50 -0
  33. data/lib/exercism-analysis/processors/processor.rb +34 -0
  34. data/lib/exercism-analysis/processors/range_processor.rb +23 -0
  35. data/lib/exercism-analysis/processors/send_processor.rb +23 -0
  36. data/lib/exercism-analysis/templates/each_to_map.rb +29 -0
  37. data/lib/exercism-analysis/templates/each_to_select.rb +31 -0
  38. data/lib/exercism-analysis/templates/range_exclusive.rb +19 -0
  39. data/lib/exercism-analysis/templates/template.rb +29 -0
  40. data/vendor/clojure/kibit-runner/LICENSE +214 -0
  41. data/vendor/clojure/kibit-runner/project.clj +10 -0
  42. data/vendor/clojure/kibit-runner/src/kibit_runner/core.clj +17 -0
  43. data/vendor/clojure/kibit-runner/target/kibit-runner-0.1.0-SNAPSHOT-standalone.jar +0 -0
  44. data/vendor/clojure/kibit-runner/target/kibit-runner-0.1.0-SNAPSHOT.jar +0 -0
  45. data/vendor/clojure/kibit-runner/target/stale/extract-native.dependencies +1 -0
  46. data/vendor/go/src/github.com/golang/lint/LICENSE +27 -0
  47. data/vendor/go/src/github.com/golang/lint/README +59 -0
  48. data/vendor/go/src/github.com/golang/lint/golint/golint.go +67 -0
  49. data/vendor/go/src/github.com/golang/lint/lint.go +1061 -0
  50. data/vendor/go/src/runner/golint_runner.go +23 -0
  51. data/vendor/javascript/jshint_runner.js +6 -0
  52. data/vendor/javascript/node_modules/jshint/README.md +47 -0
  53. data/vendor/javascript/node_modules/jshint/bin/apply +6 -0
  54. data/vendor/javascript/node_modules/jshint/bin/build +36 -0
  55. data/vendor/javascript/node_modules/jshint/bin/changelog +36 -0
  56. data/vendor/javascript/node_modules/jshint/bin/jshint +3 -0
  57. data/vendor/javascript/node_modules/jshint/bin/land +34 -0
  58. data/vendor/javascript/node_modules/jshint/data/ascii-identifier-data.js +22 -0
  59. data/vendor/javascript/node_modules/jshint/data/non-ascii-identifier-part-only.js +1570 -0
  60. data/vendor/javascript/node_modules/jshint/data/non-ascii-identifier-start.js +48477 -0
  61. data/vendor/javascript/node_modules/jshint/dist/jshint-rhino.js +60642 -0
  62. data/vendor/javascript/node_modules/jshint/dist/jshint.js +60525 -0
  63. data/vendor/javascript/node_modules/jshint/node_modules/cli/README.md +196 -0
  64. data/vendor/javascript/node_modules/jshint/node_modules/cli/cli.js +1139 -0
  65. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/cat.js +17 -0
  66. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/command.js +16 -0
  67. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/echo.js +54 -0
  68. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/glob.js +6 -0
  69. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/long_desc.js +20 -0
  70. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/progress.js +11 -0
  71. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/sort.js +18 -0
  72. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/spinner.js +9 -0
  73. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/static.coffee +27 -0
  74. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/static.js +25 -0
  75. data/vendor/javascript/node_modules/jshint/node_modules/cli/index.js +1 -0
  76. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/LICENSE +27 -0
  77. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/README.md +250 -0
  78. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/examples/g.js +9 -0
  79. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/examples/usr-local.js +9 -0
  80. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/glob.js +728 -0
  81. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/LICENSE +16 -0
  82. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/README.md +42 -0
  83. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/inherits.js +1 -0
  84. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
  85. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/package.json +51 -0
  86. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/test.js +25 -0
  87. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/package.json +58 -0
  88. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/00-setup.js +176 -0
  89. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/bash-comparison.js +63 -0
  90. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/bash-results.json +351 -0
  91. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/cwd-test.js +55 -0
  92. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/globstar-match.js +19 -0
  93. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/mark.js +118 -0
  94. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/new-glob-optional-options.js +10 -0
  95. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/nocase-nomagic.js +113 -0
  96. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/pause-resume.js +73 -0
  97. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/readme-issue.js +36 -0
  98. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/root-nomount.js +39 -0
  99. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/root.js +46 -0
  100. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/stat.js +32 -0
  101. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/zz-cleanup.js +11 -0
  102. data/vendor/javascript/node_modules/jshint/node_modules/cli/package.json +70 -0
  103. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/LICENCE +19 -0
  104. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/README.md +33 -0
  105. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/index.js +86 -0
  106. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/LICENCE +19 -0
  107. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/README.md +45 -0
  108. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/index.js +5 -0
  109. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/package.json +89 -0
  110. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/seed.js +16 -0
  111. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/test/index.js +28 -0
  112. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/test/static/index.html +10 -0
  113. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/package.json +88 -0
  114. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/test/index.js +67 -0
  115. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/test/static/index.html +12 -0
  116. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/test/static/test-adapter.js +53 -0
  117. data/vendor/javascript/node_modules/jshint/node_modules/exit/Gruntfile.js +48 -0
  118. data/vendor/javascript/node_modules/jshint/node_modules/exit/LICENSE-MIT +22 -0
  119. data/vendor/javascript/node_modules/jshint/node_modules/exit/README.md +75 -0
  120. data/vendor/javascript/node_modules/jshint/node_modules/exit/lib/exit.js +41 -0
  121. data/vendor/javascript/node_modules/jshint/node_modules/exit/package.json +69 -0
  122. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/exit_test.js +121 -0
  123. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/10-stderr.txt +10 -0
  124. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/10-stdout-stderr.txt +20 -0
  125. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/10-stdout.txt +10 -0
  126. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/100-stderr.txt +100 -0
  127. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/100-stdout-stderr.txt +200 -0
  128. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/100-stdout.txt +100 -0
  129. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/1000-stderr.txt +1000 -0
  130. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/1000-stdout-stderr.txt +2000 -0
  131. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/1000-stdout.txt +1000 -0
  132. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/create-files.sh +8 -0
  133. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/log-broken.js +23 -0
  134. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/log.js +25 -0
  135. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/LICENSE +18 -0
  136. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/README.md +83 -0
  137. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/CollectingHandler.js +55 -0
  138. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/FeedHandler.js +95 -0
  139. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/Parser.js +337 -0
  140. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/ProxyHandler.js +27 -0
  141. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/Stream.js +35 -0
  142. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/Tokenizer.js +891 -0
  143. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/WritableStream.js +21 -0
  144. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/index.js +68 -0
  145. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/LICENSE +11 -0
  146. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/index.js +14 -0
  147. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/package.json +40 -0
  148. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/readme.md +1 -0
  149. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/LICENSE +11 -0
  150. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/index.js +211 -0
  151. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/package.json +68 -0
  152. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/readme.md +102 -0
  153. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/01-basic.json +57 -0
  154. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/02-single_tag_1.json +21 -0
  155. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/03-single_tag_2.json +21 -0
  156. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/04-unescaped_in_script.json +27 -0
  157. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/05-tags_in_comment.json +18 -0
  158. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/06-comment_in_script.json +18 -0
  159. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/07-unescaped_in_style.json +20 -0
  160. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/08-extra_spaces_in_tag.json +20 -0
  161. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/09-unquoted_attrib.json +20 -0
  162. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/10-singular_attribute.json +15 -0
  163. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/11-text_outside_tags.json +40 -0
  164. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/12-text_only.json +11 -0
  165. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/13-comment_in_text.json +19 -0
  166. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/14-comment_in_text_in_script.json +18 -0
  167. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/15-non-verbose.json +22 -0
  168. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/16-normalize_whitespace.json +47 -0
  169. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/17-xml_namespace.json +18 -0
  170. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/18-enforce_empty_tags.json +16 -0
  171. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/19-ignore_empty_tags.json +20 -0
  172. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/20-template_script_tags.json +20 -0
  173. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/21-conditional_comments.json +15 -0
  174. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/22-lowercase_tags.json +41 -0
  175. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/23-dom-lvl1.json +121 -0
  176. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/tests.js +58 -0
  177. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/LICENSE +11 -0
  178. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/index.js +14 -0
  179. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/helpers.js +141 -0
  180. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/legacy.js +87 -0
  181. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js +77 -0
  182. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/querying.js +94 -0
  183. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/stringify.js +93 -0
  184. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/traversal.js +24 -0
  185. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/package.json +71 -0
  186. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/readme.md +1 -0
  187. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/fixture.js +6 -0
  188. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/tests/helpers.js +89 -0
  189. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/tests/legacy.js +119 -0
  190. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/utils.js +9 -0
  191. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/LICENSE +11 -0
  192. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/index.js +31 -0
  193. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/lib/decode.js +72 -0
  194. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.js +26 -0
  195. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/lib/encode.js +48 -0
  196. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/decode.json +1 -0
  197. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/entities.json +1 -0
  198. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/legacy.json +1 -0
  199. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/xml.json +1 -0
  200. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/package.json +79 -0
  201. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/readme.md +31 -0
  202. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/test/mocha.opts +2 -0
  203. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/test/test.js +150 -0
  204. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/LICENSE +18 -0
  205. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/README.md +15 -0
  206. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/duplex.js +1 -0
  207. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/float.patch +923 -0
  208. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_duplex.js +89 -0
  209. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_passthrough.js +46 -0
  210. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_readable.js +944 -0
  211. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_transform.js +209 -0
  212. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_writable.js +472 -0
  213. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/README.md +3 -0
  214. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/float.patch +604 -0
  215. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/lib/util.js +107 -0
  216. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/package.json +53 -0
  217. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/util.js +106 -0
  218. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/LICENSE +16 -0
  219. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/README.md +42 -0
  220. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/inherits.js +1 -0
  221. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/inherits_browser.js +23 -0
  222. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/package.json +51 -0
  223. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/test.js +25 -0
  224. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/README.md +54 -0
  225. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/build/build.js +209 -0
  226. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/component.json +19 -0
  227. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/index.js +3 -0
  228. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/package.json +54 -0
  229. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/LICENSE +20 -0
  230. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/README.md +7 -0
  231. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/index.js +200 -0
  232. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/package.json +53 -0
  233. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/package.json +68 -0
  234. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/passthrough.js +1 -0
  235. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/readable.js +7 -0
  236. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/transform.js +1 -0
  237. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/writable.js +1 -0
  238. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/package.json +90 -0
  239. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/01-events.js +9 -0
  240. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/02-stream.js +23 -0
  241. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/03-feed.js +19 -0
  242. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/Atom_Example.xml +25 -0
  243. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/Attributes.html +16 -0
  244. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/Basic.html +1 -0
  245. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/RDF_Example.xml +63 -0
  246. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/RSS_Example.xml +48 -0
  247. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/01-simple.json +44 -0
  248. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/02-template.json +63 -0
  249. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/03-lowercase_tags.json +46 -0
  250. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/04-cdata.json +50 -0
  251. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/05-cdata-special.json +35 -0
  252. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/06-leading-lt.json +16 -0
  253. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/07-self-closing.json +67 -0
  254. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/08-implicit-close-tags.json +59 -0
  255. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/09-attributes.json +68 -0
  256. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/10-crazy-attrib.json +52 -0
  257. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/11-script_in_script.json +54 -0
  258. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/12-long-comment-end.json +20 -0
  259. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/13-long-cdata-end.json +22 -0
  260. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/14-implicit-open-tags.json +27 -0
  261. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/15-lt-whitespace.json +16 -0
  262. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/16-double_attribs.json +45 -0
  263. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/17-numeric_entities.json +16 -0
  264. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/18-legacy_entities.json +16 -0
  265. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/19-named_entities.json +16 -0
  266. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/20-xml_entities.json +16 -0
  267. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/21-entity_in_attribute.json +38 -0
  268. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/22-double_brackets.json +41 -0
  269. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/23-legacy_entity_fail.json +16 -0
  270. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/24-special_special.json +133 -0
  271. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/25-empty_tag_name.json +13 -0
  272. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/26-not-quite-closed.json +35 -0
  273. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/27-entities_in_attributes.json +62 -0
  274. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/28-cdata_in_html.json +9 -0
  275. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/29-comment_edge-cases.json +18 -0
  276. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/30-cdata_edge-cases.json +22 -0
  277. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Feeds/01-rss.js +34 -0
  278. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Feeds/02-atom.js +18 -0
  279. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Feeds/03-rdf.js +20 -0
  280. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/01-basic.json +83 -0
  281. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/02-RSS.json +1093 -0
  282. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/03-Atom.json +644 -0
  283. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/04-RDF.json +1399 -0
  284. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/05-Attributes.json +354 -0
  285. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/api.js +63 -0
  286. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/test-helper.js +83 -0
  287. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/LICENSE +23 -0
  288. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/README.md +218 -0
  289. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/minimatch.js +1061 -0
  290. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS +14 -0
  291. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/LICENSE +23 -0
  292. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/README.md +97 -0
  293. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js +252 -0
  294. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/package.json +50 -0
  295. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/test/basic.js +369 -0
  296. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/test/foreach.js +52 -0
  297. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js +50 -0
  298. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/LICENSE +27 -0
  299. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/README.md +53 -0
  300. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/bench.js +283 -0
  301. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/package.json +58 -0
  302. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/sigmund.js +39 -0
  303. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/test/basic.js +24 -0
  304. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/package.json +57 -0
  305. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/basic.js +399 -0
  306. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/brace-expand.js +33 -0
  307. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/caching.js +14 -0
  308. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/defaults.js +274 -0
  309. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
  310. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/LICENSE +26 -0
  311. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/README.md +569 -0
  312. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/bin/shjs +51 -0
  313. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/global.js +3 -0
  314. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/make.js +47 -0
  315. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/package.json +61 -0
  316. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/scripts/generate-docs.js +21 -0
  317. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/scripts/run-tests.js +50 -0
  318. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/shell.js +157 -0
  319. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/cat.js +43 -0
  320. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/cd.js +19 -0
  321. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/chmod.js +208 -0
  322. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/common.js +203 -0
  323. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/cp.js +201 -0
  324. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/dirs.js +191 -0
  325. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/echo.js +20 -0
  326. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/error.js +10 -0
  327. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/exec.js +181 -0
  328. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/find.js +51 -0
  329. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/grep.js +52 -0
  330. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/ln.js +53 -0
  331. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/ls.js +126 -0
  332. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/mkdir.js +68 -0
  333. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/mv.js +80 -0
  334. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/popd.js +1 -0
  335. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/pushd.js +1 -0
  336. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/pwd.js +11 -0
  337. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/rm.js +145 -0
  338. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/sed.js +43 -0
  339. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/tempdir.js +56 -0
  340. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/test.js +85 -0
  341. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/to.js +29 -0
  342. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/toEnd.js +29 -0
  343. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/which.js +83 -0
  344. data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/cli.js +41 -0
  345. data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/package.json +76 -0
  346. data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/readme.md +74 -0
  347. data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/strip-json-comments.js +64 -0
  348. data/vendor/javascript/node_modules/jshint/node_modules/underscore/LICENSE +23 -0
  349. data/vendor/javascript/node_modules/jshint/node_modules/underscore/README.md +22 -0
  350. data/vendor/javascript/node_modules/jshint/node_modules/underscore/package.json +66 -0
  351. data/vendor/javascript/node_modules/jshint/node_modules/underscore/underscore-min.js +6 -0
  352. data/vendor/javascript/node_modules/jshint/node_modules/underscore/underscore.js +1343 -0
  353. data/vendor/javascript/node_modules/jshint/package.json +80 -0
  354. data/vendor/javascript/node_modules/jshint/src/cli.js +731 -0
  355. data/vendor/javascript/node_modules/jshint/src/jshint.js +5023 -0
  356. data/vendor/javascript/node_modules/jshint/src/lex.js +1650 -0
  357. data/vendor/javascript/node_modules/jshint/src/messages.js +223 -0
  358. data/vendor/javascript/node_modules/jshint/src/platforms/rhino.js +115 -0
  359. data/vendor/javascript/node_modules/jshint/src/reg.js +38 -0
  360. data/vendor/javascript/node_modules/jshint/src/reporters/checkstyle.js +81 -0
  361. data/vendor/javascript/node_modules/jshint/src/reporters/default.js +34 -0
  362. data/vendor/javascript/node_modules/jshint/src/reporters/jslint_xml.js +57 -0
  363. data/vendor/javascript/node_modules/jshint/src/reporters/non_error.js +52 -0
  364. data/vendor/javascript/node_modules/jshint/src/state.js +28 -0
  365. data/vendor/javascript/node_modules/jshint/src/style.js +143 -0
  366. data/vendor/javascript/node_modules/jshint/src/vars.js +658 -0
  367. data/vendor/python/astroid/COPYING +339 -0
  368. data/vendor/python/astroid/COPYING.LESSER +510 -0
  369. data/vendor/python/astroid/ChangeLog +574 -0
  370. data/vendor/python/astroid/MANIFEST.in +9 -0
  371. data/vendor/python/astroid/README +56 -0
  372. data/vendor/python/astroid/README.Python3 +26 -0
  373. data/vendor/python/astroid/__init__.py +118 -0
  374. data/vendor/python/astroid/__init__.pyc +0 -0
  375. data/vendor/python/astroid/__pkginfo__.py +48 -0
  376. data/vendor/python/astroid/__pkginfo__.pyc +0 -0
  377. data/vendor/python/astroid/announce.txt +23 -0
  378. data/vendor/python/astroid/as_string.py +496 -0
  379. data/vendor/python/astroid/as_string.pyc +0 -0
  380. data/vendor/python/astroid/bases.py +618 -0
  381. data/vendor/python/astroid/bases.pyc +0 -0
  382. data/vendor/python/astroid/brain/py2gi.py +159 -0
  383. data/vendor/python/astroid/brain/py2gi.pyc +0 -0
  384. data/vendor/python/astroid/brain/py2mechanize.py +20 -0
  385. data/vendor/python/astroid/brain/py2mechanize.pyc +0 -0
  386. data/vendor/python/astroid/brain/py2qt4.py +25 -0
  387. data/vendor/python/astroid/brain/py2qt4.pyc +0 -0
  388. data/vendor/python/astroid/brain/py2stdlib.py +252 -0
  389. data/vendor/python/astroid/brain/py2stdlib.pyc +0 -0
  390. data/vendor/python/astroid/builder.py +238 -0
  391. data/vendor/python/astroid/builder.pyc +0 -0
  392. data/vendor/python/astroid/exceptions.py +51 -0
  393. data/vendor/python/astroid/exceptions.pyc +0 -0
  394. data/vendor/python/astroid/inference.py +393 -0
  395. data/vendor/python/astroid/inference.pyc +0 -0
  396. data/vendor/python/astroid/inspector.py +275 -0
  397. data/vendor/python/astroid/manager.py +336 -0
  398. data/vendor/python/astroid/manager.pyc +0 -0
  399. data/vendor/python/astroid/mixins.py +122 -0
  400. data/vendor/python/astroid/mixins.pyc +0 -0
  401. data/vendor/python/astroid/node_classes.py +928 -0
  402. data/vendor/python/astroid/node_classes.pyc +0 -0
  403. data/vendor/python/astroid/nodes.py +73 -0
  404. data/vendor/python/astroid/nodes.pyc +0 -0
  405. data/vendor/python/astroid/protocols.py +322 -0
  406. data/vendor/python/astroid/protocols.pyc +0 -0
  407. data/vendor/python/astroid/raw_building.py +361 -0
  408. data/vendor/python/astroid/raw_building.pyc +0 -0
  409. data/vendor/python/astroid/rebuilder.py +954 -0
  410. data/vendor/python/astroid/rebuilder.pyc +0 -0
  411. data/vendor/python/astroid/scoped_nodes.py +1118 -0
  412. data/vendor/python/astroid/scoped_nodes.pyc +0 -0
  413. data/vendor/python/astroid/setup.py +184 -0
  414. data/vendor/python/astroid/tox.ini +10 -0
  415. data/vendor/python/astroid/utils.py +236 -0
  416. data/vendor/python/astroid/utils.pyc +0 -0
  417. data/vendor/python/logilab/__init__.py +0 -0
  418. data/vendor/python/logilab/__init__.pyc +0 -0
  419. data/vendor/python/logilab/common/COPYING +339 -0
  420. data/vendor/python/logilab/common/COPYING.LESSER +510 -0
  421. data/vendor/python/logilab/common/ChangeLog +1517 -0
  422. data/vendor/python/logilab/common/MANIFEST.in +13 -0
  423. data/vendor/python/logilab/common/README +185 -0
  424. data/vendor/python/logilab/common/README.Python3 +29 -0
  425. data/vendor/python/logilab/common/__init__.py +171 -0
  426. data/vendor/python/logilab/common/__init__.pyc +0 -0
  427. data/vendor/python/logilab/common/__pkginfo__.py +53 -0
  428. data/vendor/python/logilab/common/__pkginfo__.pyc +0 -0
  429. data/vendor/python/logilab/common/announce.txt +25 -0
  430. data/vendor/python/logilab/common/bin/pytest +7 -0
  431. data/vendor/python/logilab/common/bin/pytest.bat +17 -0
  432. data/vendor/python/logilab/common/cache.py +114 -0
  433. data/vendor/python/logilab/common/changelog.py +236 -0
  434. data/vendor/python/logilab/common/changelog.pyc +0 -0
  435. data/vendor/python/logilab/common/clcommands.py +332 -0
  436. data/vendor/python/logilab/common/cli.py +208 -0
  437. data/vendor/python/logilab/common/compat.py +243 -0
  438. data/vendor/python/logilab/common/compat.pyc +0 -0
  439. data/vendor/python/logilab/common/configuration.py +1094 -0
  440. data/vendor/python/logilab/common/configuration.pyc +0 -0
  441. data/vendor/python/logilab/common/contexts.py +5 -0
  442. data/vendor/python/logilab/common/corbautils.py +117 -0
  443. data/vendor/python/logilab/common/daemon.py +100 -0
  444. data/vendor/python/logilab/common/date.py +333 -0
  445. data/vendor/python/logilab/common/dbf.py +229 -0
  446. data/vendor/python/logilab/common/debugger.py +210 -0
  447. data/vendor/python/logilab/common/decorators.py +281 -0
  448. data/vendor/python/logilab/common/decorators.pyc +0 -0
  449. data/vendor/python/logilab/common/deprecation.py +188 -0
  450. data/vendor/python/logilab/common/deprecation.pyc +0 -0
  451. data/vendor/python/logilab/common/fileutils.py +402 -0
  452. data/vendor/python/logilab/common/graph.py +276 -0
  453. data/vendor/python/logilab/common/graph.pyc +0 -0
  454. data/vendor/python/logilab/common/hg.py +130 -0
  455. data/vendor/python/logilab/common/interface.py +71 -0
  456. data/vendor/python/logilab/common/interface.pyc +0 -0
  457. data/vendor/python/logilab/common/logging_ext.py +193 -0
  458. data/vendor/python/logilab/common/modutils.py +695 -0
  459. data/vendor/python/logilab/common/modutils.pyc +0 -0
  460. data/vendor/python/logilab/common/optik_ext.py +391 -0
  461. data/vendor/python/logilab/common/optik_ext.pyc +0 -0
  462. data/vendor/python/logilab/common/optparser.py +90 -0
  463. data/vendor/python/logilab/common/proc.py +277 -0
  464. data/vendor/python/logilab/common/pyro_ext.py +180 -0
  465. data/vendor/python/logilab/common/pytest.py +1177 -0
  466. data/vendor/python/logilab/common/python-logilab-common.spec +184 -0
  467. data/vendor/python/logilab/common/registry.py +1113 -0
  468. data/vendor/python/logilab/common/setup.cfg +3 -0
  469. data/vendor/python/logilab/common/setup.py +189 -0
  470. data/vendor/python/logilab/common/shellutils.py +455 -0
  471. data/vendor/python/logilab/common/sphinx_ext.py +87 -0
  472. data/vendor/python/logilab/common/sphinxutils.py +122 -0
  473. data/vendor/python/logilab/common/table.py +925 -0
  474. data/vendor/python/logilab/common/tasksqueue.py +100 -0
  475. data/vendor/python/logilab/common/textutils.py +534 -0
  476. data/vendor/python/logilab/common/textutils.pyc +0 -0
  477. data/vendor/python/logilab/common/tree.py +369 -0
  478. data/vendor/python/logilab/common/tree.pyc +0 -0
  479. data/vendor/python/logilab/common/umessage.py +190 -0
  480. data/vendor/python/logilab/common/ureports/__init__.py +174 -0
  481. data/vendor/python/logilab/common/ureports/__init__.pyc +0 -0
  482. data/vendor/python/logilab/common/ureports/docbook_writer.py +139 -0
  483. data/vendor/python/logilab/common/ureports/html_writer.py +131 -0
  484. data/vendor/python/logilab/common/ureports/html_writer.pyc +0 -0
  485. data/vendor/python/logilab/common/ureports/nodes.py +201 -0
  486. data/vendor/python/logilab/common/ureports/nodes.pyc +0 -0
  487. data/vendor/python/logilab/common/ureports/text_writer.py +140 -0
  488. data/vendor/python/logilab/common/ureports/text_writer.pyc +0 -0
  489. data/vendor/python/logilab/common/urllib2ext.py +87 -0
  490. data/vendor/python/logilab/common/vcgutils.py +216 -0
  491. data/vendor/python/logilab/common/visitor.py +107 -0
  492. data/vendor/python/logilab/common/visitor.pyc +0 -0
  493. data/vendor/python/logilab/common/xmlrpcutils.py +131 -0
  494. data/vendor/python/logilab/common/xmlutils.py +61 -0
  495. data/vendor/python/pylint/CONTRIBUTORS.txt +38 -0
  496. data/vendor/python/pylint/COPYING +340 -0
  497. data/vendor/python/pylint/ChangeLog +1437 -0
  498. data/vendor/python/pylint/DEPENDS +3 -0
  499. data/vendor/python/pylint/MANIFEST.in +14 -0
  500. data/vendor/python/pylint/README +50 -0
  501. data/vendor/python/pylint/README.Python3 +37 -0
  502. data/vendor/python/pylint/__init__.py +44 -0
  503. data/vendor/python/pylint/__init__.pyc +0 -0
  504. data/vendor/python/pylint/__main__.py +3 -0
  505. data/vendor/python/pylint/__pkginfo__.py +74 -0
  506. data/vendor/python/pylint/__pkginfo__.pyc +0 -0
  507. data/vendor/python/pylint/bin/epylint +3 -0
  508. data/vendor/python/pylint/bin/epylint.bat +5 -0
  509. data/vendor/python/pylint/bin/pylint +3 -0
  510. data/vendor/python/pylint/bin/pylint-gui +3 -0
  511. data/vendor/python/pylint/bin/pylint-gui.bat +5 -0
  512. data/vendor/python/pylint/bin/pylint.bat +5 -0
  513. data/vendor/python/pylint/bin/pyreverse +3 -0
  514. data/vendor/python/pylint/bin/pyreverse.bat +5 -0
  515. data/vendor/python/pylint/bin/symilar +3 -0
  516. data/vendor/python/pylint/bin/symilar.bat +5 -0
  517. data/vendor/python/pylint/checkers/__init__.py +145 -0
  518. data/vendor/python/pylint/checkers/__init__.pyc +0 -0
  519. data/vendor/python/pylint/checkers/base.py +1141 -0
  520. data/vendor/python/pylint/checkers/base.pyc +0 -0
  521. data/vendor/python/pylint/checkers/classes.py +792 -0
  522. data/vendor/python/pylint/checkers/classes.pyc +0 -0
  523. data/vendor/python/pylint/checkers/design_analysis.py +367 -0
  524. data/vendor/python/pylint/checkers/design_analysis.pyc +0 -0
  525. data/vendor/python/pylint/checkers/exceptions.py +306 -0
  526. data/vendor/python/pylint/checkers/exceptions.pyc +0 -0
  527. data/vendor/python/pylint/checkers/format.py +943 -0
  528. data/vendor/python/pylint/checkers/format.pyc +0 -0
  529. data/vendor/python/pylint/checkers/imports.py +394 -0
  530. data/vendor/python/pylint/checkers/imports.pyc +0 -0
  531. data/vendor/python/pylint/checkers/logging.py +213 -0
  532. data/vendor/python/pylint/checkers/logging.pyc +0 -0
  533. data/vendor/python/pylint/checkers/misc.py +90 -0
  534. data/vendor/python/pylint/checkers/misc.pyc +0 -0
  535. data/vendor/python/pylint/checkers/newstyle.py +151 -0
  536. data/vendor/python/pylint/checkers/newstyle.pyc +0 -0
  537. data/vendor/python/pylint/checkers/raw_metrics.py +129 -0
  538. data/vendor/python/pylint/checkers/raw_metrics.pyc +0 -0
  539. data/vendor/python/pylint/checkers/similar.py +365 -0
  540. data/vendor/python/pylint/checkers/similar.pyc +0 -0
  541. data/vendor/python/pylint/checkers/stdlib.py +69 -0
  542. data/vendor/python/pylint/checkers/stdlib.pyc +0 -0
  543. data/vendor/python/pylint/checkers/strings.py +304 -0
  544. data/vendor/python/pylint/checkers/strings.pyc +0 -0
  545. data/vendor/python/pylint/checkers/typecheck.py +451 -0
  546. data/vendor/python/pylint/checkers/typecheck.pyc +0 -0
  547. data/vendor/python/pylint/checkers/utils.py +416 -0
  548. data/vendor/python/pylint/checkers/utils.pyc +0 -0
  549. data/vendor/python/pylint/checkers/variables.py +741 -0
  550. data/vendor/python/pylint/checkers/variables.pyc +0 -0
  551. data/vendor/python/pylint/config.py +156 -0
  552. data/vendor/python/pylint/config.pyc +0 -0
  553. data/vendor/python/pylint/epylint.py +175 -0
  554. data/vendor/python/pylint/gui.py +508 -0
  555. data/vendor/python/pylint/interfaces.py +72 -0
  556. data/vendor/python/pylint/interfaces.pyc +0 -0
  557. data/vendor/python/pylint/lint.py +1106 -0
  558. data/vendor/python/pylint/lint.pyc +0 -0
  559. data/vendor/python/pylint/pyreverse/__init__.py +5 -0
  560. data/vendor/python/pylint/pyreverse/diadefslib.py +233 -0
  561. data/vendor/python/pylint/pyreverse/diagrams.py +247 -0
  562. data/vendor/python/pylint/pyreverse/main.py +124 -0
  563. data/vendor/python/pylint/pyreverse/utils.py +131 -0
  564. data/vendor/python/pylint/pyreverse/writer.py +199 -0
  565. data/vendor/python/pylint/reporters/__init__.py +138 -0
  566. data/vendor/python/pylint/reporters/__init__.pyc +0 -0
  567. data/vendor/python/pylint/reporters/guireporter.py +28 -0
  568. data/vendor/python/pylint/reporters/guireporter.pyc +0 -0
  569. data/vendor/python/pylint/reporters/html.py +70 -0
  570. data/vendor/python/pylint/reporters/html.pyc +0 -0
  571. data/vendor/python/pylint/reporters/text.py +143 -0
  572. data/vendor/python/pylint/reporters/text.pyc +0 -0
  573. data/vendor/python/pylint/setup.cfg +3 -0
  574. data/vendor/python/pylint/setup.py +203 -0
  575. data/vendor/python/pylint/tox.ini +10 -0
  576. data/vendor/python/pylint/utils.py +744 -0
  577. data/vendor/python/pylint/utils.pyc +0 -0
  578. data/vendor/python/pylint_runner.py +22 -0
  579. metadata +675 -0
@@ -0,0 +1,1437 @@
1
+ ChangeLog for Pylint
2
+ ====================
3
+
4
+ --
5
+ * Fix unused-import false positive with Python 3 metaclasses (#143).
6
+
7
+ 2014-04-30 -- 1.2.1
8
+ * Restore the ability to specify the init-hook option via the
9
+ configuration file, which was accidentally broken in 1.2.0.
10
+
11
+ * Add a new warning [bad-continuation] for badly indentend continued
12
+ lines.
13
+
14
+ * Emit [assignment-from-none] when the function contains bare returns.
15
+ Fixes BitBucket issue #191.
16
+
17
+ * Added a new warning for closing over variables that are
18
+ defined in loops. Fixes Bitbucket issue #176.
19
+
20
+ * Do not warn about \u escapes in string literals when Unicode literals
21
+ are used for Python 2.*. Fixes BitBucket issue #151.
22
+
23
+ * Extend the checking for unbalanced-tuple-unpacking and
24
+ unpacking-non-sequence to instance attribute unpacking as well.
25
+
26
+ * Fix explicit checking of python script (1.2 regression, #219)
27
+
28
+ * Restore --init-hook, renamed accidentally into --init-hooks in 1.2.0
29
+ (#211)
30
+
31
+ * Add 'indexing-exception' warning, which detects that indexing
32
+ an exception occurs in Python 2 (behaviour removed in Python 3).
33
+
34
+
35
+
36
+ 2014-04-18 -- 1.2.0
37
+ * Pass the current python paths to pylint process when invoked via
38
+ epylint. Fixes BitBucket issue #133.
39
+
40
+ * Add -i / --include-ids and -s / --symbols back as completely ignored
41
+ options. Fixes BitBucket issue #180.
42
+
43
+ * Extend the number of cases in which logging calls are detected. Fixes
44
+ bitbucket issue #182.
45
+
46
+ * Improve pragma handling to not detect pylint:* strings in non-comments.
47
+ Fixes BitBucket issue #79.
48
+
49
+ * Do not crash with UnknownMessage if an unknown message ID/name appears
50
+ in disable or enable in the configuration. Patch by Cole Robinson.
51
+ Fixes bitbucket issue #170.
52
+
53
+ * Add new warning 'eval-used', checking that the builtin function `eval`
54
+ was used.
55
+
56
+ * Make it possible to show a naming hint for invalid name by setting
57
+ include-naming-hint. Also make the naming hints configurable. Fixes
58
+ BitBucket issue #138.
59
+
60
+ * Added support for enforcing multiple, but consistent name styles for
61
+ different name types inside a single module; based on a patch written
62
+ by morbo@google.com.
63
+
64
+ * Also warn about empty docstrings on overridden methods; contributed
65
+ by sebastianu@google.com.
66
+
67
+ * Also inspect arguments to constructor calls, and emit relevant
68
+ warnings; contributed by sebastianu@google.com.
69
+
70
+ * Added a new configuration option logging-modules to make the list
71
+ of module names that can be checked for 'logging-not-lazy' et. al.
72
+ configurable; contributed by morbo@google.com.
73
+
74
+ * ensure init-hooks is evaluated before other options, notably load-plugins
75
+ (#166)
76
+
77
+ * Python 2.5 support restored: fixed small issues preventing pylint to run
78
+ on python 2.5. Bitbucket issues #50 and #62.
79
+
80
+ * bitbucket #128: pylint doesn't crash when looking
81
+ for used-before-assignment in context manager
82
+ assignments.
83
+
84
+ * Add new warning, 'bad-reversed-sequence', for checking that the
85
+ reversed() builtin receive a sequence (implements __getitem__ and __len__,
86
+ without being a dict or a dict subclass) or an instance which implements
87
+ __reversed__.
88
+
89
+ * Mark `file` as a bad function when using python2 (closes #8).
90
+
91
+ * Add new warning 'bad-exception-context', checking
92
+ that `raise ... from ...` uses a proper exception context
93
+ (None or an exception).
94
+
95
+ * Enhance the check for 'used-before-assignment' to look
96
+ for 'nonlocal' uses.
97
+
98
+ * Emit 'undefined-all-variable' if a package's __all__
99
+ variable contains a missing submodule (closes #126).
100
+
101
+ * Add a new warning 'abstract-class-instantiated' for checking
102
+ that abstract classes created with `abc` module and
103
+ with abstract methods are instantied.
104
+
105
+ * Do not warn about 'return-arg-in-generator' in Python 3.3+.
106
+
107
+ * Do not warn about 'abstract-method' when the abstract method
108
+ is implemented through assignment (#155).
109
+
110
+ * Improve cyclic import detection in the case of packages, patch by Buck
111
+ Golemon
112
+
113
+ * Add new warnings for checking proper class __slots__:
114
+ 'invalid-slots-object' and 'invalid-slots'.
115
+
116
+ * Search for rc file in `~/.config/pylintrc` if `~/.pylintrc`
117
+ doesn't exists (#121)
118
+
119
+ * Don't register the newstyle checker w/ python >= 3
120
+
121
+ * Fix unused-import false positive w/ augment assignment (#78)
122
+
123
+ * Fix access-member-before-definition false negative wrt aug assign (#164)
124
+
125
+ * Do not attempt to analyze non python file, eg .so file (#122)
126
+
127
+
128
+
129
+ 2013-12-22 -- 1.1.0
130
+ * Add new check for use of deprecated pragma directives "pylint:disable-msg"
131
+ or "pylint:enable-msg" (I0022, deprecated-pragma) which was previously
132
+ emmited as a regular warn().
133
+
134
+ * Avoid false used-before-assignment for except handler defined
135
+ identifier used on the same line (#111).
136
+
137
+ * Combine 'no-space-after-operator', 'no-space-after-comma' and
138
+ 'no-space-before-operator' into a new warning 'bad-whitespace'.
139
+
140
+ * Add a new warning 'superfluous-parens' for unnecessary
141
+ parentheses after certain keywords.
142
+
143
+ * Fix a potential crash in the redefine-in-handler warning
144
+ if the redefined name is a nested getattr node.
145
+
146
+ * Add a new option for the multi-statement warning to
147
+ allow single-line if statements.
148
+
149
+ * Add 'bad-context-manager' error, checking that '__exit__'
150
+ special method accepts the right number of arguments.
151
+
152
+ * Run pylint as a python module 'python -m pylint' (anatoly techtonik).
153
+
154
+ * Check for non-exception classes inside an except clause.
155
+
156
+ * epylint support options to give to pylint after the file to analyze and
157
+ have basic input validation (bitbucket #53 and #54), patches provided by
158
+ felipeochoa and Brian Lane.
159
+
160
+ * Added a new warning, 'non-iterator-returned', for non-iterators
161
+ returned by '__iter__'.
162
+
163
+ * Add new checks for unpacking non-sequences in assignments
164
+ (unpacking-non-sequence) as well as unbalanced tuple unpacking
165
+ (unbalanced-tuple-unpacking).
166
+
167
+ * useless-else-on-loop not emited if there is a break in the
168
+ else clause of inner loop (#117).
169
+
170
+ * don't mark `input` as a bad function when using python3 (#110).
171
+
172
+ * badly-implemented-container caused several problems in its
173
+ current implementation. Deactivate it until we have something
174
+ better. See #112 for instance.
175
+
176
+ * Use attribute regexp for properties in python3, as in python2
177
+
178
+ * Create the PYLINTHOME directory when needed, it might fail and lead to
179
+ spurious warnings on import of pylint.config.
180
+
181
+ * Fix setup.py so that pylint properly install on Windows when using python3
182
+
183
+ * Various documentation fixes and enhancements
184
+
185
+ * Fix issue #55 (false-positive trailing-whitespace on Windows)
186
+
187
+
188
+
189
+ 2013-08-06 -- 1.0.0
190
+ * Add check for the use of 'exec' function
191
+
192
+ * New --msg-template option to control output, deprecating "msvc" and
193
+ "parseable" output formats as well as killing `--include-ids` and `--symbols`
194
+ options
195
+
196
+ * Do not emit [fixme] for every line if the config value 'notes'
197
+ is empty, but [fixme] is enabled.
198
+
199
+ * Emit warnings about lines exceeding the column limit when
200
+ those lines are inside multiline docstrings.
201
+
202
+ * Do not double-check parameter names with the regex for parameters and
203
+ inline variables.
204
+
205
+ * Added a new warning missing-final-newline (C0304) for files missing
206
+ the final newline.
207
+
208
+ * Methods that are decorated as properties are now treated as attributes
209
+ for the purposes of name checking.
210
+
211
+ * Names of derived instance class member are not checked any more.
212
+
213
+ * Names in global statements are now checked against the regular
214
+ expression for constants.
215
+
216
+ * For toplevel name assignment, the class name regex will be used if
217
+ pylint can detect that value on the right-hand side is a class
218
+ (like collections.namedtuple()).
219
+
220
+ * Simplified invalid-name message
221
+
222
+ * Added a new warning invalid-encoded-data (W0512) for files that
223
+ contain data that cannot be decoded with the specified or
224
+ default encoding.
225
+
226
+ * New warning bad-open-mode (W1501) for calls to open (or file) that
227
+ specify invalid open modes (Original implementation by Sasha Issayev).
228
+
229
+ * New warning old-style-class (C1001) for classes that do not have any
230
+ base class.
231
+
232
+ * Add new name type 'class_attribute' for attributes defined
233
+ in class scope. By default, allow both const and variable names.
234
+
235
+ * New warning trailing-whitespace (C0303) that warns about
236
+ trailing whitespace.
237
+
238
+ * Added a new warning unpacking-in-except (W0712) about unpacking
239
+ exceptions in handlers, which is unsupported in Python 3.
240
+
241
+ * Add a configuration option for missing-docstring to
242
+ optionally exempt short functions/methods/classes from
243
+ the check.
244
+
245
+ * Add the type of the offending node to missing-docstring
246
+ and empty-docstring.
247
+
248
+ * New utility classes for per-checker unittests in testutils.py
249
+
250
+ * Do not warn about redefinitions of variables that match the
251
+ dummy regex.
252
+
253
+ * Do not treat all variables starting with _ as dummy variables,
254
+ only _ itself.
255
+
256
+ * Make the line-too-long warning configurable by adding a regex for lines
257
+ for with the length limit should not be enforced
258
+
259
+ * Do not warn about a long line if a pylint disable
260
+ option brings it above the length limit
261
+
262
+ * Do not flag names in nested with statements as undefined.
263
+
264
+ * Added a new warning 'old-raise-syntax' for the deprecated syntax
265
+ raise Exception, args
266
+
267
+ * Support for PEP 3102 and new missing-kwoa (E1125) message for missing
268
+ mandatory keyword argument (logilab.org's #107788)
269
+
270
+ * Fix spelling of max-branchs option, now max-branches
271
+
272
+ * Added a new base class and interface for checkers that work on the
273
+ tokens rather than the syntax, and only tokenize the input file
274
+ once.
275
+
276
+ * Follow astng renaming to astroid
277
+
278
+ * bitbucket #37: check for unbalanced unpacking in assignments
279
+
280
+ * bitbucket #25: fix incomplete-protocol false positive for read-only
281
+ containers like tuple
282
+
283
+ * bitbucket #16: fix False positive E1003 on Python 3 for argument-less super()
284
+
285
+ * bitbucket #6: put back documentation in source distribution
286
+
287
+ * bitbucket #15: epylint shouldn't hang anymore when there is a large
288
+ output on pylint'stderr
289
+
290
+ * bitbucket #7: fix epylint w/ python3
291
+
292
+ * bitbucket #3: remove string module from the default list of deprecated
293
+ modules
294
+
295
+
296
+
297
+ 2013-04-25 -- 0.28.0
298
+ * bitbucket #1: fix "dictionary changed size during iteration" crash
299
+
300
+ * #74013: new E1310[bad-str-strip-call] message warning when a call to a
301
+ {l,r,}strip method contains duplicate characters (patch by Torsten Marek)
302
+
303
+ * #123233: new E0108[duplicate-argument-name] message reporting duplicate
304
+ argument names
305
+
306
+ * #81378: emit W0120[useless-else-on-loop] for loops without break
307
+
308
+ * #124660: internal dependencies should not appear in external dependencies
309
+ report
310
+
311
+ * #124662: fix name error causing crash when symbols are included in output
312
+ messages
313
+
314
+ * #123285: apply pragmas for warnings attached to lines to physical source
315
+ code lines
316
+
317
+ * #123259: do not emit E0105 for yield expressions inside lambdas
318
+
319
+ * #123892: don't crash when attempting to show source code line that can't
320
+ be encoded with the current locale settings
321
+
322
+ * Simplify checks for dangerous default values by unifying tests for all
323
+ different mutable compound literals.
324
+
325
+ * Improve the description for E1124[redundant-keyword-arg]
326
+
327
+
328
+
329
+ 2013-02-26 -- 0.27.0
330
+ * #20693: replace pylint.el by Ian Eure version (patch by J.Kotta)
331
+
332
+ * #105327: add support for --disable=all option and deprecate the
333
+ 'disable-all' inline directive in favour of 'skip-file' (patch by
334
+ A.Fayolle)
335
+
336
+ * #110840: add messages I0020 and I0021 for reporting of suppressed
337
+ messages and useless suppression pragmas. (patch by Torsten Marek)
338
+
339
+ * #112728: add warning E0604 for non-string objects in __all__
340
+ (patch by Torsten Marek)
341
+
342
+ * #120657: add warning W0110/deprecated-lambda when a map/filter
343
+ of a lambda could be a comprehension (patch by Martin Pool)
344
+
345
+ * #113231: logging checker now looks at instances of Logger classes
346
+ in addition to the base logging module. (patch by Mike Bryant)
347
+
348
+ * #111799: don't warn about octal escape sequence, but warn about \o
349
+ which is not octal in Python (patch by Martin Pool)
350
+
351
+ * #110839: bind <F5> to Run button in pylint-gui
352
+
353
+ * #115580: fix erroneous W0212 (access to protected member) on super call
354
+ (patch by Martin Pool)
355
+
356
+ * #110853: fix a crash when an __init__ method in a base class has been
357
+ created by assignment rather than direct function definition (patch by
358
+ Torsten Marek)
359
+
360
+ * #110838: fix pylint-gui crash when include-ids is activated (patch by
361
+ Omega Weapon)
362
+
363
+ * #112667: fix emission of reimport warnings for mixed imports and extend
364
+ the testcase (patch by Torsten Marek)
365
+
366
+ * #112698: fix crash related to non-inferable __all__ attributes and
367
+ invalid __all__ contents (patch by Torsten Marek)
368
+
369
+ * Python 3 related fixes:
370
+
371
+ * #110213: fix import of checkers broken with python 3.3, causing
372
+ "No such message id W0704" breakage
373
+
374
+ * #120635: redefine cmp function used in pylint.reporters
375
+
376
+ * Include full warning id for I0020 and I0021 and make sure to flush
377
+ warnings after each module, not at the end of the pylint run.
378
+ (patch by Torsten Marek)
379
+
380
+ * Changed the regular expression for inline options so that it must be
381
+ preceeded by a # (patch by Torsten Marek)
382
+
383
+ * Make dot output for import graph predictable and not depend
384
+ on ordering of strings in hashes. (patch by Torsten Marek)
385
+
386
+ * Add hooks for import path setup and move pylint's sys.path
387
+ modifications into them. (patch by Torsten Marek)
388
+
389
+
390
+
391
+ 2012-10-05 -- 0.26.0
392
+ * #106534: add --ignore-imports option to code similarity checking
393
+ and 'symilar' command line tool (patch by Ry4an Brase)
394
+
395
+ * #104571: check for anomalous backslash escape, introducing new
396
+ W1401 and W1402 messages (patch by Martin Pool)
397
+
398
+ * #100707: check for boolop being used as exception class, introducing
399
+ new W0711 message (patch by Tim Hatch)
400
+
401
+ * #4014: improve checking of metaclass methods first args, introducing
402
+ new C0204 message (patch by lothiraldan@gmail.com finalized by sthenault)
403
+
404
+ * #4685: check for consistency of a module's __all__ variable,
405
+ introducing new E0603 message
406
+
407
+ * #105337: allow custom reporter in output-format (patch by Kevin Jing Qiu)
408
+
409
+ * #104420: check for protocol completness and avoid false R0903
410
+ (patch by Peter Hammond)
411
+
412
+ * #100654: fix grammatical error for W0332 message (using 'l' as
413
+ long int identifier)
414
+
415
+ * #103656: fix W0231 false positive for missing call to object.__init__
416
+ (patch by lothiraldan@gmail.com)
417
+
418
+ * #63424: fix similarity report disabling by properly renaming it to RP0801
419
+
420
+ * #103949: create a console_scripts entry point to be used by
421
+ easy_install, buildout and pip
422
+
423
+ * fix cross-interpreter issue (non compatible access to __builtins__)
424
+
425
+ * stop including tests files in distribution, they causes crash when
426
+ installed with python3 (#72022, #82417, #76910)
427
+
428
+
429
+
430
+ 2012-07-17 -- 0.25.2
431
+ * #93591: Correctly emit warnings about clobbered variable names when an
432
+ except handler contains a tuple of names instead of a single name.
433
+ (patch by tmarek@google.com)
434
+
435
+ * #7394: W0212 (access to protected member) not emited on assigments
436
+ (patch by lothiraldan@gmail.com)
437
+
438
+ * #18772; no prototype consistency check for mangled methods (patch by
439
+ lothiraldan@gmail.com)
440
+
441
+ * #92911: emit W0102 when sets are used as default arguments in functions
442
+ (patch by tmarek@google.com)
443
+
444
+ * #77982: do not emit E0602 for loop variables of comprehensions
445
+ used as argument values inside a decorator (patch by tmarek@google.com)
446
+
447
+ * #89092: don't emit E0202 (attribute hiding a method) on @property methods
448
+
449
+ * #92584: fix pylint-gui crash due to internal API change
450
+
451
+ * #87192: fix crash when decorators are accessed through more than one dot
452
+ (for instance @a.b is fine, @a.b.c crash)
453
+
454
+ * #88914: fix parsing of --generated-members options, leading to crash
455
+ when using a regexp value set
456
+
457
+ * fix potential crashes with utils.safe_infer raising InferenceError
458
+
459
+
460
+
461
+ 2011-12-08 -- 0.25.1
462
+ * #81078: Warn if names in exception handlers clobber overwrite
463
+ existing names (patch by tmarek@google.com)
464
+
465
+ * #81113: Fix W0702 messages appearing with the wrong line number.
466
+ (patch by tmarek@google.com)
467
+
468
+ * #50461, #52020, #51222: Do not issue warnings when using 2.6's
469
+ property.setter/deleter functionality (patch by dneil@google.com)
470
+
471
+ * #9188, #4024: Do not trigger W0631 if a loop variable is assigned
472
+ in the else branch of a for loop.
473
+
474
+
475
+
476
+ 2011-10-07 -- 0.25.0
477
+ * #74742: make allowed name for first argument of class method configurable
478
+ (patch by Google)
479
+
480
+ * #74087: handle case where inference of a module return YES; this avoid
481
+ some cases of "TypeError: '_Yes' object does not support indexing" (patch
482
+ by Google)
483
+
484
+ * #74745: make "too general" exception names configurable (patch by Google)
485
+
486
+ * #74747: crash occurs when lookup up a special attribute in class scope
487
+ (patch by google)
488
+
489
+ * #76920: crash if on eg "pylint --rcfile" (patch by Torsten Marek)
490
+
491
+ * #77237: warning for E0202 may be very misleading
492
+
493
+ * #73941: HTML report messages table is badly rendered
494
+
495
+
496
+
497
+ 2011-07-18 -- 0.24.0
498
+ * #69738: add regular expressions support for "generated-members"
499
+
500
+ * ids of logging and string_format checkers have been changed:
501
+ logging: 65 -> 12, string_format: 99 -> 13
502
+ Also add documentation to say that ids of range 1-50 shall be reserved
503
+ to pylint internal checkers
504
+
505
+ * #69993: Additional string format checks for logging module:
506
+ check for missing arguments, too many arguments, or invalid string
507
+ formats in the logging checker module. Contributed by Daniel Arena
508
+
509
+ * #69220: add column offset to the reports. If you've a custom reporter,
510
+ this change may break it has now location gain a new item giving the
511
+ column offset.
512
+
513
+ * #60828: Fix false positive in reimport check
514
+
515
+ * #70495: absolute imports fail depending on module path (patch by Jacek Konieczny)
516
+
517
+ * #22273: Fix --ignore option documentation to match reality
518
+
519
+
520
+
521
+ 2011-01-11 -- 0.23.0
522
+ * documentation update, add manpages
523
+
524
+ * several performance improvements
525
+
526
+ * finalize python3 support
527
+
528
+ * new W0106 warning 'Expression "%s" is assigned to nothing'
529
+
530
+ * drop E0501 and E0502 messages about wrong source encoding: not anymore
531
+ interesting since it's a syntax error for python >= 2.5 and we now only
532
+ support this python version and above.
533
+
534
+ * don't emit W0221 or W0222 when methods as variable arguments (eg *arg
535
+ and/or **args). Patch submitted by Charles Duffy.
536
+
537
+
538
+
539
+ 2010-11-15 -- 0.22.0
540
+ * python versions: minimal python3.x support; drop python < 2.5 support
541
+
542
+
543
+
544
+ 2010-10-27 -- 0.21.4
545
+ * fix #48066: pylint crashes when redirecting output containing non-ascii characters
546
+
547
+ * fix #19799: "pylint -blah" exit with status 2
548
+
549
+ * update documentation
550
+
551
+
552
+
553
+ 2010-09-28 -- 0.21.3
554
+ * restored python 2.3 compatibility. Along with logilab-astng
555
+ 0.21.3 and logilab-common 0.52, this will much probably be the
556
+ latest release supporting python < 2.5.
557
+
558
+
559
+
560
+ 2010-08-26 -- 0.21.2
561
+ * fix #36193: import checker raise exception on cyclic import
562
+
563
+ * fix #28796: regression in --generated-members introduced pylint 0.20
564
+
565
+ * some documentation cleanups
566
+
567
+
568
+
569
+ 2010-06-04 -- 0.21.1
570
+ * fix #28962: pylint crash with new options, due to missing stats data while
571
+ writing the Statistics by types report
572
+
573
+ * updated man page to 0.21 or greater command line usage (fix debian #582494)
574
+
575
+
576
+
577
+ 2010-05-11 -- 0.21.0
578
+ * command line updated (closes #9774, #9787, #9992, #22962):
579
+
580
+ * all enable-* / disable-* options have been merged into --enable / --disable
581
+
582
+ * BACKWARD INCOMPATIBLE CHANGE: short name of --errors-only becomes -E, -e being
583
+ affected to --enable
584
+
585
+ * pylint --help output much simplified, with --long-help available to get the
586
+ complete one
587
+
588
+ * revisited gui, thanks to students from Toronto university (they are great
589
+ contributors to this release!)
590
+
591
+ * fix #21591: html reporter produces no output if reports is set to 'no'
592
+
593
+ * fix #4581: not Missing docstring (C0111) warning if a method is overridden
594
+
595
+ * fix #4683: Non-ASCII characters count double if utf8 encode
596
+
597
+ * fix #9018: when using defining-attr-method, method order matters
598
+
599
+ * fix #4595: Comma not followed by a space should not occurs on trailing comma
600
+ in list/tuple/dict definition
601
+
602
+ * fix #22585: [Patch] fix man warnings for pyreverse.1 manpage
603
+
604
+ * fix #20067: AttributeError: 'NoneType' object has no attribute 'name' with with
605
+
606
+
607
+
608
+ 2010-03-01 -- 0.20.0
609
+ * fix #19498: fix windows batch file
610
+
611
+ * fix #19339: pylint.el : non existing py-mod-map
612
+ (closes Debian Bug report logs - #475939)
613
+
614
+ * implement #18860, new W0199 message on assert (a, b)
615
+
616
+ * implement #9776, 'W0150' break or return statement in finally block may
617
+ swallow exception.
618
+
619
+ * fix #9263, __init__ and __new__ are checked for unused arguments
620
+
621
+ * fix #20991, class scope definitions ignored in a genexpr
622
+
623
+ * fix #5975, Abstract intermediate class not recognized as such
624
+
625
+ * fix #5977, yield and return statement have their own counters, no more R0911
626
+ (Too many return statements) when a function have many yield stamtements
627
+
628
+ * implement #5564, function / method arguments with leading "_" are ignored in
629
+ arguments / local variables count.
630
+
631
+ * implement #9982, E0711 specific error message when raising NotImplemented
632
+
633
+ * remove --cache-size option
634
+
635
+
636
+
637
+ 2009-12-18 -- 0.19.0
638
+ * implement #18947, #5561: checker for function arguments
639
+
640
+ * include James Lingard string format checker
641
+
642
+ * include simple message (ids) listing by Vincent Férotin (#9791)
643
+
644
+ * --errors-only does not hide fatal error anymore
645
+
646
+ * include james Lingard patches for ++/-- and duplicate key in dicts
647
+
648
+ * include James Lingard patches for function call arguments checker
649
+
650
+ * improved flymake code and doc provided by Derek Harland
651
+
652
+ * refactor and fix the imports checker
653
+
654
+ * fix #18862: E0601 false positive with lambda functions
655
+
656
+ * fix #8764: More than one statement on a single line false positive with
657
+ try/except/finally
658
+
659
+ * fix #9215: false undefined variable error in lambda function
660
+
661
+ * fix for w0108 false positive (Nathaniel)
662
+
663
+ * fix test/fulltest.sh
664
+
665
+ * #5821 added a utility function to run pylint in another process (patch provide by Vincent Férotin)
666
+
667
+
668
+
669
+ 2009-03-25 -- 0.18.0
670
+ * tests ok with python 2.4, 2.5, 2.6. 2.3 not tested
671
+
672
+ * fix #8687, W0613 false positive on inner function
673
+
674
+ * fix #8350, C0322 false positive on multi-line string
675
+
676
+ * fix #8332: set E0501 line no to the first line where non ascii character
677
+ has been found
678
+
679
+ * avoid some E0203 / E0602 false negatives by detecting respectively
680
+ AttributeError / NameError
681
+
682
+ * implements #4037: don't issue W0142 (* or ** magic) when they are barely
683
+ passed from */** arguments
684
+
685
+ * complete #5573: more complete list of special methods, also skip W0613
686
+ for python internal method
687
+
688
+ * don't show information messages by default
689
+
690
+ * integration of Yuen Ho Wong's patches on emacs lisp files
691
+
692
+
693
+
694
+ 2009-03-19 -- 0.17.0
695
+ * semicolon check : move W0601 to W0301
696
+
697
+ * remove rpython : remove all rpython checker, modules and tests
698
+
699
+ * astng 0.18 compatibility: support for _ast module modifies interfaces
700
+
701
+
702
+
703
+ 2009-01-28 -- 0.16.0
704
+ * change [en|dis]able-msg-cat options: only accept message categories
705
+ identified by their first letter (eg IRCWEF) without the need for comma
706
+ as separator
707
+
708
+ * add epylint.bat script to fix Windows installation
709
+
710
+ * setuptools/easy_install support
711
+
712
+ * include a modified version of Maarten ter Huurne patch to avoid W0613
713
+ warning on arguments from overridden method
714
+
715
+ * implement #5575 drop dumb W0704 message) by adding W0704 to ignored
716
+ messages by default
717
+
718
+ * new W0108 message, checking for suspicious lambda (provided by Nathaniel
719
+ Manista)
720
+
721
+ * fix W0631, false positive reported by Paul Hachmann
722
+
723
+ * fix #6951: false positive with W0104
724
+
725
+ * fix #6949
726
+
727
+ * patches by Mads Kiilerich:
728
+
729
+ * implement #4691, make pylint exits with a non zero return
730
+ status if any messages other then Information are issued
731
+
732
+ * fix #3711, #5626 (name resolution bug w/ decorator and class members)
733
+
734
+ * fix #6954
735
+
736
+
737
+
738
+ 2008-10-13 -- 0.15.2
739
+ * fix #5672: W0706 weirdness ( W0706 removed )
740
+
741
+ * fix #5998: documentation points to wrong url for mailing list
742
+
743
+ * fix #6022: no error message on wrong module names
744
+
745
+ * fix #6040: pytest doesn't run test/func_test.py
746
+
747
+
748
+
749
+ 2008-09-15 -- 0.15.1
750
+ * fix #4910: default values are missing in manpage
751
+
752
+ * fix #5991: missing files in 0.15.0 tarball
753
+
754
+ * fix #5993: epylint should work with python 2.3
755
+
756
+
757
+
758
+ 2008-09-10 -- 0.15.0
759
+ * include pyreverse package and class diagram generation
760
+
761
+ * included Stefan Rank's patch to deal with 2.4 relative import
762
+
763
+ * included Robert Kirkpatrick's tutorial and typos fixes
764
+
765
+ * fix bug in reenabling message
766
+
767
+ * fix #2473: invoking pylint on __init__.py (hopefully)
768
+
769
+ * typecheck: acquired-members option has been dropped in favor of the more
770
+ generic generated-members option. If the zope option is set, the behaviour
771
+ is now to add some default values to generated-members.
772
+
773
+ * flymake integration: added bin/epylint and elisp/pylint-flymake.el
774
+
775
+
776
+
777
+ 2008-01-14 -- 0.14.0
778
+ * fix #3733: Messages (dis)appear depending on order of file names
779
+
780
+ * fix #4026: pylint.el should require compile
781
+
782
+ * fix a bug in colorized reporter, spotted by Dave Borowitz
783
+
784
+ * applied patch from Stefan Rank to avoid W0410 false positive when
785
+ multiple "from __future__" import statements
786
+
787
+ * implement #4012: flag back tick as deprecated (new W0333 message)
788
+
789
+ * new ignored-class option on typecheck checker allowing to skip members
790
+ checking based on class name (patch provided by Thomas W Barr)
791
+
792
+
793
+
794
+ 2007-06-07 -- 0.13.2
795
+ * fix disable-checker option so that it won't accidentally enable the
796
+ rpython checker which is disabled by default
797
+
798
+ * added note about the gedit plugin into documentation
799
+
800
+
801
+
802
+ 2007-03-02 -- 0.13.1
803
+ * fix some unexplained 0.13.0 packaging issue which led to a bunch of
804
+ files missing from the distribution
805
+
806
+
807
+
808
+ 2007-02-28 -- 0.13.0
809
+ * new RPython (Restricted Python) checker for PyPy fellow or people
810
+ wanting to get a compiled version of their python program using the
811
+ translator of the PyPy project. For more information about PyPy or
812
+ RPython, visit http://codespeak.net/pypy/
813
+
814
+ * new E0104 and E0105 messages introduced to respectively warn about
815
+ "return" and "yield" outside function or method
816
+
817
+ * new E0106 message when "yield" and "return something" are mixed in a
818
+ function or method
819
+
820
+ * new W0107 message for unnecessary pass statement
821
+
822
+ * new W0614 message to differentiate between unused `import X` and
823
+ unused `from X import *` (#3209, patch submitted by Daniel Drake)
824
+
825
+ * included Daniel Drake's patch to have a different message E1003 instead of
826
+ E1001 when a missing member is found but an inference failure has been
827
+ detected
828
+
829
+ * msvs reporter for Visual Studio line number reporting (#3285)
830
+
831
+ * allow disable-all option inline (#3218, patch submitted by Daniel Drake)
832
+
833
+ * --init-hook option to call arbitrary code necessary to set
834
+ environment (eg sys.path) (#3156)
835
+
836
+ * One more Daniel's patch fixing a command line option parsing
837
+ problem, this'll definitely be the DDrake release :)
838
+
839
+ * fix #3184: crashes on "return" outside function
840
+
841
+ * fix #3205: W0704 false positive
842
+
843
+ * fix #3123: W0212 false positive on static method
844
+
845
+ * fix #2485: W0222 false positive
846
+
847
+ * fix #3259: when a message is explicitly enabled, check the checker
848
+ emitting it is enabled
849
+
850
+
851
+
852
+ 2006-11-23 -- 0.12.2
853
+ * fix #3143: W0233 bug w/ YES objects
854
+
855
+ * fix #3119: Off-by-one error counting lines in a file
856
+
857
+ * fix #3117: ease sys.stdout overriding for reporters
858
+
859
+ * fix #2508: E0601 false positive with lambda
860
+
861
+ * fix #3125: E1101 false positive and a message duplication. Only the last part
862
+ is actually fixed since the initial false positive is due to dynamic setting of
863
+ attributes on the decimal.Context class.
864
+
865
+ * fix #3149: E0101 false positives and introduced E0100 for generator __init__
866
+ methods
867
+
868
+ * fixed some format checker false positives
869
+
870
+
871
+
872
+ 2006-09-25 -- 0.12.1
873
+ * fixed python >= 2.4 format false positive with multiple lines statement
874
+
875
+ * fixed some 2.5 issues
876
+
877
+ * fixed generator expression scope bug (depends on astng 0.16.1)
878
+
879
+ * stop requiring __revision__
880
+
881
+
882
+
883
+ 2006-08-10 -- 0.12.0
884
+ * usability changes:
885
+
886
+ - parseable, html and color options are now handled by a single
887
+ output-format option
888
+ - enable-<checkerid> and disable-all options are now handled by
889
+ two (exclusive) enable-checker and disable-checker options
890
+ taking a comma separated list of checker names as value
891
+ - renamed debug-mode option to errors-only
892
+
893
+ * started a reference user manual
894
+
895
+ * new W0212 message for access to protected member from client code
896
+ (close #14081)
897
+
898
+ * new W0105 and W0106 messages extracted from W0104 (statement seems
899
+ to have no effect) respectively when the statement is actually string
900
+ (that's sometimes used instead of comments for documentation) or an
901
+ empty statement generated by a useless semicolon
902
+
903
+ * reclassified W0302 to C0302
904
+
905
+ * fix so that global messages are not anymore connected to the last
906
+ analyzed module (close #10106)
907
+
908
+ * fix some bugs related to local disabling of messages
909
+
910
+ * fix cr/lf pb when generating the rc file on windows platforms
911
+
912
+
913
+
914
+ 2006-04-19 -- 0.11.0
915
+ * fix crash caused by the exceptions checker in some case
916
+
917
+ * fix some E1101 false positive with abstract method or classes defining
918
+ __getattr__
919
+
920
+ * dirty fix to avoid "_socketobject" has not "connect" member. The actual
921
+ problem is that astng isn't able to understand the code used to create
922
+ socket.socket object with exec
923
+
924
+ * added an option in the similarity checker to ignore docstrings, enabled
925
+ by default
926
+
927
+ * included patch from Benjamin Niemann to allow block level
928
+ enabling/disabling of messages
929
+
930
+
931
+
932
+ 2006-03-06 -- 0.10.0
933
+ * WARNING, this release include some configuration changes (see below),
934
+ so you may have to check and update your own configuration file(s) if
935
+ you use one
936
+
937
+ * this release require the 0.15 version of astng or superior (it will save
938
+ you a lot of pylint crashes...)
939
+
940
+ * W0705 has been reclassified to E0701, and is now detecting more
941
+ inheriting problem, and a false positive when empty except clause is
942
+ following an Exception catch has been fixed (close #10422)
943
+
944
+ * E0212 and E0214 (metaclass/class method should have mcs/cls as first
945
+ argument have been reclassified to C0202 and C0203 since this not as
946
+ well established as "self" for instance method (E0213)
947
+
948
+ * W0224 has been reclassified into F0220 (failed to resolve interfaces
949
+ implemented by a class)
950
+
951
+ * a new typecheck checker, introducing the following checks:
952
+
953
+ - E1101, access to unexistent member (implements #10430), remove
954
+ the need of E0201 and so some options has been moved from the
955
+ classes checker to this one
956
+ - E1102, calling a non callable object
957
+ - E1111 and W1111 when an assignment is done on a function call but the
958
+ inferred function returns None (implements #10431)
959
+
960
+ * change in the base checker:
961
+
962
+ - checks module level and instance attribute names (new const-rgx
963
+ and attr-rgx configuration option) (implements #10209 and
964
+ #10440)
965
+ - list comprehension and generator expression variables have their
966
+ own regular expression (the inlinevar-rgx option) (implements
967
+ #9146)
968
+ - the C0101 check with its min-name-length option has
969
+ been removed (this can be specified in the regxp after all...)
970
+ - W0103 and W0121 are now handled by the variables checker
971
+ (W0103 is now W0603 and W0604 has been splitted into different messages)
972
+ - W0131 and W0132 messages have been reclassified to C0111 and
973
+ C0112 respectively
974
+ - new W0104 message on statement without effect
975
+
976
+ * regexp support for dummy-variables (dummy-variables-rgx option
977
+ replace dummy-variables) (implements #10027)
978
+
979
+ * better global statement handling, see W0602, W0603, W0604 messages
980
+ (implements #10344 and #10236)
981
+
982
+ * --debug-mode option, disabling all checkers without error message
983
+ and filtering others to only display error
984
+
985
+ * fixed some R0201 (method could be a function) false positive
986
+
987
+
988
+
989
+ 2006-01-10 -- 0.9.0
990
+ * a lot of updates to follow astng 0.14 API changes, so install
991
+ logilab-astng 0.14 or greater before using this version of pylint
992
+
993
+ * checker number 10 ! newstyle will search for problems regarding old
994
+ style / new style classes usage problems (rely on astng 0.14 new
995
+ style detection feature)
996
+
997
+ * new 'load-plugins' options to load additional pylint plugins (usable
998
+ from the command line or from a configuration file) (implements
999
+ #10031)
1000
+
1001
+ * check if a "pylintrc" file exists in the current working directory
1002
+ before using the one specified in the PYLINTRC environment variable
1003
+ or the default ~/.pylintrc or /etc/pylintrc
1004
+
1005
+ * fixed W0706 (Identifier used to raise an exception is assigned...)
1006
+ false positive and reraising a catched exception instance
1007
+
1008
+ * fixed E0611 (No name get in module blabla) false positive when accessing
1009
+ to a class'__dict__
1010
+
1011
+ * fixed some E0203 ("access to member before its definition") false
1012
+ positive
1013
+
1014
+ * fixed E0214 ("metaclass method first argument should be mcs) false
1015
+ positive with staticmethod used on a metaclass
1016
+
1017
+ * fixed packaging which was missing the test/regrtest_data directory
1018
+
1019
+ * W0212 (method could be a function) has been reclassified in the
1020
+ REFACTOR category as R0201, and is no more considerer when a method
1021
+ overrides an abstract method from an ancestor class
1022
+
1023
+ * include module name in W0401 (wildcard import), as suggested by
1024
+ Amaury
1025
+
1026
+ * when using the '--parseable', path are written relative to the
1027
+ current working directory if in a sub-directory of it (#9789)
1028
+
1029
+ * 'pylint --version' shows logilab-astng and logilab-common versions
1030
+
1031
+ * fixed pylint.el to handle space in file names
1032
+
1033
+ * misc lint style fixes
1034
+
1035
+
1036
+
1037
+ 2005-11-07 -- 0.8.1
1038
+ * fix "deprecated module" false positive when the code imports a
1039
+ module whose name starts with a deprecated module's name (close
1040
+ #10061)
1041
+
1042
+ * fix "module has no name __dict__" false positive (close #10039)
1043
+
1044
+ * fix "access to undefined variable __path__" false positive (close
1045
+ #10065)
1046
+
1047
+ * fix "explicit return in __init__" false positive when return is
1048
+ actually in an inner function (close #10075)
1049
+
1050
+
1051
+
1052
+ 2005-10-21 -- 0.8.0
1053
+ * check names imported from a module exists in the module (E0611),
1054
+ patch contributed by Amaury Forgeot d'Arc
1055
+
1056
+ * print a warning (W0212) for methods that could be a function
1057
+ (implements #9100)
1058
+
1059
+ * new --defining-attr-methods option on classes checker
1060
+
1061
+ * new --acquired-members option on the classes checker, used when
1062
+ --zope=yes to avoid false positive on acquired attributes (listed
1063
+ using this new option) (close #8616)
1064
+
1065
+ * generate one E0602 for each use of an undefined variable
1066
+ (previously, only one for the first use but not for the following)
1067
+ (implements #1000)
1068
+
1069
+ * make profile option saveable
1070
+
1071
+ * fix Windows .bat file, patch contributed by Amaury Forgeot d'Arc
1072
+
1073
+ * fix one more false positive for E0601 (access before definition)
1074
+ with for loop such as "for i in range(10): print i" (test
1075
+ func_noerror_defined_and_used_on_same_line)
1076
+
1077
+ * fix false positive for E0201 (undefined member) when accessing to
1078
+ __name__ on a class object
1079
+
1080
+ * fix astng checkers traversal order
1081
+
1082
+ * fix bug in format checker when parsing a file from a platform
1083
+ using different new line characters (close #9239)
1084
+
1085
+ * fix encoding detection regexp
1086
+
1087
+ * fix --rcfile handling (support for --rcfile=file, close #9590)
1088
+
1089
+
1090
+
1091
+ 2005-05-27 -- 0.7.0
1092
+ * WARNING: pylint is no longer a logilab subpackage. Users may have to
1093
+ manually remove the old logilab/pylint directory.
1094
+
1095
+ * introduce a new --additional-builtins option to handle user defined
1096
+ builtins
1097
+
1098
+ * --reports option has now -r as short alias, and -i for --include-ids
1099
+
1100
+ * fix a bug in the variables checker which may causing some false
1101
+ positives when variables are defined and used within the same
1102
+ statement (test func_noerror_defined_and_used_on_same_line)
1103
+
1104
+ * this time, real fix of the "disable-msg in the config file" problem,
1105
+ test added to unittest_lint
1106
+
1107
+ * fix bug with --list-messages and python -OO
1108
+
1109
+ * fix possible false positive for W0201
1110
+
1111
+
1112
+
1113
+ 2005-04-14 -- 0.6.4
1114
+ * allow to parse files without extension when a path is given on the
1115
+ command line (test noext)
1116
+
1117
+ * don't fail if we are unable to read an inline option (e.g. inside a
1118
+ module), just produce an information message (test func_i0010)
1119
+
1120
+ * new message E0103 for break or continue outside loop (close #8883,
1121
+ test func_continue_not_in_loop)
1122
+
1123
+ * fix bug in the variables checker, causing non detection of some
1124
+ actual name error (close #8884, test
1125
+ func_nameerror_on_string_substitution)
1126
+
1127
+ * fix bug in the classes checker which was making pylint crash if
1128
+ "object" is assigned in a class inheriting from it (test
1129
+ func_noerror_object_as_class_attribute)
1130
+
1131
+ * fix problem with the similar checker when related options are
1132
+ defined in a configuration file
1133
+
1134
+ * new --generate-man option to generate pylint's man page (require the
1135
+ latest logilab.common (>= 0.9.3)
1136
+
1137
+ * packaged (generated...) man page
1138
+
1139
+
1140
+
1141
+ 2005-02-24 -- 0.6.3
1142
+ * fix scope problem which may cause false positive and true negative
1143
+ on E0602
1144
+
1145
+ * fix problem with some options such as disable-msg causing error when
1146
+ they are coming from the configuration file
1147
+
1148
+
1149
+
1150
+ 2005-02-16 -- 0.6.2
1151
+ * fix false positive on E0201 ("access to undefined member") with
1152
+ metaclasses
1153
+
1154
+ * fix false positive on E0203 ("access to member before its
1155
+ definition") when attributes are defined in a parent class
1156
+
1157
+ * fix false positive on W0706 ("identifier used to raise an exception
1158
+ assigned to...")
1159
+
1160
+ * fix interpretation of "\t" as value for the indent-string
1161
+ configuration variable
1162
+
1163
+ * fix --rcfile so that --rcfile=pylintrc (only --rcfile pylintrc was
1164
+ working in earlier release)
1165
+
1166
+ * new raw checker example in the examples/ directory
1167
+
1168
+
1169
+
1170
+ 2005-02-04 -- 0.6.1
1171
+ * new --rcfile option to specify the configuration file without the
1172
+ PYLINTRC environment variable
1173
+
1174
+ * added an example module for a custom pylint checker (see the
1175
+ example/ directory)
1176
+
1177
+ * some fixes to handle fixes in common 0.9.1 (should however still working
1178
+ with common 0.9.0, even if upgrade is recommended)
1179
+
1180
+
1181
+
1182
+ 2005-01-20 -- 0.6.0
1183
+ * refix pylint emacs mode
1184
+
1185
+ * no more traceback when just typing "pylint"
1186
+
1187
+ * fix a bug which may cause crashes on resolving parent classes
1188
+
1189
+ * fix problems with the format checker: don't chock on files
1190
+ containing multiple CR, avoid C0322, C0323, C0324 false positives
1191
+ with triple quoted string with quote inside
1192
+
1193
+ * correctly detect access to member defined latter in __init__ method
1194
+
1195
+ * now depends on common 0.8.1 to fix problem with interface resolution
1196
+ (close #8606)
1197
+
1198
+ * new --list-msgs option describing available checkers and their
1199
+ messages
1200
+
1201
+ * added windows specific documentation to the README file, contributed
1202
+ by Brian van den Broek
1203
+
1204
+ * updated doc/features.txt (actually this file is now generated using
1205
+ the --list-msgs option), more entries into the FAQ
1206
+
1207
+ * improved tests coverage
1208
+
1209
+
1210
+
1211
+ 2004-10-19 -- 0.5.0
1212
+ * avoid to import analyzed modules !
1213
+
1214
+ * new Refactor and Convention message categories. Some Warnings have been
1215
+ remaped into those new categories
1216
+
1217
+ * added "similar", a tool to find copied and pasted lines of code,
1218
+ both using a specific command line tool and integrated as a
1219
+ pylint's checker
1220
+
1221
+ * imports checker may report import dependencies as a dot graph
1222
+
1223
+ * new checker regrouping most Refactor detection (with some new metrics)
1224
+
1225
+ * more command line options storable in the configuration file
1226
+
1227
+ * fix bug with total / undocumented number of methods
1228
+
1229
+
1230
+
1231
+ 2004-07-08 -- 0.4.2
1232
+ * fix pylint emacs mode
1233
+
1234
+ * fix classes checkers to handler twisted interfaces
1235
+
1236
+
1237
+
1238
+ 2004-05-14 -- 0.4.1
1239
+ * fix the setup.py script to allow bdist_winst (well, the generated
1240
+ installer has not been tested...) with the necessary
1241
+ logilab/__init__.py file
1242
+
1243
+ * fix file naming convention as suggested by Andreas Amoroso
1244
+
1245
+ * fix stupid crash bug with bad method names
1246
+
1247
+
1248
+
1249
+ 2004-05-10 -- 0.4.0
1250
+ * fix file path with --parsable
1251
+
1252
+ * --parsable option has been renamed to --parseable
1253
+
1254
+ * added patch from Andreas Amoroso to output message to files instead
1255
+ of standard output
1256
+
1257
+ * added Run to the list of correct variable names
1258
+
1259
+ * fix variable names regexp and checking of local classes names
1260
+
1261
+ * some basic handling of metaclasses
1262
+
1263
+ * no-docstring-rgx apply now on classes too
1264
+
1265
+ * new option to specify a different regexp for methods than for
1266
+ functions
1267
+
1268
+ * do not display the evaluation report when no statements has been
1269
+ analysed
1270
+
1271
+ * fixed crash with a class nested in a method
1272
+
1273
+ * fixed format checker to deals with triple quoted string and
1274
+ lines with code and comment mixed
1275
+
1276
+ * use logilab.common.ureports to layout reports
1277
+
1278
+
1279
+
1280
+ 2004-02-17 -- 0.3.3
1281
+ * added a parsable text output, used when the --parsable option is
1282
+ provided
1283
+
1284
+ * added an emacs mode using this output, available in the distrib's
1285
+ elisp directory
1286
+
1287
+ * fixed some typos in messages
1288
+
1289
+ * change include-ids options to yn, and allow it to be in the
1290
+ configuration file
1291
+
1292
+ * do not chock on corrupted stats files
1293
+
1294
+ * fixed bug in the format checker which may stop pylint execution
1295
+
1296
+ * provide scripts for unix and windows to wrap the minimal pylint tk
1297
+ gui
1298
+
1299
+
1300
+
1301
+ 2003-12-23 -- 0.3.2
1302
+ * html-escape messages in the HTML reporter (bug reported by Juergen
1303
+ Hermann)
1304
+
1305
+ * added "TODO" to the list of default note tags
1306
+
1307
+ * added "rexec" to the list of default deprecated modules
1308
+
1309
+ * fixed typos in some messages
1310
+
1311
+
1312
+
1313
+ 2003-12-05 -- 0.3.1
1314
+ * bug fix in format and classes checkers
1315
+
1316
+ * remove print statement from imports checkers
1317
+
1318
+ * provide a simple tk gui, essentially useful for windows users
1319
+
1320
+
1321
+
1322
+ 2003-11-20 -- 0.3.0
1323
+ * new exceptions checker, checking for string exception and empty
1324
+ except clauses.
1325
+
1326
+ * imports checker checks for reimport of modules
1327
+
1328
+ * classes checker checks for calls to ancestor's __init__ and abstract
1329
+ method not overridden. It doesn't complain anymore for unused import in
1330
+ __init__ files, and provides a new option ignore-interface-methods,
1331
+ useful when you're using zope Interface implementation in your project
1332
+
1333
+ * base checker checks for black listed builtins call (controled by the
1334
+ bad-functions option) and for use of * and **
1335
+
1336
+ * format checker checks for use of <> and "l" as long int marker
1337
+
1338
+ * major internal API changes
1339
+
1340
+ * use the rewrite of astng, based on compiler.ast
1341
+
1342
+ * added unique id for messages, as suggested by Wolfgang Grafen
1343
+
1344
+ * added unique id for reports
1345
+
1346
+ * can take multiple modules or files as argument
1347
+
1348
+ * new options command line options : --disable-msg, --enable-msg,
1349
+ --help-msg, --include-ids, --reports, --disable-report, --cache-size
1350
+
1351
+ * --version shows the version of the python interpreter
1352
+
1353
+ * removed some options which are now replaced by [en|dis]able-msg, or
1354
+ disable-report
1355
+
1356
+ * read disable-msg and enable-msg options in source files (should be
1357
+ in comments on the top of the file, in the form
1358
+ "# pylint: disable-msg=W0402"
1359
+
1360
+ * new message for modules importing themselves instead of the "cyclic
1361
+ import" message
1362
+
1363
+ * fix bug with relative and cyclic imports
1364
+
1365
+ * fix bug in imports checker (cycle was not always detected)
1366
+
1367
+ * still fixes in format checker : don't check comment and docstring,
1368
+ check first line after an indent
1369
+
1370
+ * black and white list now apply to all identifiers, not only
1371
+ variables, so changed the configuration option from
1372
+ (good|bad)-variable-names to (good|bad)-names
1373
+
1374
+ * added string, rexec and Bastion to the default list of deprecated
1375
+ modules
1376
+
1377
+ * do not print redefinition warning for function/class/method defined
1378
+ in mutually exclusive branches
1379
+
1380
+
1381
+
1382
+ 2003-10-10 -- 0.2.1
1383
+ * added some documentation, fixed some typos
1384
+
1385
+ * set environment variable PYLINT_IMPORT to 1 during pylint execution.
1386
+
1387
+ * check that variables "imported" using the global statement exist
1388
+
1389
+ * indentation problems are now warning instead of errors
1390
+
1391
+ * fix checkers.initialize to try to load all files with a known python
1392
+ extension (patch from wrobell)
1393
+
1394
+ * fix a bunch of messages
1395
+
1396
+ * fix sample configuration file
1397
+
1398
+ * fix the bad-construction option
1399
+
1400
+ * fix encoding checker
1401
+
1402
+ * fix format checker
1403
+
1404
+
1405
+
1406
+ 2003-09-12 -- 0.2.0
1407
+ * new source encoding / FIXME checker (pep 263)
1408
+
1409
+ * new --zope option which trigger Zope import. Useful to check Zope
1410
+ products code.
1411
+
1412
+ * new --comment option which enable the evaluation note comment
1413
+ (disabled by default).
1414
+
1415
+ * a ton of bug fixes
1416
+
1417
+ * easy functional test infrastructure
1418
+
1419
+
1420
+
1421
+ 2003-06-18 -- 0.1.2
1422
+ * bug fix release
1423
+
1424
+ * remove dependency to pyreverse
1425
+
1426
+
1427
+
1428
+ 2003-06-01 -- 0.1.1
1429
+ * much more functionalities !
1430
+
1431
+
1432
+
1433
+ 2003-05-19 -- 0.1
1434
+ * initial release
1435
+
1436
+
1437
+