[texworks] external read-access causes TeXWorks to revert open file to old version

Paul A Norman paul.a.norman at gmail.com
Tue Oct 26 02:12:02 CEST 2010


Just to clarify from your earlier postings, you said that you have two
boxes, an Xp and a Linux box?

1. Was this happening under both Os-es please? I'm still thinking of
caching issues here.

2. And have you tried exactly the same procedures of what you call a
"Positive run", not using TeXworks but instead a very simple text
editor (preferably a GUI one).

3. Otherwise ... apparently there are two versions of TortoiseHG and
one of them is a Qt version -can you determine which one you are on?

Thoughts ...

A. (i)(Starting to wonder if it is an intermittent Qt file handling
issue - does Qt use any memory caching in opening and accessing and
prior to commit to disk? Or build a virtual drive in Ram  for
temporary staging (same thing practically I suppose)?
    (ii) If so, is there an explicit flush/clear that needs to be called?
    (iii) Is TortoiseHG Qt version accessing this same memory file
caching area (wouldn't
         that trigger some sort of a violation error message though or
does Qt leave a door
         open  for that between Qt applications?)?


On 26 October 2010 09:36, Stefan Müller <warrence.stm at gmx.de> wrote:
> Another thing I just recognized: In a "positive run" (i.e. where the problem
> occurs) TW prints (beside others) the following debug messages:
> Loading: "/dir/to/my/file.tex"
> Loading: "/dir/to/my"
> ...
> Loading: "/dir/to/my"
> Changed: "/dir/to/my/file.tex"
> Loading: "/dir/to/my/file.tex"
> Is it correct, that sometimes the directory and sometimes the file is
> loaded?
> Stefan
> On 25.10.2010 19:19, Stefan Müller wrote:
>> Hi,
>> it has been a while since the last reply, but I was only now able to
>> test again on my Linux machine with those debug messages you gave me (I
>> didn't compile it for Windows).
>> So, still strange things that happen. (Sometimes) When I change
>> something in the open tex file in TW, save and commit this change with
>> TortoiseHG (my Mercurial client), the debug messages say that the open
>> tex file has changed and that the same file is loaded (again). Then TW
>> displays an older version of the tex file. To get my current file back I
>> have to reopen TW.
>> So there are basically two possiblities I can think of.
>> (1) TW has a problem with TortoiseHG accessing the tex file and
>> "restores" an old version of the file. What goes wrong? Where does the
>> old file come from?
>> (2) TortoiseHG messes with the tex file causing TW to reload it. Why
>> should TortoiseHG write on the file? And if TortoiseHG temporarily
>> writes to the tex file, why doesn't TW reloads again when TortoiseHG
>> restores the current (committed) version?
>> Hopefully someone has an idea what's causing the problem or how it could
>> be fixed, especially if it's (1). Thanks in advance.
>> Best regards,
>> Stefan
>> On 22.09.2010 18:07, Stefan Löffler wrote:
>>> Am 2010-09-22 17:49, schrieb Stefan Müller:
>>>>> Anyway, if you build Tw yourself, you could add the following to lines
>>>>> (linenumber where to add in brackets) to get some debugging
>>>>> information:
>>>>> [959] qDebug()<< "Loading:"<< fileName;
>>>>> [1094] qDebug()<< "Changed:"<< curFile;
>>>>> This should print the filenames Tw loads, and whenever it detects a
>>>>> change to the filename on the harddisk.
>>>> Maybe that's not clever to ask, but in which file should I put those
>>>> lines? I
>>>> looked into TWApp.cpp, but it looks wrong there...
>>> Oops, sorry. In src/TeXDocument.cpp.
>>> Stefan

More information about the texworks mailing list