diff options
| author | Polesznyák Márk <contact@pml68.dev> | 2026-02-22 14:11:51 +0100 |
|---|---|---|
| committer | Polesznyák Márk <contact@pml68.dev> | 2026-02-22 14:11:51 +0100 |
| commit | 1af09e5456bcdbbaa04559d8ba115e5bb642674a (patch) | |
| tree | aba653d5b2f527bfa14ee36a6b1589532e58b9ea | |
| parent | fix(fetcha): free(): invalid pointer on get_os and get_packages (diff) | |
| download | suckless-setup-1af09e5456bcdbbaa04559d8ba115e5bb642674a.tar.gz | |
chore(st): sync with upstream
Commits:
- add a few comments (5a4666c)
- Disable bracked paste in reset (0723b7e)
- st: guard tsetdirt() against zero-sized terminal (688f70a)
| -rw-r--r-- | st/st.c | 30 |
1 files changed, 17 insertions, 13 deletions
@@ -965,6 +965,9 @@ tsetdirt(int top, int bot) { int i; + if (term.row <= 0) + return; + LIMIT(top, 0, term.row-1); LIMIT(bot, 0, term.row-1); @@ -1420,14 +1423,14 @@ tsetattr(const int *attr, int l) if ((idx = tdefcolor(attr, &i, l)) >= 0) term.c.attr.fg = idx; break; - case 39: + case 39: /* set foreground color to default */ term.c.attr.fg = defaultfg; break; case 48: if ((idx = tdefcolor(attr, &i, l)) >= 0) term.c.attr.bg = idx; break; - case 49: + case 49: /* set background color to default */ term.c.attr.bg = defaultbg; break; case 58: @@ -1532,7 +1535,7 @@ tsetmode(int priv, int set, const int *args, int narg) case 1006: /* 1006: extended reporting mode */ xsetmode(set, MODE_MOUSESGR); break; - case 1034: + case 1034: /* 1034: enable 8-bit mode for keyboard input */ xsetmode(set, MODE_8BIT); break; case 1049: /* swap screen & set/restore cursor as xterm */ @@ -1540,8 +1543,8 @@ tsetmode(int priv, int set, const int *args, int narg) break; tcursor((set) ? CURSOR_SAVE : CURSOR_LOAD); /* FALLTHROUGH */ - case 47: /* swap screen */ - case 1047: + case 47: /* swap screen buffer */ + case 1047: /* swap screen buffer */ if (!allowaltscreen) break; alt = IS_SET(MODE_ALTSCREEN); @@ -1554,7 +1557,7 @@ tsetmode(int priv, int set, const int *args, int narg) if (*args != 1049) break; /* FALLTHROUGH */ - case 1048: + case 1048: /* save/restore cursor (like DECSC/DECRC) */ tcursor((set) ? CURSOR_SAVE : CURSOR_LOAD); break; case 2004: /* 2004: bracketed paste mode */ @@ -1913,7 +1916,7 @@ strhandle(void) if (narg > 1) xsettitle(strescseq.args[1]); return; - case 52: + case 52: /* manipulate selection data */ if (narg > 2 && allowwindowops) { dec = base64dec(strescseq.args[2]); if (dec) { @@ -1924,9 +1927,9 @@ strhandle(void) } } return; - case 10: - case 11: - case 12: + case 10: /* set dynamic VT100 text foreground color */ + case 11: /* set dynamic VT100 text background color */ + case 12: /* set dynamic text cursor color */ if (narg < 2) break; p = strescseq.args[1]; @@ -1967,9 +1970,9 @@ strhandle(void) tfulldirt(); } return; - case 110: - case 111: - case 112: + case 110: /* reset dynamic VT100 text foreground color */ + case 111: /* reset dynamic VT100 text background color */ + case 112: /* reset dynamic text cursor color */ if (narg != 1) break; if ((j = par - 110) < 0 || j >= LEN(osc_table)) @@ -2358,6 +2361,7 @@ eschandle(uchar ascii) resettitle(); xloadcols(); xsetmode(0, MODE_HIDE); + xsetmode(0, MODE_BRCKTPASTE); break; case '=': /* DECPAM -- Application keypad */ xsetmode(1, MODE_APPKEYPAD); |
