Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 12 Apr 2018 12:01:06 -0700
From: Russ Allbery <>
Subject: Re: Re: Terminal Control Chars

Ian Zimmerman <> writes:

> The term "invisible character" has some obvious (if perhaps informal)
> meaning.  But I don't really know what "control character" means.  Is a
> page separator (^L) a control character, for example?  Is DEL one (ASCII
> 127)?

I think a useful definition of "control character" in this context (and I
realize this doesn't exactly match the ASCII definition) is a character
that results in an action other than insertion being taken, as opposed to
a glyph (possibly invisible) being inserted (and not counting contexts
such as vi outside of insert mode where basically all characters are
interpreted as actions).

CR and LF would not be control characters in that definition, since they
insert a newline and don't cause an action.  Similarly, TAB wouldn't be a
control character in that definition.  DEL would be if it deleted a
character as opposed to inserting a ^? sequence.  ESC would be if it
changed terminal modes or colors or did all the other things escape
sequences can do.  BEL would be if it rung the terminal bell.  And so

I think it's reasonable to expect that pasting something into a terminal
will cause insertion of text, including whitespace, but will not cause the
terminal to take *actions* that are not the insertion of text.  Certainly,
I think there are a lot of people in the world who do have that

Russ Allbery (              <>

Powered by blists - more mailing lists

Your e-mail address:

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.