New Upstream Release - golang-github-zyedidia-tcell
Ready changes
Summary
Merged new upstream version: 2.0.9 (was: 2.0.6).
Resulting package
Built on 2022-10-12T10:28 (took 6m13s)
The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:
apt install -t fresh-releases golang-github-zyedidia-tcell-dev
Lintian Result
Diff
diff --git a/debian/changelog b/debian/changelog
index 3f26267..bc5e296 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+golang-github-zyedidia-tcell (2.0.9-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk> Wed, 12 Oct 2022 10:22:54 -0000
+
golang-github-zyedidia-tcell (2.0.6-1) unstable; urgency=medium
* New upstream version 2.0.6
diff --git a/tscreen.go b/tscreen.go
index cdbfabc..3cfcd14 100644
--- a/tscreen.go
+++ b/tscreen.go
@@ -20,6 +20,7 @@ import (
"errors"
"fmt"
"io"
+ "log"
"os"
"strconv"
"strings"
@@ -49,6 +50,8 @@ const (
pasteOSC52Begin = "\x1b]52;"
pasteOSC52End = "\x1b\\"
+
+ setTitle = "\x1b]2;title\a"
)
// NewTerminfoScreen returns a Screen that uses the stock TTY interface
@@ -1391,26 +1394,26 @@ func (t *tScreen) parsePaste(buf *bytes.Buffer, evs *[]Event) bool {
}
func (t *tScreen) parseOSC52Paste(buf *bytes.Buffer, evs *[]Event) (bool, bool) {
+ str := buf.String()
b := buf.Bytes()
prefixLen := len(pasteOSC52Begin) + 2
- suffixLen := len(pasteOSC52End)
- if bytes.HasPrefix(b, []byte(pasteOSC52Begin)) || bytes.HasPrefix([]byte(pasteOSC52Begin), b) {
- // OSC52 paste has started
- if len(b) > len(pasteOSC52Begin)+2 && bytes.HasSuffix(b, []byte(pasteOSC52End)) {
+ if strings.HasPrefix(str, pasteOSC52Begin) || strings.HasPrefix(pasteOSC52Begin, str) {
+ idx := strings.Index(str, pasteOSC52End)
+ log.Println(b, idx, len(str))
+ if idx >= prefixLen {
// OSC52 paste has ended
- payload := b[prefixLen : len(b)-suffixLen]
+ payload := buf.Next(idx)[prefixLen:]
+ buf.Next(len(pasteOSC52End))
data := make([]byte, len(payload))
n, err := base64.StdEncoding.Decode(data, payload)
data = data[:n]
t.escbuf.Write(b)
- buf.Reset()
-
if err != nil {
- // error must be something else...?
- return false, false
+ // discard the paste since it is invalid
+ return true, true
}
*evs = append(*evs, NewEventPaste(string(data), t.escbuf.String()))
@@ -1425,20 +1428,17 @@ func (t *tScreen) parseOSC52Paste(buf *bytes.Buffer, evs *[]Event) (bool, bool)
}
func (t *tScreen) parseBracketedPaste(buf *bytes.Buffer, evs *[]Event) (bool, bool) {
- b := buf.Bytes()
-
// Replace all carriage returns with newlines
- str := string(bytes.Replace(b, []byte{'\r'}, []byte{'\n'}, -1))
+ str := strings.Replace(buf.String(), "\r", "\n", -1)
if strings.HasPrefix(str, pasteBegin) || strings.HasPrefix(pasteBegin, str) {
+ idx := strings.Index(str, pasteEnd)
// The bracketed paste has started
- if strings.HasSuffix(str, pasteEnd) {
+ if idx != -1 && idx >= len(pasteBegin) {
// The bracketed paste has ended
// Strip out the start and end sequences
- for i := 0; i < len(b); i++ {
- by, _ := buf.ReadByte()
- t.escbuf.WriteByte(by)
- }
- *evs = append(*evs, NewEventPaste(str[6:len(b)-6], t.escbuf.String()))
+ t.escbuf.Write(buf.Next(idx + len(pasteEnd)))
+ text := str[len(pasteBegin):idx]
+ *evs = append(*evs, NewEventPaste(text, t.escbuf.String()))
t.escbuf.Reset()
return true, true
}
Debdiff
File lists identical (after any substitutions)
No differences were encountered in the control files