This seems like a bug in jshint. It can be activated using this input:
var main = function (x) {
}
jshint will report the following, even though W098 is disabled.
test.js: line 2, col 9, 'main' is defined but never used. (W098)
test.js: line 2, col 23, 'x' is defined but never used. (W098)
I dug up the jshint source a bit, but could not find the exact source of the error. This seems to be due to the way the doFunction in src / jshint.js restores the ignore array after processing the function.
(1140).