darabi / cl-base64 Goto Github PK
View Code? Open in Web Editor NEWCommon Lisp base64 library - clone of http://git.kpe.io/?p=cl-base64.git
License: Other
Common Lisp base64 library - clone of http://git.kpe.io/?p=cl-base64.git
License: Other
; System definition file #P"/home/*/quicklisp/dists/quicklisp/software/cl-base64-20150923-git/cl-base64.asd" contains definition for system "c
l-base64-tests". Please only define "cl-base64" and secondary systems with a name starting with "cl-base64/" (e.g. "cl-base64/test") in that file.
This is a pseudo-issue to inform about recent problematic evolution of upstream:
http://git.kpe.io/?p=cl-base64.git;a=summary
git clone http://git.kpe.io/cl-base64.git
Recently, upstream introduced incompatible changes:
The encoder and decoder API has been broken:
BASE64-STRING-STRING
have been renamed to BASE64-STRING-TO-STRING
,FORMAT
:> (defmacro define-base64-decoder (hose sink)
> `(defun ,(intern (format nil "~A-~A-~A-~A" '#:base64 hose '#:to sink))
< (defmacro def-base64-stream-to-* (output-type)
< `(defun ,(intern (concatenate 'string (symbol-name :base64-stream-to-)
< (symbol-name output-type)))
Which creates functions named |base64-string-to-string|
instead of
BASE64-STRING-TO-STRING
when *print-case*
is set to:downcase
(and
possibly with other results with other settings of the global
variables).
cl-user> (lspack :cl-base64 t)
CL-BASE64
Symbols: 24 exported, 1098 total.
Nicknames: BASE64
Uses: COMMON-LISP
Exported: *URI-DECODE-TABLE* *URI-ENCODE-TABLE*
+DECODE-TABLE+ +URI-DECODE-TABLE+
BAD-BASE64-CHARACTER BASE64-ERROR
BASE64-STREAM-TO-INTEGER BASE64-STREAM-TO-STREAM
BASE64-STREAM-TO-STRING BASE64-STREAM-TO-USB8-ARRAY
BASE64-STRING-TO-INTEGER BASE64-STRING-TO-STREAM
BASE64-STRING-TO-STRING BASE64-STRING-TO-USB8-ARRAY
INCOMPLETE-BASE64-DATA INTEGER-TO-BASE64-STREAM
INTEGER-TO-BASE64-STRING MAKE-DECODE-TABLE
STREAM-TO-BASE64-STREAM STREAM-TO-BASE64-STRING
STRING-TO-BASE64-STREAM STRING-TO-BASE64-STRING
USB8-ARRAY-TO-BASE64-STREAM
USB8-ARRAY-TO-BASE64-STRING
nil
cl-user> (apropos "BASE64-STRING-TO-STRING")
cl-base64:base64-string-to-string
cl-base64::|base64-string-to-string| F
:base64-string-to-string V :base64-string-to-string
; No value
cl-user>
Furthermore, the current quicklisp release (2021-06-30), contains an intermediate stage where the bug of interning with format is introduced, but the renaming is not yet (despite the last commit on the upstream dated 2020-09-30).
Hunchentoot uses the old API, ie. is compatible with our version, but not with the current one in quicklisp.
Have fun!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.