GNU bug report logs -
#12866
24.3.50; (elisp) `%-Constructs': padded with spaces to the right or left?
Previous Next
Reported by: "Drew Adams" <drew.adams <at> oracle.com>
Date: Mon, 12 Nov 2012 00:36:02 UTC
Severity: normal
Found in version 24.3.50
Done: Chong Yidong <cyd <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 12866 in the body.
You can then email your comments to 12866 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12866
; Package
emacs
.
(Mon, 12 Nov 2012 00:36:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
"Drew Adams" <drew.adams <at> oracle.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Mon, 12 Nov 2012 00:36:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
The Info node says this near the top:
In any construct except `%%', you can add a decimal integer after the
`%' to specify a minimum field width. If the width is less, the field
is padded with spaces to the right.
From what I can see, it pads with spaces to the left of the field, not
the right. For example:
(set (make-local-variable 'mode-line-position) '("%40l"))
It seems to me that that pads the line number with spaces on the left,
not the right. But perhaps I'm missing something.
In GNU Emacs 24.3.50.1 (i386-mingw-nt5.1.2600)
of 2012-11-05 on MS-W7-DANI
Bzr revision: 110809 lekktu <at> gmail.com-20121105172930-a5gn0bwi4lndchhw
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
`configure --with-gcc (4.7) --no-opt --enable-checking --cflags
-I../../libs/libXpm-3.5.10/include -I../../libs/libXpm-3.5.10/src
-I../../libs/libpng-1.2.37-lib/include -I../../libs/zlib-1.2.5
-I../../libs/giflib-4.1.4-1-lib/include
-I../../libs/jpeg-6b-4-lib/include
-I../../libs/tiff-3.8.2-1-lib/include
-I../../libs/libxml2-2.7.8-w32-bin/include/libxml2
-I../../libs/gnutls-3.0.9-w32-bin/include
-I../../libs/libiconv-1.9.2-1-lib/include'
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12866
; Package
emacs
.
(Mon, 12 Nov 2012 00:46:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 12866 <at> debbugs.gnu.org (full text, mbox):
> The Info node says this near the top:
>
> In any construct except `%%', you can add a decimal integer after the
> `%' to specify a minimum field width. If the width is less, the field
> is padded with spaces to the right.
I think it was meant to say "is padded, with spaces, to the right", or
more clearly, "is padded to the right with spaces".
Juanma
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12866
; Package
emacs
.
(Mon, 12 Nov 2012 01:13:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 12866 <at> debbugs.gnu.org (full text, mbox):
> > In any construct except `%%', you can add a decimal
> > integer after the`%' to specify a minimum field width.
> > If the width is less, the field is padded with spaces
> > to the right.
>
> I think it was meant to say "is padded, with spaces, to the right", or
> more clearly, "is padded to the right with spaces".
Sorry, I still don't get it. To me, each of those statements suggests that the
text in the field, in this case the line number indication (e.g. "L25"), gets
padded by adding spaces on the right (i.e., after the text), up to the specified
width.
But what I think I see is that the text gets padded on the left; that is, spaces
are added before (to the left of) the field's text, until it is of the given
width.
E.g., for "%8l":
Field unpadded (i.e., "%l"): "L25"
Field padded on the left: " L25"
Field padded on the right: "L25 "
"Padding on the right" means adding spaces to the right of the text, AFAIK. And
I think I am seeing them added to the left of the text.
What am I missing?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12866
; Package
emacs
.
(Mon, 12 Nov 2012 01:29:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 12866 <at> debbugs.gnu.org (full text, mbox):
> Sorry, I still don't get it. To me, each of those statements suggests that the
> text in the field, in this case the line number indication (e.g. "L25"), gets
> padded by adding spaces on the right (i.e., after the text), up to the specified
> width.
I'm not native, but to me "padded ON the left/right" suggests where
the padding goes, while "padded TO the left/right" seems to indicate
alignment after padding.
Juanma
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12866
; Package
emacs
.
(Mon, 12 Nov 2012 02:31:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 12866 <at> debbugs.gnu.org (full text, mbox):
> > Sorry, I still don't get it. To me, each of those
> > statements suggests that the text in the field, in this
> > case the line number indication (e.g. "L25"), gets
> > padded by adding spaces on the right (i.e., after the
> > text), up to the specified width.
>
> I'm not native, but to me "padded ON the left/right" suggests where
> the padding goes, while "padded TO the left/right" seems to indicate
> alignment after padding.
No. They both mean that the padding is added at/to/on the left/right of
whatever object is being padded.
And padding does not in itself have anything to do with alignment. It just
refers to adding something to the target object, making it fatter/thicker/wider
etc. ;-)
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12866
; Package
emacs
.
(Mon, 12 Nov 2012 03:39:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 12866 <at> debbugs.gnu.org (full text, mbox):
> From: "Drew Adams" <drew.adams <at> oracle.com>
> Date: Sun, 11 Nov 2012 16:35:02 -0800
>
> The Info node says this near the top:
>
> In any construct except `%%', you can add a decimal integer after the
> `%' to specify a minimum field width. If the width is less, the field
> is padded with spaces to the right.
>
> >From what I can see, it pads with spaces to the left of the field, not
> the right. For example:
>
> (set (make-local-variable 'mode-line-position) '("%40l"))
>
> It seems to me that that pads the line number with spaces on the left,
> not the right. But perhaps I'm missing something.
I think string formats, like %s, are padded to the right. IOW, the
padding behaves like in C.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12866
; Package
emacs
.
(Mon, 12 Nov 2012 03:47:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 12866 <at> debbugs.gnu.org (full text, mbox):
> > (set (make-local-variable 'mode-line-position) '("%40l"))
> >
> > It seems to me that that pads the line number with spaces
> > on the left, not the right. But perhaps I'm missing something.
>
> I think string formats, like %s, are padded to the right. IOW, the
> padding behaves like in C.
Dunno what that means. Are you drawing a contrast with what you think? Or with
%s (subprocess status) vs %l for mode-line constructs? Something else?
The padding for %l (in the mode line) is what this bug report is about. AFAICT,
the padding is put on the left. Do you see something different from that?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12866
; Package
emacs
.
(Mon, 12 Nov 2012 15:47:02 GMT)
Full text and
rfc822 format available.
Message #26 received at 12866 <at> debbugs.gnu.org (full text, mbox):
> From: "Drew Adams" <drew.adams <at> oracle.com>
> Cc: <12866 <at> debbugs.gnu.org>
> Date: Sun, 11 Nov 2012 19:45:33 -0800
>
> > > (set (make-local-variable 'mode-line-position) '("%40l"))
> > >
> > > It seems to me that that pads the line number with spaces
> > > on the left, not the right. But perhaps I'm missing something.
> >
> > I think string formats, like %s, are padded to the right. IOW, the
> > padding behaves like in C.
>
> Dunno what that means. Are you drawing a contrast with what you think? Or with
> %s (subprocess status) vs %l for mode-line constructs? Something else?
>
> The padding for %l (in the mode line) is what this bug report is about. AFAICT,
> the padding is put on the left. Do you see something different from that?
The bug report contrasted the documentation with what the code does.
I pointed out that the documentation is only correct as far as string
formatting is concerned, but is incorrect wrt numerical formats, which
indeed pad on the left. Hopefully, this will help you know the truth,
and will help someone to fix the documentation.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12866
; Package
emacs
.
(Mon, 12 Nov 2012 15:56:01 GMT)
Full text and
rfc822 format available.
Message #29 received at 12866 <at> debbugs.gnu.org (full text, mbox):
> > The padding for %l (in the mode line) is what this bug
> > report is about. AFAICT, the padding is put on the left.
> > Do you see something different from that?
>
> The bug report contrasted the documentation with what the code does.
> I pointed out that the documentation is only correct as far as string
> formatting is concerned, but is incorrect wrt numerical formats, which
> indeed pad on the left. Hopefully, this will help you know the truth,
> and will help someone to fix the documentation.
OK, good. I guess you are confirming the bug wrt %l (and other numeric
formats). Thx.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12866
; Package
emacs
.
(Mon, 12 Nov 2012 20:39:02 GMT)
Full text and
rfc822 format available.
Message #32 received at 12866 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
> I think string formats, like %s, are padded to the right. IOW, the
> padding behaves like in C.
No, in printf padding direction does not dependent on the format
character, only on the alignment flag. But mode-line formatting doesn't
have an alignment flag.
Andreas.
--
Andreas Schwab, schwab <at> linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
Reply sent
to
Chong Yidong <cyd <at> gnu.org>
:
You have taken responsibility.
(Fri, 23 Nov 2012 08:35:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
"Drew Adams" <drew.adams <at> oracle.com>
:
bug acknowledged by developer.
(Fri, 23 Nov 2012 08:35:02 GMT)
Full text and
rfc822 format available.
Message #37 received at 12866-done <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
> The bug report contrasted the documentation with what the code does.
> I pointed out that the documentation is only correct as far as string
> formatting is concerned, but is incorrect wrt numerical formats, which
> indeed pad on the left. Hopefully, this will help you know the truth,
> and will help someone to fix the documentation.
Fixed.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 21 Dec 2012 12:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 11 years and 150 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.