summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2000-12-12 01:20:55 +0000
committerMiles Bader <miles@gnu.org>2000-12-12 01:20:55 +0000
commit5ff4ba3ddfdff8ae7e5da87a7c48af1359570029 (patch)
tree5886cb98fef2b53c3672131ae6898a788beea03f
parent657706fa9447b5be387e966eea2a5293f7f109ac (diff)
downloademacs-5ff4ba3ddfdff8ae7e5da87a7c48af1359570029.tar.gz
(delete-horizontal-space): Add BACKWARD-ONLY parameter.
Respect field end too. (just-one-space): Respect fields as `delete-horizontal-space'. (newline-and-indent, reindent-then-newline-and-indent): Use `delete-horizontal-space'.
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/simple.el29
2 files changed, 28 insertions, 9 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 3fdad5280c7..0c08f8745f9 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
+2000-12-12 Miles Bader <miles@gnu.org>
+
+ * simple.el (delete-horizontal-space): Add BACKWARD-ONLY parameter.
+ Respect field end too.
+ (just-one-space): Respect fields as `delete-horizontal-space'.
+ (newline-and-indent, reindent-then-newline-and-indent): Use
+ `delete-horizontal-space'.
+
2000-12-11 Stefan Monnier <monnier@cs.yale.edu>
* newcomment.el (comment-indent-new-line): Use delete-horizontal-space
diff --git a/lisp/simple.el b/lisp/simple.el
index aded4e0650d..4fb7c03220f 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -245,7 +245,7 @@ In programming language modes, this is the same as TAB.
In some text modes, where TAB inserts a tab, this command indents to the
column specified by the function `current-left-margin'."
(interactive "*")
- (delete-region (point) (progn (skip-chars-backward " \t") (point)))
+ (delete-horizontal-space t)
(newline)
(indent-according-to-mode))
@@ -258,7 +258,7 @@ In some text modes, where TAB inserts a tab, this indents to the
column specified by the function `current-left-margin'."
(interactive "*")
(save-excursion
- (delete-region (point) (progn (skip-chars-backward " \t") (point)))
+ (delete-horizontal-space t)
(indent-according-to-mode))
(newline)
(indent-according-to-mode))
@@ -331,21 +331,32 @@ Leave one space or none, according to the context."
nil
(insert ?\ ))))
-(defun delete-horizontal-space ()
- "Delete all spaces and tabs around point."
+(defun delete-horizontal-space (&optional backward-only)
+ "Delete all spaces and tabs around point.
+If BACKWARD-ONLY is non-nil, only delete spaces before point."
(interactive "*")
- (skip-chars-backward " \t" (field-beginning))
- (delete-region (point) (progn (skip-chars-forward " \t") (point))))
+ (delete-region
+ (if backward-only
+ (point)
+ (progn
+ (skip-chars-forward " \t" (field-end))
+ (point)))
+ (progn
+ (skip-chars-backward " \t" (field-beginning nil t))
+ (point))))
(defun just-one-space ()
"Delete all spaces and tabs around point, leaving one space."
(interactive "*")
- (skip-chars-backward " \t")
+ (skip-chars-backward " \t" (field-beginning))
(if (= (following-char) ? )
(forward-char 1)
(insert ? ))
- (delete-region (point) (progn (skip-chars-forward " \t") (point))))
-
+ (delete-region
+ (point)
+ (progn
+ (skip-chars-forward " \t" (field-end nil t))
+ (point))))
(defun beginning-of-buffer (&optional arg)
"Move point to the beginning of the buffer; leave mark at previous position.