Merge branch 'master' of https://git.code.sf.net/p/cdesktopenv/code
[oweals/cde.git] / cde / programs / dtterm / flags
1 There are 3 ways to specify debug flags.  The debug flag to set to force
2 multibyte treatment of single byte locales is "m:1".  The format for the
3 flags is the same for all 3 ways.  The string is of the format:
4
5     flags:bits
6
7 where
8     
9     flags are in the range A-Z, a-z.
10     bits are in the range 0-99.
11
12 It is possible to combine flags and bits by either specifying a range of
13 the form:
14
15     [<flag1>]-[<flag2>]
16
17 or separating individual flags or ranges by commas.
18
19 It is possible to specify bits in the same fashion.  If no value bits
20 are specified, all 100 bits are set.  If no flags are specfied, none
21 are set.  Individual entries may be separated by spaces.  A few examples:
22
23     A-z:                sets all debug bits
24     A,c:                sets all 'A' and all 'c' debug bits
25     -:                  sets all bits
26     t,a-c:0,1,20-30     sets bits 0, 1, and 20 through 30 for flags
27                         t, a, b, and c
28     a:0 b:1 c:2         sets bit 0 for flag a, bit 1 for flag b, and
29                         bit 2 for flag c
30
31 Flags can be set via either:
32
33     - the -~ option
34     - the "*debugLevel" resource
35     - the "dttermDebugFlags" environment variable
36
37 A few examples:
38
39     dttermDebugFlags=t:1 dtterm
40     dtterm -~ t:1
41     dtterm -xrm "*dttermLevel: t:1"
42
43 If flag v:0 is set, the list of set debug flags will be dumped to
44 stderr.  The current list of debug flags are rather disorganized.  In
45 the future, the function DebugF() should be used, and bits > 0 with an
46 attempt at trying to make some sort of sense.  The following list
47 sepecfies all the current debug flags.  There is some overlap between
48 different chunks of code with the same flag.  The current list of debug
49 flags and bits are:
50
51         B:1     text buffer: verify text buffer before/after line moves
52         F:0     focus
53         F:1     focus and XmIM setting
54         P:0     TermParse.c functions
55         T:0     timestamps
56         b:0     scrollbar
57         c:0     selection
58         e:0     exposure
59         f:0     font / XFontStruct / XFontSet construction
60         f:10    force subprocess fork() failures specified by
61                 $dttermDebugForkFailures
62         i:0     enable not yet implemented function warnings
63         i:0     pty input
64         i:0     server key press and release
65         l:0     linedraw font code
66         m:1     force multibyte mode
67         m:2     validate multibyte/wide char strings
68         n:0     terminal server not run in daemon mode
69         o:0     StartOrStopPtyInput()
70         o:0     StartOrStopPtyOutput()
71         o:0     pty output
72         p:0     print error on pty open failures
73         p:1     parser: call ParseTrap() on parse of specified char
74         p:2     ttyModes parsing
75         p:10    pty: allocation: cause allocation failure
76         p:20    property change events
77         q:0     pending text
78         s:0     selection
79         s:1     disable COMPOUND_TEXT   selection target
80         s:2     disable CS_OF_LOCALE    selection target
81         s:3     disable COMPOUND_STRING selection target
82         s:4     disable TEXT            selection target
83         s:5     disable XA_STRING       selection target
84         s:10    signal handler
85         t:0     cursor / scrolling code
86         t:0     text rendering
87         t:1     fill areas before rendering text
88         v:0     verbose listing of debug flags
89         w:0     terminal window width / height