i have tried to modify some of an existing lisp i have so that it will get the current layer then switch the layer to 0-construction line then revert back to the previous layer. what have i done wrong here?
;;; DRAWS A LINE THEN ASKS WHICH SIDE TO OFFSET AND DISTANCE, REFERENCE LINE
(defun C:RL (/ pt1 pt2 usercmd str en1 en2 )
;;; ------- Some Housekeeping ------------------
(setq usercmd (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(getvar "clayer"))
(setvar "0-construction line"))
(setq useros (getvar "osmode")
str "")
(setvar "osmode" 175)
(prompt "/nPick points, Enter when done.")
;;; Draw the pline
(setq pt1 (getpoint))
(command "LINE" pt1 (Setq pt2 (getpoint pt1))) ;_ COMMAND
(while (setq pt2 (getpoint pt2 "\nNext point: "))(command pt2)) ;_ WHILE
(command "")
(princ)
(setq en1 (entlast))
(initget 1)
(setq pto (getpoint "\nSide to offset:"))
(setq dist (getreal "\nEnter offset distance:"))
(command "_.offset" dist en1 pto "")
;(setq en2 (entlast))
(entdel en1) ; remove the user drawn line
;;;========== Exit Sequence ============
(setvar "osmode" useros)
(setvar "CMDECHO" usercmd)
(setvar "clayer"))
;;; Exit quietly
(princ)
) ;_end of defun