lispgames / cl-sdl2

Common Lisp bindings for SDL2 using C2FFI.
MIT License
304 stars 82 forks source link

Error in FORMAT: Unknown directive (character: Return) in render.lisp #143

Closed togekawa5 closed 3 years ago

togekawa5 commented 3 years ago

Loading sdl2 occurs error in Windows. The debugger refers to ~newline directive in render.lisp. When I delete ~newline, that error no longer occurs. I checked that this error does not occur with simple ~newline in format ,for example (format t "a~ b"). My environment is windows10, sbcl2.1.6. The debugger displayed the following.

` Load 1 ASDF system: sdl2 ; Loading "sdl2" ...... ; file: C:/Users/home/.roswell/lisp/quicklisp/local-projects/lispgames/cl-sdl2/src/render.lisp ; in: DEFMETHOD PRINT-OBJECT (SDL2-FFI:SDL-RENDERER-INFO T) ; (FORMAT STREAM ; "name ~S flags ~A num-texture-formats ~A texture-formats TBD max-texture-width ~ ; ~A max-texture-height ~A" ; (SDL2::RINFO :NAME) (SDL2::RINFO :FLAGS) ; (SDL2::RINFO :NUM-TEXTURE-FORMATS) (SDL2::RINFO :MAX-TEXTURE-WIDTH) ; (SDL2::RINFO :MAX-TEXTURE-HEIGHT)) ; ; caught ERROR: ; during macroexpansion of ; (FORMATTER ; "name ~S flags ~A num-texture-formats ~A texture-formats TBD max-texture-width ~ ; ~A max-texture-height ~A"). ; Use BREAK-ON-SIGNALS to intercept. ; ; error in FORMAT: Unknown directive (character: Return) ; name ~S flags ~A num-texture-formats ~A texture-formats TBD max-texture-width ~ ; ~A max-texture-height ~A ; ^ .. debugger invoked on a UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread

<THREAD "main thread" RUNNING {1005700733}>:

COMPILE-FILE-ERROR while compiling #<CL-SOURCE-FILE "sdl2" "render">

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name): 0: [RETRY ] Retry compiling #<CL-SOURCE-FILE "sdl2" "render">. 1: [ACCEPT ] Continue, treating compiling #<CL-SOURCE-FILE "sdl2" "render"> as having been successful. 2: Retry ASDF operation. 3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration. 4: Retry ASDF operation. 5: Retry ASDF operation after resetting the configuration. 6: [ABORT ] Give up on "sdl2" 7: [REGISTER-LOCAL-PROJECTS ] Register local projects and try again. 8: Exit debugger, returning to top level.

(UIOP/LISP-BUILD:CHECK-LISP-COMPILE-RESULTS NIL T T "~/asdf-action::format-action/" ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "sdl2" "render">))) error finding frame source: Bogus form-number: the source file has probably changed too much to cope with. source: NIL 0]"`

I loaded sdl2 on macOS as well, it was loaded without any problem. The environment is macOS Big Sur version 11.4, sbcl 2.1.5.

mfiano commented 3 years ago

I am not sure what the issue could be, only that it is not cl-sdl2 at fault. It seems like it might be a bug in SBCL so it may be worthwhile raising some attention to your findings on their launchpad bug tracker.