branch: elpa/gptel
commit 61574c235803086b40b24ab2fbd1e072e689afe6
Author: Karthik Chikmagalur <[email protected]>
Commit: Karthik Chikmagalur <[email protected]>

    gptel-context: Remove overlays when removing buffers
    
    * gptel-context.el (gptel-context-remove): Remove the
    gptel-context overlays (if there are any) when removing a buffer
    from the context.  Otherwise these overlays are left hanging in
    place.
---
 gptel-context.el | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gptel-context.el b/gptel-context.el
index 7709219be67..6a09371ffdb 100644
--- a/gptel-context.el
+++ b/gptel-context.el
@@ -329,7 +329,11 @@ If CONTEXT is a directory, recursively removes all files 
in it."
          thereis (overlay-start ov))
       (setf (alist-get (current-buffer) gptel-context nil 'remove) nil)))
    ((bufferp context)                   ;Full buffer
-    (setf (alist-get context gptel-context nil 'remove) nil))
+    (setf (alist-get context gptel-context nil 'remove) nil)
+    (when (buffer-live-p context)
+      (with-current-buffer context
+        (without-restriction
+          (remove-overlays nil nil 'gptel-context t)))))
    ((stringp context)                   ;file or directory
     (if (file-directory-p context)
         (gptel-context--add-directory context 'remove)

Reply via email to