exercism-analysis 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+