![](https://secure.gravatar.com/avatar/5634a99cd64dd70d4a6692c3031a1284.jpg?s=120&d=mm&r=g)
Raymond Toy pushed to branch issue-234-make-ascii-format-builtin at cmucl / cmucl Commits: 8ff9f737 by Raymond Toy at 2023-07-06T16:38:53-07:00 Clean up impl of %find-external-format Simplify code in `%find-external-format` to use the same code for all the built-in formats. Add new constant `+builtin-externalf-formats+` to list all the external formats that are built into lisp. - - - - - 1 changed file: - src/code/extfmts.lisp Changes: ===================================== src/code/extfmts.lisp ===================================== @@ -461,18 +461,18 @@ (format t "~&~A~%" (intl:gettext (or (ef-documentation ef) ""))))))))) +(defconstant +builtin-external-formats+ '(:utf-8 :iso8859-1 :ascii) + "List of external formats that are builtin so that they don't need to + be loaded on first use.") + (defun %find-external-format (name) ;; avoid loading files, etc., early in the boot sequence - (when (or (eq name :iso8859-1) - (and (eq name :default) (eq *default-external-format* :iso8859-1))) - (return-from %find-external-format - (gethash :iso8859-1 *external-formats*))) - (when (eq name :utf-8) - (return-from %find-external-format - (gethash :utf-8 *external-formats*))) - (when (eq name :ascii) + (when (and (eq name :default) + (eq *default-external-format* :iso8859-1)) + (setf name :iso8859-1)) + (when (member name +builtin-external-formats+ :test 'eq) (return-from %find-external-format - (gethash :ascii *external-formats*))) + (gethash name *external-formats*))) (when (zerop (hash-table-count *external-format-aliases*)) (setf (gethash :latin1 *external-format-aliases*) :iso8859-1) View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/8ff9f73774da81f757cde042... -- View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/8ff9f73774da81f757cde042... You're receiving this email because of your account on gitlab.common-lisp.net.