[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Keep "\""-signs for graphviz (issue 292110043 by address@hidden)

From: thomasmorley65
Subject: Keep "\""-signs for graphviz (issue 292110043 by address@hidden)
Date: Tue, 22 Mar 2016 11:09:38 +0000

Reviewers: ,

Please review

Not sure, whether it's the best way to do it.

Keep "\""-signs for graphviz

Transform them to "\\\""

Please review this at

Affected files (+8, -2 lines):
  M ly/

Index: ly/
diff --git a/ly/ b/ly/
index 470faffa6ac36228222bb077a250e1fdb2e240cb..96f45ded93ccc3f784eeaea6e1ebe8a61764f2b1 100644
--- a/ly/
+++ b/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))

reply via email to

[Prev in Thread] Current Thread [Next in Thread]