Now I understand what you were talking about! Try this.
(defun make-txt (str pt / txt_ent)
(if
(entmake
(list
'(0 . "MTEXT")
'(100 . "AcDbEntity")
(cons 8 (getvar "clayer"))
'(100 . "AcDbMText")
(cons 10 pt)
(cons 40 (getvar "textsize"))
'(71 . 1)
'(72 . 5)
(cons 1 str)
(cons 7 (getvar "textstyle"))
'(73 . 1)
)
)
txt_ent
)
)
(defun c:c2m (/ ent c_text ins_pt mt_ent)
(if (setq ent (car (entsel "\nSelect Curved Text: ")))
(if (= (cdr (assoc 0 (entget ent))) "AEC_CURVETEXT")
(progn
(setq c_text (cdr (assoc 1 (entget ent))))
(if (vl-string-search "\r\n" c_text)
(setq c_text (vl-string-subst "\\P" "\r\n" c_text))
)
)
)
; else
(progn
(alert "Selected text was not Curved Text")
(exit)
)
)
(if (setq ins_pt (getpoint "\Text insertion point: "))
(setq mt_ent (make-txt c_text ins_pt))
)
(princ)
)