On 2/17/20 11:14 AM, Stephan Witt wrote: > Am 17.02.2020 um 11:00 schrieb Enrico Forestieri <for...@lyx.org>: >> On Mon, Feb 17, 2020 at 08:28:20AM +0100, Stephan Witt wrote: >>> Am 16.02.2020 um 22:02 schrieb Enrico Forestieri <for...@lyx.org>: >>>> On Sun, Feb 16, 2020 at 09:28:57PM +0100, Stephan Witt wrote: >>>>> Am 16.02.2020 um 17:54 schrieb Enrico Forestieri <for...@lyx.org>: >>>>>> On Sun, Feb 16, 2020 at 02:52:52PM +0100, Stephan Witt wrote: >>>>>>> The latest version of the mentioned patch I’ve used for 1. and 2. is >>>>>> Thank you. It is surprising that only for the Mac absPath() expands >>>>>> symlinks. Anyway, I think I now understand the problem. >>>>>> >>>>>> Please, can you report whether the attached patch works for you >>>>>> irrespectively of the Qt version? >>>>> Yes, it works too. But did you have any problem with my patch >>>>> or do you think it’s not good? >>>> No, it's simply that I think the previous code is easier to follow. >>> I had problems to understand it. >> Then, we need a third opinion. >> >>>>> I have to admit I like mine more. >>>> ;-) >>>> >>>>> Especially the subst part of the original code formally isn’t 100% >>>>> correct. >>>> Why? >>> Because of it "substitutes *all* instances of \a oldstr with \a newstr“ >>> >>> Maybe it’s nearly impossible to have realtmp more then once in file_name but >>> it’s not the same as „substitute the *first* instance \a oldstr with \a >>> newstr“ >>> and that’s the goal. >> Yes, this is technically correct but highly improbable. > True, but that was the problem to understand exactly. > >>> IMO the best solution is to use real path names entirely for buffer lookup >>> by temporary file names. The attached patch implements this idea. I think >>> this is much easier to follow too. ;-) >> I like it. But it needs testing, of course. > For me it works with both Qt versions on Mac. > The GuiView::goToFileRow() is the only caller of > BufferList::getBufferFromTmp(). > Only the test of LFUN_SERVER_GOTO_FILE_ROW is to do. > > * Qt version: 5.9.8 > argument: > /var/folders/1x/zm63s22x7s591xrlgm4rl9v40000gn/T/lyx_tmpdir.IrSFRJa98189/lyx_tmpbuf0/Tutorial.tex > 586 > file_name: > /private/var/folders/1x/zm63s22x7s591xrlgm4rl9v40000gn/T/lyx_tmpdir.IrSFRJa98189/lyx_tmpbuf0/Tutorial.tex > realtmp: > /private/var/folders/1x/zm63s22x7s591xrlgm4rl9v40000gn/T/lyx_tmpdir.IrSFRJa98189 > frontends/qt/GuiView.cpp (3694): goToFileRow: buffer lookup for > /private/var/folders/1x/zm63s22x7s591xrlgm4rl9v40000gn/T/lyx_tmpdir.IrSFRJa98189/lyx_tmpbuf0/Tutorial.tex > success > > * Qt version: 5.12.6 > argument: > /var/folders/1x/zm63s22x7s591xrlgm4rl9v40000gn/T/lyx_tmpdir.YUIIWffFkCyn/lyx_tmpbuf0/Tutorial.tex > 603 > file_name: > /private/var/folders/1x/zm63s22x7s591xrlgm4rl9v40000gn/T/lyx_tmpdir.YUIIWffFkCyn/lyx_tmpbuf0/Tutorial.tex > realtmp: > /private/var/folders/1x/zm63s22x7s591xrlgm4rl9v40000gn/T/lyx_tmpdir.YUIIWffFkCyn > frontends/qt/GuiView.cpp (3694): goToFileRow: buffer lookup for > /private/var/folders/1x/zm63s22x7s591xrlgm4rl9v40000gn/T/lyx_tmpdir.YUIIWffFkCyn/lyx_tmpbuf0/Tutorial.tex > success > > Nonetheless I cannot test it with other Viewers and Linux or Windows.
I'd suggest posting the patch in a new thread and requesting testing there. This one has gotten long and hard for people to follow. Riki -- lyx-devel mailing list lyx-devel@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-devel