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

Stefan Müller warrence.stm at gmx.de
Tue Oct 26 20:55:53 CEST 2010


Hi again,

today I had a lot of commits in my document. I used Scite the whole time 
instead of TW without the described problem. I.e. no "positive run" with 
Scite. So it really may be a TW issue. It could have still been a 
coincidence, though...

Best wishes and thanks for looking at this issue,
Stefan

On 26.10.2010 11:31, Paul A Norman wrote:
> Thanks that clears a lot up Stefan.
>
> Unless the same thing happens using another text editor - it is
> outside of my experience area sorry.
>
> Paul
>
> On 26 October 2010 21:16, Stefan Müller<warrence.stm at gmx.de>  wrote:
>> Hi Paul,
>>
>> On 26.10.2010 02:12, Paul A Norman wrote:
>>>
>>> Stefan,
>>>
>>> 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.
>>
>> It happens under both Os-es. I'm using v0.3 r606 on Windows and v0.3 r670
>> (with those extra debug lines from on of the previous mails) on Linux.
>>
>>> 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).
>>
>> No, I haven't tried that. Mostly because I don't know any other nice TeX
>> editor for Linux. I could try to reproduce a "positive run" with Scite. I'll
>> report back soon about this.
>>
>>> 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?
>>> ...
>>
>> In the TortoiseHG info is something written about "Python, PyGTK, GTK", so I
>> suppose I'm not using the Qt version. I didn't know there was one.
>>
>> Stefan
>>
>>> 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?)?
>>>
>>> Paul
>>>
>>> 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