Lines Matching +full:embedded +full:- +full:trace +full:- +full:extension
22 + Translation of Non-use Capabilities
24 + Source-Form Translation
40 for character-cell terminals and terminal emulators with the following
42 * Source-compatible with historical curses implementations
46 * High-quality -- stable and reliable code, wide portability, good
48 * Featureful -- should eliminate as much of the drudgery of C
53 compatibility with older version must trump featurefulness -- we
59 We used System V curses as a model, reverse-engineering their API, in
68 with System V took us most of the way to base-level XSI conformance.
77 extension a feature macro, so that ncurses client code can use this
79 extension.
87 Code written for ncurses may assume an ANSI-standard C compiler and
88 POSIX-compatible OS interface. It may also assume the presence of a
89 System-V-compatible select(2) call.
92 to less-capable UNIX environments wherever possible.
94 We encourage developers to support OS-specific optimizations and
102 right way to leverage an OS-specific feature is to modify the autoconf
110 * Package-internal files (README, INSTALL, TO-DO etc.)
115 1. Maintain package-internal files in plain text. The expected viewer
117 elaborate mark-up.
125 The reason for choosing HTML is that it is (a) well-adapted for
126 on-line browsing through viewers that are everywhere; (b) more easily
127 readable as plain text than most other mark-ups, if you do not have a
129 nice-looking printed version from it. Also, of course, it make
134 The reporting address for bugs is bug-ncurses@gnu.org. This is a
135 majordomo list; to join, write to bug-ncurses-request@gnu.org with a
141 hours to spend on elementary hand-holding. We rely on intelligent
146 In order to use our bug-fixing time efficiently, we put people who
153 quick fix is develop a way we can duplicate the bad behavior --
161 traditional asynchronous terminal or PC-based terminal emulator,
169 normally use an unusual xterm window size -- a surprising number
171 3. Generate and examine a trace file for the broken behavior.
173 libraries. Insert a trace() call with the argument set to
175 trace levels.) Reproduce your bug, then look at the trace file to
179 screen. Looking at the virtual-screen dumps in the trace file will
183 If the virtual-screen dumps look correct but the bug persists, it
184 is possible to crank up the trace level to give more and more
192 characterize any bug in the screen-update logic quite exactly.
202 If your bug produces a bad update, include a trace file. Try to
203 make the trace at the least voluminous level that pins down the
206 un-munched ones because they are easier to read).
207 If your bug produces a core-dump, please include a symbolic stack
208 trace generated by gdb(1) or your local equivalent.
210 -- and every terminal on which you cannot. Ideally, send us
222 cursor-movement optimization code. With this program, you can see
226 program is command-driven and has on-line help.
228 If you think the vertical-scroll optimization is broken, or just want
231 test the hardware-scrolling optimization separately with hardscroll.
237 Most of the library is superstructure -- fairly trivial convenience
266 want to introduce a new debug trace level for some reason.
318 match multiple-character input sequences against special-key
329 problem that some BSD selects do not return a reliable time-left
344 function-key machinery would be just too painful, and this turns out
345 to imply having the prefix somewhere in the function-key capabilities
346 at terminal-type initialization.
350 is it is a relic of some forgotten experiment in-house at Bell Labs
351 that did not leave any traces in the publicly-distributed System V
358 accepts event reports in a device-dependent format and an upper level
370 accepted to parse the digested mouse reports (low-level events) into a
371 gesture (a high-level or composite event).
376 (which simulates cooked-mode line editing in an ncurses window), the
390 are modified by vertical-motion and clear operations, and both are
391 re-initialized after each update. To this change-journalling
398 * Then lib_doupdate.c goes to work. Its job is to do line-by-line
401 cursor-movement optimization, attempting to get from given screen
406 that (in the trace-enabled version of the library) enabling the
407 TRACE_TIMES trace level causes a report to be emitted after each
412 In the trace-enabled version of the library, it is also possible to
413 disable and re-enable various optimizations at runtime by tweaking the
421 is what flavor of regular expressions the built-in form field type
429 porting u386mon 2.0 (comp.sources.misc v14i001-4) to systems lacking
441 The implementation therefore starts with a table-driven, dual-mode
448 Translation of Non-use Capabilities
467 about this in the section on Source-Form Translation.
482 on the fly. The embedded version cannot go promiscuously writing
483 everything it translates out to disk -- for one thing, it will
484 typically be running with non-root permissions.
487 doubly-linked circular list of entry structures in-core, and then do
488 use resolution in-memory before writing everything out. This design
489 has other advantages: it makes forward and back use-references equally
493 And this is exactly how the embedded version works. But the
494 stand-alone user-accessible version of tic partly reverts to the
498 This is strictly a core-economy kluge, implemented because the
499 terminfo master file is large enough that some core-poor systems swap
504 So. The executable tic passes the entry-parser a hook that immediately
506 compiler main loop refrains from adding the entry to the in-core list
517 Source-Form Translation
543 The infocmp utility is just a wrapper around the same entry-dumping
547 necessary in order to handle both the ordinary De-compilation case and
555 See the TO-DO file in the top-level directory of the source
569 Do not try to auto-detect OS features in the main body of the C code.
572 To hold down complexity, do make your code data-driven. Especially, if
575 generate the proper table, that is still preferable to ad-hoc code --
589 should not need to be modified for single-terminal ports.
609 This modules assist in POSIX emulation on non-POSIX systems:
615 single-terminal-type port.
628 used to write trace data to the logfile
633 inappropriate for a memory-mapped port.
650 The following modules use UNIX-specific calls:
664 various tty-manipulation and system calls
667 various tty-manipulation calls
670 various tty-manipulation calls
673 various tty-manipulation calls
676 signal-manipulation calls