There is no mention of `let` shell built-in neither in sh(1) nor builtin(1) man pages. How-To-Repeat: Check above mentioned manual pages.
Responsible Changed From-To: freebsd-doc->trhodes Over to me, I'm investigating.
FreeBSD-gnats-submit@FreeBSD.org wrote: > Thank you very much for your problem report. > It has the internal identification `docs/104432'. > The individual assigned to look at your > report is: freebsd-doc. > > You can access the state of your problem report at any time > via this link: > > http://www.freebsd.org/cgi/query-pr.cgi?pr=104432 > > >> Category: docs >> Responsible: freebsd-doc >> Synopsis: No mention of "let" shell builtin in manual pages. >> Arrival-Date: Sun Oct 15 10:00:34 GMT 2006 >> > > > To whom it may concern, Please note that my email address which I used when submitting docs/104432 has expired. Please update my email address if possible so that I can receive further follow ups on this PR. Thank you, Martin
I'd like to keep the "let" builtin undocumented because it may be removed in the future. It is non-standard and not very useful, and behaves differently from ksh's let builtin (which is itself deprecated in favour of the ((EXPRESSION)) syntax). If let's return value is not used, something like VAR=$(let EXPRESSION) is equivalent to VAR=$((EXPRESSION)) except that errors in the expression are fatal and quoting special characters is not needed in the latter case. If let's return value is used, something like if let EXPRESSION >/dev/null can be replaced by if [ $((EXPRESSION)) -ne 0 ] with similar differences. -- Jilles Tjoelker
Responsible Changed From-To: trhodes->jilles I'd like to remove "exp" and "let" at some point, but probably not any time soon.
Hi, > [undocumented sh(1) exp and let builtins] In an exp-run (bin/156306) it appeared that "let" is close enough to bash's and ksh's builtin that a few ports depend on it. Therefore I plan to keep "let" in 9.x, perhaps removing it for 10.0. "exp" might be removed for 9.0. I updated the originator address of the PR from gamato@pobox.sk to gamato@users.sf.net as requested earlier. -- Jilles Tjoelker
Author: jilles Date: Fri May 27 20:53:07 2011 New Revision: 222386 URL: http://svn.freebsd.org/changeset/base/222386 Log: sh: Remove the "exp" builtin. The "exp" builtin is undocumented, non-standard and not very useful. If exp's return value is not used, something like VAR=$(exp EXPRESSION) is equivalent to VAR=$((EXPRESSION)) except that errors in the expression are fatal and quoting special characters is not needed in the latter case. If exp's return value is used, something like if exp EXPRESSION >/dev/null can be replaced by if [ $((EXPRESSION)) -ne 0 ] with similar differences. The exp-run showed that "let" is close enough to bash's and ksh's builtin that removing it would break a few ports. Therefore, "let" remains in 9.x. PR: bin/104432 Exp-run done by: pav (with some other sh(1) changes) Modified: head/bin/sh/arith_yacc.c head/bin/sh/builtins.def Modified: head/bin/sh/arith_yacc.c ============================================================================== --- head/bin/sh/arith_yacc.c Fri May 27 20:34:23 2011 (r222385) +++ head/bin/sh/arith_yacc.c Fri May 27 20:53:07 2011 (r222386) @@ -344,7 +344,7 @@ arith_t arith(const char *s) * The exp(1) builtin. */ int -expcmd(int argc, char **argv) +letcmd(int argc, char **argv) { const char *p; char *concat; Modified: head/bin/sh/builtins.def ============================================================================== --- head/bin/sh/builtins.def Fri May 27 20:34:23 2011 (r222385) +++ head/bin/sh/builtins.def Fri May 27 20:53:07 2011 (r222386) @@ -60,7 +60,7 @@ echocmd echo evalcmd -s eval execcmd -s exec exitcmd -s exit -expcmd exp let +letcmd let exportcmd -s export -s readonly #exprcmd expr falsecmd false _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
For bugs matching the following criteria: Status: In Progress Changed: (is less than) 2014-06-01 Reset to default assignee and clear in-progress tags. Mail being skipped
Partial fix was committed, closing as "fixed". Please re-open the PR if the remaining part is still valid.