Skip to content

Commit 1d89fb8

Browse files
committed
gptel: Specify preset names as symbols
Preset names must be symbols so we can support `@preset-name' cookies. Enforce this requirement. * gptel-transient.el (gptel--preset-mismatch-p, gptel--preset): Do not throw an error if a preset name is a string -- this is unsupported but tolerated. * gptel.el (gptel-make-preset): Modify documentation to specify preset names as symbols.
1 parent 3bfe760 commit 1d89fb8

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

gptel-transient.el

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ For internal use only.")
103103
(sort (mapcar #'gptel-tool-name gptel-tools)
104104
#'string-lessp))
105105
(throw 'mismatch t)))
106-
(t (let* ((suffix (substring (symbol-name key) 1))
106+
(t (let* ((suffix (substring
107+
(if (symbolp key) (symbol-name key) key) 1))
107108
(sym (or (intern-soft (concat "gptel-" suffix))
108109
(intern-soft (concat "gptel--" suffix)))))
109110
(or (null sym)
@@ -834,7 +835,7 @@ together. See `gptel-make-preset' for details."
834835
'gptel--preset
835836
(cl-loop
836837
for (name-sym . preset) in gptel--known-presets
837-
for name = (symbol-name name-sym)
838+
for name = (format "%s" name-sym)
838839
with unused-keys = (nconc (number-sequence ?a ?z)
839840
(number-sequence ?0 ?9))
840841
for description = (plist-get preset :description)

gptel.el

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3497,9 +3497,10 @@ settings on the fly.
34973497
Typically this will include a model, backend, system message and perhaps
34983498
some tools, but any set of gptel options can be set this way.
34993499
3500-
NAME can be a symbol (preferred) or string. KEYS is a plist
3501-
corresponding to the options being set. All KEYS are optional.
3502-
Recognized keys include:
3500+
NAME must be a symbol. KEYS is a plist corresponding to the options
3501+
being set. All KEYS are optional.
3502+
3503+
Recognized keys:
35033504
35043505
DESCRIPTION is a description of the preset, used when selecting a
35053506
preset.

0 commit comments

Comments
 (0)