Skip site navigation (1) Skip section navigation (2)

Re: Debugger line numbering is off by one

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: Debugger line numbering is off by one
Date: 2012-04-26 11:43:13
Message-ID: CA+OCxoxWXcQJnJHOtUMTWDQQ3Rr0eiCZoV9P4n7WO1TDRHi3kg@mail.gmail.com (view raw or flat)
Thread:
Lists: pgadmin-hackers
On Thu, Apr 26, 2012 at 11:42 AM, Heikki Linnakangas
<heikki(dot)linnakangas(at)enterprisedb(dot)com> wrote:
> On 25.04.2012 14:22, Dave Page wrote:
>>
>> On Wed, Apr 25, 2012 at 11:24 AM, Heikki Linnakangas
>> <heikki(dot)linnakangas(at)enterprisedb(dot)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

In response to

pgadmin-hackers by date

Next:From: Guillaume LelargeDate: 2012-04-29 07:55:23
Subject: pgAdmin III commit: Add support for setting db/user config on dlgRole
Previous:From: Dave PageDate: 2012-04-26 11:42:35
Subject: Re: Fix debugging on EDB with latest pldebugger

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group