docs: def remove(self, paths, **params):
          """
          Delete paths from the watched list.
      """
          log = self._getparam('log', self._discard, **params)
          commit = self._getparam('commit', True, **params)
  
          if type(paths) is not list:
              paths = [paths]
  
          rebuild = False
          for path in paths:
              if path in self.paths_pending:
                  del self.paths_pending[path]
              if path in self.paths:
                  del self.paths[path]
                  rebuild = True
              else:
                  log.error("Attempt to remove %r which was never added", path)
                  raise Exception("Path %r has never been added" % path)
          if commit and rebuild:
              self.commit(**params)