From 458e7e9ff1aa851b1bc0e0f4ca23fa47a2da81bd Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Fri, 23 Feb 2018 15:32:28 +0800 Subject: [PATCH 1/4] html-document.scm: Restore tag A previous commit 5b40df510 has eaten the opening tag which makes the whole document an invalid XML tree. After this fix, the document is still not valid XHTML. Until the exact DOCTYPE is finalised I suggest we restore the root tag. --- gnucash/report/report-system/html-document.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnucash/report/report-system/html-document.scm b/gnucash/report/report-system/html-document.scm index b95ddb11c7..e9c77e845b 100644 --- a/gnucash/report/report-system/html-document.scm +++ b/gnucash/report/report-system/html-document.scm @@ -157,6 +157,7 @@ ;;./share/gnucash/scm/gnucash/report/taxinvoice.eguile.scm: ;;./share/gnucash/scm/gnucash/report/balsheet-eg.eguile.scm: + (push "\n") (push "\n") (push "\n") (if css? From 578e9860d04eded3e95106f841c454cc0cf052bb Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Wed, 21 Feb 2018 10:06:06 +0800 Subject: [PATCH 2/4] Add optional testing group for srfi-64 This adds an optional group to CMakeLists for systems with SRFI-64 included. --- CMakeLists.txt | 11 +++++++++++ gnucash/report/standard-reports/test/CMakeLists.txt | 9 +++++++++ 2 files changed, 20 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 08e120690c..686baad023 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -323,6 +323,17 @@ IF (NOT GUILE_EXECUTABLE) MESSAGE (SEND_ERROR "The guile executable was not found, but is required. Please set GUILE_EXECUTABLE.") ENDIF (NOT GUILE_EXECUTABLE) +# Test that guile has SRFI-64. This is required for some unit tests. +execute_process (COMMAND ${GUILE_EXECUTABLE} -c "(use-modules (srfi srfi-64))" + RESULT_VARIABLE GNC_SRFI64_RESULT + ERROR_QUIET +) + +if (GNC_SRFI64_RESULT EQUAL 0) + message (STATUS "Using guile SRFI-64") + set (HAVE_SRFI64 TRUE) +endif () + # ############################################################ IF (WITH_AQBANKING) GNC_PKG_CHECK_MODULES (GWENHYWFAR REQUIRED gwenhywfar) diff --git a/gnucash/report/standard-reports/test/CMakeLists.txt b/gnucash/report/standard-reports/test/CMakeLists.txt index ddc0cb83c2..25ce314ce0 100644 --- a/gnucash/report/standard-reports/test/CMakeLists.txt +++ b/gnucash/report/standard-reports/test/CMakeLists.txt @@ -6,6 +6,9 @@ SET(scm_test_standard_reports_SOURCES test-standard-net-linechart.scm ) +set(scm_test_with_srfi64_SOURCES +) + SET(scm_test_report_SUPPORT test-generic-category-report.scm test-generic-net-barchart.scm @@ -23,6 +26,11 @@ set(GUILE_DEPENDS scm-standard-reports scm-report-stylesheets ) + +if (HAVE_SRFI64) + gnc_add_scheme_tests("${scm_test_with_srfi64_SOURCES}") +endif (HAVE_SRFI64) + GNC_ADD_SCHEME_TESTS("${scm_test_standard_reports_SOURCES}") GNC_ADD_SCHEME_TARGETS(scm-test-standard-support @@ -41,4 +49,5 @@ GNC_ADD_SCHEME_TARGETS(scm-test-standard-reports add_dependencies(check scm-test-standard-reports) SET_DIST_LIST(test_standard_reports_DIST CMakeLists.txt + ${scm_test_with_srfi64_SOURCES} ${scm_test_standard_reports_SOURCES} ${scm_test_report_SUPPORT}) From 03e862ec47e6f27e38e261c1b71356a3d7a28be8 Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Mon, 19 Feb 2018 23:31:46 +0800 Subject: [PATCH 3/4] TR: (minor change) eq? -> eqv? According to the guide, eqv? better than eq? for chars --- gnucash/report/standard-reports/transaction.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnucash/report/standard-reports/transaction.scm b/gnucash/report/standard-reports/transaction.scm index 45836ded21..763e03c11e 100644 --- a/gnucash/report/standard-reports/transaction.scm +++ b/gnucash/report/standard-reports/transaction.scm @@ -987,7 +987,7 @@ tags within description, notes or memo. ") (lambda (split transaction-row?) (gnc:make-html-table-cell/markup "date-cell" - (if (eq? (xaccSplitGetReconcile split) #\y) + (if (eqv? (xaccSplitGetReconcile split) #\y) (qof-print-date (xaccSplitGetDateReconciled split)) ""))))) From f7378e9332a370bf432ea190e9b43a60776c7b9a Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Mon, 19 Feb 2018 23:29:12 +0800 Subject: [PATCH 4/4] TR & options: upgrade HTML to XHTML Upgrade
tags to
to allow well-formed XML parsing. --- gnucash/report/standard-reports/transaction.scm | 2 +- libgnucash/app-utils/options.scm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gnucash/report/standard-reports/transaction.scm b/gnucash/report/standard-reports/transaction.scm index 763e03c11e..9227cb7ae1 100644 --- a/gnucash/report/standard-reports/transaction.scm +++ b/gnucash/report/standard-reports/transaction.scm @@ -1095,7 +1095,7 @@ tags within description, notes or memo. ") str (if (column-uses? 'common-currency) (string-append - "
" + "
" (gnc-commodity-get-mnemonic (opt-val gnc:pagename-general optname-currency))) "")))) diff --git a/libgnucash/app-utils/options.scm b/libgnucash/app-utils/options.scm index cfa0300025..9d8f109208 100644 --- a/libgnucash/app-utils/options.scm +++ b/libgnucash/app-utils/options.scm @@ -2056,8 +2056,8 @@ (set! row-contents (cons return-string row-contents))))) (gnc:options-for-each disp-option-if-changed options) (string-append (string-join (reverse row-contents) - (if plaintext? "\n" "
")) - (if plaintext? "\n\n" "

")))) + (if plaintext? "\n" "
")) + (if plaintext? "\n\n" "

")))) (define (gnc:send-options db_handle options) (gnc:options-for-each