Re: Debugger line numbering is off by one - Mailing list pgadmin-hackers

From Dave Page
Subject Re: Debugger line numbering is off by one
Date
Msg-id CA+OCxoxWXcQJnJHOtUMTWDQQ3Rr0eiCZoV9P4n7WO1TDRHi3kg@mail.gmail.com
Whole thread Raw
In response to Re: Debugger line numbering is off by one  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
List pgadmin-hackers
On Thu, Apr 26, 2012 at 11:42 AM, Heikki Linnakangas
<heikki.linnakangas@enterprisedb.com> wrote:
> On 25.04.2012 14:22, Dave Page wrote:
>>
>> On Wed, Apr 25, 2012 at 11:24 AM, Heikki Linnakangas
>> <heikki.linnakangas@enterprisedb.com>  wrote:
>>>
>>>
>>> The hack that was removed skipped an initial newline when counting line
>>> numbers. The PL/pgSQL debugger has a similar hack, but it didn't get the
>>> memo that it was removed in the backend, so the green current line marker
>>> is
>>> off by one when connected to a 9.1 server. Attached is a patch to fix
>>> that.
>>
>>
>> Hi
>>
>> It looks fine, except that the "Paused at line" message in the status
>> bar is still off by one. I tried using the offset you calculated there
>> as well, and things started getting really weird (like, starting on
>> line -15, then after single stepping, going back to being 1 off). I
>> assume that the offset is being used there before it's actually
>> calculated, but don't have time to play further right now.
>
>
> I simply missed that, and didn't adjust it with the offset like i did
> elsewhere.
>
> I also just noticed that the line numbers displayed in the stack window are
> also off by one. They would be hard to adjust with the approach I tried,
> because you need the source of a function before you know whether there's a
> newline in the beginning, and we don't load the sources for a function until
> you display it. And the line numbers in any error messages you get on the
> console also won't match what we display.
>
> This becomes particularly visible if you enable line numbering in the left
> margin. I tried to be clever and merely hide the first blank line in the
> text box, so that the control's numbering would seem to start from 2, but I
> couldn't get wxStyledTextCtrl::HideLines() to hide the first line. If you
> pass it 0, it does nothing, and 1 means the 2nd line. Ugh.

Urgh indeed.

> I think we have to give up on hiding the initial newline. A blank line in
> the beginning is a bit ugly, but it's better to be consistent. Attached is a
> patch to do that.

Agreed. Thanks - patch applied.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

pgadmin-hackers by date:

Previous
From: Dave Page
Date:
Subject: Re: Fix debugging on EDB with latest pldebugger
Next
From: Guillaume Lelarge
Date:
Subject: pgAdmin III commit: Add support for setting db/user config on dlgRole