Annotation of researchv9/cmd/emacs/macros/shift, revision 1.1.1.1

1.1       root        1: �             shift marked area right or (arg != 1) left
                      2: 
                      3:       C. Douglas Blewett, modified by Joe Steffen
                      4: 
                      5:       Shift a region right or left.  An argument of != 1 shift
                      6:       left, otherwise right.  This is useful for programing in
                      7:       an indented language.
                      8:       
                      9:       The last line is shifted only if the region contains some 
                     10:       part of it.  This allows shifting a region containing the
                     11:       last line even if it does not end with a newline character.
                     12:       
                     13: 12�                          Mark the bottom
                     14: 4�0=                               Get one line number
                     15:                                     Goto the other end of the region
                     16: 3�0=                               Get the other line number
                     17:                                     Return to the original end of the region
                     18: |�
                     19:        �3~34  If cursor is at the top of the region
                     20:                                             Goto the bottom
                     21:        �
                     22: �
                     23:                                       The cursor is now at the bottom
                     24:                                       If at beginning of line
                     25:                                              Goto to previous line
                     26: 4�0=                               Get the bottom line number
                     27:                                     Goto the top
                     28: 3�0=                               Get the top line number
                     29:                                     Goto the bottom
                     30: 5�12~43              Number of lines
                     31: 5�11~51               Plus 1
                     32: ^�5�12~51    Loop count times
                     33:        &|�
                     34:                �1~1     Arg == 1 insert
                     35:                               
                     36:                �
                     37:                �                      Delete
                     38:                        !�11~64        White space
                     39:                                �`             Space
                     40:                                        
                     41:                                �
                     42:                                �I     Tab
                     43:                                        
                     44:                                �
                     45:                        �
                     46:                �
                     47:        �
                     48:        &                             Advance to next line
                     49: �
                     50: 12                         Goto the bottom
                     51: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.