Why shouldn't ^J (linefeed) be used as a command in an application?

Timothy D. Gill gill at sfsup.UUCP
Wed Dec 14 07:57:48 AEST 1988


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?



More information about the Comp.unix.questions mailing list