X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil] ["1023" "Mon" "20" "October" "1997" "17:02:16" "+0200" "Hans Aberg" "haberg@MATEMATIK.SU.SE" nil "22" "\\@ifdefinable" "^Date:" nil nil "10" nil nil nil nil nil] nil) Received: from listserv.gmd.de (listserv.gmd.de [192.88.97.1]) by mail.Uni-Mainz.DE (8.8.5/8.8.5) with ESMTP id RAA10337; Mon, 20 Oct 1997 17:05:44 +0200 (MET DST) Received: from lsv1.listserv.gmd.de by listserv.gmd.de (LSMTP for OpenVMS v1.1a) with SMTP id <8.B06AD616@listserv.gmd.de>; Mon, 20 Oct 1997 17:04:28 +0200 Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 218549 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Mon, 20 Oct 1997 17:01:50 +0200 Received: from mail.nada.kth.se (root@mail.nada.kth.se [130.237.222.92]) by relay.urz.uni-heidelberg.de (8.8.7/8.8.7) with ESMTP id RAA17520 for ; Mon, 20 Oct 1997 17:01:47 +0200 (MET DST) Received: from [130.237.37.82] (sl62.modempool.kth.se [130.237.37.82]) by mail.nada.kth.se (8.8.7/8.8.4) with ESMTP id RAA23912 for ; Mon, 20 Oct 1997 17:01:42 +0200 (MET DST) X-Sender: su95-hab@mail.nada.kth.se (Unverified) Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Message-ID: Reply-To: Mailing list for the LaTeX3 project Date: Mon, 20 Oct 1997 17:02:16 +0200 From: Hans Aberg Sender: Mailing list for the LaTeX3 project To: Multiple recipients of list LATEX-L Subject: \@ifdefinable Status: R X-Status: X-Keywords: X-UID: 2483 Should not \@ifdefinable be changed so that it does not check \@ifundefined? This will make the implementation of different defining command simpler and clearer. (As I would rather not get into the LaTeX trickery of temporarily canceling \@ifundefined in \@ifdefinable, I would prefer making my own version of \@ifdefinable which do not check \@ifundefined.) I get the following variations; all should check \@ifdefinable without \@ifundefined, but differ in the other respects: define new If undefined, then define, else error. renew If defined, then define, else error. provide If undefined, then define, else do nothing. override If define, then define, else do nothing. (I do not want to go much into the context, but the problem shows up when trying to do new variations of \newcommand, \newenvironment, \newobject, etc.) Hans Aberg * Email: Hans Aberg * AMS member listing: