Hi,

the 'corner condition' arises in  edif2.cc:

const Function* real_get_fcn(UCS_string symbol_name) { ..... function = obj->get_function(); .... }

The method

obj->get_function()

as it seems to me, is "loosing" the body.


The output from print below corresponds to the truncated emacs buffer content.

obj->get_function()

const UCS_string  ucs    = function->canonical(false);

UTF8_string      edif(ucs);

fprintf(stderr, "xxxxxxxxxxxxxx -f- function: %s\n", edif.c_str() ) ;


Best Regards
Hans-Peter


Am 30.10.20 um 16:50 schrieb Chris Moller:
Looks like it might be a concurrency problem--edif2 forks, IIRC, twice, serially, and I never was completely sure that I had the waitpid()s right.  I'll take a look.

Chris

On 10/30/20 11:22 AM, Hans-Peter Sorge wrote:
Hi,

working with an external editor under some circumstances some function content gets destroyed:

      )wsid
IS CLEAR WS

      'libedif2.so' ⎕FX 'edif2'
edif2

      'emacs' edif2 'FN1'   - adding two lines, save and exit
      'emacs' edif2 'FN1'   - body OK
      'emacs' edif2 'FN2'   - no entry, just exit
      'emacs' edif2 'FN1'   - last line got lost

      'emacs' edif2 'FN3'   - no entry, just exit
      'emacs' edif2 'FN1'   - just the first line is left over.

      .. and the user interface (KDE) is unresponsive for a moment

Best Regards
Hans-Peter




Reply via email to