Many verbose encoding mismatch warnings
Currently warnings are thrown by concatenate-source-op every time ASDF is loaded if UTF-8 is the default encoding because the ASDF source is ASCII which is not equal to UTF-8. The warnings have the following form (newlines added for readability):
#<ASDF/CONCATENATE-SOURCE:MONOLITHIC-CONCATENATE-SOURCE-OP > uses encoding UTF-8 but has sources that use these encodings:
(NIL (driver asdf/driver)) (NIL (backward-driver asdf/driver))...
They quickly flood the REPL or STDOUT harming readability of important warnings.
The following adds a special case to the encoding equality check so that ASCII is recognized as a subset of UTF-8.
modified concatenate-source.lisp
@@ -69,7 +69,8 @@ into a single file"))
:append
(when (typep c 'cl-source-file)
(let ((e (component-encoding c)))
- (unless (equal e encoding)
+ (unless (or (equal e encoding)
+ (and (equal e :ASCII) (equal encoding :UTF-8)))
(let ((a (assoc e other-encodings)))
(if a (push (component-find-path c) (cdr a))
(push (list e (component-find-path c)) other-encodings)))))
Thanks, Eric
Edited by Eric Schulte