Xinqi Bao's Git
projects
/
st.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
There's no need for libXext to compile st.
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
7804316
..
9de30ec
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-1004,7
+1004,10
@@
getsel(void)
/* append every set & selected glyph to the selection */
for (y = sel.nb.y; y <= sel.ne.y; y++) {
/* append every set & selected glyph to the selection */
for (y = sel.nb.y; y <= sel.ne.y; y++) {
- linelen = tlinelen(y);
+ if ((linelen = tlinelen(y)) == 0) {
+ *ptr++ = '\n';
+ continue;
+ }
if (sel.type == SEL_RECTANGULAR) {
gp = &term.line[y][sel.nb.x];
if (sel.type == SEL_RECTANGULAR) {
gp = &term.line[y][sel.nb.x];
@@
-1132,10
+1135,10
@@
selnotify(XEvent *e)
*repl++ = '\r';
}
*repl++ = '\r';
}
- if (IS_SET(MODE_BRCKTPASTE))
+ if (IS_SET(MODE_BRCKTPASTE)
&& ofs == 0
)
ttywrite("\033[200~", 6);
ttysend((char *)data, nitems * format / 8);
ttywrite("\033[200~", 6);
ttysend((char *)data, nitems * format / 8);
- if (IS_SET(MODE_BRCKTPASTE))
+ if (IS_SET(MODE_BRCKTPASTE)
&& rem == 0
)
ttywrite("\033[201~", 6);
XFree(data);
/* number of 32-bit chunks returned */
ttywrite("\033[201~", 6);
XFree(data);
/* number of 32-bit chunks returned */
@@
-1427,8
+1430,7
@@
ttynew(void)
if (opt_line) {
if ((cmdfd = open(opt_line, O_RDWR)) < 0)
die("open line failed: %s\n", strerror(errno));
if (opt_line) {
if ((cmdfd = open(opt_line, O_RDWR)) < 0)
die("open line failed: %s\n", strerror(errno));
- close(0);
- dup(cmdfd);
+ dup2(cmdfd, 0);
stty();
return;
}
stty();
return;
}
@@
-4315,7
+4317,7
@@
main(int argc, char *argv[])
xw.l = xw.t = 0;
xw.isfixed = False;
xw.l = xw.t = 0;
xw.isfixed = False;
- xw.cursor =
0
;
+ xw.cursor =
cursorshape
;
ARGBEGIN {
case 'a':
ARGBEGIN {
case 'a':