Subject: Re: bug#10183: small bidi problems in the org mode and in the mini buffer

From: Eli Zaretskii <[email-masked]>
Date: Fri, 02 Dec 2011 12:42:48 +0200

> Date: Thu, 1 Dec 2011 09:30:18 -0800 (PST)
> From: nabil-82 <[email-masked]>
> 
> --
> 3 - In an "RTL-buffer": When I'm searching MY_RTL_TEXT I get in the
> minibuffer:
> 
> I-search [MY_RTL_TEXT :[ XX
> 
> Not:
> I-search [XX] : MY_RTL_TEXT
>  (XX is the symbol of the rtl-language as example ع for arabic)
> It's a bit confusing when you have to make replacements.

I understand that "[XX]" is the mnemonic of the current input method.

If so, this problem is fixed in revision 106577 on the trunk.  The
patch is below (note that isearch.el is preloaded into Emacs, so you
will have to rebuild it for this fix to take effect).

Thanks.

=== modified file 'lisp/ChangeLog'
--- lisp/ChangeLog	2011-12-02 10:19:49 +0000
+++ lisp/ChangeLog	2011-12-02 10:35:17 +0000
@@ -1,3 +1,8 @@
+2011-12-02  Eli Zaretskii  <[email-masked]>
+
+	* isearch.el (isearch-message-prefix): Run the input method part
+	of the prompt through bidi-string-mark-left-to-right.  (Bug#10183)
+
 2011-12-02  Juri Linkov  <[email-masked]>
 
 	* isearch.el (isearch-occur): Use `word-search-regexp' for

=== modified file 'lisp/isearch.el'
--- lisp/isearch.el	2011-12-02 10:19:49 +0000
+++ lisp/isearch.el	2011-12-02 10:37:53 +0000
@@ -2225,7 +2225,11 @@ If there is no completion possible, say 
 		   (if nonincremental "search" "I-search")
 		   (if isearch-forward "" " backward")
 		   (if current-input-method
-		       (concat " [" current-input-method-title "]: ")
+		       ;; Input methods for RTL languages use RTL
+		       ;; characters for their title, and that messes
+		       ;; up the display of search text after the prompt.
+		       (bidi-string-mark-left-to-right
+			(concat " [" current-input-method-title "]: "))
 		     ": ")
 		   )))
     (propertize (concat (upcase (substring m 0 1)) (substring m 1))