Date: Sun, 10 May 2015 11:41:39 +0000 (UTC) From: Baptiste Daroussin <bapt@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r282722 - head/usr.bin/col Message-ID: <201505101141.t4ABfdRU079879@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bapt Date: Sun May 10 11:41:38 2015 New Revision: 282722 URL: https://svnweb.freebsd.org/changeset/base/282722 Log: For half and reverse line feeds, recognize both SUSv2-style escape-digit and BSD-style escape-control-char sequences in the input stream. Submitted by: schwarze at OpenBSD Discussed with: schwarze at OpenBSD Obtained from: OpenBSD Modified: head/usr.bin/col/col.1 head/usr.bin/col/col.c Modified: head/usr.bin/col/col.1 ============================================================================== --- head/usr.bin/col/col.1 Sun May 10 11:24:16 2015 (r282721) +++ head/usr.bin/col/col.1 Sun May 10 11:41:38 2015 (r282722) @@ -31,7 +31,7 @@ .\" @(#)col.1 8.1 (Berkeley) 6/29/93 .\" $FreeBSD$ .\" -.Dd August 4, 2004 +.Dd May 10, 2015 .Dt COL 1 .Os .Sh NAME @@ -82,18 +82,33 @@ recognized and interpreted by itself, wh Output multiple spaces instead of tabs. .El .Pp -The control sequences for carriage motion that +In the input stream, .Nm -understands and their decimal values are listed in the following -table: +understands both the escape sequences of the form escape-digit +mandated by +.St -susv2 +and the traditional +.Bx +format escape-control-character. +The control sequences for carriage motion and their ASCII values +are as follows: .Pp .Bl -tag -width "carriage return" -compact +.It ESC\-BELL +reverse line feed (escape then bell). .It ESC\-7 -reverse line feed (escape then 7) +reverse line feed (escape then 7). +.It ESC\-BACKSPACE +half reverse line feed (escape then backspace). .It ESC\-8 -half reverse line feed (escape then 8) +half reverse line feed (escape then 8). +.It ESC\-TAB +half forward line feed (escape than tab). .It ESC\-9 -half forward line feed (escape then 9) +half forward line feed (escape then 9). +In +.Fl f +mode, this sequence may also occur in the output stream. .It backspace moves back one column (8); ignored in the first column .It carriage return Modified: head/usr.bin/col/col.c ============================================================================== --- head/usr.bin/col/col.c Sun May 10 11:24:16 2015 (r282721) +++ head/usr.bin/col/col.c Sun May 10 11:41:38 2015 (r282722) @@ -205,12 +205,23 @@ main(int argc, char **argv) continue; case ESC: /* just ignore EOF */ switch(getwchar()) { + /* + * In the input stream, accept both the + * XPG5 sequences ESC-digit and the + * traditional BSD sequences ESC-ctrl. + */ + case '\007': + /* FALLTHROUGH */ case RLF: addto_lineno(&cur_line, -2); break; + case '\010': + /* FALLTHROUGH */ case RHLF: addto_lineno(&cur_line, -1); break; + case '\011': + /* FALLTHROUGH */ case FHLF: addto_lineno(&cur_line, 1); if (cur_line > max_line)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201505101141.t4ABfdRU079879>