Subject: bug#32177: Current line number shifts one column to the left.

From: Keith David Bershatsky <[email-masked]>
Date: Mon, 16 Jul 2018 13:33:03 -0700

Thank you, Eli, for looking into issue #32177.  I was happy to hear that you were eventually able to reproduce the bug on your end.

I was able to reproduce the issue on my end with bidi-display-reordering set to a non-nil value of t, but it will take some time to come up with an emacs -Q recipe.

Although it is not often very that I need to inspect the undo-tree history file, setting bidi-display-reordering to a nil value of t gives a tremendous enhancement to movements within that buffer.  Without setting bidi-display-reordering to nil, movements with arrow keys up/down and so forth is unbearably s-l-o-w.  Occasionally, I have to inspect the desktop save file and that too has some very long lines where I think setting bidi-display-reordering may help.  Here is a little snippet written by Noam Postavsky that produces a line matching the format of the undo-tree history file.

    (require 'cl-lib)

    (defun make-deep-object (depth)
      (let ((obj 1))
        (while (> (cl-decf depth) 0)
          (setq obj (vector (list obj))))
        obj))

    (setq print-circle t)

    (let ((buf (get-buffer-create "*test*")))
      (with-current-buffer buf
        (insert (prin1-to-string (make-deep-object 4964))))
      (switch-to-buffer buf))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DATE:  [07-16-2018 11:20:04] <16 Jul 2018 21:20:04 +0300>
FROM:  Eli Zaretskii <[email-masked]>
> 
> * * *
> 
> Why did you need to turn off bidi-display-reordering?  Does the
> problem go away when you don't do that?