Thanks for all the extremely helpful info!
It's Alive: I am aware they communicate and gradually exploring that. I was super excited when I created my own LISP function and it turned blue when I typed it's symbol in VLIDE; man was that ever cool!! I'm only just scratching the surface of what's available. At the same time I'm progressing so fast at .NET that I can almost just write my old LISP routines in .NET faster than re-wiring stuff.
kdub: Those will be extremely helpful!
gile: I misused the term "persistent". In AutoLISP you can get away with very little "mainstream" knowledge, so many of the terms I used are incorrect. I guess I meant that I wanted the variables to exist in their state for the duration of the session. I'll describe in detail me situation: I'm making an improved version of a LISP routine that draws stairs based on user input. It collects various inputs including total height, number of risers, and a few other parameters. My intent is/was that if the command is run again within the same session, I want all the previous inputs to fill the form (I'm using a WinForm). The .NET wizard template's notes mention that the main enclosing class is instantiated when the command is run for the first time within that session; I wondered if having my variables declared within that class itself (they are currently in the form's cs file... which triggered a light bulb as I'm typing...) is key. Since that class will be instantiated for the remainder of the session, it's variables will exist for the remainder as well?
Here's AfraLISP's tutorial on how to store variables with AutoLISP:
https://www.afralisp.net/autolisp/tutorials/application-data.phpIt's much simpler than using xData/xRecords. I suppose it's kind of the same? It only allows one to store strings, but easy conversions along with the simplicity of most AutoLISP programs means it doesn't affect much.
I've used xData only to store information in an object itself (lines and blocks). In that application I created a way to have "Revit" style tags. Mine worked better than Revit's actually :-O . The code was quite intensive (for me at least) especially compared to the setcfg/getcfg pathway demonstrated in the link above.