Changeset - bee9a5ef4f9e
[Not reviewed]
0 1 0
Sergey Pashinin - 12 years ago 2013-07-07 18:16:48
sergey@pashinin.com
Rename remove-if to wg-remove-if, remove-if-not to wg-remove-if-not
1 file changed with 8 insertions and 8 deletions:
0 comments (0 inline, 0 general)
src/workgroups-functions.el
Show inline comments
 
@@ -889,25 +889,25 @@ binding in WORKGROUP, resolve VARIABLE with `wg-session-local-value'."
 
  "Return a new list containing all of WORKGROUP's associated buf uids."
 
  (append (wg-workgroup-strong-buf-uids workgroup)
 
          (wg-workgroup-weak-buf-uids workgroup)))
 

	
 
(defun wg-workgroup-associated-bufs (workgroup)
 
  "Return a new list containing all of WORKGROUP's associated bufs."
 
  (delete nil (mapcar 'wg-find-buf-by-uid
 
                      (wg-workgroup-associated-buf-uids workgroup))))
 

	
 
(defun wg-workgroup-associated-buffers (workgroup &optional initial names)
 
  "Return a list of WORKGROUP's live associated buffers."
 
  (let ((assoc-bufs (wg-workgroup-associated-bufs workgroup)))
 
    (remove-if-not
 
    (wg-remove-if-not
 
     (lambda (buffer) (wg-find-buffer-in-buf-list buffer assoc-bufs))
 
     (or initial (buffer-list)))))
 

	
 
(defun wg-workgroup-bufobj-association-type (workgroup bufobj)
 
  "Return BUFOBJ's association-type in WORKGROUP, or nil if unassociated."
 
  (let ((uid (wg-bufobj-uid-or-add bufobj)))
 
    (or (and (member uid (wg-workgroup-strong-buf-uids workgroup)) 'strong)
 
        (and (member uid (wg-workgroup-weak-buf-uids workgroup)) 'weak))))
 

	
 
(defun wg-workgroup-strongly-associate-bufobj (workgroup bufobj)
 
  "Strongly associate BUFOBJ with WORKGROUP."
 
  (let* ((uid (wg-bufobj-uid-or-add bufobj))
 
@@ -1028,42 +1028,42 @@ INITIAL non-nil should be an initial buffer-list to filter.  It defaults to
 

	
 
(defun wg-buffer-list-filter-all (workgroup initial)
 
  "Return all buffers in INITIAL."
 
  initial)
 

	
 
(defun wg-buffer-list-filter-associated (workgroup initial)
 
  "Return only those buffers associated with WORKGROUP."
 
  (wg-workgroup-associated-buffers workgroup initial))
 

	
 
(defun wg-buffer-list-filter-unassociated (workgroup initial)
 
  "Return only those buffer unassociated with WORKGROUP."
 
  (let ((buffers (wg-workgroup-associated-buffers workgroup initial)))
 
    (remove-if (lambda (buffer) (member buffer buffers)) initial)))
 
    (wg-remove-if (lambda (buffer) (member buffer buffers)) initial)))
 

	
 

	
 
;; buffer-list filtration utils
 

	
 
(defun wg-filter-buffer-list-by-regexp (regexp buffer-list)
 
  "Return only those buffers in BUFFER-LIST with names matching REGEXP."
 
  (remove-if-not (lambda (bname) (string-match regexp bname))
 
  (wg-remove-if-not (lambda (bname) (string-match regexp bname))
 
                 buffer-list :key 'buffer-name))
 

	
 
(defun wg-filter-buffer-list-by-root-dir (root-dir buffer-list)
 
  "Return only those buffers in BUFFER-LIST visiting files undo ROOT-DIR."
 
  (remove-if-not (lambda (f) (when f (wg-file-under-root-path-p root-dir f)))
 
  (wg-remove-if-not (lambda (f) (when f (wg-file-under-root-path-p root-dir f)))
 
                 buffer-list :key 'buffer-file-name))
 

	
 
(defun wg-filter-buffer-list-by-major-mode (major-mode buffer-list)
 
  "Return only those buffers in BUFFER-LIST in major-mode MAJOR-MODE."
 
  (remove-if-not (lambda (mm) (eq mm major-mode))
 
  (wg-remove-if-not (lambda (mm) (eq mm major-mode))
 
                 buffer-list :key 'wg-buffer-major-mode))
 

	
 

	
 
;; Example custom buffer-list-filters
 

	
 
(defun wg-buffer-list-filter-irc (workgroup buffer-list)
 
  "Return only those buffers in BUFFER-LIST with names starting in \"#\"."
 
  (wg-filter-buffer-list-by-regexp "^#" buffer-list))
 

	
 
(defun wg-buffer-list-filter-home-dir (workgroup buffer-list)
 
  "Return only those buffers in BUFFER-LIST visiting files under ~/."
 
  (wg-filter-buffer-list-by-root-dir "~/" buffer-list))
 
@@ -1320,27 +1320,27 @@ BUFFER nil defaults to `current-buffer'."
 
      (wg-asetf (wg-buf-list) (cons new-buf (remove old-buf it))))))
 

	
 
(defun wg-update-buf-list (&optional buffer-list)
 
  "Update all bufs in `wg-buf-list' corresponding to buffers in BUFFER-LIST."
 
  (mapc 'wg-update-buffer-in-buf-list (or buffer-list (buffer-list))))
 

	
 

	
 
;; gc buf uids
 

	
 
(defun wg-workgroup-gc-buf-uids (workgroup)
 
  "Remove buf uids from WORKGROUP that have no referent in `wg-buf-list'."
 
  (wg-asetf (wg-workgroup-strong-buf-uids workgroup)
 
            (remove-if-not 'wg-find-buf-by-uid it)
 
            (wg-remove-if-not 'wg-find-buf-by-uid it)
 
            (wg-workgroup-weak-buf-uids workgroup)
 
            (remove-if-not 'wg-find-buf-by-uid it)))
 
            (wg-remove-if-not 'wg-find-buf-by-uid it)))
 

	
 
(defun wg-gc-buf-uids ()
 
  "Remove from all workgroups those buf uids that have no referent in `wg-buf-list'."
 
  (mapc 'wg-workgroup-gc-buf-uids (wg-workgroup-list)))
 

	
 

	
 
;; gc bufs
 

	
 
(defun wg-wtree-buf-uids (wtree)
 
  "Return a new list of the buf uids of all wins in wtree."
 
  (wg-flatten-wtree wtree 'wg-win-buf-uid))
 

	
 
@@ -1389,25 +1389,25 @@ BUFFER-LIST nil defaults to `buffer-list'."
 
  (delq nil (mapcar 'wg-buffer-uid (or buffer-list (buffer-list)))))
 

	
 
(defun wg-all-buf-uids (&optional session buffer-list)
 
  "Return the union of `wg-session-all-buf-uids' and `wg-buffer-list-all-uids'."
 
  (union (wg-session-all-buf-uids session)
 
         (wg-buffer-list-all-uids buffer-list)
 
         :test 'string=))
 

	
 
(defun wg-gc-bufs ()
 
  "gc bufs from `wg-buf-list' that are no longer needed."
 
  (let ((all-buf-uids (wg-all-buf-uids)))
 
    (wg-asetf (wg-buf-list)
 
              (remove-if-not (lambda (uid) (member uid all-buf-uids)) it
 
              (wg-remove-if-not (lambda (uid) (member uid all-buf-uids)) it
 
                             :key 'wg-buf-uid))))
 

	
 

	
 
;; FIXME: Duplicate buf names probably shouldn't be allowed.  An unrelated error
 
;; causes two *scratch* buffers to be present, triggering the "uids don't match"
 
;; error.  Write something to remove bufs with duplicate names.
 

	
 

	
 
(defun wg-perform-session-maintenance ()
 
  "Perform various maintenance operations on the current Workgroups session."
 
  (wg-update-current-workgroup-working-wconfig)
 
  (wg-update-all-base-wconfigs)
0 comments (0 inline, 0 general)