Hi, I had some updates regarding kitty.
While going through one of the errors, there was this one `union` called `CPUCell` defined as ``` > typedef union CPUCell { > struct { > char_type ch_or_idx: sizeof(char_type) * 8 - 1; > char_type ch_is_idx: 1; > char_type hyperlink_id: sizeof(hyperlink_id_type) * 8; > char_type next_char_was_wrapped : 1; > char_type is_multicell : 1; > char_type natural_width: 1; > char_type scale: SCALE_BITS; > char_type subscale_n: SUBSCALE_BITS; > char_type subscale_d: SUBSCALE_BITS; > char_type x : WIDTH_BITS + SCALE_BITS; > char_type y : SCALE_BITS; > char_type width: WIDTH_BITS; > char_type valign: VALIGN_BITS; > char_type halign: HALIGN_BITS; > char_type temp_flag: 1; > char_type : 15; > }; > struct { > char_type ch_and_idx: sizeof(char_type) * 8; > char_type : 32; > char_type : 32; > }; > } CPUCell; ``` where `char_type` is `typedef` for `uint32_t` and `hyperlink_id_type` is `typedef` for `uint16_t`. Here, in the test, `ch_and_idx` was set to `1` and the tuple `(ch_is_idx, ch_or_idx, ch_and_idx)` is returned. That means `1` is set to the first 32 bits and value is read from 32nd bit, first 31 bits and from first 32 bits. In little endian machines this `0`, `1` and `1` which is the expected output, while in big endian machines this will be `1`, `0` and `1`. For the `test_zsh_integration` failure, the test case is trying to `cd` into a directory whose name has a unicode character in it. They are using a temporary `.zshrc` file which will receive some of its value from the systems default rc file (`.bashrc` in my case). `LANG` variable also takes the value likewise. By default, what I saw is that the `LANG` is having the value `C`. Changing it to a format like `en_US.UTF-8` seems to fix the test. Thanks, Pranav