Многострочный ввод в EShell - PullRequest
3 голосов
/ 03 июня 2011

Есть ли способ для многострочного ввода в EShell?Когда я хочу сделать быстрое определение функции в командной строке EShell, это на самом деле не работает.Я пытался использовать явные разрывы строк (\ n), а также одинарные кавычки ('') и двойные кавычки (""), но безуспешно.

Когда я пишу новую строку \n и нажимаю ввод (точка находится в позиции *), я получаю сообщение об ошибке и новое приглашение eshell.

$ (def foo (x y ) \n *)
Symbol's function definition is void: def

Когда я использую C-q C-jи нажмите Enter (точка находится в позиции *), я получаю то же сообщение об ошибке и новое приглашение eshell.

$ 
(def foo (x y) *)
Symbol's function definition is void: def

Ответы [ 2 ]

0 голосов
/ 04 июня 2011

Нет (def).

В elisp вы определяете функции с помощью (defun).

См. C-h f defun RET

http://www.gnu.org/software/emacs/manual/html_node/elisp/Defining-Functions.html

0 голосов
/ 03 июня 2011

Вы должны оставить круглые скобки открытыми, чтобы Eshell не смог оценить ввод преждевременно.Кроме того, как указано phils, def не определено на складе Elisp;Вы, вероятно, хотите defun.

...