Received: from mail.proteosys.com ([213.139.130.197]) by nummer-3.proteosys with Microsoft SMTPSVC(6.0.3790.3959); Wed, 17 Sep 2008 16:09:02 +0200 Received: by mail.proteosys.com (8.13.8/8.13.8) with ESMTP id m8HE8v40012747 for ; Wed, 17 Sep 2008 16:08:57 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id m8HE3vwn001837 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 17 Sep 2008 16:03:57 +0200 Received: from listserv.uni-heidelberg.de (localhost.localdomain [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id m8GM1H1K010773; Wed, 17 Sep 2008 16:03:54 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 15.5) with spool id 40542 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Wed, 17 Sep 2008 16:03:53 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id m8HE3rFU031265 for ; Wed, 17 Sep 2008 16:03:53 +0200 Received: from wf-out-1314.google.com (wf-out-1314.google.com [209.85.200.175]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id m8HE3khY001427 for ; Wed, 17 Sep 2008 16:03:52 +0200 Received: by wf-out-1314.google.com with SMTP id 28so3659986wfa.25 for ; Wed, 17 Sep 2008 07:03:46 -0700 (PDT) Received: by 10.141.35.21 with SMTP id n21mr6525446rvj.115.1221660225953; Wed, 17 Sep 2008 07:03:45 -0700 (PDT) Received: from ?10.0.1.102? ( [219.90.252.234]) by mx.google.com with ESMTPS id f21sm27580505rvb.5.2008.09.17.07.03.43 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 17 Sep 2008 07:03:44 -0700 (PDT) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v929.2) References: X-Mailer: Apple Mail (2.929.2) X-Spam-Whitelist: Message-ID: Date: Wed, 17 Sep 2008 23:33:40 +0930 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Will Robertson Subject: Re: l3messages To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-ProteoSys-SPAM-Score: -2.599 () BAYES_00 X-Scanned-By: MIMEDefang 2.64 on 213.139.130.197 Return-Path: owner-latex-l@LISTSERV.UNI-HEIDELBERG.DE X-OriginalArrivalTime: 17 Sep 2008 14:09:03.0051 (UTC) FILETIME=[F04A71B0:01C918CE] Status: R X-Status: X-Keywords: X-UID: 5339 Hi, Thanks for summarising this; I've added it to the internal "todo" for this package. On 17/09/2008, at 10:44 PM, Joseph Wright wrote: > - The module prefix \err is not really that helpful, as some of the > functions are related to information rather than errors: would \msg_ > be > better (at least for the non-error parts)? This is a rather sweeping change but I agree. \msg_ is pretty good, I think. > - Saving the error messages to file to save memory is not really > relevant > today, especially as every message needs a tlp in any case. AND all my working directories keep being littered with .err files :) > - On the other hand, perhaps having the errors in this way makes > localisation of messages easier? Is this something that should be > considered, and if so an alternative mechanism is needed. I highly, highly approve of writing out error messages (and even warnings) separately. I think the interface that we currently has suffices for a lower layer, but like you say we need a better "package author" user interface. I'd imagine hypothetical commands like this: (note the first argument of each) ... \msg_def:Nnnpnn \msg_log: {fontspec/AREA/TAG1} #1 {Message with arg '#1'}{"Possible Help text"} \msg_def:Nnnpnn \msg_info: {fontspec/AREA/TAG2} #1 {Message with arg '#1'}{"Possible Help text"} \msg_def:Nnnpnn \msg_warn: {fontspec/AREA/TAG3} #1 {Message with arg '#1'}{"Possible Help text"} \msg_def:Nnnpnn \msg_err: {fontspec/AREA/TAG4} #1 {Message with arg '#1'}{"Possible Help text"} ... Used inside the package like this: \msg_show:nw {fontspec/AREA/TAG1} {} \msg_show:nw {fontspec/AREA/TAG2} {} \msg_show:nw {fontspec/AREA/TAG3} {} \msg_show:nw {fontspec/AREA/TAG4} {} This is something of a hybrid between the current expl3 approach and what LaTeX2e currently provides. You can imagine the appropriate "syntactic sugar" to make it a little more appealing to package authors. The next important step is that users would then be able to override the status of errors. Sick of the warning "fontspec/AREA/TAG3" ? Put this in your preamble: \MessageStatus{fontspec/AREA/TAG3}{log} or something like that. Similarly, if you're computing ArcTan{1/0} you might want \MessageStatus{kernel/math/DivideByZero}{ignore} You could also provide generic "verbose" and "quiet" modes to promote/ demote all messages by one level. \MessageStatus{warn}{log} Or just for particular packages. \MessageStatus{fontspec/*/*, warn}{log} (I'm thinking of something like David Kastrup's makematch syntax for this first argument in all the examples above. Whatever the syntax is, I think you get the idea.) *** Anyway, this is purely conjecture at this stage. Any further thoughts? Will