# HG changeset patch # User Richard M. Stallman # Date 936575096 0 # Node ID 5cd9adabaee58327322cc40a6c7d0561d01504b9 # Parent 05f27fc24f81498c5e7ef4f0ee5f2955bc464c9e (backward-kill-sentence): Don't test minibuffer-prompt-end here. (forward-sentence): Do handle it here. (backward-kill-paragraph): Don't test it here. (forward-paragraph): Handle it here. diff -r 05f27fc24f81 -r 5cd9adabaee5 lisp/textmodes/paragraphs.el --- a/lisp/textmodes/paragraphs.el Sun Sep 05 21:22:48 1999 +0000 +++ b/lisp/textmodes/paragraphs.el Sun Sep 05 23:44:56 1999 +0000 @@ -185,6 +185,11 @@ (concat paragraph-separate "\\|" fill-prefix-regexp "[ \t]*$") paragraph-separate)) + ;; The end of the prompt is treated as a paragraph boundary. + (prompt-end (if (window-minibuffer-p) + (minibuffer-prompt-end) + 1)) + (orig-point (point)) ;; This is used for searching. (sp-paragraph-start (concat "^[ \t]*\\(" paragraph-start "\\)")) start found-start) @@ -285,7 +290,13 @@ (forward-char 1)) (if (< (point) (point-max)) (goto-char start))) - (setq arg (1- arg))))) + (setq arg (1- arg))) + (when (and (< orig-point prompt-end) + (< prompt-end (point))) + (goto-char prompt-end)) + (when (and (> orig-point prompt-end) + (> prompt-end (point))) + (goto-char prompt-end)))) (defun backward-paragraph (&optional arg) "Move backward to start of paragraph. @@ -324,10 +335,7 @@ negative arg -N means kill forward to Nth end of paragraph." (interactive "*p") (let ((start (point)) - (end (progn (backward-paragraph arg) (point))) - (prompt-end (minibuffer-prompt-end))) - (when (> end prompt-end) - (goto-char (setq end prompt-end))) + (end (progn (backward-paragraph arg) (point)))) (kill-region start end))) (defun transpose-paragraphs (arg) @@ -369,13 +377,25 @@ (interactive "p") (or arg (setq arg 1)) (while (< arg 0) - (let ((par-beg (save-excursion (start-of-paragraph-text) (point)))) + (let ((par-beg (save-excursion (start-of-paragraph-text) (point))) + (prompt-end (if (window-minibuffer-p) + (minibuffer-prompt-end) + 1))) + (if (and (< prompt-end (point)) + (> prompt-end par-beg)) + (setq par-beg prompt-end)) (if (re-search-backward (concat sentence-end "[^ \t\n]") par-beg t) (goto-char (1- (match-end 0))) (goto-char par-beg))) (setq arg (1+ arg))) (while (> arg 0) - (let ((par-end (save-excursion (end-of-paragraph-text) (point)))) + (let ((par-end (save-excursion (end-of-paragraph-text) (point))) + (prompt-end (if (window-minibuffer-p) + (minibuffer-prompt-end) + 1))) + (if (and (> prompt-end (point)) + (< prompt-end par-end)) + (setq par-end prompt-end)) (if (re-search-forward sentence-end par-end t) (skip-chars-backward " \t\n") (goto-char par-end))) @@ -399,10 +419,7 @@ With arg, repeat, or kill forward to Nth end of sentence if negative arg -N." (interactive "*p") (let ((start (point)) - (end (progn (backward-sentence arg) (point))) - (prompt-end (minibuffer-prompt-end))) - (when (> end prompt-end) - (goto-char (setq end prompt-end))) + (end (progn (backward-sentence arg) (point)))) (kill-region start end))) (defun mark-end-of-sentence (arg)