URI:
       tt20.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tt20.c (1020B)
       ---
            1 #include "a.h"
            2 
            3 /*
            4  * 20. Miscellaneous
            5  */
            6 
            7 /* .mc - margin character */
            8 /* .ig - ignore; treated like a macro in t7.c */
            9 
           10 /* .pm - print macros and strings */
           11 
           12 void
           13 r_pm(int argc, Rune **argv)
           14 {
           15         int i;
           16 
           17         if(argc == 1){
           18                 printds(0);
           19                 return;
           20         }
           21         if(runestrcmp(argv[1], L("t")) == 0){
           22                 printds(1);
           23                 return;
           24         }
           25         for(i=1; i<argc; i++)
           26                 fprint(2, "%S: %S\n", argv[i], getds(argv[i]));
           27 }
           28 
           29 void
           30 r_tm(Rune *name)
           31 {
           32         Rune *line;
           33 
           34         USED(name);
           35 
           36         line = readline(CopyMode);
           37         fprint(2, "%S\n", line);
           38         free(line);
           39 }
           40 
           41 void
           42 r_ab(Rune *name)
           43 {
           44         USED(name);
           45 
           46         r_tm(L("ab"));
           47         exits(".ab");
           48 }
           49 
           50 void
           51 r_lf(int argc, Rune **argv)
           52 {
           53         if(argc == 1)
           54                 return;
           55         if(argc == 2)
           56                 setlinenumber(nil, eval(argv[1]));
           57         if(argc == 3)
           58                 setlinenumber(argv[2], eval(argv[1]));
           59 }
           60 
           61 void
           62 r_fl(int argc, Rune **argv)
           63 {
           64         USED(argc);
           65         USED(argv);
           66         Bflush(&bout);
           67 }
           68 
           69 void
           70 t20init(void)
           71 {
           72         addreq(L("mc"), r_warn, -1);
           73         addraw(L("tm"), r_tm);
           74         addraw(L("ab"), r_ab);
           75         addreq(L("lf"), r_lf, -1);
           76         addreq(L("pm"), r_pm, -1);
           77         addreq(L("fl"), r_fl, 0);
           78 }