* Experimental new linebreak mode
authorArt Cancro <ajc@citadel.org>
Tue, 21 Mar 2000 03:23:27 +0000 (03:23 +0000)
committerArt Cancro <ajc@citadel.org>
Tue, 21 Mar 2000 03:23:27 +0000 (03:23 +0000)
citadel/ChangeLog
citadel/messages.c
citadel/messages/entermsg

index f80f95c8e073121fe332c9c4b8d86fae78797e1a..557fa1ea1e77857a57589e427db19ff35ee12c68 100644 (file)
@@ -1,4 +1,7 @@
  $Log$
+ Revision 570.2  2000/03/21 03:23:24  ajc
+ * Experimental new linebreak mode
+
  Revision 570.1  2000/03/20 14:43:19  ajc
  * "Brown paper bag" fix for SMTP bug (incoming long fields crash logger)
 
@@ -1771,3 +1774,4 @@ Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
 
 Fri Jul 10 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * Initial CVS import 
+
index cbfe2b2495c0164b6a0246158cc9bbca152f8979..7e22f00329ae5cfedfeaa5113c52cab644fed653 100644 (file)
@@ -213,18 +213,18 @@ void citedit(FILE *fp)
                                add_word(textlist,"\n");
                                add_newline(textlist);
                                add_word(textlist,"");
-                               }
                        }
+               }
                else {
                        wordbuf[strlen(wordbuf)+1] = 0;
                        wordbuf[strlen(wordbuf)] = a;
-                       }
+               }
                if (strlen(wordbuf)+3 > screenwidth) {
                        add_word(textlist,wordbuf);
                        strcpy(wordbuf,"");
-                       }
-               prev = a;
                }
+               prev = a;
+       }
 
        /* get text */
        finished = 0;
@@ -236,18 +236,28 @@ void citedit(FILE *fp)
                if (a==10) a=13;
                if (a==9) a=32;
                if (a==127) a=8;
+
+
+       /******* new ***********/
+               if ((a>32)&&(a<127)&&(prev==13)) {
+                       add_word(textlist,"\n");
+                       printf(" ");
+               }
+       /***********************/
+
                if ((a==32)&&(prev==13)) {
                        add_word(textlist,"\n");
                        add_newline(textlist);
-                       }
+               }
+
                if (a==8) {
                        if (strlen(wordbuf)>0) {
                                wordbuf[strlen(wordbuf)-1] = 0;
                                putc(8,stdout);
                                putc(32,stdout);
                                putc(8,stdout);
-                               }
                        }
+               }
                else if (a==13) {
                        printf("\n");
                        if (strlen(wordbuf)==0) finished = 1;
@@ -258,16 +268,16 @@ void citedit(FILE *fp)
                                        add_word(textlist,wordbuf);
                                        strcpy(wordbuf,&wordbuf[b+1]);
                                        b=0;
-                                       }
+                               }
                                add_word(textlist,wordbuf);
                                strcpy(wordbuf,"");
-                               }
                        }
+               }
                else {
                        putc(a,stdout);
                        wordbuf[strlen(wordbuf)+1] = 0;
                        wordbuf[strlen(wordbuf)] = a;
-                       }
+               }
                if ((strlen(wordbuf)+3) > screenwidth) {
                        last_space = (-1);
                        for (b=0; b<strlen(wordbuf); ++b)
@@ -279,22 +289,22 @@ void citedit(FILE *fp)
                                        add_word(textlist,wordbuf);
                                        strcpy(wordbuf,&wordbuf[b+1]);
                                        b=0;
-                                       }
+                               }
                                for (b=0; b<strlen(wordbuf); ++b) {
                                        putc(8,stdout);
                                        putc(32,stdout);
                                        putc(8,stdout);
-                                       }
-                               printf("\n%s",wordbuf);
                                }
+                               printf("\n%s",wordbuf);
+                       }
                        else {
                                add_word(textlist,wordbuf);
                                strcpy(wordbuf,"");
                                printf("\n");
-                               }
                        }
+               }
                prev = a;
-               } while (finished==0);
+       } while (finished==0);
        async_ka_end();
 
        /* write the buffer back to disk */
@@ -311,8 +321,8 @@ void citedit(FILE *fp)
                ptr=textlist->next;
                free(textlist);
                textlist=ptr;
-               }
        }
+}
 
 
 int read_message(long int num, char pagin) /* Read a message from the server */
index c9473abf716eb0ce1e3ce07e550db56fec9cb1f8..09a3a9016054ed98dc4079d23a3c8011ce45c736 100644 (file)
@@ -1 +1,3 @@
-Entering message -- end by hitting return twice.
+Entering message.  Word wrap will give you soft linebreaks.  Pressing the
+'enter' key will give you a hard linebreak and an indent.  Press 'enter' twice
+when finished.