GNU bug report logs - #12866
24.3.50; (elisp) `%-Constructs': padded with spaces to the right or left?

Previous Next

Package: emacs;

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.

View this report as an mbox folder, status mbox, maintainer mbox


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):

From: "Drew Adams" <drew.adams <at> oracle.com>
To: <bug-gnu-emacs <at> gnu.org>
Subject: 24.3.50;
	(elisp) `%-Constructs': padded with spaces to the right or left?
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.

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):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Drew Adams <drew.adams <at> oracle.com>
Cc: 12866 <at> debbugs.gnu.org
Subject: Re: bug#12866: 24.3.50; (elisp) `%-Constructs': padded with spaces to
	the right or left?
Date: Mon, 12 Nov 2012 01:44:48 +0100
> 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):

From: "Drew Adams" <drew.adams <at> oracle.com>
To: "'Juanma Barranquero'" <lekktu <at> gmail.com>
Cc: 12866 <at> debbugs.gnu.org
Subject: RE: bug#12866: 24.3.50;
	(elisp) `%-Constructs': padded with spaces to the right or left?
Date: Sun, 11 Nov 2012 17:12:00 -0800
> >  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):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Drew Adams <drew.adams <at> oracle.com>
Cc: 12866 <at> debbugs.gnu.org
Subject: Re: bug#12866: 24.3.50; (elisp) `%-Constructs': padded with spaces to
	the right or left?
Date: Mon, 12 Nov 2012 02:27:15 +0100
> 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):

From: "Drew Adams" <drew.adams <at> oracle.com>
To: "'Juanma Barranquero'" <lekktu <at> gmail.com>
Cc: 12866 <at> debbugs.gnu.org
Subject: RE: bug#12866: 24.3.50;
	(elisp) `%-Constructs': padded with spaces to the right or left?
Date: Sun, 11 Nov 2012 18:29:26 -0800
> > 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: Eli Zaretskii <eliz <at> gnu.org>
To: Drew Adams <drew.adams <at> oracle.com>
Cc: 12866 <at> debbugs.gnu.org
Subject: Re: bug#12866: 24.3.50;
	(elisp) `%-Constructs': padded with spaces to the right or left?
Date: Mon, 12 Nov 2012 05:38:23 +0200
> 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):

From: "Drew Adams" <drew.adams <at> oracle.com>
To: "'Eli Zaretskii'" <eliz <at> gnu.org>
Cc: 12866 <at> debbugs.gnu.org
Subject: RE: bug#12866: 24.3.50;
	(elisp) `%-Constructs': padded with spaces to the right or left?
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?





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: Eli Zaretskii <eliz <at> gnu.org>
To: Drew Adams <drew.adams <at> oracle.com>
Cc: 12866 <at> debbugs.gnu.org
Subject: Re: bug#12866: 24.3.50;
	(elisp) `%-Constructs': padded with spaces to the right or left?
Date: Mon, 12 Nov 2012 17:45:24 +0200
> 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):

From: "Drew Adams" <drew.adams <at> oracle.com>
To: "'Eli Zaretskii'" <eliz <at> gnu.org>
Cc: 12866 <at> debbugs.gnu.org
Subject: RE: bug#12866: 24.3.50;
	(elisp) `%-Constructs': padded with spaces to the right or left?
Date: Mon, 12 Nov 2012 07:55:20 -0800
> > 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):

From: Andreas Schwab <schwab <at> linux-m68k.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 12866 <at> debbugs.gnu.org, Drew Adams <drew.adams <at> oracle.com>
Subject: Re: bug#12866: 24.3.50;
	(elisp) `%-Constructs': padded with spaces to the right or left?
Date: Mon, 12 Nov 2012 21:37:36 +0100
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):

From: Chong Yidong <cyd <at> gnu.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 12866-done <at> debbugs.gnu.org, Drew Adams <drew.adams <at> oracle.com>
Subject: Re: bug#12866: 24.3.50;
	(elisp) `%-Constructs': padded with spaces to the right or left?
Date: Fri, 23 Nov 2012 16:33:05 +0800
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.