Hello Alexandria developers, attached is the patch that fixes some typos, omissions and formatting in alexandria manual. Note that the manual at http://common-lisp.net/project/alexandria/draft/alexandria.pdf is outdated.
I had to manually comment fun-alexandria-sans.info entry, as this file is not generated by docstring.lisp. I have no idea why :( - could it be related to inlining? Also, while compiling the pdf, I've noticed a bug in docstring.lisp: title names for functions like (defun (setf something) ...) should be surrounded by '{}'. An obvious patch for that is also attached. Best Regards, Victor
New patches: [Fixing documentation omission and typos, removing sans entry to let 'make pdf' successed. Victor Kryukov <[EMAIL PROTECTED]>**20080102223719] < > { hunk ./doc/Makefile 6 clean: rm -rf include *.aux *.cp *.fn *.fns *.ky *.log *.pg *.toc *.tp *.tps *.vr *.pdf *.html -# Hook into the super sekrit texinfo generator in the SBCL tree -- this is just a quick way -# to bootrap documentation for now. +# Hook into the super secret texinfo generator in the SBCL tree -- +# this is just a quick way to bootstrap documentation for now. include: sbcl --eval '(progn (require :asdf) (require :alexandria) (rename-package :alexandria :alexandria))' \ --eval '(load (merge-pathnames "doc/manual/docstrings" (posix-getenv "SBCL_SOURCE_ROOT")))' \ hunk ./doc/alexandria.texinfo 138 @include include/fun-alexandria-setf-lastcar.texinfo @include include/fun-alexandria-make-circular-list.texinfo @include include/fun-alexandria-ensure-list.texinfo [EMAIL PROTECTED] include/fun-alexandria-sans.texinfo [EMAIL PROTECTED] @include include/fun-alexandria-sans.texinfo @include include/fun-alexandria-mappend.texinfo @include include/fun-alexandria-map-product.texinfo @include include/fun-alexandria-set-equal.texinfo hunk ./doc/alexandria.texinfo 155 @include include/macro-alexandria-removef.texinfo @include include/fun-alexandria-rotate.texinfo [EMAIL PROTECTED] include/fun-alexandria-suffle.texinfo [EMAIL PROTECTED] include/fun-alexandria-shuffle.texinfo @include include/fun-alexandria-random-elt.texinfo @include include/fun-alexandria-emptyp.texinfo @include include/fun-alexandria-sequence-of-length-p.texinfo hunk ./doc/alexandria.texinfo 171 @comment node-name, next, previous, up @section Macro Writing Utilities [EMAIL PROTECTED] include/macro-alexandria-with-gensyms.texinfo @include include/macro-alexandria-with-unique-names.texinfo @include include/macro-alexandria-once-only.texinfo hunk ./lists.lisp 153 (list list))) (defun remove-from-plist (plist &rest keys) - "Returns a propery-list with same keys and values as PLIST, except that keys + "Returns a property-list with same keys and values as PLIST, except that keys in the list designated by KEYS and values corresponding to them are removed. The returned property-list may share structure with the PLIST, but PLIST is not destructively modified. Keys are compared using EQ." hunk ./lists.lisp 218 Example: - (map-product 'list '(1 2) '(3 4) '(5 6)) => ((1 3 5) (1 3 6) (1 4 5) (1 4 6) - (2 3 5) (2 3 6) (2 4 5) (2 4 6)) + (map-product 'list '(1 2) '(3 4) '(5 6)) => + ((1 3 5) (1 3 6) (1 4 5) (1 4 6) + (2 3 5) (2 3 6) (2 4 5) (2 4 6)) " (labels ((%map-product (f lists) (let ((more (cdr lists)) hunk ./macros.lisp 25 ensuring that each is evaluated only once. Example: + (defmacro cons1 (x) (once-only (x) `(cons ,x ,x))) hunk ./macros.lisp 27 - (let ((y 0)) (cons1 (incf y))) => (1 . 1)" + (let ((y 0)) (cons1 (incf y))) => (1 . 1) +" (let ((gensyms (make-gensym-list (length names) "ONCE-ONLY"))) ;; bind in user-macro `(let ,(mapcar (lambda (g n) (list g `(gensym ,(string n)))) hunk ./numbers.lisp 5 (declaim (inline clamp)) (defun clamp (number min max) - "Clamps the NUMBER into [MIN, MAX] range. Returns MIN if NUMBER lesser then + "Clamps the NUMBER into [MIN, MAX] range. Returns MIN if NUMBER is lesser then MIN and MAX if NUMBER is greater then MAX, otherwise returns NUMBER." (if (< number min) min hunk ./symbols.lisp 10 interned there. Returns a secondary value reflecting the status of the symbol in the package, which matches the secondary return value of INTERN. -Example: (ENSURE-SYMBOL :CONS :CL) => CL:CONS, :EXTERNAL" +Example: + + (ensure-symbol :cons :cl) => cl:cons, :external +" (intern (string name) package)) (defun make-formatted-symbol (package name) hunk ./symbols.lisp 41 (defun make-gensym-list (length &optional (x "G")) "Returns a list of LENGTH gensyms, each generated with a call to -GENSYM using (if provided) as the argument." +GENSYM using X (if provided) as the argument." (loop repeat length collect (gensym x))) } Context: [fix dependency: macros.lisp is using MAKE-GENSYM-LIST from symbols.lisp [EMAIL PROTECTED] [NTH-VALUE-OR Nikodemus Siivola <[EMAIL PROTECTED]>**20071219132132 * Thanks to Andreas Fuchs -- I only took the liberty of changing the name from MULTIPLE-VALUE-OR to NTH-VALUE-OR. ] [fix SANS -> REMOVE-FROM-PLIST in tests Nikodemus Siivola <[EMAIL PROTECTED]>**20071219130641 * So SANS is now REMOVE-FROM-PLIST. ...I have to say that I'm still not sure I like this: (remove-from-plist x y) ; which is the plist? The common usage in REMOVE &co is to put the element designators first. This is confusing. Maybe we really want both: function SANS plist &rest keys function REMOVE-FROM-PLIST keys plist ] [fix MAKE-GENSYM-LIST when called without the second argument Nikodemus Siivola <[EMAIL PROTECTED]>**20071219130559 * plus a test-case ] [better SHUFFLE Nikodemus Siivola <[EMAIL PROTECTED]>**20071219125911 * Thanks to Sean Ross: implement the Fisher/Yates/Knuth algorithm correctly. * As penance, specialize for lists as well: travel along the list, swapping towards the end -- marginally more efficient then swapping along the whole length. ] [ENSURE-GETHASH Nikodemus Siivola <[EMAIL PROTECTED]>**20071219125800 * new function: like GETHASH, but saves the default value in table if key is not found.* ] [fixed and robustified tests Nikodemus Siivola <[EMAIL PROTECTED]>**20071219125512] [Switch the argument order of STARTS/ENDS-WITH-SUBSEQ to that it matches STARTS/ENDS-WITH. [EMAIL PROTECTED] [Fix map-permutations typo. [EMAIL PROTECTED] [fix: darcs merge conflict was recorded into package.lisp [EMAIL PROTECTED] [Merge conflicts around the conditions [EMAIL PROTECTED] [Simplify IGNORE-SOME-CONDITIONS's docstring. Luis Oliveira <[EMAIL PROTECTED]>**20070823040556] [New macro: IGNORE-SOME-CONDITIONS Luis Oliveira <[EMAIL PROTECTED]>**20070726171110] [New macro: NCONCF Luis Oliveira <[EMAIL PROTECTED]>**20070720003523 - Added respective documentation to the manual. - New test: NCONCF.1 ] [New function: FEATUREP Luis Oliveira <[EMAIL PROTECTED]>**20070720003420 Added respective documentation in manual as well. ] [New macro: COERCEF Luis Oliveira <[EMAIL PROTECTED]>**20070720003607 Added respective documentation to the manual. ] [Small fix to REQUIRED-ARGUMENT's control string. Luis Oliveira <[EMAIL PROTECTED]>**20070823040500] [Fix some type declarations for CLISP-compatibility. Stelian Ionescu <[EMAIL PROTECTED]>**20070806160206 Type declareations like ((or fixnum null) bar) or (unsigned-byte foo) don't work on CLISP. Must use (type unsigned-byte foo) instead. ] [Remove trailing whitespace in source code Luis Oliveira <[EMAIL PROTECTED]>**20070711140350] [Renamed errors.lisp to conditions.lisp [EMAIL PROTECTED] [Added simple-style-warning function and condition. [EMAIL PROTECTED] [sane named-lambda Nikodemus Siivola <[EMAIL PROTECTED]>**20070809171107] [Use a shared expander for the SWITCH macros [EMAIL PROTECTED] - support #'eq and 'eq style :test arg - support T and OTHERWISE clause instead of the :default keyword arg ] [Make define-constant understand :test 'string= and #'string=. Feel free to 'darcs undo' it if it's considered too dwim'y. [EMAIL PROTECTED] [DECLAIM, not DECLARE. Nikodemus Siivola <[EMAIL PROTECTED]>**20070703103139] [Combinations, permutations, and derangements Nikodemus Siivola <[EMAIL PROTECTED]>**20070701122604] [Factorial, binomial-coefficient, subfactorial, and count-permutations. Nikodemus Siivola <[EMAIL PROTECTED]>**20070701122419] [Compiler-macro for OF-TYPE Nikodemus Siivola <[EMAIL PROTECTED]>**20070701122227] [ENSURE-CAR Nikodemus Siivola <[EMAIL PROTECTED]>**20070701122110] [ENSURE-FUNCTION Nikodemus Siivola <[EMAIL PROTECTED]>**20070701121903] [Documentation and comment tweaks Nikodemus Siivola <[EMAIL PROTECTED]>**20070701121316] [deftype for ARRAY-LENGTH Nikodemus Siivola <[EMAIL PROTECTED]>**20070701120827] [Added starts-with-subseq and ends-with-subseq [EMAIL PROTECTED] [Added delete-from-plist, delete-from-plistf, remove-from-plistf. [EMAIL PROTECTED] [MAP-IOTA, misc. fixes, and tests up to 100% coverage Nikodemus Siivola <[EMAIL PROTECTED]>**20070601143059] [Nothing Can Stop The Progressive Revolution Nikodemus Siivola <[EMAIL PROTECTED]>**20070601123336 Added: * XOR * WHICHEVER * SWITCH, ESWITCH, CSWItCH * UNIONF, NUNIONF * ALIST-PLIST, PLIST-ALIST * ENSURE-CONS * NAMED-LAMDBA * DEFINE-CONSTANT * STRING-DESIGNATOR Note: Documentation strings of many new operators are sorely lacking, particularly NAMED-LAMBDA and *SWITCH. ] [Added a faster loop based remove-from-plist [EMAIL PROTECTED] [Added a REMOVE-FROM-PLIST (same as SANS) [EMAIL PROTECTED] [Docstring typo [EMAIL PROTECTED] [Fix when-let documentation string. [EMAIL PROTECTED] [Patch by Tayssin John Gabbour, fixing two typos. Nikodemus Siivola <[EMAIL PROTECTED]>**20070318015005] [with-gensyms Nikodemus Siivola <[EMAIL PROTECTED]>**20070225160042] [required-argument Nikodemus Siivola <[EMAIL PROTECTED]>**20070225160010] [IF-LET, IF-LET*, WHEN-LET, and WHEN-LET* Nikodemus Siivola <[EMAIL PROTECTED]>**20061107104944] [Extended parse-body with a :whole arg, report multiple docstring error. [EMAIL PROTECTED] [Added (declare (ignore sub)) for type= [EMAIL PROTECTED] [SETF-functions for lastcar, first-elt, and last-elt. :KEY and :TEST for starts-with and ends-with Nikodemus Siivola <[EMAIL PROTECTED]>**20061017155126] [new: flatten, map-product, setp. fixed: set-equal Nikodemus Siivola <[EMAIL PROTECTED]>**20061016150600] [REMOVE-KEYS renamed to SANS, with new --arguably better-- argument order Nikodemus Siivola <[EMAIL PROTECTED]>**20061016125413] [ROTATE-RIGHT and ROTATE-LEFT replaced by a single function ROTATE Nikodemus Siivola <[EMAIL PROTECTED]>**20061016123238] [variance and standard-deviation biased by default, documentation fixes for both Nikodemus Siivola <[EMAIL PROTECTED]>**20061016114618] [documentation Nikodemus Siivola <[EMAIL PROTECTED]>**20061015215052] [Added .boring and added public_html to it, so you can darcs get it into your local alexandria repo [EMAIL PROTECTED] [tests passing Nikodemus Siivola <[EMAIL PROTECTED]>**20061015160607] [initial version Nikodemus Siivola <[EMAIL PROTECTED]>**20061015154202] Patch bundle hash: a9a08d93d3778c61614feabf478bd7d4832e56ff
Index: doc/manual/docstrings.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/doc/manual/docstrings.lisp,v retrieving revision 1.18 diff -u -r1.18 docstrings.lisp --- doc/manual/docstrings.lisp 30 Apr 2007 11:26:09 -0000 1.18 +++ doc/manual/docstrings.lisp 2 Jan 2008 22:29:47 -0000 @@ -241,7 +241,7 @@ (defmethod title-using-kind/name (kind (name list) doc) (declare (ignore kind)) (assert (setf-name-p name)) - (format nil "(setf ~A:~A)" (package-name (get-package doc)) (second name))) + (format nil "{(setf ~A:~A)}" (package-name (get-package doc)) (second name))) (defmethod title-using-kind/name ((kind (eql 'method)) name doc) (format nil "~{~A ~}~A"
_______________________________________________ alexandria-devel mailing list alexandria-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/alexandria-devel