📄 apollo
字号:
The Apollo has a bizarre operating system which does not permitEmacs to be dumped with preloaded pure Lisp code. Therefore, eachtime you start Emacs on this system, the standard Lisp code is loadedinto it. Expect it to take a long time. You can prevent loading ofthe standard Lisp code by specifying the -nl switch. It mustcome at the beginning of the command line; only the -t and -batchswitches may come before it.You must use m-apollo.h in the config.h file, together withs-bsd4.2.h.There is one remaining problem on the Apollo. You must replacethe CPP line in src/Makefile with "CPP = /usr/lib/cpp".The C preprocessor lives there rather than in /lib/cpp because theAegis OS uses the /lib directory as the repository for shared libraries.Here is a design for a method of dumping and reloading the relevantnecessary impure areas of Emacs.On dumping, you need to dump only the array `pure' plus thelocations that contain values of forwarded Lisp variables or that areprotected for garbage collection. The former can be found by agarbage- collection-like technique, and the latter are in thestaticprolist vector (see alloc.c for both things).Reloading would work in an Emacs that has just been started; exceptwhen a switch is specified to inhibit this, it would read the dumpfile and set all the appropriate locations. The data loaded must berelocated, but that's not hard. Those locations that are of typeLisp_Object can be found by a technique like garbage-collection, andthose of them that point to storage can be relocated. The other dataread from the file will not need to be relocated.The switch to inhibit loading the data base would be used when itis time to dump a new data base.This would take a few seconds, which is much faster than loadingthe Lisp code of Emacs from scratch.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -