From 6992c0bd640070493aeedcdb9f95be7c206e47d6 Mon Sep 17 00:00:00 2001 From: Thomas Morley Date: Wed, 16 Mar 2016 00:10:20 +0100 Subject: [PATCH] Issue 4809 Keep "\""-signs for graphviz Transform them to "\\\"" --- ly/graphviz-init.ly | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ly/graphviz-init.ly b/ly/graphviz-init.ly index 470faffa6a..96f45ded93 100644 --- a/ly/graphviz-init.ly +++ b/ly/graphviz-init.ly @@ -2,6 +2,8 @@ #(use-modules (scm graphviz)) +#(use-modules (ice-9 regex)) + #(define last-grob-action '()) #(define sym-blacklist '()) @@ -55,9 +57,13 @@ #(define (grob-mod grob file line func prop val) (let* ((val-str (truncate-value val)) - (label (format #f "~a\\n~a:~a\\n~a <- ~a" (grob::name grob) file line prop val-str))) + (label (format #f "~a\\n~a:~a\\n~a <- ~a" (grob::name grob) file line prop val-str)) + ;; to keep escaped "\"" we need to transform it to "\\\"" + ;; otherwise the final pdf-creation will break + (escaped-label + (regexp-substitute/global #f "\"" label 'pre "\\\"" 'post))) (if (relevant? grob file line prop) - (grob-event-node grob label file)))) + (grob-event-node grob escaped-label file)))) #(define (grob-cache grob prop callback value) (let* ((val-str (truncate-value value)) -- 2.39.2