Mercurial > emacs
changeset 90233:ee12d75eb214
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-85
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 556-561)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 122-124)
- Update from CVS: lisp/mm-url.el (mm-url-decode-entities): Fix regexp.
- Update from CVS
line wrap: on
line diff
--- a/admin/FOR-RELEASE Fri Sep 23 07:06:33 2005 +0000 +++ b/admin/FOR-RELEASE Sun Sep 25 22:07:01 2005 +0000 @@ -57,36 +57,6 @@ excesive CPU on some Windows environments. Usages of 50% and 100% CPU time have been observed on different Window XP configurations. -** Bug in ebrowse - -Date: Fri, 27 May 2005 17:35:48 +0200 -From: Markus Gritsch <gritsch@iue.tuwien.ac.at> - -the C++ header file which led to the problematic BROWSE file reads - -namespace test { - class Base - { - }; - - class B : public Base - { - }; -} - -class A : public test::Base -{ -}; - -The *Tree* is then displayed as - - *Globals* - test - test::Base - test::B - -The class A seems to be missing. - * DOCUMENTATION ** Update man/info.texi.
--- a/etc/ChangeLog Fri Sep 23 07:06:33 2005 +0000 +++ b/etc/ChangeLog Sun Sep 25 22:07:01 2005 +0000 @@ -1,3 +1,8 @@ +2005-09-24 Steven Huwig <steven_h@acm.org> (tiny change) + + * emacs.py (ehelp): Add g and l to arg list, and use them in the + call to `help'. + 2005-09-17 Romain Francoise <romain@orebokech.com> * gfdl.1: Update to version 1.2. Delete UC macro.
--- a/etc/emacs.py Fri Sep 23 07:06:33 2005 +0000 +++ b/etc/emacs.py Sun Sep 25 22:07:01 2005 +0000 @@ -82,11 +82,11 @@ except: print '_emacs_out ()' -def ehelp (name): - """Get help on string NAME. +def ehelp (name, g, l): + """Get help on string NAME using globals G and locals L. First try to eval name for, e.g. user definitions where we need the object. Otherwise try the string form.""" - try: help (eval (name)) + try: help (eval (name, g, l)) except: help (name) def eimport (mod, dir):
--- a/etc/orgcard.ps Fri Sep 23 07:06:33 2005 +0000 +++ b/etc/orgcard.ps Sun Sep 25 22:07:01 2005 +0000 @@ -10,7 +10,7 @@ %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -t landscape -o orgcard.ps orgcard.dvi %DVIPSParameters: dpi=600, compressed -%DVIPSSource: TeX output 2005.08.30:1410 +%DVIPSSource: TeX output 2005.09.23:1744 %%BeginProcSet: texc.pro %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S @@ -352,210 +352,216 @@ CCBD1F58ABBF1F53AD21E3BFF25EEEB046F66A924E5F431EBD7228050BE2DF43 0B9B538DAAD511EED97630CD9A9C05CC49DC251325A93EA842C6D07B44BE620F 08E66B611F54314B0177E299304F2294F8DEDE9914736944F125A50B5007373E -588AD80D9983CE7824DA30CEE5DC3114D69D7ACEC0758D8201805B82925EF3C2 -C87A1A169C5ADE44B561EC1660E617FB39D1B1547B33C0FEB33C3A1D7340A62A -CD9CEFA49481F19B39A704A53A0B98A11744143CDDA0E668E6325935C6497A9F -AFF471194932AFECBF25B441AD55A43751FBAB76F3E544C4254AEC4BEB5CFE4C -C1318C3A0FAD0E8C1BABEE20B203E1DD9412E66BC55BEBD6FBBEBA84F56604FD -85D50F733D9794611F4137EC10ACB4C4ECA5A81CAACC45213E92ED3C26726BBE -91430E7633A2BDB8EA3D0C55259D7DBE468AC0964A63728C9B8EA4E15CF0EEA3 -2E754B9170EAE6B8818DCCDDAD643B9F6C91C3C5B245CD442358C60AF390DC76 -342E659D4EC45552626F069F346F46B18062CE26D5912336C6B29FCBFA5C3113 -ED86E44B529CD95B7B5B934D899762C4F3457F56ACCC763BCCD5BD08975EB5F1 -C5216DA4CBF3409EC71054B0145183F7DFB31517D199EB16D4C6DB0AF05E5720 -10B06F395BE3C8C59CEEBCEA1E00F9EA3FD880AC197508CEC11E33B6B6EABE3C -0FAEBF246743F62D280875D052656696AA88DABB918F793CB2994A1ACCFA0CAE -AF6FDDF489109DEF07F93B5B0078FC5FD9829DD296F62F23400F5DD6CB096557 -EDA737413C744FDBB0615BD40A79EA2929EB7AC767E58D886B310700733D2895 -3925911133631F28291974294AACF4A35F92A5E5262DCF33810A6F9C51E9D141 -F84B0C26B5ADECB44B646C79DD1C656529B7122739C0459B2B47A2C357EF9A36 -2B376DDF54F1F4F133419EF14CCC6010D360DFA8A7B122FFC5A4C560ED184F16 -057D3F76B6B2E935B31B17FC4066916FFBA0B9AFF287D251985AB3FC3D0D7E9A -91F094356B3D6CDBCB2D74A3FDE23526B22C223EA35C9E5054053B23AF004324 -80F023FCDFDFA6B8F0E03A799D87FC2690C5D1ABB9C52B03402E37309091A1FC -1D66EB48FE3E4BD326AA65839A9A7276C876F8079C11F2F3A7CBFDAB5AD3D4A3 -8377AE4862F390039E3FBE5D79B5318774B0A9B1321AAFCE8E87568C0AD0E82F -D4DCEEA5DD4EFDB2E89D336174E76036DA08DE4A26FC63560057B87FDE9E060A -3AA30E1B447B1E8EF31762C0998DF24B2860CF8B589FCE1050CC259171420306 -F4DAC090E032E4C3E0DD43305541155C1EB135B2093F7E23106387AB7A3DA0E6 -1A835F6D058227003A8C974907CC073F2ADE33AA774165BB24381E65DF19FD6E -F15BB66BBAB0129C79A80CF32E542B68FFAD1BCBF6A4D867933FBBFA82771E7F -1B2E677040596B7872A038FF8F23511C33E23D362CED5E303736D1CA28D78AA2 -20701B83020AE62003DC59413C6A2413C593CDC819644742F8CDF60D541710C6 -5A23FFCE6F6CF6AE26953CA4F01A62D6F7DB8F122B30506891DA023D16E56BE4 -84D72EC9DE3B16197B3BF97EB8A840BD2C17861583477317DEA062693B2EA959 -5F5233B416B4E1D63C6014BB96D0718DD9D81A885793F315402E91C274122E5D -96AF9A05E10DA6276A33E861C006807BBA6B005583CD961491D5F183B62EA558 -C50F25F2F6B211BD3723FF98E01167C48C0A6CCEA0477895D21519AE86FEB4D7 -47C77202688775B4C86882C20D24EBF7AC98A3B9BCBFF750433E17824A4425C5 -7444E5201F1313A4C9FF361FCD9ECB1597C1F0605FEA98DD109C636433920603 -6671529E0E7AE2EC8A7D196FCA784D3CD2F88190B3F150533BAF3CFE15247D01 -864A2552F602D65088AA7F0D87C02768D8FA62930E18702F98558982C5A202AC -111C6B0359273116F1DF9E5610AC46B99995425144D1352A881C79D9E0042850 -B51B2375DA55C34A47510C7D7435FAE7D391BAEC1F8BC0C93B866E7CE261384C -6B277C66E817BF006B636AB133309384FE0985DBC34190E1E1ABB3A63892361C -9970FC5732C7A4259809EEF348E6D3BC6AAB5BB012A098A02E33F9BDDA250A8A -421EE4EBA46B82C10A5A6ADB2390A7B363CF16A0FFEFAAD7F6D2A80FE4720095 -BD78A6E4B95D6FC7DA4196E61C5FD0F9F37537E6BA581496E38625EF0B7826DF -F021663E6D5DF3C93C5EC2C5B510867ABFC5404F490C683337EE7B22D3CBE7DC -8EB4F9F2C25034C8779010A6835ACED2B05B9CF9753760A803073509C71A6372 -3634DB39F894B6EBAA9A34511357F3C106E42E9A6A592C1B49BB0AF668C95448 -9E0968CE39754452648068F82C53CA2ABE392713979634E7DD66819E7B3FF5D3 -A8890FA876857F4560A44029389A6E425ED8DBB25BFDDCFB510C071414760191 -A36723D251F10830B03E21B6FD61C1E92BD630B5EFD283AF248DA69C537D6F0C -1CDC58032A7A91E836FF66810D886A73453A28044F55F754CD70A9B3EB5D27DF -51D6E57085AC4487C5D015FC51F840F7DBB1733500062C608802C556F8A4623D -0F94B67BC91E07FC2AD7E067F3C033E53216804B7371498113125A8CFC63D450 -4760B98ED1397A8862A8FA5D13923D22ABDF48B7F502916EF7C7D6BC52EBA5F7 -AD95E37E4979B7417C8C0E2599E4BB85883AF9E9A3C9DA432859AF9C909DDA53 -8ED9C0B3DC6BF49C5FB81780078209D21E6B54A8E669212B6E3569B615502ECA -D67BC610E59409178B640ECD0A125371ECAA360FDD5843892BCBD22BF4D640EB -99515496E12E2C68567610FC8F6E03C176D14B692A9A23BE3B50C2EB30BCE5F4 -481500B293CA54AAE5CA0A85C221493792B967423418E870C4DC7344E07A7E52 -1B2DED4C2FED4C602DCF37065FEE9BDE6D1FD95FEC1F30A5E3A1833B09E6B1DA -D6A41C57493D4C1D8D87C8BE2443D2B917A0E3D26C324CA101E84369AFA73586 -E499C3627661DCFABF7478DCEF651E33C666957BE759F9DCB9F263AD3FA48BBF -B47A84A914CFD8297141FF5AD0186753DADAD79315D14C68C19305D73DE6E4DB -56BDDF037DA982E956F9C3B554E0746178294ABF6F46D1669D1675AEB8C924EB -F9966956C8AC25940640B8C9DE9A76B36D04806A918FB4F7160503031AEB7DD4 -61C04BD3F6711F09EC71FEB6EA3904FD8AF75054659ECE0DAAEA1A614AAC6574 -9098FB7BD891E65552583AA519C7E4F9E6B5531B2215300CB262F42763BFDF5D -FA2E6EB7E7F6585C80CD880ABAE340087A781C7EABD56C59A14EC17920FA7AE3 -049BA2DE8D5BB77ADECA23767F842642B7C0CC9AA177990CF0DD00A9DD8458CA -5506DD3A5E5BCF2329047F560F0E30FCA7CA304594B738A0C7C70D8FE364AF59 -620E6527C061B6FECEBEEF0841969656F1A7A27731338B640A3AF243F58FBBF8 -E8ADA1CCD8DE701243EBA2E1F44C732143BFC4FA89B24B3B473CDC022111D477 -ADDB77AAA600B6C6948133D05EF0838BD1E1EA1C747BDBA8A0BBF92DADE753EE -9F556D938E16961C2D13E7534B2B5F9EFEB2AFD65FADA831E81237BEDE73F7FA -B076E562E08D57555B3830834B64E4C1E0E1F89D9A5BFB959032106B1EFEE431 -DC828EB4EF66DEA434DAF191E92F1EFDC31954D055DDD87B1A2762DAD6AE5994 -322DC4FA2FCA4AADC293158C75900C540BC85384340B29A4B25F486145C311D0 -4296CA91BB16569CDAFDC9047D9FC8C26792828DD3CA18E045A2F9B473491501 -CD3ADB57FB1D94C1A0353861EAC98E1630E14BEA6DFB04A5B3FAE97F4EA3C792 -2C9ACBF61A5C14605AC9D0DA7E4D9904C6C6FDFF564723FDE4E72413067055C7 -22946CD598266AE7FBC63FF62068CA4F40B80C8EF9961503F7894AF2A392B595 -376F0CA48B4B23AB7112453DA02274095741C7102733C553B6EFB43A6E1DB0AC -C320C44357C4C7E98B96B30D9FEE86B7083080F0B6262FD69E07557FD018C1E4 -2CF6A276E789A63A9CEBCC8867E12C60D78B81F7C1AB5592E4AFE1AB1C8ADF1C -FE8A4773FDC6FC01BF698E5D46B4282983FF16F028D14104423D07047AC7003E -6B5CD6FC2D30DD0E6162498FF67D4091D68AC65A4658215B845AF706F4B74262 -C3A28732A7E1E786006F544853CCCED8B530ECE3460B11E11CC87B22DC0AB93A -AB7EC47BCE2BAEF0FC23C9A15C0D421D75AD13D931B8669F1018A207D8C57228 -028FEBB6453827DE33B1CDD0527CC4815CA2CF05CDF4735A1EFB79DED9AA8AC5 -A074DA91B9B860EE88F5269AC4C604DE488C269959A108FC5175637DFFB08DBD -2AE093CFF20E15AA2624D8E2A141EC3290852E27FBAC6BE21B65CD8036221193 -9967C4A6AD631F2374582F8DA277621961DE7EA41FA110782DD3E1E7CFC51058 -C961948FDBF02A2E7BF0A299EE696F0B98A0C4ABB7CB67AB28A2EF50D3D212AC -1C51DF3909E484FC3430FF1AB2CD9CE667A9EB489A981A9A02F8F999D9215F5A -DD609F5DF9519DA3410867680942AAFF2275D255709997653E88CB23D16A110D -C5C65DC18750D868C8F60E64265C81DD7CD7C2036D13532E3DC7D12600FAAFDE -EC32EB7989458A220339D451A25E3C4B2D52D265875F06465C913FD75BA30285 -AC61B32BD2C307FCBAF38E14FF6A64C6A5C874A2D7DFE3025E3CD30BA9C60D89 -00BE5411544E97D9791949722F76A99D549D344BC1EB88C9B8BFEB74EC94D190 -F5DE00D2EA0003DECDD4FDEDC0834053AFE3EFF04193E360460A286794D02FDD -A174E3CE72C69D32C7C4EF33B97CAB2929A26662E4E3C2313469ACB6BD21CAFD -8C81FBAB0EE7C26BC5B40AC9880623CB5D595A4351BF7848CA3212D74AE449CB -35BE1BE2C6C795B56D2731C0BC9C5DBCC652F025212C35C50B3937212871472C -7B6AA7AA075FCE6068BCF7474EE3FCA088733439E5AB06D78F62A574157DFCDC -43990D8A9673300AF0D2450C2B9B9000BDC9C4A5CE57764A7236370458E8A0D5 -0D777DC1156A9D82D070FFE0DEA2DED3854CB7A09FD34F1B3513821C26FB6F6E -F3BA660EBB0C08D8B976CB89B4E05C95A20EB2F74F4C1DA67E783E9C936A749A -E20866E646774E132A0A12BD5907BA8D7FCBACC83004895110BD65223C4A2821 -02C709F5A8E1E9EE3C0C2430D6CDD4AAC32F45093EEB1AE961B1BCAA823E7F55 -0B9E5614DF4B2703532E2260B70062E33F40463B176D7645168DD4AF226B39E5 -8B74BCA01988FCF9475B9935412016704A09A331365D2E745E778331ACAED5E9 -AF662A9D5C7A5FECE76F73EE20E2BBD0647304E75161347291906E7ADB3F2446 -9769F36EEBCEC59167199793122D96428A44A2D8C9B704802543B0569C140134 -8F180AFAAEDC8550B566E6D460544DB84402A9AF79D8A315C53FAFA3A5898B26 -CF8D7EAEF6B7E19B9DDF927B7DAEA9249FFF69872A6C3F4289546E6969D29360 -0A8684B1D5025DDEBF2554248AF53EE9D53F9412CA89F004911834BE96221C1E -8582F51F1A345ADAD0537938A96E73E35063A2207FF7FFCC55C9F7AEF734D089 -A0693D41848236FCE67E85AD5372C73B61BF5B58CC2D9616FB78144198E65267 -6940C7E3E3381C91C877B7F78B4747F46D12CF347E20C1A2A78BFAF96C42D81F -16715D7E1FE7E671242791DA7D84D5D885F905093969F3836299BF6874A8B12E -9E1F3A05D940BFABFDD7D3085AF8A4FD01092C88CB75F4060BD85F2F958DB0A6 -64145DC3DCA6903E0E018A7594BD7114F336D12C61AE4E29138A0165FE21BE5C -C2F4B9D496ACE81861919BB69DC06E5AEABD3F5E5BDFF3F507BDA4E366BDD481 -05558CE1213A6D28CC2D5D2E5265A754141E312F42B64EA2D51C79C71DA5BC92 -920821C437120A19F9EA3BC48F16073251D458BA53C4C7DDF0035ABB32939C11 -4842DA0E489C7C2025B432B66352C56D78BB8391DA79E75DDEC29588C596BB4D -67EDF9492B91B83D9F1F26444094D60329A5D3F1BDE976DB2E71B6E4CA9B8EA4 -BF43C91A16A2D9D23E5448C2FA38B8D24D142549E45572A29655C9BD31755718 -A58C3DC4964C0B49791F36809863835CD8E4B196CE8D18D714B2B3AE2BE90C4D -65C1210B9E3A8F248BAFB0CC5579302F6FC26FC3E197076891FB758B0595DC4E -7F1EEC99FFB654D46736BCE43BF37DB7681CF7655DF55592B7A494EA541AFFC5 -CE5815E1D989D9E1CE87E116DA4BCB7E16AFAD2327C434AC71EC756B96476BBC -0C997DC8C439E839EC939B55BEA698E3435BD911258234B6993B3890077DADCA -4DE92B37E94166A24DABCEAC3BB808557FE09FAAFD6DD316F44952A6710B4824 -6F5B5D4AE9F8A14DD207DFB697D5DC67FC3EBAE49A1A339525ED5ADBFFE58333 -43E8AAD4030869427226950AEEBD11A07815D9C3BBF2570A51D6C0249CCE9026 -B12ECEBAF112069547DBD47B7C8869523AFA7177F6E87F534A5425693DB8AD79 -497B95A90B056F61B6B4A89A7BB23B4F93BF5DAF637D71DDF4F48E34CF347EB4 -12173D9A72526C9B561F6CB2C3D43B0487E09B2C7B1822E9CF5D2D3836553AE5 -5A71793EFB52216CAA4948C203E1EA410B3BA72B6E2059AD04B5ADF54B6A5BD6 -33EDE67267334D9170FF9E7F9802516295D91F1A63EA8433F696E3565EBDDB1F -1055025C16B5EB6708479CBDE2188D8371EE8863CBCD8533DE37E0242842C0AD -114045C8B131BA3790146335EE07690C8DCAFE2F61824BE4F109F33486663D45 -24391006E700052BC8E90098BE7B5F13EF5412DAF6BDF0DFE9775FDC185369B1 -C53AAAEB34A9727AF997415595F8EED263C0B1B9448119E705396F6143E8276C -C6C586E5FA8FF1C6B701578D1399211EA9398DB2A6397F68C7B7E0B6434DD516 -E4F039207D1BE48AD5F63C3E804C2DCEB39E97DA8D1D6E8C73180A916D8923FB -5EA2430412C28ADEE42F3B6390ADD6159BE501FE3252B6EDE96AAD8035E2C8DA -B00C25B07488F2BCD84508719DA8D309F8191B86CDC22E73730C9C91B7CD6062 -86032E22F92B948647A3351A31DABAD5F5F8D2C9911892C359471026AC047E49 -BFCC10C17712C6B7123EC9FE3BDF0ADFBA2BEC0A69B18DA231B43BE20694139C -D6C856E3B7C6907F8BFEAFD753BDD5B50F8B25ACC61C778FE96B229CA7F891C6 -07EAA8551B790D6CAB23C80436A3E2A7F24FE4CDA84AB81AF8D4105E2386F3EF -D77DD83730332F0F4B176E0C4ABF39ACC995CE3EECCE76C6363557C08F0DC723 -5E2B680D852174AF6BADB73DAF19EB4F921AC61E1FCE16EACABEB591173F687A -DDD0909654D7A243F4105F8201B6343221DAA1589DB4C496C1F702E0BD3CE68D -75071205B4D8ED2DF85276A3E53AAA46573771E0868482A2BC805C6A9D6C5480 -E23F690D6FA9CA9600A9F42F7F0EC92853C8FF64E2F137DB193543F78356EC5D -A090542039B0501650B6184093DDA5CDD52B6F8CE4460AC781C2F93EA339F10C -4921774575EDAB301E387C5A9200679ED86127611043364A319CB0C68B6FE176 -B0BA672AB3DE3F2B14A9E7C8CEA1DF76C716FD53CBFE583D1D0D20D0062A3DE2 -689408AE3D527703C591BA8C9982607CC08384A1049A1B328846A719FCA05D38 -087619AE510325FBDC54307AA468827EC8D84A19376740210EE95E5844872259 -7E2A055BFDC40D3C12946ACFE8CF26095719C3E10670A10417679DA5639B4175 -9DF86246392C78E114D745B9FCBE5D4D33E4E5935E6D4EB9F00F408045AAAB98 -47E445AE32BFAFF24107A37EDE0E9BA08934370E212F39035BA2AA51E2D711F4 -6D7215A05F5AD11422C9E8F65B80405D29CCDEE79165F59EBED93F9EB264792D -35F8C1FD095F18511EB516DB40AC15B6045D2A24A2B910EF3A632278208A0D66 -E19963591F45FD61AC0183CD5D4C5C1C8D69020874EF6079376801145636901B -D9EA1E35EF1E6B37D257D5B90862CED7C0D1F1B32C5324A28716EAC93B556BE4 -C2716C85ACD7AF85D52DA2E33312C42A6B7F28797BE80102E37B7F9C933BBE85 -121C64FCA542C6D5B7FA7FCB7CD0C41295625FA2D99E6FFC4D08450EE7C1EE81 -BC356927FF6F5AB869D083929EC1A643515702F602AB140A410378A65A721DE8 -1BE9F270589F468D5D2003FAC662A907296302C873DE919466A128FBECF122AE -6259456457D21A217D359EFFF23758BB537BD97472F22EC4EBE932F762884EAB -5D59AAC0097E2EE5A9EF77B1E0376AECE3AA529E5E518A24569007F5DB2F27BB -776BFF2348E9B2E9AB0B07B9BDBCA49E37E11E2980754CEF43ADCBBF32B9575A -C611F4AEBEB5A718524AB25FEA08E9E913E24FD94AB4E2E4FEFEF29C7A70055B -5FA0FA771D485CADF65EFFDD9B6897F675598532D8E974CB042BC7DD6B5A4B99 -F5D36E27D80AAA8417465223649E44E28D5AFABE693265DED4FE7711BB4BA083 -DC71244042798FE7E1965A469B8F8202DEB7C563F43A7E17A088FA36180AEDDE -345A2D7705A5ECEE8E305218791D9956DB2E848E422291D7E2E249329246BE92 -892554EBAC59949D310F38819EDCCAB09F4DCB80144604F8F1F43447138B311C -FCA400AD225FEF31D3B0F6A5E8DF91E4FBC39C93DDD11A2E54D1B8ECF5F386B8 -FD0DA95AE3E981FB36D9FA0344D6D41CCBE8F2320539411FA23360B88ECB4D38 -FADCAABE8049B06887D053FBF3ECC8A89BDE4A9F1ED7F6629866FA14ABAA2924 -9BDB9D6C93F6080593A4BBC0CE2567813B2AD04C99FB09443A684E644BA51B9E -9480AE4AB2148A081F6BCE154261D4B0F03864C6F79DBD622EF471A844048766 -6A872C8E99A82CB468B6FA50260CDD90B81CCB48A6F3BCE3865AE56A86569E23 -16B13DD6114D98293C0DF2585F4E2D01E5EC8E43DD6FFE027E2F0C9CC360BE2B -823DAB713978E73D7AA80DF69CADA74D8E23D902B9DA35EA2BC9D03AEF265D54 -79E86089AC4E8312FB9CE325D8DC9E4DB22BC048CD1F0EFCD64E62B785D97685 -6A34EB62E657BB2F3658B1EA87B4C07C45C8D8283BD35634EC67399AB00AA2F4 -A15A723E8EF9AD000007ADE862D7ADFF32A907D40BF9491FE05BCEADFDB83187 -2825ABF2EF18608411F9E31C3306B37E245F1571155D5651BA291AE16EBC0390 -FEEF8EDA9B9EAB02F1D3BABA0C4DE4FD20FEBC2DDA743FA0C32F7A746FBFAB22 -27B2B8547359B5EC413F98024A5574F48349213502D0F1C71093EF2AF2A7EE88 -67332DDCB9D9652B705E9D2ED1BEF1B9699D84F9B8520DDE2609F752E8D77F8D -ECF010C2F18EA526B4E2EAE1694834494990A4AFAF57286E171E4053788F3B2A -B7A2DDF04308E47448A06C66E987C2BEE43B5FD8890A1E11FCF4E0548E201941 -8437B4BC7A92174B7D5D8F4E9E98F48779968F00803F2FF59B1764EE197873EE -D1DFF6B12B54459FB5A6864CA9D73B89ADCBDBCA2DAAD3B42C4A9175F503F21D -C48D5145E2C6AA7D7FD787BC0D +588AD80D9983CE7824DA30CEE5DC3114D69D7ACEC0758D8201805B82925EF3C3 +975289D47E7F35898FD87E0BE88100E53DDB356245666E7F724C208CF200B76D +6E86BB756E083DC34DE1DCF484CD664C826962DC9CD5DB207262A43EDB8A18BC +7D3F35237299AE378AD68A89E97D65CB05503E2C2D951E3AD2A544DABB19973C +2B9AC59428D1FBCD89C058532357D2F4D53F35D49FCDC303475E1B41B3A2E18C +657AA0AE4D04BFBEEE2A24D462249CDB73EB96B6702C174BDF87642C3CB6F3C0 +86B02C65EE7D5ED2F636F15F50E5D1894F48AE024E1CEB56AEAA3967DCF5ED5A +63C9DD1DAEB9C8A353C2C90BFAA6B66B9E0B13BA0CE464A3C8CB2C5AE94AAB37 +72C62E70CEFD0558E483789630CB0FDF76E9EF75D8012E5F7FF85253C480F841 +CAA7F9FC1E4AD4576BFAD1825C989D197024F8ADB77B7DF5D341E2B68BD7FF5E +414852120B733078E1B703AC4845E63CB624BFBC2B575CFF29AFB89BC5957A1C +D3838B3FEE6252CDDEABBA24259E50B48741EC36BCCC888E09B9A0BDDE044D9B +0551B31409E7FE2922D73B7E52B08C32481A2F29E81F2B1573D085997BF65B06 +12E062C2ADDB75A199AE7785015967917D9FFF94DCC8CD8CA79B95560EE9C09B +04441CC622B2374030B08089E51AA9E9566AEAA9F81411C638F547B15793F884 +E04DAA850CD17CF5093F73DEA68AD40C288EA0C25CFD9FEB596DBC7F86C9E13A +2F2E43BE780B66A03B4154191383951FF535D8866735B6879C5D4C51147C7553 +A012AB7FC667F7DF259690D47B1F2DE226FE539DAE8EE6FFEBDF3186E6ECDEE8 +8B3E2CBC6006456AA69276CD025F387ACD73F0CEE35CC1ED6771107E3A1B866F +19C5C17A18552EA2DBA65EB75D493D05DA9D1247D77F65968CE5BCF68D56E249 +3D41AA3360275F993A8C0C7A33D6317AED8C6426C374E7833241E88DB88862FB +411E711280F84C46E1A18D0F520A2474E7AF7455709AD19CCFA00463033FD0B8 +61D2CEB925BA10D19FC97AF1953C8F0EEC15254F2C4C56E9FFEF66D00E8E0BF7 +97B60CBB7F8B56B82B2F846A53E2E36CB5D27ED3881206B27DA02F35B6D32962 +54D89A03F67E672D019F2DD19195E80C0D0DECD8FCFD259907FCA25D5C407882 +CA7E54D31995F1F14376D72BF33D1AF534A05FF3D323CBBD48003F2A44369C55 +80BAF975090EF0D6CF0347C0DB4C6CE743447C7A48981E50BD1667B08CEF2A06 +0B85DFC727BD8BBC505ABE8AED6B7C08C675B50ED7B4FB9FCD0777DED4D7A3DB +528D20414E05BE3DF1F7A76DEFA35135E27230C4CF8069081FDBDA5CAB51061A +E12CD06BD02AB38CBA57492EFEB4A12AE7B58548623D7F862515AA3EC1B4F84A +7C9CB4390F825B68E7A6DF4D67DAEF89F1D461ABEDACBF1FA02FEF65F0B8E3ED +45974B9EC80855D5A1B34D792CC7793D4F05E81E185C3FA86C8A8FF108BAC2E0 +801AB0B3FE4C0CD5257441F29F2F293F4BDCC67D00EFB68440FAEAFE138279D2 +415687CEFCE35F8A1BBB0C18AE4A8ABA688D2F3894B5654AB7AD595E022E6BB3 +083B492C4D6F553EE6DB0D7EF1616F397EA60DC79B6FF8998154D881C74F07D2 +C3B1B9AE8C307182A23EE559466355AA9D092FAA3651C430A550F9C6B18BB05E +1F4B2D7DA2AE2C9BF19B27C827F0E087FD64C5AEB89DF781E2D3FB7F5A471054 +8013A06284F6016A236A1152441EE4703EF4CDB21B964FC029980C62A30DA336 +B5B8DF6EC9FB172B746F1E7A1AB9B5828B1EE32889B22FB532D02045E3567F7C +44B2A0028D20469F45390FEAA44C3555BFAC6F4AF6350CAA53AB97286D25EE00 +933BA6B4E511CF1EBFE8BF240023602A60C3ABC555A08927D0E6AEDC3516D6FA +E4D82F913831A17710EC3A6DB1CE499B58C7B530A1EC4AC1AFF12ED8E79D7EEC +62B47FCAB38ABB2E80B7E05426A416742315C848BEC5AC0D1116BAEFBF220607 +3490F241891680E26C03DB4FFAE6CA4FCB6292226D4549CBCABC3206D1E4D327 +6AAC59B3F07E5D68CD7752C1BA1178A8C7DB6E947DCFAA9EEEDBD01FC8A4D201 +F5BD270279DC4805A24382F6A6108D1B3414D40F46EA91C6108B333342EE1F7E +7086DC76CE42C9C6A6D2858CE3B3E82D0294D8A88E22A0FA9028509F97C85CF5 +3B565E5570F8D4F6F40B8CBD19181B62176FBE65972381E0715EA9281EAE0FE7 +66B5154154738DEAFC9932B3D16EC9EB6F7524F22147C085272719A4AC5CBED3 +E62D88246C56B12ACEB231D42BE72F46D7C6749F9F2487DCEA19ACD3FF21E05B +74324DF87D11DE064F7EFA010B699E7C199908BFC672DDCD69B98D81DDC9C7A4 +062C25FFF5052E5B8042AE6898BAF38ED1C063780B672F0B4E8D331127C0D612 +5705230D97ADCC8103D85DFC7BF7CF154C8A6AABC88419E732EE1C6C724288FE +46F011FD8DD86B343F6240D95D20E8C01452365A061345E876A1B672C2548FC0 +CC0E1B02843714DCA1D8837FBB77E42E590A00D0A4EC1A34DF909A83898C6275 +DC40EAD69FB9436D7D5F0CDB5984A79B86A5AC2DFA0C54F8DC2B210D5C5F890E +64487A1BEB453C2B8D15BE63A1C74CCAEA825CC480AE4C2F4EE985DF8FB624A5 +60CA0E37A9638558EC3C5D1E87936B77D6422E87AB313CC4D91185AA672B92F3 +9D76E2D34A17BA0F35203E72B7D26B71B332D352B2101E871539CB4479954F9C +714158C724DAA05BB5B479CD54E8B0528EF51043EA676CCA3AF74F6CE6024EEE +71346FB0DE3310627BCF9C354FA2BFA44D00E4C11EFC1585C5C5E0C56ECAB11A +EB2037735F483FC4DE666CC61DD2B3214FC3EB4E960DEE07E5835533BE351B99 +18A32EE9888E98922885F3BFC8D5A86B076FF8030D68535FDBA76FBF821842A1 +F7068897E43B3533A9020F1FB35F6BDD8A97C4EE1ACA20EE72081527955D6EC9 +6A2FE32DB339508A0D05AD69AA839BC0D0B7C3B3EE4319A5D27FFDFDF9756583 +A39D0570768314B0B2D5303EF7AF3D52B651093C440CD8AFCE9E27F512D52345 +E292E0E582FBB4A628705A63E6FA384AE2898D324BE2E142716114F158E6178B +5F4D198C5A16608D05C22E647C3025A12955BB5F423563EED4AF398BF2621383 +04AEE3E372C05ADEF6C5D1E5047EE5701884A65B56E0AF429B78FC3A20F72CE8 +F1AEBA8DED5F661A2B336BDC348F8360839E1C2455E7DDB0E190ACA4FA5F4F19 +A2223C786B8E8AE770CEC7A8DEFE523E94458BB67CB2F22555802BDA8CEFD118 +ED2E1BFEE8FFDF6BDF4A61A3E5461B65166147057D47507E7DA9297BE7856D7C +36126E3B82352231A9E9EFC120935438F90913F6DB8953D325907CC8CB0BA012 +3AFD73AC92E481E1FDD6DE7C49ECA620DE1AFCA3E5BA20AADD72B66BE2ECD1DA +70FE7AB3C8DEEC078A034628E68F7B915FE7AC8C3F20A5FA0A80436E4FE0A20D +36589A6F5DB1BACDD8D7325E2F21464FBAB56E729FE7343B02D260FDB2C48607 +4FA69790941A8F45ADE89EF8C1027B04466D1BDAD348A91D5191C7A596BE2408 +5EDE1545714987B4473A51B0C39B1CD9F7B27E7DFC4E828D321E7F40282D7184 +7C5341A9EB897DA4A6C77ACC3FC22B98F40D5422CF53F3E561F781E7BD0F8D77 +F1225D15E96FD9A5723FC0A9E07FCDC18A837C7B14EE0A3158AFAFA976E6F419 +B57A920F7B0784082F818DFE9535570D1C2DB50421D47946FF134BE8FF8B70F5 +F3BD74B7F330BCB49D0CA72C275B39F1204BC7B701F26F80586CE138043BFC05 +11E101A875BA9277500C5AAF134F7E56C34E4704C4F47199F27EE2CC95B70DA7 +BB6D247FA6035D0DF7CCE23B54D67A348528FA551C0CD11BD1B46C62530CD19E +386B27B16A1DDFFB157604C074124374878F9ADEEAE039B4CC91426BE209BE74 +24FB053A5759BE2D970A5CE835D2E462AFFBF4649380049CBFBA8A030135A09D +42DD6EA17E65E0C8BFF3A442B64FC5298C50AD74ED875176EF737F8BE425CB94 +4C7035B5DC09E70A5B35230627CAE6449145357A220400C34281EB9475D3EA87 +310F5D6C14FAAF11356651346907AD48FA099EAE60ECD1E4C9491DCB6519043E +A1D5536CC8F92EA54A4D7FB9D1045284FA76C70F9DC5A23412584D11753C94EF +306A38B474E4F27AE0879819A5BA1FB401FACC0A71678C88BB2E7A8C1D130D91 +FCAD77B00FAC404BA1578779135656287A1F0BC7B6C4D3122ABED9F8B1927D3A +2038D58CA763939F53B8F667DF14811FCB3781B774EE3137B95B456F77E077C3 +F3557D5E06CEDBFB7FD84F5CFA36BF60D0C6BB8EE19FAABD169148FF6C38C30C +B1E354FB043E47F4D1C98A9F95FFECC90760E4DD269F5E212F7E0F6B5519664E +8D88024A5F439DC44C08C2F87EA4C4C5FB0FE0DA729C5D3D53F803B6CFC92793 +B955E961428A9BC704FC576CBD7B77A2E52CE46AA1CEF0CC8987D682804C1052 +D0998F37B2122EFA3932346E5947A5C96E09563D8DDAE2BD95D137155C044788 +1ECB14524651A18A0FC7F0D43F7C8888246BF5F3D7EFBA55F7924FACBD9948D5 +B10027AFA16FD9876E034A9409D9DE405BD3370A907BF9ECBA8289061C94019D +56FFA03F2FC8FFC11882CD5ACCF3AEE9D0FDDECB08433E19F536CEBDB5554947 +7769A3D1A6160689F118B55FEB95EE64391236407596C67E59EB604358845376 +D828EF56639C526F69634AD2C5C13F36F2CD9889BFFEE334F9EF212006298465 +2CDB8F2BC4EE08157E5AE915763EAC45CAAA393FACF3CF8E50788AE1AE6BD39B +49F24D099DC274C4CA6538C20ABBD8BBB9FBE3A038D6798317B938327A7F33FD +866D1CCD14148C95B96E0F35596C6A558077A6C7A2D87CC83393FDB57A6391F1 +875E85FEDAEA2036B1618DF94687A978E6CFDF7944F39E422FE3303270CDAD35 +81F7626BD3375AD01D436A012868C735326114F8AFB42B886CD32EB4A98A19B4 +E1B62B77F2F00548C531EE95F5EA677D16BE65BECF9FE0334757FCFA45F84CED +42F30B37E7DE566107D0F57A3B777E38A725D7AA8A4383BCEFE55CD51AF0B6ED +D1EB1942129CDFDBFFFB5E8D55DAA966AE6A086603F30D400359C2C273DEDEDE +38DE88FB502DA13592F3A7D396816DE8A0A86093E2B6DBA7A77C411F27A478E9 +3EF3166D7AD9133DDF48D873AEF825EF6CB162B98482BD50BDD2D48DD65CC73E +FEF538543B1A6DC11E71A3904A11EA208E70CD1852B0B19CB2EDCD0813D90B07 +19F0DEFFA8F02099B4D6EE3E74B0F0E6BBA43C4A24E6E91E1973ECAB64D313C0 +99F93025AEBBE3B402A87724ADF72937C66235F36A698529F92CFB67D861F908 +493730108FC4D7D9A8E01644FBBEF3B39253B7BFF5EF1DF6C2ACC4CC7F1EFD6E +72F8A54E8D568A484D0E15D2C88D1743D6E225ABD547F7953A5F5E42406F4EAE +EADD36D4998A41CEBABCB1F2945687400C7BE6322E4D924D9901D42032CC55FE +64254DEB51F5C844BCDB03D7069AD72F8F55CC306E12481D0CFAC6210BBF6EC1 +51D195E3A1B23ACD61FFF6A1A446D86DAD11BAD6A74B66D1B7362004FE7C3D2D +E4D5580654FB98A089F7322DACF853C0FF96747526AFE3F896988F7B0144897B +88091909ADDB26726D582235467E7E75372F16F804C7063311402E0F08C41804 +3264D3A54C0795902B0A70CF624827016B3D135F57C192E05EAE87EBE42618CD +CC4D35AF0EEF5BB9A0B78580573458BF8E808B2C9352D9AC844FC13B64EA6A0A +680636D47A0DF610F14FC3B59215B21599C52E206B5038F5AF3A9121BDDB0991 +64AEA5390C32ED5242C93DEAC8A8E398223A4466BEE9AF7DC8EBD1E58E82700D +97AF154B17F0CB94835996913FA29796BF0F262FD7BF307BF31D628128655E40 +8E8A8A6D0073EADB219EFAA3F1C1A040A5CA2B3AB8BF13500250D5DCC6C23A8D +546ACF1B5CE5E71362B9B8B472DB26FDE4624C4D25659F80179E2B840EEEDA65 +262CAE1572E905DC55993DD5652EF70AD17D4FC3651816E60CEE9A7ED5BE8989 +BCC82E24E2B118C176EC340917ED0D61C5195A3B5BAE92373DF0426B1B0E2E3E +07109E9975DED88D1D0A5459D6DBF6912938201A68B3260252091F8C977EA319 +F765D5E0FF6142886632373821EEA024B37604FEAD330949B483E7E9D972B07C +DE877A6991218B9992092462F59EE0BE0342BFB7F26E06AEBA3272D61BA95026 +C1529A435D9F96CBDF8541F91DB2851470B2155C544882D0D0E3990CED8CCF21 +DC8CD12312EB65A48E085935D2B8C0825027737E7E7256AEB89FCE18436FE4C1 +234453520F8E5799ABDDF6B0289178E0A5FCE7E0C9EF98983DAD2C27F69AD57A +417B9539492F30C6AFFFED9CBDC21EBFFAFDDF1F6E9AA9E312988C6CB380CD82 +D86224F31FD16D04E2C07016E99B23F59F05D4F0BCC758B4ABF5FBB2101DE03C +88F5C6971BC83CD764A2045074C31A8C465047FC28CC7D3CEC16EF29E3DDB8B2 +61CD29FAB521D6127A792DF0190F2D5F79879A25682A9452C2A04898B1D748FA +B1B686CD1F9B706657FC96BAB215E471630F94E6A68741CB3035F04F22FA0779 +5266634CAD26160BA102705891640B1171D41BDA8F75E482C62CD3A9D3155738 +1CC4109C167294849466BDC51AB3F640226787E805DCB1A6DDEE253B23E7BDB5 +BCF49FB392113175211BE07E855AF27EF7E7BACE38AB88C1D9BBFD648CE1A073 +9305F78663CD67AFFF0881B355661DB7A48D6F427F31E6E0ED530D55CF5FF3BC +06D2F4FE5E2CE0ADC23B293C5DEDDC39E5F21DE7E629B7A2333C7B0FC6DFE4BD +53FF9F83580668D56E0810CB5830CF84A1E6AE8E4A8CA2EEFED7EDF89A09AD75 +9D315E5C70A0AF0352BC304808209E9E4EFA27A8A9AFB5ABDACB712E47AF831B +7FFE6F3BCEDB86661A9A6B2F515C215276E963997C88E24FFA9593192303C907 +7E9B2E1096D692024C3B52849BD82E0FB5FA248DC46B457A634194C6BA29F2C2 +9FEBD559E7CC6A3B5D9256DE1396EB2C635B7A128193EF783CD2ED5F217BB9EE +1B2D2377F993BE53ADD197F2F12DCC0576B2B0FD6DCF6784016F36F6BA89B834 +262D1E024963D39E279479E1D127CA75112BCFE619615EB6C15346EC3A2EDC7E +8A342E1FC8B8A61B3D08968C00977A4654F036C4B9353DC2C7500EB8F12A2AFE +12491D37A10EBDB0F19409736DA7B62AE9A9E7AE738DA76A63D0CA3C11B997A5 +B0FD5E8C0FDF9759487B3803280F1036B2DDAD846AA162113E5D2EE94B301A58 +02911791528309473040FE0F512A7A2FB30508DC2FA0F4B4220147AB7CC4A83B +7B7A9313AFEE47127AC66CCA2FD6301D58C27B5C49E4C41785EDF404C5D9DC5A +54443FCCB690A5AABB33C7E1874DFE775E39CBA54C3F609065E77D7DB6C34BD2 +892EC469510256C092AD1A8B70C78D68C2EC211CAD18D3A38D571B7C25B7C465 +D8F90E80E19392B13899CDE111D7145C7A8DB5B988F54049E5E94BABF539A7C9 +6AA339CA44B0DB3B406B9F29373A3AE28B5E4544D25D0A4DDBB1EBC9DE4D5854 +2A0C39158DAA88CCA1C2DE5F9E588A35669FC9CCD6C80251CD95B3B75555C37B +19D6E10D1A2EA592D6FFB2A640BE02F00C1A62B5D6B1038C6F13FEF94ED8EEDD +BD4B1CE4A61DD41DBE1EB32DD2E98513AC545E9CCDCDC74F8D1293BFC4F81AC9 +1AAE6611F1F439C52A87C760D08F86D7273EE05569F0D62A88F8C0BA1E6BE645 +9191D1D39D43C9C3565C972A145E0AA8924FDA038B4600A8FA5DD3CA2DA18863 +6ED416AC4133D0E96EAB882BD17F1C995D7822A9A6BD20F9589EA1B99317AA71 +CE08AAD2837F4956C32731CD2895697AA160B039EAE99842AE7C6D562BF0F383 +5369C8A133D6F3C4BEC8B45911143B9C825F8A3CF4FDCB31B97F48006BE9ADC0 +11DCFD1AA424D6D4C5F21A2DED6E5E4622BD2D6419F8B097FEDD3BF4806BA6E5 +5FE67DE62197608351FA7BF17909687B58DC6323356A1560EBA7DAF0DA6C30F1 +9A1463EB04179802CD3D9393867DC77191ED81B045B924AA3F76809565792135 +2D24B8E017A7FF8C8991D060E6F3F6137BCCF30B41A14DB349A677C99D2EC6FE +591BF5CFFA31098AAA62D88E10E2F9844F3AF63AEDED630B1CDDF6FBD581B5B6 +98ED711902189716AABEDBE428594FEE3C203BF6764932847474C12B74D9D9E4 +D18AA4553DC217E0EE86C5CA32398BAAF0955247A1BABCCB62CD3C59798DDC83 +8D248B6E1E9700E989766503D664AB48809E5339A9FD63C537468075FE34D0C8 +2124080D8AAC6D82EC06146ECB9625DD1A1885B4A9338596EB6A4082DEF5EBF3 +AE5ACB49645174BBBC1BC4E64FC4D26469216DFA9C1AB7DDB5364CDBFD50F9E1 +B837419A5B7C5968048618AC453CA045E37D8A87F01B24D30E1F0B905CB29816 +DF958C7FCA6E5BC581E76F03D2B2E67E97B974E4EDBFB31C3851ABD18A8B17B9 +E4ACC739EE9A72EE738F047F5A67C9EE3011E534C363C4604D4C580B7853F659 +7F769BE90A5E2469258B20F8D4DF10BD4A0B69586CDDA5BD08F6FEC75451386B +ED5ABF5489B30D495C24183D6695EC6B7FD554A050A9C7B04D76A783B4346D70 +62A0A947304D81F35C29001F3E855AA34FA9B0CB1A5DD721247087AC30851702 +B2484D7F7C488256758D24318903958AB96AE39216AA7252708D7897C3607914 +DD35B0C862FBB495AFD7AB36FE422BDB7935CE34B6EAF269A7512328D56EBF7E +8FB7698BE3946D38365AB6180F139E15E28A52FF40A1C2C42C7D1596C58B654C +04E43AE282CE56BECB9F8EE264D062630205BD361AC7385380F7D3BED9B0C26D +FC01078D6BBB23C70D32EA798AC9620C60CCBBBCAEF286F52189EE63DF7832EA +FECA2C7EF4D2CA56EF45406365330C898FA73415F9A18E877429C9124982EB41 +FA7159B512FAC6259910A21866470AD9945A0D7FC39D956334A6B30026AA0838 +43E3369BC9C743BE3C29512D49EE3551933CFD29658AA3A2B41E265A68152B9E +6E5ED231DA1EB9C36392ED8C2692FB9E316E96AB83806D72FC1B4C6354E85149 +2655F669F44E49C4110ABFE8F0FEC7821B388436C99C33B203ABADB40729CE97 +A804BCDE32480ACEF760580E7BF94CE28077555F3FC58CAB8048E7CD891A5BA0 +F09AE7E90C64E0374565DF7E03DFEA10198B742BA58CD7969E2EAEEC8311613A +A9092E53147729A4C32B4ACA7AB77A9E01EFF4F294C601A79A3276917682A345 +0A52DFC61AB6E5D3CD6D989BDD8ADCF02272E4A1633B2939158434BD7D168975 +96A85A09BDAA86DC5BCF2088672B5217E87449DA42F66464B49926AC4A047BED +14023EB87BD154073A163DECD7F6380F38C52BFDADE187DA6A92DDED2E4724F5 +D2E58CE99686D259A4269DA7275AE3F43DDF42593750405108575A5037B2F912 +F18584CBD9FE3EF6935CCB5E081982DEC072F7FD6B55FF962D84373CB0F8C0E7 +C990834B6B64934C646AE5929BFFE0609739EC2691048AE17FD884009B975CAB +43C38008EC1893931947B846F7BD5B2B4D20AFFCB1270A27D32CC9E673AC0D26 +E3AC2BA7EF1A4A1A823B14DC8E25745EADF916F0EE3EBA79CB75FC17AFFFA614 +F570D732E4C7CA6F52B3C3A1CC726DBD1CE3E808 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1179,403 +1185,406 @@ 1BA5EDB15F1BDBE806E51B294257D7087334165419A6520462D794D670A1D6E1 3BB03BF689391D056D55AD660D15A386E6D222C9572BDC4DC8A46EEC75124BB5 F0E8978FD6031A90E4768CCBF62A5ED8C8087FD66D2033011947634878BDC0AB -6501DA7E6D96E227068E993DBB0072F037CA411E429252586CA153360490EC5E -2AA8727E9605FB75714E22C232C05DA77FE4B12630E21C745889A8ADC706FD27 -831F980EAC18330D5D2E46563316C36CB25F50875F7848978142575A3D2784BD -C9C3A029D9600CA3E9D7A26A5DDB8567F8BF48DA2B08CBE7B76EA261CD180CF3 -3385CDAD915A90244C5660C6F9E32E6027D730681B88FC02E6C9B401E93072DD -6E018048D22EE65F0A03018F444194BDEA833D8EAE56C2E5E03FBC7558684C32 -C1353169FC072C0A217D2CD18C4FEF6F6EE2E1D687939244014B09DDD8CF6193 -034D71F007EC89B97005E00A81721503C87B875A6BA33B4D6B2D65AE32141AD4 -160293043FC5425EECEA875CE6F87E7C6F6200B9D52C0E285891C0FF88A0E361 -E7A51574CEE3918B9CBC83B37DEE303859B4545A7F1EEA33C7A4459E6EF15953 -A57D7DE99C7BD953B7DE84BC5C0A60A1768EFBA317849A4A8436F6364BE2F323 -4C99478E2B7C83BFF1AEB394C489CD87D7606181C61D15C85760761DC7F3A81F -AB9F63366378809931F10710C8A595966590AE5A85DFE5DF86D59853546C87D9 -957992FF7C0D11FBA2193EAF02356A1D08F2C8A7AB2FE92001E0EE2AEC0ACD52 -E52D961E65B79F613F0F9B51EB31F244087B484697C3D4DC28550B173BA7E4CD -8D0B0FBE866090BEAF95403D5D03D90AEB48688A8BDDA8AA0E8AB89DD3EB27F0 -99622F21C77FFAA3A8A5A67DD6F16AFF35C2B96957216B0021F2D6415A0F5730 -D179FACB55678F5976010A20EF3C0B4EF5CADEE4C4DDE59A3DD93A87881DAD14 -5E9438F095C9970B2DE2AA6CC85D26471A93BF7D9ABF0253FACFAEC66AC40563 -24CE6C4DEF61D3855985116CCDB53A70AA7B5F941DD21A2DE52FE42AD35E08CD -0FDED28B65290948030C5F40DCFAC51F51E4AA828CDBC114060B7370DA18F7C9 -12378ED10D192F3BDD11375603EC90EE421E4781A41549555F35021C57813161 -145511117E96E829386BF43423099250C8695DB2B891D68B4DB7D949F481CBBA -1DDE08680F7FBC05F9F00FF10ABD21032FC71E7EE2EB4BD97F48842FBCB00E73 -BA581330A21BEEF313BA3E5B8729459393B15B5FF7B63D985F6B0DDF3C90F3D0 -75691B2628BB9D93049A634FABC67137F727E13CA04481820112D953881ACBD7 -9A85175D2394FE355A4A6E485F3B1D69D8C06EE532CB2508D8F3F1E65C0369F5 -F10B3D86E8333AA1228560C37614F8F924585323FF0AA91465B288F5BA39AB56 -27CB01ED906DF594DF3BDE610AE97315B6E0C0786691CA63CD16F32C883B5FB6 -DAE4A1C028BF5D935A377C317C2AC0F738BF2F5001BB6347B1EE4E851B7D4264 -20EAA262FF69C8C01A4361C9CD7558F4D57E14C0F631D4576C0754191CEBAD26 -2598FA77F1B5F8C511953EAD4A92ECE452C5EC23065C812C7C355AA448F429D5 -99D4B28A65F539333EFBC3CADD3F0824F8D04368A12F309A71917FFD1CB30364 -CF98DCC3BD50B0B30CB8E07348267B834EA740352F90312B24BBC22D30D28C0D -2E571EB8C6B7BD316C311D84B168CB4E95C4AB2D6A1351EDD204696C2D728E73 -5352F0CF2504B6A32D07F207AB5207E465239EB916A77EB60ABA8D3BB42A207C -468068A6E9820747D8F4DA73D8352B70F1284545A66D4A5128B96F48AD7F24E4 -5978B267C2E65E0EA8BCE8A8CC397F50C5E0946842F0AFAC4D058D93D5125836 -0FF4BCCA05CB3C4AE932E73878A04D07D431B8940466E58690DB3824BA18AB19 -6A4154392C85B170BFB08A4E2B20A22971BB62BB54BC5476B70FB2A36D319917 -49A7138FCBD505B64FE319DB6B160B1C55450F7C3EB1AE1C1E1596B9FB4601B0 -8293C6D340C9A301F0B3A16BEA8EE0B593E1442E802AAC63BB90B7069D758E9D -183E3B753D8872EF6F584673E41838C891DA7B2931FCB41C2AABA22CDEC44AA5 -23646E86239A2A638EC8E0D7AF8A060F6932C10C7C933FE4C3B8FD2FE068CF15 -B0A0D71564C70C420B3443D8038A2D42EAD34FA04B405970223376E59B8A6DEA -314520BFA5ED90353E0A8DF082478ABAD2AB826BF12EEF1918C1BADC6AA043E0 -90A8DA3A412917629A1CBBF535C2E0DC90929DE932CC286CEE95228B73031E77 -3B0B87E4BA3E539FC92A2730B03E6DF5F947C09B9E99400D5E081BA931FE79E2 -306FE667D7C94545C0311F3D9939F315A586BDF6AE2FEDE5F32861DF838567F7 -530FF07F5A3210373C39C6A63B03CDF708EAF7229ACF271D0C78E02550B0A51F -68B9235465D181CAA18607B10F23597AF69510A74EEA27ACE4EB74EDFDE2DEF1 -93A0DC2E47252E4CEA86790164EF264EFF54519DA5AD87A12177B15776140E86 -D5CE9F213FF3E3ADFD8CD77FAEFEDB903761EC61BBFB2D4E04DBCE5E2A25EB81 -973F8158177C0DCA0426E27E048FF3726702B4ED43053B1ABBFF23DF91720A8F -2233266ACB4850A51F94644F90BFBB9573DCA298C47E77D111489D8B8DA44DAF -4B943A5373AC74CD66A0572A173F85B959A511D0C3EC4A2C339A0157255C8DF8 -7F6E8C1DCB677CC115006ABBF37E4DF57E67F1B6E2D061995F31DADF8618E596 -FBE25F8E0E89EBDD6456E4CC212F0BBE2DEB6E67F64B599D810680DCB4F1AB73 -87016A9ACBCBE0F369DC9E5FFB1E10D6972BCCB70B708DFF31D680AC7440658A -23A460F7AE49361DB66264638C63DFAAE5FD596B78D5B67366694FBD5E0F5D46 -23BE41CFBF87BB1516F1292F4C0CD729C65BA9CA1CDDC19E3B61B015024C21AF -751DE2EBC67F4C2C3141B0356D0143C7A980AF68FF61C30DB9CAA9D037D880A4 -1B456B6811B6FE5E452DBE16ABC3FECD679DFAB214951C5E77581BD007BCDD6B -1E266FED7A65200B8AA2950E73A061775385A6E519A53BCEA85193EAB87D286F -751457CBA382189086E34FE5714F4899E38ECBD456F243D235B9E8472DD8F40D -14D5B68BEDBA0E21DF657524EDAC18DE0B09CF7876E0408F69851B98717754A6 -4B2C1957EE4370920647A67C66B95DE345D6D5718C05132A86BC3256425493C4 -C83E23014A7988E89F223B2A123041BFDB762BE64061DF119440A1256FC72AD4 -2F4F3F979042288CE008E1BDF144FDCCD0BB26F467BBA9E8B2ACE438E4EB7F2D -98B82CA0E129CBE7E21453AD0EE151C4D9D09AE6B32E29CF82F64E2DE3C76827 -099B86E2B64F1B4A2705A259301B221C6C5A1ADE04BE8A1F8022A0D3C1E4F601 -37AFB8D973ADE45BA343DEC97919298B12DAF45D41A36C886A1573071A30A0F8 -0FACAA8F25D8B3035EFC3C1C6A2BEF12A387368C790FC900FC9F74A61C7D4C3D -23400F710573A56685325CA26B23461BF8D1123E16A9A2C107B9EE8DCD39E138 -0E10E36A6467BD5046B6BC967D981B598BFBE2AD90FDCBA7015609344924544A -11E86E02FC9727B2770B732E60C21A7C60EAA31C14DF51BAF8A525041D15D1AB -685B03E7B74A1B97F2D77448F02B3BE93316C49C07B4EE31E7195043D05D7C10 -88C1847E54896977A09E3A1BAD475A3F812EC64FC99A1E86EB3CFC01391E5C7D -8696BA362A7DA2172FB0EF99185C01741F97D66FF795B10E84385B6C9E996853 -5C72B3A226E18AB4EE7FAC1D4C5141C716BCA627E3305245A04D7EE11A7AC97F -59862F5577EAC9D9976FA5F6C3514D296454AFFAB78EB568DB11DDCB1AC4BCDC -0CB0CE0A02AE97380F9978FF55B10C9882279AD6314FBDC587FD9A7E6E443773 -72EB7C52A118F79EB4CE3FDB2F666D43227B3059999CA25DC06ACD657F4768D8 -C82CE400837C08A2935F430987348A27CAD51AC8639CDBDC4C911ECE62CFE94F -2A1F28F10EC80A3946566FB09F6B8731EEC4571522ABB2A90792339331F3FB1E -EF0BB328C57D30E5B1849B6937698E49ACA84FFF48F716EC81025091EEE4CD06 -A3404843DF013CCDFE867C7CF2A29C1DFE96DFDC47B65E916070E6D019C0A62E -3A1D5EA282B3702B1B20729F4791D90E6968342C440622EB34D774BEA2339FBE -F52C4655ADA9515B0A79A2C4E628E6539E57D2BEE0D7084F74BFC2B3C4B36F55 -7B9003ECFDAA58BC265C1E8ECDC78CD47038ACF5F0C37E7A076A8B16F9F712BF -E16240917C281C41EA3CE87CE4C1C976711D83374974D37A00FFA7B280D76FDF -79D1BF415CE8686414CAEE79D2FDE623D40A789A98DC2A6B88255A67717EBE54 -8E0FABA8082EDC2AEAA66F509CDCB5E73BDA6E20CA603B83446213A967B77C99 -2D6A58FBBE0159CBF46E368A28956E45816173719983CD1B775C940CDC769E71 -3331680DEAC9FCE0C9FC2B1CFCBC6C6638E02F93B4F51219A6FD277024F8A61F -1641A540CCDAF1CC25EF0429A0C9D403F6A31852249D3ACCCF14E4110A58399F -12FF0DCB0B4FA1AAE66F52C9A6C6718FEFBA51292F2D48A762197034B06FE1C6 -B784B4DC6AD9578BE38A33896B6C528208C33BB5482E1D2DE4217743A4DE46E4 -1C2F02BC25B4BD8F2037D362E9DC6F7878B77AB6D3DEDA9C7E1EDCFF9257C7EA -B42065CC8BC029FA1AE9570B17811DFCFA0E23A12B9C7A42444A02A8A2CFF5C4 -5013A984668C3BAA0B4186182054E8CE7EEB9B09DFE7A4F081BF16A57D26169B -EFA22E7BA38AAE8D01B1A894904AAE56B79DC018E63030B58849FFF875A675D8 -A52F9606650450A452EC0C0D3B494506903DB65BF4BFC8BF6C8B79033737BD1C -1915A4451B10CA2C5195458B4E6D193CB1AC7386730AEECD1184A69B07B418FF -B0E5620F8D2ADFF93CEA7F5DD4E71FC497FA6F64AB31D16BC00EC5F8A01FE192 -4E7EF5104EEB6D098D617268E79A4A2B9F4869EC952B4D6887FE9BDB61D26397 -69AB66F43996DFE771736F081719B6987C5DFA86B91F07CF1FADEA6390AA9B4D -53093D427DA39F08096161E1742740639C332FCC40DF91A295A671782CF8C713 -0FA36B95A55406BD18FDCBE9D1AF9492CC5C3DB7DCCDACC1DA5D40F2CC2C365E -F99EDC21B3EDC564D282029AAF62A49B6BA5C6937DD1BB15E68BFA698549EDFF -BF0D4FB2645885BEC5B79E8475C43E5DABA6B60E72E31174054724F711FF3884 -36B27B2DB7677F04A704E7427B00FBF8880C0482E98893E23AE0ABB7CE35F2B0 -3662B322718BFFE777F395D551E13CDB3179756FD85B1F132E62C44A11340E7D -B8B274D22D0493F70E8D587356B84D4238439F2E816D589B04831E8F8CF691B5 -98DF446720310D929B1C8E29C51F2FD1C70AB8F8FF4AF21A05D3A520D44554DF -736DFD865EF1B73A0C06BC9E2ED21C9D1444D3F41CADC2A666045ABE51203C6E -BAE3CC3C3F6A482868951970747C45270070D2FF52C5C9B1953F845AEA12C02A -DB5AE7B1E9ECEEC8B533182B46B8ABA08D587806E88B87C1272877C3DDC6B14A -2CDD31A1F0B8555F59C5CF6A73244B70F5022683A789F7E0BAE3457337B709AB -CA88BE9ECA5D0389275946CEE8BCA349889E64D8240FF5AF76EE020223AE5E25 -59A007E200CE8576C2A5646F0B1F35E4004D132A123CBCAB8522F2E0CDDF17F3 -4BAF1FCC0BA38648EEEBAA38C1A783033951C59F5D52F3262DFE4C6E9E6D8E16 -F23015385A1C4E06ED360BD33579A6B1D1B119665B24294A69B4ACD82B5C801B -5162AFDA181F01C80AE0148867FC419C7D536D3ADB336780838F34CAF311279A -E4FFBF6809892F0BB1D090C678C1254A9C10DDF87B3DAC22305907C982AEDA69 -32366E4F2AC672D65A2F71A842C3D6694640DD821BD4D9C4E96E49799322EDC5 -4FFCC0D50EE4FFF6F09C935542FFFB8D8B7EA6B647BAAF44BCABA88520DE7AAC -2A4001008C5CD2A973129B418D800F9B8BC24675C800713195C4C2DD36DF73CF -35D69E71B10D31C8DCD84A0E2FD96EE6CC79F08F4DE10E04B7F2E6145C2B7409 -D52C6E3089D6DE31BA5062113DE1063F954A03B80540EF62D4F9F41A957A90A5 -E2E64323671EAFF01D2A5B93928F6346C41B99B866B08AB6420396EDC8320DB1 -ADA75B667AF93D1CCFA9EEFC5BC0C889ABEF879138A86EBB2D5620E8621B924C -F60AC2456F0FE9E6762330CE743DA37D2CD9EC859A61521D6BF6D3B3FBABE3C4 -E7EFBAB21F0694697B87FFCF6089E585B8CD57F4D7C22A5E1A2AAEEFA4FD8623 -333F90E77DCA57BFF970D593B3EDCD64B40EE3C27326661B4413BEB7714F152A -935427525E08E248193142B91CEEDB3B0209C70ED9FFF57971F524026EB4A194 -5622DCBA91A6BC854B3B3272769AFCC4D2B64B7D71619FC1F39F435835C0AA10 -0FF412ED58C0CCC0BB1888A883C56864912E693441902E66DB83C56956C2E7BC -F98621BBAD7F5117FEE6CF287A5BEEFE3F5959108A88B76365A5ED6039B6A798 -408FCDE095A872463F33D417EDE584D34B721118D3C29D22E6AFA7BE5D141139 -46F3E6BBC0AF1CAB844822AF1AB941681481F4E763AE6A1F7CCE0CBFE337364B -3174464E6C21DAD8F3BCFA5CFCDD2F5FBE00394C6BEB1157580707CCE8A81DD0 -9E3D37025413C47F77BFF4B275EB40FF05F3EAAF70AF8D4B9420AE2E1DD66A46 -A44BA9C7E6991DAA7CFFB406AD98CBB1177775A1D6629FCBB6F60C3942199455 -70B3B93579338C424AD1642B9109502B232B42E50A58A7055068E43F56B9BB78 -5D387FEEE382A33A97A3A7C29DA4DAD8CE9F503FBB85893E7FCF18238A83525D -1958B38A24817BDC440EDEB913BC3C61EB2022A71E7F1D8D683A36FC1D84C570 -2BCFC3A3218C9C6FA9657980BFD482DE8DC4867959CA93B46F2887B1329DB496 -F69C4A43641ED3842145BB868A430E03EAFBE786B98355527882CCC8B4EF734E -BD0DAAD6CAA8B36A4405E5CA9FDB69FAB8C5D85480D81A83EF6038AA3FA8D687 -017741F80B94CE67F86A1C4DE3E3C197320568238C7A7A1056520646A674C3B0 -BBA0CAF9413FC95E938F46D8588A94FF77079DB1698082601DE0D71003C74392 -68D48A8BDAEECDCD2138BAA3CC43F83532F27F4B20AFD658109BC2A26D8B6C07 -5DF873C2114531AE6E98753DFED7214D634A453239990329F08B6F22C32D097F -85FB45CBCC189ED8FFA918DF0EF2B81CE018B93374A5BEE3653336C68AFC21C5 -77BF87F75199D869B68DC72A22274D883D836974E0AE8A74FA8BA55EBB024688 -3EFFFE119F54B75E5BBBBB66B46B7E77227E680870DE9EA2BC4B7867AD7F3512 -AA3DC6E37E89E420CF097F26C7CD717869DD8CA401DDE7375FFF18A35CADDBEF -DD027E352DD8B99893C37F1F84C5920EF3B3B2CC254EC794FCE1C8B154866B5E -E3ECA7870521BA860031931B924E082AF12DED9962E5E9E59C1FC08DF1258462 -6A5BD8BF23648D1131C67BAD67F17E5276E82EF31C44A5A9A5CD664EE85F9CA3 -FFEB95982ED1FCC1EE9DBC11368EFFF6C53AE3AC805D78D3EE4BED7DBE490920 -C5542128E68F9A6CF46D1693345C9822C77303397822C3B3F7CF5B7C39A9B606 -C5C57B4723A3B9F15C4B4B1BBB4D7267EEE3098285772B1D4CF1E15277EAFA84 -3B54EDC3753F347AD7EFD7BD292539FAD422EA17240A8377D894475E6ED70094 -7648F9850E1F8F2BD5F7C3AB23BF64C692762DB1727E10CE0E6AE83295B91349 -28617E2F90124BD97F19951C55E895767AC141C421380AE9C311D41E7CFF7DEC -880263507BBF160AFC57F931995CA3CD773DFA34654899BF1FB5FACB5D39E67B -FCF44618A2F553ABB7707FCA8C118001D9A541D0FBAE34DD4978FD40362E03EA -F9C9AC0A6B23E3911F8E869E06271640C2E9A0F6F810E1E8E6F35099EB5D238E -78CF6CDD08B6CA7895BEAA8A3F42546B7BBD19E99518E94D83CBC5AD2028487E -FC3E8037D954767EA744A08388A946BF6B48399BAC6552DD0D6D81C4639D4E4D -FB3AF3F09AEFE96C24D5A73B839AA47AF5C2B6A1C2ADA3B5299B59C4D39FC3E4 -F537A1D9739BE21DDA12247DD50EC83A24B335BFBE60A307583DE9EDC6A4B41E -F95306F407890B11FF762DB110C81F1C40558E23FB49ABB698CD00AFE090F590 -BD55F31056D5499B2C5D8B838421291EF18646A5791164ED41061DB6B44744C1 -BCDFEE00A092033DEDB0CCFEFDCC484A08C7AE206821883BF5EC194FDD158C18 -EC56D2891C5517D274303F10AACA8524C43E88108FB59626DAC8252A30AA3A63 -CCDAF5D7F2BD922EDBE80B219706E22E6F4EA6C6ED2BDA5FDBA42C3C7E615F7E -85A9CE4784CE32BCC4FF9F14EC3233E7728DEDFE0A65F36B43CD100DFC0D9257 -F027C0F1D42B79ADCC90FDD53C50B092CCB89BC737A0212AA7C7B2F1E234D97B -7CD5651919685521D8799FBC97CDB2E6718E4840A88CC6BA5CCC9F8BB4DC2B7F -13EF9948947FF035E9DD4CC81994F22CC588A08E3DB3BF1808B1B8ACD5DEC501 -DFEBF7B9F0C1E9098710F18BB28324A09730F819D2A1346962011E3325A06EC5 -0CDE3B13A2B2AFC1E88AD6AE109841216AE9C0E34BD4180D31D500C22A2A4D56 -15F720C054CBC6FC0CCB252010B9D1B30995A9DCB50F3F15FC4A2ED963279754 -A51603672403C6143D57E5FC97CB977C9B561F50F73F2A17365A12FB5606D75C -F85679CE7A4CA183915EEB79008942DDEDF0CB51FD786C7F4EF8AD0DBE291D8B -235160320998FF12783922D32C29244763F9B7B5894BED6B5C7793AE22AC11B5 -1E5D1F3BCC402237B9506589E6B8DB0638E730958A8F9517D051FA07D98882E0 -4E4C3AA9E031515DE0F413B9ACF75685ED1D8CDFE44B21FF5ADB57FE6D109E63 -F201F8FF8734B60FDA2275BEDC077308652AF9EE34674455D9C5FBEC15363D30 -973F411544C35F6581D7F135BB3A2B2DE6B286DCBC29AD9B1F28A9B25934DC4C -2DB7BBC6D6B4D1B4459370E29A15A7728061DE3070205FB5D6524521995DC28F -AA9514F37FA6D55DA2482E56C995E5063755123D151959DEC4E406C18ED4B052 -A8992EF41208C4F6AC5539380EFD70240CB1F6A46B451690B32A91757EBEF5DB -4A94DCC49AD7EF038E87BB6F3DAC2B4D2707BEE805BDDBE96D0249C55BD4C140 -77173BADFEF9F85BB4D0E2194BC65483EE34CAAC79530023369275768BB8846E -CDD21414F0FCA20913EDEF6160623E28B6CB22EBD429778E7AA44D20EE944DF0 -D0047258E71110ED3A398DF018009C92D3B694337CB5FA99071B9B1DA40CF5DD -DD478551634ED561834104A01B7F6E49529237262080A001D121DACA8B5FE018 -B8C3565E1292A66B341CB33B1B30BC9A8E6B9682B0598B4AAEB34F080D58E008 -242D14D34AC61F925D0208EB26E47985FC45B1B870AD1AA618DBC877A4947F97 -0BC57C1A9A8816072B36222FB66F29B54BAE35BDE6809ED17CB6440DD4FA6F70 -7679B10C2BED86B468DB104141A1837665E512DC97F592550E85AF86BFFF3F99 -AC12ACB75B2ED3336B1D17EEADDB4ABE03D0F1658A57EA4861F041346EE2CA40 -A729730123EC61186295ABA4134F1DF5722DF186546D2906ECBC3430E7E3BD03 -CA0D6159091024728783D68001DE7187171E28DB5907F084A94D2462E703EDE9 -590583BBA61BEA4B1161BD4C41FE39BFC93B0FBCC5EC9FF4AFB5939F0CEEE032 -FE5AEE66D56547CF94D88C2EA7BE5C78D4BF227A02AA229FEED9BC5DB1340B02 -1B9E8FB9729564C3EFAF35411B7B28941960E5DD45C9DB122AE3DE1076E5AA31 -F7C6DEA00FC2E4E72059547CD89389E8C7C980829C896FBFC2DDF77EB3206BC3 -F1E21347942EA591DC3FB59BC8E2BBC4C3C657305F30A2D18DF93CFC0F0F0216 -4F19A938BCF2A4BB8FD1F1B965F22C9729E94D040585936C020B24289066E742 -D1DD955A35056402B40B3EEAB83A29F47EF3B229EB5EC517177862FC86EF08C8 -BC4D9FD57A0D8FECE71A4439DB8954D836071130964105DA82607FBF2C9A1810 -3BB2D7EBA820809E677FC5952AADECADE3AF4AA90BC15F40BC86F071875E0C2B -0BE47794B817AE5FEADE9E4092425312A71087A7CAFD886CD39069BE426671B7 -CE8E4FC97F7C16A702C6F8FB677483D7299BB4BB06EFC04B7A32DC93075B79F1 -BDF4470621FF49D372AB3C5213E5A070E27BFAF7169FB18582BB796671D539D7 -CA7F0E072B5A394FC2B6587187E1349F69848D5DCF048E71531B13F73895CD7B -7D81B338AD6D445C27EB4C4D76C0B5E64A07D03BD7D8CD3A3DB491C2794CB031 -E56618C5E0D65F562ED857B81FB384228FF762CD2718C723B7B261750E25D0D0 -D26060723382911F867F46AE73AD67C943C44196997F574FB36D1FBA79E61A32 -D53145364DAB0E0C6922CB21CC3B03418747546E48397A7DBCE9AD89193709A6 -B85AC7F6167D7DF1A6B72D876C4AFF990CFB68B83B0C4C494C7F8CBC60B1E7A6 -7B3695A2CC0FA011FADD2527FF4D47726782C19CDBBE2D55BADAE4350B053B8A -1EF6B385ED4A0A00E1D0DE7E4F74BDE3497F13D80A6C30E833DC6FCB3E597454 -68EFAE3D397D4C8817EB082DCE98A0F4BBE0F39C79F22021C84270AACE7E2E12 -617F4FD655B9F5BBA5D4F8AC935F6E2F5007DEC58A1929188A9D5FE5F4C4AB03 -662ECD86676D7CCB50C0546426C8B92864019A2DBCD4247BFB904D8559F2A9D2 -0993D260CF293B40550AC6DB3A93EEEFDDF7D8EF947E1B487104E0D0E4365BC3 -62FCE7CCF52930C429532AA2E3FE62AAE9425A97EFC23EFAF6DA75C98CDDFB18 -175006EFFDC2A6ADC9B8A8B1D343FCA0155D476E5AA2362F404B00F493D97DCB -3AB5CC9ED868D00939AA1B55E0824C09A1B7D8B38B98ABD0966E73B5019504EE -7C3A6EB0F094A3760C96658CACDAC422442B04957FE7A61544A5F99C6F7BC695 -4658AC5403D3395CEDAE6ABADCE9F4EC6311FD92B340952DCC23AA72B514E163 -2E87B7F5588F4EC9DC915BC3E6BD8994BD380F0ED79C4E47DC0DD89828D65709 -29F085518387CF2EAC62D2505DF0CB47D307E1DE4F0A147979C6D5B93327B7DA -4BA34DD209946E8022C11A4E0767FD809A2F628C73B0A79201C40281BE044CDD -5F9130EDAD2CB86B1A324B824C8A1A60D34FD32558089C4FC8E70AAF7AAEAD06 -48C7F711B33C7A421C1B4C0FDA2392ACF4C850315283E86B0DCCE689AC9AD3B5 -91E91329B5CC58DC2CB4466D669E956488262A12DEAD838577743D7867030F25 -BD5B2B0A04C9DDB6C904E40AAA82B54542321711ED1D80348797F35A093D3D77 -3560B459F177D388F4855C82C277179834A94D5B9F4C974DFDF3929A1BA0B301 -CB3558D6BA4BE0B1EFFDC2101352FDAEEAC17D60BBDADE15FC093161B872F98D -71BCE512AE88BF012B3F96E02EED08A7CE8802D409A07C27F1F3AB40589CDEAC -99642D6C6133BFD2F6B1B86A80CBA0CC62347644D25BA14C9E24A53DA2DCCD1E -8B0EABC4B0500D18AAAF3D634D5D1E3D23775FC02C91B1D5C600986E72185A65 -F6C926A5E48E4EDBB4862D9CEA4F491C0FE2DE07B9055975A6FAF60B692D5310 -B6EFE781BF90EED228709404DAF22172D7CA8B050EC477B6ABDE89E6A53CA72C -5B6FE5A099DC209AF9DE1318FC114ED28E871B705DA184114CDEC65EF79D489E -347718519EBEB40CE19D3CAA1288413FFF08D1D6B42A8B24E5B00E259BF2EF56 -600EC9C721981559BD0A443F1EDB12DD99401AC2C5F84593FDBBB1C1DD654A84 -562D8ECED1A1E456D56D47D60DE039639ADD3FB1A342F4C3A5071ACC35CBC60E -F6F10ED429606609B68BD3B3D19F02F652B2DA1EB2884C4246BFC49108D3B95B -62102EE49D5FB31929C0DF59F98F5F36F07C5C7E9D0244991D2A1BF8ADBF158D -9D21B928B484102F7882D8A0DD1B66B9C0DF4C95A6ACDDB70619FE403AF8AB12 -56334E17E1E4CDA7E4E006CD042D9FC9F83694B83D45C9C34CC0B945E13ECBBB -1C74BD8E12558E49A5875A64012B7B5F9C2EB2D50B51C21B9645BE62CF32FA34 -72E85AC778705A888355E9DF59DE3CA815264513E20B9F211D5CFF80C39A3DBB -D4602AA4C81461514E74AEBE92E88B8DF861465ADB524AEC40C630CD7DCE9A54 -22FF67D94F13612679717BD4012C52A614BFC5E7D6D067A478BD19B6B25BA513 -2589E8B402A4DF511A3239B1E657FD93B3918F05D6AEDE1A27B640F4CF54E698 -820368D069F5376EB9E9486288FEF0F64683096850A6305B648A527E10BAEB5C -D1660D266731950CC130D634AED2CC2031CF18A9E29E1D1AE56F6A449EC3C4C5 -54EB55F42637D974407202438467C45808958670D5A597883591F81F69B9AAE7 -F95ABD2C94F0F233ECFDEB7CB4C876E2B0279F07786686E1D55652011495C4FF -5C09DD11E6AC3419E53E778FC951592E6871964CF182963CD3E2E2ED54B0387D -A65CBF4C3786B9FFB4FC9BE817BA5ADF7C56904E49D76C050F739D8269A0F367 -C07D29ECE96EE7EC9409A5F815F8BB27CD8ABA52DD41D8406271C2BA96F9AD78 -039042C71ECC942D7898AF8DFEECEF2B7D93230FF418B589EABE2CA606B24263 -AF595EA9A092FA271102B6B4A5C2A67E5B06CE6691D36B49A07F1616C79DC6D6 -E86D6734E7C3C50F5D879606627A8F22D92661567C0EF73A1A67657C09493699 -49C7A748B0DE88E6C99528AC4D6BAC414EB025B58CBE163B38308BAC4E08B9C2 -BE464858A6F6450954DA2E5782B78BCC63A28795E07D2C60C10806E21B90B2CD -CFB625AA73BF95A30AB31EE4172EE9976B307C002BE02BF9955F0193507E5071 -316AD5A467DEAE1A1AEF879C7DAC1B5205EC133DDEB5DD6A9E41D9BA6FE56C88 -CC865D56E2F305979AEB7FCDA4A3C98EA941B09A0AABF4AE5EADC62F1B0B92FF -0D856E7EB38F355A30B38F39872813261E71A3D1338A8A5BBCE26B874993AA09 -DEB4FF1D4C3F43FCB1972F703BB7140C348A64FB02B5E29A07CDE55883E4F2C5 -702D5D9FD05EACBB3411584715ADAFC54DC38155A17FE2C4D471EBEF717482D2 -10DF613440926BE3DCC427CB106727B12B04464E3A50A49575321F84F64B708E -86FCFA5921A52B2D459240AD0DB45300715069CFA36E6FB4BA47CCE6856E8B93 -D6A2A43BCFD748872304AC3BE3D905A54A47D303CC1A087B03A33C0763010F56 -AB46520CEDF84F146EE5FB86BE086A472D5C0684FE9A1A633DCFACB6E79CD0C3 -0B1A3B29611306F024F34AFAEBBAD8C18631A68C49FAD20E9DFEE55D14EC95E5 -B5B4A5089A2ED0EF848F88B421857631FA651DD99D87706F4F0FF196ABAC6BC8 -8F7CF1268BE748CAD300D6298BD43283C487D0D6E340E5ADA956498D28AB457B -46F2DF314922B58CBFDA49200F47676319039A68899BE5D2C78EA7A507640402 -418C8A6F8ABD38723F19E856774316EE90E92C3AF1677D083398D640DD20AE37 -C88DF64010339DB844B5BD2A61B298BBE52B0B2251F16668F8E94D6A95DB778F -9B4BF7654EA0CA2A418893E8CA6B6BBEE0BBB1347D3F3B56577C5AB1E76AB97A -E48BC675922974A24E0A75122F5ED8CB912B883A949E9535D41AB4426AEAFAA7 -4CDB413079D7D5C72D9433B8DF1C046E1157849FF78D2C1FD45BC4B4E2927154 -D168E4E33323D2703300F7991165B48F1F95B419B0DC01764F0BE63D861E0E77 -D339CE777BD531C527DDF660AE1AB5E7DD90C430F66E8584BF40D5DF54AF911B -B39EAFB983AA0D038D227B66021DD587EB51FE1DB18858BC362C438F51774198 -10F1EE25B8896097AC44B0E56AB1B341EC95AB570BE4700DCFD82DEA4664BCBA -46E0A9E7C7C99C397E97EA27A5AAE8F6260158235A148C849D9992563F401019 -6460B3526AED81B45B9932700C0D1270689EFB94A5E47A6AA094D9F7F2FC581B -D164CBCBC08CE9A04DB525224D2731265E6E54E278D2BA3E91C3AE6DE2BECC5C -8FBF58627D29CC1662704DC08735F36038E54D783CED5E60DC2CC7D731CCE092 -DED3F30E3B363E588E714F8A3FD537EB4C95B00FED97F9265114181ECFB39A00 -8E060643C6D238C0F8806D9C8810A545620F7AFB5CF3B504CAA7EC13B13BA1EB -04F754834D150B942FEC94DD8A5A6E3AC6ED86E1681BA52E9D910D68E31C0FE9 -6E28DBC93BB5A6111E524D04DDC2B49B8DB82883028CEE5EA40C65CC5ED0D886 -1AFB444D05B58E67408321EBE3D4D17905459D71712F81C6BD43F46D11EF6AF9 -5046036ECA41AC72338AEFB1B6F0EF3CBCF089655C12F564451C605B2DBC0E08 -F3235BB3DEC9322BD75A9928A53DA829647DDB8F2795D9CCD76E764EAA2202F6 -01D1C65FF46D5C8B1044B6860D22BE8B98B56B56F3B54EE8A9C2169DD2DDC73F -94EF440A000DCE60581E409C49165D676E6A32CF9D1B23299991493DBA38614F -76B6A5703FC9C27ED286B5897DD5539FFA1979915D1A768A6D0C40EEA679C048 -D9D870879EE9C46E1575E815E3842D1F1150ECED41F60A30BCC20D53E8629799 -04B60E21FEA41F1D3084E7A26FE0ABC0555C5AD4A92F2B3F691D60D0424BC7B6 -13CF40D7C615FB767A9DA0AC4582AE0C1B67D62E20F3C698D66D7BAC2592E9A7 -F38F683804AA0052527C0D3889E21D6E9DFD8600A3257F80DCCE0D128CE442F7 -0CF351B360DB45B7D04CCEB3457E444E0C54FC5D337531E4131866D6836F33EF -066937C7706617311CE8E1BC54D3195B4CE7B1EDAF7EF57DCE8BF17FEC2F3157 -BCC8A5751EA89F5F9578299504D344C1A5951083609B60C8C83FA67F5F44154D -862DBECFF7016083BDBAA480CFD5C63ABFADB534A7CC8691C40DAB5EDF4331A5 -A3F055929456774257BF44BC31C383E43C3C8E37E18A4E7C499F72FB29A63A23 -9662649680CD9009B1CF9D5A38322832AC98BCBA05C4351007CB2549B8008576 -4B496AC8487B43F3702D58834F0A0477340C9FAC8C4FF9D7D4C20CBCBFD915F5 -F55617D851317330636B302D38140E465F3782F45561C18875BCB2FDA48CA6EA -71B88FA9A87918A343E1F2E0E759884C1DF5FF3E7A51069FC427D7DCB3CB162C -2AE28D41F5CE96FCFA37A5E5750CB88FEE027F97E978EAB9326C64B87FF19626 -9EA9B6A7316CF6FAB3A49AEA2433FFBDC202F6564953AD3546101E295C2CBDFE -A758DFD9912E8096C22C0308AD6705F7807F151628CA9D66FD36B48D49860F53 -064096525B0028D3D6279306872A42BCEE965FD73F9F41FAD18ACC569BA23F3A -F72CCF9A09A69F49A1AD5EE5A8B62360E363E0B1113E008B16D94AAD5551DD1D -E689CD903DB992FE50775033CC10A091FCEB9692D875F7DC7BD179BA5E8FC955 -ED7F6B3A08453B03F75D825C5815815915EA89276251D1D03787EE0ADD5B7144 -4076D29801085C7B128C5491C7A2DDEAC62B54330DEC660403FDB73A8B267094 -DA5BCC57E428FF59EA99900E59A4296C676CBCD11C3EDBCE68077224D7715999 -36F3D3FC2240BC2CB58A5EB06C5BA59EBF9823AF6FCDBDE93CE2E1A5A16B02D6 -F5ECB676FFE824061B02FBA31FE7FB7B9E9E065B9AC4CB23C96DD0764A6C568A -D858FE44B23F04284F9009BB75751D98BFE5147A1F7184FF8D36AA1CA978D694 -F72DBA10074ED7A82B322387A91E1A4F0070B8426074A584ACC462D284860457 -C9BF4790C5FA7941183F4D9C6D0C7017F3C288A8E2DD5367499B1DA0D2A88925 -3F2A2E5AA0FF572681B1C92E2589DA97AA2FB527285ED3633C6F289C67B0390D -50B884BD5759E7EA412F75592791848B2D9F3CD06497440B1093EC93095A7C86 -6AB1E8752CAD96C0076B0F9EB4CE2220B630EED701D1A3796A4BD3FF35293934 -A69CBB8A74CF22836CE5200DC14E5295D6DA56A3AA44A004357F575E5547ACED -A1982AE3CE7EB7A59840DF825F970A11E563AAF3974F547F806AFDFC6F0F4BAD -88F56A4F8510E0AE842B9BF551230FAE47803AC5A959DB6B62F291C6A040584E -2C4A02D41EC7DDE254F21D6091D62D8598B6697744966BFF5E86CCE46D9AF24B -6C9AA017F944D42AA02F6775CAC2671BF2D4EFAFD3E529EFE3A5595F01D66408 -9513C728725B3CF6211808898E4C28A3F643B6E537D883A738CFC13B97FB3D23 -9AAD448F38C6267D36C0FA594AB6FBB577ADFDA1722A9E0B598432C8B4E2AFF0 -38DEE9F21CB910657C1AD8BA2C821767C0158D7AE3DEEC883372DEAC9CE7A2DD -C440B233FE7093E2B03E702F57A082F438EDACE37F29FE29849958C5079DEABD -7954EEA31EC67B0CAF068FF58C731AE5A77607D6FE13472C5A70C111177C1E99 -2657B20BB0D01C7C638A1E588CFAE59CB3171B685522FCFBD4330C941079C9C3 -AB5D5FACCC98BF9691DA89AF9691D20154B1805AED841931700A3F7F25924981 -F6521B0C6E55C98AD91ADEB1174786A6412671C602DFBD482462AE2F1DFCFE28 -7AD206FD98F5238665DFA789A4EDCC298C64B4E72C0C1B457BD64B4479413356 -2DB85E29E862C2AD57F150E1CA943D85D71E82219E735C7D8EBACFEF4DA9C725 -EF436AEC25D36C9E9D32C67A062605E963BD036886CD9688F7EFE6434A29A2C7 -730F1C610F3DBD29A4A71EBC3D179E3BC1F48657E2DD6800E5B1EA7508A8D439 -11C3CB84980DCBFC33875E20784CA711B061AB5957CA59B43AE4E4A44B361349 -823D45AA26B51ADE783ABF1C32E49DACEC7DEDBDCF2648ACD5A0DF02BF7256F5 -FA2F054B79A548996442DF9205F4F3F2C27607D11B5EB4080B3FC1BBAAF8CFE7 -5FBB35B87B540546203FBD90341CF38AEC32B6BB46ABA368EA42C69BC9834A8D -E915C163692174A5D51136308383FA693024DBE6552DC525BAD6CFBF9B61D2B3 -61FBB94AF1507EC144591C621B8DAD5452BD53B0BFEF03F6B9D53736FDA5689B -A9FF78255396DF20AEE452D5D3D2978B2D681BC60506ED10145ABE6B719CA44B -6535DF1E593498F8C6742B84BE204883ED8D8D624D52F0FDC9C8AFE1B7808519 -1E056CB591B6A2DFC4AA44604AFC512151FB0D3A3187FE57F409F04092035DC6 -1164C06205083E54B6036D9AAB673FEE23A3688591DA15FF698B25C5B8890540 -17869CDEC5D3B4F12E83F75C164F26FB41A0919A412A447E6DBED19843A0581D -B73610113FD75D28EAA34F2A47D99C13EBCACF96DBDB867D83EEB53488E3478A -63A2EC583536A3FB63CB406078595F220F5BF53956116F9FDB05A226FE01EE4D -C28A48A250CED2AFE801BE10029013C9685D60F6F74628A5F5961E4708EBF3F7 -1EB5DF7837356E20C075DFBD15D9891A1A9934A585C0F881D104BA927A70B832 -5CD9EDC7E9CDADAC7BBC4DB1ABAF6547C3BC08C6AC73CA345AB18A9651151CF7 -4752C8E74157D3A3575D4D81FB937D0061192D1643741CEF3E218272FCDA17BA -2B9FB73A7A008F91248F5C57C91266CFD1E7119ED0BBB80D009330DC501CD8FF -423AC58BC8E1AD0813D11354BCE3DD1F511115C9F571E25A58E1A42D4B2F5C6B -F39BBD15B1CCAB68D7C8E75634C69BAC05D3DA6A2D54976CC3BDC370F3274326 -98CB0EF0B999032718381A4BA16220F8088E87F3B0282C8011BF2A8BE5B0624F -10C83F79C1623AB3D1D62F1A030DBDD3B400D64BD7D1EE88695B5EA257094B71 -38806AE74E3CBB7615710E2D75428930EAB82417B11008D3278C035152B527B4 -44DFDA85769635DB0650CFFFC6650ACF0E7873A53464C5BD41889A2A89F3ED47 -0C4DEB5AE511FE61870B9EAC40952E531FB6216E8D6CAC1A480774C0EDBDE9C0 -B7C880E28F9FC77F853183B4444EB15880E8EE0AA9BFC908CD9CAF6E16921BB5 -8675F3B3A4FCE2B60EA3A11CEAE4D0512F383998001BFDB48EEC41A6767B55B5 -2786A2D2A35A1CE437A29B023AE6301D85B5773A31348976AD970556AA208158 -970360327DB5F65E210A9D76525E44FE9051E71C0262B84F2C54E0EF4F280FA7 -69511C576842AFE25D4FDD651E286A94728CB56DE3C79FEB6B4727A11502F876 -FAABD8DDB97AC18F3F19B272C4541D1807DED62466389F92AFAFAB9FED162630 -6104796F4B2C9F26BF46F94100BF569BD3755C35CDC08A1C5F03A4324EBA28DA -B2A41FB6562BBB85B6444B98C90DBAD78D79FF7293280894AD326FC95E28B435 -BB74C1B7DC963D201F2CC9B5C224023D77C0B2C69A497C5314DC418B6519E25A -197D85EF1430FEB760478E29AF6D9530817F777384D3EA17FD4AC22AB1F81B5A -19C853EDCDE39174062A4A6D0DD5A0206D6C577D148E103EB5BC30890110367D -537186A9E8D70AFD70 +6501DA7E6D96E227068E993DBB0072F037CA411E43A07E33F7B09F2857AD105C +08EB767A9F9C2C040F3E577B74DD991C4113C44027A60B8183F23B527D74BC89 +CAFD464A929C40B5EE63D0B69B5DD928C52D0F9839232AD4E51591D15C32E331 +78CD45AE926E05C5FF0375F97B4329729976E213EAC877D8B00F85E3D589C589 +24507F435755EF67755684CDD0C0AE8771E554CD0EDEE97B77131D02CA1DF7C1 +C7F448DCB5DC4BF378B0317D21F512226770B611A3EAB0AC35738266CD03C04B +8113AC9706A39870A7371832E9955BBBB13FD47584CDD636744376E20A2A72FA +A1B554624DE8DDFE51ABFE1BBAD17BD357DB08B177AD0B33D864AC4CC04D7F7B +50BF3A26CA770502D639D64FE5A198EE3D217BAD1CEAF6195AEF54362334DEC0 +6E27B0AA124D5BD99A2FF168FA3685EFA9BF5809EC76F44FA3BC2C969F7ECE87 +C71A3EFC3256C2DAD0BC78570578B95A44797C965E963285122149283A77E3C8 +D4C553D1443D094DFCE9E9C9509F2F6CA8A58C5D63471A47901FC8E1562B9C11 +4670E53FF45F4DFAA6E3A27B4F955BD43784C5BB356A6FAB3CD049B9FE5275F8 +F930F83FC21579E61E7F20F05364B72371E1112287FA5C28917C5F98A48AD51A +87708812DD609A92FDB764D710DAB450724C84A28513973509C9E4CD3CD50A64 +F0CD0DB6A9FA459A178E7BF67D46A21B8EEFEB19FEBEB453D490EFE90094C294 +98A246B27618A049FAA90DD355DCB1AA6B602EB1BE472125791CA0E04AABCAAB +1BAFE92760A10CD9D0B501E55D3B2AAA76CFC374313C4BB5C765C9CEF1E7E5E8 +081D45C223E1DA398F77615C3A44CB0391C505A070B9061C875929874E32EB44 +0D9692148DF4A77CFBE77F7D5D70B239DD2A5E681097ED9742663A914EADB605 +8B1C0033F1B30C06605AD37A826DE7848D3B59779BB998C3E57DD2AE80B7BDB2 +B2367579E253A2674548F1B717A0CD84E5CA6ABE166CE2F1243A4D22AF519E6C +1C087AC5F81236BEDF794064D7F1B7A04EAFF6C628F7EEA7943B9F497E172E28 +49F8D3B3E41EFE2B0BFE65E72643F14A1853605D516E3BF7FC59C13B1134B9FA +7D9CEBC9608A66886D03F4F5C35E7241D9EF4086250CB5C00F7D94C0B6C7B639 +A9C198FCC41D6EFD89ED68CD447EEF62F196A4FD7A7C124557C370A5CCF9E926 +592FAD165DC03F37FEA13EDE22B64694BFC42B733D8E0BD9EA4976DEF3099048 +CD0FF471F72F1BA8D67FFAB61B4FDC8834CC475713A3D144873808B51AD266CF +BA55B8205BB40FD8A3FF28738A9990197D17B753A57B8FC24899500128A205F9 +5C8E0B63891C638B3F3E3BEC0FACBE02FD08EE9A9489CBB002E8BC0A1DE01FD0 +10A77C7FB9ECD009B61389841ED59543C10ACA8EC123F4B96F8B6E22BBE3ACAD +8EDC13394A1C10D8C6971C37E9ADB3B5CAE2A78D9E299FF17871EFD0BD483F02 +AC96C84F5499DED22B14F13A57BBE20510BE25F17F51F299429CFAB7514FB5A4 +F4173691B1CC7775F9FDAD392B0D84AC6DBDFAB9BDEFF67C56DCC3B02D954661 +A07D765C4A4EE98F58B13D28F3DAD22A896BEB1779B0274433EB5E2E906F9522 +96E74A9D5867CDB4B4858A80DD69532A44B0BB512330D003B188FD6B6F724263 +F011390DF160D0FA044A6F0828DDBCE0E2A7E956D7E09C6546601532F053D5F2 +62069615E3F6683D2B4F0A803E1E66D499DF3819CA3B83C469A0468D5CFD228A +70065B2B272421C0CE5BAB7671D69B4A92AAA802AA863E632EB44D2CED233A33 +3A09DAB712788E450B67D7139AD9BC3FDF80624D9B8DAEA438C0E6B5AA07684A +D11C1452F17F5E042C8A48BC13095FC3C078E9986693D1D9929C337B8161ADC9 +258CA267C9FBB136B09C6B84879D47EBBD5D6DBAC674E659FA3AA359CE69DEF6 +3D6D038E785D1C8A284162CD416880DD5F573D563316E5DB788037B683A26CD8 +C60B75E1A1138EDCD9AA998252110177F2A1CFBF4FCC0EF7AAEF02ADDFA74628 +AF11E50A8A851174B6DE8AFD381EB48B28003EC913183B0B7EB0016C84994266 +26448FAE7FF37B6EE7604113A4FEFCF421E6A4E0F98B7180A64E9946CFF2B4CD +A92B51C8803FFEB3B3C000DAD409715021BE9414CEBF0987F3B4456E7C27EBE2 +A3D8D250142DDB02A4FF49D9D8A67FFABC57361D619BF8B80BBECAAB9B576FBA +A580FEB7FC6F9FD556341025EF51EBAF765A626FE93B988F0C33CB1B37873C7B +63E9E855D07396B8BD361F4BE0E627459FDEC7B91472D22B574F546E41674D63 +62DF6225371C9DAD0A9129DCEDC89A81489708F14B6DFD79AC00A0DB7AA7D93F +EC5BFBDC17D06D599488ACF137AC92C55FF3DE619E6CCA4FF633919E59EE1FE3 +3D153E6B8B8C1CBB3135E0025C4BB8A3CDEA44B5FF7071319DFB0112982793D9 +860A2FC92638B7C30A944685687F8DC719B0048B375F801678D9C936CD3C083E +F5579977D7CC4267486DE97656FCAC59CD82B4DE3032445A30C8B6C8160C6016 +080AA9D647BC6649714A2282DCDD5FAFEF61EC3E7D96D8652FADEDE39BF2EBED +41DED35B9C2E3C76B4317BFE5262DFB14BB625BBFCB103EF0F67B4559E0222DF +CDC260F22208EF73515592B6D397E5C286C831676DEEFA29A8131072553F238E +5E17A0E3A080AF0968362F54F5EC1990E5A3312CD4E8FE5470192642273040B7 +9B94E435DD6A0DFC69947DE35ECCE13E14E64D879E84801DBD65F0C123A3F0B5 +CFBFB6ABEFF14F860B9595ABC25FAAF7AA20588172E46F52E77D4010036AB4F7 +9F0294FEF7E66766DA9270C27FA2B159E823758A57614489C5C5D711D4F3B019 +1DF3D1C065E7592E8D342C82C740C384648CEE7DE0699516BDD298A486119E2C +A567F5F81F76A8160996D5BD57A65557A682B77BA241B24348124C0B7BECB5A7 +60D6EA2A861C99F5F617B250C0FC760B1D81037A786166A75BF2408CFA77DE01 +152BEB50921B3624517F8023CB111527CE517C6104593F8F1C0DE3C4E6AB4E47 +E7419AF7553C784A6DCA3A4DE233245AF0F9CC749F9A7D81E19784E9677D6946 +E2D1F2A7C407C9420225A87D9E94AC52A275D8A19AF807FBBA36FE78E9C11E66 +D46602FE2D7F0E63D1E21D099B590F5EDFEEA0935C9C8056E02D57F510E71302 +F3E0F93DEAF28B3EBCF46D097F5F065B28B506392E17008C9FD21DC8654EB024 +1E5376C2427DEDD6C7369878B9DCCD04F35D594F3CE144DAD63FFB6E2AD71260 +EAB7F19290B2B8883B0E97D8A8B3D0D6E9B99503D8853223CABA8FA1AE289B8F +C0164CDC832069D7AAA6DBA23B9520ACB4EFD0145F317DED15D9B317646A9619 +F4EF45F2389448C1A7F75BCE53865D813C97D949C9D94F225C998A1403CE718C +A3C63CE6187801D3203CF4EA7F43440E2D620DFD3C1F7452CD9EC856188C5CBA +FEC2D90A2DE296D850142DBE6D50D5D43C7AA4F6207B4E5A32CD0A197DF729C1 +0388636EBA410A9982F9C16B966498BE61FA25DB0A44A4C24095A4D0E92305FB +84AC47D49C99209AAE281EA88E80D234EE1CB834771F32DBC1C1898F86802F7D +D86B6ED5588E8029809DBDF8A9E5139CD8ABDC9BE14F073755D40E21E1BBCC68 +9DDADEEA9F2E95480DA9F0BE40F82BC18849C84216612D8E42185061429A1908 +A8BBF1CEA0B66070C4EBDA360AD5BCDD4E636396A2F92A6012BDEA37A7765F8B +7654509788847E0ADE8EC67F87A40037F196BED1520691B9DF0D35EBF99D45FF +B3669D2817ED8781145C79979FACCBF5DA3210C478ED890C6E404C2C9D48BE5F +8AAB63094C7ACFC5ED7A4A56983A23C3A617BE52C0EBC20F3715D00ADA200ECB +13A5C9762670E3A04A605BC830F9A8DB0D21BC4ECDA28ABBA03824B98F4A61B7 +319FB56C9936E2AB79C954EB1A36AC8798FA450DEB871FAC1170CCCD80BA8B4A +AB3A33032A4E2FC0E938F660FBE49F31136A1DF5C9ACD2C381B4D1031B4F3082 +665159691064175B7E6F71DE674B3ABB20B3370EA41AAA3ACF6819FE0FC3F1AC +DDAB954382FD7F43F06E0E1B92B003CD788D69379221A9B380D1588A4CADCE1F +723BE855FFFB74D969AEB11D48A9398052F2A15BA781E3175B6F1FE7791D925C +C10C68B337E9C7DDD9D4358FA611D03AA4F807031B4CEC86A9C0C4CA284D5387 +8682928015EEBCED896D1C427F498995D7B27250D266E901C875B7B523950E58 +E5D97AB87AAE3498495B5ABA07E5A708645F11EBD3F31CA38457E50BD146B951 +08AE0FB57C3EAD7B6571BC0686033D63A4360F37B4D752A25388BD0256ACA0EE +7B1229DD26AAACF861608FC6CA4AA7F1E5DED8EC122960514BB35B2169BD011B +9C52F4AED9FA67BFDFC2D7ECB350C1F2A21FB781A2BE4A9BE7C53728D6FC08AC +10F48C85F84C2D4B5B2BD8113E8816728262E4685362C405EC1334F6CCCBB0B8 +0008507E7B1680C58B142635D618032D967AF2925C52613F6DEA30C5F5CF9936 +7D51B1AD9A1BB6B958BCAECBD9BAB27A10D4A613EF2FB57555151977317EBA55 +9C0B26A79FC44C7DEE4020A762EB209E6B8ECA0FD458D46693F8D5B0A4B74B4D +7D9FE5330CDB909C755B08F8243AF107E45D20924728554B6DEA593ECDEB16FE +BDAF464D62B55DCED88C9F1DF29A9DEC86AD386D3414E036E5DFD2F6CD76386C +02FDD49F240A3A4EF42EA5BB3E6DE40C52F0C5A1D988848747E855D1EF8A625B +B5208CE190BC2AC908A067BC5FB8412AFD565D68DEAD27B620B47BEBE992A65D +411159D8C62B8FE2879CBD189095062A721810ED10D619AD4411AE1B4AA10F22 +D59F561FB19B820375427E88F49CB3487A8E695729EA18A056B7FD3664697A17 +637BAF4DE04F4ADFDB90D3B8FB880638275D997A819A98798F64E2F627783962 +0F26680B80FCA21063C1A05AA68412C285F14DF2EE53D8B7751280363B727C63 +A6ACC9ECF95A749CF31ACB68423864C43CD3A668F15E6ACAACDCA21762669727 +F32D64DA686917B8B458F475600C96B9489C90E2EA0F123DA95680D43A4C7627 +E5C8CBD62EBB6AF8CF16940A2C95DF6F145FA4A506B9DE3E61B47F9E69CF9A56 +CE97940687237D672B1C6850C4FA6EF764E65CA7FA61A7C4742F7CB085370941 +82583305F2E640C5C1EBBB180B51EA12511027FDB10D895FBC33324481DF19CA +5461012802F49939FB01FB584979B10B7EE964A08F2FB54E1A7402BE6794AE65 +B2DDE265539D4719AD2EA84F7EE7CAF39CB44FF60992B78B6A2A8ABE3FA4BE5E +5483DF4E6147EEC2A0E6D7E30FFF280B871287897CDA27472891DD56903B9EEB +02502C7FB67BD7493276F59001E898B238FE68E8F006E737486384E3C0734529 +A89466BECBB8987A9629FF017D5B3ECBC73B725F1BF980328376F7F984A34ACC +D2138B9A7B05D501075D5965EEF2723A13ADF9D0A1BDE62C2E05DF9040B860E7 +57B8866DDA027E5631732290C8314A798B14AA00460168F5FD21E5BF0359B8EB +98A13D8C31869262B48FE7867E40D11C8AEF00D5BC3A3319F6E8F4C1305595B5 +4DCD9EEAB4B7E9246ADAD681892F3F90685FCE979E1B70E007EF18D258C04371 +3656ED8D71FFA463F13C6F7D397A67A65BF61EB149F65950DAFEE88E1560C0C0 +6A76B74A2C0F5EB83898FA9E9BFB30C29F98626470FF4DA7D9692D5946316A63 +D4B5F7DAE73B996666EE0CDDF24A6B5661B1AF3520D8CAD0BD6F199440E08ED4 +143CC87BA9EC046F6EC2200F8D0897A5FED31A20BE642AA4032D67E3D2593273 +E376396C63863071C3BE09C86AB6E95D0422A8BE2F83080FFF9235BA42EB6BC1 +2AF7317860D5AD37836EF4FC3A479C7DC6219AF5236C84B01C84F068B94FC917 +9F472B55AE01C3FCF2A185408C68A47A58C61745CFC427C4586F8C4C5029DA0B +6E527B7FF54828E2AB0ACFC05F68CB5056DE56A8E07F1393F472250CD7B2D53F +3BA28DD9B00E6940A73C11A3733FC4BA6F047B974064E732764301EEA31992E5 +48AF617E9CDD85622EB62C232DA13171C5688FB8B4C15387E112430B966D70D4 +905029D705D383FFA623AEEC5E6D4B1FCAB71AAE687D41A76774AA0EFD5CB3B6 +20730281CEB8A6C14D91FF268275F51518BF58215A58226E1D537BAAADF99E70 +0DDC23675069ED0712A441253D0502647BE3976DFA175788125CE7133A5CAB96 +D01668CDD304B0E407F3B406F4AF1137019D0414CF21E6C6145DB1716FE6D142 +0009958D48C9BAEC214D265EBC47E31EB5799E368A07989036D554FE045E2487 +BA7383B0F5A55463BC6F93C12AA547348D5B5996AEEE72B78E9B41B11C383DAA +9BD505B276BF1975AAAF800923EA094E2D71470EA66A64817A213C00F479649B +2EE4E6C04D316012F382D1C58DE9528EC20D48931ECF5C67AA129FE99AAD3735 +27165D08800D6DA13507B4E23B166E8CC86FD6A798BE558513BADCD59E9AEF6A +4D90A3A240EB865871E6283EB89146A755D99280DE261C24103801577F97A7CE +116E11A76450FE442B10483C24C71F8EC626E80EEC2563994CBE6E2ABBC5AD7C +646D4EDE35E012D77431D1E1C74949654C214E7F42ADF09FF6AF023427A73763 +25BE546EFFF1255BC9384033C8E929811F3E5B74C195E76E05ABE877B3342209 +C53C57F84B61B0333F1D879D81512C144E5D9E4C44C7F73A4127EE89060640CD +F00F2F90585239D410279A0CA9B0416283CA914C4CFECB88EFF11F9421874FC9 +CF5B18EECF81311B4FB7AD8B8D0896149AE5905AD03245F4283497DC4238B47F +E1CAA9BD5E54AF6411A09786DCD9180A9BD72AD71111E15D1A4E780AAEBAC100 +3D5AD925DDC66F895DF0A06192366578517F40615F43D4D392A44FE49729779D +D2D5EE8C8E4956C87B0839362DC6DBBBD8BCAB0752E83AB3FBD822D91FAFF626 +50191779679CD868824D5D9AA7F0806807291EADB1EE2C3E5B13451EBC7C177A +13B724A1D949DB91D59F721440FACCB2B5853F8FCB26563979AFE7794EC9DBDF +ABB7D079598512952C95F676A83239A42BDC4BCC383849F9F1EA1CAD42A90F88 +57AB82EB636C0B83696F210E15CA531EF55DB48E3AF3BD5BCEE0A99544DDC2AF +F32622287FC2AA1640C28A45FE089BBA80D2BBC9806E710B39C70B5434FAA785 +3F9D0ED0F5150535EEB99B550C0A723A1E48E72A942BA1F18CE822ABAD09F471 +4E7D255CAE74142C1C0898FF0BE5B7D6CBFF4EA5E2CE02EEB8A621A23A65FF1A +F569049E2FAE1960E8BC49C7EC6E28BFC4AF22A1C4538BB7A42131546E584DFA +7AC3B37C602BAA35ECB977991F613253815C3205B0558A65E110A962736AEF5D +DBACDFB37D69DE2DCC22FBAE23B8CE4C549FC98C10B5473404D5C10A178D8501 +BFBF7D4A7C706D3F194F0CF2EEE262095EDE26F660D6A65E6398AB3EC5CA4BDA +3E174A0114DCBCA6A5767B18E50EC8B1AD197277A1C8671272F2875FAA8E0CD9 +D8B58ED78766221FE5FC1C39DB7F803DC6A3154B3BCB99E97068937A6124357A +9ED72F2C36C71B9121A07733E5A971D8A9711E54508209AD10469D9FD6C0D1CC +97B76ECD096A9F0129279E1D9E5A7073CAC878B70A2D3C701B4F6D739545BBD4 +7DB4D8048A8389B13B4BE880E54FDA294AD9B69728E6D4F794E2B08CAFEB2E05 +CFF5217A76AB1E14586A28B4BE3A0A647DA4C3478E97A23AC12B7DD368066676 +14AEEE971E40A85BED83E7DC252E8566EB31BC911E412ECA9D19103CDA8183D6 +5A1331AD51F2896BFC55A4109385A8A048FE7B28FA9C5737D5CADEEA49120B42 +3AF12BADAF96B2C7B9DA0BAB63CAC1DF6FACA4D5536EC2E6B7BDEF72A2E4FB66 +961D4D6C87DDA9E37F0368245A7D9A79C4D7839BAB28D72E7231410D80059ECD +155AECBBF2C6053E9424CA018DB652FABE8A259DABCC556625ECC2EB0E661011 +9B6D500DAA1FD96447A2C94ABD37FD3C2FD136BCD8C2FB1442DADD2B53ED2691 +05605FE149E6BDE13E65C61DD73F60884B2CAB7708B67C58CD9530F6DB72B203 +85F0A3A54AF9E4DFB8561998D474127C8B4C480925B8FDA46AD3B460FB9288EC +15683B06E33DFD17B4E5036BBA272CEF7B9A3AA2337EEAE07E5362D6E3DA5570 +4A095B050D52A6C7828E6179781796F6A312881A45C10FE61213DC4D31FE9112 +695F844F4FFA4CE6FFB11D301D40BEBBF9763DD93C3498CDEA8FBB323CCE7B67 +A7BCD6CAD354D6BC870B19CE8346C2B2056693B8DC48CC516C64D2F5C2DB8024 +2FCF14263C49FECEB122079014E1CF5930E0737A9A4047410BAEE6FA1A09403D +6F2A0571659BE21088C6C25F36FF3898FD7002959402522E3692E59E89DBF5CE +9455C3D11D1D865A38AEDFD7D59C8472854B6659BC4CA74D142AC771012EAF42 +59834B5733DE5F7FD91561A99D15EDCFD2B210D91BD266FCCC6AFEBAF6E7DD24 +39B4E375A7FE5104073A9149DB2924E81E4ABFE41E69343DBDFA343CB63D704C +19C4F5C3C0BD8D01B1E2EFBB683FACD1A31FF596E1236DB07D571A9B80C1625B +55A086420178034E371E58768D47DFE37607DABA77FA9C478EB37B4C1AEF63C8 +53D74B82BB203DEDEE409834F2DF642CE0953AB0085EB15F79405AC288F305A1 +00034BFB8A201E60AF386ED0317202D2ED39C750F6D5602A5B5402274706FA03 +CCD598091A25FC90163E5B4EA798703F98B21C5F2525443E3ECD306D3D67FC6E +1FED63B59DEFAF45A8DD17009AF9A4264F1EE7AEE59A04EB13A7A14CE7A1BACA +35441C393B1FB6847516F977A137970BFC4ED081B4A96F7287F68B3D3D1DB704 +AB5F5D818548E1F49560776863A84D91938D8D1C7B3FD14D95EED4AB89F689FB +387733A4175094C396A5F7540599D3D3FE934982011B5082ED7FCF061BDC1C4A +C3A426541DEC653F0E1AB82A6B9663E4B9B6CF3A3646454CF88F26CEEF19C6AA +00B735A1562D36F8559C4C27D87F0C780C6E627BABC455AA7A2E38B270BDC791 +A4560EF6B814AD5B2D3D1C1B16C597B93877457EF9956BEB125644658FB30662 +8CC9236D86BA636643B1DEEFE3C696D2DABB7ED5688B56E1C99ADADB05F99868 +5C3E1FEA735EA4B3AB110FE00C3F080A69700175C892310A2CA1FDAEA838B8D9 +0E906FE38F27CB27E4B451AB0A9AEB68078B42344C7DC47818887C93B465DAA7 +C3FEF4C746B52F8AA5B5006A8B0E262D0EC05E5B22027CFFE53C96EB8A7208BB +768316DDB12474B7D9186CB67EA40B9C059EBB6CC1525E86E50259F82C5146B8 +53A9E15FE0516CF3EB44B745C105548ED1DEF13B55B4A41ED5EAC4DF3BAFED0C +C9D38984E8CCA223772CE195679C8E9F5A4773DFFB8392F2E32D44A9DC6C83D4 +405C56C14F77B9A693A1C815264AB52BBE0410CAED811F035DBBAC7AC81902F8 +7F74C38CC1F636799E7B7C2A2E0D31F63D13D86C094184A85F3A5166D2762967 +C3409C01D68B9F0E4DB9109F3D83DF452AE4781DA7F20AA6EF831ADA00346666 +3CB7151ADEADCB9A601E5BD2FC4C5B89C058A5D0DB1E793C1390BD9EE77EF7E4 +4B3F2F129D2090494758836C37623F1F7C8CFBA716515FBFE20EDB15E3A7C304 +62236A0AF4E0A1B64F523D5A60E41ADF7C64A08D472EB385E949DCACC048E74A +3793AF4A2B3DD6FA69C95AC5B99267D982F7C9DE68BD4FB12DA36130321080CE +349A0374FEA9BBFF6C8B8EF5A9F5DBBC27AD4C5E9532BA3B014AFB8DB5CD5F73 +1609AE62635E103ECA3CDD33A2BA7489179F540F84DDF5A551BCCCFA991374FB +08B1CC61600B4E2EAA674A081E5D4BEA00423B9958B7BF78373FC42EBB9C5503 +D831ABFE2BA3273E9AF8808203A57D6A85D43B70A3E75E3661A1A590510568BC +D492E16C5AD8B5465460CC88136721FC78A5D9ABBD4B09BB244CA5735E21E603 +15DA396C26579FEC38664C53BFB82127E67EE3A9535EB872E028EC752395A452 +23B76523DD01D40CFA7F0F2D83C686E8A1E736088190242265A98A96A344168F +47B11A1856D7060066C62418E46E7B1AD08AFB814903F4389F923A0EEF2F0EE6 +F87039B6428E475EAE7E0205B52833BA6C475E3AFB30A4C427F61DE9206FD463 +6D0EBF19C889943901D9F85E25B04FAB888BFAF1B62A05F7B2DC6B2E3E0E8AA5 +64C8A5B2D6C836AA48C41F7ECA82FCE854C649B9E517FF416333B904A3D057B8 +A709E21BD0B4AC6CD40A52878765FD27135AE413A7CAD83F53448F31FE7DEF9E +BF12A42E6F644602BCC57AD4A3D14D59555AA77159BBDE2460524436C0D29DFA +EB826EF9A2EF9494E168F07A9A31D7B41C121ED1BEAF83794F4C2465A16AC9DC +82E512E0AD888DD1C7A79C125676133080958D8DBF18240DE3D178B0E38B9CAF +8441F4F647ADDE776959B3C0245A203DD12823351B7610B2185A918A46C934E7 +3EE42D3072783CC06104FBD2E3593B96BAB19A0C487C74E20A5A402A0682E905 +780CFBBF0595D352108462882D97675DE50C198B39AE710A1D0C5F8A6BAA4270 +D59C8BEC72BE5F9388EF5CAC430678411EDD4C898E554720182AA7EAADE98776 +7F24FE7D6C7336F6268BB11CB9D7E618FCD3B6ED88062AA47189A97A871DA1FE +2A094C7628F2F66252C3C6C527B3F7D0C85BC70CC6EBEB6C4778E288B9520942 +1D9234C8CD1EDC5819DF14E18DF8CBF5A67087C508EA8F557943C0DF568B10D5 +102EF4CB1E39BD48FA9BF59A6E73D9B9FF4AEE56BAF7E92ABE1750620D040066 +60C8A8850670FAE63206E7D47859C4FFBEBE50B8F35B59122EC66282FBA0E988 +0B9EA0BD76DA9A08B87DBC99BFCB5BF7A8C3748CDB90C8113DFC9EFE5D012B85 +AFC31778F604F2E6FF75AF7210236BF8B37C6DD907E69B632659800CF8DFF365 +7B6B50F69E759739D5D7A5BC3B3755011A37F49E87307E8930541665EBD4D832 +593EBC69993F2360EDF0D15F716684A122E3A91E2360AC91C69ECCB4504E05D4 +90A5CD814C0C91AB257908A73D4FF166CF3BB4AB5A49BA43AE7B841B2F11604F +B7BFB092F9F2905B5FA3A63071BB5C067B76E0FAA460BE7C7120C7178A39F175 +1CB520F828B4432DF331B9926A19E34FE8C9D3733A991D0CCBD44E37BDBDD68A +3933FD1E1C3550FA3BF091268A2D79694F0CF648CBCE2FB9786CB8862C39CD29 +BF9863DDF689F11C81A8C15F56E5EA6AB807941A8B62AD9F0B1D53B972EBF407 +7F189ED8FFA909C63B5ED68F5FDE80ABD9B3B2A220FA19E4B2B6F754BE6F7FD7 +FC87472C631D73B5A037C594550DA4965DF18C13237FD97AFCBB1936E9186669 +2ABCDE5A0192747066DB1B605562C1D0E2CAFDDCBB1148DB280377714807D4EA +DF41E374C3A90C3EE40C55541AB3F594784CEA5142E0BADBC86E11667CA0D14F +1285406D887BFA2AF299D2CA887E2A9BB1865D705B6611C90C2EAD9BDB229EC7 +20A483A7689547E7E2B82572CB0D9249CD049C0121807D54CF4CA12D91DD2A5D +AC79AFB6662432794475CD0C868CE5094B6F1F733AC7641847969D9E3607D716 +4EC89532E0FF1BCAD4B90315E5EC686DE83C71CC4E6DB1A3EF5D817D88C6E43D +3733C594205BEF082D287824D207B3F581DA8FF402BA3BD9894876F4447771A9 +015C897E61AB2C9E6648E202D72330977396AE7419340B8D862F7243E130D81C +C54578EB850EAD0982861EF6CEE14C9B761D0AC8D49D30EF6409A699339D0241 +AEA334F5D303593B29EDFFDCA8B2507E115525AD81FD18BB11829B6620C8C204 +AE00F67565AADFC10827E228BE6AC8A2D496406B286990DE0A016D8B73C72939 +B385CE4D3813FD166C6F5AB1A534E594FB4960B99E6BCCE5D466BDCFDC83371F +2B4469C5FC2A319AFDB7B98DDB078E2720FC96594DCD16848EAD3E7139CB29F0 +3CA5DFA6F6247BD471472829C4A80A966B92A1282A5C787814E9CDC68DB5D14F +A252DD6644F50840EDC5C05B5543C46297D2F624193404A97C5A43EFFBAB96BF +CDB08D19B6D2F2617EA2459E86B7CE5F8C41E5301FA12268AE44CCC0D731CE7F +B3F9533244221CE05C640A2803E67E20FD163E9F6AAE55D1AE28254464EDDE6F +DF64433C6717E06D7A3A55EA53EC08FE36817BB2695DCAAA4A70CE915F2AA103 +F5658F2112D7D79687244C054B4E57B3312B58C31CBBAF9A900E507D6BF88E59 +C8BF0715D0AA16DFD1B670C999159CCEF37A39C25FBC8D4D5280C6ECD9B6CD1F +501A87BC912A398D7959460F8470677A36170BFDAD24E5A80B59D03A9AFDFD77 +D29D471C368848490486B6D07467C525F47C59C548EBBA09AD530C87494C0C36 +0B266818D4BAA382434014B5AAD24985AD5488C5B20216A4BFD5DD3ABCF68442 +2A34CE42B2AA9B2FFCB2C69669F471B5559AC3B1E315CCF9BD8D1D596C606372 +C60AAF7407900CE28F49611C7837C442FB0A45D116CC393771B603584E416ED5 +6AFAA3A1CF5AB1B3E4C8844F87EF1F8B3C00493E44778F319B73775DC49908D7 +FB064B6937D139D056321407A61ADB0FA3DE34BA0EA64A8FFFA5DD00B4198AC5 +DA6BF912D0A61DB73849E60C08009F61135596C659EF2952730378C6953B270B +1B30ED14094F3425EC537E034AEA44A35880F606D9494A4F167CF1D68E021195 +EA95BFF9B1204308EC6023508D5795BCBCA9D0B5B4713B0F0EA3742FBCE6EF5B +5543520C2E546D4AACE6772CA093960B45B6502A14C6A5207C2E7F42174AEE2F +50665F4DD1D84A33A327E8BE643DF277F2C217918F70DC9968F2502674F5C9F1 +54BD713CDF1B40E62E36C1C9719620F45DDF8186DAFDCB6B6C5AB8CB4C16CAC8 +DCBE6D2C08D2CAECE8559E6AFC76815ECB8087092D9EB0E93D31928B53373BBE +18B838A8738723333075B9C6F314FF6269C9EC139A89509EC0B5BA1FD1821995 +03A20682277AD86350BA5E0A4A059C718E5D77233198BE6BDD319DA1B92AA22B +E2770EA17130E581BF8C6D474F8C75BDFE5116D742489307875E568474C63723 +81F4C22BA1B0B84C64BA2FA9575D08B023CF358F4952A8AB38916BA1E0EE5BB0 +FD8BFDD642176954639B040EA3F1F388C0CAAD454765C180A677DE7061634A04 +5A58617F0D68293EE2679B92AD7ADDB8E4F491D8A04F12FA6D4927F8D32FCDC4 +8DAFB672765D599B376E9146A0869476464FF3ED541A90A13C7CB9DEC36AF11A +593175CDC284E2D9495BE7BEB76BE21708444E2ABD1222D84A33BF568B447D13 +CCE55269EED0F07FFF2D8DB08CE1D4777C020AD6E4601BA5860438CA09677848 +186B8C9BD6C8291019CE7188A41D34F4CF3F0B72D614D067EED5AFBD7BE91816 +9D0C20BE8F48AAA5E3A02473FA1255CA761728C03EFC7680FB92F32CDD4A10EC +E76EB6B28EAE51D66F09568FB49B83A3D8295467724CB774D4D2C4E2D619A272 +D03A627401B1FF8DF700BF778AA905436D421AE00819A63530BB3A399E6A84EF +0501B8D73C00803038AC2B1651BFF58E00D72C32F3701BA82330DF0421A6629F +B45B45B3D2461D4AA96AC0F36CCB75348391AFAF4ED915F61D1584A9B9E11535 +44DA51552AE9B480778A160F8192B848EE6F3A36A85B7BC80AD00C645C3254E1 +CE76B479075A354E2A4D199B9B97945B92FF18E55A192287636169F50FF639E2 +48DFF08BDE9DDA8F372024A3B7C8106A1ECC51F38A15017B1E5F7ED5C35C07E6 +22BA85112078F1A368461BAA9EF8C5BE2B407DA6BFAFF6D924104147FFAABFC1 +8FA5F453895F8EBF8CF65A164060610D827CD38D8DE85CE87DF6757FA6749C66 +2FBD3AA116E0A1EBA518B8871A458495AE39E2AA76C2D4BA9DDDF3FA61EAA369 +F2DB42293A293F995D3A01DB2DCADD6E26E5204B7505A9EDE112E2106C26B7D9 +393B4EE72663D646364E067822A2D8DE21E65C15CD3FE31C43EA36C2FE266C0F +CB54E78877B1714CE3C6099EE0304A47169D8A889908095DE2F3AD4B4D0B388F +A2FFD1DE6A065C5F82218373089D354CE0B112A541095F34EBCA188134DF8325 +765FA79E96DBFEAA52540D3C6ADA67ED093D3C84F44FA5150614DBC52A74E206 +4CA0030D532C04A3843F09CAC23B3C5CC0B085680E5711070C59868FCEACE38F +69EC85F4C74564F9FC173CB7CF5C3D60A69265B18D7B61F66FA44C23409C3FA7 +5A8C0AA3230BD59B27899D753CFB4BABDBB6BCC783C036BFF69359B05F87B1DE +D43B3F5A87BF9F79D83EE164DAAF5C472B74FAE110C9F70D522BA90F9097FCC3 +7154AAF9225DA29643B114C0E4D824B82EE6E44D88088AF8DF3BC24B78F142FF +8AE31FFFCC59225FF090409AA89B96EBD32A1B7F3E59BBAA4969A35824F1F122 +C28A07A67EA7F5109DF80873F886A34D1DA3DAC6739196C458E1AAD246E28C95 +5BAEEAFBB03E1C2C2C5B1E5BC25C7A637111CB8EF5598870AB73B87139CC0373 +2C7CA4E216506C08CF37F57F025BF947C96A2C485EE596A0E8C1CCB1AADD96B6 +A0D5960DA538B28B825A0E424E77AB2B602DB15C8FA9715FA3D51D20CACF6AB8 +84502EA510FA5A8D64B746C67E91419984D27DB79026AFB9D151175B682F10B3 +70C63E3CE4EE60C30D1E4E21735C3680B9D797E427F88075CF1753663B51D96F +D75D738906F8CDC4C52C626E389BFC0E88F5154AB4BAFC8A35E944DA02358C7B +E3E9DD1DEFC49FCC8701BB849E1E61E46FE0F3408AA7E2A92CF5E44559DA7859 +2FCC4434E4F2A1BE4760434BF95A2B0ACBF29B290FDBA1BF168D2B1017C5B9B5 +D04FEB32D337CADF33C3554403EC5500B8FC7A0CF257971C18C7BFCEFDC6664A +0378B8924270ACB476F0CCF2D611667AF3B5746A346924A01B53EA62F17535B8 +2F31791C34DB10076B461FEE419F3DF6363EF6B6F21B36B60B2430A8120546D9 +DA256D859EF3BBBB417919334BAF9296893A920DE15A1EEA873966B2DC71BE89 +08D8B194EC8DE09214CC521B8E1258143B43016D0E228A1BE4DA5E64BB5BF45E +9D68C4708447F058242965D945B150E73A8725EAF95AF0F7250F378445793D19 +E7FDCA0A7F9BDD59FFE22DA6A1A6A2278328E2CDE66BE8ACFEF03D5BD28A701F +1717328800B57A752EF90D02F72A210EF7B61ED77D23DB9DC8F73A0A06E4ED44 +D603D0F4A64FA99ECEFE278F7F892F8436F7C58A463E45F1D440C026228958A5 +AE9307CABD3F5939FD37D020658764DE53504DFED0A5E08B199D8B3CE94037C7 +DB3DEF389784D250EEEB13EC65F90A7CD6E8E99E724D0C13A8E20CEB9636AB02 +FFE561AF9227F6DE05A2CBA8B20EBCA6EC8760ABF7ED9556BCCB59BAA76036ED +9B7FDB697A9C2CCA821B590EAFB504EE82F58F30C07CE0A097EFFD5DAC03A2E7 +6050E8C3A5527EB85AE29AC8F4F74561C02B55B683810C9558603638058F2286 +DB1F3372788B2DB1BD435959486C133C3C50EC14A45BC9EAD710B22C15C73E9B +3F86E909B2EFF5310C5E6C8A9F93B0B9071F121252884DD532DB36DD2EB52C93 +7A1FDE104ECF6BA39DA6DAF33D6EFEDDE6007900741E974E4805640F8455466D +50D1FF14BBC7B03F1EC139B179A091746956607C8D097FF1B77A0E4FEACE0EDD +D56261920EF0F150D1F83E6743C3D82B55503DEA7917CB129038411B435DBB76 +CD6AE2682E4DC6D42488E113760517916D5846BBFA9C1B8C316554E43050D86D +4E47BAD85C0C2649BEE99F611E0807EB70FE5D70A587C797A53F4969815D942E +7BDA223588185B7C7C7702C79435BA27B8FAB1569478FAF5718577743FD3E9C8 +1C0B2C2DF185C1F0C422F8283B992C9968C779F77ECC8CD4F2D7E687DB1D2948 +02BBF76C2E1F550FF60FFDB83D1FF6C98B050EE8944E6E72C128AFE756EADA0E +3B8BE0E6BFD1C26CBCA45C9D79BE4B9A49650776D28A0AC0A566FE15D387AAEF +16DAADCA9F7D2736C056C25F80545F59C12CCC4FB9D50874789B196B9C2F51C9 +76EDE6112B7D00EDAF01790306AEACEAB092C24626040EA7055FA31581581BE0 +0C6F28C45ED4D3204DFCE04CB3AC946A985E42E25075BF110D92E0102E39B06A +41228443FC961DA13789DACCFBE69DAEF1739E7F7EEBCD464F63166E13AA3694 +246E76AE4200EB89ACAA3BAC3AB6EB4D821AA9B7960B70122F22A56C406022B9 +4B041E21FE064FA2389BD70F1E1AF99E7943B06C0EC5A997B3CC536D9AC38FD6 +AA14B9DFD4CE7FA3C3871B075B31973D568FE7B7DD4BC930A823E0C814AEFA29 +FF6B1C9710A96A1336DCF7FCD0B1CFD2F20C5F06D233AEAAE11A110F9856F858 +27CC8C23385D8D486301AC324C9832F154A9E0B49C02D0D8C45713E347D87FF1 +FCF8FA13A20510D87980685ADAC8A2B458C6E3904AFFDC8D67201299317A0CE1 +B1DD0E8430AF898C97DC7D9228112649CDE77B90391E22936574F72F831F36B3 +4E73B141EDFC9469CC3E4BD7B57213521B187DD5E293BF9F1F76202CBB4A072E +C8C82D7B10E05405CA358E68A6192002AACD7F7CF9B592B116E89738D13E940F +E29EDFFB3D85E618ED6B665E8F10AFCF991D2C0182CBE434BA532CF8A9924152 +D8A3A9BA45D04F747424BA6F062D81584D3FD4392B341BC66B508C04C50BC6E3 +E291507779E456A6E9378CE2A58AA075519A111E97DF45527975865FC7711E08 +7CDE68C74AEEE367477F087D09FF67BD99C8CEB605D165F0C6FD285BDF4B14EC +183FF6E149E6E3A387B0DF88500DEB1725363A29FE31BBA528650365EEF12B4D +237323FC2FD1359D3DEEE15B9695294F52BCE8827DC6DB80B45BEA25BBFA77E0 +3E408916D238EE9984A72698E639832242A15CF3B2ACD114109D2EFA8ABC9638 +31EEA7AB94A96D612F6055E276E6C2EFFCADA659B388F3746C690F0337159DAD +5E80AF3D0C50617CF5A93877581D40A98493451138377AAC7F9335DC7C3C2373 +473D7CE93FBE582BE591A0C30ADAE4B1714DEEE59C01D69102E382536B92355F +6F20CE87FA4913F758128F74B48605999CCE0C32F86DAFD2D07D75A1D9950C0A +D32E693EFA4BC7C3DE6D3F796B9D805D703239B1D48979B5592CB1FF949F95F6 +93142411389D667FF0716A8E890E7D5D4DAAB8797C190A940806A50051C6A952 +BECA1B01EC677E00A1468EFAB40548FEE96B0E762FE8400E79D5BDAA28FEF9E3 +2B81442635D159D01BCFC08902317FA5E6EEBED4DE0490A026E8F94260EEFAFE +0A1FA3134013B0AACF1FA951218539B357586FE92965634487770AF7B2F0A0A1 +D7735E6D92840EF7E953548339BA6ACE2DAAE5C3A4EB3BF3BD62DD27D18E3819 +46B91268C3D6E04B16AD4958E7AF8929B4889AA94E9F6E48BA769D464BEA9804 +4C318599988B92A8256C1FE552BFCB3EE4512C12BCF2F9138DB1A8633D6AC290 +C9F8340EF54309DC42C2A035ACADE6010868AFD6F389B931D3B1A8CF72A26896 +FD78C5789C219C2D4EF28A91A425D648EBFAA5DB7F6AC12EFC4186C6C71D7F06 +F66621A939032A9CE5D42AF8E45B78DFA211CB3629DB57CCF9FBB5D3792FA8D0 +BD6E520B115B24BA4573F20E145FF4156E3E57A286155269CCC358477A477CC4 +A9DA53A8E9C547CFF68306E78DE02DB06E516E8865D2AEFFC2B7D3D553E9A51C +37D46E515332861E6EF5308FAA3B759DD0EB4857EACCF33DCA20A80C016D1F1C +695F7B7398DE7DEFA76C16CC686A29F35A61DFB244B1389293E9D3106881C303 +D621DABA7DA35E2AE5D0A064FABF1F4CB06CFB161F10BEBACAACF507F8131AD6 +90A5AC1BE85ABDE87A02D841E6C9A99949901A606906EB5E18161D947F1B4340 +3EA721EE08DA268896FD7E823879A1DA28E885CE2E152FA18C1C579011F2CB4B +B75E3CE9FB816E247FBC50089BC9489DCDA99DD4B0158357CDA22DE2399C9DAB +EA044DDA012255701F4417EF637404DD5EE917C0C346D052743822F06FCD7391 +97469EE2E90D31E5C551907B4D0B4AB5E4C505D3255DB9076787C5842264B8BD +594C408188166EF3E6D82DA154DD8FCEC90CE09EE454F109E99F129223000892 +942EC93296A86236BA41A71D4875FB2E208C3C891336354B0A42C89B6FDF5A54 +EA92EEA1AF7F1A276F75C93BE7996E60A4B5F7FDB6FD6E26F3E64500430A9B2A +89C0912886A5A590051408E3D40F06E9069BC0836712D39B276E51ED6897AA93 +BE95ECC177C9B447B9217672D8743233F10B3BC1EBC11DD4B453B9B97CF34B5C +9DE7F43FF666074F604656469F25E458365EDB8EBA89399776584E420317EAE9 +0E3914903CD4D042E5D1B41A3E62E1B20404295D49BA8A8BCBD8E6ED3CBEA90A +320D9C67667E0D6B47FD82FBCE186466AADB6BCABF31123201F1AA52FFD8059E +50423E8EA0E6367434D7A8D897DCA904D35175DDDC33CA87B6CC 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2024,274 +2033,273 @@ 6EAD4AEF60B83DB1E356D7B6844375FB3AAA0389F56D070F426C759ECD2F970B 2E65032797BEE2FFDD78CF0B7C9684F6EB8FAAB6502F4676CA8F23D37CC4D4A3 42EFDCFAC381E4B95D63E26FAC8DC58232288CDF0A98F076816242E68A3C3189 -9B2F6F8F06DF0A52211E3953A57A51EE1327E6C519A50F2B0857987530CA262F -A7634CBCBE1BABB7EF1917AD836C66FB19A1C993ACEA40D291AA07755E5F4CE3 -877EA9256745044ED37695871840F5FD39ECC03B9A65955C2886E773F51BA327 -36D4B9077056B5C4D31075BDB84D95F39217123A292CCD32F072F3DFFFB937F1 -7A543C93033C9BE51423EAF43AFE5D40F75C7614C707D898342BF2E84E557470 -A08F92931617AF53A9E90036C4E235DF6C8A66366558DEEDBC6267DDB46D1DDB -B943EF9381859201FA74BC1EE0D11E52A75D89678663CAF13969A433B817D0BF -AFE672FD7B7E0E318140A2E18A2829FB9BF621B9519FD20B415F338E2DAAB087 -FD4F4FCB88E7AF5C24C95D596F35D46AE8075E7AF122CBFD661A144081C53AC8 -AEB6F0121693634DD7514440936609024EA1609687A6BCF2AAF1302FB5D59126 -E724B35374577B44AD979B36CCD696E4B8C86B659C7A07C12F1B07DF63902F46 -DB26E527586481898BA0C1C4D0343E72D90C446446C5A5BA75B6D6E3A45646E2 -6161A12398845D942EC234685037E7FD00EB78E2DDFEB6FBF29EB0D2507ED3E5 -645F4CF42B5164A3052755B879329C913274965209606A41AA739A8072E3C7A3 -68B2E9B1FD527C93AF479C377271D51821315A483ADBE61E4E5B8AD254E17DF9 -4D4832CED4009A88EF7A13CE454500545B81911091C6965B384A8F8AF977318E -3F5C7120A28882A2176C5B815E337C52FA5A66BEB55528A34FAADB58884EA98C -D8226D65ECF97382A37C9D02350C87F7D9E050D45814D2DC6B2490EA5A19D366 -10D06715C71F9505F9169A3B210B1B8ADCF919A2CFC751BFC47AA8132F660073 -5C6C9629E8DF4A06AC8FD77039C5B292BA00600E039217297C519FA7CDC5171E -5B8E1DD51B4DFBBCC7BEB3AF99C723F4C6148F6F4187E15C9A5C5F24A565722B -FE9DFBA7CC0C6A01BDA00C8075623ABCF59FB8062983174198FA1818CC644D6B -A7C7E3773993773D2B4C009FDAF9DE26A95EB4F7B7157472028965A2AE646234 -B13F3406DD2C8C078CD8A4078364413CBDF63FB582B25E9C0E4B8A7F9F0BF493 -E9E1F0C3B711D5FFBE44E588422055F792D7D5D3A2482120333C99AB487308BC -614DA8C5B16E239689ADE4FDEB69E9F61578786E38036B913EE77A89B3B7867C -E27D009FB44BF2D9DFDCD9F66FD2D13BC1599B13F2E19F4D34182B3929758BD1 -F0B825E52213B52C5C091DD2E6E9216CD4E8AF0B82A0789FE40DB0EED926AC4A -C8A67A33101086A925F3E677B7F6EF0A5C33CD3A354464EA92C3D860B90D08F0 -7E2CD9F57A06EF377955ADD81969BB714DD25267F29115C02FA60F8F7B3E1646 -48FB8C60D0F0E08560DF756D96F320ABD285FD35FFBAA476C6ACB989BCF92394 -11CD8FE3FA053111EF9A7CD5A32A4986150A5F800340849B5D4CAC1FD9C581E8 -D0E0166EAD80174CFABC7EEC0F1C3928BD465CC690E73DE9E0F91ECBCB6E694F -BA399F2998FF36013EFADC8D4C24D76EFC29AC6EC6766E61FB9D1738C70848AA -C5E93D89FD24B6053F40775BF36A1137464BAC9CADBC12CFB564B030D0AA2CC4 -0D2C53EFA25F3DB0712532C89D9156B498B9FA8D7B5F6EFB475650866CF6E79D -DA67C0533FD0F8536CAAF909744672E14CA51A667845689D5D94473242E1B804 -D6A717F082000AE27D8A159BB2042E36FAE0B193DBBB218F5C528BD203F4D146 -057399E10E7BA35BE63B729ABF9DC1891239A573A67B44E361F29962A2C4E628 -E106F9E0A7390B0EDA6FBFA1DFB6C99C71D56E977B1EE6C0D2AC1FA77511F2A0 -4F80FBC1173CEF67FE8D3F0EAE17224FB730041148F4E9A6E7D401810D30A923 -249F6DC070651B57B47A513DCD5C06D82C8319A92629B36278EB6BFE9739F203 -26B15E42525FE6D439BA608478213F5848E8BBAB6872011F130F003A94C8612A -ED46690E81CDA8EC5948CA0F57455116B81A0AFCB200285EADBECAF3F3249279 -E80D9ABD82F22F12A9E14F6BC249942717E73CFF0BF9B205301F80EA09C6A847 -AB937AA4C2D0E60AA335177B4B86A1D4D5ACEF074120E2DE632A82598D51FCB0 -B32C6C900255A00101E57AA5EFE2DB09CC07BE8DC99F796713092DB97D6912BD -D8B0C40313F3D6061F0AFC4B89413514A9EE113ED95BB7729E29F144AA0D42EC -CBDA616D1295537975D0E09D3F59F7BD2D5965E2C35C85EC56383CE14EA9D8FB -7F28F5A3F3088F970C4BE07982E140F52E1345FAEFE04F4C508A33672611D76E -33DC6BE4C84BBAD738A71539E8416E5C8B2DF65068B29FA0ADADA5992DC6941B -AA856C98EE3B244520159B884CF4339C891B86E917E7DD54A712B5B572AB5696 -9256DCA1D8E073C2F5E754C845FF861419026385F21F5B5134372D27AEE08B72 -E234E74D06FAFAA327A769105DBD300D0F75C286F4AC3A7706B377321B828CF9 -85A48B4394C32B09F6CA7A92F93B8143AFB83FB6C1FB0F181C64A23C04651AB1 -830A7CB62F5755D3A0B780FED3A290C752678D4A30C7EE1B8179749D415202DC -85C2DF88383A620044BF850B733EA1ABCD96BEEF7BDF2FD6EA0449B6D61DBD07 -D3A8FABDFC7961B06F7C2F2906BAB7A3BD33BA8928109E8BC4B405D9163D3CBC -5C664B1B2A18BC21C3EF35CD3E7D99999DA3205F41B15BBE2C9E76CE7EECCF18 -E5186D5A4AEF72CD7DCF1C76DF9CCE29C92BB28B8C1A9A05C4602B82DEAB9354 -9258C2CBA3D9146358B69C420BE22F1603F6FE4C39D2423FDCBDD2BEE0BF6B40 -4F7BDE641C19DCF7684E7495EADDF3A86D3DA4C4E93DC00398C5CCEE3F3C95A2 -D72201367CC2D4A5BA6B0DAA88E488CA671EF45FFEBDFFEAB634811BB0884670 -7EA730CECC91C30A2B6ED9CD41CC8465209F05DF45C3FA514703BEAFF3A6DBE4 -978CD593E8E540D4B2D99055CA68FACCC4D1A2F709615805E885B840A806C952 -E5B0BA85C23488AA8EEB924B99489C748602F82973B081BAB206D808C08F8C11 -75B1D192FAFF8C8BC3148AED1B7206AEC32CAD33D1E15DB3CB4CF58957F2FFE1 -9A2D1E838916289220638EE91B9DDD691EF6D83017F35EB2E924708E655A8CB1 -CBA59DCAA9F787DD62352699DC1AD43CA225BC10B53B8298AC5B8C316FE433A5 -FFF41E657EBF3DA92F7815919E3693C9C6F14098F35F206EC9D9972517D1C233 -6A838D0FC455502DE6C9CFEC92560026D5E9FBFB9CA05A15BEE9992F7FD73779 -3AF7CBCE1CDE7AEC92F2453431A1712E20B7C8222656589D379348583058DD50 -035F956EF757456D651B53B0E2E12AAC4FDF5B063B9BFA53DAE05542D55AF892 -B2AA10EB49EB839625A0FB4344F552F24279DEAA4E0E25E5EF1C73DABE4F1C84 -44CA224F92C9CB2FD5EBDBB510B98F3FCADB388FB72418BB298934195D623CC4 -EC6177AA90E8DC19CCCDD49B0B5E4588DFBA825C32135F92494B37C5C13C80FD -4199D717A7BC47E9F43ED5751DBF7DB3B1296E37E6C4E0C9858C4FB0EB5373B0 -E70643A0BD54D080D8B4A7EE78A455240D2BA072A20FC76EB2121BC58C1654CD -2F9EB646568BD4C95F4AD8505921041A20DA936FE009F1758CECB5838173133A -ADF49A309504BCA3C0E1C61CAB5ADB599130F1987943B7A2D0AA2C7883AD7BBC -5483F8225867EC447117DD15D7976B924F12BE6D1D83E9157E02FFBD5D9BE32E -3173FF8C0D6DE6E8932E02B2ED98E320172C97118F8A20049CACE8CC3DA954A7 -6613384E2619602E9BF84E3470B14A692371F6C9BD320D207BBFDDD4B5F7FD10 -16E495EEF83B33C6A6E490806C9E95AFCA72209760AF1BD12E8D454E29882181 -1E78BEA63628526F89724BCBA66266EC783B6CC3846F9C4F14E49ED879647D0E -79C3EAFE8F21A85727214955CA5F7E4C4DE351D560C2E5F6585572B31199F88D -CCEDB5E2F1D98627F4D701E06D1492DE6A6BC55200A18C811FE7F34BFE805AFC -CD62FF2CC89AF62DE15A81E5749DFE00DF841697466967BD315E282A21711EDC -ECB58F3C0469CAEBE96FCF3C34AC90428765C57419FED782EC8F497341565D0C -9ADB90CCE9022B299C7B7036FF1773AEAEFBA6B4CAFC5CC2E1EB60B01DF29813 -F7990B64DCDDA4E8D614907093030734F52C87D2D70F6C41314E02231AA15E22 -5B4EAFD207E6003C88A986FBC0678FD6385BD57F147EE134522E16C674183041 -9CED60638095EA1574C7A56A1A08ABC233D65D257D64594E3ACC6FECD22D6277 -62724C1EA3BB6E141D8C1318E6DDF314CA8342FA8AA3D586DDCFE9B491A34D06 -FB96033D2CF9A0CE07E5B985F953AC5BFEBDD740BF2E4E84234A9873CFFCC429 -E62C40E98C198C6A8600375B8C57F94B99DB9F39718718C63F71B7013BD50DF4 -8B07070F306E3867CE805847066DE7A8889F745CA3325AB658AE774229A12EE0 -2754E9AE1A2CC0BFB41CE64EDE6C35F64D3B31393A633961A65B0948942435E3 -C135496114762A1C96C359A017102CC8514ABC5F8FD478C4D948377C62095B0D -5941FCEB8976498D64E5AF4847E90D91356B02F5D3F1DD82EE9CB361A7BD30BD -90ED3211D307B07A3E86C65CBDC303D1209F45B24FB163893ABCDCFE016A618B -EF5577344EFA756DA4BA55B4F5783D97398D9F0BF1E2C4ADC5CEE0197D7FE6AB -5F2993332A8F5D1505292307642A38A29217AC559BAC069186B81A0CD3061A8C -87F94EDE385C9E391EFF99F1D4BFEC8954F396314A75D66E8051B334048B243D -B4997AFB7594C8A99364AC553875A4E136C4E6BE5CC819D74C6B6A242FF119C5 -D65141D2C57A82C6A23FB2CCE13F7B0F9D0F1F638A285B828EFC971A6DA81560 -7069805EF29C3B54DCCC41304E41EDA03F49455FE03D4778544926538ACF49C0 -145CECAE7C3E55C7524883C0F3AFE5434A728960653BE4A85348763E2A32A12E -7AEDF42B6CD1FA2F3233A677F914008A55EA0904BC3AB68A578F71EB628A3B9C -D044EE55D7E0199A1D12254371E9178CD23B04EA9652F138104C81DB89625F79 -8DE1334A827DCF796A23EA8B51A1E694F2DD4F90A9ACCD4444B598DEB7C03424 -325FDABF04A476D9F5ECFA4F3FC0117FDBE5038FED06A0A37081D72158A97BC9 -ABE850B51A6875B8D71C31F6A47B65DEEC08C1A7A2939A116365B21B58324065 -F0764301DA41634E83358DBD3D5443883F2CF9776FEFEB5671D036DD05FF9FEC -48E47776C13E10F7FD4EB2E542B4A8D74E1D50DAE2FD949235838C33A9940EB1 -EF77C7655DDC5C2CE4C16303DF83E4CC78DF773AD2E3273FF071E4B04D0FC8E3 -FAA7EE4880A63C620F02E13AB11D05A61C97FF1189CDC9BDD7D5DCD77FE5E59A -80E0FFA93B933B37CC51E382C264281704D35A8FC56D31E7B33A020C25F22A25 -91FE54E44380484DD5676FFBBB49AFDE6682FFAE124A8A126483C207E6442F28 -5AE4A7BF8CF7FE15A764212C5D69B290D174D586E7D7720DE5A4C39C00B7CBCE -EC1C270661EB0254A773D951F44170306A22866CB23F9C968817532F7BAF9B50 -C4CC8F167D11E24F3C673F466BDA42936AA8EE3A28EA11C0BF7C67598DB45862 -EE00FDF6A9FD7A1A66F3616E1910422D17466D169FF553F2FDDD533A7E0271E7 -870EAF618B153D88BDC83FB599151E6385C2EF9A10D8E60FAB9769D92F230838 -F68922A3CB0A464A4CC11DB15F452B990752F49C114A5CC8B683F44C6C430D3F -4B72157F1D80D39672CB326DD0FD543B0F269B70C3F9901DA2A4308CAB155C1D -0641FAD7B74CB1CF11FDE1078EDF5B97C18C6E21CCB01768537D5E4860BC090E -45617C7D605EB165C1882B111A0FE68ED219D5066B17C10EA722965A5B5AED1B -AB06E59D586C1FA30F806B01EBB9B2F16890AA768D4BCF8714F5DDA695E00D5F -D60063E20356610830D24DB4BBF20C6FB34F9D0772AA79904A81FBEA67E59254 -0E93D259FCA04ACE24FDF64644472B09C8919E7FF0775744460026E6BF994E85 -20128B9E699F5AE3E54FFC891B59FDADA39D0F270571FC1349E036B95D7A138C -73A4C487E1009677EEEBFF2D4AC4FC8B54082F9556104959F6D5FB7F93F55435 -82AC9F999D2BD61FECF71669FD2A92F79CA12C8ACA80281E5023EA0F5F29C545 -DA6912173E8C03774EBA0F6CF988E97360A0F025EBB33A4D96F60542F8CC55BE -9394D13D5416149D28FE1E2737D99888846182153CF8412750DC06DE7D69CA8B -4E2EF5F60BF49E8FA303307DD211ECB9D48419A61A0F1FAF7F27D047EBDE5E47 -10BBB3D73217BD6D02328039B28F6289ED67E3685380C89BD7C863B10A5CD28C -74FE3D9DD16CD17670DB0372953E2507669C4C790FD78571FD084870D2BCBE41 -2BB1F34E907CC27345776DE346EFBEFBB3E1CDB281C57EF9C35E201605B9FE9C -29D7C668D3D978773AF7B0ECD12DA7F3DA93549740246B962AABE06B35C70960 -5E2584C24AA8C85D57F30D26997B708728970F2088C7CDB31951F15553CA8F84 -10F6736DEB73F54C8C7385ECE031E21659919200E0405F7C125C2F02E9B91CA5 -F7F16189ACF40DABD4E49ABD0655B38A9F45DC55580FF6117EFE285B244E9246 -73B994BA85A3B34189E5E501D7E62B75DA9264EA295D04C2376572D33EC65660 -3AED8708ECBD0804C5192BEC8E76DB9612E61AE8F4A7EC82C95AE01AE4B2AB38 -E0AB1E8FDEF7FE0B767F81D85196D46F915AB8CB3E9228293762EFD7DE31F4F9 -0DE2FC0E65E7D82B882A809DF681F19DFA11443487B6280518579F98B4F1A502 -EA4B74C001DE061E8C09BF15FB500A26AB8A63EC8D7957DB52FB736D6AB6D401 -ADCF4213EA6CF340E1156D125DBD8B19F456008F8094E98B06EB6DA5096ABDC5 -6BACB34BFA69816F1F2265E0117177A5544502BA91AC3593E2930AA30D276CA7 -59A56BCCF1CECA5A74D6BAA897BB4103249F13C8504DE04E5C0E22A733D7CB62 -153DC1E8534706C59D20F2BB5966CCE975C05C4F95D1BB69C7D45FF329F8C01F -CCDFDFA2C0941B083203D1F0A7648B7F6B8C33A1115081A1DB09D9541088494C -AF44453108961AB4161A40A2A1A8F1B1C454E181D9AD054BA86FEBE2A1B901B9 -B9A9BA4B9633F90D45C2138CCF1EAB4BEEEF2336EDE66FB7CFD0A84A226ACF64 -680C748BB7BDFB62F93C2BEE638ABB3A59F3CD19055AC504A0E160CB13A7C1F5 -1D1AD0095D138A3FD85F25CCF4304E82D758E963C69CB8392EA5C995B7D1802C -9D7CB493E2F572E9998346A157CF9FCBFB95846088C7376AC82F58BE46B16281 -A87532D5F6EE9E85C23C3F1960FF99CD970E6EDD1BE8D492D312359BDFBDF59E -E0B6738BEDC5F16B7EBE0F7A775EAB4BE2CBD067F7F77CAF443A4BD9AE10B7FE -7173FEE658922032B21F77A7A48325E51CC52FED690023344E49EF2614F0A63F -D474E6D89BE40194235F5BD341B449DFBBCC9E8AF23241A36EAA316BAB5FFD8C -69DA203716290169CB07A0EEE2BC4BD005CC548090B8D4EB82104C83696FDB7E -10D4B935924EA19E7C35E9379F204C10BB0854C55E7867194D9D3544EA1DA675 -5E9B3A0792BE2E87B611F92BBA99C01ED1F21366699464733D774BEC5B0A2B4C -6E8C68CFAEF8E0C69A1685BCCEBD8900C1E9C5CD26808696D16D125DAB3E5A79 -4A9484029864AD3BBDA91883A4D5DB1DF9BF789D7F18A6D5BF13A72680682A5B -196BC80E977E553FBD0EA62F08952013D77814F6ADDFC5C68A667B43B26FCD50 -EDD49E8F1B6DD262DC0B4E2EF5A1150B3DBCA61E4F0ABA689BF862FB62AB65CA -1E64F0C816D45BD236B557E1A8668EC76644EF5F607205E3F789CE757D4FDCE3 -A4D9F039F1CB8A40AA352BFBAD6643E30579D4265002BD3EFA420E275FEAA4A9 -412E33C557C0625F06A565F856989D62581CEB59A4877CA6DE7935E7D7CD2D81 -029F282754F1D25B522EE9374EED11147A229A44D5447F3265226E0889DB7C4C -2D262A6CBD15E4565C324A5508564CFEE3534C4572581E818396620BF86AF511 -3200CCAA7DB922183B3D4DD6A9C2429AAEE0A1384C74A61715E96C5D69A4E4FF -6408DD6ECF517D44BC8130971441BBD4819D25993C4CBED0591CEA1D2BDEB54D -CBF02D516A2AB97E6EBAA7D883F90C521C130BB0049FB9C22A55402C162D1E54 -2EB04A71BBCC56812460362093742AC01579A95F3E0E1BE0C6E26FAACBF5980A -A1EC5FE4811A1506C01931ABD5AF4800CD13EFD3F6F5B5F1A862EB3E7EA70CED -FD99468911AB9C55E8A5CFE3F17855AC3825BBF7EDDDB6E44603F8E9FD0DBB51 -A990B69EB47CBE44770BFD17A9DBA044FDC61AC83F5017B5C0D2E6521A217503 -430D75EF4BFE5FCAE780CF8BAC999C8B3947AE40BC76CF2BCA11BE8D4EB40BC7 -EF1E2791B9F186FE4CC9426E909162AA6B8ED62121844A58A7AD67A119A94F8E -875129AF889A8B2D49B7822EDB60132A4CFFCD4D5484E9967A3045B9AFD4B608 -A9BB626BF68B1F304E2E4E8F3E492E07DEBA18627ED11EB09E3C619B1DF9C7F7 -26F8BF1463A1E2DE2156B15FD44199E7A0C130EFC3EA967C0C8EAC057D821733 -7C923B779B2EB4C7F8CDA663708FEDFDDD2359B1DB313CCC890F7188DC1078C2 -FC523A2AD140ED1197301E87CA2F279B3545829AB7BDB40FC5FCFE5034EA7A70 -EF18705FD531098B573691DC707570426AA6FE1462CF9DBF00DC67D81FB83FFE -CFDBB288207180B0BD705938B41AA48E68E557186BAEAD79759D699266A9A9DD -D7477F7F45E7F28C7F63F597A7E67762DED6C385EB2FBE9CFD52A5D714741720 -5BB4ADD90DDBA6C760C231A58AE55F2EAD1EE93F11C5E8C708F22DAB168469B9 -BD3FDCD68EADBC1CC464C54E0D16C93269010EBAA0C5370E8E945C7BAFF08A95 -940A574143B6F9670D39FB03A25E49E164CD4DE8B3131FAC9D15F5B0447CCFC7 -4452E108BBA7358698B0FAB49402B21C3A69000223667EF56BC5873CEC8D8EE5 -F019652EA7C433C11D7B0C4996F2D21899DCBDED1A8D530733A7C92B925F75B1 -D2D6A25B3862BAB0025A66E29BB5744AF1F68CB10DE298C36B620C115B942F90 -3912F0D9646907EFCAAD7C05E5E0B053F3639EAE98A853466C5F0ADB18495648 -262C3FB2813EEA2D2211B71F1447522E0B4C5C745EA34A154214D57C8943893C -248CA1CF244490775F70B52BB2D959A9D892A241C298C495FB39AC7BF0D6C655 -3F150712AA065FCB56C3EB03F8A9CA8268DB79C11B4CEC8C9E84DFDD2BA3671E -CF1B12AEDCEAF5884548F7F9EA628262CE709321E47F8B4214C2A108E5ABD663 -783CD6AC5984CC08DBEBA75F7ACCF2A3A6CA42BE5A3777080F30182C1C038F6C -9426B5488684A0E82966E4C8EE3ECD5674B6E5508F43E0526E14F38618BE6DE9 -EE175DA4CA32A6405D726C411D89C755A8ED1F73D9DBE67FEADC9DB448668FB3 -CB6838C400F05B902D27F3AFA0BA11148541288201DFEC8A08D6B3D1D972AA53 -8DAE043A766E84CEC8894D30B7E77CAC1683363E747A4FEE17D9B83BA9754796 -20FC1A0AEED75C71EF48FED0E99317B67F690F615CCD479133B7E08DD8EB46CA -D5895810E01E07ED6D17BB54F5B9AA19D2B1ECF2795E777227B12242C07BCAA7 -2D5F6AA8083B43C6928FA28EECE66CB90899763AA1037E4C1AC76741097DF3F8 -6BD297528CC9F538C5AEEFD5A7038CAA230A09DE750B740DC8398072A0876528 -946BE8088F6EB74ECA0CC1DA30A43AC47351AC7934E90A88DAD80EC957087768 -B9893241462946A9C5A843D454DF125A906D70D9C4812EB36759537E0372D2B5 -3F4905D8F605EBA26C49A167D48E177BB6821FD39E775D9569D387673B976306 -57537EB480132851DED5740C2E175D5B08CF40BE96EC1810865DEE2B52B1CF44 -CDE1607EDD185CAC4330016DA7343C9F3DCD21BB3492FA1D027CF81E76E45358 -55F5DD22884FB50B80A2388F673EF7FD7CFF4AD4AC212EC5BBFED0EAF7ABD2FE -1FD35C0C7360DA40622DA59FEA983B702A6C53FB975EA85DF0A5DACFCC8C8549 -786DAE9D57A2029DE7185AD4E283AE57618BA3CF37744C18C882678F34A161D3 -8ADD4757DAB9B77FB891EE0DE945D551043A286426751CD6A62279E99F21D0F1 -C4E3042E8A474AF9920CF416B50A94ED092661711C4FF54A8606E1912066F340 -59CD492D9BEA791E7AC9486E6CB214169B238084ECA7515D03F9F78601AFC144 -18EA9CF8C814CA5D2F05AE6D23BED9E8A0D41E323CF572CE98599BAEA8562285 -6327E1B8A141E395C2FFE6DC90F6648598DF8B8389D8AB2E1D982F1FDC71A6CF -51994FAB23671F641D0A54906AD41759FFC09A2273D48AE572258FAFB3B768E7 -2CCDACF0DC0125F7E1D56388B817F0ACF62258E3F80317494E3D21F8A317AC28 -A82E16A930CBB531D05F7BA59667AFD26474333C201768124C80E97F92EB0A6D -73AE9A8BDD37FA688920AE2A5AF906CAF90ECBA54E5F6ADBBBC0F45DE40F147E -B2F17C816231D41ACB54D82D2D3498A9D41A4172BFDB56CFA196986AD6D28430 -983186893BA6C30408997347FB265BD80EE95E011E6C397D1D1592CC1C34AEA1 -7706D3B35D946E0C0790652F688879A53231202AB3A6B495E6E251E6829F0549 -94F5A375E8AC0696660E002B6C195446D0E08BB7BE160EFCF356A81BEDA21934 -B3365D78CEDCCDB705594895418C48D91C9AD97637D37DFE69624F7885106965 -C574270839038CC543B62CC351A2FEB42F664810D5613D27B1D86351C669FE8C -37787213F68E0657240DF253186228CA5CEC4283A4C0A125F6262B566190B701 -3AF5BDAD86A1F84029FDD7ACB5A11A23107E5413E67809AB9DA6BA5C3CCCC2EA -9D4270831EAD274C3AC9DF833BC8EBF339376EADEE48D748C4F71C97B43DBA6A -FD014C2F73B6F18EB9E52F3A7B1994B00E38020C6EF4529C318386E1F62ADA34 -95B878B5F1A3F2D7FE2EE48CC8FFB79E3140993DB96AD77281A7D314880464BD -0C205CE8A86714EE8B3A334E002DD04AFBE3C3B95E8A2B4F41CEAFA6A2CF2F95 -A06B2D1412E221D968E847313C86AAB3DE19725D2A380484CB7FE6B636DEB3BD -1C01FF657B8287339DB0A67F62AA692F14BD29175748552DF93E3247CCF71BC9 -04D1F745A4159C7AC635EF6A41106A821F3017BCA5C0D8FCBB1ABCCED6302ED7 -B9DCE19F8E88C23CD19CFA9550FC79A609942ED70B8E6BBF29422A2D7E28B9D1 -4797414CF2766E7CC48626049DAD906C45EA994EF5C3352342A127081B7632EA -61293A7A688022E6380B68CB3E60D5F464F8B2D1F185F2C56D2879C65F1EDC6C -E31AC52A05C95D96DFE2AB700DD868C718EA003669F163CDFFA3568DC92941D7 -471E6B53BB763A3A6CEEC8771287709FC88D048749CACC598977ED1676EF1F16 -34B7285528C06B059EB6528368F622FF958555AFF122823B4FCC62E4AA36BAC0 -B7CD09BB34A19A926A66AF74F996D7A6FDFBBCAE7BAC2F7C6F9432FFB4B767E5 -5EC547750CC6C4CD4202F7E289B7E8A842D8046BF9D3F38F5B401DA65FC0A792 -4EC3116BAD5B959468EDBCA52C433209E602EED5066765E2489C6BBB0F094CE5 -5FC789A3413D958578ABDDE73153553092916729EFB532556990ADBC56865AFC -A9812247D518F0E035E08D9DEA3C3764041F02301DD5C66EA559B3D47E18CE25 -BB4A6691C178902DDE9B1ECFE9CAC98190BB39465B5B1736B15583708878CE1B -E81750434A6D847218D4348AF6C56A2FFDFFE0934DDE3BB25A9678FA201A67E0 -717A6311D0E49A9474A29B0A251473F267C7F8886B9B55BCB6F609D98D2E8038 -718ACEEA982EC047A5FA3F28F9546A8010A1DF995F41E11E64B997046CE7EB2B -3556D4B27D23AF70E78A0EE95BF48FB0F7C217E39EE61DB6635EB84434464C73 -2D3B0F36AC2959BF039038A018ED1DE4CF72B7BD7A51D5CCB9FEC0B2B1968E19 -23491E9C97ADB33FC9B09FD5EABAD326D0BDBE90AFB69122C71A488F401CD387 -45DD12DD92022DB180DDCBB531ABA3CA4A5892F3E1D3528384596FD646ED97A2 -C9E2C29F1299FA52159F7CF060810CB99F2B1B261708AAF94AFA022F9A3CD267 -11432D4DF4F9F7BCF1434F9D9C94EC5BEBC6C98432BC339E0DB2461623880887 -1CFE5DA076E7A3CED52E2E307B1CDDB1D0E273A4774177DB4664C75B69C857BC -FB693B1E0DE72065D2B6BF7466FD272B1BF9DA5B838E04DA93C92F7A526F4389 -3063774999A51F2A863D118592 +8EA28401139ED158D704F62F79ED030B0B8C6FDF57D79CB24D633DAEA4D152F2 +6D841A03E07789BCC6FE50E341EBB0E62D9A727C6A55256893D89562240BE250 +43EB09EAEB3C19F1BCB4319DC85CE4FA356D25386C9646BE83B51DECCADDF627 +32DEFB64DC618A9506F372828A3B615E63CB685AF64E199532C3AA540A6B628A +8E4019355DCBF124E438AEA613E35D755F8B9263861A63966743FB7DF52F2F08 +2D4337B8ECB52EF7E09311A5FF7C40E608E68B9D0A764F83A294E3439CED09CA +CEE4EFE17CAAC95C323E51B205DA84CA8C17260D7643DA0DC0222A5A6F192602 +B240ADCCCEB494EAAA6DD3961D0A5B697A1754C77FFBFB45305B72C533D6D506 +6ED9C0E158AC4CC72F1CE4D70D35EE49FB5997BC93CA764B7CDBDC0DED90A276 +5B7333DDA2EA5CB20696DBC572D77DD5847752A7181DFB4D862B7454DF10893B +B41B2D30036A20BFAC047CA6E78118C1B59AAE1A36938CE018105478260C91BA +84F8CE3EFEC29EBDECD0C1D65AC7DE83B2A6210BD2D535EB78471375A03ED62D +7AAB24E7E940B021B6772D2C74C662E78F25782F00C956F49C078246D3D5D230 +BACC06F32A5804C4984FE5F40D53A21710435E43A9D178AE305C052A44773E2E +018175E9B6D0A6F856179DDF4B66B9B6C02080BFD3F79821CFF92F44F7900367 +F43EB4BD305740DF903D212B00B44DB51718D40A186D0CF87CFAE417FD957611 +5314E281183E04CC0218AAA77C267AFD4A0D4E1908A1D60E1005B33EB5EE5047 +BACDB817380466BF1D084140E623402D174A0810BC2447BB2A0B7A1C1E4EADDE +04EB1432A994D12446064F3F08CF3FA1D62CC361EB1B8D956CE12255C12C35FD +A0528F3C74A333C3409E138A551D2E2351DB44BC0F1F6CA6454E3A64B2A74659 +A7CCE55CDEB071FD94B4D166E17F3640DDE2B3D5633E3AD8CA18F0C6776BC247 +263AE4E046077DC73D5E9C7117AA1B8A823B5A18A64004329F47379B050597D1 +0D3925A3E59D630C1E88EC5A6B61BB696635B48A65D000820B4AB15C11F43A1D +028C5667E750A6875650883B6DD72A783280772EBF55A6E08814DF09D8047CE2 +BAF5498D4F567FCED475372BDD73DFDA5911FCC6B32ACE95DF38900BED5747CA +4880693640008D4298EBF2C9C053B38C821A244367331EC78BAD53EAC16D358E +94F1BCC39C05B61A8347E4B69B19941B320271FCE6E415FB14352587A929077F +9DC65C455A76B8C2F5E7FBBD0437EC17134242D3BB13B0722C6B197C54E5EAD8 +18AF5887986C7895294E4E810EA9BC21D29E2CED5C82BAFA33FE5058F3F252A2 +C1C2F313872048F8D2EADE51B5A94290094085F43D81ED74DE3EFE8AE9DEA7EA +49F466F7F133F2C82D656523B407797A61B8C9982D5B60293EB7F18A2085E1EF +7C1F60A8A438314F0388F722ACFCE55195C1F3F1E17159845941589928BEC56A +F31ED3C2218CDE188A3B55D17FF605E05D8AE1065CAC7B135A1E6B54EC841644 +B430A21C8B0ACAF85204A564E57FE3AAC1A4B8E8D1CFBA68852D39C4A3159DC4 +605EDF016558176CF811F7591977490B3C21A1E4A79D27E5D76310FCBD435C95 +40F95C34771663015DF949A64B171F229F83025C0A907965DD988A0F2A75E8E1 +1B498406159A0C332949577D32E1545FA3401879F05329982C72A203D7652CE6 +5AD49FF99AA463047C93F56DE4916158EED499FD7073823BC5324BC00191B24E +456D1A93FBF6E6137B4AA3A773047072021F8C20E9A553879C60A54774A9E845 +BBE9DB5D253F61EA096DDFCD8F321B74465B604BF3AD557CD20E6F1C7B0169BF +B37105EDBC8FDBF1E3DB5554775E475DD3AC4F88DF0D72CDA441C04A0CC47526 +7A35680041E78C0B8CE7A54540D591DF9CC8164EA3A3C7C871B029AF99DC0DE2 +E994E863765F9D907EF27DBB707E9EA1CB479E1AAC73F741E9EF0AA96F8455CD +0084F105227A5A3B6E066C5487FC956CDCC0E8D1F6B92E8E0F54EBDA69C7DE9B +A63EA7FC5C969185D72362A6EA294E30DE8E13CB701C90EF7E13250B34545B30 +CA046BA19A488FE9FB27C7FB9B7A6017F78D2B8E9C5ACDA576801381F6B2C435 +DA1B205A4041A7C1E0B55B44E71AB130A11713DA2D971D2FDD1416AD86412604 +6E65D39D7D77732E6B42910C85FCDCB473E5F2ED159F9AF583CA21C4AE230D63 +607222B23A1E413A671F55E6B71B1F772F9EED06CBD5F299D033DAC93F80330D +3E3CAD7850FDAE6EF00E1E1D02395CA135829FC65A6B8CC95537DCD7AB804425 +2172752ADC751F0CCE122C7A470CF445FF92D6DDBA43E0903AF9EBDDF94DEA18 +679567FD8A7E78DCF94B26D5C2E4E46BDF150D67032545A5DCA2EA06E49BA763 +D5531360293B0AF7D83A7706D82C730B97D78FD494E47502CAA1125B1AEE7093 +129C7BB9DC79AFCF1F08E8157A50AEA2CDB077806133548C9159D1C5B8EDA8BA +8FC4E14051F42AD4217EB631A846394CE942C16A2B2FA617701CB3403ACB7AED +1B0BDF2F56B65F14BD2D3D4860AFA59D61709D1AEE9388B04E40B7F6D1878293 +9D828F81DB610843ED5306632A99A23E11D00A53B46660E6AE8BD5DB9284BDB5 +BF5F5118DEF0585FB46364C7F0CA697C43712C8A366F717D600D56B3B5162E98 +24EA12C92C8831414F54DA383B358AEC3E312C456EF0DBD70E81819DDC2F00FA +B3E1EDE9C4610F5E51D0F4E0EAD5508BA97AC5D6EB5F16D2927633A7E92D521C +E9C34D91D69C5273E3B591E8E9732EC02FFCE392AA2093A154A8AF4323BE07A3 +ED6E4E2A0FC7CE95E879AC41D515014E54913E3B68D83FD3C621F400CF93F9D0 +2308DEB63797130B1C9FCB29ED6FD1BB8E140178CE267192E5D2830DFEA98831 +500EB89845F0D6B47BD87958CA500896A1AAB34AB6AE1568D0CFF85766CA1B78 +AA828FDD1B699828832ECE7E48B2AD702109B72781640C7CFA52E0A490C22A36 +D106F18CBC5B629C61A3FAFEA54946A2BF98133683FEA93C17499CC8621F9395 +D169358AF2C2D4F9008954E5DCE465E1F2333CB65DFD554052D49E268677B602 +7D064A95B1B2AF7F6B4F223D772C88201A835A934465139DAE6AE837F6F653F0 +60CCE5FAF8FE9A6198294771724BE20A20E3A65BA23F34B59310154F54730941 +C39D3D438F2DAB828172F68A16CAB5A3D1EAFD41A982C8D7DA0438146625CD88 +A0D3264A1C4947B2ADD5B320B982C12D1AA4C45334CA821177EA18F2ECFCA050 +11577526AE45DB0C4E2D11F9470954AB14BDCE0F921097A6B73239B8E11CF61D +D2A41C16C8286A4D5C1E4F90CA103203CD2361C983593BE6CDF6E1A93E15AD93 +CB4B66C51F0BB708EC26CDE3E413FD5F14100A0402D1FFEFEF92A3060C8178EE +B7448BBA900476F1ABFAB06478ADB9D426FF04604A4C7881D96A7B66E6BBDA4C +B828F046F5307345354D8DEF36543281AEEDE1407F9ED00D55BF3A7808D26422 +C26DF7CF6880111F52D0E884D8ADAB5B8CAE44DB6F4C4A7BD6D4B29C69DBE0E5 +8EE2F7FF6AA30BFFCEB9A6AF4909FFCD80F68EA11E2AFD247257D1C1ADC14E5B +FB18ADDEDA37AC39B95906EF8F5531011BC351B19A7D7056F90FA1FA0228634C +3C353A19539F78EFF72152E1A83C40F705923605DD4E3AC3801CCDFC3393B665 +9BD2334180424290256C383F229AB6062D3732B8E3497E8E413AC1CB5896016D +9333B7610D3899BE52FFC49A2F24A7E9BA277C46D1B53763CAB0FC8076E3C0B8 +AA329CB6D9BC4714891C766F4E7B1DB3C17E34CECA89CA084DEA904227976419 +E93940D4F773C28FBFB771CF206D857168C3C9200A1EDF3281465F4AA3639250 +8167B6839466831D66D7AC762F1F4138A5DC4940AB4A908CCD022D37541E02F2 +DD976E727A9AD36DAFC65FE440D4A9EDDC5434E7E60431C6F65F1EEA1FC2381F +A9CE5E6AFF4187EA3C03FF68AA552410675D55E321DE3073638EAAE12F9F164E +0206CD106458EB6E1AABEDC21E93DF33D4FE77F168CB5E2F7051077EE345377B +1AFF83007A866E86A3AB71D96C5264A524F367C5C94BC3C13FA63ADCFD3A0612 +2D384E8622C0FE2FD6F3BCD97276EC66DD3A348AED1049958516168712F7605B +4A0935B2526A6F2107AC9CCE157823E0476798790426C029B64ACD8152ABA13F +0B977FAA390FC397E5181B37B9A67FF72A8FCA83EA399DD2F3D9ED076F26EF5F +871FBBA26AFA0B83ECEC1DDCEB5A543DFB395314F32D0096520F3F03FD4C242C +9B089D84E46A62875DA88811CA1DE61E898698219EBD5C3E240A513261BC4046 +9563C6B3376ADD56C10A01080326DE260F58DC1C247F6B37C77031E58E2B62FB +07D1A560A187EB97D93214211D3EA4CE098C306985199C98F289CC14C15C24D0 +1E1B27B4626D8B877FABF9935EEBE37E5EE2FDF544E9262A4CE1748EBC50D690 +C6C58846736684482C5BE0585115BA020984571C5FD3A6787E8F5B76E9AF4258 +97BDB1937C7E482C1080639007A1F6C06993A8C168DE54FAF48E2C5BAB7CF01A +521A043B69C656EC17B10AE310F5768979A6CADC836CC10A5C842728BFDA4BF6 +D5D836EE57B49D8D42DD26FC15E13ABDF58043CF6AF5969374914DCAF4DAA415 +42D24BB29521E29CC2AE3113ACE9098A954D9A43FF36E5EC12655E49EA8118D8 +009CC243141EB69112E5F93C313A095946067DAD6662E69E12EAD6D803E3F2D0 +9FD1095FF7E1449744882D2CB4184727FBEAECF87BAD52DC5855FB3D0CEC065F +F93D86608522082CE33EE38BCA76DE948931334A7D66E306EE3F6A95EE28D40C +B79C62A848E44D7ED27BDE438054CEE3478F64F5BA9F4AB828BDC228BF616F70 +7F589760B6CB6C66558ED8F3518D283AD8950B75C8304983D0E597FD8C9FB30A +3BBBE79820E68B547A5398BE7BFB4FF9EEEBA6584275FD4E328698746763C356 +FCE94EA9CC2768AE4C6261F623755646EF15421A73870578EDEDD6ACA608FEE7 +9E3DBC12CA6A25D6C1F8628865A7A737FD13780372E1423D7B079B5360CD1A42 +0C94CFA4A5E6E812C149BDBF6A94D99D55AF61182BF43AA9DE6FF801C1524E4B +1727815484C92F8E63C2D9C716ECE1C0451ACD62832F349D6E8D2C1F9646B6BF +2B82352E14ADDC6EB1DAAD0F46D852ACE0AD78F638F491FEC7E5C70BCAC41305 +5FA3E5018BCA8CA62C412C6304C6330D020CEA9AF60ED5964B907EBF65634B11 +7D2CB6A25CFA843BE865A82D50FCFF7F94E47580E7DB88CD060FD149FC0C1EA6 +F174D407FE7CA377967ADACC5B876233ECD2601036F87D8CAEC8320D70C5EC06 +42E62EF1A2A2033B8DCEB7DDC4D8E94264EDC2AD8E3C4D1B8BAB34572312F5DD +EBD34F74EB83A5AA8FEC51E663E1F104EDBA38469DD49EFEECDEA2BE7DF7C8DC +9E424CB30B135335FB2F128DAB2EFE900F7CE6B401615B0DFCE70D4C22F51F60 +0F5247A261CEBD55B6716A36ED3ED2BC4C1DF2E1A4D63EF5C9F3D17C1C8DABA6 +CC2D06C252D21BC288020D51D1343CD2531DC71AF1195F535B2228708B03E63B +59EDB01D4BB609798EB0EC74A72837B34D5351CC617F6403E9F5465A299613A2 +2137C6DDA812F6326840FF7616CF323AAF43203742783E5570EB4FC228C93ACA +46C3FC78BEC83A655B48CBA55D337728A2DD0DEEF346338C1ABDAEE2A56F6C3E +784ED1742B242052224E4EB5FC583F238807A119E78C9B290645B516EF931BC5 +598A64FCD9BD82A5D1D4CE3F01C5A08B12147B0128C712612FBCD7E485603AFB +769B6A6829AB4237762F70824DEAD4414EE5BD4AC440F76CC9FCB155D9AD320F +A84EE2E7797EAD8E2EA03946AA3816540F4DC97EA169EF7D44A107030A5275C2 +7321F760948A24E243B95C9B44C5110576B81A9BDF7206AA9445E673F65407EE +13F5F1389F9875B5E9997ADE151DE75E7DF47A128007F0FAB2A3B6B218C104E6 +0D8B168F630110BA045BA473C7B515D6FB3E8D9D6B90AC901499306B44A79D7D +28B9AFBB5963ADA9ED6DCA3DA607C994F0DA16CEEC47717B1EAD6FAF96580133 +2055DDFAA11EAAD717569C8F702A119235569458298D489F66F50502D8D29D53 +AF4C050D783345477827805D408944472D7FF85B0EF814C36BE790C71BA19594 +5EE88D99B47B3B098FA7D8C84C99AA51290604C8C4CCD6080101235BC741E4A2 +1A2F54778A7E77B63EA497ECB71EA8AD469D65DDD6D8776707DD52160C7BFBCA +23929AE8AF2A0D8D2D8D233923404E300D0678D08BB8BA3FA4B81B46922C04A5 +A521C71F808560D2B1DE5F9F7B3B629475134B4702125805CF4CAA0BE126EF9E +AFE93778035EC428DCE96A93B274102E8FB0D11C96D0B4C27A6F33DD6000E6ED +823C814E8572E36AD1E21C8EA27462E08CB71259AC109C86999A4D50D6177E2D +0F8713C6CFB0415D02D52FA559DEC8995F536B2CF338E1E6CEFF1DDD91DF4F7F +68B550977E7BB90DEF1EC24A008312EEC5E4BFE0993743D067CEF1EFEB383C24 +C9C80F936068C2BCF2085252DFC096D05B7135F1C645A8C1BA3C8C16E6A330D8 +E4C1A41F0BFB9A0AB4C21872D512222A0059E35DDE9F144D1451AD78D16F1F4B +5B3666466A18F6247739BECE6A892A617375C722D6BF5DED9A519CF2EE29DD2E +23326963FF9CFCA32E53FE9E4704CC2FA42B915436C34BA169E9878690AB4BD4 +8AA2BA04479F5F9E472308AEBBC45CB6270A690422C68C5C56CC6675B0BEF0F5 +EB4DB9478295CF9D922F8D869A3A20C42C5B4C5E0181738262E468659AF751D1 +D0C170935944475288010298D0DAC4AE7708CB253B8941F91DA2020F47B5B55D +0470D6C4FD89D970ADACCED67DE7BA99EA1EA02A633B2E7731D0EF6556190849 +7952308071B8DC8CDBAB15F6FCFE1C667BD4C0D6C5D351E56FB5747CF7518597 +9F155290E8FAC19A51B31AAC847B696BF626B65F18919E0FB5895E49137C208B +36381592CAB93193FA04C50D4D37943FC52054E3466E7ED7134BBD646BCDAE5B +CC8C0943166E82FEFE02141592572A6EFA52FD193E0092BC581A4244F83CEB34 +C9F35737ABAF1754D61ABD899A8BBE2AF894200A759AAEDB27C4E1A339DC60A9 +F22ED20E54E952E2C6DB328E6D9F2543C318247AFDF6EE1E890D2FE0956C0924 +2C3119516A9DE1F8CD15CEB11D3F802D3F41E9B3927CECFCCBBE55F8B2C9261C +51990DD48EA5AC1900A32FC053C7812C9683564B523938B3C74C9C078DB851F6 +E219BB63042B69978523D638C549E5227921C446AFFA396A8E6728C774119791 +D77AA58D7853DB026416BB2CF5CBB624F83D4DEA2056915E43D0DD3481B41896 +E715E2AAC87C10DF63DBFF724CE4A5CCA6C6F009213E2E748275809784F65288 +F96177F90D07C3FBAB0F83FA54B46F50C5D921E498C06DEC3B704840F7AA72FC +0D0F1DB46CE59496B6A79D9169AF68E708B7E1AEAD754E6C8C6C534527CC9B09 +6513DC67C5A1941CC4061394F34D2A482450ABFFC78480ADA145FE2C24355D00 +85E581FB956F19A361C91AA32C8084BCD0443E85D313020043A4870721AAA540 +8D78F7A2B9D33DD67306A68BA901461ECB068DC745BDF0F5FD5EB4AD9E9B93BE +4D2536FC5FC13D3DA84173CB3423B67DB738C26030509EB748688943316666A1 +B6CD6976E8D383C28D5B88078C500D4135531DAE5D6DF1C5DBFF191E3382E565 +3DC50B22DEA1E1367518A9143C3158519271C41301339F8666C4180ACF631BF4 +CC44488929D90655608F33EAF4E1966C03D187181EFB474143E3F309543E687A +6AE1C12E33892D9A3C218AF94A4DE08797E639636C7D2745FA846CBB1479E2C8 +45978FE6B22D02D4CAF3DEE8542D5B978A86BFD526069981094B4F0BAF2EB6E2 +77F7AC896366A642837C057774F0A45235AE35827EB47D4D2F430CA4B8F4BD42 +45DCCAFB700E20C031FC1A38923C6173615D2D03CF4C225016CC93A0356ABB63 +B4F50AFE3BDDC417472BEBA6A3216B81A0755D68B99DF13AD956AF12518B7FB3 +9A9EF940AD5C7E788C579F0AEE8E52BC8F033CE70E995A29E48F8527313B79A4 +19A7AD0276FFB441A8A8F2DBD3EE8000C6788FDA0FEC0BFE72B1DAE52F890209 +0CB03B7C02B8CEA68328B43D16A93F40B3EF8ECA9B8C27EDF01931B06DB3ED55 +08F3017BC5965DED9281965A0DB6A6412B6AD447608346F8B254E5914E8A5093 +0B1F561AAF68179612BBAF1D8C4501FCAFA6D024AD505BB29BE89F9307793A35 +DBB3264052836CF223D6A2BE17117AD4DEBC2E3CC3853A2879C5F4B2F036871D +966EA551071A2230A00A8F12FE60114ADEA08E5F32FBED0ABBA31CD7A5D509EC +CC72EFE19AEF2107095DBAD50F73AB56ABA9D0384C29526DEF162910B89CECB0 +B0ED2F5BDA61AFC44632D737810ED47BB89994772198167315F898DE0614F2DF +A0EA64CE22FA62EC1A2D8184DCB57DFE6CD9A573AD7815CE677049AA3B073A68 +6F103C97951A401CB7D5C4E41E936C73C6ECC0AE0163576C913097A50CD2B189 +C135927450521BAC01D981B805BE453428839DBE2CF0B2A96E3D5DE93B1D9411 +BD2BDAEE782636388CDB0304E6621ED1AE849C45B51E36A9D6065F6ACFFE8224 +FBD2C5B02D2324CA550CFB66D0F9489E2B4B0DA49A3260DF965683F433F7860A +1F4B12F772F332A049F909383B88AF16C321441F3A2074590E907983B7B7E643 +1349CE37B942E166C851DBF68B2F58023566987CAB9F1D05BF773161B81A0584 +2B39DAB2E00DD4E101465EF425A6C24FE051FED0B658A2E02CE960FD55A3CAE9 +B1DEBE866D4B0CA3AD93AF477C4EDC907F3FA286153D8FBA938CE0EA2D314914 +B0F988FF0226F4409518323DFF26E78A4654827B5BF9F2A6BA534AA93C17901C +2B855C3E28AB0B0F09DA1C07CF904802C97108FB8F85E349150E773DADACBD3B +CFBC02FC33182DE08ED5C6B01FDC9C955286AD96909235404538595E81EE86D3 +8886492962E92E11B8F5C753DCBFC88306A0D390E8674C04C183830CAFF8101B +FAC76B1DC865BDEDFD3B0C28C6CA1C969993D335AF70F80782A08E13BE7F00AD +FF175C302E582B13A64B33F46640CFD5224164762F7EC20CBB779A6C6A536027 +D801CFC048190F02EFBDC670147EC52759A2D7F54E19A30989DE04DFB08062D3 +6A78B0FA6F5FDB2CB5D225CB1FCF6C71407A576E3D985AA1BF482665794CCCF5 +CFA9038ED91157260B3F85E7B50F1A47CB61519391E744F62B5E567E13AF41F4 +AF224D3A8CF5AE9734B3EFEBE5CD56CC4C26FD551CEF64D56A52D5C1D0B00F22 +727844FBFBF599DED45A466E46BD20BED6BDA0539F01A6EA7087A76313A59668 +CC48D25D0AC54558A77684114BC2941EF7E785A61CA6A4AC12113248E5F999E6 +4B7B3DDC3D06CA3196381CD543B52917660E8AAB1B5EF56CAAD0CF5CCA14AD86 +82ED132A71E7C48B79DE14525BD110E5831E0A575E2425727769A66C1F018ECD +6304682D80E7E343EB106B126DE1384D729E9F2A8E054B7DDF651207BCE28BAA +18D19C9D7085C747749C52B89A4CB492B5FABFCBACA522E21CF33CDFF0488F46 +79D81BF13513BC1293F0E17F37D808143E1C197543DFA6CA2A8969638F0CD799 +5930300FD61DB36DB8D256CB1682E23CCD65479C7791B2D3DD0BB1AD5E248674 +95277F235CC9D0BDEC4D3F320B03C3DFAADACCBA2B33422F5664E777DB049495 +2B34B5D369AFCD58F5F69DCDDB865B332EE1955226E4BACE1D4D1A71AD791785 +7BC2B701A5BF7611413DCCA1336BBBAEADC5BAF054324A641BAFFB601531B187 +791C2367A302040DF89E3A6879C50A9903DBAD252AFC558634860065244751F0 +07F6B91729FCB170140A39190956EE31CFFFB360A4FEA9F8064AF6224898C633 +15B743C005CA3603F22409B5404A532659E0748DF6A08A304B799206C26CF81A +B0B2B4737AD52DD6D2B9F3E001F2CB8FE3DFC2C42197721D534D94400AF45A79 +62BBC2D9810530D880A68004C5221B2BF6EA5D366E387B4970D82C03AAE964B7 +97763C054083502D5F7928EC7A016B779E714F80518A332587D56B98038A8F17 +CE35F07308AD6BEF760174EE9EF6D779B73D97BC8810D335A945A80AA820E495 +8ED3F2C9436E19C11C2F4C4926530E2BD813527D99DA5D43BA763E397B66FE67 +9979299DD514743C8DE3A014FA551E68257739EC2A6A06E29D3096DD4D53516B +E68204CB21CDA0AF8862980CA956DB89DD6FF54D12A120A82F1948F28F8F5F55 +B69252C842D1B564DAA862CC4C86D42124E88C2CEE773C4394EF7AB12781FDB4 +7C1F6950D36987C92896F14F6BE66DCE2D2ECF7EEBFF92D5A782A3ECF958A9BD +E8E551F0FB231241B1C9CBAC93B18A29052362F894E0A86930660BA6015CA415 +BC65885A29A4BA20D1229B0F12D03C52E38476FBC50C59CF702A6DC11F5B819F +414AA539D622755302271F43870E337595A7BBB674BD11CF0B20F0CC2FF7BD88 +6EFB43E36E3870F748593249ACA4CAFEDE6BF14C3F6B474F18C877346CAFAB38 +359620FAF58C4923ECA8EF490942E05693F0909623FD974F54928CC11A7F7E9B +6F2DD0B23EB06801AEA78B27ED6D4C718B8CB0F1E838487BCB51595E3AF1515D +9C28B2FB5E74CF4C5772178D603BA50D44C172C89B78EB40DFFFE008C8BAB54A +053D5B9A9C62E5EA50C0932F743FA66C3374B727AFCEDE1A125236A76BE64570 +9F94369064AE74428173DBCE2CFF1DF90DE1BC0A5AE52C9B93DEDAECAA606E32 +B6987990E4429C87CB6B2E08800689345862483F1C1C63EEA072EB6EF3A6DC34 +9A05C17F98D501D15C6D1FDD87B608DF395691A99D027AE89BD031CE74D96C32 +1C1DBB33B70A1DA9DF76E28A7E645601CA6843724221C83E0840D1EEC4E0A3C2 +C898A366F03152FAB5C21575FE079C8F367B72E12061AC4D85C59BD6C28D241B +118BE6000AE4CE9C2BAC0C9BE46B4BFA2EE160E65D5B9B405CDCFDB619EEF7AD +66B6C14BB536006EDAC9B340F4618372A2F71EEC48B618E1FCA5B55492DE9ACD +BDA5F30B25739C3352E70C8BC6AD31A263B89A01E3BAB92D8351206C57C40983 +7FADECB045A309CB9BFE28925446D98137D872FF8D1863376D055F4D3D0FDB00 +008A2B12570DB5E2E770F300DB06FA5F287C9E1A58F92E5C6B0AD193F44C6D62 +01822097C8059A187FD56F5E243BAB3726589CF24DF311289E9F663E8C1A9622 +21BEB646FC0C3F3BE1821A67F249E80CABF77894B5C197C00A42AF80E4F5C0E8 +51C7464C427C2DF89FCCFA851EEA7C40F661FAAB65EB5CD9D5B5F7EA5D86DF7C +C54F0504F573A3860FDDF2D186E8D36D394C861BE9C48162B61AB9A8E7DDDF31 +18404D5C8C6BDF7C8FAAB452831199090F70BA20AF0289593B3A1AAADB9B3D6E +8E0798B87E8DE26E8333E49896AC44508E835581A9BFFCEAF0E59CBB13BC04A2 +C05C936DDB7D69DBDEB9B0411CEDB53F1D149496BF51BB23C3B07F62D34A1FEF +F0BE8139A9CB352821AE90293BB79E82751336C9EDD971455FCF0452A72FA705 +0454F32DC0BC4394C4E4F4C90E203313BEC4483053CC3ABFF8E9FDAD6D65A7A8 +67FFC0B08A4F6582BE48F050C817F05B6949BB50E4B83456F801A83B9FCE8B05 +FF97F73AF6B037C8EBF49E62F3497C92F351D942E5C7AA49156458254E7E67C2 +97A49E4F75114F62623A471CB2C21A7C666D3E8088FD1F3F67627E5B6949508A +EAC44C7FF37F501348A93944ACDF4284613B9ECA369FE186E2E0C013693448B5 +CDA2B7630E09A0283236B0DB58C29B5249AFEBB87B5357549D4D55A1A871832F +F07C5CD2D1272E02A59D8433DB9FF170706AB964A07F52E4CC6782E8DCA74BFA +3D6B5347990224FC3780F036BFF243CAC8B9CBF544086C0078C290FCCB665612 +75BB17D6B80A09CF21EA087BD82592E5E3F801BE227D5EED19BC99F5750F0E24 +ECE512FB2B35DFB1B6BE645D7ECA90AA0EB583BE252BE3E7AC4A642FCDC4D541 +23180C2C71835BA0CBC06E56E99F198FFC2830021C20A9ED35DFFA76C0FBB7D9 +F48A05EC327123B520E0BC1ABDE393C0AF88AF610C1513E7E578595B90B9D101 +245006733BD8A44F89FFC7164AA59B1E73558A85F775B7AC1FC6D646D89544AA +B9CD23D9C7403F122749C21FF7539A87307084C0FA290570EC52E0BA8F306B37 +491ADF370A75112AC14F33A7F57BA0DC82271E5ADE77CB 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2306,8 +2314,8 @@ @start /Fa 242[61 13[{ TeXbbad153fEncoding ReEncodeFont }1 49.8132 /CMSY6 rf /Fb 134[32 1[43 32 34 24 24 24 1[34 30 34 50 18 32 1[18 34 30 19 27 34 27 34 30 13[34 44 -1[41 47 1[54 3[22 1[47 39 2[43 1[45 6[18 4[30 1[30 30 -30 30 1[18 21 18 44[{ TeXf7b6d320Encoding ReEncodeFont }41 +1[41 47 1[54 3[22 1[47 39 2[43 1[45 6[18 3[30 30 1[30 +30 30 30 1[18 21 18 44[{ TeXf7b6d320Encoding ReEncodeFont }42 49.8132 /CMR6 rf /Fc 135[33 3[24 29 4[40 58 18 2[22 36 2[33 36 33 33 36 50[22 46[{ TeX74afc74cEncoding ReEncodeFont }14 66.4176 /CMTI8 rf /Fd 134[43 43 59 43 45 32 32 34 1[45 @@ -2322,7 +2330,7 @@ 35 35 1[35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 3[35 1[35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 -35 35 34[{ TeX09fbbfacEncoding ReEncodeFont }85 66.4176 +35 35 35 33[{ TeX09fbbfacEncoding ReEncodeFont }86 66.4176 /CMTT8 rf /Fh 134[60 60 2[64 45 45 47 1[64 57 64 95 32 60 1[32 1[57 1[53 64 51 64 56 10[87 88 80 64 86 2[86 90 109 69 2[43 1[90 72 75 88 83 1[87 19[38 45[{ @@ -2330,7 +2338,7 @@ rf /Fi 133[31 37 37 51 37 39 27 28 28 37 39 35 39 59 20 37 22 20 39 35 22 31 39 31 39 35 2[35 1[35 3[53 72 53 53 51 39 52 1[48 55 53 65 44 55 1[25 53 55 46 48 54 -51 50 53 6[20 4[35 1[35 35 35 1[35 20 24 20 55 35 27 +51 50 53 6[20 3[35 2[35 35 35 1[35 20 24 20 55 35 27 27 20 2[35 59 35 20 19[39 39 41 11[{ TeXf7b6d320Encoding ReEncodeFont } 71 66.4176 /CMR8 rf /Fj 141[57 2[69 76 6[69 42 63 76 61 1[67 14[103 2[103 1[131 9[99 16[69 69 1[69 1[46 3[53 @@ -2346,7 +2354,7 @@ %%Page: 1 1 TeXDict begin @landscape 1 0 bop -169 -357 a Fj(Org-Mo)t(de)45 b(Reference)h(Card)g(\(1/2\))546 -242 y Fi(\(for)23 b(v)n(ersion)h -(3.15\))-150 -42 y Fh(Getting)37 b(Started)-150 125 y +(3.16\))-150 -42 y Fh(Getting)37 b(Started)-150 125 y Fi(Put)24 b(the)h(follo)n(wing)e(in)g(y)n(our)h Fg(~/.emacs)931 102 y Ff(1)-150 199 y Fg(\(autoload)38 b('org-mode)g("org")e("Org)h (mode")g(t\))-150 268 y(\(autoload)h('org-diary)g("org")f("Org)f(mode)h @@ -2386,9 +2394,9 @@ b Fg(M-S-RIGHT)-150 2935 y Fi(mo)n(v)n(e)24 b(subtree)h(up)932 b Fg(M-S-UP)-150 3004 y Fi(mo)n(v)n(e)24 b(subtree)h(do)n(wn)848 b Fg(M-S-DOWN)-150 3074 y Fi(kill)23 b(subtree)1097 b -Fg(C-c)36 b(C-h)g(C-w)-150 3144 y Fi(cop)n(y)25 b(subtree)1052 -b Fg(C-c)36 b(C-h)g(M-w)-150 3213 y Fi(y)n(ank)25 b(subtree)1046 -b Fg(C-c)36 b(C-h)g(C-y)-150 3310 y Fi(arc)n(hiv)n(e)24 +Fg(C-c)36 b(C-x)g(C-w)-150 3144 y Fi(cop)n(y)25 b(subtree)1052 +b Fg(C-c)36 b(C-x)g(M-w)-150 3213 y Fi(y)n(ank)25 b(subtree)1046 +b Fg(C-c)36 b(C-x)g(C-y)-150 3310 y Fi(arc)n(hiv)n(e)24 b(subtree)976 b Fg(C-c)36 b($)-150 3380 y Fi(T)-6 b(o)24 b(set)g(arc)n(hiv)n(e)g(lo)r(cation)h(for)e(curren)n(t)h(\014le,)f(add) h(a)g(line)f(lik)n(e)1495 3357 y Ff(3)1533 3380 y Fi(:)-150 @@ -2402,60 +2410,62 @@ (t)h(org)g(\014le)367 b Fg(C-c)36 b(C-r)-150 4060 y Fi(agenda)25 b(for)e(the)i(w)n(eek)823 b Fg(C-c)36 b(a)p Fi(1)-150 4130 y(agenda)25 b(for)e(date)i(at)f(cursor)661 b Fg(C-c)36 -b(C-o)2046 -364 y Fh(TODO)i(Items)2046 -216 y Fi(rotate)25 +b(C-o)2046 -364 y Fh(TODO)i(Items)2046 -215 y Fi(rotate)25 b(the)f(state)h(of)f(the)g(curren)n(t)g(item)354 b Fg(C-c)36 -b(C-t)2046 -147 y Fi(view)24 b(TODO)f(items)g(in)h(a)g(sparse)f(tree) -380 b Fg(C-c)36 b(C-v)2046 -50 y Fi(set)24 b(the)h(priorit)n(y)e(of)g +b(C-t)2046 -145 y Fi(view)24 b(TODO)f(items)g(in)h(a)g(sparse)f(tree) +380 b Fg(C-c)36 b(C-v)2046 -49 y Fi(set)24 b(the)h(priorit)n(y)e(of)g (the)i(curren)n(t)f(item)369 b Fg(C-c)36 b(,)g([ABC])2046 -19 y Fi(remo)n(v)n(e)24 b(priorit)n(y)f(co)r(okie)i(from)d(curren)n(t)j -(item)179 b Fg(C-c)36 b(,)g(SPC)2046 100 y Fi(raise)23 +21 y Fi(remo)n(v)n(e)24 b(priorit)n(y)f(co)r(okie)i(from)d(curren)n(t)j +(item)179 b Fg(C-c)36 b(,)g(SPC)2046 102 y Fi(raise)23 b(priorit)n(y)g(of)g(curren)n(t)i(item)557 b Fg(S-UP)3626 -76 y Ff(4)2046 180 y Fi(lo)n(w)n(er)23 b(priorit)n(y)g(of)h(curren)n(t) -g(item)538 b Fg(S-DOWN)3696 157 y Ff(4)2046 311 y Fi(p)r(er-\014le)23 +78 y Ff(4)2046 182 y Fi(lo)n(w)n(er)23 b(priorit)n(y)g(of)h(curren)n(t) +g(item)538 b Fg(S-DOWN)3696 159 y Ff(4)2046 313 y Fi(p)r(er-\014le)23 b(TODO)g(w)n(ork\015o)n(w)h(states:)33 b(add)24 b(line\(s\))g(lik)n(e) -3505 288 y Ff(3)3542 311 y Fi(:)2046 384 y Fg(#+SEQ_TODO:)38 -b(TODO)f(PROCRASTINATE)i(BLUFF)e(DONE)2046 464 y Fi(p)r(er-\014le)23 +3505 290 y Ff(3)3542 313 y Fi(:)2046 386 y Fg(#+SEQ_TODO:)38 +b(TODO)f(PROCRASTINATE)i(BLUFF)e(DONE)2046 466 y Fi(p)r(er-\014le)23 b(TODO)g(k)n(eyw)n(ords:)32 b(add)24 b(line\(s\))g(lik)n(e)3314 -440 y Ff(3)3351 464 y Fi(:)2046 536 y Fg(#+TYP_TODO:)38 -b(Phil)f(home)f(work)h(DONE)2046 723 y Fh(Timestamps)2046 -871 y Fi(prompt)24 b(for)f(date)i(and)f(insert)f(timestamp)266 -b Fg(C-c)36 b(.)2046 940 y Fi(lik)n(e)23 b Fg(C-c)i Fi(.)31 +443 y Ff(3)3351 466 y Fi(:)2046 539 y Fg(#+TYP_TODO:)38 +b(Phil)f(home)f(work)h(DONE)2046 728 y Fh(Timestamps)2046 +877 y Fi(prompt)24 b(for)f(date)i(and)f(insert)f(timestamp)266 +b Fg(C-c)36 b(.)2046 946 y Fi(lik)n(e)23 b Fg(C-c)i Fi(.)31 b(but)24 b(insert)g(date)g(and)h(time)e(format)144 b -Fg(C-u)36 b(C-c)g(.)2046 1010 y Fi(insert)23 b(DEADLINE)h(timestamp)516 -b Fg(C-c)36 b(C-d)2046 1080 y Fi(insert)23 b(SCHEDULED)h(timestamp)451 -b Fg(C-c)36 b(C-s)2046 1150 y Fi(create)25 b(sparse)e(tree)i(with)e -(all)g(deadlines)i(due)204 b Fg(C-c)36 b(C-w)2046 1219 +Fg(C-u)36 b(C-c)g(.)2046 1016 y Fi(Lik)n(e)24 b Fg(C-c)36 +b(.)24 b Fi(but)g(mak)n(e)g(stamp)h(inactiv)n(e)322 b +Fg(C-c)36 b(!)2046 1086 y Fi(insert)23 b(DEADLINE)h(timestamp)516 +b Fg(C-c)36 b(C-d)2046 1156 y Fi(insert)23 b(SCHEDULED)h(timestamp)451 +b Fg(C-c)36 b(C-s)2046 1225 y Fi(create)25 b(sparse)e(tree)i(with)e +(all)g(deadlines)i(due)204 b Fg(C-c)36 b(C-w)2046 1295 y Fi(the)25 b(time)e(b)r(et)n(w)n(een)j(2)e(dates)g(in)g(a)f(time)h -(range)172 b Fg(C-c)36 b(C-y)2046 1328 y Fi(c)n(hange)25 +(range)172 b Fg(C-c)36 b(C-y)2046 1377 y Fi(c)n(hange)25 b(timestamp)g(at)f(cursor)f(b)n(y)h Fe(\000)p Fi(1)g(da)n(y)238 -b Fg(S-LEFT)3696 1305 y Ff(4)2046 1409 y Fi(c)n(hange)25 +b Fg(S-LEFT)3696 1354 y Ff(4)2046 1458 y Fi(c)n(hange)25 b(timestamp)g(at)f(cursor)f(b)n(y)h(+1)g(da)n(y)238 b -Fg(S-RIGHT)3731 1385 y Ff(4)2046 1489 y Fi(c)n(hange)25 +Fg(S-RIGHT)3731 1434 y Ff(4)2046 1538 y Fi(c)n(hange)25 b(y)n(ear/mon)n(th/da)n(y)i(at)d(cursor)f(b)n(y)h Fe(\000)p -Fi(1)189 b Fg(S-DOWN)3696 1466 y Ff(4)2046 1573 y Fi(c)n(hange)25 +Fi(1)189 b Fg(S-DOWN)3696 1515 y Ff(4)2046 1622 y Fi(c)n(hange)25 b(y)n(ear/mon)n(th/da)n(y)i(at)d(cursor)f(b)n(y)h(+1)189 -b Fg(S-UP)3626 1550 y Ff(4)2046 1670 y Fi(access)25 b(the)f(calendar)g +b Fg(S-UP)3626 1599 y Ff(4)2046 1692 y Fi(access)25 b(the)f(calendar)g (for)f(the)i(curren)n(t)f(date)221 b Fg(C-c)36 b(>)2046 -1739 y Fi(insert)23 b(timestamp)i(matc)n(hing)g(date)f(in)g(calendar)89 -b Fg(C-c)36 b(<)2046 1809 y Fi(access)25 b(agenda)g(for)e(curren)n(t)h -(date)507 b Fg(C-c)36 b(C-o)2046 1905 y Fi(While)24 b(prompted)g(for)f -(a)h(date:)2046 1975 y(...)30 b(select)25 b(date)f(in)g(calendar)660 -b Fg(mouse-1/RET)2046 2045 y Fi(...)30 b(scroll)23 b(calendar)h(bac)n +1762 y Fi(insert)23 b(timestamp)i(matc)n(hing)g(date)f(in)g(calendar)89 +b Fg(C-c)36 b(<)2046 1832 y Fi(access)25 b(agenda)g(for)e(curren)n(t)h +(date)507 b Fg(C-c)36 b(C-o)2046 1901 y Fi(While)24 b(prompted)g(for)f +(a)h(date:)2046 1971 y(...)30 b(select)25 b(date)f(in)g(calendar)660 +b Fg(mouse-1/RET)2046 2041 y Fi(...)30 b(scroll)23 b(calendar)h(bac)n (k/forw)n(ard)h(one)f(mon)n(th)121 b Fg(<)36 b(/)f(>)2046 -2115 y Fi(...)30 b(forw)n(ard/bac)n(kw)n(ard)24 b(one)h(da)n(y)525 -b Fg(S-LEFT/RIGHT)2046 2184 y Fi(...)30 b(forw)n(ard/bac)n(kw)n(ard)24 -b(one)h(w)n(eek)486 b Fg(S-UP/DOWN)2046 2254 y Fi(...)30 +2111 y Fi(...)30 b(forw)n(ard/bac)n(kw)n(ard)24 b(one)h(da)n(y)525 +b Fg(S-LEFT/RIGHT)2046 2180 y Fi(...)30 b(forw)n(ard/bac)n(kw)n(ard)24 +b(one)h(w)n(eek)486 b Fg(S-UP/DOWN)2046 2250 y Fi(...)30 b(forw)n(ard/bac)n(kw)n(ard)24 b(one)h(mon)n(th)437 b -Fg(M-S-LEFT/RIGT)2046 2451 y Fh(Links)2046 2599 y Fi(globally)24 +Fg(M-S-LEFT/RIGT)2046 2449 y Fh(Links)2046 2598 y Fi(globally)24 b(store)g(link)f(to)h(the)h(curren)n(t)f(lo)r(cation)166 -b Fg(C-c)36 b(l)3662 2575 y Ff(2)2046 2668 y Fi(insert)23 +b Fg(C-c)36 b(l)3662 2574 y Ff(2)2046 2667 y Fi(insert)23 b(a)h(link)f(\(T)-6 b(AB)24 b(completes)h(stored)f(links\))138 -b Fg(C-c)36 b(C-l)2046 2738 y Fi(insert)23 b(\014le)h(link)f(with)h +b Fg(C-c)36 b(C-l)2046 2737 y Fi(insert)23 b(\014le)h(link)f(with)h (\014le)g(name)g(completion)192 b Fg(C-u)36 b(C-c)g(C-l)2046 2834 y Fi(op)r(en)25 b(link)e(at)h(p)r(oin)n(t)884 b Fg(C-c)36 b(C-o)2046 2904 y Fi(op)r(en)25 b(\014le)e(links)g(in)h -(emacs)722 b Fg(C-u)36 b(C-c)g(C-o)2046 2974 y Fi(op)r(en)25 -b(link)e(at)h(p)r(oin)n(t)884 b Fg(mouse-2)2046 3044 +(emacs)722 b Fg(C-u)36 b(C-c)g(C-o)2046 2973 y Fi(op)r(en)25 +b(link)e(at)h(p)r(oin)n(t)884 b Fg(mouse-2)2046 3043 y Fi(op)r(en)25 b(\014le)e(links)g(in)h(emacs)722 b Fg(mouse-3)2046 3140 y Fd(Link)27 b(t)n(yp)r(es)2046 3236 y Fg(<http://www.astro.uva.n) q(l/~d)q(omi)q(nik>)247 b Fi(on)24 b(the)h(w)n(eb)2046 @@ -2508,9 +2518,9 @@ Fi(insert)23 b(horizon)n(tal)i(line)e(ab)r(o)n(v)n(e)i(the)g(curren)n (t)f(ro)n(w)100 b Fg(C-u)36 b(C-c)g(-)4242 1553 y Fd(Regions)4242 1637 y Fi(cut)25 b(rectangular)f(region)758 b Fg(C-c)36 -b(C-h)g(C-w)4242 1707 y Fi(cop)n(y)25 b(rectangular)f(region)715 -b Fg(C-c)36 b(C-h)g(M-w)4242 1777 y Fi(paste)25 b(rectangular)f(region) -695 b Fg(C-c)36 b(C-h)g(C-y)4242 1847 y Fi(\014ll)23 +b(C-x)g(C-w)4242 1707 y Fi(cop)n(y)25 b(rectangular)f(region)715 +b Fg(C-c)36 b(C-x)g(M-w)4242 1777 y Fi(paste)25 b(rectangular)f(region) +695 b Fg(C-c)36 b(C-x)g(C-y)4242 1847 y Fi(\014ll)23 b(paragraph)h(across)g(selected)h(cells)399 b Fg(C-c)36 b(C-q)4242 1931 y Fd(Calculations)4242 2015 y Fi(Except)31 b(for)e(the)i(summation)f(commands,)h(these)g(need)g(the)g(Emacs)4242 @@ -2559,7 +2569,7 @@ %%Page: 2 2 TeXDict begin @landscape 2 1 bop -169 -357 a Fj(Org-Mo)t(de)45 b(Reference)h(Card)g(\(2/2\))546 -242 y Fi(\(for)23 b(v)n(ersion)h -(3.15\))-150 -36 y Fh(Timeline)37 b(and)g(Agenda)-150 +(3.16\))-150 -36 y Fh(Timeline)37 b(and)g(Agenda)-150 120 y Fi(sho)n(w)24 b(timeline)f(of)h(curren)n(t)g(org)f(\014le)458 b Fg(C-c)36 b(C-r)-150 190 y Fi(...)30 b(include)24 b(past)h(dates)793 b Fg(C-u)36 b(C-c)g(C-r)-150 288 y Fi(add)24 b(curren)n(t)g(\014le)g @@ -2627,7 +2637,7 @@ b(for)23 b(prin)n(ting\))152 b Fg(C-c)36 b(C-x)g(v)2046 99 y Fi(exp)r(ort)25 b(as)e(HTML)g(\014le)804 b Fg(C-c)36 b(C-x)g(h)2046 169 y Fi(exp)r(ort)25 b(as)e(HTML)g(and)h(op)r(en)h(in)e -(bro)n(wser)266 b Fg(C-c)36 b(C-x)g(C-h)2046 239 y Fi(pre\014x)24 +(bro)n(wser)266 b Fg(C-c)36 b(C-x)g(b)2046 239 y Fi(pre\014x)24 b(arg)g(sets)g(n)n(b.)31 b(of)23 b(headline)i(lev)n(els,)e(e.g.)182 b Fg(C-3)36 b(C-c)g(C-x)g(h)2046 337 y Fi(insert)23 b(template)j(of)d (exp)r(ort)h(options)423 b Fg(C-c)36 b(C-x)g(t)2046 435 @@ -2745,7 +2755,7 @@ Fg(org-CUA-compatibility)p Fi(.)4535 3770 y Fb(Cop)n(yrigh)n(t)4838 3768 y(c)4821 3770 y Fa(\015)d Fb(2005)i(F)-5 b(ree)21 b(Soft)n(w)n(are)i(F)-5 b(oundation,)20 b(Inc.)4795 3826 -y(v3.15)h(for)h(Org-Mo)r(de)e(3.15,)i(2005)4912 3882 +y(v3.16)h(for)h(Org-Mo)r(de)e(3.16,)i(2005)4912 3882 y(Author:)k(Philip)18 b(Ro)r(ok)n(e)4473 3937 y(based)j(on)g(refcard)g (design)g(and)f(format)i(b)n(y)f(Stephen)f(Gildea)4242 4022 y(P)n(ermission)28 b(is)f(gran)n(ted)i(to)f(mak)n(e)h(and)e
--- a/etc/orgcard.tex Fri Sep 23 07:06:33 2005 +0000 +++ b/etc/orgcard.tex Sun Sep 25 22:07:01 2005 +0000 @@ -1,4 +1,4 @@ -% Reference Card for Org Mode 3.15 +% Reference Card for Org Mode 3.16 % %**start of header \newcount\columnsperpage @@ -58,7 +58,7 @@ % Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik % for their many good ideas. -\def\orgversionnumber{3.15} +\def\orgversionnumber{3.16} \def\year{2005} \def\shortcopyrightnotice{\vskip 1ex plus 2 fill @@ -315,9 +315,9 @@ \key{move subtree up}{M-S-UP} \key{move subtree down}{M-S-DOWN} -\key{kill subtree}{C-c C-h C-w} -\key{copy subtree}{C-c C-h M-w} -\key{yank subtree}{C-c C-h C-y} +\key{kill subtree}{C-c C-x C-w} +\key{copy subtree}{C-c C-x M-w} +\key{yank subtree}{C-c C-x C-y} \key{archive subtree}{C-c \$} To set archive location for current file, add a line like$^3$: @@ -362,20 +362,18 @@ \key{prompt for date and insert timestamp}{C-c .} \key{like \kbd{C-c} . but insert date and time format}{C-u C-c .} +\key{Like \kbd{C-c .} but make stamp inactive}{C-c !} % FIXME \key{insert DEADLINE timestamp}{C-c C-d} \key{insert SCHEDULED timestamp}{C-c C-s} \key{create sparse tree with all deadlines due}{C-c C-w} \key{the time between 2 dates in a time range}{C-c C-y} - \key{change timestamp at cursor by $-1$ day}{S-LEFT$^4$} \key{change timestamp at cursor by $+1$ day}{S-RIGHT$^4$} \key{change year/month/day at cursor by $-1$}{S-DOWN$^4$} \key{change year/month/day at cursor by $+1$}{S-UP$^4$} - \key{access the calendar for the current date}{C-c >} \key{insert timestamp matching date in calendar}{C-c <} \key{access agenda for current date}{C-c C-o} - \key{While prompted for a date:}{} \key{... select date in calendar}{mouse-1/RET} \key{... scroll calendar back/forward one month}{< / >} @@ -457,9 +455,9 @@ {\bf Regions} -\key{cut rectangular region}{C-c C-h C-w} -\key{copy rectangular region}{C-c C-h M-w} -\key{paste rectangular region}{C-c C-h C-y} +\key{cut rectangular region}{C-c C-x C-w} +\key{copy rectangular region}{C-c C-x M-w} +\key{paste rectangular region}{C-c C-x C-y} \key{fill paragraph across selected cells}{C-c C-q} {\bf Calculations} @@ -589,7 +587,7 @@ \key{export as ASCII file}{C-c C-x a} \key{export visible text only (e.g. for printing)}{C-c C-x v} \key{export as HTML file}{C-c C-x h} -\key{export as HTML and open in browser}{C-c C-x C-h} +\key{export as HTML and open in browser}{C-c C-x b} \key{prefix arg sets nb. of headline levels, e.g.}{C-3 C-c C-x h} \key{insert template of export options}{C-c C-x t} @@ -730,9 +728,6 @@ \bye -% Local variables: -% compile-command: "tex ord-mode-ref" -% TeX-master: t -% End: % arch-tag: 139f6750-5cfc-49ca-92b5-237fe5795290 +
--- a/leim/.cvsignore Fri Sep 23 07:06:33 2005 +0000 +++ b/leim/.cvsignore Sun Sep 25 22:07:01 2005 +0000 @@ -1,4 +1,5 @@ Makefile +makefile changed.misc changed.tit leim-list.el
--- a/lib-src/.cvsignore Fri Sep 23 07:06:33 2005 +0000 +++ b/lib-src/.cvsignore Sun Sep 25 22:07:01 2005 +0000 @@ -20,5 +20,6 @@ update-game-score yow Makefile +makefile *-spd *.pdb
--- a/lib-src/ChangeLog Fri Sep 23 07:06:33 2005 +0000 +++ b/lib-src/ChangeLog Sun Sep 25 22:07:01 2005 +0000 @@ -1,3 +1,9 @@ +2005-09-20 Chong Yidong <cyd@stupidchicken.com> + + * ebrowse.c (add_sym): Compare namespace names instead of + namespace objects. This prevents the parser from incorrectly + treating classes whose superclass is in another namespace. + 2005-09-15 Richard M. Stallman <rms@gnu.org> * Makefile.in (update-game-score.o): New target.
--- a/lib-src/ebrowse.c Fri Sep 23 07:06:33 2005 +0000 +++ b/lib-src/ebrowse.c Sun Sep 25 22:07:01 2005 +0000 @@ -648,7 +648,10 @@ h %= TABLE_SIZE; for (sym = class_table[h]; sym; sym = sym->next) - if (streq (name, sym->name) && sym->namesp == scope) + if (streq (name, sym->name) + && ((!sym->namesp && !scope) + || (sym->namesp && scope + && streq (sym->namesp->name, scope->name)))) break; if (sym == NULL)
--- a/lisp/.cvsignore Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/.cvsignore Sun Sep 25 22:07:01 2005 +0000 @@ -1,6 +1,8 @@ *.elc MANIFEST Makefile +Makefile.unix +makefile elc.tar.gz cus-load.el finder-inf.el
--- a/lisp/ChangeLog Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/ChangeLog Sun Sep 25 22:07:01 2005 +0000 @@ -1,3 +1,267 @@ +2005-09-24 Andreas Schwab <schwab@suse.de> + + * term/rxvt.el (rxvt-register-default-colors): Delete redundant + condition. + +2005-09-25 Romain Francoise <romain@orebokech.com> + + * dired-aux.el (dired-copy-file-recursive): + * dired.el (dired-delete-file): + * ediff-mult.el (ediff-dir-diff-copy-file): + * ediff-util.el (ediff-test-save-region): + * forms.el (forms-mode): + * ido.el (ido-file-internal, ido-delete-file-at-head): + * log-edit.el (log-edit-done): + * ses.el (ses-yank-resize): + * play/gomoku.el (gomoku-human-plays, gomoku) + (gomoku-human-resigns, gomoku-prompt-for-other-game) + (gomoku-offer-a-draw): + * play/landmark.el (lm-human-resigns, lm): + * net/eudcb-ldap.el (eudc-ldap-check-base): + * play/mpuz.el (mpuz-offer-abort, mpuz-try-letter, mpuz-close-game): + * progmodes/ebrowse.el (ebrowse-find-pattern): + * progmodes/idlw-shell.el (idlwave-shell-set-bp-check): + * textmodes/reftex-index.el (reftex-index-initialize-phrases-buffer): + End `yes-or-no-p' and `y-or-n-p' prompts with question mark and + space. + + * vc.el (vc-delete-file): + * play/gomoku.el (gomoku-terminate-game, gomoku) + (gomoku-prompt-for-move, gomoku-human-takes-back): + * play/landmark.el (lm-human-takes-back, lm-prompt-for-move) + (lm-start-robot, lm-human-plays): Remove extraneous spaces in + messages. + +2005-09-24 Dan Nicolaescu <dann@ics.uci.edu> + + * term/rxvt.el (rxvt-register-default-colors): Add support for 255 + color rxvt terminals by using the code xterm.el used to use before + 2005-04-09 in order to match the colors used by rxvt. + +2005-09-24 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change) + + * term/rxvt.el (rxvt-register-default-colors): Add support for 88 + colors rxvt-unicode terminals by using the same code as xterm.el. + +2005-09-24 Stefan Monnier <monnier@iro.umontreal.ca> + + * textmodes/tex-mode.el (tex-font-lock-append-prop) + (tex-font-lock-suscript, tex-insert-quote, latex-indent): Adjust to the + new symbol used for the tex-verbatim face. + +2005-09-24 Emilio C. Lopes <eclig@gmx.net> + + * woman.el (woman-file-name): + * wid-edit.el (widget-file-prompt-value) + (widget-coding-system-prompt-value): + * w32-fns.el (set-w32-system-coding-system): + * vc.el (vc-version-diff, vc-annotate): + * textmodes/reftex-auc.el (reftex-arg-cite) + (reftex-arg-index-tag): + * textmodes/refer.el (refer-get-bib-files): + * textmodes/artist.el (artist-figlet-choose-font): + * terminal.el (terminal-emulator): + * replace.el (occur-read-primary-args): + * rect.el (string-rectangle, string-insert-rectangle): + * ps-print.el (ps-print-preprint): + * progmodes/pascal.el (pascal-goto-defun): + * progmodes/etags.el (visit-tags-table, visit-tags-table-buffer): + * progmodes/compile.el (compilation-find-file): + * printing.el (pr-interactive-n-up): + * play/animate.el (animate-birthday-present): + * net/rcompile.el (remote-compile): + * man.el (man, Man-goto-section, Man-follow-manual-reference): + * mail/rmailsum.el (rmail-summary-search-backward) + (rmail-summary-search): + * mail/rmailout.el (rmail-output-read-rmail-file-name) + (rmail-output-read-file-name): + * mail/rmail.el (rmail-search, rmail-search-backwards): + * mail/mailabbrev.el (merge-mail-abbrevs, rebuild-mail-abbrevs): + * locate.el (locate): + * international/quail.el (quail-show-keyboard-layout): + * international/mule.el (set-buffer-file-coding-system) + (revert-buffer-with-coding-system, set-file-name-coding-system) + (set-terminal-coding-system, set-keyboard-coding-system) + (set-next-selection-coding-system): + * international/mule-diag.el (describe-coding-system) + (describe-font, describe-fontset): + * international/mule-cmds.el (universal-coding-system-argument) + (search-unencodable-char, describe-input-method) + (set-language-environment, describe-language-environment): + * international/codepage.el (codepage-setup): + * international/code-pages.el (codepage-setup): + * info.el (Info-search, Info-follow-reference) + (Info-search-backward): + * emacs-lisp/advice.el (ad-read-advised-function) + (ad-read-advice-class, ad-clear-cache, ad-activate) + (ad-deactivate, ad-update, ad-unadvise, ad-read-advice-name) + (ad-enable-advice, ad-disable-advice, ad-remove-advice) + (ad-read-regexp): + * ediff-util.el (ediff-toggle-regexp-match): + * ediff-ptch.el (ediff-prompt-for-patch-file): + * dired-aux.el (dired-diff): + * diff.el (diff): + * cus-edit.el (custom-variable-prompt): + * calendar/timeclock.el (timeclock-ask-for-project): + * calc/calcalg3.el (calc-get-fit-variables): + * calc/calc-store.el (calc-edit-variable) + (calc-permanent-variable): + * vc-mcvs.el (vc-mcvs-register): + * shadowfile.el (shadow-define-literal-group): + * woman.el (woman-file-name): + * vc.el (vc-version-diff, vc-merge): + * textmodes/reftex-index.el (reftex-index-complete-tag): + * format.el (format-decode-buffer, format-decode-region): + * emulation/viper-cmd.el (viper-read-string-with-history): + * emacs-lisp/debug.el (cancel-debug-on-entry): + * emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): + * ediff.el (ediff-merge-revisions) + (ediff-merge-revisions-with-ancestor, ediff-revision): + * completion.el (interactive-completion-string-reader): + * calc/calc-prog.el (calc-user-define-formula): + Follow convention for reading with the minibuffer. + +2005-09-24 Steven Huwig <steven_h@acm.org> (tiny change) + + * progmodes/python.el (python-describe-symbol): Add globals() and + locals() to the arguments of emacs.ehelp. + +2005-09-24 Magnus Henoch <mange@freemail.hu> + + * textmodes/ispell.el (ispell-maybe-find-aspell-dictionaries): + New function, code extracted from ispell-valid-dictionary-list. + (ispell-valid-dictionary-list, ispell-accept-buffer-local-defs): + Call it. + +2005-09-24 Eli Zaretskii <eliz@gnu.org> + + * subr.el (version-regexp-alist): Extend valid syntax for version + strings: allow any of the characters -,_,+ to separate the + alpha/beta/rc part from the version part. Doc fix. + (version-to-list): Doc fix. Bind case-fold-search to t, as advertised. + +2005-09-23 David Reitter <david.reitter@gmail.com> + + * mail/mailclient.el: New file. + +2005-09-23 Richard M. Stallman <rms@gnu.org> + + * textmodes/flyspell.el (flyspell-highlight-incorrect-region) + (flyspell-incorrect-hook, flyspell-highlight-duplicate-region): + Doc fixes. + + * progmodes/cc-mode.el (c-font-lock-init): + Specify font-lock-lines-before. + +2005-09-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * smerge-mode.el (smerge-remove-props): Cause re-highlighting of the + whole conflict. + +2005-09-23 Carsten Dominik <dominik@science.uva.nl> + + * textmodes/org.el (org-mode-map, orgtbl-mode-map): + Move keybindings with `C-c C-h' prefix to `C-c C-x' prefix. Make use + of `remap' feature when available. Additional key bindings for + better tty support. + (org-mode-restart, org-force-self-insert): New commands. + (org-time-stamp-inactive): New command. + (org-remap): New function. + (org-table-auto-blank-field, org-level-color-stars-only): New options. + (org-enable-fixed-width-editor): Move to `org-structure' + customization group. + (org-self-insert-command, orgtbl-self-insert-command): Modify to + blank field after field motion commands. + +2005-09-23 Kenichi Handa <handa@m17n.org> + + * international/mule-cmds.el (set-language-environment): + Don't check utf-translate-cjk-lang-env is nil or not on deciding if we + have to call utf-translate-cjk-load-tables. + +2005-09-22 Stefan Monnier <monnier@iro.umontreal.ca> + + * mouse.el (mouse-move-drag-overlay): Fix last change. + +2005-09-22 David Ponce <david@dponce.com> + + * tree-widget.el (tree-widget-value-create): Fix previous change. + +2005-09-21 Dan Nicolaescu <dann@ics.uci.edu> + + * term/xterm.el (terminal-init-xterm): Fix loading rxvt at run time. + +2005-09-21 Stefan Monnier <monnier@iro.umontreal.ca> + + * mouse.el (mouse-move-drag-overlay): New function. + (mouse-drag-region-1): Use it. + Try to simplify a bit the state handling. Handle clicks on links + inside intangible areas. + (mouse-save-then-kill): Minor simplification. + (mouse-secondary-overlay): Make it always non-nil instead of + recreating it each time. + (mouse-start-secondary, mouse-set-secondary, mouse-drag-secondary) + (mouse-kill-secondary, mouse-secondary-save-then-kill): + Simplify accordingly. + +2005-09-21 Dan Nicolaescu <dann@ics.uci.edu> + + * term/rxvt.el (rxvt-standard-colors): Fix some colors. + +2005-09-20 Michael Kifer <kifer@cs.stonybrook.edu> + + * ediff-ptch.el (ediff-prompt-for-patch-file): More intuitive prompt. + (ediff-file-name-sans-prefix): Treat nil as an empty string. + (ediff-fixup-patch-map): Better heuristic for intuiting the file names + to patch. + + * ediff-util.el: Use insert-buffer-substring. + + * ediff-vers.el (cvs-run-ediff-on-file-descriptor): Bug fix. + + * emulation/viper-cmd.el (viper-change-state): Don't move over the + field boundaries in the minibuffer. + (viper-set-minibuffer-style): Add viper-minibuffer-post-command-hook. + (viper-minibuffer-post-command-hook): New hook. + (viper-line): Don't move cursor at bolp. + + * emulation/viper-ex.el (ex-pwd, viper-info-on-file): Fix message. + + * emulation/viper-init.el: Add alias to make-variable-buffer-local to + avoid compiler warnings. + + * emulation/viper-macs.el (ex-map): Better messages. + + * emulation/viper-utils.el (viper-beginning-of-field): New function. + + * emulation/viper.el: Replace make-variable-buffer-local with + viper-make-variable-buffer-local everywhere, to avoid warnings. + +2005-09-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * mouse.el (mouse-drag-mode-line-1, mouse-drag-vertical-line): + Delete unused var `old-selected-window'. + (mouse-drag-region-1): Delete unused vars `start-frame', `end-of-range'. + (mouse-drag-secondary): Delete unused var `start-frame'. + +2005-09-19 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change) + + * term/rxvt.el (terminal-init-rxvt): Add entry for [end]. + +2005-09-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * calendar/calendar.el (mark-visible-calendar-date): Save excursion. + Re-indent within 80 columns. Use inhibit-read-only. + +2005-09-19 Romain Francoise <romain@orebokech.com> + + * calendar/diary-lib.el (mark-diary-entries): Revert last change. + +2005-09-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * font-lock.el (font-lock-default-fontify-region): Don't add a line + unconditionally, since the after-change-function already did it. + 2005-09-19 Miles Bader <miles@gnu.org> * net/newsticker.el: Get rid of CVS keyword. @@ -43,150 +307,91 @@ two conditions were satisfied: [1] I can think of a possibility that the arguments would cause an error, for example, the code in question relies on external variables such as filenames. [2] I - was sure that the arg to `message' could not have been nil in the - code. + was sure that the arg to `message' could not have been nil in the code. * textmodes/tildify.el (tildify-region): Ditto. * textmodes/reftex-index.el (reftex-index-change-entry) - (reftex-index-phrase-selection-or-word) - (reftex-query-index-phrase): Ditto. - - * textmodes/reftex-dcr.el (reftex-echo-ref, reftex-echo-cite): Ditto. - + (reftex-index-phrase-selection-or-word, reftex-query-index-phrase): + * textmodes/reftex-dcr.el (reftex-echo-ref, reftex-echo-cite): * textmodes/org.el (org-complete, org-deadline, org-schedule) - (org-priority, org-table-sum): Ditto. - - * textmodes/ispell.el (ispell-check-version) - (ispell-parse-output): Ditto. - - * textmodes/flyspell.el (flyspell-mode-on) - (flyspell-notify-misspell, flyspell-word) - (flyspell-display-next-corrections): Ditto. - - * textmodes/bibtex.el (bibtex-print-help-message): Ditto. - - * textmodes/artist.el (artist-key-set-point-poly): Ditto. - - * term/mac-win.el (mac-services-insert-text): Ditto. - + (org-priority, org-table-sum): + * textmodes/ispell.el (ispell-check-version, ispell-parse-output): + * textmodes/flyspell.el (flyspell-mode-on, flyspell-notify-misspell) + (flyspell-word, flyspell-display-next-corrections): + * textmodes/bibtex.el (bibtex-print-help-message): + * textmodes/artist.el (artist-key-set-point-poly): + * term/mac-win.el (mac-services-insert-text): * progmodes/vhdl-mode.el (vhdl-warning, vhdl-print-warnings) (vhdl-hooked-abbrev, vhdl-template-insert-fun) (vhdl-port-paste-testbench, vhdl-compose-new-component) - (vhdl-compose-configuration): Ditto. - + (vhdl-compose-configuration): * progmodes/sh-script.el (sh-blink, sh-show-indent) - (sh-set-indent, sh-learn-line-indent): Ditto. - - * progmodes/ps-mode.el (ps-mode-target-column): Ditto. - + (sh-set-indent, sh-learn-line-indent): + * progmodes/ps-mode.el (ps-mode-target-column): * progmodes/idlwave.el (idlwave-make-tags) - (idlwave-scan-library-catalogs): Ditto. - - * progmodes/idlw-shell.el (idlwave-shell-parse-stack-and-display): Ditto. - - * progmodes/gud.el (gud-jdb-analyze-source): Ditto. - - * progmodes/flymake.el (flymake-log): Ditto. - - * progmodes/ebnf2ps.el (ebnf-generate-region): Ditto. - - * progmodes/cmacexp.el (c-macro-expansion): Ditto. - - * progmodes/ada-xref.el (ada-treat-cmd-string): Ditto. - + (idlwave-scan-library-catalogs): + * progmodes/idlw-shell.el (idlwave-shell-parse-stack-and-display): + * progmodes/gud.el (gud-jdb-analyze-source): + * progmodes/flymake.el (flymake-log): + * progmodes/ebnf2ps.el (ebnf-generate-region): + * progmodes/cmacexp.el (c-macro-expansion): + * progmodes/ada-xref.el (ada-treat-cmd-string): * progmodes/ada-mode.el (ada-create-case-exception-substring) - (ada-justified-indent-current, ada-batch-reformat): Ditto. - - * play/zone.el (zone): Ditto. - - * play/landmark.el (lm-move): Ditto. - - * play/decipher.el (decipher-show-alphabet): Ditto. - + (ada-justified-indent-current, ada-batch-reformat): + * play/zone.el (zone): + * play/landmark.el (lm-move): + * play/decipher.el (decipher-show-alphabet): * net/newsticker.el (newsticker--display-jump) - (newsticker--display-scroll): Ditto. - + (newsticker--display-scroll): * mail/rmail-spam-filter.el (rsf-add-subject-to-spam-list) - (rsf-add-sender-to-spam-list, rsf-add-region-to-spam-list): Ditto. - - * mail/feedmail.el (feedmail-dump-message-to-queue): Ditto. - - * eshell/esh-proc.el (eshell-remove-process-entry): Ditto. - - * emulation/ws-mode.el (ws-last-error): Ditto. - + (rsf-add-sender-to-spam-list, rsf-add-region-to-spam-list): + * mail/feedmail.el (feedmail-dump-message-to-queue): + * eshell/esh-proc.el (eshell-remove-process-entry): + * emulation/ws-mode.el (ws-last-error): * emulation/viper-macs.el (ex-map-read-args, ex-unmap-read-args) - (viper-record-kbd-macro): Ditto. - - * emulation/viper-ex.el (ex-pwd, viper-info-on-file): Ditto. - - * emacs-lisp/lisp-mnt.el (lm-report-bug): Ditto. - - * emacs-lisp/find-func.el (find-function-noselect): Ditto. - + (viper-record-kbd-macro): + * emulation/viper-ex.el (ex-pwd, viper-info-on-file): + * emacs-lisp/lisp-mnt.el (lm-report-bug): + * emacs-lisp/find-func.el (find-function-noselect): * calendar/timeclock.el (timeclock-status-string) - (timeclock-workday-remaining-string) - (timeclock-workday-elapsed-string) - (timeclock-when-to-leave-string): Ditto. - - * calendar/icalendar.el (icalendar--convert-ical-to-diary): Ditto. - - * calc/calc-units.el (calc-enter-units-table): Ditto. - - * calc/calc-mode.el (calc-mode-record-mode): Ditto. - - * woman.el (woman-mini-help): Ditto. - - * wdired.el (wdired-change-to-wdired-mode): Ditto. - - * vc.el (vc-retrieve-snapshot): Ditto. - - * strokes.el (strokes-read-stroke, strokes-read-complex-stroke): Ditto. - - * startup.el (display-startup-echo-area-message): Ditto. - - * simple.el (set-goal-column): Ditto. - - * ses.el (ses-command-hook, ses-recalculate-cell): Ditto. - - * server.el (server-process-filter): Ditto. - + (timeclock-workday-remaining-string, timeclock-workday-elapsed-string) + (timeclock-when-to-leave-string): + * calendar/icalendar.el (icalendar--convert-ical-to-diary): + * calc/calc-units.el (calc-enter-units-table): + * calc/calc-mode.el (calc-mode-record-mode): + * woman.el (woman-mini-help): + * wdired.el (wdired-change-to-wdired-mode): + * vc.el (vc-retrieve-snapshot): + * strokes.el (strokes-read-stroke, strokes-read-complex-stroke): + * startup.el (display-startup-echo-area-message): + * simple.el (set-goal-column): + * ses.el (ses-command-hook, ses-recalculate-cell): + * server.el (server-process-filter): * printing.el (pr-interface-txt-print, pr-interface-printify) - (pr-interface-ps): Ditto. - - * pcvs.el (cvs-help): Ditto. - - * log-edit.el (log-edit, log-edit-mode-help): Ditto. - - * iswitchb.el (iswitchb-possible-new-buffer): Ditto. - - * isearch.el (isearch-edit-string): Ditto. - - * image-mode.el (image-mode, image-minor-mode): Ditto. - - * ibuf-macs.el (define-ibuffer-filter): Ditto. - - * hi-lock.el (hi-lock-find-patterns): Ditto. - - * files.el (toggle-read-only): Ditto. - + (pr-interface-ps): + * pcvs.el (cvs-help): + * log-edit.el (log-edit, log-edit-mode-help): + * iswitchb.el (iswitchb-possible-new-buffer): + * isearch.el (isearch-edit-string): + * image-mode.el (image-mode, image-minor-mode): + * ibuf-macs.el (define-ibuffer-filter): + * hi-lock.el (hi-lock-find-patterns): + * files.el (toggle-read-only): * ediff-util.el (ediff-copy-diff) - (ediff-write-merge-buffer-and-maybe-kill): Ditto. - - * echistory.el (Electric-history-undefined): Ditto. - - * dnd.el (dnd-insert-text): Ditto. - - * dired-aux.el (dired-query): Ditto. - - * desktop.el (desktop-restore-file-buffer) - (desktop-lazy-create-buffer): Ditto. - - * bookmark.el (bookmark-bmenu-locate): Ditto. - - * obsolete/fast-lock.el (@top-level): Ditto in the macro - definition of `with-temp-message'. + (ediff-write-merge-buffer-and-maybe-kill): + * echistory.el (Electric-history-undefined): + * dnd.el (dnd-insert-text): + * dired-aux.el (dired-query): + * desktop.el (desktop-restore-file-buffer, desktop-lazy-create-buffer): + * bookmark.el (bookmark-bmenu-locate): + * obsolete/fast-lock.el (@top-level) <with-temp-message macro>: + Fix `message' calls to ensure first arg is a format string. + The change was made only when these two conditions were satisfied: + [1] when there is a possibility that the arguments would cause an error + for example, if the code in question relies on external variables + such as filenames, and + [2] if the arg to `message' could not have been nil in the code. * pcomplete.el (pcomplete--help): Fix `message' format spec. Not having a %s would be weird, though not technically wrong.
--- a/lisp/calc/calc-prog.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/calc/calc-prog.el Sun Sep 25 22:07:01 2005 +0000 @@ -197,7 +197,7 @@ (progn (setq cmd-base-default (concat "User-" keyname)) (setq cmd (completing-read - (concat "Define M-x command name (default: calc-" + (concat "Define M-x command name (default calc-" cmd-base-default "): ") obarray 'commandp nil @@ -233,7 +233,7 @@ (setq func (concat "calcFunc-" (completing-read - (concat "Define algebraic function name (default: " + (concat "Define algebraic function name (default " cmd-base-default "): ") (mapcar (lambda (x) (substring x 9)) (all-completions "calcFunc-"
--- a/lisp/calc/calc-store.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/calc/calc-store.el Sun Sep 25 22:07:01 2005 +0000 @@ -430,7 +430,7 @@ (calc-wrapper (or var (setq var (calc-read-var-name (if calc-last-edited-variable - (format "Edit: (default %s) " + (format "Edit (default %s): " (calc-var-name calc-last-edited-variable)) "Edit: ")))) (or var (setq var calc-last-edited-variable)) @@ -587,7 +587,7 @@ (defun calc-permanent-variable (&optional var) (interactive) (calc-wrapper - (or var (setq var (calc-read-var-name "Save variable (default=all): "))) + (or var (setq var (calc-read-var-name "Save variable (default all): "))) (let (calc-pv-pos) (and var (or (and (boundp var) (symbol-value var)) (error "No such variable")))
--- a/lisp/calc/calcalg3.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/calc/calcalg3.el Sun Sep 25 22:07:01 2005 +0000 @@ -370,7 +370,7 @@ (setq defv (calc-invent-independent-variables nv))) (or defc (setq defc (calc-invent-parameter-variables nc defv))) - (let ((vars (read-string (format "Fitting variables: (default %s; %s) " + (let ((vars (read-string (format "Fitting variables (default %s; %s): " (mapconcat 'symbol-name (mapcar (function (lambda (v) (nth 1 v)))
--- a/lisp/calendar/calendar.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/calendar/calendar.el Sun Sep 25 22:07:01 2005 +0000 @@ -2900,43 +2900,50 @@ MARK is a single-character string, a list of face attributes/values, or a face. MARK defaults to `diary-entry-marker'." (if (calendar-date-is-legal-p date) - (save-excursion - (set-buffer calendar-buffer) - (calendar-cursor-to-visible-date date) - (let ((mark (or (and (stringp mark) (= (length mark) 1) mark) ; single-char - (and (listp mark) (> (length mark) 0) mark) ; attr list - (and (facep mark) mark) ; face-name - diary-entry-marker))) - (if (facep mark) - (progn ; face or an attr-list that contained a face - (overlay-put - (make-overlay (1- (point)) (1+ (point))) 'face mark)) - (if (and (stringp mark) - (= (length mark) 1)) ; single-char - (let ((buffer-read-only nil)) - (forward-char 1) - (delete-char 1) - (insert mark) - (forward-char -2)) - (let ; attr list - ((temp-face - (make-symbol (apply 'concat "temp-" - (mapcar '(lambda (sym) - (cond ((symbolp sym) (symbol-name sym)) - ((numberp sym) (int-to-string sym)) - (t sym))) mark)))) - (faceinfo mark)) - (make-face temp-face) - ;; Remove :face info from the mark, copy the face info into temp-face - (while (setq faceinfo (memq :face faceinfo)) - (copy-face (read (nth 1 faceinfo)) temp-face) - (setcar faceinfo nil) - (setcar (cdr faceinfo) nil)) - (setq mark (delq nil mark)) - ;; Apply the font aspects - (apply 'set-face-attribute temp-face nil mark) - (overlay-put - (make-overlay (1- (point)) (1+ (point))) 'face temp-face)))))))) + (with-current-buffer calendar-buffer + (save-excursion + (calendar-cursor-to-visible-date date) + (setq mark + (or (and (stringp mark) (= (length mark) 1) mark) ; single-char + (and (listp mark) (> (length mark) 0) mark) ; attr list + (and (facep mark) mark) ; face-name + diary-entry-marker)) + (cond + ;; face or an attr-list that contained a face + ((facep mark) + (overlay-put + (make-overlay (1- (point)) (1+ (point))) 'face mark)) + ;; single-char + ((and (stringp mark) (= (length mark) 1)) + (let ((inhibit-read-only t)) + (forward-char 1) + ;; Insert before delete so as to better preserve markers. + (insert mark) + (delete-char 1) + (forward-char -2))) + (t ;; attr list + (let ((temp-face + (make-symbol + (apply 'concat "temp-" + (mapcar (lambda (sym) + (cond + ((symbolp sym) (symbol-name sym)) + ((numberp sym) (number-to-string sym)) + (t sym))) + mark)))) + (faceinfo mark)) + (make-face temp-face) + ;; Remove :face info from the mark, copy the face info into + ;; temp-face + (while (setq faceinfo (memq :face faceinfo)) + (copy-face (read (nth 1 faceinfo)) temp-face) + (setcar faceinfo nil) + (setcar (cdr faceinfo) nil)) + (setq mark (delq nil mark)) + ;; Apply the font aspects + (apply 'set-face-attribute temp-face nil mark) + (overlay-put + (make-overlay (1- (point)) (1+ (point))) 'face temp-face)))))))) (defun calendar-star-date () "Replace the date under the cursor in the calendar window with asterisks.
--- a/lisp/calendar/diary-lib.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/calendar/diary-lib.el Sun Sep 25 22:07:01 2005 +0000 @@ -864,8 +864,8 @@ (redraw-calendar)) (let ((marking-diary-entries t) file-glob-attrs marks) - (save-excursion - (with-current-buffer (find-file-noselect (diary-check-diary-file) t) + (with-current-buffer (find-file-noselect (diary-check-diary-file) t) + (save-excursion (setq mark-diary-entries-in-calendar t) (message "Marking diary entries...") (setq file-glob-attrs (nth 1 (diary-pull-attrs nil '())))
--- a/lisp/calendar/timeclock.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/calendar/timeclock.el Sun Sep 25 22:07:01 2005 +0000 @@ -599,7 +599,7 @@ (defun timeclock-ask-for-project () "Ask the user for the project they are clocking into." (timeclock-completing-read - (format "Clock into which project (default \"%s\"): " + (format "Clock into which project (default %s): " (or timeclock-last-project (car timeclock-project-list))) (mapcar 'list timeclock-project-list)
--- a/lisp/completion.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/completion.el Sun Sep 25 22:07:01 2005 +0000 @@ -1343,7 +1343,7 @@ (let* ((default (symbol-under-or-before-point)) (new-prompt (if default - (format "%s: (default: %s) " prompt default) + (format "%s (default %s): " prompt default) (format "%s: " prompt))) (read (completing-read new-prompt cmpl-obarray))) (if (zerop (length read)) (setq read (or default "")))
--- a/lisp/cus-edit.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/cus-edit.el Sun Sep 25 22:07:01 2005 +0000 @@ -495,7 +495,7 @@ val) (setq val (completing-read (if (and (symbolp v) (custom-variable-p v)) - (format "Customize option: (default %s) " v) + (format "Customize option (default %s): " v) "Customize option: ") obarray 'custom-variable-p t)) (list (if (equal val "") @@ -967,7 +967,7 @@ (defun customize-group (group) "Customize GROUP, which must be a customization group." (interactive (list (let ((completion-ignore-case t)) - (completing-read "Customize group: (default emacs) " + (completing-read "Customize group (default emacs): " obarray (lambda (symbol) (or (get symbol 'custom-loads) @@ -990,7 +990,7 @@ (defun customize-group-other-window (group) "Customize GROUP, which must be a customization group." (interactive (list (let ((completion-ignore-case t)) - (completing-read "Customize group: (default emacs) " + (completing-read "Customize group (default emacs): " obarray (lambda (symbol) (or (get symbol 'custom-loads)
--- a/lisp/diff.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/diff.el Sun Sep 25 22:07:01 2005 +0000 @@ -83,15 +83,15 @@ (setq newf (buffer-file-name) newf (if (and newf (file-exists-p newf)) (read-file-name - (concat "Diff new file: (default " - (file-name-nondirectory newf) ") ") + (concat "Diff new file (default " + (file-name-nondirectory newf) "): ") nil newf t) (read-file-name "Diff new file: " nil nil t))) (setq oldf (file-newest-backup newf) oldf (if (and oldf (file-exists-p oldf)) (read-file-name - (concat "Diff original file: (default " - (file-name-nondirectory oldf) ") ") + (concat "Diff original file (default " + (file-name-nondirectory oldf) "): ") (file-name-directory oldf) oldf t) (read-file-name "Diff original file: " (file-name-directory newf) nil t)))
--- a/lisp/dired-aux.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/dired-aux.el Sun Sep 25 22:07:01 2005 +0000 @@ -59,10 +59,10 @@ (save-excursion (goto-char (mark t)) (dired-get-filename t t))))) (require 'diff) - (list (read-file-name (format "Diff %s with: %s" + (list (read-file-name (format "Diff %s with%s: " (dired-get-filename t) (if default - (concat "(default " default ") ") + (concat " (default " default ")") "")) (if default (dired-current-directory) @@ -1147,7 +1147,7 @@ (if (and recursive (eq t (car attrs)) (or (eq recursive 'always) - (yes-or-no-p (format "Recursive copies of %s " from)))) + (yes-or-no-p (format "Recursive copies of %s? " from)))) ;; This is a directory. (let ((files (directory-files from nil dired-re-no-dot))) (if (eq recursive 'top) (setq recursive 'always)) ; Don't ask any more.
--- a/lisp/dired.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/dired.el Sun Sep 25 22:07:01 2005 +0000 @@ -2379,7 +2379,7 @@ (setq files (directory-files file t dired-re-no-dot)) ; Not empty. (or (eq recursive 'always) - (yes-or-no-p (format "Recursive delete of %s " + (yes-or-no-p (format "Recursive delete of %s? " (dired-make-relative file))))) (if (eq recursive 'top) (setq recursive 'always)) ; Don't ask again. (while files ; Recursively delete (possibly asking).
--- a/lisp/ediff-mult.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/ediff-mult.el Sun Sep 25 22:07:01 2005 +0000 @@ -1314,7 +1314,7 @@ (if otherfile (or (file-exists-p otherfile) (if (y-or-n-p - (format "Copy %s to %s ? " file-abs otherfile)) + (format "Copy %s to %s? " file-abs otherfile)) (let* ((file-diff-record (assoc file-tail dir-diff-list)) (new-mem-code (* (cdr file-diff-record) file-mem-code)))
--- a/lisp/ediff-ptch.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/ediff-ptch.el Sun Sep 25 22:07:01 2005 +0000 @@ -163,10 +163,16 @@ ;; strip prefix from filename ;; returns /dev/null, if can't strip prefix (defsubst ediff-file-name-sans-prefix (filename prefix) - (save-match-data - (if (string-match (concat "^" (regexp-quote prefix)) filename) - (substring filename (match-end 0)) - (concat "/null/" filename)))) + (if prefix + (save-match-data + (if (string-match (concat "^" (if (stringp prefix) + (regexp-quote prefix) + "")) + filename) + (substring filename (match-end 0)) + (concat "/null/" filename))) + filename) + ) @@ -260,11 +266,14 @@ count))) ;; Fix up the file names in the list using the argument FILENAME -;; Algorithm: find the first file's directory and cut it out from each file -;; name in the patch. Prepend the directory of FILENAME to each file in the -;; patch. In addition, the first file in the patch is replaced by FILENAME. -;; Each file is actually a file-pair of files found in the context diff header -;; In the end, for each pair, we select the shortest existing file. +;; Algorithm: find the files' directories in the patch and, if a directory is +;; absolute, cut it out from the corresponding file name in the patch. +;; Relative directories are not cut out. +;; Prepend the directory of FILENAME to each resulting file (which came +;; originally from the patch). +;; In addition, the first file in the patch document is replaced by FILENAME. +;; Each file is actually a pair of files found in the context diff header +;; In the end, for each pair, we ask the user which file to patch. ;; Note: Ediff doesn't recognize multi-file patches that are separated ;; with the `Index:' line. It treats them as a single-file patch. ;; @@ -275,30 +284,41 @@ ;; directory part of filename (file-name-as-directory filename) (file-name-directory filename))) - ;; Filename-spec is objA; at this point it is represented as - ;; (file1 . file2). We get it using ediff-get-session-objA - ;; directory part of the first file in the patch - (base-dir1 (file-name-directory - (car (ediff-get-session-objA-name (car ediff-patch-map))))) - ;; directory part of the 2nd file in the patch - (base-dir2 (file-name-directory - (cdr (ediff-get-session-objA-name (car ediff-patch-map))))) + ;; In case 2 files are possible patch targets, the user will be offered + ;; to choose file1 or file2. In a multifile patch, if the user chooses + ;; 1 or 2, this choice is preserved to decide future alternatives. + chosen-alternative ) ;; chop off base-dirs (mapcar (lambda (session-info) - (let ((proposed-file-names - (ediff-get-session-objA-name session-info))) + (let* ((proposed-file-names + ;; Filename-spec is objA; it is represented as + ;; (file1 . file2). Get it using ediff-get-session-objA. + (ediff-get-session-objA-name session-info)) + ;; base-dir1 is the dir part of the 1st file in the patch + (base-dir1 (file-name-directory (car proposed-file-names))) + ;; directory part of the 2nd file in the patch + (base-dir2 (file-name-directory (cdr proposed-file-names))) + ) + ;; If both base-dir1 and base-dir2 are relative, assume that + ;; these dirs lead to the actual files starting at the present + ;; directory. So, we don't strip these relative dirs from the + ;; file names. This is a heuristic intended to improve guessing + (unless (or (file-name-absolute-p base-dir1) + (file-name-absolute-p base-dir2)) + (setq base-dir1 "" + base-dir2 "")) (or (string= (car proposed-file-names) "/dev/null") (setcar proposed-file-names (ediff-file-name-sans-prefix (car proposed-file-names) base-dir1))) - (or (string= - (cdr proposed-file-names) "/dev/null") - (setcdr proposed-file-names - (ediff-file-name-sans-prefix - (cdr proposed-file-names) base-dir2))) - )) + (or (string= + (cdr proposed-file-names) "/dev/null") + (setcdr proposed-file-names + (ediff-file-name-sans-prefix + (cdr proposed-file-names) base-dir2))) + )) ediff-patch-map) ;; take the given file name into account @@ -314,8 +334,8 @@ (ediff-get-session-objA-name session-info))) (if (and (string-match "^/null/" (car proposed-file-names)) (string-match "^/null/" (cdr proposed-file-names))) - ;; couldn't strip base-dir1 and base-dir2 - ;; hence, something is wrong + ;; couldn't intuit the file name to patch, so + ;; something is amiss (progn (with-output-to-temp-buffer ediff-msg-buffer (ediff-with-current-buffer standard-output @@ -367,17 +387,29 @@ (f1-exists (file-exists-p file1)) (f2-exists (file-exists-p file2))) (cond - ((and (< (length file2) (length file1)) - f2-exists) + ((and + ;; The patch program prefers the shortest file as the patch + ;; target. However, this is a questionable heuristic. In an + ;; interactive program, like ediff, we can offer the user a + ;; choice. + ;; (< (length file2) (length file1)) + (not f1-exists) + f2-exists) ;; replace file-pair with the winning file2 (setcar session-file-object file2)) - ((and (< (length file1) (length file2)) - f1-exists) + ((and + ;; (< (length file1) (length file2)) + (not f2-exists) + f1-exists) ;; replace file-pair with the winning file1 (setcar session-file-object file1)) ((and f1-exists f2-exists (string= file1 file2)) (setcar session-file-object file1)) + ((and f1-exists f2-exists (eq chosen-alternative 1)) + (setcar session-file-object file1)) + ((and f1-exists f2-exists (eq chosen-alternative 2)) + (setcar session-file-object file2)) ((and f1-exists f2-exists) (with-output-to-temp-buffer ediff-msg-buffer (ediff-with-current-buffer standard-output @@ -393,10 +425,15 @@ Type `y' to use %s as the target; Type `n' to use %s as the target. " - file1 file2 file2 file1))) + file1 file2 file1 file2))) (setcar session-file-object - (if (y-or-n-p (format "Use %s ? " file2)) - file2 file1))) + (if (y-or-n-p (format "Use %s ? " file1)) + (progn + (setq chosen-alternative 1) + file1) + (setq chosen-alternative 2) + file2)) + ) (f2-exists (setcar session-file-object file2)) (f1-exists (setcar session-file-object file1)) (t @@ -407,7 +444,7 @@ (if (string= file1 file2) (princ (format " %s -is the target for this patch. However, this file does not exist." +is assumed to be the target for this patch. However, this file does not exist." file1)) (princ (format " %s @@ -441,22 +478,26 @@ ;; prompt for file, get the buffer (defun ediff-prompt-for-patch-file () - (let ((dir (cond (ediff-patch-default-directory) ; try patch default dir - (ediff-use-last-dir ediff-last-dir-patch) + (let ((dir (cond (ediff-use-last-dir ediff-last-dir-patch) + (ediff-patch-default-directory) ; try patch default dir (t default-directory))) - (coding-system-for-read ediff-coding-system-for-read)) - (find-file-noselect - (read-file-name - (format "Patch is in file:%s " - (cond ((and buffer-file-name - (equal (expand-file-name dir) - (file-name-directory buffer-file-name))) - (concat - " (default " - (file-name-nondirectory buffer-file-name) - ")")) - (t ""))) - dir buffer-file-name 'must-match)) + (coding-system-for-read ediff-coding-system-for-read) + patch-file-name) + (setq patch-file-name + (read-file-name + (format "Patch is in file%s: " + (cond ((and buffer-file-name + (equal (expand-file-name dir) + (file-name-directory buffer-file-name))) + (concat + " (default " + (file-name-nondirectory buffer-file-name) + ")")) + (t ""))) + dir buffer-file-name 'must-match)) + (if (file-directory-p patch-file-name) + (error "Patch file cannot be a directory: %s" patch-file-name) + (find-file-noselect patch-file-name)) )) @@ -647,7 +688,7 @@ (ediff-maybe-checkout buf-to-patch) (ediff-with-current-buffer patch-diagnostics - (insert-buffer patch-buf) + (insert-buffer-substring patch-buf) (message "Applying patch ... ") ;; fix environment for gnu patch, so it won't make numbered extensions (setq backup-style (getenv "VERSION_CONTROL"))
--- a/lisp/ediff-util.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/ediff-util.el Sun Sep 25 22:07:01 2005 +0000 @@ -367,7 +367,7 @@ (ediff-unique-buffer-name "*ediff-merge" "*"))) (save-excursion (set-buffer buffer-C) - (insert-buffer buf) + (insert-buffer-substring buf) (funcall (ediff-with-current-buffer buf major-mode)) (widen) ; merge buffer is always widened (add-hook 'local-write-file-hooks 'ediff-set-merge-mode nil t) @@ -2111,7 +2111,7 @@ (if this-buf-n-th-diff-saved (if (yes-or-no-p (format - "You've previously copied diff region %d to buffer %S. Confirm " + "You've previously copied diff region %d to buffer %S. Confirm? " (1+ n) buf-type)) t (error "Quit")) @@ -2219,18 +2219,18 @@ regexp-A (read-string (format - "Ignore A-regions matching this regexp (default \"%s\"): " + "Ignore A-regions matching this regexp (default %s): " ediff-regexp-hide-A)) regexp-B (read-string (format - "Ignore B-regions matching this regexp (default \"%s\"): " + "Ignore B-regions matching this regexp (default %s): " ediff-regexp-hide-B))) (if ediff-3way-comparison-job (setq regexp-C (read-string (format - "Ignore C-regions matching this regexp (default \"%s\"): " + "Ignore C-regions matching this regexp (default %s): " ediff-regexp-hide-C)))) (if (eq ediff-hide-regexp-connective 'and) (setq msg-connective "BOTH" @@ -2258,18 +2258,18 @@ regexp-A (read-string (format - "Focus on A-regions matching this regexp (default \"%s\"): " + "Focus on A-regions matching this regexp (default %s): " ediff-regexp-focus-A)) regexp-B (read-string (format - "Focus on B-regions matching this regexp (default \"%s\"): " + "Focus on B-regions matching this regexp (default %s): " ediff-regexp-focus-B))) (if ediff-3way-comparison-job (setq regexp-C (read-string (format - "Focus on C-regions matching this regexp (default \"%s\"): " + "Focus on C-regions matching this regexp (default %s): " ediff-regexp-focus-C)))) (if (eq ediff-focus-regexp-connective 'and) (setq msg-connective "BOTH"
--- a/lisp/ediff-vers.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/ediff-vers.el Sun Sep 25 22:07:01 2005 +0000 @@ -299,7 +299,10 @@ ((eq type 'MODIFIED) (ediff-buffers (find-file-noselect tmp-file) - (find-file-noselect (cvs-fileinfo->full-path fileinfo)) + (if (featurep 'xemacs) + ;; XEmacs doesn't seem to have cvs-fileinfo->full-name + (find-file-noselect (cvs-fileinfo->full-path fileinfo)) + (find-file-noselect (cvs-fileinfo->full-name fileinfo))) nil ; startup-hooks 'ediff-revisions))) (if (stringp tmp-file) (delete-file tmp-file))
--- a/lisp/ediff.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/ediff.el Sun Sep 25 22:07:01 2005 +0000 @@ -7,8 +7,8 @@ ;; Created: February 2, 1994 ;; Keywords: comparing, merging, patching, tools, unix -(defconst ediff-version "2.80" "The current version of Ediff") -(defconst ediff-date "July 8, 2005" "Date of last update") +(defconst ediff-version "2.80.1" "The current version of Ediff") +(defconst ediff-date "September 19, 2005" "Date of last update") ;; This file is part of GNU Emacs. @@ -1261,13 +1261,13 @@ (setq rev1 (read-string (format - "Version 1 to merge (default: %s's working version): " + "Version 1 to merge (default %s's working version): " (if (stringp file) (file-name-nondirectory file) "current buffer"))) rev2 (read-string (format - "Version 2 to merge (default: %s): " + "Version 2 to merge (default %s): " (if (stringp file) (file-name-nondirectory file) "current buffer")))) (ediff-load-version-control) @@ -1293,19 +1293,19 @@ (setq rev1 (read-string (format - "Version 1 to merge (default: %s's working version): " + "Version 1 to merge (default %s's working version): " (if (stringp file) (file-name-nondirectory file) "current buffer"))) rev2 (read-string (format - "Version 2 to merge (default: %s): " + "Version 2 to merge (default %s): " (if (stringp file) (file-name-nondirectory file) "current buffer"))) ancestor-rev (read-string (format - "Ancestor version (default: %s's base revision): " + "Ancestor version (default %s's base revision): " (if (stringp file) (file-name-nondirectory file) "current buffer")))) (ediff-load-version-control) @@ -1411,11 +1411,11 @@ (let (rev1 rev2) (setq rev1 (read-string - (format "Revision 1 to compare (default: %s's latest revision): " + (format "Revision 1 to compare (default %s's latest revision): " (file-name-nondirectory file))) rev2 (read-string - (format "Revision 2 to compare (default: %s's current state): " + (format "Revision 2 to compare (default %s's current state): " (file-name-nondirectory file)))) (ediff-load-version-control) (funcall
--- a/lisp/emacs-lisp/advice.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/emacs-lisp/advice.el Sun Sep 25 22:07:01 2005 +0000 @@ -2218,7 +2218,7 @@ (let* ((ad-pReDiCaTe predicate) (function (completing-read - (format "%s(default %s) " (or prompt "Function: ") default) + (format "%s (default %s): " (or prompt "Function") default) ad-advised-functions (if predicate (function @@ -2250,7 +2250,7 @@ (ad-do-return class))) (error "ad-read-advice-class: `%s' has no advices" function))) (let ((class (completing-read - (format "%s(default %s) " (or prompt "Class: ") default) + (format "%s (default %s): " (or prompt "Class") default) ad-advice-class-completion-table nil t))) (if (equal class "") default @@ -2268,7 +2268,7 @@ (error "ad-read-advice-name: `%s' has no %s advice" function class) (car (car name-completion-table)))) - (prompt (format "%s(default %s) " (or prompt "Name: ") default)) + (prompt (format "%s (default %s): " (or prompt "Name") default)) (name (completing-read prompt name-completion-table nil t))) (if (equal name "") (intern default) @@ -2289,9 +2289,9 @@ (defun ad-read-regexp (&optional prompt) "Read a regular expression from the minibuffer." (let ((regexp (read-from-minibuffer - (concat (or prompt "Regular expression: ") - (if (equal ad-last-regexp "") "" - (format "(default \"%s\") " ad-last-regexp)))))) + (concat (or prompt "Regular expression") + (if (equal ad-last-regexp "") ": " + (format " (default %s): " ad-last-regexp)))))) (setq ad-last-regexp (if (equal regexp "") ad-last-regexp regexp)))) @@ -2352,7 +2352,7 @@ (defun ad-enable-advice (function class name) "Enables the advice of FUNCTION with CLASS and NAME." - (interactive (ad-read-advice-specification "Enable advice of: ")) + (interactive (ad-read-advice-specification "Enable advice of")) (if (ad-is-advised function) (if (eq (ad-enable-advice-internal function class name t) 0) (error "ad-enable-advice: `%s' has no %s advice matching `%s'" @@ -2361,7 +2361,7 @@ (defun ad-disable-advice (function class name) "Disable the advice of FUNCTION with CLASS and NAME." - (interactive (ad-read-advice-specification "Disable advice of: ")) + (interactive (ad-read-advice-specification "Disable advice of")) (if (ad-is-advised function) (if (eq (ad-enable-advice-internal function class name nil) 0) (error "ad-disable-advice: `%s' has no %s advice matching `%s'" @@ -2385,7 +2385,7 @@ "Enables all advices with names that contain a match for REGEXP. All currently advised functions will be considered." (interactive - (list (ad-read-regexp "Enable advices via regexp: "))) + (list (ad-read-regexp "Enable advices via regexp"))) (let ((matched-advices (ad-enable-regexp-internal regexp 'any t))) (if (interactive-p) (message "%d matching advices enabled" matched-advices)) @@ -2395,7 +2395,7 @@ "Disable all advices with names that contain a match for REGEXP. All currently advised functions will be considered." (interactive - (list (ad-read-regexp "Disable advices via regexp: "))) + (list (ad-read-regexp "Disable advices via regexp"))) (let ((matched-advices (ad-enable-regexp-internal regexp 'any nil))) (if (interactive-p) (message "%d matching advices disabled" matched-advices)) @@ -2405,7 +2405,7 @@ "Remove FUNCTION's advice with NAME from its advices in CLASS. If such an advice was found it will be removed from the list of advices in that CLASS." - (interactive (ad-read-advice-specification "Remove advice of: ")) + (interactive (ad-read-advice-specification "Remove advice of")) (if (ad-is-advised function) (let* ((advice-to-remove (ad-find-advice function class name))) (if advice-to-remove @@ -3285,7 +3285,7 @@ Clear the cache if you want to force `ad-activate' to construct a new advised definition from scratch." (interactive - (list (ad-read-advised-function "Clear cached definition of: "))) + (list (ad-read-advised-function "Clear cached definition of"))) (ad-set-advice-info-field function 'cache nil)) (defun ad-make-cache-id (function) @@ -3602,7 +3602,7 @@ enabled is equivalent to a call to `ad-deactivate'. The current advised definition will always be cached for later usage." (interactive - (list (ad-read-advised-function "Activate advice of: ") + (list (ad-read-advised-function "Activate advice of") current-prefix-arg)) (if ad-activate-on-top-level ;; avoid recursive calls to `ad-activate': @@ -3632,7 +3632,7 @@ information will still be available so it can be activated again with a call to `ad-activate'." (interactive - (list (ad-read-advised-function "Deactivate advice of: " 'ad-is-active))) + (list (ad-read-advised-function "Deactivate advice of" 'ad-is-active))) (if (not (ad-is-advised function)) (error "ad-deactivate: `%s' is not advised" function) (cond ((ad-is-active function) @@ -3650,7 +3650,7 @@ See `ad-activate' for documentation on the optional COMPILE argument." (interactive (list (ad-read-advised-function - "Update advised definition of: " 'ad-is-active))) + "Update advised definition of" 'ad-is-active))) (if (ad-is-active function) (ad-activate function compile))) @@ -3658,7 +3658,7 @@ "Deactivate FUNCTION and then remove all its advice information. If FUNCTION was not advised this will be a noop." (interactive - (list (ad-read-advised-function "Unadvise function: "))) + (list (ad-read-advised-function "Unadvise function"))) (cond ((ad-is-advised function) (if (ad-is-active function) (ad-deactivate function)) @@ -3689,7 +3689,7 @@ that has at least one piece of advice whose name includes a match for REGEXP. See `ad-activate' for documentation on the optional COMPILE argument." (interactive - (list (ad-read-regexp "Activate via advice regexp: ") + (list (ad-read-regexp "Activate via advice regexp") current-prefix-arg)) (ad-do-advised-functions (function) (if (ad-find-some-advice function 'any regexp) @@ -3700,7 +3700,7 @@ This deactivates the advice for each function that has at least one piece of advice whose name includes a match for REGEXP." (interactive - (list (ad-read-regexp "Deactivate via advice regexp: "))) + (list (ad-read-regexp "Deactivate via advice regexp"))) (ad-do-advised-functions (function) (if (ad-find-some-advice function 'any regexp) (ad-deactivate function)))) @@ -3711,7 +3711,7 @@ that has at least one piece of advice whose name includes a match for REGEXP. See `ad-activate' for documentation on the optional COMPILE argument." (interactive - (list (ad-read-regexp "Update via advice regexp: ") + (list (ad-read-regexp "Update via advice regexp") current-prefix-arg)) (ad-do-advised-functions (function) (if (ad-find-some-advice function 'any regexp)
--- a/lisp/emacs-lisp/checkdoc.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/emacs-lisp/checkdoc.el Sun Sep 25 22:07:01 2005 +0000 @@ -1585,7 +1585,7 @@ ;; a prefix. (let ((disambiguate (completing-read - "Disambiguating Keyword (default: variable): " + "Disambiguating Keyword (default variable): " '(("function") ("command") ("variable") ("option") ("symbol")) nil t nil nil "variable")))
--- a/lisp/emacs-lisp/debug.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/emacs-lisp/debug.el Sun Sep 25 22:07:01 2005 +0000 @@ -754,7 +754,7 @@ (interactive (list (let ((name (completing-read - "Cancel debug on entry to function (default: all functions): " + "Cancel debug on entry to function (default all functions): " (mapcar 'symbol-name debug-function-list) nil t))) (when name (unless (string= name "")
--- a/lisp/emulation/vip.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/emulation/vip.el Sun Sep 25 22:07:01 2005 +0000 @@ -893,7 +893,7 @@ each line in the region." (setq vip-quote-string (let ((str - (vip-read-string (format "quote string \(default \"%s\"\): " + (vip-read-string (format "quote string (default %s): " vip-quote-string)))) (if (string= str "") vip-quote-string str))) (vip-enlarge-region (point) (mark))
--- a/lisp/emulation/viper-cmd.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/emulation/viper-cmd.el Sun Sep 25 22:07:01 2005 +0000 @@ -358,7 +358,7 @@ 'viper-insertion-ring)) (if viper-ESC-moves-cursor-back - (or (bolp) (backward-char 1)))) + (or (bolp) (viper-beginning-of-field) (backward-char 1)))) )) ;; insert or replace @@ -1996,7 +1996,8 @@ ;;; Minibuffer business (defsubst viper-set-minibuffer-style () - (add-hook 'minibuffer-setup-hook 'viper-minibuffer-setup-sentinel)) + (add-hook 'minibuffer-setup-hook 'viper-minibuffer-setup-sentinel) + (add-hook 'post-command-hook 'viper-minibuffer-post-command-hook)) (defun viper-minibuffer-setup-sentinel () @@ -2039,6 +2040,11 @@ (minibuffer-prompt-end) (point-min))) +(defun viper-minibuffer-post-command-hook() + (when (active-minibuffer-window) + (when (< (point) (viper-minibuffer-real-start)) + (goto-char (viper-minibuffer-real-start))))) + ;; Interpret last event in the local map first; if fails, use exit-minibuffer. ;; Run viper-minibuffer-exit-hook before exiting. @@ -2154,7 +2160,7 @@ (setq keymap (or keymap minibuffer-local-map) initial (or initial "") temp-msg (if default - (format "(default: %s) " default) + (format "(default %s) " default) "")) (setq viper-incomplete-ex-cmd nil) @@ -2570,7 +2576,7 @@ ;; last line of buffer when this line has no \n. (viper-add-newline-at-eob-if-necessary) (viper-execute-com 'viper-line val com)) - (if (and (eobp) (not (bobp))) (forward-line -1)) + (if (and (eobp) (bolp) (not (bobp))) (forward-line -1)) ) (defun viper-yank-line (arg)
--- a/lisp/emulation/viper-init.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/emulation/viper-init.el Sun Sep 25 22:07:01 2005 +0000 @@ -115,6 +115,11 @@ ;;; Macros +;; Fool the compiler to avoid warnings. +;; Viper calls make-variable-buffer-local from within other functions, which +;; triggers compiler warnings. +(defalias 'viper-make-variable-buffer-local 'make-variable-buffer-local) + (defmacro viper-deflocalvar (var default-value &optional documentation) `(progn (defvar ,var ,default-value
--- a/lisp/emulation/viper-macs.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/emulation/viper-macs.el Sun Sep 25 22:07:01 2005 +0000 @@ -118,7 +118,7 @@ (define-key viper-vi-intercept-map "\C-x)" 'viper-end-mapping-kbd-macro) (define-key viper-insert-intercept-map "\C-x)" 'viper-end-mapping-kbd-macro) (define-key viper-emacs-intercept-map "\C-x)" 'viper-end-mapping-kbd-macro) - (message "Mapping %S in %s state. Hit `C-x )' to complete the mapping" + (message "Mapping %S in %s state. Type macro definition followed by `C-x )'" (viper-display-macro macro-name) (if ins "Insert" "Vi"))) )) @@ -170,7 +170,7 @@ ((stringp macro-name) (setq macro-name (vconcat macro-name))) (t (setq macro-name (vconcat (prin1-to-string macro-name))))) - (message ":map%s <Name>" variant)(sit-for 2) + (message ":map%s <Macro Name>" variant)(sit-for 2) (while (not (member key '(?\C-m ?\n (control m) (control j) return linefeed))) @@ -442,10 +442,6 @@ scope) viper-custom-file-name)) - ;; 2005-09-18 T06:41:22-0400 (Sunday) D. Goel - ;; From careful parsing of the above code, it looks like msg - ;; couldn't be nil when we reach here. Since it is a string, - ;; and a complicated one too, we might as well provide it a "%s" (message "%s" msg) ))
--- a/lisp/emulation/viper-util.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/emulation/viper-util.el Sun Sep 25 22:07:01 2005 +0000 @@ -1405,6 +1405,7 @@ viper-SEP-char-class (or within-line "\n") (if within-line (viper-line-pos 'end))))) + (defsubst viper-skip-all-separators-backward (&optional within-line) (if (eq viper-syntax-preference 'strict-vi) (if within-line @@ -1433,6 +1434,7 @@ ;; Emacs may consider some of these as words, but we don't want them viper-non-word-characters (viper-line-pos 'end)))) + (defun viper-skip-nonalphasep-backward () (if (eq viper-syntax-preference 'strict-vi) (skip-chars-backward @@ -1502,6 +1504,12 @@ total )) +;; tells when point is at the beginning of field +(defun viper-beginning-of-field () + (or (bobp) + (not (eq (get-char-property (point) 'field) + (get-char-property (1- (point)) 'field))))) + ;; this is copied from cl-extra.el ;; Return the subsequence of SEQ from START to END.
--- a/lisp/emulation/viper.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/emulation/viper.el Sun Sep 25 22:07:01 2005 +0000 @@ -9,7 +9,7 @@ ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> ;; Keywords: emulations -(defconst viper-version "3.11.5 of August 6, 2005" +(defconst viper-version "3.11.5 of September 19, 2005" "The current version of Viper") ;; This file is part of GNU Emacs. @@ -606,7 +606,7 @@ (viper-set-expert-level 'dont-change-unless))) (if viper-xemacs-p - (make-variable-buffer-local 'bar-cursor)) + (viper-make-variable-buffer-local 'bar-cursor)) (if (eq major-mode 'viper-mode) (setq major-mode 'fundamental-mode)) @@ -769,6 +769,7 @@ (remove-hook 'comint-mode-hook 'viper-comint-mode-hook) (remove-hook 'minibuffer-setup-hook 'viper-minibuffer-setup-sentinel) (remove-hook 'change-major-mode-hook 'viper-major-mode-change-sentinel) + (remove-hook 'post-command-hook 'viper-minibuffer-post-command-hook) ;; unbind Viper mouse bindings (viper-unbind-mouse-search-key) @@ -1008,7 +1009,7 @@ ;; ***This is needed only in case emulation-mode-map-alists is not defined (unless (and (fboundp 'add-to-ordered-list) (boundp 'emulation-mode-map-alists)) - (make-variable-buffer-local 'minor-mode-map-alist)) + (viper-make-variable-buffer-local 'minor-mode-map-alist)) ;; Viper changes the default mode-line-buffer-identification (setq-default mode-line-buffer-identification '(" %b")) @@ -1017,7 +1018,7 @@ (setq next-line-add-newlines nil require-final-newline t) - (make-variable-buffer-local 'require-final-newline) + (viper-make-variable-buffer-local 'require-final-newline) ;; don't bark when mark is inactive (if viper-emacs-p
--- a/lisp/font-lock.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/font-lock.el Sun Sep 25 22:07:01 2005 +0000 @@ -1061,7 +1061,8 @@ 'font-lock-multiline nil) (point-max)))) (goto-char end) - (setq end (line-beginning-position 2)) + ;; Round up to a whole line. + (unless (bolp) (setq end (line-beginning-position 2))) ;; Now do the fontification. (font-lock-unfontify-region beg end) (when font-lock-syntactic-keywords @@ -1073,12 +1074,12 @@ (set-syntax-table old-syntax-table)))) ;; The following must be rethought, since keywords can override fontification. -; ;; Now scan for keywords, but not if we are inside a comment now. -; (or (and (not font-lock-keywords-only) -; (let ((state (parse-partial-sexp beg end nil nil -; font-lock-cache-state))) -; (or (nth 4 state) (nth 7 state)))) -; (font-lock-fontify-keywords-region beg end)) +;; ;; Now scan for keywords, but not if we are inside a comment now. +;; (or (and (not font-lock-keywords-only) +;; (let ((state (parse-partial-sexp beg end nil nil +;; font-lock-cache-state))) +;; (or (nth 4 state) (nth 7 state)))) +;; (font-lock-fontify-keywords-region beg end)) (defvar font-lock-extra-managed-props nil "Additional text properties managed by font-lock.
--- a/lisp/format.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/format.el Sun Sep 25 22:07:01 2005 +0000 @@ -307,7 +307,7 @@ `buffer-file-format' is set to the format used, and any mode-functions for the format are called." (interactive - (list (format-read "Translate buffer from format (default: guess): "))) + (list (format-read "Translate buffer from format (default guess): "))) (save-excursion (goto-char (point-min)) (format-decode format (buffer-size) t))) @@ -318,7 +318,7 @@ for identifying regular expressions at the beginning of the region." (interactive (list (region-beginning) (region-end) - (format-read "Translate region from format (default: guess): "))) + (format-read "Translate region from format (default guess): "))) (save-excursion (goto-char from) (format-decode format (- to from) nil)))
--- a/lisp/forms.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/forms.el Sun Sep 25 22:07:01 2005 +0000 @@ -519,7 +519,7 @@ (if (or (eq enable-local-eval t) (yes-or-no-p (concat "Evaluate lisp code in buffer " - (buffer-name) " to display forms "))) + (buffer-name) " to display forms? "))) (eval-buffer) (error "`enable-local-eval' inhibits buffer evaluation"))
--- a/lisp/gnus/ChangeLog Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/gnus/ChangeLog Sun Sep 25 22:07:01 2005 +0000 @@ -1,8 +1,49 @@ +2005-09-25 Romain Francoise <romain@orebokech.com> + + * gnus-agent.el (gnus-agent-expire-group, gnus-agent-expire): + * gnus-start.el (gnus-subscribe-interactively): + * gnus-uu.el (gnus-uu-grab-articles): + End `yes-or-no-p' and `y-or-n-p' prompts with question mark and + space. + +2005-09-24 Emilio C. Lopes <eclig@gmx.net> + + * smime.el (smime-sign-buffer, smime-decrypt-buffer): + * mm-view.el (mm-view-pkcs7-decrypt): + * gnus-sum.el (gnus-summary-limit-to-extra) + (gnus-summary-respool-article, gnus-read-move-group-name): + * gnus-score.el (gnus-summary-increase-score): + * gnus-util.el (gnus-completing-read-with-default): + * gnus-art.el (gnus-read-save-file-name) + (gnus-summary-save-in-rmail, gnus-summary-save-in-mail) + (gnus-summary-save-in-file, gnus-summary-save-body-in-file): + * message.el (message-check-news-header-syntax): + Follow convention for reading with the minibuffer. + +2005-09-22 Reiner Steib <Reiner.Steib@gmx.de> + + * spam-report.el (spam-report-url-ping-plain): Use + gnus-extended-version as User-Agent. + + * gnus-agent.el (gnus-agent-synchronize-flags): Explain why the + default value is nil. + +2005-09-20 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * gnus-agent.el (gnus-agent-synchronize-flags): Switch the + default to nil, to be able to use Gnus at all. If the default + switches to something else, then the function should be fixed not + be exceedingly slow. + +2005-09-19 Reiner Steib <Reiner.Steib@gmx.de> + + * mm-url.el (mm-url-decode-entities): Fix regexp. + 2005-09-18 D Goel <deego@gnufans.org> * sieve.el (sieve-help): Fix `message' call: first arg should be a format spec. - + 2005-09-16 Katsumi Yamaoka <yamaoka@jpl.org> * gnus.el (gnus-group-startup-message): Bind image-load-path.
--- a/lisp/gnus/gnus-agent.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/gnus/gnus-agent.el Sun Sep 25 22:07:01 2005 +0000 @@ -118,6 +118,8 @@ (defcustom gnus-agent-synchronize-flags t "Indicate if flags are synchronized when you plug in. If this is `ask' the hook will query the user." + ;; If the default switches to something else than nil, then the function + ;; should be fixed not be exceedingly slow. See 2005-09-20 ChangeLog entry. :version "21.1" :type '(choice (const :tag "Always" t) (const :tag "Never" nil) @@ -2934,7 +2936,7 @@ (if (or (not (eq articles t)) (yes-or-no-p (concat "Are you sure that you want to " - "expire all articles in " group "."))) + "expire all articles in " group "? "))) (let ((gnus-command-method (gnus-find-method-for-group group)) (overview (gnus-get-buffer-create " *expire overview*")) orig) @@ -3308,7 +3310,7 @@ (gnus-agent-expire-group group articles force) (if (or (not (eq articles t)) (yes-or-no-p "Are you sure that you want to expire all \ -articles in every agentized group.")) +articles in every agentized group? ")) (let ((methods (gnus-agent-covered-methods)) ;; Bind gnus-agent-expire-current-dirs to enable tracking ;; of agent directories.
--- a/lisp/gnus/gnus-art.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/gnus/gnus-art.el Sun Sep 25 22:07:01 2005 +0000 @@ -3255,7 +3255,7 @@ ((null split-name) (read-file-name (concat prompt " (default " - (file-name-nondirectory default-name) ") ") + (file-name-nondirectory default-name) "): ") (file-name-directory default-name) default-name)) ;; A single group name is returned. @@ -3265,7 +3265,7 @@ (symbol-value variable))) (read-file-name (concat prompt " (default " - (file-name-nondirectory default-name) ") ") + (file-name-nondirectory default-name) "): ") (file-name-directory default-name) default-name)) ;; A single split name was found @@ -3278,7 +3278,7 @@ ((file-exists-p name) name) (t gnus-article-save-directory)))) (read-file-name - (concat prompt " (default " name ") ") + (concat prompt " (default " name "): ") dir name))) ;; A list of splits was found. (t @@ -3289,7 +3289,7 @@ (setq result (expand-file-name (read-file-name - (concat prompt " (`M-p' for defaults) ") + (concat prompt " (`M-p' for defaults): ") gnus-article-save-directory (car split-name)) gnus-article-save-directory))) @@ -3323,7 +3323,7 @@ Optional argument FILENAME specifies file name. Directory to save to is default to `gnus-article-save-directory'." (setq filename (gnus-read-save-file-name - "Save %s in rmail file:" filename + "Save %s in rmail file" filename gnus-rmail-save-name gnus-newsgroup-name gnus-current-headers 'gnus-newsgroup-last-rmail)) (gnus-eval-in-buffer-window gnus-save-article-buffer @@ -3338,7 +3338,7 @@ Optional argument FILENAME specifies file name. Directory to save to is default to `gnus-article-save-directory'." (setq filename (gnus-read-save-file-name - "Save %s in Unix mail file:" filename + "Save %s in Unix mail file" filename gnus-mail-save-name gnus-newsgroup-name gnus-current-headers 'gnus-newsgroup-last-mail)) (gnus-eval-in-buffer-window gnus-save-article-buffer @@ -3357,7 +3357,7 @@ Optional argument FILENAME specifies file name. Directory to save to is default to `gnus-article-save-directory'." (setq filename (gnus-read-save-file-name - "Save %s in file:" filename + "Save %s in file" filename gnus-file-save-name gnus-newsgroup-name gnus-current-headers 'gnus-newsgroup-last-file)) (gnus-eval-in-buffer-window gnus-save-article-buffer @@ -3381,7 +3381,7 @@ Optional argument FILENAME specifies file name. The directory to save in defaults to `gnus-article-save-directory'." (setq filename (gnus-read-save-file-name - "Save %s body in file:" filename + "Save %s body in file" filename gnus-file-save-name gnus-newsgroup-name gnus-current-headers 'gnus-newsgroup-last-file)) (gnus-eval-in-buffer-window gnus-save-article-buffer
--- a/lisp/gnus/gnus-score.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/gnus/gnus-score.el Sun Sep 25 22:07:01 2005 +0000 @@ -652,7 +652,7 @@ (intern ; need symbol (gnus-completing-read-with-default (symbol-name (car gnus-extra-headers)) ; default response - "Score extra header:" ; prompt + "Score extra header" ; prompt (mapcar (lambda (x) ; completion list (cons (symbol-name x) x)) gnus-extra-headers)
--- a/lisp/gnus/gnus-start.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/gnus/gnus-start.el Sun Sep 25 22:07:01 2005 +0000 @@ -608,7 +608,7 @@ "Subscribe the new GROUP interactively. It is inserted in hierarchical newsgroup order if subscribed. If not, it is killed." - (if (gnus-y-or-n-p (format "Subscribe new newsgroup: %s " group)) + (if (gnus-y-or-n-p (format "Subscribe new newsgroup %s? " group)) (gnus-subscribe-hierarchically group) (push group gnus-killed-list)))
--- a/lisp/gnus/gnus-sum.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/gnus/gnus-sum.el Sun Sep 25 22:07:01 2005 +0000 @@ -7696,8 +7696,8 @@ (gnus-completing-read-with-default (symbol-name (car gnus-extra-headers)) (if current-prefix-arg - "Exclude extra header:" - "Limit extra header:") + "Exclude extra header" + "Limit extra header") (mapcar (lambda (x) (cons (symbol-name x) x)) gnus-extra-headers) @@ -9218,7 +9218,7 @@ gnus-newsgroup-name))))) (method (gnus-completing-read-with-default - methname "What backend do you want to use when respooling?" + methname "Backend to use when respooling" methods nil t nil 'gnus-mail-method-history)) ms) (cond @@ -11044,7 +11044,7 @@ (let* ((split-name (gnus-get-split-value gnus-move-split-methods)) (minibuffer-confirm-incomplete nil) ; XEmacs (prom - (format "%s %s to:" + (format "%s %s to" prompt (if (> (length articles) 1) (format "these %d articles" (length articles))
--- a/lisp/gnus/gnus-util.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/gnus/gnus-util.el Sun Sep 25 22:07:01 2005 +0000 @@ -335,8 +335,8 @@ (defun gnus-completing-read-with-default (default prompt &rest args) ;; Like `completing-read', except that DEFAULT is the default argument. (let* ((prompt (if default - (concat prompt " (default " default ") ") - (concat prompt " "))) + (concat prompt " (default " default "): ") + (concat prompt ": "))) (answer (apply 'completing-read prompt args))) (if (or (null answer) (zerop (length answer))) default
--- a/lisp/gnus/gnus-uu.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/gnus/gnus-uu.el Sun Sep 25 22:07:01 2005 +0000 @@ -1294,7 +1294,7 @@ (not gnus-uu-be-dangerous) (or (eq gnus-uu-be-dangerous t) (gnus-y-or-n-p - (format "Delete unsuccessfully decoded file %s" + (format "Delete unsuccessfully decoded file %s? " result-file)))) (delete-file result-file))) (when (memq 'begin process-state)
--- a/lisp/gnus/message.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/gnus/message.el Sun Sep 25 22:07:01 2005 +0000 @@ -4197,7 +4197,7 @@ (zerop (length (setq to (completing-read - "Followups to (default: no Followup-To header) " + "Followups to (default no Followup-To header): " (mapcar #'list (cons "poster" (message-tokenize-header
--- a/lisp/gnus/mm-url.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/gnus/mm-url.el Sun Sep 25 22:07:01 2005 +0000 @@ -365,7 +365,7 @@ (defun mm-url-decode-entities () "Decode all HTML entities." (goto-char (point-min)) - (while (re-search-forward "&\\(#[0-9]+\\|[a-z]+\\);" nil t) + (while (re-search-forward "&\\(#[0-9]+\\|[a-z]+[0-9]*\\);" nil t) (let ((elem (if (eq (aref (match-string 1) 0) ?\#) (let ((c (string-to-number (substring
--- a/lisp/gnus/mm-view.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/gnus/mm-view.el Sun Sep 25 22:07:01 2005 +0000 @@ -576,9 +576,10 @@ (cadar smime-keys) (smime-get-key-by-email (gnus-completing-read-maybe-default - (concat "Decipher using which key? " - (if smime-keys (concat "(default " (caar smime-keys) ") ") - "")) + (concat "Decipher using key" + (if smime-keys + (concat " (default " (caar smime-keys) "): ") + ": ")) smime-keys nil nil nil nil (car-safe (car-safe smime-keys)))))) (goto-char (point-min)) (while (search-forward "\r\n" nil t)
--- a/lisp/gnus/smime.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/gnus/smime.el Sun Sep 25 22:07:01 2005 +0000 @@ -341,9 +341,10 @@ keyfile (smime-get-key-with-certs-by-email (completing-read - (concat "Sign using which key? " - (if smime-keys (concat "(default " (caar smime-keys) ") ") - "")) + (concat "Sign using key" + (if smime-keys + (concat " (default " (caar smime-keys) "): ") + ": ")) smime-keys nil nil (car-safe (car-safe smime-keys)))))) (error "Signing failed")))) @@ -472,9 +473,9 @@ (or keyfile (smime-get-key-by-email (completing-read - (concat "Decipher using which key? " - (if smime-keys (concat "(default " (caar smime-keys) ") ") - "")) + (concat "Decipher using key" + (if smime-keys (concat " (default " (caar smime-keys) "): ") + ": ")) smime-keys nil nil (car-safe (car-safe smime-keys))))))))) ;; Various operations
--- a/lisp/gnus/spam-report.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/gnus/spam-report.el Sun Sep 25 22:07:01 2005 +0000 @@ -150,7 +150,7 @@ (process-send-string tcp-connection (format "GET %s HTTP/1.1\nUser-Agent: %s (spam-report.el)\nHost: %s\n\n" - report (gnus-emacs-version) host))))) + report (gnus-extended-version) host))))) ;;;###autoload (defun spam-report-process-queue (&optional file keep)
--- a/lisp/ido.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/ido.el Sun Sep 25 22:07:01 2005 +0000 @@ -2138,7 +2138,7 @@ (ido-record-command method dirname) (ido-record-work-directory) (funcall method dirname)) - ((y-or-n-p (format "Directory %s does not exist. Create it " filename)) + ((y-or-n-p (format "Directory %s does not exist. Create it? " filename)) (ido-record-command method dirname) (ido-record-work-directory dirname) (make-directory-internal dirname) @@ -3529,7 +3529,7 @@ (file-exists-p file) (not (file-directory-p file)) (file-writable-p ido-current-directory) - (yes-or-no-p (concat "Delete " file " "))) + (yes-or-no-p (concat "Delete " file "? "))) (delete-file file) ;; Check if file still exists. (if (file-exists-p file)
--- a/lisp/info.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/info.el Sun Sep 25 22:07:01 2005 +0000 @@ -1569,11 +1569,11 @@ If DIRECTION is `backward', search in the reverse direction." (interactive (list (read-string (if Info-search-history - (format "Regexp search%s (default `%s'): " - (if case-fold-search "" " case-sensitively") + (format "Regexp search%s (default %s): " + (if case-fold-search "" " case-sensitively") (car Info-search-history)) (format "Regexp search%s: " - (if case-fold-search "" " case-sensitively"))) + (if case-fold-search "" " case-sensitively"))) nil 'Info-search-history))) (when transient-mark-mode (deactivate-mark)) @@ -1757,11 +1757,11 @@ "Search for REGEXP in the reverse direction." (interactive (list (read-string (if Info-search-history - (format "Regexp search%s backward (default `%s'): " - (if case-fold-search "" " case-sensitively") + (format "Regexp search%s backward (default %s): " + (if case-fold-search "" " case-sensitively") (car Info-search-history)) (format "Regexp search%s backward: " - (if case-fold-search "" " case-sensitively"))) + (if case-fold-search "" " case-sensitively"))) nil 'Info-search-history))) (Info-search regexp bound noerror count 'backward)) @@ -2107,8 +2107,8 @@ (if completions (let ((input (completing-read (if default (concat - "Follow reference named: (default " - default ") ") + "Follow reference named (default " + default "): ") "Follow reference named: ") completions nil t))) (list (if (equal input "")
--- a/lisp/international/mule-cmds.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/international/mule-cmds.el Sun Sep 25 22:07:01 2005 +0000 @@ -281,7 +281,7 @@ buffer-file-coding-system))) (list (read-coding-system (if default - (format "Coding system for following command (default, %s): " default) + (format "Coding system for following command (default %s): " default) "Coding system for following command: ") default)))) (let* ((keyseq (read-key-sequence @@ -596,7 +596,7 @@ (interactive (list (let ((default (or buffer-file-coding-system 'us-ascii))) (read-coding-system - (format "Coding-system (default, %s): " default) + (format "Coding-system (default %s): " default) default)))) (let ((pos (unencodable-char-position (point) (point-max) coding-system))) (if pos @@ -1452,7 +1452,7 @@ "Describe input method INPUT-METHOD." (interactive (list (read-input-method-name - "Describe input method (default, current choice): "))) + "Describe input method (default current choice): "))) (if (and input-method (symbolp input-method)) (setq input-method (symbol-name input-method))) (help-setup-xref (list #'describe-input-method @@ -1740,7 +1740,7 @@ specifies the character set for the major languages of Western Europe." (interactive (list (read-language-name nil - "Set language environment (default, English): "))) + "Set language environment (default English): "))) (if language-name (if (symbolp language-name) (setq language-name (symbol-name language-name))) @@ -1938,7 +1938,7 @@ (interactive (list (read-language-name 'documentation - "Describe language environment (default, current choice): "))) + "Describe language environment (default current choice): "))) (if (null language-name) (setq language-name current-language-environment)) (if (or (null language-name) @@ -1966,7 +1966,7 @@ (l (copy-sequence input-method-alist))) (insert "Input methods") (when input-method - (insert " (default, " input-method ")") + (insert " (default " input-method ")") (setq input-method (assoc input-method input-method-alist)) (setq l (cons input-method (delete input-method l)))) (insert ":\n")
--- a/lisp/international/mule-diag.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/international/mule-diag.el Sun Sep 25 22:07:01 2005 +0000 @@ -419,7 +419,7 @@ ;;;###autoload (defun describe-coding-system (coding-system) "Display information about CODING-SYSTEM." - (interactive "zDescribe coding system (default, current choices): ") + (interactive "zDescribe coding system (default current choices): ") (if (null coding-system) (describe-current-coding-system) (help-setup-xref (list #'describe-coding-system coding-system) @@ -831,7 +831,7 @@ ;;;###autoload (defun describe-font (fontname) "Display information about fonts which partially match FONTNAME." - (interactive "sFontname (default, current choice for ASCII chars): ") + (interactive "sFontname (default current choice for ASCII chars): ") (or (and window-system (fboundp 'fontset-list)) (error "No fontsets being used")) (when (or (not fontname) (= (length fontname) 0)) @@ -921,7 +921,7 @@ (mapcar 'cdr fontset-alias-alist))) (completion-ignore-case t)) (list (completing-read - "Fontset (default, used by the current frame): " + "Fontset (default used by the current frame): " fontset-list nil t))))) (if (= (length fontset) 0) (setq fontset (frame-parameter nil 'font)))
--- a/lisp/international/mule.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/international/mule.el Sun Sep 25 22:07:01 2005 +0000 @@ -1139,7 +1139,7 @@ don't want to mark the buffer modified, specify t for NOMODIFY. If you know exactly what coding system you want to use, just set the variable `buffer-file-coding-system' directly." - (interactive "zCoding system for saving file (default, nil): \nP") + (interactive "zCoding system for saving file (default nil): \nP") (check-coding-system coding-system) (if (and coding-system buffer-file-coding-system (null force)) (setq coding-system @@ -1163,7 +1163,7 @@ buffer's previous `buffer-file-coding-system' value (if it is specified there). Otherwise, determine it from the file contents as usual for visiting a file." - (interactive "zCoding system for visited file (default, nil): \nP") + (interactive "zCoding system for visited file (default nil): \nP") (check-coding-system coding-system) (if (and coding-system buffer-file-coding-system (null force)) (setq coding-system @@ -1175,7 +1175,7 @@ "Set coding system for decoding and encoding file names to CODING-SYSTEM. It actually just set the variable `file-name-coding-system' (which see) to CODING-SYSTEM." - (interactive "zCoding system for file names (default, nil): ") + (interactive "zCoding system for file names (default nil): ") (check-coding-system coding-system) (if (and coding-system (not (coding-system-get coding-system :ascii-compatible-p)) @@ -1200,7 +1200,7 @@ default-terminal-coding-system) default-terminal-coding-system))) (read-coding-system - (format "Coding system for terminal display (default, %s): " + (format "Coding system for terminal display (default %s): " default) default)))) (if (and (not coding-system) @@ -1229,7 +1229,7 @@ default-keyboard-coding-system) default-keyboard-coding-system))) (read-coding-system - (format "Coding system for keyboard input (default, %s): " + (format "Coding system for keyboard input (default %s): " default) default)))) (if (and (not coding-system) @@ -1303,7 +1303,7 @@ (interactive (list (read-coding-system (if last-next-selection-coding-system - (format "Coding system for the next selection (default, %S): " + (format "Coding system for the next selection (default %S): " last-next-selection-coding-system) "Coding system for the next selection: ") last-next-selection-coding-system)))
--- a/lisp/international/quail.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/international/quail.el Sun Sep 25 22:07:01 2005 +0000 @@ -897,7 +897,7 @@ The variable `quail-keyboard-layout-type' holds the currently selected keyboard type." (interactive - (list (completing-read "Keyboard type (default, current choice): " + (list (completing-read "Keyboard type (default current choice): " quail-keyboard-layout-alist nil t))) (or (and keyboard-type (> (length keyboard-type) 0))
--- a/lisp/locate.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/locate.el Sun Sep 25 22:07:01 2005 +0000 @@ -209,7 +209,7 @@ (input (read-from-minibuffer (if (> (length default) 0) - (format "Locate (default `%s'): " default) + (format "Locate (default %s): " default) (format "Locate: ")) nil nil nil 'locate-history-list default t))) (and (equal input "") default
--- a/lisp/log-edit.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/log-edit.el Sun Sep 25 22:07:01 2005 +0000 @@ -383,7 +383,7 @@ (equal (log-edit-files) log-edit-initial-files))) (progn (log-edit-show-files) - (not (y-or-n-p "Really commit ? ")))) + (not (y-or-n-p "Really commit? ")))) (progn (when (not win) (log-edit-hide-buf)) (message "Oh, well! Later maybe?")) (run-hooks 'log-edit-done-hook)
--- a/lisp/mail/mailabbrev.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/mail/mailabbrev.el Sun Sep 25 22:07:01 2005 +0000 @@ -528,7 +528,7 @@ (default-directory (expand-file-name "~/")) (def mail-personal-alias-file)) (read-file-name - (format "Read additional aliases from file: (default %s) " + (format "Read additional aliases from file (default %s): " def) default-directory (expand-file-name def default-directory) @@ -542,7 +542,7 @@ (default-directory (expand-file-name "~/")) (def mail-personal-alias-file)) (read-file-name - (format "Read mail aliases from file: (default %s) " def) + (format "Read mail aliases from file (default %s): " def) default-directory (expand-file-name def default-directory) t))))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mail/mailclient.el Sun Sep 25 22:07:01 2005 +0000 @@ -0,0 +1,174 @@ +;;; mailclient.el --- mail sending via system's mail client. -*- byte-compile-dynamic: t -*- + +;; Copyright (C) 2005 Free Software Foundation + +;; Author: David Reitter <david.reitter@gmail.com> +;; Keywords: mail + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. + +;;; Commentary: + +;; This package allows to hand over a buffer to be sent off +;; via the system's designated e-mail client. +;; Note that the e-mail client will display the contents of the buffer +;; again for editing. +;; The e-mail client is taken to be whoever handles a mailto: URL +;; via `browse-url'. +;; Mailto: URLs are composed according to RFC2368. + +;; MIME bodies are not supported - we rather expect the mail client +;; to encode the body and add, for example, a digital signature. +;; The mailto URL RFC calls for "short text messages that are +;; actually the content of automatic processing." +;; So mailclient.el is ideal for situations where an e-mail is +;; generated automatically, and the user can edit it in the +;; mail client (e.g. bug-reports). + +;; To activate: +;; (setq send-mail-function 'mailclient-send-it) ; if you use `mail' + +;;; Code: + + +(require 'sendmail) ;; for mail-sendmail-undelimit-header +(require 'mail-utils) ;; for mail-fetch-field + +(defcustom mailclient-place-body-on-clipboard-flag + (fboundp 'w32-set-clipboard-data) + "If non-nil, put the e-mail body on the clipboard in mailclient. +This is useful on systems where only short mailto:// URLs are +supported. Defaults to non-nil on Windows, nil otherwise." + :type 'boolean + :group 'mail) + +(defun mailclient-encode-string-as-url (string) + "Convert STRING to a URL, using utf-8 as encoding." + (apply (function concat) + (mapcar + (lambda (char) + (cond + ((eq char ?\x20) "%20") ;; space + ((eq char ?\n) "%0D%0A") ;; newline + ((string-match "[-a-zA-Z0-9_:/.@]" (char-to-string char)) + (char-to-string char)) ;; printable + (t ;; everything else + (format "%%%02x" char)))) ;; escape + ;; Convert string to list of chars + (append (encode-coding-string string 'utf-8))))) + +(defvar mailclient-delim-static "?") +(defun mailclient-url-delim () + (let ((current mailclient-delim-static)) + (setq mailclient-delim-static "&") + current)) + +(defun mailclient-gather-addresses (str &optional drop-first-name) + (let ((field (mail-fetch-field str nil t))) + (if field + (save-excursion + (let ((first t) + (result "")) + (mapc + (lambda (recp) + (setq result + (concat + result + (if (and drop-first-name + first) + "" + (concat (mailclient-url-delim) str "=")) + (mailclient-encode-string-as-url + recp))) + (setq first nil)) + (split-string + (mail-strip-quoted-names field) "\, *")) + result))))) + +;;;###autoload +(defun mailclient-send-it () + "Pass current buffer on to the system's mail client. +Suitable value for `send-mail-function'. +The mail client is taken to be the handler of mailto URLs." + (require 'mail-utils) + (let ((case-fold-search nil) + delimline + (mailbuf (current-buffer))) + (unwind-protect + (with-temp-buffer + (insert-buffer-substring mailbuf) + ;; Move to header delimiter + (mail-sendmail-undelimit-header) + (setq delimline (point-marker)) + (if mail-aliases + (expand-mail-aliases (point-min) delimline)) + (goto-char (point-min)) + ;; ignore any blank lines in the header + (while (and (re-search-forward "\n\n\n*" delimline t) + (< (point) delimline)) + (replace-match "\n")) + (let ((case-fold-search t)) + ;; initialize limiter + (setq mailclient-delim-static "?") + ;; construct and call up mailto URL + (browse-url + (concat + (save-excursion + (narrow-to-region (point-min) delimline) + (concat + "mailto:" + ;; some of the headers according to RFC822 + (mailclient-gather-addresses "To" + 'drop-first-name) + (mailclient-gather-addresses "cc" ) + (mailclient-gather-addresses "bcc" ) + (mailclient-gather-addresses "Resent-To" ) + (mailclient-gather-addresses "Resent-cc" ) + (mailclient-gather-addresses "Resent-bcc" ) + (mailclient-gather-addresses "Reply-To" ) + ;; The From field is not honored for now: it's + ;; not necessarily configured. The mail client + ;; knows the user's address(es) + ;; (mailclient-gather-addresses "From" ) + ;; subject line + (let ((subj (mail-fetch-field "Subject" nil t))) + (widen) ;; so we can read the body later on + (if subj ;; if non-blank + ;; the mail client will deal with + ;; warning the user etc. + (concat (mailclient-url-delim) "subject=" + (mailclient-encode-string-as-url subj)) + "")))) + ;; body + (concat + (mailclient-url-delim) "body=" + (mailclient-encode-string-as-url + (if mailclient-place-body-on-clipboard-flag + (progn + (clipboard-kill-ring-save + (+ 1 delimline) (point-max)) + (concat + "*** E-Mail body has been placed on clipboard, " + "please paste them here! ***")) + ;; else + (buffer-substring (+ 1 delimline) (point-max)))))))))))) + +(provide 'mailclient) + +;; arch-tag: 35d10fc8-a1bc-4f29-a4e6-c288e53578ef +;;; mailclient.el ends here
--- a/lisp/mail/rmail.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/mail/rmail.el Sun Sep 25 22:07:01 2005 +0000 @@ -3038,13 +3038,14 @@ (interactive (let* ((reversep (< (prefix-numeric-value current-prefix-arg) 0)) (prompt - (concat (if reversep "Reverse " "") "Rmail search (regexp): ")) + (concat (if reversep "Reverse " "") "Rmail search (regexp")) regexp) - (if rmail-search-last-regexp - (setq prompt (concat prompt - "(default " - rmail-search-last-regexp - ") "))) + (setq prompt + (concat prompt + (if rmail-search-last-regexp + (concat ", default " + rmail-search-last-regexp "): ") + "): "))) (setq regexp (read-string prompt)) (cond ((not (equal regexp "")) (setq rmail-search-last-regexp regexp)) @@ -3109,13 +3110,14 @@ (interactive (let* ((reversep (>= (prefix-numeric-value current-prefix-arg) 0)) (prompt - (concat (if reversep "Reverse " "") "Rmail search (regexp): ")) + (concat (if reversep "Reverse " "") "Rmail search (regexp")) regexp) - (if rmail-search-last-regexp - (setq prompt (concat prompt - "(default " - rmail-search-last-regexp - ") "))) + (setq prompt + (concat prompt + (if rmail-search-last-regexp + (concat ", default " + rmail-search-last-regexp "): ") + "): "))) (setq regexp (read-string prompt)) (cond ((not (equal regexp "")) (setq rmail-search-last-regexp regexp))
--- a/lisp/mail/rmailout.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/mail/rmailout.el Sun Sep 25 22:07:01 2005 +0000 @@ -63,9 +63,9 @@ (let ((read-file (expand-file-name (read-file-name - (concat "Output message to Rmail file: (default " + (concat "Output message to Rmail file (default " (file-name-nondirectory default-file) - ") ") + "): ") (file-name-directory default-file) (abbreviate-file-name default-file)) (file-name-directory default-file)))) @@ -95,9 +95,9 @@ (let ((read-file (expand-file-name (read-file-name - (concat "Output message to Unix mail file: (default " + (concat "Output message to Unix mail file (default " (file-name-nondirectory default-file) - ") ") + "): ") (file-name-directory default-file) (abbreviate-file-name default-file)) (file-name-directory default-file))))
--- a/lisp/mail/rmailsum.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/mail/rmailsum.el Sun Sep 25 22:07:01 2005 +0000 @@ -1346,13 +1346,14 @@ (interactive (let* ((reversep (>= (prefix-numeric-value current-prefix-arg) 0)) (prompt - (concat (if reversep "Reverse " "") "Rmail search (regexp): ")) + (concat (if reversep "Reverse " "") "Rmail search (regexp")) regexp) - (if rmail-search-last-regexp - (setq prompt (concat prompt - "(default " - rmail-search-last-regexp - ") "))) + (setq prompt + (concat prompt + (if rmail-search-last-regexp + (concat ", default " + rmail-search-last-regexp "): ") + "): "))) (setq regexp (read-string prompt)) (cond ((not (equal regexp "")) (setq rmail-search-last-regexp regexp)) @@ -1377,13 +1378,14 @@ (interactive (let* ((reversep (< (prefix-numeric-value current-prefix-arg) 0)) (prompt - (concat (if reversep "Reverse " "") "Rmail search (regexp): ")) + (concat (if reversep "Reverse " "") "Rmail search (regexp")) regexp) - (if rmail-search-last-regexp - (setq prompt (concat prompt - "(default " - rmail-search-last-regexp - ") "))) + (setq prompt + (concat prompt + (if rmail-search-last-regexp + (concat ", default " + rmail-search-last-regexp "): ") + "): "))) (setq regexp (read-string prompt)) (cond ((not (equal regexp "")) (setq rmail-search-last-regexp regexp))
--- a/lisp/man.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/man.el Sun Sep 25 22:07:01 2005 +0000 @@ -663,10 +663,10 @@ (interactive (list (let* ((default-entry (Man-default-man-entry)) (input (read-string - (format "Manual entry%s: " + (format "Manual entry%s" (if (string= default-entry "") - "" - (format " (default %s)" default-entry))) + ": " + (format " (default %s): " default-entry))) nil nil default-entry))) (if (string= input "") (error "No man args given") @@ -1273,7 +1273,7 @@ (let* ((default (aheadsym Man-sections-alist)) (completion-ignore-case t) chosen - (prompt (concat "Go to section: (default " default ") "))) + (prompt (concat "Go to section (default " default "): "))) (setq chosen (completing-read prompt Man-sections-alist)) (if (or (not chosen) (string= chosen "")) @@ -1328,7 +1328,7 @@ Man-refpages-alist)) (aheadsym Man-refpages-alist))) chosen - (prompt (concat "Refer to: (default " default ") "))) + (prompt (concat "Refer to (default " default "): "))) (setq chosen (completing-read prompt Man-refpages-alist)) (if (or (not chosen) (string= chosen ""))
--- a/lisp/mh-e/ChangeLog Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/mh-e/ChangeLog Sun Sep 25 22:07:01 2005 +0000 @@ -1,3 +1,10 @@ +2005-09-24 Emilio C. Lopes <eclig@gmx.net> + + * mh-mime.el (mh-compose-forward, mh-mhn-compose-forw): + * mh-comp.el (mh-insert-letter): + * mh-utils.el (mh-prompt-for-folder): + Follow convention for reading with the minibuffer. + 2005-09-19 Juanma Barranquero <lekktu@gmail.com> * mh-print.el (mh-ps-print-msg-show): Fix misplaced parenthesis in
--- a/lisp/mh-e/mh-comp.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/mh-e/mh-comp.el Sun Sep 25 22:07:01 2005 +0000 @@ -1424,10 +1424,10 @@ and point after it." (interactive (list (mh-prompt-for-folder "Message from" mh-sent-from-folder nil) - (read-input (format "Message number%s: " + (read-input (concat "Message number" (if (numberp mh-sent-from-msg) - (format " [%d]" mh-sent-from-msg) - ""))) + (format " (default %d): " mh-sent-from-msg) + ": "))) current-prefix-arg)) (save-restriction (narrow-to-region (point) (point))
--- a/lisp/mh-e/mh-mime.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/mh-e/mh-mime.el Sun Sep 25 22:07:01 2005 +0000 @@ -81,10 +81,10 @@ (interactive (list (read-string "Forw Content-description: ") (mh-prompt-for-folder "Message from" mh-sent-from-folder nil) - (read-string (format "Messages%s: " + (read-string (concat "Messages" (if (numberp mh-sent-from-msg) - (format " [%d]" mh-sent-from-msg) - ""))))) + (format " (default %d): " mh-sent-from-msg) + ": "))))) (if (equal mh-compose-insertion 'gnus) (mh-mml-forward-message description folder message) (mh-mhn-compose-forw description folder message))) @@ -374,10 +374,10 @@ (interactive (list (read-string "Forw Content-description: ") (mh-prompt-for-folder "Message from" mh-sent-from-folder nil) - (read-string (format "Messages%s: " + (read-string (concat "Messages" (if (numberp mh-sent-from-msg) - (format " [%d]" mh-sent-from-msg) - ""))))) + (format " (default %d): " mh-sent-from-msg) + ": "))))) (beginning-of-line) (insert "#forw [") (and description
--- a/lisp/mh-e/mh-utils.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/mh-e/mh-utils.el Sun Sep 25 22:07:01 2005 +0000 @@ -2315,10 +2315,10 @@ when used in searching." (if (null default) (setq default "")) - (let* ((default-string (cond (default-string (format "[%s] " default-string)) + (let* ((default-string (cond (default-string (format " (default %s)" default-string)) ((equal "" default) "") - (t (format "[%s] " default)))) - (prompt (format "%s folder: %s" prompt default-string)) + (t (format " (default %s)" default)))) + (prompt (format "%s folder%s: " prompt default-string)) (mh-current-folder-name mh-current-folder) read-name folder-name) (while (and (setq read-name (mh-folder-completing-read
--- a/lisp/mouse.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/mouse.el Sun Sep 25 22:07:01 2005 +0000 @@ -405,7 +405,6 @@ (start-event-window (posn-window start)) (start-event-frame (window-frame start-event-window)) (start-nwindows (count-windows t)) - (old-selected-window (selected-window)) (minibuffer (frame-parameter nil 'minibuffer)) should-enlarge-minibuffer event mouse y top bot edges wconfig growth) (track-mouse @@ -553,7 +552,6 @@ (start-event-frame (window-frame (car (car (cdr start-event))))) (start-event-window (car (car (cdr start-event)))) (start-nwindows (count-windows t)) - (old-selected-window (selected-window)) event mouse x left right edges wconfig growth (which-side (or (cdr (assq 'vertical-scroll-bars (frame-parameters start-event-frame))) @@ -745,9 +743,11 @@ (goto-char opoint)))) ;; Create an overlay and immediately delete it, to get "overlay in no buffer". -(defvar mouse-drag-overlay (make-overlay 1 1)) -(delete-overlay mouse-drag-overlay) -(overlay-put mouse-drag-overlay 'face 'region) +(defconst mouse-drag-overlay + (let ((ol (make-overlay (point-min) (point-min)))) + (delete-overlay ol) + (overlay-put ol 'face 'region) + ol)) (defvar mouse-selection-click-count 0) @@ -858,14 +858,34 @@ "mouse-1" (substring msg 7))))))) msg) +(defun mouse-move-drag-overlay (ol start end mode) + (unless (= start end) + ;; Go to START first, so that when we move to END, if it's in the middle + ;; of intangible text, point jumps in the direction away from START. + ;; Don't do it if START=END otherwise a single click risks selecting + ;; a region if it's on intangible text. This exception was originally + ;; only applied on entry to mouse-drag-region, which had the problem + ;; that a tiny move during a single-click would cause the intangible + ;; text to be selected. + (goto-char start) + (goto-char end) + (setq end (point))) + (let ((range (mouse-start-end start end mode))) + (move-overlay ol (car range) (nth 1 range)))) + (defun mouse-drag-region-1 (start-event) (mouse-minibuffer-check start-event) - (let* ((echo-keystrokes 0) + (setq mouse-selection-click-count-buffer (current-buffer)) + (let* ((original-window (selected-window)) + ;; We've recorded what we needed from the current buffer and + ;; window, now let's jump to the place of the event, where things + ;; are happening. + (_ (mouse-set-point start-event)) + (echo-keystrokes 0) (start-posn (event-start start-event)) (start-point (posn-point start-posn)) (start-window (posn-window start-posn)) (start-window-start (window-start start-window)) - (start-frame (window-frame start-window)) (start-hscroll (window-hscroll start-window)) (bounds (window-edges start-window)) (make-cursor-line-fully-visible nil) @@ -876,39 +896,34 @@ (1- (nth 3 bounds)))) (on-link (and mouse-1-click-follows-link (or mouse-1-click-in-non-selected-windows - (eq start-window (selected-window))))) - remap-double-click - (click-count (1- (event-click-count start-event)))) + (eq start-window original-window)) + ;; Use start-point before the intangibility + ;; treatment, in case we click on a link inside an + ;; intangible text. + (mouse-on-link-p start-point))) + (click-count (1- (event-click-count start-event))) + (remap-double-click (and on-link + (eq mouse-1-click-follows-link 'double) + (= click-count 1)))) (setq mouse-selection-click-count click-count) - (setq mouse-selection-click-count-buffer (current-buffer)) - (mouse-set-point start-event) ;; In case the down click is in the middle of some intangible text, ;; use the end of that text, and put it in START-POINT. (if (< (point) start-point) (goto-char start-point)) (setq start-point (point)) - (setq on-link (and on-link - (mouse-on-link-p start-point))) - (setq remap-double-click (and on-link - (eq mouse-1-click-follows-link 'double) - (= click-count 1))) - (if remap-double-click ;; Don't expand mouse overlay in links + (if remap-double-click ;; Don't expand mouse overlay in links (setq click-count 0)) - (let ((range (mouse-start-end start-point start-point click-count))) - (move-overlay mouse-drag-overlay (car range) (nth 1 range) - (window-buffer start-window)) - (overlay-put mouse-drag-overlay 'window (selected-window))) + (mouse-move-drag-overlay mouse-drag-overlay start-point start-point + click-count) + (overlay-put mouse-drag-overlay 'window start-window) (deactivate-mark) - ;; end-of-range is used only in the single-click case. - ;; It is the place where the drag has reached so far - ;; (but not outside the window where the drag started). - (let (event end end-point last-end-point (end-of-range (point))) + (let (event end end-point last-end-point) (track-mouse (while (progn (setq event (read-event)) - (or (mouse-movement-p event) - (memq (car-safe event) '(switch-frame select-window)))) - (if (memq (car-safe event) '(switch-frame select-window)) + (or (mouse-movement-p event) + (memq (car-safe event) '(switch-frame select-window)))) + (if (memq (car-safe event) '(switch-frame select-window)) nil (setq end (event-end event) end-point (posn-point end)) @@ -919,53 +934,33 @@ ;; Are we moving within the original window? ((and (eq (posn-window end) start-window) (integer-or-marker-p end-point)) - ;; Go to START-POINT first, so that when we move to END-POINT, - ;; if it's in the middle of intangible text, - ;; point jumps in the direction away from START-POINT. - (goto-char start-point) - (goto-char end-point) - (if (zerop (% click-count 3)) - (setq end-of-range (point))) - (let ((range (mouse-start-end start-point (point) click-count))) - (move-overlay mouse-drag-overlay (car range) (nth 1 range)))) + (mouse-move-drag-overlay mouse-drag-overlay start-point end-point click-count)) (t (let ((mouse-row (cdr (cdr (mouse-position))))) - (cond - ((null mouse-row)) - ((< mouse-row top) - (mouse-scroll-subr start-window (- mouse-row top) - mouse-drag-overlay start-point) - ;; Without this, point tends to jump back to the starting - ;; position where the mouse button was pressed down. - (setq end-of-range (overlay-start mouse-drag-overlay))) - ((>= mouse-row bottom) - (mouse-scroll-subr start-window (1+ (- mouse-row bottom)) - mouse-drag-overlay start-point) - (setq end-of-range (overlay-end mouse-drag-overlay)))))))))) + (cond + ((null mouse-row)) + ((< mouse-row top) + (mouse-scroll-subr start-window (- mouse-row top) + mouse-drag-overlay start-point)) + ((>= mouse-row bottom) + (mouse-scroll-subr start-window (1+ (- mouse-row bottom)) + mouse-drag-overlay start-point))))))))) ;; In case we did not get a mouse-motion event ;; for the final move of the mouse before a drag event ;; pretend that we did get one. (when (and (memq 'drag (event-modifiers (car-safe event))) - (setq end (event-end event) + (setq end (event-end event) end-point (posn-point end)) (eq (posn-window end) start-window) (integer-or-marker-p end-point)) - ;; Go to START-POINT first, so that when we move to END-POINT, - ;; if it's in the middle of intangible text, - ;; point jumps in the direction away from START-POINT. - (goto-char start-point) - (goto-char end-point) - (if (zerop (% click-count 3)) - (setq end-of-range (point))) - (let ((range (mouse-start-end start-point (point) click-count))) - (move-overlay mouse-drag-overlay (car range) (nth 1 range)))) + (mouse-move-drag-overlay mouse-drag-overlay start-point end-point click-count)) (if (consp event) (let ((fun (key-binding (vector (car event))))) - ;; Run the binding of the terminating up-event, if possible. - ;; In the case of a multiple click, it gives the wrong results, + ;; Run the binding of the terminating up-event, if possible. + ;; In the case of a multiple click, it gives the wrong results, ;; because it would fail to set up a region. (if (not (= (overlay-start mouse-drag-overlay) (overlay-end mouse-drag-overlay))) @@ -976,74 +971,75 @@ ;; The end that comes from where we ended the drag. ;; Point goes here. (region-termination - (if (and stop-point (< stop-point start-point)) - (overlay-start mouse-drag-overlay) - (overlay-end mouse-drag-overlay))) - ;; The end that comes from where we started the drag. - ;; Mark goes there. - (region-commencement - (- (+ (overlay-end mouse-drag-overlay) - (overlay-start mouse-drag-overlay)) - region-termination)) - last-command this-command) - (push-mark region-commencement t t) - (goto-char region-termination) - ;; Don't let copy-region-as-kill set deactivate-mark. - (when mouse-drag-copy-region - (let (deactivate-mark) - (copy-region-as-kill (point) (mark t)))) - (let ((buffer (current-buffer))) - (mouse-show-mark) - ;; mouse-show-mark can call read-event, - ;; and that means the Emacs server could switch buffers - ;; under us. If that happened, - ;; avoid trying to use the region. - (and (mark t) mark-active - (eq buffer (current-buffer)) - (mouse-set-region-1)))) - (delete-overlay mouse-drag-overlay) - ;; Run the binding of the terminating up-event. - (when (and (functionp fun) - (= start-hscroll (window-hscroll start-window)) - ;; Don't run the up-event handler if the - ;; window start changed in a redisplay after - ;; the mouse-set-point for the down-mouse - ;; event at the beginning of this function. - ;; When the window start has changed, the - ;; up-mouse event will contain a different - ;; position due to the new window contents, - ;; and point is set again. - (or end-point - (= (window-start start-window) - start-window-start))) - (if (and on-link - (or (not end-point) (= end-point start-point)) - (consp event) - (or remap-double-click - (and - (not (eq mouse-1-click-follows-link 'double)) - (= click-count 0) - (= (event-click-count event) 1) - (not (input-pending-p)) - (or (not (integerp mouse-1-click-follows-link)) - (let ((t0 (posn-timestamp (event-start start-event))) - (t1 (posn-timestamp (event-end event)))) - (and (integerp t0) (integerp t1) - (if (> mouse-1-click-follows-link 0) - (<= (- t1 t0) mouse-1-click-follows-link) - (< (- t0 t1) mouse-1-click-follows-link))))) - (or (not double-click-time) - (sit-for 0 (if (integerp double-click-time) - double-click-time 500) t))))) + (if (and stop-point (< stop-point start-point)) + (overlay-start mouse-drag-overlay) + (overlay-end mouse-drag-overlay))) + ;; The end that comes from where we started the drag. + ;; Mark goes there. + (region-commencement + (- (+ (overlay-end mouse-drag-overlay) + (overlay-start mouse-drag-overlay)) + region-termination)) + last-command this-command) + (push-mark region-commencement t t) + (goto-char region-termination) + ;; Don't let copy-region-as-kill set deactivate-mark. + (when mouse-drag-copy-region + (let (deactivate-mark) + (copy-region-as-kill (point) (mark t)))) + (let ((buffer (current-buffer))) + (mouse-show-mark) + ;; mouse-show-mark can call read-event, + ;; and that means the Emacs server could switch buffers + ;; under us. If that happened, + ;; avoid trying to use the region. + (and (mark t) mark-active + (eq buffer (current-buffer)) + (mouse-set-region-1)))) + (delete-overlay mouse-drag-overlay) + ;; Run the binding of the terminating up-event. + (when (and (functionp fun) + (= start-hscroll (window-hscroll start-window)) + ;; Don't run the up-event handler if the + ;; window start changed in a redisplay after + ;; the mouse-set-point for the down-mouse + ;; event at the beginning of this function. + ;; When the window start has changed, the + ;; up-mouse event will contain a different + ;; position due to the new window contents, + ;; and point is set again. + (or end-point + (= (window-start start-window) + start-window-start))) + (if (and on-link + (or (not end-point) (= end-point start-point)) + (consp event) + (or remap-double-click + (and + (not (eq mouse-1-click-follows-link 'double)) + (= click-count 0) + (= (event-click-count event) 1) + (not (input-pending-p)) + (or (not (integerp mouse-1-click-follows-link)) + (let ((t0 (posn-timestamp (event-start start-event))) + (t1 (posn-timestamp (event-end event)))) + (and (integerp t0) (integerp t1) + (if (> mouse-1-click-follows-link 0) + (<= (- t1 t0) mouse-1-click-follows-link) + (< (- t0 t1) mouse-1-click-follows-link))))) + (or (not double-click-time) + (sit-for 0 (if (integerp double-click-time) + double-click-time 500) t))))) (if (or (vectorp on-link) (stringp on-link)) (setq event (aref on-link 0)) (setcar event 'mouse-2))) - (setq unread-command-events - (cons event unread-command-events))))) + (push event unread-command-events)))) + + ;; Case where the end-event is not a cons cell (it's just a boring + ;; char-key-press). (delete-overlay mouse-drag-overlay))))) ;; Commands to handle xterm-style multiple clicks. - (defun mouse-skip-word (dir) "Skip over word, over whitespace, or over identical punctuation. If DIR is positive skip forward; if negative, skip backward." @@ -1352,8 +1348,8 @@ ;; Don't let a subsequent kill command append to this one: ;; prevent setting this-command to kill-region. (this-command this-command)) - (if (and (save-excursion - (set-buffer (window-buffer (posn-window (event-start click)))) + (if (and (with-current-buffer + (window-buffer (posn-window (event-start click))) (and (mark t) (> (mod mouse-selection-click-count 3) 0) ;; Don't be fooled by a recent click in some other buffer. (eq mouse-selection-click-count-buffer @@ -1416,15 +1412,14 @@ (goto-char new) (set-mark new)) (setq deactivate-mark nil))) - (kill-new (buffer-substring (point) (mark t)) t) - (mouse-show-mark)) + (kill-new (buffer-substring (point) (mark t)) t)) ;; Set the mark where point is, then move where clicked. (mouse-set-mark-fast click) (if before-scroll (goto-char before-scroll)) - (exchange-point-and-mark) - (kill-new (buffer-substring (point) (mark t))) - (mouse-show-mark)) + (exchange-point-and-mark) ;Why??? --Stef + (kill-new (buffer-substring (point) (mark t)))) + (mouse-show-mark) (mouse-set-region-1) (setq mouse-save-then-kill-posn (list (car kill-ring) (point) click-posn))))))) @@ -1435,10 +1430,13 @@ (global-set-key [M-mouse-3] 'mouse-secondary-save-then-kill) (global-set-key [M-mouse-2] 'mouse-yank-secondary) -;; An overlay which records the current secondary selection -;; or else is deleted when there is no secondary selection. -;; May be nil. -(defvar mouse-secondary-overlay nil) +(defconst mouse-secondary-overlay + (let ((ol (make-overlay (point-min) (point-min)))) + (delete-overlay ol) + (overlay-put ol 'face 'secondary-selection) + ol) + "An overlay which records the current secondary selection. +It is deleted when there is no secondary selection.") (defvar mouse-secondary-click-count 0) @@ -1453,11 +1451,9 @@ (interactive "e") (mouse-minibuffer-check click) (let ((posn (event-start click))) - (save-excursion - (set-buffer (window-buffer (posn-window posn))) + (with-current-buffer (window-buffer (posn-window posn)) ;; Cancel any preexisting secondary selection. - (if mouse-secondary-overlay - (delete-overlay mouse-secondary-overlay)) + (delete-overlay mouse-secondary-overlay) (if (numberp (posn-point posn)) (progn (or mouse-secondary-start @@ -1472,14 +1468,10 @@ (let ((posn (event-start click)) beg (end (event-end click))) - (save-excursion - (set-buffer (window-buffer (posn-window posn))) + (with-current-buffer (window-buffer (posn-window posn)) (if (numberp (posn-point posn)) (setq beg (posn-point posn))) - (if mouse-secondary-overlay - (move-overlay mouse-secondary-overlay beg (posn-point end)) - (setq mouse-secondary-overlay (make-overlay beg (posn-point end)))) - (overlay-put mouse-secondary-overlay 'face 'secondary-selection)))) + (move-overlay mouse-secondary-overlay beg (posn-point end))))) (defun mouse-drag-secondary (start-event) "Set the secondary selection to the text that the mouse is dragged over. @@ -1492,7 +1484,6 @@ (start-posn (event-start start-event)) (start-point (posn-point start-posn)) (start-window (posn-window start-posn)) - (start-frame (window-frame start-window)) (bounds (window-edges start-window)) (top (nth 1 bounds)) (bottom (if (window-minibuffer-p start-window) @@ -1500,20 +1491,16 @@ ;; Don't count the mode line. (1- (nth 3 bounds)))) (click-count (1- (event-click-count start-event)))) - (save-excursion - (set-buffer (window-buffer start-window)) + (with-current-buffer (window-buffer start-window) (setq mouse-secondary-click-count click-count) - (or mouse-secondary-overlay - (setq mouse-secondary-overlay - (make-overlay (point) (point)))) - (overlay-put mouse-secondary-overlay 'face 'secondary-selection) (if (> (mod click-count 3) 0) ;; Double or triple press: make an initial selection ;; of one word or line. (let ((range (mouse-start-end start-point start-point click-count))) (set-marker mouse-secondary-start nil) - (move-overlay mouse-secondary-overlay 1 1 - (window-buffer start-window)) + ;; Why the double move? --Stef + ;; (move-overlay mouse-secondary-overlay 1 1 + ;; (window-buffer start-window)) (move-overlay mouse-secondary-overlay (car range) (nth 1 range) (window-buffer start-window))) ;; Single-press: cancel any preexisting secondary selection. @@ -1598,13 +1585,12 @@ (current-buffer))) (error "Select or click on the buffer where the secondary selection is"))) (let (this-command) - (save-excursion - (set-buffer (overlay-buffer mouse-secondary-overlay)) + (with-current-buffer (overlay-buffer mouse-secondary-overlay) (kill-region (overlay-start mouse-secondary-overlay) (overlay-end mouse-secondary-overlay)))) (delete-overlay mouse-secondary-overlay) ;;; (x-set-selection 'SECONDARY nil) - (setq mouse-secondary-overlay nil)) + ) (defun mouse-secondary-save-then-kill (click) "Save text to point in kill ring; the second time, kill the text. @@ -1627,13 +1613,11 @@ ;; prevent setting this-command to kill-region. (this-command this-command)) (or (eq (window-buffer (posn-window posn)) - (or (and mouse-secondary-overlay - (overlay-buffer mouse-secondary-overlay)) + (or (overlay-buffer mouse-secondary-overlay) (if mouse-secondary-start (marker-buffer mouse-secondary-start)))) (error "Wrong buffer")) - (save-excursion - (set-buffer (window-buffer (posn-window posn))) + (with-current-buffer (window-buffer (posn-window posn)) (if (> (mod mouse-secondary-click-count 3) 0) (if (not (and (eq last-command 'mouse-secondary-save-then-kill) (equal click-posn @@ -1712,10 +1696,7 @@ ;; so put the other end here. (let ((start (+ 0 mouse-secondary-start))) (kill-ring-save start click-posn) - (if mouse-secondary-overlay - (move-overlay mouse-secondary-overlay start click-posn) - (setq mouse-secondary-overlay (make-overlay start click-posn))) - (overlay-put mouse-secondary-overlay 'face 'secondary-selection)))) + (move-overlay mouse-secondary-overlay start click-posn)))) (setq mouse-save-then-kill-posn (list (car kill-ring) (point) click-posn)))) (if (overlay-buffer mouse-secondary-overlay) @@ -2433,5 +2414,5 @@ (make-obsolete 'mldrag-drag-vertical-line 'mouse-drag-vertical-line "21.1") (provide 'mldrag) -;;; arch-tag: 9a710ce1-914a-4923-9b81-697f7bf82ab3 +;; arch-tag: 9a710ce1-914a-4923-9b81-697f7bf82ab3 ;;; mouse.el ends here
--- a/lisp/net/eudcb-ldap.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/net/eudcb-ldap.el Sun Sep 25 22:07:01 2005 +0000 @@ -194,7 +194,7 @@ "Check if the current LDAP server has a configured search base." (unless (or (eudc-ldap-get-host-parameter eudc-server 'base) ldap-default-base - (null (y-or-n-p "No search base defined. Configure it now ?"))) + (null (y-or-n-p "No search base defined. Configure it now? "))) ;; If the server is not in ldap-host-parameters-alist we add it for the ;; user (if (null (assoc eudc-server ldap-host-parameters-alist))
--- a/lisp/net/newsticker.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/net/newsticker.el Sun Sep 25 22:07:01 2005 +0000 @@ -26,9 +26,8 @@ ;; General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with this program; if not, write to the Free Software -;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -;; USA +;; along with this program; if not, write to the Free Software Foundation, +;; Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ;; ====================================================================== ;;; Commentary:
--- a/lisp/net/rcompile.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/net/rcompile.el Sun Sep 25 22:07:01 2005 +0000 @@ -138,7 +138,7 @@ remote-compile-host) user (if remote-compile-prompt-for-user (read-from-minibuffer (format - "Compile by user (default %s)" + "Compile by user (default %s): " (or remote-compile-user (user-login-name))) "" nil nil
--- a/lisp/play/animate.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/play/animate.el Sun Sep 25 22:07:01 2005 +0000 @@ -156,7 +156,7 @@ (defun animate-birthday-present (&optional name) "Display one's birthday present in a new buffer. You can specify the one's name by NAME; the default value is \"Sarah\"." - (interactive (list (read-string "Name (default \"Sarah\"): " + (interactive (list (read-string "Name (default Sarah): " nil nil "Sarah"))) ;; Make a suitable buffer to display the birthday present in. (switch-to-buffer (get-buffer-create (format "*%s*" name)))
--- a/lisp/play/gomoku.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/play/gomoku.el Sun Sep 25 22:07:01 2005 +0000 @@ -671,11 +671,11 @@ (cond ((< gomoku-number-of-moves 20) "This was a REALLY QUICK win.") (gomoku-human-refused-draw - "I won... Too bad you refused my offer of a draw !") + "I won... Too bad you refused my offer of a draw!") (gomoku-human-took-back - "I won... Taking moves back will not help you !") + "I won... Taking moves back will not help you!") ((not gomoku-emacs-played-first) - "I won... Playing first did not help you much !") + "I won... Playing first did not help you much!") ((and (zerop gomoku-number-of-human-wins) (zerop gomoku-number-of-draws) (> gomoku-number-of-emacs-wins 1)) @@ -688,7 +688,7 @@ (gomoku-human-took-back " I, for one, never take my moves back...") (gomoku-emacs-played-first - ".. so what ?") + ".. so what?") (" Now, let me play first just once.")))) ((eq result 'human-resigned) (setq gomoku-number-of-emacs-wins (1+ gomoku-number-of-emacs-wins)) @@ -758,7 +758,7 @@ (setq gomoku-emacs-is-computing nil) (gomoku-terminate-game 'crash-game) (sit-for 4) - (or (y-or-n-p "Another game ") (error "Chicken !"))) + (or (y-or-n-p "Another game? ") (error "Chicken!"))) (switch-to-buffer gomoku-buffer-name) (gomoku-mode)) (cond @@ -779,14 +779,14 @@ (if (and (> m max-height) (not (eq m gomoku-saved-board-height)) ;; Use EQ because SAVED-BOARD-HEIGHT may be nil - (not (y-or-n-p (format "Do you really want %d rows " m)))) + (not (y-or-n-p (format "Do you really want %d rows? " m)))) (setq m max-height))) (message "One moment, please...") (gomoku-start-game n m) - (if (y-or-n-p "Do you allow me to play first ") + (if (y-or-n-p "Do you allow me to play first? ") (gomoku-emacs-plays) (gomoku-prompt-for-move))) - ((y-or-n-p "Shall we continue our game ") + ((y-or-n-p "Shall we continue our game? ") (gomoku-prompt-for-move)) (t (gomoku-human-resigns)))) @@ -875,9 +875,9 @@ (let (square score) (setq square (gomoku-point-square)) (cond ((null square) - (error "Your point is not on a square. Retry !")) + (error "Your point is not on a square. Retry!")) ((not (zerop (aref gomoku-board square))) - (error "Your point is not on a free square. Retry !")) + (error "Your point is not on a free square. Retry!")) (t (setq score (aref gomoku-score-table square)) (gomoku-play-move square 1) @@ -902,7 +902,7 @@ (sit-for 4) (gomoku-prompt-for-other-game)) ((zerop gomoku-number-of-human-moves) - (message "You have not played yet... Your move ?")) + (message "You have not played yet... Your move?")) (t (message "One moment, please...") ;; It is possible for the user to let Emacs play several consecutive @@ -923,9 +923,9 @@ (gomoku-crash-game)) ((not gomoku-game-in-progress) (message "There is no game in progress")) - ((y-or-n-p "You mean, you resign ") + ((y-or-n-p "You mean, you resign? ") (gomoku-terminate-game 'human-resigned)) - ((y-or-n-p "You mean, we continue ") + ((y-or-n-p "You mean, we continue? ") (gomoku-prompt-for-move)) (t (gomoku-terminate-game 'human-resigned)))) ; OK. Accept it @@ -937,21 +937,21 @@ (defun gomoku-prompt-for-move () "Display a message asking for Human's move." (message (if (zerop gomoku-number-of-human-moves) - "Your move ? (move to a free square and hit X, RET ...)" - "Your move ?")) + "Your move? (move to a free square and hit X, RET ...)" + "Your move?")) ;; This may seem silly, but if one omits the following line (or a similar ;; one), the cursor may very well go to some place where POINT is not. (save-excursion (set-buffer (other-buffer)))) (defun gomoku-prompt-for-other-game () "Ask for another game, and start it." - (if (y-or-n-p "Another game ") + (if (y-or-n-p "Another game? ") (gomoku gomoku-board-width gomoku-board-height) - (error "Chicken !"))) + (error "Chicken!"))) (defun gomoku-offer-a-draw () "Offer a draw and return t if Human accepted it." - (or (y-or-n-p "I offer you a draw. Do you accept it ") + (or (y-or-n-p "I offer you a draw. Do you accept it? ") (not (setq gomoku-human-refused-draw t)))) ;;;
--- a/lisp/play/landmark.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/play/landmark.el Sun Sep 25 22:07:01 2005 +0000 @@ -763,9 +763,9 @@ (let (square score) (setq square (lm-point-square)) (cond ((null square) - (error "Your point is not on a square. Retry !")) + (error "Your point is not on a square. Retry!")) ((not (zerop (aref lm-board square))) - (error "Your point is not on a free square. Retry !")) + (error "Your point is not on a free square. Retry!")) (t (setq score (aref lm-score-table square)) (lm-play-move square 1) @@ -790,7 +790,7 @@ (sit-for 4) (lm-prompt-for-other-game)) ((zerop lm-number-of-human-moves) - (message "You have not played yet... Your move ?")) + (message "You have not played yet... Your move?")) (t (message "One moment, please...") ;; It is possible for the user to let Emacs play several consecutive @@ -811,9 +811,9 @@ (lm-crash-game)) ((not lm-game-in-progress) (message "There is no game in progress")) - ((y-or-n-p "You mean, you resign ") + ((y-or-n-p "You mean, you resign? ") (lm-terminate-game 'human-resigned)) - ((y-or-n-p "You mean, we continue ") + ((y-or-n-p "You mean, we continue? ") (lm-prompt-for-move)) (t (lm-terminate-game 'human-resigned)))) ; OK. Accept it @@ -823,23 +823,23 @@ (defun lm-prompt-for-move () "Display a message asking for Human's move." (message (if (zerop lm-number-of-human-moves) - "Your move ? (move to a free square and hit X, RET ...)" - "Your move ?")) + "Your move? (move to a free square and hit X, RET ...)" + "Your move?")) ;; This may seem silly, but if one omits the following line (or a similar ;; one), the cursor may very well go to some place where POINT is not. (save-excursion (set-buffer (other-buffer)))) (defun lm-prompt-for-other-game () "Ask for another game, and start it." - (if (y-or-n-p "Another game ") + (if (y-or-n-p "Another game? ") (if (y-or-n-p "Retain learned weights ") (lm 2) (lm 1)) - (message "Chicken !"))) + (message "Chicken!"))) (defun lm-offer-a-draw () "Offer a draw and return t if Human accepted it." - (or (y-or-n-p "I offer you a draw. Do you accept it ") + (or (y-or-n-p "I offer you a draw. Do you accept it? ") (not (setq lm-human-refused-draw t)))) @@ -1523,9 +1523,9 @@ (let (square score) (setq square (lm-point-square)) (cond ((null square) - (error "Your point is not on a square. Retry !")) + (error "Your point is not on a square. Retry!")) ((not (zerop (aref lm-board square))) - (error "Your point is not on a free square. Retry !")) + (error "Your point is not on a free square. Retry!")) (t (progn (lm-plot-square square 1) @@ -1678,7 +1678,7 @@ (if (and (> lm-m max-height) (not (eq lm-m lm-saved-board-height)) ;; Use EQ because SAVED-BOARD-HEIGHT may be nil - (not (y-or-n-p (format "Do you really want %d rows " lm-m)))) + (not (y-or-n-p (format "Do you really want %d rows? " lm-m)))) (setq lm-m max-height))) (if lm-one-moment-please (message "One moment, please..."))
--- a/lisp/play/mpuz.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/play/mpuz.el Sun Sep 25 22:07:01 2005 +0000 @@ -400,7 +400,7 @@ (defun mpuz-offer-abort () "Ask if user wants to abort current puzzle." (interactive) - (if (y-or-n-p "Abort game ") + (if (y-or-n-p "Abort game? ") (let ((buf (mpuz-get-buffer))) (message "Mult Puzzle aborted.") (setq mpuz-in-progress nil @@ -444,7 +444,7 @@ (mpuz-ding t)) (t (mpuz-try-proposal letter-char digit-char)))) - (if (y-or-n-p "Start a new game ") + (if (y-or-n-p "Start a new game? ") (mpuz-start-new-game) (message "OK. I won't.")))) @@ -489,7 +489,7 @@ (t "not serious."))))) (message message) (sit-for 4) - (if (y-or-n-p (concat message " Start a new game ")) + (if (y-or-n-p (concat message " Start a new game? ")) (mpuz-start-new-game) (message "Good Bye!"))))
--- a/lisp/printing.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/printing.el Sun Sep 25 22:07:01 2005 +0000 @@ -5704,7 +5704,7 @@ (defun pr-interactive-n-up (mess) (or (stringp mess) (setq mess "*")) (save-match-data - (let* ((fmt-prompt "%s[%s] N-up printing: (default 1) ") + (let* ((fmt-prompt "%s[%s] N-up printing (default 1): ") (prompt "") (str (pr-f-read-string (format fmt-prompt prompt mess) "1" nil "1")) int)
--- a/lisp/progmodes/cc-mode.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/progmodes/cc-mode.el Sun Sep 25 22:07:01 2005 +0000 @@ -519,6 +519,7 @@ nil nil ,c-identifier-syntax-modifications c-beginning-of-syntax + (font-lock-lines-before . 1) (font-lock-mark-block-function . c-mark-function))) (add-hook 'font-lock-mode-hook 'c-after-font-lock-init nil t))
--- a/lisp/progmodes/compile.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/progmodes/compile.el Sun Sep 25 22:07:01 2005 +0000 @@ -1778,7 +1778,7 @@ marker) (let ((name (expand-file-name (read-file-name - (format "Find this %s in: (default %s) " + (format "Find this %s in (default %s): " compilation-error filename) spec-dir filename t)))) (if (file-directory-p name)
--- a/lisp/progmodes/ebrowse.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/progmodes/ebrowse.el Sun Sep 25 22:07:01 2005 +0000 @@ -1798,7 +1798,7 @@ ;; START will be 0. (when (and (boundp 'ebrowse-debug) (symbol-value 'ebrowse-debug)) - (y-or-n-p (format "start = %d" start)) + (y-or-n-p (format "start = %d? " start)) (y-or-n-p pattern)) (setf found (loop do (goto-char (max (point-min) (- start offset)))
--- a/lisp/progmodes/etags.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/progmodes/etags.el Sun Sep 25 22:07:01 2005 +0000 @@ -284,7 +284,7 @@ When you find a tag with \\[find-tag], the buffer it finds the tag in is given a local value of this variable which is the name of the tags file the tag was in." - (interactive (list (read-file-name "Visit tags table: (default TAGS) " + (interactive (list (read-file-name "Visit tags table (default TAGS): " default-directory (expand-file-name "TAGS" default-directory) @@ -590,7 +590,7 @@ (car list)) ;; Finally, prompt the user for a file name. (expand-file-name - (read-file-name "Visit tags table: (default TAGS) " + (read-file-name "Visit tags table (default TAGS): " default-directory "TAGS" t))))))
--- a/lisp/progmodes/idlw-shell.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/progmodes/idlw-shell.el Sun Sep 25 22:07:01 2005 +0000 @@ -2462,7 +2462,7 @@ (beep) (y-or-n-p (concat "Okay to recompile file " - (idlwave-shell-bp-get bp 'file) " "))) + (idlwave-shell-bp-get bp 'file) "? "))) ;; Recompile (progn ;; Clean up before retrying
--- a/lisp/progmodes/pascal.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/progmodes/pascal.el Sun Sep 25 22:07:01 2005 +0000 @@ -1470,7 +1470,7 @@ default "")) (label (if (not (string= default "")) ;; Do completion with default - (completing-read (concat "Label: (default " default ") ") + (completing-read (concat "Label (default " default "): ") 'pascal-comp-defun nil t "") ;; There is no default value. Complete without it (completing-read "Label: "
--- a/lisp/progmodes/python.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/progmodes/python.el Sun Sep 25 22:07:01 2005 +0000 @@ -1341,9 +1341,9 @@ nil nil symbol)))) (if (equal symbol "") (error "No symbol")) (let* ((func `(lambda () - (comint-redirect-send-command (format "emacs.ehelp(%S)\n" - ,symbol) - "*Help*" nil)))) + (comint-redirect-send-command + (format "emacs.ehelp(%S, globals(), locals())\n" ,symbol) + "*Help*" nil)))) ;; Ensure we have a suitable help buffer. ;; Fixme: Maybe process `Related help topics' a la help xrefs and ;; allow C-c C-f in help buffer.
--- a/lisp/ps-print.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/ps-print.el Sun Sep 25 22:07:01 2005 +0000 @@ -4663,7 +4663,7 @@ (let* ((name (concat (file-name-nondirectory (or (buffer-file-name) (buffer-name))) ".ps")) - (prompt (format "Save PostScript to file: (default %s) " name)) + (prompt (format "Save PostScript to file (default %s): " name)) (res (read-file-name prompt default-directory name nil))) (while (cond ((file-directory-p res) (ding)
--- a/lisp/rect.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/rect.el Sun Sep 25 22:07:01 2005 +0000 @@ -332,7 +332,7 @@ (list (region-beginning) (region-end) - (read-string (format "String rectangle (default `%s'): " + (read-string (format "String rectangle (default %s): " (or (car string-rectangle-history) "")) nil 'string-rectangle-history (car string-rectangle-history))))) @@ -353,7 +353,7 @@ (list (region-beginning) (region-end) - (read-string (format "String insert rectangle (default `%s'): " + (read-string (format "String insert rectangle (default %s): " (or (car string-rectangle-history) "")) nil 'string-rectangle-history (car string-rectangle-history)))))
--- a/lisp/replace.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/replace.el Sun Sep 25 22:07:01 2005 +0000 @@ -907,7 +907,7 @@ (input (read-from-minibuffer (if default - (format "List lines matching regexp (default `%s'): " + (format "List lines matching regexp (default %s): " (query-replace-descr default)) "List lines matching regexp: ") nil
--- a/lisp/ses.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/ses.el Sun Sep 25 22:07:01 2005 +0000 @@ -2560,7 +2560,7 @@ colbool (> needcols 0)) (when (or rowbool colbool) ;;Need to insert. Get confirm - (or (y-or-n-p (format "Yank will insert %s%s%s. Continue " + (or (y-or-n-p (format "Yank will insert %s%s%s. Continue? " (if rowbool (format "%d rows" needrows) "") (if (and rowbool colbool) " and " "") (if colbool (format "%d columns" needcols) "")))
--- a/lisp/shadowfile.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/shadowfile.el Sun Sep 25 22:07:01 2005 +0000 @@ -438,7 +438,7 @@ (sit-for 2)) try-regexp)) ; (username (read-no-blanks-input -; (format "Username [default: %s]: " +; (format "Username (default %s): " ; (shadow-get-user primary)) ; (if old (or (shadow-cluster-username old) "") ; (user-login-name)))) @@ -458,7 +458,7 @@ (name (nth 2 hup)) user site group) (while (setq site (shadow-read-site)) - (setq user (read-string (format "Username [default %s]: " + (setq user (read-string (format "Username (default %s): " (shadow-get-user site))) name (read-string "Filename: " name)) (setq group (cons (shadow-make-fullname site
--- a/lisp/smerge-mode.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/smerge-mode.el Sun Sep 25 22:07:01 2005 +0000 @@ -335,7 +335,17 @@ (defun smerge-remove-props (beg end) (remove-overlays beg end 'smerge 'refine) - (remove-overlays beg end 'smerge 'conflict)) + (remove-overlays beg end 'smerge 'conflict) + ;; Now that we use overlays rather than text-properties, this function + ;; does not cause refontification any more. It can be seen very clearly + ;; in buffers where jit-lock-contextually is not t, in which case deleting + ;; the "<<<<<<< foobar" leading line leaves the rest of the conflict + ;; highlighted as if it were still a valid conflict. Note that in many + ;; important cases (such as the previous example) we're actually called + ;; during font-locking so inhibit-modification-hooks is non-nil, so we + ;; can't just modify the buffer and expect font-lock to be triggered as in: + ;; (put-text-property beg end 'smerge-force-highlighting nil) + (remove-text-properties beg end '(fontified nil))) (defun smerge-popup-context-menu (event) "Pop up the Smerge mode context menu under mouse."
--- a/lisp/subr.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/subr.el Sun Sep 25 22:07:01 2005 +0000 @@ -2862,9 +2862,11 @@ (defvar version-regexp-alist - '(("^a\\(lpha\\)?$" . -3) - ("^b\\(eta\\)?$" . -2) - ("^\\(pre\\|rc\\)$" . -1)) + '(("^[-_+]?a\\(lpha\\)?$" . -3) + ("^[-_+]$" . -3) ; treat "1.2.3-20050920" and "1.2-3" as alpha releases + ("^[-_+]cvs$" . -3) ; treat "1.2.3-CVS" as alpha release + ("^[-_+]?b\\(eta\\)?$" . -2) + ("^[-_+]?\\(pre\\|rc\\)$" . -1)) "*Specify association between non-numeric version part and a priority. This association is used to handle version string like \"1.0pre2\", @@ -2887,6 +2889,9 @@ Where: REGEXP regexp used to match non-numeric part of a version string. + It should begin with a `^' anchor and end with a `$' to + prevent false hits. Letter-case is ignored while matching + REGEXP. PRIORITY negative integer which indicate the non-numeric priority.") @@ -2903,9 +2908,12 @@ SEPARATOR ::= `version-separator' (which see) | `version-regexp-alist' (which see). +The NUMBER part is optional if SEPARATOR is a match for an element +in `version-regexp-alist'. + As an example of valid version syntax: - 1.0pre2 1.0.7.5 22.8beta3 0.9alpha1 + 1.0pre2 1.0.7.5 22.8beta3 0.9alpha1 6.9.30Beta As an example of invalid version syntax: @@ -2928,7 +2936,7 @@ (error "Invalid version string: '%s'" ver)) (save-match-data (let ((i 0) - case-fold-search ; ignore case in matching + (case-fold-search t) ; ignore case in matching lst s al) (while (and (setq s (string-match "[0-9]+" ver i)) (= s i))
--- a/lisp/term/rxvt.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/term/rxvt.el Sun Sep 25 22:07:01 2005 +0000 @@ -33,7 +33,7 @@ ;; a PC-style keyboard these keys correspond to ;; MODIFIER-FUNCTION_KEY, where modifier is S-, C-, C-S-. The ;; code here subsitutes the corresponding defintions in - ;; function-key-map. This substitution is needed because if a key + ;; function-key-map. This substitution is needed because if a key ;; definition if found in function-key-map, there are no further ;; lookups in other keymaps. (substitute-key-definition [f11] [S-f1] function-key-map) @@ -75,12 +75,13 @@ (define-key map "\e[B" [down]) (define-key map "\e[C" [right]) (define-key map "\e[D" [left]) - (define-key map "\e[7~" [home]) (define-key map "\e[2~" [insert]) (define-key map "\e[3~" [delete]) (define-key map "\e[4~" [select]) (define-key map "\e[5~" [prior]) (define-key map "\e[6~" [next]) + (define-key map "\e[7~" [home]) + (define-key map "\e[8~" [end]) (define-key map "\e[11~" [f1]) (define-key map "\e[12~" [f2]) (define-key map "\e[13~" [f3]) @@ -145,8 +146,8 @@ (define-key map "\e[3$" [S-delete]) (define-key map "\e[5$" [S-prior]) (define-key map "\e[6$" [S-next]) + (define-key map "\e[7$" [S-home]) (define-key map "\e[8$" [S-end]) - (define-key map "\e[7$" [S-home]) (define-key map "\e[d" [S-left]) (define-key map "\e[c" [S-right]) (define-key map "\e[a" [S-up]) @@ -175,8 +176,8 @@ ("blue" 4 ( 0 0 205)) ; blue3 ("magenta" 5 (205 0 205)) ; magenta3 ("cyan" 6 ( 0 205 205)) ; cyan3 - ("white" 7 (250 235 215)) ; AntiqueWhite - ("brightblack" 8 ( 64 64 64)) ; gray25 + ("white" 7 (229 229 229)) ; gray90 + ("brightblack" 8 ( 77 77 77)) ; gray30 ("brightred" 9 (255 0 0)) ; red ("brightgreen" 10 ( 0 255 0)) ; green ("brightyellow" 11 (255 255 0)) ; yellow @@ -209,6 +210,67 @@ (setq colors (cdr colors) color (car colors) ncolors (1- ncolors))) + (when (> ncolors 0) + (cond + ((= ncolors 240) ; 256-color rxvt + ;; 216 non-gray colors first + (let ((r 0) (g 0) (b 0)) + (while (> ncolors 24) + ;; This and other formulae taken from 256colres.pl and + ;; 88colres.pl in the xterm distribution. + (tty-color-define (format "color-%d" (- 256 ncolors)) + (- 256 ncolors) + (mapcar 'rxvt-rgb-convert-to-16bit + (list (round (* r 42.5)) + (round (* g 42.5)) + (round (* b 42.5))))) + (setq b (1+ b)) + (if (> b 5) + (setq g (1+ g) + b 0)) + (if (> g 5) + (setq r (1+ r) + g 0)) + (setq ncolors (1- ncolors)))) + ;; Now the 24 gray colors + (while (> ncolors 0) + (setq color (rxvt-rgb-convert-to-16bit (+ 8 (* (- 24 ncolors) 10)))) + (tty-color-define (format "color-%d" (- 256 ncolors)) + (- 256 ncolors) + (list color color color)) + (setq ncolors (1- ncolors)))) + + ((= ncolors 72) ; rxvt-unicode + ;; 64 non-gray colors + (let ((levels '(0 139 205 255)) + (r 0) (g 0) (b 0)) + (while (> ncolors 8) + (tty-color-define (format "color-%d" (- 88 ncolors)) + (- 88 ncolors) + (mapcar 'rxvt-rgb-convert-to-16bit + (list (nth r levels) + (nth g levels) + (nth b levels)))) + (setq b (1+ b)) + (if (> b 3) + (setq g (1+ g) + b 0)) + (if (> g 3) + (setq r (1+ r) + g 0)) + (setq ncolors (1- ncolors)))) + ;; Now the 8 gray colors + (while (> ncolors 0) + (setq color (rxvt-rgb-convert-to-16bit + (floor + (if (= ncolors 8) + 46.36363636 + (+ (* (- 8 ncolors) 23.18181818) 69.54545454))))) + (tty-color-define (format "color-%d" (- 88 ncolors)) + (- 88 ncolors) + (list color color color)) + (setq ncolors (1- ncolors)))) + (t (error "Unsupported number of rxvt colors (%d)" (+ 16 ncolors))))) ;; Modifying color mappings means realized faces don't use the ;; right colors, so clear them. (clear-face-cache))) @@ -236,5 +298,5 @@ (setq default-frame-background-mode 'dark))) (frame-set-background-mode (selected-frame)))) -;;; arch-tag: 20cf2fb6-6318-4bab-9dbf-1d15048f2257 +;; arch-tag: 20cf2fb6-6318-4bab-9dbf-1d15048f2257 ;;; rxvt.el ends here
--- a/lisp/term/xterm.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/term/xterm.el Sun Sep 25 22:07:01 2005 +0000 @@ -34,7 +34,7 @@ (if (and (getenv "COLORTERM") (string-match "\\`rxvt" (getenv "COLORTERM"))) (progn - (eval-when-compile (load "term/rxvt")) + (eval-and-compile (load "term/rxvt")) (terminal-init-rxvt)) ;; The terminal intialization C code file might have initialized
--- a/lisp/terminal.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/terminal.el Sun Sep 25 22:07:01 2005 +0000 @@ -1115,7 +1115,7 @@ (getenv "SHELL") "/bin/sh")) (s (read-string - (format "Run program in emulator: (default %s) " + (format "Run program in emulator (default %s): " default-s)))) (if (equal s "") (list default-s '())
--- a/lisp/textmodes/artist.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/artist.el Sun Sep 25 22:07:01 2005 +0000 @@ -2863,9 +2863,9 @@ "Read any extra arguments for figlet." (interactive) (let* ((avail-fonts (artist-figlet-get-font-list)) - (font (completing-read (concat "Select font: (default " + (font (completing-read (concat "Select font (default " artist-figlet-default-font - ") ") + "): ") (mapcar (lambda (font) (cons font font)) avail-fonts))))
--- a/lisp/textmodes/flyspell.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/flyspell.el Sun Sep 25 22:07:01 2005 +0000 @@ -169,11 +169,12 @@ (defcustom flyspell-incorrect-hook nil "*List of functions to be called when incorrect words are encountered. -Each function is given three arguments: the beginning and the end -of the incorrect region. The third is either the symbol 'doublon' or the list +Each function is given three arguments. The first two +arguments are the beginning and the end of the incorrect region. +The third is either the symbol `doublon' or the list of possible corrections as returned by `ispell-parse-output'. -If any of the functions return non-Nil, the word is not highlighted as +If any of the functions return non-nil, the word is not highlighted as incorrect." :group 'flyspell :version "21.1" @@ -1086,6 +1087,8 @@ word (+ end flyspell-duplicate-distance)))))) + ;; This is a misspelled word which occurs + ;; twice within flyspell-duplicate-distance. (setq flyspell-word-cache-result nil) (if flyspell-highlight-flag (flyspell-highlight-duplicate-region @@ -1559,7 +1562,11 @@ ;* flyspell-highlight-incorrect-region ... */ ;*---------------------------------------------------------------------*/ (defun flyspell-highlight-incorrect-region (beg end poss) - "Set up an overlay on a misspelled word, in the buffer from BEG to END." + "Set up an overlay on a misspelled word, in the buffer from BEG to END. +POSS is usually a list of possible spelling/correction lists, +as returned by `ispell-parse-output'. +It can also be the symbol `doublon', in the case where the word +is itself incorrect, but suspiciously repeated." (let ((inhibit-read-only t)) (unless (run-hook-with-args-until-success 'flyspell-incorrect-hook beg end poss) @@ -1592,8 +1599,9 @@ ;* flyspell-highlight-duplicate-region ... */ ;*---------------------------------------------------------------------*/ (defun flyspell-highlight-duplicate-region (beg end poss) - "Set up an overlay on a duplicated word, in the buffer from BEG to END. -??? What does POSS mean?" + "Set up an overlay on a duplicate misspelled word, in the buffer from BEG to END. +POSS is a list of possible spelling/correction lists, +as returned by `ispell-parse-output'." (let ((inhibit-read-only t)) (unless (run-hook-with-args-until-success 'flyspell-incorrect-hook beg end poss)
--- a/lisp/textmodes/ispell.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/ispell.el Sun Sep 25 22:07:01 2005 +0000 @@ -880,6 +880,16 @@ (defvar ispell-have-aspell-dictionaries nil "Non-nil if we have queried Aspell for dictionaries at least once.") +(defun ispell-maybe-find-aspell-dictionaries () + "Find Aspell's dictionaries, unless already done." + (when (and (not ispell-have-aspell-dictionaries) + (condition-case () + (progn (ispell-check-version) t) + (error nil)) + ispell-really-aspell + ispell-aspell-supports-utf8) + (ispell-find-aspell-dictionaries))) + (defun ispell-find-aspell-dictionaries () "Find Aspell's dictionaries, and record in `ispell-dictionary-alist'." (interactive) @@ -976,13 +986,7 @@ "Returns a list of valid dictionaries. The variable `ispell-library-directory' defines the library location." ;; If Ispell is really Aspell, query it for the dictionary list. - (when (and (not ispell-have-aspell-dictionaries) - (condition-case () - (progn (ispell-check-version) t) - (error nil)) - ispell-really-aspell - ispell-aspell-supports-utf8) - (ispell-find-aspell-dictionaries)) + (ispell-maybe-find-aspell-dictionaries) (let ((dicts (append ispell-local-dictionary-alist ispell-dictionary-alist)) (dict-list (cons "default" nil)) name load-dict) @@ -3543,6 +3547,7 @@ (defun ispell-accept-buffer-local-defs () "Load all buffer-local information, restarting Ispell when necessary." + (ispell-maybe-find-aspell-dictionaries) (ispell-buffer-local-dict) ; May kill ispell-process. (ispell-buffer-local-words) ; Will initialize ispell-process. (ispell-buffer-local-parsing))
--- a/lisp/textmodes/org.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/org.el Sun Sep 25 22:07:01 2005 +0000 @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik <dominik at science dot uva dot nl> ;; Keywords: outlines, hypermedia, calendar ;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/ -;; Version: 3.15 +;; Version: 3.16 ;; ;; This file is part of GNU Emacs. ;; @@ -21,8 +21,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;; Commentary: @@ -80,6 +80,17 @@ ;; ;; Changes: ;; ------- +;; Version 3.16 +;; - In tables, directly after the field motion commands like TAB and RET, +;; typing a character will blank the field. Can be turned off with +;; variable `org-table-auto-blank-field'. +;; - Inactive timestamps with `C-c !'. These do not trigger the agenda +;; and are not linked to the calendar. +;; - Additional key bindings to allow Org-mode to function on a tty emacs. +;; - `C-c C-h' prefix key replaced by `C-c C-x', and `C-c C-x C-h' replaced +;; by `C-c C-x b' (b=Browser). This was necessary to recover the +;; standard meaning of C-h after a prefix key (show prefix bindings). +;; ;; Version 3.15 ;; - QUOTE keyword at the beginning of an entry causes fixed-width export ;; of unmodified entry text. `C-c :' toggles this keyword. @@ -199,7 +210,7 @@ ;;; Customization variables -(defvar org-version "3.15" +(defvar org-version "3.16" "The version number of the file org.el.") (defun org-version () (interactive) @@ -843,6 +854,13 @@ :group 'org-structure :type 'hook) +(defcustom org-level-color-stars-only nil + "Non-nil means fontify only the stars in each headline. +When nil, the entire headline is fontified. +After changin this, requires restart of Emacs to become effective." + :group 'org-structure + :type 'boolean) + (defcustom org-adapt-indentation t "Non-nil means, adapt indentation when promoting and demoting. When this is set and the *entire* text in an entry is indented, the @@ -852,6 +870,14 @@ :group 'org-structure :type 'boolean) +(defcustom org-enable-fixed-width-editor t + "Non-nil means, lines starting with \":\" are treated as fixed-width. +This currently only means, they are never auto-wrapped. +When nil, such lines will be treated like ordinary lines. +See also the QUOTE keyword." + :group 'org-structure + :type 'boolean) + (defcustom org-cycle-emulate-tab t "Where should `org-cycle' emulate TAB. nil Never @@ -1155,24 +1181,34 @@ field does not exceed the column width. - Minimize the number of realigns. Normally, the table is aligned each time TAB or RET are pressed to move to another field. With optimization this - happens only if changes to a field might have changed the column width. + happens only if changes to a field might have changed the column width. Optimization requires replacing the functions `self-insert-command', `delete-char', and `backward-delete-char' in Org-mode buffers, with a slight (in fact: unnoticeable) speed impact for normal typing. Org-mode is very good at guessing when a re-align will be necessary, but you can always -force one with `C-c C-c'. +force one with \\[org-ctrl-c-ctrl-c]. If you would like to use the optimized version in Org-mode, but the un-optimized version in OrgTbl-mode, see the variable `orgtbl-optimized'. This variable can be used to turn on and off the table editor during a session, -but in order to toggle optimization, a restart is required." +but in order to toggle optimization, a restart is required. + +See also the variable `org-table-auto-blank-field'." :group 'org-table :type '(choice (const :tag "off" nil) (const :tag "on" t) (const :tag "on, optimized" optimized))) +(defcustom org-table-auto-blank-field t + "Non-nil means, automatically blank table field when starting to type into it. +This only happens when typing immediately after a field motion +command (TAB, S-TAB or RET). +Only relevant when `org-enable-table-editor' is equal to `optimized'." + :group 'org-table + :type 'boolean) + (defcustom org-table-default-size "5x2" "The default size for newly created tables, Columns x Rows." :group 'org-table @@ -1248,14 +1284,6 @@ :group 'org-table :type 'boolean) -;; FIXME: Should this one be in another group? Which one? -(defcustom org-enable-fixed-width-editor t - "Non-nil means, lines starting with \":\" are treated as fixed-width. -This currently only means, they are never auto-wrapped. -When nil, such lines will be treated like ordinary lines." - :group 'org-table - :type 'boolean) - (defgroup org-table-calculation nil "Options concerning tables in Org-mode." :tag "Org Table Calculation" @@ -1978,17 +2006,19 @@ (append (if org-noutline-p ; FIXME: I am not sure if eval will work ; on XEmacs if noutline is ever ported - '((eval . (list "^\\(\\*+\\).*" - 0 '(nth + `((eval . (list "^\\(\\*+\\).*" + ,(if org-level-color-stars-only 1 0) + '(nth ;; FIXME: 1<->0 ???? (% (- (match-end 1) (match-beginning 1) 1) org-n-levels) org-level-faces) nil t))) - '(("^\\(\\(\\*+\\)[^\r\n]*\\)[\n\r]" - (1 (nth (% (- (match-end 2) (match-beginning 2) 1) - org-n-levels) - org-level-faces) - nil t)))) + `(("^\\(\\(\\*+\\)[^\r\n]*\\)[\n\r]" + (,(if org-level-color-stars-only 2 0) + (nth (% (- (match-end 2) (match-beginning 2) 1) + org-n-levels) + org-level-faces) + nil t)))) org-font-lock-extra-keywords)) (set (make-local-variable 'font-lock-defaults) '(org-font-lock-keywords t nil nil backward-paragraph)) @@ -2806,7 +2836,7 @@ (insert " ")) (if (and (equal type :opt) (assoc completion table)) (message "%s" (substitute-command-keys - "Press \\[org-complete] again to insert example settings")))) + "Press \\[org-complete] again to insert example settings")))) (t (message "Making completion list...") (let ((list (sort (all-completions pattern table) 'string<))) @@ -2913,7 +2943,7 @@ (format-time-string (car org-time-stamp-formats) (org-read-date nil 'to-time))) (message "%s" (substitute-command-keys - "Use \\[org-timestamp-up-day] and \\[org-timestamp-down-day] to change the date."))) + "Use \\[org-timestamp-up-day] and \\[org-timestamp-down-day] to change the date."))) (defun org-schedule () "Insert the SCHEDULED: string to schedule a TODO item. @@ -2925,7 +2955,7 @@ (format-time-string (car org-time-stamp-formats) (org-read-date nil 'to-time))) (message "%s" (substitute-command-keys - "Use \\[org-timestamp-up-day] and \\[org-timestamp-down-day] to change the date."))) + "Use \\[org-timestamp-up-day] and \\[org-timestamp-down-day] to change the date."))) (defun org-occur (regexp &optional callback) @@ -3077,6 +3107,21 @@ (if org-time-was-given (setq fmt (cdr org-time-stamp-formats))) (insert (format-time-string fmt time)))))) +(defun org-time-stamp-inactive (&optional arg) + "Insert an inactive time stamp. +An inactive time stamp is enclosed in square brackets instead of angle +brackets. It is inactive in the sense that it does not trigger agenda entries, +does not link to the calendar and cannot be changed with the S-cursor keys." + (interactive "P") + (let ((fmt (if arg (cdr org-time-stamp-formats) + (car org-time-stamp-formats))) + (org-time-was-given nil) + time) + (setq time (org-read-date arg 'totime)) + (if org-time-was-given (setq fmt (cdr org-time-stamp-formats))) + (setq fmt (concat "[" (substring fmt 1 -1) "]")) + (insert (format-time-string fmt time)))) + ;;; FIXME: Make the function take "Fri" as "next friday" (defun org-read-date (&optional with-time to-time) "Read a date and make things smooth for the user. @@ -3539,6 +3584,8 @@ (define-key org-agenda-mode-map "w" 'org-agenda-week-view) (define-key org-agenda-mode-map (org-key 'S-right) 'org-agenda-date-later) (define-key org-agenda-mode-map (org-key 'S-left) 'org-agenda-date-earlier) +(define-key org-agenda-mode-map [?\C-c ?\C-x (right)] 'org-agenda-date-later) +(define-key org-agenda-mode-map [?\C-c ?\C-x (left)] 'org-agenda-date-earlier) (define-key org-agenda-mode-map ">" 'org-agenda-date-prompt) (let ((l '(1 2 3 4 5 6 7 8 9 0))) @@ -3574,6 +3621,8 @@ (define-key org-agenda-mode-map "-" 'org-agenda-priority-down) (define-key org-agenda-mode-map (org-key 'S-up) 'org-agenda-priority-up) (define-key org-agenda-mode-map (org-key 'S-down) 'org-agenda-priority-down) +(define-key org-agenda-mode-map [?\C-c ?\C-x (up)] 'org-agenda-priority-up) +(define-key org-agenda-mode-map [?\C-c ?\C-x (down)] 'org-agenda-priority-down) (define-key org-agenda-mode-map [(right)] 'org-agenda-later) (define-key org-agenda-mode-map [(left)] 'org-agenda-earlier) @@ -6321,7 +6370,8 @@ (defun org-table-check-inside-data-field () "Is point inside a table data field? -I.e. not on a hline or before the first or after the last column?" +I.e. not on a hline or before the first or after the last column? +This actually throws an error, so it aborts the current command." (if (or (not (org-at-table-p)) (= (org-table-current-column) 0) (org-at-table-hline-p) @@ -7014,13 +7064,10 @@ (format "%d:%02d:%02d" h m s)))) (kill-new sres) (if (interactive-p) - (message "%s" - (concat - (format "Sum of %d items: %-20s " (length numbers) sres) - (substitute-command-keys - "(\\[yank] will insert result into buffer)") - )) - ) + (message "s" + (substitute-command-keys + (format "Sum of %d items: %-20s (\\[yank] will insert result into buffer)" + (length numbers) sres)))) sres)))) (defun org-table-get-number-for-summing (s) @@ -7126,7 +7173,7 @@ (stored-list (org-table-get-stored-formulas)) (stored (cdr (assoc scol stored-list))) (eq (cond - ((and stored equation (string-match "^ *= *$" equation)) + ((and stored equation (string-match "^ *=? *$" equation)) stored) ((stringp equation) equation) @@ -7294,7 +7341,7 @@ (when org-table-formula-evaluate-inline (let* ((field (org-trim (or (org-table-get-field) ""))) named eq) - (when (string-match "^:?=\\(.+\\)" field) + (when (string-match "^:?=\\(.*\\)" field) (setq named (equal (string-to-char field) ?:) eq (match-string 1 field)) (if (fboundp 'calc-eval) @@ -7916,8 +7963,7 @@ '("\C-c\M-w" org-table-copy-region) '("\C-c\C-y" org-table-paste-rectangle) '("\C-c-" org-table-insert-hline) - '([(shift tab)] org-table-previous-field) - '("\C-c\C-c" org-ctrl-c-ctrl-c) +; '([(shift tab)] org-table-previous-field) '("\C-m" org-table-next-row) (list (org-key 'S-return) 'org-table-copy-down) '([(meta return)] org-table-wrap-region) @@ -7946,16 +7992,18 @@ (orgtbl-make-binding 'orgtbl-tab 102 [(tab)] "\C-i")) (define-key orgtbl-mode-map "\C-i" (orgtbl-make-binding 'orgtbl-tab 103 "\C-i" [(tab)]))) + (define-key orgtbl-mode-map "\C-i" + (orgtbl-make-binding 'orgtbl-tab 104 [(shift tab)])) + (define-key orgtbl-mode-map "\C-c\C-c" + (orgtbl-make-binding 'org-ctrl-c-ctrl-c 105 "\C-c\C-c")) (when orgtbl-optimized ;; If the user wants maximum table support, we need to hijack ;; some standard editing functions - (substitute-key-definition 'self-insert-command 'orgtbl-self-insert-command - orgtbl-mode-map global-map) - (substitute-key-definition 'delete-char 'orgtbl-delete-char - orgtbl-mode-map global-map) - (substitute-key-definition 'delete-backward-char 'orgtbl-delete-backward-char - orgtbl-mode-map global-map) - (define-key org-mode-map "|" 'self-insert-command)) + (org-remap orgtbl-mode-map + 'self-insert-command 'orgtbl-self-insert-command + 'delete-char 'orgtbl-delete-char + 'delete-backward-char 'orgtbl-delete-backward-char) + (define-key orgtbl-mode-map "|" 'org-force-self-insert)) (easy-menu-define orgtbl-mode-menu orgtbl-mode-map "OrgTbl menu" '("OrgTbl" ["Align" org-ctrl-c-ctrl-c :active (org-at-table-p) :keys "C-c C-c"] @@ -7980,9 +8028,9 @@ "--" ["Insert Hline" org-table-insert-hline :active (org-at-table-p) :keys "C-c -"]) ("Rectangle" - ["Copy Rectangle" org-copy-special :active (org-at-table-p) :keys "C-c M-w"] - ["Cut Rectangle" org-cut-special :active (org-at-table-p) :keys "C-c C-w"] - ["Paste Rectangle" org-paste-special :active (org-at-table-p) :keys "C-c C-y"] + ["Copy Rectangle" org-copy-special :active (org-at-table-p) :keys "C-c C-x M-w"] + ["Cut Rectangle" org-cut-special :active (org-at-table-p) :keys "C-c C-x C-w"] + ["Paste Rectangle" org-paste-special :active (org-at-table-p) :keys "C-c C-x C-y"] ["Fill Rectangle" org-table-wrap-region :active (org-at-table-p) :keys "C-c C-q"]) "--" ["Set Column Formula" org-table-eval-formula :active (org-at-table-p) :keys "C-c ="] @@ -8018,6 +8066,17 @@ overwritten, and the table is not marked as requiring realignment." (interactive "p") (if (and (org-at-table-p) + (or + (and org-table-auto-blank-field + (member last-command + '(orgtbl-hijacker-command-100 + orgtbl-hijacker-command-101 + orgtbl-hijacker-command-102 + orgtbl-hijacker-command-103 + orgtbl-hijacker-command-104 + orgtbl-hijacker-command-105)) + (org-table-blank-field)) + t) (eq N 1) (looking-at "[^|\n]* +|")) (let (org-table-may-need-update) @@ -8029,6 +8088,11 @@ (let (orgtbl-mode) (call-interactively (key-binding (vector last-input-event)))))) +(defun org-force-self-insert (N) + "Needed to enforce self-insert under remapping." + (interactive "p") + (self-insert-command N)) + (defun orgtbl-delete-backward-char (N) "Like `delete-backward-char', insert whitespace at field end in tables. When deleting backwards, in tables this function will insert whitespace in @@ -9344,23 +9408,55 @@ ;; i k @ expendable from outline-mode ;; 0123456789 ! %^& ()_{} " `' free -(define-key org-mode-map "\C-i" 'org-cycle) +;; TAB key with modifiers +(define-key org-mode-map "\C-i" 'org-cycle) (define-key org-mode-map [(meta tab)] 'org-complete) -(define-key org-mode-map "\M-\C-i" 'org-complete) -(define-key org-mode-map [(meta shift left)] 'org-shiftmetaleft) -(define-key org-mode-map [(meta left)] 'org-metaleft) -(define-key org-mode-map [(meta shift right)] 'org-shiftmetaright) -(define-key org-mode-map [(meta shift up)] 'org-shiftmetaup) -(define-key org-mode-map [(meta shift down)] 'org-shiftmetadown) +(define-key org-mode-map "\M-\C-i" 'org-complete) ; for tty emacs +;; The following line is necessary under Suse GNU/Linux +(unless org-xemacs-p + (define-key org-mode-map [S-iso-lefttab] 'org-shifttab)) +(define-key org-mode-map [(shift tab)] 'org-shifttab) + +(define-key org-mode-map (org-key 'S-return) 'org-table-copy-down) +(define-key org-mode-map "\C-c\C-xc" 'org-table-copy-down) ; tty +(define-key org-mode-map [(meta shift return)] 'org-insert-todo-heading) +(define-key org-mode-map "\C-c\C-xM" 'org-insert-todo-heading) ; tty +(define-key org-mode-map [(meta return)] 'org-meta-return) +(define-key org-mode-map "\C-c\C-xm" 'org-meta-return) ; tty emacs +(define-key org-mode-map [?\e (return)] 'org-meta-return) ; tty emacs + +;; Cursor keys with modifiers +(define-key org-mode-map [(meta left)] 'org-metaleft) +(define-key org-mode-map [?\e (left)] 'org-metaleft) ; for tty emacs +(define-key org-mode-map "\C-c\C-xl" 'org-metaleft) ; for tty emacs (define-key org-mode-map [(meta right)] 'org-metaright) -(define-key org-mode-map [(meta up)] 'org-metaup) -(define-key org-mode-map [(meta down)] 'org-metadown) -;(define-key org-mode-map "\C-c\C-h\C-w" 'org-cut-subtree) -;(define-key org-mode-map "\C-c\C-h\M-w" 'org-copy-subtree) -;(define-key org-mode-map "\C-c\C-h\C-y" 'org-paste-subtree) -(define-key org-mode-map "\C-c\C-h\C-w" 'org-cut-special) -(define-key org-mode-map "\C-c\C-h\M-w" 'org-copy-special) -(define-key org-mode-map "\C-c\C-h\C-y" 'org-paste-special) +(define-key org-mode-map [?\e (right)] 'org-metaright) ; for tty emacs +(define-key org-mode-map "\C-c\C-xr" 'org-metaright) ; for tty emacs +(define-key org-mode-map [(meta up)] 'org-metaup) +(define-key org-mode-map [?\e (up)] 'org-metaup) ; for tty emacs +(define-key org-mode-map "\C-c\C-xu" 'org-metaup) ; for tty emacs +(define-key org-mode-map [(meta down)] 'org-metadown) +(define-key org-mode-map [?\e (down)] 'org-metadown) ; for tty emacs +(define-key org-mode-map "\C-c\C-xd" 'org-metadown) ; for tty emacs + +(define-key org-mode-map [(meta shift left)] 'org-shiftmetaleft) +(define-key org-mode-map "\C-c\C-xL" 'org-shiftmetaleft) ; tty +(define-key org-mode-map [(meta shift right)] 'org-shiftmetaright) +(define-key org-mode-map "\C-c\C-xR" 'org-shiftmetaright) ; tty +(define-key org-mode-map [(meta shift up)] 'org-shiftmetaup) +(define-key org-mode-map "\C-c\C-xU" 'org-shiftmetaup) ; tty +(define-key org-mode-map [(meta shift down)] 'org-shiftmetadown) +(define-key org-mode-map "\C-c\C-xD" 'org-shiftmetadown) ; tty +(define-key org-mode-map (org-key 'S-up) 'org-shiftup) +(define-key org-mode-map [?\C-c ?\C-x (up)] 'org-shiftup) +(define-key org-mode-map (org-key 'S-down) 'org-shiftdown) +(define-key org-mode-map [?\C-c ?\C-x (down)] 'org-shiftdown) +(define-key org-mode-map (org-key 'S-left) 'org-timestamp-down-day) +(define-key org-mode-map [?\C-c ?\C-x (left)] 'org-timestamp-down-day) +(define-key org-mode-map (org-key 'S-right) 'org-timestamp-up-day) +(define-key org-mode-map [?\C-c ?\C-x (right)] 'org-timestamp-up-day) + +;; All the other keys (define-key org-mode-map "\C-c$" 'org-archive-subtree) (define-key org-mode-map "\C-c\C-j" 'org-goto) (define-key org-mode-map "\C-c\C-t" 'org-todo) @@ -9372,11 +9468,11 @@ (define-key org-mode-map "\C-c/" 'org-occur) ; Minor-mode reserved (define-key org-mode-map "\C-c\C-m" 'org-insert-heading) (define-key org-mode-map "\M-\C-m" 'org-insert-heading) -(define-key org-mode-map [(meta shift return)] 'org-insert-todo-heading) (define-key org-mode-map "\C-c\C-l" 'org-insert-link) (define-key org-mode-map "\C-c\C-o" 'org-open-at-point) (define-key org-mode-map "\C-c\C-z" 'org-time-stamp) ; Alternative binding (define-key org-mode-map "\C-c." 'org-time-stamp) ; Minor-mode reserved +(define-key org-mode-map "\C-c!" 'org-time-stamp-inactive) ; Minor-mode r. (define-key org-mode-map "\C-c," 'org-priority) ; Minor-mode reserved (define-key org-mode-map "\C-c\C-y" 'org-evaluate-time-range) (define-key org-mode-map "\C-c>" 'org-goto-calendar) @@ -9384,19 +9480,9 @@ (define-key org-mode-map "\C-c[" 'org-add-file) (define-key org-mode-map "\C-c]" 'org-remove-file) (define-key org-mode-map "\C-c\C-r" 'org-timeline) -(define-key org-mode-map (org-key 'S-up) 'org-shiftup) -(define-key org-mode-map (org-key 'S-down) 'org-shiftdown) -(define-key org-mode-map (org-key 'S-left) 'org-timestamp-down-day) -(define-key org-mode-map (org-key 'S-right) 'org-timestamp-up-day) (define-key org-mode-map "\C-c-" 'org-table-insert-hline) -;; The following line is necessary for German keyboards under Suse GNU/Linux -(unless org-xemacs-p - (define-key org-mode-map [S-iso-lefttab] 'org-shifttab)) -(define-key org-mode-map [(shift tab)] 'org-shifttab) (define-key org-mode-map "\C-c\C-c" 'org-ctrl-c-ctrl-c) (define-key org-mode-map "\C-m" 'org-return) -(define-key org-mode-map (org-key 'S-return) 'org-table-copy-down) -(define-key org-mode-map [(meta return)] 'org-meta-return) (define-key org-mode-map "\C-c?" 'org-table-current-column) (define-key org-mode-map "\C-c " 'org-table-blank-field) (define-key org-mode-map "\C-c+" 'org-table-sum) @@ -9411,12 +9497,18 @@ (define-key org-mode-map "\C-c\C-x\C-a" 'org-export-as-ascii) (define-key org-mode-map "\C-c\C-xv" 'org-export-copy-visible) (define-key org-mode-map "\C-c\C-x\C-v" 'org-export-copy-visible) +;; OPML support is only planned ;(define-key org-mode-map "\C-c\C-xo" 'org-export-as-opml) ;(define-key org-mode-map "\C-c\C-x\C-o" 'org-export-as-opml) (define-key org-mode-map "\C-c\C-xt" 'org-insert-export-options-template) (define-key org-mode-map "\C-c:" 'org-toggle-fixed-width-section) (define-key org-mode-map "\C-c\C-xh" 'org-export-as-html) -(define-key org-mode-map "\C-c\C-x\C-h" 'org-export-as-html-and-open) +(define-key org-mode-map "\C-c\C-xb" 'org-export-as-html-and-open) +(define-key org-mode-map "\C-c\C-x\C-b" 'org-export-as-html-and-open) + +(define-key org-mode-map "\C-c\C-x\C-w" 'org-cut-special) +(define-key org-mode-map "\C-c\C-x\M-w" 'org-copy-special) +(define-key org-mode-map "\C-c\C-x\C-y" 'org-paste-special) (defsubst org-table-p () (org-at-table-p)) @@ -9426,6 +9518,12 @@ overwritten, and the table is not marked as requiring realignment." (interactive "p") (if (and (org-table-p) + (or + (and org-table-auto-blank-field + (member last-command + '(org-cycle org-return org-shifttab org-ctrl-c-ctrl-c)) + (org-table-blank-field)) + t) (eq N 1) (looking-at "[^|\n]* +|")) (let (org-table-may-need-update) @@ -9480,30 +9578,42 @@ ;; How to do this: Measure non-white length of current string ;; If equal to column width, we should realign. +(defun org-remap (map &rest commands) + "In MAP, remap the functions given in COMMANDS. +COMMANDS is a list of alternating OLDDEF NEWDEF command names." + (let (new old) + (while commands + (setq old (pop commands) new (pop commands)) + (if (fboundp 'command-remapping) + (define-key map (vector 'remap old) new) + (substitute-key-definition old new map global-map))))) + (when (eq org-enable-table-editor 'optimized) ;; If the user wants maximum table support, we need to hijack ;; some standard editing functions - (substitute-key-definition 'self-insert-command 'org-self-insert-command - org-mode-map global-map) - (substitute-key-definition 'delete-char 'org-delete-char - org-mode-map global-map) - (substitute-key-definition 'delete-backward-char 'org-delete-backward-char - org-mode-map global-map) - (define-key org-mode-map "|" 'self-insert-command)) + (org-remap org-mode-map + 'self-insert-command 'org-self-insert-command + 'delete-char 'org-delete-char + 'delete-backward-char 'org-delete-backward-char) + (define-key org-mode-map "|" 'org-force-self-insert)) (defun org-shiftcursor-error () "Throw an error because Shift-Cursor command was applied in wrong context." (error "This command is only active in tables and on headlines")) (defun org-shifttab () - "Call `(org-cycle t)' or `org-table-previous-field'." + "Global visibility cycling or move to previous table field. +Calls `(org-cycle t)' or `org-table-previous-field', depending on context. +See the individual commands for more information." (interactive) (cond ((org-at-table-p) (org-table-previous-field)) (t (org-cycle '(4))))) (defun org-shiftmetaleft () - "Call `org-promote-subtree' or `org-table-delete-column'." + "Promote subtree or delete table column. +Calls `org-promote-subtree' or `org-table-delete-column', depending on context. +See the individual commands for more information." (interactive) (cond ((org-at-table-p) (org-table-delete-column)) @@ -9511,7 +9621,9 @@ (t (org-shiftcursor-error)))) (defun org-shiftmetaright () - "Call `org-demote-subtree' or `org-table-insert-column'." + "Demote subtree or insert table column. +Calls `org-demote-subtree' or `org-table-insert-column', depending on context. +See the individual commands for more information." (interactive) (cond ((org-at-table-p) (org-table-insert-column)) @@ -9519,14 +9631,18 @@ (t (org-shiftcursor-error)))) (defun org-shiftmetaup (&optional arg) - "Call `org-move-subtree-up' or `org-table-kill-row'." + "Move subtree up or kill table row. +Calls `org-move-subtree-up' or `org-table-kill-row', depending on context. +See the individual commands for more information." (interactive "P") (cond ((org-at-table-p) (org-table-kill-row)) ((org-on-heading-p) (org-move-subtree-up arg)) (t (org-shiftcursor-error)))) (defun org-shiftmetadown (&optional arg) - "Call `org-move-subtree-down' or `org-table-insert-row'." + "Move subtree down or insert table row. +Calls `org-move-subtree-down' or `org-table-insert-row', depending on context. +See the individual commands for more information." (interactive "P") (cond ((org-at-table-p) (org-table-insert-row arg)) @@ -9534,7 +9650,9 @@ (t (org-shiftcursor-error)))) (defun org-metaleft (&optional arg) - "Call `org-do-promote' or `org-table-move-column' to left." + "Promote heading or move table column to left. +Calls `org-do-promote' or `org-table-move-column', depending on context. +See the individual commands for more information." (interactive "P") (cond ((org-at-table-p) (org-table-move-column 'left)) @@ -9542,7 +9660,9 @@ (t (backward-word (prefix-numeric-value arg))))) (defun org-metaright (&optional arg) - "Call `org-do-demote' or `org-table-move-column' to right." + "Demote subtree or move table column to right. +Calls `org-do-demote' or `org-table-move-column', depending on context. +See the individual commands for more information." (interactive "P") (cond ((org-at-table-p) (org-table-move-column nil)) @@ -9550,7 +9670,9 @@ (t (forward-word (prefix-numeric-value arg))))) (defun org-metaup (&optional arg) - "Call `org-move-subtree-up' or `org-table-move-row' up." + "Move subtree up or move table row up. +Calls `org-move-subtree-up' or `org-table-move-row', depending on context. +See the individual commands for more information." (interactive "P") (cond ((org-at-table-p) (org-table-move-row 'up)) @@ -9558,7 +9680,9 @@ (t (org-shiftcursor-error)))) (defun org-metadown (&optional arg) - "Call `org-move-subtree-down' or `org-table-move-row' down." + "Move subtree down or move table row down. +Calls `org-move-subtree-down' or `org-table-move-row', depending on context. +See the individual commands for more information." (interactive "P") (cond ((org-at-table-p) (org-table-move-row nil)) @@ -9566,33 +9690,43 @@ (t (org-shiftcursor-error)))) (defun org-shiftup (&optional arg) - "Call `org-timestamp-up' or `org-priority-up'." + "Increase item in timestamp or increase priority of current item. +Calls `org-timestamp-up' or `org-priority-up', depending on context. +See the individual commands for more information." (interactive "P") (cond ((org-at-timestamp-p) (org-timestamp-up arg)) (t (org-priority-up)))) (defun org-shiftdown (&optional arg) - "Call `org-timestamp-down' or `org-priority-down'." + "Decrease item in timestamp or decrease priority of current item. +Calls `org-timestamp-down' or `org-priority-down', depending on context. +See the individual commands for more information." (interactive "P") (cond ((org-at-timestamp-p) (org-timestamp-down arg)) (t (org-priority-down)))) (defun org-copy-special () - "Call either `org-table-copy' or `org-copy-subtree'." + "Copy region in table or copy current subtree. +Calls `org-table-copy' or `org-copy-subtree', depending on context. +See the individual commands for more information." (interactive) (call-interactively (if (org-at-table-p) 'org-table-copy-region 'org-copy-subtree))) (defun org-cut-special () - "Call either `org-table-copy' or `org-cut-subtree'." + "Cut region in table or cut current subtree. +Calls `org-table-copy' or `org-cut-subtree', depending on context. +See the individual commands for more information." (interactive) (call-interactively (if (org-at-table-p) 'org-table-cut-region 'org-cut-subtree))) (defun org-paste-special (arg) - "Call either `org-table-paste-rectangle' or `org-paste-subtree'." + "Paste rectangular region into table, or past subtree relative to level. +Calls `org-table-paste-rectangle' or `org-paste-subtree', depending on context. +See the individual commands for more information." (interactive "P") (if (org-at-table-p) (org-table-paste-rectangle) @@ -9605,7 +9739,8 @@ created with org.el, re-align that table. This command works even if the automatic table editor has been turned off. If the cursor is in one of the special #+KEYWORD lines, this triggers -scanning the buffer for these lines and updating the information." +scanning the buffer for these lines and updating the information. +If the cursor is on a #+TBLFM line, re-apply the formulae to the table." (interactive "P") (let ((org-enable-table-editor t)) (cond @@ -9629,7 +9764,7 @@ (skip-chars-backward " \r\n\t") (if (org-at-table-p) (org-table-recalculate t)))) (t - (let ((org-inhibit-startup t)) (org-mode))))) + (org-mode-restart)))) ((org-region-active-p) (org-table-convert-region (region-beginning) (region-end) arg)) ((and (region-beginning) (region-end)) @@ -9638,8 +9773,17 @@ (error "Abort"))) (t (error "No table at point, and no region to make one"))))) +(defun org-mode-restart () + "Restart Org-mode, to scan again for special lines. +Also updates the keyword regular expressions." + (interactive) + (let ((org-inhibit-startup t)) (org-mode)) + (message "Org-mode restarted to refresh keyword and special line setup")) + (defun org-return () - "Call `org-table-next-row' or `newline'." + "Goto next table row or insert a newline. +Calls `org-table-next-row' or `newline', depending on context. +See the individual commands for more information." (interactive) (cond ((org-at-table-p) @@ -9648,7 +9792,9 @@ (t (newline)))) (defun org-meta-return (&optional arg) - "Call `org-insert-heading' or `org-table-wrap-region'." + "Insert a new heading or wrap a region in a table. +Calls `org-insert-heading' or `org-table-wrap-region', depending on context. +See the individual commands for more information." (interactive "P") (cond ((org-at-table-p) @@ -9716,6 +9862,7 @@ (easy-menu-define org-org-menu org-mode-map "Org menu" '("Org" ["Cycle Visibility" org-cycle (or (bobp) (outline-on-heading-p))] + ["Cycle Global Visibility" org-shifttab (not (org-at-table-p))] ["Sparse Tree" org-occur t] ["Show All" show-all t] "--" @@ -9752,6 +9899,7 @@ ["Priority Down" org-shiftdown t]) ("Dates and Scheduling" ["Timestamp" org-time-stamp t] + ["Timestamp (inactive)" org-time-stamp-inactive t] ("Change Date" ["1 Day Later" org-timestamp-up-day t] ["1 Day Earlier" org-timestamp-down-day t] @@ -9795,6 +9943,8 @@ "--" ["Build Full Customize Menu" org-create-customize-menu (fboundp 'customize-menu-create)]) + "--" + ["Refresh setup" org-mode-restart t] )) (defun org-info (&optional node)
--- a/lisp/textmodes/refer.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/refer.el Sun Sep 25 22:07:01 2005 +0000 @@ -339,7 +339,7 @@ (list (expand-file-name (if (eq major-mode 'bibtex-mode) (read-file-name - (format ".bib file: (default %s) " + (format ".bib file (default %s): " (file-name-nondirectory (buffer-file-name))) (file-name-directory (buffer-file-name))
--- a/lisp/textmodes/reftex-auc.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/reftex-auc.el Sun Sep 25 22:07:01 2005 +0000 @@ -19,8 +19,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: @@ -67,8 +67,8 @@ (setq items (list (or (reftex-citation t) "")))) (t (setq prompt (concat (if optional "(Optional) " "") - (if prompt prompt "Add key") - ": (default none) ")) + (if prompt prompt "Add key") + " (default none): ")) (setq items (multi-prompt "," t prompt (LaTeX-bibitem-list))))) (apply 'LaTeX-add-bibitems items) (TeX-argument-insert (mapconcat 'identity items ",") optional))) @@ -79,8 +79,8 @@ This is the name of an index, not the entry." (let (tag taglist) (setq prompt (concat (if optional "(Optional) " "") - (if prompt prompt "Index tag") - ": (default none) ")) + (if prompt prompt "Index tag") + " (default none): ")) (if (and reftex-support-index (reftex-plug-flag 4)) ;; Use RefTeX completion (progn
--- a/lisp/textmodes/reftex-cite.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/reftex-cite.el Sun Sep 25 22:07:01 2005 +0000 @@ -19,8 +19,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary:
--- a/lisp/textmodes/reftex-dcr.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/reftex-dcr.el Sun Sep 25 22:07:01 2005 +0000 @@ -20,8 +20,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary:
--- a/lisp/textmodes/reftex-global.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/reftex-global.el Sun Sep 25 22:07:01 2005 +0000 @@ -19,8 +19,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary:
--- a/lisp/textmodes/reftex-index.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/reftex-index.el Sun Sep 25 22:07:01 2005 +0000 @@ -19,8 +19,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: @@ -166,13 +166,20 @@ ;; OPT-ARGS is a list of optional argument indices, as given by ;; `reftex-parse-args'. (let* ((opt (and (integerp itag) (member itag opt-args))) - (index-tags (cdr (assq 'index-tags - (symbol-value reftex-docstruct-symbol)))) - (default (reftex-default-index)) - (prompt (concat "Index tag" - (if default (format " (default: %s)" default) "") - (if opt " (optional)" "") ": ")) - (tag (completing-read prompt (mapcar 'list index-tags)))) + (index-tags (cdr (assq 'index-tags + (symbol-value reftex-docstruct-symbol)))) + (default (reftex-default-index)) + (prompt (concat "Index tag" + (if (or opt default) + (format " (%s): " + (concat + (if opt "optional" "") + (if default + (concat (if opt ", " "") + (format "default %s" default)) + ""))) + ": "))) + (tag (completing-read prompt (mapcar 'list index-tags)))) (if (and default (equal tag "")) (setq tag default)) (reftex-update-default-index tag) tag)) @@ -1232,7 +1239,7 @@ (beginning-of-line 2)) (cond ((fboundp 'zmacs-activate-region) (zmacs-activate-region)) ((boundp 'make-active) (setq mark-active t))) - (if (yes-or-no-p "Delete and rebuilt header ") + (if (yes-or-no-p "Delete and rebuild header? ") (delete-region (point-min) (point)))) ;; Insert the mode line
--- a/lisp/textmodes/reftex-parse.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/reftex-parse.el Sun Sep 25 22:07:01 2005 +0000 @@ -20,8 +20,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary:
--- a/lisp/textmodes/reftex-ref.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/reftex-ref.el Sun Sep 25 22:07:01 2005 +0000 @@ -19,8 +19,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary:
--- a/lisp/textmodes/reftex-sel.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/reftex-sel.el Sun Sep 25 22:07:01 2005 +0000 @@ -19,8 +19,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary:
--- a/lisp/textmodes/reftex-toc.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/reftex-toc.el Sun Sep 25 22:07:01 2005 +0000 @@ -19,8 +19,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary:
--- a/lisp/textmodes/reftex-vars.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/reftex-vars.el Sun Sep 25 22:07:01 2005 +0000 @@ -19,8 +19,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary:
--- a/lisp/textmodes/reftex.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/reftex.el Sun Sep 25 22:07:01 2005 +0000 @@ -20,8 +20,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;--------------------------------------------------------------------------- ;;
--- a/lisp/textmodes/tex-mode.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/textmodes/tex-mode.el Sun Sep 25 22:07:01 2005 +0000 @@ -472,7 +472,7 @@ (arg "{\\(\\(?:[^{}\\]+\\|\\\\.\\|{[^}]*}\\)+\\)")) (list ;; font-lock-syntactic-keywords causes the \ of \end{verbatim} to be - ;; highlighted as tex-verbatim-face. Let's undo that. + ;; highlighted as tex-verbatim face. Let's undo that. ;; This is ugly and brittle :-( --Stef '("^\\(\\\\\\)end" (1 (get-text-property (match-end 1) 'face) t)) ;; display $$ math $$ @@ -509,7 +509,7 @@ (defun tex-font-lock-append-prop (prop) (unless (memq (get-text-property (match-end 1) 'face) - '(font-lock-comment-face tex-verbatim-face)) + '(font-lock-comment-face tex-verbatim)) prop)) (defconst tex-font-lock-keywords-2 @@ -583,7 +583,7 @@ (defun tex-font-lock-suscript (pos) (unless (or (memq (get-text-property pos 'face) '(font-lock-constant-face font-lock-builtin-face - font-lock-comment-face tex-verbatim-face)) + font-lock-comment-face tex-verbatim)) ;; Check for backslash quoting (let ((odd nil) (pos pos)) @@ -1109,7 +1109,7 @@ inserts \" characters." (interactive "*P") (if (or arg (memq (char-syntax (preceding-char)) '(?/ ?\\)) - (eq (get-text-property (point) 'face) tex-verbatim-face) + (eq (get-text-property (point) 'face) tex-verbatim) (save-excursion (backward-char (length tex-open-quote)) (when (or (looking-at (regexp-quote tex-open-quote)) @@ -2341,7 +2341,7 @@ (defun latex-indent (&optional arg) (if (and (eq (get-text-property (line-beginning-position) 'face) - tex-verbatim-face)) + tex-verbatim)) 'noindent (with-syntax-table tex-latex-indent-syntax-table ;; TODO: Rather than ignore $, we should try to be more clever about it.
--- a/lisp/tree-widget.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/tree-widget.el Sun Sep 25 22:07:01 2005 +0000 @@ -651,7 +651,9 @@ (widget-put tree :node (widget-convert node)) ;; Create the icon widget for the expanded tree. (push (widget-create-child-and-convert - tree (widget-get tree (if args :open-icon :empty-icon))) + tree (widget-get tree (if args :open-icon :empty-icon)) + ;; Pass the node widget to child. + :node (widget-get tree :node)) buttons) ;; Create the tree node widget. (push (widget-create-child tree (widget-get tree :node)) @@ -701,7 +703,9 @@ (widget-put tree :node (widget-convert node)) ;; Create the icon widget for the collapsed tree. (push (widget-create-child-and-convert - tree (widget-get tree :close-icon)) + tree (widget-get tree :close-icon) + ;; Pass the node widget to child. + :node (widget-get tree :node)) buttons) ;; Create the tree node widget. (push (widget-create-child tree (widget-get tree :node))
--- a/lisp/vc-mcvs.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/vc-mcvs.el Sun Sep 25 22:07:01 2005 +0000 @@ -225,7 +225,7 @@ ;; Make sure the `mcvs add' will not fire up the CVSEDITOR ;; to add a rule for the given file's extension. (when (and ext (not (assoc ext types))) - (let ((type (completing-read "Type to use [default]: " + (let ((type (completing-read "Type to use (default): " '("default" "name-only" "keep-old" "binary" "value-only") nil t nil nil "default")))
--- a/lisp/vc.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/vc.el Sun Sep 25 22:07:01 2005 +0000 @@ -1707,7 +1707,7 @@ (interactive (let ((file (expand-file-name (read-file-name (if buffer-file-name - "File or dir to diff: (default visited file) " + "File or dir to diff (default visited file): " "File or dir to diff: ") default-directory buffer-file-name t))) (rev1-default nil) (rev2-default nil)) @@ -1728,14 +1728,14 @@ ;; construct argument list (list file (read-string (if rev1-default - (concat "Older version: (default " - rev1-default ") ") + (concat "Older version (default " + rev1-default "): ") "Older version: ") nil nil rev1-default) (read-string (if rev2-default - (concat "Newer version: (default " - rev2-default ") ") - "Newer version (default: current source): ") + (concat "Newer version (default " + rev2-default "): ") + "Newer version (default current source): ") nil nil rev2-default)))) (if (file-directory-p file) ;; recursive directory diff @@ -1998,7 +1998,7 @@ (error "Merge aborted")))) (setq first-version (read-string (concat "Branch or version to merge from " - "(default: news on current branch): "))) + "(default news on current branch): "))) (if (string= first-version "") (if (not (vc-find-backend-function backend 'merge-news)) (error "Sorry, merging news is not implemented for %s" backend) @@ -2727,7 +2727,7 @@ (error "Deleting files under %s is not supported in VC" backend)) (if (and buf (buffer-modified-p buf)) (error "Please save files before deleting them")) - (unless (y-or-n-p (format "Really want to delete %s ? " + (unless (y-or-n-p (format "Really want to delete %s? " (file-name-nondirectory file))) (error "Abort!")) (unless (or (file-directory-p file) (null make-backup-files)) @@ -3080,7 +3080,7 @@ (bfn buffer-file-name) (vc-annotate-version (if prefix (read-string - (format "Annotate from version: (default %s) " rev) + (format "Annotate from version (default %s): " rev) nil nil rev) rev))) (if display-mode @@ -3088,7 +3088,7 @@ (if prefix (setq vc-annotate-display-mode (float (string-to-number - (read-string "Annotate span days: (default 20) " + (read-string "Annotate span days (default 20): " nil nil "20")))))) (setq temp-buffer-name (format "*Annotate %s (rev %s)*" (buffer-name) vc-annotate-version))
--- a/lisp/w32-fns.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/w32-fns.el Sun Sep 25 22:07:01 2005 +0000 @@ -283,7 +283,7 @@ (interactive (list (let ((default locale-coding-system)) (read-coding-system - (format "Coding system for system calls (default, %s): " + (format "Coding system for system calls (default %s): " default) default)))) (check-coding-system coding-system)
--- a/lisp/wid-edit.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/wid-edit.el Sun Sep 25 22:07:01 2005 +0000 @@ -3055,7 +3055,7 @@ (abbreviate-file-name (if unbound (read-file-name prompt) - (let ((prompt2 (format "%s (default %s) " prompt value)) + (let ((prompt2 (format "%s (default %s): " prompt value)) (dir (file-name-directory value)) (file (file-name-nondirectory value)) (must-match (widget-get widget :must-match))) @@ -3068,7 +3068,7 @@ ;;; (file (file-name-nondirectory value)) ;;; (menu-tag (widget-apply widget :menu-tag-get)) ;;; (must-match (widget-get widget :must-match)) -;;; (answer (read-file-name (concat menu-tag ": (default `" value "') ") +;;; (answer (read-file-name (concat menu-tag " (default " value "): ") ;;; dir nil must-match file))) ;;; (widget-value-set widget (abbreviate-file-name answer)) ;;; (widget-setup) @@ -3169,10 +3169,10 @@ "Read coding-system from minibuffer." (if (widget-get widget :base-only) (intern - (completing-read (format "%s (default %s) " prompt value) + (completing-read (format "%s (default %s): " prompt value) (mapcar #'list (coding-system-list t)) nil nil nil coding-system-history)) - (read-coding-system (format "%s (default %s) " prompt value) value))) + (read-coding-system (format "%s (default %s): " prompt value) value))) (defun widget-coding-system-action (widget &optional event) (let ((answer
--- a/lisp/woman.el Fri Sep 23 07:06:33 2005 +0000 +++ b/lisp/woman.el Sun Sep 25 22:07:01 2005 +0000 @@ -1229,7 +1229,7 @@ word-at-point))) (completing-read (if default - (format "Manual entry [default: %s]: " default) + (format "Manual entry (default %s): " default) "Manual entry: ") woman-topic-all-completions nil 1 nil
--- a/lispintro/.cvsignore Fri Sep 23 07:06:33 2005 +0000 +++ b/lispintro/.cvsignore Sun Sep 25 22:07:01 2005 +0000 @@ -18,3 +18,4 @@ *.tmp *.txt Makefile +makefile
--- a/lispref/.cvsignore Fri Sep 23 07:06:33 2005 +0000 +++ b/lispref/.cvsignore Sun Sep 25 22:07:01 2005 +0000 @@ -6,6 +6,7 @@ config.cache config.status Makefile +makefile index.texi elisp elisp-?
--- a/lwlib/ChangeLog Fri Sep 23 07:06:33 2005 +0000 +++ b/lwlib/ChangeLog Sun Sep 25 22:07:01 2005 +0000 @@ -1,3 +1,8 @@ +2005-09-24 Dan Nicolaescu <dann@ics.uci.edu> + + * xlwmenu.c: Fix the return type for x_clear_errors and + x_uncatch_errors. + 2005-07-19 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> * lwlib-Xm.c (make_menu_in_widget): Disable drag and drop for
--- a/lwlib/xlwmenu.c Fri Sep 23 07:06:33 2005 +0000 +++ b/lwlib/xlwmenu.c Sun Sep 25 22:07:01 2005 +0000 @@ -59,9 +59,9 @@ unsigned long *, double, int)); extern int x_catch_errors __P ((Display*)); -extern int x_uncatch_errors __P ((Display*, int)); +extern void x_uncatch_errors P_ ((Display *, int)); extern int x_had_errors_p __P ((Display*)); -extern int x_clear_errors __P ((Display*)); +extern void x_clear_errors __P ((Display*)); extern unsigned long x_copy_dpy_color __P ((Display *, Colormap, unsigned long));
--- a/mac/ChangeLog Fri Sep 23 07:06:33 2005 +0000 +++ b/mac/ChangeLog Sun Sep 25 22:07:01 2005 +0000 @@ -1,3 +1,11 @@ +2005-09-24 Eli Zaretskii <eliz@gnu.org> + + * INSTALL (NOTES): Update the list of versions of MacOS on which + Emacs should build. + + * README: Remove a link to ftp://ftp.gnu.org/gnu/mac/emacs/ (which + does not exist). + 2005-09-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> * inc/config.h: Sync with src/config.in.
--- a/mac/INSTALL Fri Sep 23 07:06:33 2005 +0000 +++ b/mac/INSTALL Sun Sep 25 22:07:01 2005 +0000 @@ -206,7 +206,7 @@ * NOTES -Emacs should build and run on a PowerMac running Mac OS 8.6 - 10.3. +Emacs should build and run on a PowerMac running Mac OS 8.6 - 10.4. You will need around 100 MB of disk space for the source files and intermediate files.
--- a/mac/README Fri Sep 23 07:06:33 2005 +0000 +++ b/mac/README Sun Sep 25 22:07:01 2005 +0000 @@ -36,10 +36,6 @@ the Developer Tools. See the INSTALL file in this directory for instructions on building Emacs. -Binary distributions will be available in - - ftp://ftp.gnu.org/gnu/mac/emacs/ - Read the Mac OS section of the on-line help to find out about how to use Emacs on the Mac.
--- a/man/.cvsignore Fri Sep 23 07:06:33 2005 +0000 +++ b/man/.cvsignore Sun Sep 25 22:07:01 2005 +0000 @@ -19,3 +19,4 @@ *.vr *.vrs Makefile +makefile
--- a/man/ChangeLog Fri Sep 23 07:06:33 2005 +0000 +++ b/man/ChangeLog Sun Sep 25 22:07:01 2005 +0000 @@ -1,3 +1,40 @@ +2005-09-22 Katsumi Yamaoka <yamaoka@jpl.org> + + * gnus.texi (Mail): Fix gnus-confirm-mail-reply-to-news entry. + +2005-09-20 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change) + + * text.texi (Paragraphs): Correction about Paragraph-Indent Text mode. + +2005-09-23 Carsten Dominik <dominik@science.uva.nl> + + * org.texi Version 3.16 + +2005-09-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * emacs.texi (Top): Update submenus from macos.texi. + + * macos.texi: Change `Mac OS 8 or 9' to `Mac OS Classic'. + (Mac OS): Update feature support status. + (Mac Input): List supported input scripts. Remove description + about `mac-keyboard-text-encoding'. Mention mouse button + emulation and related variables. + (Mac International): Mention Central European and Cyrillic + support. Now `keyboard-coding-system' is dynamically changed. + Add description about coding system for selection. Add + description about language environment. + (Mac Environment Variables): Mention + `~/.MacOSX/environment.plist'. Give example of command line + arguments. Add Preferences support. + (Mac Directories): Explicitly state that this node is for Mac OS + Classic only. + (Mac Font Specs): Mention specification for scalable fonts. List + supported charsets. Add preferred way of creating fontsets. Add + description about `mac-allow-anti-aliasing'. + (Mac Functions): Add descriptions about `mac-set-file-creator', + `mac-get-file-creator', `mac-set-file-type', `mac-get-file-type', + and `mac-get-preference'. + 2005-09-19 Miles Bader <miles@gnu.org> * newsticker.texi: Get rid of CVS keywords. @@ -9,13 +46,13 @@ 2005-09-14 Jari Aalto <jari.aalto@cante.net> - * gnus.texi (Advanced Scoring Examples): New exmples to teach how + * gnus.texi (Advanced Scoring Examples): New examples to teach how to drop off non-answered articles. 2005-09-19 Juanma Barranquero <lekktu@gmail.com> - * makefile.w32-in (newsticker.dvi): Fix erroneous use of curly - brackets on macro `srcdir'. + * makefile.w32-in (newsticker.dvi): Use parentheses instead of curly + braces (which are unsupported by NMAKE) for macro `srcdir'. 2005-09-17 Eli Zaretskii <eliz@gnu.org> @@ -2855,8 +2892,8 @@ 2004-02-29 Juanma Barranquero <lektu@terra.es> - * makefile.w32-in (mostlyclean, clean, maintainer-clean): Use - $(DEL) instead of rm, and ignore exit code. + * makefile.w32-in (mostlyclean, clean, maintainer-clean): + Use $(DEL) instead of rm, and ignore exit code. 2004-02-29 Kai Grossjohann <kgrossjo@eu.uu.net>
--- a/man/emacs.texi Fri Sep 23 07:06:33 2005 +0000 +++ b/man/emacs.texi Sun Sep 25 22:07:01 2005 +0000 @@ -877,13 +877,13 @@ * LessTif Resources:: X resources for LessTif and Motif menus. * GTK resources:: Resources for GTK widgets. -Emacs and the Mac OS +Emacs and Mac OS -* Mac Input:: Keyboard input on the Mac. -* Mac International:: International character sets on the Mac. +* Mac Input:: Keyboard and mouse input on Mac. +* Mac International:: International character sets on Mac. * Mac Environment Variables:: Setting environment variables for Emacs. -* Mac Directories:: Volumes and directories on the Mac. -* Mac Font Specs:: Specifying fonts on the Mac. +* Mac Directories:: Volumes and directories on Mac. +* Mac Font Specs:: Specifying fonts on Mac. * Mac Functions:: Mac-specific Lisp functions. MS-DOS and Windows 95/98/NT
--- a/man/gnus.texi Fri Sep 23 07:06:33 2005 +0000 +++ b/man/gnus.texi Sun Sep 25 22:07:01 2005 +0000 @@ -11431,13 +11431,15 @@ @item gnus-confirm-mail-reply-to-news @vindex gnus-confirm-mail-reply-to-news -This can also be a function receiving the group name as the only -parameter which should return non-@code{nil} if a confirmation is -needed, or a regular expression matching group names, where -confirmation is should be asked for. +If non-@code{nil}, Gnus will ask you for a confirmation when you are +about to reply to news articles by mail. If it is @code{nil}, nothing +interferes in what you want to do. This can also be a function +receiving the group name as the only parameter which should return +non-@code{nil} if a confirmation is needed, or a regular expression +matching group names, where confirmation should be asked for. If you find yourself never wanting to reply to mail, but occasionally -press R anyway, this variable might be for you. +press @kbd{R} anyway, this variable might be for you. @item gnus-confirm-treat-mail-like-news @vindex gnus-confirm-treat-mail-like-news
--- a/man/macos.texi Fri Sep 23 07:06:33 2005 +0000 +++ b/man/macos.texi Sun Sep 25 22:07:01 2005 +0000 @@ -3,48 +3,47 @@ @c 2005 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @node Mac OS, MS-DOS, Antinews, Top -@appendix Emacs and the Mac OS +@appendix Emacs and Mac OS @cindex Mac OS @cindex Macintosh - Emacs built on Mac OS X supports most of its major features: -multiple frames, colors, scroll bars, menu bars, use of the mouse, -fontsets, international characters, input methods, coding systems, -asynchronous and synchronous subprocesses, unexec (@code{dump-emacs}), -and networking (@code{open-network-stream}). Support for various -image file formats has not been implemented yet. + This section briefly describes the peculiarities of using Emacs +under Mac OS with native window system support. For Mac OS X, Emacs +can be built either without window system support, with X11, or with +Carbon API. This section only applies to the Carbon build. For Mac +OS Classic, Emacs can be built with or without Carbon API, and this +section applies to either of them because they run on the native +window system. - The following features of Emacs are not yet supported on the Mac OS -8 or 9: unexec (@code{dump-emacs}), asynchronous subprocesses -(@code{start-process}), and networking (@code{open-network-stream}). -As a result, packages such as Gnus, GUD, and Comint do not work. -However, synchronous subprocesses (@code{call-process}) are supported. -Since external programs to handle commands such as @code{print-buffer} -and @code{diff} are not available on Mac OS 8 or 9, they are not -supported. - - Most of the features that are supported work in the same way as on -other platforms and are therefore documented in the rest of this -manual. This section describes the peculiarities of using Emacs under -the Mac OS. + Emacs built on Mac OS X supports most of its major features except +display support of PostScript images. The following features of Emacs +are not supported on Mac OS Classic: unexec (@code{dump-emacs}), +asynchronous subprocesses (@code{start-process}), and networking +(@code{open-network-stream}). As a result, packages such as Gnus, +GUD, and Comint do not work. Synchronous subprocesses +(@code{call-process}) are supported on non-Carbon build, but +specially-crafted external programs are needed. Since external +programs to handle commands such as @code{print-buffer} and +@code{diff} are not available on Mac OS Classic, they are not +supported. Non-Carbon build on Mac OS Classic does not support some +features such as file dialogs, drag-and-drop, and Unicode menus. @menu -* Input: Mac Input. Keyboard input on the Mac. -* Intl: Mac International. International character sets on the Mac. +* Input: Mac Input. Keyboard and mouse input on Mac. +* Intl: Mac International. International character sets on Mac. * Env: Mac Environment Variables. Setting environment variables for Emacs. -* Directories: Mac Directories. Volumes and directories on the Mac. -* Font: Mac Font Specs. Specifying fonts on the Mac. +* Directories: Mac Directories. Volumes and directories on Mac. +* Font: Mac Font Specs. Specifying fonts on Mac. * Functions: Mac Functions. Mac-specific Lisp functions. @end menu @node Mac Input -@section Keyboard Input on the Mac +@section Keyboard and Mouse Input on Mac @cindex Meta (Mac OS) @cindex keyboard coding (Mac OS) + @vindex mac-command-key-is-meta -@vindex mac-keyboard-text-encoding - - On the Mac, Emacs can use either the @key{option} key or the + On Mac, Emacs can use either the @key{option} key or the @key{command} key as the @key{META} key. If the value of the variable @code{mac-command-key-is-meta} is non-@code{nil} (its default value), Emacs uses the @key{command} key as the @key{META} key. Otherwise it @@ -55,89 +54,124 @@ useful for entering non-@acronym{ASCII} Latin characters directly from the Mac keyboard, for example. - Emacs recognizes the setting in the Keyboard control panel and -supports international and alternative keyboard layouts (e.g., Dvorak). -Selecting one of the layouts from the keyboard layout pull-down menu -will affect how the keys typed on the keyboard are interpreted. - - The Mac OS intercepts and handles certain key combinations (e.g., -@key{command}-@key{SPC} for switching input languages). These will not -be passed to Emacs. + Emacs recognizes the setting in the Keyboard control panel (Mac OS +Classic) or the International system preference pane (Mac OS X) and +supports international and alternative keyboard layouts (e.g., Dvorak) +if its script is either Roman, Japanese, Traditional Chinese, Korean, +Cyrillic, Simplified Chinese, or Central European. Keyboard layouts +based on Unicode may not work properly. Selecting one of the layouts +from the keyboard layout pull-down menu will affect how the keys typed +on the keyboard are interpreted. - The Mac keyboard ordinarily generates characters in the Mac Roman -encoding. To use it for entering ISO Latin-1 characters directly, set -the value of the variable @code{mac-keyboard-text-encoding} to -@code{kTextEncodingISOLatin1}. Note that not all Mac Roman characters -that can be entered at the keyboard can be converted to ISO Latin-1 -characters. +@vindex mac-pass-command-to-system +@vindex mac-pass-control-to-system + Mac OS intercepts and handles certain key combinations (e.g., +@key{command}-@key{SPC} for switching input languages). These will not +be passed to Emacs. One can disable this interception by setting +@code{mac-pass-command-to-system} or @code{mac-pass-control-to-system} +to @code{nil}. - To enter ISO Latin-2 characters directly from the Mac keyboard, set -the value of @code{mac-keyboard-text-encoding} to -@code{kTextEncodingISOLatin2}. Then let Emacs know that the keyboard -generates Latin-2 codes, by typing @kbd{C-x @key{RET} k iso-latin-2 -@key{RET}}. To make this setting permanent, put this in your -@file{.emacs} init file: +@vindex mac-emulate-three-button-mouse + Especially for one-button mice, the multiple button feature can be +emulated by setting @code{mac-emulate-three-button-mouse} to @code{t} +or @code{reverse}. If set to @code{t} (@code{reverse}, respectively), +pressing the mouse button with the @key{option} key is recognized as +the second (third) button, and that with the @key{command} key is +recognized as the third (second) button. -@lisp -(set-keyboard-coding-system 'iso-latin-2) -@end lisp +@vindex mac-wheel-button-is-mouse-2 + For multi-button mice, the wheel button and the secondary button are +recognized as the second and the third button, respectively. If +@code{mac-wheel-button-is-mouse-2} is set to @code{nil}, their roles +are exchanged. @node Mac International -@section International Character Set Support on the Mac +@section International Character Set Support on Mac @cindex Mac Roman coding system @cindex clipboard support (Mac OS) - The Mac uses a non-standard encoding for the upper 128 single-byte -characters. It also deviates from the ISO 2022 standard by using -character codes in the range 128-159. The coding system -@code{mac-roman} is used to represent this Mac encoding. It is used -for editing files stored in this native encoding, and for displaying -file names in Dired mode. - - Any native (non-symbol) Mac font can be used to correctly display -characters in the @code{mac-roman} coding system. + Mac uses non-standard encodings for the upper 128 single-byte +characters. They also deviate from the ISO 2022 standard by using +character codes in the range 128-159. The coding systems +@code{mac-roman}, @code{mac-centraleurroman}, and @code{mac-cyrillic} +are used to represent these Mac encodings. The fontset @code{fontset-mac} is created automatically when Emacs -is run on the Mac. It displays characters in the @code{mac-roman} -coding system using 12-point Monaco. - - To insert characters directly in the @code{mac-roman} coding system, -type @kbd{C-x @key{RET} k mac-roman @key{RET}}, customize the variable -@code{keyboard-coding-system}, or put this in your init file: - -@lisp -(set-keyboard-coding-system 'mac-roman) -@end lisp - -@noindent -This is useful for editing documents in native Mac encoding. +is run on Mac, and used by default. It displays as many kinds of +characters as possible using 12-point Monaco as a base font. If you +see some character as a hollow box with this fontset, then it's almost +impossible to display it only by customizing font settings (@pxref{Mac +Font Specs}). You can use input methods provided either by LEIM (@pxref{Input -Methods}) or the Mac OS to enter international characters. - - To use the former, see the International Character Set Support section -of the manual (@pxref{International}). +Methods}) or Mac OS to enter international characters. To use the +former, see the International Character Set Support section of the +manual (@pxref{International}). - To use input methods provided by the Mac OS, set the keyboard coding -system accordingly using the @kbd{C-x @key{RET} k} command -(@code{set-keyboard-coding-system}). For example, for Traditional -Chinese, use @samp{chinese-big5} as keyboard coding system; for -Japanese, use @samp{sjis}, etc. Then select the desired input method in -the keyboard layout pull-down menu. + Emacs on Mac OS automatically changes the value of +@code{keyboard-coding-system} according to the current keyboard +layout. So users don't need to set it manually, and even if set, it +will be changed when the keyboard layout change is detected next time. The Mac clipboard and the Emacs kill ring (@pxref{Killing}) are -connected as follows: the most recent kill is copied to the clipboard -when Emacs is suspended and the contents of the clipboard is inserted -into the kill ring when Emacs resumes. The result is that you can yank -a piece of text and paste it into another Mac application, or cut or copy -one in another Mac application and yank it into a Emacs buffer. +synchronized by default: you can yank a piece of text and paste it +into another Mac application, or cut or copy one in another Mac +application and yank it into a Emacs buffer. This feature can be +disabled by setting @code{x-select-enable-clipboard} to @code{nil}. +One can still do copy and paste with another application from the Edit +menu. + + On Mac, the role of the coding system for selection that is set by +@code{set-selection-coding-system} (@pxref{Specify Coding}) is +two-fold. First, it is used as a preferred coding system for the +traditional text flavor that does not specify any particular encodings +and is mainly used by applications on Mac OS Classic. Second, it +specifies the intermediate encoding for the UTF-16 text flavor that is +mainly used by applications on Mac OS X. - The encoding of text selections must be specified using the commands -@kbd{C-x @key{RET} x} (@code{set-selection-coding-system}) or @kbd{C-x -@key{RET} X} (@code{set-next-selection-coding-system}) (e.g., for -Traditional Chinese, use @samp{chinese-big5-mac} and for Japanese, -@samp{sjis-mac}). @xref{Specify Coding}, for more details. + When pasting UTF-16 text data from the clipboard, it is first +converted to the encoding specified by the selection coding system +using the converter in the Mac OS system, and then decoded into the +Emacs internal encoding using the converter in Emacs. If the first +conversion failed, then the UTF-16 data is directly converted to Emacs +internal encoding using the converter in Emacs. Copying UTF-16 text +to the clipboard goes through the inverse path. The reason for this +two-path decoding is to avoid subtle differences in Unicode mappings +between the Mac OS system and Emacs such as various kinds of hyphens, +and to minimize users' customization. For example, users that mainly +use Latin characters would prefer Greek characters to be decoded into +the @code{mule-unicode-0100-24ff} charset, but Japanese users would +prefer them to be decoded into the @code{japanese-jisx0208} charset. +Since the coding system for selection is automatically set according +to the system locale setting, users usually don't have to set it +manually. + + The default language environment (@pxref{Language Environments}) is +set according to the locale setting at the startup time. On Mac OS, +the locale setting is consulted in the following order: +@enumerate +@item +Environment variables @env{LC_ALL}, @env{LC_CTYPE} and @env{LANG} as +in other systems. + +@item +Preference @code{AppleLocale} that is set by default on Mac OS X 10.3 +and later. + +@item +Preference @code{AppleLanguages} that is set by default on Mac OS X +10.1 and later. + +@item +Variable @code{mac-system-locale} that is derived from the system +language and region codes. This variable is available on all +supported Mac OS versions including Mac OS Classic. +@end enumerate + + The default values of almost all variables about coding systems are +also set according to the language environment. So usually you don't +have to customize these variables manually. @node Mac Environment Variables @section Environment Variables and Command Line Arguments. @@ -145,10 +179,23 @@ On Mac OS X, when Emacs is run in a terminal, it inherits the values of environment variables from the shell from which it is invoked. -However, when it is run from the Finder as a GUI application, it -inherits no environment variable values. +However, when it is run from the Finder as a GUI application, it only +inherits environment variable values defined in the file +@file{~/.MacOSX/environment.plist} that affects all the applications +invoked from the Finder or the @command{open} command. + + Command line arguments are specified like - On Mac OS 8 or 9, environment variables and command line arguments +@example +/Applications/Emacs.app/Contents/MacOS/Emacs -geometry 80x25 & +@end example + +@noindent +if Emacs is installed at @file{/Applications/Emacs.app}. If Emacs is +invoked like this, then it also inherits the values of environment +variables from the shell from which it is invoked. + + On Mac OS Classic, environment variables and command line arguments for Emacs can be set by modifying the @samp{STR#} resources 128 and 129, respectively. A common environment variable that one may want to set is @samp{HOME}. @@ -169,12 +216,45 @@ EMACS_UNIBYTE=1 @end example +@cindex Mac Preferences + Although Emacs on Mac does not support X resources (@pxref{X +Resources}) directly, one can use the Preferences system in place of X +resources. For example, adding the line + +@example +Emacs.cursorType: bar +@end example + +@noindent +to @file{~/.Xresources} in X11 corresponds to the execution of + +@example +defaults write org.gnu.Emacs Emacs.cursorType bar +@end example + +@noindent +on Mac OS X. One can use boolean or numeric values as well as string +values as follows: + +@example +defaults write org.gnu.Emacs Emacs.toolBar -bool false +defaults write org.gnu.Emacs Emacs.lineSpacing -int 3 +@end example + +@noindent +Try @kbd{M-x man RET defaults RET} for the usage of the +@command{defaults} command. Alternatively, if you have Developer +Tools installed on Mac OS X, you can use Property List Editor to edit +the file @file{~/Library/Preferences/org.gnu.Emacs.plist}. + @node Mac Directories -@section Volumes and Directories on the Mac +@section Volumes and Directories on Mac @cindex file names (Mac OS) - The directory structure in the Mac OS is seen by Emacs as + This node applies to Mac OS Classic only. + + The directory structure in Mac OS Classic is seen by Emacs as @example /@var{volumename}/@var{filename} @@ -184,11 +264,11 @@ @file{/} will display all volumes on the system. You can use @file{..} to go up a directory level. - On Mac OS 8 or 9, to access files and folders on the desktop, look + On Mac OS Classic, to access files and folders on the desktop, look in the folder @file{Desktop Folder} in your boot volume (this folder is usually invisible in the Mac @code{Finder}). - On Mac OS 8 or 9, Emacs creates the Mac folder + On Mac OS Classic, Emacs creates the Mac folder @file{:Preferences:Emacs:} in the @file{System Folder} and uses it as the temporary directory. Emacs maps the directory name @file{/tmp/} to that. Therefore it is best to avoid naming a volume @file{tmp}. @@ -199,12 +279,12 @@ @node Mac Font Specs -@section Specifying Fonts on the Mac +@section Specifying Fonts on Mac @cindex font names (Mac OS) It is rare that you need to specify a font name in Emacs; usually you specify face attributes instead. But when you do need to specify -a font name in Emacs on the Mac, use a standard X font name: +a font name in Emacs on Mac, use a standard X font name: @smallexample -@var{maker}-@var{family}-@var{weight}-@var{slant}-@var{widthtype}-@var{style}@dots{} @@ -216,11 +296,57 @@ Native Apple fonts in Mac Roman encoding has maker name @code{apple} and charset @code{mac-roman}. For example 12-point Monaco can be -specified by the name @samp{-apple-monaco-*-12-*-mac-roman}. +specified by the name @samp{-apple-monaco-*-12-*-mac-roman}. When +using a particular size of scalable fonts, it must be specified in a +format containing 14 @samp{-}s like +@samp{-apple-monaco-medium-r-normal--13-*-*-*-*-*-mac-roman}. + + You can specify a @code{mac-roman} font for @acronym{ASCII} +characters like + +@lisp +(add-to-list + 'default-frame-alist + '(font . "-apple-monaco-medium-r-normal--13-*-*-*-*-*-mac-roman")) +@end lisp + +@noindent +but that does not extend to ISO-8859-1: specifying a @code{mac-roman} +font for Latin-1 characters introduces wrong glyphs. + + Native Apple Traditional Chinese, Simplified Chinese, Japanese, +Korean, Central European, Cyrillic, Symbol, and Dingbats fonts have +charsets @samp{big5-0}, @samp{gb2312.1980-0}, +@samp{jisx0208.1983-sjis} and @samp{jisx0201.1976-0}, +@samp{ksc5601.1989-0}, @samp{mac-centraleurroman}, +@samp{mac-cyrillic}, @samp{mac-symbol}, and @samp{mac-dingbats}, +respectively. - Native Apple Traditional Chinese, Simplified Chinese, Japanese, and -Korean fonts have charsets @samp{big5-0}, @samp{gb2312.1980-0}, -@samp{jisx0208.1983-sjis}, and @samp{ksc5601.1989-0}, respectively. + Since Emacs as of the current version uses QuickDraw Text routines +for drawing texts, only characters in the charsets listed above can be +displayed with the OS-bundled fonts, even if other applications that +use @acronym{ATSUI} or Cocoa can display variety of characters with +them. + + The use of @code{create-fontset-from-fontset-spec} (@pxref{Defining +Fontsets}) for defining fontsets often results in wrong ones +especially when using only OS-bundled fonts. The recommended way is +to create a fontset using @code{create-fontset-from-mac-roman-font}: + +@lisp +(create-fontset-from-mac-roman-font + "-apple-courier-medium-r-normal--13-*-*-*-*-*-mac-roman" + nil "foo") +@end lisp + +@noindent +and then optionally specifying Chinese, Japanese, or Korean font +families using @code{set-fontset-font}: + +@lisp +(set-fontset-font "fontset-foo" + 'chinese-gb2312 '("song" . "gb2312.1980-0")) +@end lisp Single-byte fonts converted from GNU fonts in BDF format, which are not in the Mac Roman encoding, have foundry, family, and character sets @@ -228,6 +354,12 @@ @samp{ETL-Fixed-ISO8859-1} contains fonts which can be referred to by the name @samp{-ETL-fixed-*-iso8859-1}. +@vindex mac-allow-anti-aliasing + Emacs uses the QuickDraw text rendering by default. On Mac OS X +10.2 and later, it can be changed so that it uses the Quartz 2D text +rendering (aka CG text rendering) by setting +@code{mac-allow-anti-aliasing} to @code{t}. However, it is reported +to sometimes leave some garbages. @node Mac Functions @section Mac-Specific Lisp Functions @@ -246,6 +378,19 @@ are useful for constructing AppleScript commands to be passed to @code{do-applescript}. +@findex mac-set-file-creator +@findex mac-get-file-creator +@findex mac-set-file-type +@findex mac-get-file-type + The functions @code{mac-set-file-creator}, +@code{mac-get-file-creator}, @code{mac-set-file-type}, and +@code{mac-get-file-type} can be used to set and get creator and file +codes. + +@findex mac-get-preference + The function @code{mac-get-preference} returns the preferences value +converted to a Lisp object for a specified key and application. + @ignore arch-tag: a822c2ab-4273-4997-927e-c153bb71dcf6 @end ignore
--- a/man/org.texi Fri Sep 23 07:06:33 2005 +0000 +++ b/man/org.texi Sun Sep 25 22:07:01 2005 +0000 @@ -4,7 +4,7 @@ @setfilename ../info/org @settitle Org Mode Manual -@set VERSION 3.15 +@set VERSION 3.16 @set DATE September 2005 @dircategory Emacs @@ -39,7 +39,7 @@ @quotation Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.2 or +under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the @@ -100,7 +100,7 @@ * Outlines:: Org-mode is based on outline-mode * Headlines:: How to typeset org-tree headlines -* Visibility cycling:: Show ad hide, much simplified +* Visibility cycling:: Show and hide, much simplified * Motion:: Jumping to other headlines * Structure editing:: Changing sequence and level of headlines * Archiving:: Move done task trees to a different place @@ -120,7 +120,7 @@ * Advanced features:: Field names, parameters and automatic recalc * Named-field formulas:: Formulas valid in single fields * Editing/debugging formulas:: Changing a stored formula -* Appetizer:: +* Appetizer:: Taste the power of calc Hyperlinks @@ -169,6 +169,7 @@ * Customization:: Adapting Org-mode to your taste * FAQ:: Frequently asked questions * Interaction:: Other Emacs packages +* TTY keys:: Using Org-mode on a tty * Bugs:: Things which do not work perfectly * Acknowledgments:: These people provided feedback and more @@ -312,7 +313,7 @@ @menu * Outlines:: Org-mode is based on outline-mode * Headlines:: How to typeset org-tree headlines -* Visibility cycling:: Show ad hide, much simplified +* Visibility cycling:: Show and hide, much simplified * Motion:: Jumping to other headlines * Structure editing:: Changing sequence and level of headlines * Archiving:: Move done task trees to a different place @@ -475,14 +476,14 @@ @kindex M-S-@key{down} @item M-S-@key{down} Move subtree down (swap with next subtree of same level) -@kindex C-c C-h C-w -@item C-c C-h C-w +@kindex C-c C-x C-w +@item C-c C-x C-w Kill subtree, i.e. remove it from buffer but save in kill ring. -@kindex C-c C-h M-w -@item C-c C-h M-w +@kindex C-c C-x M-w +@item C-c C-x M-w Copy subtree to kill ring. -@kindex C-c C-h C-y -@item C-c C-h C-y +@kindex C-c C-x C-y +@item C-c C-x C-y Yank subtree from kill ring. This does modify the level of the subtree to make sure the tree fits in nicely at the yank position. The yank level can also be specified with a prefix arg, or by yanking after a @@ -610,10 +611,18 @@ |Name|Phone|Age |- @end example - @noindent and then press @key{TAB} to align the table and start filling in fields. +When typing text into a field, Org-mode treats @key{DEL}, +@key{Backspace}, and all character keys in a special way, so that +inserting and deleting avoids shifting other fields. Also, when +typing @emph{immediately after the cursor was moved into a new field +with @kbd{@key{TAB}}, @kbd{S-@key{TAB}} or @kbd{@key{RET}}}, the +field is automatically made blank. If this behavior is too +unpredictable for you, configure the variables +@code{org-enable-table-editor} and @code{org-table-auto-blank-field}. + @table @kbd @tsubheading{Creation and conversion} @item M-x org-table-create @@ -684,17 +693,17 @@ is created above the current line. @tsubheading{Regions} -@kindex C-c C-h M-w -@item C-c C-h M-w +@kindex C-c C-x M-w +@item C-c C-x M-w Copy a rectangular region from a table to a special clipboard. Point and mark determine edge fields of the rectangle. The process ignores horizontal separator lines. -@kindex C-c C-h C-w -@item C-c C-h C-w +@kindex C-c C-x C-w +@item C-c C-x C-w Copy a rectangular region from a table to a special clipboard, and blank all fields in the rectangle. So this is the ``cut'' operation. -@kindex C-c C-h C-y -@item C-c C-h C-y +@kindex C-c C-x C-y +@item C-c C-x C-y Paste a rectangular region into a table. The upper right corner ends up in the current field. All involved fields will be overwritten. If the rectangle does not fit into the present table, @@ -802,16 +811,16 @@ @section Calculations in tables @cindex calculations, in tables -The table editor has some spreadsheet-like capabilities. The Emacs -@file{calc} package is required for this feature to work. There are -basically two levels of complexity for table calculations in Org-mode. -On the basic level, tables do only horizontal computations, so a field -can be computed from other fields @emph{in the same row}, and Org-mode -assumes that there is only one formula for each column. This is very -efficient to work with and enough for many tasks. On the complex -level, columns and individual fields can be named for easier -referencing in formulas, individual named fields can have their own -formula associated with them, and recalculation can be automated. +The table editor makes use of the Emacs @file{calc} package to +implement spreadsheet-like capabilities. Org-mode has two levels of +complexity for table calculations. On the basic level, tables do only +horizontal computations, so a field can be computed from other fields +@emph{in the same row}, and Org-mode assumes that there is only one +formula for each column. This is very efficient to work with and +enough for many tasks. On the complex level, columns and individual +fields can be named for easier referencing in formulas, individual +named fields can have their own formula associated with them, and +recalculation can be automated. @menu * Formula syntax:: How to write a formula @@ -859,8 +868,8 @@ string consists of flags to influence calc's modes@footnote{By default, Org-mode uses the standard calc modes (precision 12, angular units degrees, fraction and symbolic modes off). However, the display -format which has been changed to @code{(float 5)} to keep tables -compact. The default settings can be configured using the variable +format has been changed to @code{(float 5)} to keep tables compact. +The default settings can be configured using the variable @code{org-calc-default-modes}.} during execution, e.g. @samp{p20} to switch the internal precision to 20 digits, @samp{n3}, @samp{s3}, @samp{e2} or @samp{f4} to switch to normal, scientific, engineering, @@ -1357,8 +1366,9 @@ @end lisp @cindex completion, of TODO keywords +Changing these variables becomes only effective in a new Emacs session. With this setup, the command @kbd{C-c C-t} will cycle an entry from -TODO to FEEDBACK, then to VERIFY, and finally too DONE. You may also +TODO to FEEDBACK, then to VERIFY, and finally to DONE. You may also use a prefix argument to quickly select a specific state. For example @kbd{C-3 C-c C-t} will change the state immediately to VERIFY. If you define many keywords, you can use in-buffer completion (see @@ -1388,7 +1398,7 @@ command @kbd{C-c C-t} is changed slightly@footnote{This is also true for the @kbd{t} command in the timeline and agenda buffers.}. When used several times in succession, it will still cycle through all -names. But when when you return to the item after some time and +names. But when you return to the item after some time and execute @kbd{C-c C-t} again, it will switch from each name directly to DONE. Use prefix arguments or completion to quickly select a specific name. @@ -1423,7 +1433,7 @@ changing one of these lines, use @kbd{C-c C-c} with the cursor still in the line to make the changes known to Org-mode@footnote{Org-mode parses these lines only when Org-mode is activated after visiting a -file. @kbd{C-c C-c} with the cursor in a line starting with @samp{#-} +file. @kbd{C-c C-c} with the cursor in a line starting with @samp{#+} is simply restarting Org-mode, making sure that these changes will be respected.}. @@ -1565,6 +1575,11 @@ Like @kbd{C-c .}, but use the alternative format which contains date and time. +@kindex C-c ! +@item C-c ! +Like @kbd{C-c .}, but insert an inactive time stamp not triggering the +agenda. + @kindex C-c < @item C-c < Insert a time stamp corresponding to the cursor date in the Calendar. @@ -2171,15 +2186,15 @@ @kindex C-c C-x h @item C-c C-x h Export as HTML file @file{myfile.html}. -@kindex C-c C-x C-h -@item C-c C-x C-h +@kindex C-c C-x b +@item C-c C-x b Export as HTML file and open it with a browser. @kindex C-c C-x t @item C-c C-x t Insert template with export options, see below. @kindex C-c : @item C-c : -Toggle fixed-width for line or region, see below. +Toggle fixed-width for entry (QUOTE) or region, see below. @end table @node HTML formatting, Export options, Export commands, Exporting @@ -2242,7 +2257,7 @@ additional information. These lines may be put anywhere in the file. The whole set of lines can be inserted into the buffer with @kbd{C-c C-x t}. For individual lines, a good way to make sure the keyword is -correct it to type @samp{#+} and then use @kbd{M-@key{TAB}} completion +correct is to type @samp{#+} and then use @kbd{M-@key{TAB}} completion (@pxref{Completion}). @example @@ -2304,6 +2319,7 @@ * Customization:: Adapting Org-mode to your taste * FAQ:: Frequently asked questions * Interaction:: Other Emacs packages +* TTY keys:: Using Org-mode on a tty * Bugs:: Things which do not work perfectly * Acknowledgments:: These people provided feedback and more @end menu @@ -2436,7 +2452,7 @@ @end enumerate -@node Interaction, Bugs, FAQ, Miscellaneous +@node Interaction, TTY keys, FAQ, Miscellaneous @section Interaction with other packages @cindex packages, interaction with other Org-mode can cooperate with the following packages: @@ -2498,7 +2514,44 @@ on the diary support of planner. @end table -@node Bugs, Acknowledgments, Interaction, Miscellaneous +@node TTY keys, Bugs, Interaction, Miscellaneous +@section Using org-mode on a tty + +Org-mode uses a number of keys that are not accessible on a tty. This +applies to most special keys like cursor keys, @key{TAB} and +@key{RET}, when these are combined with modifier keys like @key{Meta} +and/or @key{Shift}. Org-mode uses these bindings because it needs to +provide keys for a large number of commands, and because these keys +appeared particularly easy to remember. In order to still be able to +access the core functionality of Org-mode on a tty, alternative +bindings are provided. Here is a complete list of these bindings, +which are obviously more cumbersome to use. Note that sometimes a +work-around can be better. For example changing a time stamp is +really only fun with @kbd{S-@key{cursor}} keys. On a tty you would +rather use @kbd{C-c .} to re-insert the timestamp. + +@page +@multitable @columnfractions 0.15 0.2 0.2 +@item @b{Default} @tab @b{Alternative 1} @tab @b{Alternative 2} +@item @kbd{S-@key{TAB}} @tab @kbd{C-u @key{TAB}} @tab +@item @kbd{M-@key{left}} @tab @kbd{C-c C-x l} @tab @kbd{@key{Esc} @key{left}} +@item @kbd{M-S-@key{left}} @tab @kbd{C-c C-x L} @tab +@item @kbd{M-@key{right}} @tab @kbd{C-c C-x r} @tab @kbd{@key{Esc} @key{right}} +@item @kbd{M-S-@key{right}} @tab @kbd{C-c C-x R} @tab +@item @kbd{M-@key{up}} @tab @kbd{C-c C-x u} @tab @kbd{@key{Esc} @key{up}} +@item @kbd{M-S-@key{up}} @tab @kbd{C-c C-x U} @tab +@item @kbd{M-@key{down}} @tab @kbd{C-c C-x d} @tab @kbd{@key{Esc} @key{down}} +@item @kbd{M-S-@key{down}} @tab @kbd{C-c C-x D} @tab +@item @kbd{S-@key{RET}} @tab @kbd{C-c C-x c} @tab +@item @kbd{M-@key{RET}} @tab @kbd{C-c C-x m} @tab @kbd{@key{Esc} @key{RET}} +@item @kbd{M-S-@key{RET}} @tab @kbd{C-c C-x M} @tab +@item @kbd{S-@key{left}} @tab @kbd{C-c C-x @key{left}} @tab +@item @kbd{S-@key{right}} @tab @kbd{C-c C-x @key{right}} @tab +@item @kbd{S-@key{up}} @tab @kbd{C-c C-x @key{up}} @tab +@item @kbd{S-@key{down}} @tab @kbd{C-c C-x @key{down}} @tab +@end multitable + +@node Bugs, Acknowledgments, TTY keys, Miscellaneous @section Bugs @cindex bugs @@ -2514,13 +2567,21 @@ normal text. Also, @code{fill-region} does bypass the @code{fill-paragraph} code and will fill tables like normal text. @item +Text in an entry protected with the @samp{QUOTE} keyword should not +autowrap. +@item When the application called by @kbd{C-c C-o} to open a file link fails (for example because the application does not exits or refuses to open the file), it does so silently. No error message is displayed. @item +The remote-editing commands in the agenda buffer cannot be undone with +@code{undo} called from within the agenda buffer. But you can go to +the corresponding buffer (using @key{TAB} or @key{RET} and execute +@code{undo} there. +@item Recalculating a table line applies the formulas from left to right. -If a formula calculated fields further down the row, multiple -recalculation may be needed to get all fields consistent. +If a formula uses @emph{calculated} fields further down the row, +multiple recalculation may be needed to get all fields consistent. @item Under XEmacs, if Org-mode entries are included into the diary, it is not possible to jump back from the diary to the org file. Apparently, @@ -2592,6 +2653,9 @@ @item Kai Grossjohann pointed out that a number of key bindings in Org-mode conflict with other packages. +@item +Roland Winkler pointed out that additional keybindings are need to use +Org-mode on a tty. @end itemize @node Index, Key Index, Miscellaneous, Top
--- a/man/text.texi Fri Sep 23 07:06:33 2005 +0000 +++ b/man/text.texi Sun Sep 25 22:07:01 2005 +0000 @@ -266,10 +266,11 @@ @kbd{M-@{} moves to the beginning of the current or previous paragraph, while @kbd{M-@}} moves to the end of the current or next paragraph. Blank lines and text-formatter command lines separate -paragraphs and are not considered part of any paragraph. In Indented -Text mode, but not in Text mode, an indented line also starts a new -paragraph. If there is a blank line before the paragraph, @kbd{M-@{} -moves to the blank line, because that is convenient in practice. +paragraphs and are not considered part of any paragraph. In +Paragraph-Indent Text mode, but not in Text mode, an indented line +also starts a new paragraph. If there is a blank line before the +paragraph, @kbd{M-@{} moves to the blank line, because that is +convenient in practice. In major modes for programs, paragraphs begin and end only at blank lines. This makes the paragraph commands continue to be useful even
--- a/src/.cvsignore Fri Sep 23 07:06:33 2005 +0000 +++ b/src/.cvsignore Sun Sep 25 22:07:01 2005 +0000 @@ -3,6 +3,7 @@ *.pdb .gdb_history Makefile +makefile Makefile.c TAGS-LISP _gdbinit
--- a/src/ChangeLog Fri Sep 23 07:06:33 2005 +0000 +++ b/src/ChangeLog Sun Sep 25 22:07:01 2005 +0000 @@ -1,3 +1,42 @@ +2005-09-23 Richard M. Stallman <rms@gnu.org> + + * editfns.c (Fformat): Explicitly test for end of format string + and don't use `index'. + +2005-09-23 Dan Nicolaescu <dann@ics.uci.edu> + + * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define + BROKEN_GET_CURRENT_DIR_NAME. + + * sysdep.c (get_current_dir_name): Also define if + BROKEN_GET_CURRENT_DIR_NAME. + + * m/ibmrs6000.h: Test for USG5, not USG5_4. + +2005-09-22 Kim F. Storm <storm@cua.dk> + + * xdisp.c (message_dolog): Add warning about GC and Lisp strings. + (message2): Fix commentary. Ok to use alloca'ed memory. + Still not ok to use Lisp string data (because of GC). + (set_message): Add comment why GC cannot happen. + +2005-09-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * macterm.c (xlfdpat_block_match_1): Fix assertion. + (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't add style + variants for a scalable font multiple times. + +2005-09-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * process.c (create_process) [RTU || UNIPLUS || DONT_REOPEN_PTY]: + Setup slave tty options before forking. + +2005-09-20 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> + + * gtkutil.c (xg_set_geometry): Do a gtk_window_move if program + positions have been set for the frame (as is done for frames in + special-display-buffer-names). + 2005-09-19 Kim F. Storm <storm@cua.dk> * editfns.c (Fformat): Don't scan past end of format string that
--- a/src/editfns.c Fri Sep 23 07:06:33 2005 +0000 +++ b/src/editfns.c Sun Sep 25 22:07:01 2005 +0000 @@ -3556,7 +3556,9 @@ digits to print after the '.' for floats, or the max. number of chars to print from a string. */ - while (*format && index ("-0# ", *format)) + while (format != end + && (*format == '-' || *format == '0' || *format == '#' + || * format == ' ')) ++format; if (*format >= '0' && *format <= '9')
--- a/src/gtkutil.c Fri Sep 23 07:06:33 2005 +0000 +++ b/src/gtkutil.c Sun Sep 25 22:07:01 2005 +0000 @@ -554,6 +554,9 @@ if (!gtk_window_parse_geometry (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), geom_str)) fprintf (stderr, "Failed to parse: '%s'\n", geom_str); + } else if (f->size_hint_flags & PPosition) { + gtk_window_move (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), + f->left_pos, f->top_pos); } }
--- a/src/m/ibmrs6000.h Fri Sep 23 07:06:33 2005 +0000 +++ b/src/m/ibmrs6000.h Sun Sep 25 22:07:01 2005 +0000 @@ -112,7 +112,7 @@ #define OBJECTS_MACHINE hftctl.o #endif -#ifndef USG5_4 +#ifndef USG5 #define C_SWITCH_MACHINE -D_BSD #endif
--- a/src/macterm.c Fri Sep 23 07:06:33 2005 +0000 +++ b/src/macterm.c Sun Sep 25 22:07:01 2005 +0000 @@ -6293,7 +6293,7 @@ xlfdpat_exact_p (pat) struct xlfdpat *pat; { - return (pat)->blocks == NULL; + return pat->blocks == NULL; } /* Return the first string in STRING + 0, ..., STRING + START_MAX such @@ -6311,7 +6311,7 @@ xassert (blk->len > 0); xassert (start_max + blk->len <= strlen (string)); - xassert (blk->pattern[blk->len - 1] != '?'); + xassert (blk->last_char != '?'); /* See the comments in the function `boyer_moore' (search.c) for the use of `infinity'. */ @@ -6706,28 +6706,29 @@ { Lisp_Object rest = XCDR (XCDR (text_encoding_info)); - for (; !NILP (rest); rest = XCDR (rest)) - { - char *cs = SDATA (XCAR (rest)); - - if (size == 0) - { - add_font_name_table_entry (mac_to_x_fontname (name, size, - style, cs)); - add_font_name_table_entry (mac_to_x_fontname (name, size, - italic, cs)); - add_font_name_table_entry (mac_to_x_fontname (name, size, - bold, cs)); - add_font_name_table_entry (mac_to_x_fontname (name, size, - italic | bold, - cs)); - } - else - { - add_font_name_table_entry (mac_to_x_fontname (name, size, - style, cs)); - } - } + if (size > 0 || style == normal) + for (; !NILP (rest); rest = XCDR (rest)) + { + char *cs = SDATA (XCAR (rest)); + + if (size == 0) + { + add_font_name_table_entry (mac_to_x_fontname (name, size, + style, cs)); + add_font_name_table_entry (mac_to_x_fontname (name, size, + italic, cs)); + add_font_name_table_entry (mac_to_x_fontname (name, size, + bold, cs)); + add_font_name_table_entry (mac_to_x_fontname (name, size, + italic | bold, + cs)); + } + else + { + add_font_name_table_entry (mac_to_x_fontname (name, size, + style, cs)); + } + } } }
--- a/src/process.c Fri Sep 23 07:06:33 2005 +0000 +++ b/src/process.c Sun Sep 25 22:07:01 2005 +0000 @@ -1794,6 +1794,12 @@ #endif if (forkin < 0) report_file_error ("Opening pty", Qnil); +#if defined (RTU) || defined (UNIPLUS) || defined (DONT_REOPEN_PTY) + /* In the case that vfork is defined as fork, the parent process + (Emacs) may send some data before the child process completes + tty options setup. So we setup tty before forking. */ + child_setup_tty (forkout); +#endif /* RTU or UNIPLUS or DONT_REOPEN_PTY */ #else forkin = forkout = -1; #endif /* not USG, or USG_SUBTTY_WORKS */ @@ -2078,8 +2084,10 @@ #endif /* SIGCHLD */ #endif /* !POSIX_SIGNALS */ +#if !defined (RTU) && !defined (UNIPLUS) && !defined (DONT_REOPEN_PTY) if (pty_flag) child_setup_tty (xforkout); +#endif /* not RTU and not UNIPLUS and not DONT_REOPEN_PTY */ #ifdef WINDOWSNT pid = child_setup (xforkin, xforkout, xforkout, new_argv, 1, current_dir);
--- a/src/s/aix4-2.h Fri Sep 23 07:06:33 2005 +0000 +++ b/src/s/aix4-2.h Sun Sep 25 22:07:01 2005 +0000 @@ -2,5 +2,23 @@ #undef ALIGN_DATA_RELOC +/* On AIX Emacs uses the gmalloc.c malloc implementation. But given + the way this system works, libc functions that return malloced + memory use the libc malloc implementation. Calling xfree or + xrealloc on the results of such functions results in a crash. + + One solution for this could be to define SYSTEM_MALLOC here, but + that does not currently work on this system. + + It is possible to completely override the malloc implementation on + AIX, but that involves putting the malloc functions in a shared + library and setting the MALLOCTYPE environment variable to point to + tha shared library. + + Emacs currently calls xrealloc on the results of get_current_dir name, + to avoid a crash just use the Emacs implementation for that function. +*/ +#define BROKEN_GET_CURRENT_DIR_NAME 1 + /* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562 (do not change this comment) */
--- a/src/sysdep.c Fri Sep 23 07:06:33 2005 +0000 +++ b/src/sysdep.c Sun Sep 25 22:07:01 2005 +0000 @@ -256,7 +256,7 @@ SIGMASKTYPE sigprocmask_set; -#ifndef HAVE_GET_CURRENT_DIR_NAME +#if !defined (HAVE_GET_CURRENT_DIR_NAME) || defined (BROKEN_GET_CURRENT_DIR_NAME) /* Return the current working directory. Returns NULL on errors. Any other returned value must be freed with free. This is used
--- a/src/xdisp.c Fri Sep 23 07:06:33 2005 +0000 +++ b/src/xdisp.c Sun Sep 25 22:07:01 2005 +0000 @@ -6856,7 +6856,10 @@ terminated with a newline when NLFLAG is non-zero. MULTIBYTE, if nonzero, means interpret the contents of M as multibyte. This function calls low-level routines in order to bypass text property - hooks, etc. which might not be safe to run. */ + hooks, etc. which might not be safe to run. + + This may GC (insert may run before/after change hooks), + so the buffer M must NOT point to a Lisp string. */ void message_dolog (m, nbytes, nlflag, multibyte) @@ -7068,10 +7071,7 @@ out any existing message, and let the mini-buffer text show through. - The buffer M must continue to exist until after the echo area gets - cleared or some other message gets displayed there. This means do - not pass text that is stored in a Lisp string; do not pass text in - a buffer that was alloca'd. */ + This may GC, so the buffer M must NOT point to a Lisp string. */ void message2 (m, nbytes, multibyte) @@ -8128,7 +8128,11 @@ If S is not null, set the message to the first LEN bytes of S. LEN zero means use the whole string. MULTIBYTE_P non-zero means S is - multibyte. Display the message multibyte in that case. */ + multibyte. Display the message multibyte in that case. + + Doesn't GC, as with_echo_area_buffer binds Qinhibit_modification_hooks + to t before calling set_message_1 (which calls insert). + */ void set_message (s, string, nbytes, multibyte_p)