From 2cc67cd3bf9e69d615e53e07352a843b561da51d Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Thu, 12 May 2022 14:46:35 -0700 Subject: [PATCH] change how attr-keys are printed --- quad2/layout.rkt | 1 + quad2/struct.rkt | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/quad2/layout.rkt b/quad2/layout.rkt index 4eb20da4..7d129a6d 100644 --- a/quad2/layout.rkt +++ b/quad2/layout.rkt @@ -53,6 +53,7 @@ (for/fold ([posn0 ($point 0 0)] #:result qs) ([q (in-list qs)]) + #RRR q (define first-posn-on-next-line ($point 0 (add1 ($point-y posn0)))) (define other-possible-posns (list first-posn-on-next-line)) (define posn1 (for/first ([posn (in-list (cons posn0 other-possible-posns))] diff --git a/quad2/struct.rkt b/quad2/struct.rkt index e211bc7c..ccb0b736 100644 --- a/quad2/struct.rkt +++ b/quad2/struct.rkt @@ -1,5 +1,6 @@ #lang racket/base -(require (for-syntax racket/base racket/syntax)) +(require (for-syntax racket/base racket/syntax) + racket/struct) (provide (all-defined-out)) (struct $drawing-inst () #:transparent) @@ -9,7 +10,10 @@ (struct $doc $drawing-inst (inst) #:transparent) (struct $page $drawing-inst (inst) #:transparent) -(struct attr-key (name mandatory? default) #:transparent) +(struct attr-key (name mandatory? default) #:transparent + #:methods gen:custom-write + [(define (write-proc val out mode) + (fprintf out (format ":~a" (attr-key-name val))))]) (define (make-attr-key name [mandatory? #false] [default #false]) (attr-key name mandatory? default))