branch: elpa/gptel
commit c818ce3426a7ebac78c737cf6106282f26dcbb80
Author: Karthik Chikmagalur <karthikchikmaga...@gmail.com>
Commit: Karthik Chikmagalur <karthikchikmaga...@gmail.com>

    gptel: read-only handling for non-default callbacks
    
    * gptel.el (gptel--handle-pre-insert): Only use the fallback LLM
    response buffer for requests sent from read-only buffers when
    using the default callbacks.  For general gptel-request usage
    leave it to the callback to manage read-only buffers. (#772)
---
 gptel.el | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/gptel.el b/gptel.el
index 775a3e6102..69bc000fee 100644
--- a/gptel.el
+++ b/gptel.el
@@ -1969,9 +1969,12 @@ Handle read-only buffers and run pre-response hooks (but 
only if
 the request succeeded)."
   (let* ((info (gptel-fsm-info fsm))
          (start-marker (plist-get info :position)))
-    (when (with-current-buffer (plist-get info :buffer)
-            (or buffer-read-only
-                (get-char-property start-marker 'read-only)))
+    (when (and
+           (memq (plist-get info :callback)
+                 '(gptel--insert-response gptel-curl--stream-insert-response))
+           (with-current-buffer (plist-get info :buffer)
+             (or buffer-read-only
+                 (get-char-property start-marker 'read-only))))
       (message "Buffer is read only, displaying reply in buffer \"*LLM 
response*\"")
       (display-buffer
        (with-current-buffer (get-buffer-create "*LLM response*")

Reply via email to