Saya telah membaca dokumentasi tentang cara membuat panggilan interaktif dari dalam Elisp, tetapi saya masih tidak tahu bagaimana cara melewati argumen universal ketika menggunakan call-interactively
pada perintah yang mengenali argumen universal.
Lebih khusus lagi, saya ingin mengimplementasikan fungsi yang, dalam kondisi tertentu, harus memanggil shell
perintah secara interaktif dengan argumen universal , sehingga, sebagai hasilnya, prompt
Shell buffer (default *shell*):
akan terlihat di minibuffer, dan, begitu prompt ini mendapat respons, buffer yang ditentukan akan dibuat (jika belum ada), dan menjadikan buffer saat ini.
FWIW, saya mencoba yang berikut:
(universal-argument)
(call-interactively 'shell)
dan
(setq prefix-arg (list 4))
(call-interactively 'shell)
... tapi saya tidak pernah melihat prompt Shell buffer (default *shell*):
; alih-alih, dalam semua kasus, shell
perintah berjalan persis seolah-olah dipanggil tanpa argumen universal. (Saya benar-benar tidak tahu apa yang saya lakukan di sini, jadi upaya buta saya di atas dilakukan dengan mengabaikan nasihat nasehat dokumentasi .)
(let ((current-prefix-arg 4)) (call-interactively 'shell))