* lisp/dired.el (dired--move-to-next-line): Improve to avoid an infinite loop.
authorJuri Linkov <juri@linkov.net>
Thu, 25 Jan 2024 17:38:03 +0000 (19:38 +0200)
committerJuri Linkov <juri@linkov.net>
Thu, 25 Jan 2024 17:38:03 +0000 (19:38 +0200)
commitb07265f8eed74dda792e13062baae94319484b4b
tree2fa985819833125548ae37a65a2d8678bf6f4b10
parenta8cfe3bda8b8008071818d6ac5e5103002ed6c08
* lisp/dired.el (dired--move-to-next-line): Improve to avoid an infinite loop.

An infinite loop is possible in a directory without files and subdirectories,
where even lines with . and .. are omitted, so 'dired-between-files' is true
for all Dired lines.  For the case of dired-movement-style=cycle
a guard is triggered when the loop wraps twice while the value 'arg'
is not changing.  And for the case of dired-movement-style=bounded
a guard is triggered when point doesn't move while trying to
go back to the last non-empty line.
lisp/dired.el