Integrate auto-fill and abbrev into M-x self-insert, as in Emacs.
authorChris Hanson <org/chris-hanson/cph>
Fri, 25 Feb 2000 14:26:56 +0000 (14:26 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 25 Feb 2000 14:26:56 +0000 (14:26 +0000)
v7/src/edwin/basic.scm
v7/src/edwin/comred.scm
v7/src/edwin/syntax.scm

index 9072169a52cc6bb6bfb6c8fd7b7d03140f2659eb..9afcacdb2acd0a4c58d98892c8feae2c811de2d6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: basic.scm,v 1.133 2000/02/25 14:20:56 cph Exp $
+;;; $Id: basic.scm,v 1.134 2000/02/25 14:23:55 cph Exp $
 ;;;
 ;;; Copyright (c) 1986, 1989-2000 Massachusetts Institute of Technology
 ;;;
@@ -41,7 +41,8 @@ Whichever character you type to run this command is inserted."
                 (eqv? #\w (char-syntax (extract-left-char))))
            ((ref-command expand-abbrev)))
        (insert-chars char n)
-       (if (and (or (char=? #\space char)
+       (if (and allow-auto-fill?
+                (or (char=? #\space char)
                     (char=? #\newline char))
                 (current-minor-mode? (ref-mode-object auto-fill)))
            (auto-fill-break)))))
index 75d6ac116c0684ac38de89c5b0b896f9e6fe11ec..e76d8de909d63157aba4712248e7e1979033c672 100644 (file)
@@ -1,8 +1,8 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: comred.scm,v 1.114 1999/01/28 03:59:45 cph Exp $
+;;; $Id: comred.scm,v 1.115 2000/02/25 14:26:56 cph Exp $
 ;;;
-;;; Copyright (c) 1986, 1989-1999 Massachusetts Institute of Technology
+;;; Copyright (c) 1986, 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
       (cond ((or *executing-keyboard-macro?* *command-argument*)
             (normal))
            ((and (char? *command-key*)
-                 (or (eq? command (ref-command-object self-insert-command))
-                     (and (eq? command (ref-command-object &auto-fill-space))
-                          (not (auto-fill-break? point)))
+                 (or (and (eq? command
+                               (ref-command-object self-insert-command))
+                          (not (and (or (char=? #\space *command-key*)
+                                        (char=? #\newline *command-key*))
+                                    (auto-fill-break? point))))
                      (command-argument-self-insert? command)))
             (let ((non-undo-count *non-undo-count*))
               (if (or (fix:= non-undo-count 0)
index 4557d935f989915eb2b53a2467f51278ee256845..ba4f0bac74ed8db6dc6bbedb230b288390d76db7 100644 (file)
@@ -1,8 +1,8 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: syntax.scm,v 1.84 1999/05/13 03:06:47 cph Exp $
+;;; $Id: syntax.scm,v 1.85 2000/02/25 14:21:11 cph Exp $
 ;;;
-;;; Copyright (c) 1986, 1989-1999 Massachusetts Institute of Technology
+;;; Copyright (c) 1986, 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
@@ -33,6 +33,9 @@
 (define (group-syntax-table-entries group)
   (char-syntax-table/entries (group-syntax-table group)))
 
+(define (char-syntax char)
+  (char->syntax-code (ref-variable syntax-table) char))
+
 (define-command describe-syntax
   "Describe the syntax specifications in the syntax table.
 The descriptions are inserted in a buffer,