whole_func_string: function nextLine() {
              var at;
              if (line >= lines.length) {
                  return false;
              }
              character = 1;
              s = lines[line];
              line += 1;
              at = s.search(/ \t/);
              if (at >= 0) {
                  warningAt("Mixed spaces and tabs.", line, at + 1);
              }
              s = s.replace(/\t/g, tab);
              at = s.search(cx);
              if (at >= 0) {
                  warningAt("Unsafe character.", line, at);
              }
              if (option.maxlen && option.maxlen < s.length) {
                  warningAt("Line too long.", line, s.length);
              }
              return true;
          }
func_code_string: function nextLine() {
              var at;
              if (line >= lines.length) {
                  return false;
              }
              character = 1;
              s = lines[line];
              line += 1;
              at = s.search(/ \t/);
              if (at >= 0) {
                  warningAt("Mixed spaces and tabs.", line, at + 1);
              }
              s = s.replace(/\t/g, tab);
              at = s.search(cx);
              if (at >= 0) {
                  warningAt("Unsafe character.", line, at);
              }
              if (option.maxlen && option.maxlen < s.length) {
                  warningAt("Line too long.", line, s.length);
              }
              return true;
          }
func_documentation_string: Private lex methods