From 8e64fa7f6595599c985f68d91f3d7195bae2f569 Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Sat, 12 Oct 2019 13:18:02 +0800 Subject: [PATCH] [html-style-info] compact gnc:html-style-table-fetch --- .../report/report-system/html-style-info.scm | 34 ++++++++----------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/gnucash/report/report-system/html-style-info.scm b/gnucash/report/report-system/html-style-info.scm index ab8cd07fc7..38c166da8f 100644 --- a/gnucash/report/report-system/html-style-info.scm +++ b/gnucash/report/report-system/html-style-info.scm @@ -353,32 +353,26 @@ (and (gnc:html-data-style-info? s) (gnc:html-data-style-info-inheritable? s))) s #f))) - + (define (fetch-worker style antecedents) - (if (null? antecedents) - style - (let ((parent (car antecedents))) - (if (not parent) - (fetch-worker style (cdr antecedents)) - (if (gnc:html-style-table-compiled? parent) - (gnc:html-style-info-merge - style - (hash-ref (gnc:html-style-table-inheritable parent) markup)) - (fetch-worker - (gnc:html-style-info-merge - style (get-inheritable-style - (gnc:html-style-table-primary parent))) - (cdr antecedents))))))) + (cond + ((null? antecedents) style) + ((not (car antecedents)) (fetch-worker style (cdr antecedents))) + ((gnc:html-style-table-compiled? (car antecedents)) + (gnc:html-style-info-merge + style (hash-ref (gnc:html-style-table-inheritable (car antecedents)) markup))) + (else + (fetch-worker + (gnc:html-style-info-merge + style (get-inheritable-style + (gnc:html-style-table-primary (car antecedents)))) + (cdr antecedents))))) (if (and table (gnc:html-style-table-compiled? table)) (hash-ref (gnc:html-style-table-compiled table) markup) - (fetch-worker + (fetch-worker (and table (hash-ref (gnc:html-style-table-primary table) markup)) antecedents))) (define (gnc:html-style-table-set! table markup style-info) (hash-set! (gnc:html-style-table-primary table) markup style-info)) - - - -