Function: filesets-remove-buffer

filesets-remove-buffer is an interactive and byte-compiled function defined in filesets.el.gz.

Signature

(filesets-remove-buffer &optional NAME BUFFER)

Documentation

Remove BUFFER (or current buffer) from the fileset called NAME.

If no fileset name is provided, prompt for NAME.

View in manual

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/filesets.el.gz
(defun filesets-remove-buffer (&optional name buffer)
  "Remove BUFFER (or current buffer) from the fileset called NAME.
If no fileset name is provided, prompt for NAME."
  (interactive)
  (let* ((buffer (or buffer
		     (current-buffer)))
	 (name   (or name
		     (completing-read
		      (format-message "Remove `%s' from fileset: " buffer)
		      filesets-data nil t)))
		 (entry (assoc name filesets-data)))
    (if entry
	(let* ((files  (filesets-entry-get-files entry))
	       (this   (buffer-file-name buffer))
	       (inlist (cl-member this files
				  :test #'filesets-files-equalp)))
	  ;;(message "%s %s %s" files this inlist)
	  (if (and files this inlist)
	      (let ((new (list (cons ':files (delete (car inlist) files)))))
		(setcdr entry new)
		(filesets-set-config name 'filesets-data filesets-data))
	    (message "Filesets: Can't remove `%s' from fileset `%s'"
		     this
		     name))))))