Tôi đã đọc tài liệu về cách thực hiện các cuộc gọi tương tác từ bên trong Elisp, nhưng tôi vẫn không thể tìm ra cách vượt qua đối số phổ quát khi sử dụng call-interactively
trên một lệnh nhận ra đối số phổ quát.
Cụ thể hơn, tôi muốn thực hiện một hàm, trong một số điều kiện nhất định, nên gọi shell
lệnh tương tác với đối số phổ quát , do đó, kết quả là, nhắc nhở
Shell buffer (default *shell*):
sẽ hiển thị trong bộ thu nhỏ và, khi lời nhắc này nhận được phản hồi, bộ đệm đã chỉ định sẽ được tạo (nếu nó chưa tồn tại) và tạo bộ đệm hiện tại.
FWIW, tôi đã thử như sau:
(universal-argument)
(call-interactively 'shell)
và
(setq prefix-arg (list 4))
(call-interactively 'shell)
... nhưng tôi chưa bao giờ thấy dấu nhắc Shell buffer (default *shell*):
; thay vào đó, trong mọi trường hợp, shell
lệnh chạy chính xác như thể nó được gọi mà không có đối số phổ quát. (Tôi thực sự không biết những gì tôi đang làm ở đây, vì vậy những nỗ lực mù quáng của tôi ở trên được thực hiện với sự coi thường ý thức về lời khuyên trước đó của tài liệu .)
(let ((current-prefix-arg 4)) (call-interactively 'shell))