From 3d6147830e8bae5787975b817e0f769f3123bc6a Mon Sep 17 00:00:00 2001 From: Karthik Chikmagalur Date: Sat, 9 Mar 2024 14:26:45 -0800 Subject: [PATCH] gptel: Fix model/backend mismatch (#242) * gptel.el (gptel--sanitize-model, gptel): Check for mismatches between the default values of gptel-backend and gptel-model when starting a new gptel chat. Previously the default value of gptel-backend was compared against the buffer-local value of gptel-model. --- gptel.el | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gptel.el b/gptel.el index 56f729c..e436108 100644 --- a/gptel.el +++ b/gptel.el @@ -1210,19 +1210,20 @@ See `gptel-curl--get-response' for its contents.") "Could not parse HTTP response."))))) (cl-defun gptel--sanitize-model (&key (backend gptel-backend) + (model gptel-model) (shoosh t)) - "Check if `gptel-model' is available in BACKEND, adjust accordingly. + "Check if MODEL is available in BACKEND, adjust accordingly. If SHOOSH is true, don't issue a warning." (let* ((available (gptel-backend-models backend))) - (unless (member gptel-model available) + (unless (member model available) (let ((fallback (car available))) (unless shoosh (display-warning 'gptel (format (concat "Preferred `gptel-model' \"%s\" not" "supported in \"%s\", using \"%s\" instead") - gptel-model (gptel-backend-name backend) fallback))) + model (gptel-backend-name backend) fallback))) (setq-local gptel-model fallback))))) ;;;###autoload @@ -1265,6 +1266,7 @@ INTERACTIVEP is t when gptel is called interactively." (visual-line-mode 1)) (t (funcall gptel-default-mode))) (gptel--sanitize-model :backend (default-value 'gptel-backend) + :model (default-value 'gptel-model) :shoosh nil) (unless gptel-mode (gptel-mode 1)) (goto-char (point-max))