如何使用ielm在Emacs lisp中打印字符串?

Wil*_*hes 4 emacs elisp read-eval-print-loop

我想在ielm中打印一个字符串.我不想打印打印的表示,我想要字符串本身.我想要这个结果:

ELISP> (some-unknown-function "a\nb\n")
a
b
ELISP>
Run Code Online (Sandbox Code Playgroud)

我看不出有什么方法可以做到这一点.显而易见的功能是print和princ,但这些给了我可打印的表示:

ELISP> (print "* first\n* second\n* third\n")
"* first\n* second\n* third\n"
Run Code Online (Sandbox Code Playgroud)

我已经打了pp和pp-escape-newlines,但这些仍难逃其他字符:

ELISP> (setq pp-escape-newlines nil)
nil
ELISP> (pp "a\n")
"\"a
\""
Run Code Online (Sandbox Code Playgroud)

这可能吗?用于检查大弦,message不切割它.

Sea*_*ean 7

如何直接插入缓冲区?

(defun p (x) (move-end-of-line 0) (insert (format "\n%s" x)))
Run Code Online (Sandbox Code Playgroud)

这会让你:

ELISP> (p "a\nb\n")
a
b

nil
ELISP> 
Run Code Online (Sandbox Code Playgroud)

编辑:format用于打印字符串以外的东西.