help / color / mirror / Atom feed
From: <zeurkous@volny.cz>
To: <zsh-workers@zsh.org>
Cc: <d.s@daniel.shahaf.name>, <larryv@zsh.org>, <schaefer@brasslantern.com>
Subject: twice revised patch: zshmisc(1) clarify non-successful exit statuses
Date: Thu, 08 Jul 2021 22:53:57 +0200
Message-ID: <20210708225357.58B28287@volny.cz> (raw)

# This twice revised patch adds, to the zshmisc(1) manual page, clarity
# about the exit status on exec failure.
# As me said before: me doesn't use yodl. However, in this revision:
# me believes that me has fixed the use of sitem(). (Don't shoot me if
# me got it wrong again.)
# One person branded me earlier wording of a sentence ``ungrammatical'';
# while me doesn't necessarily agree, me sees no harm in the proposed
# change and this has hence been incorporated.
# Hope this is even more useful (it is to me),
#         --zeurkous, Thu Jul  8 20:43:33 UTC 2021.
--- Doc/Zsh/..v/5.8/exec.yo	Mon Dec  4 14:09:35 2017
+++ Doc/Zsh/exec.yo	Thu Jul  8 20:13:50 2021
@@ -14,10 +14,21 @@
 vindex(path, use of)
 Otherwise, the shell searches each element of tt($path) for a
-directory containing an executable file by that name.  If the
-search is unsuccessful, the shell prints an error message and returns
-a nonzero exit status.
+directory containing an executable file by that name.
+If execution fails: an error message is printed, and one of the
+following values is returned.
+sitem(127)(The search was unsuccessful.  The error message is
+`tt(command not found:) var(cmd)'.)
+sitem(126)(The executable file has insufficient permissions, is a
+directory or special file, or is not a script and is in a format
+unrecognized by the operating system.  The exact conditions and error
+message are operating system-dependent; see
 If execution fails because the file is not in executable format,
 and the file is not a directory, it is assumed to be a shell
 script.  tt(/bin/sh) is spawned to execute it.  If the program
@@ -29,10 +40,6 @@
 If no external command is found but a function tt(command_not_found_handler)
 exists the shell executes this function with all
 command line arguments.  The return status of the function becomes the
-status of the command.  If the function wishes to mimic the
-behaviour of the shell when the command is not found, it should
-print the message `tt(command not found:) var(cmd)' to standard error
-and return status 127.  Note that the handler is executed in a
+status of the command.  Note that the handler is executed in a
 subshell forked to execute an external command, hence changes to
 directories, shell parameters, etc. have no effect on the main shell.

             reply	other threads:[~2021-07-08 20:54 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-08 20:53 zeurkous [this message]
2021-07-18 22:27 ` Lawrence Velázquez
2021-07-28 17:48   ` Bart Schaefer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210708225357.58B28287@volny.cz \
    --to=zeurkous@volny.cz \
    --cc=d.s@daniel.shahaf.name \
    --cc=larryv@zsh.org \
    --cc=schaefer@brasslantern.com \
    --cc=zsh-workers@zsh.org \


* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link


This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.vuxu.org/zsh-workers

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 zsh-workers zsh-workers/ https://inbox.vuxu.org/zsh-workers \
	public-inbox-index zsh-workers

Example config snippet for mirrors.
Newsgroup available over NNTP:

code repositories for the project(s) associated with this inbox:


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git