Jarl Friis <jarl(a)diku.dk> writes:
Jarl Friis <jarl(a)diku.dk> writes:
>
> I must admit that the problem seems deeper than just cvs gives
> non-parseable feedback something lurking in either the *usage* of
> xemacs network features within pcl-cvs or the implementation of the
> XEmacs network features.
Sorry, it seem not to be related to networking, since pcl-cvs is not
directly using the XEmacs network features, but just invokes cvs as a
process, nevertheless I consider it a XEmacs bug, but merely related
to the `start-process' function.
I have made a very small program that demonstrates the location of the
bug. Essentially it is setting the variable `process-connection-type'
to nil that causes trouble. In the examples, please modify the
hardcoded strings as necessary.
The first one makes a cvs status using pipes, which creates spurious
output in " *mycvs-tmp*" buffer:
(let (
(process-connection-type nil) ; Use a pipe, not a pty.
(default-directory (cvs-expand-dir-name "~/projects/eicq"))
)
(apply 'start-process "mycvs" (get-buffer-create " *mycvs-tmp*")
"cvs" '("-f" "status"))
)
The second one uses a pty instead, and sends the password "manually",
which works!
(let (
(mypassword "PaSsWoRd");;insert a password here
(process-connection-type t) ; Use a pipe, not a pty.
(default-directory (cvs-expand-dir-name "~/projects/eicq"))
)
(apply 'start-process "mycvs" (get-buffer-create " *mycvs-tmp*")
"cvs" '("-f" "status"))
(process-send-string "mycvs" (concat mypassword "\n"))
)
Now the usage of `process-connection-type' is not to be found in
`start-process' so I guess it is used in `start-process-internal'
which is implemented in C, will someone please take over from here?
Now when the bug tracks into the C-code I guess it is relevant with
system information, how can I have XEmacs collect all the information
necessary for this? In short I run XEmacs 21.1.14, 21.5.4, linux,
$ gcc -v
Reading specs from /usr/lib/gcc-lib/i486-suse-linux/2.95.3/specs
gcc version 2.95.3 20010315 (SuSE)
Will someone please take over from here as I am not familiar with
XEmacs C code?
Jarl