[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/gptel f98293f004 016/273: gptel: Check header-line-format
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/gptel f98293f004 016/273: gptel: Check header-line-format before updating |
Date: |
Wed, 1 May 2024 10:01:26 -0400 (EDT) |
branch: elpa/gptel
commit f98293f0047394e95c4df460616f596953062506
Author: Karthik Chikmagalur <karthikchikmagalur@gmail.com>
Commit: Karthik Chikmagalur <karthikchikmagalur@gmail.com>
gptel: Check header-line-format before updating
gptel.el: A header-line is not required for using `gptel-send'. gptel
can now be used from any buffer by selecting a region.
---
gptel.el | 51 +++++++++++++++++++++++++++------------------------
1 file changed, 27 insertions(+), 24 deletions(-)
diff --git a/gptel.el b/gptel.el
index 846191d984..b1b4fd5ef9 100644
--- a/gptel.el
+++ b/gptel.el
@@ -114,8 +114,9 @@ When set to nil, it is inserted all at once.
(if (and arg (featurep 'gptel-transient))
(call-interactively #'gptel-send-menu)
(message "Querying ChatGPT...")
- (setf (nth 1 header-line-format)
- (propertize " Waiting..." 'face 'warning))
+ (and header-line-format
+ (setf (nth 1 header-line-format)
+ (propertize " Waiting..." 'face 'warning)))
(let* ((gptel-buffer (current-buffer))
(full-prompt (gptel--create-prompt))
(response (aio-await
@@ -126,25 +127,26 @@ When set to nil, it is inserted all at once.
(content-str (plist-get response :content))
(status-str (plist-get response :status)))
(if content-str
- (with-current-buffer gptel-buffer
- (save-excursion
- (put-text-property 0 (length content-str) 'gptel 'response
content-str)
- (message "Querying ChatGPT... done.")
- (goto-char (point-max))
- (display-buffer (current-buffer)
- '((display-buffer-reuse-window
- display-buffer-use-some-window)))
- (unless (bobp) (insert "\n\n"))
- (if gptel-playback
- (gptel--playback (current-buffer) content-str (point))
- (insert content-str))
- (insert "\n\n" gptel-prompt-string)
- (unless gptel-playback
- (setf (nth 1 header-line-format)
- (propertize " Ready" 'face 'success)))))
- (setf (nth 1 header-line-format)
- (propertize (format " Response Error: %s" status-str)
- 'face 'error))))))
+ (with-current-buffer gptel-buffer
+ (save-excursion
+ (put-text-property 0 (length content-str) 'gptel 'response
content-str)
+ (message "Querying ChatGPT... done.")
+ (goto-char (point-max))
+ (display-buffer (current-buffer)
+ '((display-buffer-reuse-window
+ display-buffer-use-some-window)))
+ (unless (bobp) (insert "\n\n"))
+ (if gptel-playback
+ (gptel--playback (current-buffer) content-str (point))
+ (insert content-str))
+ (insert "\n\n" gptel-prompt-string)
+ (unless gptel-playback
+ (setf (nth 1 header-line-format)
+ (propertize " Ready" 'face 'success)))))
+ (and header-line-format
+ (setf (nth 1 header-line-format)
+ (propertize (format " Response Error: %s" status-str)
+ 'face 'error)))))))
(defun gptel--create-prompt ()
"Return a full conversation prompt from the contents of this buffer.
@@ -305,9 +307,10 @@ Begin at START-PT."
(min content-length (+ idx 16))))
(setq idx (+ idx 16)))
(when start-pt (goto-char (- start-pt 2)))
- (setf (nth 1 header-line-format)
- (propertize " Ready" 'face 'success))
- (force-mode-line-update)
+ (and header-line-format
+ (setf (nth 1 header-line-format)
+ (propertize " Ready" 'face 'success))
+ (force-mode-line-update))
(accept-change-group (symbol-value handle))
(undo-amalgamate-change-group (symbol-value handle))
(cancel-timer (symbol-value playback-timer)))))))
- [nongnu] elpa/gptel 92a8c0bdac 183/273: gptel: letrec expansion error in Emacs 27.2, (continued)
- [nongnu] elpa/gptel 92a8c0bdac 183/273: gptel: letrec expansion error in Emacs 27.2, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel b34e217bbf 182/273: README: Mention gptel-request, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel d2f56c62a0 193/273: gptel-transient: Allow redirection to any buffer, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel bf994c0765 204/273: gptel: Add response regeneration, history and ediff, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 87c190076e 212/273: README: Clarify example configuration code, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 12340eda46 228/273: gptel-transient: Truncate system prompt when messaging, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel f58ad9435c 225/273: gptel: Use libjansson support if available, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 161c77ad7f 235/273: gptel-transient: Adjust several menu options, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 2b938114cf 264/273: gptel: Add GPT 4 Turbo (#286), ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 44feb1637f 267/273: gptel-transient: Update header-line in gptel--suffix-send, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel f98293f004 016/273: gptel: Check header-line-format before updating,
ELPA Syncer <=
- [nongnu] elpa/gptel 3f7c81012b 015/273: gptel: Bump version and prepare for transient menus, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 9da22155de 025/273: gptel-transient: Fix autoloads for gptel-send-menu, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel a3109a4b68 022/273: gptel: Insert response below point, not at point-max, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel a673f54a3e 024/273: gptel, gptel-curl: Handle missing API key, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 1e31f550de 165/273: gptel: Declare compat as explicit dependency, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 48047c0600 167/273: gptel-transient: Improve system-message edit buffer, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 5159a773a0 011/273: gptel: Use text-property based delimiting, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 4e35e998a8 014/273: gptel-curl: Rename functions for linting, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 1ada9c9214 031/273: gptel: Handle insertion with region-active correctly, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel d77c8f37c5 057/273: gptel: Improve header-line-format, ELPA Syncer, 2024/05/01