aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Bader2005-09-25 22:07:01 +0000
committerMiles Bader2005-09-25 22:07:01 +0000
commit7b9dc9afcc06c9d5c3e3f75f3bb420d57cd1de12 (patch)
tree27ba66e7b5ca9a56ca0c0a76169249ee48337e6c
parent2f022b888f8e37778c13736539bd4434cc882eb2 (diff)
parent5fae1caef32374fffc256f7f92952398d226fff2 (diff)
downloademacs-7b9dc9afcc06c9d5c3e3f75f3bb420d57cd1de12.tar.gz
emacs-7b9dc9afcc06c9d5c3e3f75f3bb420d57cd1de12.zip
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
-rw-r--r--admin/FOR-RELEASE30
-rw-r--r--etc/ChangeLog5
-rw-r--r--etc/emacs.py6
-rw-r--r--etc/orgcard.ps1848
-rw-r--r--etc/orgcard.tex27
-rw-r--r--leim/.gitignore1
-rw-r--r--lib-src/.gitignore1
-rw-r--r--lib-src/ChangeLog6
-rw-r--r--lib-src/ebrowse.c5
-rw-r--r--lisp/.gitignore2
-rw-r--r--lisp/ChangeLog433
-rw-r--r--lisp/calc/calc-prog.el4
-rw-r--r--lisp/calc/calc-store.el4
-rw-r--r--lisp/calc/calcalg3.el2
-rw-r--r--lisp/calendar/calendar.el81
-rw-r--r--lisp/calendar/diary-lib.el4
-rw-r--r--lisp/calendar/timeclock.el2
-rw-r--r--lisp/completion.el2
-rw-r--r--lisp/cus-edit.el6
-rw-r--r--lisp/diff.el8
-rw-r--r--lisp/dired-aux.el6
-rw-r--r--lisp/dired.el2
-rw-r--r--lisp/ediff-mult.el2
-rw-r--r--lisp/ediff-ptch.el143
-rw-r--r--lisp/ediff-util.el16
-rw-r--r--lisp/ediff-vers.el5
-rw-r--r--lisp/ediff.el18
-rw-r--r--lisp/emacs-lisp/advice.el38
-rw-r--r--lisp/emacs-lisp/checkdoc.el2
-rw-r--r--lisp/emacs-lisp/debug.el2
-rw-r--r--lisp/emulation/vip.el2
-rw-r--r--lisp/emulation/viper-cmd.el14
-rw-r--r--lisp/emulation/viper-init.el5
-rw-r--r--lisp/emulation/viper-macs.el8
-rw-r--r--lisp/emulation/viper-util.el8
-rw-r--r--lisp/emulation/viper.el9
-rw-r--r--lisp/font-lock.el15
-rw-r--r--lisp/format.el4
-rw-r--r--lisp/forms.el2
-rw-r--r--lisp/gnus/ChangeLog43
-rw-r--r--lisp/gnus/gnus-agent.el6
-rw-r--r--lisp/gnus/gnus-art.el16
-rw-r--r--lisp/gnus/gnus-score.el2
-rw-r--r--lisp/gnus/gnus-start.el2
-rw-r--r--lisp/gnus/gnus-sum.el8
-rw-r--r--lisp/gnus/gnus-util.el4
-rw-r--r--lisp/gnus/gnus-uu.el2
-rw-r--r--lisp/gnus/message.el2
-rw-r--r--lisp/gnus/mm-url.el2
-rw-r--r--lisp/gnus/mm-view.el7
-rw-r--r--lisp/gnus/smime.el13
-rw-r--r--lisp/gnus/spam-report.el2
-rw-r--r--lisp/ido.el4
-rw-r--r--lisp/info.el16
-rw-r--r--lisp/international/mule-cmds.el12
-rw-r--r--lisp/international/mule-diag.el6
-rw-r--r--lisp/international/mule.el12
-rw-r--r--lisp/international/quail.el2
-rw-r--r--lisp/locate.el2
-rw-r--r--lisp/log-edit.el2
-rw-r--r--lisp/mail/mailabbrev.el4
-rw-r--r--lisp/mail/mailclient.el174
-rw-r--r--lisp/mail/rmail.el26
-rw-r--r--lisp/mail/rmailout.el8
-rw-r--r--lisp/mail/rmailsum.el26
-rw-r--r--lisp/man.el10
-rw-r--r--lisp/mh-e/ChangeLog7
-rw-r--r--lisp/mh-e/mh-comp.el6
-rw-r--r--lisp/mh-e/mh-mime.el12
-rw-r--r--lisp/mh-e/mh-utils.el6
-rw-r--r--lisp/mouse.el313
-rw-r--r--lisp/net/eudcb-ldap.el2
-rw-r--r--lisp/net/newsticker.el5
-rw-r--r--lisp/net/rcompile.el2
-rw-r--r--lisp/play/animate.el2
-rw-r--r--lisp/play/gomoku.el36
-rw-r--r--lisp/play/landmark.el26
-rw-r--r--lisp/play/mpuz.el6
-rw-r--r--lisp/printing.el2
-rw-r--r--lisp/progmodes/cc-mode.el1
-rw-r--r--lisp/progmodes/compile.el2
-rw-r--r--lisp/progmodes/ebrowse.el2
-rw-r--r--lisp/progmodes/etags.el4
-rw-r--r--lisp/progmodes/idlw-shell.el2
-rw-r--r--lisp/progmodes/pascal.el2
-rw-r--r--lisp/progmodes/python.el6
-rw-r--r--lisp/ps-print.el2
-rw-r--r--lisp/rect.el4
-rw-r--r--lisp/replace.el2
-rw-r--r--lisp/ses.el2
-rw-r--r--lisp/shadowfile.el4
-rw-r--r--lisp/smerge-mode.el12
-rw-r--r--lisp/subr.el18
-rw-r--r--lisp/term/rxvt.el74
-rw-r--r--lisp/term/xterm.el2
-rw-r--r--lisp/terminal.el2
-rw-r--r--lisp/textmodes/artist.el4
-rw-r--r--lisp/textmodes/flyspell.el20
-rw-r--r--lisp/textmodes/ispell.el19
-rw-r--r--lisp/textmodes/org.el348
-rw-r--r--lisp/textmodes/refer.el2
-rw-r--r--lisp/textmodes/reftex-auc.el12
-rw-r--r--lisp/textmodes/reftex-cite.el4
-rw-r--r--lisp/textmodes/reftex-dcr.el4
-rw-r--r--lisp/textmodes/reftex-global.el4
-rw-r--r--lisp/textmodes/reftex-index.el27
-rw-r--r--lisp/textmodes/reftex-parse.el4
-rw-r--r--lisp/textmodes/reftex-ref.el4
-rw-r--r--lisp/textmodes/reftex-sel.el4
-rw-r--r--lisp/textmodes/reftex-toc.el4
-rw-r--r--lisp/textmodes/reftex-vars.el4
-rw-r--r--lisp/textmodes/reftex.el4
-rw-r--r--lisp/textmodes/tex-mode.el10
-rw-r--r--lisp/tree-widget.el8
-rw-r--r--lisp/vc-mcvs.el2
-rw-r--r--lisp/vc.el20
-rw-r--r--lisp/w32-fns.el2
-rw-r--r--lisp/wid-edit.el8
-rw-r--r--lisp/woman.el2
-rw-r--r--lispintro/.gitignore1
-rw-r--r--lispref/.gitignore1
-rw-r--r--lwlib/ChangeLog5
-rw-r--r--lwlib/xlwmenu.c4
-rw-r--r--mac/ChangeLog8
-rw-r--r--mac/INSTALL2
-rw-r--r--mac/README4
-rw-r--r--man/.gitignore1
-rw-r--r--man/ChangeLog47
-rw-r--r--man/emacs.texi10
-rw-r--r--man/gnus.texi12
-rw-r--r--man/macos.texi369
-rw-r--r--man/org.texi146
-rw-r--r--man/text.texi9
-rw-r--r--src/.gitignore1
-rw-r--r--src/ChangeLog39
-rw-r--r--src/editfns.c4
-rw-r--r--src/gtkutil.c3
-rw-r--r--src/m/ibmrs6000.h2
-rw-r--r--src/macterm.c47
-rw-r--r--src/process.c8
-rw-r--r--src/s/aix4-2.h18
-rw-r--r--src/sysdep.c2
-rw-r--r--src/xdisp.c16
143 files changed, 3052 insertions, 1984 deletions
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE
index 1fbb66d2a4e..aa2af6a1c71 100644
--- a/admin/FOR-RELEASE
+++ b/admin/FOR-RELEASE
@@ -57,36 +57,6 @@ TCP/IP server processes created with `make-network-process' consume
57excesive CPU on some Windows environments. Usages of 50% and 100% 57excesive CPU on some Windows environments. Usages of 50% and 100%
58CPU time have been observed on different Window XP configurations. 58CPU time have been observed on different Window XP configurations.
59 59
60** Bug in ebrowse
61
62Date: Fri, 27 May 2005 17:35:48 +0200
63From: Markus Gritsch <gritsch@iue.tuwien.ac.at>
64
65the C++ header file which led to the problematic BROWSE file reads
66
67namespace test {
68 class Base
69 {
70 };
71
72 class B : public Base
73 {
74 };
75}
76
77class A : public test::Base
78{
79};
80
81The *Tree* is then displayed as
82
83 *Globals*
84 test
85 test::Base
86 test::B
87
88The class A seems to be missing.
89
90* DOCUMENTATION 60* DOCUMENTATION
91 61
92** Update man/info.texi. 62** Update man/info.texi.
diff --git a/etc/ChangeLog b/etc/ChangeLog
index ada960359ff..50435375aee 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,8 @@
12005-09-24 Steven Huwig <steven_h@acm.org> (tiny change)
2
3 * emacs.py (ehelp): Add g and l to arg list, and use them in the
4 call to `help'.
5
12005-09-17 Romain Francoise <romain@orebokech.com> 62005-09-17 Romain Francoise <romain@orebokech.com>
2 7
3 * gfdl.1: Update to version 1.2. Delete UC macro. 8 * gfdl.1: Update to version 1.2. Delete UC macro.
diff --git a/etc/emacs.py b/etc/emacs.py
index 1eba14f67a4..fcb55a0a205 100644
--- a/etc/emacs.py
+++ b/etc/emacs.py
@@ -82,11 +82,11 @@ def complete (text, namespace = None):
82 except: 82 except:
83 print '_emacs_out ()' 83 print '_emacs_out ()'
84 84
85def ehelp (name): 85def ehelp (name, g, l):
86 """Get help on string NAME. 86 """Get help on string NAME using globals G and locals L.
87 First try to eval name for, e.g. user definitions where we need 87 First try to eval name for, e.g. user definitions where we need
88 the object. Otherwise try the string form.""" 88 the object. Otherwise try the string form."""
89 try: help (eval (name)) 89 try: help (eval (name, g, l))
90 except: help (name) 90 except: help (name)
91 91
92def eimport (mod, dir): 92def eimport (mod, dir):
diff --git a/etc/orgcard.ps b/etc/orgcard.ps
index de5513954bc..fb550f246e6 100644
--- a/etc/orgcard.ps
+++ b/etc/orgcard.ps
@@ -10,7 +10,7 @@
10%DVIPSWebPage: (www.radicaleye.com) 10%DVIPSWebPage: (www.radicaleye.com)
11%DVIPSCommandLine: dvips -t landscape -o orgcard.ps orgcard.dvi 11%DVIPSCommandLine: dvips -t landscape -o orgcard.ps orgcard.dvi
12%DVIPSParameters: dpi=600, compressed 12%DVIPSParameters: dpi=600, compressed
13%DVIPSSource: TeX output 2005.08.30:1410 13%DVIPSSource: TeX output 2005.09.23:1744
14%%BeginProcSet: texc.pro 14%%BeginProcSet: texc.pro
15%! 15%!
16/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S 16/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -352,210 +352,216 @@ B0DAA1BA19D638676E9CF159AC7325EF17B9F74E082BEF75E07BB563C96C0A3E
352CCBD1F58ABBF1F53AD21E3BFF25EEEB046F66A924E5F431EBD7228050BE2DF43 352CCBD1F58ABBF1F53AD21E3BFF25EEEB046F66A924E5F431EBD7228050BE2DF43
3530B9B538DAAD511EED97630CD9A9C05CC49DC251325A93EA842C6D07B44BE620F 3530B9B538DAAD511EED97630CD9A9C05CC49DC251325A93EA842C6D07B44BE620F
35408E66B611F54314B0177E299304F2294F8DEDE9914736944F125A50B5007373E 35408E66B611F54314B0177E299304F2294F8DEDE9914736944F125A50B5007373E
355588AD80D9983CE7824DA30CEE5DC3114D69D7ACEC0758D8201805B82925EF3C2 355588AD80D9983CE7824DA30CEE5DC3114D69D7ACEC0758D8201805B82925EF3C3
356C87A1A169C5ADE44B561EC1660E617FB39D1B1547B33C0FEB33C3A1D7340A62A 356975289D47E7F35898FD87E0BE88100E53DDB356245666E7F724C208CF200B76D
357CD9CEFA49481F19B39A704A53A0B98A11744143CDDA0E668E6325935C6497A9F 3576E86BB756E083DC34DE1DCF484CD664C826962DC9CD5DB207262A43EDB8A18BC
358AFF471194932AFECBF25B441AD55A43751FBAB76F3E544C4254AEC4BEB5CFE4C 3587D3F35237299AE378AD68A89E97D65CB05503E2C2D951E3AD2A544DABB19973C
359C1318C3A0FAD0E8C1BABEE20B203E1DD9412E66BC55BEBD6FBBEBA84F56604FD 3592B9AC59428D1FBCD89C058532357D2F4D53F35D49FCDC303475E1B41B3A2E18C
36085D50F733D9794611F4137EC10ACB4C4ECA5A81CAACC45213E92ED3C26726BBE 360657AA0AE4D04BFBEEE2A24D462249CDB73EB96B6702C174BDF87642C3CB6F3C0
36191430E7633A2BDB8EA3D0C55259D7DBE468AC0964A63728C9B8EA4E15CF0EEA3 36186B02C65EE7D5ED2F636F15F50E5D1894F48AE024E1CEB56AEAA3967DCF5ED5A
3622E754B9170EAE6B8818DCCDDAD643B9F6C91C3C5B245CD442358C60AF390DC76 36263C9DD1DAEB9C8A353C2C90BFAA6B66B9E0B13BA0CE464A3C8CB2C5AE94AAB37
363342E659D4EC45552626F069F346F46B18062CE26D5912336C6B29FCBFA5C3113 36372C62E70CEFD0558E483789630CB0FDF76E9EF75D8012E5F7FF85253C480F841
364ED86E44B529CD95B7B5B934D899762C4F3457F56ACCC763BCCD5BD08975EB5F1 364CAA7F9FC1E4AD4576BFAD1825C989D197024F8ADB77B7DF5D341E2B68BD7FF5E
365C5216DA4CBF3409EC71054B0145183F7DFB31517D199EB16D4C6DB0AF05E5720 365414852120B733078E1B703AC4845E63CB624BFBC2B575CFF29AFB89BC5957A1C
36610B06F395BE3C8C59CEEBCEA1E00F9EA3FD880AC197508CEC11E33B6B6EABE3C 366D3838B3FEE6252CDDEABBA24259E50B48741EC36BCCC888E09B9A0BDDE044D9B
3670FAEBF246743F62D280875D052656696AA88DABB918F793CB2994A1ACCFA0CAE 3670551B31409E7FE2922D73B7E52B08C32481A2F29E81F2B1573D085997BF65B06
368AF6FDDF489109DEF07F93B5B0078FC5FD9829DD296F62F23400F5DD6CB096557 36812E062C2ADDB75A199AE7785015967917D9FFF94DCC8CD8CA79B95560EE9C09B
369EDA737413C744FDBB0615BD40A79EA2929EB7AC767E58D886B310700733D2895 36904441CC622B2374030B08089E51AA9E9566AEAA9F81411C638F547B15793F884
3703925911133631F28291974294AACF4A35F92A5E5262DCF33810A6F9C51E9D141 370E04DAA850CD17CF5093F73DEA68AD40C288EA0C25CFD9FEB596DBC7F86C9E13A
371F84B0C26B5ADECB44B646C79DD1C656529B7122739C0459B2B47A2C357EF9A36 3712F2E43BE780B66A03B4154191383951FF535D8866735B6879C5D4C51147C7553
3722B376DDF54F1F4F133419EF14CCC6010D360DFA8A7B122FFC5A4C560ED184F16 372A012AB7FC667F7DF259690D47B1F2DE226FE539DAE8EE6FFEBDF3186E6ECDEE8
373057D3F76B6B2E935B31B17FC4066916FFBA0B9AFF287D251985AB3FC3D0D7E9A 3738B3E2CBC6006456AA69276CD025F387ACD73F0CEE35CC1ED6771107E3A1B866F
37491F094356B3D6CDBCB2D74A3FDE23526B22C223EA35C9E5054053B23AF004324 37419C5C17A18552EA2DBA65EB75D493D05DA9D1247D77F65968CE5BCF68D56E249
37580F023FCDFDFA6B8F0E03A799D87FC2690C5D1ABB9C52B03402E37309091A1FC 3753D41AA3360275F993A8C0C7A33D6317AED8C6426C374E7833241E88DB88862FB
3761D66EB48FE3E4BD326AA65839A9A7276C876F8079C11F2F3A7CBFDAB5AD3D4A3 376411E711280F84C46E1A18D0F520A2474E7AF7455709AD19CCFA00463033FD0B8
3778377AE4862F390039E3FBE5D79B5318774B0A9B1321AAFCE8E87568C0AD0E82F 37761D2CEB925BA10D19FC97AF1953C8F0EEC15254F2C4C56E9FFEF66D00E8E0BF7
378D4DCEEA5DD4EFDB2E89D336174E76036DA08DE4A26FC63560057B87FDE9E060A 37897B60CBB7F8B56B82B2F846A53E2E36CB5D27ED3881206B27DA02F35B6D32962
3793AA30E1B447B1E8EF31762C0998DF24B2860CF8B589FCE1050CC259171420306 37954D89A03F67E672D019F2DD19195E80C0D0DECD8FCFD259907FCA25D5C407882
380F4DAC090E032E4C3E0DD43305541155C1EB135B2093F7E23106387AB7A3DA0E6 380CA7E54D31995F1F14376D72BF33D1AF534A05FF3D323CBBD48003F2A44369C55
3811A835F6D058227003A8C974907CC073F2ADE33AA774165BB24381E65DF19FD6E 38180BAF975090EF0D6CF0347C0DB4C6CE743447C7A48981E50BD1667B08CEF2A06
382F15BB66BBAB0129C79A80CF32E542B68FFAD1BCBF6A4D867933FBBFA82771E7F 3820B85DFC727BD8BBC505ABE8AED6B7C08C675B50ED7B4FB9FCD0777DED4D7A3DB
3831B2E677040596B7872A038FF8F23511C33E23D362CED5E303736D1CA28D78AA2 383528D20414E05BE3DF1F7A76DEFA35135E27230C4CF8069081FDBDA5CAB51061A
38420701B83020AE62003DC59413C6A2413C593CDC819644742F8CDF60D541710C6 384E12CD06BD02AB38CBA57492EFEB4A12AE7B58548623D7F862515AA3EC1B4F84A
3855A23FFCE6F6CF6AE26953CA4F01A62D6F7DB8F122B30506891DA023D16E56BE4 3857C9CB4390F825B68E7A6DF4D67DAEF89F1D461ABEDACBF1FA02FEF65F0B8E3ED
38684D72EC9DE3B16197B3BF97EB8A840BD2C17861583477317DEA062693B2EA959 38645974B9EC80855D5A1B34D792CC7793D4F05E81E185C3FA86C8A8FF108BAC2E0
3875F5233B416B4E1D63C6014BB96D0718DD9D81A885793F315402E91C274122E5D 387801AB0B3FE4C0CD5257441F29F2F293F4BDCC67D00EFB68440FAEAFE138279D2
38896AF9A05E10DA6276A33E861C006807BBA6B005583CD961491D5F183B62EA558 388415687CEFCE35F8A1BBB0C18AE4A8ABA688D2F3894B5654AB7AD595E022E6BB3
389C50F25F2F6B211BD3723FF98E01167C48C0A6CCEA0477895D21519AE86FEB4D7 389083B492C4D6F553EE6DB0D7EF1616F397EA60DC79B6FF8998154D881C74F07D2
39047C77202688775B4C86882C20D24EBF7AC98A3B9BCBFF750433E17824A4425C5 390C3B1B9AE8C307182A23EE559466355AA9D092FAA3651C430A550F9C6B18BB05E
3917444E5201F1313A4C9FF361FCD9ECB1597C1F0605FEA98DD109C636433920603 3911F4B2D7DA2AE2C9BF19B27C827F0E087FD64C5AEB89DF781E2D3FB7F5A471054
3926671529E0E7AE2EC8A7D196FCA784D3CD2F88190B3F150533BAF3CFE15247D01 3928013A06284F6016A236A1152441EE4703EF4CDB21B964FC029980C62A30DA336
393864A2552F602D65088AA7F0D87C02768D8FA62930E18702F98558982C5A202AC 393B5B8DF6EC9FB172B746F1E7A1AB9B5828B1EE32889B22FB532D02045E3567F7C
394111C6B0359273116F1DF9E5610AC46B99995425144D1352A881C79D9E0042850 39444B2A0028D20469F45390FEAA44C3555BFAC6F4AF6350CAA53AB97286D25EE00
395B51B2375DA55C34A47510C7D7435FAE7D391BAEC1F8BC0C93B866E7CE261384C 395933BA6B4E511CF1EBFE8BF240023602A60C3ABC555A08927D0E6AEDC3516D6FA
3966B277C66E817BF006B636AB133309384FE0985DBC34190E1E1ABB3A63892361C 396E4D82F913831A17710EC3A6DB1CE499B58C7B530A1EC4AC1AFF12ED8E79D7EEC
3979970FC5732C7A4259809EEF348E6D3BC6AAB5BB012A098A02E33F9BDDA250A8A 39762B47FCAB38ABB2E80B7E05426A416742315C848BEC5AC0D1116BAEFBF220607
398421EE4EBA46B82C10A5A6ADB2390A7B363CF16A0FFEFAAD7F6D2A80FE4720095 3983490F241891680E26C03DB4FFAE6CA4FCB6292226D4549CBCABC3206D1E4D327
399BD78A6E4B95D6FC7DA4196E61C5FD0F9F37537E6BA581496E38625EF0B7826DF 3996AAC59B3F07E5D68CD7752C1BA1178A8C7DB6E947DCFAA9EEEDBD01FC8A4D201
400F021663E6D5DF3C93C5EC2C5B510867ABFC5404F490C683337EE7B22D3CBE7DC 400F5BD270279DC4805A24382F6A6108D1B3414D40F46EA91C6108B333342EE1F7E
4018EB4F9F2C25034C8779010A6835ACED2B05B9CF9753760A803073509C71A6372 4017086DC76CE42C9C6A6D2858CE3B3E82D0294D8A88E22A0FA9028509F97C85CF5
4023634DB39F894B6EBAA9A34511357F3C106E42E9A6A592C1B49BB0AF668C95448 4023B565E5570F8D4F6F40B8CBD19181B62176FBE65972381E0715EA9281EAE0FE7
4039E0968CE39754452648068F82C53CA2ABE392713979634E7DD66819E7B3FF5D3 40366B5154154738DEAFC9932B3D16EC9EB6F7524F22147C085272719A4AC5CBED3
404A8890FA876857F4560A44029389A6E425ED8DBB25BFDDCFB510C071414760191 404E62D88246C56B12ACEB231D42BE72F46D7C6749F9F2487DCEA19ACD3FF21E05B
405A36723D251F10830B03E21B6FD61C1E92BD630B5EFD283AF248DA69C537D6F0C 40574324DF87D11DE064F7EFA010B699E7C199908BFC672DDCD69B98D81DDC9C7A4
4061CDC58032A7A91E836FF66810D886A73453A28044F55F754CD70A9B3EB5D27DF 406062C25FFF5052E5B8042AE6898BAF38ED1C063780B672F0B4E8D331127C0D612
40751D6E57085AC4487C5D015FC51F840F7DBB1733500062C608802C556F8A4623D 4075705230D97ADCC8103D85DFC7BF7CF154C8A6AABC88419E732EE1C6C724288FE
4080F94B67BC91E07FC2AD7E067F3C033E53216804B7371498113125A8CFC63D450 40846F011FD8DD86B343F6240D95D20E8C01452365A061345E876A1B672C2548FC0
4094760B98ED1397A8862A8FA5D13923D22ABDF48B7F502916EF7C7D6BC52EBA5F7 409CC0E1B02843714DCA1D8837FBB77E42E590A00D0A4EC1A34DF909A83898C6275
410AD95E37E4979B7417C8C0E2599E4BB85883AF9E9A3C9DA432859AF9C909DDA53 410DC40EAD69FB9436D7D5F0CDB5984A79B86A5AC2DFA0C54F8DC2B210D5C5F890E
4118ED9C0B3DC6BF49C5FB81780078209D21E6B54A8E669212B6E3569B615502ECA 41164487A1BEB453C2B8D15BE63A1C74CCAEA825CC480AE4C2F4EE985DF8FB624A5
412D67BC610E59409178B640ECD0A125371ECAA360FDD5843892BCBD22BF4D640EB 41260CA0E37A9638558EC3C5D1E87936B77D6422E87AB313CC4D91185AA672B92F3
41399515496E12E2C68567610FC8F6E03C176D14B692A9A23BE3B50C2EB30BCE5F4 4139D76E2D34A17BA0F35203E72B7D26B71B332D352B2101E871539CB4479954F9C
414481500B293CA54AAE5CA0A85C221493792B967423418E870C4DC7344E07A7E52 414714158C724DAA05BB5B479CD54E8B0528EF51043EA676CCA3AF74F6CE6024EEE
4151B2DED4C2FED4C602DCF37065FEE9BDE6D1FD95FEC1F30A5E3A1833B09E6B1DA 41571346FB0DE3310627BCF9C354FA2BFA44D00E4C11EFC1585C5C5E0C56ECAB11A
416D6A41C57493D4C1D8D87C8BE2443D2B917A0E3D26C324CA101E84369AFA73586 416EB2037735F483FC4DE666CC61DD2B3214FC3EB4E960DEE07E5835533BE351B99
417E499C3627661DCFABF7478DCEF651E33C666957BE759F9DCB9F263AD3FA48BBF 41718A32EE9888E98922885F3BFC8D5A86B076FF8030D68535FDBA76FBF821842A1
418B47A84A914CFD8297141FF5AD0186753DADAD79315D14C68C19305D73DE6E4DB 418F7068897E43B3533A9020F1FB35F6BDD8A97C4EE1ACA20EE72081527955D6EC9
41956BDDF037DA982E956F9C3B554E0746178294ABF6F46D1669D1675AEB8C924EB 4196A2FE32DB339508A0D05AD69AA839BC0D0B7C3B3EE4319A5D27FFDFDF9756583
420F9966956C8AC25940640B8C9DE9A76B36D04806A918FB4F7160503031AEB7DD4 420A39D0570768314B0B2D5303EF7AF3D52B651093C440CD8AFCE9E27F512D52345
42161C04BD3F6711F09EC71FEB6EA3904FD8AF75054659ECE0DAAEA1A614AAC6574 421E292E0E582FBB4A628705A63E6FA384AE2898D324BE2E142716114F158E6178B
4229098FB7BD891E65552583AA519C7E4F9E6B5531B2215300CB262F42763BFDF5D 4225F4D198C5A16608D05C22E647C3025A12955BB5F423563EED4AF398BF2621383
423FA2E6EB7E7F6585C80CD880ABAE340087A781C7EABD56C59A14EC17920FA7AE3 42304AEE3E372C05ADEF6C5D1E5047EE5701884A65B56E0AF429B78FC3A20F72CE8
424049BA2DE8D5BB77ADECA23767F842642B7C0CC9AA177990CF0DD00A9DD8458CA 424F1AEBA8DED5F661A2B336BDC348F8360839E1C2455E7DDB0E190ACA4FA5F4F19
4255506DD3A5E5BCF2329047F560F0E30FCA7CA304594B738A0C7C70D8FE364AF59 425A2223C786B8E8AE770CEC7A8DEFE523E94458BB67CB2F22555802BDA8CEFD118
426620E6527C061B6FECEBEEF0841969656F1A7A27731338B640A3AF243F58FBBF8 426ED2E1BFEE8FFDF6BDF4A61A3E5461B65166147057D47507E7DA9297BE7856D7C
427E8ADA1CCD8DE701243EBA2E1F44C732143BFC4FA89B24B3B473CDC022111D477 42736126E3B82352231A9E9EFC120935438F90913F6DB8953D325907CC8CB0BA012
428ADDB77AAA600B6C6948133D05EF0838BD1E1EA1C747BDBA8A0BBF92DADE753EE 4283AFD73AC92E481E1FDD6DE7C49ECA620DE1AFCA3E5BA20AADD72B66BE2ECD1DA
4299F556D938E16961C2D13E7534B2B5F9EFEB2AFD65FADA831E81237BEDE73F7FA 42970FE7AB3C8DEEC078A034628E68F7B915FE7AC8C3F20A5FA0A80436E4FE0A20D
430B076E562E08D57555B3830834B64E4C1E0E1F89D9A5BFB959032106B1EFEE431 43036589A6F5DB1BACDD8D7325E2F21464FBAB56E729FE7343B02D260FDB2C48607
431DC828EB4EF66DEA434DAF191E92F1EFDC31954D055DDD87B1A2762DAD6AE5994 4314FA69790941A8F45ADE89EF8C1027B04466D1BDAD348A91D5191C7A596BE2408
432322DC4FA2FCA4AADC293158C75900C540BC85384340B29A4B25F486145C311D0 4325EDE1545714987B4473A51B0C39B1CD9F7B27E7DFC4E828D321E7F40282D7184
4334296CA91BB16569CDAFDC9047D9FC8C26792828DD3CA18E045A2F9B473491501 4337C5341A9EB897DA4A6C77ACC3FC22B98F40D5422CF53F3E561F781E7BD0F8D77
434CD3ADB57FB1D94C1A0353861EAC98E1630E14BEA6DFB04A5B3FAE97F4EA3C792 434F1225D15E96FD9A5723FC0A9E07FCDC18A837C7B14EE0A3158AFAFA976E6F419
4352C9ACBF61A5C14605AC9D0DA7E4D9904C6C6FDFF564723FDE4E72413067055C7 435B57A920F7B0784082F818DFE9535570D1C2DB50421D47946FF134BE8FF8B70F5
43622946CD598266AE7FBC63FF62068CA4F40B80C8EF9961503F7894AF2A392B595 436F3BD74B7F330BCB49D0CA72C275B39F1204BC7B701F26F80586CE138043BFC05
437376F0CA48B4B23AB7112453DA02274095741C7102733C553B6EFB43A6E1DB0AC 43711E101A875BA9277500C5AAF134F7E56C34E4704C4F47199F27EE2CC95B70DA7
438C320C44357C4C7E98B96B30D9FEE86B7083080F0B6262FD69E07557FD018C1E4 438BB6D247FA6035D0DF7CCE23B54D67A348528FA551C0CD11BD1B46C62530CD19E
4392CF6A276E789A63A9CEBCC8867E12C60D78B81F7C1AB5592E4AFE1AB1C8ADF1C 439386B27B16A1DDFFB157604C074124374878F9ADEEAE039B4CC91426BE209BE74
440FE8A4773FDC6FC01BF698E5D46B4282983FF16F028D14104423D07047AC7003E 44024FB053A5759BE2D970A5CE835D2E462AFFBF4649380049CBFBA8A030135A09D
4416B5CD6FC2D30DD0E6162498FF67D4091D68AC65A4658215B845AF706F4B74262 44142DD6EA17E65E0C8BFF3A442B64FC5298C50AD74ED875176EF737F8BE425CB94
442C3A28732A7E1E786006F544853CCCED8B530ECE3460B11E11CC87B22DC0AB93A 4424C7035B5DC09E70A5B35230627CAE6449145357A220400C34281EB9475D3EA87
443AB7EC47BCE2BAEF0FC23C9A15C0D421D75AD13D931B8669F1018A207D8C57228 443310F5D6C14FAAF11356651346907AD48FA099EAE60ECD1E4C9491DCB6519043E
444028FEBB6453827DE33B1CDD0527CC4815CA2CF05CDF4735A1EFB79DED9AA8AC5 444A1D5536CC8F92EA54A4D7FB9D1045284FA76C70F9DC5A23412584D11753C94EF
445A074DA91B9B860EE88F5269AC4C604DE488C269959A108FC5175637DFFB08DBD 445306A38B474E4F27AE0879819A5BA1FB401FACC0A71678C88BB2E7A8C1D130D91
4462AE093CFF20E15AA2624D8E2A141EC3290852E27FBAC6BE21B65CD8036221193 446FCAD77B00FAC404BA1578779135656287A1F0BC7B6C4D3122ABED9F8B1927D3A
4479967C4A6AD631F2374582F8DA277621961DE7EA41FA110782DD3E1E7CFC51058 4472038D58CA763939F53B8F667DF14811FCB3781B774EE3137B95B456F77E077C3
448C961948FDBF02A2E7BF0A299EE696F0B98A0C4ABB7CB67AB28A2EF50D3D212AC 448F3557D5E06CEDBFB7FD84F5CFA36BF60D0C6BB8EE19FAABD169148FF6C38C30C
4491C51DF3909E484FC3430FF1AB2CD9CE667A9EB489A981A9A02F8F999D9215F5A 449B1E354FB043E47F4D1C98A9F95FFECC90760E4DD269F5E212F7E0F6B5519664E
450DD609F5DF9519DA3410867680942AAFF2275D255709997653E88CB23D16A110D 4508D88024A5F439DC44C08C2F87EA4C4C5FB0FE0DA729C5D3D53F803B6CFC92793
451C5C65DC18750D868C8F60E64265C81DD7CD7C2036D13532E3DC7D12600FAAFDE 451B955E961428A9BC704FC576CBD7B77A2E52CE46AA1CEF0CC8987D682804C1052
452EC32EB7989458A220339D451A25E3C4B2D52D265875F06465C913FD75BA30285 452D0998F37B2122EFA3932346E5947A5C96E09563D8DDAE2BD95D137155C044788
453AC61B32BD2C307FCBAF38E14FF6A64C6A5C874A2D7DFE3025E3CD30BA9C60D89 4531ECB14524651A18A0FC7F0D43F7C8888246BF5F3D7EFBA55F7924FACBD9948D5
45400BE5411544E97D9791949722F76A99D549D344BC1EB88C9B8BFEB74EC94D190 454B10027AFA16FD9876E034A9409D9DE405BD3370A907BF9ECBA8289061C94019D
455F5DE00D2EA0003DECDD4FDEDC0834053AFE3EFF04193E360460A286794D02FDD 45556FFA03F2FC8FFC11882CD5ACCF3AEE9D0FDDECB08433E19F536CEBDB5554947
456A174E3CE72C69D32C7C4EF33B97CAB2929A26662E4E3C2313469ACB6BD21CAFD 4567769A3D1A6160689F118B55FEB95EE64391236407596C67E59EB604358845376
4578C81FBAB0EE7C26BC5B40AC9880623CB5D595A4351BF7848CA3212D74AE449CB 457D828EF56639C526F69634AD2C5C13F36F2CD9889BFFEE334F9EF212006298465
45835BE1BE2C6C795B56D2731C0BC9C5DBCC652F025212C35C50B3937212871472C 4582CDB8F2BC4EE08157E5AE915763EAC45CAAA393FACF3CF8E50788AE1AE6BD39B
4597B6AA7AA075FCE6068BCF7474EE3FCA088733439E5AB06D78F62A574157DFCDC 45949F24D099DC274C4CA6538C20ABBD8BBB9FBE3A038D6798317B938327A7F33FD
46043990D8A9673300AF0D2450C2B9B9000BDC9C4A5CE57764A7236370458E8A0D5 460866D1CCD14148C95B96E0F35596C6A558077A6C7A2D87CC83393FDB57A6391F1
4610D777DC1156A9D82D070FFE0DEA2DED3854CB7A09FD34F1B3513821C26FB6F6E 461875E85FEDAEA2036B1618DF94687A978E6CFDF7944F39E422FE3303270CDAD35
462F3BA660EBB0C08D8B976CB89B4E05C95A20EB2F74F4C1DA67E783E9C936A749A 46281F7626BD3375AD01D436A012868C735326114F8AFB42B886CD32EB4A98A19B4
463E20866E646774E132A0A12BD5907BA8D7FCBACC83004895110BD65223C4A2821 463E1B62B77F2F00548C531EE95F5EA677D16BE65BECF9FE0334757FCFA45F84CED
46402C709F5A8E1E9EE3C0C2430D6CDD4AAC32F45093EEB1AE961B1BCAA823E7F55 46442F30B37E7DE566107D0F57A3B777E38A725D7AA8A4383BCEFE55CD51AF0B6ED
4650B9E5614DF4B2703532E2260B70062E33F40463B176D7645168DD4AF226B39E5 465D1EB1942129CDFDBFFFB5E8D55DAA966AE6A086603F30D400359C2C273DEDEDE
4668B74BCA01988FCF9475B9935412016704A09A331365D2E745E778331ACAED5E9 46638DE88FB502DA13592F3A7D396816DE8A0A86093E2B6DBA7A77C411F27A478E9
467AF662A9D5C7A5FECE76F73EE20E2BBD0647304E75161347291906E7ADB3F2446 4673EF3166D7AD9133DDF48D873AEF825EF6CB162B98482BD50BDD2D48DD65CC73E
4689769F36EEBCEC59167199793122D96428A44A2D8C9B704802543B0569C140134 468FEF538543B1A6DC11E71A3904A11EA208E70CD1852B0B19CB2EDCD0813D90B07
4698F180AFAAEDC8550B566E6D460544DB84402A9AF79D8A315C53FAFA3A5898B26 46919F0DEFFA8F02099B4D6EE3E74B0F0E6BBA43C4A24E6E91E1973ECAB64D313C0
470CF8D7EAEF6B7E19B9DDF927B7DAEA9249FFF69872A6C3F4289546E6969D29360 47099F93025AEBBE3B402A87724ADF72937C66235F36A698529F92CFB67D861F908
4710A8684B1D5025DDEBF2554248AF53EE9D53F9412CA89F004911834BE96221C1E 471493730108FC4D7D9A8E01644FBBEF3B39253B7BFF5EF1DF6C2ACC4CC7F1EFD6E
4728582F51F1A345ADAD0537938A96E73E35063A2207FF7FFCC55C9F7AEF734D089 47272F8A54E8D568A484D0E15D2C88D1743D6E225ABD547F7953A5F5E42406F4EAE
473A0693D41848236FCE67E85AD5372C73B61BF5B58CC2D9616FB78144198E65267 473EADD36D4998A41CEBABCB1F2945687400C7BE6322E4D924D9901D42032CC55FE
4746940C7E3E3381C91C877B7F78B4747F46D12CF347E20C1A2A78BFAF96C42D81F 47464254DEB51F5C844BCDB03D7069AD72F8F55CC306E12481D0CFAC6210BBF6EC1
47516715D7E1FE7E671242791DA7D84D5D885F905093969F3836299BF6874A8B12E 47551D195E3A1B23ACD61FFF6A1A446D86DAD11BAD6A74B66D1B7362004FE7C3D2D
4769E1F3A05D940BFABFDD7D3085AF8A4FD01092C88CB75F4060BD85F2F958DB0A6 476E4D5580654FB98A089F7322DACF853C0FF96747526AFE3F896988F7B0144897B
47764145DC3DCA6903E0E018A7594BD7114F336D12C61AE4E29138A0165FE21BE5C 47788091909ADDB26726D582235467E7E75372F16F804C7063311402E0F08C41804
478C2F4B9D496ACE81861919BB69DC06E5AEABD3F5E5BDFF3F507BDA4E366BDD481 4783264D3A54C0795902B0A70CF624827016B3D135F57C192E05EAE87EBE42618CD
47905558CE1213A6D28CC2D5D2E5265A754141E312F42B64EA2D51C79C71DA5BC92 479CC4D35AF0EEF5BB9A0B78580573458BF8E808B2C9352D9AC844FC13B64EA6A0A
480920821C437120A19F9EA3BC48F16073251D458BA53C4C7DDF0035ABB32939C11 480680636D47A0DF610F14FC3B59215B21599C52E206B5038F5AF3A9121BDDB0991
4814842DA0E489C7C2025B432B66352C56D78BB8391DA79E75DDEC29588C596BB4D 48164AEA5390C32ED5242C93DEAC8A8E398223A4466BEE9AF7DC8EBD1E58E82700D
48267EDF9492B91B83D9F1F26444094D60329A5D3F1BDE976DB2E71B6E4CA9B8EA4 48297AF154B17F0CB94835996913FA29796BF0F262FD7BF307BF31D628128655E40
483BF43C91A16A2D9D23E5448C2FA38B8D24D142549E45572A29655C9BD31755718 4838E8A8A6D0073EADB219EFAA3F1C1A040A5CA2B3AB8BF13500250D5DCC6C23A8D
484A58C3DC4964C0B49791F36809863835CD8E4B196CE8D18D714B2B3AE2BE90C4D 484546ACF1B5CE5E71362B9B8B472DB26FDE4624C4D25659F80179E2B840EEEDA65
48565C1210B9E3A8F248BAFB0CC5579302F6FC26FC3E197076891FB758B0595DC4E 485262CAE1572E905DC55993DD5652EF70AD17D4FC3651816E60CEE9A7ED5BE8989
4867F1EEC99FFB654D46736BCE43BF37DB7681CF7655DF55592B7A494EA541AFFC5 486BCC82E24E2B118C176EC340917ED0D61C5195A3B5BAE92373DF0426B1B0E2E3E
487CE5815E1D989D9E1CE87E116DA4BCB7E16AFAD2327C434AC71EC756B96476BBC 48707109E9975DED88D1D0A5459D6DBF6912938201A68B3260252091F8C977EA319
4880C997DC8C439E839EC939B55BEA698E3435BD911258234B6993B3890077DADCA 488F765D5E0FF6142886632373821EEA024B37604FEAD330949B483E7E9D972B07C
4894DE92B37E94166A24DABCEAC3BB808557FE09FAAFD6DD316F44952A6710B4824 489DE877A6991218B9992092462F59EE0BE0342BFB7F26E06AEBA3272D61BA95026
4906F5B5D4AE9F8A14DD207DFB697D5DC67FC3EBAE49A1A339525ED5ADBFFE58333 490C1529A435D9F96CBDF8541F91DB2851470B2155C544882D0D0E3990CED8CCF21
49143E8AAD4030869427226950AEEBD11A07815D9C3BBF2570A51D6C0249CCE9026 491DC8CD12312EB65A48E085935D2B8C0825027737E7E7256AEB89FCE18436FE4C1
492B12ECEBAF112069547DBD47B7C8869523AFA7177F6E87F534A5425693DB8AD79 492234453520F8E5799ABDDF6B0289178E0A5FCE7E0C9EF98983DAD2C27F69AD57A
493497B95A90B056F61B6B4A89A7BB23B4F93BF5DAF637D71DDF4F48E34CF347EB4 493417B9539492F30C6AFFFED9CBDC21EBFFAFDDF1F6E9AA9E312988C6CB380CD82
49412173D9A72526C9B561F6CB2C3D43B0487E09B2C7B1822E9CF5D2D3836553AE5 494D86224F31FD16D04E2C07016E99B23F59F05D4F0BCC758B4ABF5FBB2101DE03C
4955A71793EFB52216CAA4948C203E1EA410B3BA72B6E2059AD04B5ADF54B6A5BD6 49588F5C6971BC83CD764A2045074C31A8C465047FC28CC7D3CEC16EF29E3DDB8B2
49633EDE67267334D9170FF9E7F9802516295D91F1A63EA8433F696E3565EBDDB1F 49661CD29FAB521D6127A792DF0190F2D5F79879A25682A9452C2A04898B1D748FA
4971055025C16B5EB6708479CBDE2188D8371EE8863CBCD8533DE37E0242842C0AD 497B1B686CD1F9B706657FC96BAB215E471630F94E6A68741CB3035F04F22FA0779
498114045C8B131BA3790146335EE07690C8DCAFE2F61824BE4F109F33486663D45 4985266634CAD26160BA102705891640B1171D41BDA8F75E482C62CD3A9D3155738
49924391006E700052BC8E90098BE7B5F13EF5412DAF6BDF0DFE9775FDC185369B1 4991CC4109C167294849466BDC51AB3F640226787E805DCB1A6DDEE253B23E7BDB5
500C53AAAEB34A9727AF997415595F8EED263C0B1B9448119E705396F6143E8276C 500BCF49FB392113175211BE07E855AF27EF7E7BACE38AB88C1D9BBFD648CE1A073
501C6C586E5FA8FF1C6B701578D1399211EA9398DB2A6397F68C7B7E0B6434DD516 5019305F78663CD67AFFF0881B355661DB7A48D6F427F31E6E0ED530D55CF5FF3BC
502E4F039207D1BE48AD5F63C3E804C2DCEB39E97DA8D1D6E8C73180A916D8923FB 50206D2F4FE5E2CE0ADC23B293C5DEDDC39E5F21DE7E629B7A2333C7B0FC6DFE4BD
5035EA2430412C28ADEE42F3B6390ADD6159BE501FE3252B6EDE96AAD8035E2C8DA 50353FF9F83580668D56E0810CB5830CF84A1E6AE8E4A8CA2EEFED7EDF89A09AD75
504B00C25B07488F2BCD84508719DA8D309F8191B86CDC22E73730C9C91B7CD6062 5049D315E5C70A0AF0352BC304808209E9E4EFA27A8A9AFB5ABDACB712E47AF831B
50586032E22F92B948647A3351A31DABAD5F5F8D2C9911892C359471026AC047E49 5057FFE6F3BCEDB86661A9A6B2F515C215276E963997C88E24FFA9593192303C907
506BFCC10C17712C6B7123EC9FE3BDF0ADFBA2BEC0A69B18DA231B43BE20694139C 5067E9B2E1096D692024C3B52849BD82E0FB5FA248DC46B457A634194C6BA29F2C2
507D6C856E3B7C6907F8BFEAFD753BDD5B50F8B25ACC61C778FE96B229CA7F891C6 5079FEBD559E7CC6A3B5D9256DE1396EB2C635B7A128193EF783CD2ED5F217BB9EE
50807EAA8551B790D6CAB23C80436A3E2A7F24FE4CDA84AB81AF8D4105E2386F3EF 5081B2D2377F993BE53ADD197F2F12DCC0576B2B0FD6DCF6784016F36F6BA89B834
509D77DD83730332F0F4B176E0C4ABF39ACC995CE3EECCE76C6363557C08F0DC723 509262D1E024963D39E279479E1D127CA75112BCFE619615EB6C15346EC3A2EDC7E
5105E2B680D852174AF6BADB73DAF19EB4F921AC61E1FCE16EACABEB591173F687A 5108A342E1FC8B8A61B3D08968C00977A4654F036C4B9353DC2C7500EB8F12A2AFE
511DDD0909654D7A243F4105F8201B6343221DAA1589DB4C496C1F702E0BD3CE68D 51112491D37A10EBDB0F19409736DA7B62AE9A9E7AE738DA76A63D0CA3C11B997A5
51275071205B4D8ED2DF85276A3E53AAA46573771E0868482A2BC805C6A9D6C5480 512B0FD5E8C0FDF9759487B3803280F1036B2DDAD846AA162113E5D2EE94B301A58
513E23F690D6FA9CA9600A9F42F7F0EC92853C8FF64E2F137DB193543F78356EC5D 51302911791528309473040FE0F512A7A2FB30508DC2FA0F4B4220147AB7CC4A83B
514A090542039B0501650B6184093DDA5CDD52B6F8CE4460AC781C2F93EA339F10C 5147B7A9313AFEE47127AC66CCA2FD6301D58C27B5C49E4C41785EDF404C5D9DC5A
5154921774575EDAB301E387C5A9200679ED86127611043364A319CB0C68B6FE176 51554443FCCB690A5AABB33C7E1874DFE775E39CBA54C3F609065E77D7DB6C34BD2
516B0BA672AB3DE3F2B14A9E7C8CEA1DF76C716FD53CBFE583D1D0D20D0062A3DE2 516892EC469510256C092AD1A8B70C78D68C2EC211CAD18D3A38D571B7C25B7C465
517689408AE3D527703C591BA8C9982607CC08384A1049A1B328846A719FCA05D38 517D8F90E80E19392B13899CDE111D7145C7A8DB5B988F54049E5E94BABF539A7C9
518087619AE510325FBDC54307AA468827EC8D84A19376740210EE95E5844872259 5186AA339CA44B0DB3B406B9F29373A3AE28B5E4544D25D0A4DDBB1EBC9DE4D5854
5197E2A055BFDC40D3C12946ACFE8CF26095719C3E10670A10417679DA5639B4175 5192A0C39158DAA88CCA1C2DE5F9E588A35669FC9CCD6C80251CD95B3B75555C37B
5209DF86246392C78E114D745B9FCBE5D4D33E4E5935E6D4EB9F00F408045AAAB98 52019D6E10D1A2EA592D6FFB2A640BE02F00C1A62B5D6B1038C6F13FEF94ED8EEDD
52147E445AE32BFAFF24107A37EDE0E9BA08934370E212F39035BA2AA51E2D711F4 521BD4B1CE4A61DD41DBE1EB32DD2E98513AC545E9CCDCDC74F8D1293BFC4F81AC9
5226D7215A05F5AD11422C9E8F65B80405D29CCDEE79165F59EBED93F9EB264792D 5221AAE6611F1F439C52A87C760D08F86D7273EE05569F0D62A88F8C0BA1E6BE645
52335F8C1FD095F18511EB516DB40AC15B6045D2A24A2B910EF3A632278208A0D66 5239191D1D39D43C9C3565C972A145E0AA8924FDA038B4600A8FA5DD3CA2DA18863
524E19963591F45FD61AC0183CD5D4C5C1C8D69020874EF6079376801145636901B 5246ED416AC4133D0E96EAB882BD17F1C995D7822A9A6BD20F9589EA1B99317AA71
525D9EA1E35EF1E6B37D257D5B90862CED7C0D1F1B32C5324A28716EAC93B556BE4 525CE08AAD2837F4956C32731CD2895697AA160B039EAE99842AE7C6D562BF0F383
526C2716C85ACD7AF85D52DA2E33312C42A6B7F28797BE80102E37B7F9C933BBE85 5265369C8A133D6F3C4BEC8B45911143B9C825F8A3CF4FDCB31B97F48006BE9ADC0
527121C64FCA542C6D5B7FA7FCB7CD0C41295625FA2D99E6FFC4D08450EE7C1EE81 52711DCFD1AA424D6D4C5F21A2DED6E5E4622BD2D6419F8B097FEDD3BF4806BA6E5
528BC356927FF6F5AB869D083929EC1A643515702F602AB140A410378A65A721DE8 5285FE67DE62197608351FA7BF17909687B58DC6323356A1560EBA7DAF0DA6C30F1
5291BE9F270589F468D5D2003FAC662A907296302C873DE919466A128FBECF122AE 5299A1463EB04179802CD3D9393867DC77191ED81B045B924AA3F76809565792135
5306259456457D21A217D359EFFF23758BB537BD97472F22EC4EBE932F762884EAB 5302D24B8E017A7FF8C8991D060E6F3F6137BCCF30B41A14DB349A677C99D2EC6FE
5315D59AAC0097E2EE5A9EF77B1E0376AECE3AA529E5E518A24569007F5DB2F27BB 531591BF5CFFA31098AAA62D88E10E2F9844F3AF63AEDED630B1CDDF6FBD581B5B6
532776BFF2348E9B2E9AB0B07B9BDBCA49E37E11E2980754CEF43ADCBBF32B9575A 53298ED711902189716AABEDBE428594FEE3C203BF6764932847474C12B74D9D9E4
533C611F4AEBEB5A718524AB25FEA08E9E913E24FD94AB4E2E4FEFEF29C7A70055B 533D18AA4553DC217E0EE86C5CA32398BAAF0955247A1BABCCB62CD3C59798DDC83
5345FA0FA771D485CADF65EFFDD9B6897F675598532D8E974CB042BC7DD6B5A4B99 5348D248B6E1E9700E989766503D664AB48809E5339A9FD63C537468075FE34D0C8
535F5D36E27D80AAA8417465223649E44E28D5AFABE693265DED4FE7711BB4BA083 5352124080D8AAC6D82EC06146ECB9625DD1A1885B4A9338596EB6A4082DEF5EBF3
536DC71244042798FE7E1965A469B8F8202DEB7C563F43A7E17A088FA36180AEDDE 536AE5ACB49645174BBBC1BC4E64FC4D26469216DFA9C1AB7DDB5364CDBFD50F9E1
537345A2D7705A5ECEE8E305218791D9956DB2E848E422291D7E2E249329246BE92 537B837419A5B7C5968048618AC453CA045E37D8A87F01B24D30E1F0B905CB29816
538892554EBAC59949D310F38819EDCCAB09F4DCB80144604F8F1F43447138B311C 538DF958C7FCA6E5BC581E76F03D2B2E67E97B974E4EDBFB31C3851ABD18A8B17B9
539FCA400AD225FEF31D3B0F6A5E8DF91E4FBC39C93DDD11A2E54D1B8ECF5F386B8 539E4ACC739EE9A72EE738F047F5A67C9EE3011E534C363C4604D4C580B7853F659
540FD0DA95AE3E981FB36D9FA0344D6D41CCBE8F2320539411FA23360B88ECB4D38 5407F769BE90A5E2469258B20F8D4DF10BD4A0B69586CDDA5BD08F6FEC75451386B
541FADCAABE8049B06887D053FBF3ECC8A89BDE4A9F1ED7F6629866FA14ABAA2924 541ED5ABF5489B30D495C24183D6695EC6B7FD554A050A9C7B04D76A783B4346D70
5429BDB9D6C93F6080593A4BBC0CE2567813B2AD04C99FB09443A684E644BA51B9E 54262A0A947304D81F35C29001F3E855AA34FA9B0CB1A5DD721247087AC30851702
5439480AE4AB2148A081F6BCE154261D4B0F03864C6F79DBD622EF471A844048766 543B2484D7F7C488256758D24318903958AB96AE39216AA7252708D7897C3607914
5446A872C8E99A82CB468B6FA50260CDD90B81CCB48A6F3BCE3865AE56A86569E23 544DD35B0C862FBB495AFD7AB36FE422BDB7935CE34B6EAF269A7512328D56EBF7E
54516B13DD6114D98293C0DF2585F4E2D01E5EC8E43DD6FFE027E2F0C9CC360BE2B 5458FB7698BE3946D38365AB6180F139E15E28A52FF40A1C2C42C7D1596C58B654C
546823DAB713978E73D7AA80DF69CADA74D8E23D902B9DA35EA2BC9D03AEF265D54 54604E43AE282CE56BECB9F8EE264D062630205BD361AC7385380F7D3BED9B0C26D
54779E86089AC4E8312FB9CE325D8DC9E4DB22BC048CD1F0EFCD64E62B785D97685 547FC01078D6BBB23C70D32EA798AC9620C60CCBBBCAEF286F52189EE63DF7832EA
5486A34EB62E657BB2F3658B1EA87B4C07C45C8D8283BD35634EC67399AB00AA2F4 548FECA2C7EF4D2CA56EF45406365330C898FA73415F9A18E877429C9124982EB41
549A15A723E8EF9AD000007ADE862D7ADFF32A907D40BF9491FE05BCEADFDB83187 549FA7159B512FAC6259910A21866470AD9945A0D7FC39D956334A6B30026AA0838
5502825ABF2EF18608411F9E31C3306B37E245F1571155D5651BA291AE16EBC0390 55043E3369BC9C743BE3C29512D49EE3551933CFD29658AA3A2B41E265A68152B9E
551FEEF8EDA9B9EAB02F1D3BABA0C4DE4FD20FEBC2DDA743FA0C32F7A746FBFAB22 5516E5ED231DA1EB9C36392ED8C2692FB9E316E96AB83806D72FC1B4C6354E85149
55227B2B8547359B5EC413F98024A5574F48349213502D0F1C71093EF2AF2A7EE88 5522655F669F44E49C4110ABFE8F0FEC7821B388436C99C33B203ABADB40729CE97
55367332DDCB9D9652B705E9D2ED1BEF1B9699D84F9B8520DDE2609F752E8D77F8D 553A804BCDE32480ACEF760580E7BF94CE28077555F3FC58CAB8048E7CD891A5BA0
554ECF010C2F18EA526B4E2EAE1694834494990A4AFAF57286E171E4053788F3B2A 554F09AE7E90C64E0374565DF7E03DFEA10198B742BA58CD7969E2EAEEC8311613A
555B7A2DDF04308E47448A06C66E987C2BEE43B5FD8890A1E11FCF4E0548E201941 555A9092E53147729A4C32B4ACA7AB77A9E01EFF4F294C601A79A3276917682A345
5568437B4BC7A92174B7D5D8F4E9E98F48779968F00803F2FF59B1764EE197873EE 5560A52DFC61AB6E5D3CD6D989BDD8ADCF02272E4A1633B2939158434BD7D168975
557D1DFF6B12B54459FB5A6864CA9D73B89ADCBDBCA2DAAD3B42C4A9175F503F21D 55796A85A09BDAA86DC5BCF2088672B5217E87449DA42F66464B49926AC4A047BED
558C48D5145E2C6AA7D7FD787BC0D 55814023EB87BD154073A163DECD7F6380F38C52BFDADE187DA6A92DDED2E4724F5
559D2E58CE99686D259A4269DA7275AE3F43DDF42593750405108575A5037B2F912
560F18584CBD9FE3EF6935CCB5E081982DEC072F7FD6B55FF962D84373CB0F8C0E7
561C990834B6B64934C646AE5929BFFE0609739EC2691048AE17FD884009B975CAB
56243C38008EC1893931947B846F7BD5B2B4D20AFFCB1270A27D32CC9E673AC0D26
563E3AC2BA7EF1A4A1A823B14DC8E25745EADF916F0EE3EBA79CB75FC17AFFFA614
564F570D732E4C7CA6F52B3C3A1CC726DBD1CE3E808
5590000000000000000000000000000000000000000000000000000000000000000 5650000000000000000000000000000000000000000000000000000000000000000
5600000000000000000000000000000000000000000000000000000000000000000 5660000000000000000000000000000000000000000000000000000000000000000
5610000000000000000000000000000000000000000000000000000000000000000 5670000000000000000000000000000000000000000000000000000000000000000
@@ -1179,403 +1185,406 @@ C4CF2F4F438A4E520CD864F3EAFB5363753B82978F6FD664A14E5D6F3A929348
11791BA5EDB15F1BDBE806E51B294257D7087334165419A6520462D794D670A1D6E1 11851BA5EDB15F1BDBE806E51B294257D7087334165419A6520462D794D670A1D6E1
11803BB03BF689391D056D55AD660D15A386E6D222C9572BDC4DC8A46EEC75124BB5 11863BB03BF689391D056D55AD660D15A386E6D222C9572BDC4DC8A46EEC75124BB5
1181F0E8978FD6031A90E4768CCBF62A5ED8C8087FD66D2033011947634878BDC0AB 1187F0E8978FD6031A90E4768CCBF62A5ED8C8087FD66D2033011947634878BDC0AB
11826501DA7E6D96E227068E993DBB0072F037CA411E429252586CA153360490EC5E 11886501DA7E6D96E227068E993DBB0072F037CA411E43A07E33F7B09F2857AD105C
11832AA8727E9605FB75714E22C232C05DA77FE4B12630E21C745889A8ADC706FD27 118908EB767A9F9C2C040F3E577B74DD991C4113C44027A60B8183F23B527D74BC89
1184831F980EAC18330D5D2E46563316C36CB25F50875F7848978142575A3D2784BD 1190CAFD464A929C40B5EE63D0B69B5DD928C52D0F9839232AD4E51591D15C32E331
1185C9C3A029D9600CA3E9D7A26A5DDB8567F8BF48DA2B08CBE7B76EA261CD180CF3 119178CD45AE926E05C5FF0375F97B4329729976E213EAC877D8B00F85E3D589C589
11863385CDAD915A90244C5660C6F9E32E6027D730681B88FC02E6C9B401E93072DD 119224507F435755EF67755684CDD0C0AE8771E554CD0EDEE97B77131D02CA1DF7C1
11876E018048D22EE65F0A03018F444194BDEA833D8EAE56C2E5E03FBC7558684C32 1193C7F448DCB5DC4BF378B0317D21F512226770B611A3EAB0AC35738266CD03C04B
1188C1353169FC072C0A217D2CD18C4FEF6F6EE2E1D687939244014B09DDD8CF6193 11948113AC9706A39870A7371832E9955BBBB13FD47584CDD636744376E20A2A72FA
1189034D71F007EC89B97005E00A81721503C87B875A6BA33B4D6B2D65AE32141AD4 1195A1B554624DE8DDFE51ABFE1BBAD17BD357DB08B177AD0B33D864AC4CC04D7F7B
1190160293043FC5425EECEA875CE6F87E7C6F6200B9D52C0E285891C0FF88A0E361 119650BF3A26CA770502D639D64FE5A198EE3D217BAD1CEAF6195AEF54362334DEC0
1191E7A51574CEE3918B9CBC83B37DEE303859B4545A7F1EEA33C7A4459E6EF15953 11976E27B0AA124D5BD99A2FF168FA3685EFA9BF5809EC76F44FA3BC2C969F7ECE87
1192A57D7DE99C7BD953B7DE84BC5C0A60A1768EFBA317849A4A8436F6364BE2F323 1198C71A3EFC3256C2DAD0BC78570578B95A44797C965E963285122149283A77E3C8
11934C99478E2B7C83BFF1AEB394C489CD87D7606181C61D15C85760761DC7F3A81F 1199D4C553D1443D094DFCE9E9C9509F2F6CA8A58C5D63471A47901FC8E1562B9C11
1194AB9F63366378809931F10710C8A595966590AE5A85DFE5DF86D59853546C87D9 12004670E53FF45F4DFAA6E3A27B4F955BD43784C5BB356A6FAB3CD049B9FE5275F8
1195957992FF7C0D11FBA2193EAF02356A1D08F2C8A7AB2FE92001E0EE2AEC0ACD52 1201F930F83FC21579E61E7F20F05364B72371E1112287FA5C28917C5F98A48AD51A
1196E52D961E65B79F613F0F9B51EB31F244087B484697C3D4DC28550B173BA7E4CD 120287708812DD609A92FDB764D710DAB450724C84A28513973509C9E4CD3CD50A64
11978D0B0FBE866090BEAF95403D5D03D90AEB48688A8BDDA8AA0E8AB89DD3EB27F0 1203F0CD0DB6A9FA459A178E7BF67D46A21B8EEFEB19FEBEB453D490EFE90094C294
119899622F21C77FFAA3A8A5A67DD6F16AFF35C2B96957216B0021F2D6415A0F5730 120498A246B27618A049FAA90DD355DCB1AA6B602EB1BE472125791CA0E04AABCAAB
1199D179FACB55678F5976010A20EF3C0B4EF5CADEE4C4DDE59A3DD93A87881DAD14 12051BAFE92760A10CD9D0B501E55D3B2AAA76CFC374313C4BB5C765C9CEF1E7E5E8
12005E9438F095C9970B2DE2AA6CC85D26471A93BF7D9ABF0253FACFAEC66AC40563 1206081D45C223E1DA398F77615C3A44CB0391C505A070B9061C875929874E32EB44
120124CE6C4DEF61D3855985116CCDB53A70AA7B5F941DD21A2DE52FE42AD35E08CD 12070D9692148DF4A77CFBE77F7D5D70B239DD2A5E681097ED9742663A914EADB605
12020FDED28B65290948030C5F40DCFAC51F51E4AA828CDBC114060B7370DA18F7C9 12088B1C0033F1B30C06605AD37A826DE7848D3B59779BB998C3E57DD2AE80B7BDB2
120312378ED10D192F3BDD11375603EC90EE421E4781A41549555F35021C57813161 1209B2367579E253A2674548F1B717A0CD84E5CA6ABE166CE2F1243A4D22AF519E6C
1204145511117E96E829386BF43423099250C8695DB2B891D68B4DB7D949F481CBBA 12101C087AC5F81236BEDF794064D7F1B7A04EAFF6C628F7EEA7943B9F497E172E28
12051DDE08680F7FBC05F9F00FF10ABD21032FC71E7EE2EB4BD97F48842FBCB00E73 121149F8D3B3E41EFE2B0BFE65E72643F14A1853605D516E3BF7FC59C13B1134B9FA
1206BA581330A21BEEF313BA3E5B8729459393B15B5FF7B63D985F6B0DDF3C90F3D0 12127D9CEBC9608A66886D03F4F5C35E7241D9EF4086250CB5C00F7D94C0B6C7B639
120775691B2628BB9D93049A634FABC67137F727E13CA04481820112D953881ACBD7 1213A9C198FCC41D6EFD89ED68CD447EEF62F196A4FD7A7C124557C370A5CCF9E926
12089A85175D2394FE355A4A6E485F3B1D69D8C06EE532CB2508D8F3F1E65C0369F5 1214592FAD165DC03F37FEA13EDE22B64694BFC42B733D8E0BD9EA4976DEF3099048
1209F10B3D86E8333AA1228560C37614F8F924585323FF0AA91465B288F5BA39AB56 1215CD0FF471F72F1BA8D67FFAB61B4FDC8834CC475713A3D144873808B51AD266CF
121027CB01ED906DF594DF3BDE610AE97315B6E0C0786691CA63CD16F32C883B5FB6 1216BA55B8205BB40FD8A3FF28738A9990197D17B753A57B8FC24899500128A205F9
1211DAE4A1C028BF5D935A377C317C2AC0F738BF2F5001BB6347B1EE4E851B7D4264 12175C8E0B63891C638B3F3E3BEC0FACBE02FD08EE9A9489CBB002E8BC0A1DE01FD0
121220EAA262FF69C8C01A4361C9CD7558F4D57E14C0F631D4576C0754191CEBAD26 121810A77C7FB9ECD009B61389841ED59543C10ACA8EC123F4B96F8B6E22BBE3ACAD
12132598FA77F1B5F8C511953EAD4A92ECE452C5EC23065C812C7C355AA448F429D5 12198EDC13394A1C10D8C6971C37E9ADB3B5CAE2A78D9E299FF17871EFD0BD483F02
121499D4B28A65F539333EFBC3CADD3F0824F8D04368A12F309A71917FFD1CB30364 1220AC96C84F5499DED22B14F13A57BBE20510BE25F17F51F299429CFAB7514FB5A4
1215CF98DCC3BD50B0B30CB8E07348267B834EA740352F90312B24BBC22D30D28C0D 1221F4173691B1CC7775F9FDAD392B0D84AC6DBDFAB9BDEFF67C56DCC3B02D954661
12162E571EB8C6B7BD316C311D84B168CB4E95C4AB2D6A1351EDD204696C2D728E73 1222A07D765C4A4EE98F58B13D28F3DAD22A896BEB1779B0274433EB5E2E906F9522
12175352F0CF2504B6A32D07F207AB5207E465239EB916A77EB60ABA8D3BB42A207C 122396E74A9D5867CDB4B4858A80DD69532A44B0BB512330D003B188FD6B6F724263
1218468068A6E9820747D8F4DA73D8352B70F1284545A66D4A5128B96F48AD7F24E4 1224F011390DF160D0FA044A6F0828DDBCE0E2A7E956D7E09C6546601532F053D5F2
12195978B267C2E65E0EA8BCE8A8CC397F50C5E0946842F0AFAC4D058D93D5125836 122562069615E3F6683D2B4F0A803E1E66D499DF3819CA3B83C469A0468D5CFD228A
12200FF4BCCA05CB3C4AE932E73878A04D07D431B8940466E58690DB3824BA18AB19 122670065B2B272421C0CE5BAB7671D69B4A92AAA802AA863E632EB44D2CED233A33
12216A4154392C85B170BFB08A4E2B20A22971BB62BB54BC5476B70FB2A36D319917 12273A09DAB712788E450B67D7139AD9BC3FDF80624D9B8DAEA438C0E6B5AA07684A
122249A7138FCBD505B64FE319DB6B160B1C55450F7C3EB1AE1C1E1596B9FB4601B0 1228D11C1452F17F5E042C8A48BC13095FC3C078E9986693D1D9929C337B8161ADC9
12238293C6D340C9A301F0B3A16BEA8EE0B593E1442E802AAC63BB90B7069D758E9D 1229258CA267C9FBB136B09C6B84879D47EBBD5D6DBAC674E659FA3AA359CE69DEF6
1224183E3B753D8872EF6F584673E41838C891DA7B2931FCB41C2AABA22CDEC44AA5 12303D6D038E785D1C8A284162CD416880DD5F573D563316E5DB788037B683A26CD8
122523646E86239A2A638EC8E0D7AF8A060F6932C10C7C933FE4C3B8FD2FE068CF15 1231C60B75E1A1138EDCD9AA998252110177F2A1CFBF4FCC0EF7AAEF02ADDFA74628
1226B0A0D71564C70C420B3443D8038A2D42EAD34FA04B405970223376E59B8A6DEA 1232AF11E50A8A851174B6DE8AFD381EB48B28003EC913183B0B7EB0016C84994266
1227314520BFA5ED90353E0A8DF082478ABAD2AB826BF12EEF1918C1BADC6AA043E0 123326448FAE7FF37B6EE7604113A4FEFCF421E6A4E0F98B7180A64E9946CFF2B4CD
122890A8DA3A412917629A1CBBF535C2E0DC90929DE932CC286CEE95228B73031E77 1234A92B51C8803FFEB3B3C000DAD409715021BE9414CEBF0987F3B4456E7C27EBE2
12293B0B87E4BA3E539FC92A2730B03E6DF5F947C09B9E99400D5E081BA931FE79E2 1235A3D8D250142DDB02A4FF49D9D8A67FFABC57361D619BF8B80BBECAAB9B576FBA
1230306FE667D7C94545C0311F3D9939F315A586BDF6AE2FEDE5F32861DF838567F7 1236A580FEB7FC6F9FD556341025EF51EBAF765A626FE93B988F0C33CB1B37873C7B
1231530FF07F5A3210373C39C6A63B03CDF708EAF7229ACF271D0C78E02550B0A51F 123763E9E855D07396B8BD361F4BE0E627459FDEC7B91472D22B574F546E41674D63
123268B9235465D181CAA18607B10F23597AF69510A74EEA27ACE4EB74EDFDE2DEF1 123862DF6225371C9DAD0A9129DCEDC89A81489708F14B6DFD79AC00A0DB7AA7D93F
123393A0DC2E47252E4CEA86790164EF264EFF54519DA5AD87A12177B15776140E86 1239EC5BFBDC17D06D599488ACF137AC92C55FF3DE619E6CCA4FF633919E59EE1FE3
1234D5CE9F213FF3E3ADFD8CD77FAEFEDB903761EC61BBFB2D4E04DBCE5E2A25EB81 12403D153E6B8B8C1CBB3135E0025C4BB8A3CDEA44B5FF7071319DFB0112982793D9
1235973F8158177C0DCA0426E27E048FF3726702B4ED43053B1ABBFF23DF91720A8F 1241860A2FC92638B7C30A944685687F8DC719B0048B375F801678D9C936CD3C083E
12362233266ACB4850A51F94644F90BFBB9573DCA298C47E77D111489D8B8DA44DAF 1242F5579977D7CC4267486DE97656FCAC59CD82B4DE3032445A30C8B6C8160C6016
12374B943A5373AC74CD66A0572A173F85B959A511D0C3EC4A2C339A0157255C8DF8 1243080AA9D647BC6649714A2282DCDD5FAFEF61EC3E7D96D8652FADEDE39BF2EBED
12387F6E8C1DCB677CC115006ABBF37E4DF57E67F1B6E2D061995F31DADF8618E596 124441DED35B9C2E3C76B4317BFE5262DFB14BB625BBFCB103EF0F67B4559E0222DF
1239FBE25F8E0E89EBDD6456E4CC212F0BBE2DEB6E67F64B599D810680DCB4F1AB73 1245CDC260F22208EF73515592B6D397E5C286C831676DEEFA29A8131072553F238E
124087016A9ACBCBE0F369DC9E5FFB1E10D6972BCCB70B708DFF31D680AC7440658A 12465E17A0E3A080AF0968362F54F5EC1990E5A3312CD4E8FE5470192642273040B7
124123A460F7AE49361DB66264638C63DFAAE5FD596B78D5B67366694FBD5E0F5D46 12479B94E435DD6A0DFC69947DE35ECCE13E14E64D879E84801DBD65F0C123A3F0B5
124223BE41CFBF87BB1516F1292F4C0CD729C65BA9CA1CDDC19E3B61B015024C21AF 1248CFBFB6ABEFF14F860B9595ABC25FAAF7AA20588172E46F52E77D4010036AB4F7
1243751DE2EBC67F4C2C3141B0356D0143C7A980AF68FF61C30DB9CAA9D037D880A4 12499F0294FEF7E66766DA9270C27FA2B159E823758A57614489C5C5D711D4F3B019
12441B456B6811B6FE5E452DBE16ABC3FECD679DFAB214951C5E77581BD007BCDD6B 12501DF3D1C065E7592E8D342C82C740C384648CEE7DE0699516BDD298A486119E2C
12451E266FED7A65200B8AA2950E73A061775385A6E519A53BCEA85193EAB87D286F 1251A567F5F81F76A8160996D5BD57A65557A682B77BA241B24348124C0B7BECB5A7
1246751457CBA382189086E34FE5714F4899E38ECBD456F243D235B9E8472DD8F40D 125260D6EA2A861C99F5F617B250C0FC760B1D81037A786166A75BF2408CFA77DE01
124714D5B68BEDBA0E21DF657524EDAC18DE0B09CF7876E0408F69851B98717754A6 1253152BEB50921B3624517F8023CB111527CE517C6104593F8F1C0DE3C4E6AB4E47
12484B2C1957EE4370920647A67C66B95DE345D6D5718C05132A86BC3256425493C4 1254E7419AF7553C784A6DCA3A4DE233245AF0F9CC749F9A7D81E19784E9677D6946
1249C83E23014A7988E89F223B2A123041BFDB762BE64061DF119440A1256FC72AD4 1255E2D1F2A7C407C9420225A87D9E94AC52A275D8A19AF807FBBA36FE78E9C11E66
12502F4F3F979042288CE008E1BDF144FDCCD0BB26F467BBA9E8B2ACE438E4EB7F2D 1256D46602FE2D7F0E63D1E21D099B590F5EDFEEA0935C9C8056E02D57F510E71302
125198B82CA0E129CBE7E21453AD0EE151C4D9D09AE6B32E29CF82F64E2DE3C76827 1257F3E0F93DEAF28B3EBCF46D097F5F065B28B506392E17008C9FD21DC8654EB024
1252099B86E2B64F1B4A2705A259301B221C6C5A1ADE04BE8A1F8022A0D3C1E4F601 12581E5376C2427DEDD6C7369878B9DCCD04F35D594F3CE144DAD63FFB6E2AD71260
125337AFB8D973ADE45BA343DEC97919298B12DAF45D41A36C886A1573071A30A0F8 1259EAB7F19290B2B8883B0E97D8A8B3D0D6E9B99503D8853223CABA8FA1AE289B8F
12540FACAA8F25D8B3035EFC3C1C6A2BEF12A387368C790FC900FC9F74A61C7D4C3D 1260C0164CDC832069D7AAA6DBA23B9520ACB4EFD0145F317DED15D9B317646A9619
125523400F710573A56685325CA26B23461BF8D1123E16A9A2C107B9EE8DCD39E138 1261F4EF45F2389448C1A7F75BCE53865D813C97D949C9D94F225C998A1403CE718C
12560E10E36A6467BD5046B6BC967D981B598BFBE2AD90FDCBA7015609344924544A 1262A3C63CE6187801D3203CF4EA7F43440E2D620DFD3C1F7452CD9EC856188C5CBA
125711E86E02FC9727B2770B732E60C21A7C60EAA31C14DF51BAF8A525041D15D1AB 1263FEC2D90A2DE296D850142DBE6D50D5D43C7AA4F6207B4E5A32CD0A197DF729C1
1258685B03E7B74A1B97F2D77448F02B3BE93316C49C07B4EE31E7195043D05D7C10 12640388636EBA410A9982F9C16B966498BE61FA25DB0A44A4C24095A4D0E92305FB
125988C1847E54896977A09E3A1BAD475A3F812EC64FC99A1E86EB3CFC01391E5C7D 126584AC47D49C99209AAE281EA88E80D234EE1CB834771F32DBC1C1898F86802F7D
12608696BA362A7DA2172FB0EF99185C01741F97D66FF795B10E84385B6C9E996853 1266D86B6ED5588E8029809DBDF8A9E5139CD8ABDC9BE14F073755D40E21E1BBCC68
12615C72B3A226E18AB4EE7FAC1D4C5141C716BCA627E3305245A04D7EE11A7AC97F 12679DDADEEA9F2E95480DA9F0BE40F82BC18849C84216612D8E42185061429A1908
126259862F5577EAC9D9976FA5F6C3514D296454AFFAB78EB568DB11DDCB1AC4BCDC 1268A8BBF1CEA0B66070C4EBDA360AD5BCDD4E636396A2F92A6012BDEA37A7765F8B
12630CB0CE0A02AE97380F9978FF55B10C9882279AD6314FBDC587FD9A7E6E443773 12697654509788847E0ADE8EC67F87A40037F196BED1520691B9DF0D35EBF99D45FF
126472EB7C52A118F79EB4CE3FDB2F666D43227B3059999CA25DC06ACD657F4768D8 1270B3669D2817ED8781145C79979FACCBF5DA3210C478ED890C6E404C2C9D48BE5F
1265C82CE400837C08A2935F430987348A27CAD51AC8639CDBDC4C911ECE62CFE94F 12718AAB63094C7ACFC5ED7A4A56983A23C3A617BE52C0EBC20F3715D00ADA200ECB
12662A1F28F10EC80A3946566FB09F6B8731EEC4571522ABB2A90792339331F3FB1E 127213A5C9762670E3A04A605BC830F9A8DB0D21BC4ECDA28ABBA03824B98F4A61B7
1267EF0BB328C57D30E5B1849B6937698E49ACA84FFF48F716EC81025091EEE4CD06 1273319FB56C9936E2AB79C954EB1A36AC8798FA450DEB871FAC1170CCCD80BA8B4A
1268A3404843DF013CCDFE867C7CF2A29C1DFE96DFDC47B65E916070E6D019C0A62E 1274AB3A33032A4E2FC0E938F660FBE49F31136A1DF5C9ACD2C381B4D1031B4F3082
12693A1D5EA282B3702B1B20729F4791D90E6968342C440622EB34D774BEA2339FBE 1275665159691064175B7E6F71DE674B3ABB20B3370EA41AAA3ACF6819FE0FC3F1AC
1270F52C4655ADA9515B0A79A2C4E628E6539E57D2BEE0D7084F74BFC2B3C4B36F55 1276DDAB954382FD7F43F06E0E1B92B003CD788D69379221A9B380D1588A4CADCE1F
12717B9003ECFDAA58BC265C1E8ECDC78CD47038ACF5F0C37E7A076A8B16F9F712BF 1277723BE855FFFB74D969AEB11D48A9398052F2A15BA781E3175B6F1FE7791D925C
1272E16240917C281C41EA3CE87CE4C1C976711D83374974D37A00FFA7B280D76FDF 1278C10C68B337E9C7DDD9D4358FA611D03AA4F807031B4CEC86A9C0C4CA284D5387
127379D1BF415CE8686414CAEE79D2FDE623D40A789A98DC2A6B88255A67717EBE54 12798682928015EEBCED896D1C427F498995D7B27250D266E901C875B7B523950E58
12748E0FABA8082EDC2AEAA66F509CDCB5E73BDA6E20CA603B83446213A967B77C99 1280E5D97AB87AAE3498495B5ABA07E5A708645F11EBD3F31CA38457E50BD146B951
12752D6A58FBBE0159CBF46E368A28956E45816173719983CD1B775C940CDC769E71 128108AE0FB57C3EAD7B6571BC0686033D63A4360F37B4D752A25388BD0256ACA0EE
12763331680DEAC9FCE0C9FC2B1CFCBC6C6638E02F93B4F51219A6FD277024F8A61F 12827B1229DD26AAACF861608FC6CA4AA7F1E5DED8EC122960514BB35B2169BD011B
12771641A540CCDAF1CC25EF0429A0C9D403F6A31852249D3ACCCF14E4110A58399F 12839C52F4AED9FA67BFDFC2D7ECB350C1F2A21FB781A2BE4A9BE7C53728D6FC08AC
127812FF0DCB0B4FA1AAE66F52C9A6C6718FEFBA51292F2D48A762197034B06FE1C6 128410F48C85F84C2D4B5B2BD8113E8816728262E4685362C405EC1334F6CCCBB0B8
1279B784B4DC6AD9578BE38A33896B6C528208C33BB5482E1D2DE4217743A4DE46E4 12850008507E7B1680C58B142635D618032D967AF2925C52613F6DEA30C5F5CF9936
12801C2F02BC25B4BD8F2037D362E9DC6F7878B77AB6D3DEDA9C7E1EDCFF9257C7EA 12867D51B1AD9A1BB6B958BCAECBD9BAB27A10D4A613EF2FB57555151977317EBA55
1281B42065CC8BC029FA1AE9570B17811DFCFA0E23A12B9C7A42444A02A8A2CFF5C4 12879C0B26A79FC44C7DEE4020A762EB209E6B8ECA0FD458D46693F8D5B0A4B74B4D
12825013A984668C3BAA0B4186182054E8CE7EEB9B09DFE7A4F081BF16A57D26169B 12887D9FE5330CDB909C755B08F8243AF107E45D20924728554B6DEA593ECDEB16FE
1283EFA22E7BA38AAE8D01B1A894904AAE56B79DC018E63030B58849FFF875A675D8 1289BDAF464D62B55DCED88C9F1DF29A9DEC86AD386D3414E036E5DFD2F6CD76386C
1284A52F9606650450A452EC0C0D3B494506903DB65BF4BFC8BF6C8B79033737BD1C 129002FDD49F240A3A4EF42EA5BB3E6DE40C52F0C5A1D988848747E855D1EF8A625B
12851915A4451B10CA2C5195458B4E6D193CB1AC7386730AEECD1184A69B07B418FF 1291B5208CE190BC2AC908A067BC5FB8412AFD565D68DEAD27B620B47BEBE992A65D
1286B0E5620F8D2ADFF93CEA7F5DD4E71FC497FA6F64AB31D16BC00EC5F8A01FE192 1292411159D8C62B8FE2879CBD189095062A721810ED10D619AD4411AE1B4AA10F22
12874E7EF5104EEB6D098D617268E79A4A2B9F4869EC952B4D6887FE9BDB61D26397 1293D59F561FB19B820375427E88F49CB3487A8E695729EA18A056B7FD3664697A17
128869AB66F43996DFE771736F081719B6987C5DFA86B91F07CF1FADEA6390AA9B4D 1294637BAF4DE04F4ADFDB90D3B8FB880638275D997A819A98798F64E2F627783962
128953093D427DA39F08096161E1742740639C332FCC40DF91A295A671782CF8C713 12950F26680B80FCA21063C1A05AA68412C285F14DF2EE53D8B7751280363B727C63
12900FA36B95A55406BD18FDCBE9D1AF9492CC5C3DB7DCCDACC1DA5D40F2CC2C365E 1296A6ACC9ECF95A749CF31ACB68423864C43CD3A668F15E6ACAACDCA21762669727
1291F99EDC21B3EDC564D282029AAF62A49B6BA5C6937DD1BB15E68BFA698549EDFF 1297F32D64DA686917B8B458F475600C96B9489C90E2EA0F123DA95680D43A4C7627
1292BF0D4FB2645885BEC5B79E8475C43E5DABA6B60E72E31174054724F711FF3884 1298E5C8CBD62EBB6AF8CF16940A2C95DF6F145FA4A506B9DE3E61B47F9E69CF9A56
129336B27B2DB7677F04A704E7427B00FBF8880C0482E98893E23AE0ABB7CE35F2B0 1299CE97940687237D672B1C6850C4FA6EF764E65CA7FA61A7C4742F7CB085370941
12943662B322718BFFE777F395D551E13CDB3179756FD85B1F132E62C44A11340E7D 130082583305F2E640C5C1EBBB180B51EA12511027FDB10D895FBC33324481DF19CA
1295B8B274D22D0493F70E8D587356B84D4238439F2E816D589B04831E8F8CF691B5 13015461012802F49939FB01FB584979B10B7EE964A08F2FB54E1A7402BE6794AE65
129698DF446720310D929B1C8E29C51F2FD1C70AB8F8FF4AF21A05D3A520D44554DF 1302B2DDE265539D4719AD2EA84F7EE7CAF39CB44FF60992B78B6A2A8ABE3FA4BE5E
1297736DFD865EF1B73A0C06BC9E2ED21C9D1444D3F41CADC2A666045ABE51203C6E 13035483DF4E6147EEC2A0E6D7E30FFF280B871287897CDA27472891DD56903B9EEB
1298BAE3CC3C3F6A482868951970747C45270070D2FF52C5C9B1953F845AEA12C02A 130402502C7FB67BD7493276F59001E898B238FE68E8F006E737486384E3C0734529
1299DB5AE7B1E9ECEEC8B533182B46B8ABA08D587806E88B87C1272877C3DDC6B14A 1305A89466BECBB8987A9629FF017D5B3ECBC73B725F1BF980328376F7F984A34ACC
13002CDD31A1F0B8555F59C5CF6A73244B70F5022683A789F7E0BAE3457337B709AB 1306D2138B9A7B05D501075D5965EEF2723A13ADF9D0A1BDE62C2E05DF9040B860E7
1301CA88BE9ECA5D0389275946CEE8BCA349889E64D8240FF5AF76EE020223AE5E25 130757B8866DDA027E5631732290C8314A798B14AA00460168F5FD21E5BF0359B8EB
130259A007E200CE8576C2A5646F0B1F35E4004D132A123CBCAB8522F2E0CDDF17F3 130898A13D8C31869262B48FE7867E40D11C8AEF00D5BC3A3319F6E8F4C1305595B5
13034BAF1FCC0BA38648EEEBAA38C1A783033951C59F5D52F3262DFE4C6E9E6D8E16 13094DCD9EEAB4B7E9246ADAD681892F3F90685FCE979E1B70E007EF18D258C04371
1304F23015385A1C4E06ED360BD33579A6B1D1B119665B24294A69B4ACD82B5C801B 13103656ED8D71FFA463F13C6F7D397A67A65BF61EB149F65950DAFEE88E1560C0C0
13055162AFDA181F01C80AE0148867FC419C7D536D3ADB336780838F34CAF311279A 13116A76B74A2C0F5EB83898FA9E9BFB30C29F98626470FF4DA7D9692D5946316A63
1306E4FFBF6809892F0BB1D090C678C1254A9C10DDF87B3DAC22305907C982AEDA69 1312D4B5F7DAE73B996666EE0CDDF24A6B5661B1AF3520D8CAD0BD6F199440E08ED4
130732366E4F2AC672D65A2F71A842C3D6694640DD821BD4D9C4E96E49799322EDC5 1313143CC87BA9EC046F6EC2200F8D0897A5FED31A20BE642AA4032D67E3D2593273
13084FFCC0D50EE4FFF6F09C935542FFFB8D8B7EA6B647BAAF44BCABA88520DE7AAC 1314E376396C63863071C3BE09C86AB6E95D0422A8BE2F83080FFF9235BA42EB6BC1
13092A4001008C5CD2A973129B418D800F9B8BC24675C800713195C4C2DD36DF73CF 13152AF7317860D5AD37836EF4FC3A479C7DC6219AF5236C84B01C84F068B94FC917
131035D69E71B10D31C8DCD84A0E2FD96EE6CC79F08F4DE10E04B7F2E6145C2B7409 13169F472B55AE01C3FCF2A185408C68A47A58C61745CFC427C4586F8C4C5029DA0B
1311D52C6E3089D6DE31BA5062113DE1063F954A03B80540EF62D4F9F41A957A90A5 13176E527B7FF54828E2AB0ACFC05F68CB5056DE56A8E07F1393F472250CD7B2D53F
1312E2E64323671EAFF01D2A5B93928F6346C41B99B866B08AB6420396EDC8320DB1 13183BA28DD9B00E6940A73C11A3733FC4BA6F047B974064E732764301EEA31992E5
1313ADA75B667AF93D1CCFA9EEFC5BC0C889ABEF879138A86EBB2D5620E8621B924C 131948AF617E9CDD85622EB62C232DA13171C5688FB8B4C15387E112430B966D70D4
1314F60AC2456F0FE9E6762330CE743DA37D2CD9EC859A61521D6BF6D3B3FBABE3C4 1320905029D705D383FFA623AEEC5E6D4B1FCAB71AAE687D41A76774AA0EFD5CB3B6
1315E7EFBAB21F0694697B87FFCF6089E585B8CD57F4D7C22A5E1A2AAEEFA4FD8623 132120730281CEB8A6C14D91FF268275F51518BF58215A58226E1D537BAAADF99E70
1316333F90E77DCA57BFF970D593B3EDCD64B40EE3C27326661B4413BEB7714F152A 13220DDC23675069ED0712A441253D0502647BE3976DFA175788125CE7133A5CAB96
1317935427525E08E248193142B91CEEDB3B0209C70ED9FFF57971F524026EB4A194 1323D01668CDD304B0E407F3B406F4AF1137019D0414CF21E6C6145DB1716FE6D142
13185622DCBA91A6BC854B3B3272769AFCC4D2B64B7D71619FC1F39F435835C0AA10 13240009958D48C9BAEC214D265EBC47E31EB5799E368A07989036D554FE045E2487
13190FF412ED58C0CCC0BB1888A883C56864912E693441902E66DB83C56956C2E7BC 1325BA7383B0F5A55463BC6F93C12AA547348D5B5996AEEE72B78E9B41B11C383DAA
1320F98621BBAD7F5117FEE6CF287A5BEEFE3F5959108A88B76365A5ED6039B6A798 13269BD505B276BF1975AAAF800923EA094E2D71470EA66A64817A213C00F479649B
1321408FCDE095A872463F33D417EDE584D34B721118D3C29D22E6AFA7BE5D141139 13272EE4E6C04D316012F382D1C58DE9528EC20D48931ECF5C67AA129FE99AAD3735
132246F3E6BBC0AF1CAB844822AF1AB941681481F4E763AE6A1F7CCE0CBFE337364B 132827165D08800D6DA13507B4E23B166E8CC86FD6A798BE558513BADCD59E9AEF6A
13233174464E6C21DAD8F3BCFA5CFCDD2F5FBE00394C6BEB1157580707CCE8A81DD0 13294D90A3A240EB865871E6283EB89146A755D99280DE261C24103801577F97A7CE
13249E3D37025413C47F77BFF4B275EB40FF05F3EAAF70AF8D4B9420AE2E1DD66A46 1330116E11A76450FE442B10483C24C71F8EC626E80EEC2563994CBE6E2ABBC5AD7C
1325A44BA9C7E6991DAA7CFFB406AD98CBB1177775A1D6629FCBB6F60C3942199455 1331646D4EDE35E012D77431D1E1C74949654C214E7F42ADF09FF6AF023427A73763
132670B3B93579338C424AD1642B9109502B232B42E50A58A7055068E43F56B9BB78 133225BE546EFFF1255BC9384033C8E929811F3E5B74C195E76E05ABE877B3342209
13275D387FEEE382A33A97A3A7C29DA4DAD8CE9F503FBB85893E7FCF18238A83525D 1333C53C57F84B61B0333F1D879D81512C144E5D9E4C44C7F73A4127EE89060640CD
13281958B38A24817BDC440EDEB913BC3C61EB2022A71E7F1D8D683A36FC1D84C570 1334F00F2F90585239D410279A0CA9B0416283CA914C4CFECB88EFF11F9421874FC9
13292BCFC3A3218C9C6FA9657980BFD482DE8DC4867959CA93B46F2887B1329DB496 1335CF5B18EECF81311B4FB7AD8B8D0896149AE5905AD03245F4283497DC4238B47F
1330F69C4A43641ED3842145BB868A430E03EAFBE786B98355527882CCC8B4EF734E 1336E1CAA9BD5E54AF6411A09786DCD9180A9BD72AD71111E15D1A4E780AAEBAC100
1331BD0DAAD6CAA8B36A4405E5CA9FDB69FAB8C5D85480D81A83EF6038AA3FA8D687 13373D5AD925DDC66F895DF0A06192366578517F40615F43D4D392A44FE49729779D
1332017741F80B94CE67F86A1C4DE3E3C197320568238C7A7A1056520646A674C3B0 1338D2D5EE8C8E4956C87B0839362DC6DBBBD8BCAB0752E83AB3FBD822D91FAFF626
1333BBA0CAF9413FC95E938F46D8588A94FF77079DB1698082601DE0D71003C74392 133950191779679CD868824D5D9AA7F0806807291EADB1EE2C3E5B13451EBC7C177A
133468D48A8BDAEECDCD2138BAA3CC43F83532F27F4B20AFD658109BC2A26D8B6C07 134013B724A1D949DB91D59F721440FACCB2B5853F8FCB26563979AFE7794EC9DBDF
13355DF873C2114531AE6E98753DFED7214D634A453239990329F08B6F22C32D097F 1341ABB7D079598512952C95F676A83239A42BDC4BCC383849F9F1EA1CAD42A90F88
133685FB45CBCC189ED8FFA918DF0EF2B81CE018B93374A5BEE3653336C68AFC21C5 134257AB82EB636C0B83696F210E15CA531EF55DB48E3AF3BD5BCEE0A99544DDC2AF
133777BF87F75199D869B68DC72A22274D883D836974E0AE8A74FA8BA55EBB024688 1343F32622287FC2AA1640C28A45FE089BBA80D2BBC9806E710B39C70B5434FAA785
13383EFFFE119F54B75E5BBBBB66B46B7E77227E680870DE9EA2BC4B7867AD7F3512 13443F9D0ED0F5150535EEB99B550C0A723A1E48E72A942BA1F18CE822ABAD09F471
1339AA3DC6E37E89E420CF097F26C7CD717869DD8CA401DDE7375FFF18A35CADDBEF 13454E7D255CAE74142C1C0898FF0BE5B7D6CBFF4EA5E2CE02EEB8A621A23A65FF1A
1340DD027E352DD8B99893C37F1F84C5920EF3B3B2CC254EC794FCE1C8B154866B5E 1346F569049E2FAE1960E8BC49C7EC6E28BFC4AF22A1C4538BB7A42131546E584DFA
1341E3ECA7870521BA860031931B924E082AF12DED9962E5E9E59C1FC08DF1258462 13477AC3B37C602BAA35ECB977991F613253815C3205B0558A65E110A962736AEF5D
13426A5BD8BF23648D1131C67BAD67F17E5276E82EF31C44A5A9A5CD664EE85F9CA3 1348DBACDFB37D69DE2DCC22FBAE23B8CE4C549FC98C10B5473404D5C10A178D8501
1343FFEB95982ED1FCC1EE9DBC11368EFFF6C53AE3AC805D78D3EE4BED7DBE490920 1349BFBF7D4A7C706D3F194F0CF2EEE262095EDE26F660D6A65E6398AB3EC5CA4BDA
1344C5542128E68F9A6CF46D1693345C9822C77303397822C3B3F7CF5B7C39A9B606 13503E174A0114DCBCA6A5767B18E50EC8B1AD197277A1C8671272F2875FAA8E0CD9
1345C5C57B4723A3B9F15C4B4B1BBB4D7267EEE3098285772B1D4CF1E15277EAFA84 1351D8B58ED78766221FE5FC1C39DB7F803DC6A3154B3BCB99E97068937A6124357A
13463B54EDC3753F347AD7EFD7BD292539FAD422EA17240A8377D894475E6ED70094 13529ED72F2C36C71B9121A07733E5A971D8A9711E54508209AD10469D9FD6C0D1CC
13477648F9850E1F8F2BD5F7C3AB23BF64C692762DB1727E10CE0E6AE83295B91349 135397B76ECD096A9F0129279E1D9E5A7073CAC878B70A2D3C701B4F6D739545BBD4
134828617E2F90124BD97F19951C55E895767AC141C421380AE9C311D41E7CFF7DEC 13547DB4D8048A8389B13B4BE880E54FDA294AD9B69728E6D4F794E2B08CAFEB2E05
1349880263507BBF160AFC57F931995CA3CD773DFA34654899BF1FB5FACB5D39E67B 1355CFF5217A76AB1E14586A28B4BE3A0A647DA4C3478E97A23AC12B7DD368066676
1350FCF44618A2F553ABB7707FCA8C118001D9A541D0FBAE34DD4978FD40362E03EA 135614AEEE971E40A85BED83E7DC252E8566EB31BC911E412ECA9D19103CDA8183D6
1351F9C9AC0A6B23E3911F8E869E06271640C2E9A0F6F810E1E8E6F35099EB5D238E 13575A1331AD51F2896BFC55A4109385A8A048FE7B28FA9C5737D5CADEEA49120B42
135278CF6CDD08B6CA7895BEAA8A3F42546B7BBD19E99518E94D83CBC5AD2028487E 13583AF12BADAF96B2C7B9DA0BAB63CAC1DF6FACA4D5536EC2E6B7BDEF72A2E4FB66
1353FC3E8037D954767EA744A08388A946BF6B48399BAC6552DD0D6D81C4639D4E4D 1359961D4D6C87DDA9E37F0368245A7D9A79C4D7839BAB28D72E7231410D80059ECD
1354FB3AF3F09AEFE96C24D5A73B839AA47AF5C2B6A1C2ADA3B5299B59C4D39FC3E4 1360155AECBBF2C6053E9424CA018DB652FABE8A259DABCC556625ECC2EB0E661011
1355F537A1D9739BE21DDA12247DD50EC83A24B335BFBE60A307583DE9EDC6A4B41E 13619B6D500DAA1FD96447A2C94ABD37FD3C2FD136BCD8C2FB1442DADD2B53ED2691
1356F95306F407890B11FF762DB110C81F1C40558E23FB49ABB698CD00AFE090F590 136205605FE149E6BDE13E65C61DD73F60884B2CAB7708B67C58CD9530F6DB72B203
1357BD55F31056D5499B2C5D8B838421291EF18646A5791164ED41061DB6B44744C1 136385F0A3A54AF9E4DFB8561998D474127C8B4C480925B8FDA46AD3B460FB9288EC
1358BCDFEE00A092033DEDB0CCFEFDCC484A08C7AE206821883BF5EC194FDD158C18 136415683B06E33DFD17B4E5036BBA272CEF7B9A3AA2337EEAE07E5362D6E3DA5570
1359EC56D2891C5517D274303F10AACA8524C43E88108FB59626DAC8252A30AA3A63 13654A095B050D52A6C7828E6179781796F6A312881A45C10FE61213DC4D31FE9112
1360CCDAF5D7F2BD922EDBE80B219706E22E6F4EA6C6ED2BDA5FDBA42C3C7E615F7E 1366695F844F4FFA4CE6FFB11D301D40BEBBF9763DD93C3498CDEA8FBB323CCE7B67
136185A9CE4784CE32BCC4FF9F14EC3233E7728DEDFE0A65F36B43CD100DFC0D9257 1367A7BCD6CAD354D6BC870B19CE8346C2B2056693B8DC48CC516C64D2F5C2DB8024
1362F027C0F1D42B79ADCC90FDD53C50B092CCB89BC737A0212AA7C7B2F1E234D97B 13682FCF14263C49FECEB122079014E1CF5930E0737A9A4047410BAEE6FA1A09403D
13637CD5651919685521D8799FBC97CDB2E6718E4840A88CC6BA5CCC9F8BB4DC2B7F 13696F2A0571659BE21088C6C25F36FF3898FD7002959402522E3692E59E89DBF5CE
136413EF9948947FF035E9DD4CC81994F22CC588A08E3DB3BF1808B1B8ACD5DEC501 13709455C3D11D1D865A38AEDFD7D59C8472854B6659BC4CA74D142AC771012EAF42
1365DFEBF7B9F0C1E9098710F18BB28324A09730F819D2A1346962011E3325A06EC5 137159834B5733DE5F7FD91561A99D15EDCFD2B210D91BD266FCCC6AFEBAF6E7DD24
13660CDE3B13A2B2AFC1E88AD6AE109841216AE9C0E34BD4180D31D500C22A2A4D56 137239B4E375A7FE5104073A9149DB2924E81E4ABFE41E69343DBDFA343CB63D704C
136715F720C054CBC6FC0CCB252010B9D1B30995A9DCB50F3F15FC4A2ED963279754 137319C4F5C3C0BD8D01B1E2EFBB683FACD1A31FF596E1236DB07D571A9B80C1625B
1368A51603672403C6143D57E5FC97CB977C9B561F50F73F2A17365A12FB5606D75C 137455A086420178034E371E58768D47DFE37607DABA77FA9C478EB37B4C1AEF63C8
1369F85679CE7A4CA183915EEB79008942DDEDF0CB51FD786C7F4EF8AD0DBE291D8B 137553D74B82BB203DEDEE409834F2DF642CE0953AB0085EB15F79405AC288F305A1
1370235160320998FF12783922D32C29244763F9B7B5894BED6B5C7793AE22AC11B5 137600034BFB8A201E60AF386ED0317202D2ED39C750F6D5602A5B5402274706FA03
13711E5D1F3BCC402237B9506589E6B8DB0638E730958A8F9517D051FA07D98882E0 1377CCD598091A25FC90163E5B4EA798703F98B21C5F2525443E3ECD306D3D67FC6E
13724E4C3AA9E031515DE0F413B9ACF75685ED1D8CDFE44B21FF5ADB57FE6D109E63 13781FED63B59DEFAF45A8DD17009AF9A4264F1EE7AEE59A04EB13A7A14CE7A1BACA
1373F201F8FF8734B60FDA2275BEDC077308652AF9EE34674455D9C5FBEC15363D30 137935441C393B1FB6847516F977A137970BFC4ED081B4A96F7287F68B3D3D1DB704
1374973F411544C35F6581D7F135BB3A2B2DE6B286DCBC29AD9B1F28A9B25934DC4C 1380AB5F5D818548E1F49560776863A84D91938D8D1C7B3FD14D95EED4AB89F689FB
13752DB7BBC6D6B4D1B4459370E29A15A7728061DE3070205FB5D6524521995DC28F 1381387733A4175094C396A5F7540599D3D3FE934982011B5082ED7FCF061BDC1C4A
1376AA9514F37FA6D55DA2482E56C995E5063755123D151959DEC4E406C18ED4B052 1382C3A426541DEC653F0E1AB82A6B9663E4B9B6CF3A3646454CF88F26CEEF19C6AA
1377A8992EF41208C4F6AC5539380EFD70240CB1F6A46B451690B32A91757EBEF5DB 138300B735A1562D36F8559C4C27D87F0C780C6E627BABC455AA7A2E38B270BDC791
13784A94DCC49AD7EF038E87BB6F3DAC2B4D2707BEE805BDDBE96D0249C55BD4C140 1384A4560EF6B814AD5B2D3D1C1B16C597B93877457EF9956BEB125644658FB30662
137977173BADFEF9F85BB4D0E2194BC65483EE34CAAC79530023369275768BB8846E 13858CC9236D86BA636643B1DEEFE3C696D2DABB7ED5688B56E1C99ADADB05F99868
1380CDD21414F0FCA20913EDEF6160623E28B6CB22EBD429778E7AA44D20EE944DF0 13865C3E1FEA735EA4B3AB110FE00C3F080A69700175C892310A2CA1FDAEA838B8D9
1381D0047258E71110ED3A398DF018009C92D3B694337CB5FA99071B9B1DA40CF5DD 13870E906FE38F27CB27E4B451AB0A9AEB68078B42344C7DC47818887C93B465DAA7
1382DD478551634ED561834104A01B7F6E49529237262080A001D121DACA8B5FE018 1388C3FEF4C746B52F8AA5B5006A8B0E262D0EC05E5B22027CFFE53C96EB8A7208BB
1383B8C3565E1292A66B341CB33B1B30BC9A8E6B9682B0598B4AAEB34F080D58E008 1389768316DDB12474B7D9186CB67EA40B9C059EBB6CC1525E86E50259F82C5146B8
1384242D14D34AC61F925D0208EB26E47985FC45B1B870AD1AA618DBC877A4947F97 139053A9E15FE0516CF3EB44B745C105548ED1DEF13B55B4A41ED5EAC4DF3BAFED0C
13850BC57C1A9A8816072B36222FB66F29B54BAE35BDE6809ED17CB6440DD4FA6F70 1391C9D38984E8CCA223772CE195679C8E9F5A4773DFFB8392F2E32D44A9DC6C83D4
13867679B10C2BED86B468DB104141A1837665E512DC97F592550E85AF86BFFF3F99 1392405C56C14F77B9A693A1C815264AB52BBE0410CAED811F035DBBAC7AC81902F8
1387AC12ACB75B2ED3336B1D17EEADDB4ABE03D0F1658A57EA4861F041346EE2CA40 13937F74C38CC1F636799E7B7C2A2E0D31F63D13D86C094184A85F3A5166D2762967
1388A729730123EC61186295ABA4134F1DF5722DF186546D2906ECBC3430E7E3BD03 1394C3409C01D68B9F0E4DB9109F3D83DF452AE4781DA7F20AA6EF831ADA00346666
1389CA0D6159091024728783D68001DE7187171E28DB5907F084A94D2462E703EDE9 13953CB7151ADEADCB9A601E5BD2FC4C5B89C058A5D0DB1E793C1390BD9EE77EF7E4
1390590583BBA61BEA4B1161BD4C41FE39BFC93B0FBCC5EC9FF4AFB5939F0CEEE032 13964B3F2F129D2090494758836C37623F1F7C8CFBA716515FBFE20EDB15E3A7C304
1391FE5AEE66D56547CF94D88C2EA7BE5C78D4BF227A02AA229FEED9BC5DB1340B02 139762236A0AF4E0A1B64F523D5A60E41ADF7C64A08D472EB385E949DCACC048E74A
13921B9E8FB9729564C3EFAF35411B7B28941960E5DD45C9DB122AE3DE1076E5AA31 13983793AF4A2B3DD6FA69C95AC5B99267D982F7C9DE68BD4FB12DA36130321080CE
1393F7C6DEA00FC2E4E72059547CD89389E8C7C980829C896FBFC2DDF77EB3206BC3 1399349A0374FEA9BBFF6C8B8EF5A9F5DBBC27AD4C5E9532BA3B014AFB8DB5CD5F73
1394F1E21347942EA591DC3FB59BC8E2BBC4C3C657305F30A2D18DF93CFC0F0F0216 14001609AE62635E103ECA3CDD33A2BA7489179F540F84DDF5A551BCCCFA991374FB
13954F19A938BCF2A4BB8FD1F1B965F22C9729E94D040585936C020B24289066E742 140108B1CC61600B4E2EAA674A081E5D4BEA00423B9958B7BF78373FC42EBB9C5503
1396D1DD955A35056402B40B3EEAB83A29F47EF3B229EB5EC517177862FC86EF08C8 1402D831ABFE2BA3273E9AF8808203A57D6A85D43B70A3E75E3661A1A590510568BC
1397BC4D9FD57A0D8FECE71A4439DB8954D836071130964105DA82607FBF2C9A1810 1403D492E16C5AD8B5465460CC88136721FC78A5D9ABBD4B09BB244CA5735E21E603
13983BB2D7EBA820809E677FC5952AADECADE3AF4AA90BC15F40BC86F071875E0C2B 140415DA396C26579FEC38664C53BFB82127E67EE3A9535EB872E028EC752395A452
13990BE47794B817AE5FEADE9E4092425312A71087A7CAFD886CD39069BE426671B7 140523B76523DD01D40CFA7F0F2D83C686E8A1E736088190242265A98A96A344168F
1400CE8E4FC97F7C16A702C6F8FB677483D7299BB4BB06EFC04B7A32DC93075B79F1 140647B11A1856D7060066C62418E46E7B1AD08AFB814903F4389F923A0EEF2F0EE6
1401BDF4470621FF49D372AB3C5213E5A070E27BFAF7169FB18582BB796671D539D7 1407F87039B6428E475EAE7E0205B52833BA6C475E3AFB30A4C427F61DE9206FD463
1402CA7F0E072B5A394FC2B6587187E1349F69848D5DCF048E71531B13F73895CD7B 14086D0EBF19C889943901D9F85E25B04FAB888BFAF1B62A05F7B2DC6B2E3E0E8AA5
14037D81B338AD6D445C27EB4C4D76C0B5E64A07D03BD7D8CD3A3DB491C2794CB031 140964C8A5B2D6C836AA48C41F7ECA82FCE854C649B9E517FF416333B904A3D057B8
1404E56618C5E0D65F562ED857B81FB384228FF762CD2718C723B7B261750E25D0D0 1410A709E21BD0B4AC6CD40A52878765FD27135AE413A7CAD83F53448F31FE7DEF9E
1405D26060723382911F867F46AE73AD67C943C44196997F574FB36D1FBA79E61A32 1411BF12A42E6F644602BCC57AD4A3D14D59555AA77159BBDE2460524436C0D29DFA
1406D53145364DAB0E0C6922CB21CC3B03418747546E48397A7DBCE9AD89193709A6 1412EB826EF9A2EF9494E168F07A9A31D7B41C121ED1BEAF83794F4C2465A16AC9DC
1407B85AC7F6167D7DF1A6B72D876C4AFF990CFB68B83B0C4C494C7F8CBC60B1E7A6 141382E512E0AD888DD1C7A79C125676133080958D8DBF18240DE3D178B0E38B9CAF
14087B3695A2CC0FA011FADD2527FF4D47726782C19CDBBE2D55BADAE4350B053B8A 14148441F4F647ADDE776959B3C0245A203DD12823351B7610B2185A918A46C934E7
14091EF6B385ED4A0A00E1D0DE7E4F74BDE3497F13D80A6C30E833DC6FCB3E597454 14153EE42D3072783CC06104FBD2E3593B96BAB19A0C487C74E20A5A402A0682E905
141068EFAE3D397D4C8817EB082DCE98A0F4BBE0F39C79F22021C84270AACE7E2E12 1416780CFBBF0595D352108462882D97675DE50C198B39AE710A1D0C5F8A6BAA4270
1411617F4FD655B9F5BBA5D4F8AC935F6E2F5007DEC58A1929188A9D5FE5F4C4AB03 1417D59C8BEC72BE5F9388EF5CAC430678411EDD4C898E554720182AA7EAADE98776
1412662ECD86676D7CCB50C0546426C8B92864019A2DBCD4247BFB904D8559F2A9D2 14187F24FE7D6C7336F6268BB11CB9D7E618FCD3B6ED88062AA47189A97A871DA1FE
14130993D260CF293B40550AC6DB3A93EEEFDDF7D8EF947E1B487104E0D0E4365BC3 14192A094C7628F2F66252C3C6C527B3F7D0C85BC70CC6EBEB6C4778E288B9520942
141462FCE7CCF52930C429532AA2E3FE62AAE9425A97EFC23EFAF6DA75C98CDDFB18 14201D9234C8CD1EDC5819DF14E18DF8CBF5A67087C508EA8F557943C0DF568B10D5
1415175006EFFDC2A6ADC9B8A8B1D343FCA0155D476E5AA2362F404B00F493D97DCB 1421102EF4CB1E39BD48FA9BF59A6E73D9B9FF4AEE56BAF7E92ABE1750620D040066
14163AB5CC9ED868D00939AA1B55E0824C09A1B7D8B38B98ABD0966E73B5019504EE 142260C8A8850670FAE63206E7D47859C4FFBEBE50B8F35B59122EC66282FBA0E988
14177C3A6EB0F094A3760C96658CACDAC422442B04957FE7A61544A5F99C6F7BC695 14230B9EA0BD76DA9A08B87DBC99BFCB5BF7A8C3748CDB90C8113DFC9EFE5D012B85
14184658AC5403D3395CEDAE6ABADCE9F4EC6311FD92B340952DCC23AA72B514E163 1424AFC31778F604F2E6FF75AF7210236BF8B37C6DD907E69B632659800CF8DFF365
14192E87B7F5588F4EC9DC915BC3E6BD8994BD380F0ED79C4E47DC0DD89828D65709 14257B6B50F69E759739D5D7A5BC3B3755011A37F49E87307E8930541665EBD4D832
142029F085518387CF2EAC62D2505DF0CB47D307E1DE4F0A147979C6D5B93327B7DA 1426593EBC69993F2360EDF0D15F716684A122E3A91E2360AC91C69ECCB4504E05D4
14214BA34DD209946E8022C11A4E0767FD809A2F628C73B0A79201C40281BE044CDD 142790A5CD814C0C91AB257908A73D4FF166CF3BB4AB5A49BA43AE7B841B2F11604F
14225F9130EDAD2CB86B1A324B824C8A1A60D34FD32558089C4FC8E70AAF7AAEAD06 1428B7BFB092F9F2905B5FA3A63071BB5C067B76E0FAA460BE7C7120C7178A39F175
142348C7F711B33C7A421C1B4C0FDA2392ACF4C850315283E86B0DCCE689AC9AD3B5 14291CB520F828B4432DF331B9926A19E34FE8C9D3733A991D0CCBD44E37BDBDD68A
142491E91329B5CC58DC2CB4466D669E956488262A12DEAD838577743D7867030F25 14303933FD1E1C3550FA3BF091268A2D79694F0CF648CBCE2FB9786CB8862C39CD29
1425BD5B2B0A04C9DDB6C904E40AAA82B54542321711ED1D80348797F35A093D3D77 1431BF9863DDF689F11C81A8C15F56E5EA6AB807941A8B62AD9F0B1D53B972EBF407
14263560B459F177D388F4855C82C277179834A94D5B9F4C974DFDF3929A1BA0B301 14327F189ED8FFA909C63B5ED68F5FDE80ABD9B3B2A220FA19E4B2B6F754BE6F7FD7
1427CB3558D6BA4BE0B1EFFDC2101352FDAEEAC17D60BBDADE15FC093161B872F98D 1433FC87472C631D73B5A037C594550DA4965DF18C13237FD97AFCBB1936E9186669
142871BCE512AE88BF012B3F96E02EED08A7CE8802D409A07C27F1F3AB40589CDEAC 14342ABCDE5A0192747066DB1B605562C1D0E2CAFDDCBB1148DB280377714807D4EA
142999642D6C6133BFD2F6B1B86A80CBA0CC62347644D25BA14C9E24A53DA2DCCD1E 1435DF41E374C3A90C3EE40C55541AB3F594784CEA5142E0BADBC86E11667CA0D14F
14308B0EABC4B0500D18AAAF3D634D5D1E3D23775FC02C91B1D5C600986E72185A65 14361285406D887BFA2AF299D2CA887E2A9BB1865D705B6611C90C2EAD9BDB229EC7
1431F6C926A5E48E4EDBB4862D9CEA4F491C0FE2DE07B9055975A6FAF60B692D5310 143720A483A7689547E7E2B82572CB0D9249CD049C0121807D54CF4CA12D91DD2A5D
1432B6EFE781BF90EED228709404DAF22172D7CA8B050EC477B6ABDE89E6A53CA72C 1438AC79AFB6662432794475CD0C868CE5094B6F1F733AC7641847969D9E3607D716
14335B6FE5A099DC209AF9DE1318FC114ED28E871B705DA184114CDEC65EF79D489E 14394EC89532E0FF1BCAD4B90315E5EC686DE83C71CC4E6DB1A3EF5D817D88C6E43D
1434347718519EBEB40CE19D3CAA1288413FFF08D1D6B42A8B24E5B00E259BF2EF56 14403733C594205BEF082D287824D207B3F581DA8FF402BA3BD9894876F4447771A9
1435600EC9C721981559BD0A443F1EDB12DD99401AC2C5F84593FDBBB1C1DD654A84 1441015C897E61AB2C9E6648E202D72330977396AE7419340B8D862F7243E130D81C
1436562D8ECED1A1E456D56D47D60DE039639ADD3FB1A342F4C3A5071ACC35CBC60E 1442C54578EB850EAD0982861EF6CEE14C9B761D0AC8D49D30EF6409A699339D0241
1437F6F10ED429606609B68BD3B3D19F02F652B2DA1EB2884C4246BFC49108D3B95B 1443AEA334F5D303593B29EDFFDCA8B2507E115525AD81FD18BB11829B6620C8C204
143862102EE49D5FB31929C0DF59F98F5F36F07C5C7E9D0244991D2A1BF8ADBF158D 1444AE00F67565AADFC10827E228BE6AC8A2D496406B286990DE0A016D8B73C72939
14399D21B928B484102F7882D8A0DD1B66B9C0DF4C95A6ACDDB70619FE403AF8AB12 1445B385CE4D3813FD166C6F5AB1A534E594FB4960B99E6BCCE5D466BDCFDC83371F
144056334E17E1E4CDA7E4E006CD042D9FC9F83694B83D45C9C34CC0B945E13ECBBB 14462B4469C5FC2A319AFDB7B98DDB078E2720FC96594DCD16848EAD3E7139CB29F0
14411C74BD8E12558E49A5875A64012B7B5F9C2EB2D50B51C21B9645BE62CF32FA34 14473CA5DFA6F6247BD471472829C4A80A966B92A1282A5C787814E9CDC68DB5D14F
144272E85AC778705A888355E9DF59DE3CA815264513E20B9F211D5CFF80C39A3DBB 1448A252DD6644F50840EDC5C05B5543C46297D2F624193404A97C5A43EFFBAB96BF
1443D4602AA4C81461514E74AEBE92E88B8DF861465ADB524AEC40C630CD7DCE9A54 1449CDB08D19B6D2F2617EA2459E86B7CE5F8C41E5301FA12268AE44CCC0D731CE7F
144422FF67D94F13612679717BD4012C52A614BFC5E7D6D067A478BD19B6B25BA513 1450B3F9533244221CE05C640A2803E67E20FD163E9F6AAE55D1AE28254464EDDE6F
14452589E8B402A4DF511A3239B1E657FD93B3918F05D6AEDE1A27B640F4CF54E698 1451DF64433C6717E06D7A3A55EA53EC08FE36817BB2695DCAAA4A70CE915F2AA103
1446820368D069F5376EB9E9486288FEF0F64683096850A6305B648A527E10BAEB5C 1452F5658F2112D7D79687244C054B4E57B3312B58C31CBBAF9A900E507D6BF88E59
1447D1660D266731950CC130D634AED2CC2031CF18A9E29E1D1AE56F6A449EC3C4C5 1453C8BF0715D0AA16DFD1B670C999159CCEF37A39C25FBC8D4D5280C6ECD9B6CD1F
144854EB55F42637D974407202438467C45808958670D5A597883591F81F69B9AAE7 1454501A87BC912A398D7959460F8470677A36170BFDAD24E5A80B59D03A9AFDFD77
1449F95ABD2C94F0F233ECFDEB7CB4C876E2B0279F07786686E1D55652011495C4FF 1455D29D471C368848490486B6D07467C525F47C59C548EBBA09AD530C87494C0C36
14505C09DD11E6AC3419E53E778FC951592E6871964CF182963CD3E2E2ED54B0387D 14560B266818D4BAA382434014B5AAD24985AD5488C5B20216A4BFD5DD3ABCF68442
1451A65CBF4C3786B9FFB4FC9BE817BA5ADF7C56904E49D76C050F739D8269A0F367 14572A34CE42B2AA9B2FFCB2C69669F471B5559AC3B1E315CCF9BD8D1D596C606372
1452C07D29ECE96EE7EC9409A5F815F8BB27CD8ABA52DD41D8406271C2BA96F9AD78 1458C60AAF7407900CE28F49611C7837C442FB0A45D116CC393771B603584E416ED5
1453039042C71ECC942D7898AF8DFEECEF2B7D93230FF418B589EABE2CA606B24263 14596AFAA3A1CF5AB1B3E4C8844F87EF1F8B3C00493E44778F319B73775DC49908D7
1454AF595EA9A092FA271102B6B4A5C2A67E5B06CE6691D36B49A07F1616C79DC6D6 1460FB064B6937D139D056321407A61ADB0FA3DE34BA0EA64A8FFFA5DD00B4198AC5
1455E86D6734E7C3C50F5D879606627A8F22D92661567C0EF73A1A67657C09493699 1461DA6BF912D0A61DB73849E60C08009F61135596C659EF2952730378C6953B270B
145649C7A748B0DE88E6C99528AC4D6BAC414EB025B58CBE163B38308BAC4E08B9C2 14621B30ED14094F3425EC537E034AEA44A35880F606D9494A4F167CF1D68E021195
1457BE464858A6F6450954DA2E5782B78BCC63A28795E07D2C60C10806E21B90B2CD 1463EA95BFF9B1204308EC6023508D5795BCBCA9D0B5B4713B0F0EA3742FBCE6EF5B
1458CFB625AA73BF95A30AB31EE4172EE9976B307C002BE02BF9955F0193507E5071 14645543520C2E546D4AACE6772CA093960B45B6502A14C6A5207C2E7F42174AEE2F
1459316AD5A467DEAE1A1AEF879C7DAC1B5205EC133DDEB5DD6A9E41D9BA6FE56C88 146550665F4DD1D84A33A327E8BE643DF277F2C217918F70DC9968F2502674F5C9F1
1460CC865D56E2F305979AEB7FCDA4A3C98EA941B09A0AABF4AE5EADC62F1B0B92FF 146654BD713CDF1B40E62E36C1C9719620F45DDF8186DAFDCB6B6C5AB8CB4C16CAC8
14610D856E7EB38F355A30B38F39872813261E71A3D1338A8A5BBCE26B874993AA09 1467DCBE6D2C08D2CAECE8559E6AFC76815ECB8087092D9EB0E93D31928B53373BBE
1462DEB4FF1D4C3F43FCB1972F703BB7140C348A64FB02B5E29A07CDE55883E4F2C5 146818B838A8738723333075B9C6F314FF6269C9EC139A89509EC0B5BA1FD1821995
1463702D5D9FD05EACBB3411584715ADAFC54DC38155A17FE2C4D471EBEF717482D2 146903A20682277AD86350BA5E0A4A059C718E5D77233198BE6BDD319DA1B92AA22B
146410DF613440926BE3DCC427CB106727B12B04464E3A50A49575321F84F64B708E 1470E2770EA17130E581BF8C6D474F8C75BDFE5116D742489307875E568474C63723
146586FCFA5921A52B2D459240AD0DB45300715069CFA36E6FB4BA47CCE6856E8B93 147181F4C22BA1B0B84C64BA2FA9575D08B023CF358F4952A8AB38916BA1E0EE5BB0
1466D6A2A43BCFD748872304AC3BE3D905A54A47D303CC1A087B03A33C0763010F56 1472FD8BFDD642176954639B040EA3F1F388C0CAAD454765C180A677DE7061634A04
1467AB46520CEDF84F146EE5FB86BE086A472D5C0684FE9A1A633DCFACB6E79CD0C3 14735A58617F0D68293EE2679B92AD7ADDB8E4F491D8A04F12FA6D4927F8D32FCDC4
14680B1A3B29611306F024F34AFAEBBAD8C18631A68C49FAD20E9DFEE55D14EC95E5 14748DAFB672765D599B376E9146A0869476464FF3ED541A90A13C7CB9DEC36AF11A
1469B5B4A5089A2ED0EF848F88B421857631FA651DD99D87706F4F0FF196ABAC6BC8 1475593175CDC284E2D9495BE7BEB76BE21708444E2ABD1222D84A33BF568B447D13
14708F7CF1268BE748CAD300D6298BD43283C487D0D6E340E5ADA956498D28AB457B 1476CCE55269EED0F07FFF2D8DB08CE1D4777C020AD6E4601BA5860438CA09677848
147146F2DF314922B58CBFDA49200F47676319039A68899BE5D2C78EA7A507640402 1477186B8C9BD6C8291019CE7188A41D34F4CF3F0B72D614D067EED5AFBD7BE91816
1472418C8A6F8ABD38723F19E856774316EE90E92C3AF1677D083398D640DD20AE37 14789D0C20BE8F48AAA5E3A02473FA1255CA761728C03EFC7680FB92F32CDD4A10EC
1473C88DF64010339DB844B5BD2A61B298BBE52B0B2251F16668F8E94D6A95DB778F 1479E76EB6B28EAE51D66F09568FB49B83A3D8295467724CB774D4D2C4E2D619A272
14749B4BF7654EA0CA2A418893E8CA6B6BBEE0BBB1347D3F3B56577C5AB1E76AB97A 1480D03A627401B1FF8DF700BF778AA905436D421AE00819A63530BB3A399E6A84EF
1475E48BC675922974A24E0A75122F5ED8CB912B883A949E9535D41AB4426AEAFAA7 14810501B8D73C00803038AC2B1651BFF58E00D72C32F3701BA82330DF0421A6629F
14764CDB413079D7D5C72D9433B8DF1C046E1157849FF78D2C1FD45BC4B4E2927154 1482B45B45B3D2461D4AA96AC0F36CCB75348391AFAF4ED915F61D1584A9B9E11535
1477D168E4E33323D2703300F7991165B48F1F95B419B0DC01764F0BE63D861E0E77 148344DA51552AE9B480778A160F8192B848EE6F3A36A85B7BC80AD00C645C3254E1
1478D339CE777BD531C527DDF660AE1AB5E7DD90C430F66E8584BF40D5DF54AF911B 1484CE76B479075A354E2A4D199B9B97945B92FF18E55A192287636169F50FF639E2
1479B39EAFB983AA0D038D227B66021DD587EB51FE1DB18858BC362C438F51774198 148548DFF08BDE9DDA8F372024A3B7C8106A1ECC51F38A15017B1E5F7ED5C35C07E6
148010F1EE25B8896097AC44B0E56AB1B341EC95AB570BE4700DCFD82DEA4664BCBA 148622BA85112078F1A368461BAA9EF8C5BE2B407DA6BFAFF6D924104147FFAABFC1
148146E0A9E7C7C99C397E97EA27A5AAE8F6260158235A148C849D9992563F401019 14878FA5F453895F8EBF8CF65A164060610D827CD38D8DE85CE87DF6757FA6749C66
14826460B3526AED81B45B9932700C0D1270689EFB94A5E47A6AA094D9F7F2FC581B 14882FBD3AA116E0A1EBA518B8871A458495AE39E2AA76C2D4BA9DDDF3FA61EAA369
1483D164CBCBC08CE9A04DB525224D2731265E6E54E278D2BA3E91C3AE6DE2BECC5C 1489F2DB42293A293F995D3A01DB2DCADD6E26E5204B7505A9EDE112E2106C26B7D9
14848FBF58627D29CC1662704DC08735F36038E54D783CED5E60DC2CC7D731CCE092 1490393B4EE72663D646364E067822A2D8DE21E65C15CD3FE31C43EA36C2FE266C0F
1485DED3F30E3B363E588E714F8A3FD537EB4C95B00FED97F9265114181ECFB39A00 1491CB54E78877B1714CE3C6099EE0304A47169D8A889908095DE2F3AD4B4D0B388F
14868E060643C6D238C0F8806D9C8810A545620F7AFB5CF3B504CAA7EC13B13BA1EB 1492A2FFD1DE6A065C5F82218373089D354CE0B112A541095F34EBCA188134DF8325
148704F754834D150B942FEC94DD8A5A6E3AC6ED86E1681BA52E9D910D68E31C0FE9 1493765FA79E96DBFEAA52540D3C6ADA67ED093D3C84F44FA5150614DBC52A74E206
14886E28DBC93BB5A6111E524D04DDC2B49B8DB82883028CEE5EA40C65CC5ED0D886 14944CA0030D532C04A3843F09CAC23B3C5CC0B085680E5711070C59868FCEACE38F
14891AFB444D05B58E67408321EBE3D4D17905459D71712F81C6BD43F46D11EF6AF9 149569EC85F4C74564F9FC173CB7CF5C3D60A69265B18D7B61F66FA44C23409C3FA7
14905046036ECA41AC72338AEFB1B6F0EF3CBCF089655C12F564451C605B2DBC0E08 14965A8C0AA3230BD59B27899D753CFB4BABDBB6BCC783C036BFF69359B05F87B1DE
1491F3235BB3DEC9322BD75A9928A53DA829647DDB8F2795D9CCD76E764EAA2202F6 1497D43B3F5A87BF9F79D83EE164DAAF5C472B74FAE110C9F70D522BA90F9097FCC3
149201D1C65FF46D5C8B1044B6860D22BE8B98B56B56F3B54EE8A9C2169DD2DDC73F 14987154AAF9225DA29643B114C0E4D824B82EE6E44D88088AF8DF3BC24B78F142FF
149394EF440A000DCE60581E409C49165D676E6A32CF9D1B23299991493DBA38614F 14998AE31FFFCC59225FF090409AA89B96EBD32A1B7F3E59BBAA4969A35824F1F122
149476B6A5703FC9C27ED286B5897DD5539FFA1979915D1A768A6D0C40EEA679C048 1500C28A07A67EA7F5109DF80873F886A34D1DA3DAC6739196C458E1AAD246E28C95
1495D9D870879EE9C46E1575E815E3842D1F1150ECED41F60A30BCC20D53E8629799 15015BAEEAFBB03E1C2C2C5B1E5BC25C7A637111CB8EF5598870AB73B87139CC0373
149604B60E21FEA41F1D3084E7A26FE0ABC0555C5AD4A92F2B3F691D60D0424BC7B6 15022C7CA4E216506C08CF37F57F025BF947C96A2C485EE596A0E8C1CCB1AADD96B6
149713CF40D7C615FB767A9DA0AC4582AE0C1B67D62E20F3C698D66D7BAC2592E9A7 1503A0D5960DA538B28B825A0E424E77AB2B602DB15C8FA9715FA3D51D20CACF6AB8
1498F38F683804AA0052527C0D3889E21D6E9DFD8600A3257F80DCCE0D128CE442F7 150484502EA510FA5A8D64B746C67E91419984D27DB79026AFB9D151175B682F10B3
14990CF351B360DB45B7D04CCEB3457E444E0C54FC5D337531E4131866D6836F33EF 150570C63E3CE4EE60C30D1E4E21735C3680B9D797E427F88075CF1753663B51D96F
1500066937C7706617311CE8E1BC54D3195B4CE7B1EDAF7EF57DCE8BF17FEC2F3157 1506D75D738906F8CDC4C52C626E389BFC0E88F5154AB4BAFC8A35E944DA02358C7B
1501BCC8A5751EA89F5F9578299504D344C1A5951083609B60C8C83FA67F5F44154D 1507E3E9DD1DEFC49FCC8701BB849E1E61E46FE0F3408AA7E2A92CF5E44559DA7859
1502862DBECFF7016083BDBAA480CFD5C63ABFADB534A7CC8691C40DAB5EDF4331A5 15082FCC4434E4F2A1BE4760434BF95A2B0ACBF29B290FDBA1BF168D2B1017C5B9B5
1503A3F055929456774257BF44BC31C383E43C3C8E37E18A4E7C499F72FB29A63A23 1509D04FEB32D337CADF33C3554403EC5500B8FC7A0CF257971C18C7BFCEFDC6664A
15049662649680CD9009B1CF9D5A38322832AC98BCBA05C4351007CB2549B8008576 15100378B8924270ACB476F0CCF2D611667AF3B5746A346924A01B53EA62F17535B8
15054B496AC8487B43F3702D58834F0A0477340C9FAC8C4FF9D7D4C20CBCBFD915F5 15112F31791C34DB10076B461FEE419F3DF6363EF6B6F21B36B60B2430A8120546D9
1506F55617D851317330636B302D38140E465F3782F45561C18875BCB2FDA48CA6EA 1512DA256D859EF3BBBB417919334BAF9296893A920DE15A1EEA873966B2DC71BE89
150771B88FA9A87918A343E1F2E0E759884C1DF5FF3E7A51069FC427D7DCB3CB162C 151308D8B194EC8DE09214CC521B8E1258143B43016D0E228A1BE4DA5E64BB5BF45E
15082AE28D41F5CE96FCFA37A5E5750CB88FEE027F97E978EAB9326C64B87FF19626 15149D68C4708447F058242965D945B150E73A8725EAF95AF0F7250F378445793D19
15099EA9B6A7316CF6FAB3A49AEA2433FFBDC202F6564953AD3546101E295C2CBDFE 1515E7FDCA0A7F9BDD59FFE22DA6A1A6A2278328E2CDE66BE8ACFEF03D5BD28A701F
1510A758DFD9912E8096C22C0308AD6705F7807F151628CA9D66FD36B48D49860F53 15161717328800B57A752EF90D02F72A210EF7B61ED77D23DB9DC8F73A0A06E4ED44
1511064096525B0028D3D6279306872A42BCEE965FD73F9F41FAD18ACC569BA23F3A 1517D603D0F4A64FA99ECEFE278F7F892F8436F7C58A463E45F1D440C026228958A5
1512F72CCF9A09A69F49A1AD5EE5A8B62360E363E0B1113E008B16D94AAD5551DD1D 1518AE9307CABD3F5939FD37D020658764DE53504DFED0A5E08B199D8B3CE94037C7
1513E689CD903DB992FE50775033CC10A091FCEB9692D875F7DC7BD179BA5E8FC955 1519DB3DEF389784D250EEEB13EC65F90A7CD6E8E99E724D0C13A8E20CEB9636AB02
1514ED7F6B3A08453B03F75D825C5815815915EA89276251D1D03787EE0ADD5B7144 1520FFE561AF9227F6DE05A2CBA8B20EBCA6EC8760ABF7ED9556BCCB59BAA76036ED
15154076D29801085C7B128C5491C7A2DDEAC62B54330DEC660403FDB73A8B267094 15219B7FDB697A9C2CCA821B590EAFB504EE82F58F30C07CE0A097EFFD5DAC03A2E7
1516DA5BCC57E428FF59EA99900E59A4296C676CBCD11C3EDBCE68077224D7715999 15226050E8C3A5527EB85AE29AC8F4F74561C02B55B683810C9558603638058F2286
151736F3D3FC2240BC2CB58A5EB06C5BA59EBF9823AF6FCDBDE93CE2E1A5A16B02D6 1523DB1F3372788B2DB1BD435959486C133C3C50EC14A45BC9EAD710B22C15C73E9B
1518F5ECB676FFE824061B02FBA31FE7FB7B9E9E065B9AC4CB23C96DD0764A6C568A 15243F86E909B2EFF5310C5E6C8A9F93B0B9071F121252884DD532DB36DD2EB52C93
1519D858FE44B23F04284F9009BB75751D98BFE5147A1F7184FF8D36AA1CA978D694 15257A1FDE104ECF6BA39DA6DAF33D6EFEDDE6007900741E974E4805640F8455466D
1520F72DBA10074ED7A82B322387A91E1A4F0070B8426074A584ACC462D284860457 152650D1FF14BBC7B03F1EC139B179A091746956607C8D097FF1B77A0E4FEACE0EDD
1521C9BF4790C5FA7941183F4D9C6D0C7017F3C288A8E2DD5367499B1DA0D2A88925 1527D56261920EF0F150D1F83E6743C3D82B55503DEA7917CB129038411B435DBB76
15223F2A2E5AA0FF572681B1C92E2589DA97AA2FB527285ED3633C6F289C67B0390D 1528CD6AE2682E4DC6D42488E113760517916D5846BBFA9C1B8C316554E43050D86D
152350B884BD5759E7EA412F75592791848B2D9F3CD06497440B1093EC93095A7C86 15294E47BAD85C0C2649BEE99F611E0807EB70FE5D70A587C797A53F4969815D942E
15246AB1E8752CAD96C0076B0F9EB4CE2220B630EED701D1A3796A4BD3FF35293934 15307BDA223588185B7C7C7702C79435BA27B8FAB1569478FAF5718577743FD3E9C8
1525A69CBB8A74CF22836CE5200DC14E5295D6DA56A3AA44A004357F575E5547ACED 15311C0B2C2DF185C1F0C422F8283B992C9968C779F77ECC8CD4F2D7E687DB1D2948
1526A1982AE3CE7EB7A59840DF825F970A11E563AAF3974F547F806AFDFC6F0F4BAD 153202BBF76C2E1F550FF60FFDB83D1FF6C98B050EE8944E6E72C128AFE756EADA0E
152788F56A4F8510E0AE842B9BF551230FAE47803AC5A959DB6B62F291C6A040584E 15333B8BE0E6BFD1C26CBCA45C9D79BE4B9A49650776D28A0AC0A566FE15D387AAEF
15282C4A02D41EC7DDE254F21D6091D62D8598B6697744966BFF5E86CCE46D9AF24B 153416DAADCA9F7D2736C056C25F80545F59C12CCC4FB9D50874789B196B9C2F51C9
15296C9AA017F944D42AA02F6775CAC2671BF2D4EFAFD3E529EFE3A5595F01D66408 153576EDE6112B7D00EDAF01790306AEACEAB092C24626040EA7055FA31581581BE0
15309513C728725B3CF6211808898E4C28A3F643B6E537D883A738CFC13B97FB3D23 15360C6F28C45ED4D3204DFCE04CB3AC946A985E42E25075BF110D92E0102E39B06A
15319AAD448F38C6267D36C0FA594AB6FBB577ADFDA1722A9E0B598432C8B4E2AFF0 153741228443FC961DA13789DACCFBE69DAEF1739E7F7EEBCD464F63166E13AA3694
153238DEE9F21CB910657C1AD8BA2C821767C0158D7AE3DEEC883372DEAC9CE7A2DD 1538246E76AE4200EB89ACAA3BAC3AB6EB4D821AA9B7960B70122F22A56C406022B9
1533C440B233FE7093E2B03E702F57A082F438EDACE37F29FE29849958C5079DEABD 15394B041E21FE064FA2389BD70F1E1AF99E7943B06C0EC5A997B3CC536D9AC38FD6
15347954EEA31EC67B0CAF068FF58C731AE5A77607D6FE13472C5A70C111177C1E99 1540AA14B9DFD4CE7FA3C3871B075B31973D568FE7B7DD4BC930A823E0C814AEFA29
15352657B20BB0D01C7C638A1E588CFAE59CB3171B685522FCFBD4330C941079C9C3 1541FF6B1C9710A96A1336DCF7FCD0B1CFD2F20C5F06D233AEAAE11A110F9856F858
1536AB5D5FACCC98BF9691DA89AF9691D20154B1805AED841931700A3F7F25924981 154227CC8C23385D8D486301AC324C9832F154A9E0B49C02D0D8C45713E347D87FF1
1537F6521B0C6E55C98AD91ADEB1174786A6412671C602DFBD482462AE2F1DFCFE28 1543FCF8FA13A20510D87980685ADAC8A2B458C6E3904AFFDC8D67201299317A0CE1
15387AD206FD98F5238665DFA789A4EDCC298C64B4E72C0C1B457BD64B4479413356 1544B1DD0E8430AF898C97DC7D9228112649CDE77B90391E22936574F72F831F36B3
15392DB85E29E862C2AD57F150E1CA943D85D71E82219E735C7D8EBACFEF4DA9C725 15454E73B141EDFC9469CC3E4BD7B57213521B187DD5E293BF9F1F76202CBB4A072E
1540EF436AEC25D36C9E9D32C67A062605E963BD036886CD9688F7EFE6434A29A2C7 1546C8C82D7B10E05405CA358E68A6192002AACD7F7CF9B592B116E89738D13E940F
1541730F1C610F3DBD29A4A71EBC3D179E3BC1F48657E2DD6800E5B1EA7508A8D439 1547E29EDFFB3D85E618ED6B665E8F10AFCF991D2C0182CBE434BA532CF8A9924152
154211C3CB84980DCBFC33875E20784CA711B061AB5957CA59B43AE4E4A44B361349 1548D8A3A9BA45D04F747424BA6F062D81584D3FD4392B341BC66B508C04C50BC6E3
1543823D45AA26B51ADE783ABF1C32E49DACEC7DEDBDCF2648ACD5A0DF02BF7256F5 1549E291507779E456A6E9378CE2A58AA075519A111E97DF45527975865FC7711E08
1544FA2F054B79A548996442DF9205F4F3F2C27607D11B5EB4080B3FC1BBAAF8CFE7 15507CDE68C74AEEE367477F087D09FF67BD99C8CEB605D165F0C6FD285BDF4B14EC
15455FBB35B87B540546203FBD90341CF38AEC32B6BB46ABA368EA42C69BC9834A8D 1551183FF6E149E6E3A387B0DF88500DEB1725363A29FE31BBA528650365EEF12B4D
1546E915C163692174A5D51136308383FA693024DBE6552DC525BAD6CFBF9B61D2B3 1552237323FC2FD1359D3DEEE15B9695294F52BCE8827DC6DB80B45BEA25BBFA77E0
154761FBB94AF1507EC144591C621B8DAD5452BD53B0BFEF03F6B9D53736FDA5689B 15533E408916D238EE9984A72698E639832242A15CF3B2ACD114109D2EFA8ABC9638
1548A9FF78255396DF20AEE452D5D3D2978B2D681BC60506ED10145ABE6B719CA44B 155431EEA7AB94A96D612F6055E276E6C2EFFCADA659B388F3746C690F0337159DAD
15496535DF1E593498F8C6742B84BE204883ED8D8D624D52F0FDC9C8AFE1B7808519 15555E80AF3D0C50617CF5A93877581D40A98493451138377AAC7F9335DC7C3C2373
15501E056CB591B6A2DFC4AA44604AFC512151FB0D3A3187FE57F409F04092035DC6 1556473D7CE93FBE582BE591A0C30ADAE4B1714DEEE59C01D69102E382536B92355F
15511164C06205083E54B6036D9AAB673FEE23A3688591DA15FF698B25C5B8890540 15576F20CE87FA4913F758128F74B48605999CCE0C32F86DAFD2D07D75A1D9950C0A
155217869CDEC5D3B4F12E83F75C164F26FB41A0919A412A447E6DBED19843A0581D 1558D32E693EFA4BC7C3DE6D3F796B9D805D703239B1D48979B5592CB1FF949F95F6
1553B73610113FD75D28EAA34F2A47D99C13EBCACF96DBDB867D83EEB53488E3478A 155993142411389D667FF0716A8E890E7D5D4DAAB8797C190A940806A50051C6A952
155463A2EC583536A3FB63CB406078595F220F5BF53956116F9FDB05A226FE01EE4D 1560BECA1B01EC677E00A1468EFAB40548FEE96B0E762FE8400E79D5BDAA28FEF9E3
1555C28A48A250CED2AFE801BE10029013C9685D60F6F74628A5F5961E4708EBF3F7 15612B81442635D159D01BCFC08902317FA5E6EEBED4DE0490A026E8F94260EEFAFE
15561EB5DF7837356E20C075DFBD15D9891A1A9934A585C0F881D104BA927A70B832 15620A1FA3134013B0AACF1FA951218539B357586FE92965634487770AF7B2F0A0A1
15575CD9EDC7E9CDADAC7BBC4DB1ABAF6547C3BC08C6AC73CA345AB18A9651151CF7 1563D7735E6D92840EF7E953548339BA6ACE2DAAE5C3A4EB3BF3BD62DD27D18E3819
15584752C8E74157D3A3575D4D81FB937D0061192D1643741CEF3E218272FCDA17BA 156446B91268C3D6E04B16AD4958E7AF8929B4889AA94E9F6E48BA769D464BEA9804
15592B9FB73A7A008F91248F5C57C91266CFD1E7119ED0BBB80D009330DC501CD8FF 15654C318599988B92A8256C1FE552BFCB3EE4512C12BCF2F9138DB1A8633D6AC290
1560423AC58BC8E1AD0813D11354BCE3DD1F511115C9F571E25A58E1A42D4B2F5C6B 1566C9F8340EF54309DC42C2A035ACADE6010868AFD6F389B931D3B1A8CF72A26896
1561F39BBD15B1CCAB68D7C8E75634C69BAC05D3DA6A2D54976CC3BDC370F3274326 1567FD78C5789C219C2D4EF28A91A425D648EBFAA5DB7F6AC12EFC4186C6C71D7F06
156298CB0EF0B999032718381A4BA16220F8088E87F3B0282C8011BF2A8BE5B0624F 1568F66621A939032A9CE5D42AF8E45B78DFA211CB3629DB57CCF9FBB5D3792FA8D0
156310C83F79C1623AB3D1D62F1A030DBDD3B400D64BD7D1EE88695B5EA257094B71 1569BD6E520B115B24BA4573F20E145FF4156E3E57A286155269CCC358477A477CC4
156438806AE74E3CBB7615710E2D75428930EAB82417B11008D3278C035152B527B4 1570A9DA53A8E9C547CFF68306E78DE02DB06E516E8865D2AEFFC2B7D3D553E9A51C
156544DFDA85769635DB0650CFFFC6650ACF0E7873A53464C5BD41889A2A89F3ED47 157137D46E515332861E6EF5308FAA3B759DD0EB4857EACCF33DCA20A80C016D1F1C
15660C4DEB5AE511FE61870B9EAC40952E531FB6216E8D6CAC1A480774C0EDBDE9C0 1572695F7B7398DE7DEFA76C16CC686A29F35A61DFB244B1389293E9D3106881C303
1567B7C880E28F9FC77F853183B4444EB15880E8EE0AA9BFC908CD9CAF6E16921BB5 1573D621DABA7DA35E2AE5D0A064FABF1F4CB06CFB161F10BEBACAACF507F8131AD6
15688675F3B3A4FCE2B60EA3A11CEAE4D0512F383998001BFDB48EEC41A6767B55B5 157490A5AC1BE85ABDE87A02D841E6C9A99949901A606906EB5E18161D947F1B4340
15692786A2D2A35A1CE437A29B023AE6301D85B5773A31348976AD970556AA208158 15753EA721EE08DA268896FD7E823879A1DA28E885CE2E152FA18C1C579011F2CB4B
1570970360327DB5F65E210A9D76525E44FE9051E71C0262B84F2C54E0EF4F280FA7 1576B75E3CE9FB816E247FBC50089BC9489DCDA99DD4B0158357CDA22DE2399C9DAB
157169511C576842AFE25D4FDD651E286A94728CB56DE3C79FEB6B4727A11502F876 1577EA044DDA012255701F4417EF637404DD5EE917C0C346D052743822F06FCD7391
1572FAABD8DDB97AC18F3F19B272C4541D1807DED62466389F92AFAFAB9FED162630 157897469EE2E90D31E5C551907B4D0B4AB5E4C505D3255DB9076787C5842264B8BD
15736104796F4B2C9F26BF46F94100BF569BD3755C35CDC08A1C5F03A4324EBA28DA 1579594C408188166EF3E6D82DA154DD8FCEC90CE09EE454F109E99F129223000892
1574B2A41FB6562BBB85B6444B98C90DBAD78D79FF7293280894AD326FC95E28B435 1580942EC93296A86236BA41A71D4875FB2E208C3C891336354B0A42C89B6FDF5A54
1575BB74C1B7DC963D201F2CC9B5C224023D77C0B2C69A497C5314DC418B6519E25A 1581EA92EEA1AF7F1A276F75C93BE7996E60A4B5F7FDB6FD6E26F3E64500430A9B2A
1576197D85EF1430FEB760478E29AF6D9530817F777384D3EA17FD4AC22AB1F81B5A 158289C0912886A5A590051408E3D40F06E9069BC0836712D39B276E51ED6897AA93
157719C853EDCDE39174062A4A6D0DD5A0206D6C577D148E103EB5BC30890110367D 1583BE95ECC177C9B447B9217672D8743233F10B3BC1EBC11DD4B453B9B97CF34B5C
1578537186A9E8D70AFD70 15849DE7F43FF666074F604656469F25E458365EDB8EBA89399776584E420317EAE9
15850E3914903CD4D042E5D1B41A3E62E1B20404295D49BA8A8BCBD8E6ED3CBEA90A
1586320D9C67667E0D6B47FD82FBCE186466AADB6BCABF31123201F1AA52FFD8059E
158750423E8EA0E6367434D7A8D897DCA904D35175DDDC33CA87B6CC
15790000000000000000000000000000000000000000000000000000000000000000 15880000000000000000000000000000000000000000000000000000000000000000
15800000000000000000000000000000000000000000000000000000000000000000 15890000000000000000000000000000000000000000000000000000000000000000
15810000000000000000000000000000000000000000000000000000000000000000 15900000000000000000000000000000000000000000000000000000000000000000
@@ -2024,274 +2033,273 @@ A208ED52A9684A802003AAD6D9FCD5A3CF635FCC938931CB94C751212CCCDA6E
20246EAD4AEF60B83DB1E356D7B6844375FB3AAA0389F56D070F426C759ECD2F970B 20336EAD4AEF60B83DB1E356D7B6844375FB3AAA0389F56D070F426C759ECD2F970B
20252E65032797BEE2FFDD78CF0B7C9684F6EB8FAAB6502F4676CA8F23D37CC4D4A3 20342E65032797BEE2FFDD78CF0B7C9684F6EB8FAAB6502F4676CA8F23D37CC4D4A3
202642EFDCFAC381E4B95D63E26FAC8DC58232288CDF0A98F076816242E68A3C3189 203542EFDCFAC381E4B95D63E26FAC8DC58232288CDF0A98F076816242E68A3C3189
20279B2F6F8F06DF0A52211E3953A57A51EE1327E6C519A50F2B0857987530CA262F 20368EA28401139ED158D704F62F79ED030B0B8C6FDF57D79CB24D633DAEA4D152F2
2028A7634CBCBE1BABB7EF1917AD836C66FB19A1C993ACEA40D291AA07755E5F4CE3 20376D841A03E07789BCC6FE50E341EBB0E62D9A727C6A55256893D89562240BE250
2029877EA9256745044ED37695871840F5FD39ECC03B9A65955C2886E773F51BA327 203843EB09EAEB3C19F1BCB4319DC85CE4FA356D25386C9646BE83B51DECCADDF627
203036D4B9077056B5C4D31075BDB84D95F39217123A292CCD32F072F3DFFFB937F1 203932DEFB64DC618A9506F372828A3B615E63CB685AF64E199532C3AA540A6B628A
20317A543C93033C9BE51423EAF43AFE5D40F75C7614C707D898342BF2E84E557470 20408E4019355DCBF124E438AEA613E35D755F8B9263861A63966743FB7DF52F2F08
2032A08F92931617AF53A9E90036C4E235DF6C8A66366558DEEDBC6267DDB46D1DDB 20412D4337B8ECB52EF7E09311A5FF7C40E608E68B9D0A764F83A294E3439CED09CA
2033B943EF9381859201FA74BC1EE0D11E52A75D89678663CAF13969A433B817D0BF 2042CEE4EFE17CAAC95C323E51B205DA84CA8C17260D7643DA0DC0222A5A6F192602
2034AFE672FD7B7E0E318140A2E18A2829FB9BF621B9519FD20B415F338E2DAAB087 2043B240ADCCCEB494EAAA6DD3961D0A5B697A1754C77FFBFB45305B72C533D6D506
2035FD4F4FCB88E7AF5C24C95D596F35D46AE8075E7AF122CBFD661A144081C53AC8 20446ED9C0E158AC4CC72F1CE4D70D35EE49FB5997BC93CA764B7CDBDC0DED90A276
2036AEB6F0121693634DD7514440936609024EA1609687A6BCF2AAF1302FB5D59126 20455B7333DDA2EA5CB20696DBC572D77DD5847752A7181DFB4D862B7454DF10893B
2037E724B35374577B44AD979B36CCD696E4B8C86B659C7A07C12F1B07DF63902F46 2046B41B2D30036A20BFAC047CA6E78118C1B59AAE1A36938CE018105478260C91BA
2038DB26E527586481898BA0C1C4D0343E72D90C446446C5A5BA75B6D6E3A45646E2 204784F8CE3EFEC29EBDECD0C1D65AC7DE83B2A6210BD2D535EB78471375A03ED62D
20396161A12398845D942EC234685037E7FD00EB78E2DDFEB6FBF29EB0D2507ED3E5 20487AAB24E7E940B021B6772D2C74C662E78F25782F00C956F49C078246D3D5D230
2040645F4CF42B5164A3052755B879329C913274965209606A41AA739A8072E3C7A3 2049BACC06F32A5804C4984FE5F40D53A21710435E43A9D178AE305C052A44773E2E
204168B2E9B1FD527C93AF479C377271D51821315A483ADBE61E4E5B8AD254E17DF9 2050018175E9B6D0A6F856179DDF4B66B9B6C02080BFD3F79821CFF92F44F7900367
20424D4832CED4009A88EF7A13CE454500545B81911091C6965B384A8F8AF977318E 2051F43EB4BD305740DF903D212B00B44DB51718D40A186D0CF87CFAE417FD957611
20433F5C7120A28882A2176C5B815E337C52FA5A66BEB55528A34FAADB58884EA98C 20525314E281183E04CC0218AAA77C267AFD4A0D4E1908A1D60E1005B33EB5EE5047
2044D8226D65ECF97382A37C9D02350C87F7D9E050D45814D2DC6B2490EA5A19D366 2053BACDB817380466BF1D084140E623402D174A0810BC2447BB2A0B7A1C1E4EADDE
204510D06715C71F9505F9169A3B210B1B8ADCF919A2CFC751BFC47AA8132F660073 205404EB1432A994D12446064F3F08CF3FA1D62CC361EB1B8D956CE12255C12C35FD
20465C6C9629E8DF4A06AC8FD77039C5B292BA00600E039217297C519FA7CDC5171E 2055A0528F3C74A333C3409E138A551D2E2351DB44BC0F1F6CA6454E3A64B2A74659
20475B8E1DD51B4DFBBCC7BEB3AF99C723F4C6148F6F4187E15C9A5C5F24A565722B 2056A7CCE55CDEB071FD94B4D166E17F3640DDE2B3D5633E3AD8CA18F0C6776BC247
2048FE9DFBA7CC0C6A01BDA00C8075623ABCF59FB8062983174198FA1818CC644D6B 2057263AE4E046077DC73D5E9C7117AA1B8A823B5A18A64004329F47379B050597D1
2049A7C7E3773993773D2B4C009FDAF9DE26A95EB4F7B7157472028965A2AE646234 20580D3925A3E59D630C1E88EC5A6B61BB696635B48A65D000820B4AB15C11F43A1D
2050B13F3406DD2C8C078CD8A4078364413CBDF63FB582B25E9C0E4B8A7F9F0BF493 2059028C5667E750A6875650883B6DD72A783280772EBF55A6E08814DF09D8047CE2
2051E9E1F0C3B711D5FFBE44E588422055F792D7D5D3A2482120333C99AB487308BC 2060BAF5498D4F567FCED475372BDD73DFDA5911FCC6B32ACE95DF38900BED5747CA
2052614DA8C5B16E239689ADE4FDEB69E9F61578786E38036B913EE77A89B3B7867C 20614880693640008D4298EBF2C9C053B38C821A244367331EC78BAD53EAC16D358E
2053E27D009FB44BF2D9DFDCD9F66FD2D13BC1599B13F2E19F4D34182B3929758BD1 206294F1BCC39C05B61A8347E4B69B19941B320271FCE6E415FB14352587A929077F
2054F0B825E52213B52C5C091DD2E6E9216CD4E8AF0B82A0789FE40DB0EED926AC4A 20639DC65C455A76B8C2F5E7FBBD0437EC17134242D3BB13B0722C6B197C54E5EAD8
2055C8A67A33101086A925F3E677B7F6EF0A5C33CD3A354464EA92C3D860B90D08F0 206418AF5887986C7895294E4E810EA9BC21D29E2CED5C82BAFA33FE5058F3F252A2
20567E2CD9F57A06EF377955ADD81969BB714DD25267F29115C02FA60F8F7B3E1646 2065C1C2F313872048F8D2EADE51B5A94290094085F43D81ED74DE3EFE8AE9DEA7EA
205748FB8C60D0F0E08560DF756D96F320ABD285FD35FFBAA476C6ACB989BCF92394 206649F466F7F133F2C82D656523B407797A61B8C9982D5B60293EB7F18A2085E1EF
205811CD8FE3FA053111EF9A7CD5A32A4986150A5F800340849B5D4CAC1FD9C581E8 20677C1F60A8A438314F0388F722ACFCE55195C1F3F1E17159845941589928BEC56A
2059D0E0166EAD80174CFABC7EEC0F1C3928BD465CC690E73DE9E0F91ECBCB6E694F 2068F31ED3C2218CDE188A3B55D17FF605E05D8AE1065CAC7B135A1E6B54EC841644
2060BA399F2998FF36013EFADC8D4C24D76EFC29AC6EC6766E61FB9D1738C70848AA 2069B430A21C8B0ACAF85204A564E57FE3AAC1A4B8E8D1CFBA68852D39C4A3159DC4
2061C5E93D89FD24B6053F40775BF36A1137464BAC9CADBC12CFB564B030D0AA2CC4 2070605EDF016558176CF811F7591977490B3C21A1E4A79D27E5D76310FCBD435C95
20620D2C53EFA25F3DB0712532C89D9156B498B9FA8D7B5F6EFB475650866CF6E79D 207140F95C34771663015DF949A64B171F229F83025C0A907965DD988A0F2A75E8E1
2063DA67C0533FD0F8536CAAF909744672E14CA51A667845689D5D94473242E1B804 20721B498406159A0C332949577D32E1545FA3401879F05329982C72A203D7652CE6
2064D6A717F082000AE27D8A159BB2042E36FAE0B193DBBB218F5C528BD203F4D146 20735AD49FF99AA463047C93F56DE4916158EED499FD7073823BC5324BC00191B24E
2065057399E10E7BA35BE63B729ABF9DC1891239A573A67B44E361F29962A2C4E628 2074456D1A93FBF6E6137B4AA3A773047072021F8C20E9A553879C60A54774A9E845
2066E106F9E0A7390B0EDA6FBFA1DFB6C99C71D56E977B1EE6C0D2AC1FA77511F2A0 2075BBE9DB5D253F61EA096DDFCD8F321B74465B604BF3AD557CD20E6F1C7B0169BF
20674F80FBC1173CEF67FE8D3F0EAE17224FB730041148F4E9A6E7D401810D30A923 2076B37105EDBC8FDBF1E3DB5554775E475DD3AC4F88DF0D72CDA441C04A0CC47526
2068249F6DC070651B57B47A513DCD5C06D82C8319A92629B36278EB6BFE9739F203 20777A35680041E78C0B8CE7A54540D591DF9CC8164EA3A3C7C871B029AF99DC0DE2
206926B15E42525FE6D439BA608478213F5848E8BBAB6872011F130F003A94C8612A 2078E994E863765F9D907EF27DBB707E9EA1CB479E1AAC73F741E9EF0AA96F8455CD
2070ED46690E81CDA8EC5948CA0F57455116B81A0AFCB200285EADBECAF3F3249279 20790084F105227A5A3B6E066C5487FC956CDCC0E8D1F6B92E8E0F54EBDA69C7DE9B
2071E80D9ABD82F22F12A9E14F6BC249942717E73CFF0BF9B205301F80EA09C6A847 2080A63EA7FC5C969185D72362A6EA294E30DE8E13CB701C90EF7E13250B34545B30
2072AB937AA4C2D0E60AA335177B4B86A1D4D5ACEF074120E2DE632A82598D51FCB0 2081CA046BA19A488FE9FB27C7FB9B7A6017F78D2B8E9C5ACDA576801381F6B2C435
2073B32C6C900255A00101E57AA5EFE2DB09CC07BE8DC99F796713092DB97D6912BD 2082DA1B205A4041A7C1E0B55B44E71AB130A11713DA2D971D2FDD1416AD86412604
2074D8B0C40313F3D6061F0AFC4B89413514A9EE113ED95BB7729E29F144AA0D42EC 20836E65D39D7D77732E6B42910C85FCDCB473E5F2ED159F9AF583CA21C4AE230D63
2075CBDA616D1295537975D0E09D3F59F7BD2D5965E2C35C85EC56383CE14EA9D8FB 2084607222B23A1E413A671F55E6B71B1F772F9EED06CBD5F299D033DAC93F80330D
20767F28F5A3F3088F970C4BE07982E140F52E1345FAEFE04F4C508A33672611D76E 20853E3CAD7850FDAE6EF00E1E1D02395CA135829FC65A6B8CC95537DCD7AB804425
207733DC6BE4C84BBAD738A71539E8416E5C8B2DF65068B29FA0ADADA5992DC6941B 20862172752ADC751F0CCE122C7A470CF445FF92D6DDBA43E0903AF9EBDDF94DEA18
2078AA856C98EE3B244520159B884CF4339C891B86E917E7DD54A712B5B572AB5696 2087679567FD8A7E78DCF94B26D5C2E4E46BDF150D67032545A5DCA2EA06E49BA763
20799256DCA1D8E073C2F5E754C845FF861419026385F21F5B5134372D27AEE08B72 2088D5531360293B0AF7D83A7706D82C730B97D78FD494E47502CAA1125B1AEE7093
2080E234E74D06FAFAA327A769105DBD300D0F75C286F4AC3A7706B377321B828CF9 2089129C7BB9DC79AFCF1F08E8157A50AEA2CDB077806133548C9159D1C5B8EDA8BA
208185A48B4394C32B09F6CA7A92F93B8143AFB83FB6C1FB0F181C64A23C04651AB1 20908FC4E14051F42AD4217EB631A846394CE942C16A2B2FA617701CB3403ACB7AED
2082830A7CB62F5755D3A0B780FED3A290C752678D4A30C7EE1B8179749D415202DC 20911B0BDF2F56B65F14BD2D3D4860AFA59D61709D1AEE9388B04E40B7F6D1878293
208385C2DF88383A620044BF850B733EA1ABCD96BEEF7BDF2FD6EA0449B6D61DBD07 20929D828F81DB610843ED5306632A99A23E11D00A53B46660E6AE8BD5DB9284BDB5
2084D3A8FABDFC7961B06F7C2F2906BAB7A3BD33BA8928109E8BC4B405D9163D3CBC 2093BF5F5118DEF0585FB46364C7F0CA697C43712C8A366F717D600D56B3B5162E98
20855C664B1B2A18BC21C3EF35CD3E7D99999DA3205F41B15BBE2C9E76CE7EECCF18 209424EA12C92C8831414F54DA383B358AEC3E312C456EF0DBD70E81819DDC2F00FA
2086E5186D5A4AEF72CD7DCF1C76DF9CCE29C92BB28B8C1A9A05C4602B82DEAB9354 2095B3E1EDE9C4610F5E51D0F4E0EAD5508BA97AC5D6EB5F16D2927633A7E92D521C
20879258C2CBA3D9146358B69C420BE22F1603F6FE4C39D2423FDCBDD2BEE0BF6B40 2096E9C34D91D69C5273E3B591E8E9732EC02FFCE392AA2093A154A8AF4323BE07A3
20884F7BDE641C19DCF7684E7495EADDF3A86D3DA4C4E93DC00398C5CCEE3F3C95A2 2097ED6E4E2A0FC7CE95E879AC41D515014E54913E3B68D83FD3C621F400CF93F9D0
2089D72201367CC2D4A5BA6B0DAA88E488CA671EF45FFEBDFFEAB634811BB0884670 20982308DEB63797130B1C9FCB29ED6FD1BB8E140178CE267192E5D2830DFEA98831
20907EA730CECC91C30A2B6ED9CD41CC8465209F05DF45C3FA514703BEAFF3A6DBE4 2099500EB89845F0D6B47BD87958CA500896A1AAB34AB6AE1568D0CFF85766CA1B78
2091978CD593E8E540D4B2D99055CA68FACCC4D1A2F709615805E885B840A806C952 2100AA828FDD1B699828832ECE7E48B2AD702109B72781640C7CFA52E0A490C22A36
2092E5B0BA85C23488AA8EEB924B99489C748602F82973B081BAB206D808C08F8C11 2101D106F18CBC5B629C61A3FAFEA54946A2BF98133683FEA93C17499CC8621F9395
209375B1D192FAFF8C8BC3148AED1B7206AEC32CAD33D1E15DB3CB4CF58957F2FFE1 2102D169358AF2C2D4F9008954E5DCE465E1F2333CB65DFD554052D49E268677B602
20949A2D1E838916289220638EE91B9DDD691EF6D83017F35EB2E924708E655A8CB1 21037D064A95B1B2AF7F6B4F223D772C88201A835A934465139DAE6AE837F6F653F0
2095CBA59DCAA9F787DD62352699DC1AD43CA225BC10B53B8298AC5B8C316FE433A5 210460CCE5FAF8FE9A6198294771724BE20A20E3A65BA23F34B59310154F54730941
2096FFF41E657EBF3DA92F7815919E3693C9C6F14098F35F206EC9D9972517D1C233 2105C39D3D438F2DAB828172F68A16CAB5A3D1EAFD41A982C8D7DA0438146625CD88
20976A838D0FC455502DE6C9CFEC92560026D5E9FBFB9CA05A15BEE9992F7FD73779 2106A0D3264A1C4947B2ADD5B320B982C12D1AA4C45334CA821177EA18F2ECFCA050
20983AF7CBCE1CDE7AEC92F2453431A1712E20B7C8222656589D379348583058DD50 210711577526AE45DB0C4E2D11F9470954AB14BDCE0F921097A6B73239B8E11CF61D
2099035F956EF757456D651B53B0E2E12AAC4FDF5B063B9BFA53DAE05542D55AF892 2108D2A41C16C8286A4D5C1E4F90CA103203CD2361C983593BE6CDF6E1A93E15AD93
2100B2AA10EB49EB839625A0FB4344F552F24279DEAA4E0E25E5EF1C73DABE4F1C84 2109CB4B66C51F0BB708EC26CDE3E413FD5F14100A0402D1FFEFEF92A3060C8178EE
210144CA224F92C9CB2FD5EBDBB510B98F3FCADB388FB72418BB298934195D623CC4 2110B7448BBA900476F1ABFAB06478ADB9D426FF04604A4C7881D96A7B66E6BBDA4C
2102EC6177AA90E8DC19CCCDD49B0B5E4588DFBA825C32135F92494B37C5C13C80FD 2111B828F046F5307345354D8DEF36543281AEEDE1407F9ED00D55BF3A7808D26422
21034199D717A7BC47E9F43ED5751DBF7DB3B1296E37E6C4E0C9858C4FB0EB5373B0 2112C26DF7CF6880111F52D0E884D8ADAB5B8CAE44DB6F4C4A7BD6D4B29C69DBE0E5
2104E70643A0BD54D080D8B4A7EE78A455240D2BA072A20FC76EB2121BC58C1654CD 21138EE2F7FF6AA30BFFCEB9A6AF4909FFCD80F68EA11E2AFD247257D1C1ADC14E5B
21052F9EB646568BD4C95F4AD8505921041A20DA936FE009F1758CECB5838173133A 2114FB18ADDEDA37AC39B95906EF8F5531011BC351B19A7D7056F90FA1FA0228634C
2106ADF49A309504BCA3C0E1C61CAB5ADB599130F1987943B7A2D0AA2C7883AD7BBC 21153C353A19539F78EFF72152E1A83C40F705923605DD4E3AC3801CCDFC3393B665
21075483F8225867EC447117DD15D7976B924F12BE6D1D83E9157E02FFBD5D9BE32E 21169BD2334180424290256C383F229AB6062D3732B8E3497E8E413AC1CB5896016D
21083173FF8C0D6DE6E8932E02B2ED98E320172C97118F8A20049CACE8CC3DA954A7 21179333B7610D3899BE52FFC49A2F24A7E9BA277C46D1B53763CAB0FC8076E3C0B8
21096613384E2619602E9BF84E3470B14A692371F6C9BD320D207BBFDDD4B5F7FD10 2118AA329CB6D9BC4714891C766F4E7B1DB3C17E34CECA89CA084DEA904227976419
211016E495EEF83B33C6A6E490806C9E95AFCA72209760AF1BD12E8D454E29882181 2119E93940D4F773C28FBFB771CF206D857168C3C9200A1EDF3281465F4AA3639250
21111E78BEA63628526F89724BCBA66266EC783B6CC3846F9C4F14E49ED879647D0E 21208167B6839466831D66D7AC762F1F4138A5DC4940AB4A908CCD022D37541E02F2
211279C3EAFE8F21A85727214955CA5F7E4C4DE351D560C2E5F6585572B31199F88D 2121DD976E727A9AD36DAFC65FE440D4A9EDDC5434E7E60431C6F65F1EEA1FC2381F
2113CCEDB5E2F1D98627F4D701E06D1492DE6A6BC55200A18C811FE7F34BFE805AFC 2122A9CE5E6AFF4187EA3C03FF68AA552410675D55E321DE3073638EAAE12F9F164E
2114CD62FF2CC89AF62DE15A81E5749DFE00DF841697466967BD315E282A21711EDC 21230206CD106458EB6E1AABEDC21E93DF33D4FE77F168CB5E2F7051077EE345377B
2115ECB58F3C0469CAEBE96FCF3C34AC90428765C57419FED782EC8F497341565D0C 21241AFF83007A866E86A3AB71D96C5264A524F367C5C94BC3C13FA63ADCFD3A0612
21169ADB90CCE9022B299C7B7036FF1773AEAEFBA6B4CAFC5CC2E1EB60B01DF29813 21252D384E8622C0FE2FD6F3BCD97276EC66DD3A348AED1049958516168712F7605B
2117F7990B64DCDDA4E8D614907093030734F52C87D2D70F6C41314E02231AA15E22 21264A0935B2526A6F2107AC9CCE157823E0476798790426C029B64ACD8152ABA13F
21185B4EAFD207E6003C88A986FBC0678FD6385BD57F147EE134522E16C674183041 21270B977FAA390FC397E5181B37B9A67FF72A8FCA83EA399DD2F3D9ED076F26EF5F
21199CED60638095EA1574C7A56A1A08ABC233D65D257D64594E3ACC6FECD22D6277 2128871FBBA26AFA0B83ECEC1DDCEB5A543DFB395314F32D0096520F3F03FD4C242C
212062724C1EA3BB6E141D8C1318E6DDF314CA8342FA8AA3D586DDCFE9B491A34D06 21299B089D84E46A62875DA88811CA1DE61E898698219EBD5C3E240A513261BC4046
2121FB96033D2CF9A0CE07E5B985F953AC5BFEBDD740BF2E4E84234A9873CFFCC429 21309563C6B3376ADD56C10A01080326DE260F58DC1C247F6B37C77031E58E2B62FB
2122E62C40E98C198C6A8600375B8C57F94B99DB9F39718718C63F71B7013BD50DF4 213107D1A560A187EB97D93214211D3EA4CE098C306985199C98F289CC14C15C24D0
21238B07070F306E3867CE805847066DE7A8889F745CA3325AB658AE774229A12EE0 21321E1B27B4626D8B877FABF9935EEBE37E5EE2FDF544E9262A4CE1748EBC50D690
21242754E9AE1A2CC0BFB41CE64EDE6C35F64D3B31393A633961A65B0948942435E3 2133C6C58846736684482C5BE0585115BA020984571C5FD3A6787E8F5B76E9AF4258
2125C135496114762A1C96C359A017102CC8514ABC5F8FD478C4D948377C62095B0D 213497BDB1937C7E482C1080639007A1F6C06993A8C168DE54FAF48E2C5BAB7CF01A
21265941FCEB8976498D64E5AF4847E90D91356B02F5D3F1DD82EE9CB361A7BD30BD 2135521A043B69C656EC17B10AE310F5768979A6CADC836CC10A5C842728BFDA4BF6
212790ED3211D307B07A3E86C65CBDC303D1209F45B24FB163893ABCDCFE016A618B 2136D5D836EE57B49D8D42DD26FC15E13ABDF58043CF6AF5969374914DCAF4DAA415
2128EF5577344EFA756DA4BA55B4F5783D97398D9F0BF1E2C4ADC5CEE0197D7FE6AB 213742D24BB29521E29CC2AE3113ACE9098A954D9A43FF36E5EC12655E49EA8118D8
21295F2993332A8F5D1505292307642A38A29217AC559BAC069186B81A0CD3061A8C 2138009CC243141EB69112E5F93C313A095946067DAD6662E69E12EAD6D803E3F2D0
213087F94EDE385C9E391EFF99F1D4BFEC8954F396314A75D66E8051B334048B243D 21399FD1095FF7E1449744882D2CB4184727FBEAECF87BAD52DC5855FB3D0CEC065F
2131B4997AFB7594C8A99364AC553875A4E136C4E6BE5CC819D74C6B6A242FF119C5 2140F93D86608522082CE33EE38BCA76DE948931334A7D66E306EE3F6A95EE28D40C
2132D65141D2C57A82C6A23FB2CCE13F7B0F9D0F1F638A285B828EFC971A6DA81560 2141B79C62A848E44D7ED27BDE438054CEE3478F64F5BA9F4AB828BDC228BF616F70
21337069805EF29C3B54DCCC41304E41EDA03F49455FE03D4778544926538ACF49C0 21427F589760B6CB6C66558ED8F3518D283AD8950B75C8304983D0E597FD8C9FB30A
2134145CECAE7C3E55C7524883C0F3AFE5434A728960653BE4A85348763E2A32A12E 21433BBBE79820E68B547A5398BE7BFB4FF9EEEBA6584275FD4E328698746763C356
21357AEDF42B6CD1FA2F3233A677F914008A55EA0904BC3AB68A578F71EB628A3B9C 2144FCE94EA9CC2768AE4C6261F623755646EF15421A73870578EDEDD6ACA608FEE7
2136D044EE55D7E0199A1D12254371E9178CD23B04EA9652F138104C81DB89625F79 21459E3DBC12CA6A25D6C1F8628865A7A737FD13780372E1423D7B079B5360CD1A42
21378DE1334A827DCF796A23EA8B51A1E694F2DD4F90A9ACCD4444B598DEB7C03424 21460C94CFA4A5E6E812C149BDBF6A94D99D55AF61182BF43AA9DE6FF801C1524E4B
2138325FDABF04A476D9F5ECFA4F3FC0117FDBE5038FED06A0A37081D72158A97BC9 21471727815484C92F8E63C2D9C716ECE1C0451ACD62832F349D6E8D2C1F9646B6BF
2139ABE850B51A6875B8D71C31F6A47B65DEEC08C1A7A2939A116365B21B58324065 21482B82352E14ADDC6EB1DAAD0F46D852ACE0AD78F638F491FEC7E5C70BCAC41305
2140F0764301DA41634E83358DBD3D5443883F2CF9776FEFEB5671D036DD05FF9FEC 21495FA3E5018BCA8CA62C412C6304C6330D020CEA9AF60ED5964B907EBF65634B11
214148E47776C13E10F7FD4EB2E542B4A8D74E1D50DAE2FD949235838C33A9940EB1 21507D2CB6A25CFA843BE865A82D50FCFF7F94E47580E7DB88CD060FD149FC0C1EA6
2142EF77C7655DDC5C2CE4C16303DF83E4CC78DF773AD2E3273FF071E4B04D0FC8E3 2151F174D407FE7CA377967ADACC5B876233ECD2601036F87D8CAEC8320D70C5EC06
2143FAA7EE4880A63C620F02E13AB11D05A61C97FF1189CDC9BDD7D5DCD77FE5E59A 215242E62EF1A2A2033B8DCEB7DDC4D8E94264EDC2AD8E3C4D1B8BAB34572312F5DD
214480E0FFA93B933B37CC51E382C264281704D35A8FC56D31E7B33A020C25F22A25 2153EBD34F74EB83A5AA8FEC51E663E1F104EDBA38469DD49EFEECDEA2BE7DF7C8DC
214591FE54E44380484DD5676FFBBB49AFDE6682FFAE124A8A126483C207E6442F28 21549E424CB30B135335FB2F128DAB2EFE900F7CE6B401615B0DFCE70D4C22F51F60
21465AE4A7BF8CF7FE15A764212C5D69B290D174D586E7D7720DE5A4C39C00B7CBCE 21550F5247A261CEBD55B6716A36ED3ED2BC4C1DF2E1A4D63EF5C9F3D17C1C8DABA6
2147EC1C270661EB0254A773D951F44170306A22866CB23F9C968817532F7BAF9B50 2156CC2D06C252D21BC288020D51D1343CD2531DC71AF1195F535B2228708B03E63B
2148C4CC8F167D11E24F3C673F466BDA42936AA8EE3A28EA11C0BF7C67598DB45862 215759EDB01D4BB609798EB0EC74A72837B34D5351CC617F6403E9F5465A299613A2
2149EE00FDF6A9FD7A1A66F3616E1910422D17466D169FF553F2FDDD533A7E0271E7 21582137C6DDA812F6326840FF7616CF323AAF43203742783E5570EB4FC228C93ACA
2150870EAF618B153D88BDC83FB599151E6385C2EF9A10D8E60FAB9769D92F230838 215946C3FC78BEC83A655B48CBA55D337728A2DD0DEEF346338C1ABDAEE2A56F6C3E
2151F68922A3CB0A464A4CC11DB15F452B990752F49C114A5CC8B683F44C6C430D3F 2160784ED1742B242052224E4EB5FC583F238807A119E78C9B290645B516EF931BC5
21524B72157F1D80D39672CB326DD0FD543B0F269B70C3F9901DA2A4308CAB155C1D 2161598A64FCD9BD82A5D1D4CE3F01C5A08B12147B0128C712612FBCD7E485603AFB
21530641FAD7B74CB1CF11FDE1078EDF5B97C18C6E21CCB01768537D5E4860BC090E 2162769B6A6829AB4237762F70824DEAD4414EE5BD4AC440F76CC9FCB155D9AD320F
215445617C7D605EB165C1882B111A0FE68ED219D5066B17C10EA722965A5B5AED1B 2163A84EE2E7797EAD8E2EA03946AA3816540F4DC97EA169EF7D44A107030A5275C2
2155AB06E59D586C1FA30F806B01EBB9B2F16890AA768D4BCF8714F5DDA695E00D5F 21647321F760948A24E243B95C9B44C5110576B81A9BDF7206AA9445E673F65407EE
2156D60063E20356610830D24DB4BBF20C6FB34F9D0772AA79904A81FBEA67E59254 216513F5F1389F9875B5E9997ADE151DE75E7DF47A128007F0FAB2A3B6B218C104E6
21570E93D259FCA04ACE24FDF64644472B09C8919E7FF0775744460026E6BF994E85 21660D8B168F630110BA045BA473C7B515D6FB3E8D9D6B90AC901499306B44A79D7D
215820128B9E699F5AE3E54FFC891B59FDADA39D0F270571FC1349E036B95D7A138C 216728B9AFBB5963ADA9ED6DCA3DA607C994F0DA16CEEC47717B1EAD6FAF96580133
215973A4C487E1009677EEEBFF2D4AC4FC8B54082F9556104959F6D5FB7F93F55435 21682055DDFAA11EAAD717569C8F702A119235569458298D489F66F50502D8D29D53
216082AC9F999D2BD61FECF71669FD2A92F79CA12C8ACA80281E5023EA0F5F29C545 2169AF4C050D783345477827805D408944472D7FF85B0EF814C36BE790C71BA19594
2161DA6912173E8C03774EBA0F6CF988E97360A0F025EBB33A4D96F60542F8CC55BE 21705EE88D99B47B3B098FA7D8C84C99AA51290604C8C4CCD6080101235BC741E4A2
21629394D13D5416149D28FE1E2737D99888846182153CF8412750DC06DE7D69CA8B 21711A2F54778A7E77B63EA497ECB71EA8AD469D65DDD6D8776707DD52160C7BFBCA
21634E2EF5F60BF49E8FA303307DD211ECB9D48419A61A0F1FAF7F27D047EBDE5E47 217223929AE8AF2A0D8D2D8D233923404E300D0678D08BB8BA3FA4B81B46922C04A5
216410BBB3D73217BD6D02328039B28F6289ED67E3685380C89BD7C863B10A5CD28C 2173A521C71F808560D2B1DE5F9F7B3B629475134B4702125805CF4CAA0BE126EF9E
216574FE3D9DD16CD17670DB0372953E2507669C4C790FD78571FD084870D2BCBE41 2174AFE93778035EC428DCE96A93B274102E8FB0D11C96D0B4C27A6F33DD6000E6ED
21662BB1F34E907CC27345776DE346EFBEFBB3E1CDB281C57EF9C35E201605B9FE9C 2175823C814E8572E36AD1E21C8EA27462E08CB71259AC109C86999A4D50D6177E2D
216729D7C668D3D978773AF7B0ECD12DA7F3DA93549740246B962AABE06B35C70960 21760F8713C6CFB0415D02D52FA559DEC8995F536B2CF338E1E6CEFF1DDD91DF4F7F
21685E2584C24AA8C85D57F30D26997B708728970F2088C7CDB31951F15553CA8F84 217768B550977E7BB90DEF1EC24A008312EEC5E4BFE0993743D067CEF1EFEB383C24
216910F6736DEB73F54C8C7385ECE031E21659919200E0405F7C125C2F02E9B91CA5 2178C9C80F936068C2BCF2085252DFC096D05B7135F1C645A8C1BA3C8C16E6A330D8
2170F7F16189ACF40DABD4E49ABD0655B38A9F45DC55580FF6117EFE285B244E9246 2179E4C1A41F0BFB9A0AB4C21872D512222A0059E35DDE9F144D1451AD78D16F1F4B
217173B994BA85A3B34189E5E501D7E62B75DA9264EA295D04C2376572D33EC65660 21805B3666466A18F6247739BECE6A892A617375C722D6BF5DED9A519CF2EE29DD2E
21723AED8708ECBD0804C5192BEC8E76DB9612E61AE8F4A7EC82C95AE01AE4B2AB38 218123326963FF9CFCA32E53FE9E4704CC2FA42B915436C34BA169E9878690AB4BD4
2173E0AB1E8FDEF7FE0B767F81D85196D46F915AB8CB3E9228293762EFD7DE31F4F9 21828AA2BA04479F5F9E472308AEBBC45CB6270A690422C68C5C56CC6675B0BEF0F5
21740DE2FC0E65E7D82B882A809DF681F19DFA11443487B6280518579F98B4F1A502 2183EB4DB9478295CF9D922F8D869A3A20C42C5B4C5E0181738262E468659AF751D1
2175EA4B74C001DE061E8C09BF15FB500A26AB8A63EC8D7957DB52FB736D6AB6D401 2184D0C170935944475288010298D0DAC4AE7708CB253B8941F91DA2020F47B5B55D
2176ADCF4213EA6CF340E1156D125DBD8B19F456008F8094E98B06EB6DA5096ABDC5 21850470D6C4FD89D970ADACCED67DE7BA99EA1EA02A633B2E7731D0EF6556190849
21776BACB34BFA69816F1F2265E0117177A5544502BA91AC3593E2930AA30D276CA7 21867952308071B8DC8CDBAB15F6FCFE1C667BD4C0D6C5D351E56FB5747CF7518597
217859A56BCCF1CECA5A74D6BAA897BB4103249F13C8504DE04E5C0E22A733D7CB62 21879F155290E8FAC19A51B31AAC847B696BF626B65F18919E0FB5895E49137C208B
2179153DC1E8534706C59D20F2BB5966CCE975C05C4F95D1BB69C7D45FF329F8C01F 218836381592CAB93193FA04C50D4D37943FC52054E3466E7ED7134BBD646BCDAE5B
2180CCDFDFA2C0941B083203D1F0A7648B7F6B8C33A1115081A1DB09D9541088494C 2189CC8C0943166E82FEFE02141592572A6EFA52FD193E0092BC581A4244F83CEB34
2181AF44453108961AB4161A40A2A1A8F1B1C454E181D9AD054BA86FEBE2A1B901B9 2190C9F35737ABAF1754D61ABD899A8BBE2AF894200A759AAEDB27C4E1A339DC60A9
2182B9A9BA4B9633F90D45C2138CCF1EAB4BEEEF2336EDE66FB7CFD0A84A226ACF64 2191F22ED20E54E952E2C6DB328E6D9F2543C318247AFDF6EE1E890D2FE0956C0924
2183680C748BB7BDFB62F93C2BEE638ABB3A59F3CD19055AC504A0E160CB13A7C1F5 21922C3119516A9DE1F8CD15CEB11D3F802D3F41E9B3927CECFCCBBE55F8B2C9261C
21841D1AD0095D138A3FD85F25CCF4304E82D758E963C69CB8392EA5C995B7D1802C 219351990DD48EA5AC1900A32FC053C7812C9683564B523938B3C74C9C078DB851F6
21859D7CB493E2F572E9998346A157CF9FCBFB95846088C7376AC82F58BE46B16281 2194E219BB63042B69978523D638C549E5227921C446AFFA396A8E6728C774119791
2186A87532D5F6EE9E85C23C3F1960FF99CD970E6EDD1BE8D492D312359BDFBDF59E 2195D77AA58D7853DB026416BB2CF5CBB624F83D4DEA2056915E43D0DD3481B41896
2187E0B6738BEDC5F16B7EBE0F7A775EAB4BE2CBD067F7F77CAF443A4BD9AE10B7FE 2196E715E2AAC87C10DF63DBFF724CE4A5CCA6C6F009213E2E748275809784F65288
21887173FEE658922032B21F77A7A48325E51CC52FED690023344E49EF2614F0A63F 2197F96177F90D07C3FBAB0F83FA54B46F50C5D921E498C06DEC3B704840F7AA72FC
2189D474E6D89BE40194235F5BD341B449DFBBCC9E8AF23241A36EAA316BAB5FFD8C 21980D0F1DB46CE59496B6A79D9169AF68E708B7E1AEAD754E6C8C6C534527CC9B09
219069DA203716290169CB07A0EEE2BC4BD005CC548090B8D4EB82104C83696FDB7E 21996513DC67C5A1941CC4061394F34D2A482450ABFFC78480ADA145FE2C24355D00
219110D4B935924EA19E7C35E9379F204C10BB0854C55E7867194D9D3544EA1DA675 220085E581FB956F19A361C91AA32C8084BCD0443E85D313020043A4870721AAA540
21925E9B3A0792BE2E87B611F92BBA99C01ED1F21366699464733D774BEC5B0A2B4C 22018D78F7A2B9D33DD67306A68BA901461ECB068DC745BDF0F5FD5EB4AD9E9B93BE
21936E8C68CFAEF8E0C69A1685BCCEBD8900C1E9C5CD26808696D16D125DAB3E5A79 22024D2536FC5FC13D3DA84173CB3423B67DB738C26030509EB748688943316666A1
21944A9484029864AD3BBDA91883A4D5DB1DF9BF789D7F18A6D5BF13A72680682A5B 2203B6CD6976E8D383C28D5B88078C500D4135531DAE5D6DF1C5DBFF191E3382E565
2195196BC80E977E553FBD0EA62F08952013D77814F6ADDFC5C68A667B43B26FCD50 22043DC50B22DEA1E1367518A9143C3158519271C41301339F8666C4180ACF631BF4
2196EDD49E8F1B6DD262DC0B4E2EF5A1150B3DBCA61E4F0ABA689BF862FB62AB65CA 2205CC44488929D90655608F33EAF4E1966C03D187181EFB474143E3F309543E687A
21971E64F0C816D45BD236B557E1A8668EC76644EF5F607205E3F789CE757D4FDCE3 22066AE1C12E33892D9A3C218AF94A4DE08797E639636C7D2745FA846CBB1479E2C8
2198A4D9F039F1CB8A40AA352BFBAD6643E30579D4265002BD3EFA420E275FEAA4A9 220745978FE6B22D02D4CAF3DEE8542D5B978A86BFD526069981094B4F0BAF2EB6E2
2199412E33C557C0625F06A565F856989D62581CEB59A4877CA6DE7935E7D7CD2D81 220877F7AC896366A642837C057774F0A45235AE35827EB47D4D2F430CA4B8F4BD42
2200029F282754F1D25B522EE9374EED11147A229A44D5447F3265226E0889DB7C4C 220945DCCAFB700E20C031FC1A38923C6173615D2D03CF4C225016CC93A0356ABB63
22012D262A6CBD15E4565C324A5508564CFEE3534C4572581E818396620BF86AF511 2210B4F50AFE3BDDC417472BEBA6A3216B81A0755D68B99DF13AD956AF12518B7FB3
22023200CCAA7DB922183B3D4DD6A9C2429AAEE0A1384C74A61715E96C5D69A4E4FF 22119A9EF940AD5C7E788C579F0AEE8E52BC8F033CE70E995A29E48F8527313B79A4
22036408DD6ECF517D44BC8130971441BBD4819D25993C4CBED0591CEA1D2BDEB54D 221219A7AD0276FFB441A8A8F2DBD3EE8000C6788FDA0FEC0BFE72B1DAE52F890209
2204CBF02D516A2AB97E6EBAA7D883F90C521C130BB0049FB9C22A55402C162D1E54 22130CB03B7C02B8CEA68328B43D16A93F40B3EF8ECA9B8C27EDF01931B06DB3ED55
22052EB04A71BBCC56812460362093742AC01579A95F3E0E1BE0C6E26FAACBF5980A 221408F3017BC5965DED9281965A0DB6A6412B6AD447608346F8B254E5914E8A5093
2206A1EC5FE4811A1506C01931ABD5AF4800CD13EFD3F6F5B5F1A862EB3E7EA70CED 22150B1F561AAF68179612BBAF1D8C4501FCAFA6D024AD505BB29BE89F9307793A35
2207FD99468911AB9C55E8A5CFE3F17855AC3825BBF7EDDDB6E44603F8E9FD0DBB51 2216DBB3264052836CF223D6A2BE17117AD4DEBC2E3CC3853A2879C5F4B2F036871D
2208A990B69EB47CBE44770BFD17A9DBA044FDC61AC83F5017B5C0D2E6521A217503 2217966EA551071A2230A00A8F12FE60114ADEA08E5F32FBED0ABBA31CD7A5D509EC
2209430D75EF4BFE5FCAE780CF8BAC999C8B3947AE40BC76CF2BCA11BE8D4EB40BC7 2218CC72EFE19AEF2107095DBAD50F73AB56ABA9D0384C29526DEF162910B89CECB0
2210EF1E2791B9F186FE4CC9426E909162AA6B8ED62121844A58A7AD67A119A94F8E 2219B0ED2F5BDA61AFC44632D737810ED47BB89994772198167315F898DE0614F2DF
2211875129AF889A8B2D49B7822EDB60132A4CFFCD4D5484E9967A3045B9AFD4B608 2220A0EA64CE22FA62EC1A2D8184DCB57DFE6CD9A573AD7815CE677049AA3B073A68
2212A9BB626BF68B1F304E2E4E8F3E492E07DEBA18627ED11EB09E3C619B1DF9C7F7 22216F103C97951A401CB7D5C4E41E936C73C6ECC0AE0163576C913097A50CD2B189
221326F8BF1463A1E2DE2156B15FD44199E7A0C130EFC3EA967C0C8EAC057D821733 2222C135927450521BAC01D981B805BE453428839DBE2CF0B2A96E3D5DE93B1D9411
22147C923B779B2EB4C7F8CDA663708FEDFDDD2359B1DB313CCC890F7188DC1078C2 2223BD2BDAEE782636388CDB0304E6621ED1AE849C45B51E36A9D6065F6ACFFE8224
2215FC523A2AD140ED1197301E87CA2F279B3545829AB7BDB40FC5FCFE5034EA7A70 2224FBD2C5B02D2324CA550CFB66D0F9489E2B4B0DA49A3260DF965683F433F7860A
2216EF18705FD531098B573691DC707570426AA6FE1462CF9DBF00DC67D81FB83FFE 22251F4B12F772F332A049F909383B88AF16C321441F3A2074590E907983B7B7E643
2217CFDBB288207180B0BD705938B41AA48E68E557186BAEAD79759D699266A9A9DD 22261349CE37B942E166C851DBF68B2F58023566987CAB9F1D05BF773161B81A0584
2218D7477F7F45E7F28C7F63F597A7E67762DED6C385EB2FBE9CFD52A5D714741720 22272B39DAB2E00DD4E101465EF425A6C24FE051FED0B658A2E02CE960FD55A3CAE9
22195BB4ADD90DDBA6C760C231A58AE55F2EAD1EE93F11C5E8C708F22DAB168469B9 2228B1DEBE866D4B0CA3AD93AF477C4EDC907F3FA286153D8FBA938CE0EA2D314914
2220BD3FDCD68EADBC1CC464C54E0D16C93269010EBAA0C5370E8E945C7BAFF08A95 2229B0F988FF0226F4409518323DFF26E78A4654827B5BF9F2A6BA534AA93C17901C
2221940A574143B6F9670D39FB03A25E49E164CD4DE8B3131FAC9D15F5B0447CCFC7 22302B855C3E28AB0B0F09DA1C07CF904802C97108FB8F85E349150E773DADACBD3B
22224452E108BBA7358698B0FAB49402B21C3A69000223667EF56BC5873CEC8D8EE5 2231CFBC02FC33182DE08ED5C6B01FDC9C955286AD96909235404538595E81EE86D3
2223F019652EA7C433C11D7B0C4996F2D21899DCBDED1A8D530733A7C92B925F75B1 22328886492962E92E11B8F5C753DCBFC88306A0D390E8674C04C183830CAFF8101B
2224D2D6A25B3862BAB0025A66E29BB5744AF1F68CB10DE298C36B620C115B942F90 2233FAC76B1DC865BDEDFD3B0C28C6CA1C969993D335AF70F80782A08E13BE7F00AD
22253912F0D9646907EFCAAD7C05E5E0B053F3639EAE98A853466C5F0ADB18495648 2234FF175C302E582B13A64B33F46640CFD5224164762F7EC20CBB779A6C6A536027
2226262C3FB2813EEA2D2211B71F1447522E0B4C5C745EA34A154214D57C8943893C 2235D801CFC048190F02EFBDC670147EC52759A2D7F54E19A30989DE04DFB08062D3
2227248CA1CF244490775F70B52BB2D959A9D892A241C298C495FB39AC7BF0D6C655 22366A78B0FA6F5FDB2CB5D225CB1FCF6C71407A576E3D985AA1BF482665794CCCF5
22283F150712AA065FCB56C3EB03F8A9CA8268DB79C11B4CEC8C9E84DFDD2BA3671E 2237CFA9038ED91157260B3F85E7B50F1A47CB61519391E744F62B5E567E13AF41F4
2229CF1B12AEDCEAF5884548F7F9EA628262CE709321E47F8B4214C2A108E5ABD663 2238AF224D3A8CF5AE9734B3EFEBE5CD56CC4C26FD551CEF64D56A52D5C1D0B00F22
2230783CD6AC5984CC08DBEBA75F7ACCF2A3A6CA42BE5A3777080F30182C1C038F6C 2239727844FBFBF599DED45A466E46BD20BED6BDA0539F01A6EA7087A76313A59668
22319426B5488684A0E82966E4C8EE3ECD5674B6E5508F43E0526E14F38618BE6DE9 2240CC48D25D0AC54558A77684114BC2941EF7E785A61CA6A4AC12113248E5F999E6
2232EE175DA4CA32A6405D726C411D89C755A8ED1F73D9DBE67FEADC9DB448668FB3 22414B7B3DDC3D06CA3196381CD543B52917660E8AAB1B5EF56CAAD0CF5CCA14AD86
2233CB6838C400F05B902D27F3AFA0BA11148541288201DFEC8A08D6B3D1D972AA53 224282ED132A71E7C48B79DE14525BD110E5831E0A575E2425727769A66C1F018ECD
22348DAE043A766E84CEC8894D30B7E77CAC1683363E747A4FEE17D9B83BA9754796 22436304682D80E7E343EB106B126DE1384D729E9F2A8E054B7DDF651207BCE28BAA
223520FC1A0AEED75C71EF48FED0E99317B67F690F615CCD479133B7E08DD8EB46CA 224418D19C9D7085C747749C52B89A4CB492B5FABFCBACA522E21CF33CDFF0488F46
2236D5895810E01E07ED6D17BB54F5B9AA19D2B1ECF2795E777227B12242C07BCAA7 224579D81BF13513BC1293F0E17F37D808143E1C197543DFA6CA2A8969638F0CD799
22372D5F6AA8083B43C6928FA28EECE66CB90899763AA1037E4C1AC76741097DF3F8 22465930300FD61DB36DB8D256CB1682E23CCD65479C7791B2D3DD0BB1AD5E248674
22386BD297528CC9F538C5AEEFD5A7038CAA230A09DE750B740DC8398072A0876528 224795277F235CC9D0BDEC4D3F320B03C3DFAADACCBA2B33422F5664E777DB049495
2239946BE8088F6EB74ECA0CC1DA30A43AC47351AC7934E90A88DAD80EC957087768 22482B34B5D369AFCD58F5F69DCDDB865B332EE1955226E4BACE1D4D1A71AD791785
2240B9893241462946A9C5A843D454DF125A906D70D9C4812EB36759537E0372D2B5 22497BC2B701A5BF7611413DCCA1336BBBAEADC5BAF054324A641BAFFB601531B187
22413F4905D8F605EBA26C49A167D48E177BB6821FD39E775D9569D387673B976306 2250791C2367A302040DF89E3A6879C50A9903DBAD252AFC558634860065244751F0
224257537EB480132851DED5740C2E175D5B08CF40BE96EC1810865DEE2B52B1CF44 225107F6B91729FCB170140A39190956EE31CFFFB360A4FEA9F8064AF6224898C633
2243CDE1607EDD185CAC4330016DA7343C9F3DCD21BB3492FA1D027CF81E76E45358 225215B743C005CA3603F22409B5404A532659E0748DF6A08A304B799206C26CF81A
224455F5DD22884FB50B80A2388F673EF7FD7CFF4AD4AC212EC5BBFED0EAF7ABD2FE 2253B0B2B4737AD52DD6D2B9F3E001F2CB8FE3DFC2C42197721D534D94400AF45A79
22451FD35C0C7360DA40622DA59FEA983B702A6C53FB975EA85DF0A5DACFCC8C8549 225462BBC2D9810530D880A68004C5221B2BF6EA5D366E387B4970D82C03AAE964B7
2246786DAE9D57A2029DE7185AD4E283AE57618BA3CF37744C18C882678F34A161D3 225597763C054083502D5F7928EC7A016B779E714F80518A332587D56B98038A8F17
22478ADD4757DAB9B77FB891EE0DE945D551043A286426751CD6A62279E99F21D0F1 2256CE35F07308AD6BEF760174EE9EF6D779B73D97BC8810D335A945A80AA820E495
2248C4E3042E8A474AF9920CF416B50A94ED092661711C4FF54A8606E1912066F340 22578ED3F2C9436E19C11C2F4C4926530E2BD813527D99DA5D43BA763E397B66FE67
224959CD492D9BEA791E7AC9486E6CB214169B238084ECA7515D03F9F78601AFC144 22589979299DD514743C8DE3A014FA551E68257739EC2A6A06E29D3096DD4D53516B
225018EA9CF8C814CA5D2F05AE6D23BED9E8A0D41E323CF572CE98599BAEA8562285 2259E68204CB21CDA0AF8862980CA956DB89DD6FF54D12A120A82F1948F28F8F5F55
22516327E1B8A141E395C2FFE6DC90F6648598DF8B8389D8AB2E1D982F1FDC71A6CF 2260B69252C842D1B564DAA862CC4C86D42124E88C2CEE773C4394EF7AB12781FDB4
225251994FAB23671F641D0A54906AD41759FFC09A2273D48AE572258FAFB3B768E7 22617C1F6950D36987C92896F14F6BE66DCE2D2ECF7EEBFF92D5A782A3ECF958A9BD
22532CCDACF0DC0125F7E1D56388B817F0ACF62258E3F80317494E3D21F8A317AC28 2262E8E551F0FB231241B1C9CBAC93B18A29052362F894E0A86930660BA6015CA415
2254A82E16A930CBB531D05F7BA59667AFD26474333C201768124C80E97F92EB0A6D 2263BC65885A29A4BA20D1229B0F12D03C52E38476FBC50C59CF702A6DC11F5B819F
225573AE9A8BDD37FA688920AE2A5AF906CAF90ECBA54E5F6ADBBBC0F45DE40F147E 2264414AA539D622755302271F43870E337595A7BBB674BD11CF0B20F0CC2FF7BD88
2256B2F17C816231D41ACB54D82D2D3498A9D41A4172BFDB56CFA196986AD6D28430 22656EFB43E36E3870F748593249ACA4CAFEDE6BF14C3F6B474F18C877346CAFAB38
2257983186893BA6C30408997347FB265BD80EE95E011E6C397D1D1592CC1C34AEA1 2266359620FAF58C4923ECA8EF490942E05693F0909623FD974F54928CC11A7F7E9B
22587706D3B35D946E0C0790652F688879A53231202AB3A6B495E6E251E6829F0549 22676F2DD0B23EB06801AEA78B27ED6D4C718B8CB0F1E838487BCB51595E3AF1515D
225994F5A375E8AC0696660E002B6C195446D0E08BB7BE160EFCF356A81BEDA21934 22689C28B2FB5E74CF4C5772178D603BA50D44C172C89B78EB40DFFFE008C8BAB54A
2260B3365D78CEDCCDB705594895418C48D91C9AD97637D37DFE69624F7885106965 2269053D5B9A9C62E5EA50C0932F743FA66C3374B727AFCEDE1A125236A76BE64570
2261C574270839038CC543B62CC351A2FEB42F664810D5613D27B1D86351C669FE8C 22709F94369064AE74428173DBCE2CFF1DF90DE1BC0A5AE52C9B93DEDAECAA606E32
226237787213F68E0657240DF253186228CA5CEC4283A4C0A125F6262B566190B701 2271B6987990E4429C87CB6B2E08800689345862483F1C1C63EEA072EB6EF3A6DC34
22633AF5BDAD86A1F84029FDD7ACB5A11A23107E5413E67809AB9DA6BA5C3CCCC2EA 22729A05C17F98D501D15C6D1FDD87B608DF395691A99D027AE89BD031CE74D96C32
22649D4270831EAD274C3AC9DF833BC8EBF339376EADEE48D748C4F71C97B43DBA6A 22731C1DBB33B70A1DA9DF76E28A7E645601CA6843724221C83E0840D1EEC4E0A3C2
2265FD014C2F73B6F18EB9E52F3A7B1994B00E38020C6EF4529C318386E1F62ADA34 2274C898A366F03152FAB5C21575FE079C8F367B72E12061AC4D85C59BD6C28D241B
226695B878B5F1A3F2D7FE2EE48CC8FFB79E3140993DB96AD77281A7D314880464BD 2275118BE6000AE4CE9C2BAC0C9BE46B4BFA2EE160E65D5B9B405CDCFDB619EEF7AD
22670C205CE8A86714EE8B3A334E002DD04AFBE3C3B95E8A2B4F41CEAFA6A2CF2F95 227666B6C14BB536006EDAC9B340F4618372A2F71EEC48B618E1FCA5B55492DE9ACD
2268A06B2D1412E221D968E847313C86AAB3DE19725D2A380484CB7FE6B636DEB3BD 2277BDA5F30B25739C3352E70C8BC6AD31A263B89A01E3BAB92D8351206C57C40983
22691C01FF657B8287339DB0A67F62AA692F14BD29175748552DF93E3247CCF71BC9 22787FADECB045A309CB9BFE28925446D98137D872FF8D1863376D055F4D3D0FDB00
227004D1F745A4159C7AC635EF6A41106A821F3017BCA5C0D8FCBB1ABCCED6302ED7 2279008A2B12570DB5E2E770F300DB06FA5F287C9E1A58F92E5C6B0AD193F44C6D62
2271B9DCE19F8E88C23CD19CFA9550FC79A609942ED70B8E6BBF29422A2D7E28B9D1 228001822097C8059A187FD56F5E243BAB3726589CF24DF311289E9F663E8C1A9622
22724797414CF2766E7CC48626049DAD906C45EA994EF5C3352342A127081B7632EA 228121BEB646FC0C3F3BE1821A67F249E80CABF77894B5C197C00A42AF80E4F5C0E8
227361293A7A688022E6380B68CB3E60D5F464F8B2D1F185F2C56D2879C65F1EDC6C 228251C7464C427C2DF89FCCFA851EEA7C40F661FAAB65EB5CD9D5B5F7EA5D86DF7C
2274E31AC52A05C95D96DFE2AB700DD868C718EA003669F163CDFFA3568DC92941D7 2283C54F0504F573A3860FDDF2D186E8D36D394C861BE9C48162B61AB9A8E7DDDF31
2275471E6B53BB763A3A6CEEC8771287709FC88D048749CACC598977ED1676EF1F16 228418404D5C8C6BDF7C8FAAB452831199090F70BA20AF0289593B3A1AAADB9B3D6E
227634B7285528C06B059EB6528368F622FF958555AFF122823B4FCC62E4AA36BAC0 22858E0798B87E8DE26E8333E49896AC44508E835581A9BFFCEAF0E59CBB13BC04A2
2277B7CD09BB34A19A926A66AF74F996D7A6FDFBBCAE7BAC2F7C6F9432FFB4B767E5 2286C05C936DDB7D69DBDEB9B0411CEDB53F1D149496BF51BB23C3B07F62D34A1FEF
22785EC547750CC6C4CD4202F7E289B7E8A842D8046BF9D3F38F5B401DA65FC0A792 2287F0BE8139A9CB352821AE90293BB79E82751336C9EDD971455FCF0452A72FA705
22794EC3116BAD5B959468EDBCA52C433209E602EED5066765E2489C6BBB0F094CE5 22880454F32DC0BC4394C4E4F4C90E203313BEC4483053CC3ABFF8E9FDAD6D65A7A8
22805FC789A3413D958578ABDDE73153553092916729EFB532556990ADBC56865AFC 228967FFC0B08A4F6582BE48F050C817F05B6949BB50E4B83456F801A83B9FCE8B05
2281A9812247D518F0E035E08D9DEA3C3764041F02301DD5C66EA559B3D47E18CE25 2290FF97F73AF6B037C8EBF49E62F3497C92F351D942E5C7AA49156458254E7E67C2
2282BB4A6691C178902DDE9B1ECFE9CAC98190BB39465B5B1736B15583708878CE1B 229197A49E4F75114F62623A471CB2C21A7C666D3E8088FD1F3F67627E5B6949508A
2283E81750434A6D847218D4348AF6C56A2FFDFFE0934DDE3BB25A9678FA201A67E0 2292EAC44C7FF37F501348A93944ACDF4284613B9ECA369FE186E2E0C013693448B5
2284717A6311D0E49A9474A29B0A251473F267C7F8886B9B55BCB6F609D98D2E8038 2293CDA2B7630E09A0283236B0DB58C29B5249AFEBB87B5357549D4D55A1A871832F
2285718ACEEA982EC047A5FA3F28F9546A8010A1DF995F41E11E64B997046CE7EB2B 2294F07C5CD2D1272E02A59D8433DB9FF170706AB964A07F52E4CC6782E8DCA74BFA
22863556D4B27D23AF70E78A0EE95BF48FB0F7C217E39EE61DB6635EB84434464C73 22953D6B5347990224FC3780F036BFF243CAC8B9CBF544086C0078C290FCCB665612
22872D3B0F36AC2959BF039038A018ED1DE4CF72B7BD7A51D5CCB9FEC0B2B1968E19 229675BB17D6B80A09CF21EA087BD82592E5E3F801BE227D5EED19BC99F5750F0E24
228823491E9C97ADB33FC9B09FD5EABAD326D0BDBE90AFB69122C71A488F401CD387 2297ECE512FB2B35DFB1B6BE645D7ECA90AA0EB583BE252BE3E7AC4A642FCDC4D541
228945DD12DD92022DB180DDCBB531ABA3CA4A5892F3E1D3528384596FD646ED97A2 229823180C2C71835BA0CBC06E56E99F198FFC2830021C20A9ED35DFFA76C0FBB7D9
2290C9E2C29F1299FA52159F7CF060810CB99F2B1B261708AAF94AFA022F9A3CD267 2299F48A05EC327123B520E0BC1ABDE393C0AF88AF610C1513E7E578595B90B9D101
229111432D4DF4F9F7BCF1434F9D9C94EC5BEBC6C98432BC339E0DB2461623880887 2300245006733BD8A44F89FFC7164AA59B1E73558A85F775B7AC1FC6D646D89544AA
22921CFE5DA076E7A3CED52E2E307B1CDDB1D0E273A4774177DB4664C75B69C857BC 2301B9CD23D9C7403F122749C21FF7539A87307084C0FA290570EC52E0BA8F306B37
2293FB693B1E0DE72065D2B6BF7466FD272B1BF9DA5B838E04DA93C92F7A526F4389 2302491ADF370A75112AC14F33A7F57BA0DC82271E5ADE77CB
22943063774999A51F2A863D118592
22950000000000000000000000000000000000000000000000000000000000000000 23030000000000000000000000000000000000000000000000000000000000000000
22960000000000000000000000000000000000000000000000000000000000000000 23040000000000000000000000000000000000000000000000000000000000000000
22970000000000000000000000000000000000000000000000000000000000000000 23050000000000000000000000000000000000000000000000000000000000000000
@@ -2306,8 +2314,8 @@ TeXDict begin 55380996 39158280 1000 600 600 (orgcard.dvi)
2306@start /Fa 242[61 13[{ TeXbbad153fEncoding ReEncodeFont }1 2314@start /Fa 242[61 13[{ TeXbbad153fEncoding ReEncodeFont }1
230749.8132 /CMSY6 rf /Fb 134[32 1[43 32 34 24 24 24 1[34 231549.8132 /CMSY6 rf /Fb 134[32 1[43 32 34 24 24 24 1[34
230830 34 50 18 32 1[18 34 30 19 27 34 27 34 30 13[34 44 231630 34 50 18 32 1[18 34 30 19 27 34 27 34 30 13[34 44
23091[41 47 1[54 3[22 1[47 39 2[43 1[45 6[18 4[30 1[30 30 23171[41 47 1[54 3[22 1[47 39 2[43 1[45 6[18 3[30 30 1[30
231030 30 1[18 21 18 44[{ TeXf7b6d320Encoding ReEncodeFont }41 231830 30 30 1[18 21 18 44[{ TeXf7b6d320Encoding ReEncodeFont }42
231149.8132 /CMR6 rf /Fc 135[33 3[24 29 4[40 58 18 2[22 36 231949.8132 /CMR6 rf /Fc 135[33 3[24 29 4[40 58 18 2[22 36
23122[33 36 33 33 36 50[22 46[{ TeX74afc74cEncoding ReEncodeFont }14 23202[33 36 33 33 36 50[22 46[{ TeX74afc74cEncoding ReEncodeFont }14
231366.4176 /CMTI8 rf /Fd 134[43 43 59 43 45 32 32 34 1[45 232166.4176 /CMTI8 rf /Fd 134[43 43 59 43 45 32 32 34 1[45
@@ -2322,7 +2330,7 @@ TeXDict begin 55380996 39158280 1000 600 600 (orgcard.dvi)
232235 35 1[35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 233035 35 1[35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
232335 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 233135 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
23243[35 1[35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 23323[35 1[35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
232535 35 34[{ TeX09fbbfacEncoding ReEncodeFont }85 66.4176 233335 35 35 33[{ TeX09fbbfacEncoding ReEncodeFont }86 66.4176
2326/CMTT8 rf /Fh 134[60 60 2[64 45 45 47 1[64 57 64 95 32 2334/CMTT8 rf /Fh 134[60 60 2[64 45 45 47 1[64 57 64 95 32
232760 1[32 1[57 1[53 64 51 64 56 10[87 88 80 64 86 2[86 233560 1[32 1[57 1[53 64 51 64 56 10[87 88 80 64 86 2[86
232890 109 69 2[43 1[90 72 75 88 83 1[87 19[38 45[{ 233690 109 69 2[43 1[90 72 75 88 83 1[87 19[38 45[{
@@ -2330,7 +2338,7 @@ TeXDict begin 55380996 39158280 1000 600 600 (orgcard.dvi)
2330rf /Fi 133[31 37 37 51 37 39 27 28 28 37 39 35 39 59 2338rf /Fi 133[31 37 37 51 37 39 27 28 28 37 39 35 39 59
233120 37 22 20 39 35 22 31 39 31 39 35 2[35 1[35 3[53 72 233920 37 22 20 39 35 22 31 39 31 39 35 2[35 1[35 3[53 72
233253 53 51 39 52 1[48 55 53 65 44 55 1[25 53 55 46 48 54 234053 53 51 39 52 1[48 55 53 65 44 55 1[25 53 55 46 48 54
233351 50 53 6[20 4[35 1[35 35 35 1[35 20 24 20 55 35 27 234151 50 53 6[20 3[35 2[35 35 35 1[35 20 24 20 55 35 27
233427 20 2[35 59 35 20 19[39 39 41 11[{ TeXf7b6d320Encoding ReEncodeFont } 234227 20 2[35 59 35 20 19[39 39 41 11[{ TeXf7b6d320Encoding ReEncodeFont }
233571 66.4176 /CMR8 rf /Fj 141[57 2[69 76 6[69 42 63 76 234371 66.4176 /CMR8 rf /Fj 141[57 2[69 76 6[69 42 63 76
233661 1[67 14[103 2[103 1[131 9[99 16[69 69 1[69 1[46 3[53 234461 1[67 14[103 2[103 1[131 9[99 16[69 69 1[69 1[46 3[53
@@ -2346,7 +2354,7 @@ TeXDict begin
2346%%Page: 1 1 2354%%Page: 1 1
2347TeXDict begin @landscape 1 0 bop -169 -357 a Fj(Org-Mo)t(de)45 2355TeXDict begin @landscape 1 0 bop -169 -357 a Fj(Org-Mo)t(de)45
2348b(Reference)h(Card)g(\(1/2\))546 -242 y Fi(\(for)23 b(v)n(ersion)h 2356b(Reference)h(Card)g(\(1/2\))546 -242 y Fi(\(for)23 b(v)n(ersion)h
2349(3.15\))-150 -42 y Fh(Getting)37 b(Started)-150 125 y 2357(3.16\))-150 -42 y Fh(Getting)37 b(Started)-150 125 y
2350Fi(Put)24 b(the)h(follo)n(wing)e(in)g(y)n(our)h Fg(~/.emacs)931 2358Fi(Put)24 b(the)h(follo)n(wing)e(in)g(y)n(our)h Fg(~/.emacs)931
2351102 y Ff(1)-150 199 y Fg(\(autoload)38 b('org-mode)g("org")e("Org)h 2359102 y Ff(1)-150 199 y Fg(\(autoload)38 b('org-mode)g("org")e("Org)h
2352(mode")g(t\))-150 268 y(\(autoload)h('org-diary)g("org")f("Org)f(mode)h 2360(mode")g(t\))-150 268 y(\(autoload)h('org-diary)g("org")f("Org)f(mode)h
@@ -2386,9 +2394,9 @@ b(curren)n(t)f(subtree)h(do)n(wn)f(one)g(lev)n(el)248
2386b Fg(M-S-RIGHT)-150 2935 y Fi(mo)n(v)n(e)24 b(subtree)h(up)932 2394b Fg(M-S-RIGHT)-150 2935 y Fi(mo)n(v)n(e)24 b(subtree)h(up)932
2387b Fg(M-S-UP)-150 3004 y Fi(mo)n(v)n(e)24 b(subtree)h(do)n(wn)848 2395b Fg(M-S-UP)-150 3004 y Fi(mo)n(v)n(e)24 b(subtree)h(do)n(wn)848
2388b Fg(M-S-DOWN)-150 3074 y Fi(kill)23 b(subtree)1097 b 2396b Fg(M-S-DOWN)-150 3074 y Fi(kill)23 b(subtree)1097 b
2389Fg(C-c)36 b(C-h)g(C-w)-150 3144 y Fi(cop)n(y)25 b(subtree)1052 2397Fg(C-c)36 b(C-x)g(C-w)-150 3144 y Fi(cop)n(y)25 b(subtree)1052
2390b Fg(C-c)36 b(C-h)g(M-w)-150 3213 y Fi(y)n(ank)25 b(subtree)1046 2398b Fg(C-c)36 b(C-x)g(M-w)-150 3213 y Fi(y)n(ank)25 b(subtree)1046
2391b Fg(C-c)36 b(C-h)g(C-y)-150 3310 y Fi(arc)n(hiv)n(e)24 2399b Fg(C-c)36 b(C-x)g(C-y)-150 3310 y Fi(arc)n(hiv)n(e)24
2392b(subtree)976 b Fg(C-c)36 b($)-150 3380 y Fi(T)-6 b(o)24 2400b(subtree)976 b Fg(C-c)36 b($)-150 3380 y Fi(T)-6 b(o)24
2393b(set)g(arc)n(hiv)n(e)g(lo)r(cation)h(for)e(curren)n(t)h(\014le,)f(add) 2401b(set)g(arc)n(hiv)n(e)g(lo)r(cation)h(for)e(curren)n(t)h(\014le,)f(add)
2394h(a)g(line)f(lik)n(e)1495 3357 y Ff(3)1533 3380 y Fi(:)-150 2402h(a)g(line)f(lik)n(e)1495 3357 y Ff(3)1533 3380 y Fi(:)-150
@@ -2402,60 +2410,62 @@ Fg(C-c)36 b(C-w)-150 3991 y Fi(time)24 b(sorted)g(view)g(of)f(curren)n
2402(t)h(org)g(\014le)367 b Fg(C-c)36 b(C-r)-150 4060 y Fi(agenda)25 2410(t)h(org)g(\014le)367 b Fg(C-c)36 b(C-r)-150 4060 y Fi(agenda)25
2403b(for)e(the)i(w)n(eek)823 b Fg(C-c)36 b(a)p Fi(1)-150 2411b(for)e(the)i(w)n(eek)823 b Fg(C-c)36 b(a)p Fi(1)-150
24044130 y(agenda)25 b(for)e(date)i(at)f(cursor)661 b Fg(C-c)36 24124130 y(agenda)25 b(for)e(date)i(at)f(cursor)661 b Fg(C-c)36
2405b(C-o)2046 -364 y Fh(TODO)i(Items)2046 -216 y Fi(rotate)25 2413b(C-o)2046 -364 y Fh(TODO)i(Items)2046 -215 y Fi(rotate)25
2406b(the)f(state)h(of)f(the)g(curren)n(t)g(item)354 b Fg(C-c)36 2414b(the)f(state)h(of)f(the)g(curren)n(t)g(item)354 b Fg(C-c)36
2407b(C-t)2046 -147 y Fi(view)24 b(TODO)f(items)g(in)h(a)g(sparse)f(tree) 2415b(C-t)2046 -145 y Fi(view)24 b(TODO)f(items)g(in)h(a)g(sparse)f(tree)
2408380 b Fg(C-c)36 b(C-v)2046 -50 y Fi(set)24 b(the)h(priorit)n(y)e(of)g 2416380 b Fg(C-c)36 b(C-v)2046 -49 y Fi(set)24 b(the)h(priorit)n(y)e(of)g
2409(the)i(curren)n(t)f(item)369 b Fg(C-c)36 b(,)g([ABC])2046 2417(the)i(curren)n(t)f(item)369 b Fg(C-c)36 b(,)g([ABC])2046
241019 y Fi(remo)n(v)n(e)24 b(priorit)n(y)f(co)r(okie)i(from)d(curren)n(t)j 241821 y Fi(remo)n(v)n(e)24 b(priorit)n(y)f(co)r(okie)i(from)d(curren)n(t)j
2411(item)179 b Fg(C-c)36 b(,)g(SPC)2046 100 y Fi(raise)23 2419(item)179 b Fg(C-c)36 b(,)g(SPC)2046 102 y Fi(raise)23
2412b(priorit)n(y)g(of)g(curren)n(t)i(item)557 b Fg(S-UP)3626 2420b(priorit)n(y)g(of)g(curren)n(t)i(item)557 b Fg(S-UP)3626
241376 y Ff(4)2046 180 y Fi(lo)n(w)n(er)23 b(priorit)n(y)g(of)h(curren)n(t) 242178 y Ff(4)2046 182 y Fi(lo)n(w)n(er)23 b(priorit)n(y)g(of)h(curren)n(t)
2414g(item)538 b Fg(S-DOWN)3696 157 y Ff(4)2046 311 y Fi(p)r(er-\014le)23 2422g(item)538 b Fg(S-DOWN)3696 159 y Ff(4)2046 313 y Fi(p)r(er-\014le)23
2415b(TODO)g(w)n(ork\015o)n(w)h(states:)33 b(add)24 b(line\(s\))g(lik)n(e) 2423b(TODO)g(w)n(ork\015o)n(w)h(states:)33 b(add)24 b(line\(s\))g(lik)n(e)
24163505 288 y Ff(3)3542 311 y Fi(:)2046 384 y Fg(#+SEQ_TODO:)38 24243505 290 y Ff(3)3542 313 y Fi(:)2046 386 y Fg(#+SEQ_TODO:)38
2417b(TODO)f(PROCRASTINATE)i(BLUFF)e(DONE)2046 464 y Fi(p)r(er-\014le)23 2425b(TODO)f(PROCRASTINATE)i(BLUFF)e(DONE)2046 466 y Fi(p)r(er-\014le)23
2418b(TODO)g(k)n(eyw)n(ords:)32 b(add)24 b(line\(s\))g(lik)n(e)3314 2426b(TODO)g(k)n(eyw)n(ords:)32 b(add)24 b(line\(s\))g(lik)n(e)3314
2419440 y Ff(3)3351 464 y Fi(:)2046 536 y Fg(#+TYP_TODO:)38 2427443 y Ff(3)3351 466 y Fi(:)2046 539 y Fg(#+TYP_TODO:)38
2420b(Phil)f(home)f(work)h(DONE)2046 723 y Fh(Timestamps)2046 2428b(Phil)f(home)f(work)h(DONE)2046 728 y Fh(Timestamps)2046
2421871 y Fi(prompt)24 b(for)f(date)i(and)f(insert)f(timestamp)266 2429877 y Fi(prompt)24 b(for)f(date)i(and)f(insert)f(timestamp)266
2422b Fg(C-c)36 b(.)2046 940 y Fi(lik)n(e)23 b Fg(C-c)i Fi(.)31 2430b Fg(C-c)36 b(.)2046 946 y Fi(lik)n(e)23 b Fg(C-c)i Fi(.)31
2423b(but)24 b(insert)g(date)g(and)h(time)e(format)144 b 2431b(but)24 b(insert)g(date)g(and)h(time)e(format)144 b
2424Fg(C-u)36 b(C-c)g(.)2046 1010 y Fi(insert)23 b(DEADLINE)h(timestamp)516 2432Fg(C-u)36 b(C-c)g(.)2046 1016 y Fi(Lik)n(e)24 b Fg(C-c)36
2425b Fg(C-c)36 b(C-d)2046 1080 y Fi(insert)23 b(SCHEDULED)h(timestamp)451 2433b(.)24 b Fi(but)g(mak)n(e)g(stamp)h(inactiv)n(e)322 b
2426b Fg(C-c)36 b(C-s)2046 1150 y Fi(create)25 b(sparse)e(tree)i(with)e 2434Fg(C-c)36 b(!)2046 1086 y Fi(insert)23 b(DEADLINE)h(timestamp)516
2427(all)g(deadlines)i(due)204 b Fg(C-c)36 b(C-w)2046 1219 2435b Fg(C-c)36 b(C-d)2046 1156 y Fi(insert)23 b(SCHEDULED)h(timestamp)451
2436b Fg(C-c)36 b(C-s)2046 1225 y Fi(create)25 b(sparse)e(tree)i(with)e
2437(all)g(deadlines)i(due)204 b Fg(C-c)36 b(C-w)2046 1295
2428y Fi(the)25 b(time)e(b)r(et)n(w)n(een)j(2)e(dates)g(in)g(a)f(time)h 2438y Fi(the)25 b(time)e(b)r(et)n(w)n(een)j(2)e(dates)g(in)g(a)f(time)h
2429(range)172 b Fg(C-c)36 b(C-y)2046 1328 y Fi(c)n(hange)25 2439(range)172 b Fg(C-c)36 b(C-y)2046 1377 y Fi(c)n(hange)25
2430b(timestamp)g(at)f(cursor)f(b)n(y)h Fe(\000)p Fi(1)g(da)n(y)238 2440b(timestamp)g(at)f(cursor)f(b)n(y)h Fe(\000)p Fi(1)g(da)n(y)238
2431b Fg(S-LEFT)3696 1305 y Ff(4)2046 1409 y Fi(c)n(hange)25 2441b Fg(S-LEFT)3696 1354 y Ff(4)2046 1458 y Fi(c)n(hange)25
2432b(timestamp)g(at)f(cursor)f(b)n(y)h(+1)g(da)n(y)238 b 2442b(timestamp)g(at)f(cursor)f(b)n(y)h(+1)g(da)n(y)238 b
2433Fg(S-RIGHT)3731 1385 y Ff(4)2046 1489 y Fi(c)n(hange)25 2443Fg(S-RIGHT)3731 1434 y Ff(4)2046 1538 y Fi(c)n(hange)25
2434b(y)n(ear/mon)n(th/da)n(y)i(at)d(cursor)f(b)n(y)h Fe(\000)p 2444b(y)n(ear/mon)n(th/da)n(y)i(at)d(cursor)f(b)n(y)h Fe(\000)p
2435Fi(1)189 b Fg(S-DOWN)3696 1466 y Ff(4)2046 1573 y Fi(c)n(hange)25 2445Fi(1)189 b Fg(S-DOWN)3696 1515 y Ff(4)2046 1622 y Fi(c)n(hange)25
2436b(y)n(ear/mon)n(th/da)n(y)i(at)d(cursor)f(b)n(y)h(+1)189 2446b(y)n(ear/mon)n(th/da)n(y)i(at)d(cursor)f(b)n(y)h(+1)189
2437b Fg(S-UP)3626 1550 y Ff(4)2046 1670 y Fi(access)25 b(the)f(calendar)g 2447b Fg(S-UP)3626 1599 y Ff(4)2046 1692 y Fi(access)25 b(the)f(calendar)g
2438(for)f(the)i(curren)n(t)f(date)221 b Fg(C-c)36 b(>)2046 2448(for)f(the)i(curren)n(t)f(date)221 b Fg(C-c)36 b(>)2046
24391739 y Fi(insert)23 b(timestamp)i(matc)n(hing)g(date)f(in)g(calendar)89 24491762 y Fi(insert)23 b(timestamp)i(matc)n(hing)g(date)f(in)g(calendar)89
2440b Fg(C-c)36 b(<)2046 1809 y Fi(access)25 b(agenda)g(for)e(curren)n(t)h 2450b Fg(C-c)36 b(<)2046 1832 y Fi(access)25 b(agenda)g(for)e(curren)n(t)h
2441(date)507 b Fg(C-c)36 b(C-o)2046 1905 y Fi(While)24 b(prompted)g(for)f 2451(date)507 b Fg(C-c)36 b(C-o)2046 1901 y Fi(While)24 b(prompted)g(for)f
2442(a)h(date:)2046 1975 y(...)30 b(select)25 b(date)f(in)g(calendar)660 2452(a)h(date:)2046 1971 y(...)30 b(select)25 b(date)f(in)g(calendar)660
2443b Fg(mouse-1/RET)2046 2045 y Fi(...)30 b(scroll)23 b(calendar)h(bac)n 2453b Fg(mouse-1/RET)2046 2041 y Fi(...)30 b(scroll)23 b(calendar)h(bac)n
2444(k/forw)n(ard)h(one)f(mon)n(th)121 b Fg(<)36 b(/)f(>)2046 2454(k/forw)n(ard)h(one)f(mon)n(th)121 b Fg(<)36 b(/)f(>)2046
24452115 y Fi(...)30 b(forw)n(ard/bac)n(kw)n(ard)24 b(one)h(da)n(y)525 24552111 y Fi(...)30 b(forw)n(ard/bac)n(kw)n(ard)24 b(one)h(da)n(y)525
2446b Fg(S-LEFT/RIGHT)2046 2184 y Fi(...)30 b(forw)n(ard/bac)n(kw)n(ard)24 2456b Fg(S-LEFT/RIGHT)2046 2180 y Fi(...)30 b(forw)n(ard/bac)n(kw)n(ard)24
2447b(one)h(w)n(eek)486 b Fg(S-UP/DOWN)2046 2254 y Fi(...)30 2457b(one)h(w)n(eek)486 b Fg(S-UP/DOWN)2046 2250 y Fi(...)30
2448b(forw)n(ard/bac)n(kw)n(ard)24 b(one)h(mon)n(th)437 b 2458b(forw)n(ard/bac)n(kw)n(ard)24 b(one)h(mon)n(th)437 b
2449Fg(M-S-LEFT/RIGT)2046 2451 y Fh(Links)2046 2599 y Fi(globally)24 2459Fg(M-S-LEFT/RIGT)2046 2449 y Fh(Links)2046 2598 y Fi(globally)24
2450b(store)g(link)f(to)h(the)h(curren)n(t)f(lo)r(cation)166 2460b(store)g(link)f(to)h(the)h(curren)n(t)f(lo)r(cation)166
2451b Fg(C-c)36 b(l)3662 2575 y Ff(2)2046 2668 y Fi(insert)23 2461b Fg(C-c)36 b(l)3662 2574 y Ff(2)2046 2667 y Fi(insert)23
2452b(a)h(link)f(\(T)-6 b(AB)24 b(completes)h(stored)f(links\))138 2462b(a)h(link)f(\(T)-6 b(AB)24 b(completes)h(stored)f(links\))138
2453b Fg(C-c)36 b(C-l)2046 2738 y Fi(insert)23 b(\014le)h(link)f(with)h 2463b Fg(C-c)36 b(C-l)2046 2737 y Fi(insert)23 b(\014le)h(link)f(with)h
2454(\014le)g(name)g(completion)192 b Fg(C-u)36 b(C-c)g(C-l)2046 2464(\014le)g(name)g(completion)192 b Fg(C-u)36 b(C-c)g(C-l)2046
24552834 y Fi(op)r(en)25 b(link)e(at)h(p)r(oin)n(t)884 b 24652834 y Fi(op)r(en)25 b(link)e(at)h(p)r(oin)n(t)884 b
2456Fg(C-c)36 b(C-o)2046 2904 y Fi(op)r(en)25 b(\014le)e(links)g(in)h 2466Fg(C-c)36 b(C-o)2046 2904 y Fi(op)r(en)25 b(\014le)e(links)g(in)h
2457(emacs)722 b Fg(C-u)36 b(C-c)g(C-o)2046 2974 y Fi(op)r(en)25 2467(emacs)722 b Fg(C-u)36 b(C-c)g(C-o)2046 2973 y Fi(op)r(en)25
2458b(link)e(at)h(p)r(oin)n(t)884 b Fg(mouse-2)2046 3044 2468b(link)e(at)h(p)r(oin)n(t)884 b Fg(mouse-2)2046 3043
2459y Fi(op)r(en)25 b(\014le)e(links)g(in)h(emacs)722 b Fg(mouse-3)2046 2469y Fi(op)r(en)25 b(\014le)e(links)g(in)h(emacs)722 b Fg(mouse-3)2046
24603140 y Fd(Link)27 b(t)n(yp)r(es)2046 3236 y Fg(<http://www.astro.uva.n) 24703140 y Fd(Link)27 b(t)n(yp)r(es)2046 3236 y Fg(<http://www.astro.uva.n)
2461q(l/~d)q(omi)q(nik>)247 b Fi(on)24 b(the)h(w)n(eb)2046 2471q(l/~d)q(omi)q(nik>)247 b Fi(on)24 b(the)h(w)n(eb)2046
@@ -2508,9 +2518,9 @@ n(v)n(e)i(the)f(curren)n(t)g(ro)n(w)285 b Fg(M-S-DOWN)4242
2508Fi(insert)23 b(horizon)n(tal)i(line)e(ab)r(o)n(v)n(e)i(the)g(curren)n 2518Fi(insert)23 b(horizon)n(tal)i(line)e(ab)r(o)n(v)n(e)i(the)g(curren)n
2509(t)f(ro)n(w)100 b Fg(C-u)36 b(C-c)g(-)4242 1553 y Fd(Regions)4242 2519(t)f(ro)n(w)100 b Fg(C-u)36 b(C-c)g(-)4242 1553 y Fd(Regions)4242
25101637 y Fi(cut)25 b(rectangular)f(region)758 b Fg(C-c)36 25201637 y Fi(cut)25 b(rectangular)f(region)758 b Fg(C-c)36
2511b(C-h)g(C-w)4242 1707 y Fi(cop)n(y)25 b(rectangular)f(region)715 2521b(C-x)g(C-w)4242 1707 y Fi(cop)n(y)25 b(rectangular)f(region)715
2512b Fg(C-c)36 b(C-h)g(M-w)4242 1777 y Fi(paste)25 b(rectangular)f(region) 2522b Fg(C-c)36 b(C-x)g(M-w)4242 1777 y Fi(paste)25 b(rectangular)f(region)
2513695 b Fg(C-c)36 b(C-h)g(C-y)4242 1847 y Fi(\014ll)23 2523695 b Fg(C-c)36 b(C-x)g(C-y)4242 1847 y Fi(\014ll)23
2514b(paragraph)h(across)g(selected)h(cells)399 b Fg(C-c)36 2524b(paragraph)h(across)g(selected)h(cells)399 b Fg(C-c)36
2515b(C-q)4242 1931 y Fd(Calculations)4242 2015 y Fi(Except)31 2525b(C-q)4242 1931 y Fd(Calculations)4242 2015 y Fi(Except)31
2516b(for)e(the)i(summation)f(commands,)h(these)g(need)g(the)g(Emacs)4242 2526b(for)e(the)i(summation)f(commands,)h(these)g(need)g(the)g(Emacs)4242
@@ -2559,7 +2569,7 @@ end
2559%%Page: 2 2 2569%%Page: 2 2
2560TeXDict begin @landscape 2 1 bop -169 -357 a Fj(Org-Mo)t(de)45 2570TeXDict begin @landscape 2 1 bop -169 -357 a Fj(Org-Mo)t(de)45
2561b(Reference)h(Card)g(\(2/2\))546 -242 y Fi(\(for)23 b(v)n(ersion)h 2571b(Reference)h(Card)g(\(2/2\))546 -242 y Fi(\(for)23 b(v)n(ersion)h
2562(3.15\))-150 -36 y Fh(Timeline)37 b(and)g(Agenda)-150 2572(3.16\))-150 -36 y Fh(Timeline)37 b(and)g(Agenda)-150
2563120 y Fi(sho)n(w)24 b(timeline)f(of)h(curren)n(t)g(org)f(\014le)458 2573120 y Fi(sho)n(w)24 b(timeline)f(of)h(curren)n(t)g(org)f(\014le)458
2564b Fg(C-c)36 b(C-r)-150 190 y Fi(...)30 b(include)24 b(past)h(dates)793 2574b Fg(C-c)36 b(C-r)-150 190 y Fi(...)30 b(include)24 b(past)h(dates)793
2565b Fg(C-u)36 b(C-c)g(C-r)-150 288 y Fi(add)24 b(curren)n(t)g(\014le)g 2575b 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(as)e(ASCI)r(I)i(\014le)820 b Fg(C-c)36 b(C-x)g(a)2046
2627b(for)23 b(prin)n(ting\))152 b Fg(C-c)36 b(C-x)g(v)2046 2637b(for)23 b(prin)n(ting\))152 b Fg(C-c)36 b(C-x)g(v)2046
262899 y Fi(exp)r(ort)25 b(as)e(HTML)g(\014le)804 b Fg(C-c)36 263899 y Fi(exp)r(ort)25 b(as)e(HTML)g(\014le)804 b Fg(C-c)36
2629b(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 2639b(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
2630(bro)n(wser)266 b Fg(C-c)36 b(C-x)g(C-h)2046 239 y Fi(pre\014x)24 2640(bro)n(wser)266 b Fg(C-c)36 b(C-x)g(b)2046 239 y Fi(pre\014x)24
2631b(arg)g(sets)g(n)n(b.)31 b(of)23 b(headline)i(lev)n(els,)e(e.g.)182 2641b(arg)g(sets)g(n)n(b.)31 b(of)23 b(headline)i(lev)n(els,)e(e.g.)182
2632b Fg(C-3)36 b(C-c)g(C-x)g(h)2046 337 y Fi(insert)23 b(template)j(of)d 2642b Fg(C-3)36 b(C-c)g(C-x)g(h)2046 337 y Fi(insert)23 b(template)j(of)d
2633(exp)r(ort)h(options)423 b Fg(C-c)36 b(C-x)g(t)2046 435 2643(exp)r(ort)h(options)423 b Fg(C-c)36 b(C-x)g(t)2046 435
@@ -2745,7 +2755,7 @@ b Fi(with)g(the)h(cur-)4242 3574 y(sor)h(still)g(in)g(a)h(line)f(to)h
2745Fg(org-CUA-compatibility)p Fi(.)4535 3770 y Fb(Cop)n(yrigh)n(t)4838 2755Fg(org-CUA-compatibility)p Fi(.)4535 3770 y Fb(Cop)n(yrigh)n(t)4838
27463768 y(c)4821 3770 y Fa(\015)d Fb(2005)i(F)-5 b(ree)21 27563768 y(c)4821 3770 y Fa(\015)d Fb(2005)i(F)-5 b(ree)21
2747b(Soft)n(w)n(are)i(F)-5 b(oundation,)20 b(Inc.)4795 3826 2757b(Soft)n(w)n(are)i(F)-5 b(oundation,)20 b(Inc.)4795 3826
2748y(v3.15)h(for)h(Org-Mo)r(de)e(3.15,)i(2005)4912 3882 2758y(v3.16)h(for)h(Org-Mo)r(de)e(3.16,)i(2005)4912 3882
2749y(Author:)k(Philip)18 b(Ro)r(ok)n(e)4473 3937 y(based)j(on)g(refcard)g 2759y(Author:)k(Philip)18 b(Ro)r(ok)n(e)4473 3937 y(based)j(on)g(refcard)g
2750(design)g(and)f(format)i(b)n(y)f(Stephen)f(Gildea)4242 2760(design)g(and)f(format)i(b)n(y)f(Stephen)f(Gildea)4242
27514022 y(P)n(ermission)28 b(is)f(gran)n(ted)i(to)f(mak)n(e)h(and)e 27614022 y(P)n(ermission)28 b(is)f(gran)n(ted)i(to)f(mak)n(e)h(and)e
diff --git a/etc/orgcard.tex b/etc/orgcard.tex
index e90b602b443..f4c1af25972 100644
--- a/etc/orgcard.tex
+++ b/etc/orgcard.tex
@@ -1,4 +1,4 @@
1% Reference Card for Org Mode 3.15 1% Reference Card for Org Mode 3.16
2% 2%
3%**start of header 3%**start of header
4\newcount\columnsperpage 4\newcount\columnsperpage
@@ -58,7 +58,7 @@
58% Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik 58% Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
59% for their many good ideas. 59% for their many good ideas.
60 60
61\def\orgversionnumber{3.15} 61\def\orgversionnumber{3.16}
62\def\year{2005} 62\def\year{2005}
63 63
64\def\shortcopyrightnotice{\vskip 1ex plus 2 fill 64\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
@@ -315,9 +315,9 @@ Put the following in your \kbd{~/.emacs}$^1$
315 315
316\key{move subtree up}{M-S-UP} 316\key{move subtree up}{M-S-UP}
317\key{move subtree down}{M-S-DOWN} 317\key{move subtree down}{M-S-DOWN}
318\key{kill subtree}{C-c C-h C-w} 318\key{kill subtree}{C-c C-x C-w}
319\key{copy subtree}{C-c C-h M-w} 319\key{copy subtree}{C-c C-x M-w}
320\key{yank subtree}{C-c C-h C-y} 320\key{yank subtree}{C-c C-x C-y}
321 321
322\key{archive subtree}{C-c \$} 322\key{archive subtree}{C-c \$}
323To set archive location for current file, add a line like$^3$: 323To set archive location for current file, add a line like$^3$:
@@ -362,20 +362,18 @@ per-file TODO keywords: add line(s) like$^3$:
362 362
363\key{prompt for date and insert timestamp}{C-c .} 363\key{prompt for date and insert timestamp}{C-c .}
364\key{like \kbd{C-c} . but insert date and time format}{C-u C-c .} 364\key{like \kbd{C-c} . but insert date and time format}{C-u C-c .}
365\key{Like \kbd{C-c .} but make stamp inactive}{C-c !} % FIXME
365\key{insert DEADLINE timestamp}{C-c C-d} 366\key{insert DEADLINE timestamp}{C-c C-d}
366\key{insert SCHEDULED timestamp}{C-c C-s} 367\key{insert SCHEDULED timestamp}{C-c C-s}
367\key{create sparse tree with all deadlines due}{C-c C-w} 368\key{create sparse tree with all deadlines due}{C-c C-w}
368\key{the time between 2 dates in a time range}{C-c C-y} 369\key{the time between 2 dates in a time range}{C-c C-y}
369
370\key{change timestamp at cursor by $-1$ day}{S-LEFT$^4$} 370\key{change timestamp at cursor by $-1$ day}{S-LEFT$^4$}
371\key{change timestamp at cursor by $+1$ day}{S-RIGHT$^4$} 371\key{change timestamp at cursor by $+1$ day}{S-RIGHT$^4$}
372\key{change year/month/day at cursor by $-1$}{S-DOWN$^4$} 372\key{change year/month/day at cursor by $-1$}{S-DOWN$^4$}
373\key{change year/month/day at cursor by $+1$}{S-UP$^4$} 373\key{change year/month/day at cursor by $+1$}{S-UP$^4$}
374
375\key{access the calendar for the current date}{C-c >} 374\key{access the calendar for the current date}{C-c >}
376\key{insert timestamp matching date in calendar}{C-c <} 375\key{insert timestamp matching date in calendar}{C-c <}
377\key{access agenda for current date}{C-c C-o} 376\key{access agenda for current date}{C-c C-o}
378
379\key{While prompted for a date:}{} 377\key{While prompted for a date:}{}
380\key{... select date in calendar}{mouse-1/RET} 378\key{... select date in calendar}{mouse-1/RET}
381\key{... scroll calendar back/forward one month}{< / >} 379\key{... scroll calendar back/forward one month}{< / >}
@@ -457,9 +455,9 @@ Outside of tables, the same keys may have other functionality.
457 455
458{\bf Regions} 456{\bf Regions}
459 457
460\key{cut rectangular region}{C-c C-h C-w} 458\key{cut rectangular region}{C-c C-x C-w}
461\key{copy rectangular region}{C-c C-h M-w} 459\key{copy rectangular region}{C-c C-x M-w}
462\key{paste rectangular region}{C-c C-h C-y} 460\key{paste rectangular region}{C-c C-x C-y}
463\key{fill paragraph across selected cells}{C-c C-q} 461\key{fill paragraph across selected cells}{C-c C-q}
464 462
465{\bf Calculations} 463{\bf Calculations}
@@ -589,7 +587,7 @@ in the current directory.
589\key{export as ASCII file}{C-c C-x a} 587\key{export as ASCII file}{C-c C-x a}
590\key{export visible text only (e.g. for printing)}{C-c C-x v} 588\key{export visible text only (e.g. for printing)}{C-c C-x v}
591\key{export as HTML file}{C-c C-x h} 589\key{export as HTML file}{C-c C-x h}
592\key{export as HTML and open in browser}{C-c C-x C-h} 590\key{export as HTML and open in browser}{C-c C-x b}
593\key{prefix arg sets nb. of headline levels, e.g.}{C-3 C-c C-x h} 591\key{prefix arg sets nb. of headline levels, e.g.}{C-3 C-c C-x h}
594 592
595\key{insert template of export options}{C-c C-x t} 593\key{insert template of export options}{C-c C-x t}
@@ -730,9 +728,6 @@ $^4$ Keybinding affected by {\tt org-CUA-compatibility}.
730 728
731\bye 729\bye
732 730
733% Local variables:
734% compile-command: "tex ord-mode-ref"
735% TeX-master: t
736% End:
737 731
738% arch-tag: 139f6750-5cfc-49ca-92b5-237fe5795290 732% arch-tag: 139f6750-5cfc-49ca-92b5-237fe5795290
733
diff --git a/leim/.gitignore b/leim/.gitignore
index 7c52fa3961a..0d99e9bf790 100644
--- a/leim/.gitignore
+++ b/leim/.gitignore
@@ -1,4 +1,5 @@
1Makefile 1Makefile
2makefile
2changed.misc 3changed.misc
3changed.tit 4changed.tit
4leim-list.el 5leim-list.el
diff --git a/lib-src/.gitignore b/lib-src/.gitignore
index 66933a62c36..83a67e67579 100644
--- a/lib-src/.gitignore
+++ b/lib-src/.gitignore
@@ -20,5 +20,6 @@ test-distrib
20update-game-score 20update-game-score
21yow 21yow
22Makefile 22Makefile
23makefile
23*-spd 24*-spd
24*.pdb 25*.pdb
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 76e56e77e16..7d22972794f 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,9 @@
12005-09-20 Chong Yidong <cyd@stupidchicken.com>
2
3 * ebrowse.c (add_sym): Compare namespace names instead of
4 namespace objects. This prevents the parser from incorrectly
5 treating classes whose superclass is in another namespace.
6
12005-09-15 Richard M. Stallman <rms@gnu.org> 72005-09-15 Richard M. Stallman <rms@gnu.org>
2 8
3 * Makefile.in (update-game-score.o): New target. 9 * Makefile.in (update-game-score.o): New target.
diff --git a/lib-src/ebrowse.c b/lib-src/ebrowse.c
index 49e353cf536..a9a3eb78442 100644
--- a/lib-src/ebrowse.c
+++ b/lib-src/ebrowse.c
@@ -648,7 +648,10 @@ add_sym (name, nested_in_class)
648 h %= TABLE_SIZE; 648 h %= TABLE_SIZE;
649 649
650 for (sym = class_table[h]; sym; sym = sym->next) 650 for (sym = class_table[h]; sym; sym = sym->next)
651 if (streq (name, sym->name) && sym->namesp == scope) 651 if (streq (name, sym->name)
652 && ((!sym->namesp && !scope)
653 || (sym->namesp && scope
654 && streq (sym->namesp->name, scope->name))))
652 break; 655 break;
653 656
654 if (sym == NULL) 657 if (sym == NULL)
diff --git a/lisp/.gitignore b/lisp/.gitignore
index 48c6dafa2e6..00add3a5726 100644
--- a/lisp/.gitignore
+++ b/lisp/.gitignore
@@ -1,6 +1,8 @@
1*.elc 1*.elc
2MANIFEST 2MANIFEST
3Makefile 3Makefile
4Makefile.unix
5makefile
4elc.tar.gz 6elc.tar.gz
5cus-load.el 7cus-load.el
6finder-inf.el 8finder-inf.el
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 39cd7f0835c..efd66d87d3a 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,192 +1,397 @@
12005-09-19 Miles Bader <miles@gnu.org> 12005-09-24 Andreas Schwab <schwab@suse.de>
2 2
3 * net/newsticker.el: Get rid of CVS keyword. 3 * term/rxvt.el (rxvt-register-default-colors): Delete redundant
4 condition.
5
62005-09-25 Romain Francoise <romain@orebokech.com>
4 7
52005-09-19 Johan Bockg,Ae(Brd <bojohan+sf@dd.chalmers.se> 8 * dired-aux.el (dired-copy-file-recursive):
9 * dired.el (dired-delete-file):
10 * ediff-mult.el (ediff-dir-diff-copy-file):
11 * ediff-util.el (ediff-test-save-region):
12 * forms.el (forms-mode):
13 * ido.el (ido-file-internal, ido-delete-file-at-head):
14 * log-edit.el (log-edit-done):
15 * ses.el (ses-yank-resize):
16 * play/gomoku.el (gomoku-human-plays, gomoku)
17 (gomoku-human-resigns, gomoku-prompt-for-other-game)
18 (gomoku-offer-a-draw):
19 * play/landmark.el (lm-human-resigns, lm):
20 * net/eudcb-ldap.el (eudc-ldap-check-base):
21 * play/mpuz.el (mpuz-offer-abort, mpuz-try-letter, mpuz-close-game):
22 * progmodes/ebrowse.el (ebrowse-find-pattern):
23 * progmodes/idlw-shell.el (idlwave-shell-set-bp-check):
24 * textmodes/reftex-index.el (reftex-index-initialize-phrases-buffer):
25 End `yes-or-no-p' and `y-or-n-p' prompts with question mark and
26 space.
27
28 * vc.el (vc-delete-file):
29 * play/gomoku.el (gomoku-terminate-game, gomoku)
30 (gomoku-prompt-for-move, gomoku-human-takes-back):
31 * play/landmark.el (lm-human-takes-back, lm-prompt-for-move)
32 (lm-start-robot, lm-human-plays): Remove extraneous spaces in
33 messages.
6 34
7 * dired-aux.el (dired-handle-overwrite): Don't use `format' here. 352005-09-24 Dan Nicolaescu <dann@ics.uci.edu>
8 The prompt is formatted later.
9 36
102005-09-19 David Ponce <david@dponce.com> 37 * term/rxvt.el (rxvt-register-default-colors): Add support for 255
38 color rxvt terminals by using the code xterm.el used to use before
39 2005-04-09 in order to match the colors used by rxvt.
11 40
12 * tree-widget.el (tree-widget-value-create): Save the converted 412005-09-24 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
13 tree :node widget.
14 42
152005-09-19 Juanma Barranquero <lekktu@gmail.com> 43 * term/rxvt.el (rxvt-register-default-colors): Add support for 88
44 colors rxvt-unicode terminals by using the same code as xterm.el.
16 45
17 * progmodes/sh-script.el (sh-blink): Fix spurious reference to 462005-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
18 variable `message'.
19 47
202005-09-18 Michael Albinus <michael.albinus@gmx.de> 48 * textmodes/tex-mode.el (tex-font-lock-append-prop)
49 (tex-font-lock-suscript, tex-insert-quote, latex-indent): Adjust to the
50 new symbol used for the tex-verbatim face.
21 51
22 * net/tramp.el (tramp-login-prompt-regexp): Expand regexp in order 522005-09-24 Emilio C. Lopes <eclig@gmx.net>
23 to cover prompts like "login as:". Reported by Slawomir Nowaczyk
24 <slawomir.nowaczyk.847@student.lu.se>.
25 53
262005-09-18 Chong Yidong <cyd@stupidchicken.com> 54 * woman.el (woman-file-name):
55 * wid-edit.el (widget-file-prompt-value)
56 (widget-coding-system-prompt-value):
57 * w32-fns.el (set-w32-system-coding-system):
58 * vc.el (vc-version-diff, vc-annotate):
59 * textmodes/reftex-auc.el (reftex-arg-cite)
60 (reftex-arg-index-tag):
61 * textmodes/refer.el (refer-get-bib-files):
62 * textmodes/artist.el (artist-figlet-choose-font):
63 * terminal.el (terminal-emulator):
64 * replace.el (occur-read-primary-args):
65 * rect.el (string-rectangle, string-insert-rectangle):
66 * ps-print.el (ps-print-preprint):
67 * progmodes/pascal.el (pascal-goto-defun):
68 * progmodes/etags.el (visit-tags-table, visit-tags-table-buffer):
69 * progmodes/compile.el (compilation-find-file):
70 * printing.el (pr-interactive-n-up):
71 * play/animate.el (animate-birthday-present):
72 * net/rcompile.el (remote-compile):
73 * man.el (man, Man-goto-section, Man-follow-manual-reference):
74 * mail/rmailsum.el (rmail-summary-search-backward)
75 (rmail-summary-search):
76 * mail/rmailout.el (rmail-output-read-rmail-file-name)
77 (rmail-output-read-file-name):
78 * mail/rmail.el (rmail-search, rmail-search-backwards):
79 * mail/mailabbrev.el (merge-mail-abbrevs, rebuild-mail-abbrevs):
80 * locate.el (locate):
81 * international/quail.el (quail-show-keyboard-layout):
82 * international/mule.el (set-buffer-file-coding-system)
83 (revert-buffer-with-coding-system, set-file-name-coding-system)
84 (set-terminal-coding-system, set-keyboard-coding-system)
85 (set-next-selection-coding-system):
86 * international/mule-diag.el (describe-coding-system)
87 (describe-font, describe-fontset):
88 * international/mule-cmds.el (universal-coding-system-argument)
89 (search-unencodable-char, describe-input-method)
90 (set-language-environment, describe-language-environment):
91 * international/codepage.el (codepage-setup):
92 * international/code-pages.el (codepage-setup):
93 * info.el (Info-search, Info-follow-reference)
94 (Info-search-backward):
95 * emacs-lisp/advice.el (ad-read-advised-function)
96 (ad-read-advice-class, ad-clear-cache, ad-activate)
97 (ad-deactivate, ad-update, ad-unadvise, ad-read-advice-name)
98 (ad-enable-advice, ad-disable-advice, ad-remove-advice)
99 (ad-read-regexp):
100 * ediff-util.el (ediff-toggle-regexp-match):
101 * ediff-ptch.el (ediff-prompt-for-patch-file):
102 * dired-aux.el (dired-diff):
103 * diff.el (diff):
104 * cus-edit.el (custom-variable-prompt):
105 * calendar/timeclock.el (timeclock-ask-for-project):
106 * calc/calcalg3.el (calc-get-fit-variables):
107 * calc/calc-store.el (calc-edit-variable)
108 (calc-permanent-variable):
109 * vc-mcvs.el (vc-mcvs-register):
110 * shadowfile.el (shadow-define-literal-group):
111 * woman.el (woman-file-name):
112 * vc.el (vc-version-diff, vc-merge):
113 * textmodes/reftex-index.el (reftex-index-complete-tag):
114 * format.el (format-decode-buffer, format-decode-region):
115 * emulation/viper-cmd.el (viper-read-string-with-history):
116 * emacs-lisp/debug.el (cancel-debug-on-entry):
117 * emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
118 * ediff.el (ediff-merge-revisions)
119 (ediff-merge-revisions-with-ancestor, ediff-revision):
120 * completion.el (interactive-completion-string-reader):
121 * calc/calc-prog.el (calc-user-define-formula):
122 Follow convention for reading with the minibuffer.
27 123
28 * image.el (image-load-path): Use symbol `data-directory' instead 1242005-09-24 Steven Huwig <steven_h@acm.org> (tiny change)
29 of its value, for backward compatibility with packages that bind
30 it during `find-image'. Suggested by Katsumi Yamaoka.
31 (image-search-load-path): Handle symbols whose values are strings.
32 125
332005-09-18 Romain Francoise <romain@orebokech.com> 126 * progmodes/python.el (python-describe-symbol): Add globals() and
127 locals() to the arguments of emacs.ehelp.
34 128
35 * calendar/diary-lib.el (mark-diary-entries): Rearrange to wrap 1292005-09-24 Magnus Henoch <mange@freemail.hu>
36 with-current-buffer form in save-excursion.
37 130
382005-09-18 D Goel <deego@gnufans.org> 131 * textmodes/ispell.el (ispell-maybe-find-aspell-dictionaries):
132 New function, code extracted from ispell-valid-dictionary-list.
133 (ispell-valid-dictionary-list, ispell-accept-buffer-local-defs):
134 Call it.
39 135
40 * apropos.el (apropos-command): Fix `message' call: first arg 1362005-09-24 Eli Zaretskii <eliz@gnu.org>
41 should be a format spec. In this and all other cases that appear
42 below and elsewhere in the source code, I made a change only when
43 two conditions were satisfied: [1] I can think of a possibility
44 that the arguments would cause an error, for example, the code in
45 question relies on external variables such as filenames. [2] I
46 was sure that the arg to `message' could not have been nil in the
47 code.
48 137
49 * textmodes/tildify.el (tildify-region): Ditto. 138 * subr.el (version-regexp-alist): Extend valid syntax for version
139 strings: allow any of the characters -,_,+ to separate the
140 alpha/beta/rc part from the version part. Doc fix.
141 (version-to-list): Doc fix. Bind case-fold-search to t, as advertised.
50 142
51 * textmodes/reftex-index.el (reftex-index-change-entry) 1432005-09-23 David Reitter <david.reitter@gmail.com>
52 (reftex-index-phrase-selection-or-word)
53 (reftex-query-index-phrase): Ditto.
54 144
55 * textmodes/reftex-dcr.el (reftex-echo-ref, reftex-echo-cite): Ditto. 145 * mail/mailclient.el: New file.
56 146
57 * textmodes/org.el (org-complete, org-deadline, org-schedule) 1472005-09-23 Richard M. Stallman <rms@gnu.org>
58 (org-priority, org-table-sum): Ditto.
59 148
60 * textmodes/ispell.el (ispell-check-version) 149 * textmodes/flyspell.el (flyspell-highlight-incorrect-region)
61 (ispell-parse-output): Ditto. 150 (flyspell-incorrect-hook, flyspell-highlight-duplicate-region):
151 Doc fixes.
62 152
63 * textmodes/flyspell.el (flyspell-mode-on) 153 * progmodes/cc-mode.el (c-font-lock-init):
64 (flyspell-notify-misspell, flyspell-word) 154 Specify font-lock-lines-before.
65 (flyspell-display-next-corrections): Ditto.
66 155
67 * textmodes/bibtex.el (bibtex-print-help-message): Ditto. 1562005-09-23 Stefan Monnier <monnier@iro.umontreal.ca>
68 157
69 * textmodes/artist.el (artist-key-set-point-poly): Ditto. 158 * smerge-mode.el (smerge-remove-props): Cause re-highlighting of the
159 whole conflict.
70 160
71 * term/mac-win.el (mac-services-insert-text): Ditto. 1612005-09-23 Carsten Dominik <dominik@science.uva.nl>
72 162
73 * progmodes/vhdl-mode.el (vhdl-warning, vhdl-print-warnings) 163 * textmodes/org.el (org-mode-map, orgtbl-mode-map):
74 (vhdl-hooked-abbrev, vhdl-template-insert-fun) 164 Move keybindings with `C-c C-h' prefix to `C-c C-x' prefix. Make use
75 (vhdl-port-paste-testbench, vhdl-compose-new-component) 165 of `remap' feature when available. Additional key bindings for
76 (vhdl-compose-configuration): Ditto. 166 better tty support.
167 (org-mode-restart, org-force-self-insert): New commands.
168 (org-time-stamp-inactive): New command.
169 (org-remap): New function.
170 (org-table-auto-blank-field, org-level-color-stars-only): New options.
171 (org-enable-fixed-width-editor): Move to `org-structure'
172 customization group.
173 (org-self-insert-command, orgtbl-self-insert-command): Modify to
174 blank field after field motion commands.
77 175
78 * progmodes/sh-script.el (sh-blink, sh-show-indent) 1762005-09-23 Kenichi Handa <handa@m17n.org>
79 (sh-set-indent, sh-learn-line-indent): Ditto.
80 177
81 * progmodes/ps-mode.el (ps-mode-target-column): Ditto. 178 * international/mule-cmds.el (set-language-environment):
179 Don't check utf-translate-cjk-lang-env is nil or not on deciding if we
180 have to call utf-translate-cjk-load-tables.
82 181
83 * progmodes/idlwave.el (idlwave-make-tags) 1822005-09-22 Stefan Monnier <monnier@iro.umontreal.ca>
84 (idlwave-scan-library-catalogs): Ditto.
85 183
86 * progmodes/idlw-shell.el (idlwave-shell-parse-stack-and-display): Ditto. 184 * mouse.el (mouse-move-drag-overlay): Fix last change.
87 185
88 * progmodes/gud.el (gud-jdb-analyze-source): Ditto. 1862005-09-22 David Ponce <david@dponce.com>
89 187
90 * progmodes/flymake.el (flymake-log): Ditto. 188 * tree-widget.el (tree-widget-value-create): Fix previous change.
91 189
92 * progmodes/ebnf2ps.el (ebnf-generate-region): Ditto. 1902005-09-21 Dan Nicolaescu <dann@ics.uci.edu>
93 191
94 * progmodes/cmacexp.el (c-macro-expansion): Ditto. 192 * term/xterm.el (terminal-init-xterm): Fix loading rxvt at run time.
95 193
96 * progmodes/ada-xref.el (ada-treat-cmd-string): Ditto. 1942005-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
97 195
98 * progmodes/ada-mode.el (ada-create-case-exception-substring) 196 * mouse.el (mouse-move-drag-overlay): New function.
99 (ada-justified-indent-current, ada-batch-reformat): Ditto. 197 (mouse-drag-region-1): Use it.
198 Try to simplify a bit the state handling. Handle clicks on links
199 inside intangible areas.
200 (mouse-save-then-kill): Minor simplification.
201 (mouse-secondary-overlay): Make it always non-nil instead of
202 recreating it each time.
203 (mouse-start-secondary, mouse-set-secondary, mouse-drag-secondary)
204 (mouse-kill-secondary, mouse-secondary-save-then-kill):
205 Simplify accordingly.
100 206
101 * play/zone.el (zone): Ditto. 2072005-09-21 Dan Nicolaescu <dann@ics.uci.edu>
102 208
103 * play/landmark.el (lm-move): Ditto. 209 * term/rxvt.el (rxvt-standard-colors): Fix some colors.
104 210
105 * play/decipher.el (decipher-show-alphabet): Ditto. 2112005-09-20 Michael Kifer <kifer@cs.stonybrook.edu>
106 212
107 * net/newsticker.el (newsticker--display-jump) 213 * ediff-ptch.el (ediff-prompt-for-patch-file): More intuitive prompt.
108 (newsticker--display-scroll): Ditto. 214 (ediff-file-name-sans-prefix): Treat nil as an empty string.
215 (ediff-fixup-patch-map): Better heuristic for intuiting the file names
216 to patch.
109 217
110 * mail/rmail-spam-filter.el (rsf-add-subject-to-spam-list) 218 * ediff-util.el: Use insert-buffer-substring.
111 (rsf-add-sender-to-spam-list, rsf-add-region-to-spam-list): Ditto.
112 219
113 * mail/feedmail.el (feedmail-dump-message-to-queue): Ditto. 220 * ediff-vers.el (cvs-run-ediff-on-file-descriptor): Bug fix.
114 221
115 * eshell/esh-proc.el (eshell-remove-process-entry): Ditto. 222 * emulation/viper-cmd.el (viper-change-state): Don't move over the
223 field boundaries in the minibuffer.
224 (viper-set-minibuffer-style): Add viper-minibuffer-post-command-hook.
225 (viper-minibuffer-post-command-hook): New hook.
226 (viper-line): Don't move cursor at bolp.
116 227
117 * emulation/ws-mode.el (ws-last-error): Ditto. 228 * emulation/viper-ex.el (ex-pwd, viper-info-on-file): Fix message.
118 229
119 * emulation/viper-macs.el (ex-map-read-args, ex-unmap-read-args) 230 * emulation/viper-init.el: Add alias to make-variable-buffer-local to
120 (viper-record-kbd-macro): Ditto. 231 avoid compiler warnings.
121 232
122 * emulation/viper-ex.el (ex-pwd, viper-info-on-file): Ditto. 233 * emulation/viper-macs.el (ex-map): Better messages.
123 234
124 * emacs-lisp/lisp-mnt.el (lm-report-bug): Ditto. 235 * emulation/viper-utils.el (viper-beginning-of-field): New function.
125 236
126 * emacs-lisp/find-func.el (find-function-noselect): Ditto. 237 * emulation/viper.el: Replace make-variable-buffer-local with
238 viper-make-variable-buffer-local everywhere, to avoid warnings.
127 239
128 * calendar/timeclock.el (timeclock-status-string) 2402005-09-19 Stefan Monnier <monnier@iro.umontreal.ca>
129 (timeclock-workday-remaining-string)
130 (timeclock-workday-elapsed-string)
131 (timeclock-when-to-leave-string): Ditto.
132 241
133 * calendar/icalendar.el (icalendar--convert-ical-to-diary): Ditto. 242 * mouse.el (mouse-drag-mode-line-1, mouse-drag-vertical-line):
243 Delete unused var `old-selected-window'.
244 (mouse-drag-region-1): Delete unused vars `start-frame', `end-of-range'.
245 (mouse-drag-secondary): Delete unused var `start-frame'.
134 246
135 * calc/calc-units.el (calc-enter-units-table): Ditto. 2472005-09-19 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
136 248
137 * calc/calc-mode.el (calc-mode-record-mode): Ditto. 249 * term/rxvt.el (terminal-init-rxvt): Add entry for [end].
138 250
139 * woman.el (woman-mini-help): Ditto. 2512005-09-19 Stefan Monnier <monnier@iro.umontreal.ca>
140 252
141 * wdired.el (wdired-change-to-wdired-mode): Ditto. 253 * calendar/calendar.el (mark-visible-calendar-date): Save excursion.
254 Re-indent within 80 columns. Use inhibit-read-only.
142 255
143 * vc.el (vc-retrieve-snapshot): Ditto. 2562005-09-19 Romain Francoise <romain@orebokech.com>
144 257
145 * strokes.el (strokes-read-stroke, strokes-read-complex-stroke): Ditto. 258 * calendar/diary-lib.el (mark-diary-entries): Revert last change.
146 259
147 * startup.el (display-startup-echo-area-message): Ditto. 2602005-09-19 Stefan Monnier <monnier@iro.umontreal.ca>
148 261
149 * simple.el (set-goal-column): Ditto. 262 * font-lock.el (font-lock-default-fontify-region): Don't add a line
263 unconditionally, since the after-change-function already did it.
150 264
151 * ses.el (ses-command-hook, ses-recalculate-cell): Ditto. 2652005-09-19 Miles Bader <miles@gnu.org>
152 266
153 * server.el (server-process-filter): Ditto. 267 * net/newsticker.el: Get rid of CVS keyword.
154 268
155 * printing.el (pr-interface-txt-print, pr-interface-printify) 2692005-09-19 Johan Bockg,Ae(Brd <bojohan+sf@dd.chalmers.se>
156 (pr-interface-ps): Ditto.
157 270
158 * pcvs.el (cvs-help): Ditto. 271 * dired-aux.el (dired-handle-overwrite): Don't use `format' here.
272 The prompt is formatted later.
159 273
160 * log-edit.el (log-edit, log-edit-mode-help): Ditto. 2742005-09-19 David Ponce <david@dponce.com>
161 275
162 * iswitchb.el (iswitchb-possible-new-buffer): Ditto. 276 * tree-widget.el (tree-widget-value-create): Save the converted
277 tree :node widget.
163 278
164 * isearch.el (isearch-edit-string): Ditto. 2792005-09-19 Juanma Barranquero <lekktu@gmail.com>
165 280
166 * image-mode.el (image-mode, image-minor-mode): Ditto. 281 * progmodes/sh-script.el (sh-blink): Fix spurious reference to
282 variable `message'.
167 283
168 * ibuf-macs.el (define-ibuffer-filter): Ditto. 2842005-09-18 Michael Albinus <michael.albinus@gmx.de>
169 285
170 * hi-lock.el (hi-lock-find-patterns): Ditto. 286 * net/tramp.el (tramp-login-prompt-regexp): Expand regexp in order
287 to cover prompts like "login as:". Reported by Slawomir Nowaczyk
288 <slawomir.nowaczyk.847@student.lu.se>.
171 289
172 * files.el (toggle-read-only): Ditto. 2902005-09-18 Chong Yidong <cyd@stupidchicken.com>
173 291
174 * ediff-util.el (ediff-copy-diff) 292 * image.el (image-load-path): Use symbol `data-directory' instead
175 (ediff-write-merge-buffer-and-maybe-kill): Ditto. 293 of its value, for backward compatibility with packages that bind
294 it during `find-image'. Suggested by Katsumi Yamaoka.
295 (image-search-load-path): Handle symbols whose values are strings.
176 296
177 * echistory.el (Electric-history-undefined): Ditto. 2972005-09-18 Romain Francoise <romain@orebokech.com>
178 298
179 * dnd.el (dnd-insert-text): Ditto. 299 * calendar/diary-lib.el (mark-diary-entries): Rearrange to wrap
300 with-current-buffer form in save-excursion.
180 301
181 * dired-aux.el (dired-query): Ditto. 3022005-09-18 D Goel <deego@gnufans.org>
182 303
183 * desktop.el (desktop-restore-file-buffer) 304 * apropos.el (apropos-command): Fix `message' call: first arg
184 (desktop-lazy-create-buffer): Ditto. 305 should be a format spec. In this and all other cases that appear
306 below and elsewhere in the source code, I made a change only when
307 two conditions were satisfied: [1] I can think of a possibility
308 that the arguments would cause an error, for example, the code in
309 question relies on external variables such as filenames. [2] I
310 was sure that the arg to `message' could not have been nil in the code.
185 311
186 * bookmark.el (bookmark-bmenu-locate): Ditto. 312 * textmodes/tildify.el (tildify-region): Ditto.
187 313
188 * obsolete/fast-lock.el (@top-level): Ditto in the macro 314 * textmodes/reftex-index.el (reftex-index-change-entry)
189 definition of `with-temp-message'. 315 (reftex-index-phrase-selection-or-word, reftex-query-index-phrase):
316 * textmodes/reftex-dcr.el (reftex-echo-ref, reftex-echo-cite):
317 * textmodes/org.el (org-complete, org-deadline, org-schedule)
318 (org-priority, org-table-sum):
319 * textmodes/ispell.el (ispell-check-version, ispell-parse-output):
320 * textmodes/flyspell.el (flyspell-mode-on, flyspell-notify-misspell)
321 (flyspell-word, flyspell-display-next-corrections):
322 * textmodes/bibtex.el (bibtex-print-help-message):
323 * textmodes/artist.el (artist-key-set-point-poly):
324 * term/mac-win.el (mac-services-insert-text):
325 * progmodes/vhdl-mode.el (vhdl-warning, vhdl-print-warnings)
326 (vhdl-hooked-abbrev, vhdl-template-insert-fun)
327 (vhdl-port-paste-testbench, vhdl-compose-new-component)
328 (vhdl-compose-configuration):
329 * progmodes/sh-script.el (sh-blink, sh-show-indent)
330 (sh-set-indent, sh-learn-line-indent):
331 * progmodes/ps-mode.el (ps-mode-target-column):
332 * progmodes/idlwave.el (idlwave-make-tags)
333 (idlwave-scan-library-catalogs):
334 * progmodes/idlw-shell.el (idlwave-shell-parse-stack-and-display):
335 * progmodes/gud.el (gud-jdb-analyze-source):
336 * progmodes/flymake.el (flymake-log):
337 * progmodes/ebnf2ps.el (ebnf-generate-region):
338 * progmodes/cmacexp.el (c-macro-expansion):
339 * progmodes/ada-xref.el (ada-treat-cmd-string):
340 * progmodes/ada-mode.el (ada-create-case-exception-substring)
341 (ada-justified-indent-current, ada-batch-reformat):
342 * play/zone.el (zone):
343 * play/landmark.el (lm-move):
344 * play/decipher.el (decipher-show-alphabet):
345 * net/newsticker.el (newsticker--display-jump)
346 (newsticker--display-scroll):
347 * mail/rmail-spam-filter.el (rsf-add-subject-to-spam-list)
348 (rsf-add-sender-to-spam-list, rsf-add-region-to-spam-list):
349 * mail/feedmail.el (feedmail-dump-message-to-queue):
350 * eshell/esh-proc.el (eshell-remove-process-entry):
351 * emulation/ws-mode.el (ws-last-error):
352 * emulation/viper-macs.el (ex-map-read-args, ex-unmap-read-args)
353 (viper-record-kbd-macro):
354 * emulation/viper-ex.el (ex-pwd, viper-info-on-file):
355 * emacs-lisp/lisp-mnt.el (lm-report-bug):
356 * emacs-lisp/find-func.el (find-function-noselect):
357 * calendar/timeclock.el (timeclock-status-string)
358 (timeclock-workday-remaining-string, timeclock-workday-elapsed-string)
359 (timeclock-when-to-leave-string):
360 * calendar/icalendar.el (icalendar--convert-ical-to-diary):
361 * calc/calc-units.el (calc-enter-units-table):
362 * calc/calc-mode.el (calc-mode-record-mode):
363 * woman.el (woman-mini-help):
364 * wdired.el (wdired-change-to-wdired-mode):
365 * vc.el (vc-retrieve-snapshot):
366 * strokes.el (strokes-read-stroke, strokes-read-complex-stroke):
367 * startup.el (display-startup-echo-area-message):
368 * simple.el (set-goal-column):
369 * ses.el (ses-command-hook, ses-recalculate-cell):
370 * server.el (server-process-filter):
371 * printing.el (pr-interface-txt-print, pr-interface-printify)
372 (pr-interface-ps):
373 * pcvs.el (cvs-help):
374 * log-edit.el (log-edit, log-edit-mode-help):
375 * iswitchb.el (iswitchb-possible-new-buffer):
376 * isearch.el (isearch-edit-string):
377 * image-mode.el (image-mode, image-minor-mode):
378 * ibuf-macs.el (define-ibuffer-filter):
379 * hi-lock.el (hi-lock-find-patterns):
380 * files.el (toggle-read-only):
381 * ediff-util.el (ediff-copy-diff)
382 (ediff-write-merge-buffer-and-maybe-kill):
383 * echistory.el (Electric-history-undefined):
384 * dnd.el (dnd-insert-text):
385 * dired-aux.el (dired-query):
386 * desktop.el (desktop-restore-file-buffer, desktop-lazy-create-buffer):
387 * bookmark.el (bookmark-bmenu-locate):
388 * obsolete/fast-lock.el (@top-level) <with-temp-message macro>:
389 Fix `message' calls to ensure first arg is a format string.
390 The change was made only when these two conditions were satisfied:
391 [1] when there is a possibility that the arguments would cause an error
392 for example, if the code in question relies on external variables
393 such as filenames, and
394 [2] if the arg to `message' could not have been nil in the code.
190 395
191 * pcomplete.el (pcomplete--help): Fix `message' format spec. 396 * pcomplete.el (pcomplete--help): Fix `message' format spec.
192 Not having a %s would be weird, though not technically wrong. 397 Not having a %s would be weird, though not technically wrong.
diff --git a/lisp/calc/calc-prog.el b/lisp/calc/calc-prog.el
index b44d8d256a5..2bbbbcceee5 100644
--- a/lisp/calc/calc-prog.el
+++ b/lisp/calc/calc-prog.el
@@ -197,7 +197,7 @@
197 (progn 197 (progn
198 (setq cmd-base-default (concat "User-" keyname)) 198 (setq cmd-base-default (concat "User-" keyname))
199 (setq cmd (completing-read 199 (setq cmd (completing-read
200 (concat "Define M-x command name (default: calc-" 200 (concat "Define M-x command name (default calc-"
201 cmd-base-default 201 cmd-base-default
202 "): ") 202 "): ")
203 obarray 'commandp nil 203 obarray 'commandp nil
@@ -233,7 +233,7 @@
233 (setq func 233 (setq func
234 (concat "calcFunc-" 234 (concat "calcFunc-"
235 (completing-read 235 (completing-read
236 (concat "Define algebraic function name (default: " 236 (concat "Define algebraic function name (default "
237 cmd-base-default "): ") 237 cmd-base-default "): ")
238 (mapcar (lambda (x) (substring x 9)) 238 (mapcar (lambda (x) (substring x 9))
239 (all-completions "calcFunc-" 239 (all-completions "calcFunc-"
diff --git a/lisp/calc/calc-store.el b/lisp/calc/calc-store.el
index 1410b7d6651..82c7077ba91 100644
--- a/lisp/calc/calc-store.el
+++ b/lisp/calc/calc-store.el
@@ -430,7 +430,7 @@
430 (calc-wrapper 430 (calc-wrapper
431 (or var (setq var (calc-read-var-name 431 (or var (setq var (calc-read-var-name
432 (if calc-last-edited-variable 432 (if calc-last-edited-variable
433 (format "Edit: (default %s) " 433 (format "Edit (default %s): "
434 (calc-var-name calc-last-edited-variable)) 434 (calc-var-name calc-last-edited-variable))
435 "Edit: ")))) 435 "Edit: "))))
436 (or var (setq var calc-last-edited-variable)) 436 (or var (setq var calc-last-edited-variable))
@@ -587,7 +587,7 @@
587(defun calc-permanent-variable (&optional var) 587(defun calc-permanent-variable (&optional var)
588 (interactive) 588 (interactive)
589 (calc-wrapper 589 (calc-wrapper
590 (or var (setq var (calc-read-var-name "Save variable (default=all): "))) 590 (or var (setq var (calc-read-var-name "Save variable (default all): ")))
591 (let (calc-pv-pos) 591 (let (calc-pv-pos)
592 (and var (or (and (boundp var) (symbol-value var)) 592 (and var (or (and (boundp var) (symbol-value var))
593 (error "No such variable"))) 593 (error "No such variable")))
diff --git a/lisp/calc/calcalg3.el b/lisp/calc/calcalg3.el
index 0aef3ba55af..d5ef567866f 100644
--- a/lisp/calc/calcalg3.el
+++ b/lisp/calc/calcalg3.el
@@ -370,7 +370,7 @@
370 (setq defv (calc-invent-independent-variables nv))) 370 (setq defv (calc-invent-independent-variables nv)))
371 (or defc 371 (or defc
372 (setq defc (calc-invent-parameter-variables nc defv))) 372 (setq defc (calc-invent-parameter-variables nc defv)))
373 (let ((vars (read-string (format "Fitting variables: (default %s; %s) " 373 (let ((vars (read-string (format "Fitting variables (default %s; %s): "
374 (mapconcat 'symbol-name 374 (mapconcat 'symbol-name
375 (mapcar (function (lambda (v) 375 (mapcar (function (lambda (v)
376 (nth 1 v))) 376 (nth 1 v)))
diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el
index 2d2e5256977..ec70c8c6c35 100644
--- a/lisp/calendar/calendar.el
+++ b/lisp/calendar/calendar.el
@@ -2900,43 +2900,50 @@ interpreted as BC; -1 being 1 BC, and so on."
2900MARK is a single-character string, a list of face attributes/values, or a face. 2900MARK is a single-character string, a list of face attributes/values, or a face.
2901MARK defaults to `diary-entry-marker'." 2901MARK defaults to `diary-entry-marker'."
2902 (if (calendar-date-is-legal-p date) 2902 (if (calendar-date-is-legal-p date)
2903 (save-excursion 2903 (with-current-buffer calendar-buffer
2904 (set-buffer calendar-buffer) 2904 (save-excursion
2905 (calendar-cursor-to-visible-date date) 2905 (calendar-cursor-to-visible-date date)
2906 (let ((mark (or (and (stringp mark) (= (length mark) 1) mark) ; single-char 2906 (setq mark
2907 (and (listp mark) (> (length mark) 0) mark) ; attr list 2907 (or (and (stringp mark) (= (length mark) 1) mark) ; single-char
2908 (and (facep mark) mark) ; face-name 2908 (and (listp mark) (> (length mark) 0) mark) ; attr list
2909 diary-entry-marker))) 2909 (and (facep mark) mark) ; face-name
2910 (if (facep mark) 2910 diary-entry-marker))
2911 (progn ; face or an attr-list that contained a face 2911 (cond
2912 (overlay-put 2912 ;; face or an attr-list that contained a face
2913 (make-overlay (1- (point)) (1+ (point))) 'face mark)) 2913 ((facep mark)
2914 (if (and (stringp mark) 2914 (overlay-put
2915 (= (length mark) 1)) ; single-char 2915 (make-overlay (1- (point)) (1+ (point))) 'face mark))
2916 (let ((buffer-read-only nil)) 2916 ;; single-char
2917 (forward-char 1) 2917 ((and (stringp mark) (= (length mark) 1))
2918 (delete-char 1) 2918 (let ((inhibit-read-only t))
2919 (insert mark) 2919 (forward-char 1)
2920 (forward-char -2)) 2920 ;; Insert before delete so as to better preserve markers.
2921 (let ; attr list 2921 (insert mark)
2922 ((temp-face 2922 (delete-char 1)
2923 (make-symbol (apply 'concat "temp-" 2923 (forward-char -2)))
2924 (mapcar '(lambda (sym) 2924 (t ;; attr list
2925 (cond ((symbolp sym) (symbol-name sym)) 2925 (let ((temp-face
2926 ((numberp sym) (int-to-string sym)) 2926 (make-symbol
2927 (t sym))) mark)))) 2927 (apply 'concat "temp-"
2928 (faceinfo mark)) 2928 (mapcar (lambda (sym)
2929 (make-face temp-face) 2929 (cond
2930 ;; Remove :face info from the mark, copy the face info into temp-face 2930 ((symbolp sym) (symbol-name sym))
2931 (while (setq faceinfo (memq :face faceinfo)) 2931 ((numberp sym) (number-to-string sym))
2932 (copy-face (read (nth 1 faceinfo)) temp-face) 2932 (t sym)))
2933 (setcar faceinfo nil) 2933 mark))))
2934 (setcar (cdr faceinfo) nil)) 2934 (faceinfo mark))
2935 (setq mark (delq nil mark)) 2935 (make-face temp-face)
2936 ;; Apply the font aspects 2936 ;; Remove :face info from the mark, copy the face info into
2937 (apply 'set-face-attribute temp-face nil mark) 2937 ;; temp-face
2938 (overlay-put 2938 (while (setq faceinfo (memq :face faceinfo))
2939 (make-overlay (1- (point)) (1+ (point))) 'face temp-face)))))))) 2939 (copy-face (read (nth 1 faceinfo)) temp-face)
2940 (setcar faceinfo nil)
2941 (setcar (cdr faceinfo) nil))
2942 (setq mark (delq nil mark))
2943 ;; Apply the font aspects
2944 (apply 'set-face-attribute temp-face nil mark)
2945 (overlay-put
2946 (make-overlay (1- (point)) (1+ (point))) 'face temp-face))))))))
2940 2947
2941(defun calendar-star-date () 2948(defun calendar-star-date ()
2942 "Replace the date under the cursor in the calendar window with asterisks. 2949 "Replace the date under the cursor in the calendar window with asterisks.
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el
index b748d15e41c..3b634caaa9c 100644
--- a/lisp/calendar/diary-lib.el
+++ b/lisp/calendar/diary-lib.el
@@ -864,8 +864,8 @@ diary entries."
864 (redraw-calendar)) 864 (redraw-calendar))
865 (let ((marking-diary-entries t) 865 (let ((marking-diary-entries t)
866 file-glob-attrs marks) 866 file-glob-attrs marks)
867 (save-excursion 867 (with-current-buffer (find-file-noselect (diary-check-diary-file) t)
868 (with-current-buffer (find-file-noselect (diary-check-diary-file) t) 868 (save-excursion
869 (setq mark-diary-entries-in-calendar t) 869 (setq mark-diary-entries-in-calendar t)
870 (message "Marking diary entries...") 870 (message "Marking diary entries...")
871 (setq file-glob-attrs (nth 1 (diary-pull-attrs nil '()))) 871 (setq file-glob-attrs (nth 1 (diary-pull-attrs nil '())))
diff --git a/lisp/calendar/timeclock.el b/lisp/calendar/timeclock.el
index afa7b0e87d9..f2ee3f3a048 100644
--- a/lisp/calendar/timeclock.el
+++ b/lisp/calendar/timeclock.el
@@ -599,7 +599,7 @@ relative only to the time worked today, and not to past time."
599(defun timeclock-ask-for-project () 599(defun timeclock-ask-for-project ()
600 "Ask the user for the project they are clocking into." 600 "Ask the user for the project they are clocking into."
601 (timeclock-completing-read 601 (timeclock-completing-read
602 (format "Clock into which project (default \"%s\"): " 602 (format "Clock into which project (default %s): "
603 (or timeclock-last-project 603 (or timeclock-last-project
604 (car timeclock-project-list))) 604 (car timeclock-project-list)))
605 (mapcar 'list timeclock-project-list) 605 (mapcar 'list timeclock-project-list)
diff --git a/lisp/completion.el b/lisp/completion.el
index 4b0f6cac9a6..12df9a52714 100644
--- a/lisp/completion.el
+++ b/lisp/completion.el
@@ -1343,7 +1343,7 @@ String must be longer than `completion-prefix-min-length'."
1343 (let* ((default (symbol-under-or-before-point)) 1343 (let* ((default (symbol-under-or-before-point))
1344 (new-prompt 1344 (new-prompt
1345 (if default 1345 (if default
1346 (format "%s: (default: %s) " prompt default) 1346 (format "%s (default %s): " prompt default)
1347 (format "%s: " prompt))) 1347 (format "%s: " prompt)))
1348 (read (completing-read new-prompt cmpl-obarray))) 1348 (read (completing-read new-prompt cmpl-obarray)))
1349 (if (zerop (length read)) (setq read (or default ""))) 1349 (if (zerop (length read)) (setq read (or default "")))
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index 9827ab7d594..eb6656a426d 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -495,7 +495,7 @@ Return a list suitable for use in `interactive'."
495 val) 495 val)
496 (setq val (completing-read 496 (setq val (completing-read
497 (if (and (symbolp v) (custom-variable-p v)) 497 (if (and (symbolp v) (custom-variable-p v))
498 (format "Customize option: (default %s) " v) 498 (format "Customize option (default %s): " v)
499 "Customize option: ") 499 "Customize option: ")
500 obarray 'custom-variable-p t)) 500 obarray 'custom-variable-p t))
501 (list (if (equal val "") 501 (list (if (equal val "")
@@ -967,7 +967,7 @@ then prompt for the MODE to customize."
967(defun customize-group (group) 967(defun customize-group (group)
968 "Customize GROUP, which must be a customization group." 968 "Customize GROUP, which must be a customization group."
969 (interactive (list (let ((completion-ignore-case t)) 969 (interactive (list (let ((completion-ignore-case t))
970 (completing-read "Customize group: (default emacs) " 970 (completing-read "Customize group (default emacs): "
971 obarray 971 obarray
972 (lambda (symbol) 972 (lambda (symbol)
973 (or (get symbol 'custom-loads) 973 (or (get symbol 'custom-loads)
@@ -990,7 +990,7 @@ then prompt for the MODE to customize."
990(defun customize-group-other-window (group) 990(defun customize-group-other-window (group)
991 "Customize GROUP, which must be a customization group." 991 "Customize GROUP, which must be a customization group."
992 (interactive (list (let ((completion-ignore-case t)) 992 (interactive (list (let ((completion-ignore-case t))
993 (completing-read "Customize group: (default emacs) " 993 (completing-read "Customize group (default emacs): "
994 obarray 994 obarray
995 (lambda (symbol) 995 (lambda (symbol)
996 (or (get symbol 'custom-loads) 996 (or (get symbol 'custom-loads)
diff --git a/lisp/diff.el b/lisp/diff.el
index 7602ecb0e37..8c4332b2da2 100644
--- a/lisp/diff.el
+++ b/lisp/diff.el
@@ -83,15 +83,15 @@ With prefix arg, prompt for diff switches."
83 (setq newf (buffer-file-name) 83 (setq newf (buffer-file-name)
84 newf (if (and newf (file-exists-p newf)) 84 newf (if (and newf (file-exists-p newf))
85 (read-file-name 85 (read-file-name
86 (concat "Diff new file: (default " 86 (concat "Diff new file (default "
87 (file-name-nondirectory newf) ") ") 87 (file-name-nondirectory newf) "): ")
88 nil newf t) 88 nil newf t)
89 (read-file-name "Diff new file: " nil nil t))) 89 (read-file-name "Diff new file: " nil nil t)))
90 (setq oldf (file-newest-backup newf) 90 (setq oldf (file-newest-backup newf)
91 oldf (if (and oldf (file-exists-p oldf)) 91 oldf (if (and oldf (file-exists-p oldf))
92 (read-file-name 92 (read-file-name
93 (concat "Diff original file: (default " 93 (concat "Diff original file (default "
94 (file-name-nondirectory oldf) ") ") 94 (file-name-nondirectory oldf) "): ")
95 (file-name-directory oldf) oldf t) 95 (file-name-directory oldf) oldf t)
96 (read-file-name "Diff original file: " 96 (read-file-name "Diff original file: "
97 (file-name-directory newf) nil t))) 97 (file-name-directory newf) nil t)))
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index 6426c6daf58..f946199bbd6 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -59,10 +59,10 @@ With prefix arg, prompt for second argument SWITCHES,
59 (save-excursion (goto-char (mark t)) 59 (save-excursion (goto-char (mark t))
60 (dired-get-filename t t))))) 60 (dired-get-filename t t)))))
61 (require 'diff) 61 (require 'diff)
62 (list (read-file-name (format "Diff %s with: %s" 62 (list (read-file-name (format "Diff %s with%s: "
63 (dired-get-filename t) 63 (dired-get-filename t)
64 (if default 64 (if default
65 (concat "(default " default ") ") 65 (concat " (default " default ")")
66 "")) 66 ""))
67 (if default 67 (if default
68 (dired-current-directory) 68 (dired-current-directory)
@@ -1147,7 +1147,7 @@ Special value `always' suppresses confirmation."
1147 (if (and recursive 1147 (if (and recursive
1148 (eq t (car attrs)) 1148 (eq t (car attrs))
1149 (or (eq recursive 'always) 1149 (or (eq recursive 'always)
1150 (yes-or-no-p (format "Recursive copies of %s " from)))) 1150 (yes-or-no-p (format "Recursive copies of %s? " from))))
1151 ;; This is a directory. 1151 ;; This is a directory.
1152 (let ((files (directory-files from nil dired-re-no-dot))) 1152 (let ((files (directory-files from nil dired-re-no-dot)))
1153 (if (eq recursive 'top) (setq recursive 'always)) ; Don't ask any more. 1153 (if (eq recursive 'top) (setq recursive 'always)) ; Don't ask any more.
diff --git a/lisp/dired.el b/lisp/dired.el
index e06e808e1ae..3934fe4e433 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -2379,7 +2379,7 @@ Anything else, ask for each sub-directory."
2379 (setq files 2379 (setq files
2380 (directory-files file t dired-re-no-dot)) ; Not empty. 2380 (directory-files file t dired-re-no-dot)) ; Not empty.
2381 (or (eq recursive 'always) 2381 (or (eq recursive 'always)
2382 (yes-or-no-p (format "Recursive delete of %s " 2382 (yes-or-no-p (format "Recursive delete of %s? "
2383 (dired-make-relative file))))) 2383 (dired-make-relative file)))))
2384 (if (eq recursive 'top) (setq recursive 'always)) ; Don't ask again. 2384 (if (eq recursive 'top) (setq recursive 'always)) ; Don't ask again.
2385 (while files ; Recursively delete (possibly asking). 2385 (while files ; Recursively delete (possibly asking).
diff --git a/lisp/ediff-mult.el b/lisp/ediff-mult.el
index 2c192c133e2..436c1817edf 100644
--- a/lisp/ediff-mult.el
+++ b/lisp/ediff-mult.el
@@ -1314,7 +1314,7 @@ Useful commands:
1314 (if otherfile 1314 (if otherfile
1315 (or (file-exists-p otherfile) 1315 (or (file-exists-p otherfile)
1316 (if (y-or-n-p 1316 (if (y-or-n-p
1317 (format "Copy %s to %s ? " file-abs otherfile)) 1317 (format "Copy %s to %s? " file-abs otherfile))
1318 (let* ((file-diff-record (assoc file-tail dir-diff-list)) 1318 (let* ((file-diff-record (assoc file-tail dir-diff-list))
1319 (new-mem-code 1319 (new-mem-code
1320 (* (cdr file-diff-record) file-mem-code))) 1320 (* (cdr file-diff-record) file-mem-code)))
diff --git a/lisp/ediff-ptch.el b/lisp/ediff-ptch.el
index df781e92b5b..ec0e26e7d5c 100644
--- a/lisp/ediff-ptch.el
+++ b/lisp/ediff-ptch.el
@@ -163,10 +163,16 @@ program."
163;; strip prefix from filename 163;; strip prefix from filename
164;; returns /dev/null, if can't strip prefix 164;; returns /dev/null, if can't strip prefix
165(defsubst ediff-file-name-sans-prefix (filename prefix) 165(defsubst ediff-file-name-sans-prefix (filename prefix)
166 (save-match-data 166 (if prefix
167 (if (string-match (concat "^" (regexp-quote prefix)) filename) 167 (save-match-data
168 (substring filename (match-end 0)) 168 (if (string-match (concat "^" (if (stringp prefix)
169 (concat "/null/" filename)))) 169 (regexp-quote prefix)
170 ""))
171 filename)
172 (substring filename (match-end 0))
173 (concat "/null/" filename)))
174 filename)
175 )
170 176
171 177
172 178
@@ -260,11 +266,14 @@ program."
260 count))) 266 count)))
261 267
262;; Fix up the file names in the list using the argument FILENAME 268;; Fix up the file names in the list using the argument FILENAME
263;; Algorithm: find the first file's directory and cut it out from each file 269;; Algorithm: find the files' directories in the patch and, if a directory is
264;; name in the patch. Prepend the directory of FILENAME to each file in the 270;; absolute, cut it out from the corresponding file name in the patch.
265;; patch. In addition, the first file in the patch is replaced by FILENAME. 271;; Relative directories are not cut out.
266;; Each file is actually a file-pair of files found in the context diff header 272;; Prepend the directory of FILENAME to each resulting file (which came
267;; In the end, for each pair, we select the shortest existing file. 273;; originally from the patch).
274;; In addition, the first file in the patch document is replaced by FILENAME.
275;; Each file is actually a pair of files found in the context diff header
276;; In the end, for each pair, we ask the user which file to patch.
268;; Note: Ediff doesn't recognize multi-file patches that are separated 277;; Note: Ediff doesn't recognize multi-file patches that are separated
269;; with the `Index:' line. It treats them as a single-file patch. 278;; with the `Index:' line. It treats them as a single-file patch.
270;; 279;;
@@ -275,30 +284,41 @@ program."
275 ;; directory part of filename 284 ;; directory part of filename
276 (file-name-as-directory filename) 285 (file-name-as-directory filename)
277 (file-name-directory filename))) 286 (file-name-directory filename)))
278 ;; Filename-spec is objA; at this point it is represented as 287 ;; In case 2 files are possible patch targets, the user will be offered
279 ;; (file1 . file2). We get it using ediff-get-session-objA 288 ;; to choose file1 or file2. In a multifile patch, if the user chooses
280 ;; directory part of the first file in the patch 289 ;; 1 or 2, this choice is preserved to decide future alternatives.
281 (base-dir1 (file-name-directory 290 chosen-alternative
282 (car (ediff-get-session-objA-name (car ediff-patch-map)))))
283 ;; directory part of the 2nd file in the patch
284 (base-dir2 (file-name-directory
285 (cdr (ediff-get-session-objA-name (car ediff-patch-map)))))
286 ) 291 )
287 292
288 ;; chop off base-dirs 293 ;; chop off base-dirs
289 (mapcar (lambda (session-info) 294 (mapcar (lambda (session-info)
290 (let ((proposed-file-names 295 (let* ((proposed-file-names
291 (ediff-get-session-objA-name session-info))) 296 ;; Filename-spec is objA; it is represented as
297 ;; (file1 . file2). Get it using ediff-get-session-objA.
298 (ediff-get-session-objA-name session-info))
299 ;; base-dir1 is the dir part of the 1st file in the patch
300 (base-dir1 (file-name-directory (car proposed-file-names)))
301 ;; directory part of the 2nd file in the patch
302 (base-dir2 (file-name-directory (cdr proposed-file-names)))
303 )
304 ;; If both base-dir1 and base-dir2 are relative, assume that
305 ;; these dirs lead to the actual files starting at the present
306 ;; directory. So, we don't strip these relative dirs from the
307 ;; file names. This is a heuristic intended to improve guessing
308 (unless (or (file-name-absolute-p base-dir1)
309 (file-name-absolute-p base-dir2))
310 (setq base-dir1 ""
311 base-dir2 ""))
292 (or (string= (car proposed-file-names) "/dev/null") 312 (or (string= (car proposed-file-names) "/dev/null")
293 (setcar proposed-file-names 313 (setcar proposed-file-names
294 (ediff-file-name-sans-prefix 314 (ediff-file-name-sans-prefix
295 (car proposed-file-names) base-dir1))) 315 (car proposed-file-names) base-dir1)))
296 (or (string= 316 (or (string=
297 (cdr proposed-file-names) "/dev/null") 317 (cdr proposed-file-names) "/dev/null")
298 (setcdr proposed-file-names 318 (setcdr proposed-file-names
299 (ediff-file-name-sans-prefix 319 (ediff-file-name-sans-prefix
300 (cdr proposed-file-names) base-dir2))) 320 (cdr proposed-file-names) base-dir2)))
301 )) 321 ))
302 ediff-patch-map) 322 ediff-patch-map)
303 323
304 ;; take the given file name into account 324 ;; take the given file name into account
@@ -314,8 +334,8 @@ program."
314 (ediff-get-session-objA-name session-info))) 334 (ediff-get-session-objA-name session-info)))
315 (if (and (string-match "^/null/" (car proposed-file-names)) 335 (if (and (string-match "^/null/" (car proposed-file-names))
316 (string-match "^/null/" (cdr proposed-file-names))) 336 (string-match "^/null/" (cdr proposed-file-names)))
317 ;; couldn't strip base-dir1 and base-dir2 337 ;; couldn't intuit the file name to patch, so
318 ;; hence, something is wrong 338 ;; something is amiss
319 (progn 339 (progn
320 (with-output-to-temp-buffer ediff-msg-buffer 340 (with-output-to-temp-buffer ediff-msg-buffer
321 (ediff-with-current-buffer standard-output 341 (ediff-with-current-buffer standard-output
@@ -367,17 +387,29 @@ other files, enter /dev/null
367 (f1-exists (file-exists-p file1)) 387 (f1-exists (file-exists-p file1))
368 (f2-exists (file-exists-p file2))) 388 (f2-exists (file-exists-p file2)))
369 (cond 389 (cond
370 ((and (< (length file2) (length file1)) 390 ((and
371 f2-exists) 391 ;; The patch program prefers the shortest file as the patch
392 ;; target. However, this is a questionable heuristic. In an
393 ;; interactive program, like ediff, we can offer the user a
394 ;; choice.
395 ;; (< (length file2) (length file1))
396 (not f1-exists)
397 f2-exists)
372 ;; replace file-pair with the winning file2 398 ;; replace file-pair with the winning file2
373 (setcar session-file-object file2)) 399 (setcar session-file-object file2))
374 ((and (< (length file1) (length file2)) 400 ((and
375 f1-exists) 401 ;; (< (length file1) (length file2))
402 (not f2-exists)
403 f1-exists)
376 ;; replace file-pair with the winning file1 404 ;; replace file-pair with the winning file1
377 (setcar session-file-object file1)) 405 (setcar session-file-object file1))
378 ((and f1-exists f2-exists 406 ((and f1-exists f2-exists
379 (string= file1 file2)) 407 (string= file1 file2))
380 (setcar session-file-object file1)) 408 (setcar session-file-object file1))
409 ((and f1-exists f2-exists (eq chosen-alternative 1))
410 (setcar session-file-object file1))
411 ((and f1-exists f2-exists (eq chosen-alternative 2))
412 (setcar session-file-object file2))
381 ((and f1-exists f2-exists) 413 ((and f1-exists f2-exists)
382 (with-output-to-temp-buffer ediff-msg-buffer 414 (with-output-to-temp-buffer ediff-msg-buffer
383 (ediff-with-current-buffer standard-output 415 (ediff-with-current-buffer standard-output
@@ -393,10 +425,15 @@ Please advice:
393 Type `y' to use %s as the target; 425 Type `y' to use %s as the target;
394 Type `n' to use %s as the target. 426 Type `n' to use %s as the target.
395" 427"
396 file1 file2 file2 file1))) 428 file1 file2 file1 file2)))
397 (setcar session-file-object 429 (setcar session-file-object
398 (if (y-or-n-p (format "Use %s ? " file2)) 430 (if (y-or-n-p (format "Use %s ? " file1))
399 file2 file1))) 431 (progn
432 (setq chosen-alternative 1)
433 file1)
434 (setq chosen-alternative 2)
435 file2))
436 )
400 (f2-exists (setcar session-file-object file2)) 437 (f2-exists (setcar session-file-object file2))
401 (f1-exists (setcar session-file-object file1)) 438 (f1-exists (setcar session-file-object file1))
402 (t 439 (t
@@ -407,7 +444,7 @@ Please advice:
407 (if (string= file1 file2) 444 (if (string= file1 file2)
408 (princ (format " 445 (princ (format "
409 %s 446 %s
410is the target for this patch. However, this file does not exist." 447is assumed to be the target for this patch. However, this file does not exist."
411 file1)) 448 file1))
412 (princ (format " 449 (princ (format "
413 %s 450 %s
@@ -441,22 +478,26 @@ are two possible targets for this patch. However, these files do not exist."
441 478
442;; prompt for file, get the buffer 479;; prompt for file, get the buffer
443(defun ediff-prompt-for-patch-file () 480(defun ediff-prompt-for-patch-file ()
444 (let ((dir (cond (ediff-patch-default-directory) ; try patch default dir 481 (let ((dir (cond (ediff-use-last-dir ediff-last-dir-patch)
445 (ediff-use-last-dir ediff-last-dir-patch) 482 (ediff-patch-default-directory) ; try patch default dir
446 (t default-directory))) 483 (t default-directory)))
447 (coding-system-for-read ediff-coding-system-for-read)) 484 (coding-system-for-read ediff-coding-system-for-read)
448 (find-file-noselect 485 patch-file-name)
449 (read-file-name 486 (setq patch-file-name
450 (format "Patch is in file:%s " 487 (read-file-name
451 (cond ((and buffer-file-name 488 (format "Patch is in file%s: "
452 (equal (expand-file-name dir) 489 (cond ((and buffer-file-name
453 (file-name-directory buffer-file-name))) 490 (equal (expand-file-name dir)
454 (concat 491 (file-name-directory buffer-file-name)))
455 " (default " 492 (concat
456 (file-name-nondirectory buffer-file-name) 493 " (default "
457 ")")) 494 (file-name-nondirectory buffer-file-name)
458 (t ""))) 495 ")"))
459 dir buffer-file-name 'must-match)) 496 (t "")))
497 dir buffer-file-name 'must-match))
498 (if (file-directory-p patch-file-name)
499 (error "Patch file cannot be a directory: %s" patch-file-name)
500 (find-file-noselect patch-file-name))
460 )) 501 ))
461 502
462 503
@@ -647,7 +688,7 @@ optional argument, then use it."
647 (ediff-maybe-checkout buf-to-patch) 688 (ediff-maybe-checkout buf-to-patch)
648 689
649 (ediff-with-current-buffer patch-diagnostics 690 (ediff-with-current-buffer patch-diagnostics
650 (insert-buffer patch-buf) 691 (insert-buffer-substring patch-buf)
651 (message "Applying patch ... ") 692 (message "Applying patch ... ")
652 ;; fix environment for gnu patch, so it won't make numbered extensions 693 ;; fix environment for gnu patch, so it won't make numbered extensions
653 (setq backup-style (getenv "VERSION_CONTROL")) 694 (setq backup-style (getenv "VERSION_CONTROL"))
diff --git a/lisp/ediff-util.el b/lisp/ediff-util.el
index a28f9d459ff..9ab24ce5f64 100644
--- a/lisp/ediff-util.el
+++ b/lisp/ediff-util.el
@@ -367,7 +367,7 @@ to invocation.")
367 (ediff-unique-buffer-name "*ediff-merge" "*"))) 367 (ediff-unique-buffer-name "*ediff-merge" "*")))
368 (save-excursion 368 (save-excursion
369 (set-buffer buffer-C) 369 (set-buffer buffer-C)
370 (insert-buffer buf) 370 (insert-buffer-substring buf)
371 (funcall (ediff-with-current-buffer buf major-mode)) 371 (funcall (ediff-with-current-buffer buf major-mode))
372 (widen) ; merge buffer is always widened 372 (widen) ; merge buffer is always widened
373 (add-hook 'local-write-file-hooks 'ediff-set-merge-mode nil t) 373 (add-hook 'local-write-file-hooks 'ediff-set-merge-mode nil t)
@@ -2111,7 +2111,7 @@ ARG is a prefix argument. If nil, copy the current difference region."
2111 (if this-buf-n-th-diff-saved 2111 (if this-buf-n-th-diff-saved
2112 (if (yes-or-no-p 2112 (if (yes-or-no-p
2113 (format 2113 (format
2114 "You've previously copied diff region %d to buffer %S. Confirm " 2114 "You've previously copied diff region %d to buffer %S. Confirm? "
2115 (1+ n) buf-type)) 2115 (1+ n) buf-type))
2116 t 2116 t
2117 (error "Quit")) 2117 (error "Quit"))
@@ -2219,18 +2219,18 @@ a regular expression typed in by the user."
2219 regexp-A 2219 regexp-A
2220 (read-string 2220 (read-string
2221 (format 2221 (format
2222 "Ignore A-regions matching this regexp (default \"%s\"): " 2222 "Ignore A-regions matching this regexp (default %s): "
2223 ediff-regexp-hide-A)) 2223 ediff-regexp-hide-A))
2224 regexp-B 2224 regexp-B
2225 (read-string 2225 (read-string
2226 (format 2226 (format
2227 "Ignore B-regions matching this regexp (default \"%s\"): " 2227 "Ignore B-regions matching this regexp (default %s): "
2228 ediff-regexp-hide-B))) 2228 ediff-regexp-hide-B)))
2229 (if ediff-3way-comparison-job 2229 (if ediff-3way-comparison-job
2230 (setq regexp-C 2230 (setq regexp-C
2231 (read-string 2231 (read-string
2232 (format 2232 (format
2233 "Ignore C-regions matching this regexp (default \"%s\"): " 2233 "Ignore C-regions matching this regexp (default %s): "
2234 ediff-regexp-hide-C)))) 2234 ediff-regexp-hide-C))))
2235 (if (eq ediff-hide-regexp-connective 'and) 2235 (if (eq ediff-hide-regexp-connective 'and)
2236 (setq msg-connective "BOTH" 2236 (setq msg-connective "BOTH"
@@ -2258,18 +2258,18 @@ a regular expression typed in by the user."
2258 regexp-A 2258 regexp-A
2259 (read-string 2259 (read-string
2260 (format 2260 (format
2261 "Focus on A-regions matching this regexp (default \"%s\"): " 2261 "Focus on A-regions matching this regexp (default %s): "
2262 ediff-regexp-focus-A)) 2262 ediff-regexp-focus-A))
2263 regexp-B 2263 regexp-B
2264 (read-string 2264 (read-string
2265 (format 2265 (format
2266 "Focus on B-regions matching this regexp (default \"%s\"): " 2266 "Focus on B-regions matching this regexp (default %s): "
2267 ediff-regexp-focus-B))) 2267 ediff-regexp-focus-B)))
2268 (if ediff-3way-comparison-job 2268 (if ediff-3way-comparison-job
2269 (setq regexp-C 2269 (setq regexp-C
2270 (read-string 2270 (read-string
2271 (format 2271 (format
2272 "Focus on C-regions matching this regexp (default \"%s\"): " 2272 "Focus on C-regions matching this regexp (default %s): "
2273 ediff-regexp-focus-C)))) 2273 ediff-regexp-focus-C))))
2274 (if (eq ediff-focus-regexp-connective 'and) 2274 (if (eq ediff-focus-regexp-connective 'and)
2275 (setq msg-connective "BOTH" 2275 (setq msg-connective "BOTH"
diff --git a/lisp/ediff-vers.el b/lisp/ediff-vers.el
index 9ae720e9bc3..f1f2305de81 100644
--- a/lisp/ediff-vers.el
+++ b/lisp/ediff-vers.el
@@ -299,7 +299,10 @@
299 ((eq type 'MODIFIED) 299 ((eq type 'MODIFIED)
300 (ediff-buffers 300 (ediff-buffers
301 (find-file-noselect tmp-file) 301 (find-file-noselect tmp-file)
302 (find-file-noselect (cvs-fileinfo->full-path fileinfo)) 302 (if (featurep 'xemacs)
303 ;; XEmacs doesn't seem to have cvs-fileinfo->full-name
304 (find-file-noselect (cvs-fileinfo->full-path fileinfo))
305 (find-file-noselect (cvs-fileinfo->full-name fileinfo)))
303 nil ; startup-hooks 306 nil ; startup-hooks
304 'ediff-revisions))) 307 'ediff-revisions)))
305 (if (stringp tmp-file) (delete-file tmp-file)) 308 (if (stringp tmp-file) (delete-file tmp-file))
diff --git a/lisp/ediff.el b/lisp/ediff.el
index 35b28a3e550..8d4bb4d86fe 100644
--- a/lisp/ediff.el
+++ b/lisp/ediff.el
@@ -7,8 +7,8 @@
7;; Created: February 2, 1994 7;; Created: February 2, 1994
8;; Keywords: comparing, merging, patching, tools, unix 8;; Keywords: comparing, merging, patching, tools, unix
9 9
10(defconst ediff-version "2.80" "The current version of Ediff") 10(defconst ediff-version "2.80.1" "The current version of Ediff")
11(defconst ediff-date "July 8, 2005" "Date of last update") 11(defconst ediff-date "September 19, 2005" "Date of last update")
12 12
13 13
14;; This file is part of GNU Emacs. 14;; This file is part of GNU Emacs.
@@ -1261,13 +1261,13 @@ buffer."
1261 (setq rev1 1261 (setq rev1
1262 (read-string 1262 (read-string
1263 (format 1263 (format
1264 "Version 1 to merge (default: %s's working version): " 1264 "Version 1 to merge (default %s's working version): "
1265 (if (stringp file) 1265 (if (stringp file)
1266 (file-name-nondirectory file) "current buffer"))) 1266 (file-name-nondirectory file) "current buffer")))
1267 rev2 1267 rev2
1268 (read-string 1268 (read-string
1269 (format 1269 (format
1270 "Version 2 to merge (default: %s): " 1270 "Version 2 to merge (default %s): "
1271 (if (stringp file) 1271 (if (stringp file)
1272 (file-name-nondirectory file) "current buffer")))) 1272 (file-name-nondirectory file) "current buffer"))))
1273 (ediff-load-version-control) 1273 (ediff-load-version-control)
@@ -1293,19 +1293,19 @@ buffer."
1293 (setq rev1 1293 (setq rev1
1294 (read-string 1294 (read-string
1295 (format 1295 (format
1296 "Version 1 to merge (default: %s's working version): " 1296 "Version 1 to merge (default %s's working version): "
1297 (if (stringp file) 1297 (if (stringp file)
1298 (file-name-nondirectory file) "current buffer"))) 1298 (file-name-nondirectory file) "current buffer")))
1299 rev2 1299 rev2
1300 (read-string 1300 (read-string
1301 (format 1301 (format
1302 "Version 2 to merge (default: %s): " 1302 "Version 2 to merge (default %s): "
1303 (if (stringp file) 1303 (if (stringp file)
1304 (file-name-nondirectory file) "current buffer"))) 1304 (file-name-nondirectory file) "current buffer")))
1305 ancestor-rev 1305 ancestor-rev
1306 (read-string 1306 (read-string
1307 (format 1307 (format
1308 "Ancestor version (default: %s's base revision): " 1308 "Ancestor version (default %s's base revision): "
1309 (if (stringp file) 1309 (if (stringp file)
1310 (file-name-nondirectory file) "current buffer")))) 1310 (file-name-nondirectory file) "current buffer"))))
1311 (ediff-load-version-control) 1311 (ediff-load-version-control)
@@ -1411,11 +1411,11 @@ Uses `vc.el' or `rcs.el' depending on `ediff-version-control-package'."
1411 (let (rev1 rev2) 1411 (let (rev1 rev2)
1412 (setq rev1 1412 (setq rev1
1413 (read-string 1413 (read-string
1414 (format "Revision 1 to compare (default: %s's latest revision): " 1414 (format "Revision 1 to compare (default %s's latest revision): "
1415 (file-name-nondirectory file))) 1415 (file-name-nondirectory file)))
1416 rev2 1416 rev2
1417 (read-string 1417 (read-string
1418 (format "Revision 2 to compare (default: %s's current state): " 1418 (format "Revision 2 to compare (default %s's current state): "
1419 (file-name-nondirectory file)))) 1419 (file-name-nondirectory file))))
1420 (ediff-load-version-control) 1420 (ediff-load-version-control)
1421 (funcall 1421 (funcall
diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el
index 480c838b878..ce727c30d14 100644
--- a/lisp/emacs-lisp/advice.el
+++ b/lisp/emacs-lisp/advice.el
@@ -2218,7 +2218,7 @@ which PREDICATE returns non-nil)."
2218 (let* ((ad-pReDiCaTe predicate) 2218 (let* ((ad-pReDiCaTe predicate)
2219 (function 2219 (function
2220 (completing-read 2220 (completing-read
2221 (format "%s(default %s) " (or prompt "Function: ") default) 2221 (format "%s (default %s): " (or prompt "Function") default)
2222 ad-advised-functions 2222 ad-advised-functions
2223 (if predicate 2223 (if predicate
2224 (function 2224 (function
@@ -2250,7 +2250,7 @@ class of FUNCTION)."
2250 (ad-do-return class))) 2250 (ad-do-return class)))
2251 (error "ad-read-advice-class: `%s' has no advices" function))) 2251 (error "ad-read-advice-class: `%s' has no advices" function)))
2252 (let ((class (completing-read 2252 (let ((class (completing-read
2253 (format "%s(default %s) " (or prompt "Class: ") default) 2253 (format "%s (default %s): " (or prompt "Class") default)
2254 ad-advice-class-completion-table nil t))) 2254 ad-advice-class-completion-table nil t)))
2255 (if (equal class "") 2255 (if (equal class "")
2256 default 2256 default
@@ -2268,7 +2268,7 @@ An optional PROMPT is used to prompt for the name."
2268 (error "ad-read-advice-name: `%s' has no %s advice" 2268 (error "ad-read-advice-name: `%s' has no %s advice"
2269 function class) 2269 function class)
2270 (car (car name-completion-table)))) 2270 (car (car name-completion-table))))
2271 (prompt (format "%s(default %s) " (or prompt "Name: ") default)) 2271 (prompt (format "%s (default %s): " (or prompt "Name") default))
2272 (name (completing-read prompt name-completion-table nil t))) 2272 (name (completing-read prompt name-completion-table nil t)))
2273 (if (equal name "") 2273 (if (equal name "")
2274 (intern default) 2274 (intern default)
@@ -2289,9 +2289,9 @@ be used to prompt for the function."
2289(defun ad-read-regexp (&optional prompt) 2289(defun ad-read-regexp (&optional prompt)
2290 "Read a regular expression from the minibuffer." 2290 "Read a regular expression from the minibuffer."
2291 (let ((regexp (read-from-minibuffer 2291 (let ((regexp (read-from-minibuffer
2292 (concat (or prompt "Regular expression: ") 2292 (concat (or prompt "Regular expression")
2293 (if (equal ad-last-regexp "") "" 2293 (if (equal ad-last-regexp "") ": "
2294 (format "(default \"%s\") " ad-last-regexp)))))) 2294 (format " (default %s): " ad-last-regexp))))))
2295 (setq ad-last-regexp 2295 (setq ad-last-regexp
2296 (if (equal regexp "") ad-last-regexp regexp)))) 2296 (if (equal regexp "") ad-last-regexp regexp))))
2297 2297
@@ -2352,7 +2352,7 @@ FUNCTION was not advised)."
2352 2352
2353(defun ad-enable-advice (function class name) 2353(defun ad-enable-advice (function class name)
2354 "Enables the advice of FUNCTION with CLASS and NAME." 2354 "Enables the advice of FUNCTION with CLASS and NAME."
2355 (interactive (ad-read-advice-specification "Enable advice of: ")) 2355 (interactive (ad-read-advice-specification "Enable advice of"))
2356 (if (ad-is-advised function) 2356 (if (ad-is-advised function)
2357 (if (eq (ad-enable-advice-internal function class name t) 0) 2357 (if (eq (ad-enable-advice-internal function class name t) 0)
2358 (error "ad-enable-advice: `%s' has no %s advice matching `%s'" 2358 (error "ad-enable-advice: `%s' has no %s advice matching `%s'"
@@ -2361,7 +2361,7 @@ FUNCTION was not advised)."
2361 2361
2362(defun ad-disable-advice (function class name) 2362(defun ad-disable-advice (function class name)
2363 "Disable the advice of FUNCTION with CLASS and NAME." 2363 "Disable the advice of FUNCTION with CLASS and NAME."
2364 (interactive (ad-read-advice-specification "Disable advice of: ")) 2364 (interactive (ad-read-advice-specification "Disable advice of"))
2365 (if (ad-is-advised function) 2365 (if (ad-is-advised function)
2366 (if (eq (ad-enable-advice-internal function class name nil) 0) 2366 (if (eq (ad-enable-advice-internal function class name nil) 0)
2367 (error "ad-disable-advice: `%s' has no %s advice matching `%s'" 2367 (error "ad-disable-advice: `%s' has no %s advice matching `%s'"
@@ -2385,7 +2385,7 @@ affected advices will be returned."
2385 "Enables all advices with names that contain a match for REGEXP. 2385 "Enables all advices with names that contain a match for REGEXP.
2386All currently advised functions will be considered." 2386All currently advised functions will be considered."
2387 (interactive 2387 (interactive
2388 (list (ad-read-regexp "Enable advices via regexp: "))) 2388 (list (ad-read-regexp "Enable advices via regexp")))
2389 (let ((matched-advices (ad-enable-regexp-internal regexp 'any t))) 2389 (let ((matched-advices (ad-enable-regexp-internal regexp 'any t)))
2390 (if (interactive-p) 2390 (if (interactive-p)
2391 (message "%d matching advices enabled" matched-advices)) 2391 (message "%d matching advices enabled" matched-advices))
@@ -2395,7 +2395,7 @@ All currently advised functions will be considered."
2395 "Disable all advices with names that contain a match for REGEXP. 2395 "Disable all advices with names that contain a match for REGEXP.
2396All currently advised functions will be considered." 2396All currently advised functions will be considered."
2397 (interactive 2397 (interactive
2398 (list (ad-read-regexp "Disable advices via regexp: "))) 2398 (list (ad-read-regexp "Disable advices via regexp")))
2399 (let ((matched-advices (ad-enable-regexp-internal regexp 'any nil))) 2399 (let ((matched-advices (ad-enable-regexp-internal regexp 'any nil)))
2400 (if (interactive-p) 2400 (if (interactive-p)
2401 (message "%d matching advices disabled" matched-advices)) 2401 (message "%d matching advices disabled" matched-advices))
@@ -2405,7 +2405,7 @@ All currently advised functions will be considered."
2405 "Remove FUNCTION's advice with NAME from its advices in CLASS. 2405 "Remove FUNCTION's advice with NAME from its advices in CLASS.
2406If such an advice was found it will be removed from the list of advices 2406If such an advice was found it will be removed from the list of advices
2407in that CLASS." 2407in that CLASS."
2408 (interactive (ad-read-advice-specification "Remove advice of: ")) 2408 (interactive (ad-read-advice-specification "Remove advice of"))
2409 (if (ad-is-advised function) 2409 (if (ad-is-advised function)
2410 (let* ((advice-to-remove (ad-find-advice function class name))) 2410 (let* ((advice-to-remove (ad-find-advice function class name)))
2411 (if advice-to-remove 2411 (if advice-to-remove
@@ -3285,7 +3285,7 @@ should be modified. The assembled function will be returned."
3285Clear the cache if you want to force `ad-activate' to construct a new 3285Clear the cache if you want to force `ad-activate' to construct a new
3286advised definition from scratch." 3286advised definition from scratch."
3287 (interactive 3287 (interactive
3288 (list (ad-read-advised-function "Clear cached definition of: "))) 3288 (list (ad-read-advised-function "Clear cached definition of")))
3289 (ad-set-advice-info-field function 'cache nil)) 3289 (ad-set-advice-info-field function 'cache nil))
3290 3290
3291(defun ad-make-cache-id (function) 3291(defun ad-make-cache-id (function)
@@ -3602,7 +3602,7 @@ an advised function that has actual pieces of advice but none of them are
3602enabled is equivalent to a call to `ad-deactivate'. The current advised 3602enabled is equivalent to a call to `ad-deactivate'. The current advised
3603definition will always be cached for later usage." 3603definition will always be cached for later usage."
3604 (interactive 3604 (interactive
3605 (list (ad-read-advised-function "Activate advice of: ") 3605 (list (ad-read-advised-function "Activate advice of")
3606 current-prefix-arg)) 3606 current-prefix-arg))
3607 (if ad-activate-on-top-level 3607 (if ad-activate-on-top-level
3608 ;; avoid recursive calls to `ad-activate': 3608 ;; avoid recursive calls to `ad-activate':
@@ -3632,7 +3632,7 @@ definition of FUNCTION will be replaced with it. All the advice
3632information will still be available so it can be activated again with 3632information will still be available so it can be activated again with
3633a call to `ad-activate'." 3633a call to `ad-activate'."
3634 (interactive 3634 (interactive
3635 (list (ad-read-advised-function "Deactivate advice of: " 'ad-is-active))) 3635 (list (ad-read-advised-function "Deactivate advice of" 'ad-is-active)))
3636 (if (not (ad-is-advised function)) 3636 (if (not (ad-is-advised function))
3637 (error "ad-deactivate: `%s' is not advised" function) 3637 (error "ad-deactivate: `%s' is not advised" function)
3638 (cond ((ad-is-active function) 3638 (cond ((ad-is-active function)
@@ -3650,7 +3650,7 @@ a call to `ad-activate'."
3650See `ad-activate' for documentation on the optional COMPILE argument." 3650See `ad-activate' for documentation on the optional COMPILE argument."
3651 (interactive 3651 (interactive
3652 (list (ad-read-advised-function 3652 (list (ad-read-advised-function
3653 "Update advised definition of: " 'ad-is-active))) 3653 "Update advised definition of" 'ad-is-active)))
3654 (if (ad-is-active function) 3654 (if (ad-is-active function)
3655 (ad-activate function compile))) 3655 (ad-activate function compile)))
3656 3656
@@ -3658,7 +3658,7 @@ See `ad-activate' for documentation on the optional COMPILE argument."
3658 "Deactivate FUNCTION and then remove all its advice information. 3658 "Deactivate FUNCTION and then remove all its advice information.
3659If FUNCTION was not advised this will be a noop." 3659If FUNCTION was not advised this will be a noop."
3660 (interactive 3660 (interactive
3661 (list (ad-read-advised-function "Unadvise function: "))) 3661 (list (ad-read-advised-function "Unadvise function")))
3662 (cond ((ad-is-advised function) 3662 (cond ((ad-is-advised function)
3663 (if (ad-is-active function) 3663 (if (ad-is-active function)
3664 (ad-deactivate function)) 3664 (ad-deactivate function))
@@ -3689,7 +3689,7 @@ This activates the advice for each function
3689that has at least one piece of advice whose name includes a match for REGEXP. 3689that has at least one piece of advice whose name includes a match for REGEXP.
3690See `ad-activate' for documentation on the optional COMPILE argument." 3690See `ad-activate' for documentation on the optional COMPILE argument."
3691 (interactive 3691 (interactive
3692 (list (ad-read-regexp "Activate via advice regexp: ") 3692 (list (ad-read-regexp "Activate via advice regexp")
3693 current-prefix-arg)) 3693 current-prefix-arg))
3694 (ad-do-advised-functions (function) 3694 (ad-do-advised-functions (function)
3695 (if (ad-find-some-advice function 'any regexp) 3695 (if (ad-find-some-advice function 'any regexp)
@@ -3700,7 +3700,7 @@ See `ad-activate' for documentation on the optional COMPILE argument."
3700This deactivates the advice for each function 3700This deactivates the advice for each function
3701that has at least one piece of advice whose name includes a match for REGEXP." 3701that has at least one piece of advice whose name includes a match for REGEXP."
3702 (interactive 3702 (interactive
3703 (list (ad-read-regexp "Deactivate via advice regexp: "))) 3703 (list (ad-read-regexp "Deactivate via advice regexp")))
3704 (ad-do-advised-functions (function) 3704 (ad-do-advised-functions (function)
3705 (if (ad-find-some-advice function 'any regexp) 3705 (if (ad-find-some-advice function 'any regexp)
3706 (ad-deactivate function)))) 3706 (ad-deactivate function))))
@@ -3711,7 +3711,7 @@ This reactivates the advice for each function
3711that has at least one piece of advice whose name includes a match for REGEXP. 3711that has at least one piece of advice whose name includes a match for REGEXP.
3712See `ad-activate' for documentation on the optional COMPILE argument." 3712See `ad-activate' for documentation on the optional COMPILE argument."
3713 (interactive 3713 (interactive
3714 (list (ad-read-regexp "Update via advice regexp: ") 3714 (list (ad-read-regexp "Update via advice regexp")
3715 current-prefix-arg)) 3715 current-prefix-arg))
3716 (ad-do-advised-functions (function) 3716 (ad-do-advised-functions (function)
3717 (if (ad-find-some-advice function 'any regexp) 3717 (if (ad-find-some-advice function 'any regexp)
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index 913ffcf1941..bab50a1c822 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -1585,7 +1585,7 @@ mouse-[0-3]\\)\\)\\>"))
1585 ;; a prefix. 1585 ;; a prefix.
1586 (let ((disambiguate 1586 (let ((disambiguate
1587 (completing-read 1587 (completing-read
1588 "Disambiguating Keyword (default: variable): " 1588 "Disambiguating Keyword (default variable): "
1589 '(("function") ("command") ("variable") 1589 '(("function") ("command") ("variable")
1590 ("option") ("symbol")) 1590 ("option") ("symbol"))
1591 nil t nil nil "variable"))) 1591 nil t nil nil "variable")))
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
index 58b12376b05..2b47b139759 100644
--- a/lisp/emacs-lisp/debug.el
+++ b/lisp/emacs-lisp/debug.el
@@ -754,7 +754,7 @@ To specify a nil argument interactively, exit with an empty minibuffer."
754 (interactive 754 (interactive
755 (list (let ((name 755 (list (let ((name
756 (completing-read 756 (completing-read
757 "Cancel debug on entry to function (default: all functions): " 757 "Cancel debug on entry to function (default all functions): "
758 (mapcar 'symbol-name debug-function-list) nil t))) 758 (mapcar 'symbol-name debug-function-list) nil t)))
759 (when name 759 (when name
760 (unless (string= name "") 760 (unless (string= name "")
diff --git a/lisp/emulation/vip.el b/lisp/emulation/vip.el
index 51fbdb6b8c4..b07c634d9b4 100644
--- a/lisp/emulation/vip.el
+++ b/lisp/emulation/vip.el
@@ -893,7 +893,7 @@ is the name of the register for COM."
893each line in the region." 893each line in the region."
894 (setq vip-quote-string 894 (setq vip-quote-string
895 (let ((str 895 (let ((str
896 (vip-read-string (format "quote string \(default \"%s\"\): " 896 (vip-read-string (format "quote string (default %s): "
897 vip-quote-string)))) 897 vip-quote-string))))
898 (if (string= str "") vip-quote-string str))) 898 (if (string= str "") vip-quote-string str)))
899 (vip-enlarge-region (point) (mark)) 899 (vip-enlarge-region (point) (mark))
diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el
index 99a130e7f1d..398c47d4784 100644
--- a/lisp/emulation/viper-cmd.el
+++ b/lisp/emulation/viper-cmd.el
@@ -358,7 +358,7 @@
358 'viper-insertion-ring)) 358 'viper-insertion-ring))
359 359
360 (if viper-ESC-moves-cursor-back 360 (if viper-ESC-moves-cursor-back
361 (or (bolp) (backward-char 1)))) 361 (or (bolp) (viper-beginning-of-field) (backward-char 1))))
362 )) 362 ))
363 363
364 ;; insert or replace 364 ;; insert or replace
@@ -1996,7 +1996,8 @@ Undo previous insertion and inserts new."
1996;;; Minibuffer business 1996;;; Minibuffer business
1997 1997
1998(defsubst viper-set-minibuffer-style () 1998(defsubst viper-set-minibuffer-style ()
1999 (add-hook 'minibuffer-setup-hook 'viper-minibuffer-setup-sentinel)) 1999 (add-hook 'minibuffer-setup-hook 'viper-minibuffer-setup-sentinel)
2000 (add-hook 'post-command-hook 'viper-minibuffer-post-command-hook))
2000 2001
2001 2002
2002(defun viper-minibuffer-setup-sentinel () 2003(defun viper-minibuffer-setup-sentinel ()
@@ -2039,6 +2040,11 @@ Undo previous insertion and inserts new."
2039 (minibuffer-prompt-end) 2040 (minibuffer-prompt-end)
2040 (point-min))) 2041 (point-min)))
2041 2042
2043(defun viper-minibuffer-post-command-hook()
2044 (when (active-minibuffer-window)
2045 (when (< (point) (viper-minibuffer-real-start))
2046 (goto-char (viper-minibuffer-real-start)))))
2047
2042 2048
2043;; Interpret last event in the local map first; if fails, use exit-minibuffer. 2049;; Interpret last event in the local map first; if fails, use exit-minibuffer.
2044;; Run viper-minibuffer-exit-hook before exiting. 2050;; Run viper-minibuffer-exit-hook before exiting.
@@ -2154,7 +2160,7 @@ problems."
2154 (setq keymap (or keymap minibuffer-local-map) 2160 (setq keymap (or keymap minibuffer-local-map)
2155 initial (or initial "") 2161 initial (or initial "")
2156 temp-msg (if default 2162 temp-msg (if default
2157 (format "(default: %s) " default) 2163 (format "(default %s) " default)
2158 "")) 2164 ""))
2159 2165
2160 (setq viper-incomplete-ex-cmd nil) 2166 (setq viper-incomplete-ex-cmd nil)
@@ -2570,7 +2576,7 @@ These keys are ESC, RET, and LineFeed"
2570 ;; last line of buffer when this line has no \n. 2576 ;; last line of buffer when this line has no \n.
2571 (viper-add-newline-at-eob-if-necessary) 2577 (viper-add-newline-at-eob-if-necessary)
2572 (viper-execute-com 'viper-line val com)) 2578 (viper-execute-com 'viper-line val com))
2573 (if (and (eobp) (not (bobp))) (forward-line -1)) 2579 (if (and (eobp) (bolp) (not (bobp))) (forward-line -1))
2574 ) 2580 )
2575 2581
2576(defun viper-yank-line (arg) 2582(defun viper-yank-line (arg)
diff --git a/lisp/emulation/viper-init.el b/lisp/emulation/viper-init.el
index 9c1df1b0ad5..8aa7e4649d4 100644
--- a/lisp/emulation/viper-init.el
+++ b/lisp/emulation/viper-init.el
@@ -115,6 +115,11 @@ In all likelihood, you don't need to bother with this setting."
115 115
116;;; Macros 116;;; Macros
117 117
118;; Fool the compiler to avoid warnings.
119;; Viper calls make-variable-buffer-local from within other functions, which
120;; triggers compiler warnings.
121(defalias 'viper-make-variable-buffer-local 'make-variable-buffer-local)
122
118(defmacro viper-deflocalvar (var default-value &optional documentation) 123(defmacro viper-deflocalvar (var default-value &optional documentation)
119 `(progn 124 `(progn
120 (defvar ,var ,default-value 125 (defvar ,var ,default-value
diff --git a/lisp/emulation/viper-macs.el b/lisp/emulation/viper-macs.el
index 9349a950e97..d401c148ad6 100644
--- a/lisp/emulation/viper-macs.el
+++ b/lisp/emulation/viper-macs.el
@@ -118,7 +118,7 @@ a key is a symbol, e.g., `a', `\\1', `f2', etc., or a list, e.g.,
118 (define-key viper-vi-intercept-map "\C-x)" 'viper-end-mapping-kbd-macro) 118 (define-key viper-vi-intercept-map "\C-x)" 'viper-end-mapping-kbd-macro)
119 (define-key viper-insert-intercept-map "\C-x)" 'viper-end-mapping-kbd-macro) 119 (define-key viper-insert-intercept-map "\C-x)" 'viper-end-mapping-kbd-macro)
120 (define-key viper-emacs-intercept-map "\C-x)" 'viper-end-mapping-kbd-macro) 120 (define-key viper-emacs-intercept-map "\C-x)" 'viper-end-mapping-kbd-macro)
121 (message "Mapping %S in %s state. Hit `C-x )' to complete the mapping" 121 (message "Mapping %S in %s state. Type macro definition followed by `C-x )'"
122 (viper-display-macro macro-name) 122 (viper-display-macro macro-name)
123 (if ins "Insert" "Vi"))) 123 (if ins "Insert" "Vi")))
124 )) 124 ))
@@ -170,7 +170,7 @@ a key is a symbol, e.g., `a', `\\1', `f2', etc., or a list, e.g.,
170 ((stringp macro-name) 170 ((stringp macro-name)
171 (setq macro-name (vconcat macro-name))) 171 (setq macro-name (vconcat macro-name)))
172 (t (setq macro-name (vconcat (prin1-to-string macro-name))))) 172 (t (setq macro-name (vconcat (prin1-to-string macro-name)))))
173 (message ":map%s <Name>" variant)(sit-for 2) 173 (message ":map%s <Macro Name>" variant)(sit-for 2)
174 (while 174 (while
175 (not (member key 175 (not (member key
176 '(?\C-m ?\n (control m) (control j) return linefeed))) 176 '(?\C-m ?\n (control m) (control j) return linefeed)))
@@ -442,10 +442,6 @@ If SCOPE is nil, the user is asked to specify the scope."
442 scope) 442 scope)
443 viper-custom-file-name)) 443 viper-custom-file-name))
444 444
445 ;; 2005-09-18 T06:41:22-0400 (Sunday) D. Goel
446 ;; From careful parsing of the above code, it looks like msg
447 ;; couldn't be nil when we reach here. Since it is a string,
448 ;; and a complicated one too, we might as well provide it a "%s"
449 (message "%s" msg) 445 (message "%s" msg)
450 )) 446 ))
451 447
diff --git a/lisp/emulation/viper-util.el b/lisp/emulation/viper-util.el
index cc9f42b9800..d0b9b34e4d6 100644
--- a/lisp/emulation/viper-util.el
+++ b/lisp/emulation/viper-util.el
@@ -1405,6 +1405,7 @@ This option is appropriate if you like Emacs-style words."
1405 viper-SEP-char-class 1405 viper-SEP-char-class
1406 (or within-line "\n") 1406 (or within-line "\n")
1407 (if within-line (viper-line-pos 'end))))) 1407 (if within-line (viper-line-pos 'end)))))
1408
1408(defsubst viper-skip-all-separators-backward (&optional within-line) 1409(defsubst viper-skip-all-separators-backward (&optional within-line)
1409 (if (eq viper-syntax-preference 'strict-vi) 1410 (if (eq viper-syntax-preference 'strict-vi)
1410 (if within-line 1411 (if within-line
@@ -1433,6 +1434,7 @@ This option is appropriate if you like Emacs-style words."
1433 ;; Emacs may consider some of these as words, but we don't want them 1434 ;; Emacs may consider some of these as words, but we don't want them
1434 viper-non-word-characters 1435 viper-non-word-characters
1435 (viper-line-pos 'end)))) 1436 (viper-line-pos 'end))))
1437
1436(defun viper-skip-nonalphasep-backward () 1438(defun viper-skip-nonalphasep-backward ()
1437 (if (eq viper-syntax-preference 'strict-vi) 1439 (if (eq viper-syntax-preference 'strict-vi)
1438 (skip-chars-backward 1440 (skip-chars-backward
@@ -1502,6 +1504,12 @@ This option is appropriate if you like Emacs-style words."
1502 total 1504 total
1503 )) 1505 ))
1504 1506
1507;; tells when point is at the beginning of field
1508(defun viper-beginning-of-field ()
1509 (or (bobp)
1510 (not (eq (get-char-property (point) 'field)
1511 (get-char-property (1- (point)) 'field)))))
1512
1505 1513
1506;; this is copied from cl-extra.el 1514;; this is copied from cl-extra.el
1507;; Return the subsequence of SEQ from START to END. 1515;; Return the subsequence of SEQ from START to END.
diff --git a/lisp/emulation/viper.el b/lisp/emulation/viper.el
index bfa730cc434..b3fd6d139c0 100644
--- a/lisp/emulation/viper.el
+++ b/lisp/emulation/viper.el
@@ -9,7 +9,7 @@
9;; Author: Michael Kifer <kifer@cs.stonybrook.edu> 9;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
10;; Keywords: emulations 10;; Keywords: emulations
11 11
12(defconst viper-version "3.11.5 of August 6, 2005" 12(defconst viper-version "3.11.5 of September 19, 2005"
13 "The current version of Viper") 13 "The current version of Viper")
14 14
15;; This file is part of GNU Emacs. 15;; This file is part of GNU Emacs.
@@ -606,7 +606,7 @@ This startup message appears whenever you load Viper, unless you type `y' now."
606 (viper-set-expert-level 'dont-change-unless))) 606 (viper-set-expert-level 'dont-change-unless)))
607 607
608 (if viper-xemacs-p 608 (if viper-xemacs-p
609 (make-variable-buffer-local 'bar-cursor)) 609 (viper-make-variable-buffer-local 'bar-cursor))
610 (if (eq major-mode 'viper-mode) 610 (if (eq major-mode 'viper-mode)
611 (setq major-mode 'fundamental-mode)) 611 (setq major-mode 'fundamental-mode))
612 612
@@ -769,6 +769,7 @@ It also can't undo some Viper settings."
769 (remove-hook 'comint-mode-hook 'viper-comint-mode-hook) 769 (remove-hook 'comint-mode-hook 'viper-comint-mode-hook)
770 (remove-hook 'minibuffer-setup-hook 'viper-minibuffer-setup-sentinel) 770 (remove-hook 'minibuffer-setup-hook 'viper-minibuffer-setup-sentinel)
771 (remove-hook 'change-major-mode-hook 'viper-major-mode-change-sentinel) 771 (remove-hook 'change-major-mode-hook 'viper-major-mode-change-sentinel)
772 (remove-hook 'post-command-hook 'viper-minibuffer-post-command-hook)
772 773
773 ;; unbind Viper mouse bindings 774 ;; unbind Viper mouse bindings
774 (viper-unbind-mouse-search-key) 775 (viper-unbind-mouse-search-key)
@@ -1008,7 +1009,7 @@ It also can't undo some Viper settings."
1008 ;; ***This is needed only in case emulation-mode-map-alists is not defined 1009 ;; ***This is needed only in case emulation-mode-map-alists is not defined
1009 (unless 1010 (unless
1010 (and (fboundp 'add-to-ordered-list) (boundp 'emulation-mode-map-alists)) 1011 (and (fboundp 'add-to-ordered-list) (boundp 'emulation-mode-map-alists))
1011 (make-variable-buffer-local 'minor-mode-map-alist)) 1012 (viper-make-variable-buffer-local 'minor-mode-map-alist))
1012 1013
1013 ;; Viper changes the default mode-line-buffer-identification 1014 ;; Viper changes the default mode-line-buffer-identification
1014 (setq-default mode-line-buffer-identification '(" %b")) 1015 (setq-default mode-line-buffer-identification '(" %b"))
@@ -1017,7 +1018,7 @@ It also can't undo some Viper settings."
1017 (setq next-line-add-newlines nil 1018 (setq next-line-add-newlines nil
1018 require-final-newline t) 1019 require-final-newline t)
1019 1020
1020 (make-variable-buffer-local 'require-final-newline) 1021 (viper-make-variable-buffer-local 'require-final-newline)
1021 1022
1022 ;; don't bark when mark is inactive 1023 ;; don't bark when mark is inactive
1023 (if viper-emacs-p 1024 (if viper-emacs-p
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index d8529fc1fb6..1604e130e3d 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -1061,7 +1061,8 @@ a very meaningful entity to highlight.")
1061 'font-lock-multiline nil) 1061 'font-lock-multiline nil)
1062 (point-max)))) 1062 (point-max))))
1063 (goto-char end) 1063 (goto-char end)
1064 (setq end (line-beginning-position 2)) 1064 ;; Round up to a whole line.
1065 (unless (bolp) (setq end (line-beginning-position 2)))
1065 ;; Now do the fontification. 1066 ;; Now do the fontification.
1066 (font-lock-unfontify-region beg end) 1067 (font-lock-unfontify-region beg end)
1067 (when font-lock-syntactic-keywords 1068 (when font-lock-syntactic-keywords
@@ -1073,12 +1074,12 @@ a very meaningful entity to highlight.")
1073 (set-syntax-table old-syntax-table)))) 1074 (set-syntax-table old-syntax-table))))
1074 1075
1075;; The following must be rethought, since keywords can override fontification. 1076;; The following must be rethought, since keywords can override fontification.
1076; ;; Now scan for keywords, but not if we are inside a comment now. 1077;; ;; Now scan for keywords, but not if we are inside a comment now.
1077; (or (and (not font-lock-keywords-only) 1078;; (or (and (not font-lock-keywords-only)
1078; (let ((state (parse-partial-sexp beg end nil nil 1079;; (let ((state (parse-partial-sexp beg end nil nil
1079; font-lock-cache-state))) 1080;; font-lock-cache-state)))
1080; (or (nth 4 state) (nth 7 state)))) 1081;; (or (nth 4 state) (nth 7 state))))
1081; (font-lock-fontify-keywords-region beg end)) 1082;; (font-lock-fontify-keywords-region beg end))
1082 1083
1083(defvar font-lock-extra-managed-props nil 1084(defvar font-lock-extra-managed-props nil
1084 "Additional text properties managed by font-lock. 1085 "Additional text properties managed by font-lock.
diff --git a/lisp/format.el b/lisp/format.el
index dd6b2d215ce..fb242b9a143 100644
--- a/lisp/format.el
+++ b/lisp/format.el
@@ -307,7 +307,7 @@ If the format is not specified, this function attempts to guess.
307`buffer-file-format' is set to the format used, and any mode-functions 307`buffer-file-format' is set to the format used, and any mode-functions
308for the format are called." 308for the format are called."
309 (interactive 309 (interactive
310 (list (format-read "Translate buffer from format (default: guess): "))) 310 (list (format-read "Translate buffer from format (default guess): ")))
311 (save-excursion 311 (save-excursion
312 (goto-char (point-min)) 312 (goto-char (point-min))
313 (format-decode format (buffer-size) t))) 313 (format-decode format (buffer-size) t)))
@@ -318,7 +318,7 @@ Arg FORMAT is optional; if omitted the format will be determined by looking
318for identifying regular expressions at the beginning of the region." 318for identifying regular expressions at the beginning of the region."
319 (interactive 319 (interactive
320 (list (region-beginning) (region-end) 320 (list (region-beginning) (region-end)
321 (format-read "Translate region from format (default: guess): "))) 321 (format-read "Translate region from format (default guess): ")))
322 (save-excursion 322 (save-excursion
323 (goto-char from) 323 (goto-char from)
324 (format-decode format (- to from) nil))) 324 (format-decode format (- to from) nil)))
diff --git a/lisp/forms.el b/lisp/forms.el
index 419a6fa3778..e7282ee0ea5 100644
--- a/lisp/forms.el
+++ b/lisp/forms.el
@@ -519,7 +519,7 @@ Commands: Equivalent keys in read-only mode:
519 (if (or (eq enable-local-eval t) 519 (if (or (eq enable-local-eval t)
520 (yes-or-no-p 520 (yes-or-no-p
521 (concat "Evaluate lisp code in buffer " 521 (concat "Evaluate lisp code in buffer "
522 (buffer-name) " to display forms "))) 522 (buffer-name) " to display forms? ")))
523 (eval-buffer) 523 (eval-buffer)
524 (error "`enable-local-eval' inhibits buffer evaluation")) 524 (error "`enable-local-eval' inhibits buffer evaluation"))
525 525
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 08fd723cf1f..44675cdacd0 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,8 +1,49 @@
12005-09-25 Romain Francoise <romain@orebokech.com>
2
3 * gnus-agent.el (gnus-agent-expire-group, gnus-agent-expire):
4 * gnus-start.el (gnus-subscribe-interactively):
5 * gnus-uu.el (gnus-uu-grab-articles):
6 End `yes-or-no-p' and `y-or-n-p' prompts with question mark and
7 space.
8
92005-09-24 Emilio C. Lopes <eclig@gmx.net>
10
11 * smime.el (smime-sign-buffer, smime-decrypt-buffer):
12 * mm-view.el (mm-view-pkcs7-decrypt):
13 * gnus-sum.el (gnus-summary-limit-to-extra)
14 (gnus-summary-respool-article, gnus-read-move-group-name):
15 * gnus-score.el (gnus-summary-increase-score):
16 * gnus-util.el (gnus-completing-read-with-default):
17 * gnus-art.el (gnus-read-save-file-name)
18 (gnus-summary-save-in-rmail, gnus-summary-save-in-mail)
19 (gnus-summary-save-in-file, gnus-summary-save-body-in-file):
20 * message.el (message-check-news-header-syntax):
21 Follow convention for reading with the minibuffer.
22
232005-09-22 Reiner Steib <Reiner.Steib@gmx.de>
24
25 * spam-report.el (spam-report-url-ping-plain): Use
26 gnus-extended-version as User-Agent.
27
28 * gnus-agent.el (gnus-agent-synchronize-flags): Explain why the
29 default value is nil.
30
312005-09-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
32
33 * gnus-agent.el (gnus-agent-synchronize-flags): Switch the
34 default to nil, to be able to use Gnus at all. If the default
35 switches to something else, then the function should be fixed not
36 be exceedingly slow.
37
382005-09-19 Reiner Steib <Reiner.Steib@gmx.de>
39
40 * mm-url.el (mm-url-decode-entities): Fix regexp.
41
12005-09-18 D Goel <deego@gnufans.org> 422005-09-18 D Goel <deego@gnufans.org>
2 43
3 * sieve.el (sieve-help): Fix `message' call: first arg should be a 44 * sieve.el (sieve-help): Fix `message' call: first arg should be a
4 format spec. 45 format spec.
5 46
62005-09-16 Katsumi Yamaoka <yamaoka@jpl.org> 472005-09-16 Katsumi Yamaoka <yamaoka@jpl.org>
7 48
8 * gnus.el (gnus-group-startup-message): Bind image-load-path. 49 * gnus.el (gnus-group-startup-message): Bind image-load-path.
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el
index 47d1dfd7364..0357ddd18cb 100644
--- a/lisp/gnus/gnus-agent.el
+++ b/lisp/gnus/gnus-agent.el
@@ -118,6 +118,8 @@ If nil, only read articles will be expired."
118(defcustom gnus-agent-synchronize-flags t 118(defcustom gnus-agent-synchronize-flags t
119 "Indicate if flags are synchronized when you plug in. 119 "Indicate if flags are synchronized when you plug in.
120If this is `ask' the hook will query the user." 120If this is `ask' the hook will query the user."
121 ;; If the default switches to something else than nil, then the function
122 ;; should be fixed not be exceedingly slow. See 2005-09-20 ChangeLog entry.
121 :version "21.1" 123 :version "21.1"
122 :type '(choice (const :tag "Always" t) 124 :type '(choice (const :tag "Always" t)
123 (const :tag "Never" nil) 125 (const :tag "Never" nil)
@@ -2934,7 +2936,7 @@ FORCE is equivalent to setting the expiration predicates to true."
2934 (if (or (not (eq articles t)) 2936 (if (or (not (eq articles t))
2935 (yes-or-no-p 2937 (yes-or-no-p
2936 (concat "Are you sure that you want to " 2938 (concat "Are you sure that you want to "
2937 "expire all articles in " group "."))) 2939 "expire all articles in " group "? ")))
2938 (let ((gnus-command-method (gnus-find-method-for-group group)) 2940 (let ((gnus-command-method (gnus-find-method-for-group group))
2939 (overview (gnus-get-buffer-create " *expire overview*")) 2941 (overview (gnus-get-buffer-create " *expire overview*"))
2940 orig) 2942 orig)
@@ -3308,7 +3310,7 @@ FORCE is equivalent to setting the expiration predicates to true."
3308 (gnus-agent-expire-group group articles force) 3310 (gnus-agent-expire-group group articles force)
3309 (if (or (not (eq articles t)) 3311 (if (or (not (eq articles t))
3310 (yes-or-no-p "Are you sure that you want to expire all \ 3312 (yes-or-no-p "Are you sure that you want to expire all \
3311articles in every agentized group.")) 3313articles in every agentized group? "))
3312 (let ((methods (gnus-agent-covered-methods)) 3314 (let ((methods (gnus-agent-covered-methods))
3313 ;; Bind gnus-agent-expire-current-dirs to enable tracking 3315 ;; Bind gnus-agent-expire-current-dirs to enable tracking
3314 ;; of agent directories. 3316 ;; of agent directories.
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 3821f9ecf18..4957d3ae98b 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -3255,7 +3255,7 @@ This format is defined by the `gnus-article-time-format' variable."
3255 ((null split-name) 3255 ((null split-name)
3256 (read-file-name 3256 (read-file-name
3257 (concat prompt " (default " 3257 (concat prompt " (default "
3258 (file-name-nondirectory default-name) ") ") 3258 (file-name-nondirectory default-name) "): ")
3259 (file-name-directory default-name) 3259 (file-name-directory default-name)
3260 default-name)) 3260 default-name))
3261 ;; A single group name is returned. 3261 ;; A single group name is returned.
@@ -3265,7 +3265,7 @@ This format is defined by the `gnus-article-time-format' variable."
3265 (symbol-value variable))) 3265 (symbol-value variable)))
3266 (read-file-name 3266 (read-file-name
3267 (concat prompt " (default " 3267 (concat prompt " (default "
3268 (file-name-nondirectory default-name) ") ") 3268 (file-name-nondirectory default-name) "): ")
3269 (file-name-directory default-name) 3269 (file-name-directory default-name)
3270 default-name)) 3270 default-name))
3271 ;; A single split name was found 3271 ;; A single split name was found
@@ -3278,7 +3278,7 @@ This format is defined by the `gnus-article-time-format' variable."
3278 ((file-exists-p name) name) 3278 ((file-exists-p name) name)
3279 (t gnus-article-save-directory)))) 3279 (t gnus-article-save-directory))))
3280 (read-file-name 3280 (read-file-name
3281 (concat prompt " (default " name ") ") 3281 (concat prompt " (default " name "): ")
3282 dir name))) 3282 dir name)))
3283 ;; A list of splits was found. 3283 ;; A list of splits was found.
3284 (t 3284 (t
@@ -3289,7 +3289,7 @@ This format is defined by the `gnus-article-time-format' variable."
3289 (setq result 3289 (setq result
3290 (expand-file-name 3290 (expand-file-name
3291 (read-file-name 3291 (read-file-name
3292 (concat prompt " (`M-p' for defaults) ") 3292 (concat prompt " (`M-p' for defaults): ")
3293 gnus-article-save-directory 3293 gnus-article-save-directory
3294 (car split-name)) 3294 (car split-name))
3295 gnus-article-save-directory))) 3295 gnus-article-save-directory)))
@@ -3323,7 +3323,7 @@ This format is defined by the `gnus-article-time-format' variable."
3323Optional argument FILENAME specifies file name. 3323Optional argument FILENAME specifies file name.
3324Directory to save to is default to `gnus-article-save-directory'." 3324Directory to save to is default to `gnus-article-save-directory'."
3325 (setq filename (gnus-read-save-file-name 3325 (setq filename (gnus-read-save-file-name
3326 "Save %s in rmail file:" filename 3326 "Save %s in rmail file" filename
3327 gnus-rmail-save-name gnus-newsgroup-name 3327 gnus-rmail-save-name gnus-newsgroup-name
3328 gnus-current-headers 'gnus-newsgroup-last-rmail)) 3328 gnus-current-headers 'gnus-newsgroup-last-rmail))
3329 (gnus-eval-in-buffer-window gnus-save-article-buffer 3329 (gnus-eval-in-buffer-window gnus-save-article-buffer
@@ -3338,7 +3338,7 @@ Directory to save to is default to `gnus-article-save-directory'."
3338Optional argument FILENAME specifies file name. 3338Optional argument FILENAME specifies file name.
3339Directory to save to is default to `gnus-article-save-directory'." 3339Directory to save to is default to `gnus-article-save-directory'."
3340 (setq filename (gnus-read-save-file-name 3340 (setq filename (gnus-read-save-file-name
3341 "Save %s in Unix mail file:" filename 3341 "Save %s in Unix mail file" filename
3342 gnus-mail-save-name gnus-newsgroup-name 3342 gnus-mail-save-name gnus-newsgroup-name
3343 gnus-current-headers 'gnus-newsgroup-last-mail)) 3343 gnus-current-headers 'gnus-newsgroup-last-mail))
3344 (gnus-eval-in-buffer-window gnus-save-article-buffer 3344 (gnus-eval-in-buffer-window gnus-save-article-buffer
@@ -3357,7 +3357,7 @@ Directory to save to is default to `gnus-article-save-directory'."
3357Optional argument FILENAME specifies file name. 3357Optional argument FILENAME specifies file name.
3358Directory to save to is default to `gnus-article-save-directory'." 3358Directory to save to is default to `gnus-article-save-directory'."
3359 (setq filename (gnus-read-save-file-name 3359 (setq filename (gnus-read-save-file-name
3360 "Save %s in file:" filename 3360 "Save %s in file" filename
3361 gnus-file-save-name gnus-newsgroup-name 3361 gnus-file-save-name gnus-newsgroup-name
3362 gnus-current-headers 'gnus-newsgroup-last-file)) 3362 gnus-current-headers 'gnus-newsgroup-last-file))
3363 (gnus-eval-in-buffer-window gnus-save-article-buffer 3363 (gnus-eval-in-buffer-window gnus-save-article-buffer
@@ -3381,7 +3381,7 @@ The directory to save in defaults to `gnus-article-save-directory'."
3381Optional argument FILENAME specifies file name. 3381Optional argument FILENAME specifies file name.
3382The directory to save in defaults to `gnus-article-save-directory'." 3382The directory to save in defaults to `gnus-article-save-directory'."
3383 (setq filename (gnus-read-save-file-name 3383 (setq filename (gnus-read-save-file-name
3384 "Save %s body in file:" filename 3384 "Save %s body in file" filename
3385 gnus-file-save-name gnus-newsgroup-name 3385 gnus-file-save-name gnus-newsgroup-name
3386 gnus-current-headers 'gnus-newsgroup-last-file)) 3386 gnus-current-headers 'gnus-newsgroup-last-file))
3387 (gnus-eval-in-buffer-window gnus-save-article-buffer 3387 (gnus-eval-in-buffer-window gnus-save-article-buffer
diff --git a/lisp/gnus/gnus-score.el b/lisp/gnus/gnus-score.el
index e866f7f32fc..22a579c3d69 100644
--- a/lisp/gnus/gnus-score.el
+++ b/lisp/gnus/gnus-score.el
@@ -652,7 +652,7 @@ file for the command instead of the current score file."
652 (intern ; need symbol 652 (intern ; need symbol
653 (gnus-completing-read-with-default 653 (gnus-completing-read-with-default
654 (symbol-name (car gnus-extra-headers)) ; default response 654 (symbol-name (car gnus-extra-headers)) ; default response
655 "Score extra header:" ; prompt 655 "Score extra header" ; prompt
656 (mapcar (lambda (x) ; completion list 656 (mapcar (lambda (x) ; completion list
657 (cons (symbol-name x) x)) 657 (cons (symbol-name x) x))
658 gnus-extra-headers) 658 gnus-extra-headers)
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index e30faa85c7f..0eb66bb824e 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -608,7 +608,7 @@ Can be used to turn version control on or off."
608 "Subscribe the new GROUP interactively. 608 "Subscribe the new GROUP interactively.
609It is inserted in hierarchical newsgroup order if subscribed. If not, 609It is inserted in hierarchical newsgroup order if subscribed. If not,
610it is killed." 610it is killed."
611 (if (gnus-y-or-n-p (format "Subscribe new newsgroup: %s " group)) 611 (if (gnus-y-or-n-p (format "Subscribe new newsgroup %s? " group))
612 (gnus-subscribe-hierarchically group) 612 (gnus-subscribe-hierarchically group)
613 (push group gnus-killed-list))) 613 (push group gnus-killed-list)))
614 614
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 88fe21fd5a2..c9e93d19f42 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -7696,8 +7696,8 @@ articles that are younger than AGE days."
7696 (gnus-completing-read-with-default 7696 (gnus-completing-read-with-default
7697 (symbol-name (car gnus-extra-headers)) 7697 (symbol-name (car gnus-extra-headers))
7698 (if current-prefix-arg 7698 (if current-prefix-arg
7699 "Exclude extra header:" 7699 "Exclude extra header"
7700 "Limit extra header:") 7700 "Limit extra header")
7701 (mapcar (lambda (x) 7701 (mapcar (lambda (x)
7702 (cons (symbol-name x) x)) 7702 (cons (symbol-name x) x))
7703 gnus-extra-headers) 7703 gnus-extra-headers)
@@ -9218,7 +9218,7 @@ latter case, they will be copied into the relevant groups."
9218 gnus-newsgroup-name))))) 9218 gnus-newsgroup-name)))))
9219 (method 9219 (method
9220 (gnus-completing-read-with-default 9220 (gnus-completing-read-with-default
9221 methname "What backend do you want to use when respooling?" 9221 methname "Backend to use when respooling"
9222 methods nil t nil 'gnus-mail-method-history)) 9222 methods nil t nil 'gnus-mail-method-history))
9223 ms) 9223 ms)
9224 (cond 9224 (cond
@@ -11044,7 +11044,7 @@ save those articles instead."
11044 (let* ((split-name (gnus-get-split-value gnus-move-split-methods)) 11044 (let* ((split-name (gnus-get-split-value gnus-move-split-methods))
11045 (minibuffer-confirm-incomplete nil) ; XEmacs 11045 (minibuffer-confirm-incomplete nil) ; XEmacs
11046 (prom 11046 (prom
11047 (format "%s %s to:" 11047 (format "%s %s to"
11048 prompt 11048 prompt
11049 (if (> (length articles) 1) 11049 (if (> (length articles) 1)
11050 (format "these %d articles" (length articles)) 11050 (format "these %d articles" (length articles))
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index 4c1721029be..5556a815d2a 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -335,8 +335,8 @@ is slower."
335(defun gnus-completing-read-with-default (default prompt &rest args) 335(defun gnus-completing-read-with-default (default prompt &rest args)
336 ;; Like `completing-read', except that DEFAULT is the default argument. 336 ;; Like `completing-read', except that DEFAULT is the default argument.
337 (let* ((prompt (if default 337 (let* ((prompt (if default
338 (concat prompt " (default " default ") ") 338 (concat prompt " (default " default "): ")
339 (concat prompt " "))) 339 (concat prompt ": ")))
340 (answer (apply 'completing-read prompt args))) 340 (answer (apply 'completing-read prompt args)))
341 (if (or (null answer) (zerop (length answer))) 341 (if (or (null answer) (zerop (length answer)))
342 default 342 default
diff --git a/lisp/gnus/gnus-uu.el b/lisp/gnus/gnus-uu.el
index a2f3f353a05..01f21887aee 100644
--- a/lisp/gnus/gnus-uu.el
+++ b/lisp/gnus/gnus-uu.el
@@ -1294,7 +1294,7 @@ When called interactively, prompt for REGEXP."
1294 (not gnus-uu-be-dangerous) 1294 (not gnus-uu-be-dangerous)
1295 (or (eq gnus-uu-be-dangerous t) 1295 (or (eq gnus-uu-be-dangerous t)
1296 (gnus-y-or-n-p 1296 (gnus-y-or-n-p
1297 (format "Delete unsuccessfully decoded file %s" 1297 (format "Delete unsuccessfully decoded file %s? "
1298 result-file)))) 1298 result-file))))
1299 (delete-file result-file))) 1299 (delete-file result-file)))
1300 (when (memq 'begin process-state) 1300 (when (memq 'begin process-state)
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 75554a6079c..943e272867a 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -4197,7 +4197,7 @@ Otherwise, generate and save a value for `canlock-password' first."
4197 (zerop 4197 (zerop
4198 (length 4198 (length
4199 (setq to (completing-read 4199 (setq to (completing-read
4200 "Followups to (default: no Followup-To header) " 4200 "Followups to (default no Followup-To header): "
4201 (mapcar #'list 4201 (mapcar #'list
4202 (cons "poster" 4202 (cons "poster"
4203 (message-tokenize-header 4203 (message-tokenize-header
diff --git a/lisp/gnus/mm-url.el b/lisp/gnus/mm-url.el
index 961ee0ea4fb..4fd39e477f6 100644
--- a/lisp/gnus/mm-url.el
+++ b/lisp/gnus/mm-url.el
@@ -365,7 +365,7 @@ If FOLLOW-REFRESH is non-nil, redirect refresh url in META."
365(defun mm-url-decode-entities () 365(defun mm-url-decode-entities ()
366 "Decode all HTML entities." 366 "Decode all HTML entities."
367 (goto-char (point-min)) 367 (goto-char (point-min))
368 (while (re-search-forward "&\\(#[0-9]+\\|[a-z]+\\);" nil t) 368 (while (re-search-forward "&\\(#[0-9]+\\|[a-z]+[0-9]*\\);" nil t)
369 (let ((elem (if (eq (aref (match-string 1) 0) ?\#) 369 (let ((elem (if (eq (aref (match-string 1) 0) ?\#)
370 (let ((c 370 (let ((c
371 (string-to-number (substring 371 (string-to-number (substring
diff --git a/lisp/gnus/mm-view.el b/lisp/gnus/mm-view.el
index ac408aa179f..dec03bf0b9c 100644
--- a/lisp/gnus/mm-view.el
+++ b/lisp/gnus/mm-view.el
@@ -576,9 +576,10 @@
576 (cadar smime-keys) 576 (cadar smime-keys)
577 (smime-get-key-by-email 577 (smime-get-key-by-email
578 (gnus-completing-read-maybe-default 578 (gnus-completing-read-maybe-default
579 (concat "Decipher using which key? " 579 (concat "Decipher using key"
580 (if smime-keys (concat "(default " (caar smime-keys) ") ") 580 (if smime-keys
581 "")) 581 (concat " (default " (caar smime-keys) "): ")
582 ": "))
582 smime-keys nil nil nil nil (car-safe (car-safe smime-keys)))))) 583 smime-keys nil nil nil nil (car-safe (car-safe smime-keys))))))
583 (goto-char (point-min)) 584 (goto-char (point-min))
584 (while (search-forward "\r\n" nil t) 585 (while (search-forward "\r\n" nil t)
diff --git a/lisp/gnus/smime.el b/lisp/gnus/smime.el
index 485cf177154..22489affa89 100644
--- a/lisp/gnus/smime.el
+++ b/lisp/gnus/smime.el
@@ -341,9 +341,10 @@ KEYFILE should contain a PEM encoded key and certificate."
341 keyfile 341 keyfile
342 (smime-get-key-with-certs-by-email 342 (smime-get-key-with-certs-by-email
343 (completing-read 343 (completing-read
344 (concat "Sign using which key? " 344 (concat "Sign using key"
345 (if smime-keys (concat "(default " (caar smime-keys) ") ") 345 (if smime-keys
346 "")) 346 (concat " (default " (caar smime-keys) "): ")
347 ": "))
347 smime-keys nil nil (car-safe (car-safe smime-keys)))))) 348 smime-keys nil nil (car-safe (car-safe smime-keys))))))
348 (error "Signing failed")))) 349 (error "Signing failed"))))
349 350
@@ -472,9 +473,9 @@ in the buffer specified by `smime-details-buffer'."
472 (or keyfile 473 (or keyfile
473 (smime-get-key-by-email 474 (smime-get-key-by-email
474 (completing-read 475 (completing-read
475 (concat "Decipher using which key? " 476 (concat "Decipher using key"
476 (if smime-keys (concat "(default " (caar smime-keys) ") ") 477 (if smime-keys (concat " (default " (caar smime-keys) "): ")
477 "")) 478 ": "))
478 smime-keys nil nil (car-safe (car-safe smime-keys))))))))) 479 smime-keys nil nil (car-safe (car-safe smime-keys)))))))))
479 480
480;; Various operations 481;; Various operations
diff --git a/lisp/gnus/spam-report.el b/lisp/gnus/spam-report.el
index 173306ec55e..293a41d7b60 100644
--- a/lisp/gnus/spam-report.el
+++ b/lisp/gnus/spam-report.el
@@ -150,7 +150,7 @@ the function specified by `spam-report-url-ping-function'."
150 (process-send-string 150 (process-send-string
151 tcp-connection 151 tcp-connection
152 (format "GET %s HTTP/1.1\nUser-Agent: %s (spam-report.el)\nHost: %s\n\n" 152 (format "GET %s HTTP/1.1\nUser-Agent: %s (spam-report.el)\nHost: %s\n\n"
153 report (gnus-emacs-version) host))))) 153 report (gnus-extended-version) host)))))
154 154
155;;;###autoload 155;;;###autoload
156(defun spam-report-process-queue (&optional file keep) 156(defun spam-report-process-queue (&optional file keep)
diff --git a/lisp/ido.el b/lisp/ido.el
index 7c9d269417a..2d62f6c74ef 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -2138,7 +2138,7 @@ If INITIAL is non-nil, it specifies the initial input string."
2138 (ido-record-command method dirname) 2138 (ido-record-command method dirname)
2139 (ido-record-work-directory) 2139 (ido-record-work-directory)
2140 (funcall method dirname)) 2140 (funcall method dirname))
2141 ((y-or-n-p (format "Directory %s does not exist. Create it " filename)) 2141 ((y-or-n-p (format "Directory %s does not exist. Create it? " filename))
2142 (ido-record-command method dirname) 2142 (ido-record-command method dirname)
2143 (ido-record-work-directory dirname) 2143 (ido-record-work-directory dirname)
2144 (make-directory-internal dirname) 2144 (make-directory-internal dirname)
@@ -3529,7 +3529,7 @@ for first matching file."
3529 (file-exists-p file) 3529 (file-exists-p file)
3530 (not (file-directory-p file)) 3530 (not (file-directory-p file))
3531 (file-writable-p ido-current-directory) 3531 (file-writable-p ido-current-directory)
3532 (yes-or-no-p (concat "Delete " file " "))) 3532 (yes-or-no-p (concat "Delete " file "? ")))
3533 (delete-file file) 3533 (delete-file file)
3534 ;; Check if file still exists. 3534 ;; Check if file still exists.
3535 (if (file-exists-p file) 3535 (if (file-exists-p file)
diff --git a/lisp/info.el b/lisp/info.el
index 4c40e187c03..7868125b9b0 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -1569,11 +1569,11 @@ PATH-AND-SUFFIXES is a pair of lists, (DIRECTORIES . SUFFIXES)."
1569If DIRECTION is `backward', search in the reverse direction." 1569If DIRECTION is `backward', search in the reverse direction."
1570 (interactive (list (read-string 1570 (interactive (list (read-string
1571 (if Info-search-history 1571 (if Info-search-history
1572 (format "Regexp search%s (default `%s'): " 1572 (format "Regexp search%s (default %s): "
1573 (if case-fold-search "" " case-sensitively") 1573 (if case-fold-search "" " case-sensitively")
1574 (car Info-search-history)) 1574 (car Info-search-history))
1575 (format "Regexp search%s: " 1575 (format "Regexp search%s: "
1576 (if case-fold-search "" " case-sensitively"))) 1576 (if case-fold-search "" " case-sensitively")))
1577 nil 'Info-search-history))) 1577 nil 'Info-search-history)))
1578 (when transient-mark-mode 1578 (when transient-mark-mode
1579 (deactivate-mark)) 1579 (deactivate-mark))
@@ -1757,11 +1757,11 @@ If DIRECTION is `backward', search in the reverse direction."
1757 "Search for REGEXP in the reverse direction." 1757 "Search for REGEXP in the reverse direction."
1758 (interactive (list (read-string 1758 (interactive (list (read-string
1759 (if Info-search-history 1759 (if Info-search-history
1760 (format "Regexp search%s backward (default `%s'): " 1760 (format "Regexp search%s backward (default %s): "
1761 (if case-fold-search "" " case-sensitively") 1761 (if case-fold-search "" " case-sensitively")
1762 (car Info-search-history)) 1762 (car Info-search-history))
1763 (format "Regexp search%s backward: " 1763 (format "Regexp search%s backward: "
1764 (if case-fold-search "" " case-sensitively"))) 1764 (if case-fold-search "" " case-sensitively")))
1765 nil 'Info-search-history))) 1765 nil 'Info-search-history)))
1766 (Info-search regexp bound noerror count 'backward)) 1766 (Info-search regexp bound noerror count 'backward))
1767 1767
@@ -2107,8 +2107,8 @@ new buffer."
2107 (if completions 2107 (if completions
2108 (let ((input (completing-read (if default 2108 (let ((input (completing-read (if default
2109 (concat 2109 (concat
2110 "Follow reference named: (default " 2110 "Follow reference named (default "
2111 default ") ") 2111 default "): ")
2112 "Follow reference named: ") 2112 "Follow reference named: ")
2113 completions nil t))) 2113 completions nil t)))
2114 (list (if (equal input "") 2114 (list (if (equal input "")
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index c297ce5e27b..b42ac755347 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -281,7 +281,7 @@ wrong, use this command again to toggle back to the right mode."
281 buffer-file-coding-system))) 281 buffer-file-coding-system)))
282 (list (read-coding-system 282 (list (read-coding-system
283 (if default 283 (if default
284 (format "Coding system for following command (default, %s): " default) 284 (format "Coding system for following command (default %s): " default)
285 "Coding system for following command: ") 285 "Coding system for following command: ")
286 default)))) 286 default))))
287 (let* ((keyseq (read-key-sequence 287 (let* ((keyseq (read-key-sequence
@@ -596,7 +596,7 @@ or nil if all characters are encodable."
596 (interactive 596 (interactive
597 (list (let ((default (or buffer-file-coding-system 'us-ascii))) 597 (list (let ((default (or buffer-file-coding-system 'us-ascii)))
598 (read-coding-system 598 (read-coding-system
599 (format "Coding-system (default, %s): " default) 599 (format "Coding-system (default %s): " default)
600 default)))) 600 default))))
601 (let ((pos (unencodable-char-position (point) (point-max) coding-system))) 601 (let ((pos (unencodable-char-position (point) (point-max) coding-system)))
602 (if pos 602 (if pos
@@ -1452,7 +1452,7 @@ which marks the variable `default-input-method' as set for Custom buffers."
1452 "Describe input method INPUT-METHOD." 1452 "Describe input method INPUT-METHOD."
1453 (interactive 1453 (interactive
1454 (list (read-input-method-name 1454 (list (read-input-method-name
1455 "Describe input method (default, current choice): "))) 1455 "Describe input method (default current choice): ")))
1456 (if (and input-method (symbolp input-method)) 1456 (if (and input-method (symbolp input-method))
1457 (setq input-method (symbol-name input-method))) 1457 (setq input-method (symbol-name input-method)))
1458 (help-setup-xref (list #'describe-input-method 1458 (help-setup-xref (list #'describe-input-method
@@ -1740,7 +1740,7 @@ which is the name of a language environment. For example, \"Latin-1\"
1740specifies the character set for the major languages of Western Europe." 1740specifies the character set for the major languages of Western Europe."
1741 (interactive (list (read-language-name 1741 (interactive (list (read-language-name
1742 nil 1742 nil
1743 "Set language environment (default, English): "))) 1743 "Set language environment (default English): ")))
1744 (if language-name 1744 (if language-name
1745 (if (symbolp language-name) 1745 (if (symbolp language-name)
1746 (setq language-name (symbol-name language-name))) 1746 (setq language-name (symbol-name language-name)))
@@ -1938,7 +1938,7 @@ of `buffer-file-coding-system' set by this function."
1938 (interactive 1938 (interactive
1939 (list (read-language-name 1939 (list (read-language-name
1940 'documentation 1940 'documentation
1941 "Describe language environment (default, current choice): "))) 1941 "Describe language environment (default current choice): ")))
1942 (if (null language-name) 1942 (if (null language-name)
1943 (setq language-name current-language-environment)) 1943 (setq language-name current-language-environment))
1944 (if (or (null language-name) 1944 (if (or (null language-name)
@@ -1966,7 +1966,7 @@ of `buffer-file-coding-system' set by this function."
1966 (l (copy-sequence input-method-alist))) 1966 (l (copy-sequence input-method-alist)))
1967 (insert "Input methods") 1967 (insert "Input methods")
1968 (when input-method 1968 (when input-method
1969 (insert " (default, " input-method ")") 1969 (insert " (default " input-method ")")
1970 (setq input-method (assoc input-method input-method-alist)) 1970 (setq input-method (assoc input-method input-method-alist))
1971 (setq l (cons input-method (delete input-method l)))) 1971 (setq l (cons input-method (delete input-method l))))
1972 (insert ":\n") 1972 (insert ":\n")
diff --git a/lisp/international/mule-diag.el b/lisp/international/mule-diag.el
index b26629ec551..8b0a25dbae0 100644
--- a/lisp/international/mule-diag.el
+++ b/lisp/international/mule-diag.el
@@ -419,7 +419,7 @@ detailed meanings of these arguments."
419;;;###autoload 419;;;###autoload
420(defun describe-coding-system (coding-system) 420(defun describe-coding-system (coding-system)
421 "Display information about CODING-SYSTEM." 421 "Display information about CODING-SYSTEM."
422 (interactive "zDescribe coding system (default, current choices): ") 422 (interactive "zDescribe coding system (default current choices): ")
423 (if (null coding-system) 423 (if (null coding-system)
424 (describe-current-coding-system) 424 (describe-current-coding-system)
425 (help-setup-xref (list #'describe-coding-system coding-system) 425 (help-setup-xref (list #'describe-coding-system coding-system)
@@ -831,7 +831,7 @@ but still contains full information about each coding system."
831;;;###autoload 831;;;###autoload
832(defun describe-font (fontname) 832(defun describe-font (fontname)
833 "Display information about fonts which partially match FONTNAME." 833 "Display information about fonts which partially match FONTNAME."
834 (interactive "sFontname (default, current choice for ASCII chars): ") 834 (interactive "sFontname (default current choice for ASCII chars): ")
835 (or (and window-system (fboundp 'fontset-list)) 835 (or (and window-system (fboundp 'fontset-list))
836 (error "No fontsets being used")) 836 (error "No fontsets being used"))
837 (when (or (not fontname) (= (length fontname) 0)) 837 (when (or (not fontname) (= (length fontname) 0))
@@ -921,7 +921,7 @@ This shows which font is used for which character(s)."
921 (mapcar 'cdr fontset-alias-alist))) 921 (mapcar 'cdr fontset-alias-alist)))
922 (completion-ignore-case t)) 922 (completion-ignore-case t))
923 (list (completing-read 923 (list (completing-read
924 "Fontset (default, used by the current frame): " 924 "Fontset (default used by the current frame): "
925 fontset-list nil t))))) 925 fontset-list nil t)))))
926 (if (= (length fontset) 0) 926 (if (= (length fontset) 0)
927 (setq fontset (frame-parameter nil 'font))) 927 (setq fontset (frame-parameter nil 'font)))
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 52a98145534..322f432d8dc 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -1139,7 +1139,7 @@ surely saves the buffer with CODING-SYSTEM. From a program, if you
1139don't want to mark the buffer modified, specify t for NOMODIFY. 1139don't want to mark the buffer modified, specify t for NOMODIFY.
1140If you know exactly what coding system you want to use, 1140If you know exactly what coding system you want to use,
1141just set the variable `buffer-file-coding-system' directly." 1141just set the variable `buffer-file-coding-system' directly."
1142 (interactive "zCoding system for saving file (default, nil): \nP") 1142 (interactive "zCoding system for saving file (default nil): \nP")
1143 (check-coding-system coding-system) 1143 (check-coding-system coding-system)
1144 (if (and coding-system buffer-file-coding-system (null force)) 1144 (if (and coding-system buffer-file-coding-system (null force))
1145 (setq coding-system 1145 (setq coding-system
@@ -1163,7 +1163,7 @@ do. If FORCE is nil, get the unspecified aspect (or aspects) from the
1163buffer's previous `buffer-file-coding-system' value (if it is 1163buffer's previous `buffer-file-coding-system' value (if it is
1164specified there). Otherwise, determine it from the file contents as 1164specified there). Otherwise, determine it from the file contents as
1165usual for visiting a file." 1165usual for visiting a file."
1166 (interactive "zCoding system for visited file (default, nil): \nP") 1166 (interactive "zCoding system for visited file (default nil): \nP")
1167 (check-coding-system coding-system) 1167 (check-coding-system coding-system)
1168 (if (and coding-system buffer-file-coding-system (null force)) 1168 (if (and coding-system buffer-file-coding-system (null force))
1169 (setq coding-system 1169 (setq coding-system
@@ -1175,7 +1175,7 @@ usual for visiting a file."
1175 "Set coding system for decoding and encoding file names to CODING-SYSTEM. 1175 "Set coding system for decoding and encoding file names to CODING-SYSTEM.
1176It actually just set the variable `file-name-coding-system' (which 1176It actually just set the variable `file-name-coding-system' (which
1177see) to CODING-SYSTEM." 1177see) to CODING-SYSTEM."
1178 (interactive "zCoding system for file names (default, nil): ") 1178 (interactive "zCoding system for file names (default nil): ")
1179 (check-coding-system coding-system) 1179 (check-coding-system coding-system)
1180 (if (and coding-system 1180 (if (and coding-system
1181 (not (coding-system-get coding-system :ascii-compatible-p)) 1181 (not (coding-system-get coding-system :ascii-compatible-p))
@@ -1200,7 +1200,7 @@ or by the previous use of this command."
1200 default-terminal-coding-system) 1200 default-terminal-coding-system)
1201 default-terminal-coding-system))) 1201 default-terminal-coding-system)))
1202 (read-coding-system 1202 (read-coding-system
1203 (format "Coding system for terminal display (default, %s): " 1203 (format "Coding system for terminal display (default %s): "
1204 default) 1204 default)
1205 default)))) 1205 default))))
1206 (if (and (not coding-system) 1206 (if (and (not coding-system)
@@ -1229,7 +1229,7 @@ or by the previous use of this command."
1229 default-keyboard-coding-system) 1229 default-keyboard-coding-system)
1230 default-keyboard-coding-system))) 1230 default-keyboard-coding-system)))
1231 (read-coding-system 1231 (read-coding-system
1232 (format "Coding system for keyboard input (default, %s): " 1232 (format "Coding system for keyboard input (default %s): "
1233 default) 1233 default)
1234 default)))) 1234 default))))
1235 (if (and (not coding-system) 1235 (if (and (not coding-system)
@@ -1303,7 +1303,7 @@ This setting is effective for the next communication only."
1303 (interactive 1303 (interactive
1304 (list (read-coding-system 1304 (list (read-coding-system
1305 (if last-next-selection-coding-system 1305 (if last-next-selection-coding-system
1306 (format "Coding system for the next selection (default, %S): " 1306 (format "Coding system for the next selection (default %S): "
1307 last-next-selection-coding-system) 1307 last-next-selection-coding-system)
1308 "Coding system for the next selection: ") 1308 "Coding system for the next selection: ")
1309 last-next-selection-coding-system))) 1309 last-next-selection-coding-system)))
diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index ec797cbff15..ea22cd7fe38 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -897,7 +897,7 @@ The format of KBD-LAYOUT is the same as `quail-keyboard-layout'."
897The variable `quail-keyboard-layout-type' holds the currently selected 897The variable `quail-keyboard-layout-type' holds the currently selected
898keyboard type." 898keyboard type."
899 (interactive 899 (interactive
900 (list (completing-read "Keyboard type (default, current choice): " 900 (list (completing-read "Keyboard type (default current choice): "
901 quail-keyboard-layout-alist 901 quail-keyboard-layout-alist
902 nil t))) 902 nil t)))
903 (or (and keyboard-type (> (length keyboard-type) 0)) 903 (or (and keyboard-type (> (length keyboard-type) 0))
diff --git a/lisp/locate.el b/lisp/locate.el
index cbf2e4866ab..390e0ec72b3 100644
--- a/lisp/locate.el
+++ b/lisp/locate.el
@@ -209,7 +209,7 @@ With prefix arg, prompt for the locate command to run."
209 (input 209 (input
210 (read-from-minibuffer 210 (read-from-minibuffer
211 (if (> (length default) 0) 211 (if (> (length default) 0)
212 (format "Locate (default `%s'): " default) 212 (format "Locate (default %s): " default)
213 (format "Locate: ")) 213 (format "Locate: "))
214 nil nil nil 'locate-history-list default t))) 214 nil nil nil 'locate-history-list default t)))
215 (and (equal input "") default 215 (and (equal input "") default
diff --git a/lisp/log-edit.el b/lisp/log-edit.el
index 4e179ef8bad..54249eb52e3 100644
--- a/lisp/log-edit.el
+++ b/lisp/log-edit.el
@@ -383,7 +383,7 @@ If you want to abort the commit, simply delete the buffer."
383 (equal (log-edit-files) log-edit-initial-files))) 383 (equal (log-edit-files) log-edit-initial-files)))
384 (progn 384 (progn
385 (log-edit-show-files) 385 (log-edit-show-files)
386 (not (y-or-n-p "Really commit ? ")))) 386 (not (y-or-n-p "Really commit? "))))
387 (progn (when (not win) (log-edit-hide-buf)) 387 (progn (when (not win) (log-edit-hide-buf))
388 (message "Oh, well! Later maybe?")) 388 (message "Oh, well! Later maybe?"))
389 (run-hooks 'log-edit-done-hook) 389 (run-hooks 'log-edit-done-hook)
diff --git a/lisp/mail/mailabbrev.el b/lisp/mail/mailabbrev.el
index 270d2cd6385..06af543b4da 100644
--- a/lisp/mail/mailabbrev.el
+++ b/lisp/mail/mailabbrev.el
@@ -528,7 +528,7 @@ of a mail alias. The value is set up, buffer-local, when first needed.")
528 (default-directory (expand-file-name "~/")) 528 (default-directory (expand-file-name "~/"))
529 (def mail-personal-alias-file)) 529 (def mail-personal-alias-file))
530 (read-file-name 530 (read-file-name
531 (format "Read additional aliases from file: (default %s) " 531 (format "Read additional aliases from file (default %s): "
532 def) 532 def)
533 default-directory 533 default-directory
534 (expand-file-name def default-directory) 534 (expand-file-name def default-directory)
@@ -542,7 +542,7 @@ of a mail alias. The value is set up, buffer-local, when first needed.")
542 (default-directory (expand-file-name "~/")) 542 (default-directory (expand-file-name "~/"))
543 (def mail-personal-alias-file)) 543 (def mail-personal-alias-file))
544 (read-file-name 544 (read-file-name
545 (format "Read mail aliases from file: (default %s) " def) 545 (format "Read mail aliases from file (default %s): " def)
546 default-directory 546 default-directory
547 (expand-file-name def default-directory) 547 (expand-file-name def default-directory)
548 t)))) 548 t))))
diff --git a/lisp/mail/mailclient.el b/lisp/mail/mailclient.el
new file mode 100644
index 00000000000..eb12d97f576
--- /dev/null
+++ b/lisp/mail/mailclient.el
@@ -0,0 +1,174 @@
1;;; mailclient.el --- mail sending via system's mail client. -*- byte-compile-dynamic: t -*-
2
3;; Copyright (C) 2005 Free Software Foundation
4
5;; Author: David Reitter <david.reitter@gmail.com>
6;; Keywords: mail
7
8;; This file is part of GNU Emacs.
9
10;; GNU Emacs is free software; you can redistribute it and/or modify
11;; it under the terms of the GNU General Public License as published by
12;; the Free Software Foundation; either version 2, or (at your option)
13;; any later version.
14
15;; GNU Emacs is distributed in the hope that it will be useful,
16;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;; GNU General Public License for more details.
19
20;; You should have received a copy of the GNU General Public License
21;; along with GNU Emacs; see the file COPYING. If not, write to the
22;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23;; Boston, MA 02110-1301, USA.
24
25;;; Commentary:
26
27;; This package allows to hand over a buffer to be sent off
28;; via the system's designated e-mail client.
29;; Note that the e-mail client will display the contents of the buffer
30;; again for editing.
31;; The e-mail client is taken to be whoever handles a mailto: URL
32;; via `browse-url'.
33;; Mailto: URLs are composed according to RFC2368.
34
35;; MIME bodies are not supported - we rather expect the mail client
36;; to encode the body and add, for example, a digital signature.
37;; The mailto URL RFC calls for "short text messages that are
38;; actually the content of automatic processing."
39;; So mailclient.el is ideal for situations where an e-mail is
40;; generated automatically, and the user can edit it in the
41;; mail client (e.g. bug-reports).
42
43;; To activate:
44;; (setq send-mail-function 'mailclient-send-it) ; if you use `mail'
45
46;;; Code:
47
48
49(require 'sendmail) ;; for mail-sendmail-undelimit-header
50(require 'mail-utils) ;; for mail-fetch-field
51
52(defcustom mailclient-place-body-on-clipboard-flag
53 (fboundp 'w32-set-clipboard-data)
54 "If non-nil, put the e-mail body on the clipboard in mailclient.
55This is useful on systems where only short mailto:// URLs are
56supported. Defaults to non-nil on Windows, nil otherwise."
57 :type 'boolean
58 :group 'mail)
59
60(defun mailclient-encode-string-as-url (string)
61 "Convert STRING to a URL, using utf-8 as encoding."
62 (apply (function concat)
63 (mapcar
64 (lambda (char)
65 (cond
66 ((eq char ?\x20) "%20") ;; space
67 ((eq char ?\n) "%0D%0A") ;; newline
68 ((string-match "[-a-zA-Z0-9_:/.@]" (char-to-string char))
69 (char-to-string char)) ;; printable
70 (t ;; everything else
71 (format "%%%02x" char)))) ;; escape
72 ;; Convert string to list of chars
73 (append (encode-coding-string string 'utf-8)))))
74
75(defvar mailclient-delim-static "?")
76(defun mailclient-url-delim ()
77 (let ((current mailclient-delim-static))
78 (setq mailclient-delim-static "&")
79 current))
80
81(defun mailclient-gather-addresses (str &optional drop-first-name)
82 (let ((field (mail-fetch-field str nil t)))
83 (if field
84 (save-excursion
85 (let ((first t)
86 (result ""))
87 (mapc
88 (lambda (recp)
89 (setq result
90 (concat
91 result
92 (if (and drop-first-name
93 first)
94 ""
95 (concat (mailclient-url-delim) str "="))
96 (mailclient-encode-string-as-url
97 recp)))
98 (setq first nil))
99 (split-string
100 (mail-strip-quoted-names field) "\, *"))
101 result)))))
102
103;;;###autoload
104(defun mailclient-send-it ()
105 "Pass current buffer on to the system's mail client.
106Suitable value for `send-mail-function'.
107The mail client is taken to be the handler of mailto URLs."
108 (require 'mail-utils)
109 (let ((case-fold-search nil)
110 delimline
111 (mailbuf (current-buffer)))
112 (unwind-protect
113 (with-temp-buffer
114 (insert-buffer-substring mailbuf)
115 ;; Move to header delimiter
116 (mail-sendmail-undelimit-header)
117 (setq delimline (point-marker))
118 (if mail-aliases
119 (expand-mail-aliases (point-min) delimline))
120 (goto-char (point-min))
121 ;; ignore any blank lines in the header
122 (while (and (re-search-forward "\n\n\n*" delimline t)
123 (< (point) delimline))
124 (replace-match "\n"))
125 (let ((case-fold-search t))
126 ;; initialize limiter
127 (setq mailclient-delim-static "?")
128 ;; construct and call up mailto URL
129 (browse-url
130 (concat
131 (save-excursion
132 (narrow-to-region (point-min) delimline)
133 (concat
134 "mailto:"
135 ;; some of the headers according to RFC822
136 (mailclient-gather-addresses "To"
137 'drop-first-name)
138 (mailclient-gather-addresses "cc" )
139 (mailclient-gather-addresses "bcc" )
140 (mailclient-gather-addresses "Resent-To" )
141 (mailclient-gather-addresses "Resent-cc" )
142 (mailclient-gather-addresses "Resent-bcc" )
143 (mailclient-gather-addresses "Reply-To" )
144 ;; The From field is not honored for now: it's
145 ;; not necessarily configured. The mail client
146 ;; knows the user's address(es)
147 ;; (mailclient-gather-addresses "From" )
148 ;; subject line
149 (let ((subj (mail-fetch-field "Subject" nil t)))
150 (widen) ;; so we can read the body later on
151 (if subj ;; if non-blank
152 ;; the mail client will deal with
153 ;; warning the user etc.
154 (concat (mailclient-url-delim) "subject="
155 (mailclient-encode-string-as-url subj))
156 ""))))
157 ;; body
158 (concat
159 (mailclient-url-delim) "body="
160 (mailclient-encode-string-as-url
161 (if mailclient-place-body-on-clipboard-flag
162 (progn
163 (clipboard-kill-ring-save
164 (+ 1 delimline) (point-max))
165 (concat
166 "*** E-Mail body has been placed on clipboard, "
167 "please paste them here! ***"))
168 ;; else
169 (buffer-substring (+ 1 delimline) (point-max))))))))))))
170
171(provide 'mailclient)
172
173;; arch-tag: 35d10fc8-a1bc-4f29-a4e6-c288e53578ef
174;;; mailclient.el ends here
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 9c4fe335828..1016b1ed1e6 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -3038,13 +3038,14 @@ Interactively, empty argument means use same regexp used last time."
3038 (interactive 3038 (interactive
3039 (let* ((reversep (< (prefix-numeric-value current-prefix-arg) 0)) 3039 (let* ((reversep (< (prefix-numeric-value current-prefix-arg) 0))
3040 (prompt 3040 (prompt
3041 (concat (if reversep "Reverse " "") "Rmail search (regexp): ")) 3041 (concat (if reversep "Reverse " "") "Rmail search (regexp"))
3042 regexp) 3042 regexp)
3043 (if rmail-search-last-regexp 3043 (setq prompt
3044 (setq prompt (concat prompt 3044 (concat prompt
3045 "(default " 3045 (if rmail-search-last-regexp
3046 rmail-search-last-regexp 3046 (concat ", default "
3047 ") "))) 3047 rmail-search-last-regexp "): ")
3048 "): ")))
3048 (setq regexp (read-string prompt)) 3049 (setq regexp (read-string prompt))
3049 (cond ((not (equal regexp "")) 3050 (cond ((not (equal regexp ""))
3050 (setq rmail-search-last-regexp regexp)) 3051 (setq rmail-search-last-regexp regexp))
@@ -3109,13 +3110,14 @@ Interactively, empty argument means use same regexp used last time."
3109 (interactive 3110 (interactive
3110 (let* ((reversep (>= (prefix-numeric-value current-prefix-arg) 0)) 3111 (let* ((reversep (>= (prefix-numeric-value current-prefix-arg) 0))
3111 (prompt 3112 (prompt
3112 (concat (if reversep "Reverse " "") "Rmail search (regexp): ")) 3113 (concat (if reversep "Reverse " "") "Rmail search (regexp"))
3113 regexp) 3114 regexp)
3114 (if rmail-search-last-regexp 3115 (setq prompt
3115 (setq prompt (concat prompt 3116 (concat prompt
3116 "(default " 3117 (if rmail-search-last-regexp
3117 rmail-search-last-regexp 3118 (concat ", default "
3118 ") "))) 3119 rmail-search-last-regexp "): ")
3120 "): ")))
3119 (setq regexp (read-string prompt)) 3121 (setq regexp (read-string prompt))
3120 (cond ((not (equal regexp "")) 3122 (cond ((not (equal regexp ""))
3121 (setq rmail-search-last-regexp regexp)) 3123 (setq rmail-search-last-regexp regexp))
diff --git a/lisp/mail/rmailout.el b/lisp/mail/rmailout.el
index a3b46ddaedf..d97c181eb81 100644
--- a/lisp/mail/rmailout.el
+++ b/lisp/mail/rmailout.el
@@ -63,9 +63,9 @@ Set `rmail-default-rmail-file' to this name as well as returning it."
63 (let ((read-file 63 (let ((read-file
64 (expand-file-name 64 (expand-file-name
65 (read-file-name 65 (read-file-name
66 (concat "Output message to Rmail file: (default " 66 (concat "Output message to Rmail file (default "
67 (file-name-nondirectory default-file) 67 (file-name-nondirectory default-file)
68 ") ") 68 "): ")
69 (file-name-directory default-file) 69 (file-name-directory default-file)
70 (abbreviate-file-name default-file)) 70 (abbreviate-file-name default-file))
71 (file-name-directory default-file)))) 71 (file-name-directory default-file))))
@@ -95,9 +95,9 @@ Set `rmail-default-file' to this name as well as returning it."
95 (let ((read-file 95 (let ((read-file
96 (expand-file-name 96 (expand-file-name
97 (read-file-name 97 (read-file-name
98 (concat "Output message to Unix mail file: (default " 98 (concat "Output message to Unix mail file (default "
99 (file-name-nondirectory default-file) 99 (file-name-nondirectory default-file)
100 ") ") 100 "): ")
101 (file-name-directory default-file) 101 (file-name-directory default-file)
102 (abbreviate-file-name default-file)) 102 (abbreviate-file-name default-file))
103 (file-name-directory default-file)))) 103 (file-name-directory default-file))))
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el
index ad2c275a679..497f2f75301 100644
--- a/lisp/mail/rmailsum.el
+++ b/lisp/mail/rmailsum.el
@@ -1346,13 +1346,14 @@ Interactively, empty argument means use same regexp used last time."
1346 (interactive 1346 (interactive
1347 (let* ((reversep (>= (prefix-numeric-value current-prefix-arg) 0)) 1347 (let* ((reversep (>= (prefix-numeric-value current-prefix-arg) 0))
1348 (prompt 1348 (prompt
1349 (concat (if reversep "Reverse " "") "Rmail search (regexp): ")) 1349 (concat (if reversep "Reverse " "") "Rmail search (regexp"))
1350 regexp) 1350 regexp)
1351 (if rmail-search-last-regexp 1351 (setq prompt
1352 (setq prompt (concat prompt 1352 (concat prompt
1353 "(default " 1353 (if rmail-search-last-regexp
1354 rmail-search-last-regexp 1354 (concat ", default "
1355 ") "))) 1355 rmail-search-last-regexp "): ")
1356 "): ")))
1356 (setq regexp (read-string prompt)) 1357 (setq regexp (read-string prompt))
1357 (cond ((not (equal regexp "")) 1358 (cond ((not (equal regexp ""))
1358 (setq rmail-search-last-regexp regexp)) 1359 (setq rmail-search-last-regexp regexp))
@@ -1377,13 +1378,14 @@ Interactively, empty argument means use same regexp used last time."
1377 (interactive 1378 (interactive
1378 (let* ((reversep (< (prefix-numeric-value current-prefix-arg) 0)) 1379 (let* ((reversep (< (prefix-numeric-value current-prefix-arg) 0))
1379 (prompt 1380 (prompt
1380 (concat (if reversep "Reverse " "") "Rmail search (regexp): ")) 1381 (concat (if reversep "Reverse " "") "Rmail search (regexp"))
1381 regexp) 1382 regexp)
1382 (if rmail-search-last-regexp 1383 (setq prompt
1383 (setq prompt (concat prompt 1384 (concat prompt
1384 "(default " 1385 (if rmail-search-last-regexp
1385 rmail-search-last-regexp 1386 (concat ", default "
1386 ") "))) 1387 rmail-search-last-regexp "): ")
1388 "): ")))
1387 (setq regexp (read-string prompt)) 1389 (setq regexp (read-string prompt))
1388 (cond ((not (equal regexp "")) 1390 (cond ((not (equal regexp ""))
1389 (setq rmail-search-last-regexp regexp)) 1391 (setq rmail-search-last-regexp regexp))
diff --git a/lisp/man.el b/lisp/man.el
index 60fc7c009e1..6c8a5a18b44 100644
--- a/lisp/man.el
+++ b/lisp/man.el
@@ -663,10 +663,10 @@ all sections related to a subject, put something appropriate into the
663 (interactive 663 (interactive
664 (list (let* ((default-entry (Man-default-man-entry)) 664 (list (let* ((default-entry (Man-default-man-entry))
665 (input (read-string 665 (input (read-string
666 (format "Manual entry%s: " 666 (format "Manual entry%s"
667 (if (string= default-entry "") 667 (if (string= default-entry "")
668 "" 668 ": "
669 (format " (default %s)" default-entry))) 669 (format " (default %s): " default-entry)))
670 nil nil default-entry))) 670 nil nil default-entry)))
671 (if (string= input "") 671 (if (string= input "")
672 (error "No man args given") 672 (error "No man args given")
@@ -1273,7 +1273,7 @@ Returns t if section is found, nil otherwise."
1273 (let* ((default (aheadsym Man-sections-alist)) 1273 (let* ((default (aheadsym Man-sections-alist))
1274 (completion-ignore-case t) 1274 (completion-ignore-case t)
1275 chosen 1275 chosen
1276 (prompt (concat "Go to section: (default " default ") "))) 1276 (prompt (concat "Go to section (default " default "): ")))
1277 (setq chosen (completing-read prompt Man-sections-alist)) 1277 (setq chosen (completing-read prompt Man-sections-alist))
1278 (if (or (not chosen) 1278 (if (or (not chosen)
1279 (string= chosen "")) 1279 (string= chosen ""))
@@ -1328,7 +1328,7 @@ Specify which REFERENCE to use; default is based on word at point."
1328 Man-refpages-alist)) 1328 Man-refpages-alist))
1329 (aheadsym Man-refpages-alist))) 1329 (aheadsym Man-refpages-alist)))
1330 chosen 1330 chosen
1331 (prompt (concat "Refer to: (default " default ") "))) 1331 (prompt (concat "Refer to (default " default "): ")))
1332 (setq chosen (completing-read prompt Man-refpages-alist)) 1332 (setq chosen (completing-read prompt Man-refpages-alist))
1333 (if (or (not chosen) 1333 (if (or (not chosen)
1334 (string= chosen "")) 1334 (string= chosen ""))
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog
index 631bc5cb6a3..e851b399ce0 100644
--- a/lisp/mh-e/ChangeLog
+++ b/lisp/mh-e/ChangeLog
@@ -1,3 +1,10 @@
12005-09-24 Emilio C. Lopes <eclig@gmx.net>
2
3 * mh-mime.el (mh-compose-forward, mh-mhn-compose-forw):
4 * mh-comp.el (mh-insert-letter):
5 * mh-utils.el (mh-prompt-for-folder):
6 Follow convention for reading with the minibuffer.
7
12005-09-19 Juanma Barranquero <lekktu@gmail.com> 82005-09-19 Juanma Barranquero <lekktu@gmail.com>
2 9
3 * mh-print.el (mh-ps-print-msg-show): Fix misplaced parenthesis in 10 * mh-print.el (mh-ps-print-msg-show): Fix misplaced parenthesis in
diff --git a/lisp/mh-e/mh-comp.el b/lisp/mh-e/mh-comp.el
index 59111098bf1..a99c05debea 100644
--- a/lisp/mh-e/mh-comp.el
+++ b/lisp/mh-e/mh-comp.el
@@ -1424,10 +1424,10 @@ not indent and do not delete headers. Leaves the mark before the letter
1424and point after it." 1424and point after it."
1425 (interactive 1425 (interactive
1426 (list (mh-prompt-for-folder "Message from" mh-sent-from-folder nil) 1426 (list (mh-prompt-for-folder "Message from" mh-sent-from-folder nil)
1427 (read-input (format "Message number%s: " 1427 (read-input (concat "Message number"
1428 (if (numberp mh-sent-from-msg) 1428 (if (numberp mh-sent-from-msg)
1429 (format " [%d]" mh-sent-from-msg) 1429 (format " (default %d): " mh-sent-from-msg)
1430 ""))) 1430 ": ")))
1431 current-prefix-arg)) 1431 current-prefix-arg))
1432 (save-restriction 1432 (save-restriction
1433 (narrow-to-region (point) (point)) 1433 (narrow-to-region (point) (point))
diff --git a/lisp/mh-e/mh-mime.el b/lisp/mh-e/mh-mime.el
index 980942a0f47..527d322c48a 100644
--- a/lisp/mh-e/mh-mime.el
+++ b/lisp/mh-e/mh-mime.el
@@ -81,10 +81,10 @@ If any of the optional arguments are absent, they are prompted for."
81 (interactive (list 81 (interactive (list
82 (read-string "Forw Content-description: ") 82 (read-string "Forw Content-description: ")
83 (mh-prompt-for-folder "Message from" mh-sent-from-folder nil) 83 (mh-prompt-for-folder "Message from" mh-sent-from-folder nil)
84 (read-string (format "Messages%s: " 84 (read-string (concat "Messages"
85 (if (numberp mh-sent-from-msg) 85 (if (numberp mh-sent-from-msg)
86 (format " [%d]" mh-sent-from-msg) 86 (format " (default %d): " mh-sent-from-msg)
87 ""))))) 87 ": ")))))
88 (if (equal mh-compose-insertion 'gnus) 88 (if (equal mh-compose-insertion 'gnus)
89 (mh-mml-forward-message description folder message) 89 (mh-mml-forward-message description folder message)
90 (mh-mhn-compose-forw description folder message))) 90 (mh-mhn-compose-forw description folder message)))
@@ -374,10 +374,10 @@ See also \\[mh-edit-mhn]."
374 (interactive (list 374 (interactive (list
375 (read-string "Forw Content-description: ") 375 (read-string "Forw Content-description: ")
376 (mh-prompt-for-folder "Message from" mh-sent-from-folder nil) 376 (mh-prompt-for-folder "Message from" mh-sent-from-folder nil)
377 (read-string (format "Messages%s: " 377 (read-string (concat "Messages"
378 (if (numberp mh-sent-from-msg) 378 (if (numberp mh-sent-from-msg)
379 (format " [%d]" mh-sent-from-msg) 379 (format " (default %d): " mh-sent-from-msg)
380 ""))))) 380 ": ")))))
381 (beginning-of-line) 381 (beginning-of-line)
382 (insert "#forw [") 382 (insert "#forw [")
383 (and description 383 (and description
diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el
index 522ccda088c..0e608e52062 100644
--- a/lisp/mh-e/mh-utils.el
+++ b/lisp/mh-e/mh-utils.el
@@ -2315,10 +2315,10 @@ non-nil then the function will accept the folder +, which means all folders
2315when used in searching." 2315when used in searching."
2316 (if (null default) 2316 (if (null default)
2317 (setq default "")) 2317 (setq default ""))
2318 (let* ((default-string (cond (default-string (format "[%s] " default-string)) 2318 (let* ((default-string (cond (default-string (format " (default %s)" default-string))
2319 ((equal "" default) "") 2319 ((equal "" default) "")
2320 (t (format "[%s] " default)))) 2320 (t (format " (default %s)" default))))
2321 (prompt (format "%s folder: %s" prompt default-string)) 2321 (prompt (format "%s folder%s: " prompt default-string))
2322 (mh-current-folder-name mh-current-folder) 2322 (mh-current-folder-name mh-current-folder)
2323 read-name folder-name) 2323 read-name folder-name)
2324 (while (and (setq read-name (mh-folder-completing-read 2324 (while (and (setq read-name (mh-folder-completing-read
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 3b591694cfe..5390abacb5c 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -405,7 +405,6 @@ MODE-LINE-P non-nil means dragging a mode line; nil means a header line."
405 (start-event-window (posn-window start)) 405 (start-event-window (posn-window start))
406 (start-event-frame (window-frame start-event-window)) 406 (start-event-frame (window-frame start-event-window))
407 (start-nwindows (count-windows t)) 407 (start-nwindows (count-windows t))
408 (old-selected-window (selected-window))
409 (minibuffer (frame-parameter nil 'minibuffer)) 408 (minibuffer (frame-parameter nil 'minibuffer))
410 should-enlarge-minibuffer event mouse y top bot edges wconfig growth) 409 should-enlarge-minibuffer event mouse y top bot edges wconfig growth)
411 (track-mouse 410 (track-mouse
@@ -553,7 +552,6 @@ resized by dragging their header-line."
553 (start-event-frame (window-frame (car (car (cdr start-event))))) 552 (start-event-frame (window-frame (car (car (cdr start-event)))))
554 (start-event-window (car (car (cdr start-event)))) 553 (start-event-window (car (car (cdr start-event))))
555 (start-nwindows (count-windows t)) 554 (start-nwindows (count-windows t))
556 (old-selected-window (selected-window))
557 event mouse x left right edges wconfig growth 555 event mouse x left right edges wconfig growth
558 (which-side 556 (which-side
559 (or (cdr (assq 'vertical-scroll-bars (frame-parameters start-event-frame))) 557 (or (cdr (assq 'vertical-scroll-bars (frame-parameters start-event-frame)))
@@ -745,9 +743,11 @@ Upon exit, point is at the far edge of the newly visible text."
745 (goto-char opoint)))) 743 (goto-char opoint))))
746 744
747;; Create an overlay and immediately delete it, to get "overlay in no buffer". 745;; Create an overlay and immediately delete it, to get "overlay in no buffer".
748(defvar mouse-drag-overlay (make-overlay 1 1)) 746(defconst mouse-drag-overlay
749(delete-overlay mouse-drag-overlay) 747 (let ((ol (make-overlay (point-min) (point-min))))
750(overlay-put mouse-drag-overlay 'face 'region) 748 (delete-overlay ol)
749 (overlay-put ol 'face 'region)
750 ol))
751 751
752(defvar mouse-selection-click-count 0) 752(defvar mouse-selection-click-count 0)
753 753
@@ -858,14 +858,34 @@ at the same position."
858 "mouse-1" (substring msg 7))))))) 858 "mouse-1" (substring msg 7)))))))
859 msg) 859 msg)
860 860
861(defun mouse-move-drag-overlay (ol start end mode)
862 (unless (= start end)
863 ;; Go to START first, so that when we move to END, if it's in the middle
864 ;; of intangible text, point jumps in the direction away from START.
865 ;; Don't do it if START=END otherwise a single click risks selecting
866 ;; a region if it's on intangible text. This exception was originally
867 ;; only applied on entry to mouse-drag-region, which had the problem
868 ;; that a tiny move during a single-click would cause the intangible
869 ;; text to be selected.
870 (goto-char start)
871 (goto-char end)
872 (setq end (point)))
873 (let ((range (mouse-start-end start end mode)))
874 (move-overlay ol (car range) (nth 1 range))))
875
861(defun mouse-drag-region-1 (start-event) 876(defun mouse-drag-region-1 (start-event)
862 (mouse-minibuffer-check start-event) 877 (mouse-minibuffer-check start-event)
863 (let* ((echo-keystrokes 0) 878 (setq mouse-selection-click-count-buffer (current-buffer))
879 (let* ((original-window (selected-window))
880 ;; We've recorded what we needed from the current buffer and
881 ;; window, now let's jump to the place of the event, where things
882 ;; are happening.
883 (_ (mouse-set-point start-event))
884 (echo-keystrokes 0)
864 (start-posn (event-start start-event)) 885 (start-posn (event-start start-event))
865 (start-point (posn-point start-posn)) 886 (start-point (posn-point start-posn))
866 (start-window (posn-window start-posn)) 887 (start-window (posn-window start-posn))
867 (start-window-start (window-start start-window)) 888 (start-window-start (window-start start-window))
868 (start-frame (window-frame start-window))
869 (start-hscroll (window-hscroll start-window)) 889 (start-hscroll (window-hscroll start-window))
870 (bounds (window-edges start-window)) 890 (bounds (window-edges start-window))
871 (make-cursor-line-fully-visible nil) 891 (make-cursor-line-fully-visible nil)
@@ -876,39 +896,34 @@ at the same position."
876 (1- (nth 3 bounds)))) 896 (1- (nth 3 bounds))))
877 (on-link (and mouse-1-click-follows-link 897 (on-link (and mouse-1-click-follows-link
878 (or mouse-1-click-in-non-selected-windows 898 (or mouse-1-click-in-non-selected-windows
879 (eq start-window (selected-window))))) 899 (eq start-window original-window))
880 remap-double-click 900 ;; Use start-point before the intangibility
881 (click-count (1- (event-click-count start-event)))) 901 ;; treatment, in case we click on a link inside an
902 ;; intangible text.
903 (mouse-on-link-p start-point)))
904 (click-count (1- (event-click-count start-event)))
905 (remap-double-click (and on-link
906 (eq mouse-1-click-follows-link 'double)
907 (= click-count 1))))
882 (setq mouse-selection-click-count click-count) 908 (setq mouse-selection-click-count click-count)
883 (setq mouse-selection-click-count-buffer (current-buffer))
884 (mouse-set-point start-event)
885 ;; In case the down click is in the middle of some intangible text, 909 ;; In case the down click is in the middle of some intangible text,
886 ;; use the end of that text, and put it in START-POINT. 910 ;; use the end of that text, and put it in START-POINT.
887 (if (< (point) start-point) 911 (if (< (point) start-point)
888 (goto-char start-point)) 912 (goto-char start-point))
889 (setq start-point (point)) 913 (setq start-point (point))
890 (setq on-link (and on-link 914 (if remap-double-click ;; Don't expand mouse overlay in links
891 (mouse-on-link-p start-point)))
892 (setq remap-double-click (and on-link
893 (eq mouse-1-click-follows-link 'double)
894 (= click-count 1)))
895 (if remap-double-click ;; Don't expand mouse overlay in links
896 (setq click-count 0)) 915 (setq click-count 0))
897 (let ((range (mouse-start-end start-point start-point click-count))) 916 (mouse-move-drag-overlay mouse-drag-overlay start-point start-point
898 (move-overlay mouse-drag-overlay (car range) (nth 1 range) 917 click-count)
899 (window-buffer start-window)) 918 (overlay-put mouse-drag-overlay 'window start-window)
900 (overlay-put mouse-drag-overlay 'window (selected-window)))
901 (deactivate-mark) 919 (deactivate-mark)
902 ;; end-of-range is used only in the single-click case. 920 (let (event end end-point last-end-point)
903 ;; It is the place where the drag has reached so far
904 ;; (but not outside the window where the drag started).
905 (let (event end end-point last-end-point (end-of-range (point)))
906 (track-mouse 921 (track-mouse
907 (while (progn 922 (while (progn
908 (setq event (read-event)) 923 (setq event (read-event))
909 (or (mouse-movement-p event) 924 (or (mouse-movement-p event)
910 (memq (car-safe event) '(switch-frame select-window)))) 925 (memq (car-safe event) '(switch-frame select-window))))
911 (if (memq (car-safe event) '(switch-frame select-window)) 926 (if (memq (car-safe event) '(switch-frame select-window))
912 nil 927 nil
913 (setq end (event-end event) 928 (setq end (event-end event)
914 end-point (posn-point end)) 929 end-point (posn-point end))
@@ -919,53 +934,33 @@ at the same position."
919 ;; Are we moving within the original window? 934 ;; Are we moving within the original window?
920 ((and (eq (posn-window end) start-window) 935 ((and (eq (posn-window end) start-window)
921 (integer-or-marker-p end-point)) 936 (integer-or-marker-p end-point))
922 ;; Go to START-POINT first, so that when we move to END-POINT, 937 (mouse-move-drag-overlay mouse-drag-overlay start-point end-point click-count))
923 ;; if it's in the middle of intangible text,
924 ;; point jumps in the direction away from START-POINT.
925 (goto-char start-point)
926 (goto-char end-point)
927 (if (zerop (% click-count 3))
928 (setq end-of-range (point)))
929 (let ((range (mouse-start-end start-point (point) click-count)))
930 (move-overlay mouse-drag-overlay (car range) (nth 1 range))))
931 938
932 (t 939 (t
933 (let ((mouse-row (cdr (cdr (mouse-position))))) 940 (let ((mouse-row (cdr (cdr (mouse-position)))))
934 (cond 941 (cond
935 ((null mouse-row)) 942 ((null mouse-row))
936 ((< mouse-row top) 943 ((< mouse-row top)
937 (mouse-scroll-subr start-window (- mouse-row top) 944 (mouse-scroll-subr start-window (- mouse-row top)
938 mouse-drag-overlay start-point) 945 mouse-drag-overlay start-point))
939 ;; Without this, point tends to jump back to the starting 946 ((>= mouse-row bottom)
940 ;; position where the mouse button was pressed down. 947 (mouse-scroll-subr start-window (1+ (- mouse-row bottom))
941 (setq end-of-range (overlay-start mouse-drag-overlay))) 948 mouse-drag-overlay start-point)))))))))
942 ((>= mouse-row bottom)
943 (mouse-scroll-subr start-window (1+ (- mouse-row bottom))
944 mouse-drag-overlay start-point)
945 (setq end-of-range (overlay-end mouse-drag-overlay))))))))))
946 949
947 ;; In case we did not get a mouse-motion event 950 ;; In case we did not get a mouse-motion event
948 ;; for the final move of the mouse before a drag event 951 ;; for the final move of the mouse before a drag event
949 ;; pretend that we did get one. 952 ;; pretend that we did get one.
950 (when (and (memq 'drag (event-modifiers (car-safe event))) 953 (when (and (memq 'drag (event-modifiers (car-safe event)))
951 (setq end (event-end event) 954 (setq end (event-end event)
952 end-point (posn-point end)) 955 end-point (posn-point end))
953 (eq (posn-window end) start-window) 956 (eq (posn-window end) start-window)
954 (integer-or-marker-p end-point)) 957 (integer-or-marker-p end-point))
955 ;; Go to START-POINT first, so that when we move to END-POINT, 958 (mouse-move-drag-overlay mouse-drag-overlay start-point end-point click-count))
956 ;; if it's in the middle of intangible text,
957 ;; point jumps in the direction away from START-POINT.
958 (goto-char start-point)
959 (goto-char end-point)
960 (if (zerop (% click-count 3))
961 (setq end-of-range (point)))
962 (let ((range (mouse-start-end start-point (point) click-count)))
963 (move-overlay mouse-drag-overlay (car range) (nth 1 range))))
964 959
965 (if (consp event) 960 (if (consp event)
966 (let ((fun (key-binding (vector (car event))))) 961 (let ((fun (key-binding (vector (car event)))))
967 ;; Run the binding of the terminating up-event, if possible. 962 ;; Run the binding of the terminating up-event, if possible.
968 ;; In the case of a multiple click, it gives the wrong results, 963 ;; In the case of a multiple click, it gives the wrong results,
969 ;; because it would fail to set up a region. 964 ;; because it would fail to set up a region.
970 (if (not (= (overlay-start mouse-drag-overlay) 965 (if (not (= (overlay-start mouse-drag-overlay)
971 (overlay-end mouse-drag-overlay))) 966 (overlay-end mouse-drag-overlay)))
@@ -976,74 +971,75 @@ at the same position."
976 ;; The end that comes from where we ended the drag. 971 ;; The end that comes from where we ended the drag.
977 ;; Point goes here. 972 ;; Point goes here.
978 (region-termination 973 (region-termination
979 (if (and stop-point (< stop-point start-point)) 974 (if (and stop-point (< stop-point start-point))
980 (overlay-start mouse-drag-overlay) 975 (overlay-start mouse-drag-overlay)
981 (overlay-end mouse-drag-overlay))) 976 (overlay-end mouse-drag-overlay)))
982 ;; The end that comes from where we started the drag. 977 ;; The end that comes from where we started the drag.
983 ;; Mark goes there. 978 ;; Mark goes there.
984 (region-commencement 979 (region-commencement
985 (- (+ (overlay-end mouse-drag-overlay) 980 (- (+ (overlay-end mouse-drag-overlay)
986 (overlay-start mouse-drag-overlay)) 981 (overlay-start mouse-drag-overlay))
987 region-termination)) 982 region-termination))
988 last-command this-command) 983 last-command this-command)
989 (push-mark region-commencement t t) 984 (push-mark region-commencement t t)
990 (goto-char region-termination) 985 (goto-char region-termination)
991 ;; Don't let copy-region-as-kill set deactivate-mark. 986 ;; Don't let copy-region-as-kill set deactivate-mark.
992 (when mouse-drag-copy-region 987 (when mouse-drag-copy-region
993 (let (deactivate-mark) 988 (let (deactivate-mark)
994 (copy-region-as-kill (point) (mark t)))) 989 (copy-region-as-kill (point) (mark t))))
995 (let ((buffer (current-buffer))) 990 (let ((buffer (current-buffer)))
996 (mouse-show-mark) 991 (mouse-show-mark)
997 ;; mouse-show-mark can call read-event, 992 ;; mouse-show-mark can call read-event,
998 ;; and that means the Emacs server could switch buffers 993 ;; and that means the Emacs server could switch buffers
999 ;; under us. If that happened, 994 ;; under us. If that happened,
1000 ;; avoid trying to use the region. 995 ;; avoid trying to use the region.
1001 (and (mark t) mark-active 996 (and (mark t) mark-active
1002 (eq buffer (current-buffer)) 997 (eq buffer (current-buffer))
1003 (mouse-set-region-1)))) 998 (mouse-set-region-1))))
1004 (delete-overlay mouse-drag-overlay) 999 (delete-overlay mouse-drag-overlay)
1005 ;; Run the binding of the terminating up-event. 1000 ;; Run the binding of the terminating up-event.
1006 (when (and (functionp fun) 1001 (when (and (functionp fun)
1007 (= start-hscroll (window-hscroll start-window)) 1002 (= start-hscroll (window-hscroll start-window))
1008 ;; Don't run the up-event handler if the 1003 ;; Don't run the up-event handler if the
1009 ;; window start changed in a redisplay after 1004 ;; window start changed in a redisplay after
1010 ;; the mouse-set-point for the down-mouse 1005 ;; the mouse-set-point for the down-mouse
1011 ;; event at the beginning of this function. 1006 ;; event at the beginning of this function.
1012 ;; When the window start has changed, the 1007 ;; When the window start has changed, the
1013 ;; up-mouse event will contain a different 1008 ;; up-mouse event will contain a different
1014 ;; position due to the new window contents, 1009 ;; position due to the new window contents,
1015 ;; and point is set again. 1010 ;; and point is set again.
1016 (or end-point 1011 (or end-point
1017 (= (window-start start-window) 1012 (= (window-start start-window)
1018 start-window-start))) 1013 start-window-start)))
1019 (if (and on-link 1014 (if (and on-link
1020 (or (not end-point) (= end-point start-point)) 1015 (or (not end-point) (= end-point start-point))
1021 (consp event) 1016 (consp event)
1022 (or remap-double-click 1017 (or remap-double-click
1023 (and 1018 (and
1024 (not (eq mouse-1-click-follows-link 'double)) 1019 (not (eq mouse-1-click-follows-link 'double))
1025 (= click-count 0) 1020 (= click-count 0)
1026 (= (event-click-count event) 1) 1021 (= (event-click-count event) 1)
1027 (not (input-pending-p)) 1022 (not (input-pending-p))
1028 (or (not (integerp mouse-1-click-follows-link)) 1023 (or (not (integerp mouse-1-click-follows-link))
1029 (let ((t0 (posn-timestamp (event-start start-event))) 1024 (let ((t0 (posn-timestamp (event-start start-event)))
1030 (t1 (posn-timestamp (event-end event)))) 1025 (t1 (posn-timestamp (event-end event))))
1031 (and (integerp t0) (integerp t1) 1026 (and (integerp t0) (integerp t1)
1032 (if (> mouse-1-click-follows-link 0) 1027 (if (> mouse-1-click-follows-link 0)
1033 (<= (- t1 t0) mouse-1-click-follows-link) 1028 (<= (- t1 t0) mouse-1-click-follows-link)
1034 (< (- t0 t1) mouse-1-click-follows-link))))) 1029 (< (- t0 t1) mouse-1-click-follows-link)))))
1035 (or (not double-click-time) 1030 (or (not double-click-time)
1036 (sit-for 0 (if (integerp double-click-time) 1031 (sit-for 0 (if (integerp double-click-time)
1037 double-click-time 500) t))))) 1032 double-click-time 500) t)))))
1038 (if (or (vectorp on-link) (stringp on-link)) 1033 (if (or (vectorp on-link) (stringp on-link))
1039 (setq event (aref on-link 0)) 1034 (setq event (aref on-link 0))
1040 (setcar event 'mouse-2))) 1035 (setcar event 'mouse-2)))
1041 (setq unread-command-events 1036 (push event unread-command-events))))
1042 (cons event unread-command-events))))) 1037
1038 ;; Case where the end-event is not a cons cell (it's just a boring
1039 ;; char-key-press).
1043 (delete-overlay mouse-drag-overlay))))) 1040 (delete-overlay mouse-drag-overlay)))))
1044 1041
1045;; Commands to handle xterm-style multiple clicks. 1042;; Commands to handle xterm-style multiple clicks.
1046
1047(defun mouse-skip-word (dir) 1043(defun mouse-skip-word (dir)
1048 "Skip over word, over whitespace, or over identical punctuation. 1044 "Skip over word, over whitespace, or over identical punctuation.
1049If DIR is positive skip forward; if negative, skip backward." 1045If DIR is positive skip forward; if negative, skip backward."
@@ -1352,8 +1348,8 @@ If you do this twice in the same position, the selection is killed."
1352 ;; Don't let a subsequent kill command append to this one: 1348 ;; Don't let a subsequent kill command append to this one:
1353 ;; prevent setting this-command to kill-region. 1349 ;; prevent setting this-command to kill-region.
1354 (this-command this-command)) 1350 (this-command this-command))
1355 (if (and (save-excursion 1351 (if (and (with-current-buffer
1356 (set-buffer (window-buffer (posn-window (event-start click)))) 1352 (window-buffer (posn-window (event-start click)))
1357 (and (mark t) (> (mod mouse-selection-click-count 3) 0) 1353 (and (mark t) (> (mod mouse-selection-click-count 3) 0)
1358 ;; Don't be fooled by a recent click in some other buffer. 1354 ;; Don't be fooled by a recent click in some other buffer.
1359 (eq mouse-selection-click-count-buffer 1355 (eq mouse-selection-click-count-buffer
@@ -1416,15 +1412,14 @@ If you do this twice in the same position, the selection is killed."
1416 (goto-char new) 1412 (goto-char new)
1417 (set-mark new)) 1413 (set-mark new))
1418 (setq deactivate-mark nil))) 1414 (setq deactivate-mark nil)))
1419 (kill-new (buffer-substring (point) (mark t)) t) 1415 (kill-new (buffer-substring (point) (mark t)) t))
1420 (mouse-show-mark))
1421 ;; Set the mark where point is, then move where clicked. 1416 ;; Set the mark where point is, then move where clicked.
1422 (mouse-set-mark-fast click) 1417 (mouse-set-mark-fast click)
1423 (if before-scroll 1418 (if before-scroll
1424 (goto-char before-scroll)) 1419 (goto-char before-scroll))
1425 (exchange-point-and-mark) 1420 (exchange-point-and-mark) ;Why??? --Stef
1426 (kill-new (buffer-substring (point) (mark t))) 1421 (kill-new (buffer-substring (point) (mark t))))
1427 (mouse-show-mark)) 1422 (mouse-show-mark)
1428 (mouse-set-region-1) 1423 (mouse-set-region-1)
1429 (setq mouse-save-then-kill-posn 1424 (setq mouse-save-then-kill-posn
1430 (list (car kill-ring) (point) click-posn))))))) 1425 (list (car kill-ring) (point) click-posn)))))))
@@ -1435,10 +1430,13 @@ If you do this twice in the same position, the selection is killed."
1435(global-set-key [M-mouse-3] 'mouse-secondary-save-then-kill) 1430(global-set-key [M-mouse-3] 'mouse-secondary-save-then-kill)
1436(global-set-key [M-mouse-2] 'mouse-yank-secondary) 1431(global-set-key [M-mouse-2] 'mouse-yank-secondary)
1437 1432
1438;; An overlay which records the current secondary selection 1433(defconst mouse-secondary-overlay
1439;; or else is deleted when there is no secondary selection. 1434 (let ((ol (make-overlay (point-min) (point-min))))
1440;; May be nil. 1435 (delete-overlay ol)
1441(defvar mouse-secondary-overlay nil) 1436 (overlay-put ol 'face 'secondary-selection)
1437 ol)
1438 "An overlay which records the current secondary selection.
1439It is deleted when there is no secondary selection.")
1442 1440
1443(defvar mouse-secondary-click-count 0) 1441(defvar mouse-secondary-click-count 0)
1444 1442
@@ -1453,11 +1451,9 @@ and complete the secondary selection."
1453 (interactive "e") 1451 (interactive "e")
1454 (mouse-minibuffer-check click) 1452 (mouse-minibuffer-check click)
1455 (let ((posn (event-start click))) 1453 (let ((posn (event-start click)))
1456 (save-excursion 1454 (with-current-buffer (window-buffer (posn-window posn))
1457 (set-buffer (window-buffer (posn-window posn)))
1458 ;; Cancel any preexisting secondary selection. 1455 ;; Cancel any preexisting secondary selection.
1459 (if mouse-secondary-overlay 1456 (delete-overlay mouse-secondary-overlay)
1460 (delete-overlay mouse-secondary-overlay))
1461 (if (numberp (posn-point posn)) 1457 (if (numberp (posn-point posn))
1462 (progn 1458 (progn
1463 (or mouse-secondary-start 1459 (or mouse-secondary-start
@@ -1472,14 +1468,10 @@ This must be bound to a mouse drag event."
1472 (let ((posn (event-start click)) 1468 (let ((posn (event-start click))
1473 beg 1469 beg
1474 (end (event-end click))) 1470 (end (event-end click)))
1475 (save-excursion 1471 (with-current-buffer (window-buffer (posn-window posn))
1476 (set-buffer (window-buffer (posn-window posn)))
1477 (if (numberp (posn-point posn)) 1472 (if (numberp (posn-point posn))
1478 (setq beg (posn-point posn))) 1473 (setq beg (posn-point posn)))
1479 (if mouse-secondary-overlay 1474 (move-overlay mouse-secondary-overlay beg (posn-point end)))))
1480 (move-overlay mouse-secondary-overlay beg (posn-point end))
1481 (setq mouse-secondary-overlay (make-overlay beg (posn-point end))))
1482 (overlay-put mouse-secondary-overlay 'face 'secondary-selection))))
1483 1475
1484(defun mouse-drag-secondary (start-event) 1476(defun mouse-drag-secondary (start-event)
1485 "Set the secondary selection to the text that the mouse is dragged over. 1477 "Set the secondary selection to the text that the mouse is dragged over.
@@ -1492,7 +1484,6 @@ The function returns a non-nil value if it creates a secondary selection."
1492 (start-posn (event-start start-event)) 1484 (start-posn (event-start start-event))
1493 (start-point (posn-point start-posn)) 1485 (start-point (posn-point start-posn))
1494 (start-window (posn-window start-posn)) 1486 (start-window (posn-window start-posn))
1495 (start-frame (window-frame start-window))
1496 (bounds (window-edges start-window)) 1487 (bounds (window-edges start-window))
1497 (top (nth 1 bounds)) 1488 (top (nth 1 bounds))
1498 (bottom (if (window-minibuffer-p start-window) 1489 (bottom (if (window-minibuffer-p start-window)
@@ -1500,20 +1491,16 @@ The function returns a non-nil value if it creates a secondary selection."
1500 ;; Don't count the mode line. 1491 ;; Don't count the mode line.
1501 (1- (nth 3 bounds)))) 1492 (1- (nth 3 bounds))))
1502 (click-count (1- (event-click-count start-event)))) 1493 (click-count (1- (event-click-count start-event))))
1503 (save-excursion 1494 (with-current-buffer (window-buffer start-window)
1504 (set-buffer (window-buffer start-window))
1505 (setq mouse-secondary-click-count click-count) 1495 (setq mouse-secondary-click-count click-count)
1506 (or mouse-secondary-overlay
1507 (setq mouse-secondary-overlay
1508 (make-overlay (point) (point))))
1509 (overlay-put mouse-secondary-overlay 'face 'secondary-selection)
1510 (if (> (mod click-count 3) 0) 1496 (if (> (mod click-count 3) 0)
1511 ;; Double or triple press: make an initial selection 1497 ;; Double or triple press: make an initial selection
1512 ;; of one word or line. 1498 ;; of one word or line.
1513 (let ((range (mouse-start-end start-point start-point click-count))) 1499 (let ((range (mouse-start-end start-point start-point click-count)))
1514 (set-marker mouse-secondary-start nil) 1500 (set-marker mouse-secondary-start nil)
1515 (move-overlay mouse-secondary-overlay 1 1 1501 ;; Why the double move? --Stef
1516 (window-buffer start-window)) 1502 ;; (move-overlay mouse-secondary-overlay 1 1
1503 ;; (window-buffer start-window))
1517 (move-overlay mouse-secondary-overlay (car range) (nth 1 range) 1504 (move-overlay mouse-secondary-overlay (car range) (nth 1 range)
1518 (window-buffer start-window))) 1505 (window-buffer start-window)))
1519 ;; Single-press: cancel any preexisting secondary selection. 1506 ;; Single-press: cancel any preexisting secondary selection.
@@ -1598,13 +1585,12 @@ is to prevent accidents."
1598 (current-buffer))) 1585 (current-buffer)))
1599 (error "Select or click on the buffer where the secondary selection is"))) 1586 (error "Select or click on the buffer where the secondary selection is")))
1600 (let (this-command) 1587 (let (this-command)
1601 (save-excursion 1588 (with-current-buffer (overlay-buffer mouse-secondary-overlay)
1602 (set-buffer (overlay-buffer mouse-secondary-overlay))
1603 (kill-region (overlay-start mouse-secondary-overlay) 1589 (kill-region (overlay-start mouse-secondary-overlay)
1604 (overlay-end mouse-secondary-overlay)))) 1590 (overlay-end mouse-secondary-overlay))))
1605 (delete-overlay mouse-secondary-overlay) 1591 (delete-overlay mouse-secondary-overlay)
1606;;; (x-set-selection 'SECONDARY nil) 1592;;; (x-set-selection 'SECONDARY nil)
1607 (setq mouse-secondary-overlay nil)) 1593 )
1608 1594
1609(defun mouse-secondary-save-then-kill (click) 1595(defun mouse-secondary-save-then-kill (click)
1610 "Save text to point in kill ring; the second time, kill the text. 1596 "Save text to point in kill ring; the second time, kill the text.
@@ -1627,13 +1613,11 @@ again. If you do this twice in the same position, it kills the selection."
1627 ;; prevent setting this-command to kill-region. 1613 ;; prevent setting this-command to kill-region.
1628 (this-command this-command)) 1614 (this-command this-command))
1629 (or (eq (window-buffer (posn-window posn)) 1615 (or (eq (window-buffer (posn-window posn))
1630 (or (and mouse-secondary-overlay 1616 (or (overlay-buffer mouse-secondary-overlay)
1631 (overlay-buffer mouse-secondary-overlay))
1632 (if mouse-secondary-start 1617 (if mouse-secondary-start
1633 (marker-buffer mouse-secondary-start)))) 1618 (marker-buffer mouse-secondary-start))))
1634 (error "Wrong buffer")) 1619 (error "Wrong buffer"))
1635 (save-excursion 1620 (with-current-buffer (window-buffer (posn-window posn))
1636 (set-buffer (window-buffer (posn-window posn)))
1637 (if (> (mod mouse-secondary-click-count 3) 0) 1621 (if (> (mod mouse-secondary-click-count 3) 0)
1638 (if (not (and (eq last-command 'mouse-secondary-save-then-kill) 1622 (if (not (and (eq last-command 'mouse-secondary-save-then-kill)
1639 (equal click-posn 1623 (equal click-posn
@@ -1712,10 +1696,7 @@ again. If you do this twice in the same position, it kills the selection."
1712 ;; so put the other end here. 1696 ;; so put the other end here.
1713 (let ((start (+ 0 mouse-secondary-start))) 1697 (let ((start (+ 0 mouse-secondary-start)))
1714 (kill-ring-save start click-posn) 1698 (kill-ring-save start click-posn)
1715 (if mouse-secondary-overlay 1699 (move-overlay mouse-secondary-overlay start click-posn))))
1716 (move-overlay mouse-secondary-overlay start click-posn)
1717 (setq mouse-secondary-overlay (make-overlay start click-posn)))
1718 (overlay-put mouse-secondary-overlay 'face 'secondary-selection))))
1719 (setq mouse-save-then-kill-posn 1700 (setq mouse-save-then-kill-posn
1720 (list (car kill-ring) (point) click-posn)))) 1701 (list (car kill-ring) (point) click-posn))))
1721 (if (overlay-buffer mouse-secondary-overlay) 1702 (if (overlay-buffer mouse-secondary-overlay)
@@ -2433,5 +2414,5 @@ and selects that window."
2433(make-obsolete 'mldrag-drag-vertical-line 'mouse-drag-vertical-line "21.1") 2414(make-obsolete 'mldrag-drag-vertical-line 'mouse-drag-vertical-line "21.1")
2434(provide 'mldrag) 2415(provide 'mldrag)
2435 2416
2436;;; arch-tag: 9a710ce1-914a-4923-9b81-697f7bf82ab3 2417;; arch-tag: 9a710ce1-914a-4923-9b81-697f7bf82ab3
2437;;; mouse.el ends here 2418;;; mouse.el ends here
diff --git a/lisp/net/eudcb-ldap.el b/lisp/net/eudcb-ldap.el
index e28a044ba55..93f7c24d077 100644
--- a/lisp/net/eudcb-ldap.el
+++ b/lisp/net/eudcb-ldap.el
@@ -194,7 +194,7 @@ attribute names are returned. Default to `person'"
194 "Check if the current LDAP server has a configured search base." 194 "Check if the current LDAP server has a configured search base."
195 (unless (or (eudc-ldap-get-host-parameter eudc-server 'base) 195 (unless (or (eudc-ldap-get-host-parameter eudc-server 'base)
196 ldap-default-base 196 ldap-default-base
197 (null (y-or-n-p "No search base defined. Configure it now ?"))) 197 (null (y-or-n-p "No search base defined. Configure it now? ")))
198 ;; If the server is not in ldap-host-parameters-alist we add it for the 198 ;; If the server is not in ldap-host-parameters-alist we add it for the
199 ;; user 199 ;; user
200 (if (null (assoc eudc-server ldap-host-parameters-alist)) 200 (if (null (assoc eudc-server ldap-host-parameters-alist))
diff --git a/lisp/net/newsticker.el b/lisp/net/newsticker.el
index acbac4bb3f2..f1ee41563f3 100644
--- a/lisp/net/newsticker.el
+++ b/lisp/net/newsticker.el
@@ -26,9 +26,8 @@
26;; General Public License for more details. 26;; General Public License for more details.
27 27
28;; You should have received a copy of the GNU General Public License 28;; You should have received a copy of the GNU General Public License
29;; along with this program; if not, write to the Free Software 29;; along with this program; if not, write to the Free Software Foundation,
30;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 30;; Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
31;; USA
32 31
33;; ====================================================================== 32;; ======================================================================
34;;; Commentary: 33;;; Commentary:
diff --git a/lisp/net/rcompile.el b/lisp/net/rcompile.el
index 47ee84d42b8..c643d72da97 100644
--- a/lisp/net/rcompile.el
+++ b/lisp/net/rcompile.el
@@ -138,7 +138,7 @@ See \\[compile]."
138 remote-compile-host) 138 remote-compile-host)
139 user (if remote-compile-prompt-for-user 139 user (if remote-compile-prompt-for-user
140 (read-from-minibuffer (format 140 (read-from-minibuffer (format
141 "Compile by user (default %s)" 141 "Compile by user (default %s): "
142 (or remote-compile-user 142 (or remote-compile-user
143 (user-login-name))) 143 (user-login-name)))
144 "" nil nil 144 "" nil nil
diff --git a/lisp/play/animate.el b/lisp/play/animate.el
index 662adf119b7..47f08a8b098 100644
--- a/lisp/play/animate.el
+++ b/lisp/play/animate.el
@@ -156,7 +156,7 @@ Strings will be separated from each other by SPACE lines."
156(defun animate-birthday-present (&optional name) 156(defun animate-birthday-present (&optional name)
157 "Display one's birthday present in a new buffer. 157 "Display one's birthday present in a new buffer.
158You can specify the one's name by NAME; the default value is \"Sarah\"." 158You can specify the one's name by NAME; the default value is \"Sarah\"."
159 (interactive (list (read-string "Name (default \"Sarah\"): " 159 (interactive (list (read-string "Name (default Sarah): "
160 nil nil "Sarah"))) 160 nil nil "Sarah")))
161 ;; Make a suitable buffer to display the birthday present in. 161 ;; Make a suitable buffer to display the birthday present in.
162 (switch-to-buffer (get-buffer-create (format "*%s*" name))) 162 (switch-to-buffer (get-buffer-create (format "*%s*" name)))
diff --git a/lisp/play/gomoku.el b/lisp/play/gomoku.el
index e9f7a07abe9..c7089ddd7f7 100644
--- a/lisp/play/gomoku.el
+++ b/lisp/play/gomoku.el
@@ -671,11 +671,11 @@ that DVAL has been added on SQUARE."
671 (cond ((< gomoku-number-of-moves 20) 671 (cond ((< gomoku-number-of-moves 20)
672 "This was a REALLY QUICK win.") 672 "This was a REALLY QUICK win.")
673 (gomoku-human-refused-draw 673 (gomoku-human-refused-draw
674 "I won... Too bad you refused my offer of a draw !") 674 "I won... Too bad you refused my offer of a draw!")
675 (gomoku-human-took-back 675 (gomoku-human-took-back
676 "I won... Taking moves back will not help you !") 676 "I won... Taking moves back will not help you!")
677 ((not gomoku-emacs-played-first) 677 ((not gomoku-emacs-played-first)
678 "I won... Playing first did not help you much !") 678 "I won... Playing first did not help you much!")
679 ((and (zerop gomoku-number-of-human-wins) 679 ((and (zerop gomoku-number-of-human-wins)
680 (zerop gomoku-number-of-draws) 680 (zerop gomoku-number-of-draws)
681 (> gomoku-number-of-emacs-wins 1)) 681 (> gomoku-number-of-emacs-wins 1))
@@ -688,7 +688,7 @@ that DVAL has been added on SQUARE."
688 (gomoku-human-took-back 688 (gomoku-human-took-back
689 " I, for one, never take my moves back...") 689 " I, for one, never take my moves back...")
690 (gomoku-emacs-played-first 690 (gomoku-emacs-played-first
691 ".. so what ?") 691 ".. so what?")
692 (" Now, let me play first just once.")))) 692 (" Now, let me play first just once."))))
693 ((eq result 'human-resigned) 693 ((eq result 'human-resigned)
694 (setq gomoku-number-of-emacs-wins (1+ gomoku-number-of-emacs-wins)) 694 (setq gomoku-number-of-emacs-wins (1+ gomoku-number-of-emacs-wins))
@@ -758,7 +758,7 @@ Use \\[describe-mode] for more info."
758 (setq gomoku-emacs-is-computing nil) 758 (setq gomoku-emacs-is-computing nil)
759 (gomoku-terminate-game 'crash-game) 759 (gomoku-terminate-game 'crash-game)
760 (sit-for 4) 760 (sit-for 4)
761 (or (y-or-n-p "Another game ") (error "Chicken !"))) 761 (or (y-or-n-p "Another game? ") (error "Chicken!")))
762 (switch-to-buffer gomoku-buffer-name) 762 (switch-to-buffer gomoku-buffer-name)
763 (gomoku-mode)) 763 (gomoku-mode))
764 (cond 764 (cond
@@ -779,14 +779,14 @@ Use \\[describe-mode] for more info."
779 (if (and (> m max-height) 779 (if (and (> m max-height)
780 (not (eq m gomoku-saved-board-height)) 780 (not (eq m gomoku-saved-board-height))
781 ;; Use EQ because SAVED-BOARD-HEIGHT may be nil 781 ;; Use EQ because SAVED-BOARD-HEIGHT may be nil
782 (not (y-or-n-p (format "Do you really want %d rows " m)))) 782 (not (y-or-n-p (format "Do you really want %d rows? " m))))
783 (setq m max-height))) 783 (setq m max-height)))
784 (message "One moment, please...") 784 (message "One moment, please...")
785 (gomoku-start-game n m) 785 (gomoku-start-game n m)
786 (if (y-or-n-p "Do you allow me to play first ") 786 (if (y-or-n-p "Do you allow me to play first? ")
787 (gomoku-emacs-plays) 787 (gomoku-emacs-plays)
788 (gomoku-prompt-for-move))) 788 (gomoku-prompt-for-move)))
789 ((y-or-n-p "Shall we continue our game ") 789 ((y-or-n-p "Shall we continue our game? ")
790 (gomoku-prompt-for-move)) 790 (gomoku-prompt-for-move))
791 (t 791 (t
792 (gomoku-human-resigns)))) 792 (gomoku-human-resigns))))
@@ -875,9 +875,9 @@ If the game is finished, this command requests for another game."
875 (let (square score) 875 (let (square score)
876 (setq square (gomoku-point-square)) 876 (setq square (gomoku-point-square))
877 (cond ((null square) 877 (cond ((null square)
878 (error "Your point is not on a square. Retry !")) 878 (error "Your point is not on a square. Retry!"))
879 ((not (zerop (aref gomoku-board square))) 879 ((not (zerop (aref gomoku-board square)))
880 (error "Your point is not on a free square. Retry !")) 880 (error "Your point is not on a free square. Retry!"))
881 (t 881 (t
882 (setq score (aref gomoku-score-table square)) 882 (setq score (aref gomoku-score-table square))
883 (gomoku-play-move square 1) 883 (gomoku-play-move square 1)
@@ -902,7 +902,7 @@ If the game is finished, this command requests for another game."
902 (sit-for 4) 902 (sit-for 4)
903 (gomoku-prompt-for-other-game)) 903 (gomoku-prompt-for-other-game))
904 ((zerop gomoku-number-of-human-moves) 904 ((zerop gomoku-number-of-human-moves)
905 (message "You have not played yet... Your move ?")) 905 (message "You have not played yet... Your move?"))
906 (t 906 (t
907 (message "One moment, please...") 907 (message "One moment, please...")
908 ;; It is possible for the user to let Emacs play several consecutive 908 ;; It is possible for the user to let Emacs play several consecutive
@@ -923,9 +923,9 @@ If the game is finished, this command requests for another game."
923 (gomoku-crash-game)) 923 (gomoku-crash-game))
924 ((not gomoku-game-in-progress) 924 ((not gomoku-game-in-progress)
925 (message "There is no game in progress")) 925 (message "There is no game in progress"))
926 ((y-or-n-p "You mean, you resign ") 926 ((y-or-n-p "You mean, you resign? ")
927 (gomoku-terminate-game 'human-resigned)) 927 (gomoku-terminate-game 'human-resigned))
928 ((y-or-n-p "You mean, we continue ") 928 ((y-or-n-p "You mean, we continue? ")
929 (gomoku-prompt-for-move)) 929 (gomoku-prompt-for-move))
930 (t 930 (t
931 (gomoku-terminate-game 'human-resigned)))) ; OK. Accept it 931 (gomoku-terminate-game 'human-resigned)))) ; OK. Accept it
@@ -937,21 +937,21 @@ If the game is finished, this command requests for another game."
937(defun gomoku-prompt-for-move () 937(defun gomoku-prompt-for-move ()
938 "Display a message asking for Human's move." 938 "Display a message asking for Human's move."
939 (message (if (zerop gomoku-number-of-human-moves) 939 (message (if (zerop gomoku-number-of-human-moves)
940 "Your move ? (move to a free square and hit X, RET ...)" 940 "Your move? (move to a free square and hit X, RET ...)"
941 "Your move ?")) 941 "Your move?"))
942 ;; This may seem silly, but if one omits the following line (or a similar 942 ;; This may seem silly, but if one omits the following line (or a similar
943 ;; one), the cursor may very well go to some place where POINT is not. 943 ;; one), the cursor may very well go to some place where POINT is not.
944 (save-excursion (set-buffer (other-buffer)))) 944 (save-excursion (set-buffer (other-buffer))))
945 945
946(defun gomoku-prompt-for-other-game () 946(defun gomoku-prompt-for-other-game ()
947 "Ask for another game, and start it." 947 "Ask for another game, and start it."
948 (if (y-or-n-p "Another game ") 948 (if (y-or-n-p "Another game? ")
949 (gomoku gomoku-board-width gomoku-board-height) 949 (gomoku gomoku-board-width gomoku-board-height)
950 (error "Chicken !"))) 950 (error "Chicken!")))
951 951
952(defun gomoku-offer-a-draw () 952(defun gomoku-offer-a-draw ()
953 "Offer a draw and return t if Human accepted it." 953 "Offer a draw and return t if Human accepted it."
954 (or (y-or-n-p "I offer you a draw. Do you accept it ") 954 (or (y-or-n-p "I offer you a draw. Do you accept it? ")
955 (not (setq gomoku-human-refused-draw t)))) 955 (not (setq gomoku-human-refused-draw t))))
956 956
957;;; 957;;;
diff --git a/lisp/play/landmark.el b/lisp/play/landmark.el
index 67c6c0d3021..48b614ea111 100644
--- a/lisp/play/landmark.el
+++ b/lisp/play/landmark.el
@@ -763,9 +763,9 @@ If the game is finished, this command requests for another game."
763 (let (square score) 763 (let (square score)
764 (setq square (lm-point-square)) 764 (setq square (lm-point-square))
765 (cond ((null square) 765 (cond ((null square)
766 (error "Your point is not on a square. Retry !")) 766 (error "Your point is not on a square. Retry!"))
767 ((not (zerop (aref lm-board square))) 767 ((not (zerop (aref lm-board square)))
768 (error "Your point is not on a free square. Retry !")) 768 (error "Your point is not on a free square. Retry!"))
769 (t 769 (t
770 (setq score (aref lm-score-table square)) 770 (setq score (aref lm-score-table square))
771 (lm-play-move square 1) 771 (lm-play-move square 1)
@@ -790,7 +790,7 @@ If the game is finished, this command requests for another game."
790 (sit-for 4) 790 (sit-for 4)
791 (lm-prompt-for-other-game)) 791 (lm-prompt-for-other-game))
792 ((zerop lm-number-of-human-moves) 792 ((zerop lm-number-of-human-moves)
793 (message "You have not played yet... Your move ?")) 793 (message "You have not played yet... Your move?"))
794 (t 794 (t
795 (message "One moment, please...") 795 (message "One moment, please...")
796 ;; It is possible for the user to let Emacs play several consecutive 796 ;; It is possible for the user to let Emacs play several consecutive
@@ -811,9 +811,9 @@ If the game is finished, this command requests for another game."
811 (lm-crash-game)) 811 (lm-crash-game))
812 ((not lm-game-in-progress) 812 ((not lm-game-in-progress)
813 (message "There is no game in progress")) 813 (message "There is no game in progress"))
814 ((y-or-n-p "You mean, you resign ") 814 ((y-or-n-p "You mean, you resign? ")
815 (lm-terminate-game 'human-resigned)) 815 (lm-terminate-game 'human-resigned))
816 ((y-or-n-p "You mean, we continue ") 816 ((y-or-n-p "You mean, we continue? ")
817 (lm-prompt-for-move)) 817 (lm-prompt-for-move))
818 (t 818 (t
819 (lm-terminate-game 'human-resigned)))) ; OK. Accept it 819 (lm-terminate-game 'human-resigned)))) ; OK. Accept it
@@ -823,23 +823,23 @@ If the game is finished, this command requests for another game."
823(defun lm-prompt-for-move () 823(defun lm-prompt-for-move ()
824 "Display a message asking for Human's move." 824 "Display a message asking for Human's move."
825 (message (if (zerop lm-number-of-human-moves) 825 (message (if (zerop lm-number-of-human-moves)
826 "Your move ? (move to a free square and hit X, RET ...)" 826 "Your move? (move to a free square and hit X, RET ...)"
827 "Your move ?")) 827 "Your move?"))
828 ;; This may seem silly, but if one omits the following line (or a similar 828 ;; This may seem silly, but if one omits the following line (or a similar
829 ;; one), the cursor may very well go to some place where POINT is not. 829 ;; one), the cursor may very well go to some place where POINT is not.
830 (save-excursion (set-buffer (other-buffer)))) 830 (save-excursion (set-buffer (other-buffer))))
831 831
832(defun lm-prompt-for-other-game () 832(defun lm-prompt-for-other-game ()
833 "Ask for another game, and start it." 833 "Ask for another game, and start it."
834 (if (y-or-n-p "Another game ") 834 (if (y-or-n-p "Another game? ")
835 (if (y-or-n-p "Retain learned weights ") 835 (if (y-or-n-p "Retain learned weights ")
836 (lm 2) 836 (lm 2)
837 (lm 1)) 837 (lm 1))
838 (message "Chicken !"))) 838 (message "Chicken!")))
839 839
840(defun lm-offer-a-draw () 840(defun lm-offer-a-draw ()
841 "Offer a draw and return t if Human accepted it." 841 "Offer a draw and return t if Human accepted it."
842 (or (y-or-n-p "I offer you a draw. Do you accept it ") 842 (or (y-or-n-p "I offer you a draw. Do you accept it? ")
843 (not (setq lm-human-refused-draw t)))) 843 (not (setq lm-human-refused-draw t))))
844 844
845 845
@@ -1523,9 +1523,9 @@ If the game is finished, this command requests for another game."
1523 (let (square score) 1523 (let (square score)
1524 (setq square (lm-point-square)) 1524 (setq square (lm-point-square))
1525 (cond ((null square) 1525 (cond ((null square)
1526 (error "Your point is not on a square. Retry !")) 1526 (error "Your point is not on a square. Retry!"))
1527 ((not (zerop (aref lm-board square))) 1527 ((not (zerop (aref lm-board square)))
1528 (error "Your point is not on a free square. Retry !")) 1528 (error "Your point is not on a free square. Retry!"))
1529 (t 1529 (t
1530 (progn 1530 (progn
1531 (lm-plot-square square 1) 1531 (lm-plot-square square 1)
@@ -1678,7 +1678,7 @@ Use \\[describe-mode] for more info."
1678 (if (and (> lm-m max-height) 1678 (if (and (> lm-m max-height)
1679 (not (eq lm-m lm-saved-board-height)) 1679 (not (eq lm-m lm-saved-board-height))
1680 ;; Use EQ because SAVED-BOARD-HEIGHT may be nil 1680 ;; Use EQ because SAVED-BOARD-HEIGHT may be nil
1681 (not (y-or-n-p (format "Do you really want %d rows " lm-m)))) 1681 (not (y-or-n-p (format "Do you really want %d rows? " lm-m))))
1682 (setq lm-m max-height))) 1682 (setq lm-m max-height)))
1683 (if lm-one-moment-please 1683 (if lm-one-moment-please
1684 (message "One moment, please...")) 1684 (message "One moment, please..."))
diff --git a/lisp/play/mpuz.el b/lisp/play/mpuz.el
index 948ae126ffa..6f2c9200928 100644
--- a/lisp/play/mpuz.el
+++ b/lisp/play/mpuz.el
@@ -400,7 +400,7 @@ You may abort a game by typing \\<mpuz-mode-map>\\[mpuz-offer-abort]."
400(defun mpuz-offer-abort () 400(defun mpuz-offer-abort ()
401 "Ask if user wants to abort current puzzle." 401 "Ask if user wants to abort current puzzle."
402 (interactive) 402 (interactive)
403 (if (y-or-n-p "Abort game ") 403 (if (y-or-n-p "Abort game? ")
404 (let ((buf (mpuz-get-buffer))) 404 (let ((buf (mpuz-get-buffer)))
405 (message "Mult Puzzle aborted.") 405 (message "Mult Puzzle aborted.")
406 (setq mpuz-in-progress nil 406 (setq mpuz-in-progress nil
@@ -444,7 +444,7 @@ You may abort a game by typing \\<mpuz-mode-map>\\[mpuz-offer-abort]."
444 (mpuz-ding t)) 444 (mpuz-ding t))
445 (t 445 (t
446 (mpuz-try-proposal letter-char digit-char)))) 446 (mpuz-try-proposal letter-char digit-char))))
447 (if (y-or-n-p "Start a new game ") 447 (if (y-or-n-p "Start a new game? ")
448 (mpuz-start-new-game) 448 (mpuz-start-new-game)
449 (message "OK. I won't.")))) 449 (message "OK. I won't."))))
450 450
@@ -489,7 +489,7 @@ You may abort a game by typing \\<mpuz-mode-map>\\[mpuz-offer-abort]."
489 (t "not serious."))))) 489 (t "not serious.")))))
490 (message message) 490 (message message)
491 (sit-for 4) 491 (sit-for 4)
492 (if (y-or-n-p (concat message " Start a new game ")) 492 (if (y-or-n-p (concat message " Start a new game? "))
493 (mpuz-start-new-game) 493 (mpuz-start-new-game)
494 (message "Good Bye!")))) 494 (message "Good Bye!"))))
495 495
diff --git a/lisp/printing.el b/lisp/printing.el
index ec2c8a3cfda..3771871c9c8 100644
--- a/lisp/printing.el
+++ b/lisp/printing.el
@@ -5704,7 +5704,7 @@ If menu binding was not done, calls `pr-menu-bind'."
5704(defun pr-interactive-n-up (mess) 5704(defun pr-interactive-n-up (mess)
5705 (or (stringp mess) (setq mess "*")) 5705 (or (stringp mess) (setq mess "*"))
5706 (save-match-data 5706 (save-match-data
5707 (let* ((fmt-prompt "%s[%s] N-up printing: (default 1) ") 5707 (let* ((fmt-prompt "%s[%s] N-up printing (default 1): ")
5708 (prompt "") 5708 (prompt "")
5709 (str (pr-f-read-string (format fmt-prompt prompt mess) "1" nil "1")) 5709 (str (pr-f-read-string (format fmt-prompt prompt mess) "1" nil "1"))
5710 int) 5710 int)
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 8f5670ed57b..92c402dbad4 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -519,6 +519,7 @@ This does not load the font-lock package. Use after
519 nil nil 519 nil nil
520 ,c-identifier-syntax-modifications 520 ,c-identifier-syntax-modifications
521 c-beginning-of-syntax 521 c-beginning-of-syntax
522 (font-lock-lines-before . 1)
522 (font-lock-mark-block-function 523 (font-lock-mark-block-function
523 . c-mark-function))) 524 . c-mark-function)))
524 (add-hook 'font-lock-mode-hook 'c-after-font-lock-init nil t)) 525 (add-hook 'font-lock-mode-hook 'c-after-font-lock-init nil t))
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index f29051ab0b0..5ff256e5f8f 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -1778,7 +1778,7 @@ Pop up the buffer containing MARKER and scroll to MARKER if we ask the user."
1778 marker) 1778 marker)
1779 (let ((name (expand-file-name 1779 (let ((name (expand-file-name
1780 (read-file-name 1780 (read-file-name
1781 (format "Find this %s in: (default %s) " 1781 (format "Find this %s in (default %s): "
1782 compilation-error filename) 1782 compilation-error filename)
1783 spec-dir filename t)))) 1783 spec-dir filename t))))
1784 (if (file-directory-p name) 1784 (if (file-directory-p name)
diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el
index 49d0207882c..47e9a12f235 100644
--- a/lisp/progmodes/ebrowse.el
+++ b/lisp/progmodes/ebrowse.el
@@ -1798,7 +1798,7 @@ INFO is a list (TREE-HEADER TREE-OR-MEMBER MEMBER-LIST)."
1798 ;; START will be 0. 1798 ;; START will be 0.
1799 (when (and (boundp 'ebrowse-debug) 1799 (when (and (boundp 'ebrowse-debug)
1800 (symbol-value 'ebrowse-debug)) 1800 (symbol-value 'ebrowse-debug))
1801 (y-or-n-p (format "start = %d" start)) 1801 (y-or-n-p (format "start = %d? " start))
1802 (y-or-n-p pattern)) 1802 (y-or-n-p pattern))
1803 (setf found 1803 (setf found
1804 (loop do (goto-char (max (point-min) (- start offset))) 1804 (loop do (goto-char (max (point-min) (- start offset)))
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index 54b4cda9d18..ea87dce591f 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -284,7 +284,7 @@ With a prefix arg, set the buffer-local value instead.
284When you find a tag with \\[find-tag], the buffer it finds the tag 284When you find a tag with \\[find-tag], the buffer it finds the tag
285in is given a local value of this variable which is the name of the tags 285in is given a local value of this variable which is the name of the tags
286file the tag was in." 286file the tag was in."
287 (interactive (list (read-file-name "Visit tags table: (default TAGS) " 287 (interactive (list (read-file-name "Visit tags table (default TAGS): "
288 default-directory 288 default-directory
289 (expand-file-name "TAGS" 289 (expand-file-name "TAGS"
290 default-directory) 290 default-directory)
@@ -590,7 +590,7 @@ Returns t if it visits a tags table, or nil if there are no more in the list."
590 (car list)) 590 (car list))
591 ;; Finally, prompt the user for a file name. 591 ;; Finally, prompt the user for a file name.
592 (expand-file-name 592 (expand-file-name
593 (read-file-name "Visit tags table: (default TAGS) " 593 (read-file-name "Visit tags table (default TAGS): "
594 default-directory 594 default-directory
595 "TAGS" 595 "TAGS"
596 t)))))) 596 t))))))
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index 7dc12226722..4b646a72f3b 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -2462,7 +2462,7 @@ the problem with not being able to set the breakpoint."
2462 (beep) 2462 (beep)
2463 (y-or-n-p 2463 (y-or-n-p
2464 (concat "Okay to recompile file " 2464 (concat "Okay to recompile file "
2465 (idlwave-shell-bp-get bp 'file) " "))) 2465 (idlwave-shell-bp-get bp 'file) "? ")))
2466 ;; Recompile 2466 ;; Recompile
2467 (progn 2467 (progn
2468 ;; Clean up before retrying 2468 ;; Clean up before retrying
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el
index 47b36db6539..b84fa87a0de 100644
--- a/lisp/progmodes/pascal.el
+++ b/lisp/progmodes/pascal.el
@@ -1470,7 +1470,7 @@ The default is a name found in the buffer around point."
1470 default "")) 1470 default ""))
1471 (label (if (not (string= default "")) 1471 (label (if (not (string= default ""))
1472 ;; Do completion with default 1472 ;; Do completion with default
1473 (completing-read (concat "Label: (default " default ") ") 1473 (completing-read (concat "Label (default " default "): ")
1474 'pascal-comp-defun nil t "") 1474 'pascal-comp-defun nil t "")
1475 ;; There is no default value. Complete without it 1475 ;; There is no default value. Complete without it
1476 (completing-read "Label: " 1476 (completing-read "Label: "
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 433476f7957..f7788404350 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -1341,9 +1341,9 @@ don't support `help'."
1341 nil nil symbol)))) 1341 nil nil symbol))))
1342 (if (equal symbol "") (error "No symbol")) 1342 (if (equal symbol "") (error "No symbol"))
1343 (let* ((func `(lambda () 1343 (let* ((func `(lambda ()
1344 (comint-redirect-send-command (format "emacs.ehelp(%S)\n" 1344 (comint-redirect-send-command
1345 ,symbol) 1345 (format "emacs.ehelp(%S, globals(), locals())\n" ,symbol)
1346 "*Help*" nil)))) 1346 "*Help*" nil))))
1347 ;; Ensure we have a suitable help buffer. 1347 ;; Ensure we have a suitable help buffer.
1348 ;; Fixme: Maybe process `Related help topics' a la help xrefs and 1348 ;; Fixme: Maybe process `Related help topics' a la help xrefs and
1349 ;; allow C-c C-f in help buffer. 1349 ;; allow C-c C-f in help buffer.
diff --git a/lisp/ps-print.el b/lisp/ps-print.el
index 4d44eb36ab3..2c528ff2f84 100644
--- a/lisp/ps-print.el
+++ b/lisp/ps-print.el
@@ -4663,7 +4663,7 @@ page-height == ((floor print-height ((th + ls) * zh)) * ((th + ls) * zh)) - th
4663 (let* ((name (concat (file-name-nondirectory (or (buffer-file-name) 4663 (let* ((name (concat (file-name-nondirectory (or (buffer-file-name)
4664 (buffer-name))) 4664 (buffer-name)))
4665 ".ps")) 4665 ".ps"))
4666 (prompt (format "Save PostScript to file: (default %s) " name)) 4666 (prompt (format "Save PostScript to file (default %s): " name))
4667 (res (read-file-name prompt default-directory name nil))) 4667 (res (read-file-name prompt default-directory name nil)))
4668 (while (cond ((file-directory-p res) 4668 (while (cond ((file-directory-p res)
4669 (ding) 4669 (ding)
diff --git a/lisp/rect.el b/lisp/rect.el
index d7ae6592f74..a7a863e204b 100644
--- a/lisp/rect.el
+++ b/lisp/rect.el
@@ -332,7 +332,7 @@ Called from a program, takes three args; START, END and STRING."
332 (list 332 (list
333 (region-beginning) 333 (region-beginning)
334 (region-end) 334 (region-end)
335 (read-string (format "String rectangle (default `%s'): " 335 (read-string (format "String rectangle (default %s): "
336 (or (car string-rectangle-history) "")) 336 (or (car string-rectangle-history) ""))
337 nil 'string-rectangle-history 337 nil 'string-rectangle-history
338 (car string-rectangle-history))))) 338 (car string-rectangle-history)))))
@@ -353,7 +353,7 @@ This command does not delete or overwrite any existing text."
353 (list 353 (list
354 (region-beginning) 354 (region-beginning)
355 (region-end) 355 (region-end)
356 (read-string (format "String insert rectangle (default `%s'): " 356 (read-string (format "String insert rectangle (default %s): "
357 (or (car string-rectangle-history) "")) 357 (or (car string-rectangle-history) ""))
358 nil 'string-rectangle-history 358 nil 'string-rectangle-history
359 (car string-rectangle-history))))) 359 (car string-rectangle-history)))))
diff --git a/lisp/replace.el b/lisp/replace.el
index 33162b02d3c..e2562ed3469 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -907,7 +907,7 @@ If the value is nil, don't highlight the buffer names specially."
907 (input 907 (input
908 (read-from-minibuffer 908 (read-from-minibuffer
909 (if default 909 (if default
910 (format "List lines matching regexp (default `%s'): " 910 (format "List lines matching regexp (default %s): "
911 (query-replace-descr default)) 911 (query-replace-descr default))
912 "List lines matching regexp: ") 912 "List lines matching regexp: ")
913 nil 913 nil
diff --git a/lisp/ses.el b/lisp/ses.el
index 75562edddb9..4c959c015a7 100644
--- a/lisp/ses.el
+++ b/lisp/ses.el
@@ -2560,7 +2560,7 @@ spot, or error signal if user requests cancel."
2560 colbool (> needcols 0)) 2560 colbool (> needcols 0))
2561 (when (or rowbool colbool) 2561 (when (or rowbool colbool)
2562 ;;Need to insert. Get confirm 2562 ;;Need to insert. Get confirm
2563 (or (y-or-n-p (format "Yank will insert %s%s%s. Continue " 2563 (or (y-or-n-p (format "Yank will insert %s%s%s. Continue? "
2564 (if rowbool (format "%d rows" needrows) "") 2564 (if rowbool (format "%d rows" needrows) "")
2565 (if (and rowbool colbool) " and " "") 2565 (if (and rowbool colbool) " and " "")
2566 (if colbool (format "%d columns" needcols) ""))) 2566 (if colbool (format "%d columns" needcols) "")))
diff --git a/lisp/shadowfile.el b/lisp/shadowfile.el
index 990049afff1..8dd5f375daa 100644
--- a/lisp/shadowfile.el
+++ b/lisp/shadowfile.el
@@ -438,7 +438,7 @@ in the cluster."
438 (sit-for 2)) 438 (sit-for 2))
439 try-regexp)) 439 try-regexp))
440; (username (read-no-blanks-input 440; (username (read-no-blanks-input
441; (format "Username [default: %s]: " 441; (format "Username (default %s): "
442; (shadow-get-user primary)) 442; (shadow-get-user primary))
443; (if old (or (shadow-cluster-username old) "") 443; (if old (or (shadow-cluster-username old) "")
444; (user-login-name)))) 444; (user-login-name))))
@@ -458,7 +458,7 @@ specific hostnames, or names of clusters \(see `shadow-define-cluster')."
458 (name (nth 2 hup)) 458 (name (nth 2 hup))
459 user site group) 459 user site group)
460 (while (setq site (shadow-read-site)) 460 (while (setq site (shadow-read-site))
461 (setq user (read-string (format "Username [default %s]: " 461 (setq user (read-string (format "Username (default %s): "
462 (shadow-get-user site))) 462 (shadow-get-user site)))
463 name (read-string "Filename: " name)) 463 name (read-string "Filename: " name))
464 (setq group (cons (shadow-make-fullname site 464 (setq group (cons (shadow-make-fullname site
diff --git a/lisp/smerge-mode.el b/lisp/smerge-mode.el
index 31c7c4f2f12..e777f3f8211 100644
--- a/lisp/smerge-mode.el
+++ b/lisp/smerge-mode.el
@@ -335,7 +335,17 @@ according to `smerge-match-conflict'.")
335 335
336(defun smerge-remove-props (beg end) 336(defun smerge-remove-props (beg end)
337 (remove-overlays beg end 'smerge 'refine) 337 (remove-overlays beg end 'smerge 'refine)
338 (remove-overlays beg end 'smerge 'conflict)) 338 (remove-overlays beg end 'smerge 'conflict)
339 ;; Now that we use overlays rather than text-properties, this function
340 ;; does not cause refontification any more. It can be seen very clearly
341 ;; in buffers where jit-lock-contextually is not t, in which case deleting
342 ;; the "<<<<<<< foobar" leading line leaves the rest of the conflict
343 ;; highlighted as if it were still a valid conflict. Note that in many
344 ;; important cases (such as the previous example) we're actually called
345 ;; during font-locking so inhibit-modification-hooks is non-nil, so we
346 ;; can't just modify the buffer and expect font-lock to be triggered as in:
347 ;; (put-text-property beg end 'smerge-force-highlighting nil)
348 (remove-text-properties beg end '(fontified nil)))
339 349
340(defun smerge-popup-context-menu (event) 350(defun smerge-popup-context-menu (event)
341 "Pop up the Smerge mode context menu under mouse." 351 "Pop up the Smerge mode context menu under mouse."
diff --git a/lisp/subr.el b/lisp/subr.el
index 91d21aa85a6..644172d88f3 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -2862,9 +2862,11 @@ Usually the separator is \".\", but it can be any other string.")
2862 2862
2863 2863
2864(defvar version-regexp-alist 2864(defvar version-regexp-alist
2865 '(("^a\\(lpha\\)?$" . -3) 2865 '(("^[-_+]?a\\(lpha\\)?$" . -3)
2866 ("^b\\(eta\\)?$" . -2) 2866 ("^[-_+]$" . -3) ; treat "1.2.3-20050920" and "1.2-3" as alpha releases
2867 ("^\\(pre\\|rc\\)$" . -1)) 2867 ("^[-_+]cvs$" . -3) ; treat "1.2.3-CVS" as alpha release
2868 ("^[-_+]?b\\(eta\\)?$" . -2)
2869 ("^[-_+]?\\(pre\\|rc\\)$" . -1))
2868 "*Specify association between non-numeric version part and a priority. 2870 "*Specify association between non-numeric version part and a priority.
2869 2871
2870This association is used to handle version string like \"1.0pre2\", 2872This association is used to handle version string like \"1.0pre2\",
@@ -2887,6 +2889,9 @@ Each element has the following form:
2887Where: 2889Where:
2888 2890
2889REGEXP regexp used to match non-numeric part of a version string. 2891REGEXP regexp used to match non-numeric part of a version string.
2892 It should begin with a `^' anchor and end with a `$' to
2893 prevent false hits. Letter-case is ignored while matching
2894 REGEXP.
2890 2895
2891PRIORITY negative integer which indicate the non-numeric priority.") 2896PRIORITY negative integer which indicate the non-numeric priority.")
2892 2897
@@ -2903,9 +2908,12 @@ The version syntax is given by the following EBNF:
2903 SEPARATOR ::= `version-separator' (which see) 2908 SEPARATOR ::= `version-separator' (which see)
2904 | `version-regexp-alist' (which see). 2909 | `version-regexp-alist' (which see).
2905 2910
2911The NUMBER part is optional if SEPARATOR is a match for an element
2912in `version-regexp-alist'.
2913
2906As an example of valid version syntax: 2914As an example of valid version syntax:
2907 2915
2908 1.0pre2 1.0.7.5 22.8beta3 0.9alpha1 2916 1.0pre2 1.0.7.5 22.8beta3 0.9alpha1 6.9.30Beta
2909 2917
2910As an example of invalid version syntax: 2918As an example of invalid version syntax:
2911 2919
@@ -2928,7 +2936,7 @@ See documentation for `version-separator' and `version-regexp-alist'."
2928 (error "Invalid version string: '%s'" ver)) 2936 (error "Invalid version string: '%s'" ver))
2929 (save-match-data 2937 (save-match-data
2930 (let ((i 0) 2938 (let ((i 0)
2931 case-fold-search ; ignore case in matching 2939 (case-fold-search t) ; ignore case in matching
2932 lst s al) 2940 lst s al)
2933 (while (and (setq s (string-match "[0-9]+" ver i)) 2941 (while (and (setq s (string-match "[0-9]+" ver i))
2934 (= s i)) 2942 (= s i))
diff --git a/lisp/term/rxvt.el b/lisp/term/rxvt.el
index 1b4e5a6f61f..7cd02570d84 100644
--- a/lisp/term/rxvt.el
+++ b/lisp/term/rxvt.el
@@ -33,7 +33,7 @@
33 ;; a PC-style keyboard these keys correspond to 33 ;; a PC-style keyboard these keys correspond to
34 ;; MODIFIER-FUNCTION_KEY, where modifier is S-, C-, C-S-. The 34 ;; MODIFIER-FUNCTION_KEY, where modifier is S-, C-, C-S-. The
35 ;; code here subsitutes the corresponding defintions in 35 ;; code here subsitutes the corresponding defintions in
36 ;; function-key-map. This substitution is needed because if a key 36 ;; function-key-map. This substitution is needed because if a key
37 ;; definition if found in function-key-map, there are no further 37 ;; definition if found in function-key-map, there are no further
38 ;; lookups in other keymaps. 38 ;; lookups in other keymaps.
39 (substitute-key-definition [f11] [S-f1] function-key-map) 39 (substitute-key-definition [f11] [S-f1] function-key-map)
@@ -75,12 +75,13 @@
75 (define-key map "\e[B" [down]) 75 (define-key map "\e[B" [down])
76 (define-key map "\e[C" [right]) 76 (define-key map "\e[C" [right])
77 (define-key map "\e[D" [left]) 77 (define-key map "\e[D" [left])
78 (define-key map "\e[7~" [home])
79 (define-key map "\e[2~" [insert]) 78 (define-key map "\e[2~" [insert])
80 (define-key map "\e[3~" [delete]) 79 (define-key map "\e[3~" [delete])
81 (define-key map "\e[4~" [select]) 80 (define-key map "\e[4~" [select])
82 (define-key map "\e[5~" [prior]) 81 (define-key map "\e[5~" [prior])
83 (define-key map "\e[6~" [next]) 82 (define-key map "\e[6~" [next])
83 (define-key map "\e[7~" [home])
84 (define-key map "\e[8~" [end])
84 (define-key map "\e[11~" [f1]) 85 (define-key map "\e[11~" [f1])
85 (define-key map "\e[12~" [f2]) 86 (define-key map "\e[12~" [f2])
86 (define-key map "\e[13~" [f3]) 87 (define-key map "\e[13~" [f3])
@@ -145,8 +146,8 @@
145 (define-key map "\e[3$" [S-delete]) 146 (define-key map "\e[3$" [S-delete])
146 (define-key map "\e[5$" [S-prior]) 147 (define-key map "\e[5$" [S-prior])
147 (define-key map "\e[6$" [S-next]) 148 (define-key map "\e[6$" [S-next])
148 (define-key map "\e[8$" [S-end])
149 (define-key map "\e[7$" [S-home]) 149 (define-key map "\e[7$" [S-home])
150 (define-key map "\e[8$" [S-end])
150 (define-key map "\e[d" [S-left]) 151 (define-key map "\e[d" [S-left])
151 (define-key map "\e[c" [S-right]) 152 (define-key map "\e[c" [S-right])
152 (define-key map "\e[a" [S-up]) 153 (define-key map "\e[a" [S-up])
@@ -175,8 +176,8 @@
175 ("blue" 4 ( 0 0 205)) ; blue3 176 ("blue" 4 ( 0 0 205)) ; blue3
176 ("magenta" 5 (205 0 205)) ; magenta3 177 ("magenta" 5 (205 0 205)) ; magenta3
177 ("cyan" 6 ( 0 205 205)) ; cyan3 178 ("cyan" 6 ( 0 205 205)) ; cyan3
178 ("white" 7 (250 235 215)) ; AntiqueWhite 179 ("white" 7 (229 229 229)) ; gray90
179 ("brightblack" 8 ( 64 64 64)) ; gray25 180 ("brightblack" 8 ( 77 77 77)) ; gray30
180 ("brightred" 9 (255 0 0)) ; red 181 ("brightred" 9 (255 0 0)) ; red
181 ("brightgreen" 10 ( 0 255 0)) ; green 182 ("brightgreen" 10 ( 0 255 0)) ; green
182 ("brightyellow" 11 (255 255 0)) ; yellow 183 ("brightyellow" 11 (255 255 0)) ; yellow
@@ -209,6 +210,67 @@ for the currently selected frame."
209 (setq colors (cdr colors) 210 (setq colors (cdr colors)
210 color (car colors) 211 color (car colors)
211 ncolors (1- ncolors))) 212 ncolors (1- ncolors)))
213 (when (> ncolors 0)
214 (cond
215 ((= ncolors 240) ; 256-color rxvt
216 ;; 216 non-gray colors first
217 (let ((r 0) (g 0) (b 0))
218 (while (> ncolors 24)
219 ;; This and other formulae taken from 256colres.pl and
220 ;; 88colres.pl in the xterm distribution.
221 (tty-color-define (format "color-%d" (- 256 ncolors))
222 (- 256 ncolors)
223 (mapcar 'rxvt-rgb-convert-to-16bit
224 (list (round (* r 42.5))
225 (round (* g 42.5))
226 (round (* b 42.5)))))
227 (setq b (1+ b))
228 (if (> b 5)
229 (setq g (1+ g)
230 b 0))
231 (if (> g 5)
232 (setq r (1+ r)
233 g 0))
234 (setq ncolors (1- ncolors))))
235 ;; Now the 24 gray colors
236 (while (> ncolors 0)
237 (setq color (rxvt-rgb-convert-to-16bit (+ 8 (* (- 24 ncolors) 10))))
238 (tty-color-define (format "color-%d" (- 256 ncolors))
239 (- 256 ncolors)
240 (list color color color))
241 (setq ncolors (1- ncolors))))
242
243 ((= ncolors 72) ; rxvt-unicode
244 ;; 64 non-gray colors
245 (let ((levels '(0 139 205 255))
246 (r 0) (g 0) (b 0))
247 (while (> ncolors 8)
248 (tty-color-define (format "color-%d" (- 88 ncolors))
249 (- 88 ncolors)
250 (mapcar 'rxvt-rgb-convert-to-16bit
251 (list (nth r levels)
252 (nth g levels)
253 (nth b levels))))
254 (setq b (1+ b))
255 (if (> b 3)
256 (setq g (1+ g)
257 b 0))
258 (if (> g 3)
259 (setq r (1+ r)
260 g 0))
261 (setq ncolors (1- ncolors))))
262 ;; Now the 8 gray colors
263 (while (> ncolors 0)
264 (setq color (rxvt-rgb-convert-to-16bit
265 (floor
266 (if (= ncolors 8)
267 46.36363636
268 (+ (* (- 8 ncolors) 23.18181818) 69.54545454)))))
269 (tty-color-define (format "color-%d" (- 88 ncolors))
270 (- 88 ncolors)
271 (list color color color))
272 (setq ncolors (1- ncolors))))
273 (t (error "Unsupported number of rxvt colors (%d)" (+ 16 ncolors)))))
212 ;; Modifying color mappings means realized faces don't use the 274 ;; Modifying color mappings means realized faces don't use the
213 ;; right colors, so clear them. 275 ;; right colors, so clear them.
214 (clear-face-cache))) 276 (clear-face-cache)))
@@ -236,5 +298,5 @@ for the currently selected frame."
236 (setq default-frame-background-mode 'dark))) 298 (setq default-frame-background-mode 'dark)))
237 (frame-set-background-mode (selected-frame)))) 299 (frame-set-background-mode (selected-frame))))
238 300
239;;; arch-tag: 20cf2fb6-6318-4bab-9dbf-1d15048f2257 301;; arch-tag: 20cf2fb6-6318-4bab-9dbf-1d15048f2257
240;;; rxvt.el ends here 302;;; rxvt.el ends here
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el
index ce37d1b6086..60b85a4522a 100644
--- a/lisp/term/xterm.el
+++ b/lisp/term/xterm.el
@@ -34,7 +34,7 @@
34 (if (and (getenv "COLORTERM") 34 (if (and (getenv "COLORTERM")
35 (string-match "\\`rxvt" (getenv "COLORTERM"))) 35 (string-match "\\`rxvt" (getenv "COLORTERM")))
36 (progn 36 (progn
37 (eval-when-compile (load "term/rxvt")) 37 (eval-and-compile (load "term/rxvt"))
38 (terminal-init-rxvt)) 38 (terminal-init-rxvt))
39 39
40 ;; The terminal intialization C code file might have initialized 40 ;; The terminal intialization C code file might have initialized
diff --git a/lisp/terminal.el b/lisp/terminal.el
index 75d0c7acbd7..645d7a6bd6a 100644
--- a/lisp/terminal.el
+++ b/lisp/terminal.el
@@ -1115,7 +1115,7 @@ subprocess started."
1115 (getenv "SHELL") 1115 (getenv "SHELL")
1116 "/bin/sh")) 1116 "/bin/sh"))
1117 (s (read-string 1117 (s (read-string
1118 (format "Run program in emulator: (default %s) " 1118 (format "Run program in emulator (default %s): "
1119 default-s)))) 1119 default-s))))
1120 (if (equal s "") 1120 (if (equal s "")
1121 (list default-s '()) 1121 (list default-s '())
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index c3340d6fd37..c9fcd01d018 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -2863,9 +2863,9 @@ Returns a list of strings."
2863 "Read any extra arguments for figlet." 2863 "Read any extra arguments for figlet."
2864 (interactive) 2864 (interactive)
2865 (let* ((avail-fonts (artist-figlet-get-font-list)) 2865 (let* ((avail-fonts (artist-figlet-get-font-list))
2866 (font (completing-read (concat "Select font: (default " 2866 (font (completing-read (concat "Select font (default "
2867 artist-figlet-default-font 2867 artist-figlet-default-font
2868 ") ") 2868 "): ")
2869 (mapcar 2869 (mapcar
2870 (lambda (font) (cons font font)) 2870 (lambda (font) (cons font font))
2871 avail-fonts)))) 2871 avail-fonts))))
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index e46b8533fc4..151a32c60a9 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -169,11 +169,12 @@ command was not the very same command."
169 169
170(defcustom flyspell-incorrect-hook nil 170(defcustom flyspell-incorrect-hook nil
171 "*List of functions to be called when incorrect words are encountered. 171 "*List of functions to be called when incorrect words are encountered.
172Each function is given three arguments: the beginning and the end 172Each function is given three arguments. The first two
173of the incorrect region. The third is either the symbol 'doublon' or the list 173arguments are the beginning and the end of the incorrect region.
174The third is either the symbol `doublon' or the list
174of possible corrections as returned by `ispell-parse-output'. 175of possible corrections as returned by `ispell-parse-output'.
175 176
176If any of the functions return non-Nil, the word is not highlighted as 177If any of the functions return non-nil, the word is not highlighted as
177incorrect." 178incorrect."
178 :group 'flyspell 179 :group 'flyspell
179 :version "21.1" 180 :version "21.1"
@@ -1086,6 +1087,8 @@ Mostly we check word delimiters."
1086 word 1087 word
1087 (+ end 1088 (+ end
1088 flyspell-duplicate-distance)))))) 1089 flyspell-duplicate-distance))))))
1090 ;; This is a misspelled word which occurs
1091 ;; twice within flyspell-duplicate-distance.
1089 (setq flyspell-word-cache-result nil) 1092 (setq flyspell-word-cache-result nil)
1090 (if flyspell-highlight-flag 1093 (if flyspell-highlight-flag
1091 (flyspell-highlight-duplicate-region 1094 (flyspell-highlight-duplicate-region
@@ -1559,7 +1562,11 @@ for the overlay."
1559;* flyspell-highlight-incorrect-region ... */ 1562;* flyspell-highlight-incorrect-region ... */
1560;*---------------------------------------------------------------------*/ 1563;*---------------------------------------------------------------------*/
1561(defun flyspell-highlight-incorrect-region (beg end poss) 1564(defun flyspell-highlight-incorrect-region (beg end poss)
1562 "Set up an overlay on a misspelled word, in the buffer from BEG to END." 1565 "Set up an overlay on a misspelled word, in the buffer from BEG to END.
1566POSS is usually a list of possible spelling/correction lists,
1567as returned by `ispell-parse-output'.
1568It can also be the symbol `doublon', in the case where the word
1569is itself incorrect, but suspiciously repeated."
1563 (let ((inhibit-read-only t)) 1570 (let ((inhibit-read-only t))
1564 (unless (run-hook-with-args-until-success 1571 (unless (run-hook-with-args-until-success
1565 'flyspell-incorrect-hook beg end poss) 1572 'flyspell-incorrect-hook beg end poss)
@@ -1592,8 +1599,9 @@ for the overlay."
1592;* flyspell-highlight-duplicate-region ... */ 1599;* flyspell-highlight-duplicate-region ... */
1593;*---------------------------------------------------------------------*/ 1600;*---------------------------------------------------------------------*/
1594(defun flyspell-highlight-duplicate-region (beg end poss) 1601(defun flyspell-highlight-duplicate-region (beg end poss)
1595 "Set up an overlay on a duplicated word, in the buffer from BEG to END. 1602 "Set up an overlay on a duplicate misspelled word, in the buffer from BEG to END.
1596??? What does POSS mean?" 1603POSS is a list of possible spelling/correction lists,
1604as returned by `ispell-parse-output'."
1597 (let ((inhibit-read-only t)) 1605 (let ((inhibit-read-only t))
1598 (unless (run-hook-with-args-until-success 1606 (unless (run-hook-with-args-until-success
1599 'flyspell-incorrect-hook beg end poss) 1607 'flyspell-incorrect-hook beg end poss)
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index 209e532b0e7..8da812dd45a 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -880,6 +880,16 @@ and added as a submenu of the \"Edit\" menu.")
880(defvar ispell-have-aspell-dictionaries nil 880(defvar ispell-have-aspell-dictionaries nil
881 "Non-nil if we have queried Aspell for dictionaries at least once.") 881 "Non-nil if we have queried Aspell for dictionaries at least once.")
882 882
883(defun ispell-maybe-find-aspell-dictionaries ()
884 "Find Aspell's dictionaries, unless already done."
885 (when (and (not ispell-have-aspell-dictionaries)
886 (condition-case ()
887 (progn (ispell-check-version) t)
888 (error nil))
889 ispell-really-aspell
890 ispell-aspell-supports-utf8)
891 (ispell-find-aspell-dictionaries)))
892
883(defun ispell-find-aspell-dictionaries () 893(defun ispell-find-aspell-dictionaries ()
884 "Find Aspell's dictionaries, and record in `ispell-dictionary-alist'." 894 "Find Aspell's dictionaries, and record in `ispell-dictionary-alist'."
885 (interactive) 895 (interactive)
@@ -976,13 +986,7 @@ Assumes that value contains no whitespace."
976 "Returns a list of valid dictionaries. 986 "Returns a list of valid dictionaries.
977The variable `ispell-library-directory' defines the library location." 987The variable `ispell-library-directory' defines the library location."
978 ;; If Ispell is really Aspell, query it for the dictionary list. 988 ;; If Ispell is really Aspell, query it for the dictionary list.
979 (when (and (not ispell-have-aspell-dictionaries) 989 (ispell-maybe-find-aspell-dictionaries)
980 (condition-case ()
981 (progn (ispell-check-version) t)
982 (error nil))
983 ispell-really-aspell
984 ispell-aspell-supports-utf8)
985 (ispell-find-aspell-dictionaries))
986 (let ((dicts (append ispell-local-dictionary-alist ispell-dictionary-alist)) 990 (let ((dicts (append ispell-local-dictionary-alist ispell-dictionary-alist))
987 (dict-list (cons "default" nil)) 991 (dict-list (cons "default" nil))
988 name load-dict) 992 name load-dict)
@@ -3543,6 +3547,7 @@ You can bind this to the key C-c i in GNUS or mail by adding to
3543 3547
3544(defun ispell-accept-buffer-local-defs () 3548(defun ispell-accept-buffer-local-defs ()
3545 "Load all buffer-local information, restarting Ispell when necessary." 3549 "Load all buffer-local information, restarting Ispell when necessary."
3550 (ispell-maybe-find-aspell-dictionaries)
3546 (ispell-buffer-local-dict) ; May kill ispell-process. 3551 (ispell-buffer-local-dict) ; May kill ispell-process.
3547 (ispell-buffer-local-words) ; Will initialize ispell-process. 3552 (ispell-buffer-local-words) ; Will initialize ispell-process.
3548 (ispell-buffer-local-parsing)) 3553 (ispell-buffer-local-parsing))
diff --git a/lisp/textmodes/org.el b/lisp/textmodes/org.el
index 9dadfcb152d..938091d18eb 100644
--- a/lisp/textmodes/org.el
+++ b/lisp/textmodes/org.el
@@ -5,7 +5,7 @@
5;; Author: Carsten Dominik <dominik at science dot uva dot nl> 5;; Author: Carsten Dominik <dominik at science dot uva dot nl>
6;; Keywords: outlines, hypermedia, calendar 6;; Keywords: outlines, hypermedia, calendar
7;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/ 7;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
8;; Version: 3.15 8;; Version: 3.16
9;; 9;;
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11;; 11;;
@@ -21,8 +21,8 @@
21 21
22;; You should have received a copy of the GNU General Public License 22;; You should have received a copy of the GNU General Public License
23;; along with GNU Emacs; see the file COPYING. If not, write to the 23;; along with GNU Emacs; see the file COPYING. If not, write to the
24;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 24;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
25;; Boston, MA 02111-1307, USA. 25;; Boston, MA 02110-1301, USA.
26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
27;; 27;;
28;;; Commentary: 28;;; Commentary:
@@ -80,6 +80,17 @@
80;; 80;;
81;; Changes: 81;; Changes:
82;; ------- 82;; -------
83;; Version 3.16
84;; - In tables, directly after the field motion commands like TAB and RET,
85;; typing a character will blank the field. Can be turned off with
86;; variable `org-table-auto-blank-field'.
87;; - Inactive timestamps with `C-c !'. These do not trigger the agenda
88;; and are not linked to the calendar.
89;; - Additional key bindings to allow Org-mode to function on a tty emacs.
90;; - `C-c C-h' prefix key replaced by `C-c C-x', and `C-c C-x C-h' replaced
91;; by `C-c C-x b' (b=Browser). This was necessary to recover the
92;; standard meaning of C-h after a prefix key (show prefix bindings).
93;;
83;; Version 3.15 94;; Version 3.15
84;; - QUOTE keyword at the beginning of an entry causes fixed-width export 95;; - QUOTE keyword at the beginning of an entry causes fixed-width export
85;; of unmodified entry text. `C-c :' toggles this keyword. 96;; of unmodified entry text. `C-c :' toggles this keyword.
@@ -199,7 +210,7 @@
199 210
200;;; Customization variables 211;;; Customization variables
201 212
202(defvar org-version "3.15" 213(defvar org-version "3.16"
203 "The version number of the file org.el.") 214 "The version number of the file org.el.")
204(defun org-version () 215(defun org-version ()
205 (interactive) 216 (interactive)
@@ -843,6 +854,13 @@ as possible."
843 :group 'org-structure 854 :group 'org-structure
844 :type 'hook) 855 :type 'hook)
845 856
857(defcustom org-level-color-stars-only nil
858 "Non-nil means fontify only the stars in each headline.
859When nil, the entire headline is fontified.
860After changin this, requires restart of Emacs to become effective."
861 :group 'org-structure
862 :type 'boolean)
863
846(defcustom org-adapt-indentation t 864(defcustom org-adapt-indentation t
847 "Non-nil means, adapt indentation when promoting and demoting. 865 "Non-nil means, adapt indentation when promoting and demoting.
848When this is set and the *entire* text in an entry is indented, the 866When this is set and the *entire* text in an entry is indented, the
@@ -852,6 +870,14 @@ body starts at column 0, indentation is not changed at all."
852 :group 'org-structure 870 :group 'org-structure
853 :type 'boolean) 871 :type 'boolean)
854 872
873(defcustom org-enable-fixed-width-editor t
874 "Non-nil means, lines starting with \":\" are treated as fixed-width.
875This currently only means, they are never auto-wrapped.
876When nil, such lines will be treated like ordinary lines.
877See also the QUOTE keyword."
878 :group 'org-structure
879 :type 'boolean)
880
855(defcustom org-cycle-emulate-tab t 881(defcustom org-cycle-emulate-tab t
856 "Where should `org-cycle' emulate TAB. 882 "Where should `org-cycle' emulate TAB.
857nil Never 883nil Never
@@ -1155,24 +1181,34 @@ do the following
1155 field does not exceed the column width. 1181 field does not exceed the column width.
1156- Minimize the number of realigns. Normally, the table is aligned each time 1182- Minimize the number of realigns. Normally, the table is aligned each time
1157 TAB or RET are pressed to move to another field. With optimization this 1183 TAB or RET are pressed to move to another field. With optimization this
1158 happens only if changes to a field might have changed the column width. 1184 happens only if changes to a field might have changed the column width.
1159Optimization requires replacing the functions `self-insert-command', 1185Optimization requires replacing the functions `self-insert-command',
1160`delete-char', and `backward-delete-char' in Org-mode buffers, with a 1186`delete-char', and `backward-delete-char' in Org-mode buffers, with a
1161slight (in fact: unnoticeable) speed impact for normal typing. Org-mode is 1187slight (in fact: unnoticeable) speed impact for normal typing. Org-mode is
1162very good at guessing when a re-align will be necessary, but you can always 1188very good at guessing when a re-align will be necessary, but you can always
1163force one with `C-c C-c'. 1189force one with \\[org-ctrl-c-ctrl-c].
1164 1190
1165If you would like to use the optimized version in Org-mode, but the 1191If you would like to use the optimized version in Org-mode, but the
1166un-optimized version in OrgTbl-mode, see the variable `orgtbl-optimized'. 1192un-optimized version in OrgTbl-mode, see the variable `orgtbl-optimized'.
1167 1193
1168This variable can be used to turn on and off the table editor during a session, 1194This variable can be used to turn on and off the table editor during a session,
1169but in order to toggle optimization, a restart is required." 1195but in order to toggle optimization, a restart is required.
1196
1197See also the variable `org-table-auto-blank-field'."
1170 :group 'org-table 1198 :group 'org-table
1171 :type '(choice 1199 :type '(choice
1172 (const :tag "off" nil) 1200 (const :tag "off" nil)
1173 (const :tag "on" t) 1201 (const :tag "on" t)
1174 (const :tag "on, optimized" optimized))) 1202 (const :tag "on, optimized" optimized)))
1175 1203
1204(defcustom org-table-auto-blank-field t
1205 "Non-nil means, automatically blank table field when starting to type into it.
1206This only happens when typing immediately after a field motion
1207command (TAB, S-TAB or RET).
1208Only relevant when `org-enable-table-editor' is equal to `optimized'."
1209 :group 'org-table
1210 :type 'boolean)
1211
1176(defcustom org-table-default-size "5x2" 1212(defcustom org-table-default-size "5x2"
1177 "The default size for newly created tables, Columns x Rows." 1213 "The default size for newly created tables, Columns x Rows."
1178 :group 'org-table 1214 :group 'org-table
@@ -1248,14 +1284,6 @@ calls `table-recognize-table'."
1248 :group 'org-table 1284 :group 'org-table
1249 :type 'boolean) 1285 :type 'boolean)
1250 1286
1251;; FIXME: Should this one be in another group? Which one?
1252(defcustom org-enable-fixed-width-editor t
1253 "Non-nil means, lines starting with \":\" are treated as fixed-width.
1254This currently only means, they are never auto-wrapped.
1255When nil, such lines will be treated like ordinary lines."
1256 :group 'org-table
1257 :type 'boolean)
1258
1259(defgroup org-table-calculation nil 1287(defgroup org-table-calculation nil
1260 "Options concerning tables in Org-mode." 1288 "Options concerning tables in Org-mode."
1261 :tag "Org Table Calculation" 1289 :tag "Org Table Calculation"
@@ -1978,17 +2006,19 @@ The following commands are available:
1978 (append 2006 (append
1979 (if org-noutline-p ; FIXME: I am not sure if eval will work 2007 (if org-noutline-p ; FIXME: I am not sure if eval will work
1980 ; on XEmacs if noutline is ever ported 2008 ; on XEmacs if noutline is ever ported
1981 '((eval . (list "^\\(\\*+\\).*" 2009 `((eval . (list "^\\(\\*+\\).*"
1982 0 '(nth 2010 ,(if org-level-color-stars-only 1 0)
2011 '(nth ;; FIXME: 1<->0 ????
1983 (% (- (match-end 1) (match-beginning 1) 1) 2012 (% (- (match-end 1) (match-beginning 1) 1)
1984 org-n-levels) 2013 org-n-levels)
1985 org-level-faces) 2014 org-level-faces)
1986 nil t))) 2015 nil t)))
1987 '(("^\\(\\(\\*+\\)[^\r\n]*\\)[\n\r]" 2016 `(("^\\(\\(\\*+\\)[^\r\n]*\\)[\n\r]"
1988 (1 (nth (% (- (match-end 2) (match-beginning 2) 1) 2017 (,(if org-level-color-stars-only 2 0)
1989 org-n-levels) 2018 (nth (% (- (match-end 2) (match-beginning 2) 1)
1990 org-level-faces) 2019 org-n-levels)
1991 nil t)))) 2020 org-level-faces)
2021 nil t))))
1992 org-font-lock-extra-keywords)) 2022 org-font-lock-extra-keywords))
1993 (set (make-local-variable 'font-lock-defaults) 2023 (set (make-local-variable 'font-lock-defaults)
1994 '(org-font-lock-keywords t nil nil backward-paragraph)) 2024 '(org-font-lock-keywords t nil nil backward-paragraph))
@@ -2806,7 +2836,7 @@ At all other locations, this simply calls `ispell-complete-word'."
2806 (insert " ")) 2836 (insert " "))
2807 (if (and (equal type :opt) (assoc completion table)) 2837 (if (and (equal type :opt) (assoc completion table))
2808 (message "%s" (substitute-command-keys 2838 (message "%s" (substitute-command-keys
2809 "Press \\[org-complete] again to insert example settings")))) 2839 "Press \\[org-complete] again to insert example settings"))))
2810 (t 2840 (t
2811 (message "Making completion list...") 2841 (message "Making completion list...")
2812 (let ((list (sort (all-completions pattern table) 'string<))) 2842 (let ((list (sort (all-completions pattern table) 'string<)))
@@ -2913,7 +2943,7 @@ to modify it to the correct date."
2913 (format-time-string (car org-time-stamp-formats) 2943 (format-time-string (car org-time-stamp-formats)
2914 (org-read-date nil 'to-time))) 2944 (org-read-date nil 'to-time)))
2915 (message "%s" (substitute-command-keys 2945 (message "%s" (substitute-command-keys
2916 "Use \\[org-timestamp-up-day] and \\[org-timestamp-down-day] to change the date."))) 2946 "Use \\[org-timestamp-up-day] and \\[org-timestamp-down-day] to change the date.")))
2917 2947
2918(defun org-schedule () 2948(defun org-schedule ()
2919 "Insert the SCHEDULED: string to schedule a TODO item. 2949 "Insert the SCHEDULED: string to schedule a TODO item.
@@ -2925,7 +2955,7 @@ to modify it to the correct date."
2925 (format-time-string (car org-time-stamp-formats) 2955 (format-time-string (car org-time-stamp-formats)
2926 (org-read-date nil 'to-time))) 2956 (org-read-date nil 'to-time)))
2927 (message "%s" (substitute-command-keys 2957 (message "%s" (substitute-command-keys
2928 "Use \\[org-timestamp-up-day] and \\[org-timestamp-down-day] to change the date."))) 2958 "Use \\[org-timestamp-up-day] and \\[org-timestamp-down-day] to change the date.")))
2929 2959
2930 2960
2931(defun org-occur (regexp &optional callback) 2961(defun org-occur (regexp &optional callback)
@@ -3077,6 +3107,21 @@ at the cursor, it will be modified."
3077 (if org-time-was-given (setq fmt (cdr org-time-stamp-formats))) 3107 (if org-time-was-given (setq fmt (cdr org-time-stamp-formats)))
3078 (insert (format-time-string fmt time)))))) 3108 (insert (format-time-string fmt time))))))
3079 3109
3110(defun org-time-stamp-inactive (&optional arg)
3111 "Insert an inactive time stamp.
3112An inactive time stamp is enclosed in square brackets instead of angle
3113brackets. It is inactive in the sense that it does not trigger agenda entries,
3114does not link to the calendar and cannot be changed with the S-cursor keys."
3115 (interactive "P")
3116 (let ((fmt (if arg (cdr org-time-stamp-formats)
3117 (car org-time-stamp-formats)))
3118 (org-time-was-given nil)
3119 time)
3120 (setq time (org-read-date arg 'totime))
3121 (if org-time-was-given (setq fmt (cdr org-time-stamp-formats)))
3122 (setq fmt (concat "[" (substring fmt 1 -1) "]"))
3123 (insert (format-time-string fmt time))))
3124
3080;;; FIXME: Make the function take "Fri" as "next friday" 3125;;; FIXME: Make the function take "Fri" as "next friday"
3081(defun org-read-date (&optional with-time to-time) 3126(defun org-read-date (&optional with-time to-time)
3082 "Read a date and make things smooth for the user. 3127 "Read a date and make things smooth for the user.
@@ -3539,6 +3584,8 @@ The following commands are available:
3539(define-key org-agenda-mode-map "w" 'org-agenda-week-view) 3584(define-key org-agenda-mode-map "w" 'org-agenda-week-view)
3540(define-key org-agenda-mode-map (org-key 'S-right) 'org-agenda-date-later) 3585(define-key org-agenda-mode-map (org-key 'S-right) 'org-agenda-date-later)
3541(define-key org-agenda-mode-map (org-key 'S-left) 'org-agenda-date-earlier) 3586(define-key org-agenda-mode-map (org-key 'S-left) 'org-agenda-date-earlier)
3587(define-key org-agenda-mode-map [?\C-c ?\C-x (right)] 'org-agenda-date-later)
3588(define-key org-agenda-mode-map [?\C-c ?\C-x (left)] 'org-agenda-date-earlier)
3542 3589
3543(define-key org-agenda-mode-map ">" 'org-agenda-date-prompt) 3590(define-key org-agenda-mode-map ">" 'org-agenda-date-prompt)
3544(let ((l '(1 2 3 4 5 6 7 8 9 0))) 3591(let ((l '(1 2 3 4 5 6 7 8 9 0)))
@@ -3574,6 +3621,8 @@ The following commands are available:
3574(define-key org-agenda-mode-map "-" 'org-agenda-priority-down) 3621(define-key org-agenda-mode-map "-" 'org-agenda-priority-down)
3575(define-key org-agenda-mode-map (org-key 'S-up) 'org-agenda-priority-up) 3622(define-key org-agenda-mode-map (org-key 'S-up) 'org-agenda-priority-up)
3576(define-key org-agenda-mode-map (org-key 'S-down) 'org-agenda-priority-down) 3623(define-key org-agenda-mode-map (org-key 'S-down) 'org-agenda-priority-down)
3624(define-key org-agenda-mode-map [?\C-c ?\C-x (up)] 'org-agenda-priority-up)
3625(define-key org-agenda-mode-map [?\C-c ?\C-x (down)] 'org-agenda-priority-down)
3577(define-key org-agenda-mode-map [(right)] 'org-agenda-later) 3626(define-key org-agenda-mode-map [(right)] 'org-agenda-later)
3578(define-key org-agenda-mode-map [(left)] 'org-agenda-earlier) 3627(define-key org-agenda-mode-map [(left)] 'org-agenda-earlier)
3579 3628
@@ -6321,7 +6370,8 @@ integer, it will be incremented while copying."
6321 6370
6322(defun org-table-check-inside-data-field () 6371(defun org-table-check-inside-data-field ()
6323 "Is point inside a table data field? 6372 "Is point inside a table data field?
6324I.e. not on a hline or before the first or after the last column?" 6373I.e. not on a hline or before the first or after the last column?
6374This actually throws an error, so it aborts the current command."
6325 (if (or (not (org-at-table-p)) 6375 (if (or (not (org-at-table-p))
6326 (= (org-table-current-column) 0) 6376 (= (org-table-current-column) 0)
6327 (org-at-table-hline-p) 6377 (org-at-table-hline-p)
@@ -7014,13 +7064,10 @@ If NLAST is a number, only the NLAST fields will actually be summed."
7014 (format "%d:%02d:%02d" h m s)))) 7064 (format "%d:%02d:%02d" h m s))))
7015 (kill-new sres) 7065 (kill-new sres)
7016 (if (interactive-p) 7066 (if (interactive-p)
7017 (message "%s" 7067 (message "s"
7018 (concat 7068 (substitute-command-keys
7019 (format "Sum of %d items: %-20s " (length numbers) sres) 7069 (format "Sum of %d items: %-20s (\\[yank] will insert result into buffer)"
7020 (substitute-command-keys 7070 (length numbers) sres))))
7021 "(\\[yank] will insert result into buffer)")
7022 ))
7023 )
7024 sres)))) 7071 sres))))
7025 7072
7026(defun org-table-get-number-for-summing (s) 7073(defun org-table-get-number-for-summing (s)
@@ -7126,7 +7173,7 @@ the current column, to avoid unnecessary parsing."
7126 (stored-list (org-table-get-stored-formulas)) 7173 (stored-list (org-table-get-stored-formulas))
7127 (stored (cdr (assoc scol stored-list))) 7174 (stored (cdr (assoc scol stored-list)))
7128 (eq (cond 7175 (eq (cond
7129 ((and stored equation (string-match "^ *= *$" equation)) 7176 ((and stored equation (string-match "^ *=? *$" equation))
7130 stored) 7177 stored)
7131 ((stringp equation) 7178 ((stringp equation)
7132 equation) 7179 equation)
@@ -7294,7 +7341,7 @@ If yes, store the formula and apply it."
7294 (when org-table-formula-evaluate-inline 7341 (when org-table-formula-evaluate-inline
7295 (let* ((field (org-trim (or (org-table-get-field) ""))) 7342 (let* ((field (org-trim (or (org-table-get-field) "")))
7296 named eq) 7343 named eq)
7297 (when (string-match "^:?=\\(.+\\)" field) 7344 (when (string-match "^:?=\\(.*\\)" field)
7298 (setq named (equal (string-to-char field) ?:) 7345 (setq named (equal (string-to-char field) ?:)
7299 eq (match-string 1 field)) 7346 eq (match-string 1 field))
7300 (if (fboundp 'calc-eval) 7347 (if (fboundp 'calc-eval)
@@ -7916,8 +7963,7 @@ to execute outside of tables."
7916 '("\C-c\M-w" org-table-copy-region) 7963 '("\C-c\M-w" org-table-copy-region)
7917 '("\C-c\C-y" org-table-paste-rectangle) 7964 '("\C-c\C-y" org-table-paste-rectangle)
7918 '("\C-c-" org-table-insert-hline) 7965 '("\C-c-" org-table-insert-hline)
7919 '([(shift tab)] org-table-previous-field) 7966; '([(shift tab)] org-table-previous-field)
7920 '("\C-c\C-c" org-ctrl-c-ctrl-c)
7921 '("\C-m" org-table-next-row) 7967 '("\C-m" org-table-next-row)
7922 (list (org-key 'S-return) 'org-table-copy-down) 7968 (list (org-key 'S-return) 'org-table-copy-down)
7923 '([(meta return)] org-table-wrap-region) 7969 '([(meta return)] org-table-wrap-region)
@@ -7946,16 +7992,18 @@ to execute outside of tables."
7946 (orgtbl-make-binding 'orgtbl-tab 102 [(tab)] "\C-i")) 7992 (orgtbl-make-binding 'orgtbl-tab 102 [(tab)] "\C-i"))
7947 (define-key orgtbl-mode-map "\C-i" 7993 (define-key orgtbl-mode-map "\C-i"
7948 (orgtbl-make-binding 'orgtbl-tab 103 "\C-i" [(tab)]))) 7994 (orgtbl-make-binding 'orgtbl-tab 103 "\C-i" [(tab)])))
7995 (define-key orgtbl-mode-map "\C-i"
7996 (orgtbl-make-binding 'orgtbl-tab 104 [(shift tab)]))
7997 (define-key orgtbl-mode-map "\C-c\C-c"
7998 (orgtbl-make-binding 'org-ctrl-c-ctrl-c 105 "\C-c\C-c"))
7949 (when orgtbl-optimized 7999 (when orgtbl-optimized
7950 ;; If the user wants maximum table support, we need to hijack 8000 ;; If the user wants maximum table support, we need to hijack
7951 ;; some standard editing functions 8001 ;; some standard editing functions
7952 (substitute-key-definition 'self-insert-command 'orgtbl-self-insert-command 8002 (org-remap orgtbl-mode-map
7953 orgtbl-mode-map global-map) 8003 'self-insert-command 'orgtbl-self-insert-command
7954 (substitute-key-definition 'delete-char 'orgtbl-delete-char 8004 'delete-char 'orgtbl-delete-char
7955 orgtbl-mode-map global-map) 8005 'delete-backward-char 'orgtbl-delete-backward-char)
7956 (substitute-key-definition 'delete-backward-char 'orgtbl-delete-backward-char 8006 (define-key orgtbl-mode-map "|" 'org-force-self-insert))
7957 orgtbl-mode-map global-map)
7958 (define-key org-mode-map "|" 'self-insert-command))
7959 (easy-menu-define orgtbl-mode-menu orgtbl-mode-map "OrgTbl menu" 8007 (easy-menu-define orgtbl-mode-menu orgtbl-mode-map "OrgTbl menu"
7960 '("OrgTbl" 8008 '("OrgTbl"
7961 ["Align" org-ctrl-c-ctrl-c :active (org-at-table-p) :keys "C-c C-c"] 8009 ["Align" org-ctrl-c-ctrl-c :active (org-at-table-p) :keys "C-c C-c"]
@@ -7980,9 +8028,9 @@ to execute outside of tables."
7980 "--" 8028 "--"
7981 ["Insert Hline" org-table-insert-hline :active (org-at-table-p) :keys "C-c -"]) 8029 ["Insert Hline" org-table-insert-hline :active (org-at-table-p) :keys "C-c -"])
7982 ("Rectangle" 8030 ("Rectangle"
7983 ["Copy Rectangle" org-copy-special :active (org-at-table-p) :keys "C-c M-w"] 8031 ["Copy Rectangle" org-copy-special :active (org-at-table-p) :keys "C-c C-x M-w"]
7984 ["Cut Rectangle" org-cut-special :active (org-at-table-p) :keys "C-c C-w"] 8032 ["Cut Rectangle" org-cut-special :active (org-at-table-p) :keys "C-c C-x C-w"]
7985 ["Paste Rectangle" org-paste-special :active (org-at-table-p) :keys "C-c C-y"] 8033 ["Paste Rectangle" org-paste-special :active (org-at-table-p) :keys "C-c C-x C-y"]
7986 ["Fill Rectangle" org-table-wrap-region :active (org-at-table-p) :keys "C-c C-q"]) 8034 ["Fill Rectangle" org-table-wrap-region :active (org-at-table-p) :keys "C-c C-q"])
7987 "--" 8035 "--"
7988 ["Set Column Formula" org-table-eval-formula :active (org-at-table-p) :keys "C-c ="] 8036 ["Set Column Formula" org-table-eval-formula :active (org-at-table-p) :keys "C-c ="]
@@ -8018,6 +8066,17 @@ If the cursor is in a table looking at whitespace, the whitespace is
8018overwritten, and the table is not marked as requiring realignment." 8066overwritten, and the table is not marked as requiring realignment."
8019 (interactive "p") 8067 (interactive "p")
8020 (if (and (org-at-table-p) 8068 (if (and (org-at-table-p)
8069 (or
8070 (and org-table-auto-blank-field
8071 (member last-command
8072 '(orgtbl-hijacker-command-100
8073 orgtbl-hijacker-command-101
8074 orgtbl-hijacker-command-102
8075 orgtbl-hijacker-command-103
8076 orgtbl-hijacker-command-104
8077 orgtbl-hijacker-command-105))
8078 (org-table-blank-field))
8079 t)
8021 (eq N 1) 8080 (eq N 1)
8022 (looking-at "[^|\n]* +|")) 8081 (looking-at "[^|\n]* +|"))
8023 (let (org-table-may-need-update) 8082 (let (org-table-may-need-update)
@@ -8029,6 +8088,11 @@ overwritten, and the table is not marked as requiring realignment."
8029 (let (orgtbl-mode) 8088 (let (orgtbl-mode)
8030 (call-interactively (key-binding (vector last-input-event)))))) 8089 (call-interactively (key-binding (vector last-input-event))))))
8031 8090
8091(defun org-force-self-insert (N)
8092 "Needed to enforce self-insert under remapping."
8093 (interactive "p")
8094 (self-insert-command N))
8095
8032(defun orgtbl-delete-backward-char (N) 8096(defun orgtbl-delete-backward-char (N)
8033 "Like `delete-backward-char', insert whitespace at field end in tables. 8097 "Like `delete-backward-char', insert whitespace at field end in tables.
8034When deleting backwards, in tables this function will insert whitespace in 8098When deleting backwards, in tables this function will insert whitespace in
@@ -9344,23 +9408,55 @@ When LEVEL is non-nil, increase section numbers on that level."
9344;; i k @ expendable from outline-mode 9408;; i k @ expendable from outline-mode
9345;; 0123456789 ! %^& ()_{} " `' free 9409;; 0123456789 ! %^& ()_{} " `' free
9346 9410
9347(define-key org-mode-map "\C-i" 'org-cycle) 9411;; TAB key with modifiers
9412(define-key org-mode-map "\C-i" 'org-cycle)
9348(define-key org-mode-map [(meta tab)] 'org-complete) 9413(define-key org-mode-map [(meta tab)] 'org-complete)
9349(define-key org-mode-map "\M-\C-i" 'org-complete) 9414(define-key org-mode-map "\M-\C-i" 'org-complete) ; for tty emacs
9350(define-key org-mode-map [(meta shift left)] 'org-shiftmetaleft) 9415;; The following line is necessary under Suse GNU/Linux
9351(define-key org-mode-map [(meta left)] 'org-metaleft) 9416(unless org-xemacs-p
9352(define-key org-mode-map [(meta shift right)] 'org-shiftmetaright) 9417 (define-key org-mode-map [S-iso-lefttab] 'org-shifttab))
9353(define-key org-mode-map [(meta shift up)] 'org-shiftmetaup) 9418(define-key org-mode-map [(shift tab)] 'org-shifttab)
9354(define-key org-mode-map [(meta shift down)] 'org-shiftmetadown) 9419
9420(define-key org-mode-map (org-key 'S-return) 'org-table-copy-down)
9421(define-key org-mode-map "\C-c\C-xc" 'org-table-copy-down) ; tty
9422(define-key org-mode-map [(meta shift return)] 'org-insert-todo-heading)
9423(define-key org-mode-map "\C-c\C-xM" 'org-insert-todo-heading) ; tty
9424(define-key org-mode-map [(meta return)] 'org-meta-return)
9425(define-key org-mode-map "\C-c\C-xm" 'org-meta-return) ; tty emacs
9426(define-key org-mode-map [?\e (return)] 'org-meta-return) ; tty emacs
9427
9428;; Cursor keys with modifiers
9429(define-key org-mode-map [(meta left)] 'org-metaleft)
9430(define-key org-mode-map [?\e (left)] 'org-metaleft) ; for tty emacs
9431(define-key org-mode-map "\C-c\C-xl" 'org-metaleft) ; for tty emacs
9355(define-key org-mode-map [(meta right)] 'org-metaright) 9432(define-key org-mode-map [(meta right)] 'org-metaright)
9356(define-key org-mode-map [(meta up)] 'org-metaup) 9433(define-key org-mode-map [?\e (right)] 'org-metaright) ; for tty emacs
9357(define-key org-mode-map [(meta down)] 'org-metadown) 9434(define-key org-mode-map "\C-c\C-xr" 'org-metaright) ; for tty emacs
9358;(define-key org-mode-map "\C-c\C-h\C-w" 'org-cut-subtree) 9435(define-key org-mode-map [(meta up)] 'org-metaup)
9359;(define-key org-mode-map "\C-c\C-h\M-w" 'org-copy-subtree) 9436(define-key org-mode-map [?\e (up)] 'org-metaup) ; for tty emacs
9360;(define-key org-mode-map "\C-c\C-h\C-y" 'org-paste-subtree) 9437(define-key org-mode-map "\C-c\C-xu" 'org-metaup) ; for tty emacs
9361(define-key org-mode-map "\C-c\C-h\C-w" 'org-cut-special) 9438(define-key org-mode-map [(meta down)] 'org-metadown)
9362(define-key org-mode-map "\C-c\C-h\M-w" 'org-copy-special) 9439(define-key org-mode-map [?\e (down)] 'org-metadown) ; for tty emacs
9363(define-key org-mode-map "\C-c\C-h\C-y" 'org-paste-special) 9440(define-key org-mode-map "\C-c\C-xd" 'org-metadown) ; for tty emacs
9441
9442(define-key org-mode-map [(meta shift left)] 'org-shiftmetaleft)
9443(define-key org-mode-map "\C-c\C-xL" 'org-shiftmetaleft) ; tty
9444(define-key org-mode-map [(meta shift right)] 'org-shiftmetaright)
9445(define-key org-mode-map "\C-c\C-xR" 'org-shiftmetaright) ; tty
9446(define-key org-mode-map [(meta shift up)] 'org-shiftmetaup)
9447(define-key org-mode-map "\C-c\C-xU" 'org-shiftmetaup) ; tty
9448(define-key org-mode-map [(meta shift down)] 'org-shiftmetadown)
9449(define-key org-mode-map "\C-c\C-xD" 'org-shiftmetadown) ; tty
9450(define-key org-mode-map (org-key 'S-up) 'org-shiftup)
9451(define-key org-mode-map [?\C-c ?\C-x (up)] 'org-shiftup)
9452(define-key org-mode-map (org-key 'S-down) 'org-shiftdown)
9453(define-key org-mode-map [?\C-c ?\C-x (down)] 'org-shiftdown)
9454(define-key org-mode-map (org-key 'S-left) 'org-timestamp-down-day)
9455(define-key org-mode-map [?\C-c ?\C-x (left)] 'org-timestamp-down-day)
9456(define-key org-mode-map (org-key 'S-right) 'org-timestamp-up-day)
9457(define-key org-mode-map [?\C-c ?\C-x (right)] 'org-timestamp-up-day)
9458
9459;; All the other keys
9364(define-key org-mode-map "\C-c$" 'org-archive-subtree) 9460(define-key org-mode-map "\C-c$" 'org-archive-subtree)
9365(define-key org-mode-map "\C-c\C-j" 'org-goto) 9461(define-key org-mode-map "\C-c\C-j" 'org-goto)
9366(define-key org-mode-map "\C-c\C-t" 'org-todo) 9462(define-key org-mode-map "\C-c\C-t" 'org-todo)
@@ -9372,11 +9468,11 @@ When LEVEL is non-nil, increase section numbers on that level."
9372(define-key org-mode-map "\C-c/" 'org-occur) ; Minor-mode reserved 9468(define-key org-mode-map "\C-c/" 'org-occur) ; Minor-mode reserved
9373(define-key org-mode-map "\C-c\C-m" 'org-insert-heading) 9469(define-key org-mode-map "\C-c\C-m" 'org-insert-heading)
9374(define-key org-mode-map "\M-\C-m" 'org-insert-heading) 9470(define-key org-mode-map "\M-\C-m" 'org-insert-heading)
9375(define-key org-mode-map [(meta shift return)] 'org-insert-todo-heading)
9376(define-key org-mode-map "\C-c\C-l" 'org-insert-link) 9471(define-key org-mode-map "\C-c\C-l" 'org-insert-link)
9377(define-key org-mode-map "\C-c\C-o" 'org-open-at-point) 9472(define-key org-mode-map "\C-c\C-o" 'org-open-at-point)
9378(define-key org-mode-map "\C-c\C-z" 'org-time-stamp) ; Alternative binding 9473(define-key org-mode-map "\C-c\C-z" 'org-time-stamp) ; Alternative binding
9379(define-key org-mode-map "\C-c." 'org-time-stamp) ; Minor-mode reserved 9474(define-key org-mode-map "\C-c." 'org-time-stamp) ; Minor-mode reserved
9475(define-key org-mode-map "\C-c!" 'org-time-stamp-inactive) ; Minor-mode r.
9380(define-key org-mode-map "\C-c," 'org-priority) ; Minor-mode reserved 9476(define-key org-mode-map "\C-c," 'org-priority) ; Minor-mode reserved
9381(define-key org-mode-map "\C-c\C-y" 'org-evaluate-time-range) 9477(define-key org-mode-map "\C-c\C-y" 'org-evaluate-time-range)
9382(define-key org-mode-map "\C-c>" 'org-goto-calendar) 9478(define-key org-mode-map "\C-c>" 'org-goto-calendar)
@@ -9384,19 +9480,9 @@ When LEVEL is non-nil, increase section numbers on that level."
9384(define-key org-mode-map "\C-c[" 'org-add-file) 9480(define-key org-mode-map "\C-c[" 'org-add-file)
9385(define-key org-mode-map "\C-c]" 'org-remove-file) 9481(define-key org-mode-map "\C-c]" 'org-remove-file)
9386(define-key org-mode-map "\C-c\C-r" 'org-timeline) 9482(define-key org-mode-map "\C-c\C-r" 'org-timeline)
9387(define-key org-mode-map (org-key 'S-up) 'org-shiftup)
9388(define-key org-mode-map (org-key 'S-down) 'org-shiftdown)
9389(define-key org-mode-map (org-key 'S-left) 'org-timestamp-down-day)
9390(define-key org-mode-map (org-key 'S-right) 'org-timestamp-up-day)
9391(define-key org-mode-map "\C-c-" 'org-table-insert-hline) 9483(define-key org-mode-map "\C-c-" 'org-table-insert-hline)
9392;; The following line is necessary for German keyboards under Suse GNU/Linux
9393(unless org-xemacs-p
9394 (define-key org-mode-map [S-iso-lefttab] 'org-shifttab))
9395(define-key org-mode-map [(shift tab)] 'org-shifttab)
9396(define-key org-mode-map "\C-c\C-c" 'org-ctrl-c-ctrl-c) 9484(define-key org-mode-map "\C-c\C-c" 'org-ctrl-c-ctrl-c)
9397(define-key org-mode-map "\C-m" 'org-return) 9485(define-key org-mode-map "\C-m" 'org-return)
9398(define-key org-mode-map (org-key 'S-return) 'org-table-copy-down)
9399(define-key org-mode-map [(meta return)] 'org-meta-return)
9400(define-key org-mode-map "\C-c?" 'org-table-current-column) 9486(define-key org-mode-map "\C-c?" 'org-table-current-column)
9401(define-key org-mode-map "\C-c " 'org-table-blank-field) 9487(define-key org-mode-map "\C-c " 'org-table-blank-field)
9402(define-key org-mode-map "\C-c+" 'org-table-sum) 9488(define-key org-mode-map "\C-c+" 'org-table-sum)
@@ -9411,12 +9497,18 @@ When LEVEL is non-nil, increase section numbers on that level."
9411(define-key org-mode-map "\C-c\C-x\C-a" 'org-export-as-ascii) 9497(define-key org-mode-map "\C-c\C-x\C-a" 'org-export-as-ascii)
9412(define-key org-mode-map "\C-c\C-xv" 'org-export-copy-visible) 9498(define-key org-mode-map "\C-c\C-xv" 'org-export-copy-visible)
9413(define-key org-mode-map "\C-c\C-x\C-v" 'org-export-copy-visible) 9499(define-key org-mode-map "\C-c\C-x\C-v" 'org-export-copy-visible)
9500;; OPML support is only planned
9414;(define-key org-mode-map "\C-c\C-xo" 'org-export-as-opml) 9501;(define-key org-mode-map "\C-c\C-xo" 'org-export-as-opml)
9415;(define-key org-mode-map "\C-c\C-x\C-o" 'org-export-as-opml) 9502;(define-key org-mode-map "\C-c\C-x\C-o" 'org-export-as-opml)
9416(define-key org-mode-map "\C-c\C-xt" 'org-insert-export-options-template) 9503(define-key org-mode-map "\C-c\C-xt" 'org-insert-export-options-template)
9417(define-key org-mode-map "\C-c:" 'org-toggle-fixed-width-section) 9504(define-key org-mode-map "\C-c:" 'org-toggle-fixed-width-section)
9418(define-key org-mode-map "\C-c\C-xh" 'org-export-as-html) 9505(define-key org-mode-map "\C-c\C-xh" 'org-export-as-html)
9419(define-key org-mode-map "\C-c\C-x\C-h" 'org-export-as-html-and-open) 9506(define-key org-mode-map "\C-c\C-xb" 'org-export-as-html-and-open)
9507(define-key org-mode-map "\C-c\C-x\C-b" 'org-export-as-html-and-open)
9508
9509(define-key org-mode-map "\C-c\C-x\C-w" 'org-cut-special)
9510(define-key org-mode-map "\C-c\C-x\M-w" 'org-copy-special)
9511(define-key org-mode-map "\C-c\C-x\C-y" 'org-paste-special)
9420 9512
9421(defsubst org-table-p () (org-at-table-p)) 9513(defsubst org-table-p () (org-at-table-p))
9422 9514
@@ -9426,6 +9518,12 @@ If the cursor is in a table looking at whitespace, the whitespace is
9426overwritten, and the table is not marked as requiring realignment." 9518overwritten, and the table is not marked as requiring realignment."
9427 (interactive "p") 9519 (interactive "p")
9428 (if (and (org-table-p) 9520 (if (and (org-table-p)
9521 (or
9522 (and org-table-auto-blank-field
9523 (member last-command
9524 '(org-cycle org-return org-shifttab org-ctrl-c-ctrl-c))
9525 (org-table-blank-field))
9526 t)
9429 (eq N 1) 9527 (eq N 1)
9430 (looking-at "[^|\n]* +|")) 9528 (looking-at "[^|\n]* +|"))
9431 (let (org-table-may-need-update) 9529 (let (org-table-may-need-update)
@@ -9480,30 +9578,42 @@ a reduced column width."
9480;; How to do this: Measure non-white length of current string 9578;; How to do this: Measure non-white length of current string
9481;; If equal to column width, we should realign. 9579;; If equal to column width, we should realign.
9482 9580
9581(defun org-remap (map &rest commands)
9582 "In MAP, remap the functions given in COMMANDS.
9583COMMANDS is a list of alternating OLDDEF NEWDEF command names."
9584 (let (new old)
9585 (while commands
9586 (setq old (pop commands) new (pop commands))
9587 (if (fboundp 'command-remapping)
9588 (define-key map (vector 'remap old) new)
9589 (substitute-key-definition old new map global-map)))))
9590
9483(when (eq org-enable-table-editor 'optimized) 9591(when (eq org-enable-table-editor 'optimized)
9484 ;; If the user wants maximum table support, we need to hijack 9592 ;; If the user wants maximum table support, we need to hijack
9485 ;; some standard editing functions 9593 ;; some standard editing functions
9486 (substitute-key-definition 'self-insert-command 'org-self-insert-command 9594 (org-remap org-mode-map
9487 org-mode-map global-map) 9595 'self-insert-command 'org-self-insert-command
9488 (substitute-key-definition 'delete-char 'org-delete-char 9596 'delete-char 'org-delete-char
9489 org-mode-map global-map) 9597 'delete-backward-char 'org-delete-backward-char)
9490 (substitute-key-definition 'delete-backward-char 'org-delete-backward-char 9598 (define-key org-mode-map "|" 'org-force-self-insert))
9491 org-mode-map global-map)
9492 (define-key org-mode-map "|" 'self-insert-command))
9493 9599
9494(defun org-shiftcursor-error () 9600(defun org-shiftcursor-error ()
9495 "Throw an error because Shift-Cursor command was applied in wrong context." 9601 "Throw an error because Shift-Cursor command was applied in wrong context."
9496 (error "This command is only active in tables and on headlines")) 9602 (error "This command is only active in tables and on headlines"))
9497 9603
9498(defun org-shifttab () 9604(defun org-shifttab ()
9499 "Call `(org-cycle t)' or `org-table-previous-field'." 9605 "Global visibility cycling or move to previous table field.
9606Calls `(org-cycle t)' or `org-table-previous-field', depending on context.
9607See the individual commands for more information."
9500 (interactive) 9608 (interactive)
9501 (cond 9609 (cond
9502 ((org-at-table-p) (org-table-previous-field)) 9610 ((org-at-table-p) (org-table-previous-field))
9503 (t (org-cycle '(4))))) 9611 (t (org-cycle '(4)))))
9504 9612
9505(defun org-shiftmetaleft () 9613(defun org-shiftmetaleft ()
9506 "Call `org-promote-subtree' or `org-table-delete-column'." 9614 "Promote subtree or delete table column.
9615Calls `org-promote-subtree' or `org-table-delete-column', depending on context.
9616See the individual commands for more information."
9507 (interactive) 9617 (interactive)
9508 (cond 9618 (cond
9509 ((org-at-table-p) (org-table-delete-column)) 9619 ((org-at-table-p) (org-table-delete-column))
@@ -9511,7 +9621,9 @@ a reduced column width."
9511 (t (org-shiftcursor-error)))) 9621 (t (org-shiftcursor-error))))
9512 9622
9513(defun org-shiftmetaright () 9623(defun org-shiftmetaright ()
9514 "Call `org-demote-subtree' or `org-table-insert-column'." 9624 "Demote subtree or insert table column.
9625Calls `org-demote-subtree' or `org-table-insert-column', depending on context.
9626See the individual commands for more information."
9515 (interactive) 9627 (interactive)
9516 (cond 9628 (cond
9517 ((org-at-table-p) (org-table-insert-column)) 9629 ((org-at-table-p) (org-table-insert-column))
@@ -9519,14 +9631,18 @@ a reduced column width."
9519 (t (org-shiftcursor-error)))) 9631 (t (org-shiftcursor-error))))
9520 9632
9521(defun org-shiftmetaup (&optional arg) 9633(defun org-shiftmetaup (&optional arg)
9522 "Call `org-move-subtree-up' or `org-table-kill-row'." 9634 "Move subtree up or kill table row.
9635Calls `org-move-subtree-up' or `org-table-kill-row', depending on context.
9636See the individual commands for more information."
9523 (interactive "P") 9637 (interactive "P")
9524 (cond 9638 (cond
9525 ((org-at-table-p) (org-table-kill-row)) 9639 ((org-at-table-p) (org-table-kill-row))
9526 ((org-on-heading-p) (org-move-subtree-up arg)) 9640 ((org-on-heading-p) (org-move-subtree-up arg))
9527 (t (org-shiftcursor-error)))) 9641 (t (org-shiftcursor-error))))
9528(defun org-shiftmetadown (&optional arg) 9642(defun org-shiftmetadown (&optional arg)
9529 "Call `org-move-subtree-down' or `org-table-insert-row'." 9643 "Move subtree down or insert table row.
9644Calls `org-move-subtree-down' or `org-table-insert-row', depending on context.
9645See the individual commands for more information."
9530 (interactive "P") 9646 (interactive "P")
9531 (cond 9647 (cond
9532 ((org-at-table-p) (org-table-insert-row arg)) 9648 ((org-at-table-p) (org-table-insert-row arg))
@@ -9534,7 +9650,9 @@ a reduced column width."
9534 (t (org-shiftcursor-error)))) 9650 (t (org-shiftcursor-error))))
9535 9651
9536(defun org-metaleft (&optional arg) 9652(defun org-metaleft (&optional arg)
9537 "Call `org-do-promote' or `org-table-move-column' to left." 9653 "Promote heading or move table column to left.
9654Calls `org-do-promote' or `org-table-move-column', depending on context.
9655See the individual commands for more information."
9538 (interactive "P") 9656 (interactive "P")
9539 (cond 9657 (cond
9540 ((org-at-table-p) (org-table-move-column 'left)) 9658 ((org-at-table-p) (org-table-move-column 'left))
@@ -9542,7 +9660,9 @@ a reduced column width."
9542 (t (backward-word (prefix-numeric-value arg))))) 9660 (t (backward-word (prefix-numeric-value arg)))))
9543 9661
9544(defun org-metaright (&optional arg) 9662(defun org-metaright (&optional arg)
9545 "Call `org-do-demote' or `org-table-move-column' to right." 9663 "Demote subtree or move table column to right.
9664Calls `org-do-demote' or `org-table-move-column', depending on context.
9665See the individual commands for more information."
9546 (interactive "P") 9666 (interactive "P")
9547 (cond 9667 (cond
9548 ((org-at-table-p) (org-table-move-column nil)) 9668 ((org-at-table-p) (org-table-move-column nil))
@@ -9550,7 +9670,9 @@ a reduced column width."
9550 (t (forward-word (prefix-numeric-value arg))))) 9670 (t (forward-word (prefix-numeric-value arg)))))
9551 9671
9552(defun org-metaup (&optional arg) 9672(defun org-metaup (&optional arg)
9553 "Call `org-move-subtree-up' or `org-table-move-row' up." 9673 "Move subtree up or move table row up.
9674Calls `org-move-subtree-up' or `org-table-move-row', depending on context.
9675See the individual commands for more information."
9554 (interactive "P") 9676 (interactive "P")
9555 (cond 9677 (cond
9556 ((org-at-table-p) (org-table-move-row 'up)) 9678 ((org-at-table-p) (org-table-move-row 'up))
@@ -9558,7 +9680,9 @@ a reduced column width."
9558 (t (org-shiftcursor-error)))) 9680 (t (org-shiftcursor-error))))
9559 9681
9560(defun org-metadown (&optional arg) 9682(defun org-metadown (&optional arg)
9561 "Call `org-move-subtree-down' or `org-table-move-row' down." 9683 "Move subtree down or move table row down.
9684Calls `org-move-subtree-down' or `org-table-move-row', depending on context.
9685See the individual commands for more information."
9562 (interactive "P") 9686 (interactive "P")
9563 (cond 9687 (cond
9564 ((org-at-table-p) (org-table-move-row nil)) 9688 ((org-at-table-p) (org-table-move-row nil))
@@ -9566,33 +9690,43 @@ a reduced column width."
9566 (t (org-shiftcursor-error)))) 9690 (t (org-shiftcursor-error))))
9567 9691
9568(defun org-shiftup (&optional arg) 9692(defun org-shiftup (&optional arg)
9569 "Call `org-timestamp-up' or `org-priority-up'." 9693 "Increase item in timestamp or increase priority of current item.
9694Calls `org-timestamp-up' or `org-priority-up', depending on context.
9695See the individual commands for more information."
9570 (interactive "P") 9696 (interactive "P")
9571 (cond 9697 (cond
9572 ((org-at-timestamp-p) (org-timestamp-up arg)) 9698 ((org-at-timestamp-p) (org-timestamp-up arg))
9573 (t (org-priority-up)))) 9699 (t (org-priority-up))))
9574 9700
9575(defun org-shiftdown (&optional arg) 9701(defun org-shiftdown (&optional arg)
9576 "Call `org-timestamp-down' or `org-priority-down'." 9702 "Decrease item in timestamp or decrease priority of current item.
9703Calls `org-timestamp-down' or `org-priority-down', depending on context.
9704See the individual commands for more information."
9577 (interactive "P") 9705 (interactive "P")
9578 (cond 9706 (cond
9579 ((org-at-timestamp-p) (org-timestamp-down arg)) 9707 ((org-at-timestamp-p) (org-timestamp-down arg))
9580 (t (org-priority-down)))) 9708 (t (org-priority-down))))
9581 9709
9582(defun org-copy-special () 9710(defun org-copy-special ()
9583 "Call either `org-table-copy' or `org-copy-subtree'." 9711 "Copy region in table or copy current subtree.
9712Calls `org-table-copy' or `org-copy-subtree', depending on context.
9713See the individual commands for more information."
9584 (interactive) 9714 (interactive)
9585 (call-interactively 9715 (call-interactively
9586 (if (org-at-table-p) 'org-table-copy-region 'org-copy-subtree))) 9716 (if (org-at-table-p) 'org-table-copy-region 'org-copy-subtree)))
9587 9717
9588(defun org-cut-special () 9718(defun org-cut-special ()
9589 "Call either `org-table-copy' or `org-cut-subtree'." 9719 "Cut region in table or cut current subtree.
9720Calls `org-table-copy' or `org-cut-subtree', depending on context.
9721See the individual commands for more information."
9590 (interactive) 9722 (interactive)
9591 (call-interactively 9723 (call-interactively
9592 (if (org-at-table-p) 'org-table-cut-region 'org-cut-subtree))) 9724 (if (org-at-table-p) 'org-table-cut-region 'org-cut-subtree)))
9593 9725
9594(defun org-paste-special (arg) 9726(defun org-paste-special (arg)
9595 "Call either `org-table-paste-rectangle' or `org-paste-subtree'." 9727 "Paste rectangular region into table, or past subtree relative to level.
9728Calls `org-table-paste-rectangle' or `org-paste-subtree', depending on context.
9729See the individual commands for more information."
9596 (interactive "P") 9730 (interactive "P")
9597 (if (org-at-table-p) 9731 (if (org-at-table-p)
9598 (org-table-paste-rectangle) 9732 (org-table-paste-rectangle)
@@ -9605,7 +9739,8 @@ activate that table. Otherwise, if the cursor is at a normal table
9605created with org.el, re-align that table. This command works even if 9739created with org.el, re-align that table. This command works even if
9606the automatic table editor has been turned off. 9740the automatic table editor has been turned off.
9607If the cursor is in one of the special #+KEYWORD lines, this triggers 9741If the cursor is in one of the special #+KEYWORD lines, this triggers
9608scanning the buffer for these lines and updating the information." 9742scanning the buffer for these lines and updating the information.
9743If the cursor is on a #+TBLFM line, re-apply the formulae to the table."
9609 (interactive "P") 9744 (interactive "P")
9610 (let ((org-enable-table-editor t)) 9745 (let ((org-enable-table-editor t))
9611 (cond 9746 (cond
@@ -9629,7 +9764,7 @@ scanning the buffer for these lines and updating the information."
9629 (skip-chars-backward " \r\n\t") 9764 (skip-chars-backward " \r\n\t")
9630 (if (org-at-table-p) (org-table-recalculate t)))) 9765 (if (org-at-table-p) (org-table-recalculate t))))
9631 (t 9766 (t
9632 (let ((org-inhibit-startup t)) (org-mode))))) 9767 (org-mode-restart))))
9633 ((org-region-active-p) 9768 ((org-region-active-p)
9634 (org-table-convert-region (region-beginning) (region-end) arg)) 9769 (org-table-convert-region (region-beginning) (region-end) arg))
9635 ((and (region-beginning) (region-end)) 9770 ((and (region-beginning) (region-end))
@@ -9638,8 +9773,17 @@ scanning the buffer for these lines and updating the information."
9638 (error "Abort"))) 9773 (error "Abort")))
9639 (t (error "No table at point, and no region to make one"))))) 9774 (t (error "No table at point, and no region to make one")))))
9640 9775
9776(defun org-mode-restart ()
9777 "Restart Org-mode, to scan again for special lines.
9778Also updates the keyword regular expressions."
9779 (interactive)
9780 (let ((org-inhibit-startup t)) (org-mode))
9781 (message "Org-mode restarted to refresh keyword and special line setup"))
9782
9641(defun org-return () 9783(defun org-return ()
9642 "Call `org-table-next-row' or `newline'." 9784 "Goto next table row or insert a newline.
9785Calls `org-table-next-row' or `newline', depending on context.
9786See the individual commands for more information."
9643 (interactive) 9787 (interactive)
9644 (cond 9788 (cond
9645 ((org-at-table-p) 9789 ((org-at-table-p)
@@ -9648,7 +9792,9 @@ scanning the buffer for these lines and updating the information."
9648 (t (newline)))) 9792 (t (newline))))
9649 9793
9650(defun org-meta-return (&optional arg) 9794(defun org-meta-return (&optional arg)
9651 "Call `org-insert-heading' or `org-table-wrap-region'." 9795 "Insert a new heading or wrap a region in a table.
9796Calls `org-insert-heading' or `org-table-wrap-region', depending on context.
9797See the individual commands for more information."
9652 (interactive "P") 9798 (interactive "P")
9653 (cond 9799 (cond
9654 ((org-at-table-p) 9800 ((org-at-table-p)
@@ -9716,6 +9862,7 @@ scanning the buffer for these lines and updating the information."
9716(easy-menu-define org-org-menu org-mode-map "Org menu" 9862(easy-menu-define org-org-menu org-mode-map "Org menu"
9717 '("Org" 9863 '("Org"
9718 ["Cycle Visibility" org-cycle (or (bobp) (outline-on-heading-p))] 9864 ["Cycle Visibility" org-cycle (or (bobp) (outline-on-heading-p))]
9865 ["Cycle Global Visibility" org-shifttab (not (org-at-table-p))]
9719 ["Sparse Tree" org-occur t] 9866 ["Sparse Tree" org-occur t]
9720 ["Show All" show-all t] 9867 ["Show All" show-all t]
9721 "--" 9868 "--"
@@ -9752,6 +9899,7 @@ scanning the buffer for these lines and updating the information."
9752 ["Priority Down" org-shiftdown t]) 9899 ["Priority Down" org-shiftdown t])
9753 ("Dates and Scheduling" 9900 ("Dates and Scheduling"
9754 ["Timestamp" org-time-stamp t] 9901 ["Timestamp" org-time-stamp t]
9902 ["Timestamp (inactive)" org-time-stamp-inactive t]
9755 ("Change Date" 9903 ("Change Date"
9756 ["1 Day Later" org-timestamp-up-day t] 9904 ["1 Day Later" org-timestamp-up-day t]
9757 ["1 Day Earlier" org-timestamp-down-day t] 9905 ["1 Day Earlier" org-timestamp-down-day t]
@@ -9795,6 +9943,8 @@ scanning the buffer for these lines and updating the information."
9795 "--" 9943 "--"
9796 ["Build Full Customize Menu" org-create-customize-menu 9944 ["Build Full Customize Menu" org-create-customize-menu
9797 (fboundp 'customize-menu-create)]) 9945 (fboundp 'customize-menu-create)])
9946 "--"
9947 ["Refresh setup" org-mode-restart t]
9798 )) 9948 ))
9799 9949
9800(defun org-info (&optional node) 9950(defun org-info (&optional node)
diff --git a/lisp/textmodes/refer.el b/lisp/textmodes/refer.el
index 82f06576c1a..9fa0afe2046 100644
--- a/lisp/textmodes/refer.el
+++ b/lisp/textmodes/refer.el
@@ -339,7 +339,7 @@ found on the last refer-find-entry or refer-find-next-entry."
339 (list (expand-file-name 339 (list (expand-file-name
340 (if (eq major-mode 'bibtex-mode) 340 (if (eq major-mode 'bibtex-mode)
341 (read-file-name 341 (read-file-name
342 (format ".bib file: (default %s) " 342 (format ".bib file (default %s): "
343 (file-name-nondirectory 343 (file-name-nondirectory
344 (buffer-file-name))) 344 (buffer-file-name)))
345 (file-name-directory (buffer-file-name)) 345 (file-name-directory (buffer-file-name))
diff --git a/lisp/textmodes/reftex-auc.el b/lisp/textmodes/reftex-auc.el
index f94a9d0956f..65815dd2885 100644
--- a/lisp/textmodes/reftex-auc.el
+++ b/lisp/textmodes/reftex-auc.el
@@ -19,8 +19,8 @@
19 19
20;; You should have received a copy of the GNU General Public License 20;; You should have received a copy of the GNU General Public License
21;; along with GNU Emacs; see the file COPYING. If not, write to the 21;; along with GNU Emacs; see the file COPYING. If not, write to the
22;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 22;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23;; Boston, MA 02111-1307, USA. 23;; Boston, MA 02110-1301, USA.
24 24
25;;; Commentary: 25;;; Commentary:
26 26
@@ -67,8 +67,8 @@ What is being used depends upon `reftex-plug-into-AUCTeX'."
67 (setq items (list (or (reftex-citation t) "")))) 67 (setq items (list (or (reftex-citation t) ""))))
68 (t 68 (t
69 (setq prompt (concat (if optional "(Optional) " "") 69 (setq prompt (concat (if optional "(Optional) " "")
70 (if prompt prompt "Add key") 70 (if prompt prompt "Add key")
71 ": (default none) ")) 71 " (default none): "))
72 (setq items (multi-prompt "," t prompt (LaTeX-bibitem-list))))) 72 (setq items (multi-prompt "," t prompt (LaTeX-bibitem-list)))))
73 (apply 'LaTeX-add-bibitems items) 73 (apply 'LaTeX-add-bibitems items)
74 (TeX-argument-insert (mapconcat 'identity items ",") optional))) 74 (TeX-argument-insert (mapconcat 'identity items ",") optional)))
@@ -79,8 +79,8 @@ What is being used depends upon `reftex-plug-into-AUCTeX'."
79This is the name of an index, not the entry." 79This is the name of an index, not the entry."
80 (let (tag taglist) 80 (let (tag taglist)
81 (setq prompt (concat (if optional "(Optional) " "") 81 (setq prompt (concat (if optional "(Optional) " "")
82 (if prompt prompt "Index tag") 82 (if prompt prompt "Index tag")
83 ": (default none) ")) 83 " (default none): "))
84 (if (and reftex-support-index (reftex-plug-flag 4)) 84 (if (and reftex-support-index (reftex-plug-flag 4))
85 ;; Use RefTeX completion 85 ;; Use RefTeX completion
86 (progn 86 (progn
diff --git a/lisp/textmodes/reftex-cite.el b/lisp/textmodes/reftex-cite.el
index fbe1fc4621a..cb85ea201fa 100644
--- a/lisp/textmodes/reftex-cite.el
+++ b/lisp/textmodes/reftex-cite.el
@@ -19,8 +19,8 @@
19 19
20;; You should have received a copy of the GNU General Public License 20;; You should have received a copy of the GNU General Public License
21;; along with GNU Emacs; see the file COPYING. If not, write to the 21;; along with GNU Emacs; see the file COPYING. If not, write to the
22;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 22;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23;; Boston, MA 02111-1307, USA. 23;; Boston, MA 02110-1301, USA.
24 24
25;;; Commentary: 25;;; Commentary:
26 26
diff --git a/lisp/textmodes/reftex-dcr.el b/lisp/textmodes/reftex-dcr.el
index 18e12a66325..56adf2956c6 100644
--- a/lisp/textmodes/reftex-dcr.el
+++ b/lisp/textmodes/reftex-dcr.el
@@ -20,8 +20,8 @@
20 20
21;; You should have received a copy of the GNU General Public License 21;; You should have received a copy of the GNU General Public License
22;; along with GNU Emacs; see the file COPYING. If not, write to the 22;; along with GNU Emacs; see the file COPYING. If not, write to the
23;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 23;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
24;; Boston, MA 02111-1307, USA. 24;; Boston, MA 02110-1301, USA.
25 25
26;;; Commentary: 26;;; Commentary:
27 27
diff --git a/lisp/textmodes/reftex-global.el b/lisp/textmodes/reftex-global.el
index aa8c6a354ca..580a0c8e314 100644
--- a/lisp/textmodes/reftex-global.el
+++ b/lisp/textmodes/reftex-global.el
@@ -19,8 +19,8 @@
19 19
20;; You should have received a copy of the GNU General Public License 20;; You should have received a copy of the GNU General Public License
21;; along with GNU Emacs; see the file COPYING. If not, write to the 21;; along with GNU Emacs; see the file COPYING. If not, write to the
22;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 22;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23;; Boston, MA 02111-1307, USA. 23;; Boston, MA 02110-1301, USA.
24 24
25;;; Commentary: 25;;; Commentary:
26 26
diff --git a/lisp/textmodes/reftex-index.el b/lisp/textmodes/reftex-index.el
index 83a5d4ac137..65025645c0d 100644
--- a/lisp/textmodes/reftex-index.el
+++ b/lisp/textmodes/reftex-index.el
@@ -19,8 +19,8 @@
19 19
20;; You should have received a copy of the GNU General Public License 20;; You should have received a copy of the GNU General Public License
21;; along with GNU Emacs; see the file COPYING. If not, write to the 21;; along with GNU Emacs; see the file COPYING. If not, write to the
22;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 22;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23;; Boston, MA 02111-1307, USA. 23;; Boston, MA 02110-1301, USA.
24 24
25;;; Commentary: 25;;; Commentary:
26 26
@@ -166,13 +166,20 @@ will prompt for other arguments."
166 ;; OPT-ARGS is a list of optional argument indices, as given by 166 ;; OPT-ARGS is a list of optional argument indices, as given by
167 ;; `reftex-parse-args'. 167 ;; `reftex-parse-args'.
168 (let* ((opt (and (integerp itag) (member itag opt-args))) 168 (let* ((opt (and (integerp itag) (member itag opt-args)))
169 (index-tags (cdr (assq 'index-tags 169 (index-tags (cdr (assq 'index-tags
170 (symbol-value reftex-docstruct-symbol)))) 170 (symbol-value reftex-docstruct-symbol))))
171 (default (reftex-default-index)) 171 (default (reftex-default-index))
172 (prompt (concat "Index tag" 172 (prompt (concat "Index tag"
173 (if default (format " (default: %s)" default) "") 173 (if (or opt default)
174 (if opt " (optional)" "") ": ")) 174 (format " (%s): "
175 (tag (completing-read prompt (mapcar 'list index-tags)))) 175 (concat
176 (if opt "optional" "")
177 (if default
178 (concat (if opt ", " "")
179 (format "default %s" default))
180 "")))
181 ": ")))
182 (tag (completing-read prompt (mapcar 'list index-tags))))
176 (if (and default (equal tag "")) (setq tag default)) 183 (if (and default (equal tag "")) (setq tag default))
177 (reftex-update-default-index tag) 184 (reftex-update-default-index tag)
178 tag)) 185 tag))
@@ -1232,7 +1239,7 @@ If the buffer is non-empty, delete the old header first."
1232 (beginning-of-line 2)) 1239 (beginning-of-line 2))
1233 (cond ((fboundp 'zmacs-activate-region) (zmacs-activate-region)) 1240 (cond ((fboundp 'zmacs-activate-region) (zmacs-activate-region))
1234 ((boundp 'make-active) (setq mark-active t))) 1241 ((boundp 'make-active) (setq mark-active t)))
1235 (if (yes-or-no-p "Delete and rebuilt header ") 1242 (if (yes-or-no-p "Delete and rebuild header? ")
1236 (delete-region (point-min) (point)))) 1243 (delete-region (point-min) (point))))
1237 1244
1238 ;; Insert the mode line 1245 ;; Insert the mode line
diff --git a/lisp/textmodes/reftex-parse.el b/lisp/textmodes/reftex-parse.el
index 448f4381d23..032bcba7dc9 100644
--- a/lisp/textmodes/reftex-parse.el
+++ b/lisp/textmodes/reftex-parse.el
@@ -20,8 +20,8 @@
20 20
21;; You should have received a copy of the GNU General Public License 21;; You should have received a copy of the GNU General Public License
22;; along with GNU Emacs; see the file COPYING. If not, write to the 22;; along with GNU Emacs; see the file COPYING. If not, write to the
23;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 23;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
24;; Boston, MA 02111-1307, USA. 24;; Boston, MA 02110-1301, USA.
25 25
26;;; Commentary: 26;;; Commentary:
27 27
diff --git a/lisp/textmodes/reftex-ref.el b/lisp/textmodes/reftex-ref.el
index d3fce91a946..c250806c118 100644
--- a/lisp/textmodes/reftex-ref.el
+++ b/lisp/textmodes/reftex-ref.el
@@ -19,8 +19,8 @@
19 19
20;; You should have received a copy of the GNU General Public License 20;; You should have received a copy of the GNU General Public License
21;; along with GNU Emacs; see the file COPYING. If not, write to the 21;; along with GNU Emacs; see the file COPYING. If not, write to the
22;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 22;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23;; Boston, MA 02111-1307, USA. 23;; Boston, MA 02110-1301, USA.
24 24
25;;; Commentary: 25;;; Commentary:
26 26
diff --git a/lisp/textmodes/reftex-sel.el b/lisp/textmodes/reftex-sel.el
index 6402a8fea41..f4fc8368a50 100644
--- a/lisp/textmodes/reftex-sel.el
+++ b/lisp/textmodes/reftex-sel.el
@@ -19,8 +19,8 @@
19 19
20;; You should have received a copy of the GNU General Public License 20;; You should have received a copy of the GNU General Public License
21;; along with GNU Emacs; see the file COPYING. If not, write to the 21;; along with GNU Emacs; see the file COPYING. If not, write to the
22;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 22;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23;; Boston, MA 02111-1307, USA. 23;; Boston, MA 02110-1301, USA.
24 24
25;;; Commentary: 25;;; Commentary:
26 26
diff --git a/lisp/textmodes/reftex-toc.el b/lisp/textmodes/reftex-toc.el
index 3e8cd87bea2..541b3091af0 100644
--- a/lisp/textmodes/reftex-toc.el
+++ b/lisp/textmodes/reftex-toc.el
@@ -19,8 +19,8 @@
19 19
20;; You should have received a copy of the GNU General Public License 20;; You should have received a copy of the GNU General Public License
21;; along with GNU Emacs; see the file COPYING. If not, write to the 21;; along with GNU Emacs; see the file COPYING. If not, write to the
22;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 22;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23;; Boston, MA 02111-1307, USA. 23;; Boston, MA 02110-1301, USA.
24 24
25;;; Commentary: 25;;; Commentary:
26 26
diff --git a/lisp/textmodes/reftex-vars.el b/lisp/textmodes/reftex-vars.el
index 7a3cfab6742..703f5b8dd2a 100644
--- a/lisp/textmodes/reftex-vars.el
+++ b/lisp/textmodes/reftex-vars.el
@@ -19,8 +19,8 @@
19 19
20;; You should have received a copy of the GNU General Public License 20;; You should have received a copy of the GNU General Public License
21;; along with GNU Emacs; see the file COPYING If not, write to the 21;; along with GNU Emacs; see the file COPYING If not, write to the
22;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 22;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23;; Boston, MA 02111-1307, USA. 23;; Boston, MA 02110-1301, USA.
24 24
25;;; Commentary: 25;;; Commentary:
26 26
diff --git a/lisp/textmodes/reftex.el b/lisp/textmodes/reftex.el
index 81f6ad70f87..8d0aa4bf80d 100644
--- a/lisp/textmodes/reftex.el
+++ b/lisp/textmodes/reftex.el
@@ -20,8 +20,8 @@
20 20
21;; You should have received a copy of the GNU General Public License 21;; You should have received a copy of the GNU General Public License
22;; along with GNU Emacs; see the file COPYING. If not, write to the 22;; along with GNU Emacs; see the file COPYING. If not, write to the
23;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 23;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
24;; Boston, MA 02111-1307, USA. 24;; Boston, MA 02110-1301, USA.
25 25
26;;--------------------------------------------------------------------------- 26;;---------------------------------------------------------------------------
27;; 27;;
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index fa6fdea8b18..4c5fe0d3e09 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -472,7 +472,7 @@ An alternative value is \" . \", if you use a font with a narrow period."
472 (arg "{\\(\\(?:[^{}\\]+\\|\\\\.\\|{[^}]*}\\)+\\)")) 472 (arg "{\\(\\(?:[^{}\\]+\\|\\\\.\\|{[^}]*}\\)+\\)"))
473 (list 473 (list
474 ;; font-lock-syntactic-keywords causes the \ of \end{verbatim} to be 474 ;; font-lock-syntactic-keywords causes the \ of \end{verbatim} to be
475 ;; highlighted as tex-verbatim-face. Let's undo that. 475 ;; highlighted as tex-verbatim face. Let's undo that.
476 ;; This is ugly and brittle :-( --Stef 476 ;; This is ugly and brittle :-( --Stef
477 '("^\\(\\\\\\)end" (1 (get-text-property (match-end 1) 'face) t)) 477 '("^\\(\\\\\\)end" (1 (get-text-property (match-end 1) 'face) t))
478 ;; display $$ math $$ 478 ;; display $$ math $$
@@ -509,7 +509,7 @@ An alternative value is \" . \", if you use a font with a narrow period."
509 509
510(defun tex-font-lock-append-prop (prop) 510(defun tex-font-lock-append-prop (prop)
511 (unless (memq (get-text-property (match-end 1) 'face) 511 (unless (memq (get-text-property (match-end 1) 'face)
512 '(font-lock-comment-face tex-verbatim-face)) 512 '(font-lock-comment-face tex-verbatim))
513 prop)) 513 prop))
514 514
515(defconst tex-font-lock-keywords-2 515(defconst tex-font-lock-keywords-2
@@ -583,7 +583,7 @@ An alternative value is \" . \", if you use a font with a narrow period."
583(defun tex-font-lock-suscript (pos) 583(defun tex-font-lock-suscript (pos)
584 (unless (or (memq (get-text-property pos 'face) 584 (unless (or (memq (get-text-property pos 'face)
585 '(font-lock-constant-face font-lock-builtin-face 585 '(font-lock-constant-face font-lock-builtin-face
586 font-lock-comment-face tex-verbatim-face)) 586 font-lock-comment-face tex-verbatim))
587 ;; Check for backslash quoting 587 ;; Check for backslash quoting
588 (let ((odd nil) 588 (let ((odd nil)
589 (pos pos)) 589 (pos pos))
@@ -1109,7 +1109,7 @@ Inserts the value of `tex-open-quote' (normally ``) or `tex-close-quote'
1109inserts \" characters." 1109inserts \" characters."
1110 (interactive "*P") 1110 (interactive "*P")
1111 (if (or arg (memq (char-syntax (preceding-char)) '(?/ ?\\)) 1111 (if (or arg (memq (char-syntax (preceding-char)) '(?/ ?\\))
1112 (eq (get-text-property (point) 'face) tex-verbatim-face) 1112 (eq (get-text-property (point) 'face) tex-verbatim)
1113 (save-excursion 1113 (save-excursion
1114 (backward-char (length tex-open-quote)) 1114 (backward-char (length tex-open-quote))
1115 (when (or (looking-at (regexp-quote tex-open-quote)) 1115 (when (or (looking-at (regexp-quote tex-open-quote))
@@ -2341,7 +2341,7 @@ Runs the shell command defined by `tex-show-queue-command'."
2341 2341
2342(defun latex-indent (&optional arg) 2342(defun latex-indent (&optional arg)
2343 (if (and (eq (get-text-property (line-beginning-position) 'face) 2343 (if (and (eq (get-text-property (line-beginning-position) 'face)
2344 tex-verbatim-face)) 2344 tex-verbatim))
2345 'noindent 2345 'noindent
2346 (with-syntax-table tex-latex-indent-syntax-table 2346 (with-syntax-table tex-latex-indent-syntax-table
2347 ;; TODO: Rather than ignore $, we should try to be more clever about it. 2347 ;; TODO: Rather than ignore $, we should try to be more clever about it.
diff --git a/lisp/tree-widget.el b/lisp/tree-widget.el
index 28207436688..d29e224f549 100644
--- a/lisp/tree-widget.el
+++ b/lisp/tree-widget.el
@@ -651,7 +651,9 @@ This hook should be local in the buffer setup to display widgets.")
651 (widget-put tree :node (widget-convert node)) 651 (widget-put tree :node (widget-convert node))
652 ;; Create the icon widget for the expanded tree. 652 ;; Create the icon widget for the expanded tree.
653 (push (widget-create-child-and-convert 653 (push (widget-create-child-and-convert
654 tree (widget-get tree (if args :open-icon :empty-icon))) 654 tree (widget-get tree (if args :open-icon :empty-icon))
655 ;; Pass the node widget to child.
656 :node (widget-get tree :node))
655 buttons) 657 buttons)
656 ;; Create the tree node widget. 658 ;; Create the tree node widget.
657 (push (widget-create-child tree (widget-get tree :node)) 659 (push (widget-create-child tree (widget-get tree :node))
@@ -701,7 +703,9 @@ This hook should be local in the buffer setup to display widgets.")
701 (widget-put tree :node (widget-convert node)) 703 (widget-put tree :node (widget-convert node))
702 ;; Create the icon widget for the collapsed tree. 704 ;; Create the icon widget for the collapsed tree.
703 (push (widget-create-child-and-convert 705 (push (widget-create-child-and-convert
704 tree (widget-get tree :close-icon)) 706 tree (widget-get tree :close-icon)
707 ;; Pass the node widget to child.
708 :node (widget-get tree :node))
705 buttons) 709 buttons)
706 ;; Create the tree node widget. 710 ;; Create the tree node widget.
707 (push (widget-create-child tree (widget-get tree :node)) 711 (push (widget-create-child tree (widget-get tree :node))
diff --git a/lisp/vc-mcvs.el b/lisp/vc-mcvs.el
index 271cd01cbfb..b52bc797dda 100644
--- a/lisp/vc-mcvs.el
+++ b/lisp/vc-mcvs.el
@@ -225,7 +225,7 @@ the Meta-CVS command (in that order)."
225 ;; Make sure the `mcvs add' will not fire up the CVSEDITOR 225 ;; Make sure the `mcvs add' will not fire up the CVSEDITOR
226 ;; to add a rule for the given file's extension. 226 ;; to add a rule for the given file's extension.
227 (when (and ext (not (assoc ext types))) 227 (when (and ext (not (assoc ext types)))
228 (let ((type (completing-read "Type to use [default]: " 228 (let ((type (completing-read "Type to use (default): "
229 '("default" "name-only" "keep-old" 229 '("default" "name-only" "keep-old"
230 "binary" "value-only") 230 "binary" "value-only")
231 nil t nil nil "default"))) 231 nil t nil nil "default")))
diff --git a/lisp/vc.el b/lisp/vc.el
index 665bb3d31e7..f7afbedc354 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -1707,7 +1707,7 @@ versions of all registered files in or below it."
1707 (interactive 1707 (interactive
1708 (let ((file (expand-file-name 1708 (let ((file (expand-file-name
1709 (read-file-name (if buffer-file-name 1709 (read-file-name (if buffer-file-name
1710 "File or dir to diff: (default visited file) " 1710 "File or dir to diff (default visited file): "
1711 "File or dir to diff: ") 1711 "File or dir to diff: ")
1712 default-directory buffer-file-name t))) 1712 default-directory buffer-file-name t)))
1713 (rev1-default nil) (rev2-default nil)) 1713 (rev1-default nil) (rev2-default nil))
@@ -1728,14 +1728,14 @@ versions of all registered files in or below it."
1728 ;; construct argument list 1728 ;; construct argument list
1729 (list file 1729 (list file
1730 (read-string (if rev1-default 1730 (read-string (if rev1-default
1731 (concat "Older version: (default " 1731 (concat "Older version (default "
1732 rev1-default ") ") 1732 rev1-default "): ")
1733 "Older version: ") 1733 "Older version: ")
1734 nil nil rev1-default) 1734 nil nil rev1-default)
1735 (read-string (if rev2-default 1735 (read-string (if rev2-default
1736 (concat "Newer version: (default " 1736 (concat "Newer version (default "
1737 rev2-default ") ") 1737 rev2-default "): ")
1738 "Newer version (default: current source): ") 1738 "Newer version (default current source): ")
1739 nil nil rev2-default)))) 1739 nil nil rev2-default))))
1740 (if (file-directory-p file) 1740 (if (file-directory-p file)
1741 ;; recursive directory diff 1741 ;; recursive directory diff
@@ -1998,7 +1998,7 @@ See Info node `Merging'."
1998 (error "Merge aborted")))) 1998 (error "Merge aborted"))))
1999 (setq first-version 1999 (setq first-version
2000 (read-string (concat "Branch or version to merge from " 2000 (read-string (concat "Branch or version to merge from "
2001 "(default: news on current branch): "))) 2001 "(default news on current branch): ")))
2002 (if (string= first-version "") 2002 (if (string= first-version "")
2003 (if (not (vc-find-backend-function backend 'merge-news)) 2003 (if (not (vc-find-backend-function backend 'merge-news))
2004 (error "Sorry, merging news is not implemented for %s" backend) 2004 (error "Sorry, merging news is not implemented for %s" backend)
@@ -2727,7 +2727,7 @@ backend to NEW-BACKEND, and unregister FILE from the current backend.
2727 (error "Deleting files under %s is not supported in VC" backend)) 2727 (error "Deleting files under %s is not supported in VC" backend))
2728 (if (and buf (buffer-modified-p buf)) 2728 (if (and buf (buffer-modified-p buf))
2729 (error "Please save files before deleting them")) 2729 (error "Please save files before deleting them"))
2730 (unless (y-or-n-p (format "Really want to delete %s ? " 2730 (unless (y-or-n-p (format "Really want to delete %s? "
2731 (file-name-nondirectory file))) 2731 (file-name-nondirectory file)))
2732 (error "Abort!")) 2732 (error "Abort!"))
2733 (unless (or (file-directory-p file) (null make-backup-files)) 2733 (unless (or (file-directory-p file) (null make-backup-files))
@@ -3080,7 +3080,7 @@ colors. `vc-annotate-background' specifies the background color."
3080 (bfn buffer-file-name) 3080 (bfn buffer-file-name)
3081 (vc-annotate-version 3081 (vc-annotate-version
3082 (if prefix (read-string 3082 (if prefix (read-string
3083 (format "Annotate from version: (default %s) " rev) 3083 (format "Annotate from version (default %s): " rev)
3084 nil nil rev) 3084 nil nil rev)
3085 rev))) 3085 rev)))
3086 (if display-mode 3086 (if display-mode
@@ -3088,7 +3088,7 @@ colors. `vc-annotate-background' specifies the background color."
3088 (if prefix 3088 (if prefix
3089 (setq vc-annotate-display-mode 3089 (setq vc-annotate-display-mode
3090 (float (string-to-number 3090 (float (string-to-number
3091 (read-string "Annotate span days: (default 20) " 3091 (read-string "Annotate span days (default 20): "
3092 nil nil "20")))))) 3092 nil nil "20"))))))
3093 (setq temp-buffer-name (format "*Annotate %s (rev %s)*" 3093 (setq temp-buffer-name (format "*Annotate %s (rev %s)*"
3094 (buffer-name) vc-annotate-version)) 3094 (buffer-name) vc-annotate-version))
diff --git a/lisp/w32-fns.el b/lisp/w32-fns.el
index 290f23276b1..3bcea6329a8 100644
--- a/lisp/w32-fns.el
+++ b/lisp/w32-fns.el
@@ -283,7 +283,7 @@ This function is provided for backward compatibility, since
283 (interactive 283 (interactive
284 (list (let ((default locale-coding-system)) 284 (list (let ((default locale-coding-system))
285 (read-coding-system 285 (read-coding-system
286 (format "Coding system for system calls (default, %s): " 286 (format "Coding system for system calls (default %s): "
287 default) 287 default)
288 default)))) 288 default))))
289 (check-coding-system coding-system) 289 (check-coding-system coding-system)
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index b11240addab..b6ce0aa0f67 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -3055,7 +3055,7 @@ It will read a file name from the minibuffer when invoked."
3055 (abbreviate-file-name 3055 (abbreviate-file-name
3056 (if unbound 3056 (if unbound
3057 (read-file-name prompt) 3057 (read-file-name prompt)
3058 (let ((prompt2 (format "%s (default %s) " prompt value)) 3058 (let ((prompt2 (format "%s (default %s): " prompt value))
3059 (dir (file-name-directory value)) 3059 (dir (file-name-directory value))
3060 (file (file-name-nondirectory value)) 3060 (file (file-name-nondirectory value))
3061 (must-match (widget-get widget :must-match))) 3061 (must-match (widget-get widget :must-match)))
@@ -3068,7 +3068,7 @@ It will read a file name from the minibuffer when invoked."
3068;;; (file (file-name-nondirectory value)) 3068;;; (file (file-name-nondirectory value))
3069;;; (menu-tag (widget-apply widget :menu-tag-get)) 3069;;; (menu-tag (widget-apply widget :menu-tag-get))
3070;;; (must-match (widget-get widget :must-match)) 3070;;; (must-match (widget-get widget :must-match))
3071;;; (answer (read-file-name (concat menu-tag ": (default `" value "') ") 3071;;; (answer (read-file-name (concat menu-tag " (default " value "): ")
3072;;; dir nil must-match file))) 3072;;; dir nil must-match file)))
3073;;; (widget-value-set widget (abbreviate-file-name answer)) 3073;;; (widget-value-set widget (abbreviate-file-name answer))
3074;;; (widget-setup) 3074;;; (widget-setup)
@@ -3169,10 +3169,10 @@ It will read a directory name from the minibuffer when invoked."
3169 "Read coding-system from minibuffer." 3169 "Read coding-system from minibuffer."
3170 (if (widget-get widget :base-only) 3170 (if (widget-get widget :base-only)
3171 (intern 3171 (intern
3172 (completing-read (format "%s (default %s) " prompt value) 3172 (completing-read (format "%s (default %s): " prompt value)
3173 (mapcar #'list (coding-system-list t)) nil nil nil 3173 (mapcar #'list (coding-system-list t)) nil nil nil
3174 coding-system-history)) 3174 coding-system-history))
3175 (read-coding-system (format "%s (default %s) " prompt value) value))) 3175 (read-coding-system (format "%s (default %s): " prompt value) value)))
3176 3176
3177(defun widget-coding-system-action (widget &optional event) 3177(defun widget-coding-system-action (widget &optional event)
3178 (let ((answer 3178 (let ((answer
diff --git a/lisp/woman.el b/lisp/woman.el
index 315a0a3bbe5..bc7ec86e4a7 100644
--- a/lisp/woman.el
+++ b/lisp/woman.el
@@ -1229,7 +1229,7 @@ cache to be re-read."
1229 word-at-point))) 1229 word-at-point)))
1230 (completing-read 1230 (completing-read
1231 (if default 1231 (if default
1232 (format "Manual entry [default: %s]: " default) 1232 (format "Manual entry (default %s): " default)
1233 "Manual entry: ") 1233 "Manual entry: ")
1234 woman-topic-all-completions nil 1 1234 woman-topic-all-completions nil 1
1235 nil 1235 nil
diff --git a/lispintro/.gitignore b/lispintro/.gitignore
index a1eb5b6aa8f..e1af5a918b0 100644
--- a/lispintro/.gitignore
+++ b/lispintro/.gitignore
@@ -18,3 +18,4 @@
18*.tmp 18*.tmp
19*.txt 19*.txt
20Makefile 20Makefile
21makefile
diff --git a/lispref/.gitignore b/lispref/.gitignore
index 0ec3cb9ae10..fddb4062824 100644
--- a/lispref/.gitignore
+++ b/lispref/.gitignore
@@ -6,6 +6,7 @@ config.log
6config.cache 6config.cache
7config.status 7config.status
8Makefile 8Makefile
9makefile
9index.texi 10index.texi
10elisp 11elisp
11elisp-? 12elisp-?
diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog
index 4ce570b989c..b0708be5f87 100644
--- a/lwlib/ChangeLog
+++ b/lwlib/ChangeLog
@@ -1,3 +1,8 @@
12005-09-24 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * xlwmenu.c: Fix the return type for x_clear_errors and
4 x_uncatch_errors.
5
12005-07-19 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> 62005-07-19 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
2 7
3 * lwlib-Xm.c (make_menu_in_widget): Disable drag and drop for 8 * lwlib-Xm.c (make_menu_in_widget): Disable drag and drop for
diff --git a/lwlib/xlwmenu.c b/lwlib/xlwmenu.c
index f1ee1b68e9b..80ca418bf52 100644
--- a/lwlib/xlwmenu.c
+++ b/lwlib/xlwmenu.c
@@ -59,9 +59,9 @@ extern int x_alloc_lighter_color_for_widget __P ((Widget, Display*, Colormap,
59 unsigned long *, 59 unsigned long *,
60 double, int)); 60 double, int));
61extern int x_catch_errors __P ((Display*)); 61extern int x_catch_errors __P ((Display*));
62extern int x_uncatch_errors __P ((Display*, int)); 62extern void x_uncatch_errors P_ ((Display *, int));
63extern int x_had_errors_p __P ((Display*)); 63extern int x_had_errors_p __P ((Display*));
64extern int x_clear_errors __P ((Display*)); 64extern void x_clear_errors __P ((Display*));
65extern unsigned long x_copy_dpy_color __P ((Display *, Colormap, 65extern unsigned long x_copy_dpy_color __P ((Display *, Colormap,
66 unsigned long)); 66 unsigned long));
67 67
diff --git a/mac/ChangeLog b/mac/ChangeLog
index 0b254613da2..6ce6f98bc84 100644
--- a/mac/ChangeLog
+++ b/mac/ChangeLog
@@ -1,3 +1,11 @@
12005-09-24 Eli Zaretskii <eliz@gnu.org>
2
3 * INSTALL (NOTES): Update the list of versions of MacOS on which
4 Emacs should build.
5
6 * README: Remove a link to ftp://ftp.gnu.org/gnu/mac/emacs/ (which
7 does not exist).
8
12005-09-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> 92005-09-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2 10
3 * inc/config.h: Sync with src/config.in. 11 * inc/config.h: Sync with src/config.in.
diff --git a/mac/INSTALL b/mac/INSTALL
index c8af7e5f484..63f08b556a5 100644
--- a/mac/INSTALL
+++ b/mac/INSTALL
@@ -206,7 +206,7 @@ dialog and include the Profiler PPC.Lib library.
206 206
207* NOTES 207* NOTES
208 208
209Emacs should build and run on a PowerMac running Mac OS 8.6 - 10.3. 209Emacs should build and run on a PowerMac running Mac OS 8.6 - 10.4.
210 210
211You will need around 100 MB of disk space for the source files and 211You will need around 100 MB of disk space for the source files and
212intermediate files. 212intermediate files.
diff --git a/mac/README b/mac/README
index 18e0942b365..72e417d2d15 100644
--- a/mac/README
+++ b/mac/README
@@ -36,10 +36,6 @@ build Emacs on the Mac OS 8/9. On Mac OS X, Emacs can be built using
36the Developer Tools. See the INSTALL file in this directory for 36the Developer Tools. See the INSTALL file in this directory for
37instructions on building Emacs. 37instructions on building Emacs.
38 38
39Binary distributions will be available in
40
41 ftp://ftp.gnu.org/gnu/mac/emacs/
42
43Read the Mac OS section of the on-line help to find out about how to 39Read the Mac OS section of the on-line help to find out about how to
44use Emacs on the Mac. 40use Emacs on the Mac.
45 41
diff --git a/man/.gitignore b/man/.gitignore
index fd0f0aa73a8..2e1fe645804 100644
--- a/man/.gitignore
+++ b/man/.gitignore
@@ -19,3 +19,4 @@
19*.vr 19*.vr
20*.vrs 20*.vrs
21Makefile 21Makefile
22makefile
diff --git a/man/ChangeLog b/man/ChangeLog
index fd836c477b1..ee31882a963 100644
--- a/man/ChangeLog
+++ b/man/ChangeLog
@@ -1,3 +1,40 @@
12005-09-22 Katsumi Yamaoka <yamaoka@jpl.org>
2
3 * gnus.texi (Mail): Fix gnus-confirm-mail-reply-to-news entry.
4
52005-09-20 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
6
7 * text.texi (Paragraphs): Correction about Paragraph-Indent Text mode.
8
92005-09-23 Carsten Dominik <dominik@science.uva.nl>
10
11 * org.texi Version 3.16
12
132005-09-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14
15 * emacs.texi (Top): Update submenus from macos.texi.
16
17 * macos.texi: Change `Mac OS 8 or 9' to `Mac OS Classic'.
18 (Mac OS): Update feature support status.
19 (Mac Input): List supported input scripts. Remove description
20 about `mac-keyboard-text-encoding'. Mention mouse button
21 emulation and related variables.
22 (Mac International): Mention Central European and Cyrillic
23 support. Now `keyboard-coding-system' is dynamically changed.
24 Add description about coding system for selection. Add
25 description about language environment.
26 (Mac Environment Variables): Mention
27 `~/.MacOSX/environment.plist'. Give example of command line
28 arguments. Add Preferences support.
29 (Mac Directories): Explicitly state that this node is for Mac OS
30 Classic only.
31 (Mac Font Specs): Mention specification for scalable fonts. List
32 supported charsets. Add preferred way of creating fontsets. Add
33 description about `mac-allow-anti-aliasing'.
34 (Mac Functions): Add descriptions about `mac-set-file-creator',
35 `mac-get-file-creator', `mac-set-file-type', `mac-get-file-type',
36 and `mac-get-preference'.
37
12005-09-19 Miles Bader <miles@gnu.org> 382005-09-19 Miles Bader <miles@gnu.org>
2 39
3 * newsticker.texi: Get rid of CVS keywords. 40 * newsticker.texi: Get rid of CVS keywords.
@@ -9,13 +46,13 @@
9 46
102005-09-14 Jari Aalto <jari.aalto@cante.net> 472005-09-14 Jari Aalto <jari.aalto@cante.net>
11 48
12 * gnus.texi (Advanced Scoring Examples): New exmples to teach how 49 * gnus.texi (Advanced Scoring Examples): New examples to teach how
13 to drop off non-answered articles. 50 to drop off non-answered articles.
14 51
152005-09-19 Juanma Barranquero <lekktu@gmail.com> 522005-09-19 Juanma Barranquero <lekktu@gmail.com>
16 53
17 * makefile.w32-in (newsticker.dvi): Fix erroneous use of curly 54 * makefile.w32-in (newsticker.dvi): Use parentheses instead of curly
18 brackets on macro `srcdir'. 55 braces (which are unsupported by NMAKE) for macro `srcdir'.
19 56
202005-09-17 Eli Zaretskii <eliz@gnu.org> 572005-09-17 Eli Zaretskii <eliz@gnu.org>
21 58
@@ -2855,8 +2892,8 @@
2855 2892
28562004-02-29 Juanma Barranquero <lektu@terra.es> 28932004-02-29 Juanma Barranquero <lektu@terra.es>
2857 2894
2858 * makefile.w32-in (mostlyclean, clean, maintainer-clean): Use 2895 * makefile.w32-in (mostlyclean, clean, maintainer-clean):
2859 $(DEL) instead of rm, and ignore exit code. 2896 Use $(DEL) instead of rm, and ignore exit code.
2860 2897
28612004-02-29 Kai Grossjohann <kgrossjo@eu.uu.net> 28982004-02-29 Kai Grossjohann <kgrossjo@eu.uu.net>
2862 2899
diff --git a/man/emacs.texi b/man/emacs.texi
index 20514d641bf..273a4a67924 100644
--- a/man/emacs.texi
+++ b/man/emacs.texi
@@ -877,13 +877,13 @@ X Options and Resources
877* LessTif Resources:: X resources for LessTif and Motif menus. 877* LessTif Resources:: X resources for LessTif and Motif menus.
878* GTK resources:: Resources for GTK widgets. 878* GTK resources:: Resources for GTK widgets.
879 879
880Emacs and the Mac OS 880Emacs and Mac OS
881 881
882* Mac Input:: Keyboard input on the Mac. 882* Mac Input:: Keyboard and mouse input on Mac.
883* Mac International:: International character sets on the Mac. 883* Mac International:: International character sets on Mac.
884* Mac Environment Variables:: Setting environment variables for Emacs. 884* Mac Environment Variables:: Setting environment variables for Emacs.
885* Mac Directories:: Volumes and directories on the Mac. 885* Mac Directories:: Volumes and directories on Mac.
886* Mac Font Specs:: Specifying fonts on the Mac. 886* Mac Font Specs:: Specifying fonts on Mac.
887* Mac Functions:: Mac-specific Lisp functions. 887* Mac Functions:: Mac-specific Lisp functions.
888 888
889MS-DOS and Windows 95/98/NT 889MS-DOS and Windows 95/98/NT
diff --git a/man/gnus.texi b/man/gnus.texi
index df3b4bf706b..c6b11716ba0 100644
--- a/man/gnus.texi
+++ b/man/gnus.texi
@@ -11431,13 +11431,15 @@ that have none when you do a @kbd{a}.
11431 11431
11432@item gnus-confirm-mail-reply-to-news 11432@item gnus-confirm-mail-reply-to-news
11433@vindex gnus-confirm-mail-reply-to-news 11433@vindex gnus-confirm-mail-reply-to-news
11434This can also be a function receiving the group name as the only 11434If non-@code{nil}, Gnus will ask you for a confirmation when you are
11435parameter which should return non-@code{nil} if a confirmation is 11435about to reply to news articles by mail. If it is @code{nil}, nothing
11436needed, or a regular expression matching group names, where 11436interferes in what you want to do. This can also be a function
11437confirmation is should be asked for. 11437receiving the group name as the only parameter which should return
11438non-@code{nil} if a confirmation is needed, or a regular expression
11439matching group names, where confirmation should be asked for.
11438 11440
11439If you find yourself never wanting to reply to mail, but occasionally 11441If you find yourself never wanting to reply to mail, but occasionally
11440press R anyway, this variable might be for you. 11442press @kbd{R} anyway, this variable might be for you.
11441 11443
11442@item gnus-confirm-treat-mail-like-news 11444@item gnus-confirm-treat-mail-like-news
11443@vindex gnus-confirm-treat-mail-like-news 11445@vindex gnus-confirm-treat-mail-like-news
diff --git a/man/macos.texi b/man/macos.texi
index bcb25a7e52e..97952943893 100644
--- a/man/macos.texi
+++ b/man/macos.texi
@@ -3,48 +3,47 @@
3@c 2005 Free Software Foundation, Inc. 3@c 2005 Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 4@c See file emacs.texi for copying conditions.
5@node Mac OS, MS-DOS, Antinews, Top 5@node Mac OS, MS-DOS, Antinews, Top
6@appendix Emacs and the Mac OS 6@appendix Emacs and Mac OS
7@cindex Mac OS 7@cindex Mac OS
8@cindex Macintosh 8@cindex Macintosh
9 9
10 Emacs built on Mac OS X supports most of its major features: 10 This section briefly describes the peculiarities of using Emacs
11multiple frames, colors, scroll bars, menu bars, use of the mouse, 11under Mac OS with native window system support. For Mac OS X, Emacs
12fontsets, international characters, input methods, coding systems, 12can be built either without window system support, with X11, or with
13asynchronous and synchronous subprocesses, unexec (@code{dump-emacs}), 13Carbon API. This section only applies to the Carbon build. For Mac
14and networking (@code{open-network-stream}). Support for various 14OS Classic, Emacs can be built with or without Carbon API, and this
15image file formats has not been implemented yet. 15section applies to either of them because they run on the native
16 16window system.
17 The following features of Emacs are not yet supported on the Mac OS 17
188 or 9: unexec (@code{dump-emacs}), asynchronous subprocesses 18 Emacs built on Mac OS X supports most of its major features except
19(@code{start-process}), and networking (@code{open-network-stream}). 19display support of PostScript images. The following features of Emacs
20As a result, packages such as Gnus, GUD, and Comint do not work. 20are not supported on Mac OS Classic: unexec (@code{dump-emacs}),
21However, synchronous subprocesses (@code{call-process}) are supported. 21asynchronous subprocesses (@code{start-process}), and networking
22Since external programs to handle commands such as @code{print-buffer} 22(@code{open-network-stream}). As a result, packages such as Gnus,
23and @code{diff} are not available on Mac OS 8 or 9, they are not 23GUD, and Comint do not work. Synchronous subprocesses
24supported. 24(@code{call-process}) are supported on non-Carbon build, but
25 25specially-crafted external programs are needed. Since external
26 Most of the features that are supported work in the same way as on 26programs to handle commands such as @code{print-buffer} and
27other platforms and are therefore documented in the rest of this 27@code{diff} are not available on Mac OS Classic, they are not
28manual. This section describes the peculiarities of using Emacs under 28supported. Non-Carbon build on Mac OS Classic does not support some
29the Mac OS. 29features such as file dialogs, drag-and-drop, and Unicode menus.
30 30
31@menu 31@menu
32* Input: Mac Input. Keyboard input on the Mac. 32* Input: Mac Input. Keyboard and mouse input on Mac.
33* Intl: Mac International. International character sets on the Mac. 33* Intl: Mac International. International character sets on Mac.
34* Env: Mac Environment Variables. Setting environment variables for Emacs. 34* Env: Mac Environment Variables. Setting environment variables for Emacs.
35* Directories: Mac Directories. Volumes and directories on the Mac. 35* Directories: Mac Directories. Volumes and directories on Mac.
36* Font: Mac Font Specs. Specifying fonts on the Mac. 36* Font: Mac Font Specs. Specifying fonts on Mac.
37* Functions: Mac Functions. Mac-specific Lisp functions. 37* Functions: Mac Functions. Mac-specific Lisp functions.
38@end menu 38@end menu
39 39
40@node Mac Input 40@node Mac Input
41@section Keyboard Input on the Mac 41@section Keyboard and Mouse Input on Mac
42@cindex Meta (Mac OS) 42@cindex Meta (Mac OS)
43@cindex keyboard coding (Mac OS) 43@cindex keyboard coding (Mac OS)
44@vindex mac-command-key-is-meta
45@vindex mac-keyboard-text-encoding
46 44
47 On the Mac, Emacs can use either the @key{option} key or the 45@vindex mac-command-key-is-meta
46 On Mac, Emacs can use either the @key{option} key or the
48@key{command} key as the @key{META} key. If the value of the variable 47@key{command} key as the @key{META} key. If the value of the variable
49@code{mac-command-key-is-meta} is non-@code{nil} (its default value), 48@code{mac-command-key-is-meta} is non-@code{nil} (its default value),
50Emacs uses the @key{command} key as the @key{META} key. Otherwise it 49Emacs uses the @key{command} key as the @key{META} key. Otherwise it
@@ -55,89 +54,124 @@ so that dead-key processing with the @key{option} key will still work. This is
55useful for entering non-@acronym{ASCII} Latin characters directly from the Mac 54useful for entering non-@acronym{ASCII} Latin characters directly from the Mac
56keyboard, for example. 55keyboard, for example.
57 56
58 Emacs recognizes the setting in the Keyboard control panel and 57 Emacs recognizes the setting in the Keyboard control panel (Mac OS
59supports international and alternative keyboard layouts (e.g., Dvorak). 58Classic) or the International system preference pane (Mac OS X) and
60Selecting one of the layouts from the keyboard layout pull-down menu 59supports international and alternative keyboard layouts (e.g., Dvorak)
61will affect how the keys typed on the keyboard are interpreted. 60if its script is either Roman, Japanese, Traditional Chinese, Korean,
62 61Cyrillic, Simplified Chinese, or Central European. Keyboard layouts
63 The Mac OS intercepts and handles certain key combinations (e.g., 62based on Unicode may not work properly. Selecting one of the layouts
63from the keyboard layout pull-down menu will affect how the keys typed
64on the keyboard are interpreted.
65
66@vindex mac-pass-command-to-system
67@vindex mac-pass-control-to-system
68 Mac OS intercepts and handles certain key combinations (e.g.,
64@key{command}-@key{SPC} for switching input languages). These will not 69@key{command}-@key{SPC} for switching input languages). These will not
65be passed to Emacs. 70be passed to Emacs. One can disable this interception by setting
66 71@code{mac-pass-command-to-system} or @code{mac-pass-control-to-system}
67 The Mac keyboard ordinarily generates characters in the Mac Roman 72to @code{nil}.
68encoding. To use it for entering ISO Latin-1 characters directly, set 73
69the value of the variable @code{mac-keyboard-text-encoding} to 74@vindex mac-emulate-three-button-mouse
70@code{kTextEncodingISOLatin1}. Note that not all Mac Roman characters 75 Especially for one-button mice, the multiple button feature can be
71that can be entered at the keyboard can be converted to ISO Latin-1 76emulated by setting @code{mac-emulate-three-button-mouse} to @code{t}
72characters. 77or @code{reverse}. If set to @code{t} (@code{reverse}, respectively),
73 78pressing the mouse button with the @key{option} key is recognized as
74 To enter ISO Latin-2 characters directly from the Mac keyboard, set 79the second (third) button, and that with the @key{command} key is
75the value of @code{mac-keyboard-text-encoding} to 80recognized as the third (second) button.
76@code{kTextEncodingISOLatin2}. Then let Emacs know that the keyboard 81
77generates Latin-2 codes, by typing @kbd{C-x @key{RET} k iso-latin-2 82@vindex mac-wheel-button-is-mouse-2
78@key{RET}}. To make this setting permanent, put this in your 83 For multi-button mice, the wheel button and the secondary button are
79@file{.emacs} init file: 84recognized as the second and the third button, respectively. If
80 85@code{mac-wheel-button-is-mouse-2} is set to @code{nil}, their roles
81@lisp 86are exchanged.
82(set-keyboard-coding-system 'iso-latin-2)
83@end lisp
84 87
85@node Mac International 88@node Mac International
86@section International Character Set Support on the Mac 89@section International Character Set Support on Mac
87@cindex Mac Roman coding system 90@cindex Mac Roman coding system
88@cindex clipboard support (Mac OS) 91@cindex clipboard support (Mac OS)
89 92
90 The Mac uses a non-standard encoding for the upper 128 single-byte 93 Mac uses non-standard encodings for the upper 128 single-byte
91characters. It also deviates from the ISO 2022 standard by using 94characters. They also deviate from the ISO 2022 standard by using
92character codes in the range 128-159. The coding system 95character codes in the range 128-159. The coding systems
93@code{mac-roman} is used to represent this Mac encoding. It is used 96@code{mac-roman}, @code{mac-centraleurroman}, and @code{mac-cyrillic}
94for editing files stored in this native encoding, and for displaying 97are used to represent these Mac encodings.
95file names in Dired mode.
96
97 Any native (non-symbol) Mac font can be used to correctly display
98characters in the @code{mac-roman} coding system.
99 98
100 The fontset @code{fontset-mac} is created automatically when Emacs 99 The fontset @code{fontset-mac} is created automatically when Emacs
101is run on the Mac. It displays characters in the @code{mac-roman} 100is run on Mac, and used by default. It displays as many kinds of
102coding system using 12-point Monaco. 101characters as possible using 12-point Monaco as a base font. If you
103 102see some character as a hollow box with this fontset, then it's almost
104 To insert characters directly in the @code{mac-roman} coding system, 103impossible to display it only by customizing font settings (@pxref{Mac
105type @kbd{C-x @key{RET} k mac-roman @key{RET}}, customize the variable 104Font Specs}).
106@code{keyboard-coding-system}, or put this in your init file:
107
108@lisp
109(set-keyboard-coding-system 'mac-roman)
110@end lisp
111
112@noindent
113This is useful for editing documents in native Mac encoding.
114 105
115 You can use input methods provided either by LEIM (@pxref{Input 106 You can use input methods provided either by LEIM (@pxref{Input
116Methods}) or the Mac OS to enter international characters. 107Methods}) or Mac OS to enter international characters. To use the
117 108former, see the International Character Set Support section of the
118 To use the former, see the International Character Set Support section 109manual (@pxref{International}).
119of the manual (@pxref{International}).
120 110
121 To use input methods provided by the Mac OS, set the keyboard coding 111 Emacs on Mac OS automatically changes the value of
122system accordingly using the @kbd{C-x @key{RET} k} command 112@code{keyboard-coding-system} according to the current keyboard
123(@code{set-keyboard-coding-system}). For example, for Traditional 113layout. So users don't need to set it manually, and even if set, it
124Chinese, use @samp{chinese-big5} as keyboard coding system; for 114will be changed when the keyboard layout change is detected next time.
125Japanese, use @samp{sjis}, etc. Then select the desired input method in
126the keyboard layout pull-down menu.
127 115
128 The Mac clipboard and the Emacs kill ring (@pxref{Killing}) are 116 The Mac clipboard and the Emacs kill ring (@pxref{Killing}) are
129connected as follows: the most recent kill is copied to the clipboard 117synchronized by default: you can yank a piece of text and paste it
130when Emacs is suspended and the contents of the clipboard is inserted 118into another Mac application, or cut or copy one in another Mac
131into the kill ring when Emacs resumes. The result is that you can yank 119application and yank it into a Emacs buffer. This feature can be
132a piece of text and paste it into another Mac application, or cut or copy 120disabled by setting @code{x-select-enable-clipboard} to @code{nil}.
133one in another Mac application and yank it into a Emacs buffer. 121One can still do copy and paste with another application from the Edit
134 122menu.
135 The encoding of text selections must be specified using the commands 123
136@kbd{C-x @key{RET} x} (@code{set-selection-coding-system}) or @kbd{C-x 124 On Mac, the role of the coding system for selection that is set by
137@key{RET} X} (@code{set-next-selection-coding-system}) (e.g., for 125@code{set-selection-coding-system} (@pxref{Specify Coding}) is
138Traditional Chinese, use @samp{chinese-big5-mac} and for Japanese, 126two-fold. First, it is used as a preferred coding system for the
139@samp{sjis-mac}). @xref{Specify Coding}, for more details. 127traditional text flavor that does not specify any particular encodings
140 128and is mainly used by applications on Mac OS Classic. Second, it
129specifies the intermediate encoding for the UTF-16 text flavor that is
130mainly used by applications on Mac OS X.
131
132 When pasting UTF-16 text data from the clipboard, it is first
133converted to the encoding specified by the selection coding system
134using the converter in the Mac OS system, and then decoded into the
135Emacs internal encoding using the converter in Emacs. If the first
136conversion failed, then the UTF-16 data is directly converted to Emacs
137internal encoding using the converter in Emacs. Copying UTF-16 text
138to the clipboard goes through the inverse path. The reason for this
139two-path decoding is to avoid subtle differences in Unicode mappings
140between the Mac OS system and Emacs such as various kinds of hyphens,
141and to minimize users' customization. For example, users that mainly
142use Latin characters would prefer Greek characters to be decoded into
143the @code{mule-unicode-0100-24ff} charset, but Japanese users would
144prefer them to be decoded into the @code{japanese-jisx0208} charset.
145Since the coding system for selection is automatically set according
146to the system locale setting, users usually don't have to set it
147manually.
148
149 The default language environment (@pxref{Language Environments}) is
150set according to the locale setting at the startup time. On Mac OS,
151the locale setting is consulted in the following order:
152
153@enumerate
154@item
155Environment variables @env{LC_ALL}, @env{LC_CTYPE} and @env{LANG} as
156in other systems.
157
158@item
159Preference @code{AppleLocale} that is set by default on Mac OS X 10.3
160and later.
161
162@item
163Preference @code{AppleLanguages} that is set by default on Mac OS X
16410.1 and later.
165
166@item
167Variable @code{mac-system-locale} that is derived from the system
168language and region codes. This variable is available on all
169supported Mac OS versions including Mac OS Classic.
170@end enumerate
171
172 The default values of almost all variables about coding systems are
173also set according to the language environment. So usually you don't
174have to customize these variables manually.
141 175
142@node Mac Environment Variables 176@node Mac Environment Variables
143@section Environment Variables and Command Line Arguments. 177@section Environment Variables and Command Line Arguments.
@@ -145,10 +179,23 @@ Traditional Chinese, use @samp{chinese-big5-mac} and for Japanese,
145 179
146 On Mac OS X, when Emacs is run in a terminal, it inherits the values 180 On Mac OS X, when Emacs is run in a terminal, it inherits the values
147of environment variables from the shell from which it is invoked. 181of environment variables from the shell from which it is invoked.
148However, when it is run from the Finder as a GUI application, it 182However, when it is run from the Finder as a GUI application, it only
149inherits no environment variable values. 183inherits environment variable values defined in the file
184@file{~/.MacOSX/environment.plist} that affects all the applications
185invoked from the Finder or the @command{open} command.
150 186
151 On Mac OS 8 or 9, environment variables and command line arguments 187 Command line arguments are specified like
188
189@example
190/Applications/Emacs.app/Contents/MacOS/Emacs -geometry 80x25 &
191@end example
192
193@noindent
194if Emacs is installed at @file{/Applications/Emacs.app}. If Emacs is
195invoked like this, then it also inherits the values of environment
196variables from the shell from which it is invoked.
197
198 On Mac OS Classic, environment variables and command line arguments
152for Emacs can be set by modifying the @samp{STR#} resources 128 and 199for Emacs can be set by modifying the @samp{STR#} resources 128 and
153129, respectively. A common environment variable that one may want to 200129, respectively. A common environment variable that one may want to
154set is @samp{HOME}. 201set is @samp{HOME}.
@@ -169,12 +216,45 @@ string
169EMACS_UNIBYTE=1 216EMACS_UNIBYTE=1
170@end example 217@end example
171 218
219@cindex Mac Preferences
220 Although Emacs on Mac does not support X resources (@pxref{X
221Resources}) directly, one can use the Preferences system in place of X
222resources. For example, adding the line
223
224@example
225Emacs.cursorType: bar
226@end example
227
228@noindent
229to @file{~/.Xresources} in X11 corresponds to the execution of
230
231@example
232defaults write org.gnu.Emacs Emacs.cursorType bar
233@end example
234
235@noindent
236on Mac OS X. One can use boolean or numeric values as well as string
237values as follows:
238
239@example
240defaults write org.gnu.Emacs Emacs.toolBar -bool false
241defaults write org.gnu.Emacs Emacs.lineSpacing -int 3
242@end example
243
244@noindent
245Try @kbd{M-x man RET defaults RET} for the usage of the
246@command{defaults} command. Alternatively, if you have Developer
247Tools installed on Mac OS X, you can use Property List Editor to edit
248the file @file{~/Library/Preferences/org.gnu.Emacs.plist}.
249
172 250
173@node Mac Directories 251@node Mac Directories
174@section Volumes and Directories on the Mac 252@section Volumes and Directories on Mac
175@cindex file names (Mac OS) 253@cindex file names (Mac OS)
176 254
177 The directory structure in the Mac OS is seen by Emacs as 255 This node applies to Mac OS Classic only.
256
257 The directory structure in Mac OS Classic is seen by Emacs as
178 258
179@example 259@example
180/@var{volumename}/@var{filename} 260/@var{volumename}/@var{filename}
@@ -184,11 +264,11 @@ So when Emacs requests a file name, doing file name completion on
184@file{/} will display all volumes on the system. You can use @file{..} 264@file{/} will display all volumes on the system. You can use @file{..}
185to go up a directory level. 265to go up a directory level.
186 266
187 On Mac OS 8 or 9, to access files and folders on the desktop, look 267 On Mac OS Classic, to access files and folders on the desktop, look
188in the folder @file{Desktop Folder} in your boot volume (this folder 268in the folder @file{Desktop Folder} in your boot volume (this folder
189is usually invisible in the Mac @code{Finder}). 269is usually invisible in the Mac @code{Finder}).
190 270
191 On Mac OS 8 or 9, Emacs creates the Mac folder 271 On Mac OS Classic, Emacs creates the Mac folder
192@file{:Preferences:Emacs:} in the @file{System Folder} and uses it as 272@file{:Preferences:Emacs:} in the @file{System Folder} and uses it as
193the temporary directory. Emacs maps the directory name @file{/tmp/} 273the temporary directory. Emacs maps the directory name @file{/tmp/}
194to that. Therefore it is best to avoid naming a volume @file{tmp}. 274to that. Therefore it is best to avoid naming a volume @file{tmp}.
@@ -199,12 +279,12 @@ created.
199 279
200 280
201@node Mac Font Specs 281@node Mac Font Specs
202@section Specifying Fonts on the Mac 282@section Specifying Fonts on Mac
203@cindex font names (Mac OS) 283@cindex font names (Mac OS)
204 284
205 It is rare that you need to specify a font name in Emacs; usually 285 It is rare that you need to specify a font name in Emacs; usually
206you specify face attributes instead. But when you do need to specify 286you specify face attributes instead. But when you do need to specify
207a font name in Emacs on the Mac, use a standard X font name: 287a font name in Emacs on Mac, use a standard X font name:
208 288
209@smallexample 289@smallexample
210-@var{maker}-@var{family}-@var{weight}-@var{slant}-@var{widthtype}-@var{style}@dots{} 290-@var{maker}-@var{family}-@var{weight}-@var{slant}-@var{widthtype}-@var{style}@dots{}
@@ -216,11 +296,57 @@ a font name in Emacs on the Mac, use a standard X font name:
216 296
217 Native Apple fonts in Mac Roman encoding has maker name @code{apple} 297 Native Apple fonts in Mac Roman encoding has maker name @code{apple}
218and charset @code{mac-roman}. For example 12-point Monaco can be 298and charset @code{mac-roman}. For example 12-point Monaco can be
219specified by the name @samp{-apple-monaco-*-12-*-mac-roman}. 299specified by the name @samp{-apple-monaco-*-12-*-mac-roman}. When
300using a particular size of scalable fonts, it must be specified in a
301format containing 14 @samp{-}s like
302@samp{-apple-monaco-medium-r-normal--13-*-*-*-*-*-mac-roman}.
303
304 You can specify a @code{mac-roman} font for @acronym{ASCII}
305characters like
220 306
221 Native Apple Traditional Chinese, Simplified Chinese, Japanese, and 307@lisp
222Korean fonts have charsets @samp{big5-0}, @samp{gb2312.1980-0}, 308(add-to-list
223@samp{jisx0208.1983-sjis}, and @samp{ksc5601.1989-0}, respectively. 309 'default-frame-alist
310 '(font . "-apple-monaco-medium-r-normal--13-*-*-*-*-*-mac-roman"))
311@end lisp
312
313@noindent
314but that does not extend to ISO-8859-1: specifying a @code{mac-roman}
315font for Latin-1 characters introduces wrong glyphs.
316
317 Native Apple Traditional Chinese, Simplified Chinese, Japanese,
318Korean, Central European, Cyrillic, Symbol, and Dingbats fonts have
319charsets @samp{big5-0}, @samp{gb2312.1980-0},
320@samp{jisx0208.1983-sjis} and @samp{jisx0201.1976-0},
321@samp{ksc5601.1989-0}, @samp{mac-centraleurroman},
322@samp{mac-cyrillic}, @samp{mac-symbol}, and @samp{mac-dingbats},
323respectively.
324
325 Since Emacs as of the current version uses QuickDraw Text routines
326for drawing texts, only characters in the charsets listed above can be
327displayed with the OS-bundled fonts, even if other applications that
328use @acronym{ATSUI} or Cocoa can display variety of characters with
329them.
330
331 The use of @code{create-fontset-from-fontset-spec} (@pxref{Defining
332Fontsets}) for defining fontsets often results in wrong ones
333especially when using only OS-bundled fonts. The recommended way is
334to create a fontset using @code{create-fontset-from-mac-roman-font}:
335
336@lisp
337(create-fontset-from-mac-roman-font
338 "-apple-courier-medium-r-normal--13-*-*-*-*-*-mac-roman"
339 nil "foo")
340@end lisp
341
342@noindent
343and then optionally specifying Chinese, Japanese, or Korean font
344families using @code{set-fontset-font}:
345
346@lisp
347(set-fontset-font "fontset-foo"
348 'chinese-gb2312 '("song" . "gb2312.1980-0"))
349@end lisp
224 350
225 Single-byte fonts converted from GNU fonts in BDF format, which are not 351 Single-byte fonts converted from GNU fonts in BDF format, which are not
226in the Mac Roman encoding, have foundry, family, and character sets 352in the Mac Roman encoding, have foundry, family, and character sets
@@ -228,6 +354,12 @@ encoded in the names of their font suitcases. E.g., the font suitcase
228@samp{ETL-Fixed-ISO8859-1} contains fonts which can be referred to by 354@samp{ETL-Fixed-ISO8859-1} contains fonts which can be referred to by
229the name @samp{-ETL-fixed-*-iso8859-1}. 355the name @samp{-ETL-fixed-*-iso8859-1}.
230 356
357@vindex mac-allow-anti-aliasing
358 Emacs uses the QuickDraw text rendering by default. On Mac OS X
35910.2 and later, it can be changed so that it uses the Quartz 2D text
360rendering (aka CG text rendering) by setting
361@code{mac-allow-anti-aliasing} to @code{t}. However, it is reported
362to sometimes leave some garbages.
231 363
232@node Mac Functions 364@node Mac Functions
233@section Mac-Specific Lisp Functions 365@section Mac-Specific Lisp Functions
@@ -246,6 +378,19 @@ returns the GNU or Unix equivalent. The function
246are useful for constructing AppleScript commands to be passed to 378are useful for constructing AppleScript commands to be passed to
247@code{do-applescript}. 379@code{do-applescript}.
248 380
381@findex mac-set-file-creator
382@findex mac-get-file-creator
383@findex mac-set-file-type
384@findex mac-get-file-type
385 The functions @code{mac-set-file-creator},
386@code{mac-get-file-creator}, @code{mac-set-file-type}, and
387@code{mac-get-file-type} can be used to set and get creator and file
388codes.
389
390@findex mac-get-preference
391 The function @code{mac-get-preference} returns the preferences value
392converted to a Lisp object for a specified key and application.
393
249@ignore 394@ignore
250 arch-tag: a822c2ab-4273-4997-927e-c153bb71dcf6 395 arch-tag: a822c2ab-4273-4997-927e-c153bb71dcf6
251@end ignore 396@end ignore
diff --git a/man/org.texi b/man/org.texi
index 4e47bea2d04..92248c91e87 100644
--- a/man/org.texi
+++ b/man/org.texi
@@ -4,7 +4,7 @@
4@setfilename ../info/org 4@setfilename ../info/org
5@settitle Org Mode Manual 5@settitle Org Mode Manual
6 6
7@set VERSION 3.15 7@set VERSION 3.16
8@set DATE September 2005 8@set DATE September 2005
9 9
10@dircategory Emacs 10@dircategory Emacs
@@ -39,7 +39,7 @@ Copyright @copyright{} 2004, 2005 Free Software Foundation
39 39
40@quotation 40@quotation
41Permission is granted to copy, distribute and/or modify this document 41Permission is granted to copy, distribute and/or modify this document
42under the terms of the GNU Free Documentation License, Version 1.2 or 42under the terms of the GNU Free Documentation License, Version 1.1 or
43any later version published by the Free Software Foundation; with no 43any later version published by the Free Software Foundation; with no
44Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' 44Invariant Sections, with the Front-Cover texts being ``A GNU Manual,''
45and with the Back-Cover Texts as in (a) below. A copy of the 45and with the Back-Cover Texts as in (a) below. A copy of the
@@ -100,7 +100,7 @@ Document Structure
100 100
101* Outlines:: Org-mode is based on outline-mode 101* Outlines:: Org-mode is based on outline-mode
102* Headlines:: How to typeset org-tree headlines 102* Headlines:: How to typeset org-tree headlines
103* Visibility cycling:: Show ad hide, much simplified 103* Visibility cycling:: Show and hide, much simplified
104* Motion:: Jumping to other headlines 104* Motion:: Jumping to other headlines
105* Structure editing:: Changing sequence and level of headlines 105* Structure editing:: Changing sequence and level of headlines
106* Archiving:: Move done task trees to a different place 106* Archiving:: Move done task trees to a different place
@@ -120,7 +120,7 @@ Calculations in tables
120* Advanced features:: Field names, parameters and automatic recalc 120* Advanced features:: Field names, parameters and automatic recalc
121* Named-field formulas:: Formulas valid in single fields 121* Named-field formulas:: Formulas valid in single fields
122* Editing/debugging formulas:: Changing a stored formula 122* Editing/debugging formulas:: Changing a stored formula
123* Appetizer:: 123* Appetizer:: Taste the power of calc
124 124
125Hyperlinks 125Hyperlinks
126 126
@@ -169,6 +169,7 @@ Miscellaneous
169* Customization:: Adapting Org-mode to your taste 169* Customization:: Adapting Org-mode to your taste
170* FAQ:: Frequently asked questions 170* FAQ:: Frequently asked questions
171* Interaction:: Other Emacs packages 171* Interaction:: Other Emacs packages
172* TTY keys:: Using Org-mode on a tty
172* Bugs:: Things which do not work perfectly 173* Bugs:: Things which do not work perfectly
173* Acknowledgments:: These people provided feedback and more 174* Acknowledgments:: These people provided feedback and more
174 175
@@ -312,7 +313,7 @@ edit the structure of the document.
312@menu 313@menu
313* Outlines:: Org-mode is based on outline-mode 314* Outlines:: Org-mode is based on outline-mode
314* Headlines:: How to typeset org-tree headlines 315* Headlines:: How to typeset org-tree headlines
315* Visibility cycling:: Show ad hide, much simplified 316* Visibility cycling:: Show and hide, much simplified
316* Motion:: Jumping to other headlines 317* Motion:: Jumping to other headlines
317* Structure editing:: Changing sequence and level of headlines 318* Structure editing:: Changing sequence and level of headlines
318* Archiving:: Move done task trees to a different place 319* Archiving:: Move done task trees to a different place
@@ -475,14 +476,14 @@ Move subtree up (swap with previous subtree of same level)
475@kindex M-S-@key{down} 476@kindex M-S-@key{down}
476@item M-S-@key{down} 477@item M-S-@key{down}
477Move subtree down (swap with next subtree of same level) 478Move subtree down (swap with next subtree of same level)
478@kindex C-c C-h C-w 479@kindex C-c C-x C-w
479@item C-c C-h C-w 480@item C-c C-x C-w
480Kill subtree, i.e. remove it from buffer but save in kill ring. 481Kill subtree, i.e. remove it from buffer but save in kill ring.
481@kindex C-c C-h M-w 482@kindex C-c C-x M-w
482@item C-c C-h M-w 483@item C-c C-x M-w
483Copy subtree to kill ring. 484Copy subtree to kill ring.
484@kindex C-c C-h C-y 485@kindex C-c C-x C-y
485@item C-c C-h C-y 486@item C-c C-x C-y
486Yank subtree from kill ring. This does modify the level of the subtree to 487Yank subtree from kill ring. This does modify the level of the subtree to
487make sure the tree fits in nicely at the yank position. The yank 488make sure the tree fits in nicely at the yank position. The yank
488level can also be specified with a prefix arg, or by yanking after a 489level can also be specified with a prefix arg, or by yanking after a
@@ -610,10 +611,18 @@ create the above table, you would only type
610|Name|Phone|Age 611|Name|Phone|Age
611|- 612|-
612@end example 613@end example
613
614@noindent and then press @key{TAB} to align the table and start filling in 614@noindent and then press @key{TAB} to align the table and start filling in
615fields. 615fields.
616 616
617When typing text into a field, Org-mode treats @key{DEL},
618@key{Backspace}, and all character keys in a special way, so that
619inserting and deleting avoids shifting other fields. Also, when
620typing @emph{immediately after the cursor was moved into a new field
621with @kbd{@key{TAB}}, @kbd{S-@key{TAB}} or @kbd{@key{RET}}}, the
622field is automatically made blank. If this behavior is too
623unpredictable for you, configure the variables
624@code{org-enable-table-editor} and @code{org-table-auto-blank-field}.
625
617@table @kbd 626@table @kbd
618@tsubheading{Creation and conversion} 627@tsubheading{Creation and conversion}
619@item M-x org-table-create 628@item M-x org-table-create
@@ -684,17 +693,17 @@ Insert a horizontal line below current row. With prefix arg, the line
684is created above the current line. 693is created above the current line.
685 694
686@tsubheading{Regions} 695@tsubheading{Regions}
687@kindex C-c C-h M-w 696@kindex C-c C-x M-w
688@item C-c C-h M-w 697@item C-c C-x M-w
689Copy a rectangular region from a table to a special clipboard. Point 698Copy a rectangular region from a table to a special clipboard. Point
690and mark determine edge fields of the rectangle. The process ignores 699and mark determine edge fields of the rectangle. The process ignores
691horizontal separator lines. 700horizontal separator lines.
692@kindex C-c C-h C-w 701@kindex C-c C-x C-w
693@item C-c C-h C-w 702@item C-c C-x C-w
694Copy a rectangular region from a table to a special clipboard, and 703Copy a rectangular region from a table to a special clipboard, and
695blank all fields in the rectangle. So this is the ``cut'' operation. 704blank all fields in the rectangle. So this is the ``cut'' operation.
696@kindex C-c C-h C-y 705@kindex C-c C-x C-y
697@item C-c C-h C-y 706@item C-c C-x C-y
698Paste a rectangular region into a table. 707Paste a rectangular region into a table.
699The upper right corner ends up in the current field. All involved fields 708The upper right corner ends up in the current field. All involved fields
700will be overwritten. If the rectangle does not fit into the present table, 709will be overwritten. If the rectangle does not fit into the present table,
@@ -802,16 +811,16 @@ it off with
802@section Calculations in tables 811@section Calculations in tables
803@cindex calculations, in tables 812@cindex calculations, in tables
804 813
805The table editor has some spreadsheet-like capabilities. The Emacs 814The table editor makes use of the Emacs @file{calc} package to
806@file{calc} package is required for this feature to work. There are 815implement spreadsheet-like capabilities. Org-mode has two levels of
807basically two levels of complexity for table calculations in Org-mode. 816complexity for table calculations. On the basic level, tables do only
808On the basic level, tables do only horizontal computations, so a field 817horizontal computations, so a field can be computed from other fields
809can be computed from other fields @emph{in the same row}, and Org-mode 818@emph{in the same row}, and Org-mode assumes that there is only one
810assumes that there is only one formula for each column. This is very 819formula for each column. This is very efficient to work with and
811efficient to work with and enough for many tasks. On the complex 820enough for many tasks. On the complex level, columns and individual
812level, columns and individual fields can be named for easier 821fields can be named for easier referencing in formulas, individual
813referencing in formulas, individual named fields can have their own 822named fields can have their own formula associated with them, and
814formula associated with them, and recalculation can be automated. 823recalculation can be automated.
815 824
816@menu 825@menu
817* Formula syntax:: How to write a formula 826* Formula syntax:: How to write a formula
@@ -859,8 +868,8 @@ A formula can contain an optional mode string after a semicolon. This
859string consists of flags to influence calc's modes@footnote{By 868string consists of flags to influence calc's modes@footnote{By
860default, Org-mode uses the standard calc modes (precision 12, angular 869default, Org-mode uses the standard calc modes (precision 12, angular
861units degrees, fraction and symbolic modes off). However, the display 870units degrees, fraction and symbolic modes off). However, the display
862format which has been changed to @code{(float 5)} to keep tables 871format has been changed to @code{(float 5)} to keep tables compact.
863compact. The default settings can be configured using the variable 872The default settings can be configured using the variable
864@code{org-calc-default-modes}.} during execution, e.g. @samp{p20} to 873@code{org-calc-default-modes}.} during execution, e.g. @samp{p20} to
865switch the internal precision to 20 digits, @samp{n3}, @samp{s3}, 874switch the internal precision to 20 digits, @samp{n3}, @samp{s3},
866@samp{e2} or @samp{f4} to switch to normal, scientific, engineering, 875@samp{e2} or @samp{f4} to switch to normal, scientific, engineering,
@@ -1357,8 +1366,9 @@ of working on an item, for example
1357@end lisp 1366@end lisp
1358 1367
1359@cindex completion, of TODO keywords 1368@cindex completion, of TODO keywords
1369Changing these variables becomes only effective in a new Emacs session.
1360With this setup, the command @kbd{C-c C-t} will cycle an entry from 1370With this setup, the command @kbd{C-c C-t} will cycle an entry from
1361TODO to FEEDBACK, then to VERIFY, and finally too DONE. You may also 1371TODO to FEEDBACK, then to VERIFY, and finally to DONE. You may also
1362use a prefix argument to quickly select a specific state. For example 1372use a prefix argument to quickly select a specific state. For example
1363@kbd{C-3 C-c C-t} will change the state immediately to VERIFY. 1373@kbd{C-3 C-c C-t} will change the state immediately to VERIFY.
1364If you define many keywords, you can use in-buffer completion (see 1374If you define many keywords, you can use in-buffer completion (see
@@ -1388,7 +1398,7 @@ one type to another. Therefore, in this case the behavior of the
1388command @kbd{C-c C-t} is changed slightly@footnote{This is also true 1398command @kbd{C-c C-t} is changed slightly@footnote{This is also true
1389for the @kbd{t} command in the timeline and agenda buffers.}. When 1399for the @kbd{t} command in the timeline and agenda buffers.}. When
1390used several times in succession, it will still cycle through all 1400used several times in succession, it will still cycle through all
1391names. But when when you return to the item after some time and 1401names. But when you return to the item after some time and
1392execute @kbd{C-c C-t} again, it will switch from each name directly to 1402execute @kbd{C-c C-t} again, it will switch from each name directly to
1393DONE. Use prefix arguments or completion to quickly select a specific 1403DONE. Use prefix arguments or completion to quickly select a specific
1394name. 1404name.
@@ -1423,7 +1433,7 @@ only one of the two aspects of TODO keywords can be used. After
1423changing one of these lines, use @kbd{C-c C-c} with the cursor still 1433changing one of these lines, use @kbd{C-c C-c} with the cursor still
1424in the line to make the changes known to Org-mode@footnote{Org-mode 1434in the line to make the changes known to Org-mode@footnote{Org-mode
1425parses these lines only when Org-mode is activated after visiting a 1435parses these lines only when Org-mode is activated after visiting a
1426file. @kbd{C-c C-c} with the cursor in a line starting with @samp{#-} 1436file. @kbd{C-c C-c} with the cursor in a line starting with @samp{#+}
1427is simply restarting Org-mode, making sure that these changes will be 1437is simply restarting Org-mode, making sure that these changes will be
1428respected.}. 1438respected.}.
1429 1439
@@ -1565,6 +1575,11 @@ this command is used twice in succession, a time range is inserted.
1565Like @kbd{C-c .}, but use the alternative format which contains date 1575Like @kbd{C-c .}, but use the alternative format which contains date
1566and time. 1576and time.
1567 1577
1578@kindex C-c !
1579@item C-c !
1580Like @kbd{C-c .}, but insert an inactive time stamp not triggering the
1581agenda.
1582
1568@kindex C-c < 1583@kindex C-c <
1569@item C-c < 1584@item C-c <
1570Insert a time stamp corresponding to the cursor date in the Calendar. 1585Insert a time stamp corresponding to the cursor date in the Calendar.
@@ -2171,15 +2186,15 @@ warning.
2171@kindex C-c C-x h 2186@kindex C-c C-x h
2172@item C-c C-x h 2187@item C-c C-x h
2173Export as HTML file @file{myfile.html}. 2188Export as HTML file @file{myfile.html}.
2174@kindex C-c C-x C-h 2189@kindex C-c C-x b
2175@item C-c C-x C-h 2190@item C-c C-x b
2176Export as HTML file and open it with a browser. 2191Export as HTML file and open it with a browser.
2177@kindex C-c C-x t 2192@kindex C-c C-x t
2178@item C-c C-x t 2193@item C-c C-x t
2179Insert template with export options, see below. 2194Insert template with export options, see below.
2180@kindex C-c : 2195@kindex C-c :
2181@item C-c : 2196@item C-c :
2182Toggle fixed-width for line or region, see below. 2197Toggle fixed-width for entry (QUOTE) or region, see below.
2183@end table 2198@end table
2184 2199
2185@node HTML formatting, Export options, Export commands, Exporting 2200@node HTML formatting, Export options, Export commands, Exporting
@@ -2242,7 +2257,7 @@ The exporter recognizes special lines in the buffer which provide
2242additional information. These lines may be put anywhere in the file. 2257additional information. These lines may be put anywhere in the file.
2243The whole set of lines can be inserted into the buffer with @kbd{C-c 2258The whole set of lines can be inserted into the buffer with @kbd{C-c
2244C-x t}. For individual lines, a good way to make sure the keyword is 2259C-x t}. For individual lines, a good way to make sure the keyword is
2245correct it to type @samp{#+} and then use @kbd{M-@key{TAB}} completion 2260correct is to type @samp{#+} and then use @kbd{M-@key{TAB}} completion
2246(@pxref{Completion}). 2261(@pxref{Completion}).
2247 2262
2248@example 2263@example
@@ -2304,6 +2319,7 @@ Toggle the COMMENT keyword at the beginning of an entry.
2304* Customization:: Adapting Org-mode to your taste 2319* Customization:: Adapting Org-mode to your taste
2305* FAQ:: Frequently asked questions 2320* FAQ:: Frequently asked questions
2306* Interaction:: Other Emacs packages 2321* Interaction:: Other Emacs packages
2322* TTY keys:: Using Org-mode on a tty
2307* Bugs:: Things which do not work perfectly 2323* Bugs:: Things which do not work perfectly
2308* Acknowledgments:: These people provided feedback and more 2324* Acknowledgments:: These people provided feedback and more
2309@end menu 2325@end menu
@@ -2436,7 +2452,7 @@ indentation of the first line and realign with @key{TAB}.
2436@end enumerate 2452@end enumerate
2437 2453
2438 2454
2439@node Interaction, Bugs, FAQ, Miscellaneous 2455@node Interaction, TTY keys, FAQ, Miscellaneous
2440@section Interaction with other packages 2456@section Interaction with other packages
2441@cindex packages, interaction with other 2457@cindex packages, interaction with other
2442Org-mode can cooperate with the following packages: 2458Org-mode can cooperate with the following packages:
@@ -2498,7 +2514,44 @@ Integrate org files into the diary as described above, and then turn
2498on the diary support of planner. 2514on the diary support of planner.
2499@end table 2515@end table
2500 2516
2501@node Bugs, Acknowledgments, Interaction, Miscellaneous 2517@node TTY keys, Bugs, Interaction, Miscellaneous
2518@section Using org-mode on a tty
2519
2520Org-mode uses a number of keys that are not accessible on a tty. This
2521applies to most special keys like cursor keys, @key{TAB} and
2522@key{RET}, when these are combined with modifier keys like @key{Meta}
2523and/or @key{Shift}. Org-mode uses these bindings because it needs to
2524provide keys for a large number of commands, and because these keys
2525appeared particularly easy to remember. In order to still be able to
2526access the core functionality of Org-mode on a tty, alternative
2527bindings are provided. Here is a complete list of these bindings,
2528which are obviously more cumbersome to use. Note that sometimes a
2529work-around can be better. For example changing a time stamp is
2530really only fun with @kbd{S-@key{cursor}} keys. On a tty you would
2531rather use @kbd{C-c .} to re-insert the timestamp.
2532
2533@page
2534@multitable @columnfractions 0.15 0.2 0.2
2535@item @b{Default} @tab @b{Alternative 1} @tab @b{Alternative 2}
2536@item @kbd{S-@key{TAB}} @tab @kbd{C-u @key{TAB}} @tab
2537@item @kbd{M-@key{left}} @tab @kbd{C-c C-x l} @tab @kbd{@key{Esc} @key{left}}
2538@item @kbd{M-S-@key{left}} @tab @kbd{C-c C-x L} @tab
2539@item @kbd{M-@key{right}} @tab @kbd{C-c C-x r} @tab @kbd{@key{Esc} @key{right}}
2540@item @kbd{M-S-@key{right}} @tab @kbd{C-c C-x R} @tab
2541@item @kbd{M-@key{up}} @tab @kbd{C-c C-x u} @tab @kbd{@key{Esc} @key{up}}
2542@item @kbd{M-S-@key{up}} @tab @kbd{C-c C-x U} @tab
2543@item @kbd{M-@key{down}} @tab @kbd{C-c C-x d} @tab @kbd{@key{Esc} @key{down}}
2544@item @kbd{M-S-@key{down}} @tab @kbd{C-c C-x D} @tab
2545@item @kbd{S-@key{RET}} @tab @kbd{C-c C-x c} @tab
2546@item @kbd{M-@key{RET}} @tab @kbd{C-c C-x m} @tab @kbd{@key{Esc} @key{RET}}
2547@item @kbd{M-S-@key{RET}} @tab @kbd{C-c C-x M} @tab
2548@item @kbd{S-@key{left}} @tab @kbd{C-c C-x @key{left}} @tab
2549@item @kbd{S-@key{right}} @tab @kbd{C-c C-x @key{right}} @tab
2550@item @kbd{S-@key{up}} @tab @kbd{C-c C-x @key{up}} @tab
2551@item @kbd{S-@key{down}} @tab @kbd{C-c C-x @key{down}} @tab
2552@end multitable
2553
2554@node Bugs, Acknowledgments, TTY keys, Miscellaneous
2502@section Bugs 2555@section Bugs
2503@cindex bugs 2556@cindex bugs
2504 2557
@@ -2514,13 +2567,21 @@ filling is correctly disabled. However, if some text directly
2514normal text. Also, @code{fill-region} does bypass the 2567normal text. Also, @code{fill-region} does bypass the
2515@code{fill-paragraph} code and will fill tables like normal text. 2568@code{fill-paragraph} code and will fill tables like normal text.
2516@item 2569@item
2570Text in an entry protected with the @samp{QUOTE} keyword should not
2571autowrap.
2572@item
2517When the application called by @kbd{C-c C-o} to open a file link fails 2573When the application called by @kbd{C-c C-o} to open a file link fails
2518(for example because the application does not exits or refuses to open 2574(for example because the application does not exits or refuses to open
2519the file), it does so silently. No error message is displayed. 2575the file), it does so silently. No error message is displayed.
2520@item 2576@item
2577The remote-editing commands in the agenda buffer cannot be undone with
2578@code{undo} called from within the agenda buffer. But you can go to
2579the corresponding buffer (using @key{TAB} or @key{RET} and execute
2580@code{undo} there.
2581@item
2521Recalculating a table line applies the formulas from left to right. 2582Recalculating a table line applies the formulas from left to right.
2522If a formula calculated fields further down the row, multiple 2583If a formula uses @emph{calculated} fields further down the row,
2523recalculation may be needed to get all fields consistent. 2584multiple recalculation may be needed to get all fields consistent.
2524@item 2585@item
2525Under XEmacs, if Org-mode entries are included into the diary, it is 2586Under XEmacs, if Org-mode entries are included into the diary, it is
2526not possible to jump back from the diary to the org file. Apparently, 2587not possible to jump back from the diary to the org file. Apparently,
@@ -2592,6 +2653,9 @@ Emacs-Lisp compiler happy.
2592@item 2653@item
2593Kai Grossjohann pointed out that a number of key bindings in Org-mode 2654Kai Grossjohann pointed out that a number of key bindings in Org-mode
2594conflict with other packages. 2655conflict with other packages.
2656@item
2657Roland Winkler pointed out that additional keybindings are need to use
2658Org-mode on a tty.
2595@end itemize 2659@end itemize
2596 2660
2597@node Index, Key Index, Miscellaneous, Top 2661@node Index, Key Index, Miscellaneous, Top
diff --git a/man/text.texi b/man/text.texi
index 01cacc1a62e..5abb736a891 100644
--- a/man/text.texi
+++ b/man/text.texi
@@ -266,10 +266,11 @@ Put point and mark around this or next paragraph (@code{mark-paragraph}).
266 @kbd{M-@{} moves to the beginning of the current or previous 266 @kbd{M-@{} moves to the beginning of the current or previous
267paragraph, while @kbd{M-@}} moves to the end of the current or next 267paragraph, while @kbd{M-@}} moves to the end of the current or next
268paragraph. Blank lines and text-formatter command lines separate 268paragraph. Blank lines and text-formatter command lines separate
269paragraphs and are not considered part of any paragraph. In Indented 269paragraphs and are not considered part of any paragraph. In
270Text mode, but not in Text mode, an indented line also starts a new 270Paragraph-Indent Text mode, but not in Text mode, an indented line
271paragraph. If there is a blank line before the paragraph, @kbd{M-@{} 271also starts a new paragraph. If there is a blank line before the
272moves to the blank line, because that is convenient in practice. 272paragraph, @kbd{M-@{} moves to the blank line, because that is
273convenient in practice.
273 274
274 In major modes for programs, paragraphs begin and end only at blank 275 In major modes for programs, paragraphs begin and end only at blank
275lines. This makes the paragraph commands continue to be useful even 276lines. This makes the paragraph commands continue to be useful even
diff --git a/src/.gitignore b/src/.gitignore
index 48c78a4f3a6..8dbbc9f86b6 100644
--- a/src/.gitignore
+++ b/src/.gitignore
@@ -3,6 +3,7 @@
3*.pdb 3*.pdb
4.gdb_history 4.gdb_history
5Makefile 5Makefile
6makefile
6Makefile.c 7Makefile.c
7TAGS-LISP 8TAGS-LISP
8_gdbinit 9_gdbinit
diff --git a/src/ChangeLog b/src/ChangeLog
index c827ba7c53a..4012f446f99 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,42 @@
12005-09-23 Richard M. Stallman <rms@gnu.org>
2
3 * editfns.c (Fformat): Explicitly test for end of format string
4 and don't use `index'.
5
62005-09-23 Dan Nicolaescu <dann@ics.uci.edu>
7
8 * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
9 BROKEN_GET_CURRENT_DIR_NAME.
10
11 * sysdep.c (get_current_dir_name): Also define if
12 BROKEN_GET_CURRENT_DIR_NAME.
13
14 * m/ibmrs6000.h: Test for USG5, not USG5_4.
15
162005-09-22 Kim F. Storm <storm@cua.dk>
17
18 * xdisp.c (message_dolog): Add warning about GC and Lisp strings.
19 (message2): Fix commentary. Ok to use alloca'ed memory.
20 Still not ok to use Lisp string data (because of GC).
21 (set_message): Add comment why GC cannot happen.
22
232005-09-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
24
25 * macterm.c (xlfdpat_block_match_1): Fix assertion.
26 (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't add style
27 variants for a scalable font multiple times.
28
292005-09-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
30
31 * process.c (create_process) [RTU || UNIPLUS || DONT_REOPEN_PTY]:
32 Setup slave tty options before forking.
33
342005-09-20 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
35
36 * gtkutil.c (xg_set_geometry): Do a gtk_window_move if program
37 positions have been set for the frame (as is done for frames in
38 special-display-buffer-names).
39
12005-09-19 Kim F. Storm <storm@cua.dk> 402005-09-19 Kim F. Storm <storm@cua.dk>
2 41
3 * editfns.c (Fformat): Don't scan past end of format string that 42 * editfns.c (Fformat): Don't scan past end of format string that
diff --git a/src/editfns.c b/src/editfns.c
index 3f33285bcfc..98828352375 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -3556,7 +3556,9 @@ usage: (format STRING &rest OBJECTS) */)
3556 digits to print after the '.' for floats, or the max. 3556 digits to print after the '.' for floats, or the max.
3557 number of chars to print from a string. */ 3557 number of chars to print from a string. */
3558 3558
3559 while (*format && index ("-0# ", *format)) 3559 while (format != end
3560 && (*format == '-' || *format == '0' || *format == '#'
3561 || * format == ' '))
3560 ++format; 3562 ++format;
3561 3563
3562 if (*format >= '0' && *format <= '9') 3564 if (*format >= '0' && *format <= '9')
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 3b590e0faed..84ce64beb56 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -554,6 +554,9 @@ xg_set_geometry (f)
554 if (!gtk_window_parse_geometry (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), 554 if (!gtk_window_parse_geometry (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
555 geom_str)) 555 geom_str))
556 fprintf (stderr, "Failed to parse: '%s'\n", geom_str); 556 fprintf (stderr, "Failed to parse: '%s'\n", geom_str);
557 } else if (f->size_hint_flags & PPosition) {
558 gtk_window_move (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
559 f->left_pos, f->top_pos);
557 } 560 }
558} 561}
559 562
diff --git a/src/m/ibmrs6000.h b/src/m/ibmrs6000.h
index 9559f1ae62a..0ff702d090d 100644
--- a/src/m/ibmrs6000.h
+++ b/src/m/ibmrs6000.h
@@ -112,7 +112,7 @@ Boston, MA 02110-1301, USA. */
112#define OBJECTS_MACHINE hftctl.o 112#define OBJECTS_MACHINE hftctl.o
113#endif 113#endif
114 114
115#ifndef USG5_4 115#ifndef USG5
116#define C_SWITCH_MACHINE -D_BSD 116#define C_SWITCH_MACHINE -D_BSD
117#endif 117#endif
118 118
diff --git a/src/macterm.c b/src/macterm.c
index d9b533a9b8c..90d6a886db6 100644
--- a/src/macterm.c
+++ b/src/macterm.c
@@ -6293,7 +6293,7 @@ static INLINE int
6293xlfdpat_exact_p (pat) 6293xlfdpat_exact_p (pat)
6294 struct xlfdpat *pat; 6294 struct xlfdpat *pat;
6295{ 6295{
6296 return (pat)->blocks == NULL; 6296 return pat->blocks == NULL;
6297} 6297}
6298 6298
6299/* Return the first string in STRING + 0, ..., STRING + START_MAX such 6299/* Return the first string in STRING + 0, ..., STRING + START_MAX such
@@ -6311,7 +6311,7 @@ xlfdpat_block_match_1 (blk, string, start_max)
6311 6311
6312 xassert (blk->len > 0); 6312 xassert (blk->len > 0);
6313 xassert (start_max + blk->len <= strlen (string)); 6313 xassert (start_max + blk->len <= strlen (string));
6314 xassert (blk->pattern[blk->len - 1] != '?'); 6314 xassert (blk->last_char != '?');
6315 6315
6316 /* See the comments in the function `boyer_moore' (search.c) for the 6316 /* See the comments in the function `boyer_moore' (search.c) for the
6317 use of `infinity'. */ 6317 use of `infinity'. */
@@ -6706,28 +6706,29 @@ init_font_name_table ()
6706 { 6706 {
6707 Lisp_Object rest = XCDR (XCDR (text_encoding_info)); 6707 Lisp_Object rest = XCDR (XCDR (text_encoding_info));
6708 6708
6709 for (; !NILP (rest); rest = XCDR (rest)) 6709 if (size > 0 || style == normal)
6710 { 6710 for (; !NILP (rest); rest = XCDR (rest))
6711 char *cs = SDATA (XCAR (rest)); 6711 {
6712 char *cs = SDATA (XCAR (rest));
6712 6713
6713 if (size == 0) 6714 if (size == 0)
6714 { 6715 {
6715 add_font_name_table_entry (mac_to_x_fontname (name, size, 6716 add_font_name_table_entry (mac_to_x_fontname (name, size,
6716 style, cs)); 6717 style, cs));
6717 add_font_name_table_entry (mac_to_x_fontname (name, size, 6718 add_font_name_table_entry (mac_to_x_fontname (name, size,
6718 italic, cs)); 6719 italic, cs));
6719 add_font_name_table_entry (mac_to_x_fontname (name, size, 6720 add_font_name_table_entry (mac_to_x_fontname (name, size,
6720 bold, cs)); 6721 bold, cs));
6721 add_font_name_table_entry (mac_to_x_fontname (name, size, 6722 add_font_name_table_entry (mac_to_x_fontname (name, size,
6722 italic | bold, 6723 italic | bold,
6723 cs)); 6724 cs));
6724 } 6725 }
6725 else 6726 else
6726 { 6727 {
6727 add_font_name_table_entry (mac_to_x_fontname (name, size, 6728 add_font_name_table_entry (mac_to_x_fontname (name, size,
6728 style, cs)); 6729 style, cs));
6729 } 6730 }
6730 } 6731 }
6731 } 6732 }
6732 } 6733 }
6733 6734
diff --git a/src/process.c b/src/process.c
index a7ef9c36589..5bab9684a7a 100644
--- a/src/process.c
+++ b/src/process.c
@@ -1794,6 +1794,12 @@ create_process (process, new_argv, current_dir)
1794#endif 1794#endif
1795 if (forkin < 0) 1795 if (forkin < 0)
1796 report_file_error ("Opening pty", Qnil); 1796 report_file_error ("Opening pty", Qnil);
1797#if defined (RTU) || defined (UNIPLUS) || defined (DONT_REOPEN_PTY)
1798 /* In the case that vfork is defined as fork, the parent process
1799 (Emacs) may send some data before the child process completes
1800 tty options setup. So we setup tty before forking. */
1801 child_setup_tty (forkout);
1802#endif /* RTU or UNIPLUS or DONT_REOPEN_PTY */
1797#else 1803#else
1798 forkin = forkout = -1; 1804 forkin = forkout = -1;
1799#endif /* not USG, or USG_SUBTTY_WORKS */ 1805#endif /* not USG, or USG_SUBTTY_WORKS */
@@ -2078,8 +2084,10 @@ create_process (process, new_argv, current_dir)
2078#endif /* SIGCHLD */ 2084#endif /* SIGCHLD */
2079#endif /* !POSIX_SIGNALS */ 2085#endif /* !POSIX_SIGNALS */
2080 2086
2087#if !defined (RTU) && !defined (UNIPLUS) && !defined (DONT_REOPEN_PTY)
2081 if (pty_flag) 2088 if (pty_flag)
2082 child_setup_tty (xforkout); 2089 child_setup_tty (xforkout);
2090#endif /* not RTU and not UNIPLUS and not DONT_REOPEN_PTY */
2083#ifdef WINDOWSNT 2091#ifdef WINDOWSNT
2084 pid = child_setup (xforkin, xforkout, xforkout, 2092 pid = child_setup (xforkin, xforkout, xforkout,
2085 new_argv, 1, current_dir); 2093 new_argv, 1, current_dir);
diff --git a/src/s/aix4-2.h b/src/s/aix4-2.h
index 66b7d322b56..02225a9226f 100644
--- a/src/s/aix4-2.h
+++ b/src/s/aix4-2.h
@@ -2,5 +2,23 @@
2 2
3#undef ALIGN_DATA_RELOC 3#undef ALIGN_DATA_RELOC
4 4
5/* On AIX Emacs uses the gmalloc.c malloc implementation. But given
6 the way this system works, libc functions that return malloced
7 memory use the libc malloc implementation. Calling xfree or
8 xrealloc on the results of such functions results in a crash.
9
10 One solution for this could be to define SYSTEM_MALLOC here, but
11 that does not currently work on this system.
12
13 It is possible to completely override the malloc implementation on
14 AIX, but that involves putting the malloc functions in a shared
15 library and setting the MALLOCTYPE environment variable to point to
16 tha shared library.
17
18 Emacs currently calls xrealloc on the results of get_current_dir name,
19 to avoid a crash just use the Emacs implementation for that function.
20*/
21#define BROKEN_GET_CURRENT_DIR_NAME 1
22
5/* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562 23/* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562
6 (do not change this comment) */ 24 (do not change this comment) */
diff --git a/src/sysdep.c b/src/sysdep.c
index eae493ba453..f70d4b18cff 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -256,7 +256,7 @@ void hft_reset ();
256SIGMASKTYPE sigprocmask_set; 256SIGMASKTYPE sigprocmask_set;
257 257
258 258
259#ifndef HAVE_GET_CURRENT_DIR_NAME 259#if !defined (HAVE_GET_CURRENT_DIR_NAME) || defined (BROKEN_GET_CURRENT_DIR_NAME)
260 260
261/* Return the current working directory. Returns NULL on errors. 261/* Return the current working directory. Returns NULL on errors.
262 Any other returned value must be freed with free. This is used 262 Any other returned value must be freed with free. This is used
diff --git a/src/xdisp.c b/src/xdisp.c
index 3ae8543144d..dddea77b572 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -6856,7 +6856,10 @@ message_log_maybe_newline ()
6856 terminated with a newline when NLFLAG is non-zero. MULTIBYTE, if 6856 terminated with a newline when NLFLAG is non-zero. MULTIBYTE, if
6857 nonzero, means interpret the contents of M as multibyte. This 6857 nonzero, means interpret the contents of M as multibyte. This
6858 function calls low-level routines in order to bypass text property 6858 function calls low-level routines in order to bypass text property
6859 hooks, etc. which might not be safe to run. */ 6859 hooks, etc. which might not be safe to run.
6860
6861 This may GC (insert may run before/after change hooks),
6862 so the buffer M must NOT point to a Lisp string. */
6860 6863
6861void 6864void
6862message_dolog (m, nbytes, nlflag, multibyte) 6865message_dolog (m, nbytes, nlflag, multibyte)
@@ -7068,10 +7071,7 @@ message_log_check_duplicate (prev_bol, prev_bol_byte, this_bol, this_bol_byte)
7068 out any existing message, and let the mini-buffer text show 7071 out any existing message, and let the mini-buffer text show
7069 through. 7072 through.
7070 7073
7071 The buffer M must continue to exist until after the echo area gets 7074 This may GC, so the buffer M must NOT point to a Lisp string. */
7072 cleared or some other message gets displayed there. This means do
7073 not pass text that is stored in a Lisp string; do not pass text in
7074 a buffer that was alloca'd. */
7075 7075
7076void 7076void
7077message2 (m, nbytes, multibyte) 7077message2 (m, nbytes, multibyte)
@@ -8128,7 +8128,11 @@ truncate_message_1 (nchars, a2, a3, a4)
8128 8128
8129 If S is not null, set the message to the first LEN bytes of S. LEN 8129 If S is not null, set the message to the first LEN bytes of S. LEN
8130 zero means use the whole string. MULTIBYTE_P non-zero means S is 8130 zero means use the whole string. MULTIBYTE_P non-zero means S is
8131 multibyte. Display the message multibyte in that case. */ 8131 multibyte. Display the message multibyte in that case.
8132
8133 Doesn't GC, as with_echo_area_buffer binds Qinhibit_modification_hooks
8134 to t before calling set_message_1 (which calls insert).
8135 */
8132 8136
8133void 8137void
8134set_message (s, string, nbytes, multibyte_p) 8138set_message (s, string, nbytes, multibyte_p)