Message-ID: <9779FEE0-79EE-493D-8599-74A103AA01B9@oracle.com>
Date: 2017-11-09T15:34:49Z
From: Lukas Stadler
Subject: formatting raw vectors with names
I think there?s a bug concerning the formatting of raw vectors with names:
> structure(as.raw(1:3), .Names = c("a", "bbbb", "c"))
a bbbb c
01 02 03
> structure(1:3, .Names = c("a", "bbbb", "c"))
a bbbb c
1 2 3
The problem is that EncodeRaw does not honor the requested width, in fact it doesn?t even get the width as a parameter.
An easy fix would be to change:
static void printNamedRawVector(Rbyte * x, int n, SEXP * names)
PRINT_N_VECTOR(formatRaw(x, n, &w),
Rprintf("%s%*s", EncodeRaw(x[k], ""), R_print.gap,""))
to
static void printNamedRawVector(Rbyte * x, int n, SEXP * names)
PRINT_N_VECTOR(formatRaw(x, n, &w),
Rprintf("%*s%s%*s", w - 2, "", EncodeRaw(x[k], ""), R_print.gap,""))
in printvector.c:314.
- Lukas