unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#4839: 23.1.50; *Buffer List* -- incorrect handling of multibyte characters?
@ 2009-10-31 13:46 ` stepnem
  2009-11-02  9:08   ` Glenn Morris
  2009-11-06 19:20   ` bug#4839: marked as done (23.1.50; *Buffer List* -- incorrect handling of multibyte characters?) Emacs bug Tracking System
  0 siblings, 2 replies; 10+ messages in thread
From: stepnem @ 2009-10-31 13:46 UTC (permalink / raw)
  To: emacs-pretest-bug


Here is a part of my *Buffer List*:

    desktop-menu.el      20228  Emacs-Lisp        ~/.emacs.d/load/desktop-menu.el
    pystor.py             6607  Python            ~/Programs/Python/pystor.py
    init.el              13139  Emacs-Lisp        ~/.emacs.d/init.el
    scim-bridge.el      107533  Emacs-Lisp        ~/.emacs.d/load/scim-bridge.el
    面無人色.org         11681  Org               ~/Documents/ling/cn/面無人色.org
    xhc.org               1833  Org               ~/Documents/ling/cn/xhc.org
    词典.org              2940  Org               ~/Documents/ling/cn/词典.org
    鄭張古音.org         11993  Org               ~/Documents/ling/cn/鄭張古音.org
    ruznoct               2631  Fundamental       ~/Documents/ling/cn/ruznoct
 %  *info*<2>           300707  Info              (org) External links
 %  *info*              299983  Info              (ansicl) define-symbol-macro

All the `Org' lines, with exception of `xhc.org', are misaligned.



If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/usr/local/share/emacs/23.1.50/etc/DEBUG.


In GNU Emacs 23.1.50.1 (i686-pc-linux-gnu, GTK+ Version 2.12.9)
 of 2009-10-28 on headley
Windowing system distributor `The X.Org Foundation', version 11.0.10400090
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: @im=scim
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Buffer Menu

Minor modes in effect:
  show-paren-mode: t
  partial-completion-mode: t
  icomplete-mode: t
  iswitchb-mode: t
  recentf-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
a m e <escape> <tab> <tab> <tab> <tab> k k k k k k 
k k k k k k M-s j j j j j j j j j j j j k k k k k k 
k k k / c a d r <return> k k k k k k k k k k k k k 
k k k k k k k k k k k k k k k k k k k k k <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> j j j j j j j j j j j j j j j j j j j j 
j j j j j j j j k j j j j j j j j j j j j j j j j k 
k k k k k k k k k k k k k k k k k j j j j j j j j j 
j j j j j j j j j j k k k k k k k k k k k k k k k l 
l l l l j j j j j j j j j j j j j j j j j j j j j j 
j j j j j j j j j j j j j j j j j j j j j j j k k k 
k k k k k k k k k k k k k k k k k k k k k C-x C-b T 
T C-SPC C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
M-w M-x r e p o r t <return>

Recent messages:
uncompressing vc.el.gz...done
Note: file is write protected
uncompressing savehist.el.gz...done
Note: file is write protected
Desktop: 20 buffers restored.
Saving file /home/stepnem/.emacs.d/load/desktop-menu.el...
Wrote /home/stepnem/.emacs.d/load/desktop-menu.el
Beginning of buffer [13 times]
Mark set
call-interactively: End of buffer [12 times]

Load-path shadows:
/usr/local/share/emacs/site-lisp/erc/erc-lang hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-lang
/usr/local/share/emacs/site-lisp/erc/erc-dcc hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-dcc
/usr/local/share/emacs/site-lisp/erc/erc-services hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-services
/usr/local/share/emacs/site-lisp/erc/erc-compat hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-compat
/usr/local/share/emacs/site-lisp/erc/erc-ring hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-ring
/usr/local/share/emacs/site-lisp/erc/erc-replace hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-replace
/usr/local/share/emacs/site-lisp/erc/erc-truncate hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-truncate
/usr/local/share/emacs/site-lisp/erc/erc-button hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-button
/usr/local/share/emacs/site-lisp/erc/erc hides /usr/local/share/emacs/23.1.50/lisp/erc/erc
/usr/local/share/emacs/site-lisp/erc/erc-list hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-list
/usr/local/share/emacs/site-lisp/erc/erc-pcomplete hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-pcomplete
/usr/local/share/emacs/site-lisp/erc/erc-capab hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-capab
/usr/local/share/emacs/site-lisp/erc/erc-ezbounce hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-ezbounce
/usr/local/share/emacs/site-lisp/erc/erc-networks hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-networks
/usr/local/share/emacs/site-lisp/erc/erc-netsplit hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-netsplit
/usr/local/share/emacs/site-lisp/erc/erc-goodies hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-goodies
/usr/local/share/emacs/site-lisp/erc/erc-speedbar hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-speedbar
/usr/local/share/emacs/site-lisp/erc/erc-xdcc hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-xdcc
/usr/local/share/emacs/site-lisp/erc/erc-fill hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-fill
/usr/local/share/emacs/site-lisp/erc/erc-imenu hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-imenu
/usr/local/share/emacs/site-lisp/erc/erc-log hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-log
/usr/local/share/emacs/site-lisp/erc/erc-track hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-track
/usr/local/share/emacs/site-lisp/erc/erc-hecomplete hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-hecomplete
/usr/local/share/emacs/site-lisp/erc/erc-stamp hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-stamp
/usr/local/share/emacs/site-lisp/erc/erc-autoaway hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-autoaway
/usr/local/share/emacs/site-lisp/erc/erc-menu hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-menu
/usr/local/share/emacs/site-lisp/erc/erc-match hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-match
/usr/local/share/emacs/site-lisp/erc/erc-backend hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-backend
/usr/local/share/emacs/site-lisp/erc/erc-join hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-join
/usr/local/share/emacs/site-lisp/erc/erc-sound hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-sound
/usr/local/share/emacs/site-lisp/erc/erc-page hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-page
/usr/local/share/emacs/site-lisp/erc/erc-identd hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-identd
/usr/local/share/emacs/site-lisp/erc/erc-notify hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-notify
/usr/local/share/emacs/site-lisp/erc/erc-spelling hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-spelling
/usr/local/share/emacs/site-lisp/erc/erc-ibuffer hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-ibuffer

Features:
(shadow mail-extr message ecomplete rfc822 mml mml-sec password-cache
mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045
qp ietf-drums mailabbrev nnheader gnus-util netrc mm-util mail-prsvr
gmm-utils mailheader canlock sha1 hex-util hashcash mail-utils emacsbug
sendmail vc-rcs slime-asdf slime-fancy slime-fontifying-fu
slime-package-fu slime-mdot-fu slime-references slime-xref-browser
slime-scratch slime-presentations slime-highlight-edits slime-fuzzy
slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc
slime-enclosing-context slime-parse slime-repl slime derived pp
hyperspec browse-url org-wl org-w3m org-vm org-rmail org-mhe org-mew
org-irc org-jsinfo org-infojs org-html org-exp org-exp-blocks org-agenda
org-info org-gnus org-bibtex org-bbdb org byte-opt bytecomp byte-compile
org-footnote org-src org-list org-faces org-compat org-macs time-date
hideshow foldout noutline outline easy-mmode python-21 python jka-compr
sym-comp apropos paren eldoc savehist cus-start cus-load bbdb-autoloads
bbdb timezone ee-autoloads scim-bridge quack regexp-opt thingatpt
compile cmuscheme comint scheme slime-autoloads info-look info viper
edmacro kmacro viper-ex viper-macs viper-mous viper-cmd viper-keym ring
viper-util viper-init advice help-fns advice-preload complete icomplete
iswitchb recentf tree-widget wid-edit easymenu desktop-menu cl cl-19
desktop avoid tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win
x-dnd tool-bar dnd fontset image fringe lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face text-properties overlay md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind gtk x-toolkit x multi-tty emacs)





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#4839: 23.1.50; *Buffer List* -- incorrect handling of multibyte characters?
  2009-10-31 13:46 ` bug#4839: 23.1.50; *Buffer List* -- incorrect handling of multibyte characters? stepnem
@ 2009-11-02  9:08   ` Glenn Morris
  2009-11-02 15:21     ` Štěpán Němec
  2009-11-02 15:44     ` Štěpán Němec
  2009-11-06 19:20   ` bug#4839: marked as done (23.1.50; *Buffer List* -- incorrect handling of multibyte characters?) Emacs bug Tracking System
  1 sibling, 2 replies; 10+ messages in thread
From: Glenn Morris @ 2009-11-02  9:08 UTC (permalink / raw)
  To: stepnem; +Cc: 4839

stepnem@gmail.com wrote:

> Here is a part of my *Buffer List*:
>
>     desktop-menu.el      20228  Emacs-Lisp        ~/.emacs.d/load/desktop-menu.el
[...]
>     面無人色.org         11681  Org               ~/Documents/ling/cn/面無人色.org
>     xhc.org               1833  Org               ~/Documents/ling/cn/xhc.org
>     词典.org              2940  Org               ~/Documents/ling/cn/词典.org
[...]
> All the `Org' lines, with exception of `xhc.org', are misaligned.

When I copy and paste your buffer names, the issue seems to be that
`string-width' returns an incorrect value (eg 13 when the buffer name
actually seems to occupy 12). Although some of these characters seem
to have a non-integer width on my system, so I don't see that it is
possible to get this right. But it still looks more wrong than it
should be (off by > 1 character).





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#4839: 23.1.50; *Buffer List* -- incorrect handling of multibyte characters?
  2009-11-02  9:08   ` Glenn Morris
@ 2009-11-02 15:21     ` Štěpán Němec
  2009-11-02 15:40       ` Andreas Schwab
  2009-11-02 15:44     ` Štěpán Němec
  1 sibling, 1 reply; 10+ messages in thread
From: Štěpán Němec @ 2009-11-02 15:21 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 4839

On Mon, Nov 02, 2009 at 04:08:16AM -0500, Glenn Morris wrote:
> stepnem@gmail.com wrote:
> 
> > Here is a part of my *Buffer List*:
> >
> >     desktop-menu.el      20228  Emacs-Lisp        ~/.emacs.d/load/desktop-menu.el
> [...]
> >     面無人色.org         11681  Org               ~/Documents/ling/cn/面無人色.org
> >     xhc.org               1833  Org               ~/Documents/ling/cn/xhc.org
> >     词典.org              2940  Org               ~/Documents/ling/cn/词典.org
> [...]
> > All the `Org' lines, with exception of `xhc.org', are misaligned.
> 
> When I copy and paste your buffer names, the issue seems to be that
> `string-width' returns an incorrect value (eg 13 when the buffer name
> actually seems to occupy 12). Although some of these characters seem
> to have a non-integer width on my system, so I don't see that it is
> possible to get this right. But it still looks more wrong than it
> should be (off by > 1 character).

Yes -- when I view your quotation from my mail above in Mutt, it's
aligned correctly, but as soon as I cut & paste it into an Emacs buffer,
it's misaligned again, the exact same way as displayed in the *Buffer List*...





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#4839: 23.1.50; *Buffer List* -- incorrect handling of multibyte characters?
  2009-11-02 15:21     ` Štěpán Němec
@ 2009-11-02 15:40       ` Andreas Schwab
  2009-11-02 15:55         ` Štěpán Němec
  2009-11-02 22:49         ` Jason Rumney
  0 siblings, 2 replies; 10+ messages in thread
From: Andreas Schwab @ 2009-11-02 15:40 UTC (permalink / raw)
  To: Štěpán Němec; +Cc: 4839

Štěpán Němec <stepnem@gmail.com> writes:

> On Mon, Nov 02, 2009 at 04:08:16AM -0500, Glenn Morris wrote:
>> stepnem@gmail.com wrote:
>> 
>> > Here is a part of my *Buffer List*:
>> >
>> >     desktop-menu.el      20228  Emacs-Lisp        ~/.emacs.d/load/desktop-menu.el
>> [...]
>> >     面無人色.org         11681  Org               ~/Documents/ling/cn/面無人色.org
>> >     xhc.org               1833  Org               ~/Documents/ling/cn/xhc.org
>> >     词典.org              2940  Org               ~/Documents/ling/cn/词典.org
>> [...]
>> > All the `Org' lines, with exception of `xhc.org', are misaligned.
>> 
>> When I copy and paste your buffer names, the issue seems to be that
>> `string-width' returns an incorrect value (eg 13 when the buffer name
>> actually seems to occupy 12). Although some of these characters seem
>> to have a non-integer width on my system, so I don't see that it is
>> possible to get this right. But it still looks more wrong than it
>> should be (off by > 1 character).
>
> Yes -- when I view your quotation from my mail above in Mutt, it's
> aligned correctly, but as soon as I cut & paste it into an Emacs buffer,
> it's misaligned again, the exact same way as displayed in the *Buffer List*...

If the double width characters are not exactly twice as wide as the
single width characters there is not much that can be done about that.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#4839: 23.1.50; *Buffer List* -- incorrect handling of multibyte characters?
  2009-11-02  9:08   ` Glenn Morris
  2009-11-02 15:21     ` Štěpán Němec
@ 2009-11-02 15:44     ` Štěpán Němec
  1 sibling, 0 replies; 10+ messages in thread
From: Štěpán Němec @ 2009-11-02 15:44 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 4839

[forgot to preserve a ML Cc: header, resending, sorry]

... which (the Mutt/Vim/terminal in general vs Emacs difference) is
obviously caused by the fact that in the former, the CJK occupies
exactly two latin-character widths, unlike Emacs (the GUI version) which
uses the same font for Latin characters (Deja Vu Sans Mono), but
"xft:-unknown-Kochi
Gothic-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1" for CJK (I'm not
sure about the CJK font in the terminal).

 emacs -nw aligns the characters properly, just as the other programs
 (but C-u C-x = doesn't show the font name used).





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#4839: 23.1.50; *Buffer List* -- incorrect handling of multibyte characters?
  2009-11-02 15:40       ` Andreas Schwab
@ 2009-11-02 15:55         ` Štěpán Němec
  2009-11-02 22:49         ` Jason Rumney
  1 sibling, 0 replies; 10+ messages in thread
From: Štěpán Němec @ 2009-11-02 15:55 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: 4839

On Mon, Nov 02, 2009 at 04:40:19PM +0100, Andreas Schwab wrote:
> Štěpán Němec <stepnem@gmail.com> writes:
> 
> > On Mon, Nov 02, 2009 at 04:08:16AM -0500, Glenn Morris wrote:
> >> stepnem@gmail.com wrote:
> >> 
> >> > Here is a part of my *Buffer List*:
> >> >
> >> >     desktop-menu.el      20228  Emacs-Lisp        ~/.emacs.d/load/desktop-menu.el
> >> [...]
> >> >     面無人色.org         11681  Org               ~/Documents/ling/cn/面無人色.org
> >> >     xhc.org               1833  Org               ~/Documents/ling/cn/xhc.org
> >> >     词典.org              2940  Org               ~/Documents/ling/cn/词典.org
> >> [...]
> >> > All the `Org' lines, with exception of `xhc.org', are misaligned.
> >> 
> >> When I copy and paste your buffer names, the issue seems to be that
> >> `string-width' returns an incorrect value (eg 13 when the buffer name
> >> actually seems to occupy 12). Although some of these characters seem
> >> to have a non-integer width on my system, so I don't see that it is
> >> possible to get this right. But it still looks more wrong than it
> >> should be (off by > 1 character).
> >
> > Yes -- when I view your quotation from my mail above in Mutt, it's
> > aligned correctly, but as soon as I cut & paste it into an Emacs buffer,
> > it's misaligned again, the exact same way as displayed in the *Buffer List*...
> 
> If the double width characters are not exactly twice as wide as the
> single width characters there is not much that can be done about that.

Indeed, that's what I just realized, too :-)

Probably not much, apart from making Emacs smarter in choosing fonts that do
align properly (i.e. the widths are multiples of some common base).
I'm not sure how other GUI apps go about that... but I'm guessing there
must be ways to align columns properly even in cases like this one -- after
all, there are other than mono-spaced fonts, so the common base might in
fact not be a necessary condition...?





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#4839: 23.1.50; *Buffer List* -- incorrect handling of multibyte characters?
  2009-11-02 15:40       ` Andreas Schwab
  2009-11-02 15:55         ` Štěpán Němec
@ 2009-11-02 22:49         ` Jason Rumney
  1 sibling, 0 replies; 10+ messages in thread
From: Jason Rumney @ 2009-11-02 22:49 UTC (permalink / raw)
  To: Andreas Schwab, 4839; +Cc: Štěpán Němec

Andreas Schwab wrote:
> Štěpán Němec <stepnem@gmail.com> writes:
>   
> If the double width characters are not exactly twice as wide as the
> single width characters there is not much that can be done about that.
>   


The columns should be aligned using tab-stops rather than spaces. (tab 
characters within file names would need special handling, but these are 
rare).





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#4839: 23.1.50; *Buffer List* -- incorrect handling of multibyte characters?
@ 2009-11-03 16:05 Chong Yidong
  2009-11-03 17:02 ` Štěpán Němec
  0 siblings, 1 reply; 10+ messages in thread
From: Chong Yidong @ 2009-11-03 16:05 UTC (permalink / raw)
  To: Jason Rumney; +Cc: Štěpán Němec, 4839, Andreas Schwab

> > If the double width characters are not exactly twice as wide as the
> > single width characters there is not much that can be done about that.
> >
>
> The columns should be aligned using tab-stops rather than spaces. (tab
> characters within file names would need special handling, but these
> are rare).

Or use the :align-to display property, as in this patch below.  Could
someone test it?

*** emacs/lisp/buff-menu.el.~1.129.~	2009-11-03 10:38:11.000000000 -0500
--- emacs/lisp/buff-menu.el	2009-11-03 11:02:21.000000000 -0500
***************
*** 678,689 ****
      (setq name (copy-sequence name)))
    (add-text-properties 0 (length name) name-props name)
    (add-text-properties 0 (length size) size-props size)
!   (concat name
! 	  (make-string (- Buffer-menu-buffer+size-width
! 			  (string-width name)
! 			  (string-width size))
! 		       ?\s)
! 	  size))
  
  (defun Buffer-menu-sort (column)
    "Sort the buffer menu by COLUMN."
--- 678,690 ----
      (setq name (copy-sequence name)))
    (add-text-properties 0 (length name) name-props name)
    (add-text-properties 0 (length size) size-props size)
!   (let ((name+space-width (- Buffer-menu-buffer+size-width
! 			     (string-width size))))
!     (concat name
! 	    (propertize (make-string (- name+space-width (string-width name))
! 				     ?\s)
! 			'display `(space :align-to ,(+ 4 name+space-width)))
! 	    size)))
  
  (defun Buffer-menu-sort (column)
    "Sort the buffer menu by COLUMN."





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#4839: 23.1.50; *Buffer List* -- incorrect handling of multibyte characters?
  2009-11-03 16:05 bug#4839: 23.1.50; *Buffer List* -- incorrect handling of multibyte characters? Chong Yidong
@ 2009-11-03 17:02 ` Štěpán Němec
  0 siblings, 0 replies; 10+ messages in thread
From: Štěpán Němec @ 2009-11-03 17:02 UTC (permalink / raw)
  To: Chong Yidong; +Cc: 4839, Andreas Schwab

On Tue, Nov 03, 2009 at 11:05:13AM -0500, Chong Yidong wrote:
> Or use the :align-to display property, as in this patch below.  Could
> someone test it?
> 
> *** emacs/lisp/buff-menu.el.~1.129.~	2009-11-03 10:38:11.000000000 -0500
> --- emacs/lisp/buff-menu.el	2009-11-03 11:02:21.000000000 -0500
> ***************
> *** 678,689 ****
>       (setq name (copy-sequence name)))
>     (add-text-properties 0 (length name) name-props name)
>     (add-text-properties 0 (length size) size-props size)
> !   (concat name
> ! 	  (make-string (- Buffer-menu-buffer+size-width
> ! 			  (string-width name)
> ! 			  (string-width size))
> ! 		       ?\s)
> ! 	  size))
>   
>   (defun Buffer-menu-sort (column)
>     "Sort the buffer menu by COLUMN."
> --- 678,690 ----
>       (setq name (copy-sequence name)))
>     (add-text-properties 0 (length name) name-props name)
>     (add-text-properties 0 (length size) size-props size)
> !   (let ((name+space-width (- Buffer-menu-buffer+size-width
> ! 			     (string-width size))))
> !     (concat name
> ! 	    (propertize (make-string (- name+space-width (string-width name))
> ! 				     ?\s)
> ! 			'display `(space :align-to ,(+ 4 name+space-width)))
> ! 	    size)))
>   
>   (defun Buffer-menu-sort (column)
>     "Sort the buffer menu by COLUMN."

Tested; with this above change; the alignment is as expected.
Thanks!

Štěpán Němec





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#4839: marked as done (23.1.50; *Buffer List* -- incorrect handling of multibyte characters?)
  2009-10-31 13:46 ` bug#4839: 23.1.50; *Buffer List* -- incorrect handling of multibyte characters? stepnem
  2009-11-02  9:08   ` Glenn Morris
@ 2009-11-06 19:20   ` Emacs bug Tracking System
  1 sibling, 0 replies; 10+ messages in thread
From: Emacs bug Tracking System @ 2009-11-06 19:20 UTC (permalink / raw)
  To: Chong Yidong

[-- Attachment #1: Type: text/plain, Size: 938 bytes --]

Your message dated Fri, 06 Nov 2009 14:15:33 -0500
with message-id <87ocnfmpm2.fsf@stupidchicken.com>
and subject line Re: bug#4839: 23.1.50;	*Buffer List* -- incorrect handling of multibyte characters?
has caused the Emacs bug report #4839,
regarding 23.1.50; *Buffer List* -- incorrect handling of multibyte characters?
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@emacsbugs.donarmstrong.com
immediately.)


-- 
4839: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=4839
Emacs Bug Tracking System
Contact owner@emacsbugs.donarmstrong.com with problems

[-- Attachment #2: Type: message/rfc822, Size: 12569 bytes --]

From: stepnem@gmail.com
To: emacs-pretest-bug@gnu.org
Subject: 23.1.50; *Buffer List* -- incorrect handling of multibyte characters?
Date: Sat, 31 Oct 2009 14:46:58 +0100
Message-ID: <87eiojy8tp.fsf@gmail.com>


Here is a part of my *Buffer List*:

    desktop-menu.el      20228  Emacs-Lisp        ~/.emacs.d/load/desktop-menu.el
    pystor.py             6607  Python            ~/Programs/Python/pystor.py
    init.el              13139  Emacs-Lisp        ~/.emacs.d/init.el
    scim-bridge.el      107533  Emacs-Lisp        ~/.emacs.d/load/scim-bridge.el
    面無人色.org         11681  Org               ~/Documents/ling/cn/面無人色.org
    xhc.org               1833  Org               ~/Documents/ling/cn/xhc.org
    词典.org              2940  Org               ~/Documents/ling/cn/词典.org
    鄭張古音.org         11993  Org               ~/Documents/ling/cn/鄭張古音.org
    ruznoct               2631  Fundamental       ~/Documents/ling/cn/ruznoct
 %  *info*<2>           300707  Info              (org) External links
 %  *info*              299983  Info              (ansicl) define-symbol-macro

All the `Org' lines, with exception of `xhc.org', are misaligned.



If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/usr/local/share/emacs/23.1.50/etc/DEBUG.


In GNU Emacs 23.1.50.1 (i686-pc-linux-gnu, GTK+ Version 2.12.9)
 of 2009-10-28 on headley
Windowing system distributor `The X.Org Foundation', version 11.0.10400090
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: @im=scim
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Buffer Menu

Minor modes in effect:
  show-paren-mode: t
  partial-completion-mode: t
  icomplete-mode: t
  iswitchb-mode: t
  recentf-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
a m e <escape> <tab> <tab> <tab> <tab> k k k k k k 
k k k k k k M-s j j j j j j j j j j j j k k k k k k 
k k k / c a d r <return> k k k k k k k k k k k k k 
k k k k k k k k k k k k k k k k k k k k k <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> j j j j j j j j j j j j j j j j j j j j 
j j j j j j j j k j j j j j j j j j j j j j j j j k 
k k k k k k k k k k k k k k k k k j j j j j j j j j 
j j j j j j j j j j k k k k k k k k k k k k k k k l 
l l l l j j j j j j j j j j j j j j j j j j j j j j 
j j j j j j j j j j j j j j j j j j j j j j j k k k 
k k k k k k k k k k k k k k k k k k k k k C-x C-b T 
T C-SPC C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
M-w M-x r e p o r t <return>

Recent messages:
uncompressing vc.el.gz...done
Note: file is write protected
uncompressing savehist.el.gz...done
Note: file is write protected
Desktop: 20 buffers restored.
Saving file /home/stepnem/.emacs.d/load/desktop-menu.el...
Wrote /home/stepnem/.emacs.d/load/desktop-menu.el
Beginning of buffer [13 times]
Mark set
call-interactively: End of buffer [12 times]

Load-path shadows:
/usr/local/share/emacs/site-lisp/erc/erc-lang hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-lang
/usr/local/share/emacs/site-lisp/erc/erc-dcc hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-dcc
/usr/local/share/emacs/site-lisp/erc/erc-services hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-services
/usr/local/share/emacs/site-lisp/erc/erc-compat hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-compat
/usr/local/share/emacs/site-lisp/erc/erc-ring hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-ring
/usr/local/share/emacs/site-lisp/erc/erc-replace hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-replace
/usr/local/share/emacs/site-lisp/erc/erc-truncate hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-truncate
/usr/local/share/emacs/site-lisp/erc/erc-button hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-button
/usr/local/share/emacs/site-lisp/erc/erc hides /usr/local/share/emacs/23.1.50/lisp/erc/erc
/usr/local/share/emacs/site-lisp/erc/erc-list hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-list
/usr/local/share/emacs/site-lisp/erc/erc-pcomplete hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-pcomplete
/usr/local/share/emacs/site-lisp/erc/erc-capab hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-capab
/usr/local/share/emacs/site-lisp/erc/erc-ezbounce hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-ezbounce
/usr/local/share/emacs/site-lisp/erc/erc-networks hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-networks
/usr/local/share/emacs/site-lisp/erc/erc-netsplit hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-netsplit
/usr/local/share/emacs/site-lisp/erc/erc-goodies hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-goodies
/usr/local/share/emacs/site-lisp/erc/erc-speedbar hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-speedbar
/usr/local/share/emacs/site-lisp/erc/erc-xdcc hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-xdcc
/usr/local/share/emacs/site-lisp/erc/erc-fill hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-fill
/usr/local/share/emacs/site-lisp/erc/erc-imenu hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-imenu
/usr/local/share/emacs/site-lisp/erc/erc-log hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-log
/usr/local/share/emacs/site-lisp/erc/erc-track hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-track
/usr/local/share/emacs/site-lisp/erc/erc-hecomplete hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-hecomplete
/usr/local/share/emacs/site-lisp/erc/erc-stamp hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-stamp
/usr/local/share/emacs/site-lisp/erc/erc-autoaway hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-autoaway
/usr/local/share/emacs/site-lisp/erc/erc-menu hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-menu
/usr/local/share/emacs/site-lisp/erc/erc-match hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-match
/usr/local/share/emacs/site-lisp/erc/erc-backend hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-backend
/usr/local/share/emacs/site-lisp/erc/erc-join hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-join
/usr/local/share/emacs/site-lisp/erc/erc-sound hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-sound
/usr/local/share/emacs/site-lisp/erc/erc-page hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-page
/usr/local/share/emacs/site-lisp/erc/erc-identd hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-identd
/usr/local/share/emacs/site-lisp/erc/erc-notify hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-notify
/usr/local/share/emacs/site-lisp/erc/erc-spelling hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-spelling
/usr/local/share/emacs/site-lisp/erc/erc-ibuffer hides /usr/local/share/emacs/23.1.50/lisp/erc/erc-ibuffer

Features:
(shadow mail-extr message ecomplete rfc822 mml mml-sec password-cache
mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045
qp ietf-drums mailabbrev nnheader gnus-util netrc mm-util mail-prsvr
gmm-utils mailheader canlock sha1 hex-util hashcash mail-utils emacsbug
sendmail vc-rcs slime-asdf slime-fancy slime-fontifying-fu
slime-package-fu slime-mdot-fu slime-references slime-xref-browser
slime-scratch slime-presentations slime-highlight-edits slime-fuzzy
slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc
slime-enclosing-context slime-parse slime-repl slime derived pp
hyperspec browse-url org-wl org-w3m org-vm org-rmail org-mhe org-mew
org-irc org-jsinfo org-infojs org-html org-exp org-exp-blocks org-agenda
org-info org-gnus org-bibtex org-bbdb org byte-opt bytecomp byte-compile
org-footnote org-src org-list org-faces org-compat org-macs time-date
hideshow foldout noutline outline easy-mmode python-21 python jka-compr
sym-comp apropos paren eldoc savehist cus-start cus-load bbdb-autoloads
bbdb timezone ee-autoloads scim-bridge quack regexp-opt thingatpt
compile cmuscheme comint scheme slime-autoloads info-look info viper
edmacro kmacro viper-ex viper-macs viper-mous viper-cmd viper-keym ring
viper-util viper-init advice help-fns advice-preload complete icomplete
iswitchb recentf tree-widget wid-edit easymenu desktop-menu cl cl-19
desktop avoid tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win
x-dnd tool-bar dnd fontset image fringe lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face text-properties overlay md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind gtk x-toolkit x multi-tty emacs)


[-- Attachment #3: Type: message/rfc822, Size: 2081 bytes --]

From: Chong Yidong <cyd@stupidchicken.com>
To: "Štěpán Němec" <stepnem@gmail.com>
Cc: Jason Rumney <jasonr@gnu.org>, Andreas Schwab <schwab@linux-m68k.org>, 4839-done@emacsbugs.donarmstrong.com
Subject: Re: bug#4839: 23.1.50;	*Buffer List* -- incorrect handling of multibyte characters?
Date: Fri, 06 Nov 2009 14:15:33 -0500
Message-ID: <87ocnfmpm2.fsf@stupidchicken.com>

Štěpán Němec <stepnem@gmail.com> writes:

> Tested; with this above change; the alignment is as expected.
> Thanks!

Checked in, thanks for testing.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2009-11-06 19:20 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <87ocnfmpm2.fsf@stupidchicken.com>
2009-10-31 13:46 ` bug#4839: 23.1.50; *Buffer List* -- incorrect handling of multibyte characters? stepnem
2009-11-02  9:08   ` Glenn Morris
2009-11-02 15:21     ` Štěpán Němec
2009-11-02 15:40       ` Andreas Schwab
2009-11-02 15:55         ` Štěpán Němec
2009-11-02 22:49         ` Jason Rumney
2009-11-02 15:44     ` Štěpán Němec
2009-11-06 19:20   ` bug#4839: marked as done (23.1.50; *Buffer List* -- incorrect handling of multibyte characters?) Emacs bug Tracking System
2009-11-03 16:05 bug#4839: 23.1.50; *Buffer List* -- incorrect handling of multibyte characters? Chong Yidong
2009-11-03 17:02 ` Štěpán Němec

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).