Yes I read the comments. I think my mind is turning to mush. Let me show you what I've been trying to accomplish and see if you can lead me to understanding what I'm not getting.
(defun pop (masterList pos)
(setq inc -1)
(set 'tval (nth pos masterList))
(setq old (mapcar '(lambda (x)
(setq inc (1+ inc))
(cons inc x)
)
masterList
)
new (subst nil (assoc pos old) old)
masterList (vl-remove 'nil (append (mapcar 'cdr new)))
)
(list tval masterList)
)
After forgetting what eval and set are really doing for you, I wasn't getting the return value properly. What this is trying to do is improve on your initial idea. It would be cool to have the ability to remove an item from anywhere within the list and alter the list like you've done. Somewhere in there I need to add an eval. I'm just not sure where now. As for why eval crashed on me, I figured it out.