Originally, I use the indirect buffer to resolve the case when the same buffer is showing in different window. This solution comes to some issue when try to recover the indirect buffer. After some investigation, I found overlay support the 'window property which limit that overlay to show on a specific window. This is definitely a better solution for this case. So this change is comming.
…hars, string-width == 0
When the indirect buffer is create from a buffer with clients, kill it will show prompt to confirm, that will hang emacs. So I need to remove clients before kill buffer, which will prevent the prompt to show.
Bug reported by Christopher, when there is collapsed line under org mode, using ace-jump-line-mode will frozen the emacs. This is because the special process for line regexp search "^" does not handle the scenario when searching across the invisible line. So correct it.
I add this advice to sync the mark ring between ace jump and emacs mark ring. So user can choose which one they want to use.