Emacs - cara menambal file - Eshell tidak mendukung pengalihan input

1

Saat mencoba menjalankan tambalan dari buffer Eshell (mis., patch nsfns.m < nsfns.diff), Saya mendapatkan pesan kesalahan (di bawah). Apakah ada cara untuk menerapkan tambalan menggunakan buffer Eshell? Jika tidak, apakah ada mode utama emulasi tipe terminal lain yang akan mengizinkan penerapan tambalan?

Debugger entered--Lisp error: (error "Eshell does not support input redirection")
  signal(error ("Eshell does not support input redirection"))
  error("Eshell does not support input redirection")
  eshell-parse-redirection()
  run-hook-with-args-until-success(eshell-parse-redirection)
  #[0 "m?\205-�\302\303!\206�\304\305f!\305u\210\204�\211\202)� \204$�C\306C\244\210\210\202��\207" [eshell-current-argument eshell-arg-listified run-hook-with-args-until-success eshell-parse-argument-hook char-to-string nil t] 3 "\n\n(fn)"]()
  funcall(#[0 "m?\205-�\302\303!\206�\304\305f!\305u\210\204�\211\202)� \204$�C\306C\244\210\210\202��\207" [eshell-current-argument eshell-arg-listified run-hook-with-args-until-success eshell-parse-argument-hook char-to-string nil t] 3 "\n\n(fn)"])
  eshell-parse-argument()
  #[0 "m?\205#�`\301 `U\203�\302\303d{\"\210\211\203�\300C\244\210\266\202��\207" [(t "patch" "nsfns.m") eshell-parse-argument error "Failed to parse argument '%s'"] 6 "\n\n(fn)"]()
  funcall(#[0 "m?\205#�`\301 `U\203�\302\303d{\"\210\211\203�\300C\244\210\266\202��\207" [(t "patch" "nsfns.m") eshell-parse-argument error "Failed to parse argument '%s'"] 6 "\n\n(fn)"])
  eshell-parse-arguments(#<marker at 90 in *eshell*> 116)
  #[0 "\303\302\304\301\300\"\240\210\207" [116 #<marker at 90 in *eshell*> (nil) nil eshell-parse-arguments] 5 "\n\n(fn)"]()
  funcall(#[0 "\303\302\304\301\300\"\240\210\207" [116 #<marker at 90 in *eshell*> (nil) nil eshell-parse-arguments] 5 "\n\n(fn)"])
  eshell-hist-parse-arguments(#<marker at 90 in *eshell*> 116)
  eshell-expand-history-references(#<marker at 90 in *eshell*> 116)
  run-hook-with-args(eshell-expand-history-references #<marker at 90 in *eshell*> 116)
  #[0 "\300\304 `S\"\240\210\305\306    `S#\210\307 `S\"\211\205?�\310  !\210\300\304\nS\"\240\210\311\312!\210\313\314\315\316\317\320\321\300\"\322\"\323\324%D\215\205?�\325 \207" [("patch nsfns.m < nsfns.diff") eshell-last-output-end eshell-last-input-start eshell-last-input-end buffer-substring-no-properties run-hook-with-args eshell-expand-input-functions eshell-parse-command-input eshell-update-markers run-hooks eshell-input-filter-functions eshell-terminal funcall make-byte-code 0 "\302\303\301!\203\f�\304\301!\210\207\305\301\300\242\"\210\207" vconcat vector [nil eshell-invoke-directly eval eshell-eval-command] 4 "\n\n(fn)" eshell-life-is-too-much] 10 "\n\n(fn)"]()
  funcall(#[0 "\300\304 `S\"\240\210\305\306    `S#\210\307 `S\"\211\205?�\310  !\210\300\304\nS\"\240\210\311\312!\210\313\314\315\316\317\320\321\300\"\322\"\323\324%D\215\205?�\325 \207" [("patch nsfns.m < nsfns.diff") eshell-last-output-end eshell-last-input-start eshell-last-input-end buffer-substring-no-properties run-hook-with-args eshell-expand-input-functions eshell-parse-command-input eshell-update-markers run-hooks eshell-input-filter-functions eshell-terminal funcall make-byte-code 0 "\302\303\301!\203\f�\304\301!\210\207\305\301\300\242\"\210\207" vconcat vector [nil eshell-invoke-directly eval eshell-eval-command] 4 "\n\n(fn)" eshell-life-is-too-much] 10 "\n\n(fn)"])
  eshell-send-input(nil)
  funcall-interactively(eshell-send-input nil)
  call-interactively(eshell-send-input nil nil)
  command-execute(eshell-send-input)
daftar hukum
sumber

Jawaban:

2

Anda bisa menyiasatinya cat nsfns.diff | patch nsfns.m.

legoscia
sumber