Saya membuat fungsi khusus yang menggabungkan dua fungsi mode-twitter , twittering-favorite
dan twittering-native-retweet
, namun kedua ini membutuhkan input dari saya dengan menjawab pertanyaan ya atau tidak.
Saya ingin tahu apakah ada cara untuk membungkus kedua fungsi itu dengan sesuatu yang akan membuat mereka menerima jawaban tanpa campur tangan langsung saya.
twittering-mode
(dan saya tidak akan repot-repot mengakses kode), tetapi sebagai saran umum: Biasanya, alih-alih melakukan apa yang Anda sarankan (membuat kode yang mensimulasikan jawaban penggunayes
) lebih baik membuat kode yang langsung menggunakan kode yang mengharapkan jawabannya. TKI, coba manfaatkan jalur kode sumber yangyes
akan menyebabkan jawaban dipanggil. (Hanya saran.)Jawaban:
EDIT: Seperti yang ditunjukkan oleh @hatschipuh dalam komentar,
flet
konstruksi -type lebih mudah dan tidak bergantung pada saran makro istimewa saya. Paling tidak pada Emacs saya (24.5.1),cl-flet
menggunakan pelingkupan leksikal, jadi Anda akan membutuhkannoflet
paket untuk cuplikan berikut agar berfungsi. Gulir ke bawah untuk jawaban yang asli dan istimewa.EDIT: Ini adalah jawaban asli, kecuali bahwa saya tetap
my/bypass-confirmation-all
bekerja seperti yang diiklankan dan sedikit mengubah kebiasaan panggilan.Inilah pembungkus umum yang dapat digunakan untuk fungsi apa pun.
Kode ini tergantung pada makro ini, yang tampaknya menjadi solusi masuk saya untuk semuanya di Stackexchange.
Apakah kode ini adalah cara paling cerdas untuk menangani situasi ini, saya tidak tahu. Secara umum, saya suka menggunakan saran sementara semacam ini untuk membuat modifikasi fungsi yang sudah ada alih-alih menduplikasi kode fungsi asli, sebagian karena ini membantu untuk membuktikan di masa depan fungsi modifikasi Anda terhadap perubahan yang tidak terkait dalam dokumen asli. Tetapi dalam hal ini Anda mungkin perlu berhati-hati, karena jika
twittering-mode
memperbarui dan mengubah permintaan atau menambahkan yang lain, Anda tidak akan melihat perubahan. Karena prompt y-atau-n menunjukkan pilihan yang kontroversial, itu bisa memiliki konsekuensi yang tidak menguntungkan.EDIT: Terpikir oleh saya bahwa contoh penggunaan mungkin bermanfaat. Contoh ini berfungsi dengan salah satu implementasi.
sumber
(flet ((yes-or-no-p (prompt) t) (y-or-n-p (prompt) t)) body...)