! Display the current conference name procedure where_am_i if notes$x_notefile_ctx <> "" then message ("Current conference is " + notes$x_entry_name); else message ("You are not currently in a conference"); endif endprocedure ! Bail out procedure fast_exit on_error endon_error; message('Exiting...'); update(ALL); set(screen_update, OFF); if NOT eve$x_enable_parser_notes then eve_exit; notes$do_command('exit'); set(screen_update, ON); notes$do_command('exit'); else if notes$x_notefile_ctx <> "" then notes$do_command('exit'); set(screen_update, ON); notes$do_command('exit'); else set(screen_update, ON); notes$do_command('exit'); endif; endif; endprocedure; ! Print a (range of) notes to local printer port procedure local_print local print_range; on_error endon_error; if notes$x_notefile_ctx = "" then message ("You are not currently in a conference"); return; endif; print_range := read_line("Enter range of notes to print: "); if length(print_range) = 0 then if last_key = ctrl_z_key then return else print_range := "." endif endif; message ("Printing..."); update(ALL); set(screen_update, off); notes$do_command("extract sys$login:notes_print_temp.tmp " + print_range); ! Note: You must customize the following line with the location of the ! notes-print.com file on your system. spawn ("@sys$tools:notes-print.com"); set(screen_update, on); message (""); endprocedure ! Show the sender's full personal name procedure display_full_poster_name; if notes$x_notefile_ctx <> "" then message ("From: "+notes$x_note_pen_name); else message ("You are not viewing a note"); endif endprocedure; ! Reply to an Internet discussion list procedure reply_to_internet_list; local temp_text, last_pos, rusure; if notes$x_notefile_ctx = "" then message ("You are not viewing a note"); else i := index(notes$x_notefile_name, "]"); if substr(notes$x_notefile_name, i+1, 2) <> "X-" then message("Current conference is not an Internet echo"); else ! Note: You must customize the following line with the node and user of ! your Notes Poster Daemon process. if notes$x_note_author = "SPCVXA::BBOARD" then message("This echo cannot be posted to in this manner"); else temp_text := notes$x_note_title; netdefalt := temp_text; edit(netdefalt, COMPRESS, OFF); translate(temp_text, "RE", "re"); if substr(temp_text, 1, 3) <> "RE:" then if (netdefalt <> "") then netdefalt := "RE: "+notes$x_note_title; endif else netdefalt := notes$x_note_title; endif; last_pos := mark(NONE); rusure := read_line('Send reply to this mailing list? [N] ',1); edit (rusure, UPPER); if (rusure <> "Y") then message("MAIL message will not be sent"); return; endif; message("Working..."); position(last_pos); update(ALL); set(screen_update,OFF); notes$do_command("forward/edit/author"); netdefalt := ""; endif endif endif endprocedure; ! Reply to an Internet author directly procedure fwd_to_internet_author; local temp_text, net_address; if notes$x_notefile_ctx = "" then message ("You are not viewing a note"); else i := index(notes$x_notefile_name, "]"); if substr(notes$x_notefile_name, i+1, 2) <> "X-" then message("Current conference is not an Internet echo"); else temp_text := notes$x_note_pen_name; i := index(temp_text, "<"); j := index(temp_text, ">"); ! Here we do some address optimization, which also allows us to process trun- ! cated addresses. Probably not a good idea to do this if you're on Internet. k := index(temp_text, ".BITNET@"); if k <> 0 then k := k + 7; j := k; loop if substr(temp_text, k, 1) = "%" then temp_text := substr(temp_text, 1, k-1) + "@" + substr(temp_text, k+1, 128); exitif 1 = 1; endif; k := k - 1; exitif k = 0; endloop endif; ! End of address optimization if (i = 0) or (j = 0) then message("Cannot determine author's address, please use the FORWARD command."); return; endif; net_address := '0::in%"""' + substr(temp_text, i+1, j-i-1) + '"""'; temp_text := notes$x_note_title; netdefalt := temp_text; edit(netdefalt, COMPRESS); translate(temp_text, "RE", "re"); if substr(temp_text, 1, 3) <> "RE:" then if (netdefalt <> "") then netdefalt := "RE: "+notes$x_note_title; endif else netdefalt := notes$x_note_title; endif; message("Working..."); set(screen_update,OFF); notes$do_command("forward/edit "+net_address); netdefalt := ""; endif endif endprocedure; ! Redefine get_mail_subject so we can use a different default for net replies procedure notes$$get_mail_subject(defalt); local subj_line; set(screen_update,ON); notes$x_mail_subject := ""; if netdefalt <> "" then notes$x_mail_subject := netdefalt; message('Default subject is: "'+netdefalt+'"'); else if defalt <> "" then notes$x_mail_subject := defalt; message('Default subject is: "'+defalt+'"'); endif; endif; subj_line := read_line("Subject: "); if subj_line <> "" then notes$x_mail_subject := subj_line; endif; if (last_key = ctrl_c_key) or (last_key = ctrl_z_key) then return(FALSE); else return(TRUE); endif; endprocedure; ! Show the keywords a note has affiliated with it procedure show_keyword; local junk; if notes$x_notefile_ctx = "" then message ("You are not viewing a note"); else notes$do_command("show note/keyword ."); junk := read_line('Press RETURN to return to reading the note: ',1); notes$do_command("."); endif endprocedure; ! Define the NOTE keypad keys define_key ('fast_exit', key_name('q', shift_key), 'Complete Exit', notes$kt_user_keys); define_key ('fast_exit', key_name('e', shift_key), 'Complete Exit', notes$kt_user_keys); define_key("where_am_i",key_name("w",shift_key),"where", notes$kt_user_keys); define_key('notes$do_command("search")', kp8, 'Search Next', notes$kt_user_keys); define_key('display_full_poster_name', key_name('s', shift_key), "Disp. Sender", notes$kt_user_keys); define_key('reply_to_Internet_list', key_name('r', shift_key), "Internet post", notes$kt_user_keys); define_key('fwd_to_Internet_author', key_name('f', shift_key), "Internet author", notes$kt_user_keys); define_key('show_keyword', key_name('k', shift_key), "Show Keywords", notes$kt_user_keys); define_key('message("NOTES$COMMAND V1.1-07, 10-Mar-1990, TMK")', key_name('v', shift_key), "Version info", notes$kt_user_keys); define_key('local_print', key_name('p', shift_key), "Print to terminal printer", notes$kt_user_keys); ! Define the EVE keypad keys define_key('notes$$help("keypad")', pf2, "Help", eve$x_user_keys); eve$arg1_examine := eve$arg1_buffer; eve$x_highlighting := bold; set (bell, broadcast, ON); netdefalt := "";