]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/simple.el (next-line-or-history-element): Use current-column
authorJuri Linkov <juri@linkov.net>
Thu, 6 Dec 2018 22:30:51 +0000 (00:30 +0200)
committerJuri Linkov <juri@linkov.net>
Thu, 6 Dec 2018 22:30:51 +0000 (00:30 +0200)
in all position calculations.
(previous-line-or-history-element): Idem.  (Bug#33640)

lisp/simple.el

index 08f622ad8e0137eb1ccf367ea194b5c2c622a489..2116facd58b58ef9a4089755c3712072a777aa1a 100644 (file)
@@ -2120,7 +2120,11 @@ next element of the minibuffer history in the minibuffer."
         (prompt-end (minibuffer-prompt-end))
         (old-column (unless (and (eolp) (> (point) prompt-end))
                       (if (= (line-number-at-pos) 1)
-                          (max (- (current-column) (1- prompt-end)) 0)
+                          (max (- (current-column)
+                                  (save-excursion
+                                    (goto-char (1- prompt-end))
+                                    (current-column)))
+                               0)
                         (current-column)))))
     (condition-case nil
        (with-no-warnings
@@ -2139,7 +2143,10 @@ next element of the minibuffer history in the minibuffer."
        (goto-char (point-max))
        (when old-column
         (if (= (line-number-at-pos) 1)
-            (move-to-column (+ old-column (1- (minibuffer-prompt-end))))
+            (move-to-column (+ old-column
+                               (save-excursion
+                                 (goto-char (1- (minibuffer-prompt-end)))
+                                 (current-column))))
           (move-to-column old-column)))))))
 
 (defun previous-line-or-history-element (&optional arg)
@@ -2154,7 +2161,11 @@ previous element of the minibuffer history in the minibuffer."
         (prompt-end (minibuffer-prompt-end))
         (old-column (unless (and (eolp) (> (point) prompt-end))
                       (if (= (line-number-at-pos) 1)
-                          (max (- (current-column) (1- prompt-end)) 0)
+                          (max (- (current-column)
+                                  (save-excursion
+                                    (goto-char (1- prompt-end))
+                                    (current-column)))
+                               0)
                         (current-column)))))
     (condition-case nil
        (with-no-warnings
@@ -2173,7 +2184,10 @@ previous element of the minibuffer history in the minibuffer."
        (goto-char (minibuffer-prompt-end))
        (if old-column
           (if (= (line-number-at-pos) 1)
-              (move-to-column (+ old-column (1- (minibuffer-prompt-end))))
+              (move-to-column (+ old-column
+                                 (save-excursion
+                                   (goto-char (1- (minibuffer-prompt-end)))
+                                   (current-column))))
             (move-to-column old-column))
         ;; Put the cursor at the end of the visual line instead of the
         ;; logical line, so the next `previous-line-or-history-element'