about summary refs log tree commit diff stats
Commit message (Expand)AuthorAgeFilesLines
* Updated boothj5 themeJames Booth2016-01-151-1/+1
* Show unread message count for contacts in rosterJames Booth2016-01-151-24/+79
* Added roster contact themesJames Booth2016-01-1420-5/+411
* Fix compile error on CygwinJames Booth2016-01-141-2/+2
* Added window title autocomplete to /close commandJames Booth2016-01-134-86/+186
* Use offline presence for software version responses from non contactsJames Booth2016-01-131-8/+12
* Allow unlimited theme itemsJames Booth2016-01-102-327/+244
* Updated themesJames Booth2016-01-093-0/+4
* Added roster rooms order preferenceJames Booth2016-01-097-1/+74
* Added roster room themesJames Booth2016-01-0918-38/+80
* Use different colour for roster chat rooms with unread messagesJames Booth2016-01-091-5/+15
* Updated CHANGELOGJames Booth2016-01-081-0/+1
* Updated CHANGELOGJames Booth2016-01-081-3/+3
* Updated CHANGELOGJames Booth2016-01-081-13/+13
* Updated CHANGELOGJames Booth2016-01-081-0/+7
* End OTR sessions on lost server connectionJames Booth2016-01-081-0/+17
* Destroy roster after updating UI in server disconnectJames Booth2016-01-081-1/+1
* Added /win navigation by jid, win titleJames Booth2016-01-074-8/+189
* Merge branch 'master' into roster-structJames Booth2016-01-055-2/+31
|\
| * Call UI disconnect functions before disconnecting with /disconnectJames Booth2016-01-055-2/+31
* | Added roster struct, create and destroy roster on connect/disconnectJames Booth2016-01-0518-326/+409
|/
* Add cl_ev_disconnectJames Booth2016-01-034-15/+27
* Close all windows on /disconnectJames Booth2016-01-031-0/+1
* Fixed compilation without libotrJames Booth2016-01-031-0/+2
* End OTR session when recipient goes offlineJames Booth2016-01-032-1/+7
* Set autoping timeout default to 10 seconds, added null checksJames Booth2016-01-022-3/+14
* Fix roster rooms checksJames Booth2016-01-021-2/+2
* Sort roster roomsJames Booth2016-01-022-8/+27
* Check for mucwin before showing room in rosterJames Booth2016-01-021-1/+3
* Added /roster show|hide roomsJames Booth2016-01-024-3/+25
*
tgraph'>* Show rooms in roster panelJames Booth2016-01-023-0/+75 * Added autoping timeout preferenceJames Booth2016-01-018-23/+84 * Added hardcoded autoping timeoutJames Booth2015-12-315-12/+81 * Abort autping when existing attempt already in progressJames Booth2015-12-311-2/+14 * Tidy ping handlersJames Booth2015-12-311-49/+53 * Renamed autoping handlerJames Booth2015-12-301-6/+6 * boothj5 theme changesJames Booth2015-12-301-2/+2 * Added console muc message setting to themesJames Booth2015-12-305-0/+6 * Added functional tests for /console commandJames Booth2015-12-305-3/+111 * Use single quotes in functional test stanzasJames Booth2015-12-3012-215/+215 * Added /console commandJames Booth2015-12-297-1/+85 * Added console MUC message preferenceJames Booth2015-12-294-2/+17 * Uncommented functional testsJames Booth2015-12-221-63/+63 * Added chat message functional testsJames Booth2015-12-223-67/+86 * Merge remote-tracking branch 'pasis/disabled-pgp-fix'James Booth2015-12-221-0/+2 |\ | * Don't compile pgp code with --disable-pgpDmitry Podgorny2015-12-211-0/+2 |/ * Updated console new message textJames Booth2015-12-206-16/+34 * Change console incoming message text to include "win"James Booth2015-12-203-6/+6 * Fixed cygwin dependenciesJames Booth2015-12-201-2/+2 artik.com> 2015-04-24 10:19:03 -0700 1162' href='/akkartik/mu/commit/cpp/023jump?h=hlt&id=88be3dbc0c996490dbac97538f4d712a5b4f6f07'>88be3dbc ^
201b2e6c ^



6f5d7864 ^
201b2e6c ^
6f5d7864 ^
57699011 ^
201b2e6c ^
1848b18f ^

201b2e6c ^

201b2e6c ^

dcfca05e ^
201b2e6c ^





dcfca05e ^
a767dbd3 ^

201b2e6c ^


88be3dbc ^
201b2e6c ^



6f5d7864 ^
201b2e6c ^

6f5d7864 ^
57699011 ^
201b2e6c ^
88be3dbc ^
201b2e6c ^



6f5d7864 ^
201b2e6c ^

6f5d7864 ^
57699011 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
                   
 
                                             
     

                                        

                                                
                                                                                   

                                                                      


        
                                      



                             
                        
                       
                        
                             
 
                         
             




                               


                        
 

                                             

                                        

                                                
                                                                       





                                                
                                                                                  

                                                                      


        
                   



                              
                        

                              
                        
                             
 
                               



                               
                        
                          
                        
                               
 

                                             

                                           

                                                
                                                                       





                                                
                                                                                  

                                                                      


        
                       



                                
                        

                              
                        
                             
 
                                   



                                  
                        

                              
                        
                               
//: Jump primitives

:(before "End Primitive Recipe Declarations")
JUMP,
:(before "End Primitive Recipe Numbers")
Recipe_number["jump"] = JUMP;
:(before "End Primitive Recipe Implementations")
case JUMP: {
  trace("run") << "ingredient 0 is " << current_instruction().ingredients[0].value;
  current_step_index() += current_instruction().ingredients[0].value;
  trace("run") << "jumping to instruction " << current_step_index()+1;
  break;
}

:(scenario jump_can_skip_instructions)
recipe main [
  jump 1:offset
  1:integer <- copy 1:literal
]
+run: instruction main/0
+run: ingredient 0 is 1
-run: instruction main/1
-mem: storing 1 in location 1

:(scenario jump_backward)
recipe main [
  jump 1:offset  # 0 -+
  jump 1:offset  #    |   +-+ 1
                 #   \/  /\ |
  jump -2:offset #  2 +-->+ |
]                #         \/ 3
+run: instruction main/0
+run: instruction main/2
+run: instruction main/1

:(before "End Primitive Recipe Declarations")
JUMP_IF,
:(before "End Primitive Recipe Numbers")
Recipe_number["jump-if"] = JUMP_IF;
:(before "End Primitive Recipe Implementations")
case JUMP_IF: {
  vector<int> arg0 = read_memory(current_instruction().ingredients[0]);
  assert(arg0.size() == 1);
  trace("run") << "ingredient 0 is " << arg0[0];
  if (!arg0[0]) {
    trace("run") << "jump-if fell through";
    break;
  }
  trace("run") << "ingredient 1 is " << current_instruction().ingredients[1].name;
  current_step_index() += current_instruction().ingredients[1].value;
  trace("run") << "jumping to instruction " << current_step_index()+1;
  break;
}

:(scenario jump_if)
recipe main [
  jump-if 999:literal 1:offset
  1:integer <- copy 1:literal
]
+run: instruction main/0
+run: ingredient 1 is 1
+run: jumping to instruction 2
-run: instruction main/1
-mem: storing 1 in location 1

:(scenario jump_if_fallthrough)
recipe main [
  jump-if 0:literal 1:offset
  123:integer <- copy 1:literal
]
+run: instruction main/0
+run: jump-if fell through
+run: instruction main/1
+mem: storing 1 in location 123

:(before "End Primitive Recipe Declarations")
JUMP_UNLESS,
:(before "End Primitive Recipe Numbers")
Recipe_number["jump-unless"] = JUMP_UNLESS;
:(before "End Primitive Recipe Implementations")
case JUMP_UNLESS: {
  vector<int> arg0 = read_memory(current_instruction().ingredients[0]);
  assert(arg0.size() == 1);
  trace("run") << "ingredient 0 is " << arg0[0];
  if (arg0[0]) {
    trace("run") << "jump-unless fell through";
    break;
  }
  trace("run") << "ingredient 1 is " << current_instruction().ingredients[1].name;
  current_step_index() += current_instruction().ingredients[1].value;
  trace("run") << "jumping to instruction " << current_step_index()+1;
  break;
}

:(scenario jump_unless)
recipe main [
  jump-unless 0:literal 1:offset
  1:integer <- copy 1:literal
]
+run: instruction main/0
+run: ingredient 1 is 1
+run: jumping to instruction 2
-run: instruction main/1
-mem: storing 1 in location 1

:(scenario jump_unless_fallthrough)
recipe main [
  jump-unless 999:literal 1:offset
  123:integer <- copy 1:literal
]
+run: instruction main/0
+run: ingredient 0 is 999
+run: jump-unless fell through
+run: instruction main/1
+mem: storing 1 in location 123