diff src/cmds.c @ 404:2f8bb876ab1d r21-2-32

Import from CVS: tag r21-2-32
author cvs
date Mon, 13 Aug 2007 11:16:07 +0200
parents 74fd4e045ea6
children 697ef44129c6
line wrap: on
line diff
--- a/src/cmds.c	Mon Aug 13 11:15:00 2007 +0200
+++ b/src/cmds.c	Mon Aug 13 11:16:07 2007 +0200
@@ -41,6 +41,9 @@
 
 /* This is the command that set up Vself_insert_face.  */
 Lisp_Object Vself_insert_face_command;
+
+/* A char-table for characters which may invoke auto-filling.  */
+Lisp_Object Vauto_fill_chars;
 
 DEFUN ("forward-char", Fforward_char, 0, 2, "_p", /*
 Move point right N characters (left if N negative).
@@ -396,7 +399,9 @@
 #endif /* FSFmacs */
         }
     }
-  if ((c1 == ' ' || c1 == '\n')
+  if ((CHAR_TABLEP (Vauto_fill_chars)
+       ? !NILP (XCHAR_TABLE_VALUE_UNSAFE (Vauto_fill_chars, c1))
+       : (c1 == ' ' || c1 == '\n'))
       && !noautofill
       && !NILP (buf->auto_fill_function))
     {
@@ -498,4 +503,12 @@
 More precisely, a char with closeparen syntax is self-inserted.
 */ );
   Vblink_paren_function = Qnil;
+
+  DEFVAR_LISP ("auto-fill-chars", &Vauto_fill_chars /*
+A char-table for characters which invoke auto-filling.
+Such characters has value t in this table.
+*/);
+  Vauto_fill_chars = Fmake_char_table (Qgeneric);
+  XCHAR_TABLE (Vauto_fill_chars)->ascii[' '] = Qt;
+  XCHAR_TABLE (Vauto_fill_chars)->ascii['\n'] = Qt;
 }