octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Reprise: external pager quitting kills standard error


From: Daniel J Sebald
Subject: Re: Reprise: external pager quitting kills standard error
Date: Sun, 30 Jan 2005 15:47:22 -0600
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20041020

I searched around a bit for the reason the error messages are lost. Although I see a "nonconformant matrices" and similar in the /src subdirectory, it appears that it is the "gripes_#" that is handled in the /liboctave subdirectory because that is where "nonconformant arguments" appears and that is what is displayed by Octave.

I really haven't found a reason why the error reporting would be lost. One peculiar thing I see though is that only in cmd-edit.cc is current_liboctave_error_handler called in this fashion:

     current_liboctave_error_handler
   ("unable to create command history object!");

In all other (so many) instances in the /liboctave subdirectory it is called as:

 (*current_liboctave_error_handler)
   ("%s: nonconformant arguments (op1 len: %d, op2 len: %d)",

My mind isn't working well enough right now to think what the difference is between calling by reference and calling by pointer, In any case, perhaps changing cmd-edit.cc to (*current_liboctave_error_handler") form would be good for consistency.

Dan

PS: After a complete search of the tree, I found the definition of these things in the ominous sounding "libcruft/misc" subdirectory:

typedef void (*liboctave_error_handler) (const char *, ...);

/* Would be nice to make these pointers private, but we want to share
  them among all the liboctave classes. */
extern liboctave_error_handler current_liboctave_error_handler;





Daniel J Sebald wrote:

(please cc: any replies, I'm not on list)


Has someone found a solution to the pager problem in this archived
report from March?


http://www.octave.org/octave-lists/archive/bug-octave.2004/msg00200.html

http://www.octave.org/octave-lists/archive/bug-octave.2004/msg00201.html


I'm running Fedora Core 3, which is probably a derivative of RH 9.0, so
perhaps the problem is still propagating through RedHat's distribution.

Note that this doesn't happen with a smaller amount of data in "less",
only when there are larger amounts of data in "less".  It's as though
some pipe buffer may be overflowing.  Here's example output where
ones(25) displays fine, but ones(100) goes awry.

octave:1> bogus
error: `bogus' undefined near line 1 column 1
octave:1> junk = ones(25)
octave:2> bogus
error: `bogus' undefined near line 2 column 1
octave:2> junk = ones(100)
warning: connection to external pager (pid = 18461) lost --
warning: attempting to finish pending computations...
octave:3> bogus
octave:3>

Thanks,

Dan





--

Dan Sebald
email: daniel DOT sebald AT ieee DOT org
URL: http://acer-access DOT com/~dsebald AT acer-access DOT com/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]