.#* ' CalDays ) CalMonths , CalStartWeek ) CalPrompt+,* & months+ & months°) CalMonths†/ calendar_months,* $ days+ $ days°' CalDays†- calendar_days,* # day+ # day°, CalStartWeek†3 calendar_start_week,* & prompt+ & prompt°) CalPrompt†/ calendar_prompt ýý# Jan# Feb# Mar# Apr# May# Jun# Jul# Aug# Sep# Oct# Nov# Decàþ / calendar_monthsý4 S M Tu W Th F Sþ - calendar_daysý! 0þ 3 calendar_start_weeký+ Month Year:þ / calendar_prompt,* $ year+ $ year! 4EN $ year# 100EC $ year# 400ENDw ‚/ cal_leap_year_p,* % month # day $ year+* ! d+" 31 % month! 1:; # day9°! d % month! 2?. ! d % month! 4;" 239" 10<:°! dý $ yearþ / cal_leap_year_p.·! d/c/c ! dw‚. cal_day_number,* % month # day $ year+* ! c % delta ! n ! a ! b+ý % month # day $ yearþ . cal_day_number°! n¹$ year ! n $ year9 $ year! 4<9°! a $ year# 100<! 3;°! c! 0°! b ! c! 4E.! 1°! b/c ! a ! b ! c! 4<9: , CalStartWeek:! 7Ew‚/ cal_day_of_week,* & indent % month $ year # day ) highlight+* * month_name % first " nm " ny # max ! i $ istr+ý % month! 1 $ yearþ / cal_day_of_week°% first % month! 19°" nm $ year°" ny " nm" 13A." 31°# max/.ý " nm! 1 " nyþ . cal_day_numberý % month! 1 $ yearþ . cal_day_number:°# max/d·& indent # bobý % month! 1: ) CalMonths! °* month_nameý & indentý ' CalDaysþ & strlený * month_nameþ & strlen:! 5:! 2<9þ + goto_columný * month_nameþ & insert 3 insert_single_spaceýý $ yearþ & stringþ & insert & down_1. ' newline/bý & indentþ + goto_columný ' CalDaysþ & insert & down_1. ' newline/bý % first! 3; & indent9þ + goto_column.! 1°! i/. ! i # max>/.·! i/. % first! 7A. & down_1. # eol ' newline/bý & indentþ + goto_column! 0°% first/c # day ! iA ) highlightC. # day" 10=.ý# * þ & insert/.ý# ** þ & insert/d/.ý$ %2d ! iþ ' vinsert/d·% first/g‚. cal_make_month,* ! t ! n ! m & months % month * month_name # day $ year+ $ time°! tý ! t! 1" 32þ / extract_element°* month_nameO Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec°& months.! 0°! m/. ! m" 12=/.·! m/.ý & months ! m" 32þ / extract_element°% monthý * month_name % monthþ & strcmp. ! m! 19°% monthv/b/gý ! t! 2" 32þ / extract_element°# day! 0°! ný # dayþ & strlen! 0A.ý ! t! 3" 32þ / extract_element°# day! 1°! n/cý ! t! 4 ! n9" 32þ / extract_element °$ yearý $ yearþ ' integer % monthýý # day! 0þ + strtrim_begþ ' integerw‚, cal_get_date,* * month_name+* ! m+ý * month_nameþ & strlow°* month_nameý * month_nameý + String_Type}& strlow ) CalMonthsþ ) array_mapAþ % where°! mý ! mþ & length.ý! 0 ! m! ! 19w/cý * month_nameþ ' integerw‚1 cal_convert_month,* ! t % month $ year & nlines & wlines $ obuf ' default+* ( this_day * this_month ) this_year+ý2 calendar_mode_hookþ . run_mode_hooks ' whatbuf°$ obuf , cal_get_date°( this_day°* this_month °) this_yearý% %s %dý * this_month! 1: ) CalMonths! ) this_yearþ ' sprintf°' defaultýý ) CalPrompt ' default + Null_Stringþ ) read_miniþ ' strtrim°! týý ! t! 0" 32þ / extract_elementþ 1 cal_convert_month°% monthýý ! t! 1" 32þ / extract_elementþ ' integer°$ yearý* *calendar*þ ' pop2bufý! 0þ , set_readonly , erase_buffer¹% month % month! 0A." 12°% month¹$ year/cý! 0 % month $ year ( this_day % month * this_monthA $ year ) this_yearACþ . cal_make_month·% month % month" 13A.! 1°% month ·$ year/cý" 25 % month $ year ( this_day % month * this_monthA $ year ) this_yearACþ . cal_make_month·% month % month" 13A.! 1°% month·$ year/cý" 50 % month $ year ( this_day % month * this_monthA $ year ) this_yearACþ . cal_make_month ( nwindows! 2 A. # eobý$ \n þ + bskip_chars ) what_lineý# 114þ + window_info:°& nlines & nlines! 0?. & nlines.ý. enlarge_windowþ $ call/i/.ý, other_windowþ $ call & nlinesQ.ý. enlarge_windowþ $ call/iý, other_windowþ $ call/d # bob/cý! 1þ , set_readonlyý! 0þ 8 set_buffer_modified_flag # bobý $ obufþ ' pop2bufý $ timeþ ' message†( calendar