Paul,
I'm not sugesting giving up the buttons, just loading the routines through 'autoload'
This is the start of my 'AlansAutoLoad.lsp'
;;; ===============================================
;;; Lisp Routine Loader
;;; AUTOLOAD only loads the routine when needed
;;; ===============================================
(AUTOLOAD "AreaPrt" '("AreaPrt")) ; Print the Area of "POLYLINE" "LWPOLYLINE" "CIRCLE" "ELLIPSE"
(AUTOLOAD "arrow line" '("arw")) ; draw a arrow line on stairs, plan view
(AUTOLOAD "Block UnmirrorCAB" '("bum")) ; Unmirror blocks picked
(AUTOLOAD "BrAt" '("brat")) ; Break Line @
The 'AlansAutoLoad.lsp' is added to my startup Suite.
Now any time I issue a call to the routine weather it be from a button, command line or another lisp
the routine is loaded and I don't need to know the name of the lisp, only the command name.
Button ^C^Carw or Command: arw will load the 'Arrow Line.lsp'
Your short cut helper is a good idea for my short memory.
If you use a button like this ^C^C^C(if (not c:2dap)(load "2dap"));2dap;
you can not issue 2dap from the command line without first loading it.
PS
If you have a lisp file with several routines in it using autoload will work.
(autoload "SteelLines" '("S1" "S2" "S3"))
So entering any one of them will load the lisp file.