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-unsubscr...@freebsd.org"

Reply via email to