<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/bin/sh/input.h, branch upstream/11.2.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=upstream%2F11.2.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=upstream%2F11.2.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2014-09-14T16:46:30Z</updated>
<entry>
<title>sh: Remove arbitrary length limit on &lt;&lt; EOF markers.</title>
<updated>2014-09-14T16:46:30Z</updated>
<author>
<name>Jilles Tjoelker</name>
<email>jilles@FreeBSD.org</email>
</author>
<published>2014-09-14T16:46:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=72238faa6a9eea186c68bf9eff53f1999f80f33f'/>
<id>urn:sha1:72238faa6a9eea186c68bf9eff53f1999f80f33f</id>
<content type='text'>
This also simplifies the code.
</content>
</entry>
<entry>
<title>sh: Add some const keywords.</title>
<updated>2014-09-14T15:59:15Z</updated>
<author>
<name>Jilles Tjoelker</name>
<email>jilles@FreeBSD.org</email>
</author>
<published>2014-09-14T15:59:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5545fadd845adf3a8884d3d33ab8ce86b101fee4'/>
<id>urn:sha1:5545fadd845adf3a8884d3d33ab8ce86b101fee4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>sh: Remove mkinit.</title>
<updated>2013-07-25T15:08:41Z</updated>
<author>
<name>Jilles Tjoelker</name>
<email>jilles@FreeBSD.org</email>
</author>
<published>2013-07-25T15:08:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=338b821b0f17f775962746e1b2a858b4a1d86cbe'/>
<id>urn:sha1:338b821b0f17f775962746e1b2a858b4a1d86cbe</id>
<content type='text'>
Replace the RESET blocks with regular functions and a reset() function that
calls them all.

This code generation tool is unusual and does not appear to provide much
benefit. I do not think isolating the knowledge about which modules need to
be reset is worth an almost 500-line build tool and wider scope for
variables used by the reset functions.

Also, relying on reset functions is often wrong: the cleanup should be done
in exception handlers so that no stale state remains after 'command eval'
and the like.
</content>
</entry>
<entry>
<title>sh: Fix various compiler warnings.</title>
<updated>2013-04-01T17:18:22Z</updated>
<author>
<name>Jilles Tjoelker</name>
<email>jilles@FreeBSD.org</email>
</author>
<published>2013-04-01T17:18:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=46c6b52dfb4b0396494b08f60c80e32236df1aaf'/>
<id>urn:sha1:46c6b52dfb4b0396494b08f60c80e32236df1aaf</id>
<content type='text'>
It now passes WARNS=7 with clang on i386.

GCC 4.2.1 does not understand setjmp() properly so will always trigger
-Wuninitialized. I will not add the volatile keywords to suppress this.
</content>
</entry>
<entry>
<title>sh: Remove an unused variable.</title>
<updated>2012-11-14T14:08:24Z</updated>
<author>
<name>Jilles Tjoelker</name>
<email>jilles@FreeBSD.org</email>
</author>
<published>2012-11-14T14:08:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=22bec20ba98c8fd8342350d7e7f61930a7d082da'/>
<id>urn:sha1:22bec20ba98c8fd8342350d7e7f61930a7d082da</id>
<content type='text'>
</content>
</entry>
<entry>
<title>sh: Forward-declare struct alias instead of giving up type safety via void *</title>
<updated>2012-11-11T15:13:24Z</updated>
<author>
<name>Jilles Tjoelker</name>
<email>jilles@FreeBSD.org</email>
</author>
<published>2012-11-11T15:13:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=35dab8598a10435e020dfc82c1f79b8ead2d62a9'/>
<id>urn:sha1:35dab8598a10435e020dfc82c1f79b8ead2d62a9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>sh: Make various functions static.</title>
<updated>2012-01-01T22:17:12Z</updated>
<author>
<name>Jilles Tjoelker</name>
<email>jilles@FreeBSD.org</email>
</author>
<published>2012-01-01T22:17:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=260fc3f4d26a8b25e824c0baa4a77b0f4cada631'/>
<id>urn:sha1:260fc3f4d26a8b25e824c0baa4a77b0f4cada631</id>
<content type='text'>
</content>
</entry>
<entry>
<title>sh: Constify various strings.</title>
<updated>2009-12-24T18:41:14Z</updated>
<author>
<name>Jilles Tjoelker</name>
<email>jilles@FreeBSD.org</email>
</author>
<published>2009-12-24T18:41:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2cac6e364a22fbb88eff4a1d36a09fef0064b421'/>
<id>urn:sha1:2cac6e364a22fbb88eff4a1d36a09fef0064b421</id>
<content type='text'>
Most of this is adding const keywords, but setvar() in var.c had to be
changed somewhat more.
</content>
</entry>
<entry>
<title>sh: Ensure the same command input file is on top after executing a builtin.</title>
<updated>2009-11-22T14:04:20Z</updated>
<author>
<name>Jilles Tjoelker</name>
<email>jilles@FreeBSD.org</email>
</author>
<published>2009-11-22T14:04:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=eaa3489312d377f27befcc40ebfc8f9e0460c0b9'/>
<id>urn:sha1:eaa3489312d377f27befcc40ebfc8f9e0460c0b9</id>
<content type='text'>
This avoids weirdness when 'fc -e vi' or the like is done and there is a
syntax error in the file. Formerly an interactive shell tried to execute
stuff after the syntax error and exited.

This should also avoid similar issues with 'command eval' and 'command .'
when 'command' is implemented properly as in NetBSD sh.

Special builtins did not have this problem since errors in them cause the
shell to exit or to reset various state such as the current command input
file.
</content>
</entry>
<entry>
<title>Avoid leaving unnecessary waiting shells in many forms of sh -c COMMAND.</title>
<updated>2009-06-13T21:17:45Z</updated>
<author>
<name>Jilles Tjoelker</name>
<email>jilles@FreeBSD.org</email>
</author>
<published>2009-06-13T21:17:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=960da9343025264d0e863782d72eb705039133b6'/>
<id>urn:sha1:960da9343025264d0e863782d72eb705039133b6</id>
<content type='text'>
This change only affects strings passed to -c, when the -s
option is not used.

The approach is to check if there may be additional data
in the string after parsing each command. If there is none,
use the EV_EXIT flag so that a fork may be omitted in
specific cases.

If there are empty lines after the command, the check will
not see the end and forks will not be omitted. The same
thing seems to happen in bash.

Example:
  sh -c 'ps lT'
No longer shows a shell process waiting for ps to finish.

PR:		bin/113860
Reviewed by:	stefanf
Approved by:	ed (mentor)
</content>
</entry>
</feed>
