You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is an issue I came upon on trying to load folio2 via quicklisp from ciel-user.
Folio2 follows the convention of marking destructive functions with an exclamation mark. Compiling failed at the first such function, namely set-box!. Disabling the syntax with (disable-shell-passthrough) did not really help, it appears \! can still not be part of a symbol name.
Code to demonstrate this:
ciel-user> (defun set-box! ())
/bin/sh: -c: line 1: syntax error near unexpected token `)'
/bin/sh: -c: line 1: ` ())'
Parser error: Subprocess with command " ())"
exited with error code 2
ciel-user> (disable-shell-passthrough )
=> T
ciel-user> (defun set-box! ())
; in: DEFUN SET-BOX
; (SB-INT:NAMED-LAMBDA CIEL-USER::SET-BOX
; CIEL-USER::!
; (BLOCK CIEL-USER::SET-BOX NIL))
;
; caught ERROR:
; The lambda expression has a missing or non-list lambda list:
; (LAMBDA ! (BLOCK SET-BOX NIL))
;
; compilation unit aborted
; caught 1 fatal ERROR condition
; caught 1 ERROR condition
Evaluation error: The lambda expression has a missing or non-list lambda list:
(LAMBDA ! (BLOCK SET-BOX NIL))
=> NIL
ciel-user> (defpackage test (:use :cl))
=> #<PACKAGE "TEST">
ciel-user> (in-package test)
=> #<PACKAGE "TEST">
TEST> (defun set-box! ())
; in: DEFUN SET-BOX
; (SB-INT:NAMED-LAMBDA TEST::SET-BOX
; TEST::!
; (BLOCK TEST::SET-BOX NIL))
;
; caught ERROR:
; The lambda expression has a missing or non-list lambda list:
; (LAMBDA ! (BLOCK SET-BOX NIL))
;
; compilation unit aborted
; caught 1 fatal ERROR condition
; caught 1 ERROR condition
Evaluation error: The lambda expression has a missing or non-list lambda list:
(LAMBDA ! (BLOCK SET-BOX NIL))
=> NIL
TEST>
The text was updated successfully, but these errors were encountered:
I'll disable Clesh altogether,
and add a simpler shell passtrough.
for #85
vindarel
changed the title
Shell escape with ! prevents symbol names containing it.
Shell escape with ! prevents symbol names containing it. [fixed, waiting for some cleanup]
Jan 29, 2025
This is an issue I came upon on trying to load folio2 via quicklisp from ciel-user.
Folio2 follows the convention of marking destructive functions with an exclamation mark. Compiling failed at the first such function, namely
set-box!
. Disabling the syntax with(disable-shell-passthrough)
did not really help, it appears\!
can still not be part of a symbol name.Code to demonstrate this:
The text was updated successfully, but these errors were encountered: