From cbf142a988076902571713f1508c1a22cf6ad8c5 Mon Sep 17 00:00:00 2001 From: Eric Nielsen Date: Wed, 22 Jan 2020 12:48:19 -0500 Subject: [PATCH] Fix "no such file or directory" error before initial check for latest version. Not all versions of Zsh or all OSs are affected. Error seen with Zsh 5.6.2 running on FreeBSD is: _zimfw_version_check:10: no such file or directory: /path/to/.latest_version --- CHANGELOG.md | 3 ++- src/stage2/40_zimfw_version_check.zsh.erb | 8 +++++--- src/zimfw.zsh.erb | 2 +- zimfw.zsh | 12 +++++++----- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f93c852..89e1741 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -_No unreleased changes._ +### Fixed +- "no such file or directory" error before initial check for latest version. ## [1.1.0] - 2020-01-20 diff --git a/src/stage2/40_zimfw_version_check.zsh.erb b/src/stage2/40_zimfw_version_check.zsh.erb index 94802b8..81b303b 100644 --- a/src/stage2/40_zimfw_version_check.zsh.erb +++ b/src/stage2/40_zimfw_version_check.zsh.erb @@ -8,9 +8,11 @@ _zimfw_version_check() { command sed 's?^.*/v??' | command sort -n -t. -k1,1 -k2,2 -k3,3 | \ command tail -n1 >! ${ztarget} &! fi - local -r zlatest_version=$(<${ztarget}) - if [[ -n ${zlatest_version} && ${_zversion} != ${zlatest_version} ]]; then - print -u2 -PR "%F{yellow}Latest zimfw version is %B${zlatest_version}%b. You're using version %B${_zversion}%b. Run %Bzimfw upgrade%b to upgrade.%f"$'\n' + if [[ -f ${ztarget} ]]; then + local -r zlatest_version=$(<${ztarget}) + if [[ -n ${zlatest_version} && ${_zversion} != ${zlatest_version} ]]; then + print -u2 -PR "%F{yellow}Latest zimfw version is %B${zlatest_version}%b. You're using version %B${_zversion}%b. Run %Bzimfw upgrade%b to upgrade.%f"$'\n' + fi fi fi } diff --git a/src/zimfw.zsh.erb b/src/zimfw.zsh.erb index 1f9ac8e..2b21b4f 100644 --- a/src/zimfw.zsh.erb +++ b/src/zimfw.zsh.erb @@ -6,7 +6,7 @@ class Zim @home = "${ZDOTDIR:-${HOME}}" @min_zsh_version = "5.2" @startup_files_glob = ".z(shenv|profile|shrc|login|logout)" - @version = "1.1.0" + @version = "1.1.1-SNAPSHOT" @ellipsis = " ..." @okay = "%F{green})%f " @error = "x " diff --git a/zimfw.zsh b/zimfw.zsh index fa9b9f8..441939d 100644 --- a/zimfw.zsh +++ b/zimfw.zsh @@ -246,9 +246,11 @@ _zimfw_version_check() { command sed 's?^.*/v??' | command sort -n -t. -k1,1 -k2,2 -k3,3 | \ command tail -n1 >! ${ztarget} &! fi - local -r zlatest_version=$(<${ztarget}) - if [[ -n ${zlatest_version} && ${_zversion} != ${zlatest_version} ]]; then - print -u2 -PR "%F{yellow}Latest zimfw version is %B${zlatest_version}%b. You're using version %B${_zversion}%b. Run %Bzimfw upgrade%b to upgrade.%f"$'\n' + if [[ -f ${ztarget} ]]; then + local -r zlatest_version=$(<${ztarget}) + if [[ -n ${zlatest_version} && ${_zversion} != ${zlatest_version} ]]; then + print -u2 -PR "%F{yellow}Latest zimfw version is %B${zlatest_version}%b. You're using version %B${_zversion}%b. Run %Bzimfw upgrade%b to upgrade.%f"$'\n' + fi fi fi } @@ -276,7 +278,7 @@ _zimfw_compile() { } _zimfw_info() { - print -R 'zimfw version: '${_zversion}' (previous commit is 64f36fe)' + print -R 'zimfw version: '${_zversion}' (previous commit is bebbfce)' print -R 'ZIM_HOME: '${ZIM_HOME} print -R 'Zsh version: '${ZSH_VERSION} print -R 'System info: '$(command uname -a) @@ -320,7 +322,7 @@ _zimfw_upgrade() { } zimfw() { - local -r _zversion='1.1.0' + local -r _zversion='1.1.1-SNAPSHOT' local -r zusage="Usage: %B${0}%b [%B-q%b|%B-v%b] Actions: