Function: treemacs--stop-watching--inliner

treemacs--stop-watching--inliner is a function defined in treemacs-filewatch-mode.el.

Signature

(treemacs--stop-watching--inliner INLINE--FORM PATH &optional ALL)

Source Code

;; Defined in ~/.emacs.d/elpa/treemacs-20251226.1307/treemacs-filewatch-mode.el
;; Closure converted to defun by helpful.
(defun treemacs--stop-watching--inliner
    (inline--form path &optional all)
  (ignore inline--form)
  (catch 'inline--just-use
    (let*
	((exp path)
	 (path
	  (if
	      (macroexp-copyable-p exp)
	      exp
	    (make-symbol "path")))
	 (body
	  (let*
	      ((exp all)
	       (all
		(if
		    (macroexp-copyable-p exp)
		    exp
		  (make-symbol "all")))
	       (body
		(list 'let
		      (list 'to-remove)
		      (list 'treemacs--maphash 'treemacs--filewatch-index
			    (list 'watched-path 'watch-info)
			    (list 'when
				  (list 'treemacs-is-path 'watched-path :in path)
				  (list 'let
					(list
					 (list 'watching-buffers
					       (list 'car 'watch-info))
					 (list 'watch-descr
					       (list 'cdr 'watch-info)))
					(list 'if all
					      (list 'progn
						    (list 'file-notify-rm-watch 'watch-descr)
						    (list 'ht-remove! 'treemacs--collapsed-filewatch-index 'watched-path)
						    (list 'push 'watched-path 'to-remove))
					      (list 'when
						    (list 'memq
							  (list 'current-buffer)
							  'watching-buffers)
						    (list 'if
							  (list 'cdr 'watching-buffers)
							  (list 'setcar 'watch-info
								(list 'delq
								      (list 'current-buffer)
								      'watching-buffers))
							  (list 'file-notify-rm-watch 'watch-descr)
							  (list 'ht-remove! 'treemacs--collapsed-filewatch-index 'watched-path)
							  (list 'push 'watched-path 'to-remove)))))))
		      (list 'dolist
			    (list 'it 'to-remove)
			    (list 'ht-remove! 'treemacs--filewatch-index 'it)))))
	    (if
		(eq all exp)
		body
	      (macroexp-let*
	       (list
		(list all exp))
	       body)))))
      (if
	  (eq path exp)
	  body
	(macroexp-let*
	 (list
	  (list path exp))
	 body)))))