From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/51553 Path: news.gmane.org!not-for-mail From: Tad Ashlock Newsgroups: gmane.comp.tex.context Subject: How to Determine the Current File Name and Line Number in the ConTeXt Source? Date: Wed, 01 Jul 2009 05:01:10 -0600 Message-ID: <4A4B41F6.2040005@cyberdude.com> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1246446142 11761 80.91.229.12 (1 Jul 2009 11:02:22 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 1 Jul 2009 11:02:22 +0000 (UTC) To: ntg-context@ntg.nl Original-X-From: ntg-context-bounces@ntg.nl Wed Jul 01 13:02:14 2009 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from ronja.vet.uu.nl ([131.211.172.88] helo=ronja.ntg.nl) by lo.gmane.org with esmtp (Exim 4.50) id 1MLxZu-0003BW-7j for gctc-ntg-context-518@m.gmane.org; Wed, 01 Jul 2009 13:02:14 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id EAFBD1FBBA; Wed, 1 Jul 2009 13:02:12 +0200 (CEST) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (smtp.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 01046-07; Wed, 1 Jul 2009 13:01:37 +0200 (CEST) Original-Received: from ronja.vet.uu.nl (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 924081FB89; Wed, 1 Jul 2009 13:01:36 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 97DAC1FB89 for ; Wed, 1 Jul 2009 13:01:34 +0200 (CEST) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (smtp.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 02845-03 for ; Wed, 1 Jul 2009 13:01:24 +0200 (CEST) Original-Received: from filter1-ams.mf.surf.net (filter1-ams.mf.surf.net [192.87.102.69]) by ronja.ntg.nl (Postfix) with ESMTP id 2D21B1FB7E for ; Wed, 1 Jul 2009 13:01:24 +0200 (CEST) Original-Received: from outbound1-1.us4.outblaze.com (outbound1-1.us4.outblaze.com [208.36.123.129]) by filter1-ams.mf.surf.net (8.14.3/8.14.3/Debian-5) with ESMTP id n61B1Mvg006937 for ; Wed, 1 Jul 2009 13:01:23 +0200 Original-Received: from smtp1.us4.outblaze.com (ws1-9.us4.outblaze.com.int [192.168.11.73]) by outbound1-1.us4.outblaze.com (Postfix) with SMTP id 954187A13FD for ; Wed, 1 Jul 2009 11:01:20 +0000 (GMT) Original-Received: (qmail 27635 invoked from network); 1 Jul 2009 11:01:20 -0000 Original-Received: from unknown (HELO ?127.0.0.1?) (taashlo:cyberdude.com?mail.com@71.210.199.189) by ws1-9.us4.outblaze.com with SMTP; 1 Jul 2009 11:01:20 -0000 User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) X-Antivirus: avast! (VPS 090630-0, 06/30/2009), Outbound message X-Antivirus-Status: Clean X-Bayes-Prob: 0.0001 (Score 0, tokens from: @@RPTN) X-CanIt-Geo: ip=208.36.123.129; country=US; region=CA; city=San Francisco; postalcode=94121; latitude=37.7772; longitude=-122.4931; metrocode=807; areacode=415; http://maps.google.com/maps?q=37.7772,-122.4931&z=6 X-CanItPRO-Stream: uu:ntg-context@ntg.nl (inherits from uu:default, base:default) X-Canit-Stats-ID: 253493378 - 228fd9dcaed0 - 20090701 X-Scanned-By: CanIt (www . roaringpenguin . com) on 192.87.102.69 X-Virus-Scanned: amavisd-new at ntg.nl X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.11 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: ntg-context-bounces@ntg.nl Errors-To: ntg-context-bounces@ntg.nl X-Virus-Scanned: amavisd-new at ntg.nl Xref: news.gmane.org gmane.comp.tex.context:51553 Archived-At: Is there a convenient way within a Lua block to determine the current file name and line number of the source file being processed by ConTeXt? For example: (test.tex) --------------------------------- \def\ShowLineNumber{% \ctxlua{print('current line number:', tex.current_line_number()) print('current file:', tex.current_file_name())}} \starttext a line \ShowLineNumber another line \ShowLineNumber \stoptext --------------------------------- With the following displayed: --------------------------------- current line number: 6 current file: test.tex current line number: 9 current file: test.tex --------------------------------- I've considered hooking into the open_read_file callback and tracking the file name and line number (via reader) myself. But that seems a bit heavy handed if the file name and line number information are available more directly. And since that information is needed for error reporting, I'm thinking there's a good chance it is accessible. (Just in case you're interested, the purpose of this is to be able to assemble code segments during the ConTeXt processing into external files with #line directives ala the C preprocessor. That way if the subsequent compilation of the external file results in an error, the error message can refer back to the line of code in the ConTeXt source file. This is part of the literate programming module that Kevin Robbins has been describing in another thread.) Thanks, Tad ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________