File: groff.info, Node: Control Characters, Next: Invoking Requests, Prev: Formatter_Instructions.php">Formatter Instructions, Up: Formatter_Instructions.php">Formatter Instructions 5.6.1 Control Characters ------------------------ The mechanism of using 'roff''s control characters to invoke requests and call macros was introduced in *note Requests and Macros::. Control characters are recognized only at the beginning of an input line, or at the beginning of the branch of a control structure request; see *note Conditionals and Loops::. A few requests cause a break implicitly; use the no-break control character to prevent the break. Break suppression is its sole behavioral distinction. Employing the no-break control character to invoke requests that don't cause breaks is harmless but poor style. *Note Manipulating Filling and Adjustment::. The control '.' and no-break control ''' characters can each be changed to any ordinary character(1) (*note Control Characters-Footnote-1::) with the 'cc' and 'c2' requests, respectively. -- Request: .cc [o] Recognize the ordinary character O as the control character. If O is absent or invalid, the default control character '.' is selected. The identity of the control character is associated with the environment (*note Environments::). -- Request: .c2 [o] Recognize the ordinary character O as the no-break control character. If O is absent or invalid, the default no-break control character ''' is selected. The identity of the no-break control character is associated with the environment (*note Environments::). When writing a macro, you might wish to know which control character was used to call it. -- Register: \n[.br] This read-only register interpolates 1 if the currently executing macro was called using the normal control character and 0 otherwise. If a macro is interpolated as a string, the '.br' register's value is inherited from the context of the string interpolation. *Note Strings::. Use this register to reliably intercept requests that imply breaks. .als bp*orig bp .de bp . ie \\n[.br] .bp*orig . el 'bp*orig .. Testing the '.br' register outside of a macro definition makes no sense.