Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!ncar!unmvax!tut.cis.ohio-state.edu!rutgers!att!ulysses!sfsup!gill From: gill@sfsup.UUCP (Timothy D. Gill) Newsgroups: comp.unix.questions Subject: Why shouldn't ^J (linefeed) be used as a command in an application? Keywords: line discipline, control characters, UNIX conventions Message-ID: <4404@sfsup.UUCP> Date: 13 Dec 88 21:57:48 GMT Organization: AT&T-BL, Summit N.J. USA 07901 Lines: 17 We have an existing user interface tool, one that runs (more or less) in raw mode, that uses ^Z to do the operation "goto command line" and we want to change it because of a conflict with the use of ^Z for the SUSPEND line discipline character for BSD-style job control. Our only choices are ^C and ^J because all other control characters are used by the tool already. ^C seems like it should be avoided because it is often used as the INTERRUPT character in BSD and has a similar meaning in MS-DOS and other operating systems. ^J does not seem to be used in UNIX applications, possibly because of its association with ^M (return) and the mapping that line discipline usually performs with those two characters. However, we can, given our use of raw mode, distinguish between ^J and ^M, and it works. What are the historical or cultural reasons that ^J is not used in UNIX tools? Is there a strong reason not to use it now?