Stefan Monnier writes: >> (defun project--buffer-list (pr) >> "Return the list of all buffers in project PR." >> - (let (bufs) >> + (let ((remote-project-p (file-remote-p (project-root pr))) >> + bufs) >> (dolist (buf (buffer-list)) >> - (when (equal pr >> - (with-current-buffer buf >> - (project-current))) >> + (when (and (let ((remote (file-remote-p (buffer-local-value 'default-directory buf)))) >> + (if remote-project-p remote (not remote))) >> + (equal pr >> + (with-current-buffer buf >> + (project-current)))) >> (push buf bufs))) >> (nreverse bufs))) > > How 'bout using `file-in-directory-p`? I didn't know about that function! Just tried it out and it seems that the patch below is even faster, as project-current does not have to be invoked for every buffer, remote or not. > Stefan > -- Philip K.