From 58270fb2c20b4b9e7bec68e7bf21e85f80eaeaa3 Mon Sep 17 00:00:00 2001
From: Gleefre <varedif.a.s@gmail.com>
Date: Mon, 16 Oct 2023 20:28:13 +0200
Subject: [PATCH] Update documentation for the PARSE-BODY.

---
 alexandria-1/macros.lisp | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/alexandria-1/macros.lisp b/alexandria-1/macros.lisp
index 2fb0e58..70e84ab 100644
--- a/alexandria-1/macros.lisp
+++ b/alexandria-1/macros.lisp
@@ -125,8 +125,18 @@ Example:
 (defun parse-body (body &key documentation whole (if-duplicate-doc-string :error))
   "Parses BODY into (values remaining-forms declarations doc-string).
 Documentation strings are recognized only if DOCUMENTATION is true.
-Syntax errors in body are signalled and WHOLE is used in the signal
-arguments when given."
+
+Syntax errors in body (duplicate doc strings, see ANSI 3.4.11) are
+signalled by default and WHOLE is used in the signal arguments when
+given.
+
+This behavior can be configured by passing IF-DUPLICATE-DOC-STRING argument.
+Defined keywords:
+  :ERROR - signals an error
+  :CERROR - signals a continuable error, defines restarts RETURN, IGNORE, or OVERWRITE
+  :RETURN - treats the string as the form and returns early
+  :IGNORE - ignores the string and continues parsing
+  :OVERWRITE - sets the documentation string and continues parsing"
   (let ((doc nil)
         (decls nil)
         (current nil))
-- 
GitLab