fix: osc8-link doubled backslashes in format string
The osc8-link implementation and its test both had doubled backslashes (\\ -> \\) in their format strings, producing two literal backslashes at runtime instead of the single backslash needed for the OSC 8 string terminator (ST = ESC \). Fix: change \\ to \\ in both the implementation and test format strings. The tangled .lisp files now have correct escaped backslashes (\) producing one backslash in the runtime string. Additionally clean up a patch artifact that left a stray backslash before the opening quote.
This commit is contained in:
@@ -215,7 +215,7 @@ and ~\\ for literal backslash.
|
||||
(test osc8-escape
|
||||
"OSC 8 hyperlink escape wraps text"
|
||||
(is (equal (cl-tty.backend::osc8-link "http://example.com" "click here")
|
||||
(format nil "~C]8;;http://example.com~C\\click here~C]8;;~C\"
|
||||
(format nil "~C]8;;http://example.com~C\click here~C]8;;~C\"
|
||||
#\Esc #\Esc #\Esc #\Esc))))
|
||||
#+END_SRC
|
||||
|
||||
@@ -475,7 +475,7 @@ allows clickable text in terminals that support the protocol.
|
||||
#+BEGIN_SRC lisp :tangle ../src/backend/modern.lisp
|
||||
(defun osc8-link (url text)
|
||||
"Wrap TEXT in an OSC 8 hyperlink to URL."
|
||||
(format nil "~C]8;;~A~C\\~A~C]8;;~C\\"
|
||||
(format nil \"~C]8;;~A~C\\~A~C]8;;~C\\\"
|
||||
#\Esc url #\Esc text #\Esc #\Esc))
|
||||
#+END_SRC
|
||||
|
||||
|
||||
Reference in New Issue
Block a user