code: def include(self, filename):
          
          if filename != STDIN and filename in [x[0] for x in self.filestack]:  # Already included?
              self.warning(' Recursive inclusion')
  
          self.filestack.append([filename, 1, self.lex, self.input_data])
          self.lex = lex.lex(object=self)
          result = self.put_current_line()  # First #line start with \n (EOL)
  
          try:
              if filename == STDIN:
                  self.input_data = sys.stdin.read()
              else:
                  self.input_data = api.utils.read_txt_file(filename)
  
              if len(self.input_data) and self.input_data[-1] != EOL:
                  self.input_data += EOL
          except IOError:
              self.input_data = EOL
  
          self.lex.input(self.input_data)
          return result
docs: Changes FILENAME and line count