From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/53066 Path: news.gmane.org!not-for-mail From: Hans Hagen Newsgroups: gmane.comp.tex.context Subject: Re: vardef with @# not working within context Date: Mon, 21 Sep 2009 15:42:45 +0200 Message-ID: <4AB782D5.6090609@wxs.nl> References: <20090921115602.GT8930@katherina.student.utwente.nl> 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 1253540598 10205 80.91.229.12 (21 Sep 2009 13:43:18 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 21 Sep 2009 13:43:18 +0000 (UTC) To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Mon Sep 21 15:43:11 2009 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from balder.ntg.nl ([195.12.62.10]) by lo.gmane.org with esmtp (Exim 4.50) id 1MpjAa-0006l7-Jz for gctc-ntg-context-518@m.gmane.org; Mon, 21 Sep 2009 15:43:08 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 9A4F3C9B07; Mon, 21 Sep 2009 15:43:06 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id vzf5o9tRH95Q; Mon, 21 Sep 2009 15:43:01 +0200 (CEST) Original-Received: from balder.ntg.nl (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 048B8C9AC1; Mon, 21 Sep 2009 15:43:00 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 3B2D0C9AC1 for ; Mon, 21 Sep 2009 15:42:54 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id a97gR0l-6j55 for ; Mon, 21 Sep 2009 15:42:49 +0200 (CEST) Original-Received: from mail.pragma-ade.net (dsl-083-247-100-017.solcon.nl [83.247.100.17]) by balder.ntg.nl (Postfix) with ESMTP id F34BBC9A1F for ; Mon, 21 Sep 2009 15:42:48 +0200 (CEST) Original-Received: from [10.100.1.100] (unverified [10.100.1.100]) by controller-1 (SurgeMail 3.9e) with ESMTP id 9954-1840426 for ; Mon, 21 Sep 2009 15:42:48 +0200 User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) In-Reply-To: X-Originating-IP: 10.100.1.100 X-Authenticated-User: hagen@controller-1 X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.12 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 Xref: news.gmane.org gmane.comp.tex.context:53066 Archived-At: Aditya Mahajan wrote: > On Mon, 21 Sep 2009, Matthijs Kooijman wrote: > >> Hi all, >> >> I've been fiddling around with metaobj a bit, but defining my own objects >> failed. After some debugging, I've reduced this to a metapost / >> context MkIV >> issue (so no metaobj specifics anymore). >> >> What happens, is that vardefs that use @# as a placeholder in their >> name only >> work when they are defined in an external .mp file. When I define them >> inside >> context (\startMPcode or \startMPinclusions), I get funny errors (mostly >> "Isolated expression", which seems to mean that the macro is not >> defined). >> >> I suspect this is because the way context extracts metapost code. Is >> this a >> fundamental problem, or could it be fixed? > > You need to escape # inside any \startMPwhatever...\stopMPwhatever. This > has to do with the fact that TeX processes the contents before they are > passed to metapost, and TeX does not like isolated #. Try replacing > # with \# or \string# it's more that tex likes to duplicate the # internally > Hans, does it make sense to parse all MP environments (ironically except > \startMPenvironment, but that is almost redundant in MKIV) with a > separate catcode regime where # has catcode other. After all, it is > highly unlikely that anyone will define a TeX maco inside \startMPcode > or \startMPinclusions. how about adding let @## = @# ; to mp-tool.mp (you need to remake the context format in mkiv or the metafun format in mkii) seems to work Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl ----------------------------------------------------------------- ___________________________________________________________________________________ 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 ___________________________________________________________________________________