Làm cách nào tôi có thể xây dựng / gói Emacs để các tệp nguồn C được cài đặt vào thư mục find-function-C-source-tiêu chuẩn?


7

Tôi muốn có thể xem mã nguồn C của các hàm Emacs. Ví dụ, tôi muốn có thể làm được M-: (find-function 'message).

Emacs nhắc tôi cho thư mục các nguồn C, để nó có thể thiết lập find-function-C-source-directory. Tuy nhiên, bản phân phối của tôi (Arch Linux) vừa thực hiện các make; make installbước thông thường (xem công thức gói ở đây ) vì vậy không có nguồn C nào có sẵn mà không tải xuống thủ công.

Vì vậy, tôi muốn sửa chữa bao bì. Câu hỏi của tôi là:

  1. Có các tùy chọn cấu hình Makefile của Emacs có nghĩa là make installsao chép các nguồn C không? Tôi không thể thấy bất cứ điều gì rõ ràng.
  2. Cách chính xác để thiết lập find-function-C-source-directorytrong gói là gì? Tạo một site-lisp?
  3. Có bất kỳ distro hoặc nền tảng đã làm điều này?

1
find-function-C-source-directorysử dụng source-directorynội bộ, do đó mọi thứ chỉ hoạt động cho một Emacs chạy trong thư mục xây dựng của nó ...
wasamasa

1
Một tìm kiếm ngắn gọn về loại RPM "src" với Emacs cho thấy: rpmfind.net/linux/rpm2html/ trộm thực sự có những sinh vật như vậy. Tôi sẽ cố gắng xem xét những điều này, tuy nhiên, tôi không chắc họ đã thiết lập tra cứu nguồn (mặc dù nó có thể tốt).
wvxvw

Tôi đoán là Arch Linux sẽ xóa tất cả các tệp được sử dụng trong quá trình xây dựng, sau khi hoàn tất cài đặt? Nếu vậy, tôi cho rằng bạn sẽ cần thêm một bước xây dựng để di chuyển các tệp có liên quan sang nơi khác. Sử dụng tệp.-Lisp .el để đặt thư mục là chính xác.
phils 27/2/2016

nghĩ rằng emacs được viết bằng lisp, không phải C
user3629249

1
Xem " Cách bao gồm / sao chép qua srcthư mục khi xây dựng Emacs ": stackoverflow.com/questions/21241967/
luật

Câu trả lời:


1

Nếu điều bạn đang hỏi là "cách bao gồm mã nguồn trong gói Arch của tôi" thì dường như nó không thuộc về nơi này nhưng có thể https://unix.stackexchange.com/ .

Có các tùy chọn cấu hình Makefile của Emacs có nghĩa là thực hiện cài đặt sao chép các nguồn C không?

Không.

Cách chính xác để đặt thư mục find-function-C-source-trong gói là gì? Tạo một trang web-lisp?

Nếu bạn biết, tại thời điểm xây dựng, nơi gói mã nguồn của bạn sẽ được cài đặt, bạn có thể vá mã nguồn. Nhưng tôi sẽ ghi đè lên trang web-lisp.

Có bất kỳ distro hoặc nền tảng đã làm điều này?

Không phải là tôi biết.

Bởi vì bạn, với tư cách là người dùng, luôn có thể tải xuống mã nguồn Emacs, giải nén trong thư mục nhà của bạn, thiết lập find-function-C-source-directoryđể làm cho nó hoạt động tốt.

Một điều tuyệt vời find-functionlà nó không phải biết số dòng chính xác. Thay vào đó, nó sẽ tìm kiếm chức năng trong tệp nguồn. Vì vậy, những thay đổi nhỏ hoặc sự khác biệt phiên bản hoàn toàn không ảnh hưởng đến khả năng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.