all the way back to the autocad help files:
(setq exdata '((-3 ("NEWDATA" (1000 . "This is a new thing!")))))
(entmod (append (entget (entlast)) exdata) )
and
(entget (car (entsel)) '("NEWDATA"))
does retrieve the stored data.
but the quote means the data added cannot have any statements which must be interpreted, I can't use
(cons 1000 "This is a new thing!")
and have it fly.
without the quote, it interprets -3 or NEWDATA as a command and fails.
with the quote, I have not found a way to interpret the list so it can pass variables.
there is something simple I am missing.