From f218388d4dcd88aa339872c797f4805a66d10217 Mon Sep 17 00:00:00 2001 From: Karthik Chikmagalur Date: Mon, 10 Apr 2023 22:45:43 -0700 Subject: [PATCH] gptel-transient: Fix bug when sending in existing session * gptel-transient.el (gptel--suffix-send, gptel-menu): When reading input from the minibuffer and sending the output to an existing gptel session, only use the prompt read from the minibuffer. Reword the "Overwrite/Delete prompt" option. --- gptel-transient.el | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/gptel-transient.el b/gptel-transient.el index 1548325..167b870 100644 --- a/gptel-transient.el +++ b/gptel-transient.el @@ -69,7 +69,7 @@ Or is it the other way around?" (gptel--infix-model)] ["Prompt:" ("-r" "From minibuffer instead" "-r") - ("-i" "Overwrite/Delete prompt" "-i") + ("-i" "Replace/Delete prompt" "-i") "Response to:" ("-m" "Minibuffer instead" "-m") ("-n" "New session" "-n" @@ -339,18 +339,19 @@ will get progressively longer!" (setq buffer (get-buffer buffer-name)) (setq output-to-other-buffer-p t) (let ((reduced-prompt - (if (use-region-p) - (buffer-substring-no-properties (region-beginning) - (region-end)) - (buffer-substring-no-properties - (save-excursion - (text-property-search-backward - 'gptel 'response - (when (get-char-property (max (point-min) (1- (point))) - 'gptel) - t)) - (point)) - (point))))) + (or prompt + (if (use-region-p) + (buffer-substring-no-properties (region-beginning) + (region-end)) + (buffer-substring-no-properties + (save-excursion + (text-property-search-backward + 'gptel 'response + (when (get-char-property (max (point-min) (1- (point))) + 'gptel) + t)) + (point)) + (point)))))) (with-current-buffer buffer (goto-char (point-max)) (insert reduced-prompt)