From eb15884cf9eeeacde93e174db180181498fb2a19 Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Thu, 23 Oct 2025 08:25:36 +0300 Subject: Use alexandria's make-keyword & symbolicate --- src/config.lisp | 5 +++-- src/tg/method-macros.lisp | 4 ++-- src/tg/type-macros.lisp | 8 ++++---- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/config.lisp b/src/config.lisp index 1a139c1..85c9662 100644 --- a/src/config.lisp +++ b/src/config.lisp @@ -4,6 +4,7 @@ (:documentation "Stuff for loading the configuration of the bot") (:nicknames :conf) (:use :c2cl :iterate :ukkoclot/src/rw-lock) + (:import-from :alexandria :make-keyword) (:export #:*config* #:config @@ -77,8 +78,8 @@ (for slot in (class-direct-slots (class-of config))) (let ((name (slot-definition-name slot))) (unless (eql name 'lock) - (let ((kw-name (intern (symbol-name name) :keyword))) - (appending (list kw-name (slot-value config name))))))))) + (appending (list (make-keyword name) + (slot-value config name)))))))) (defun print-default (filename) "Prints the default config to the given `filename'." diff --git a/src/tg/method-macros.lisp b/src/tg/method-macros.lisp index 56445e3..0d33ffb 100644 --- a/src/tg/method-macros.lisp +++ b/src/tg/method-macros.lisp @@ -3,7 +3,7 @@ (defpackage :ukkoclot/src/tg/method-macros (:documentation "Macros for easy defining TG methods.") (:use :c2cl :iterate) - (:import-from :alexandria :with-gensyms) + (:import-from :alexandria :make-keyword :with-gensyms) (:import-from :com.dieggsy.f-string :enable-f-strings) (:import-from :serapeum :take) (:import-from :state) @@ -46,7 +46,7 @@ `(setf ,args (acons ',(param-name param) ,(param-name param) ,args))) (defun emit-arg-type (param) - `(,(intern (symbol-name (param-name param)) :keyword) + `(,(make-keyword (param-name param)) ,(param-type param))) (defun emit-defun-arg (param) diff --git a/src/tg/type-macros.lisp b/src/tg/type-macros.lisp index 914261d..ea35f48 100644 --- a/src/tg/type-macros.lisp +++ b/src/tg/type-macros.lisp @@ -3,7 +3,7 @@ (defpackage :ukkoclot/src/tg/type-macros (:documentation "Macros for easy defining TG types.") (:use :c2cl :iterate) - (:import-from :alexandria :with-gensyms) + (:import-from :alexandria :make-keyword :symbolicate :with-gensyms) (:import-from :com.dieggsy.f-string :enable-f-strings) (:import-from :str) (:import-from :ukkoclot/src/serializing :parse-value) @@ -34,16 +34,16 @@ :skip-if-default skip-if-default))) (defun type-constructor (name) - (intern (concatenate 'string "MAKE-" (symbol-name name)))) + (symbolicate "MAKE-" name)) (defun field-accessor (name field) - (intern (concatenate 'string (symbol-name name) "-" (symbol-name (field-name field))))) + (symbolicate name "-" (field-name field))) (defun field-hash-key (field) (str:snake-case (field-name field))) (defun field-keyword (field) - (intern (symbol-name (field-name field)) :keyword)) + (make-keyword (field-name field))) (defun parse-field-specs (field-specs) (iter (for field-spec in field-specs) -- cgit v1.2.3