The latest development version of GNU Emacs supports bidirectional text. If you want to use Hebrew, Arabic, etc. then this is what you should use. See below for installation.
# aptitude install bzr
# echo 'deb http://www.backports.org/debian lenny-backports main' >> /etc/apt/sources
# aptitude update
# aptitude -t lenny-backports install bzr
# yum install bzr
$ bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk
$ cd trunk
$ ./configure
$ make; make info
When the compilation is finished, start Emacs with the following command.
$ src/emacs
Then read the info file with the following key sequence.
C-u C-h i /your/emacs/directory/info/emacs RET
Biderectional text is explained in Node 26.20. Go though (emacs)Top > International > Bidirectional Editing.
There is an old branch of GNU Emacs called Emacs-bidi. It is based on GNU Emacs 21.3.50 and lacks many features that are supported by recent Emacsen. It still works, but will not be maintained anymore.