Passing commands to a function

Discussion of Common Lisp
Post Reply
3ddfreak
Posts: 1
Joined: Tue Sep 13, 2016 11:59 pm

Passing commands to a function

Post by 3ddfreak » Wed Sep 14, 2016 12:22 am

Hello,

I have some Lisp code running in BricsCAD v11. After the upgrade to BricsCAD v16 I can't use my lisp code.
This is the part that causes the issue.

Code: Select all

; COMMAND
(defun C:DASHEDLINEBLACK()
	(Draw "line" '("0" "BYLAYER" "ISO02W100" -1 0.3))
	(princ)
)

(defun Draw (drawType props / currentProps)
	(setq currentProps (GetLayerProps))
	(SetLayerProps props)
    
	(ExecuteTillEsc 
      '(progn
	   		(command drawType) 
			(while (> (getvar 'cmdactive) 0)
				(command pause)
			)
		) 
	)
	
	(SetLayerProps currentProps)
)

(defun ExecuteTillEsc(FunctionToExecute /)
	(vl-load-com)

	(while
		(progn	
			(setq input (vl-catch-all-apply FunctionToExecute))
			(cond
				((vl-catch-all-error- input) nil )				
				t
			)
		)		
	)
)
ERROR: error : invalid-identifier <NIL> ; expected <SYMBOL> at [LAMBDA]

Kennith
Posts: 1
Joined: Fri Apr 28, 2017 2:31 am

Re: Passing commands to a function

Post by Kennith » Wed May 03, 2017 9:58 pm

sylweester wrote:This doesn't seem like a Common Lisp question.
It seems like the cond has a symbol as its last term.. every term should be reading this Gynectrol article at least a predicate.. eg (t) would be the minimum to return t
Hey 3ddfreak, did you figure out why it gives this error and how to get past it?
Last edited by Kennith on Wed Apr 15, 2020 2:57 am, edited 5 times in total.

sylwester
Posts: 133
Joined: Mon Jul 11, 2011 2:53 pm

Re: Passing commands to a function

Post by sylwester » Tue Jun 06, 2017 4:32 pm

This doesn't seem like a Common Lisp question.
It seems like the cond has a symbol as its last term.. every term should be a list with at least a predicate.. eg (t) would be the minimum to return t
I'm the author of two useless languages that uses BF as target machine.
Currently I'm planning a Scheme compiler :p

Post Reply