From: Sam S. <sd...@gn...> - 2005-06-16 15:55:36
|
> * Hoehle, Joerg-Cyril <Wbret-Plevy.Ubruyr@g-flfgrzf.pbz> [2005-06-15 18:45:29 +0200]: > > Summary: I see a trivial possibility to add documentation URLs for > CLHS symbols (CLISP already has all that' needed), but somehow harder > for symbols from EXT (yet the same idea could apply, if one knows > where to link to). I just added a file id-href.map to the impnotes chunked distribution, see <http://www.podval.org/~sds/clisp/impnotes/id-href.map>. now you can do this: 1. add an impnotes documentation to ext symbols, pointing to the id in the XML impnotes sources, e.g., (documentation 'ext:expand-form 'impnotes) ==> "code-walk" 2. add a user variable *impnotes-root*, e.g. "http://clisp.cons.org/impnotes.html" "http://clisp.cons.org/impnotes/" "http://www.podval.org/~sds/clisp/impnotes.html" "http://www.podval.org/~sds/clisp/impnotes/" 3. add a system variable *impnotes-id-href-map*: (defvar *impnotes-id-href-map*) (defun impnotes-id-href-map () (if (boundp '*impnotes-id-href-map*) *impnotes-id-href-map* (setq *impnotes-id-href-map* (when (char= #\/ (char *impnotes-root* (1- (length *impnotes-root*)))) (let ((ht (make-hash-table :test 'equal))) (with-open-file (map (ext:string-concat *impnotes-root* "id-href.map")) (loop for s = (read-line map) while s do (setf (gethash s ht) (read-line map)))) ht))))) 4. modify DESCRIBE to also do (let ((impnotes (documentation s 'impnotes)) (map (when impnotes (impnotes-id-href-map)))) (when impnotes (format t "CLISP implementation notes documentation is here:~%<~A" *impnotes-root*) (if map (format t "~A>%" (gethash impnotes map)) (format t "#~A>~%" impnotes)))) -- Sam Steingold (http://www.podval.org/~sds) running w2k <http://www.openvotingconsortium.org/> <http://www.jihadwatch.org/> <http://pmw.org.il/> <http://www.memri.org/> <http://www.palestinefacts.org/> Hard work has a future payoff. Laziness pays off NOW. |