Implement INDENT-TO.
authorChris Hanson <org/chris-hanson/cph>
Fri, 25 Feb 2000 19:40:00 +0000 (19:40 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 25 Feb 2000 19:40:00 +0000 (19:40 +0000)
v7/src/edwin/things.scm

index 41346c1959c325a706022f291e8ca896211095d0..aa4e87deb9755e15e174b8415cb0c7987afbaa36 100644 (file)
@@ -1,8 +1,8 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: things.scm,v 1.85 1999/01/02 06:11:34 cph Exp $
+;;; $Id: things.scm,v 1.86 2000/02/25 19:40:00 cph Exp $
 ;;;
-;;; Copyright (c) 1985, 1989-1999 Massachusetts Institute of Technology
+;;; Copyright (c) 1985, 1989-2000 Massachusetts Institute of Technology
 ;;;
 ;;; This program is free software; you can redistribute it and/or
 ;;; modify it under the terms of the GNU General Public License as
   (let ((point (if (default-object? point) (current-point) point)))
     (delete-string (horizontal-space-start point)
                   (horizontal-space-end point))))
+
+(define (indent-to target-column #!optional minimum point)
+  (let ((minimum (if (default-object? minimum) 0 minimum))
+       (point (if (default-object? point) (current-point) point)))
+    (insert-horizontal-space (let ((n (- target-column (mark-column point))))
+                              (if (< n minimum)
+                                  (+ target-column (- minimum (max 0 n)))
+                                  target-column))
+                            point)))
 \f
 (define (region-blank? region)
   (not (skip-chars-forward " \t"