From ripley at stats.ox.ac.uk  Thu Apr 17 11:45:37 2008
From: ripley at stats.ox.ac.uk (ripley at stats.ox.ac.uk)
Date: Thu, 17 Apr 2008 11:45:37 +0200 (CEST)
Subject: [Rd] segments() with zero-length arguments (PR#11192)
Message-ID: <20080417094537.2DD622834610@mail.pubhealth.ku.dk>

I think we should allow only all-zero arguments (at present any 
zero-length argument is an error), as per the R-level proposed code.

arrows() and rect() share the code so it is much cleaner to do this 
internally.

Done for R-devel.

On Thu, 17 Apr 2008, rmh at temple.edu wrote:

> Uwe Ligges suggested I post this on R-bugs as a wishlist item with a
> proposed patch.  R considers zero-length arguments to segments() to be
> an error.  I would like R to allow this and to return without an
> error.  It occurs naturally in settings like
>
> valid <- c(FALSE, FALSE, FALSE)
> segments(x0[valid], y0[valid], x1[valid], y1[valid])
>
> For what it may be worth, S-Plus does not consider zero-length
> arguments to segments() be an error.
>
>
> plot(1:10)
> segments(1,1,10,10,col='green')
> segments(numeric(0), numeric(0), numeric(0), numeric(0), col='green')
> Error in segments(x0, y0, x1, y1, col = col, lty = lty, lwd = lwd, ...) :
>        invalid first argument
>
>
> segments.proposal <-
>  function (x0, y0, x1, y1, col = par("fg"), lty = par("lty"),
>            lwd = par("lwd"), ...) {
>    if (length(x0)==0 && length(y0)==0 && length(x1)==0 && length(y1)==0)
>      return(invisible(NULL))
>    .Internal(segments(x0, y0, x1, y1, col = col, lty = lty, lwd = lwd, ...))
> }
>
> segments.proposal(numeric(0), numeric(0), numeric(0), numeric(0), col='green')
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



[Rd] segments() with zero-length arguments (PR#11192)
ripley at stats.ox.ac.uk