[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bidi-display-reordering is now non-nil by default
From: |
Eli Zaretskii |
Subject: |
Re: bidi-display-reordering is now non-nil by default |
Date: |
Mon, 22 Aug 2011 09:02:48 +0300 |
Ping!
> Date: Thu, 18 Aug 2011 19:14:38 +0300
> From: Eli Zaretskii <address@hidden>
> Cc: address@hidden
>
> > From: Stefan Monnier <address@hidden>
> > Date: Mon, 15 Aug 2011 14:13:21 -0400
> > Cc: address@hidden, address@hidden
> >
> > And currently string-mark-left-to-right does the job just fine.
>
> In line with the above, does the following patch look like TRT? It is
> needed, e.g., when displaying completions for C-x C-f when some of the
> files in the directory end in R2L characters. Since we cover the TAB
> with a `(display (space :align-to ...))' property, which makes it a
> ``replacing'' display property, the underlying TAB loses its
> bidirectional properties and is reordered as if it were a neutral
> character. So instead of
>
> OOF RAB
>
> I see
>
> RAB OOF
>
> which shows the candidates in the wrong order, especially if
> completions-format is `vertical'.
>
> If this patch is okay, can you tell whether other completion
> facilities in Emacs might need similar changes?
>
> === modified file 'lisp/minibuffer.el'
> --- lisp/minibuffer.el 2011-08-15 16:10:39 +0000
> +++ lisp/minibuffer.el 2011-08-18 13:07:52 +0000
> @@ -1119,13 +1119,24 @@ It also eliminates runs of equal strings
> `(display (space :align-to ,column)))
> nil))))
> (if (not (consp str))
> - (put-text-property (point) (progn (insert str) (point))
> + (put-text-property (point)
> + (progn
> + (insert (bidi-string-mark-left-to-right
> str))
> + (point))
> 'mouse-face 'highlight)
> - (put-text-property (point) (progn (insert (car str)) (point))
> + (put-text-property (point)
> + (progn
> + (insert
> + (bidi-string-mark-left-to-right (car str)))
> + (point))
> 'mouse-face 'highlight)
> - (add-text-properties (point) (progn (insert (cadr str))
> (point))
> + (add-text-properties (point)
> + (progn
> + (insert
> + (bidi-string-mark-left-to-right (cadr
> str)))
> + (point))
> '(mouse-face nil
> - face completions-annotations)))
> + face completions-annotations)))
> (cond
> ((eq completions-format 'vertical)
> ;; Vertical format
>
>
>
- Re: bidi-display-reordering is now non-nil by default, (continued)
- Re: bidi-display-reordering is now non-nil by default, Stefan Monnier, 2011/08/15
- Re: bidi-display-reordering is now non-nil by default, David Kastrup, 2011/08/15
- Re: bidi-display-reordering is now non-nil by default, Stefan Monnier, 2011/08/15
- Re: bidi-display-reordering is now non-nil by default, Eli Zaretskii, 2011/08/15
- Re: bidi-display-reordering is now non-nil by default, Eli Zaretskii, 2011/08/15
- Re: bidi-display-reordering is now non-nil by default, Stefan Monnier, 2011/08/15
- Re: bidi-display-reordering is now non-nil by default, Lars Magne Ingebrigtsen, 2011/08/17
- Re: bidi-display-reordering is now non-nil by default, Eli Zaretskii, 2011/08/18
- Re: bidi-display-reordering is now non-nil by default,
Eli Zaretskii <=
- Re: bidi-display-reordering is now non-nil by default, Stefan Monnier, 2011/08/22
- Re: bidi-display-reordering is now non-nil by default, Eli Zaretskii, 2011/08/23
- Re: bidi-display-reordering is now non-nil by default, Stefan Monnier, 2011/08/23
- Re: bidi-display-reordering is now non-nil by default, Eli Zaretskii, 2011/08/23
- Re: bidi-display-reordering is now non-nil by default, Stefan Monnier, 2011/08/23
- Re: bidi-display-reordering is now non-nil by default, Eli Zaretskii, 2011/08/24
- Re: bidi-display-reordering is now non-nil by default, Eli Zaretskii, 2011/08/24
- Re: bidi-display-reordering is now non-nil by default, Stefan Monnier, 2011/08/24
- Re: bidi-display-reordering is now non-nil by default, Eli Zaretskii, 2011/08/24
- Re: bidi-display-reordering is now non-nil by default, Stefan Monnier, 2011/08/25