There's something different between the A2k2 & A2k4 way of reading lisp. (duh!) However, I can't figure this one out and I'm still learning code so some of this is really Greek to me. In A2K2 when an item is selected and the prompts followed, a drop down menu of our colors appears for your selection. In A2k4 the menu does not drop down. You can select the menu and then complete the process but I'd like for it to work properly. Can anyone translate this into "where" my problem is? Point me in the right direction even? My guess is that it's something in the (menucmd (strcat "GAH."LMENU"=*")) portion of the code but I don't understand this command at all. Thanks for your help. Debi ;;; ;;; By Carl Rockstrom (my predecessor) ;;; ;;; ;;; CHANGE LAYER BY PICKING ;;; First, select entities to be changed to desired layer, press enter ;;; Second, select entity on layer to which all previously selected ;;; entities will go or press enter again to select layer from menu. ;;; Calls a section of the AutoCAD menu ;;; (prompt "Layer Changer - version 2.0") (defun error (s) ; If an error (such as escape) occurs (if (/= s "Function cancelled") (princ (strcat " Error: " s))) (setq S nil cnt1 nil ss1 nil uv3 nil) ; Free selection-set if any (setq *error* olderr) ; Restore old *error* handler (princ) ) (defun C:CL (/ olderr ss1 cnt1 uv1 uv2) (setq olderr *error* *error* error) (graphscr) (prompt " Select entities to be changed ") (terpri) (setq ss1 (ssget)) (setq cnt1 0) (setq uv3 (car (nentsel "Point to entity on target layer or ENTER for list: "))) (if uv3 (progn (setq uv3 (assoc 8 (entget uv3)))) (progn (menucmd (strcat "GAH."LMENU"=*")) (setq uv3 (cons 8 (strcase (getstring "Pick layer from menu or Type layer name: ")))) ) ) (if (not (tblsearch "layer" (cdr uv3))) (progn (setq al-name (cdr uv3)) (ADDLAYER "al-name") (repeat (sslength ss1) (setq uv1 (entget (ssname ss1 cnt1))) (setq uv2 (assoc 8 uv1)) (entmod (subst uv3 uv2 uv1)) (setq cnt1 (+ cnt1 1))) (PROMPT (strcat " Changed To Layer < "(CDR uv3)" >")) ) (progn (repeat (sslength ss1) (setq uv1 (entget (ssname ss1 cnt1))) (setq uv2 (assoc 8 uv1)) (entmod (subst uv3 uv2 uv1)) (setq cnt1 (+ cnt1 1))) (PROMPT (strcat " Changed To Layer < "(CDR uv3)" >")) ) ) (setq *error* olderr uv3 nil) (PRINC) )