diff --git a/src/workgroups-variables.el b/src/workgroups-variables.el index 046277127c68edf3e5e5563c84d833d97d3df43a..a194a8adf1a0dc54706afede7041d9179d0e8f08 100644 --- a/src/workgroups-variables.el +++ b/src/workgroups-variables.el @@ -2,6 +2,8 @@ ;;; Commentary: ;;; Code: +(require 'dash) + (defconst wg-version "1.2.0" "Current version of Workgroups.") ;;; customization @@ -386,17 +388,14 @@ happen.") "Redefinition of `buffer-list'. Pass FRAME to it. Remove file and dired buffers that are not associated with workgroup." - (let ((lst (list)) - (res (wg-buffer-list-emacs frame)) + (let ((res (wg-buffer-list-emacs frame)) ;;(wg-buffers (wg-workgroup-associated-buffers (wg-current-workgroup))) (wg-buf-uids (wg-workgroup-associated-buf-uids (wg-current-workgroup)))) - - (dolist (b res res) - (when (and (or (buffer-file-name b) - (eq (buffer-local-value 'major-mode b) 'dired-mode)) - ;;(not (member b wg-buffers)) - (not (member (wg-buffer-uid-or-add b) wg-buf-uids))) - (delq b res))))) + (--remove (and (or (buffer-file-name it) + (eq (buffer-local-value 'major-mode it) 'dired-mode)) + ;;(not (member b wg-buffers)) + (not (member (wg-buffer-uid-or-add it) wg-buf-uids))) + res))) (defconst wg-buffer-list-function (symbol-function 'buffer-list)) (fset 'buffer-list wg-buffer-list-original)