Changeset 13686
- Timestamp:
- 11/01/11 20:57:30 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/doc/manual/grovel.lisp
r13682 r13686 3 3 (with-open-file (stream "java.tex" :direction :output) 4 4 (loop :for symbol :being :each :external-symbol :of package 5 : collecting (symbol-as-tex symbol))))5 :doing (format stream "~&~A~%~%"(symbol-as-tex symbol))))) 6 6 7 7 (asdf:load-system 'swank) ;; XXX Does this load the SWANK-BACKEND package as well 8 8 9 (defun arglist-as-string (symbol) 10 (loop :for arg :in (arglist symbol) 11 :collecting (format nil "~A" (symbol-name arg)))) 9 (defun arglist-as-tex (symbol) 10 (handler-case 11 (loop :for arg :in (arglist symbol) 12 :collecting 13 (format nil 14 (if (string= (subseq (symbol-name arg) 0 1) #\&) 15 "\\~A" 16 "~A") 17 (string-downcase (symbol-name arg)))) 18 (t (e) 19 (progn (warn "Failed to form arglist for ~A: ~A" symbol e) 20 (list ""))))) 21 12 22 13 23 (defvar *type-alist* … … 15 25 (:macro . "Macro") 16 26 (:variable . "Variable") 27 (:class . "Class") 17 28 (:generic-function . "Generic Function"))) 18 29 19 30 (defun symbol-as-tex (symbol) 20 31 "Return the TeX representation of a SYMBOL as Tex." 21 (let (type documentation arglist doc )32 (let (type documentation arglist doc symbol-name package-name) 22 33 (when (setf doc (swank-backend:describe-symbol-for-emacs symbol)) 23 34 (cond … … 25 36 (setf type :function 26 37 documentation (second doc) 27 arglist ( arglist-as-string symbol)))38 arglist (format nil "~{~A~^ ~}" (arglist-as-tex symbol)))) 28 39 ((find :variable doc) 29 40 (setf type :variable … … 34 45 ((find :generic-function doc) 35 46 (setf type :generic-function 36 documentation (second doc)))) 37 (format nil "\\ref{~A:~A}~&--- ~A [\\textbf{~A}]: ~A" 47 documentation (second doc))) 48 ((find :class doc) 49 (setf type :class 50 documentation (second doc))) 51 (t 52 (warn "Unknown type of documentation for symbol ~A: ~A" 53 symbol doc))) 54 (setf symbol-name (string-downcase 55 symbol) 56 package-name (string-downcase 57 (package-name (find-package (symbol-package symbol))))) 58 (format nil "\\label{~A:~A}~&--- ~A: \\textbf{~A} [\\textbf{~A}] \\textit{~A}~%~%~A" 38 59 (symbol-name symbol) 39 (package-name ( symbol-package symbol))60 (package-name (find-package (symbol-package symbol))) 40 61 (cdr (assoc type *type-alist*)) 41 (symbol-name symbol) 42 (package-name (symbol-package symbol)))))) 62 symbol-name 63 package-name 64 (if arglist arglist "") 65 (if documentation documentation ""))))) 66 43 67 44 68
Note: See TracChangeset
for help on using the changeset viewer.