summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-shells/dash/files/dash-0.5.10-dumb-echo.patch')
-rw-r--r--app-shells/dash/files/dash-0.5.10-dumb-echo.patch92
1 files changed, 0 insertions, 92 deletions
diff --git a/app-shells/dash/files/dash-0.5.10-dumb-echo.patch b/app-shells/dash/files/dash-0.5.10-dumb-echo.patch
deleted file mode 100644
index 35d324609302..000000000000
--- a/app-shells/dash/files/dash-0.5.10-dumb-echo.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-http://bugs.gentoo.org/337329
-http://bugs.gentoo.org/527848
-
-there's no requirement for `echo` to support escape sequences. bash, by default,
-does not, while dash always does. POSIX permits either behavior:
-http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html
-
-however, since the behavior is not portable, no one should be relying on echo
-having any specific behavior. they should use `printf` when they want an escape
-sequence. it also makes dash smaller & faster to disable this logic entirely.
-
---- dash-0.5.10/src/bltin/printf.c
-+++ dash-0.5.10/src/bltin/printf.c
-@@ -457,22 +457,13 @@
- int
- echocmd(int argc, char **argv)
- {
-- const char *lastfmt = snlfmt;
-- int nonl;
-+ int i;
-
-- if (*++argv && equal(*argv, "-n")) {
-- argv++;
-- lastfmt = "%s";
-+ for (i = 1; i < argc; ++i) {
-+ outstr(argv[i], out1);
-+ if (i < argc - 1)
-+ outc(' ', out1);
- }
--
-- do {
-- const char *fmt = "%s ";
-- char *s = *argv;
--
-- if (!s || !*++argv)
-- fmt = lastfmt;
--
-- nonl = print_escape_str(fmt, NULL, NULL, s ?: nullstr);
-- } while (!nonl && *argv);
-+ outc('\n', out1);
- return 0;
- }
---- dash-0.5.10/src/dash.1
-+++ dash-0.5.10/src/dash.1
-@@ -1182,43 +1182,15 @@
- option turns off the effect of any preceding
- .Fl P
- options.
--.It Xo echo Op Fl n
-+.It Xo echo
- .Ar args...
- .Xc
- Print the arguments on the standard output, separated by spaces.
--Unless the
--.Fl n
--option is present, a newline is output following the arguments.
- .Pp
--If any of the following sequences of characters is encountered during
--output, the sequence is not output. Instead, the specified action is
--performed:
--.Bl -tag -width indent
--.It Li \eb
--A backspace character is output.
--.It Li \ec
--Subsequent output is suppressed. This is normally used at the end of the
--last argument to suppress the trailing newline that
--.Ic echo
--would otherwise output.
--.It Li \ef
--Output a form feed.
--.It Li \en
--Output a newline character.
--.It Li \er
--Output a carriage return.
--.It Li \et
--Output a (horizontal) tab character.
--.It Li \ev
--Output a vertical tab.
--.It Li \e0 Ns Ar digits
--Output the character whose value is given by zero to three octal digits.
--If there are zero digits, a nul character is output.
--.It Li \e\e
--Output a backslash.
--.El
-+No arguments or backslash sequences are supported as they are not portable.
-+They will be printed out exactly as passed in.
- .Pp
--All other backslash sequences elicit undefined behaviour.
-+You can replace `echo -n ...` with the portable `printf %s ...` construct.
- .It eval Ar string ...
- Concatenate all the arguments with spaces.
- Then re-parse and execute the command.