1 package gnu.jemacs.buffer;
2 
3 public class Signal extends RuntimeException
4 {
5   String name;
6   Object data;
7 
Signal(String name, Object data)8   public Signal(String name, Object data)
9   {
10     this.name = name;
11     this.data = data;
12   }
13 
signal(String name, Object data)14   public static void signal(String name, Object data)
15   {
16     throw new Signal(name, data);
17   }
18 
signal(String name)19   public static void signal(String name)
20   {
21     throw new Signal(name, null);
22   }
23 
error(Object data)24   public static void error(Object data)
25   {
26     throw new Signal("error", data);
27   }
28 
message(String msg)29   public static void message(String msg)
30   {
31     System.err.println(msg);
32   }
33 
toString()34   public String toString()
35   {
36     if (data == null)
37       return name;
38     else
39       return name+": "+data;
40   }
41 
checkQuit()42   public static void checkQuit()
43   {
44     if (Thread.interrupted())
45       throw new gnu.mapping.WrappedException(new InterruptedException());
46   }
47 }
48