mes: Nyacc support: Read old characters.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sat, 9 Dec 2017 21:36:53 +0000 (22:36 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sat, 9 Dec 2017 21:36:53 +0000 (22:36 +0100)
* src/reader.c (read_character)[MES_C_READER]: Support reading old
  characters: #\bel, #\bs, #\vt.

module/mes/read-0.mes
src/reader.c

index 247b7bf538fc3559952b023c68b8ceb8a3f72d12..0faeeb8b443d7a38bd200bb406f140992aeaaa19 100644 (file)
                                      (mrala . 7)
                                      (ecapskcab . 8)
                                      (bat . 9)
+                                     (th . 9)
                                      (enilwen . 10)
                                      (batv . 11)
                                      (egap . 12)
index b9e91dbe56a4fbd4013f08387060112be8e73d17..063653385440a78e395635aa25ebff1e273e73d1 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-comment-start: "//";comment-end:""-*-
  * Mes --- Maxwell Equations of Software
- * Copyright © 2016,2017 Jan Nieuwenhuizen <janneke@gnu.org>
+ * Copyright © 2016,2017,2018 Jan Nieuwenhuizen <janneke@gnu.org>
  *
  * This file is part of Mes.
  *
@@ -206,18 +206,34 @@ read_character ()
       else if (!strcmp (buf, "alarm")) c = '\a';
       else if (!strcmp (buf, "backspace")) c = '\b';
       else if (!strcmp (buf, "tab")) c = '\t';
+      else if (!strcmp (buf, "linefeed")) c = '\n';
       else if (!strcmp (buf, "newline")) c = '\n';
       else if (!strcmp (buf, "vtab")) c = '\v';
       else if (!strcmp (buf, "page")) c = '\f';
 #if __MESC__
       //Nyacc bug
       else if (!strcmp (buf, "return")) c = 13;
-      else if (!strcmp (buf, "cr")) c = 13;
+      else if (!strcmp (buf, "esc")) c = 27;
 #else
       else if (!strcmp (buf, "return")) c = '\r';
-      else if (!strcmp (buf, "cr")) c = '\r';
+      //Nyacc crash else if (!strcmp (buf, "esc")) c = '\e';
 #endif
       else if (!strcmp (buf, "space")) c = ' ';
+
+#if 1 // Nyacc uses old abbrevs
+      else if (!strcmp (buf, "bel")) c = '\a';
+      else if (!strcmp (buf, "bs")) c = '\b';
+      else if (!strcmp (buf, "ht")) c = '\t';
+      else if (!strcmp (buf, "vt")) c = '\v';
+
+#if __MESC__
+      //Nyacc bug
+      else if (!strcmp (buf, "cr")) c = 13;
+#else
+      else if (!strcmp (buf, "cr")) c = '\r';
+#endif
+#endif // Nyacc uses old abbrevs
+
       else
         {
           eputs ("char not supported: ");