diff options
author | Urs Liska <ul@openlilylib.org> | 2016-06-02 16:17:41 +0200 |
---|---|---|
committer | Urs Liska <ul@openlilylib.org> | 2016-06-03 09:54:08 +0200 |
commit | b5b3e36d04fe1a35c9ffc5671b1351394783fbf6 (patch) | |
tree | f580f2cde0f0a0e9433293393d6dc4f6a9bee339 /scm | |
parent | fbddf24d1f95485c421fa170fc10daba142b40c6 (diff) |
#4877: Revert #4747: (Remove (all) uses of is-absolute?)
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)
Diffstat (limited to 'scm')
-rw-r--r-- | scm/output-ps.scm | 6 | ||||
-rw-r--r-- | scm/output-svg.scm | 12 |
2 files changed, 13 insertions, 5 deletions
diff --git a/scm/output-ps.scm b/scm/output-ps.scm index 69f2772039..70b13848e4 100644 --- a/scm/output-ps.scm +++ b/scm/output-ps.scm @@ -157,6 +157,10 @@ (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))) @@ -171,7 +175,7 @@ ;; 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) diff --git a/scm/output-svg.scm b/scm/output-svg.scm index ca086318d7..78bda3c35b 100644 --- a/scm/output-svg.scm +++ b/scm/output-svg.scm @@ -485,14 +485,18 @@ (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)))))))) |