xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Commit 383a1e97ec23d502e5796ad1fb1b9b3df9c454a5

Fix abort on multiline statusbar message
Happened when 'shortmess' included "T".

Don't try to truncate multiline messages.

Thanks to agguser.

Fixes #1084 on GitHub.
Author: xaizek
Author date (UTC): 2025-05-23 17:57
Committer name: xaizek
Committer date (UTC): 2025-05-24 14:16
Parent(s): 84ae913e97959595e8e32410539e71c0d7bd560f
Signing key: 99DC5E4DB05F6BE2
Tree: f9293472e18284e5c2bce1d1a78c003bcd0d4267
File Lines added Lines deleted
ChangeLog 3 0
src/ui/statusbar.c 2 1
File ChangeLog changed (mode: 100644) (index 95a2e7f24..78266dff4)
8 8 Fixed unlimited growth of directory histories when 'history' is set to its Fixed unlimited growth of directory histories when 'history' is set to its
9 9 default value or not set at all in vifmrc. Thanks to zoj613. default value or not set at all in vifmrc. Thanks to zoj613.
10 10
11 Fixed abort due to assertion on displaying a statusbar message with a
12 newline when 'shortmess' includes "T". Thanks to agguser.
13
11 14 0.14.1 to 0.14.2 (2025-05-07) 0.14.1 to 0.14.2 (2025-05-07)
12 15
13 16 Fixed build issue with musl due to use of non-standard LONG_LONG_MAX. Fixed build issue with musl due to use of non-standard LONG_LONG_MAX.
File src/ui/statusbar.c changed (mode: 100644) (index a01c97bb0..67973e53c)
... ... status_bar_message(const char msg[], int error)
215 215
216 216 if(lines > 1) if(lines > 1)
217 217 { {
218 if(cfg.trunc_normal_sb_msgs && !err && curr_stats.allow_sb_msg_truncation)
218 if(cfg.trunc_normal_sb_msgs && !err && curr_stats.allow_sb_msg_truncation &&
219 status_bar_lines == 1)
219 220 { {
220 221 truncate_with_ellipsis(msg, getmaxx(stdscr) - FIELDS_WIDTH(), truncate_with_ellipsis(msg, getmaxx(stdscr) - FIELDS_WIDTH(),
221 222 truncated_msg); truncated_msg);
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master