Giter VIP home page Giter VIP logo

cl-base64's People

Contributors

darabi avatar kevinrosenberg avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

cl-base64's Issues

Problems with upstream

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:

  • functions named BASE64-STRING-STRING have been renamed to BASE64-STRING-TO-STRING,
  • a bug in the creation of the symbols has been introduced by building the symbol name with 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!

Two asd files giving a warning

; 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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.