about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--apps/mu.subx370
1 files changed, 1 insertions, 369 deletions
diff --git a/apps/mu.subx b/apps/mu.subx
index 113fce7e..9ed65a06 100644
--- a/apps/mu.subx
+++ b/apps/mu.subx
@@ -425,18 +425,6 @@ test-convert-empty-input:
     c3/return
 
 test-convert-function-skeleton:
-    # empty function decl => function prologue and epilogue
-    #   fn foo {
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -472,28 +460,6 @@ test-convert-function-skeleton:
     c3/return
 
 test-convert-multiple-function-skeletons:
-    # multiple functions correctly organized into a linked list
-    #   fn foo {
-    #   }
-    #   fn bar {
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
-    #   bar:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -540,18 +506,6 @@ test-convert-multiple-function-skeletons:
     c3/return
 
 test-convert-function-with-arg:
-    # function with one arg
-    #   fn foo n : int {
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -587,22 +541,6 @@ test-convert-function-with-arg:
     c3/return
 
 test-convert-function-with-arg-and-body:
-    # function with one arg and one instruction in the body
-    #   fn foo n : int {
-    #     increment n
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     {
-    #       ff 0/subop/increment *(ebp+8)
-    #     }
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -642,22 +580,6 @@ test-convert-function-with-arg-and-body:
     c3/return
 
 test-convert-function-distinguishes-args:
-    # function with two args refers to second one in body
-    #   fn foo a: int, b: int {
-    #     increment b
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     {
-    #       ff 0/subop/increment *(ebp+0xc)
-    #     }
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -697,24 +619,6 @@ test-convert-function-distinguishes-args:
     c3/return
 
 test-convert-function-returns-result:
-    # function writes to output
-    #   fn foo a: int, b: int -> result/eax: int {
-    #     result <- copy a
-    #     result <- increment
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     {
-    #       89/-> *(ebp+8) 0/r32/eax
-    #       40/increment-eax
-    #     }
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -756,24 +660,6 @@ test-convert-function-returns-result:
     c3/return
 
 test-convert-function-literal-arg:
-    # function writes to output
-    #   fn foo a: int, b: int -> result/eax: int {
-    #     result <- copy a
-    #     result <- add 1
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     {
-    #       89/-> *(ebp+8) 0/r32/eax
-    #       05/add-to-eax 1/imm32
-    #     }
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -815,24 +701,6 @@ test-convert-function-literal-arg:
     c3/return
 
 test-convert-function-literal-arg-2:
-    # function writes to output
-    #   fn foo a: int, b: int -> result/ebx: int {
-    #     result <- copy a
-    #     result <- add 1
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     {
-    #       89/-> *(ebp+8) 3/r32/ebx
-    #       81 0/subop/add %ebx 1/imm32
-    #     }
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -874,39 +742,6 @@ test-convert-function-literal-arg-2:
     c3/return
 
 test-convert-function-call-with-literal-arg:
-    # function writes to output
-    #   fn main -> result/ebx: int {
-    #     result <- do-add 3 4
-    #   }
-    #
-    #   fn do-add a: int, b: int -> result/ebx: int {
-    #     result <- copy a
-    #     result <- add b
-    #   }
-    # =>
-    #   main:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     {
-    #       (do-add 3 4)
-    #     }
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
-    #   do-add:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     {
-    #       8b/-> *(ebp+8) 3/r32/ebx
-    #       03/add-to 3/r32/ebx *(ebp+0xc)
-    #     }
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -962,25 +797,6 @@ test-convert-function-call-with-literal-arg:
     c3/return
 
 test-convert-function-with-local-var-in-mem:
-    # empty function decl => function prologue and epilogue
-    #   fn foo {
-    #     var x: int
-    #     increment x
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     {
-    #       68/push 0/imm32
-    #       ff 0/subop/increment *(ebp-4)
-    #       81 0/subop/add %esp 4/imm32
-    #     }
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -1023,26 +839,6 @@ test-convert-function-with-local-var-in-mem:
     c3/return
 
 test-convert-function-with-local-var-in-reg:
-    # empty function decl => function prologue and epilogue
-    #   fn foo {
-    #     var x/ecx: int <- copy 3
-    #     x <- increment
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     {
-    #       ff 6/subop/push %ecx
-    #       b9/copy-to-ecx 3/imm32
-    #       41/increment-ecx
-    #       8f 0/subop/pop %ecx
-    #     }
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -1086,29 +882,6 @@ test-convert-function-with-local-var-in-reg:
     c3/return
 
 test-convert-function-with-local-var-in-block:
-    # empty function decl => function prologue and epilogue
-    #   fn foo {
-    #     {
-    #       var x: int
-    #       increment x
-    #     }
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     {
-    #       {
-    #         68/push 0/imm32
-    #         ff 0/subop/increment *(ebp-4)
-    #         81 0/subop/add %esp 4/imm32
-    #       }
-    #     }
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -1155,31 +928,6 @@ test-convert-function-with-local-var-in-block:
     c3/return
 
 test-convert-function-with-local-var-in-named-block:
-    # empty function decl => function prologue and epilogue
-    #   fn foo {
-    #     $bar: {
-    #       var x: int
-    #       increment x
-    #     }
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     {
-    #       {
-    #     $bar:loop:
-    #         68/push 0/imm32
-    #         ff 0/subop/increment *(ebp-4)
-    #         81 0/subop/add %esp 4/imm32
-    #       }
-    #     $bar:break:
-    #     }
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -1228,32 +976,6 @@ test-convert-function-with-local-var-in-named-block:
     c3/return
 
 test-convert-function-with-branches-in-block:
-    # empty function decl => function prologue and epilogue
-    #   fn foo x: int {
-    #     {
-    #       break-if->=
-    #       loop-if-addr<
-    #       increment x
-    #       loop
-    #     }
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     {
-    #       {
-    #         0f 8d/jump-if->= break/disp32
-    #         0f 82/jump-if-addr< loop/disp32
-    #         ff 0/subop/increment *(ebp+8)
-    #         e9/jump loop/disp32
-    #       }
-    #     }
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -1303,34 +1025,6 @@ test-convert-function-with-branches-in-block:
     c3/return
 
 test-convert-function-with-branches-in-named-block:
-    # empty function decl => function prologue and epilogue
-    #   fn foo x: int {
-    #     $bar: {
-    #       break-if->= $bar
-    #       loop-if-addr< $bar
-    #       increment x
-    #       loop
-    #     }
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     {
-    #       {
-    #   $bar:loop:
-    #         0f 8d/jump-if->= $bar:break/disp32
-    #         0f 82/jump-if-addr< $bar:loop/disp32
-    #         ff 0/subop/increment *(ebp+8)
-    #         e9/jump loop/disp32
-    #       }
-    #   $bar:break:
-    #     }
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -1382,33 +1076,6 @@ test-convert-function-with-branches-in-named-block:
     c3/return
 
 test-convert-function-with-var-in-nested-block:
-    # empty function decl => function prologue and epilogue
-    #   fn foo {
-    #     {
-    #       {
-    #         var x: int
-    #         increment x
-    #       }
-    #     }
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     {
-    #       {
-    #         {
-    #           68/push 0/imm32
-    #           ff 0/subop/increment *(ebp-4)
-    #           81 0/subop/add %esp 4/imm32
-    #         }
-    #       }
-    #     }
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -1459,36 +1126,6 @@ test-convert-function-with-var-in-nested-block:
     c3/return
 
 test-convert-function-with-multiple-vars-in-nested-blocks:
-    # empty function decl => function prologue and epilogue
-    #   fn foo {
-    #     {
-    #       var x/eax: int <- copy 0
-    #       {
-    #         var y: int
-    #         x <- add y
-    #       }
-    #     }
-    #   }
-    # =>
-    #   foo:
-    #     # . prologue
-    #     55/push-ebp
-    #     89/<- %ebp 4/r32/esp
-    #     {
-    #       {
-    #         ff 6/subop/push %eax
-    #         {
-    #           68/push 0/imm32
-    #           ff 0/subop/increment *(ebp-8)  # eax has been spilled above
-    #           81 0/subop/add %esp 4/imm32
-    #         }
-    #         8f 0/subop/pop %eax
-    #       }
-    #     }
-    #     # . epilogue
-    #     89/<- %esp 5/r32/ebp
-    #     5d/pop-to-ebp
-    #     c3/return
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -1882,7 +1519,6 @@ $populate-mu-function-header:error3:
     # never gets here
 
 test-function-header-with-arg:
-    # 'foo n : int {'
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -1916,7 +1552,6 @@ test-function-header-with-arg:
     c3/return
 
 test-function-header-with-multiple-args:
-    # 'fn foo a: int, b: int, c: int {'
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -1969,7 +1604,6 @@ $test-function-header-with-multiple-args:inout2:
     c3/return
 
 test-function-with-multiple-args-and-outputs:
-    # fn foo a: int, b: int, c: int -> x: int, y: int {
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -3967,7 +3601,6 @@ $find-in-function-outputs:end:
     c3/return
 
 test-parse-mu-stmt:
-    # 'increment n'
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -4004,7 +3637,6 @@ test-parse-mu-stmt:
     c3/return
 
 test-parse-mu-stmt-with-comma:
-    # 'increment n'
     # . prologue
     55/push-ebp
     89/<- %ebp 4/r32/esp
@@ -7106,7 +6738,7 @@ test-emit-subx-statement-select-primitive-2:
     c3/return
 
 test-increment-register:
-    # Select the right primitive between overloads.
+    # Select the right register between overloads.
     #   foo <- increment
     # =>
     #   50/increment-eax
-01-18 22:13:40 +0100 committer hut <hut@lavabit.com> 2010-01-18 22:13:40 +0100 fixed #43: bookmark ` = '' href='/akspecs/ranger/commit/TODO?h=v1.2.3&id=291ca616093aed257acf950eb6b8d95229767f9d'>291ca616 ^
d994d0d6 ^
66c5bb93 ^
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

       

                                      
                               
                                         
                                                    



       
                                                    
                                           
                                     
                                                                

                                                                  
                            
                                                               
                                                        
                                                        
                                       
                                 
                                                             
                                       
                                                  
                                                                        
                                             
                                                                      
                                                           
                                                           
                                        
                                                
                                                              
                                                                     
                                            
                                                  
                                                                          
                                         
                                                     

                                                                        

                                                              
                                                      
                                                      

                                                



    
                                                           
                                                              
                                               
                                                                   
                                                                 
                                                              
                                                                              
                                                   
                                               
                                                                
                                                           
                                        
                                                          
                                                             
                                            
                                                     
                                                                                  




                                                               
                                  
                                                                     
                                                                
                                                 
                                                           
                                              
 
Console

   (X) #0   09/12/06  console commands
   (X) #1   09/12/06  quick find
   (X) #2   09/12/06  open with
   (X) #4   09/12/06  history for console
   (X) #13  09/12/27  display docstring of a command


General

   (X) #5   09/12/06  move code from fm into objects
   (X) #6   09/12/06  move main to __init__
   (X) #7   09/12/06  cooler titlebar
   (X) #8   09/12/17  Add operations to modify files/directories
   (X) #9   09/12/24  add a widget for managing running operations
   (X) #10  09/12/24  sorting
   (X) #11  09/12/27  filter
   (X) #12  09/12/27  jump through the list in a specific order
   (X) #14  09/12/29  make filelists inherit from pagers
   (X) #15  09/12/29  better way of running processes!!~
   (X) #16  10/01/01  list of bookmarks
   (X) #21  10/01/01  write help!
   (X) #22  10/01/03  add getopt options to change flags/mode
   (X) #29  10/01/06  add chmod command
   (X) #30  10/01/06  add a way to create symlinks
   (X) #32  10/01/08  place the (hidden) cursor to a meaningful position
   (X) #34  10/01/09  display free disk space
   (X) #35  10/01/09  display disk usage of files in current directory
   ( ) #36  10/01/11  help coloring is terribly inefficient
   (X) #37  10/01/13  better tab completion for OpenConsole
   ( ) #38  10/01/16  searching in pager
   (X) #39  10/01/17  flushinput not always good
   (X) #42  10/01/17  memorize directory for `` when using :cd
   (X) #43  10/01/18  internally treat the bookmarks ` and ' the same
   ( ) #44  10/01/18  more error messages :P
   (X) #47  10/01/19  less restricive auto preview
   (X) #48  10/01/19  abbreviate commands with first unambiguous substring
   ( ) #50  10/01/19  add more unit tests
   ( ) #51  10/01/21  remove directory.marked_items ?
   (X) #55  10/01/24  allow change of filename when pasting
          you're given the choice between overwriting or appending a "_"
   ( ) #56  10/01/30  warn before deleting mount points
   ( ) #57  10/01/30  warn before deleting unseen marked files
   (X) #58  10/02/04  change the title of the terminal
   (X) #61  10/02/09  show sum of size of marked files
   (X) #63  10/02/15  limit filesize in previews
   ( ) #64  10/02/25  scroll in previews


Bugs

   (X) #17  10/01/01  why do bookmarks disappear sometimes?
   (X) #18  10/01/01  fix notify widget (by adding a LogView?)
   (X) #19  10/01/01  resizing after pressing g
   (X) #23  10/01/04  stop dir loading with ^C -> wont load anymore
   (X) #25  10/01/06  directories sometimes dont reload correctly
   (X) #26  10/01/06  :delete on symlinks of directories fails
   (X) #31  10/01/06  ^C breaks cd-after-exit by stopping sourced shell script
   ( ) #40  10/01/17  freeze with unavailable sshfs
          Looks like I need threads for that...
   (X) #41  10/01/17  capital file extensions are not recognized
   (X) #46  10/01/19  old username displayed after using su
   (X) #49  10/01/19  fix unit tests :'(
   (X) #52  10/01/23  special characters in tab completion
   (X) #54  10/01/23  max_dirsize_for_autopreview not working
   ( ) #60  10/02/05  utf support improvable
   (X) #62  10/02/15  curs_set can raise an exception
   (X) #64  10/02/16  "source ranger ranger some/file.txt" shouldn't cd after exit


Ideas

   ( ) #20  10/01/01  use inotify to monitor filesystem changes
   ( ) #24  10/01/06  progress bar
   (X) #27  10/01/06  hide bookmarks in list which contain hidden dir
   (X) #28  10/01/06  use regexp instead of string for searching
   ( ) #33  10/01/08  accelerate mousewheel speed
   ( ) #45  10/01/18  hooks for events like setting changes
   ( ) #53  10/01/23  merge fm and environment