MP, Thanks for taking a look at this.
Let me give a little background on what I'm trying to do.
For years I have written all my lisp routines with a brief description of the routine on the same line as the defun, thus:
(defun c:ssr(;SHIFT OBJECT RIGHT shift:inc
)
(shift (list 0.0 shift:inc))
)
(defun c:ssl(;SHIFT OBJECT LEFT shift:inc
)
(shift (list 180.0 shift:inc))
)
(defun c:ssu(;SHIFT OBJECT UP shift:inc
)
(shift (list 90.0 shift:inc))
)
(defun c:ssd(;SHIFT OBJECT DOWN shift:inc
)
(shift (list 270.0 shift:inc))
)
Now I am writing a routine that will read a lisp file and parse the contents, returning a list of command names and their corresponding descriptions, thus:
(GetDefunsAndDescriptions (findfile "shift.lsp"))
(("shft" . "SHIFT OBJECTS")
("cshiftinc" . "initialize cstshift:inc")
("csr" . "SHIFT OBJECT RIGHT cshift:inc")
("csl" . "SHIFT OBJECT LEFT cshift:inc")
("csu" . "SHIFT OBJECT UP cshift:inc")
("csd" . "SHIFT OBJECT DOWN cshift:inc")
("shiftinc" . "initialize stshift:inc")
("ssr" . "SHIFT OBJECT RIGHT shift:inc")
("ssl" . "SHIFT OBJECT LEFT shift:inc")
("ssu" . "SHIFT OBJECT UP shift:inc")
("ssd" . "SHIFT OBJECT DOWN shift:inc")
("stshiftinc" . "initialize stshift:inc")
("stsr" . "stretch right stshift:inc")
("stsl" . "stretch left stshift:inc")
("stsu" . "stretch up stshift:inc")
("stsd" . "stretch down stshift:inc")
("stshift" . "stretch shift")
)
Now I am placing this list of command names and their descriptions in an opendcl list box. This will allow the user to select the comamnd and run it from the opendcl form. The Atoms-Family chunk of code is being used to verify that the command has been defined. So, given the name of the function in a variable, how can I call that function?
Thanks for the help
Mike