I recently acquired a new PC from chillblast to replace my ancient desktop
machine (Viglen) at home. I had a lot of problems setting it up (e.g.
handling screen resolution), that I still don't understand, but it is now
working very well running Fedora 32 (I had some problem I could not fix on
F31, but that may well have simply been my linux incompetence.)
I got poplog running fairly soon (using getpoplog.sh) and it works fine
with and without motif, so that I was very soon able to give up using nano
to set up linux files and use ved instead. (I've never used 'vi'.)
But there was an obscure problem that I've fixed, but don't understand!
I kept finding that if I edited a file for a long time (e.g. using ved to
create a large html file) ved would sometimes crash with this message,
leaving me with a pop11 prompt:
<<<<<<< Access Violation: PC = 00007FFFF7B12890, Addr = 00000007FF6200F0, Code
= 1 >>>>>>>
;;; MISHAP - serr: MEMORY ACCESS VIOLATION (see above)
;;; PRINT DOING
;;; DOING : do_autosave_backup check_and_save_file check_autosave rawcharin
runproc
;;; editing: /home/axs/mail/xxxstuff.txt, ON LINE 1
Pop11 was still running after that, so I could type 'ved' and continue with
my edit!
I did not understand what was happening. So I looked up the procedure that
produced the message:
ENTER sourcefile do_autosave_back
That took me to this file
$usepop/pop/lib/ved/ved_autosave.p
But I was not able to understand what was going on. However, it had several
tests of the value of the string vedautosave_preserve which I had somewhere
set to true.
ENTER ref vedautosave_preserve
Took me to this entry in REF VEDVARS
vedautosave_preserve -> item [variable]
item -> vedautosave_preserve
This variable, whose value should be a boolean, a string, an
integer or a procedure, controls whether the automatic saving
mechanism described in HELP * ved_autosave creates an initial
EXTRA backup file for each file edited during the current
session. It also controls how the saving is done. For full
details see the HELP file.
I then found that if I altered my vedinit file to replace
vedautosave_preserve = true
with
vedautosave_preserve = '~~'
The crashes stopped! (At least so far...).
My first puzzle is why this happened on the new machine but not the old
machine. The answer may just be as simple as some slip when copying files
across.
More importantly: is this messy system really needed?
For now I'll just flag up the problem and leave it. Perhaps someone with
experience of designing editors with autosave mechanisms could come up with
a clean new specification.
Or perhaps it's not worth changing. Anyhow it's interesting to note that
given my total inability to remember any of the stuff I had previously
written around 1995, my self-rescue depended on these facts:
The error message specified the procedure in wihch the error was
generated. The main variable controlling the behaviour of the procedure
was clear. That took me to the documentation.
I guess there are more important things to fix.
Aaron