Fixing a panic with narrow terminal windows

[?]
May 25, 2021, 8:11 AM
3OF3DHLM6FGCN7GTKZUE5U5VL3HB3SCDAJ5AL3KD6MDVQ4VLJQUQC

Dependencies

  • [2] 5MQUX3TQ Correct spacing for zero-length progress bar
  • [3] 2D7P2VKJ Change completions (where the whole progress bar story started)
  • [4] BNPSVXIC Friendlier progress bars
  • [5] MXQ3U2DP Shorter progress bars
  • [6] GNMZNKB4 Cursors cleanup

Change contents

  • replacement in pijul/src/progress.rs at line 190
    [3.8691][3.8691:8733]()
    let w = w - npre - npost;
    [3.8691]
    [3.8733]
    let w_digits = {
    let mut n = *n;
    let mut nd = if n == 0 { 1 } else { 0 } + if *i == 0 { 1 } else { 0 };
    while n > 0 {
    n /= 10;
    nd += 1
    }
    let mut n = *i;
    while n > 0 {
    n /= 10;
    nd += 1
    }
    nd
    };
    let w = w - npre - npost - w_digits;
  • replacement in pijul/src/progress.rs at line 232
    [3.9240][3.145:194](),[3.194][2.0:82](),[2.82][3.9298:9630](),[3.9298][3.9298:9630]()
    let mut nw = w - wb + npost - 6;
    if *n == 0 {
    nw -= 2
    } else {
    let mut n = *n;
    while n > 0 {
    n /= 10;
    nw -= 1
    }
    let mut n = *i;
    while n > 0 {
    n /= 10;
    nw -= 1
    }
    }
    [3.9240]
    [3.9630]
    let nw = w + npost - wb - 6;