Setelah menulis beberapa comint
mode yang dibuat khusus , saya sering merasa sulit untuk memutuskan bagaimana melacak buffer dan proses: misalnya, untuk mengaitkan buffer sumber yang berbeda dengan penerjemah yang berbeda. Apakah lebih baik menyimpan referensi ke buffer atau prosesnya?
Diberikan buffer, seseorang dapat menemukan proses terkait menggunakan get-buffer-process
. Sebaliknya, mengingat suatu proses, process-buffer
mengembalikan buffer terkait. Baik buffer dan proses juga memungkinkan lapisan tipuan tambahan dengan mencari mereka dengan nama yang unik, tetapi ini tampaknya rapuh dibandingkan dengan hanya menjaga referensi ke objek itu sendiri.
Satu kemungkinan tampak jelas buruk, karena melanggar prinsip menyimpan data sekali-dan-hanya-sekali: yaitu, menjaga referensi ke buffer dan prosesnya.
Sebagian besar comint-
fungsi untuk mengirim input mengambil proses alih-alih buffer sebagai argumen, yang berargumen untuk bergantung pada objek proses, bukan buffer. Di sisi lain, buffer cenderung bertahan lebih lama dari proses: proses mungkin selesai atau terbunuh dan proses baru dimulai di buffer yang sebelumnya digunakan.
Apakah ada argumen lain yang meyakinkan untuk mereferensikan proses atau buffernya?
sumber