[slime-cvs] CVS update: slime/HACKING
Luke Gorrie
lgorrie at common-lisp.net
Mon Jan 12 00:55:30 UTC 2004
Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv1249
Modified Files:
HACKING
Log Message:
Date: Sun Jan 11 19:55:29 2004
Author: lgorrie
Index: slime/HACKING
diff -u slime/HACKING:1.1 slime/HACKING:1.2
--- slime/HACKING:1.1 Wed Dec 17 13:19:19 2003
+++ slime/HACKING Sun Jan 11 19:55:29 2004
@@ -9,9 +9,9 @@
vc-mode or pcl-cvs commit buffer.
ChangeLog diffs are automatically sent to the slime-devel mailing list
-each day as a digest summary of the slime-cvs list.
+each day as a sort-of digest summary of the slime-cvs list.
-For good tips on writing ChangeLog entries see the GNU Coding Standards:
+There are good tips on writing ChangeLog entries in the GNU Coding Standards:
http://www.gnu.org/prep/standards_40.html#SEC40
For information about Emacs's ChangeLog support see the `Change Log'
@@ -43,6 +43,25 @@
Refactoring code to avoid direct calls from swank.lisp to functions
defined in swank-<impl>.lisp is good for karma.
+* Lisp code structure
+
+The ideal is to structure things like this:
+
+ swank-backend.lisp:
+ Definition of the interface to non-portable features.
+ Stand-alone.
+
+ swank-<cmucl|...>.lisp:
+ Backend implementation for a specific Common Lisp system.
+ Uses swank-backend.lisp.
+
+ swank.lisp:
+ The top-level server program, built from the other components.
+ Uses swank-backend.lisp as an interface to the actual backends.
+
+Today things are more messy. Originally everything was in one file,
+and we haven't finished the reorganisation yet.
+
* Calling Lisp from Emacs
By convention our Elisp code only calls functions in the SWANK package
@@ -77,6 +96,14 @@
outline. See the `Outline Mode' node of the Emacs manual for details:
http://www.gnu.org/software/emacs/manual/html_node/emacs_246.html#SEC246
+Some tips to make the most of outline mode:
+ You can set `outline-minor-mode-prefix' for more convenient
+ keybindings, e.g. to [(control \;)].
+ `<prefix> C-a' displays all levels.
+ `C-3 <prefix> C-q' displays only top-level headings.
+ `<prefix> C-t' displays only/all headings.
+ `<prefix> {n,p}' for next/previous heading.
+
* Coding style
We like the fact that each function in SLIME will fit on a single
@@ -88,6 +115,6 @@
http://www.norvig.com/luv-slides.ps
Remember that to rewrite a program better is the sincerest form of
-code appreciation. If you can see a way to rewrite a part of SLIME
+code appreciation. When you can see a way to rewrite a part of SLIME
better, please do so!
More information about the slime-cvs
mailing list