replicant works (thank you Marc). Return errno instead of the return
value of read() (thank you Jerome).
Terminal now can be instantiated as a replicant, although input doesn't
work :((.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21745 a95241bf-73f2-0310-859d-f6bbb57e9c96
mess with be_app anymore. Renamed TermView private methods to have an
underscore prefix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21743 a95241bf-73f2-0310-859d-f6bbb57e9c96
with instantiation. Note that if an error occurs in the constructor,
we're pretty much screwed. Made some TermView functions private. Some
small cleanup, and some WIP code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21742 a95241bf-73f2-0310-859d-f6bbb57e9c96
therefore, we could remove the ugly defines from KMessage again, and compile it
with KMESSAGE_CONTAINER_ONLY.
* Added KMessage::SetDeliveryInfo() to be able to send messages with a correct
header.
* Fixed a bug in KMessage::SendTo() that would not send the senderTeam when passing
a negative value for the parameter, but override it when passing in a valid
value.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21740 a95241bf-73f2-0310-859d-f6bbb57e9c96
single priority 12 thread can make the whole GUI appear frozen.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21736 a95241bf-73f2-0310-859d-f6bbb57e9c96
the new structure tty_settings of which there's only one instance per
master/slave tty pair. Previously the existence of two instances of those
members caused several kinds of problems, e.g. the Terminal setting
the window size on the master and CLI programs readings the unchanged
values from the slave. E.g. less correctly adjusts the display when the
Terminal size changes, now.
* Reorganized writing to a TTY. We do no longer handle writes to master
and slave the same way. Writes to the master are "input" and need to
be processed differently from writes to the slave ("output"). Before,
both were processed first as output then as input, which caused incorrect
behavior. E.g. CRs were not echoed correctly.
* Added canonical ERASE (backspace) and KILL (clear line) processing.
Couldn't really see it work. glibc's fgets() seems to read single
chars, so that we never have anything in the line buffer.
* Added handling for EOF. Works well with Be's Terminal, ours seems to
write an ESC sequence instead of the EOF char (Ctrl-D), though.
* Extended output processing support (ECHOE, ECHOK, ECHONL, OCRNL,
ONLRET, OLCUC).
* Writes use user_memcpy() now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21735 a95241bf-73f2-0310-859d-f6bbb57e9c96
It's now possible to debug amok-running user threads by
suspending or resuming them, as well as dropping them into
the userland-debugger from inside kdl.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21734 a95241bf-73f2-0310-859d-f6bbb57e9c96
anymore, but have methods to set the needed options. Various cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21728 a95241bf-73f2-0310-859d-f6bbb57e9c96
as a replicant, though, until I remove the preference code from it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21725 a95241bf-73f2-0310-859d-f6bbb57e9c96
(code not enabled, though). Moved scripting from TermWindow to
TermView. Added a SmartTabView which (for now) only resizes the
child views to fit their size. Usual cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21723 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Moved method documentation from headers to source files.
* Fixed small problems (memory leaks, unsafe string duplication,...).
* Added TODOs where I spotted problems.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21721 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Moved method documentation from headers to source files.
* Removed test code.
* Added TODOs where I spotted problems.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21717 a95241bf-73f2-0310-859d-f6bbb57e9c96
for _kern_load_image().
* Added KMessage to the runtime_loader (a bit hacky, though) - it will use
it to deliver the above mentioned functionality.
* load_dependencies() did return the wrong status code in case a library
was missing; now it returns B_MISSING_LIBRARY.
* load_dependencies() will now try to load all dependencies when a report
message is requested; therefore, all missing libraries are listed.
* Renamed uspace_program_args to user_space_program_args.
* The kernel filled in various members of the user_space_program_args structure
unsafely, ie. was not using user_memcpy().
* Renamed some local variables in team.c to better fit our style guide (ie.
uargs to userArgs).
* Changed Tracker to use the new _kern_load_image() variant on Haiku to retrieve
and report all missing libraries. This fixes bug #1324.
* Adapted kernel_cpp.cpp to the runtime loader as well; the latter will now
compile with _LOADER_MODE defined.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21715 a95241bf-73f2-0310-859d-f6bbb57e9c96
(or rdef) files which will be converted to attributes and added to the
installed directory. Adjusted build_haiku_image script accordingly.
* Added directory data/image_directories, which is where the resource
files for the directories attributes shall be stored. As naming
convention I suggest using the target directory path with slashes
replaced by hyphens, e.g. home-config-bin.rdef for home/config/bin.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21711 a95241bf-73f2-0310-859d-f6bbb57e9c96
only" mode, in which only the attributes from the source files are
copied to the (existing) target file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21710 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added ResAttr rule, which converts resource (or rdef) files to a
file with attributes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21708 a95241bf-73f2-0310-859d-f6bbb57e9c96
problems caused by this change. MakeEncodingMenu doesn't mark the
current encoding anymore, it was already done in TermWindow::MenusBeginning().
Removed custom enums for encodings, just use the ones provided in UTF8.h.
I'm more and more convinced we should drop the custom conversion routines
and use the system ones.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21704 a95241bf-73f2-0310-859d-f6bbb57e9c96
Make our DPC named differently to avoid this confusion.
Detected while testing our ACPI (which needs our DPC) under
R5...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21703 a95241bf-73f2-0310-859d-f6bbb57e9c96
now fail with B_BAD_VALUE. It's also no longer possible to overwrite the begin
of a partition by specifying a negative position, as negative positions are no
longer translated into 0.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21702 a95241bf-73f2-0310-859d-f6bbb57e9c96
This does prevent the unwanted side effect of reading or writing at the current
file pointer position when the functions are called with a -1 position.
It's save to do this check in user space, because calling the _kern_* function
with -1 pos has the same effect as calling the normal read/write posix functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21701 a95241bf-73f2-0310-859d-f6bbb57e9c96
constructor. Made UpdateSIGWINCH() private and renamed it to
_UpdateSIGWINCH().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21699 a95241bf-73f2-0310-859d-f6bbb57e9c96
couldn't just rely on its constructor to fully initialize the object,
since the code was scattered around, mostly into TermWindow. Added a
commented out TermWindow constructor which only creates and adds a
TermView object to the view hierarchy, which now works.
Removed weird TermWindowActivate method, use WindowActivated
instead. TermApp can now keep a pointer to a BWindow instead of
TermWindow, since it doesn't do anything special with it.
TermView::SetTermFont() now can filter the font attributes (it uses
B_FIXED_SPACING, I'm not sure it's needed but it doesn't hurt). Usual
cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21698 a95241bf-73f2-0310-859d-f6bbb57e9c96