[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: maintain column position in selection pop-up buffer
In [emacs-w3m:13446]
On Thu, 06 Jun 2019 23:13:23 -0400, Boruch Baum wrote:
> See for example what happens when point is somewhere in the middle of
> the final line and you attempt to advance another line. For me, it jumps
> to the end of the line.
Ok, here is the second try. Is it ok?
--- w3m.el~ 2019-05-28 05:01:41.982806500 +0000
+++ w3m.el 2019-06-07 03:46:40.615836500 +0000
@@ -11400,7 +11400,6 @@
(defun w3m-select-buffer-show-this-line (&optional interactive-p)
"Show the buffer on the current menu line or scroll it up."
(interactive (list t))
- (forward-line 0)
(let ((obuffer (and (window-live-p w3m-select-buffer-window)
(window-buffer w3m-select-buffer-window)))
(buffer (w3m-select-buffer-current-buffer)))
@@ -11441,13 +11440,16 @@
(defun w3m-select-buffer-next-line (&optional n)
"Move cursor vertically down N lines and show the buffer on the menu."
(interactive "p")
- (forward-line n)
+ (when (if (or (not n) (> n 0))
+ (< (line-end-position) (point-max))
+ (> (line-beginning-position) (point-min)))
+ (next-line n)
(prog1
(w3m-select-buffer-show-this-line)
(w3m-static-when (featurep 'xemacs)
(save-window-excursion
;; Update gutter tabs.
- (select-window w3m-select-buffer-window)))))
+ (select-window w3m-select-buffer-window))))))
(defun w3m-select-buffer-previous-line (&optional n)
"Move cursor vertically up N lines and show the buffer on the menu."