diff lisp/simple.el @ 47182:1f4d03aef3cf

(kill-line): Use end-of-visible-line to determine if rest of line is blank. (end-of-visible-line): Cope if end-of-line moved back over invisible intangible chars at end of line. (completion-setup-function): Don't use directory-sep-char.
author Richard M. Stallman <rms@gnu.org>
date Sun, 01 Sep 2002 13:29:34 +0000
parents 543ab39f153c
children b8ac98a8d336
line wrap: on
line diff
--- a/lisp/simple.el	Sun Sep 01 13:27:47 2002 +0000
+++ b/lisp/simple.el	Sun Sep 01 13:29:34 2002 +0000
@@ -2093,9 +2093,15 @@
 		     (forward-visible-line (prefix-numeric-value arg))
 		   (if (eobp)
 		       (signal 'end-of-buffer nil))
-		   (if (or (looking-at "[ \t]*$") (and kill-whole-line (bolp)))
-		       (forward-visible-line 1)
-		     (end-of-visible-line)))
+		   (let ((end
+			  (save-excursion
+			    (end-of-visible-line) (point))))
+		     (if (or (save-excursion
+			       (skip-chars-forward " \t" end)
+			       (= (point) end))
+			     (and kill-whole-line (bolp)))
+			 (forward-visible-line 1)
+		       (goto-char end))))
 		 (point))))
 
 (defun forward-visible-line (arg)
@@ -2157,12 +2163,15 @@
   ;; skip all characters with that same `invisible' property value,
   ;; then find the next newline.
   (while (and (not (eobp))
-	      (let ((prop
-		     (get-char-property (point) 'invisible)))
-		(if (eq buffer-invisibility-spec t)
-		    prop
-		  (or (memq prop buffer-invisibility-spec)
-		      (assq prop buffer-invisibility-spec)))))
+	      (save-excursion
+		(skip-chars-forward "^\n")
+		(let ((prop
+		       (get-char-property (point) 'invisible)))
+		  (if (eq buffer-invisibility-spec t)
+		      prop
+		    (or (memq prop buffer-invisibility-spec)
+			(assq prop buffer-invisibility-spec))))))
+    (skip-chars-forward "^\n")
     (if (get-text-property (point) 'invisible)
 	(goto-char (next-single-property-change (point) 'invisible))
       (goto-char (next-overlay-change (point))))
@@ -3932,7 +3941,7 @@
 		(save-excursion
 		  (set-buffer mainbuf)
 		  (goto-char (point-max))
-		  (skip-chars-backward (format "^%c" directory-sep-char))
+		  (skip-chars-backward "^/")
 		  (- (point) (minibuffer-prompt-end))))
 	;; Otherwise, in minibuffer, the whole input is being completed.
 	(save-match-data