]> git.donarmstrong.com Git - lilypond.git/commitdiff
#4877: Revert #4747: (Remove (all) uses of is-absolute?)
authorUrs Liska <ul@openlilylib.org>
Thu, 2 Jun 2016 14:17:41 +0000 (16:17 +0200)
committerUrs Liska <ul@openlilylib.org>
Fri, 3 Jun 2016 07:54:08 +0000 (09:54 +0200)
This reverts

commit f30a8189adbbeefa2103e2c2e194040f66bc2291
Author: Urs Liska <ul@openlilylib.org>
Date:   Tue Jan 19 10:52:33 2016 +0100

    #4747: Remove (all) uses of is-absolute?

====================

As discussion revealed the commit message is not true
and indicates a misconception.
(car ly:input-file-line-char-column a-location) does
*not* always return an absolute path, instead this
depends on how the file path has been passed to LilyPond.

As this commit changed the behaviour of point-and-click
in a somewhat unintentional and unmaintainable way it
is better to revert the commit. Especially as the
original behaviour was not harmful.

========================

The check for absolute paths in  in output-ps.scm
and -svg.scm is unnecessary because
(car ly:input-file-line-char-column a-location)
always returns an absolute, slashified path

Now is-absolute? is not used anymore by LilyPond itself. (reverted from commit f30a8189adbbeefa2103e2c2e194040f66bc2291)

scm/output-ps.scm
scm/output-svg.scm

index 69f277203934985a01979476b56df1803c5a1bae..70b13848e4aa6ad898bac04f79d33c80dfdaf838 100644 (file)
                                 (ly:in-event-class? cause t))
                               point-and-click))))
             (let* ((location (ly:input-file-line-char-column music-origin))
+                   (raw-file (car location))
+                   (file (if (is-absolute? raw-file)
+                             raw-file
+                             (string-append (ly-getcwd) "/" raw-file)))
                    (x-ext (ly:grob-extent grob grob X))
                    (y-ext (ly:grob-extent grob grob Y)))
 
                              ;; Backslashes are not valid
                              ;; file URI path separators.
                              (ly:string-percent-encode
-                              (ly:string-substitute "\\" "/" (car location)))
+                              (ly:string-substitute "\\" "/" file))
 
                              (cadr location)
                              (caddr location)
index ca086318d7810d1f4769d59e6d2e88d4fc28668d..78bda3c35b8c88f376fadc6f9d471597ca1ba482 100644 (file)
                     (else (any (lambda (t)
                                  (ly:in-event-class? cause t))
                                point-and-click)))
-              (let* ((location (ly:input-file-line-char-column music-origin)))
-
+              (let* ((location (ly:input-file-line-char-column music-origin))
+                     (raw-file (car location))
+                     (file (if (is-absolute? raw-file)
+                               raw-file
+                               (string-append (ly-getcwd) "/" raw-file))))
+                
                 (ly:format "<a style=\"color:inherit;\" xlink:href=\"textedit://~a:~a:~a:~a\">\n"
                            ;; Backslashes are not valid
                            ;; file URI path separators.
                            (ly:string-percent-encode
-                            (ly:string-substitute "\\" "/" (car location)))
-
+                            (ly:string-substitute "\\" "/" file))
+                           
                            (cadr location)
                            (caddr location)
                            (1+ (cadddr location))))))))