Page MenuHomePhabricator

D13991.id33814.diff
No OneTemporary

D13991.id33814.diff

diff --git a/src/lint/linter/ArcanistPyLintLinter.php b/src/lint/linter/ArcanistPyLintLinter.php
--- a/src/lint/linter/ArcanistPyLintLinter.php
+++ b/src/lint/linter/ArcanistPyLintLinter.php
@@ -130,10 +130,15 @@
continue;
}
+ // NOTE: PyLint sometimes returns -1 as the character offset for a
+ // message. If it does, treat it as 0. See T9257.
+ $char = (int)$matches[1];
+ $char = max(0, $char);
+
$message = id(new ArcanistLintMessage())
->setPath($path)
->setLine($matches[0])
- ->setChar($matches[1])
+ ->setChar($char)
->setCode($matches[2])
->setSeverity($this->getLintMessageSeverity($matches[2]))
->setName(ucwords(str_replace('-', ' ', $matches[3])))
diff --git a/src/lint/linter/__tests__/pylint/negativechar.lint-test b/src/lint/linter/__tests__/pylint/negativechar.lint-test
new file mode 100644
--- /dev/null
+++ b/src/lint/linter/__tests__/pylint/negativechar.lint-test
@@ -0,0 +1,6 @@
+"""Docstring"""
+
+"""
+Useless string """
+~~~~~~~~~~
+warning:4:0 See T9257.
diff --git a/src/lint/linter/__tests__/xml/languages-7.lint-test b/src/lint/linter/__tests__/xml/languages-7.lint-test
deleted file mode 100644
--- a/src/lint/linter/__tests__/xml/languages-7.lint-test
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<languages>
- <lang>
-</languages>
-~~~~~~~~~~
-error:4:7
-error:5:1

File Metadata

Mime Type
text/plain
Expires
Fri, Mar 14, 12:50 PM (1 w, 12 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7657438
Default Alt Text
D13991.id33814.diff (1 KB)

Event Timeline