On 22/05/2011 6:07 PM, Enrico Forestieri wrote:
> Christopher Menzel writes:
>>
>> Well, as I noted, I followed the instructions in the Additional
>> Features document assiduously, so one of the first things I did
>> was to choose the default command for the Yap previewer under
>> Preferences->Output->General. The default setting -- yap -1
>> -s "$$n $$t" $$o -- leads to the "Couldn't proceed" message. And,
>> although the MiKTeX bin directory is in my PATH, I have also tried
>> using a fully qualified path to yap.exe and I still get the
>> message in question. Any other possibilities you can think of?
>
> That message is only printed either if the forward search command is
> not defined or LyX is not able to map the cursor position to a row in
> the LaTeX file. The relevant code is the following:
>
> int row = doc_buffer->texrow().getRowFromIdPos(
> bv->cursor().paragraph().id(), bv->cursor().pos());
> LYXERR(Debug::ACTION, "Forward search: row:" << row
> << " id:" << bv->cursor().paragraph().id());
> if (!row || command.empty()) {
> dr.setMessage(_("Couldn't proceed."));
> break;
> }
>
> So, if your command is not empty, we are left with the second option.
> As you can see, using "-dbg action", one is also informed about what
> row in the LaTeX file is mapped to the paragraph where the cursor in
> LyX currently is. Thus, the next thing to try is using -dbg action
> and look in the output for the "Forward search: row: ... id: ..."
> message. If row turns out to be zero, then that's the reason for the
> failure.
>
>> And, again, is there anything analogous to the Unix /var/log
>> directory under Windows where I might be able to examine a log
>> file for clues?
>
> I don't think something similar exists in Windows.
>
>> Oh, also, can you (or anyone) tell me how to run
>> LyX under Windows from the command line with debugging on? I
>> figure that might yield a clue or two as well but I haven't been
>> able to figure out how to do that; it doesn't seem to be a simple
>> matter of calling the .exe file with the -dbg option.
>
> If you are using one of the installers and not compiling LyX by yourself,
> that is not going to work because I think that they compile LyX as a GUI
> application, such that there's no standard input and output.
> However, you can use the messages window (View->View messages) and set
> there the wanted debug level (I think that "-dbg action" corresponds to
> the "User commands" debug level).
Yes, yes, that is exactly what I was looking for. The relevant
debugging output appears to be this:
19:01:53.867: Couldn't proceed.
(forward-search)..\..\..\..\lyx-2.0.0\src\frontends\qt4\GuiWorkArea.cpp(747):
GuiWorkArea::focusInEvent(): 0A75D610
..\..\..\..\lyx-2.0.0\src\frontends\qt4\GuiApplication.cpp(1269): cmd:
..\..\..\..\lyx-2.0.0\src\frontends\qt4\GuiView.cpp(3539): Forward
search: row:106 id:93
..\..\lyx-2.0.0\src\BufferView.cpp(422):
BufferView::processUpdateFlags()[fitcursor = 0, forceupdate = 0,
singlepar = 0] buffer: 034CA8A8
..\..\lyx-2.0.0\src\Buffer.cpp(2876): updateMacro of Recombination.lyx
..\..\..\..\lyx-2.0.0\src\frontends\qt4\LayoutBox.cpp(545): Already had
Standard selected.
..\..\..\..\lyx-2.0.0\src\frontends\qt4\GuiApplication.cpp(1085):
verbose dispatch msg Couldn't proceed. (forward-search)
The row information is indeed there. I do not know enough about LyX's
internals to figure out from the rest of it why the forward search is
still failing.
-chris