tjr
52f557176d
Temporarily back out machdep.h/ALIGN changes. It seems that on sparc64,
...
using the alignment from sys/param.h (16) instead of the alignment
from machdep.h (8) tickled a nasty bug in the memory allocator that I
haven't been able to track down yet.
2003-02-16 03:28:11 +00:00
tjr
1cdec84562
Use the ALIGN macro from <sys/param.h> instead of defining our own
...
incorrect version in machdep.h. Delete machdep.h.
2003-02-14 23:53:19 +00:00
charnier
34c8e00d1d
Add FBSDID.
2003-02-05 13:23:46 +00:00
fanf
f2d3e8e22c
Improve the layout of the description of the various parameter expansion
...
modifiers. The paragraph that explains the difference between ${foo:-bar}
and ${foo-bar} etc. was not very visible.
2003-02-03 23:03:05 +00:00
tjr
29dbde6d3c
Ensure that the TTY file descriptor is greater than or equal to 10 so that
...
it doesn't interfere with the user's redirections.
PR: 47136
MFC after: 1 week
2003-01-27 07:41:12 +00:00
tjr
81914313b7
Make this compile with DEBUG defined now that WARNS=0 has been removed
...
from the Makefile:
- Print pointers with %p instead of %x.
- Include missing headers to get prototypes.
Noticed by: benno
2003-01-21 10:06:04 +00:00
tjr
d53165c37b
Do not strip CTL* escapes from redirection filenames in exptilde(),
...
expari(), expbackq() and evalvar(). Similar to revision 1.39.
Patch from Tor Egge.
PR: 45349
MFC after: 2 weeks
2003-01-08 10:50:08 +00:00
tjr
3b9687df3d
Add the "wordexp" shell built-in command which will be used to implement
...
the POSIX wordexp() function.
2002-12-26 14:28:54 +00:00
ru
4979ab8d81
mdoc(7) police: Deal with self-xrefs.
2002-12-24 13:41:48 +00:00
ru
872b8f74a9
mdoc(7) police: markup nit.
2002-12-23 15:21:38 +00:00
dwmalone
21a52f8f3f
Use '\033' rather than '\e' as the latter is a gccism.
...
PR: 46015
Submitted by: Jeroen Ruigrok van der Werven <asmodai@wxs.nl>
MFC after: 1 week
2002-12-22 21:35:14 +00:00
trhodes
10dbdf9107
The code uses trapsasync, however the manual page uses asynctraps. Fix the
...
manual page to reflect the code.
PR: 45820
Submitted by: Marco Molteni <molter@tin.it>
Discussed with: tjr
2002-12-17 20:27:48 +00:00
fanf
3a97bafeeb
Document trap EXIT
and trap SIGNAME
.
2002-12-17 17:31:44 +00:00
tjr
0423e8e003
When job control is disabled, never show the job id when reporting the
...
status of a background process that has terminated because of a signal.
2002-12-14 01:08:04 +00:00
ru
4b97577172
Capitalize ASCII code names.
...
Approved by: re
2002-12-05 08:50:00 +00:00
tjr
496051977b
Delete worthless comments.
2002-10-30 06:34:52 +00:00
tjr
a96c7569e1
Avoid accidentally making "-h" a synonym for "fc".
...
Obtained from: NetBSD
2002-10-18 10:33:32 +00:00
tjr
33d1a8b9c2
Do not strip CTL* escapes from redirection filenames in argstr(); they
...
are later stripped with rmescapes() in expandarg(). If the filename has
already been unescaped, doing it again in rmescapes() can walk off the
end of the string, leading to memory corruption and eventually SIGSEGV.
Noticed by: kris
2002-10-08 11:22:49 +00:00
tjr
742de9da6c
Disallow empty condition parts of "if", "while" and "until" compound
...
commands. Commands like "if then ... fi" and "while do ... done" are no
longer accepted. Bodies of compound commands are still allowed to be
empty, because even though POSIX does not allow them, most shells do.
2002-10-06 06:35:51 +00:00
tjr
aef5d44ac2
Use %d in a printf() format string and cast the argument to int instead of
...
using %td when we know that the number is between 0 and 9; mksyntax is a
build tool and needs to work on -stable.
2002-10-02 09:57:54 +00:00
tjr
d1745bcd0c
Back out experimental changes to fmtstr() that I didn't mean to include
...
in the previous commit.
2002-10-01 13:41:13 +00:00
tjr
4ea24b7f73
Replace a home-grown printf() clone with a fwopen() wrapper around
...
libc's vfprintf() that writes to a `struct output' instead of a file.
Inspired by NetBSD's similar changes (they used asprintf() instead).
2002-10-01 13:22:12 +00:00
mux
a7fdee892c
It is now safe to remove WARNS=0 and WFORMAT=0.
...
Tested on: alpha, i386, sparc64
2002-10-01 12:12:45 +00:00
tjr
2b33063d01
Restore "not found" error message when searching for (or executing)
...
a program fails because the file or a path component does not exist.
Suggested by: bde
2002-10-01 11:48:18 +00:00
mux
bad1a9d852
- Don't use quad_t when we really mean rlim_t.
...
- Cast rlim_t to intmax_t when printing it.
This should fix the last format errors in sh(1).
Tested on: i386, sparc64
2002-10-01 11:44:38 +00:00
tjr
508be2d558
Add back WARNS=0 and WFORMAT=0; gcc is finding nonexistent format string
...
errors with %qd formats.
2002-10-01 08:55:28 +00:00
mux
b07890219d
Use the %t format modifier to print differences between
...
pointers. This fixes two format warnings on 64 bits
archs which are fatal now that WFORMAT=0 has been removed.
It doesn't fully fix the sh(1) build on 64 bits platforms
though, there is still some quad_t issues that need to be
fixed.
Tested on: i386, sparc64
2002-10-01 08:40:07 +00:00
tjr
abffc58780
Remove WARNS=0 and WFORMAT=0. The shell compiles cleanly at WARNS=2
...
on at least i386. If there are warnings on other archs, I'd rather hear
about them than pretend they didn't exist.
2002-10-01 07:26:35 +00:00
tjr
25b2946cef
Remove some kind of profiling support that required the 4.2BSD monitor()
...
function in libc.
2002-10-01 01:30:33 +00:00
tjr
a04b479aee
Remove bits and pieces of support for atty, which was made obsolete by
...
adding history and vi/emacs-style line editing to the shell itself.
Atty was a user-mode terminal emulator (like screen and window) that did
line editing and history.
2002-10-01 00:54:14 +00:00
tjr
de4d764c3c
Callers of error() don't need to supply a program name prefix in the
...
error message. Stops ulimit giving error messages like "ulimit: ulimit: xyz".
2002-09-30 13:29:32 +00:00
tjr
be381197cd
Allow a left parenthesis before patterns in case blocks. POSIX requires
...
us to accept this, but I've never seen a script that uses it.
2002-09-30 13:25:00 +00:00
tjr
f162697f7c
Allow empty case/esac statements; POSIX requires this, and recent versions
...
of autoconf are generating scripts that use this feature.
PR: 43275 35879
Submitted by: Dan Nelson <dnelson@allantgroup.com>
2002-09-30 10:57:44 +00:00
tjr
8435c561b3
Remove dead code which supported systems without O_APPEND, O_CREAT or SIGTSTP.
2002-09-29 12:38:25 +00:00
tjr
6307190b53
Convert the remaining callers of errmsg() to use strerror(), and remove
...
errmsg() and its table of error messages.
2002-09-29 11:37:39 +00:00
nectar
927cfce43e
Correct a usage of fnctl that could not be right and results in a
...
no-op. I assume it was meant that the close-on-exec flag be set here.
2002-09-11 16:38:33 +00:00
keramida
0eae474cc2
Add <stdlib.h> to get a prototype for exit().
...
Reviewed by: tjr
2002-08-29 14:26:49 +00:00
charnier
c88222c6c0
Replace various spellings with FALLTHROUGH which is lint()able
2002-08-25 13:01:47 +00:00
tjr
2eb0d94f37
There is a built-in command called "builtin"; spell its name correctly
...
after rev. 1.77 called it "built-in".
2002-08-24 12:41:23 +00:00
tjr
7ffc3ae91a
Don't show the process ID of background jobs that have terminated,
...
for consistency with ksh.
2002-08-24 07:19:01 +00:00
trhodes
9618da3e35
s/filesystem/file system/ as discussed on -developers
2002-08-21 17:32:44 +00:00
schweikh
842f45255d
Fix a few typos, among them s/builtin/built-in/ (except for the ref
...
to the builtin(1) man page.) This is for consistency with the spelling
both proposed by ispell as well as IEEE Std 1003.1-2001.
MFC after: 3 days
2002-08-21 15:05:55 +00:00
tjr
2f2bf8ffc0
Avoid accessing the current job's process table in the child part of
...
forkshell() after it has been freed. This caused mysterious behaviour
when anything but the first command in a pipeline tried to access the
terminal when the `junk' malloc() option was enabled (which is the default).
2002-08-18 06:43:44 +00:00
tjr
aa14f489f2
Show job control ID, command text, etc. when foreground processes are
...
suspended. This is a followup to rev. 1.51.
MFC after: 1 week
2002-08-17 13:57:47 +00:00
tjr
717dc062a8
Allow redirections by themselves between "&&" and "||" operators.
...
For example, >/dev/null && echo foo
Pointed out by: FUJISHIMA Satsuki
MFC after: 1 week
2002-08-11 03:04:23 +00:00
ru
e185ee0111
mdoc(7) police: tidying.
2002-08-09 10:59:20 +00:00
tjr
43d6a14678
Add a -P/-o physical option which behaves similarly to bash/ksh's options
...
by the same name. This option makes the cd and pwd builtins behave physically
(as opposed to logically) by default.
Submitted by: fanf
2002-07-25 10:57:39 +00:00
tjr
ca8e9f2edf
Set opterr to zero to avoid duplicate warnings from getopt(3) for unknown
...
options.
2002-07-25 10:47:38 +00:00
tjr
cb0dfaa9bd
Use PATH_MAX instead of a local guess at it, which happened to be incorrect.
...
Suggested by: fanf
2002-07-25 09:56:08 +00:00
tjr
077941cfae
pwdcmd()'s argc and argv arguments are no longer unused, remove __unused.
...
Pointed out by: fanf
2002-07-25 09:46:31 +00:00
tjr
9c6ea7014e
Avoid calling el_resize() from a signal handler, even though libedit
...
itself does that if you set EL_SIGNAL. Instead, set a flag and check it
before calling el_gets(). This is safer, but slower to respond to changes.
Pointed out by: mp
2002-07-24 02:06:07 +00:00
tjr
8be25d316f
Catch SIGWINCH in interactive shells and call el_resize() to update
...
libedit's idea of the window size.
2002-07-23 15:05:00 +00:00
tjr
12e699af89
Call el_source() to read the contents of .editrc when line editing is enabled.
...
Obtained from: NetBSD
MFC after: 2 weeks
2002-07-23 12:26:34 +00:00
tjr
f9fd5faa32
Add a `bind' builtin command, which is simply a wrapper around libedit's
...
builtin command of the same name. This allows the key bindings for the
shell's line editor to be changed.
MFC after: 2 weeks
2002-07-23 11:50:53 +00:00
tjr
e73489bbe4
Don't allow "||" or "&&" to be the first tokens of a command.
...
PR: 40386
MFC after: 2 weeks
2002-07-22 05:50:12 +00:00
tjr
bd9024b4d7
Implement the P1003.2 `command' builtin command, which is used to suppress
...
shell function and alias lookup. The -p option has been implemented, the
UPE -v and -V options have not. The old `command' command has been renamed
to `builtin'.
2002-07-21 06:49:14 +00:00
tjr
28039a3e13
Document that only one of the -n and -e options may be specified for
...
sh(1)'s echo(1) builtin command.
PR: 32935, 40747
MFC after: 1 week
2002-07-20 04:39:23 +00:00
tjr
6f7073eccf
Remove broken and incomplete support for old releases of System V,
...
don't support system that implement getcwd(3) with a pipe to /bin/pwd.
2002-07-19 08:09:04 +00:00
tjr
74e419398d
Don't assume file descriptors fit in a short, use an int instead.
2002-07-18 12:24:35 +00:00
tjr
9e3506ab60
Avoid using ints or shorts to store process id's, use pid_t instead.
...
The pgrp member of struct job was declared as a short and could not store
every possible process group ID value, the rest of them were benign because
pid_t happens to be an int.
2002-07-18 10:22:42 +00:00
tjr
60af0dcffa
Make the message that is printed when the foreground process is terminated
...
by a signal the same as pdksh/bash/sh before rev. 1.34.
2002-07-18 09:37:51 +00:00
tjr
b8a53fb638
Don't assume the shell's controlling terminal is attached to file descriptor
...
2. Instead, open /dev/tty. This problem stopped commands in subshells from
being executed correctly if standard error was redirected.
PR: 36671
Obtained from: NetBSD (but simplified)
2002-07-11 06:42:11 +00:00
tjr
b6bd829347
Remove support for the "old" tty driver by unifdef -UOLD_TTY_DRIVER;
...
many other parts of the shell are no longer compatible with this, and it
makes jobs.c quite cluttered with #ifdef's.
2002-07-11 06:26:48 +00:00
tjr
0087ce2988
When growing the job table, don't relocate the jobmru pointer if it's NULL.
2002-07-11 04:22:41 +00:00
tjr
df20e19b27
Close file descriptors when [n]>&- and [n]<&- redirections are used.
...
This was broken by rev. 1.16.
PR: 40334
MFC after: 1 week
2002-07-09 08:55:46 +00:00
tjr
284f7b1851
Print out commands with NTOFD/NFROMFD redirections that close the
...
descriptors (">&-" or similar) correctly in the jobs(1) command.
2002-07-09 03:26:47 +00:00
dillon
7340de44e8
Fix type-o in last commit in preparation for MFC.
2002-07-02 19:06:33 +00:00
obrien
f6f518b207
Consistently use FBSDID
2002-06-30 05:15:05 +00:00
sheldonh
8e1ca9d76c
Document addition of RLIMIT_VMEM support, added in rev 1.26 of miscbltin.c.
2002-06-27 16:56:45 +00:00
dillon
8e4f3ae5f1
Add support for RLIMIT_VMEM. The #ifdef's were already there but getopt()
...
needed to be adjusted.
2002-06-26 00:29:53 +00:00
jmallett
0c56b95c32
Remove two unused variables.
2002-06-20 05:21:43 +00:00
jmallett
2b674f32f6
Minor const cleanup.
...
Don't discard qualifiers we don't need to discard.
2002-06-20 05:20:50 +00:00
tjr
6b197bb764
Bring documentation on CDPATH and its effects on cd(1) back into sync with
...
reality (and POSIX): current directory isn't searched unless CDPATH has
a "." element or is unset.
PR: 38442
Submitted by: oleg dashevskii <be9@be9.ru>
MFC after: 1 week
2002-06-19 12:04:22 +00:00
tjr
08e98db385
Don't list shell builtins when the hash command is used (SUSv3)
2002-06-13 07:50:50 +00:00
tjr
8b3a40cd3f
Document the -f and -v options of the unset builtin.
2002-06-06 04:12:50 +00:00
tjr
70c6f806e0
Quote the output of the no-argument form of the `set' builtin for re-input
...
to the shell.
2002-06-06 04:02:50 +00:00
tjr
c74ee6d523
Add the SUSv3 -p ("portable") option to both the export and readonly
...
builtins. This makes export/readonly print lines in the form
"export name=value".
2002-06-06 03:57:22 +00:00
tjr
d658a1e5c7
Don't modify output that is to be quoted if it contains no IFS characters
...
or shell metacharacters.
2002-06-06 03:29:23 +00:00
tjr
71a01dad7b
Display job status correctly when a pipeline is suspended.
2002-06-04 15:26:00 +00:00
tjr
da1177ce1d
Describe finished jobs as "Done", not "Exit" (SUSv3)
2002-06-04 14:40:33 +00:00
tjr
ec349498c5
Don't output state' and
current' fields for processes that aren't
...
leaders in -l option to jobs(1).
2002-06-04 14:37:13 +00:00
tjr
ba4116c514
Missing prototypes from previous commit.
2002-06-04 13:13:54 +00:00
tjr
de63da4c55
Correct minor spacing problem in output of jobs -l for pipelines.
2002-06-04 13:01:51 +00:00
tjr
33d27dd210
Quote alias values in the output of the alias(1) builtin so they are
...
suitable for re-input to the shell (SUSv3)
2002-06-04 12:59:12 +00:00
tjr
0930ee47eb
Fix typo causing ``fc -e'' to not work correctly. getopt() sets optarg,
...
not shoptarg.
2002-06-02 08:34:09 +00:00
tjr
0a9f255d03
Adding an entry to the history with H_ENTER moves libedit's internal
...
history cursor. Reset the cursor after adding the entry to the history
when doing ``fc -s'' so the output is correct.
2002-06-02 08:27:04 +00:00
tjr
d3a1f7d912
Implement $PPID, the parent process ID of the shell.
2002-06-01 02:14:48 +00:00
tjr
fff7a36566
Support the remaining job ID formats required by SUSv3:
...
%+ (current job, same as %%),
%- (previous job),
%?str (job with "str" in its command name).
2002-06-01 01:51:42 +00:00
tjr
1f8bb8d729
Add -s (output PID's only) and -l (show PID's) options to the jobs(1)
...
builtin. Modify the output format to match what SUSv3 requires.
2002-05-31 14:04:23 +00:00
tjr
c828fbddc6
#if JOBS around a job control-related statement to allow compilation with
...
job control disabled.
2002-05-31 13:10:38 +00:00
tjr
5250eaebac
Break the code to display status info for one job out from showjobs() into
...
showjob(), use it inside dowait() to display status info for consistency,
and in a format closer to what the standard requires.
2002-05-31 13:07:05 +00:00
tjr
952d847c40
Move job to front of most recently used job list when bg'd or fg'd.
2002-05-31 12:35:34 +00:00
tjr
7e9561b97a
Instead of keeping just the jobid of the most recently bg'd or fg'd job,
...
keep a linked list of the jobs, most recently used first. This is required
to support the idea of `previous job', and to allow the jobs fg and bg
default to be correct according to POSIX.
2002-05-31 12:31:23 +00:00
ru
76631b8618
mdoc(7) police: tidy up the markup a bit.
2002-05-29 15:38:59 +00:00
tjr
9ce8567e45
sh appeared in Version 1, not System V.1.
2002-05-25 12:18:27 +00:00
tjr
290ce9e466
Implement `set +o', which displays the currently set options in a format
...
suitable for re-input into the shell.
2002-05-25 12:11:58 +00:00
tjr
e6fbc84685
Bring back the cd -L and -P options from revision 1.24, but try harder not
...
to fail when the logical current directory no longer exists. Allow changes
to absolute paths when logical cwd is invalid, fall back to physical cd
if logical cd fails.
2002-05-22 05:15:53 +00:00
tjr
fff7331065
Temporarily back out revision 1.24; it seems to handle the case where the
...
current directory no longer exists incorrectly and breaks `make cleandir'.
2002-05-22 03:29:20 +00:00
tjr
bc86a28ef9
Add the SUSv3 -L and -P options to the cd and pwd builtin utilities. `Logical'
...
handling of .. is now the default.
2002-05-20 07:54:39 +00:00
jmallett
4205c9f55a
Remove a small, annoying, nit I ran in to editing this file, a lone tab
...
on a line by itself.
2002-05-19 17:50:23 +00:00
tjr
b19972e699
Implement the -u (-o nounset) option, which gives an error message if
...
an unset variable is expanded.
Obtained from: NetBSD (bjh21, christos)
2002-05-19 08:30:16 +00:00
tjr
b72e0fae17
Make the fg and bg commands give the output required by SUSv3.
...
fg outputs the name of the command, bg outputs the name of the command
and the job id.
2002-05-19 07:27:26 +00:00
tjr
ada2f900a3
Implement the -C (-o noclobber) option, which prevents existing regular
...
files from being overwritten by shell redirection.
2002-05-19 06:03:05 +00:00
trhodes
56036d2623
Consistancy check s/file system/filesystem/
...
Reviewed by: brian
2002-05-16 01:57:20 +00:00
des
4d6b787d2d
Usage style sweep: spell "usage" with a small 'u'.
...
Also change one case of blatant __progname abuse (several more remain)
This commit does not touch anything in src/{contrib,crypto,gnu}/.
2002-04-22 13:44:47 +00:00
charnier
79b89ed363
Use `The .Nm utility'
2002-04-16 20:08:06 +00:00
greid
5486a1c99e
Stop a null pointer dereference in the builtin hash function.
...
PR: 36141
Approved by: cracauer
MFC after: 1 week
2002-04-15 15:49:30 +00:00
imp
d4f0b8fef8
Remove now-obsolete __STDC__ ifdefs, remove redundant NULL definition and
...
include stdlib.h for NULL.
2002-02-18 06:08:23 +00:00
kris
bb3058824a
Lock down with WFORMAT=1 except those directories with unfixed warnings.
...
Tested on i386 and alpha.
2002-02-04 02:49:19 +00:00
imp
c4d9fbc331
%.* takes an int, not a size_t.
2002-02-02 07:06:58 +00:00
imp
5ef5088ac4
o __P has been reoved
...
o Old-style K&R declarations have been converted to new C89 style
o register has been removed
o prototype for main() has been removed (gcc3 makes it an error)
o int main(int argc, char *argv[]) is the preferred main definition.
o Attempt to not break style(9) conformance for declarations more than
they already are.
o Change
int
foo() {
...
to
int
foo(void)
{
...
2002-02-02 06:50:57 +00:00
babkin
6f66434b4f
The fix for >/dev/stdout, including Tor Egge's fix for the bug in the
...
original attempt of the fix. And yes, this time I've tried to build
world with it and it succeeded.
Submitted by: Tor Egge
MFC after: 1 week
2002-01-13 14:37:40 +00:00
alfred
39b93da10a
backout rev 1.14, it's breaking things.
2001-12-24 22:27:04 +00:00
babkin
a0dab54592
Added ability to do ">/dev/stdout". The apsfilter people are anxious
...
to get it MFCed in time for release 4.5.
MFC after: 2 weeks
2001-12-22 02:40:58 +00:00
obrien
099f8ecbe9
Default to WARNS=2. Binary builds that cannot handle this must explicitly
...
set WARNS=0.
Reviewed by: mike
2001-12-04 01:57:47 +00:00
knu
96265e088e
Remove the printf builtin command from sh(1), which command is not
...
used so often that it's worth keeping it as a builtin.
Now that all the printf invocations from within the system startup
scripts, we can safely remove it.
Urged by: sheldonh :)
No MFC is planned so far because it may break compatibility and
violate POLA.
2001-11-20 18:33:59 +00:00
knu
b58a3e4078
Make test(1) a builtin command of our sh(1) for efficiency. The
...
binary size increase is 3,784 bytes (about 0.6%).
I don't drop the printf builtin while I'm here because some /etc/rc.*
scripts seem to use it before mounting /usr where printf(1) resides.
Reviewed by: arch (sheldonh)
Inspired by: NetBSD, ksh
Clued by: ume (on how the printf builtin is used)
2001-11-17 19:10:11 +00:00
tegge
c98a8251e8
Don't call setvar() with the VTEXTFIXED flag. A copy is created by
...
setvar() and passed to setvareq(). When the VTEXTFIXED flag is set,
that copy is never freed, causing a memory leak.
PR: 31533
Submitted by: maxim@macomnet.ru
2001-11-07 23:00:05 +00:00
tegge
e6528784cf
Repair normally unused is_digit() macro.
2001-10-14 21:11:33 +00:00
obrien
d9494059c0
*** empty log message ***
2001-10-01 08:43:58 +00:00
tegge
b0e7279ba2
Don't check uninitialized memory for having the shell control character
...
value CTLARI since this might break expansion of arithmetic expressions.
Don't access memory below start of stackblock.
Problem analyzed by hunt@iprg.nokia.com , slightly different patch applied.
PR: 24443
Submitted by: hunt@iprg.nokia.com
2001-09-19 20:16:38 +00:00
tegge
0c39138a0b
BASESYNTAX, DQSYNTAX, SQSYNTAX and ARISYNTAX handles negative indexes.
...
Allow those to be used to properly quote characters in the shell
control character range.
2001-09-19 20:07:47 +00:00
tegge
221fff6437
Adjust some type checks to include CTLQUOTEMARK in the range of
...
shell control characters.
2001-09-19 19:58:09 +00:00
peter
a28e7a866a
Initialize infp at main()
2001-08-13 21:55:04 +00:00
ru
95ce4d2cdc
Removed duplicate VCS ID tags, as per style(9).
2001-08-13 14:06:34 +00:00
sheldonh
7950d85ec2
can not -> cannot
2001-08-08 18:32:06 +00:00
ru
4345758876
mdoc(7) police:
...
Avoid using parenthesis enclosure macros (.Pq and .Po/.Pc) with plain text.
Not only this slows down the mdoc(7) processing significantly, but it also
has an undesired (in this case) effect of disabling hyphenation within the
entire enclosed block.
2001-08-07 15:48:51 +00:00
sheldonh
9bfb9eedcd
Use STD{ERR,IN,OUT}_FILENO instead of their numeric values. The
...
definitions are more readable, and it's possible that they're
more portable to pathalogical platforms.
Submitted by: David Hill <david@phobia.ms>
2001-07-26 11:02:39 +00:00
sheldonh
8eba0410f0
Break the list of parameter expansions into two lists so that
...
the paragraph introducing the prefix and suffix pattern expansions
does not appear as part of the explanation for the string length
expansion.
2001-07-23 10:18:05 +00:00
dd
a145482cf6
Remove whitespace at EOL.
2001-07-15 07:53:42 +00:00
ru
2149a5069b
mdoc(7) police: removed HISTORY info from the .Os call.
2001-07-10 10:04:09 +00:00
ru
05e503d80a
mdoc(7) police: sort SEE ALSO xrefs (sort -b -f +2 -3 +1 -2).
2001-07-06 16:46:48 +00:00
dwmalone
977c2968e4
Use the correct printf format to print a long.
...
Approved by: cracauer
2001-06-26 11:11:30 +00:00
dd
ef9ae51ffe
Include missing header files which define functions for which gcc has
...
builtins (e.g., exit, strcmp).
2001-06-24 23:04:23 +00:00
dd
04d1b1c8dd
Remove duplicate words.
2001-06-24 01:34:38 +00:00
des
8e8983228c
Add more headers that are required with -fno-builtin (stdlib and strings)
2001-06-19 15:41:57 +00:00
gad
1246730a2a
Fix how /bin/sh handles 'for' and 'case' statements when it is called to do
...
errexit (-e) processing. This solves a problem where 'make clean' would
fail with an unspecified error in certain automake-generated makefiles.
Reviewed by: no objections from -hackers...
MFC after: 2 weeks
2001-06-01 00:07:09 +00:00
imp
e75a0aa12f
Use PATH_MAX in preference in MAXPATHLEN.
2001-05-30 03:37:28 +00:00
dd
8b675ff060
Document "chdir" builtin.
2001-04-28 02:13:58 +00:00
kris
b6da0fca77
-Wnon-const-format sweep: make format strings const char *'s, add
...
__printflike()/__printf0like() to function prototypes, as appropriate.
Reviewed by: bde, -audit
2001-04-17 07:46:38 +00:00
brian
758d5927b5
`|'' should be more binding than
`!'' so that this isn't broken:
...
if ! echo bla | wc -c ; then
echo broken
fi
Obtained from: NetBSD
2001-04-09 12:46:19 +00:00
brian
68e27cd394
A much better (more correct) fix for handling ``!'' characters
...
Obtained from: NetBSD
2001-04-04 10:11:43 +00:00
brian
dac2619941
Handle ``!'' characters when they appear as second and subsequent
...
parts of an && or || expression.
This makes this expression work as expected:
if true && ! false; then echo yes; fi
2001-04-04 09:30:50 +00:00
cracauer
ee151afe78
Fix child's SIGSTOP behaviour in scripts.
...
When a child is receiving SIGSTOP, eval continues with the next
command. While that is correct for the interactive case (Control-Z
and you get the prompt back), it is wrong for a shellscript, which
just continues with the next command, never again waiting for the
stopped child. Noted when childs from cronjobs were stopped, just to
make more processes (by wosch).
The fix is not to return from a job wait when the wait returned for a
stopped child while in non-interactive mode. This bahaviour seems to
be what bash2 and ksh implement. I tested for correct behaviour for
finnaly killing the child with and without forgrounding it first.
When not foregrouding before killing, the shell continues with the
script, which is what the other shells do as well.
Reviewed by: Silence on -current
2001-02-06 10:29:34 +00:00
ru
8a6f8b5fe4
mdoc(7) police: split punctuation characters + misc fixes.
2001-02-01 16:38:02 +00:00
ru
3d8401c62e
Prepare for mdoc(7)NG.
2001-01-16 09:08:22 +00:00
ru
036612bde9
Prepare for mdoc(7)NG.
2000-12-18 14:48:17 +00:00
ru
d4cb36bcfe
Prepare for mdoc(7)NG.
2000-12-15 17:37:31 +00:00
obrien
c2ee1dcc02
Add `_PATH_DEVZERO'.
...
Use _PATH_* where where possible.
2000-12-09 09:35:55 +00:00
ru
c3abc432d8
mdoc(7) police: Er macro usage cleanup.
2000-11-22 15:55:01 +00:00
kris
f99b720bd3
Use secure temporary filenames during build.
...
Audited by: markm, cracauer
2000-11-22 11:05:51 +00:00
brian
89a0a9cf18
Implement the <> redirection operator.
2000-10-03 23:13:14 +00:00
cracauer
1483cf9cb7
Disable part of my 8-bits fixes from December 1999.
...
Serious fix still needed, see discussion on -current
(Subject: /bin/sh dumps core with here-document of 8bit text)
Problem in this code originally spotted by
Jun Kuriyama <kuriyama@FreeBSD.org>
2000-08-16 12:23:57 +00:00
cracauer
42bbf4dc06
Fix type builtin for absolute paths and relative paths with directory
...
names in them.
Also use a colon in the answer of `type` everytime the questioned item
is not usable.
PR: bin/20567
2000-08-16 12:08:02 +00:00
cracauer
0a28a3436d
From submitter:
...
growstackblock() sometimes relocates a stack_block considered empty
without properly relocating stack marks referencing that block.
The first call to popstackmark() with the unrelocated stack mark
as argument then causes sh to abort.
Relocating the relevant stack marks seems to solve this problem.
The patch changes the semantics of popstackmark() somewhat. It can
only be called once after a call to setstackmark(), thus cmdloop() in
main.c needs an extra call to setstackmark().
PR: bin/19983
Submitted by: Tor.Egge@fast.no
Reviewed by: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2000-08-16 10:39:43 +00:00
sheldonh
e1fc0d32ca
Mark up the -a flag to unalias as a flag (Fl), not an argument (Ar).
2000-07-24 15:02:04 +00:00
sheldonh
d7e5357331
Add missing punctuation to one line.
2000-07-24 14:59:50 +00:00
marko
e33a4a8758
Document the builtin echo command
...
Reviewed by: Matthew Hunt <mph@astro.caltech.edu>
2000-07-17 23:37:55 +00:00
sada
7e8874695e
Fixd with alias missing.
...
PR: bin/19475
Approved by: Martin Cracauer <cracauer@cons.org> (with conditions)
2000-07-15 14:34:37 +00:00
mph
bedabe82c4
Add \a and \e to "echo -e" escape handling.
2000-06-26 22:43:30 +00:00
cracauer
5b8d64c4b3
Fix parsing of string for eval command.
...
PR: 18447
Submitted by: Koji Mori <mori@tri.asanuma.co.jp>
2000-05-15 13:02:07 +00:00
cracauer
31c479dcd8
Fix environment passung to eval'ed commands.
...
PR: bin/6577
Submitted by: Anatoly Vorobey <mellon@pobox.com>
Approved by: silence amoung other sh experts
2000-05-15 12:33:17 +00:00
cracauer
0214561bf1
Rename the trace() function (that is build only in the -DDEBUG=2
...
case), so that it doesn't clash with the ncurses function of the same
name when linking statically with -ltermcap.
The linker only complains when -static is used, and it is not clear
whether this is a bug.
PR: bin/18104
Submitted by: Anatoly Vorobey <mellon@pobox.com>
2000-04-20 11:39:11 +00:00
cracauer
0732301c64
Include <errno.h> when compiling with -DDEBUG=2
...
PR: bin/18104
Submitted by: mellon@pobox.com
2000-04-20 09:55:57 +00:00
cracauer
72606bd24b
Fix warnings, some of them serious because sh violated name
...
spaces reserved by the header files it includes.
mkinit.c still produces C code with redundant declarations, although
they are more harmless since they automatically derived from the right
places.
2000-04-20 09:49:16 +00:00
imp
ec1733ae3b
Use #include <errno.h> rather than extern int errno;.
2000-04-14 06:03:39 +00:00
cracauer
b0d269b71d
Fix ${#varname} (getting length of string) when in double-quotes.
...
Approved-by: jkh
PR: bin/12137
Submitted by: "Danny J. Zerkel" <dzerkel@columbus.rr.com>
2000-02-15 08:00:11 +00:00
cracauer
6d35bd2d53
Fix command hash handling on
...
PATH=... command
Noted by and fix works for Marcel Moolenaar <marcel@scc.nl>
1999-12-20 13:42:59 +00:00
cracauer
a6c2f2ad3b
Second part of 8-bit fixes.
1999-12-16 12:03:46 +00:00
cracauer
daba963c8a
Document ulimit -b for RLIMIT_SBSIZE.
1999-12-15 16:12:32 +00:00
cracauer
ea70a76b31
First round of 8-bit fixes.
1999-12-15 11:46:32 +00:00
cracauer
afc2bd855c
make '|' character visible.
...
PR: docs/15265
Submitted by: takamune@avrl.mei.co.jp
1999-12-05 12:13:54 +00:00
cracauer
46e40e0c76
Fix "subscript has type `char'" warnings by casting to int, as
...
discussed on -arch.
1999-12-04 17:12:47 +00:00
cracauer
903b2c868c
Include strerror(errno) in error messages after failed system calls.
...
Fix a warning.
1999-11-29 19:11:01 +00:00
sheldonh
52bb19a82f
Follow-up on mdoc fixes in rev 1.35; this includes things that I missed
...
in that revision as well as things I broke in that revision. A note-
worthy instance of the latter case was the inversion of -E and -V in the
subsection on Commandline Editing.
1999-11-18 08:13:21 +00:00
cracauer
82902b2e3c
The pipleline problem introduced in version 1.22 wasn't fully fixed in
...
1.23. This revision should work for long pipes both in
here-documents/backquote and in normal cases.
Fix works for jmz, bde.
1999-11-17 16:53:34 +00:00
sheldonh
2f18ba64a9
Don't call bash(1) a Korn shell clone. Instead, use pdksh(1) as an
...
example of such a clone.
PR: 14601
Submitted by: Matthias Buelow <mkb@altair.mayn.de>
1999-11-10 13:27:54 +00:00
steve
9625eca367
Correct logic from previous commit - middle processes in long pipes
...
don't have their stdin closed indisciminantly.
Reviewed by: markm
1999-11-07 17:07:05 +00:00
cracauer
fffcf922ea
When a backquote command inside a here-document had a pipe with more
...
than two processes (got that? :-), the stdin fd of the middle
processes that has just been set up was accidetially closed. Don't do
this.
PR: bin/14527
1999-11-05 12:06:30 +00:00
cracauer
71850b08e9
Fix ';' command when used with -e flag.
...
PR: bin/14509
1999-10-26 13:17:18 +00:00
green
962bd6c00c
Implement ulimit -b for RLIMIT_SBSIZE.
1999-10-09 20:56:06 +00:00
sheldonh
22af2421d1
Mdoc cleanup, with a few grammar cleanups on the side.
...
Reviewed by: mpp
1999-10-07 13:56:43 +00:00
sheldonh
d003c4a860
Correct some hard sentence breaks. Only those surrounding the previous
...
commit and those which cause ugly nroff output have been fixed, since
the purpose of the style guideline which they contravene is to reduce
the sizes of deltas.
Reported by: bde
1999-09-14 11:46:04 +00:00
sheldonh
4000b20086
Improve shell documentation:
...
* Consistently misspell built-in as builtin.
* Add a builtin(1) manpage and create builtin(1) MLINKS for all shell
builtin commands for which no standalone utility exists. These MLINKS
replace those that were created for csh(1).
* Add appropriate xrefs for builtin(1) to the csh(1) and sh(1) manpages,
as well as to the manpages of standalone utilities which are supported
as shell builtin commands in at least one of the shells. In such
manpages, explain that similar functionality may be provided as a
shell builtin command.
* Improve sh(1)'s description of the cd builtin command. Csh(1) already
describes it adequately. Replace the cd(1) manpage with a builtin(1)
MLINKS link.
* Clean up some mdoc problems: use Xr instead of literal "foo(n)"; use
Ic instead of Xr for shell builtin commands.
* Undo English contractions.
Reviewed by: mpp, rgrimes
1999-09-08 15:40:46 +00:00
sheldonh
506aa9c1b6
Revert to using .Xr for builtins. The cross-references don't work now,
...
but that doesn't mean that they will never work.
Requested by: mpp, rgrimes
1999-08-31 12:44:52 +00:00
sheldonh
b337d66e78
Clean-up:
...
Fix grammar and spelling nits.
Use .Dq and .Qq where appropriate.
Divorce trailing punctuation from quoted elements.
Use .Dq instead of .Xr for builtins.
Remove trailing whitespace and blank lines.
PR: 13340
1999-08-30 10:13:04 +00:00
peter
66312e4a8d
$Id$ -> $FreeBSD$
1999-08-27 23:15:48 +00:00
tg
da827dcea3
Make the behaviour of `read -e', ie. treating backslashes as special,
...
the default. Add -r option for the read builtin to reverse this.
PR: 13274
Reviewed by: cpiazza, hoek, sheldonh
1999-08-26 08:16:27 +00:00
sheldonh
3f0530abee
Fix handling of the cd command inside evaluations. It was changing PWD,
...
which it should not do.
PR: 12578
Reported by: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
Submitted by: Niall Smart <niall@pobox.com>
1999-07-19 11:00:33 +00:00
kris
713dd62834
Various spelling/formatting changes.
...
Submitted by: Philippe Charnier <charnier@xp11.frmug.org>
1999-05-08 10:22:15 +00:00
imp
321c551969
First set of fixes to keep egcs happy. These include {} around single
...
statement if blocks[*] when the else could be ambiguous, not defaulting
to int type and removal of some unused variables.
[*] This is explicitly allowed by style(9) when the single statement
spans more than one line.
Reviewed by: obrien, chuckr
1999-04-25 21:13:34 +00:00
cracauer
da2b842fad
Next approach to make loops in interactive interruptable.
...
PR: bin/9173
1999-04-21 11:52:39 +00:00
max
3ee4dda734
Typo fix.
1999-04-19 18:48:26 +00:00
cracauer
fd7050b5fd
Remove my temporary detection for PR 7059, Tor Egge fixed this bug.
...
PR: 7059
1999-04-13 12:43:55 +00:00
tegge
82a8c819f3
During variable expansion, the internal representation of the expression
...
might be relocated. Handle this case.
PR: 7059
1999-04-13 04:13:09 +00:00
cracauer
6fcc4a0cb0
Fix typo in source-explaining comment.
1999-04-12 15:23:27 +00:00
cracauer
532c73c7d7
Add a guarded abort() for the problem in PR bin/7059 (no fix so far,
...
this is hairy).
Reformat this file to comply to style(9). It had mixed styles before.
PR: bin/7059
1999-04-12 14:23:36 +00:00
tegge
e35119550e
When a variable expansion is enclosed in double quotes, the internal
...
representation of the expression is quoted. Take care of this when
doing pattern matching in conjunction with trimming.
#!/bin/sh
c=d:e; echo "${c%:e}"
PR: NetBSD PR#7231
Noticed by: Havard Eidnes <Havard.Eidnes@runit.sintef.no>
1999-04-09 15:23:48 +00:00
cracauer
1ea5fe55b8
In interactive shells, break loops to the topmost level when a child
...
is killed by a signal.
(In non-interactive shells - that means a shellscript - the shell just
exits, this was already working)
PR: bin/9173
1999-04-03 12:55:51 +00:00
cracauer
affd55a23b
Implement -a flag. A test shell script can be found at
...
http://www.cons.org/cracauer/download/sh-interrupt/testsuite/test_export.sh
The PR also had test cases the new version passes.
Fix typo in comment.
PR: bin/1030
1999-04-03 11:41:46 +00:00