Các Unix V7 ed(1)
mã nguồn là một chương trình C 1762-line nguyên thủy chỉ với một vài ý kiến, một trong số đó là tiêu đề này bình luận cao khai sáng:
/*
* Editor
*/
Cho rằng bản thân mã nguồn không cung cấp bất kỳ lý do hợp lý nào, bạn sẽ chỉ lấy nó từ tác giả của chương trình.
ed
ban đầu được viết bởi Ken Thompson trong bản lắp ráp PDP-11 , nhưng bạn thực sự cần nói chuyện với bất kỳ ai đã chuyển nó cho C. Đó có thể là Dennis Ritchie , vì anh ta đã tạo C cho Unix và là một trong nhiều người đã sử dụng C để làm cho Unix di động đến các máy không PDP. Tuy nhiên, Tiến sĩ Ritchie không còn ở đây để trả lời những câu hỏi như vậy.
Việc đọc mã của tôi cho thấy rằng nó đã được thực hiện để thử và bảo quản nội dung của bản sao trong lõi của tài liệu đã chỉnh sửa. Bạn sẽ nhận thấy rằng các trình soạn thảo văn bản khác cũng không chết Ctrl-C.
Đây là những gì ed
trên Ctrl-C:
onintr()
{
signal(SIGINT, onintr);
putchr('\n');
lastc = '\n';
error(Q);
}
(Có, K & R C. Chúng tôi không cần các chỉ định loại trả về hoặc khai báo tham số của steenkin.)
Dịch sang tiếng Anh , ed
:
Đăng ký lại bộ xử lý tín hiệu.
(Unix đã không nhận được tín hiệu tự động đặt lại cho đến 4.3BSD , vào giữa những năm 1980.)
Viết ra một dòng mới và nhớ rằng nó đã làm như vậy, thông qua biến toàn cục lastc
.
( ed.c
có khoảng sáu mươi biến toàn cầu.)
Gọi error()
hàm, vốn nổi tiếng không chỉ là in ?
, từ quan điểm của người dùng.
Nói cách khác, nó nói, "Bạn không thực sự có ý định làm điều đó, phải không?"