Annotation of researchv9/cmd/emacs/macros/mail, revision 1.1

1.1     ! root        1: �runs the mail processing subsystem [MACRO]
        !             2: 
        !             3: B                    save the name of the current buffer
        !             4: <mail
        !             5:                     goto mail buffer
        !             6: |�           check if should be special file
        !             7:        �1~0<
        !             8:                <Mail file to use? 
        !             9:        �              else read new mail
        !            10:        � 0<Retrieving Mail
        !            11:                0           indicate that execution is in progress
        !            12:                <$MAIL
        !            13:                -���empty mail file
        !            14:                <$HOME/mbox
        !            15: ��
        !            16: F-     get (or create) the mailbox file
        !            17: ��            mark the end of the old mail
        !            18: -         append new mail and save
        !            19:                     go to the top of the new mail
        !            20: <lnumb
        !            21: 2�0
       turn off lnumb mode (save old value)
        !            22: 110     go to one window mode
        !            23:                       loop until 1 is returned
        !            24: ^�8~!�-<mail? 
        !            25:        �                     exit mail
        !            26:                                     save mail file
        !            27:                B%       display old buffer and kill this one
        !            28:                <lnumb
        !            29:                2
          restore old lnumb mode
        !            30:                �                      return 1 to exit loop
        !            31:        �?                     help display
        !            32:                B<Mail
        !            33:                <~EMACS/macros/mail_help
        !            34:                0-<Continue? 
        !            35:                B%       kill Mail buffer
        !            36:                100�     redisplay and return 0
        !            37:        �!s           shell escape
        !            38:                100�
        !            39:        �            refresh screen
        !            40:                100�
        !            41:        �<��Next
        !            42:                100�     first message
        !            43:        �>��Last
        !            44:                100�     last message
        !            45:        �n�Next
        !            46:                100�     next message
        !            47:        �p�Last
        !            48:                100�     previous message
        !            49:        ��skip_down
        !            50:                00�                next page
        !            51:        � �skip_down
        !            52:                00�                next page
        !            53:        ��skip_up
        !            54:                00�                previous page
        !            55:        �l                     look for next From in newsletters
        !            56:                <^From
        !            57:                ��             move next From to top of screen
        !            58:                00�
        !            59:        �d�Mark
        !            60:                              delete message
        !            61:                %                     swap it and the buffer name
        !            62:                100�     redisplay and return 0
        !            63:        �u%-                undelete message
        !            64:                �Last
        !            65:                100�     redisplay and return 0
        !            66:        �f                     forward message
        !            67:                �Put
        !            68:                <${MAILER:-mail} 
        !            69:                +<Forward to? 
        !            70:                �
        !            71:                B%       display mail buffer & kill temp buffer
        !            72:                100�     redisplay and return 0
        !            73:        �w                     write message to file
        !            74:                �Put
        !            75:                <Write mail to File? 
        !            76:                
        !            77:                B%       display mail buffer & kill temp buffer
        !            78:                0�            replace cursor and return 0
        !            79:        �eB         edit mail buffer
        !            80:                �Last
        !            81:                                     restore mail buffer if other buffer displayed
        !            82:                100�     redisplay and return 0
        !            83:        �s                     send message
        !            84:                <Mail
        !            85:                2To: 
        !            86:                Subject:              insert message header
        !            87:                �reply_send
        !            88:                100�     redisplay and return 0
        !            89:        �r                     reply to message
        !            90:                �Mark
        !            91:                �            push original message
        !            92:                <Mail
        !            93:                2�           switch to Mail buffer and get message
        !            94:                ^�~�>     While next line is '>'
        !            95:                        |��~�*  If not Forwarding line
        !            96:                                ���+<!
        !            97:                                +��           This line processed
        !            98:                        &�    Move on
        !            99:                &�           get to start of sender string
        !           100:                ^�2~�     while less than a blank
        !           101:                        �+    append word to string
        !           102:                        �<
        !           103:                                       then get subject
        !           104:                |� ��<^[Ss]ubj.*:
        !           105:                        ��    if line starts with some subject line
        !           106:                        ��   get line after :
        !           107:                        � 
        !           108:                        |� ��<^[rR]e:
        !           109:                                ��
        !           110:                        ��   If a subject get line after :
        !           111:                        � < 
        !           112:                        ��             put in a space if no subject
        !           113:                ��
        !           114:                ���- throw away message
        !           115:                To: %-   address reply buffer
        !           116:                Subject:-
        !           117:                �reply_send
        !           118:                -                     pop the original message
        !           119:                100�     redisplay and return 0
        !           120:        �N                     unix news
        !           121:                <news
        !           122:                �News
        !           123:                00�
        !           124:        �U                     Usenet news
        !           125:                <if nchk;then netnews -p;fi
        !           126:                �News
        !           127:                00�
        !           128:        �P                     print message
        !           129:                �Put
        !           130:                <8by11
        !           131:                �
        !           132:                B%       display mail buffer & kill temp buffer
        !           133:                100�     redisplay and return 0
        !           134:        �A                     append message to BLFP add file and delete
        !           135:                �Put
        !           136:                <add
        !           137:                            append message to file
        !           138:                B%       display mail buffer & kill temp buffer
        !           139:                %                    delete message so it can be undeleted
        !           140:                100�     redisplay and return 0
        !           141:        �C                     append message to BLFP con file and delete
        !           142:                �Put
        !           143:                <con
        !           144:                            append message to file
        !           145:                B%       display mail buffer & kill temp buffer
        !           146:                %                    delete message so it can be undeleted
        !           147:                100�     redisplay and return 0
        !           148: ��
        !           149: Next
        !           150:       go to the next mail header
        !           151: <^From 
        !           152: |�   search for next From
        !           153:        ���
        !           154:        � ���
        !           155: Last
        !           156:       back up to the last mail header
        !           157: <^From 
        !           158: |�   Search backwords for a From
        !           159:        �-2��
        !           160:        � ���
        !           161: Mark
        !           162:       mark this message for deletion or putting on the kill stack
        !           163: �Last
        !           164: ��Next
        !           165: 
        !           166: Put
        !           167:       put this message in the Mail buffer
        !           168: �Mark
        !           169: B�<Mail
        !           170: -�
        !           171: reply_send
        !           172:       common code for sending and replying to a message
        !           173: 
        !           174: Cc: 
        !           175: 
        !           176: �                    put cursor at end of first line
        !           177: <fill
        !           178: �
          set fill mode (save old value)
        !           179: <usilent
        !           180: 3�0
       turn off usilent mode (save old value)
        !           181: <$HOME/.mail_reply
        !           182:            add a file name to keep autosave mode happy
        !           183: |�    �<Mail
        !           184:        �Sign
        !           185:                     if successfull edit, then sign, save the message,
        !           186:        ��             and mail
        !           187: �
        !           188:                     else save the partial message
        !           189: <usilent
        !           190: 3
         restore old usilent mode value
        !           191: <fill
        !           192: 
          restore old fill mode value
        !           193: B                return to other buffer & kill reply buffer
        !           194: 1                    restore one window mode
        !           195: <mail
        !           196:                     display mail buffer in case other file was displayed
        !           197: 
        !           198: News
        !           199: 0<Retrieving News
        !           200: 0          indicate that execution is in progress
        !           201: <usilent
        !           202: 3�
         turn on usilent mode (save old value)
        !           203: �B<.exec
        !           204: <(.*).*:..:
        !           205: 0>^��     while we find a search string
        !           206:        �&From -0>�
        !           207: -����        put the news on the kill stack
        !           208: �                     mark .exec as up-to-date
        !           209: %�-1 go to beginning and set at top of page
        !           210: <usilent
        !           211: 3
         restore old usilent mode
        !           212:                       clear message line
        !           213: 0< 
        !           214: 
        !           215: Sign
        !           216: 
        !           217: |�Look for what kind of mail
        !           218:        ��<@
        !           219:        ���<$HOME/.sig_arpa
        !           220:        �      Arpanet mail
        !           221:        ��<!
        !           222:        ���<$HOME/.sig_btl
        !           223:        �      btl mail
        !           224:        �      Default, local mail
        !           225:        <$HOME/.sig_local
        !           226:        ��
        !           227: ���        Read in signature (If any)
        !           228: |�� �      If this worked, do nothing
        !           229:        � <$HOME/.signature
        !           230:        �   Read in default signature
        !           231: ��
        !           232: skip_down go to next page with cursor at top
        !           233: ^��~       while not at end of file after moving
        !           234: �~�=�1�and not off the screen
        !           235: �                     then put this line at the top of a page
        !           236: 
        !           237: skip_up go to previous page with cursor at top
        !           238: �0 get previous page on screen
        !           239: �= and go up the number of the line on the screen
        !           240: 

unix.superglobalmegacorp.com

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