From owner-freebsd-bugs Tue Jul 15 11:50:04 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id LAA16540 for bugs-outgoing; Tue, 15 Jul 1997 11:50:04 -0700 (PDT) Received: (from gnats@localhost) by hub.freebsd.org (8.8.5/8.8.5) id LAA16534; Tue, 15 Jul 1997 11:50:02 -0700 (PDT) Resent-Date: Tue, 15 Jul 1997 11:50:02 -0700 (PDT) Resent-Message-Id: <199707151850.LAA16534@hub.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-bugs Resent-Reply-To: FreeBSD-gnats@FreeBSD.ORG, mburgett@cmnsens.zoom.com Received: from dragon.cmnsens.zoom.com (dragon.cmnsens.zoom.com [207.33.155.10]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id LAA16073 for ; Tue, 15 Jul 1997 11:40:53 -0700 (PDT) Received: (from mburgett@localhost) by dragon.cmnsens.zoom.com (8.8.6/8.8.6) id LAA10242; Tue, 15 Jul 1997 11:40:52 -0700 (PDT) Message-Id: <199707151840.LAA10242@dragon.cmnsens.zoom.com> Date: Tue, 15 Jul 1997 11:40:52 -0700 (PDT) From: mburgett@cmnsens.zoom.com Reply-To: mburgett@cmnsens.zoom.com To: FreeBSD-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: 3.2 Subject: bin/4098: m4 divert/ifelse/decr interaction is broken Sender: owner-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >Number: 4098 >Category: bin >Synopsis: m4 divert/ifelse/decr interaction is broken >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Jul 15 11:50:00 PDT 1997 >Last-Modified: >Originator: Mike Burgett >Organization: None >Release: FreeBSD 2.2-STABLE i386 >Environment: N/A >Description: m4 seems to be broken when processing statments of the type: divert(ifelse(var,val,divnum,decr(divnum))) which causes nested diversions to fail. Interestingly, replacing decr with incr, seems to work as expected, *really* making it interesting when doing nested includes. >How-To-Repeat: define(`test1',0)dnl define(`test2',1)dnl Undiverted line #1 divert(ifelse(test1,1,divnum,decr(divnum)))dnl Diverted line #1 divert(ifelse(test2,1,divnum,decr(divnum)))dnl Diverted line #2 divert(ifelse(test2,1,divnum,incr(divnum)))dnl Diverted line #3 divert(ifelse(test1,1,divnum,incr(divnum)))dnl Undiverted line #1 Should only output the two undiverted lines. >Fix: Unknown >Audit-Trail: >Unformatted: