mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-04-27 11:40:45 -07:00
Implement CDR 7: Clarification Proposal for CLHS Section 22.3
(The second case)
This commit is contained in:
parent
17f8b1f81d
commit
ff00f80ace
2 changed files with 12 additions and 8 deletions
|
|
@ -48,6 +48,9 @@ arity dependent on platform) is also possible.
|
|||
whenever termination should be forced or not.
|
||||
|
||||
** Enhancements
|
||||
- Implemented CDR-7
|
||||
https://common-lisp.net/project/cdr/document/7/index.html
|
||||
|
||||
- Implemented CDRs: CDR-1, CDR-5, CDR-14
|
||||
Both CDR-1 and CDR-5 were already implemented, CDR-14 made us to list them
|
||||
in =*features*=
|
||||
|
|
|
|||
|
|
@ -22,7 +22,8 @@
|
|||
|
||||
(in-package "SYS")
|
||||
|
||||
(push :formatter *features*)
|
||||
(pushnew :cdr-7 *features*)
|
||||
(pushnew :formatter *features*)
|
||||
|
||||
;;;; Float printing.
|
||||
|
||||
|
|
@ -2819,13 +2820,13 @@
|
|||
(def-format-interpreter #\/ (string start end colonp atsignp params)
|
||||
(let ((symbol (extract-user-function-name string start end)))
|
||||
(collect ((args))
|
||||
(dolist (param-and-offset params)
|
||||
(let ((param (cdr param-and-offset)))
|
||||
(case param
|
||||
(:arg (let ((x (next-arg))) (when x (args x))))
|
||||
(:remaining (args (length args)))
|
||||
(t (args param)))))
|
||||
(apply (fdefinition symbol) stream (next-arg) colonp atsignp (args)))))
|
||||
(dolist (param-and-offset params)
|
||||
(let ((param (cdr param-and-offset)))
|
||||
(case param
|
||||
(:arg (args (next-arg)))
|
||||
(:remaining (args (length args)))
|
||||
(t (args param)))))
|
||||
(apply (fdefinition symbol) stream (next-arg) colonp atsignp (args)))))
|
||||
|
||||
(defun extract-user-function-name (string start end)
|
||||
(declare (si::c-local))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue