Commit Graph

535 Commits (7354eeaa96e04eaec8e2a9a33801e26c88df3c68)

Author SHA1 Message Date
romkatv 7354eeaa96 workaround for a bug in sysread
There is a bug in sysread from zsh/system. It triggers in the
following case:

1. zsh has been compiled with HAVE_SELECT and without HAVE_POLL.
2. sysread is called with timeout (-t).
3. the input file descriptor is valid but there is no data to read.
4. errno happens to be EINTR prior to the call to sysread.

This results in an infinite loop in sysread:

  while ((ret = select(infd+1, (SELECT_ARG_2_T) &fds,
                       NULL, NULL,&select_tv)) < 1) {
    if (errno != EINTR || errflag || retflag || breaks || contflag)
      break;
  }

Here select() keeps returning 0, indicating timeout. This is not an
error, so errno doesn't get set. If it was EINTR prior to the call,
it stays EINTR, and the loop keeps spinning.

As a workaround, powerlevel10k sets errno to ENOTTY (any value other
than EINTR will do) prior to calling sysread with timeout.
5 years ago
romkatv a12f7ac8ee when the user's locale is misconfigured, set it to utf8 at the top level
fixes #469
5 years ago
Roman Perepelitsa 47e8c1b38c
remove debug messages; fixes #466 5 years ago
romkatv 5e5ff583a3 extend the ZLE_RPROMPT_INDENT=0 workaround to a few more cases
If the last right prompt line can be proven to always have
zero length after prompt expansion, we can unset RPROMPT
thus avoiding triggering zsh bugs related to ZLE_RPROMPT_INDENT=0.

Fixes #458.
5 years ago
romkatv 3b2fa36cd6 comments 5 years ago
romkatv 71f4eade9f add wifi prompt segment 5 years ago
romkatv 1a9c8d126c typo 5 years ago
romkatv 6db57923b1 add POWERLEVEL9K_BATTERY_${state}_{STAGES,LEVEL_BACKGROUND,LEVEL_FOREGROUND} 5 years ago
romkatv eb9da89ad9 quote $foo when running with unknown options; fixes #453 5 years ago
romkatv f91597fe7b speed up terraform, add classes to configs, bump version 5 years ago
Jérôme Foray ae12802bbe Add support for classes to terraform segment 5 years ago
romkatv c65260aaab change the default timewarrior icon (shield => watch); see #295 5 years ago
romkatv 788ee7df4d bug fix: remove spurious "entry=" from instant prompt 5 years ago
romkatv 1f2251b799 bug fix: don't cache range and nnn segments as their content is not static 5 years ago
romkatv 73878f398a add nix_shell prompt segment; see #448 5 years ago
romkatv 0a7f7c85c4 minor fixes 5 years ago
romkatv 674e5fd029 bump version 5 years ago
romkatv 5ce620436d quote override dirs form rustup 5 years ago
romkatv 5f6d73c5ac don't call stat in prompt_dir; use _p9k__parent_mtimes instead 5 years ago
romkatv 43fe2c30d1 cleanup 5 years ago
romkatv 4d4c2658b3 migrate remaining segments to the new globbing api 5 years ago
romkatv 3c64f43f2d make __p9k_byte_suffix readonly 5 years ago
romkatv 286ba2a84b s/_p9k_upsearch/_p9k_upglob/g 5 years ago
romkatv 34d34eb112 finish fast globbing and start migrating stuff 5 years ago
romkatv 262ce24905 Merge branch 'master' into glob 5 years ago
romkatv 5de4142517 set prompt_subst when printing ruler; see #444 5 years ago
romkatv c7405e4678 start working on faster globbing 5 years ago
romkatv 14868da64a move buffer parser to internal/parser.zsh 5 years ago
romkatv 3bca7e845f detect source code corruption done by antigen and suggest resetting cache 5 years ago
romkatv bfa70fa86d add timewarrior prompt segment; see #295 5 years ago
romkatv a9715367d4 fix prompt_char (never showed error); unify options 5 years ago
romkatv b7f03790e2 bump version 5 years ago
romkatv 5d460d7b99 remove trailing zeros from _p9k_human_readable_bytes 5 years ago
romkatv fa4d151f94 cleanup 5 years ago
romkatv b9cfa4e7ff bug fixes:
- don't use typeset -p on zsh 5.4 as it's broken there
- remove redundant local declarations from _p9k_prompt_net_iface_async
- change the default value of POWERLEVEL9K_PUBLIC_IP_HOST as the old is broken
5 years ago
romkatv 57dc301d6e bug fix: declare worker global vars in _p9k_init_vars 5 years ago
romkatv 5e42c4c930 add P9K_KUBECONTEXT_USER 5 years ago
romkatv 08f326a457 add _p9k__segment_{cond,va}_{left,right} and migrate swap to worker 5 years ago
romkatv f1bb5601fe process ready replies from worker synchornously in precmd 5 years ago
romkatv 565492b10e migrate over from the old worker api; use worker in battery on macOS 5 years ago
romkatv f1314f9072 Merge branch 'master' into worker 5 years ago
romkatv 08f73b27fd cherry pick disk_usage fix from 0d33157b12; see #435 5 years ago
romkatv 186d1539b9 add POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER; see #430 5 years ago
romkatv 0f6b7953be synthesize common prompt functions 5 years ago
romkatv 80e8e46fe5 Merge branch 'master' into worker 5 years ago
romkatv e01b5d9529 refactor worker code 5 years ago
romkatv 2feac7f121 survive SIGINT during preexec; see #427 5 years ago
romkatv f1e9d9ade7 fix ram segment on wsl 5 years ago
romkatv b35a814828 migrate ram to worker 5 years ago
romkatv 0ae338dde1 make sure pwd and IFS are initialized when running *_compute 5 years ago