From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23497 invoked from network); 6 Jul 2001 10:23:16 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 6 Jul 2001 10:23:16 -0000 Received: (qmail 2643 invoked by alias); 6 Jul 2001 10:22:08 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 15281 Received: (qmail 2626 invoked from network); 6 Jul 2001 10:22:07 -0000 Message-ID: To: zsh-workers@sunsite.dk (Zsh hackers list) Subject: Re: Debugging of dynamocally defined functions In-reply-to: "Sven Wischnowsky"'s message of "Fri, 06 Jul 2001 11:56:44 +0200." <200107060956.LAA12775@beta.informatik.hu-berlin.de> Date: Fri, 06 Jul 2001 11:22:36 +0100 From: Peter Stephenson Sven Wischnowsky wrote: > Hm, could we change it so that it saves the line number of the script or > surrounding function? What does the principle of least surprise give here? Here's the current behaviour. % cat fn print fn has now been executed. Ecky thump. fn2() { print $LINENO } % autoload fn % fn fn has now been executed. Ecky thump. % fn2 1 (remember that the `fn2() {' line is numbered zero). If you used the file it was in, you would get a line number of 4 in a 1 line function, together (with xtrace) with the name of that function. What you really want to know, I suppose, is the name of the function, the name of the file it was read from, and the line number in that file. That could probably be arranged. But it does mean an increased number of special cases --- are we autoloading or running a dot file, if so, are we defining a function which is not the one we are autoloading --- so it's not that simple. Alternatively, we forget about using line numbers on input and define them when parsing, so they relate to the `which' output. That's a big change, and probably less useful since it's the original file you're going to be editing. I don't think it's worth remembering both. By the way, you can use the trick of eval "$(which compdef)" to sync the line numbers with the which output. At least I hope so --- if this goes screwy there's a bug in text.c. -- Peter Stephenson Software Engineer CSR Ltd., Unit 300, Science Park, Milton Road, Cambridge, CB4 0XL, UK Tel: +44 (0)1223 392070 ********************************************************************** The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. **********************************************************************