mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-20 03:47:34 +00:00
Merged from miles@gnu.org--gnu-2005 (patch 578-592)
Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-578 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-579 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-580 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-581 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-582 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-583 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-584 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-585 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-586 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-587 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-588 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-589 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-590 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-591 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-592 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-424
This commit is contained in:
commit
734b679135
118 changed files with 29749 additions and 29670 deletions
|
|
@ -1,3 +1,12 @@
|
|||
2005-10-08 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* make-dist (tempparent): Don't check for 14-char file name limit.
|
||||
|
||||
2005-10-07 Romain Francoise <romain@orebokech.com>
|
||||
|
||||
* make-dist: Add etc/images/ezimage and etc/images/mail
|
||||
directories. Install images in etc/images.
|
||||
|
||||
2005-10-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* configure.in: Prefer Carbon if --enable-carbon-app or
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
2005-10-11 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* FOR-RELEASE (FATAL ERRORS): Remove item about JPEG
|
||||
libraries on Windows (Done).
|
||||
|
||||
2005-10-01 Jason Rumney <jasonr@gnu.org>
|
||||
|
||||
* admin.el (set-version): Set version numbers in nt/emacs.rc.
|
||||
|
|
|
|||
|
|
@ -53,20 +53,8 @@ test), it may be better just to avoid displaying such images for emacs 22.
|
|||
** Investigate reported crashes related to using an
|
||||
invalid pointer from string_free_list.
|
||||
|
||||
** Emacs on Windows crashes reading JPEG images from files.
|
||||
|
||||
The problem is caused by the Emacs executable and the image library
|
||||
having multiple, incompatible copies of the run-time code, which can
|
||||
happen when mixing a MSVC build of Emacs with a MinGW build of the
|
||||
jpeg library (or the other way around). The fix is straightforward
|
||||
and has already been posted on the developers' list, but it is on the
|
||||
back burner waiting for a legal comment or an alternate implementation
|
||||
(around 30 lines of code).
|
||||
|
||||
* BUGS
|
||||
|
||||
* Pierre Albarede's Aug 30 bug report about C-v and long lines.
|
||||
|
||||
** Make a new interface for specifying window configurations
|
||||
so that we can fix bugs in balance-windows.
|
||||
|
||||
|
|
@ -132,7 +120,7 @@ people who have checked it.
|
|||
SECTION READERS
|
||||
-----------------------------
|
||||
man/abbrevs.texi Chong Yidong Joakim Verona
|
||||
man/anti.texi
|
||||
man/anti.texi Chong Yidong
|
||||
man/basic.texi "Luc Teirlinck" Chong Yidong
|
||||
man/buffers.texi "Luc Teirlinck" Chong Yidong
|
||||
man/building.texi "Ted Zlatanov" <tzz@lifelogs.com>
|
||||
|
|
@ -153,7 +141,7 @@ man/indent.texi "Luc Teirlinck" Chong Yidong
|
|||
man/killing.texi "Luc Teirlinck" Chong Yidong
|
||||
man/kmacro.texi "Luc Teirlinck" Chong Yidong
|
||||
man/macos.texi
|
||||
man/maintaining.texi
|
||||
man/maintaining.texi Chong Yidong
|
||||
man/major.texi "Luc Teirlinck" Chong Yidong
|
||||
man/mark.texi "Luc Teirlinck" Chong Yidong
|
||||
man/mini.texi "Luc Teirlinck" Chong Yidong
|
||||
|
|
@ -184,7 +172,7 @@ SECTION READERS
|
|||
----------------------------------
|
||||
lispref/abbrevs.texi "Luc Teirlinck" Chong Yidong
|
||||
lispref/advice.texi joakim@verona.se Chong Yidong
|
||||
lispref/anti.texi
|
||||
lispref/anti.texi Chong Yidong
|
||||
lispref/backups.texi "Luc Teirlinck" Chong Yidong
|
||||
lispref/buffers.texi "Luc Teirlinck" Chong Yidong
|
||||
lispref/calendar.texi Joakim Verona <joakim@verona.se> Chong Yidong
|
||||
|
|
|
|||
|
|
@ -1,3 +1,15 @@
|
|||
2005-10-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* NEWS: -nb => -nbi
|
||||
|
||||
2005-10-10 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* orgcard.tex: Version 3.17, no changes except version number.
|
||||
|
||||
2005-10-09 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* NEWS: -nb, --no-bitmap-icon
|
||||
|
||||
2005-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* TODO: Clarify the local variables entry.
|
||||
|
|
|
|||
51
etc/NEWS
51
etc/NEWS
|
|
@ -175,6 +175,11 @@ disables the splash screen; see also the variable
|
|||
`inhibit-startup-message' (which is also aliased as
|
||||
`inhibit-splash-screen').
|
||||
|
||||
+++
|
||||
** The default is now to use an bitmap as the icon, so the command-line options
|
||||
--icon-type, -i has been replaced with options --no-bitmap-icon, -nbi to turn
|
||||
the bitmap icon off.
|
||||
|
||||
+++
|
||||
** New user option `inhibit-startup-buffer-menu'.
|
||||
When loading many files, for instance with `emacs *', Emacs normally
|
||||
|
|
@ -2907,6 +2912,50 @@ from Outlook-format appointments in mail messages. The variable
|
|||
`diary-outlook-formats' can be customized to recognize additional
|
||||
formats.
|
||||
|
||||
+++
|
||||
** Speedbar changes:
|
||||
|
||||
*** Speedbar items can now be selected by clicking mouse-1, based on
|
||||
the `mouse-1-click-follows-link' mechanism.
|
||||
|
||||
*** SPC and DEL are no longer bound to scroll up/down in the speedbar
|
||||
keymap.
|
||||
|
||||
*** The new command `speedbar-toggle-line-expansion', bound to SPC,
|
||||
contracts or expands the line under the cursor.
|
||||
|
||||
*** New command `speedbar-create-directory', bound to `M'.
|
||||
|
||||
*** The new commands `speedbar-expand-line-descendants' and
|
||||
`speedbar-contract-line-descendants', bound to `[' and `]'
|
||||
respectively, expand and contract the line under cursor with all of
|
||||
its descendents.
|
||||
|
||||
*** The new user option `speedbar-query-confirmation-method' controls
|
||||
how querying is performed for file operations. A value of 'always
|
||||
means to always query before file operations; 'none-but-delete means
|
||||
to not query before any file operations, except before a file
|
||||
deletion.
|
||||
|
||||
*** The new user option `speedbar-select-frame-method' specifies how
|
||||
to select a frame for displaying a file opened with the speedbar. A
|
||||
value of 'attached means to use the attached frame (the frame that
|
||||
speedbar was started from.) A number such as 1 or -1 means to pass
|
||||
that number to `other-frame'.
|
||||
|
||||
*** The new user option `speedbar-use-tool-tips-flag', if non-nil,
|
||||
means to display tool-tips for speedbar items.
|
||||
|
||||
*** The frame management code in speedbar.el has been split into a new
|
||||
`dframe' library. Emacs Lisp code that makes use of the speedbar
|
||||
should use `dframe-attached-frame' instead of
|
||||
`speedbar-attached-frame', `dframe-timer' instead of `speedbar-timer',
|
||||
`dframe-close-frame' instead of `speedbar-close-frame', and
|
||||
`dframe-activity-change-focus-flag' instead of
|
||||
`speedbar-activity-change-focus-flag'. The variables
|
||||
`speedbar-update-speed' and `speedbar-navigating-speed' are also
|
||||
obsolete; use `dframe-update-speed' instead.
|
||||
|
||||
---
|
||||
** sql changes.
|
||||
|
||||
|
|
@ -4353,7 +4402,7 @@ If non-nil, that says to preserve the window's current margin, fringe,
|
|||
and scroll-bar settings.
|
||||
|
||||
+++
|
||||
*** The new function `window-split-tree' returns a frame's window split tree.
|
||||
*** The new function `window-tree' returns a frame's window tree.
|
||||
|
||||
+++
|
||||
** Customizable fringe bitmaps
|
||||
|
|
|
|||
896
etc/orgcard.ps
896
etc/orgcard.ps
|
|
@ -10,7 +10,7 @@
|
|||
%DVIPSWebPage: (www.radicaleye.com)
|
||||
%DVIPSCommandLine: dvips -t landscape -o orgcard.ps orgcard.dvi
|
||||
%DVIPSParameters: dpi=600, compressed
|
||||
%DVIPSSource: TeX output 2005.09.23:1744
|
||||
%DVIPSSource: TeX output 2005.10.10:1112
|
||||
%%BeginProcSet: texc.pro
|
||||
%!
|
||||
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
|
||||
|
|
@ -385,183 +385,181 @@ E12CD06BD02AB38CBA57492EFEB4A12AE7B58548623D7F862515AA3EC1B4F84A
|
|||
7C9CB4390F825B68E7A6DF4D67DAEF89F1D461ABEDACBF1FA02FEF65F0B8E3ED
|
||||
45974B9EC80855D5A1B34D792CC7793D4F05E81E185C3FA86C8A8FF108BAC2E0
|
||||
801AB0B3FE4C0CD5257441F29F2F293F4BDCC67D00EFB68440FAEAFE138279D2
|
||||
415687CEFCE35F8A1BBB0C18AE4A8ABA688D2F3894B5654AB7AD595E022E6BB3
|
||||
083B492C4D6F553EE6DB0D7EF1616F397EA60DC79B6FF8998154D881C74F07D2
|
||||
C3B1B9AE8C307182A23EE559466355AA9D092FAA3651C430A550F9C6B18BB05E
|
||||
1F4B2D7DA2AE2C9BF19B27C827F0E087FD64C5AEB89DF781E2D3FB7F5A471054
|
||||
8013A06284F6016A236A1152441EE4703EF4CDB21B964FC029980C62A30DA336
|
||||
B5B8DF6EC9FB172B746F1E7A1AB9B5828B1EE32889B22FB532D02045E3567F7C
|
||||
44B2A0028D20469F45390FEAA44C3555BFAC6F4AF6350CAA53AB97286D25EE00
|
||||
933BA6B4E511CF1EBFE8BF240023602A60C3ABC555A08927D0E6AEDC3516D6FA
|
||||
E4D82F913831A17710EC3A6DB1CE499B58C7B530A1EC4AC1AFF12ED8E79D7EEC
|
||||
62B47FCAB38ABB2E80B7E05426A416742315C848BEC5AC0D1116BAEFBF220607
|
||||
3490F241891680E26C03DB4FFAE6CA4FCB6292226D4549CBCABC3206D1E4D327
|
||||
6AAC59B3F07E5D68CD7752C1BA1178A8C7DB6E947DCFAA9EEEDBD01FC8A4D201
|
||||
F5BD270279DC4805A24382F6A6108D1B3414D40F46EA91C6108B333342EE1F7E
|
||||
7086DC76CE42C9C6A6D2858CE3B3E82D0294D8A88E22A0FA9028509F97C85CF5
|
||||
3B565E5570F8D4F6F40B8CBD19181B62176FBE65972381E0715EA9281EAE0FE7
|
||||
66B5154154738DEAFC9932B3D16EC9EB6F7524F22147C085272719A4AC5CBED3
|
||||
E62D88246C56B12ACEB231D42BE72F46D7C6749F9F2487DCEA19ACD3FF21E05B
|
||||
74324DF87D11DE064F7EFA010B699E7C199908BFC672DDCD69B98D81DDC9C7A4
|
||||
062C25FFF5052E5B8042AE6898BAF38ED1C063780B672F0B4E8D331127C0D612
|
||||
5705230D97ADCC8103D85DFC7BF7CF154C8A6AABC88419E732EE1C6C724288FE
|
||||
46F011FD8DD86B343F6240D95D20E8C01452365A061345E876A1B672C2548FC0
|
||||
CC0E1B02843714DCA1D8837FBB77E42E590A00D0A4EC1A34DF909A83898C6275
|
||||
DC40EAD69FB9436D7D5F0CDB5984A79B86A5AC2DFA0C54F8DC2B210D5C5F890E
|
||||
64487A1BEB453C2B8D15BE63A1C74CCAEA825CC480AE4C2F4EE985DF8FB624A5
|
||||
60CA0E37A9638558EC3C5D1E87936B77D6422E87AB313CC4D91185AA672B92F3
|
||||
9D76E2D34A17BA0F35203E72B7D26B71B332D352B2101E871539CB4479954F9C
|
||||
714158C724DAA05BB5B479CD54E8B0528EF51043EA676CCA3AF74F6CE6024EEE
|
||||
71346FB0DE3310627BCF9C354FA2BFA44D00E4C11EFC1585C5C5E0C56ECAB11A
|
||||
EB2037735F483FC4DE666CC61DD2B3214FC3EB4E960DEE07E5835533BE351B99
|
||||
18A32EE9888E98922885F3BFC8D5A86B076FF8030D68535FDBA76FBF821842A1
|
||||
F7068897E43B3533A9020F1FB35F6BDD8A97C4EE1ACA20EE72081527955D6EC9
|
||||
6A2FE32DB339508A0D05AD69AA839BC0D0B7C3B3EE4319A5D27FFDFDF9756583
|
||||
A39D0570768314B0B2D5303EF7AF3D52B651093C440CD8AFCE9E27F512D52345
|
||||
E292E0E582FBB4A628705A63E6FA384AE2898D324BE2E142716114F158E6178B
|
||||
5F4D198C5A16608D05C22E647C3025A12955BB5F423563EED4AF398BF2621383
|
||||
04AEE3E372C05ADEF6C5D1E5047EE5701884A65B56E0AF429B78FC3A20F72CE8
|
||||
F1AEBA8DED5F661A2B336BDC348F8360839E1C2455E7DDB0E190ACA4FA5F4F19
|
||||
A2223C786B8E8AE770CEC7A8DEFE523E94458BB67CB2F22555802BDA8CEFD118
|
||||
ED2E1BFEE8FFDF6BDF4A61A3E5461B65166147057D47507E7DA9297BE7856D7C
|
||||
36126E3B82352231A9E9EFC120935438F90913F6DB8953D325907CC8CB0BA012
|
||||
3AFD73AC92E481E1FDD6DE7C49ECA620DE1AFCA3E5BA20AADD72B66BE2ECD1DA
|
||||
70FE7AB3C8DEEC078A034628E68F7B915FE7AC8C3F20A5FA0A80436E4FE0A20D
|
||||
36589A6F5DB1BACDD8D7325E2F21464FBAB56E729FE7343B02D260FDB2C48607
|
||||
4FA69790941A8F45ADE89EF8C1027B04466D1BDAD348A91D5191C7A596BE2408
|
||||
5EDE1545714987B4473A51B0C39B1CD9F7B27E7DFC4E828D321E7F40282D7184
|
||||
7C5341A9EB897DA4A6C77ACC3FC22B98F40D5422CF53F3E561F781E7BD0F8D77
|
||||
F1225D15E96FD9A5723FC0A9E07FCDC18A837C7B14EE0A3158AFAFA976E6F419
|
||||
B57A920F7B0784082F818DFE9535570D1C2DB50421D47946FF134BE8FF8B70F5
|
||||
F3BD74B7F330BCB49D0CA72C275B39F1204BC7B701F26F80586CE138043BFC05
|
||||
11E101A875BA9277500C5AAF134F7E56C34E4704C4F47199F27EE2CC95B70DA7
|
||||
BB6D247FA6035D0DF7CCE23B54D67A348528FA551C0CD11BD1B46C62530CD19E
|
||||
386B27B16A1DDFFB157604C074124374878F9ADEEAE039B4CC91426BE209BE74
|
||||
24FB053A5759BE2D970A5CE835D2E462AFFBF4649380049CBFBA8A030135A09D
|
||||
42DD6EA17E65E0C8BFF3A442B64FC5298C50AD74ED875176EF737F8BE425CB94
|
||||
4C7035B5DC09E70A5B35230627CAE6449145357A220400C34281EB9475D3EA87
|
||||
310F5D6C14FAAF11356651346907AD48FA099EAE60ECD1E4C9491DCB6519043E
|
||||
A1D5536CC8F92EA54A4D7FB9D1045284FA76C70F9DC5A23412584D11753C94EF
|
||||
306A38B474E4F27AE0879819A5BA1FB401FACC0A71678C88BB2E7A8C1D130D91
|
||||
FCAD77B00FAC404BA1578779135656287A1F0BC7B6C4D3122ABED9F8B1927D3A
|
||||
2038D58CA763939F53B8F667DF14811FCB3781B774EE3137B95B456F77E077C3
|
||||
F3557D5E06CEDBFB7FD84F5CFA36BF60D0C6BB8EE19FAABD169148FF6C38C30C
|
||||
B1E354FB043E47F4D1C98A9F95FFECC90760E4DD269F5E212F7E0F6B5519664E
|
||||
8D88024A5F439DC44C08C2F87EA4C4C5FB0FE0DA729C5D3D53F803B6CFC92793
|
||||
B955E961428A9BC704FC576CBD7B77A2E52CE46AA1CEF0CC8987D682804C1052
|
||||
D0998F37B2122EFA3932346E5947A5C96E09563D8DDAE2BD95D137155C044788
|
||||
1ECB14524651A18A0FC7F0D43F7C8888246BF5F3D7EFBA55F7924FACBD9948D5
|
||||
B10027AFA16FD9876E034A9409D9DE405BD3370A907BF9ECBA8289061C94019D
|
||||
56FFA03F2FC8FFC11882CD5ACCF3AEE9D0FDDECB08433E19F536CEBDB5554947
|
||||
7769A3D1A6160689F118B55FEB95EE64391236407596C67E59EB604358845376
|
||||
D828EF56639C526F69634AD2C5C13F36F2CD9889BFFEE334F9EF212006298465
|
||||
2CDB8F2BC4EE08157E5AE915763EAC45CAAA393FACF3CF8E50788AE1AE6BD39B
|
||||
49F24D099DC274C4CA6538C20ABBD8BBB9FBE3A038D6798317B938327A7F33FD
|
||||
866D1CCD14148C95B96E0F35596C6A558077A6C7A2D87CC83393FDB57A6391F1
|
||||
875E85FEDAEA2036B1618DF94687A978E6CFDF7944F39E422FE3303270CDAD35
|
||||
81F7626BD3375AD01D436A012868C735326114F8AFB42B886CD32EB4A98A19B4
|
||||
E1B62B77F2F00548C531EE95F5EA677D16BE65BECF9FE0334757FCFA45F84CED
|
||||
42F30B37E7DE566107D0F57A3B777E38A725D7AA8A4383BCEFE55CD51AF0B6ED
|
||||
D1EB1942129CDFDBFFFB5E8D55DAA966AE6A086603F30D400359C2C273DEDEDE
|
||||
38DE88FB502DA13592F3A7D396816DE8A0A86093E2B6DBA7A77C411F27A478E9
|
||||
3EF3166D7AD9133DDF48D873AEF825EF6CB162B98482BD50BDD2D48DD65CC73E
|
||||
FEF538543B1A6DC11E71A3904A11EA208E70CD1852B0B19CB2EDCD0813D90B07
|
||||
19F0DEFFA8F02099B4D6EE3E74B0F0E6BBA43C4A24E6E91E1973ECAB64D313C0
|
||||
99F93025AEBBE3B402A87724ADF72937C66235F36A698529F92CFB67D861F908
|
||||
493730108FC4D7D9A8E01644FBBEF3B39253B7BFF5EF1DF6C2ACC4CC7F1EFD6E
|
||||
72F8A54E8D568A484D0E15D2C88D1743D6E225ABD547F7953A5F5E42406F4EAE
|
||||
EADD36D4998A41CEBABCB1F2945687400C7BE6322E4D924D9901D42032CC55FE
|
||||
64254DEB51F5C844BCDB03D7069AD72F8F55CC306E12481D0CFAC6210BBF6EC1
|
||||
51D195E3A1B23ACD61FFF6A1A446D86DAD11BAD6A74B66D1B7362004FE7C3D2D
|
||||
E4D5580654FB98A089F7322DACF853C0FF96747526AFE3F896988F7B0144897B
|
||||
88091909ADDB26726D582235467E7E75372F16F804C7063311402E0F08C41804
|
||||
3264D3A54C0795902B0A70CF624827016B3D135F57C192E05EAE87EBE42618CD
|
||||
CC4D35AF0EEF5BB9A0B78580573458BF8E808B2C9352D9AC844FC13B64EA6A0A
|
||||
680636D47A0DF610F14FC3B59215B21599C52E206B5038F5AF3A9121BDDB0991
|
||||
64AEA5390C32ED5242C93DEAC8A8E398223A4466BEE9AF7DC8EBD1E58E82700D
|
||||
97AF154B17F0CB94835996913FA29796BF0F262FD7BF307BF31D628128655E40
|
||||
8E8A8A6D0073EADB219EFAA3F1C1A040A5CA2B3AB8BF13500250D5DCC6C23A8D
|
||||
546ACF1B5CE5E71362B9B8B472DB26FDE4624C4D25659F80179E2B840EEEDA65
|
||||
262CAE1572E905DC55993DD5652EF70AD17D4FC3651816E60CEE9A7ED5BE8989
|
||||
BCC82E24E2B118C176EC340917ED0D61C5195A3B5BAE92373DF0426B1B0E2E3E
|
||||
07109E9975DED88D1D0A5459D6DBF6912938201A68B3260252091F8C977EA319
|
||||
F765D5E0FF6142886632373821EEA024B37604FEAD330949B483E7E9D972B07C
|
||||
DE877A6991218B9992092462F59EE0BE0342BFB7F26E06AEBA3272D61BA95026
|
||||
C1529A435D9F96CBDF8541F91DB2851470B2155C544882D0D0E3990CED8CCF21
|
||||
DC8CD12312EB65A48E085935D2B8C0825027737E7E7256AEB89FCE18436FE4C1
|
||||
234453520F8E5799ABDDF6B0289178E0A5FCE7E0C9EF98983DAD2C27F69AD57A
|
||||
417B9539492F30C6AFFFED9CBDC21EBFFAFDDF1F6E9AA9E312988C6CB380CD82
|
||||
D86224F31FD16D04E2C07016E99B23F59F05D4F0BCC758B4ABF5FBB2101DE03C
|
||||
88F5C6971BC83CD764A2045074C31A8C465047FC28CC7D3CEC16EF29E3DDB8B2
|
||||
61CD29FAB521D6127A792DF0190F2D5F79879A25682A9452C2A04898B1D748FA
|
||||
B1B686CD1F9B706657FC96BAB215E471630F94E6A68741CB3035F04F22FA0779
|
||||
5266634CAD26160BA102705891640B1171D41BDA8F75E482C62CD3A9D3155738
|
||||
1CC4109C167294849466BDC51AB3F640226787E805DCB1A6DDEE253B23E7BDB5
|
||||
BCF49FB392113175211BE07E855AF27EF7E7BACE38AB88C1D9BBFD648CE1A073
|
||||
9305F78663CD67AFFF0881B355661DB7A48D6F427F31E6E0ED530D55CF5FF3BC
|
||||
06D2F4FE5E2CE0ADC23B293C5DEDDC39E5F21DE7E629B7A2333C7B0FC6DFE4BD
|
||||
53FF9F83580668D56E0810CB5830CF84A1E6AE8E4A8CA2EEFED7EDF89A09AD75
|
||||
9D315E5C70A0AF0352BC304808209E9E4EFA27A8A9AFB5ABDACB712E47AF831B
|
||||
7FFE6F3BCEDB86661A9A6B2F515C215276E963997C88E24FFA9593192303C907
|
||||
7E9B2E1096D692024C3B52849BD82E0FB5FA248DC46B457A634194C6BA29F2C2
|
||||
9FEBD559E7CC6A3B5D9256DE1396EB2C635B7A128193EF783CD2ED5F217BB9EE
|
||||
1B2D2377F993BE53ADD197F2F12DCC0576B2B0FD6DCF6784016F36F6BA89B834
|
||||
262D1E024963D39E279479E1D127CA75112BCFE619615EB6C15346EC3A2EDC7E
|
||||
8A342E1FC8B8A61B3D08968C00977A4654F036C4B9353DC2C7500EB8F12A2AFE
|
||||
12491D37A10EBDB0F19409736DA7B62AE9A9E7AE738DA76A63D0CA3C11B997A5
|
||||
B0FD5E8C0FDF9759487B3803280F1036B2DDAD846AA162113E5D2EE94B301A58
|
||||
02911791528309473040FE0F512A7A2FB30508DC2FA0F4B4220147AB7CC4A83B
|
||||
7B7A9313AFEE47127AC66CCA2FD6301D58C27B5C49E4C41785EDF404C5D9DC5A
|
||||
54443FCCB690A5AABB33C7E1874DFE775E39CBA54C3F609065E77D7DB6C34BD2
|
||||
892EC469510256C092AD1A8B70C78D68C2EC211CAD18D3A38D571B7C25B7C465
|
||||
D8F90E80E19392B13899CDE111D7145C7A8DB5B988F54049E5E94BABF539A7C9
|
||||
6AA339CA44B0DB3B406B9F29373A3AE28B5E4544D25D0A4DDBB1EBC9DE4D5854
|
||||
2A0C39158DAA88CCA1C2DE5F9E588A35669FC9CCD6C80251CD95B3B75555C37B
|
||||
19D6E10D1A2EA592D6FFB2A640BE02F00C1A62B5D6B1038C6F13FEF94ED8EEDD
|
||||
BD4B1CE4A61DD41DBE1EB32DD2E98513AC545E9CCDCDC74F8D1293BFC4F81AC9
|
||||
1AAE6611F1F439C52A87C760D08F86D7273EE05569F0D62A88F8C0BA1E6BE645
|
||||
9191D1D39D43C9C3565C972A145E0AA8924FDA038B4600A8FA5DD3CA2DA18863
|
||||
6ED416AC4133D0E96EAB882BD17F1C995D7822A9A6BD20F9589EA1B99317AA71
|
||||
CE08AAD2837F4956C32731CD2895697AA160B039EAE99842AE7C6D562BF0F383
|
||||
5369C8A133D6F3C4BEC8B45911143B9C825F8A3CF4FDCB31B97F48006BE9ADC0
|
||||
11DCFD1AA424D6D4C5F21A2DED6E5E4622BD2D6419F8B097FEDD3BF4806BA6E5
|
||||
5FE67DE62197608351FA7BF17909687B58DC6323356A1560EBA7DAF0DA6C30F1
|
||||
9A1463EB04179802CD3D9393867DC77191ED81B045B924AA3F76809565792135
|
||||
2D24B8E017A7FF8C8991D060E6F3F6137BCCF30B41A14DB349A677C99D2EC6FE
|
||||
591BF5CFFA31098AAA62D88E10E2F9844F3AF63AEDED630B1CDDF6FBD581B5B6
|
||||
98ED711902189716AABEDBE428594FEE3C203BF6764932847474C12B74D9D9E4
|
||||
D18AA4553DC217E0EE86C5CA32398BAAF0955247A1BABCCB62CD3C59798DDC83
|
||||
8D248B6E1E9700E989766503D664AB48809E5339A9FD63C537468075FE34D0C8
|
||||
2124080D8AAC6D82EC06146ECB9625DD1A1885B4A9338596EB6A4082DEF5EBF3
|
||||
AE5ACB49645174BBBC1BC4E64FC4D26469216DFA9C1AB7DDB5364CDBFD50F9E1
|
||||
B837419A5B7C5968048618AC453CA045E37D8A87F01B24D30E1F0B905CB29816
|
||||
DF958C7FCA6E5BC581E76F03D2B2E67E97B974E4EDBFB31C3851ABD18A8B17B9
|
||||
E4ACC739EE9A72EE738F047F5A67C9EE3011E534C363C4604D4C580B7853F659
|
||||
7F769BE90A5E2469258B20F8D4DF10BD4A0B69586CDDA5BD08F6FEC75451386B
|
||||
ED5ABF5489B30D495C24183D6695EC6B7FD554A050A9C7B04D76A783B4346D70
|
||||
62A0A947304D81F35C29001F3E855AA34FA9B0CB1A5DD721247087AC30851702
|
||||
B2484D7F7C488256758D24318903958AB96AE39216AA7252708D7897C3607914
|
||||
DD35B0C862FBB495AFD7AB36FE422BDB7935CE34B6EAF269A7512328D56EBF7E
|
||||
8FB7698BE3946D38365AB6180F139E15E28A52FF40A1C2C42C7D1596C58B654C
|
||||
04E43AE282CE56BECB9F8EE264D062630205BD361AC7385380F7D3BED9B0C26D
|
||||
FC01078D6BBB23C70D32EA798AC9620C60CCBBBCAEF286F52189EE63DF7832EA
|
||||
FECA2C7EF4D2CA56EF45406365330C898FA73415F9A18E877429C9124982EB41
|
||||
FA7159B512FAC6259910A21866470AD9945A0D7FC39D956334A6B30026AA0838
|
||||
43E3369BC9C743BE3C29512D49EE3551933CFD29658AA3A2B41E265A68152B9E
|
||||
6E5ED231DA1EB9C36392ED8C2692FB9E316E96AB83806D72FC1B4C6354E85149
|
||||
2655F669F44E49C4110ABFE8F0FEC7821B388436C99C33B203ABADB40729CE97
|
||||
A804BCDE32480ACEF760580E7BF94CE28077555F3FC58CAB8048E7CD891A5BA0
|
||||
F09AE7E90C64E0374565DF7E03DFEA10198B742BA58CD7969E2EAEEC8311613A
|
||||
A9092E53147729A4C32B4ACA7AB77A9E01EFF4F294C601A79A3276917682A345
|
||||
0A52DFC61AB6E5D3CD6D989BDD8ADCF02272E4A1633B2939158434BD7D168975
|
||||
96A85A09BDAA86DC5BCF2088672B5217E87449DA42F66464B49926AC4A047BED
|
||||
14023EB87BD154073A163DECD7F6380F38C52BFDADE187DA6A92DDED2E4724F5
|
||||
D2E58CE99686D259A4269DA7275AE3F43DDF42593750405108575A5037B2F912
|
||||
F18584CBD9FE3EF6935CCB5E081982DEC072F7FD6B55FF962D84373CB0F8C0E7
|
||||
C990834B6B64934C646AE5929BFFE0609739EC2691048AE17FD884009B975CAB
|
||||
43C38008EC1893931947B846F7BD5B2B4D20AFFCB1270A27D32CC9E673AC0D26
|
||||
E3AC2BA7EF1A4A1A823B14DC8E25745EADF916F0EE3EBA79CB75FC17AFFFA614
|
||||
F570D732E4C7CA6F52B3C3A1CC726DBD1CE3E808
|
||||
415687CEFCE35F8A1BBB0C18AE4A8ABA688D2F3894B5654AB7AD595E02221090
|
||||
2BB6DBA4C0F57B6505E06154D2FD2B4867047BA56876080E6355F74A94B6110E
|
||||
519BDFCCE8B1591398350C973E52643947FF0DDF1EF1D5BDC2CB548691337378
|
||||
CF13E83C7724774281EBCCD04A9A6193DFCAA31067CCDD98444C705CDFC58F57
|
||||
51343E8EEF46E9B779B89D59ABE35BAB4F08719816215E434BEB69263F40E144
|
||||
B30D52B749F3B66A9147F225777BC69BB72A12C96852AB90629CB453EC8BEF3D
|
||||
62FD39F7DFF6F9466E98EB42D718EC3F40773D76EFB2FF4E7261C3C64A4C937E
|
||||
823F633F19C6F58F4BD5E0EF012ECBECC797680A1B862AED6A1DFFD252155E20
|
||||
57E8B6B0156FEED1987931DE5EF1CA6D3B580BEAF56C71D8A2385481CFF22E6E
|
||||
7B6D2FB8F139B5FC183BF5FA5E1ECADE0C78F6F43F37AF77F228E6E41B98142C
|
||||
085427FF927194E7BE2B84ECCA36BA40DD7EDB158D3DA6109F4668FD12AB988B
|
||||
0D65E1E14C092F865452DC646E0C246376ACA12C01F17D714A4DB87EDE98B6C3
|
||||
60E5A0F414813EF3392168D164463CDB5D55CE2862008ED4FD65F113195E5CE8
|
||||
854F473644A50DAAC5D39A3E10D690ECEE89CABBFA93D2B91F4116FAB704797C
|
||||
C8397FDDC9F364013CDCAE9E9704B1DE28E2CD476AF57C3A30460AF14634C05E
|
||||
7F1F232F563BFE0C7C3D669700A38A4752AE88BB814DFD08B40E9E7F8BFA0252
|
||||
177405ECFE96FC249A6F1B530AF5CF106E21EFE0AC0729C36385E022BBA827F1
|
||||
68C11A91E90CA1472AB5767F14821E8FE5E32C7DB4A88FB64E746187CEF23FCE
|
||||
C499D2472AF392EBB6F79F714AC991F390769C25DC58D364147D868AC08DD739
|
||||
FA4602613467E3F2B04ECCCD12333F55D80BA4132883B2498D652E61D4E0096C
|
||||
B5193FA063E5C4131397D76C9656CE31CDC41D24C17F3208971BB853FDCB3F62
|
||||
B3CC083E6D9682CACA448112C84C0FC9FB19C8AB13E0C33EDFEC2A4CC16AB125
|
||||
044C048B65011725D34571D9C235736B61A485F7FF0835C7294A6FF2E48194F1
|
||||
8FFF4C5A055091AFF95E674F9CD2E43ECCA77F4876B5B50A1D5B38319D594246
|
||||
CCA3CD4F81AB3CE49B648FB21F0959801B814422D31DA4F7C3581032F8310E76
|
||||
95660ABF1A1DB536081F61FBB83AE5C8B47A9E0575FC475754DEC3689B28582C
|
||||
016062AA7AA63EE703DBC73ACCB5316DC3A12A2B7926D132D5B463B01452B475
|
||||
51862ED934A55F3DEB560FE2CAC39909C99CBDCA1F7239D122D9FFDE76D90D8E
|
||||
0576A645714E190BE1938E8A9EF1E4E5C55AC58899C2ED571F246A612EB73EBD
|
||||
24B76697C6A4FFDF1447CA182096A771B26788DD9456E0DD04C83119B0E1D0C7
|
||||
3C4323F13AC8786BF2B89F3759180E58AA599D2F981FE280E82768C0E3ABBBA7
|
||||
CC14B6521FE6179CDD5EFD68E9BDC2F53B5D6C25155564176618EA019D0BA472
|
||||
76C553A27871443019F43AE1B1B898AAFE70EA1F274C57582E70719AF3A53597
|
||||
1E88D7603DC99E5113062024B63E9BE65CE676E4F61DDB8F77E40C47A8F7D6A8
|
||||
2590664A97ED1D14547FCBED2C7E37BC09558954D4E3B93DFC48E504BCCE7865
|
||||
E44F4C479A27F3BCF551203BB51F443630B06F3D75D24EE7478B1AF78130174F
|
||||
FCE0B804DBCE20F62989ECD03A0CC1A42A1F7FBB673EED9E93E1B36D6E3E9905
|
||||
24E71A3391786905FFF7A2B56FC23AE64D4478D25ECDFAE9235606EEDC854E62
|
||||
F2EE5F50849138DE28C569D08961EACE1E6AA1787825B0706C532ABE724AD9D9
|
||||
87B1F459B0197A9F2B8002686E814BC91A91DEC9C0BE90F3F76242E3709228E3
|
||||
DE8116E7138751A8854E8A515BBA1E0F8A16C77BFABB6562601B85E1497E6E82
|
||||
AE4B8688DD6FDEFCD53226058BC6923EE68A195F375DC42448DD39905439A38D
|
||||
1B61CC01CEF9D2618F72E05E018A9E83AB1BACA13D1FAEE362F60C2E00523558
|
||||
E801B3BC8F79E4079D10627DAC3EE837B39337BFA4FCCE26FFAE8B9AAD60B710
|
||||
0BDDAADC236257D1DC9A7C41F83EE6F44573A357A3A1820D03685C919D80293C
|
||||
1276AAB97166B2D0D82D1045075648ACCA7933FF2B68F7584DA6E78899F0F5C2
|
||||
247A46AD8162A61671A1B633DF24EBFCC985C029223B98362431118BD6ADFAE5
|
||||
61A8C91E79306D1E3D4DFA5073C6BAB2DD04D441418B47015A7A0F21DA1C1B8C
|
||||
0E9B5DAF91CDCB69F86B62B4C003BE88B4DAE2D5F9DC00FEA9D3136B7EBF92E2
|
||||
7AD8617DEEEE72E869E2483548B56B90BC88F8E767676341B45FD0C000B8E080
|
||||
42CC156B75ABFA7026D54B31FFE73D285A2330C7698727BCA6511F8C404994EB
|
||||
8C8D437CB593291E8816FFFE3E4BD7BAADA3CB009982EC7F0192C5429FF37D2A
|
||||
AC8DD62D454A8B50857804BDB8EBA7347902EEDCB394FF153503E77174D71439
|
||||
A57D9941E1EC82D2CC49847933FF387BC7EC6E730BA6EFE48A9BB5B1A6785DCC
|
||||
AD7A9557FF402D8AF864E0FAEB0AAAE4C93243F3E6C550A18047F2CB9AB57FAC
|
||||
CE3F57FA2072D37763FB32172C2908B152948BE21051D26715C9326B858D538C
|
||||
B9C8A6DDF567C6DC6E7DBFE7CFD29A498490AC16D964B1FC1FD81B95735A5E3B
|
||||
03CE325D2138969138F3B6CB027E54C987E4C81E52EFA77A824B40F71B2EA2CC
|
||||
E98F2AB61546E4BFADE41731E48D6EE82C19257DD9FFF78CF3D01A2055863099
|
||||
21C06567DF3F852DC96838488CBB41D5D587BAC66C9586F093E493E1EFA65260
|
||||
9B9F0148227A5D3F69FFF499675F0A52EF0615E8272825E69D0D8496CAD940CA
|
||||
93655503DA72D62D8D35C6E25337ADF834198C750910461C25965925D0DEF604
|
||||
844C1257BFF739EAD0918630473F5B9E88A5AB0417815239189E0738A1134655
|
||||
DCF9B009A68120E823B23C770F7AD7C0A11EBE9962D3F14940C8D2C1A7295F63
|
||||
908BD22A418F4E8F81526FC827CBA16BA143050278D4F2FECBBFAFD3DC8003F8
|
||||
81FD27C56330B33BEBA0EFEF1F0384C45756B1A74339E232873504E55DB50E3B
|
||||
59A2CA167D209142C1ED6029313C73B7D83B0E22B1410C01519206795FA33F63
|
||||
C88A326500EB96700A24A434382BEEA0D0692E12E3AC72D568AA0133B0CCCF70
|
||||
C34C979B31975536089EA02286AC17FAC1CC980FDB0BA382F7755602DCB18CEA
|
||||
C862957FD6DA71D7180B3AFA8851458B5DA45DD8C5336E7033F4E957CFC2C08D
|
||||
1B3F550A219034ACFE7353BDB815B7B65BAF0F947BFC3C5E47AAB9FEE752B938
|
||||
34F5E6AADE58FD6F827B0649DB56F21097A780F57E253AA57CA6D5C97AB407B8
|
||||
8646B1652557344AB12A962D745016BF5E3E712E56520A30D2D4725FA67B2AC4
|
||||
8E331D28063727F0DCB494D6DE60F01FC86DD340EB5C8201CEE5C83B141A6FF9
|
||||
72974B88E35BE6061626D570539AB1BA69183EBD64FEDDE0E3C8221A5190DA08
|
||||
58853CB53920A109561473A0E0A3E6C89E66F9A5372483CDF9CB9F05F6AD5AD1
|
||||
F673B2DB23090B73C08E0D914366AFF8190366111E0504E11A1B123E2E752B75
|
||||
90728C69D7FBCCFD6411CBE4AF4734CD67F4F4CF231F38F4A2085C9896C5CE05
|
||||
8DC64395C62FDFB3ED92FBF66451DA41385E35FF0E0B381DCEBAF01CB9550679
|
||||
A0B3016A0E6CAC3E9C9B6FCDD0991B3AD4DB08B899A321FB78EE4205A0440285
|
||||
BE7D4AECB70BF2574EFD1A8E715AF68DC99E30DE8233C557AA120584199A80EB
|
||||
BCABC03A01AAEF4259F4740D3E217288BBDD85F690BFF141CAD097B6E7353364
|
||||
CE25F9818D743CE61A3EC151B120462A411332FE32F279F7BE76014AC2BF7C44
|
||||
C9B2E6A156F4F63C2522470963BF1FE855AD6A083349BAE5A077AE1381F0E264
|
||||
4F3CC894E16A0B1E5195B66CB83F0904E3C9C3154E87231CFF119A00165C4338
|
||||
7EBE20D9F9F7E73AE9DBFF5A5B25E241A52C180843852748415EB5F040B38D59
|
||||
FA08110F79D73ABDF3AABCB1A95933E7A56120D63B473ACA80B80769638ED878
|
||||
0E0513D8134962A1C350712424910E4528AB2C27F805E73D0C204B94809C5872
|
||||
DE2B60DB49C7414001AE889875E6FE43F8D3BDE20EA92F4B92F9E9077F96987A
|
||||
FAF2EF0CE7FD75387CC8E98CCEC81F1EC31955098C66936CFAC4200A7896B245
|
||||
CD57EE8BFF38CF671576240C466CD5AE235E46DDA8825C72619AD25EBD9B4D20
|
||||
B0DBC776CFB8E8F988903E59573D77D9CD6AC5CA6447323B9B6B9D4EA9C975A6
|
||||
CAC725E12C3B10BD7D38BED398F49D132D850B737979658BE3D6585D63052366
|
||||
255234F4A3A6CFA9E1B1CA462CD6FBFE67F8B02E7988BD6C81AECB1396AFB4C9
|
||||
6CF9F41A9426D1AE18A3CA08062CD08FF430935081B48EF4FF53093B1BD25B15
|
||||
13B8F3207B3F5AF6788364DD45853A1ABB21E67848184228238C7290ECDD5B6F
|
||||
6A755FCA9D9422FB325FC74A8831C33F053DED1525FC298DCFA03F382FE259CB
|
||||
6DA17A718CFBC755A5EA1B46AACB7C5882B341D01EF761625804C83A2073E41E
|
||||
C1B47DF7037677D53BEBB9D1EBCE59E1D10E68C4E4BC9972443FFDE127B6A7AC
|
||||
0ACA3D597FD27904183920B6050DF7F6D2B6EFF4FDE0BF73863020BD00C03803
|
||||
DF70E829030D042FF85E288550BA31479A53EA746760D4D330EF65A9CD017EB4
|
||||
75528EDC8F9D527098258D7C89A642333C73CEB113F80D3D507E0D7E62BECEC5
|
||||
C63C8545A01F94E2ED182472AA6AC86864E3725C31930B0ED0B8AE8AC33FE5D2
|
||||
5A2AADDCECA9877DBBB9CBDD7255F5AE1F0D64A399447AAECAC3360D77BB85D0
|
||||
49988DF9FD104F31917A03ED7C3319CD51EF4DE19D7EAA3292DD8D1BE8A729AF
|
||||
ED576D7D298EEF456B4E252B9057A8186328ADAFE674FD28936FA4A66AA8CEFE
|
||||
FD75A180F88B56FF34C353EA48E19D94BD98B0BD330A06D2FDE75D950EED3A61
|
||||
ED046D38B86429EAD3C8FD076BBF224F97A07EB96DF43027A1F3C841080B08D9
|
||||
90669E035C80E052EF8C209097AC6C1EA442E6E553055D659573CC1764866C76
|
||||
4A998871A49FE54F852DC81C19EB833DCB827C4FFEA4203C1539FB6057006EFC
|
||||
8C9FAAF9E4676EA22CAC6907105292F59169E0690CAAC7C5D71E6CA25220BB09
|
||||
6B815EE86C14BB4FC2EB5F684E96A5A23813F0979D07990723861939EA40A6A8
|
||||
B6B360F5DB0062A426036CEF16485B4BBB0A18056E8BEA923884EB5876F82A90
|
||||
F9B175F1F9C0DEAC73DBF7A8B8B735C271CCB85181FA5007706E31D349571B9B
|
||||
C876251A0DEB34DB2715CD37B5F38CE8D5AF46C338C98B70FF11535D355ACFC7
|
||||
9107738B8907A52BEEE7EF642593D486EE15CEA7D17328F58D2C453FFC9D5422
|
||||
35084974E464ADD547B26F3FA94988DF0B1F36ECD048D41C8459A258698DA53A
|
||||
B71546604E7EBACAD7A9A949451A5841B3CBFC65E818B6923003CC9CB2D0EE17
|
||||
54DB8F558DA7CC3E5678CA5F2317A0713B8CA73D4B4F555BF5CB00410B7CAC34
|
||||
C862B645F311E814A23F60810162C6E7FCC2830ABE3BEF1F60975F1ADEE9174A
|
||||
82E67ADFEAF665F4DEB6EFA2A12F2A44AFF5D5B73FE036AF2BDC271E44E5C119
|
||||
F3165F00248C3CFBE900A4D925B9E99BD7B72549DA2E26BDDAA760936F7D056E
|
||||
16214EFC4BF143588FDC9195389359F05FB38B07FA192895B5482BC16DA48FB2
|
||||
675F45BE53D1FD413192E344AE1B8D4D34B6DE4BD2C5F0CCAC25D8C416E82FF4
|
||||
8DD67C02CE58BE6C1411750195A6FC57186BA2A501D9E94E55B99435FF0B80A9
|
||||
468ABE2014EB30AADC5512550BCC194B2654CF439E669779FFA2D0D956B02311
|
||||
9A7C15A34D3EB890D1971307E85CF10C316A560454ABEFE5B9E4BF9E12D2C18B
|
||||
D42ABCC8A9E848028BE311B0315E3EF2DA66F87C0204D62172F3DA5392489B4D
|
||||
6DE4005E73F3C7CA198F6EAF1359C7B41E0A9B6A1D4E5BA635A376157910521D
|
||||
516AD8BF7275725C81D75D553D6C45807422C979E85896967933C80B693FAFDD
|
||||
7A0BF5CFD1CB0C19CB60517BC725F5B5AE16D38E9878CC4B80B5CA95C942E6FC
|
||||
2DABE3617E5CF76CC6CD83F257E7B7B746D164A26B451D400C8177946FA447EE
|
||||
6A68C961E78DFBC76DF68AEBD9E1061DC729088E4C2FE68DB331A031B42BFB26
|
||||
14045F941615EA0D1ADB1F7672FF6726AC59AF4835115B14ADB0C6422BAE128B
|
||||
956F8AA6F35773757D13EF82C640F1D79E7904AE638958A63F8D4B48534B6758
|
||||
EE840A51857C852EB04680C6B5789D0EF46178A02801CDE990D2C1689B7FCA63
|
||||
D3F3953340DBFDCA3FEDE5F026F0C15EB43848B78A6C2D6C01231FDDDC0A67CF
|
||||
AF1C673B95370C4FB888B551BC360762DB048D91F614A764E9EB618111122664
|
||||
C33BDDA6C8996B8B85A3583C5661B5B66B8222B46325F6244E0323B3B3EEE469
|
||||
433F262863585D54DF1F11AEF52C2114CB0AFCDCD2AF7C6C7ED155B1F58B84C1
|
||||
AB11520AB2D62C3DECDD638D83E42195B8315BCB37C1A7A0BE6BA1274AC9C4FB
|
||||
FB9647197DED96DD50FBDFE9E46050400B78F04744E687ED5F51DCD04067DACB
|
||||
E4299E7EEC824DEBE6D165C463B920A4BBD08EC3554F4CEE40F044529AA8F059
|
||||
81AEC16191D42BCE549DC373DC8252D8AB83C4512BCB4FDF83603D629B26E302
|
||||
A49E90B234503D5622FFB038E8EA2CE5794FA2E97E80FE5231ECE372A35DB9B5
|
||||
D7D86AC8B690635AC11789940493C7D37934E2FDF8F56433824C7F2AAFA357D4
|
||||
6952E877C901139D1F68F379DE71A51C0F7EAA3272A412744C52F9782DAFA97B
|
||||
8A753144988536ADAE7964B6E7D63191C1C521DCB90656DD8AF540C67D30B644
|
||||
048B0CC17F54090F1CAE35B59F190BDC2A473BA8BBAC2D8E4004E6BFB02FE922
|
||||
849F6DE710ABDE45BF0CBCC91EA5FE97806C059617D5EB64FBBEDBC570A39F5C
|
||||
DB4C9E35F3C57E6693196066843B53DF3633C3E44F4A3857DEE327121DFB0BF6
|
||||
3CFA4F3FD2EE79DE54ED1E66168B6718F0DB0EAE4B0387AC2D680E60BAE49478
|
||||
0D89683C04CF89CB5B22CA2A5B4F56827388AEC1263EC0E0918E12E26834FF3D
|
||||
E53BF07C6670109AC0236F4676C014782B9AB4C139499A0E72A8FF6101A39F5B
|
||||
99B33D6EF20B9A959159EC1BDFE1AAC8846352DE5B3B29137A34E8ACD5883FD9
|
||||
56F140D6BF3A66A4E2B547CF555DBAA3C8A04E2616873C76AD8E0257C8224EA9
|
||||
5EF69C5EE5BBA0D9DAA564EE3648A3F19AC70652EF6B2529D87E11FF3102A846
|
||||
4AB88679CF80547A3D94A2EFFAC31005CAB09BEF2B9D20B5AEB4FA1882126B62
|
||||
B7C151CE7A504381B3E24EE88FC789B0ED87A13A3A04AB0742940DEEB24B5D3D
|
||||
75FDCDA9B817FA318C932E9397E4E4011714EA81D69717F21470ABA8BA20DDDD
|
||||
A9ECF00C6804214BC82B20C91A445C6B0B5158F57315CF1939539F6A2FFEF426
|
||||
E493FCF410E5D576AF15B178E77E65B79328A79ECC7A681C6C8585EFCE1DC079
|
||||
C0F140D40EC95B468564DE0BAFA0EB3E70BE89797146F56B7BE9A4B7BF3E5B8F
|
||||
BCECD50A1793FCE65EBA1E335247E3964BE095810964326D580CF2F26133A799
|
||||
1A078D83BD6E550812CC56CF295A1E6545B339440A1D3392866B9E4500428130
|
||||
E42B64F1E4824FB0D785F787C7A0515DD39678008950E25564E3E148190F8C30
|
||||
922D719A29798C3C120EEDD5BC0F4C321F82C08761E68D8400993655CEB31839
|
||||
A98154FE243670B464AC40BAD7F18893F517A09D7EB5CB30CAD9ADF62DF7D9DA
|
||||
5F60EC004A9B9A49DD43005B66E05EDEDBCD49B94DCA88E91F6D359ECF19FC2D
|
||||
660EEDB26CD608D0B2E0867633CF353F16804E2E8155C9DF6B6FEEEB2CE1FEF0
|
||||
9492C875FDDA09F81D8266766E6CE28199D1EA777FF67F71F3F7BEB60A2DEF9E
|
||||
68B059FB0135812071176E44A70C38A3FA80648225631B16B17D683343313F52
|
||||
810F6E7D60BB7C895317C6C0A93289B1A29E6D221E55BE350547FD775CE2F77F
|
||||
94ACA7430811E849E86F87C4913D04E15B704A8059C9F4E9B15EB1F32F081F19
|
||||
49255ABA9890AE20DEF0BCEB216B5372DE32AED9577FFD9E06
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
|
|
@ -2033,273 +2031,271 @@ A208ED52A9684A802003AAD6D9FCD5A3CF635FCC938931CB94C751212CCCDA6E
|
|||
6EAD4AEF60B83DB1E356D7B6844375FB3AAA0389F56D070F426C759ECD2F970B
|
||||
2E65032797BEE2FFDD78CF0B7C9684F6EB8FAAB6502F4676CA8F23D37CC4D4A3
|
||||
42EFDCFAC381E4B95D63E26FAC8DC58232288CDF0A98F076816242E68A3C3189
|
||||
8EA28401139ED158D704F62F79ED030B0B8C6FDF57D79CB24D633DAEA4D152F2
|
||||
6D841A03E07789BCC6FE50E341EBB0E62D9A727C6A55256893D89562240BE250
|
||||
43EB09EAEB3C19F1BCB4319DC85CE4FA356D25386C9646BE83B51DECCADDF627
|
||||
32DEFB64DC618A9506F372828A3B615E63CB685AF64E199532C3AA540A6B628A
|
||||
8E4019355DCBF124E438AEA613E35D755F8B9263861A63966743FB7DF52F2F08
|
||||
2D4337B8ECB52EF7E09311A5FF7C40E608E68B9D0A764F83A294E3439CED09CA
|
||||
CEE4EFE17CAAC95C323E51B205DA84CA8C17260D7643DA0DC0222A5A6F192602
|
||||
B240ADCCCEB494EAAA6DD3961D0A5B697A1754C77FFBFB45305B72C533D6D506
|
||||
6ED9C0E158AC4CC72F1CE4D70D35EE49FB5997BC93CA764B7CDBDC0DED90A276
|
||||
5B7333DDA2EA5CB20696DBC572D77DD5847752A7181DFB4D862B7454DF10893B
|
||||
B41B2D30036A20BFAC047CA6E78118C1B59AAE1A36938CE018105478260C91BA
|
||||
84F8CE3EFEC29EBDECD0C1D65AC7DE83B2A6210BD2D535EB78471375A03ED62D
|
||||
7AAB24E7E940B021B6772D2C74C662E78F25782F00C956F49C078246D3D5D230
|
||||
BACC06F32A5804C4984FE5F40D53A21710435E43A9D178AE305C052A44773E2E
|
||||
018175E9B6D0A6F856179DDF4B66B9B6C02080BFD3F79821CFF92F44F7900367
|
||||
F43EB4BD305740DF903D212B00B44DB51718D40A186D0CF87CFAE417FD957611
|
||||
5314E281183E04CC0218AAA77C267AFD4A0D4E1908A1D60E1005B33EB5EE5047
|
||||
BACDB817380466BF1D084140E623402D174A0810BC2447BB2A0B7A1C1E4EADDE
|
||||
04EB1432A994D12446064F3F08CF3FA1D62CC361EB1B8D956CE12255C12C35FD
|
||||
A0528F3C74A333C3409E138A551D2E2351DB44BC0F1F6CA6454E3A64B2A74659
|
||||
A7CCE55CDEB071FD94B4D166E17F3640DDE2B3D5633E3AD8CA18F0C6776BC247
|
||||
263AE4E046077DC73D5E9C7117AA1B8A823B5A18A64004329F47379B050597D1
|
||||
0D3925A3E59D630C1E88EC5A6B61BB696635B48A65D000820B4AB15C11F43A1D
|
||||
028C5667E750A6875650883B6DD72A783280772EBF55A6E08814DF09D8047CE2
|
||||
BAF5498D4F567FCED475372BDD73DFDA5911FCC6B32ACE95DF38900BED5747CA
|
||||
4880693640008D4298EBF2C9C053B38C821A244367331EC78BAD53EAC16D358E
|
||||
94F1BCC39C05B61A8347E4B69B19941B320271FCE6E415FB14352587A929077F
|
||||
9DC65C455A76B8C2F5E7FBBD0437EC17134242D3BB13B0722C6B197C54E5EAD8
|
||||
18AF5887986C7895294E4E810EA9BC21D29E2CED5C82BAFA33FE5058F3F252A2
|
||||
C1C2F313872048F8D2EADE51B5A94290094085F43D81ED74DE3EFE8AE9DEA7EA
|
||||
49F466F7F133F2C82D656523B407797A61B8C9982D5B60293EB7F18A2085E1EF
|
||||
7C1F60A8A438314F0388F722ACFCE55195C1F3F1E17159845941589928BEC56A
|
||||
F31ED3C2218CDE188A3B55D17FF605E05D8AE1065CAC7B135A1E6B54EC841644
|
||||
B430A21C8B0ACAF85204A564E57FE3AAC1A4B8E8D1CFBA68852D39C4A3159DC4
|
||||
605EDF016558176CF811F7591977490B3C21A1E4A79D27E5D76310FCBD435C95
|
||||
40F95C34771663015DF949A64B171F229F83025C0A907965DD988A0F2A75E8E1
|
||||
1B498406159A0C332949577D32E1545FA3401879F05329982C72A203D7652CE6
|
||||
5AD49FF99AA463047C93F56DE4916158EED499FD7073823BC5324BC00191B24E
|
||||
456D1A93FBF6E6137B4AA3A773047072021F8C20E9A553879C60A54774A9E845
|
||||
BBE9DB5D253F61EA096DDFCD8F321B74465B604BF3AD557CD20E6F1C7B0169BF
|
||||
B37105EDBC8FDBF1E3DB5554775E475DD3AC4F88DF0D72CDA441C04A0CC47526
|
||||
7A35680041E78C0B8CE7A54540D591DF9CC8164EA3A3C7C871B029AF99DC0DE2
|
||||
E994E863765F9D907EF27DBB707E9EA1CB479E1AAC73F741E9EF0AA96F8455CD
|
||||
0084F105227A5A3B6E066C5487FC956CDCC0E8D1F6B92E8E0F54EBDA69C7DE9B
|
||||
A63EA7FC5C969185D72362A6EA294E30DE8E13CB701C90EF7E13250B34545B30
|
||||
CA046BA19A488FE9FB27C7FB9B7A6017F78D2B8E9C5ACDA576801381F6B2C435
|
||||
DA1B205A4041A7C1E0B55B44E71AB130A11713DA2D971D2FDD1416AD86412604
|
||||
6E65D39D7D77732E6B42910C85FCDCB473E5F2ED159F9AF583CA21C4AE230D63
|
||||
607222B23A1E413A671F55E6B71B1F772F9EED06CBD5F299D033DAC93F80330D
|
||||
3E3CAD7850FDAE6EF00E1E1D02395CA135829FC65A6B8CC95537DCD7AB804425
|
||||
2172752ADC751F0CCE122C7A470CF445FF92D6DDBA43E0903AF9EBDDF94DEA18
|
||||
679567FD8A7E78DCF94B26D5C2E4E46BDF150D67032545A5DCA2EA06E49BA763
|
||||
D5531360293B0AF7D83A7706D82C730B97D78FD494E47502CAA1125B1AEE7093
|
||||
129C7BB9DC79AFCF1F08E8157A50AEA2CDB077806133548C9159D1C5B8EDA8BA
|
||||
8FC4E14051F42AD4217EB631A846394CE942C16A2B2FA617701CB3403ACB7AED
|
||||
1B0BDF2F56B65F14BD2D3D4860AFA59D61709D1AEE9388B04E40B7F6D1878293
|
||||
9D828F81DB610843ED5306632A99A23E11D00A53B46660E6AE8BD5DB9284BDB5
|
||||
BF5F5118DEF0585FB46364C7F0CA697C43712C8A366F717D600D56B3B5162E98
|
||||
24EA12C92C8831414F54DA383B358AEC3E312C456EF0DBD70E81819DDC2F00FA
|
||||
B3E1EDE9C4610F5E51D0F4E0EAD5508BA97AC5D6EB5F16D2927633A7E92D521C
|
||||
E9C34D91D69C5273E3B591E8E9732EC02FFCE392AA2093A154A8AF4323BE07A3
|
||||
ED6E4E2A0FC7CE95E879AC41D515014E54913E3B68D83FD3C621F400CF93F9D0
|
||||
2308DEB63797130B1C9FCB29ED6FD1BB8E140178CE267192E5D2830DFEA98831
|
||||
500EB89845F0D6B47BD87958CA500896A1AAB34AB6AE1568D0CFF85766CA1B78
|
||||
AA828FDD1B699828832ECE7E48B2AD702109B72781640C7CFA52E0A490C22A36
|
||||
D106F18CBC5B629C61A3FAFEA54946A2BF98133683FEA93C17499CC8621F9395
|
||||
D169358AF2C2D4F9008954E5DCE465E1F2333CB65DFD554052D49E268677B602
|
||||
7D064A95B1B2AF7F6B4F223D772C88201A835A934465139DAE6AE837F6F653F0
|
||||
60CCE5FAF8FE9A6198294771724BE20A20E3A65BA23F34B59310154F54730941
|
||||
C39D3D438F2DAB828172F68A16CAB5A3D1EAFD41A982C8D7DA0438146625CD88
|
||||
A0D3264A1C4947B2ADD5B320B982C12D1AA4C45334CA821177EA18F2ECFCA050
|
||||
11577526AE45DB0C4E2D11F9470954AB14BDCE0F921097A6B73239B8E11CF61D
|
||||
D2A41C16C8286A4D5C1E4F90CA103203CD2361C983593BE6CDF6E1A93E15AD93
|
||||
CB4B66C51F0BB708EC26CDE3E413FD5F14100A0402D1FFEFEF92A3060C8178EE
|
||||
B7448BBA900476F1ABFAB06478ADB9D426FF04604A4C7881D96A7B66E6BBDA4C
|
||||
B828F046F5307345354D8DEF36543281AEEDE1407F9ED00D55BF3A7808D26422
|
||||
C26DF7CF6880111F52D0E884D8ADAB5B8CAE44DB6F4C4A7BD6D4B29C69DBE0E5
|
||||
8EE2F7FF6AA30BFFCEB9A6AF4909FFCD80F68EA11E2AFD247257D1C1ADC14E5B
|
||||
FB18ADDEDA37AC39B95906EF8F5531011BC351B19A7D7056F90FA1FA0228634C
|
||||
3C353A19539F78EFF72152E1A83C40F705923605DD4E3AC3801CCDFC3393B665
|
||||
9BD2334180424290256C383F229AB6062D3732B8E3497E8E413AC1CB5896016D
|
||||
9333B7610D3899BE52FFC49A2F24A7E9BA277C46D1B53763CAB0FC8076E3C0B8
|
||||
AA329CB6D9BC4714891C766F4E7B1DB3C17E34CECA89CA084DEA904227976419
|
||||
E93940D4F773C28FBFB771CF206D857168C3C9200A1EDF3281465F4AA3639250
|
||||
8167B6839466831D66D7AC762F1F4138A5DC4940AB4A908CCD022D37541E02F2
|
||||
DD976E727A9AD36DAFC65FE440D4A9EDDC5434E7E60431C6F65F1EEA1FC2381F
|
||||
A9CE5E6AFF4187EA3C03FF68AA552410675D55E321DE3073638EAAE12F9F164E
|
||||
0206CD106458EB6E1AABEDC21E93DF33D4FE77F168CB5E2F7051077EE345377B
|
||||
1AFF83007A866E86A3AB71D96C5264A524F367C5C94BC3C13FA63ADCFD3A0612
|
||||
2D384E8622C0FE2FD6F3BCD97276EC66DD3A348AED1049958516168712F7605B
|
||||
4A0935B2526A6F2107AC9CCE157823E0476798790426C029B64ACD8152ABA13F
|
||||
0B977FAA390FC397E5181B37B9A67FF72A8FCA83EA399DD2F3D9ED076F26EF5F
|
||||
871FBBA26AFA0B83ECEC1DDCEB5A543DFB395314F32D0096520F3F03FD4C242C
|
||||
9B089D84E46A62875DA88811CA1DE61E898698219EBD5C3E240A513261BC4046
|
||||
9563C6B3376ADD56C10A01080326DE260F58DC1C247F6B37C77031E58E2B62FB
|
||||
07D1A560A187EB97D93214211D3EA4CE098C306985199C98F289CC14C15C24D0
|
||||
1E1B27B4626D8B877FABF9935EEBE37E5EE2FDF544E9262A4CE1748EBC50D690
|
||||
C6C58846736684482C5BE0585115BA020984571C5FD3A6787E8F5B76E9AF4258
|
||||
97BDB1937C7E482C1080639007A1F6C06993A8C168DE54FAF48E2C5BAB7CF01A
|
||||
521A043B69C656EC17B10AE310F5768979A6CADC836CC10A5C842728BFDA4BF6
|
||||
D5D836EE57B49D8D42DD26FC15E13ABDF58043CF6AF5969374914DCAF4DAA415
|
||||
42D24BB29521E29CC2AE3113ACE9098A954D9A43FF36E5EC12655E49EA8118D8
|
||||
009CC243141EB69112E5F93C313A095946067DAD6662E69E12EAD6D803E3F2D0
|
||||
9FD1095FF7E1449744882D2CB4184727FBEAECF87BAD52DC5855FB3D0CEC065F
|
||||
F93D86608522082CE33EE38BCA76DE948931334A7D66E306EE3F6A95EE28D40C
|
||||
B79C62A848E44D7ED27BDE438054CEE3478F64F5BA9F4AB828BDC228BF616F70
|
||||
7F589760B6CB6C66558ED8F3518D283AD8950B75C8304983D0E597FD8C9FB30A
|
||||
3BBBE79820E68B547A5398BE7BFB4FF9EEEBA6584275FD4E328698746763C356
|
||||
FCE94EA9CC2768AE4C6261F623755646EF15421A73870578EDEDD6ACA608FEE7
|
||||
9E3DBC12CA6A25D6C1F8628865A7A737FD13780372E1423D7B079B5360CD1A42
|
||||
0C94CFA4A5E6E812C149BDBF6A94D99D55AF61182BF43AA9DE6FF801C1524E4B
|
||||
1727815484C92F8E63C2D9C716ECE1C0451ACD62832F349D6E8D2C1F9646B6BF
|
||||
2B82352E14ADDC6EB1DAAD0F46D852ACE0AD78F638F491FEC7E5C70BCAC41305
|
||||
5FA3E5018BCA8CA62C412C6304C6330D020CEA9AF60ED5964B907EBF65634B11
|
||||
7D2CB6A25CFA843BE865A82D50FCFF7F94E47580E7DB88CD060FD149FC0C1EA6
|
||||
F174D407FE7CA377967ADACC5B876233ECD2601036F87D8CAEC8320D70C5EC06
|
||||
42E62EF1A2A2033B8DCEB7DDC4D8E94264EDC2AD8E3C4D1B8BAB34572312F5DD
|
||||
EBD34F74EB83A5AA8FEC51E663E1F104EDBA38469DD49EFEECDEA2BE7DF7C8DC
|
||||
9E424CB30B135335FB2F128DAB2EFE900F7CE6B401615B0DFCE70D4C22F51F60
|
||||
0F5247A261CEBD55B6716A36ED3ED2BC4C1DF2E1A4D63EF5C9F3D17C1C8DABA6
|
||||
CC2D06C252D21BC288020D51D1343CD2531DC71AF1195F535B2228708B03E63B
|
||||
59EDB01D4BB609798EB0EC74A72837B34D5351CC617F6403E9F5465A299613A2
|
||||
2137C6DDA812F6326840FF7616CF323AAF43203742783E5570EB4FC228C93ACA
|
||||
46C3FC78BEC83A655B48CBA55D337728A2DD0DEEF346338C1ABDAEE2A56F6C3E
|
||||
784ED1742B242052224E4EB5FC583F238807A119E78C9B290645B516EF931BC5
|
||||
598A64FCD9BD82A5D1D4CE3F01C5A08B12147B0128C712612FBCD7E485603AFB
|
||||
769B6A6829AB4237762F70824DEAD4414EE5BD4AC440F76CC9FCB155D9AD320F
|
||||
A84EE2E7797EAD8E2EA03946AA3816540F4DC97EA169EF7D44A107030A5275C2
|
||||
7321F760948A24E243B95C9B44C5110576B81A9BDF7206AA9445E673F65407EE
|
||||
13F5F1389F9875B5E9997ADE151DE75E7DF47A128007F0FAB2A3B6B218C104E6
|
||||
0D8B168F630110BA045BA473C7B515D6FB3E8D9D6B90AC901499306B44A79D7D
|
||||
28B9AFBB5963ADA9ED6DCA3DA607C994F0DA16CEEC47717B1EAD6FAF96580133
|
||||
2055DDFAA11EAAD717569C8F702A119235569458298D489F66F50502D8D29D53
|
||||
AF4C050D783345477827805D408944472D7FF85B0EF814C36BE790C71BA19594
|
||||
5EE88D99B47B3B098FA7D8C84C99AA51290604C8C4CCD6080101235BC741E4A2
|
||||
1A2F54778A7E77B63EA497ECB71EA8AD469D65DDD6D8776707DD52160C7BFBCA
|
||||
23929AE8AF2A0D8D2D8D233923404E300D0678D08BB8BA3FA4B81B46922C04A5
|
||||
A521C71F808560D2B1DE5F9F7B3B629475134B4702125805CF4CAA0BE126EF9E
|
||||
AFE93778035EC428DCE96A93B274102E8FB0D11C96D0B4C27A6F33DD6000E6ED
|
||||
823C814E8572E36AD1E21C8EA27462E08CB71259AC109C86999A4D50D6177E2D
|
||||
0F8713C6CFB0415D02D52FA559DEC8995F536B2CF338E1E6CEFF1DDD91DF4F7F
|
||||
68B550977E7BB90DEF1EC24A008312EEC5E4BFE0993743D067CEF1EFEB383C24
|
||||
C9C80F936068C2BCF2085252DFC096D05B7135F1C645A8C1BA3C8C16E6A330D8
|
||||
E4C1A41F0BFB9A0AB4C21872D512222A0059E35DDE9F144D1451AD78D16F1F4B
|
||||
5B3666466A18F6247739BECE6A892A617375C722D6BF5DED9A519CF2EE29DD2E
|
||||
23326963FF9CFCA32E53FE9E4704CC2FA42B915436C34BA169E9878690AB4BD4
|
||||
8AA2BA04479F5F9E472308AEBBC45CB6270A690422C68C5C56CC6675B0BEF0F5
|
||||
EB4DB9478295CF9D922F8D869A3A20C42C5B4C5E0181738262E468659AF751D1
|
||||
D0C170935944475288010298D0DAC4AE7708CB253B8941F91DA2020F47B5B55D
|
||||
0470D6C4FD89D970ADACCED67DE7BA99EA1EA02A633B2E7731D0EF6556190849
|
||||
7952308071B8DC8CDBAB15F6FCFE1C667BD4C0D6C5D351E56FB5747CF7518597
|
||||
9F155290E8FAC19A51B31AAC847B696BF626B65F18919E0FB5895E49137C208B
|
||||
36381592CAB93193FA04C50D4D37943FC52054E3466E7ED7134BBD646BCDAE5B
|
||||
CC8C0943166E82FEFE02141592572A6EFA52FD193E0092BC581A4244F83CEB34
|
||||
C9F35737ABAF1754D61ABD899A8BBE2AF894200A759AAEDB27C4E1A339DC60A9
|
||||
F22ED20E54E952E2C6DB328E6D9F2543C318247AFDF6EE1E890D2FE0956C0924
|
||||
2C3119516A9DE1F8CD15CEB11D3F802D3F41E9B3927CECFCCBBE55F8B2C9261C
|
||||
51990DD48EA5AC1900A32FC053C7812C9683564B523938B3C74C9C078DB851F6
|
||||
E219BB63042B69978523D638C549E5227921C446AFFA396A8E6728C774119791
|
||||
D77AA58D7853DB026416BB2CF5CBB624F83D4DEA2056915E43D0DD3481B41896
|
||||
E715E2AAC87C10DF63DBFF724CE4A5CCA6C6F009213E2E748275809784F65288
|
||||
F96177F90D07C3FBAB0F83FA54B46F50C5D921E498C06DEC3B704840F7AA72FC
|
||||
0D0F1DB46CE59496B6A79D9169AF68E708B7E1AEAD754E6C8C6C534527CC9B09
|
||||
6513DC67C5A1941CC4061394F34D2A482450ABFFC78480ADA145FE2C24355D00
|
||||
85E581FB956F19A361C91AA32C8084BCD0443E85D313020043A4870721AAA540
|
||||
8D78F7A2B9D33DD67306A68BA901461ECB068DC745BDF0F5FD5EB4AD9E9B93BE
|
||||
4D2536FC5FC13D3DA84173CB3423B67DB738C26030509EB748688943316666A1
|
||||
B6CD6976E8D383C28D5B88078C500D4135531DAE5D6DF1C5DBFF191E3382E565
|
||||
3DC50B22DEA1E1367518A9143C3158519271C41301339F8666C4180ACF631BF4
|
||||
CC44488929D90655608F33EAF4E1966C03D187181EFB474143E3F309543E687A
|
||||
6AE1C12E33892D9A3C218AF94A4DE08797E639636C7D2745FA846CBB1479E2C8
|
||||
45978FE6B22D02D4CAF3DEE8542D5B978A86BFD526069981094B4F0BAF2EB6E2
|
||||
77F7AC896366A642837C057774F0A45235AE35827EB47D4D2F430CA4B8F4BD42
|
||||
45DCCAFB700E20C031FC1A38923C6173615D2D03CF4C225016CC93A0356ABB63
|
||||
B4F50AFE3BDDC417472BEBA6A3216B81A0755D68B99DF13AD956AF12518B7FB3
|
||||
9A9EF940AD5C7E788C579F0AEE8E52BC8F033CE70E995A29E48F8527313B79A4
|
||||
19A7AD0276FFB441A8A8F2DBD3EE8000C6788FDA0FEC0BFE72B1DAE52F890209
|
||||
0CB03B7C02B8CEA68328B43D16A93F40B3EF8ECA9B8C27EDF01931B06DB3ED55
|
||||
08F3017BC5965DED9281965A0DB6A6412B6AD447608346F8B254E5914E8A5093
|
||||
0B1F561AAF68179612BBAF1D8C4501FCAFA6D024AD505BB29BE89F9307793A35
|
||||
DBB3264052836CF223D6A2BE17117AD4DEBC2E3CC3853A2879C5F4B2F036871D
|
||||
966EA551071A2230A00A8F12FE60114ADEA08E5F32FBED0ABBA31CD7A5D509EC
|
||||
CC72EFE19AEF2107095DBAD50F73AB56ABA9D0384C29526DEF162910B89CECB0
|
||||
B0ED2F5BDA61AFC44632D737810ED47BB89994772198167315F898DE0614F2DF
|
||||
A0EA64CE22FA62EC1A2D8184DCB57DFE6CD9A573AD7815CE677049AA3B073A68
|
||||
6F103C97951A401CB7D5C4E41E936C73C6ECC0AE0163576C913097A50CD2B189
|
||||
C135927450521BAC01D981B805BE453428839DBE2CF0B2A96E3D5DE93B1D9411
|
||||
BD2BDAEE782636388CDB0304E6621ED1AE849C45B51E36A9D6065F6ACFFE8224
|
||||
FBD2C5B02D2324CA550CFB66D0F9489E2B4B0DA49A3260DF965683F433F7860A
|
||||
1F4B12F772F332A049F909383B88AF16C321441F3A2074590E907983B7B7E643
|
||||
1349CE37B942E166C851DBF68B2F58023566987CAB9F1D05BF773161B81A0584
|
||||
2B39DAB2E00DD4E101465EF425A6C24FE051FED0B658A2E02CE960FD55A3CAE9
|
||||
B1DEBE866D4B0CA3AD93AF477C4EDC907F3FA286153D8FBA938CE0EA2D314914
|
||||
B0F988FF0226F4409518323DFF26E78A4654827B5BF9F2A6BA534AA93C17901C
|
||||
2B855C3E28AB0B0F09DA1C07CF904802C97108FB8F85E349150E773DADACBD3B
|
||||
CFBC02FC33182DE08ED5C6B01FDC9C955286AD96909235404538595E81EE86D3
|
||||
8886492962E92E11B8F5C753DCBFC88306A0D390E8674C04C183830CAFF8101B
|
||||
FAC76B1DC865BDEDFD3B0C28C6CA1C969993D335AF70F80782A08E13BE7F00AD
|
||||
FF175C302E582B13A64B33F46640CFD5224164762F7EC20CBB779A6C6A536027
|
||||
D801CFC048190F02EFBDC670147EC52759A2D7F54E19A30989DE04DFB08062D3
|
||||
6A78B0FA6F5FDB2CB5D225CB1FCF6C71407A576E3D985AA1BF482665794CCCF5
|
||||
CFA9038ED91157260B3F85E7B50F1A47CB61519391E744F62B5E567E13AF41F4
|
||||
AF224D3A8CF5AE9734B3EFEBE5CD56CC4C26FD551CEF64D56A52D5C1D0B00F22
|
||||
727844FBFBF599DED45A466E46BD20BED6BDA0539F01A6EA7087A76313A59668
|
||||
CC48D25D0AC54558A77684114BC2941EF7E785A61CA6A4AC12113248E5F999E6
|
||||
4B7B3DDC3D06CA3196381CD543B52917660E8AAB1B5EF56CAAD0CF5CCA14AD86
|
||||
82ED132A71E7C48B79DE14525BD110E5831E0A575E2425727769A66C1F018ECD
|
||||
6304682D80E7E343EB106B126DE1384D729E9F2A8E054B7DDF651207BCE28BAA
|
||||
18D19C9D7085C747749C52B89A4CB492B5FABFCBACA522E21CF33CDFF0488F46
|
||||
79D81BF13513BC1293F0E17F37D808143E1C197543DFA6CA2A8969638F0CD799
|
||||
5930300FD61DB36DB8D256CB1682E23CCD65479C7791B2D3DD0BB1AD5E248674
|
||||
95277F235CC9D0BDEC4D3F320B03C3DFAADACCBA2B33422F5664E777DB049495
|
||||
2B34B5D369AFCD58F5F69DCDDB865B332EE1955226E4BACE1D4D1A71AD791785
|
||||
7BC2B701A5BF7611413DCCA1336BBBAEADC5BAF054324A641BAFFB601531B187
|
||||
791C2367A302040DF89E3A6879C50A9903DBAD252AFC558634860065244751F0
|
||||
07F6B91729FCB170140A39190956EE31CFFFB360A4FEA9F8064AF6224898C633
|
||||
15B743C005CA3603F22409B5404A532659E0748DF6A08A304B799206C26CF81A
|
||||
B0B2B4737AD52DD6D2B9F3E001F2CB8FE3DFC2C42197721D534D94400AF45A79
|
||||
62BBC2D9810530D880A68004C5221B2BF6EA5D366E387B4970D82C03AAE964B7
|
||||
97763C054083502D5F7928EC7A016B779E714F80518A332587D56B98038A8F17
|
||||
CE35F07308AD6BEF760174EE9EF6D779B73D97BC8810D335A945A80AA820E495
|
||||
8ED3F2C9436E19C11C2F4C4926530E2BD813527D99DA5D43BA763E397B66FE67
|
||||
9979299DD514743C8DE3A014FA551E68257739EC2A6A06E29D3096DD4D53516B
|
||||
E68204CB21CDA0AF8862980CA956DB89DD6FF54D12A120A82F1948F28F8F5F55
|
||||
B69252C842D1B564DAA862CC4C86D42124E88C2CEE773C4394EF7AB12781FDB4
|
||||
7C1F6950D36987C92896F14F6BE66DCE2D2ECF7EEBFF92D5A782A3ECF958A9BD
|
||||
E8E551F0FB231241B1C9CBAC93B18A29052362F894E0A86930660BA6015CA415
|
||||
BC65885A29A4BA20D1229B0F12D03C52E38476FBC50C59CF702A6DC11F5B819F
|
||||
414AA539D622755302271F43870E337595A7BBB674BD11CF0B20F0CC2FF7BD88
|
||||
6EFB43E36E3870F748593249ACA4CAFEDE6BF14C3F6B474F18C877346CAFAB38
|
||||
359620FAF58C4923ECA8EF490942E05693F0909623FD974F54928CC11A7F7E9B
|
||||
6F2DD0B23EB06801AEA78B27ED6D4C718B8CB0F1E838487BCB51595E3AF1515D
|
||||
9C28B2FB5E74CF4C5772178D603BA50D44C172C89B78EB40DFFFE008C8BAB54A
|
||||
053D5B9A9C62E5EA50C0932F743FA66C3374B727AFCEDE1A125236A76BE64570
|
||||
9F94369064AE74428173DBCE2CFF1DF90DE1BC0A5AE52C9B93DEDAECAA606E32
|
||||
B6987990E4429C87CB6B2E08800689345862483F1C1C63EEA072EB6EF3A6DC34
|
||||
9A05C17F98D501D15C6D1FDD87B608DF395691A99D027AE89BD031CE74D96C32
|
||||
1C1DBB33B70A1DA9DF76E28A7E645601CA6843724221C83E0840D1EEC4E0A3C2
|
||||
C898A366F03152FAB5C21575FE079C8F367B72E12061AC4D85C59BD6C28D241B
|
||||
118BE6000AE4CE9C2BAC0C9BE46B4BFA2EE160E65D5B9B405CDCFDB619EEF7AD
|
||||
66B6C14BB536006EDAC9B340F4618372A2F71EEC48B618E1FCA5B55492DE9ACD
|
||||
BDA5F30B25739C3352E70C8BC6AD31A263B89A01E3BAB92D8351206C57C40983
|
||||
7FADECB045A309CB9BFE28925446D98137D872FF8D1863376D055F4D3D0FDB00
|
||||
008A2B12570DB5E2E770F300DB06FA5F287C9E1A58F92E5C6B0AD193F44C6D62
|
||||
01822097C8059A187FD56F5E243BAB3726589CF24DF311289E9F663E8C1A9622
|
||||
21BEB646FC0C3F3BE1821A67F249E80CABF77894B5C197C00A42AF80E4F5C0E8
|
||||
51C7464C427C2DF89FCCFA851EEA7C40F661FAAB65EB5CD9D5B5F7EA5D86DF7C
|
||||
C54F0504F573A3860FDDF2D186E8D36D394C861BE9C48162B61AB9A8E7DDDF31
|
||||
18404D5C8C6BDF7C8FAAB452831199090F70BA20AF0289593B3A1AAADB9B3D6E
|
||||
8E0798B87E8DE26E8333E49896AC44508E835581A9BFFCEAF0E59CBB13BC04A2
|
||||
C05C936DDB7D69DBDEB9B0411CEDB53F1D149496BF51BB23C3B07F62D34A1FEF
|
||||
F0BE8139A9CB352821AE90293BB79E82751336C9EDD971455FCF0452A72FA705
|
||||
0454F32DC0BC4394C4E4F4C90E203313BEC4483053CC3ABFF8E9FDAD6D65A7A8
|
||||
67FFC0B08A4F6582BE48F050C817F05B6949BB50E4B83456F801A83B9FCE8B05
|
||||
FF97F73AF6B037C8EBF49E62F3497C92F351D942E5C7AA49156458254E7E67C2
|
||||
97A49E4F75114F62623A471CB2C21A7C666D3E8088FD1F3F67627E5B6949508A
|
||||
EAC44C7FF37F501348A93944ACDF4284613B9ECA369FE186E2E0C013693448B5
|
||||
CDA2B7630E09A0283236B0DB58C29B5249AFEBB87B5357549D4D55A1A871832F
|
||||
F07C5CD2D1272E02A59D8433DB9FF170706AB964A07F52E4CC6782E8DCA74BFA
|
||||
3D6B5347990224FC3780F036BFF243CAC8B9CBF544086C0078C290FCCB665612
|
||||
75BB17D6B80A09CF21EA087BD82592E5E3F801BE227D5EED19BC99F5750F0E24
|
||||
ECE512FB2B35DFB1B6BE645D7ECA90AA0EB583BE252BE3E7AC4A642FCDC4D541
|
||||
23180C2C71835BA0CBC06E56E99F198FFC2830021C20A9ED35DFFA76C0FBB7D9
|
||||
F48A05EC327123B520E0BC1ABDE393C0AF88AF610C1513E7E578595B90B9D101
|
||||
245006733BD8A44F89FFC7164AA59B1E73558A85F775B7AC1FC6D646D89544AA
|
||||
B9CD23D9C7403F122749C21FF7539A87307084C0FA290570EC52E0BA8F306B37
|
||||
491ADF370A75112AC14F33A7F57BA0DC82271E5ADE77CB
|
||||
8EAEDFDBC8802E6C8D2F78857CE66105FEFAA26AA62235515B9DF83D86CA7F06
|
||||
4887E80BC9C14A4C5974463498998052A711AF175999917AB6530A5981D5FC02
|
||||
F6F5BDAFD469D43E2E2134C6BFF0B68ED9CABD7A14B0F0C2427F14682AD3E1E5
|
||||
EC92396EF1DF4FC20F1B574F1FDF7BE782DAEB1490C2182F017E633F47EE6B56
|
||||
971A2837D4C9E8C78E5B28D34BA512FBD85CC07117D7A261904D6E2C57413264
|
||||
DC745E50EACD437C729BCA09AA240BF7F99B11DABC36B90AD717BED1439D1649
|
||||
A8F219ABF3C3E8275B4C41DD3251907E90601B7625C72E4EC7BB58EE544E09CC
|
||||
D86769AE126E8325A6997F7163187B190B0C73F76783EE86095540C40C86CDBE
|
||||
B2ED24860D2224024AA004929555C0C4EA645EFEE62B7A20DFFAB78A256704E4
|
||||
0BE2A5E2DFD2086BB24376D399A14888757AACCCAAB87C123445F38C7B2D6B75
|
||||
3E7EB1D517A4B4C8770251666F76C1F1C79DE62671BD3D0CAD2C1434D9E0E931
|
||||
883723EB811D9906BE8305278E586493C90CEAA20307064A29F20BB204E5CEA8
|
||||
FE94F52A5DE7C1F3F7403F642F29E81F2B38760DB0F0DFE9775FDFE49C685F69
|
||||
360C20D3ACAFD0BF01C813DEF6C95F16BFB43923A78B5B20112BBA77DCFB3F81
|
||||
7DE00A59336368DE9737943A9B33160D3FA500B5C74D36BDACC54A5D6862056E
|
||||
B02CD766308328E2C8C7FC41A0E9B21C75C08219195CD22FC5D3A99AC9FB25C7
|
||||
1D72A08B5B86B4866CBA3CC965743CFDB0FBD2DC51EB24BA7BC9E6C99A03259E
|
||||
B78BFBAE4DA928215E1B969FD6B00E3C44393AE4C0F3A18E380A55BB8EAD5713
|
||||
44D479967A07C711E8DB24C3E01EC9F0B6C2F936DBFB3F3B5FBF0850C55B9A38
|
||||
2C546BED80AFE9B30E3AA308FD575FBF349F4C556A1F5227495EB5A313CC6AAA
|
||||
BA779533C79CC35EE45C86333E307864EDD1BB5D45BC3058BA88A351FD39312B
|
||||
B031A56703E91714EEE44056F6B826090B63CD30144C95B88A3E5B250A2B2AF8
|
||||
9254E991853F7C8165185BAEBA1F088C9AE10B16B618F8E32352DEB52967E3A9
|
||||
A39E6DF485104508B77B3569AF0FF6AC768EAB7432BCD14F18B0A6B2D7AF694D
|
||||
958E51BF543A3A337FE6CA854586F2FD61C5835A939AD374CB05BC334CD893C8
|
||||
031FE1D92920DB07488228C03FDEF985574836565885E5023CEFE96AD27D2F7F
|
||||
468DE1FE34C26216CF4219288A88DB2512CC9A79BBC672D38A430B643B64D09A
|
||||
C2A82DD14F6AC4085C2B2D950839F1B3DBE701AD3F4488ADFC4953056AE03B04
|
||||
0CAB248A3697303B74171D342AC88F6E436A28970752BBDDA6A49CA78DFC76EB
|
||||
8A2EAF1E6E663DE24E221125555B79CFD316BD450196DFE80AFC35F9D0EFD36E
|
||||
FA0D1050E4CE2DF26B9605FB8950E2BBE6C873F1621DDD52FC977D9A7E5E5DCB
|
||||
3C7200B775513A763647F6DF8C6EBCB415242654867A519A57880271AB25A9C8
|
||||
9255B10E0D0FEF324CC97D1BE4278C69A7ED352FFDD4B83FA569CDF24E8698E3
|
||||
04CAB5E8F66EB18BACADCB452E7E2D93FAA3D7DED9E392E7A82B2E343F61CC6C
|
||||
D8943214CB064C361930803CF4C470925857C83D9FA4871854E84980762F8B11
|
||||
CAC395DC7C24DA3D94C70903CF0B406F67D71E37835A40A676CEE1780C955E7E
|
||||
2699F15A82AF0138A106E0BB7C179F1480678F90D7794777652300C073D8127C
|
||||
9C0F6C08AF449C339C324B286BCF56CA6CB069D351AAEE86C04BBF3BFED533B5
|
||||
4993C9EDAE588F9122BBF1D830E1B024235EBF5842FCD14DA0E759453A0A87D0
|
||||
569C89320936EF3A9A93865600133C2800BD77A49A7CB1EA1ABC17A89AEA5383
|
||||
50740DB2DBA5A00ABB556FDD5181B8086CC1683703829BD9995E9B9928ED6CE6
|
||||
4ADACDFB73DE333CA7B8F7DB17EB25C30846D9DF5110FBF2A5B004E80486B5F0
|
||||
F0A5E9EE3B37FDF87E52A65CA61DAF5774521BE090875605FC33445A8CB47470
|
||||
5C088A7AAED828BD3D93BE80F93CCBB71B702DA053B9CF4C5D949678B54E7D7B
|
||||
8B4D28E3283310890884A4DEE9BA606770C8FC52FAA87A1846E402F5110F79CF
|
||||
685AD45742AA00FA8304E668BB4B3A78BA2BE8717306419F4EE1EC696B4C8CD9
|
||||
0877326DE7DCCE619D86F9A75C194CD7406A9B1B9C962A381DA83707264F879F
|
||||
FF16DBFB7B15D38347423C4D14CB8B26007BF591AC6A0FA815852433CE4AC18A
|
||||
4FD19818F04737C71BBF48C925699AFCFDD25D92010069D2568E655B43A2A88E
|
||||
3F734C472714E5FC7CAD6189611A10FC281118DA6D78743B9F5CA56301888AB4
|
||||
1B4099F9593D046157054869A6267C12474BABDAF528DD0E0F2452C38052787C
|
||||
12B04D3F2A46888BBA6ED82374485BDFF8B887B8238105D63E912B01D25FB099
|
||||
834F60570D0E50CFF2ABC21162EAED3B6D1E8F3575E285EB59A3CFE0D4291255
|
||||
40EFDDD282C4A213FD3313C21DC6D90AD561435DF54236CA665EE4B45D7F57C8
|
||||
C43B9AFF7AB6E35C1D3BF42CC45DAD238B10F782559007BBA003B508CB25C41F
|
||||
8CA0B35779C6B5EA62D3F3D4543E12863DCC7A41432DF12464F119E9584C8BFD
|
||||
FD46563D85185C21A221D398AC93B79C1206975DAB906418E4F27DB339B6B50E
|
||||
BE1CB70F5ADACA9635B61CCC4DC831CC3EF73AB139061D725190EA2E0C8FD7C6
|
||||
8D805D2D19A2F54769D68ACE92B6DBF22C0A2EDB9B45C604E724FABE2762AA93
|
||||
2F30FE0FF0FFA874FD655D416F254BC4EE83EFC2489DDA222C669FDDDC14170E
|
||||
607B85563BECB3D0D397CDF9CFD6E1D7FF5116334317A188FB8537B38B328CDE
|
||||
2D05354E9774AAA3BD0E21053683879F89324F1714B42DF0A6E9D902BA5373E3
|
||||
2A6E95367DD0CFCEC5F1576631969BC441CA14E5E927FE46CB26601D492B8A9E
|
||||
D5FB32EC9BECA60CA49A241C5F432B2E71B4EC4AE2E4CAF8A488CE89639F2008
|
||||
04762E7F895F5865655E81AEEF5B4CB02E47ABEA8E35F95B289B5BF52D760539
|
||||
53C5F2950A886B43E4D6AF59199A6C8CDAA2BB2767D5ABDEFFCD40EEFA0B1D02
|
||||
ED629131B0FFBD54693A602AC1BD15745E2C80C4A9DB293EA112393CC16A3904
|
||||
A26BA8FFD378D0C13D656ECEEBCCDB6F177777CB24359791F987BBC6A8F9F33F
|
||||
54919747ABC99A0C994F65151C777472AF32480E21399F6FF16BAB2B1501FE31
|
||||
9D991F02F20235D5117B1255622EDECC52FB0A752C9DC5CF7DB8B8213E0386E1
|
||||
4CE8CA8116B3326DE080035488E7E68F52DB93B456B7DBE5CE4A10298083B1DA
|
||||
8C1C682D701299958D772E7ADD0E94944F0C4CD12A23DE08FAC08469CDA4B7FA
|
||||
7E7C86A82C998975B0CF64527869AA22388B3338C0DB25B26B3C5BB43DF9AB3A
|
||||
7A356DAA33B0B36B4C39330635FE1D8BD33A00208B49F15CE341A54C5698F447
|
||||
43638F0B8EEEC6BA29DE5F016365CD09342039C6C30D2C25E38BF1D6DBB78580
|
||||
F0BF68CDFBD27D25AA0D9B60D91AE236157C9C5293046695E6C6C74388CB4E69
|
||||
43B316C090C3641E1B846FAC1579770B4A2D0F55847CA1162DEDFD59D544E402
|
||||
0D472889C3B8177FC1FC57A1D56894750787A6388A9F53004575B85437674062
|
||||
E93B2517E379DFD6F735B363D5588591A1D5C384193B6FC50CF4BFF941307783
|
||||
3D23C679FB825C99E536B1D0638AE039CD1B38D3FDD72FF18A3E686C32576328
|
||||
F16A3090AA2D5527009F821A5F6DAEC910982407451BC6442762B8486C3F923C
|
||||
4F2EA39609025D5BC6345EB42A74342304819397459C7C576AA92ECEB4584D58
|
||||
BF275974AF38FD6CE06A25EC5659D9BE7F616602D48CD61A3F9303500D1A1DA1
|
||||
E6D0EAD6141B3E5209E6728DC6436AC89E27D591C4A1057467C5EE398CFFBDC5
|
||||
E9E9DBE6649F926671D15AC22E4DA06D2E882BB371682172D21F108D62BABC36
|
||||
28F0A65F816E0F389C27419EFA98B070B4F761AF9E8277D1AAA42D8CA68B51CA
|
||||
21C09C83AD39A9B94EB527F4E114EEAD8DFA8996EA536E0FB71EFCAB6EBD5EA0
|
||||
1C3840716B944F6DD6B7BA486F188202D879A07242550A1487F96E0704EBA09E
|
||||
BF6EBCA8AEEFE48EB5CE14CB3E3D7823DDE0EE6700D5E5D60D76A677FE18AD56
|
||||
6752653E7333CC4C21229079F40F4DCC756362B8BBF4AC77C527E285956B1543
|
||||
4268C9CCFDECF6E4E5A9B65893AC7C707465E0502AF76E458B6193B943F8CB3E
|
||||
AEDDEC24C24AD1DF95B958EB48F9D79608A2C53D281F77801B1D0191E2456B17
|
||||
825825502754E688CACD557422C5EEF2221F39DE067051611D118020DD2CF23B
|
||||
F7530C9F085AD552E0EE0E2A0967631D36D3F19F16D0C3EBA4806B1B050F74E3
|
||||
D101E032C64C8950560EA38C473099D45DB3E9B3ECE0F5DD604B3AB8CE424618
|
||||
BFB6BF2A357CA3FDE707BA64B42BF9585E95F717FAA6157E6B03D098EED24DF5
|
||||
DA296997ABFD50D085092AF1FBA05DD63A354200134E6CC02AC5978CD7F5DB4C
|
||||
9F6480918FE5348DD6908C6CC33413E41B41E308CA598AE14E61C1E61F8EED96
|
||||
995E95D2AF962AD7E7E08AE45FE5A15A9C9B9C9A4A003F80EE6A35EC9DE3428A
|
||||
98863BBD9F3247BBD3661EABA6DB4A885E3CF961E3FA211BC75B97C01AF1D196
|
||||
5A67092149A7D759804BDCE977EB1BBE8E150DF922B7E9AB6F90A8F4373BDDE2
|
||||
AEB4BEB35DA4876795B5401A84BC613A43F425FCF92E9F9EF479CCC441C2B35C
|
||||
EF2745005AA4890E904004C66434408374D569A1ED0B6CFB30A26C91C9ADC8F3
|
||||
07EC65241B13F5B9741527DBE436E8C9DB6FF461A78391AC480D5A8AF8DF33AE
|
||||
79AB46290DDD2C1D6BD0CBAC35EE36496EAE145D52353E6EB263DFE620EB54B0
|
||||
49651CA5B551077E59A0963F707F1DEB5B329BDB46F59537854B982C7A5C5D43
|
||||
6DD9398FB9D035DA69C9874094104F4EF073E8FD995C8FC81D8B285E22CEB34D
|
||||
568F6609A5902886875DE5C52C496D5146D200BF495F5EC143B93CC49E5C2A08
|
||||
D4267B161D4AAD19A05EF614886BC60A66A6342FB499480F38BDEBC97E0A5C1E
|
||||
5759955496515E544266E1DC67620A31A47997B6AD78F5DAB4640EF4AFC5E0FE
|
||||
EAB4677B4D02CEB83868BB7E0192DC0B8B2A32A78575A4019A7137F206223238
|
||||
C754551A6644A3D3DFFBF819916ED174FDEF284DABE4179FF24F406303547ABF
|
||||
D453EF90B6713978992A11DF0D0CBCCF423AF7D29B171AA79978EEA46574BF14
|
||||
2A631C701B921C6746067A40AC96F5A05D3F60834F5A63363D05D44CFE0E6820
|
||||
E467E28CF920243F3B01A09F20D91DDACDEDB5EDA65CC9CA01C395BCE006F690
|
||||
8D83231B3015692822C11F541E5D4A6651A315151A26C4A145D7D4644682B094
|
||||
9A8870FD7E6AD333E7A78933BACD0F28A1B8CBCA57A7FE19AB2165A22648D09C
|
||||
7796E45EF0F36605561BE1F039106DA70ED7C603081D459F004CDA4B4CD201EC
|
||||
E7653A8311DC66B95AE6DBBDEEBA50016D14ADE0488FE1AB0377B7049A0F9A09
|
||||
14B16EA09F1EE2565D567EE0FA21C712F5DBD1CC53E8C23E40338E43C4965BE4
|
||||
EEF1CAE961E2F2C9775BD78274FB62016A7363FA3D3936D02667EA6841775DF9
|
||||
3CBF9165389CCFA9392D139735575C3662F0355BC343851BCEDD7CA61278EB0B
|
||||
A7810A4317C52B15F559C0F0762A0F4A17D52052779B655C3F77CD0613D07367
|
||||
52BB9BF23D904FD1B70AD6C107EB1831C241BA878BD7CF0B2EFAA4BD2E3F9BCF
|
||||
D09A2A4F2C9EE9D742ED921721701AC2ACD6E9754CDB6E1EAD891B0D63474600
|
||||
24C221A5550472C685E6BC6ADAF7BAD61135D960B66B59A524423CF6815407B5
|
||||
29ACEE91F08C4F3AFF74931786D014BDF6F85A57C50C50CA13082F0F962D8A7D
|
||||
D91BB97760E1DF2A8051FEE387AEC967524E8AA2D6D4C824AADD46EDF9683DB5
|
||||
6FDD72CCA7D000BE8BD526F5AC2990ECAA151A4B65F87BACAB9CEDFE7F2BE5BF
|
||||
0DA724EF6AA670E37CB8DFCE9D32A90590831C9E71FA8C929F01C09D379B819F
|
||||
C86B1F1CA2DCCAD147496898756107F3B1EA3FF25D603E625C3ADB1A122C4010
|
||||
B1A8BE368C268F1938CC1DA24ED7F22634A4B3DEBCEFE6AC250B9384F7A34131
|
||||
36A38C1589FFA8EDB470D62EE09EE9F19E6CC76F0EBDA2C9E9D6276C466F02BD
|
||||
5F6F9E9AF9A74793B8B36C36E8C198215EB0259F871FD4356A9FFB3337988711
|
||||
5A84B7829626D3C7FBAD3D4FD5EA30953408BB97D77229F5C27150D72CBB6A6C
|
||||
4585FE13E452D977DBF7EC2639F06B0D0420D965CAB90E1797DE9D201E1219AA
|
||||
3B06CD074470641FE3CDD17A17E68FB3B7F2B5498F2C74D6209EB97EF626286C
|
||||
1982FD51DB1B80CF8D3AAC6C449AF5B32966D483B12C4C2C4C2359523B603892
|
||||
13109BA0D7E208DC74CFC4583AF2F0E50AE9458F5112A780991C8B6EA248E76E
|
||||
15C78B3B068C5BFFB1F015A9639EFBCCCC5507206D204EC199CE2D38A2A2F7ED
|
||||
E9604F1F146AAC9F21B0F6E306202E5BA947C38FA3C9CFE0E2332A903E9F9360
|
||||
C3C8750D8DA48FA999397CB7C98F130E449E6116D120DA2902137B9B9CD92D4F
|
||||
48BA0A077EDF1BE73E43A4C445D9D3738EFE2674FB1849F2037D7CE3D43D126A
|
||||
607D72B5EEDD491EBDBC9E45EE8AD7E07DE4B0AB22698CCA2800DC307C2D3726
|
||||
A98D432531FED2BD1FFE8329A23FFE76837D502A7453FA4EDD1C6EEC8DDCC96B
|
||||
C23543F90CC51B078F513E0444CA873332E146B87785078084B6E5E89DF07C68
|
||||
3777F088436E1D5E5D3EC8078E5D4079AE89C546EEEF93B5EC16CB8C6D95051B
|
||||
DF0D5B1B59487483402198EE5D20DF471DC29330012EB2934FF9321E5F55D42E
|
||||
9DDAC8B2A5ABC0549D3E31F4E700F92F92D41991E3680C74D3C8D78FC37F24E0
|
||||
6A00CB6FA5145BBA9637DE8A8BCB5DA54E4CBF2A42874A277D8BE7BE258BDFB3
|
||||
580E4360299187051E62C27B2C79CDDB9B279A2059325CBA86847B13893AA6D9
|
||||
E497C6A771868237B064D20953D44DEDCDA37586ECDE68994A96EB8013753EF2
|
||||
CAACD7045E07B8440DCBE8DCBD6862A14E349691C93C83F9F7F9E67C5A746BC0
|
||||
7864B3E9938BB5A8D244DE021D45B7766364F5AA1BC2BA0633404F00AD6A097C
|
||||
DC400FADF01566720B6341407C60045EEDD3187B79EE341FB867A0D1C61903BA
|
||||
2FF729083A1D94B1B2CC31E28F6D098135E9008BF046650D8EA8881EC30C03CE
|
||||
DEAC187BC4B92E3F8F90F6E433E3053A2841D95B4CD5A5536D2FD8BA3C8BFCA9
|
||||
BA560A0171B941AD077865DCFA6D7DCAAF5EBE285BD0807A7207BE986E8351BE
|
||||
03064839D4358B16264538A453D42C095552F552383FBA044C7F2D47A3A69EC4
|
||||
6E5FD899E0E55CF0B94BDACBC436660DD0CB9C24030345944BF4C62FFA0C7A63
|
||||
35F86BC16EB62F5B117458B12ED15387165036F2A2E106BF8D388075382D886E
|
||||
5FCE7DE83E43F9145D0DAD6CCD00772F6D3C0804BA01B9DF8F31AFC3B2E0F7C1
|
||||
976A83DFFD9DE717AAEB614EE6C32DFB3E0592BDC29C18ED416AB637E8769C7C
|
||||
9F0D9AC0F017A9CC75BA10EF9B30ED1C31DAA78D6CA6F3F71A988F0FBB0BA50E
|
||||
4775BD68A0FA366E16351193EC5390EC553437388EBE4153E678D850DFDBDBDD
|
||||
BDFA73F47A3E6A800EEFDA70402B73E571B3B55A6475C055A89D0504423F829D
|
||||
FA76DD2C7D78280429E6527AAA64AD7FD074F300732771ACA43288CDBB3D26FD
|
||||
DD4A0AF02CED8E7503E6479643741581E0565970A56C7DD5D7E1C314639EA886
|
||||
0E581B4DE3742FB93683F0BF5932019AF0AE1DF9A2812B3E0200C6FCED8AB6E0
|
||||
C5256611D969FF4472771FC0ADB16E71A5C32BB6E3C3A79C832C32574262ACE4
|
||||
20225A253F4B5C750903DF5D9F5C3AD6DE75500F2B2584973612115924906460
|
||||
AE9AB02B1DEE0AACD47B7610241ADFEA06EEC2677BA7CEA0CF3CA93BE4083710
|
||||
1956D6974422517019551C92FC19CDFFCAEF2A26C9508D206D9642D66B33971C
|
||||
8996CDFD0789B2DFB9460A8E00BD6E2BA83120E94E4EBFBBD5A06C2C77555465
|
||||
B50579BBC9EBF8C6D9066C4114383392998324DCF86B9ADC935F66176E019DBB
|
||||
081AE411E45A1499A7DF7B5C998C6DF917AB3D43639CE6365AFBACE5FF30A70F
|
||||
F0B0087701AA9C5E871A97EF789F94A222F7E586BE8BD1C83FF7E0A429918A8C
|
||||
0275B463A881742F71096D6ED5946BDF93CD1EA0D407C0542ACE030BE6214211
|
||||
BB580CAF11EB8635D6C00052A5A0ADCED3CD6BD1E99141BE1D247CB48CE39CD6
|
||||
CAEE933C1068729E9A167515F743E0B66BD06481FFA48CE9C6DCF4F0145BC851
|
||||
0710C946391AABEFB70AA2D02DF83E68EED2305195B53B667331B9EF352D7FFF
|
||||
56EAC2571490A80E0F5EDB22EF988671B978CBA393FAEE0271A02AD4E7916FAD
|
||||
5BA6E42816C0E4A6B59AD4882CBBE4279392940636B95B14AC72EC763F3C8DF5
|
||||
158902E1144BCB9B77497B94AB6F985BAFE6A6EA919ADF5DC76D9547BFC10CF7
|
||||
F27AF0F3F369A40F0818EC70BA8D0E3064208B929F4691B4C3359FF49A32477F
|
||||
E21B57B2C2D7A6C444C09147DAF3C53BBAF46FDC8F18F8F53534F69DB5568BFA
|
||||
41412B4050EBAD38E48DE3CB3B2024365A2D9436AFAE44DFA3B145EB031F2B34
|
||||
A98C93D81397DED7235D26F7C55B6E9DEC79AAD7ECD9D25119C11657E7F593C0
|
||||
00B3B94107B15D33F2B27BCB1C7544018613FCE5546AB33EA041BDD6DF071D9A
|
||||
93AB099D606F7B5437A61C294770AFD946F292CBC5C0E657DFD3B99645D02611
|
||||
C3C2D5C083304436098C8BF60C7527F06997B4D10AE189322D279DB5834EDB43
|
||||
FAC2E91C1E9B468583AE8EBB861898CE9415A6FA5E099EAAE096BDE2978A142B
|
||||
930EE1DE108AB039C1512D066AD015A88024072732AD9932203E38F8F822931C
|
||||
226A39466C45C1D5161583730D41695AD184C7DA4A2F6E06599B0A7D2676C99F
|
||||
265568564D74A19CFE27CE4F3EAF0F1C1AC97902FAF891506B735F9E35D4E91B
|
||||
10A54E78899C211532A36D3C85D7C37B287D7D0BB3FCCF4922FA25A2B7EE57E9
|
||||
6F834FA1614758B455E4ED8A4F3BB2155EF04D18F8771DE6E441AD8B90CEC661
|
||||
81096112F28A4F5BF8C0D03647974574330A9DB9FD4858A866B827E02815D6FE
|
||||
269545855B4C2978ADF3D01FD470375622DB6302841304C4B34DFC14C934A5EA
|
||||
D948AFF88638AB565855086B9BDC7ED1C2B1A2DCDE0237F64379FBF189B062BC
|
||||
3E271422401D7044171D1CF04BCE2334018509119BF2A1A9F77D539FB78049F7
|
||||
55447125C1B1BC734D552A95A6542A45B56BC7A9D77D865D69FAD63EBB5CEF5C
|
||||
A6CC02E78F40A5F4D2D0083A57B9EE39AA1A85AB63F3611BD2F27CC4C0C38B99
|
||||
C66CE4ABA335F4E6325EF52E64BFB558C1B0C811C779A46F079E64639EC28C94
|
||||
7FB1A2D4C30533813E739009C352DCF93441E0C61A2B43D180D495C62D4433E2
|
||||
D5CDC01224D6CE29F06FDFA328E338648FB3C47BBEAED76E2C10DB94B8B39D19
|
||||
9A596EAB6D5E0033252119CD31BDC7857CF5833E011DB5330DAEC0C0C6C2CC37
|
||||
C3B81DADE8B960867D48E26ADF34929E7A74C220048C250AFD23CD03CA8CAFE7
|
||||
AAA8D671FFE2654B5E129B632D2F6AE861C0868F7567ECE49364558EEBE71069
|
||||
C1EBB2A01276A674D83944221FB6206A4CB07F451ECBEF842FC10C107ED7CF01
|
||||
7B1584DC6B33A0BB78B9741433E59446427D272CC35EA60C69988FB24E5F8FC6
|
||||
B8E8B5980FCD7381BFC34789377156F357B7D3A2165913DBC2D15DF5CF92E6FB
|
||||
42DB4B09628D45936F15456A007230CC9EA9703C14B12443497C8961A46055D8
|
||||
FC5D1A2E3E03BB7993079353406FAB03AA50CE6D589EFAC8E186898D39A3B158
|
||||
73A86DBEC6D4BA9F706E3E66AC32510865C7FC495CBDD03482F48F77A7C68A56
|
||||
7FD81C53FCD359F3518A810A9EBF8B3287B3498FD8DC09612F46F8933B24F230
|
||||
6EA06D9CC090E62350DC87C37EE8C2A00B5B305B5F9DF024A354D218BBD6F893
|
||||
29C2455C3A6FA80442CF96F71EF417766B36BEA9599A148C741019958E5D9D6F
|
||||
57BD18C456126C9C2E61B26BA99CC24E381CF54DF698B638395DC4CF5646B297
|
||||
35DF231EF503C8A9242ABEC825B86E6B1C396225DE9DD5A74CD4AB2E52CE5502
|
||||
E64FE52B841E9C903B6041010CF762B9DA460DBE1B7AB6547E56967AD50A20A8
|
||||
A3562CE86FE628FCBD8D5A46CDC6928CC907883B3B223D1BB39FFEC99C295471
|
||||
5819DA78E1A28E67BE9C9ECF030D17B750CF63A1FFCCE03488BBCD5AB8833229
|
||||
129EFF723149ACCA53F3349F20A95175C634C1AECBA667E94A6EC7240CC73738
|
||||
56853DA698EFBFBE8D4EA742115D056E60A5C563CE677211F762D78728F4A4FF
|
||||
16106B14CF733EC786BC81BF382D929C6E779BF2C5CAC1A7141311467B230972
|
||||
473561159C7F359C249A40CC0A2B78153B1407C9B5C58B61BE08EE79D2361242
|
||||
7F796F70F131C8EB601DCAC36940A0432598B85A9808D2E3A3AE04481AC98AD4
|
||||
765F604A00F6BFBFABC92FCDAFDA89DAF343D56D8BB390DD8196E65823CCBE14
|
||||
A44D12EC7460A65E46C3546D6A2C3B5E16B023DEE94A5F29CEEE87F773748F96
|
||||
32EF586A0CE0E35DC20A2F79A398A52060A5A4ACAAC9F38A5C5F5E18C5F548B6
|
||||
14EC4B3E3DCA73ECF7111C84980AB97DFBCC2B072D917EE0110248FF4728042E
|
||||
F527F2B5BC1C5CA2FC93FA15ED3F83DC3992CA9ED5BF29EC2ACD3F65CFEFD598
|
||||
D3ED8D7F3D54D220D79CD51A599194E511A440B43F1976B944FBA750C80E786D
|
||||
514014EB35E21B85CF8DE707B96B03B2BB973B9E215C1FC9816DB019765D5B25
|
||||
0A1B77FAAA4E048CA5BA20CEA9CA184F59BF87DE90BED9DD310C7FAFE3E93583
|
||||
DC243BA6CFDD104A3B126AC33F040E706D9EC76C986C1BC084623E58EA5E197B
|
||||
2E35DC67BA1BC12FA7013F9212868299C2AA052521D0FE1C8117BA36553B8024
|
||||
4FFD05A76B5AB7285E06584ED89DE8E7B6BD50CBA86B0E167BD86820AD60112A
|
||||
9C90BECB87FFEEEC23104B36BEEEF385FEDF701E9CED8C77D1BD04DB0F5C7616
|
||||
373AC3D57A4E056E1A22238E4E4873084E29B993B43F382D90161084F3243769
|
||||
AEC08A9272E3F1FAC01BACD9FD24D0C7749423CF64078B39AF900305714A3980
|
||||
2CB0B3D6F122A6CEF41C2E290D8EFC54E4ECC8908FDAC9DFD7F3F0EE7A98D260
|
||||
EC5C7E3484AFBDE096CCC71D9C2E2DDFA1429C0845AD23A6D235663086C76716
|
||||
F5A9EAA8BD0B23D6A9482E452E0BFE1B2FD9B24FC4495C212B4EF23D328AE080
|
||||
8CD8DBF54981E161763D7F354A1A411A61D71C5CF36E551269024CEA701E9462
|
||||
E09EC70BC5676B2F5DAA0202FBA4948E8E2F896DF94CF23CD93882F0C6F574F2
|
||||
C2508020035864D35D73E573105F13F1AF6CE24F4DDD537D52C1E04E1275BF48
|
||||
7F28BFA941FEC50C43AC453CCF22645BEED3434AE099A63DCDAA368C2DBDBB65
|
||||
F1C83773639DC0E5E22521622A5A7F1FB6C05FA104E22AA914629A5599545712
|
||||
9612711D4D8702405003E5D3A94334E32AED660957DE864F657D0878A8636639
|
||||
3644D887B87ADB7148DEE4C3F40C302A018F0D8939D901080BDE7C64813DF7B5
|
||||
23D6484C7AD67B42AF576895873775C4D8BDFEF8D429317F10D9D344C429D5E8
|
||||
8C95A7CBD3BD08F28D46C620EAF97BC44FFF733970C76D2436BC46B04B5CB80D
|
||||
D6900BDE70957162C71B62F5E0B07637050ADFFF583014DA9F24DED2CA080F50
|
||||
574262A788352244EE07ACA41E7827C30D40BF3DD7BBD32F1EE757A661B8F83B
|
||||
7CD28FE74546961C5A6AE1E201ED17343522264D3CA4C149FD0AE2ECE287068A
|
||||
3A269B22C8CF8EC9D6B375B38AC613F0F1F4A47C99404D541674B7C40C4CED3B
|
||||
79105290D297F9771072FCBCC89502405BA5D927C01062B3A781C45EB6048E73
|
||||
961ECA73E091FCE341EB6723439B38B188EA498FE9E77B2E5E97880A4CC9ADFD
|
||||
A6F3AF790B84BDEBD1331F77DF164ABC9B969BB5C431BD9FAF52539B339BAA9C
|
||||
96ABC3D341722CD608CEF0F08D3E6AAE4962DB8198673B19F3C469559B993F5D
|
||||
DFF518F5EAF32191B9BC76165FA1A5CFE7B4BA741D140EFDF797F51807385F01
|
||||
A4DCD08030ADD12175887CBB60210FF5F275E8BD9706D69CE55F0D5030951A7B
|
||||
B0D31DFA257ADFA67C9914D4A1EFDC365AEAAA4B31FDA0D401A542
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
|
|
@ -2314,7 +2310,7 @@ TeXDict begin 55380996 39158280 1000 600 600 (orgcard.dvi)
|
|||
@start /Fa 242[61 13[{ TeXbbad153fEncoding ReEncodeFont }1
|
||||
49.8132 /CMSY6 rf /Fb 134[32 1[43 32 34 24 24 24 1[34
|
||||
30 34 50 18 32 1[18 34 30 19 27 34 27 34 30 13[34 44
|
||||
1[41 47 1[54 3[22 1[47 39 2[43 1[45 6[18 3[30 30 1[30
|
||||
1[41 47 1[54 3[22 1[47 39 2[43 1[45 6[18 2[30 1[30 1[30
|
||||
30 30 30 1[18 21 18 44[{ TeXf7b6d320Encoding ReEncodeFont }42
|
||||
49.8132 /CMR6 rf /Fc 135[33 3[24 29 4[40 58 18 2[22 36
|
||||
2[33 36 33 33 36 50[22 46[{ TeX74afc74cEncoding ReEncodeFont }14
|
||||
|
|
@ -2338,7 +2334,7 @@ TeXDict begin 55380996 39158280 1000 600 600 (orgcard.dvi)
|
|||
rf /Fi 133[31 37 37 51 37 39 27 28 28 37 39 35 39 59
|
||||
20 37 22 20 39 35 22 31 39 31 39 35 2[35 1[35 3[53 72
|
||||
53 53 51 39 52 1[48 55 53 65 44 55 1[25 53 55 46 48 54
|
||||
51 50 53 6[20 3[35 2[35 35 35 1[35 20 24 20 55 35 27
|
||||
51 50 53 6[20 2[35 3[35 35 35 1[35 20 24 20 55 35 27
|
||||
27 20 2[35 59 35 20 19[39 39 41 11[{ TeXf7b6d320Encoding ReEncodeFont }
|
||||
71 66.4176 /CMR8 rf /Fj 141[57 2[69 76 6[69 42 63 76
|
||||
61 1[67 14[103 2[103 1[131 9[99 16[69 69 1[69 1[46 3[53
|
||||
|
|
@ -2354,7 +2350,7 @@ TeXDict begin
|
|||
%%Page: 1 1
|
||||
TeXDict begin @landscape 1 0 bop -169 -357 a Fj(Org-Mo)t(de)45
|
||||
b(Reference)h(Card)g(\(1/2\))546 -242 y Fi(\(for)23 b(v)n(ersion)h
|
||||
(3.16\))-150 -42 y Fh(Getting)37 b(Started)-150 125 y
|
||||
(3.17\))-150 -42 y Fh(Getting)37 b(Started)-150 125 y
|
||||
Fi(Put)24 b(the)h(follo)n(wing)e(in)g(y)n(our)h Fg(~/.emacs)931
|
||||
102 y Ff(1)-150 199 y Fg(\(autoload)38 b('org-mode)g("org")e("Org)h
|
||||
(mode")g(t\))-150 268 y(\(autoload)h('org-diary)g("org")f("Org)f(mode)h
|
||||
|
|
@ -2569,7 +2565,7 @@ end
|
|||
%%Page: 2 2
|
||||
TeXDict begin @landscape 2 1 bop -169 -357 a Fj(Org-Mo)t(de)45
|
||||
b(Reference)h(Card)g(\(2/2\))546 -242 y Fi(\(for)23 b(v)n(ersion)h
|
||||
(3.16\))-150 -36 y Fh(Timeline)37 b(and)g(Agenda)-150
|
||||
(3.17\))-150 -36 y Fh(Timeline)37 b(and)g(Agenda)-150
|
||||
120 y Fi(sho)n(w)24 b(timeline)f(of)h(curren)n(t)g(org)f(\014le)458
|
||||
b Fg(C-c)36 b(C-r)-150 190 y Fi(...)30 b(include)24 b(past)h(dates)793
|
||||
b Fg(C-u)36 b(C-c)g(C-r)-150 288 y Fi(add)24 b(curren)n(t)g(\014le)g
|
||||
|
|
@ -2755,7 +2751,7 @@ b Fi(with)g(the)h(cur-)4242 3574 y(sor)h(still)g(in)g(a)h(line)f(to)h
|
|||
Fg(org-CUA-compatibility)p Fi(.)4535 3770 y Fb(Cop)n(yrigh)n(t)4838
|
||||
3768 y(c)4821 3770 y Fa(\015)d Fb(2005)i(F)-5 b(ree)21
|
||||
b(Soft)n(w)n(are)i(F)-5 b(oundation,)20 b(Inc.)4795 3826
|
||||
y(v3.16)h(for)h(Org-Mo)r(de)e(3.16,)i(2005)4912 3882
|
||||
y(v3.17)h(for)h(Org-Mo)r(de)e(3.17,)i(2005)4912 3882
|
||||
y(Author:)k(Philip)18 b(Ro)r(ok)n(e)4473 3937 y(based)j(on)g(refcard)g
|
||||
(design)g(and)f(format)i(b)n(y)f(Stephen)f(Gildea)4242
|
||||
4022 y(P)n(ermission)28 b(is)f(gran)n(ted)i(to)f(mak)n(e)h(and)e
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
% Reference Card for Org Mode 3.16
|
||||
% Reference Card for Org Mode 3.17
|
||||
%
|
||||
%**start of header
|
||||
\newcount\columnsperpage
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
% Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
|
||||
% for their many good ideas.
|
||||
|
||||
\def\orgversionnumber{3.16}
|
||||
\def\orgversionnumber{3.17}
|
||||
\def\year{2005}
|
||||
|
||||
\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
|
||||
|
|
|
|||
14721
lisp/ChangeLog
14721
lisp/ChangeLog
File diff suppressed because it is too large
Load diff
14343
lisp/ChangeLog.11
Normal file
14343
lisp/ChangeLog.11
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -44,7 +44,8 @@ AUTOGENEL = loaddefs.el \
|
|||
cus-load.el \
|
||||
finder-inf.el \
|
||||
subdirs.el \
|
||||
eshell/esh-groups.el
|
||||
eshell/esh-groups.el \
|
||||
mh-e/mh-loaddefs.el
|
||||
|
||||
# Files to compile before others during a bootstrap. This is done to
|
||||
# speed up the bootstrap process. The CC files are compiled first
|
||||
|
|
@ -116,7 +117,7 @@ update-subdirs: doit
|
|||
$(srcdir)/update-subdirs $$file; \
|
||||
done;
|
||||
|
||||
updates: update-subdirs autoloads finder-data custom-deps
|
||||
updates: update-subdirs autoloads mh-autoloads finder-data custom-deps
|
||||
|
||||
# Update the AUTHORS file.
|
||||
|
||||
|
|
@ -148,7 +149,7 @@ TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2)
|
|||
# subdirectories, to make sure require's and load's in the files being
|
||||
# compiled find the right files.
|
||||
|
||||
compile: $(lisp)/subdirs.el doit
|
||||
compile: $(lisp)/subdirs.el mh-autoloads doit
|
||||
find $(lisp) -name "*.elc" -print | xargs chmod +w >/dev/null 2>&1; \
|
||||
wd=$(lisp); $(setwins); \
|
||||
els=`echo $$wins | tr ' \011' '\012\012' | \
|
||||
|
|
@ -201,7 +202,7 @@ compile-after-backup: backup-compiled-files compile-always
|
|||
# Note that this doesn't create .elc files. It only recompiles if an
|
||||
# .elc is present.
|
||||
|
||||
recompile: doit $(lisp)/progmodes/cc-mode.elc
|
||||
recompile: doit mh-autoloads $(lisp)/progmodes/cc-mode.elc
|
||||
$(EMACS) $(EMACSOPT) --eval "(batch-byte-recompile-directory 0)" $(lisp)
|
||||
|
||||
# CC Mode uses a compile time macro system which causes a compile time
|
||||
|
|
@ -213,6 +214,44 @@ $(lisp)/progmodes/cc-mode.elc: \
|
|||
$(lisp)/progmodes/cc-defs.el
|
||||
$(EMACS) $(EMACSOPT) -f batch-byte-compile $(lisp)/progmodes/cc-mode.el
|
||||
|
||||
# Update MH-E internal autoloads. These are not to be confused with
|
||||
# the autoloads for the MH-E entry points, which are already in
|
||||
# loaddefs.el.
|
||||
MH-E-SRC = $(lisp)/mh-e/mh-acros.el $(lisp)/mh-e/mh-alias.el \
|
||||
$(lisp)/mh-e/mh-comp.el $(lisp)/mh-e/mh-customize.el \
|
||||
$(lisp)/mh-e/mh-e.el $(lisp)/mh-e/mh-funcs.el \
|
||||
$(lisp)/mh-e/mh-mime.el $(lisp)/mh-e/mh-pick.el \
|
||||
$(lisp)/mh-e/mh-print.el $(lisp)/mh-e/mh-inc.el \
|
||||
$(lisp)/mh-e/mh-init.el $(lisp)/mh-e/mh-index.el \
|
||||
$(lisp)/mh-e/mh-identity.el $(lisp)/mh-e/mh-junk.el \
|
||||
$(lisp)/mh-e/mh-seq.el $(lisp)/mh-e/mh-speed.el \
|
||||
$(lisp)/mh-e/mh-utils.el
|
||||
|
||||
mh-autoloads: $(lisp)/mh-e/mh-loaddefs.el
|
||||
$(lisp)/mh-e/mh-loaddefs.el: $(MH-E-SRC)
|
||||
echo ";;; mh-loaddefs.el --- automatically extracted autoloads" > $@
|
||||
echo ";;" >> $@
|
||||
echo ";;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc." >> $@
|
||||
echo ";;; Author: Bill Wohler <wohler@newt.com>" >> $@
|
||||
echo ";;; Keywords: mail" >> $@
|
||||
echo ";;; Commentary:" >> $@
|
||||
echo ";;; Change Log:" >> $@
|
||||
echo ";;; Code:" >> $@
|
||||
$(EMACS) $(EMACSOPT) \
|
||||
-l autoload \
|
||||
--eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \
|
||||
--eval "(setq generated-autoload-file \"$(lisp)/mh-e/mh-loaddefs.el\")" \
|
||||
--eval "(setq make-backup-files nil)" \
|
||||
-f batch-update-autoloads $(lisp)/mh-e
|
||||
echo "" >> $@
|
||||
echo "(provide 'mh-loaddefs)" >> $@
|
||||
echo ";;; Local Variables:" >> $@
|
||||
echo ";;; version-control: never" >> $@
|
||||
echo ";;; no-byte-compile: t" >> $@
|
||||
echo ";;; no-update-autoloads: t" >> $@
|
||||
echo ";;; End:" >> $@
|
||||
echo ";;; mh-loaddefs.el ends here" >> $@
|
||||
|
||||
# Prepare a bootstrap in the lisp subdirectory.
|
||||
#
|
||||
# Build loaddefs.el to make sure it's up-to-date. If it's not, that
|
||||
|
|
@ -241,7 +280,7 @@ bootstrap-clean:
|
|||
|
||||
# Generate/update files for the bootstrap process.
|
||||
|
||||
bootstrap: update-subdirs autoloads compile
|
||||
bootstrap: update-subdirs autoloads mh-autoloads compile
|
||||
|
||||
# Generate/update files after the bootstrap process.
|
||||
# custom-deps needs `preloaded-file-list'.
|
||||
|
|
|
|||
|
|
@ -239,6 +239,7 @@
|
|||
(real number)
|
||||
(number)
|
||||
(scalar)
|
||||
(sqmatrix matrix vector)
|
||||
(matrix vector)
|
||||
(vector)
|
||||
(const)))
|
||||
|
|
@ -305,6 +306,10 @@
|
|||
(and (not (Math-scalarp a))
|
||||
(not (math-known-scalarp a t))))
|
||||
|
||||
(defun math-known-square-matrixp (a)
|
||||
(and (math-known-matrixp a)
|
||||
(math-check-known-square-matrixp a)))
|
||||
|
||||
;;; Try to prove that A is a scalar (i.e., a non-vector).
|
||||
(defun math-check-known-scalarp (a)
|
||||
(cond ((Math-objectp a) t)
|
||||
|
|
@ -323,8 +328,17 @@
|
|||
(let ((decl (if (eq (car a) 'var)
|
||||
(or (assq (nth 2 a) math-decls-cache)
|
||||
math-decls-all)
|
||||
(assq (car a) math-decls-cache))))
|
||||
(memq 'scalar (nth 1 decl))))))
|
||||
(assq (car a) math-decls-cache)))
|
||||
val)
|
||||
(cond
|
||||
((memq 'scalar (nth 1 decl))
|
||||
t)
|
||||
((and (eq (car a) 'var)
|
||||
(boundp (nth 2 a))
|
||||
(setq val (symbol-value (nth 2 a))))
|
||||
(math-check-known-scalarp val))
|
||||
(t
|
||||
nil))))))
|
||||
|
||||
;;; Try to prove that A is *not* a scalar.
|
||||
(defun math-check-known-matrixp (a)
|
||||
|
|
@ -342,9 +356,46 @@
|
|||
(let ((decl (if (eq (car a) 'var)
|
||||
(or (assq (nth 2 a) math-decls-cache)
|
||||
math-decls-all)
|
||||
(assq (car a) math-decls-cache))))
|
||||
(memq 'vector (nth 1 decl))))))
|
||||
(assq (car a) math-decls-cache)))
|
||||
val)
|
||||
(cond
|
||||
((memq 'matrix (nth 1 decl))
|
||||
t)
|
||||
((and (eq (car a) 'var)
|
||||
(boundp (nth 2 a))
|
||||
(setq val (symbol-value (nth 2 a))))
|
||||
(math-check-known-matrixp val))
|
||||
(t
|
||||
nil))))))
|
||||
|
||||
;;; Given that A is a matrix, try to prove that it is a square matrix.
|
||||
(defun math-check-known-square-matrixp (a)
|
||||
(cond ((math-square-matrixp a)
|
||||
t)
|
||||
((eq (car-safe a) '^)
|
||||
(math-check-known-square-matrixp (nth 1 a)))
|
||||
(t
|
||||
(let ((decl (if (eq (car a) 'var)
|
||||
(or (assq (nth 2 a) math-decls-cache)
|
||||
math-decls-all)
|
||||
(assq (car a) math-decls-cache)))
|
||||
val)
|
||||
(cond
|
||||
((memq 'sqmatrix (nth 1 decl))
|
||||
t)
|
||||
((and (eq (car a) 'var)
|
||||
(boundp (nth 2 a))
|
||||
(setq val (symbol-value (nth 2 a))))
|
||||
(math-check-known-square-matrixp val))
|
||||
((and (or
|
||||
(integerp calc-matrix-mode)
|
||||
(eq calc-matrix-mode 'sqmatrix))
|
||||
(eq (car-safe a) 'var))
|
||||
t)
|
||||
((memq 'matrix (nth 1 decl))
|
||||
nil)
|
||||
(t
|
||||
nil))))))
|
||||
|
||||
;;; Try to prove that A is a real (i.e., not complex).
|
||||
(defun math-known-realp (a)
|
||||
|
|
@ -1869,6 +1920,21 @@
|
|||
(cond ((and math-simplify-only
|
||||
(not (equal a math-simplify-only)))
|
||||
(list '^ a b))
|
||||
((and (eq (car-safe a) '*)
|
||||
(or
|
||||
(and
|
||||
(math-known-matrixp (nth 1 a))
|
||||
(math-known-matrixp (nth 2 a)))
|
||||
(and
|
||||
calc-matrix-mode
|
||||
(not (eq calc-matrix-mode 'scalar))
|
||||
(and (not (math-known-scalarp (nth 1 a)))
|
||||
(not (math-known-scalarp (nth 2 a)))))))
|
||||
(if (and (= b -1)
|
||||
(math-known-square-matrixp (nth 1 a))
|
||||
(math-known-square-matrixp (nth 2 a)))
|
||||
(list '* (list '^ (nth 2 a) -1) (list '^ (nth 1 a) -1))
|
||||
(list '^ a b)))
|
||||
((and (eq (car-safe a) '*)
|
||||
(or (math-known-num-integerp b)
|
||||
(math-known-nonnegp (nth 1 a))
|
||||
|
|
|
|||
|
|
@ -296,7 +296,7 @@
|
|||
(set-window-buffer old-win (calc-trail-buffer))
|
||||
(set-window-buffer win calc-keypad-buffer)
|
||||
(set-window-start win 1)
|
||||
(setq win (split-window win (+ width 3) t))
|
||||
(setq win (split-window win (+ width 7) t))
|
||||
(set-window-buffer win calcbuf))
|
||||
(if (or t ; left-side keypad not yet fully implemented
|
||||
(< (save-excursion
|
||||
|
|
@ -384,7 +384,7 @@
|
|||
(delete-region (point-min) (point))
|
||||
(if calc-keypad-input
|
||||
(insert "Calc: " calc-keypad-input "\n")
|
||||
(insert "----+-----Calc " calc-version "-----+----"
|
||||
(insert "----+-----Calc " calc-version " -----+----"
|
||||
(int-to-string (1+ calc-keypad-menu))
|
||||
"\n")))))
|
||||
(setq calc-keypad-prev-input calc-keypad-input))
|
||||
|
|
|
|||
|
|
@ -352,6 +352,7 @@
|
|||
(if (eq calc-complex-mode 'polar) 1 0)
|
||||
(cond ((eq calc-matrix-mode 'scalar) 0)
|
||||
((eq calc-matrix-mode 'matrix) -2)
|
||||
((eq calc-matrix-mode 'sqmatrix) -3)
|
||||
(calc-matrix-mode)
|
||||
(t -1))
|
||||
(cond ((eq calc-simplify-mode 'none) -1)
|
||||
|
|
@ -476,7 +477,9 @@
|
|||
(cond ((eq arg 0) 'scalar)
|
||||
((< (prefix-numeric-value arg) 1)
|
||||
(and (< (prefix-numeric-value arg) -1) 'matrix))
|
||||
(arg (prefix-numeric-value arg))
|
||||
(arg
|
||||
(if (consp arg) 'sqmatrix
|
||||
(prefix-numeric-value arg)))
|
||||
((eq calc-matrix-mode 'matrix) 'scalar)
|
||||
((eq calc-matrix-mode 'scalar) nil)
|
||||
(t 'matrix)))
|
||||
|
|
@ -485,9 +488,11 @@
|
|||
calc-matrix-mode calc-matrix-mode)
|
||||
(message (if (eq calc-matrix-mode 'matrix)
|
||||
"Variables are assumed to be matrices"
|
||||
(if calc-matrix-mode
|
||||
"Variables are assumed to be scalars (non-matrices)"
|
||||
"Variables are not assumed to be matrix or scalar"))))))
|
||||
(if (eq calc-matrix-mode 'sqmatrix)
|
||||
"Variables are assumed to be square matrices"
|
||||
(if calc-matrix-mode
|
||||
"Variables are assumed to be scalars (non-matrices)"
|
||||
"Variables are not assumed to be matrix or scalar")))))))
|
||||
|
||||
(defun calc-set-simplify-mode (mode arg msg)
|
||||
(calc-change-mode 'calc-simplify-mode
|
||||
|
|
|
|||
|
|
@ -1069,25 +1069,18 @@
|
|||
(math-add-or-sub (list '/ (nth 1 (nth 1 expr)) (nth 2 expr))
|
||||
(list '/ (nth 2 (nth 1 expr)) (nth 2 expr))
|
||||
nil (eq (car (nth 1 expr)) '-)))
|
||||
((and (eq calc-matrix-mode 'matrix)
|
||||
(eq (car-safe expr) '^)
|
||||
(natnump (nth 2 expr))
|
||||
(> (nth 2 expr) 1)
|
||||
(memq (car-safe (nth 1 expr)) '(+ -)))
|
||||
(if (= (nth 2 expr) 2)
|
||||
(math-add-or-sub (list '* (nth 1 (nth 1 expr)) (nth 1 expr))
|
||||
(list '* (nth 2 (nth 1 expr)) (nth 1 expr))
|
||||
nil (eq (car (nth 1 expr)) '-))
|
||||
(math-add-or-sub (list '* (nth 1 (nth 1 expr)) (list '^ (nth 1 expr)
|
||||
(1- (nth 2 expr))))
|
||||
(list '* (nth 2 (nth 1 expr)) (list '^ (nth 1 expr)
|
||||
(1- (nth 2 expr))))
|
||||
nil (eq (car (nth 1 expr)) '-))))
|
||||
((and (eq (car-safe expr) '^)
|
||||
(memq (car-safe (nth 1 expr)) '(+ -))
|
||||
(integerp (nth 2 expr))
|
||||
(if (and (eq calc-matrix-mode 'matrix)
|
||||
(> (nth 2 expr) 1))
|
||||
(if (and
|
||||
(or (math-known-matrixp (nth 1 (nth 1 expr)))
|
||||
(math-known-matrixp (nth 2 (nth 1 expr)))
|
||||
(and
|
||||
calc-matrix-mode
|
||||
(not (eq calc-matrix-mode 'scalar))
|
||||
(not (and (math-known-scalarp (nth 1 (nth 1 expr)))
|
||||
(math-known-scalarp (nth 2 (nth 1 expr)))))))
|
||||
(> (nth 2 expr) 1))
|
||||
(if (= (nth 2 expr) 2)
|
||||
(math-add-or-sub (list '* (nth 1 (nth 1 expr)) (nth 1 expr))
|
||||
(list '* (nth 2 (nth 1 expr)) (nth 1 expr))
|
||||
|
|
|
|||
|
|
@ -654,6 +654,7 @@ If nil, computations on numbers always yield numbers where possible.")
|
|||
(defcalcmodevar calc-matrix-mode nil
|
||||
"If `matrix', variables are assumed to be matrix-valued.
|
||||
If a number, variables are assumed to be NxN matrices.
|
||||
If `sqmatrix', variables are assumed to be square matrices of an unspecified size.
|
||||
If `scalar', variables are assumed to be scalar-valued.
|
||||
If nil, symbolic math routines make no assumptions about variables.")
|
||||
|
||||
|
|
@ -1551,6 +1552,7 @@ See calc-keypad for details."
|
|||
(cond ((eq calc-matrix-mode 'matrix) "Matrix ")
|
||||
((integerp calc-matrix-mode)
|
||||
(format "Matrix%d " calc-matrix-mode))
|
||||
((eq calc-matrix-mode 'sqmatrix) "SqMatrix ")
|
||||
((eq calc-matrix-mode 'scalar) "Scalar ")
|
||||
(t ""))
|
||||
(if (eq calc-complex-mode 'polar) "Polar " "")
|
||||
|
|
|
|||
|
|
@ -52,19 +52,21 @@
|
|||
(setq expr (list func expr var)))
|
||||
(calc-enter-result n "derv" expr))))
|
||||
|
||||
(defun calc-integral (var)
|
||||
(interactive "sIntegration variable: ")
|
||||
(calc-slow-wrapper
|
||||
(if (or (equal var "") (equal var "$"))
|
||||
(calc-enter-result 2 "intg" (list 'calcFunc-integ
|
||||
(calc-top-n 2)
|
||||
(calc-top-n 1)))
|
||||
(let ((var (math-read-expr var)))
|
||||
(if (eq (car-safe var) 'error)
|
||||
(error "Bad format in expression: %s" (nth 1 var)))
|
||||
(calc-enter-result 1 "intg" (list 'calcFunc-integ
|
||||
(calc-top-n 1)
|
||||
var))))))
|
||||
(defun calc-integral (var &optional arg)
|
||||
(interactive "sIntegration variable: \nP")
|
||||
(if arg
|
||||
(calc-tabular-command 'calcFunc-integ "Integration" "intg" nil var nil nil)
|
||||
(calc-slow-wrapper
|
||||
(if (or (equal var "") (equal var "$"))
|
||||
(calc-enter-result 2 "intg" (list 'calcFunc-integ
|
||||
(calc-top-n 2)
|
||||
(calc-top-n 1)))
|
||||
(let ((var (math-read-expr var)))
|
||||
(if (eq (car-safe var) 'error)
|
||||
(error "Bad format in expression: %s" (nth 1 var)))
|
||||
(calc-enter-result 1 "intg" (list 'calcFunc-integ
|
||||
(calc-top-n 1)
|
||||
var)))))))
|
||||
|
||||
(defun calc-num-integral (&optional varname lowname highname)
|
||||
(interactive "sIntegration variable: ")
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
;;; appt.el --- appointment notification functions
|
||||
|
||||
;; Copyright (C) 1989, 1990, 1994, 1998, 2004 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1989, 1990, 1994, 1998, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Neil Mager <neilm@juliet.ll.mit.edu>
|
||||
;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk>
|
||||
;; Maintainer: Glenn Morris <rgm@gnu.org>
|
||||
;; Keywords: calendar
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
|
@ -337,13 +337,13 @@ displayed in a window:
|
|||
diary-hook
|
||||
(cons 'appt-make-list diary-hook))))
|
||||
(diary))
|
||||
(let ((diary-display-hook 'appt-make-list)
|
||||
(d-buff (find-buffer-visiting
|
||||
(substitute-in-file-name diary-file)))
|
||||
selective)
|
||||
(if d-buff ; diary buffer exists
|
||||
(with-current-buffer d-buff
|
||||
(setq selective selective-display)))
|
||||
(let* ((diary-display-hook 'appt-make-list)
|
||||
(d-buff (find-buffer-visiting
|
||||
(substitute-in-file-name diary-file)))
|
||||
(selective
|
||||
(if d-buff ; Diary buffer exists.
|
||||
(with-current-buffer d-buff
|
||||
diary-selective-display))))
|
||||
(diary)
|
||||
;; If the diary buffer existed before this command,
|
||||
;; restore its display state. Otherwise, kill it.
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
;; Copyright (C) 1995, 1997, 2004 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
|
||||
;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk>
|
||||
;; Maintainer: Glenn Morris <rgm@gnu.org>
|
||||
;; Keywords: calendar
|
||||
;; Human-Keywords: ISO calendar, calendar, diary
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
|
||||
;; Lara Rios <lrios@coewl.cen.uiuc.edu>
|
||||
;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk>
|
||||
;; Maintainer: Glenn Morris <rgm@gnu.org>
|
||||
;; Keywords: calendar
|
||||
;; Human-Keywords: calendar, popup menus, menu bar
|
||||
|
||||
|
|
@ -352,7 +352,7 @@ Any holidays are shown if `holidays-in-diary-buffer' is t."
|
|||
(diary-display-hook 'ignore)
|
||||
(diary-entries
|
||||
(mapcar (lambda (x) (split-string (car (cdr x)) "\^M\\|\n"))
|
||||
(diary-list-entries date 1)))
|
||||
(diary-list-entries date 1 'list-only)))
|
||||
(holidays (if holidays-in-diary-buffer
|
||||
(check-calendar-holidays date)))
|
||||
(title (concat "Diary entries "
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
;; Copyright (C) 1995, 2005 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
|
||||
;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk>
|
||||
;; Maintainer: Glenn Morris <rgm@gnu.org>
|
||||
;; Keywords: calendar
|
||||
;; Human-Keywords: calendar
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
;; Author: Michael Kifer <kifer@cs.sunysb.edu>
|
||||
;; Edward M. Reingold <reingold@cs.uiuc.edu>
|
||||
;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk>
|
||||
;; Maintainer: Glenn Morris <rgm@gnu.org>
|
||||
;; Keywords: calendar
|
||||
;; Human-Keywords: calendar, dedicated frames, X Window System
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
;; 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
|
||||
;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk>
|
||||
;; Maintainer: Glenn Morris <rgm@gnu.org>
|
||||
;; Keywords: calendar
|
||||
;; Human-Keywords: calendar, Gregorian calendar, diary, holidays
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
;; Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
|
||||
;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk>
|
||||
;; Maintainer: Glenn Morris <rgm@gnu.org>
|
||||
;; Keywords: calendar
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
|
@ -271,20 +271,22 @@ search."
|
|||
;; This can be removed once the kill/yank treatment of invisible text
|
||||
;; (see etc/TODO) is fixed. -- gm
|
||||
(defcustom diary-header-line-flag t
|
||||
"*If non-nil, `simple-diary-display' will show a header line.
|
||||
"If non-nil, `diary-simple-display' will show a header line.
|
||||
The format of the header is specified by `diary-header-line-format'."
|
||||
:group 'diary
|
||||
:type 'boolean
|
||||
:version "22.1")
|
||||
|
||||
(defvar diary-selective-display nil)
|
||||
|
||||
(defcustom diary-header-line-format
|
||||
'(:eval (calendar-string-spread
|
||||
(list (if selective-display
|
||||
(list (if diary-selective-display
|
||||
"Selective display active - press \"s\" in calendar \
|
||||
before edit/copy"
|
||||
"Diary"))
|
||||
?\s (frame-width)))
|
||||
"*Format of the header line displayed by `simple-diary-display'.
|
||||
"Format of the header line displayed by `diary-simple-display'.
|
||||
Only used if `diary-header-line-flag' is non-nil."
|
||||
:group 'diary
|
||||
:type 'sexp
|
||||
|
|
@ -322,17 +324,17 @@ number of days of diary entries displayed."
|
|||
:group 'diary)
|
||||
|
||||
(define-obsolete-function-alias 'list-diary-entries 'diary-list-entries)
|
||||
(defun diary-list-entries (date number)
|
||||
(defun diary-list-entries (date number &optional list-only)
|
||||
"Create and display a buffer containing the relevant lines in `diary-file'.
|
||||
The arguments are DATE and NUMBER; the entries selected are those
|
||||
for NUMBER days starting with date DATE. The other entries are hidden
|
||||
using selective display. If NUMBER is less than 1, this function does nothing.
|
||||
|
||||
Returns a list of all relevant diary entries found, if any, in order by date.
|
||||
The list entries have the form ((month day year) string specifier) where
|
||||
\(month day year) is the date of the entry, string is the entry text, and
|
||||
specifier is the applicability. If the variable `diary-list-include-blanks'
|
||||
is t, this list includes a dummy diary entry consisting of the empty string)
|
||||
The list entries have the form ((MONTH DAY YEAR) STRING SPECIFIER) where
|
||||
\(MONTH DAY YEAR) is the date of the entry, STRING is the entry text, and
|
||||
SPECIFIER is the applicability. If the variable `diary-list-include-blanks'
|
||||
is t, this list includes a dummy diary entry consisting of the empty string
|
||||
for a date with no diary entries.
|
||||
|
||||
After the list is prepared, the hooks `nongregorian-diary-listing-hook',
|
||||
|
|
@ -354,7 +356,9 @@ These hooks have the following distinct roles:
|
|||
add-hook to set this to ignore.
|
||||
|
||||
`diary-hook' is run last. This can be used for an appointment
|
||||
notification function."
|
||||
notification function.
|
||||
|
||||
If LIST-ONLY is non-nil don't modify or display the buffer, only return a list."
|
||||
(unless number
|
||||
(setq number (if (vectorp number-of-diary-entries)
|
||||
(aref number-of-diary-entries (calendar-day-of-week date))
|
||||
|
|
@ -373,29 +377,20 @@ These hooks have the following distinct roles:
|
|||
(set-buffer diary-buffer)
|
||||
(or (verify-visited-file-modtime diary-buffer)
|
||||
(revert-buffer t t))))
|
||||
;; Setup things like the header-line-format and invisibility-spec.
|
||||
(when (eq major-mode 'fundamental-mode) (diary-mode))
|
||||
;; d-s-p is passed to the diary display function.
|
||||
(let ((diary-saved-point (point)))
|
||||
(save-excursion
|
||||
(setq file-glob-attrs (nth 1 (diary-pull-attrs nil "")))
|
||||
(setq selective-display t)
|
||||
(setq selective-display-ellipses nil)
|
||||
(if diary-header-line-flag
|
||||
(setq header-line-format diary-header-line-format))
|
||||
(with-syntax-table diary-syntax-table
|
||||
(let ((buffer-read-only nil)
|
||||
(diary-modified (buffer-modified-p))
|
||||
(mark (regexp-quote diary-nonmarking-symbol)))
|
||||
;; First and last characters must be ^M or \n for
|
||||
;; selective display to work properly
|
||||
(goto-char (1- (point-max)))
|
||||
(if (not (looking-at "\^M\\|\n"))
|
||||
(progn
|
||||
(goto-char (point-max))
|
||||
(insert "\^M")))
|
||||
(let ((mark (regexp-quote diary-nonmarking-symbol)))
|
||||
(goto-char (point-min))
|
||||
(if (not (looking-at "\^M\\|\n"))
|
||||
(insert "\^M"))
|
||||
(subst-char-in-region (point-min) (point-max) ?\n ?\^M t)
|
||||
(unless list-only
|
||||
(let ((ol (make-overlay (point-min) (point-max) nil t nil)))
|
||||
(set (make-local-variable 'diary-selective-display) t)
|
||||
(overlay-put ol 'invisible 'diary)
|
||||
(overlay-put ol 'evaporate t)))
|
||||
(calendar-for-loop
|
||||
i from 1 to number do
|
||||
(let ((month (extract-calendar-month date))
|
||||
|
|
@ -426,7 +421,7 @@ These hooks have the following distinct roles:
|
|||
(regexp
|
||||
(concat
|
||||
"\\(\\`\\|\^M\\|\n\\)" mark "?\\("
|
||||
(mapconcat 'eval date-form "\\)\\(")
|
||||
(mapconcat 'eval date-form "\\)\\(?:")
|
||||
"\\)"))
|
||||
(case-fold-search t))
|
||||
(goto-char (point-min))
|
||||
|
|
@ -448,8 +443,9 @@ These hooks have the following distinct roles:
|
|||
(while (looking-at " \\|\^I")
|
||||
(re-search-forward "\^M\\|\n" nil t))
|
||||
(backward-char 1)
|
||||
(subst-char-in-region date-start
|
||||
(point) ?\^M ?\n t)
|
||||
(unless list-only
|
||||
(remove-overlays date-start (point)
|
||||
'invisible 'diary))
|
||||
(setq entry (buffer-substring entry-start (point))
|
||||
temp (diary-pull-attrs entry file-glob-attrs)
|
||||
entry (nth 0 temp))
|
||||
|
|
@ -467,23 +463,20 @@ These hooks have the following distinct roles:
|
|||
(setq date
|
||||
(calendar-gregorian-from-absolute
|
||||
(1+ (calendar-absolute-from-gregorian date))))
|
||||
(setq entry-found nil)))
|
||||
(set-buffer-modified-p diary-modified)))
|
||||
(setq entry-found nil)))))
|
||||
(goto-char (point-min))
|
||||
(run-hooks 'nongregorian-diary-listing-hook
|
||||
'list-diary-entries-hook)
|
||||
(if diary-display-hook
|
||||
(run-hooks 'diary-display-hook)
|
||||
(simple-diary-display))
|
||||
(unless list-only
|
||||
(if diary-display-hook
|
||||
(run-hooks 'diary-display-hook)
|
||||
(simple-diary-display)))
|
||||
(run-hooks 'diary-hook)
|
||||
diary-entries-list))))))
|
||||
|
||||
(defun diary-unhide-everything ()
|
||||
(setq selective-display nil)
|
||||
(let ((inhibit-read-only t)
|
||||
(modified (buffer-modified-p)))
|
||||
(subst-char-in-region (point-min) (point-max) ?\^M ?\n t)
|
||||
(set-buffer-modified-p modified))
|
||||
(kill-local-variable 'diary-selective-display)
|
||||
(remove-overlays (point-min) (point-max) 'invisible 'diary)
|
||||
(kill-local-variable 'mode-line-format))
|
||||
|
||||
(defun include-other-diary-files ()
|
||||
|
|
@ -603,8 +596,8 @@ This function is provided for optional use as the `diary-display-hook'."
|
|||
(setq buffer-read-only t)
|
||||
(display-buffer holiday-buffer)
|
||||
(message "No diary entries for %s" date-string)))
|
||||
(save-excursion;; Prepare the fancy diary buffer.
|
||||
(set-buffer (make-fancy-diary-buffer))
|
||||
(with-current-buffer;; Prepare the fancy diary buffer.
|
||||
(make-fancy-diary-buffer)
|
||||
(setq buffer-read-only nil)
|
||||
(let ((entry-list diary-entries-list)
|
||||
(holiday-list)
|
||||
|
|
@ -673,10 +666,10 @@ This function is provided for optional use as the `diary-display-hook'."
|
|||
(temp-face (make-symbol
|
||||
(apply
|
||||
'concat "temp-face-"
|
||||
(mapcar '(lambda (sym)
|
||||
(if (stringp sym)
|
||||
sym
|
||||
(symbol-name sym)))
|
||||
(mapcar (lambda (sym)
|
||||
(if (stringp sym)
|
||||
sym
|
||||
(symbol-name sym)))
|
||||
marks))))
|
||||
(faceinfo marks))
|
||||
(make-face temp-face)
|
||||
|
|
@ -687,7 +680,7 @@ This function is provided for optional use as the `diary-display-hook'."
|
|||
(setcar faceinfo nil)
|
||||
(setcar (cdr faceinfo) nil))
|
||||
(setq marks (delq nil marks))
|
||||
;; Apply the font aspects
|
||||
;; Apply the font aspects.
|
||||
(apply 'set-face-attribute temp-face nil marks)
|
||||
(search-backward entry)
|
||||
(overlay-put
|
||||
|
|
@ -704,8 +697,7 @@ This function is provided for optional use as the `diary-display-hook'."
|
|||
|
||||
(defun make-fancy-diary-buffer ()
|
||||
"Create and return the initial fancy diary buffer."
|
||||
(save-excursion
|
||||
(set-buffer (get-buffer-create fancy-diary-buffer))
|
||||
(with-current-buffer (get-buffer-create fancy-diary-buffer)
|
||||
(setq buffer-read-only nil)
|
||||
(calendar-set-mode-line "Diary Entries")
|
||||
(erase-buffer)
|
||||
|
|
@ -726,26 +718,33 @@ The hooks given by the variable `print-diary-entries-hook' are called to do
|
|||
the actual printing."
|
||||
(interactive)
|
||||
(if (bufferp (get-buffer fancy-diary-buffer))
|
||||
(save-excursion
|
||||
(set-buffer (get-buffer fancy-diary-buffer))
|
||||
(with-current-buffer (get-buffer fancy-diary-buffer)
|
||||
(run-hooks 'print-diary-entries-hook))
|
||||
(let ((diary-buffer
|
||||
(find-buffer-visiting (substitute-in-file-name diary-file))))
|
||||
(if diary-buffer
|
||||
(let ((temp-buffer (get-buffer-create "*Printable Diary Entries*"))
|
||||
(let ((temp-buffer (get-buffer-create " *Printable Diary Entries*"))
|
||||
(heading))
|
||||
(save-excursion
|
||||
(set-buffer diary-buffer)
|
||||
(with-current-buffer diary-buffer
|
||||
(setq heading
|
||||
(if (not (stringp mode-line-format))
|
||||
"All Diary Entries"
|
||||
(string-match "^-*\\([^-].*[^-]\\)-*$" mode-line-format)
|
||||
(substring mode-line-format
|
||||
(match-beginning 1) (match-end 1))))
|
||||
(copy-to-buffer temp-buffer (point-min) (point-max))
|
||||
(match-string 1 mode-line-format)))
|
||||
(let ((start (point-min))
|
||||
end)
|
||||
(while
|
||||
(progn
|
||||
(setq end (next-single-char-property-change
|
||||
start 'invisible))
|
||||
(if (get-char-property start 'invisible)
|
||||
nil
|
||||
(with-current-buffer temp-buffer
|
||||
(insert-buffer-substring diary-buffer
|
||||
start (or end (point-max)))))
|
||||
(setq start end)
|
||||
(and end (< end (point-max))))))
|
||||
(set-buffer temp-buffer)
|
||||
(while (re-search-forward "\^M.*$" nil t)
|
||||
(replace-match ""))
|
||||
(goto-char (point-min))
|
||||
(insert heading "\n"
|
||||
(make-string (length heading) ?=) "\n")
|
||||
|
|
@ -764,18 +763,19 @@ is created."
|
|||
(pop-up-frames (window-dedicated-p (selected-window))))
|
||||
(with-current-buffer (or (find-buffer-visiting d-file)
|
||||
(find-file-noselect d-file t))
|
||||
(when (eq major-mode 'fundamental-mode) (diary-mode))
|
||||
(diary-unhide-everything)
|
||||
(display-buffer (current-buffer)))))
|
||||
|
||||
(defcustom diary-mail-addr
|
||||
(if (boundp 'user-mail-address) user-mail-address "")
|
||||
"*Email address that `diary-mail-entries' will send email to."
|
||||
"Email address that `diary-mail-entries' will send email to."
|
||||
:group 'diary
|
||||
:type 'string
|
||||
:version "20.3")
|
||||
|
||||
(defcustom diary-mail-days 7
|
||||
"*Default number of days for `diary-mail-entries' to check."
|
||||
"Default number of days for `diary-mail-entries' to check."
|
||||
:group 'diary
|
||||
:type 'integer
|
||||
:version "20.3")
|
||||
|
|
@ -866,6 +866,7 @@ diary entries."
|
|||
file-glob-attrs marks)
|
||||
(with-current-buffer (find-file-noselect (diary-check-diary-file) t)
|
||||
(save-excursion
|
||||
(when (eq major-mode 'fundamental-mode) (diary-mode))
|
||||
(setq mark-diary-entries-in-calendar t)
|
||||
(message "Marking diary entries...")
|
||||
(setq file-glob-attrs (nth 1 (diary-pull-attrs nil '())))
|
||||
|
|
@ -1118,7 +1119,7 @@ A value of 0 in any position of the pattern is a wildcard."
|
|||
|
||||
(defcustom diary-unknown-time
|
||||
-9999
|
||||
"*Value returned by diary-entry-time when no time is found.
|
||||
"Value returned by diary-entry-time when no time is found.
|
||||
The default value -9999 causes entries with no recognizable time to be placed
|
||||
before those with times; 9999 would place entries with no recognizable time
|
||||
after those with times."
|
||||
|
|
@ -1361,7 +1362,7 @@ best if they are nonmarking."
|
|||
diary-entry))
|
||||
(if diary-entry
|
||||
(progn
|
||||
(subst-char-in-region line-start (point) ?\^M ?\n t)
|
||||
(remove-overlays line-start (point) 'invisible 'diary)
|
||||
(if (< 0 (length entry))
|
||||
(setq temp (diary-pull-attrs entry file-glob-attrs)
|
||||
entry (nth 0 temp)
|
||||
|
|
@ -1511,7 +1512,7 @@ highlighting the day in the calendar."
|
|||
(cons mark entry)))))
|
||||
|
||||
|
||||
(defun diary-anniversary (month day year &optional mark)
|
||||
(defun diary-anniversary (month day &optional year mark)
|
||||
"Anniversary diary entry.
|
||||
Entry applies if date is the anniversary of MONTH, DAY, YEAR if
|
||||
`european-calendar-style' is nil, and DAY, MONTH, YEAR if
|
||||
|
|
@ -1530,7 +1531,7 @@ use when highlighting the day in the calendar."
|
|||
day
|
||||
month))
|
||||
(y (extract-calendar-year date))
|
||||
(diff (- y year)))
|
||||
(diff (if year (- y year) 100)))
|
||||
(if (and (= m 2) (= d 29) (not (calendar-leap-year-p y)))
|
||||
(setq m 3
|
||||
d 1))
|
||||
|
|
@ -1578,7 +1579,7 @@ use when highlighting the day in the calendar."
|
|||
(concat (int-to-string days) (if (= 1 days) " day" " days")))
|
||||
" until "
|
||||
diary-entry)
|
||||
"*Pseudo-pattern giving form of reminder messages in the fancy diary
|
||||
"Pseudo-pattern giving form of reminder messages in the fancy diary
|
||||
display.
|
||||
|
||||
Used by the function `diary-remind', a pseudo-pattern is a list of
|
||||
|
|
@ -1657,12 +1658,10 @@ Do nothing if DATE or STRING is nil."
|
|||
(defun make-diary-entry (string &optional nonmarking file)
|
||||
"Insert a diary entry STRING which may be NONMARKING in FILE.
|
||||
If omitted, NONMARKING defaults to nil and FILE defaults to
|
||||
`diary-file'. Adds `diary-redraw-calendar' to
|
||||
`write-contents-functions' for FILE, so that the calendar will be
|
||||
redrawn with the new entry marked, if necessary."
|
||||
`diary-file'."
|
||||
(let ((pop-up-frames (window-dedicated-p (selected-window))))
|
||||
(find-file-other-window (substitute-in-file-name (or file diary-file))))
|
||||
(add-hook 'after-save-hook 'diary-redraw-calendar nil t)
|
||||
(when (eq major-mode 'fundamental-mode) (diary-mode))
|
||||
(widen)
|
||||
(diary-unhide-everything)
|
||||
(goto-char (point-max))
|
||||
|
|
@ -1867,6 +1866,13 @@ names."
|
|||
(eval-when-compile (require 'cal-hebrew)
|
||||
(require 'cal-islam))
|
||||
|
||||
(defconst diary-time-regexp
|
||||
;; Formats that should be accepted:
|
||||
;; 10:00 10.00 10h00 10h 10am 10:00am 10.00am
|
||||
(concat "[0-9]?[0-9]\\([AaPp][mM]\\|\\("
|
||||
"[Hh]\\([0-9][0-9]\\)?\\|[:.][0-9][0-9]"
|
||||
"\\)\\([AaPp][Mm]\\)?\\)"))
|
||||
|
||||
(defvar diary-font-lock-keywords
|
||||
(append
|
||||
(diary-font-lock-date-forms calendar-month-name-array
|
||||
|
|
@ -1907,8 +1913,10 @@ names."
|
|||
"?\\(" (regexp-quote islamic-diary-entry-symbol) "\\)")
|
||||
'(1 font-lock-reference-face))
|
||||
'(diary-font-lock-sexps . font-lock-keyword-face)
|
||||
'("[0-9]?[0-9]\\([:.]?[0-9][0-9]\\)?\\(am\\|pm\\|AM\\|PM\\)\\(-[0-9]?[0-9]\\([:.]?[0-9][0-9]\\)?\\(am\\|pm\\|AM\\|PM\\)\\)?"
|
||||
. font-lock-function-name-face)))
|
||||
(cons
|
||||
(concat ;; "^[ \t]+"
|
||||
diary-time-regexp "\\(-" diary-time-regexp "\\)?")
|
||||
'font-lock-function-name-face)))
|
||||
"Forms to highlight in `diary-mode'.")
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
;; Software Foundation, Inc.
|
||||
|
||||
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
|
||||
;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk>
|
||||
;; Maintainer: Glenn Morris <rgm@gnu.org>
|
||||
;; Keywords: holidays, calendar
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
|
||||
;; Denis B. Roegel <Denis.Roegel@loria.fr>
|
||||
;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk>
|
||||
;; Maintainer: Glenn Morris <rgm@gnu.org>
|
||||
;; Keywords: calendar
|
||||
;; Human-Keywords: sunrise, sunset, equinox, solstice, calendar, diary,
|
||||
;; holidays
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of
|
|||
(scroll-down-aggressively windows
|
||||
(choice (const :tag "off" nil) number)
|
||||
"21.1")
|
||||
(line-spacing display (choice (const :tag "none" nil) integer))
|
||||
;; callint.c
|
||||
(mark-even-if-inactive editing-basics boolean)
|
||||
;; callproc.c
|
||||
|
|
|
|||
|
|
@ -109,6 +109,9 @@
|
|||
;; * The timer managers doesn't handle multiple different timeouts.
|
||||
;; * You can't specify continuous timouts (as opposed to just lidle timers.)
|
||||
|
||||
(defvar x-pointer-hand2)
|
||||
(defvar x-pointer-top-left-arrow)
|
||||
|
||||
;;; Code:
|
||||
(defvar dframe-xemacsp (string-match "XEmacs" emacs-version)
|
||||
"Non-nil if we are running in the XEmacs environment.")
|
||||
|
|
@ -151,7 +154,7 @@
|
|||
(if (fboundp 'frame-parameter)
|
||||
|
||||
(defalias 'dframe-frame-parameter 'frame-parameter)
|
||||
|
||||
|
||||
(defun dframe-frame-parameter (frame parameter)
|
||||
"Return FRAME's PARAMETER value."
|
||||
(cdr (assoc parameter (frame-parameters frame)))))
|
||||
|
|
@ -716,7 +719,7 @@ Optionally select that frame if necessary."
|
|||
(when (or (not (dframe-mouse-event-p last-input-event))
|
||||
dframe-activity-change-focus-flag)
|
||||
(dframe-select-attached-frame)
|
||||
;; KB: For what is this - raising the frame??
|
||||
;; KB: For what is this - raising the frame??
|
||||
(other-frame 0)))
|
||||
|
||||
|
||||
|
|
@ -903,7 +906,7 @@ Must be bound to event E."
|
|||
(windowp (posn-window (event-end event))) ; Sometimes
|
||||
; there is no window to jump into.
|
||||
))
|
||||
|
||||
|
||||
(funcall dframe-track-mouse-function event)))
|
||||
|
||||
(defun dframe-track-mouse-xemacs (event)
|
||||
|
|
|
|||
|
|
@ -103,11 +103,15 @@ Buffer B."
|
|||
)
|
||||
(make-variable-buffer-local 'ediff-skip-merge-regions-that-differ-from-default)
|
||||
|
||||
;; check if there is no clash between the ancestor and one of the variants.
|
||||
(defsubst ediff-merge-region-is-non-clash (n)
|
||||
(string-match "prefer" (or (ediff-get-state-of-merge n) "")))
|
||||
|
||||
;; If ediff-show-clashes-only, check if there is no clash between the ancestor
|
||||
;; and one of the variants.
|
||||
(defsubst ediff-merge-region-is-non-clash (n)
|
||||
(defsubst ediff-merge-region-is-non-clash-to-skip (n)
|
||||
(and ediff-show-clashes-only
|
||||
(string-match "prefer" (or (ediff-get-state-of-merge n) ""))))
|
||||
(ediff-merge-region-is-non-clash n)))
|
||||
|
||||
;; If ediff-skip-changed-regions, check if the merge region differs from
|
||||
;; the current default. If a region is different from the default, it means
|
||||
|
|
|
|||
|
|
@ -1624,7 +1624,7 @@ Useful commands:
|
|||
(save-excursion
|
||||
(set-buffer meta-diff-buff)
|
||||
(goto-char (point-max))
|
||||
(insert-buffer custom-diff-buf)
|
||||
(insert-buffer-substring custom-diff-buf)
|
||||
(insert "\n")))
|
||||
;; if ediff session is not live, run diff directly on the files
|
||||
((memq metajob '(ediff-directories
|
||||
|
|
@ -1643,7 +1643,7 @@ Useful commands:
|
|||
(save-excursion
|
||||
(set-buffer meta-diff-buff)
|
||||
(goto-char (point-max))
|
||||
(insert-buffer tmp-buf)
|
||||
(insert-buffer-substring tmp-buf)
|
||||
(insert "\n")))
|
||||
(t
|
||||
(ediff-kill-buffer-carefully meta-diff-buff)
|
||||
|
|
@ -1691,7 +1691,8 @@ all marked sessions must be active."
|
|||
(ediff-get-session-objC-name info)))
|
||||
(set-buffer (get-buffer-create ediff-tmp-buffer))
|
||||
(erase-buffer)
|
||||
(insert-buffer patchbuffer)
|
||||
(insert-buffer-substring patchbuffer)
|
||||
(goto-char (point-min))
|
||||
(display-buffer ediff-tmp-buffer 'not-this-window)
|
||||
))
|
||||
(error "The patch buffer wasn't found"))))
|
||||
|
|
|
|||
|
|
@ -297,16 +297,23 @@ program."
|
|||
;; (file1 . file2). Get it using ediff-get-session-objA.
|
||||
(ediff-get-session-objA-name session-info))
|
||||
;; base-dir1 is the dir part of the 1st file in the patch
|
||||
(base-dir1 (file-name-directory (car proposed-file-names)))
|
||||
(base-dir1
|
||||
(or (file-name-directory (car proposed-file-names))
|
||||
""))
|
||||
;; directory part of the 2nd file in the patch
|
||||
(base-dir2 (file-name-directory (cdr proposed-file-names)))
|
||||
(base-dir2
|
||||
(or (file-name-directory (cdr proposed-file-names))
|
||||
""))
|
||||
)
|
||||
;; If both base-dir1 and base-dir2 are relative, assume that
|
||||
;; If both base-dir1 and base-dir2 are relative and exist,
|
||||
;; assume that
|
||||
;; these dirs lead to the actual files starting at the present
|
||||
;; directory. So, we don't strip these relative dirs from the
|
||||
;; file names. This is a heuristic intended to improve guessing
|
||||
(unless (or (and base-dir1 (file-name-absolute-p base-dir1))
|
||||
(and base-dir2 (file-name-absolute-p base-dir2)))
|
||||
(unless (or (file-name-absolute-p base-dir1)
|
||||
(file-name-absolute-p base-dir2)
|
||||
(not (file-exists-p base-dir1))
|
||||
(not (file-exists-p base-dir2)))
|
||||
(setq base-dir1 ""
|
||||
base-dir2 ""))
|
||||
(or (string= (car proposed-file-names) "/dev/null")
|
||||
|
|
@ -377,8 +384,8 @@ other files, enter /dev/null
|
|||
(concat actual-dir (cdr proposed-file-names)))))
|
||||
))
|
||||
ediff-patch-map)
|
||||
;; check for the shorter existing file in each pair and discard the other
|
||||
;; one
|
||||
;; Check for the existing files in each pair and discard the nonexisting
|
||||
;; ones. If both exist, ask the user.
|
||||
(mapcar (lambda (session-info)
|
||||
(let* ((file1 (car (ediff-get-session-objA-name session-info)))
|
||||
(file2 (cdr (ediff-get-session-objA-name session-info)))
|
||||
|
|
|
|||
|
|
@ -329,7 +329,7 @@ to invocation.")
|
|||
ediff-word-mode-job (ediff-word-mode-job))
|
||||
|
||||
;; Don't delete variants in case of ediff-buffer-* jobs without asking.
|
||||
;; This is because u may loose work---dangerous.
|
||||
;; This is because one may loose work---dangerous.
|
||||
(if (string-match "buffer" (symbol-name ediff-job-name))
|
||||
(setq ediff-keep-variants t))
|
||||
|
||||
|
|
@ -368,6 +368,7 @@ to invocation.")
|
|||
(save-excursion
|
||||
(set-buffer buffer-C)
|
||||
(insert-buffer-substring buf)
|
||||
(goto-char (point-min))
|
||||
(funcall (ediff-with-current-buffer buf major-mode))
|
||||
(widen) ; merge buffer is always widened
|
||||
(add-hook 'local-write-file-hooks 'ediff-set-merge-mode nil t)
|
||||
|
|
@ -1729,7 +1730,7 @@ With a prefix argument, go forward that many differences."
|
|||
(or (>= n ediff-number-of-differences)
|
||||
(setq regexp-skip (funcall ediff-skip-diff-region-function n))
|
||||
;; this won't exec if regexp-skip is t
|
||||
(setq non-clash-skip (ediff-merge-region-is-non-clash n)
|
||||
(setq non-clash-skip (ediff-merge-region-is-non-clash-to-skip n)
|
||||
skip-changed
|
||||
(ediff-skip-merge-region-if-changed-from-default-p n))
|
||||
(ediff-install-fine-diff-if-necessary n))
|
||||
|
|
@ -1744,6 +1745,7 @@ With a prefix argument, go forward that many differences."
|
|||
skip-changed
|
||||
;; skip difference regions that differ in white space
|
||||
(and ediff-ignore-similar-regions
|
||||
(ediff-merge-region-is-non-clash n)
|
||||
(or (eq (ediff-no-fine-diffs-p n) t)
|
||||
(and (ediff-merge-job)
|
||||
(eq (ediff-no-fine-diffs-p n) 'C)))
|
||||
|
|
@ -1754,7 +1756,7 @@ With a prefix argument, go forward that many differences."
|
|||
(or (>= n ediff-number-of-differences)
|
||||
(setq regexp-skip (funcall ediff-skip-diff-region-function n))
|
||||
;; this won't exec if regexp-skip is t
|
||||
(setq non-clash-skip (ediff-merge-region-is-non-clash n)
|
||||
(setq non-clash-skip (ediff-merge-region-is-non-clash-to-skip n)
|
||||
skip-changed
|
||||
(ediff-skip-merge-region-if-changed-from-default-p n))
|
||||
(ediff-install-fine-diff-if-necessary n))
|
||||
|
|
@ -1778,7 +1780,7 @@ With a prefix argument, go back that many differences."
|
|||
(or (< n 0)
|
||||
(setq regexp-skip (funcall ediff-skip-diff-region-function n))
|
||||
;; this won't exec if regexp-skip is t
|
||||
(setq non-clash-skip (ediff-merge-region-is-non-clash n)
|
||||
(setq non-clash-skip (ediff-merge-region-is-non-clash-to-skip n)
|
||||
skip-changed
|
||||
(ediff-skip-merge-region-if-changed-from-default-p n))
|
||||
(ediff-install-fine-diff-if-necessary n))
|
||||
|
|
@ -1802,7 +1804,7 @@ With a prefix argument, go back that many differences."
|
|||
(or (< n 0)
|
||||
(setq regexp-skip (funcall ediff-skip-diff-region-function n))
|
||||
;; this won't exec if regexp-skip is t
|
||||
(setq non-clash-skip (ediff-merge-region-is-non-clash n)
|
||||
(setq non-clash-skip (ediff-merge-region-is-non-clash-to-skip n)
|
||||
skip-changed
|
||||
(ediff-skip-merge-region-if-changed-from-default-p n))
|
||||
(ediff-install-fine-diff-if-necessary n))
|
||||
|
|
|
|||
|
|
@ -900,7 +900,7 @@ into icons, regardless of the window manager."
|
|||
|
||||
(ediff-with-current-buffer ctl-buffer
|
||||
(ediff-cond-compile-for-xemacs-or-emacs
|
||||
(set-buffer-menubar nil) ; xemacs
|
||||
(when (featurep 'menubar) (set-buffer-menubar nil)) ; xemacs
|
||||
nil ; emacs
|
||||
)
|
||||
;;(setq user-grabbed-mouse (ediff-user-grabbed-mouse))
|
||||
|
|
@ -1054,7 +1054,8 @@ into icons, regardless of the window manager."
|
|||
(if (and (ediff-window-display-p) (frame-live-p ediff-control-frame))
|
||||
(let ((ctl-frame ediff-control-frame))
|
||||
(ediff-cond-compile-for-xemacs-or-emacs
|
||||
(set-buffer-menubar default-menubar) ; xemacs
|
||||
(when (featurep 'menubar)
|
||||
(set-buffer-menubar default-menubar)) ; xemacs
|
||||
nil ; emacs
|
||||
)
|
||||
(setq ediff-control-frame nil)
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
;; Keywords: comparing, merging, patching, tools, unix
|
||||
|
||||
(defconst ediff-version "2.80.1" "The current version of Ediff")
|
||||
(defconst ediff-date "September 19, 2005" "Date of last update")
|
||||
(defconst ediff-date "October 5, 2005" "Date of last update")
|
||||
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
|
|
|||
|
|
@ -175,7 +175,8 @@ markers before we call `read'."
|
|||
(goto-char (point-min))
|
||||
(read (current-buffer))))))
|
||||
|
||||
(defvar autoload-print-form-outbuf)
|
||||
(defvar autoload-print-form-outbuf nil
|
||||
"Buffer which gets the output of `autoload-print-form'.")
|
||||
|
||||
(defun autoload-print-form (form)
|
||||
"Print FORM such that `make-docfile' will find the docstrings.
|
||||
|
|
@ -492,7 +493,7 @@ Autoload section for %s is up to date."
|
|||
(defun update-directory-autoloads (&rest dirs)
|
||||
"\
|
||||
Update loaddefs.el with all the current autoloads from DIRS, and no old ones.
|
||||
This uses `update-file-autoloads' (which see) do its work.
|
||||
This uses `update-file-autoloads' (which see) to do its work.
|
||||
In an interactive call, you must give one argument, the name
|
||||
of a single directory. In a call from Lisp, you can supply multiple
|
||||
directories as separate arguments, but this usage is discouraged.
|
||||
|
|
|
|||
|
|
@ -548,7 +548,7 @@ a cons (TYPE . COLOR), then both properties are affected."
|
|||
|
||||
;;; Global Mark support is in cua-gmrk.el
|
||||
|
||||
(autoload 'cua-toggle-global-mark "cua-gmrk.el" nil t nil)
|
||||
(autoload 'cua-toggle-global-mark "cua-gmrk" nil t nil)
|
||||
|
||||
;; Stub definitions until cua-gmrk.el is loaded
|
||||
|
||||
|
|
|
|||
|
|
@ -494,13 +494,20 @@
|
|||
viper-empty-keymap))
|
||||
))
|
||||
|
||||
;; in emacs with emulation-mode-map-alists, nothing needs to be done
|
||||
;; This var is not local in Emacs, so we make it local. It must be local
|
||||
;; because although the stack of minor modes can be the same for all buffers,
|
||||
;; the associated *keymaps* can be different. In Viper,
|
||||
;; viper-vi-local-user-map, viper-insert-local-user-map, and others can have
|
||||
;; different keymaps for different buffers. Also, the keymaps associated
|
||||
;; with viper-vi/insert-state-modifier-minor-mode can be different.
|
||||
;; ***This is needed only in case emulation-mode-map-alists is not defined.
|
||||
;; In emacs with emulation-mode-map-alists, nothing needs to be done
|
||||
(unless
|
||||
(and (fboundp 'add-to-ordered-list) (boundp 'emulation-mode-map-alists))
|
||||
(setq minor-mode-map-alist
|
||||
(viper-append-filter-alist
|
||||
(append viper--intercept-key-maps viper--key-maps)
|
||||
minor-mode-map-alist)))
|
||||
(set (make-local-variable 'minor-mode-map-alist)
|
||||
(viper-append-filter-alist
|
||||
(append viper--intercept-key-maps viper--key-maps)
|
||||
minor-mode-map-alist)))
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -509,7 +516,7 @@
|
|||
|
||||
;; Modifies mode-line-buffer-identification.
|
||||
(defun viper-refresh-mode-line ()
|
||||
(setq viper-mode-string
|
||||
(set (make-local-variable 'viper-mode-string)
|
||||
(cond ((eq viper-current-state 'emacs-state) viper-emacs-state-id)
|
||||
((eq viper-current-state 'vi-state) viper-vi-state-id)
|
||||
((eq viper-current-state 'replace-state) viper-replace-state-id)
|
||||
|
|
@ -4781,7 +4788,7 @@ sensitive for VI-style look-and-feel."
|
|||
level-changed t)
|
||||
(insert "
|
||||
Please specify your level of familiarity with the venomous VI PERil
|
||||
(and the VI Plan for Emacs Rescue).
|
||||
\(and the VI Plan for Emacs Rescue).
|
||||
You can change it at any time by typing `M-x viper-set-expert-level RET'
|
||||
|
||||
1 -- BEGINNER: Almost all Emacs features are suppressed.
|
||||
|
|
@ -5000,5 +5007,5 @@ Mail anyway (y or n)? ")
|
|||
|
||||
|
||||
|
||||
;;; arch-tag: 739a6450-5fda-44d0-88b0-325053d888c2
|
||||
;; arch-tag: 739a6450-5fda-44d0-88b0-325053d888c2
|
||||
;;; viper-cmd.el ends here
|
||||
|
|
|
|||
|
|
@ -115,11 +115,6 @@ In all likelihood, you don't need to bother with this setting."
|
|||
|
||||
;;; Macros
|
||||
|
||||
;; Fool the compiler to avoid warnings.
|
||||
;; Viper calls make-variable-buffer-local from within other functions, which
|
||||
;; triggers compiler warnings.
|
||||
(defalias 'viper-make-variable-buffer-local 'make-variable-buffer-local)
|
||||
|
||||
(defmacro viper-deflocalvar (var default-value &optional documentation)
|
||||
`(progn
|
||||
(defvar ,var ,default-value
|
||||
|
|
@ -1019,19 +1014,19 @@ Should be set in `~/.viper' file."
|
|||
(defun viper-restore-cursor-type ()
|
||||
(condition-case nil
|
||||
(if viper-xemacs-p
|
||||
(setq bar-cursor nil)
|
||||
(set (make-local-variable 'bar-cursor) nil)
|
||||
(setq cursor-type default-cursor-type))
|
||||
(error nil)))
|
||||
|
||||
(defun viper-set-insert-cursor-type ()
|
||||
(if viper-xemacs-p
|
||||
(setq bar-cursor 2)
|
||||
(set (make-local-variable 'bar-cursor) 2)
|
||||
(setq cursor-type '(bar . 2))))
|
||||
|
||||
|
||||
;;; Local Variables:
|
||||
;;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
|
||||
;;; End:
|
||||
;; Local Variables:
|
||||
;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
|
||||
;; End:
|
||||
|
||||
;;; arch-tag: 4efa2416-1fcb-4690-be10-1a2a0248d250
|
||||
;; arch-tag: 4efa2416-1fcb-4690-be10-1a2a0248d250
|
||||
;;; viper-init.el ends here
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
|
||||
;; Keywords: emulations
|
||||
|
||||
(defconst viper-version "3.11.5 of September 19, 2005"
|
||||
(defconst viper-version "3.11.5 of October 5, 2005"
|
||||
"The current version of Viper")
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
|
@ -605,8 +605,6 @@ This startup message appears whenever you load Viper, unless you type `y' now."
|
|||
))
|
||||
(viper-set-expert-level 'dont-change-unless)))
|
||||
|
||||
(if viper-xemacs-p
|
||||
(viper-make-variable-buffer-local 'bar-cursor))
|
||||
(if (eq major-mode 'viper-mode)
|
||||
(setq major-mode 'fundamental-mode))
|
||||
|
||||
|
|
@ -627,8 +625,8 @@ This startup message appears whenever you load Viper, unless you type `y' now."
|
|||
|
||||
;; This hook designed to enable Vi-style editing in comint-based modes."
|
||||
(defun viper-comint-mode-hook ()
|
||||
(setq require-final-newline nil
|
||||
viper-ex-style-editing nil
|
||||
(set (make-local-variable 'require-final-newline) nil)
|
||||
(setq viper-ex-style-editing nil
|
||||
viper-ex-style-motion nil)
|
||||
(viper-change-state-to-insert))
|
||||
|
||||
|
|
@ -1000,17 +998,6 @@ It also can't undo some Viper settings."
|
|||
;; these are primarily advices and Vi-ish variable settings
|
||||
(defun viper-non-hook-settings ()
|
||||
|
||||
;; This var is not local in Emacs, so we make it local. It must be local
|
||||
;; because although the stack of minor modes can be the same for all buffers,
|
||||
;; the associated *keymaps* can be different. In Viper,
|
||||
;; viper-vi-local-user-map, viper-insert-local-user-map, and others can have
|
||||
;; different keymaps for different buffers. Also, the keymaps associated
|
||||
;; with viper-vi/insert-state-modifier-minor-mode can be different.
|
||||
;; ***This is needed only in case emulation-mode-map-alists is not defined
|
||||
(unless
|
||||
(and (fboundp 'add-to-ordered-list) (boundp 'emulation-mode-map-alists))
|
||||
(viper-make-variable-buffer-local 'minor-mode-map-alist))
|
||||
|
||||
;; Viper changes the default mode-line-buffer-identification
|
||||
(setq-default mode-line-buffer-identification '(" %b"))
|
||||
|
||||
|
|
@ -1018,8 +1005,6 @@ It also can't undo some Viper settings."
|
|||
(setq next-line-add-newlines nil
|
||||
require-final-newline t)
|
||||
|
||||
(viper-make-variable-buffer-local 'require-final-newline)
|
||||
|
||||
;; don't bark when mark is inactive
|
||||
(if viper-emacs-p
|
||||
(setq mark-even-if-inactive t))
|
||||
|
|
@ -1027,7 +1012,6 @@ It also can't undo some Viper settings."
|
|||
(setq scroll-step 1)
|
||||
|
||||
;; Variable displaying the current Viper state in the mode line.
|
||||
(viper-deflocalvar viper-mode-string viper-emacs-state-id)
|
||||
(or (memq 'viper-mode-string global-mode-string)
|
||||
(setq global-mode-string
|
||||
(append '("" viper-mode-string) (cdr global-mode-string))))
|
||||
|
|
@ -1336,9 +1320,9 @@ These two lines must come in the order given.
|
|||
(provide 'viper)
|
||||
|
||||
|
||||
;;; Local Variables:
|
||||
;;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
|
||||
;;; End:
|
||||
;; Local Variables:
|
||||
;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
|
||||
;; End:
|
||||
|
||||
;;; arch-tag: 5f3e844c-c4e6-4bbd-9b73-63bdc14e7d79
|
||||
;; arch-tag: 5f3e844c-c4e6-4bbd-9b73-63bdc14e7d79
|
||||
;;; viper.el ends here
|
||||
|
|
|
|||
|
|
@ -354,7 +354,7 @@ contained expressions. You can also alter it by calling
|
|||
Each element in a user-level keywords list should have one of these forms:
|
||||
|
||||
MATCHER
|
||||
(MATCHER . MATCH)
|
||||
(MATCHER . SUBEXP)
|
||||
(MATCHER . FACENAME)
|
||||
(MATCHER . HIGHLIGHT)
|
||||
(MATCHER HIGHLIGHT ...)
|
||||
|
|
@ -380,12 +380,13 @@ word \"bar\" following the word \"anchor\" then MATCH-ANCHORED may be required.
|
|||
|
||||
MATCH-HIGHLIGHT should be of the form:
|
||||
|
||||
(MATCH FACENAME [OVERRIDE [LAXMATCH]])
|
||||
(SUBEXP FACENAME [OVERRIDE [LAXMATCH]])
|
||||
|
||||
MATCH is the subexpression of MATCHER to be highlighted. FACENAME is an
|
||||
expression whose value is the face name to use. Face default attributes
|
||||
can be modified via \\[customize]. Instead of a face, FACENAME can
|
||||
evaluate to a property list of the form (face FACE PROP1 VAL1 PROP2 VAL2 ...)
|
||||
SUBEXP is the number of the subexpression of MATCHER to be highlighted.
|
||||
|
||||
FACENAME is an expression whose value is the face name to use.
|
||||
Instead of a face, FACENAME can evaluate to a property list
|
||||
of the form (face FACE PROP1 VAL1 PROP2 VAL2 ...)
|
||||
in which case all the listed text-properties will be set rather than
|
||||
just FACE. In such a case, you will most likely want to put those
|
||||
properties in `font-lock-extra-managed-props' or to override
|
||||
|
|
@ -395,7 +396,8 @@ OVERRIDE and LAXMATCH are flags. If OVERRIDE is t, existing fontification can
|
|||
be overwritten. If `keep', only parts not already fontified are highlighted.
|
||||
If `prepend' or `append', existing fontification is merged with the new, in
|
||||
which the new or existing fontification, respectively, takes precedence.
|
||||
If LAXMATCH is non-nil, no error is signaled if there is no MATCH in MATCHER.
|
||||
If LAXMATCH is non-nil, that means don't signal an error if there is
|
||||
no match for SUBEXP in MATCHER.
|
||||
|
||||
For example, an element of the form highlights (if not already highlighted):
|
||||
|
||||
|
|
@ -508,36 +510,35 @@ The function is called with a single parameter (the state as returned by
|
|||
should return a face. This is normally set via `font-lock-defaults'.")
|
||||
|
||||
(defvar font-lock-syntactic-keywords nil
|
||||
"A list of the syntactic keywords to highlight.
|
||||
Can be the list or the name of a function or variable whose value is the list.
|
||||
See `font-lock-keywords' for a description of the form of this list;
|
||||
the differences are listed below. MATCH-HIGHLIGHT should be of the form:
|
||||
"A list of the syntactic keywords to put syntax properties on.
|
||||
The value can be the list itself, or the name of a function or variable
|
||||
whose value is the list.
|
||||
|
||||
(MATCH SYNTAX OVERRIDE LAXMATCH)
|
||||
See `font-lock-keywords' for a description of the form of this list;
|
||||
only the differences are stated here. MATCH-HIGHLIGHT should be of the form:
|
||||
|
||||
(SUBEXP SYNTAX OVERRIDE LAXMATCH)
|
||||
|
||||
where SYNTAX can be a string (as taken by `modify-syntax-entry'), a syntax
|
||||
table, a cons cell (as returned by `string-to-syntax') or an expression whose
|
||||
value is such a form. OVERRIDE cannot be `prepend' or `append'.
|
||||
|
||||
For example, an element of the form highlights syntactically:
|
||||
Here are two examples of elements of `font-lock-syntactic-keywords'
|
||||
and what they do:
|
||||
|
||||
(\"\\\\$\\\\(#\\\\)\" 1 \".\")
|
||||
|
||||
a hash character when following a dollar character, with a SYNTAX of
|
||||
\".\" (meaning punctuation syntax). Assuming that the buffer syntax table does
|
||||
specify hash characters to have comment start syntax, the element will only
|
||||
highlight hash characters that do not follow dollar characters as comments
|
||||
syntactically.
|
||||
gives a hash character punctuation syntax (\".\") when following a
|
||||
dollar-sign character. Hash characters in other contexts will still
|
||||
follow whatever the syntax table says about the hash character.
|
||||
|
||||
(\"\\\\('\\\\).\\\\('\\\\)\"
|
||||
(1 \"\\\"\")
|
||||
(2 \"\\\"\"))
|
||||
|
||||
both single quotes which surround a single character, with a SYNTAX of
|
||||
\"\\\"\" (meaning string quote syntax). Assuming that the buffer syntax table
|
||||
does not specify single quotes to have quote syntax, the element will only
|
||||
highlight single quotes of the form 'c' as strings syntactically.
|
||||
Other forms, such as foo'bar or 'fubar', will not be highlighted as strings.
|
||||
gives a pair single-quotes, which surround a single character, a SYNTAX of
|
||||
\"\\\"\" (meaning string quote syntax). Single-quote characters in other
|
||||
contexts will not be affected.
|
||||
|
||||
This is normally set via `font-lock-defaults'.")
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,26 @@
|
|||
2005-10-09 Daniel Brockman <daniel@brockman.se>
|
||||
|
||||
* format-spec.el (format-spec): Propagate text properties of % spec.
|
||||
|
||||
2005-01-21 Derek Atkins <warlord@MIT.EDU> (tiny change)
|
||||
|
||||
* pgg-pgp.el (pgg-pgp-decrypt-region): Use passphrase cache.
|
||||
|
||||
2005-10-08 Simon Josefsson <jas@extundo.com>
|
||||
|
||||
* pgg-parse.el (top-level): Don't require custom, it is
|
||||
autoloaded. (To sync with No Gnus.)
|
||||
|
||||
2005-05-09 Simon Josefsson <jas@extundo.com>
|
||||
|
||||
* pgg-gpg.el (pgg-gpg-possibly-cache-passphrase): Fix PIN caching,
|
||||
tiny patch from "Georg C. F. Greve" <greve@gnu.org>.
|
||||
|
||||
2005-10-08 Simon Josefsson <jas@extundo.com>
|
||||
|
||||
* pgg-def.el (top-level): Don't require custom, it is
|
||||
autoloaded. (To sync with No Gnus.)
|
||||
|
||||
2005-10-04 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* mm-url.el (mm-url-predefined-programs): Add switches for curl.
|
||||
|
|
|
|||
|
|
@ -33,7 +33,8 @@
|
|||
"Return a string based on FORMAT and SPECIFICATION.
|
||||
FORMAT is a string containing `format'-like specs like \"bash %u %k\",
|
||||
while SPECIFICATION is an alist mapping from format spec characters
|
||||
to values."
|
||||
to values. Any text properties on a %-spec itself are propagated to
|
||||
the text that it generates."
|
||||
(with-temp-buffer
|
||||
(insert format)
|
||||
(goto-char (point-min))
|
||||
|
|
@ -47,10 +48,17 @@ to values."
|
|||
(let* ((num (match-string 1))
|
||||
(spec (string-to-char (match-string 2)))
|
||||
(val (cdr (assq spec specification))))
|
||||
(delete-region (1- (match-beginning 0)) (match-end 0))
|
||||
(unless val
|
||||
(error "Invalid format character: %s" spec))
|
||||
(insert (format (concat "%" num "s") val))))
|
||||
;; Pad result to desired length.
|
||||
(let ((text (format (concat "%" num "s") val)))
|
||||
;; Insert first, to preserve text properties.
|
||||
(insert-and-inherit text)
|
||||
;; Delete the specifier body.
|
||||
(delete-region (+ (match-beginning 0) (length text))
|
||||
(+ (match-end 0) (length text)))
|
||||
;; Delete the percent sign.
|
||||
(delete-region (1- (match-beginning 0)) (match-beginning 0)))))
|
||||
;; Signal an error on bogus format strings.
|
||||
(t
|
||||
(error "Invalid format string"))))
|
||||
|
|
|
|||
|
|
@ -25,8 +25,6 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(require 'custom)
|
||||
|
||||
(defgroup pgg ()
|
||||
"Glue for the various PGP implementations."
|
||||
:group 'mime
|
||||
|
|
|
|||
|
|
@ -100,13 +100,13 @@
|
|||
(if (and pgg-cache-passphrase
|
||||
(progn
|
||||
(goto-char (point-min))
|
||||
(re-search-forward "^\\[GNUPG:] GOOD_PASSPHRASE\\>" nil t)))
|
||||
(re-search-forward "^\\[GNUPG:] \\(GOOD_PASSPHRASE\\>\\)\\|\\(SIG_CREATED\\)" nil t)))
|
||||
(pgg-add-passphrase-cache
|
||||
(or key
|
||||
(progn
|
||||
(goto-char (point-min))
|
||||
(if (re-search-forward
|
||||
"^\\[GNUPG:] NEED_PASSPHRASE \\w+ ?\\w*" nil t)
|
||||
"^\\[GNUPG:] NEED_PASSPHRASE\\(_PIN\\)? \\w+ ?\\w*" nil t)
|
||||
(substring (match-string 0) -8))))
|
||||
passphrase)))
|
||||
|
||||
|
|
|
|||
|
|
@ -37,8 +37,6 @@
|
|||
|
||||
(eval-when-compile (require 'cl))
|
||||
|
||||
(require 'custom)
|
||||
|
||||
(defgroup pgg-parse ()
|
||||
"OpenPGP packet parsing."
|
||||
:group 'pgg)
|
||||
|
|
|
|||
|
|
@ -149,14 +149,16 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"."
|
|||
(defun pgg-pgp-decrypt-region (start end)
|
||||
"Decrypt the current region between START and END."
|
||||
(let* ((pgg-pgp-user-id (or pgg-pgp-user-id pgg-default-user-id))
|
||||
(key (pgg-pgp-lookup-key pgg-pgp-user-id 'encrypt))
|
||||
(passphrase
|
||||
(pgg-read-passphrase
|
||||
(format "PGP passphrase for %s: " pgg-pgp-user-id)
|
||||
(pgg-pgp-lookup-key pgg-pgp-user-id 'encrypt)))
|
||||
(format "PGP passphrase for %s: " pgg-pgp-user-id) key))
|
||||
(args
|
||||
'("+verbose=1" "+batchmode" "+language=us" "-f")))
|
||||
(pgg-pgp-process-region start end passphrase pgg-pgp-program args)
|
||||
(pgg-process-when-success nil)))
|
||||
(pgg-process-when-success
|
||||
(if pgg-cache-passphrase
|
||||
(pgg-add-passphrase-cache key passphrase)))))
|
||||
|
||||
(defun pgg-pgp-sign-region (start end &optional clearsign)
|
||||
"Make detached signature from text between START and END."
|
||||
|
|
|
|||
|
|
@ -329,7 +329,7 @@ With numeric ARG, enable auto-update if and only if ARG is positive."
|
|||
(ibuffer-backward-filter-group 1))
|
||||
(ibuffer-forward-line 0))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-do-shell-command-pipe "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-do-shell-command-pipe "ibuf-ext")
|
||||
(define-ibuffer-op shell-command-pipe (command)
|
||||
"Pipe the contents of each marked buffer to shell command COMMAND."
|
||||
(:interactive "sPipe to shell command: "
|
||||
|
|
@ -339,7 +339,7 @@ With numeric ARG, enable auto-update if and only if ARG is positive."
|
|||
(point-min) (point-max) command
|
||||
(get-buffer-create "* ibuffer-shell-output*")))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-do-shell-command-pipe-replace "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-do-shell-command-pipe-replace "ibuf-ext")
|
||||
(define-ibuffer-op shell-command-pipe-replace (command)
|
||||
"Replace the contents of marked buffers with output of pipe to COMMAND."
|
||||
(:interactive "sPipe to shell command (replace): "
|
||||
|
|
@ -351,7 +351,7 @@ With numeric ARG, enable auto-update if and only if ARG is positive."
|
|||
(shell-command-on-region (point-min) (point-max)
|
||||
command nil t)))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-do-shell-command-file "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-do-shell-command-file "ibuf-ext")
|
||||
(define-ibuffer-op shell-command-file (command)
|
||||
"Run shell command COMMAND separately on files of marked buffers."
|
||||
(:interactive "sShell command on buffer's file: "
|
||||
|
|
@ -364,7 +364,7 @@ With numeric ARG, enable auto-update if and only if ARG is positive."
|
|||
(make-temp-file
|
||||
(substring (buffer-name) 0 (min 10 (length (buffer-name))))))))))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-do-eval "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-do-eval "ibuf-ext")
|
||||
(define-ibuffer-op eval (form)
|
||||
"Evaluate FORM in each of the buffers.
|
||||
Does not display the buffer during evaluation. See
|
||||
|
|
@ -374,7 +374,7 @@ Does not display the buffer during evaluation. See
|
|||
:modifier-p :maybe)
|
||||
(eval form))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-do-view-and-eval "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-do-view-and-eval "ibuf-ext")
|
||||
(define-ibuffer-op view-and-eval (form)
|
||||
"Evaluate FORM while displaying each of the marked buffers.
|
||||
To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
|
||||
|
|
@ -389,14 +389,14 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
|
|||
(eval form))
|
||||
(switch-to-buffer ibuffer-buf))))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-do-rename-uniquely "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-do-rename-uniquely "ibuf-ext")
|
||||
(define-ibuffer-op rename-uniquely ()
|
||||
"Rename marked buffers as with `rename-uniquely'."
|
||||
(:opstring "renamed"
|
||||
:modifier-p t)
|
||||
(rename-uniquely))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-do-revert "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-do-revert "ibuf-ext")
|
||||
(define-ibuffer-op revert ()
|
||||
"Revert marked buffers as with `revert-buffer'."
|
||||
(:dangerous t
|
||||
|
|
@ -405,7 +405,7 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
|
|||
:modifier-p :maybe)
|
||||
(revert-buffer t t))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-do-replace-regexp "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-do-replace-regexp "ibuf-ext")
|
||||
(define-ibuffer-op replace-regexp (from-str to-str)
|
||||
"Perform a `replace-regexp' in marked buffers."
|
||||
(:interactive
|
||||
|
|
@ -425,7 +425,7 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
|
|||
(replace-match to-str))))
|
||||
t))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-do-query-replace "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-do-query-replace "ibuf-ext")
|
||||
(define-ibuffer-op query-replace (&rest args)
|
||||
"Perform a `query-replace' in marked buffers."
|
||||
(:interactive
|
||||
|
|
@ -441,7 +441,7 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
|
|||
(apply #'query-replace args)))
|
||||
t))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-do-query-replace-regexp "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-do-query-replace-regexp "ibuf-ext")
|
||||
(define-ibuffer-op query-replace-regexp (&rest args)
|
||||
"Perform a `query-replace-regexp' in marked buffers."
|
||||
(:interactive
|
||||
|
|
@ -457,7 +457,7 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
|
|||
(apply #'query-replace-regexp args)))
|
||||
t))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-do-print "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-do-print "ibuf-ext")
|
||||
(define-ibuffer-op print ()
|
||||
"Print marked buffers as with `print-buffer'."
|
||||
(:opstring "printed"
|
||||
|
|
@ -969,7 +969,7 @@ The list returned will be of the form (\"MODE-NAME\" . MODE-SYMBOL)."
|
|||
|
||||
;;; Extra operation definitions
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-mode "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-mode "ibuf-ext")
|
||||
(define-ibuffer-filter mode
|
||||
"Toggle current view to buffers with major mode QUALIFIER."
|
||||
(:description "major mode"
|
||||
|
|
@ -987,7 +987,7 @@ The list returned will be of the form (\"MODE-NAME\" . MODE-SYMBOL)."
|
|||
"")))))
|
||||
(eq qualifier (with-current-buffer buf major-mode)))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-used-mode "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-used-mode "ibuf-ext")
|
||||
(define-ibuffer-filter used-mode
|
||||
"Toggle current view to buffers with major mode QUALIFIER.
|
||||
Called interactively, this function allows selection of modes
|
||||
|
|
@ -1006,14 +1006,14 @@ currently used by buffers."
|
|||
"")))))
|
||||
(eq qualifier (with-current-buffer buf major-mode)))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-name "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-name "ibuf-ext")
|
||||
(define-ibuffer-filter name
|
||||
"Toggle current view to buffers with name matching QUALIFIER."
|
||||
(:description "buffer name"
|
||||
:reader (read-from-minibuffer "Filter by name (regexp): "))
|
||||
(string-match qualifier (buffer-name buf)))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-filename "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-filename "ibuf-ext")
|
||||
(define-ibuffer-filter filename
|
||||
"Toggle current view to buffers with filename matching QUALIFIER."
|
||||
(:description "filename"
|
||||
|
|
@ -1027,7 +1027,7 @@ currently used by buffers."
|
|||
(expand-file-name dired-directory))))
|
||||
(string-match qualifier it)))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-size-gt "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-size-gt "ibuf-ext")
|
||||
(define-ibuffer-filter size-gt
|
||||
"Toggle current view to buffers with size greater than QUALIFIER."
|
||||
(:description "size greater than"
|
||||
|
|
@ -1036,7 +1036,7 @@ currently used by buffers."
|
|||
(> (with-current-buffer buf (buffer-size))
|
||||
qualifier))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-size-lt "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-size-lt "ibuf-ext")
|
||||
(define-ibuffer-filter size-lt
|
||||
"Toggle current view to buffers with size less than QUALIFIER."
|
||||
(:description "size less than"
|
||||
|
|
@ -1045,7 +1045,7 @@ currently used by buffers."
|
|||
(< (with-current-buffer buf (buffer-size))
|
||||
qualifier))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-content "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-content "ibuf-ext")
|
||||
(define-ibuffer-filter content
|
||||
"Toggle current view to buffers whose contents match QUALIFIER."
|
||||
(:description "content"
|
||||
|
|
@ -1055,7 +1055,7 @@ currently used by buffers."
|
|||
(goto-char (point-min))
|
||||
(re-search-forward qualifier nil t))))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-predicate "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-filter-by-predicate "ibuf-ext")
|
||||
(define-ibuffer-filter predicate
|
||||
"Toggle current view to buffers for which QUALIFIER returns non-nil."
|
||||
(:description "predicate"
|
||||
|
|
@ -1094,7 +1094,7 @@ Default sorting modes are:
|
|||
"normal"))
|
||||
(ibuffer-redisplay t))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-do-sort-by-major-mode "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-do-sort-by-major-mode "ibuf-ext")
|
||||
(define-ibuffer-sorter major-mode
|
||||
"Sort the buffers by major modes.
|
||||
Ordering is lexicographic."
|
||||
|
|
@ -1108,7 +1108,7 @@ Ordering is lexicographic."
|
|||
(car b)
|
||||
major-mode)))))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-do-sort-by-mode-name "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-do-sort-by-mode-name "ibuf-ext")
|
||||
(define-ibuffer-sorter mode-name
|
||||
"Sort the buffers by their mode name.
|
||||
Ordering is lexicographic."
|
||||
|
|
@ -1122,7 +1122,7 @@ Ordering is lexicographic."
|
|||
(car b)
|
||||
mode-name))))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-do-sort-by-alphabetic "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-do-sort-by-alphabetic "ibuf-ext")
|
||||
(define-ibuffer-sorter alphabetic
|
||||
"Sort the buffers by their names.
|
||||
Ordering is lexicographic."
|
||||
|
|
@ -1131,7 +1131,7 @@ Ordering is lexicographic."
|
|||
(buffer-name (car a))
|
||||
(buffer-name (car b))))
|
||||
|
||||
;;;###autoload (autoload 'ibuffer-do-sort-by-size "ibuf-ext.el")
|
||||
;;;###autoload (autoload 'ibuffer-do-sort-by-size "ibuf-ext")
|
||||
(define-ibuffer-sorter size
|
||||
"Sort the buffers by their size."
|
||||
(:description "size")
|
||||
|
|
|
|||
37
lisp/info.el
37
lisp/info.el
|
|
@ -3150,8 +3150,6 @@ if point is in a menu item description, follow that menu item."
|
|||
:help "Look for another occurrence of previous item"]
|
||||
["Lookup a string in all indices..." info-apropos
|
||||
:help "Look for a string in the indices of all manuals"])
|
||||
["Edit" Info-edit :help "Edit contents of this node"
|
||||
:active Info-enable-edit]
|
||||
["Copy Node Name" Info-copy-current-node-name
|
||||
:help "Copy the name of the current node into the kill ring"]
|
||||
["Clone Info buffer" clone-buffer
|
||||
|
|
@ -3290,18 +3288,17 @@ Selecting other nodes:
|
|||
\\[Info-menu] Pick menu item specified by name (or abbreviation).
|
||||
Picking a menu item causes another node to be selected.
|
||||
\\[Info-directory] Go to the Info directory node.
|
||||
\\[Info-top-node] Go to the Top node of this file.
|
||||
\\[Info-final-node] Go to the final node in this file.
|
||||
\\[Info-backward-node] Go backward one node, considering all nodes as forming one sequence.
|
||||
\\[Info-forward-node] Go forward one node, considering all nodes as forming one sequence.
|
||||
\\[Info-next-reference] Move cursor to next cross-reference or menu item.
|
||||
\\[Info-prev-reference] Move cursor to previous cross-reference or menu item.
|
||||
\\[Info-follow-reference] Follow a cross reference. Reads name of reference.
|
||||
\\[Info-history-back] Move back in history to the last node you were at.
|
||||
\\[Info-history-forward] Move forward in history to the node you returned from after using \\[Info-history-back].
|
||||
\\[Info-history] Go to menu of visited nodes.
|
||||
\\[Info-toc] Go to table of contents of the current Info file.
|
||||
\\[Info-top-node] Go to the Top node of this file.
|
||||
\\[Info-final-node] Go to the final node in this file.
|
||||
\\[Info-backward-node] Go backward one node, considering all nodes as forming one sequence.
|
||||
\\[Info-forward-node] Go forward one node, considering all nodes as forming one sequence.
|
||||
\\[Info-index] Look up a topic in this file's Index and move to that node.
|
||||
\\[Info-index-next] (comma) Move to the next match from a previous \\<Info-mode-map>\\[Info-index] command.
|
||||
\\[info-apropos] Look for a string in the indices of all manuals.
|
||||
|
||||
Moving within a node:
|
||||
\\[Info-scroll-up] Normally, scroll forward a full screen.
|
||||
|
|
@ -3315,22 +3312,22 @@ Moving within a node:
|
|||
\\[beginning-of-buffer] Go to beginning of node.
|
||||
|
||||
Advanced commands:
|
||||
\\[Info-copy-current-node-name] Put name of current Info node in the kill ring.
|
||||
\\[clone-buffer] Select a new cloned Info buffer in another window.
|
||||
\\[Info-edit] Edit contents of selected node.
|
||||
1 .. 9 Pick first ... ninth item in node's menu.
|
||||
Every third `*' is highlighted to help pick the right number.
|
||||
\\[Info-goto-node] Move to node specified by name.
|
||||
You may include a filename as well, as (FILENAME)NODENAME.
|
||||
\\[universal-argument] \\[info] Move to new Info file with completion.
|
||||
\\[universal-argument] N \\[info] Select Info buffer with prefix number in the name *info*<N>.
|
||||
\\[Info-search] Search through this Info file for specified regexp,
|
||||
and select the node in which the next occurrence is found.
|
||||
\\[Info-search-case-sensitively] Search through this Info file for specified regexp case-sensitively.
|
||||
\\[Info-search-next] Search for another occurrence of regexp
|
||||
from a previous \\<Info-mode-map>\\[Info-search] command.
|
||||
\\[Info-next-reference] Move cursor to next cross-reference or menu item.
|
||||
\\[Info-prev-reference] Move cursor to previous cross-reference or menu item."
|
||||
\\[Info-index] Look up a topic in this file's Index and move to that node.
|
||||
\\[Info-index-next] (comma) Move to the next match from a previous \\<Info-mode-map>\\[Info-index] command.
|
||||
\\[info-apropos] Look for a string in the indices of all manuals.
|
||||
\\[Info-goto-node] Move to node specified by name.
|
||||
You may include a filename as well, as (FILENAME)NODENAME.
|
||||
1 .. 9 Pick first ... ninth item in node's menu.
|
||||
Every third `*' is highlighted to help pick the right number.
|
||||
\\[Info-copy-current-node-name] Put name of current Info node in the kill ring.
|
||||
\\[clone-buffer] Select a new cloned Info buffer in another window.
|
||||
\\[universal-argument] \\[info] Move to new Info file with completion.
|
||||
\\[universal-argument] N \\[info] Select Info buffer with prefix number in the name *info*<N>."
|
||||
(kill-all-local-variables)
|
||||
(setq major-mode 'Info-mode)
|
||||
(setq mode-name "Info")
|
||||
|
|
|
|||
|
|
@ -1867,16 +1867,18 @@ specifies the character set for the major languages of Western Europe."
|
|||
(load syntax nil t))
|
||||
;; No information for syntax and case. Reset to the defaults.
|
||||
(let ((syntax-table (standard-syntax-table))
|
||||
(case-table (standard-case-table))
|
||||
(standard-table (standard-case-table))
|
||||
(case-table (make-char-table 'case-table))
|
||||
(ch (if (eq window-system 'pc) 128 160)))
|
||||
(while (< ch 256)
|
||||
(modify-syntax-entry ch " " syntax-table)
|
||||
(aset case-table ch ch)
|
||||
(setq ch (1+ ch)))
|
||||
(dotimes (i 128)
|
||||
(aset case-table i (aref standard-table i)))
|
||||
(set-char-table-extra-slot case-table 0 nil)
|
||||
(set-char-table-extra-slot case-table 1 nil)
|
||||
(set-char-table-extra-slot case-table 2 nil))
|
||||
(set-standard-case-table (standard-case-table))
|
||||
(set-char-table-extra-slot case-table 2 nil)
|
||||
(set-standard-case-table case-table))
|
||||
(let ((list (buffer-list)))
|
||||
(while list
|
||||
(with-current-buffer (car list)
|
||||
|
|
|
|||
|
|
@ -281,7 +281,7 @@ Returns the new status of auto compression (non-nil means on)."
|
|||
;;; in order to decide when to call it.
|
||||
|
||||
(put 'jka-compr-handler 'safe-magic t)
|
||||
(put 'jka-compr-handler 'operations '(jka-compr-byte-compiler-base-file-name
|
||||
(put 'jka-compr-handler 'operations '(byte-compiler-base-file-name
|
||||
write-region insert-file-contents
|
||||
file-local-copy load))
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
;; 2005 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: 1993 Barry A. Warsaw <bwarsaw@python.org>
|
||||
;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk>
|
||||
;; Maintainer: Glenn Morris <rgm@gnu.org>
|
||||
;; Created: February 1993
|
||||
;; Last Modified: 1993/09/22 18:58:46
|
||||
;; Keywords: mail, news
|
||||
|
|
|
|||
1
lisp/mh-e/.gitignore
vendored
Normal file
1
lisp/mh-e/.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
mh-loaddefs.el
|
||||
11341
lisp/mh-e/ChangeLog
11341
lisp/mh-e/ChangeLog
File diff suppressed because it is too large
Load diff
11416
lisp/mh-e/ChangeLog.1
Normal file
11416
lisp/mh-e/ChangeLog.1
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,7 +1,7 @@
|
|||
;;; mh-alias.el --- MH-E mail alias completion and expansion
|
||||
;;
|
||||
;; Copyright (C) 1994, 1995, 1996, 1997,
|
||||
;; 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
|
||||
;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Peter S. Galbraith <psg@debian.org>
|
||||
;; Maintainer: Bill Wohler <wohler@newt.com>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
;;; mh-comp.el --- MH-E functions for composing messages
|
||||
|
||||
;; Copyright (C) 1993, 1995, 1997,
|
||||
;; 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
|
||||
;; 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Bill Wohler <wohler@newt.com>
|
||||
;; Maintainer: Bill Wohler <wohler@newt.com>
|
||||
|
|
@ -979,11 +979,13 @@ When a message is composed, the hooks `text-mode-hook' and
|
|||
(setq data-begin (match-end 0))
|
||||
(setq field (match-string 1)))
|
||||
(setq data-begin (max point data-begin))
|
||||
(if (and field (mh-letter-skipped-header-field-p field))
|
||||
(set-match-data nil)
|
||||
(set-match-data (list data-begin data-end data-begin data-end)))
|
||||
(goto-char (if (equal point data-end) (1+ data-end) data-end))
|
||||
t)))
|
||||
(cond ((and field (mh-letter-skipped-header-field-p field))
|
||||
(set-match-data nil)
|
||||
nil)
|
||||
(t (set-match-data
|
||||
(list data-begin data-end data-begin data-end))
|
||||
t)))))
|
||||
|
||||
(defun mh-letter-header-end ()
|
||||
"Find the end of the message header.
|
||||
|
|
@ -1243,8 +1245,12 @@ Return t if fields added; otherwise return nil."
|
|||
(value (cdar entry-list)))
|
||||
(cond
|
||||
((equal ":identity" field)
|
||||
(when (and (not mh-identity-local)
|
||||
(assoc value mh-identity-list))
|
||||
(when ;;(and (not mh-identity-local)
|
||||
;; Bug 1204506. But do we need to be able
|
||||
;; to set an identity manually that won't be
|
||||
;; overridden by mh-insert-auto-fields?
|
||||
(assoc value mh-identity-list)
|
||||
;;)
|
||||
(mh-insert-identity value)))
|
||||
(t
|
||||
(mh-modify-header-field field value
|
||||
|
|
|
|||
|
|
@ -88,15 +88,16 @@
|
|||
If optional argument DELETE-OTHER-WINDOWS-FLAG is non-nil, other windows in
|
||||
the frame are removed."
|
||||
(interactive "P")
|
||||
(customize-group 'mh)
|
||||
(customize-group 'mh-e)
|
||||
(when delete-other-windows-flag
|
||||
(delete-other-windows)))
|
||||
|
||||
|
||||
|
||||
;;; For compiler warnings...
|
||||
(defvar mh-show-buffer)
|
||||
(defvar mh-show-folder-buffer)
|
||||
(eval-when-compile
|
||||
(defvar mh-show-buffer)
|
||||
(defvar mh-show-folder-buffer))
|
||||
|
||||
;;; MH-E Customization Groups
|
||||
|
||||
|
|
@ -301,8 +302,8 @@ aliases or addresses. The default setting flashes the address associated with
|
|||
an address in the minibuffer briefly, but does not display a warning if the
|
||||
alias is not found."
|
||||
:type '(choice (const :tag "Flash but Don't Warn If No Alias" t)
|
||||
(const :tag "Flash and Warn If No Alias" 1)
|
||||
(const :tag "Don't Flash Nor Warn If No Alias" nil))
|
||||
(const :tag "Flash and Warn If No Alias" 1)
|
||||
(const :tag "Don't Flash Nor Warn If No Alias" nil))
|
||||
:group 'mh-alias)
|
||||
|
||||
(defcustom mh-alias-insert-file nil
|
||||
|
|
@ -1214,6 +1215,7 @@ The gnus method uses a different color for each indentation."
|
|||
"Prev-Resent" ; MH
|
||||
"Priority:"
|
||||
"Received:" ; RFC 822
|
||||
"Received-SPF:" ; Gmail
|
||||
"References:"
|
||||
"Remailed-" ; MH
|
||||
"Replied:" ; MH
|
||||
|
|
@ -1246,10 +1248,11 @@ The gnus method uses a different color for each indentation."
|
|||
"X-Envelope-From:"
|
||||
"X-Envelope-Sender:"
|
||||
"X-Envelope-To:"
|
||||
"X-Evolution:" ; Evolution mail client
|
||||
"X-Evolution:" ; Evolution mail client
|
||||
"X-Face:"
|
||||
"X-Folder:" ; Spam
|
||||
"X-From-Line"
|
||||
"X-Gmail-" ; Gmail
|
||||
"X-Gnus-Mail-Source:" ; gnus
|
||||
"X-Greylist:" ; milter-greylist-1.2.1
|
||||
"X-Habeas-SWE-1:" ; Spam
|
||||
|
|
@ -1274,7 +1277,7 @@ The gnus method uses a different color for each indentation."
|
|||
"X-MIME-Autoconverted:" ; sendmail
|
||||
"X-MIMETrack:"
|
||||
"X-Mms-" ; T-Mobile pictures
|
||||
"X-MS-" ; MS Outlook
|
||||
"X-MS-" ; MS Outlook
|
||||
"X-MailScanner" ; ListProc(tm) by CREN
|
||||
"X-Mailing-List:" ; Unknown mailing list managers
|
||||
"X-Mailman-Version:" ; Mailman mailing list manager
|
||||
|
|
@ -1894,6 +1897,7 @@ where,
|
|||
for y in letter-docs
|
||||
collect `(const :tag ,y ,x)))))))
|
||||
|
||||
(mh-image-load-path)
|
||||
(mh-tool-bar-define
|
||||
((:folder mh-inc-folder mh-mime-save-parts mh-previous-undeleted-msg
|
||||
mh-page-msg mh-next-undeleted-msg mh-delete-msg mh-refile-msg
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
;; Author: Bill Wohler <wohler@newt.com>
|
||||
;; Maintainer: Bill Wohler <wohler@newt.com>
|
||||
;; Version: 7.84
|
||||
;; Version: 7.84+cvs
|
||||
;; Keywords: mail
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
|
@ -98,7 +98,7 @@
|
|||
(defvar font-lock-auto-fontify)
|
||||
(defvar font-lock-defaults)
|
||||
|
||||
(defconst mh-version "7.84" "Version number of MH-E.")
|
||||
(defconst mh-version "7.84+cvs" "Version number of MH-E.")
|
||||
|
||||
(defvar mh-partial-folder-mode-line-annotation "select"
|
||||
"Annotation when displaying part of a folder.
|
||||
|
|
@ -1667,8 +1667,10 @@ DESKTOP-BUFFER-MISC holds a list of miscellaneous info used by the
|
|||
(mh-visit-folder desktop-buffer-name)
|
||||
(current-buffer))
|
||||
|
||||
(add-to-list 'desktop-buffer-mode-handlers
|
||||
'(mh-folder-mode . mh-restore-desktop-buffer))
|
||||
;;; desktop-buffer-mode-handlers appeared in Emacs 22.
|
||||
(if (fboundp 'desktop-buffer-mode-handlers)
|
||||
(add-to-list 'desktop-buffer-mode-handlers
|
||||
'(mh-folder-mode . mh-restore-desktop-buffer)))
|
||||
|
||||
(defun mh-scan-folder (folder range &optional dont-exec-pending)
|
||||
"Scan the FOLDER over the RANGE.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; mh-identity.el --- Multiple identify support for MH-E.
|
||||
|
||||
;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Peter S. Galbraith <psg@debian.org>
|
||||
;; Maintainer: Bill Wohler <wohler@newt.com>
|
||||
|
|
|
|||
|
|
@ -41,6 +41,9 @@
|
|||
(mh-require-cl)
|
||||
(require 'mh-utils)
|
||||
|
||||
;;; Avoid compiler warnings.
|
||||
(eval-when-compile (defvar image-load-path))
|
||||
|
||||
;;; Set for local environment:
|
||||
;;; mh-progs and mh-lib used to be set in paths.el, which tried to
|
||||
;;; figure out at build time which of several possible directories MH
|
||||
|
|
@ -170,7 +173,7 @@ directories to the customizable variable `mh-path'.")
|
|||
"*List of directories to search for variants of the MH variant.
|
||||
The directories will be searched for `mhparam' in addition to directories
|
||||
listed in `mh-sys-path' and `exec-path'."
|
||||
:group 'mh
|
||||
:group 'mh-e
|
||||
:type '(repeat (directory)))
|
||||
|
||||
(defvar mh-variants nil
|
||||
|
|
@ -297,6 +300,51 @@ by the variable `mh-variants'."
|
|||
(add-to-list 'mh-variants variant)))))
|
||||
mh-variants)))
|
||||
|
||||
;;; XXX The two calls to message in this function should really be calls to
|
||||
;;; error. However, when this function is compiled via the top-level call in
|
||||
;;; mh-customize.el, it is actually called, and in a compile environment, the
|
||||
;;; errors are triggered which botches the compile. As a workaround, the calls
|
||||
;;; to error have been changed to calls to message, and code following was
|
||||
;;; inserted as an else clause. This is not robust, so if you can fix this,
|
||||
;;; please do!
|
||||
;;;###mh-autoload
|
||||
(defun mh-image-load-path ()
|
||||
"Ensure that the MH-E images are accessible by `find-image'.
|
||||
Images for MH-E are found in ../../etc/images relative to the files in
|
||||
lisp/mh-e. If `image-load-path' exists (since Emacs 22), then the images
|
||||
directory is added to it if isn't already there. Otherwise, the images
|
||||
directory is added to the `load-path' if it isn't already there."
|
||||
(let (mh-load-path mh-image-load-path)
|
||||
;; First, find mh-e in the load-path.
|
||||
(let ((path load-path))
|
||||
(while path
|
||||
(let* ((directory (directory-file-name (car path))))
|
||||
(setq mh-load-path
|
||||
(if (and (equal (file-name-nondirectory directory) "mh-e")
|
||||
(file-exists-p directory))
|
||||
directory
|
||||
nil))
|
||||
(setq path (if mh-load-path nil (cdr path)))))
|
||||
(if (not mh-load-path)
|
||||
;; This message be error; there shouldn't be an else. Blame compiler.
|
||||
(message "Can not find mh-e in load-path (OK when compiling)")
|
||||
;; Create the image path associated with this mh-e directory.
|
||||
(setq mh-image-load-path (expand-file-name
|
||||
(concat (file-name-directory mh-load-path)
|
||||
"../etc/images")))))
|
||||
(if (or (not mh-image-load-path)
|
||||
(not (file-exists-p mh-image-load-path)))
|
||||
;; This message be error; there shouldn't be an else. Blame compiler.
|
||||
(message "Can not find image directory %s (OK when compiling)"
|
||||
mh-image-load-path)
|
||||
;; If image-load-path exists, and the image path isn't there add it.
|
||||
(if (boundp 'image-load-path)
|
||||
(if (not (member mh-image-load-path image-load-path))
|
||||
(push mh-image-load-path image-load-path))
|
||||
;; Otherwise, if the image path isn't in the load-path, add it there.
|
||||
(if (not (member mh-image-load-path load-path))
|
||||
(push mh-image-load-path load-path))))))
|
||||
|
||||
(provide 'mh-init)
|
||||
|
||||
;;; Local Variables:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; mh-junk.el --- Interface to anti-spam measures
|
||||
|
||||
;; Copyright (C) 2003, 2004 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Satyaki Das <satyaki@theforce.stanford.edu>,
|
||||
;; Bill Wohler <wohler@newt.com>
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -69,25 +69,45 @@ Optional argument INLINE means make it an inline attachment."
|
|||
(call-interactively 'mh-mhn-compose-insertion)))
|
||||
|
||||
;;;###mh-autoload
|
||||
(defun mh-compose-forward (&optional description folder message)
|
||||
(defun mh-compose-forward (&optional description folder messages)
|
||||
"Add a MIME directive to forward a message, using mhn or gnus.
|
||||
If the variable `mh-compose-insertion' is set to 'mhn, then that will be used.
|
||||
If it is set to 'gnus, then that will be used instead.
|
||||
Optional argument DESCRIPTION is a description of the attachment.
|
||||
Optional argument FOLDER is the folder from which the forwarded message should
|
||||
come.
|
||||
Optional argument MESSAGE is the message to forward.
|
||||
Optional argument MESSAGES is the range of messages to forward.
|
||||
If any of the optional arguments are absent, they are prompted for."
|
||||
(interactive (list
|
||||
(read-string "Forw Content-description: ")
|
||||
(mh-prompt-for-folder "Message from" mh-sent-from-folder nil)
|
||||
(read-string (concat "Messages"
|
||||
(if (numberp mh-sent-from-msg)
|
||||
(format " (default %d): " mh-sent-from-msg)
|
||||
": ")))))
|
||||
(if (equal mh-compose-insertion 'gnus)
|
||||
(mh-mml-forward-message description folder message)
|
||||
(mh-mhn-compose-forw description folder message)))
|
||||
(interactive (let*
|
||||
((description (read-string "Forw Content-description: "))
|
||||
(folder (mh-prompt-for-folder "Message from"
|
||||
mh-sent-from-folder nil))
|
||||
(messages (let ((default-message
|
||||
(if (and (equal
|
||||
folder mh-sent-from-folder)
|
||||
(numberp mh-sent-from-msg))
|
||||
mh-sent-from-msg
|
||||
(nth 0 (mh-translate-range
|
||||
folder "cur")))))
|
||||
(if default-message
|
||||
(read-string
|
||||
(format "Messages (default %d): "
|
||||
default-message)
|
||||
nil nil
|
||||
(number-to-string default-message))
|
||||
(read-string (format "Messages: "))))))
|
||||
(list description folder messages)))
|
||||
(let
|
||||
((range))
|
||||
(if (null messages)
|
||||
(setq messages ""))
|
||||
(setq range (mh-translate-range folder messages))
|
||||
(if (null range)
|
||||
(error "No messages in specified range"))
|
||||
(dolist (message range)
|
||||
(if (equal mh-compose-insertion 'gnus)
|
||||
(mh-mml-forward-message description folder (format "%s" message))
|
||||
(mh-mhn-compose-forw description folder message)))))
|
||||
|
||||
;; To do:
|
||||
;; paragraph code should not fill # lines if MIME enabled.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; mh-print.el --- MH-E printing support
|
||||
|
||||
;; Copyright (C) 2003, 2004 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Jeffrey C Honig <jch@honig.net>
|
||||
;; Maintainer: Bill Wohler <wohler@newt.com>
|
||||
|
|
|
|||
|
|
@ -1026,10 +1026,7 @@ at the same position."
|
|||
(and (integerp t0) (integerp t1)
|
||||
(if (> mouse-1-click-follows-link 0)
|
||||
(<= (- t1 t0) mouse-1-click-follows-link)
|
||||
(< (- t0 t1) mouse-1-click-follows-link)))))
|
||||
(or (not double-click-time)
|
||||
(sit-for 0 (if (integerp double-click-time)
|
||||
double-click-time 500) t)))))
|
||||
(< (- t0 t1) mouse-1-click-follows-link))))))))
|
||||
(if (or (vectorp on-link) (stringp on-link))
|
||||
(setq event (aref on-link 0))
|
||||
(setcar event 'mouse-2)))
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
;;; newsticker.el --- A Newsticker for Emacs.
|
||||
;;; newsticker.el --- A news-ticker for Emacs.
|
||||
|
||||
;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
|
|
@ -9,11 +9,6 @@
|
|||
;; URL: http://www.nongnu.org/newsticker
|
||||
;; Created: 17. June 2003
|
||||
;; Keywords: News, RSS
|
||||
;; Time-stamp: "26. August 2005, 16:33:46 (ulf)"
|
||||
|
||||
(defconst newsticker-version "1.8" "Version number of newsticker.el.")
|
||||
|
||||
;; ======================================================================
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -29,7 +24,10 @@
|
|||
;; along with this program; if not, write to the Free Software Foundation,
|
||||
;; Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
(defconst newsticker-version "1.8" "Version number of newsticker.el.")
|
||||
|
||||
;; ======================================================================
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Overview
|
||||
|
|
@ -62,8 +60,8 @@
|
|||
|
||||
;; Requirements
|
||||
;; ------------
|
||||
;; Newsticker can be used with GNU Emacs version 21.1 or later as well as
|
||||
;; XEmacs. It requires an XML-parser (`xml.el') which is part of GNU
|
||||
;; Newsticker can be used with Emacs version 21.1 or later as well as
|
||||
;; XEmacs. It requires an XML-parser (`xml.el') which is part of
|
||||
;; Emacs. If you are using XEmacs you want to get the `net-utils' package
|
||||
;; which contains `xml.el' for XEmacs.
|
||||
|
||||
|
|
@ -71,21 +69,6 @@
|
|||
;; prints them to stdout. By default Newsticker will use wget for this
|
||||
;; task.
|
||||
|
||||
;; Installation
|
||||
;; ------------
|
||||
;; Place Newsticker in a directory where Emacs can find it. Add the
|
||||
;; following line to your Emacs startup file (`~/.emacs').
|
||||
;; (add-to-list 'load-path "/path/to/newsticker/")
|
||||
;; (autoload 'newsticker-start "newsticker" "Emacs Newsticker" t)
|
||||
;; (autoload 'newsticker-show-news "newsticker" "Emacs Newsticker" t)
|
||||
|
||||
;; Newsticker-mode supports imenu. It allows for navigating with the help
|
||||
;; of a menu. In order to use this feature you should also add the
|
||||
;; following.
|
||||
;; (add-hook 'newsticker-mode-hook 'imenu-add-menubar-index)
|
||||
|
||||
;; That's it.
|
||||
|
||||
;; Usage
|
||||
;; -----
|
||||
;; The command newsticker-show-news will display all available headlines in
|
||||
|
|
@ -151,7 +134,10 @@
|
|||
;; such a tool from slightly attenuating your Editor's responsiveness every
|
||||
;; once in a while.
|
||||
|
||||
;; Byte-compiling newsticker.el is recommended.
|
||||
;; Newsticker-mode supports imenu. It allows for navigating with the help
|
||||
;; of a menu. In order to use this feature you should also add the
|
||||
;; following.
|
||||
;; (add-hook 'newsticker-mode-hook 'imenu-add-menubar-index)
|
||||
|
||||
;; ======================================================================
|
||||
;;; History:
|
||||
|
|
@ -204,7 +190,7 @@
|
|||
;; for sending patch.
|
||||
;; * Renamed invisible buffers ` *wget-newsticker-<feed>*' to
|
||||
;; ` *newsticker-wget-<feed>*'.
|
||||
;; * Tested with GNU Emacs versions 21.3 and 22.0 and XEmacs 21.something.
|
||||
;; * Tested with Emacs versions 21.3 and 22.0 and XEmacs 21.something.
|
||||
|
||||
;; 1.6 * Support for (some) optional RSS elements: guid, dc:date. See
|
||||
;; `newsticker-show-all-rss-elements' `newsticker-extra-face'.
|
||||
|
|
@ -2307,6 +2293,7 @@ static char * visit_xpm[] = {
|
|||
;;; User fun
|
||||
;; ======================================================================
|
||||
|
||||
;;;###autoload
|
||||
(defun newsticker-start (&optional do-not-complain-if-running)
|
||||
"Start the newsticker.
|
||||
Start the timers for display and retrieval. If the newsticker, i.e. the
|
||||
|
|
@ -2395,6 +2382,7 @@ if newsticker has been running."
|
|||
(setq newsticker--display-timer nil)))
|
||||
|
||||
;; the functions we need for retrieval and display
|
||||
;;;###autoload
|
||||
(defun newsticker-show-news ()
|
||||
"Switch to newsticker buffer. You may want to bind this to a key."
|
||||
(interactive)
|
||||
|
|
|
|||
|
|
@ -844,7 +844,7 @@ which should work well in many cases."
|
|||
:type 'regexp)
|
||||
|
||||
(defcustom tramp-password-prompt-regexp
|
||||
"^.*\\([pP]assword\\|passphrase.*\\):\^@? *"
|
||||
"^.*\\([pP]assword\\|passphrase\\).*:\^@? *"
|
||||
"*Regexp matching password-like prompts.
|
||||
The regexp should match at end of buffer.
|
||||
|
||||
|
|
@ -1364,26 +1364,53 @@ implementation. The necessity, whether this variable must be set, can be
|
|||
checked via the following code:
|
||||
|
||||
(with-temp-buffer
|
||||
(let ((bytes 1000)
|
||||
(proc (start-process (buffer-name) (current-buffer) \"wc\" \"-c\")))
|
||||
(process-send-string proc (make-string bytes ?x))
|
||||
(process-send-eof proc)
|
||||
(process-send-eof proc)
|
||||
(accept-process-output proc 1)
|
||||
(goto-char (point-min))
|
||||
(re-search-forward \"\\\\w+\")
|
||||
(message \"Bytes sent: %s\\tBytes received: %s\" bytes (match-string 0))))
|
||||
(let* ((user \"xxx\") (host \"yyy\")
|
||||
(init 0) (step 50)
|
||||
(sent init) (received init))
|
||||
(while (= sent received)
|
||||
(setq sent (+ sent step))
|
||||
(erase-buffer)
|
||||
(let ((proc (start-process (buffer-name) (current-buffer)
|
||||
\"ssh\" \"-l\" user host \"wc\" \"-c\")))
|
||||
(when (memq (process-status proc) '(run open))
|
||||
(process-send-string proc (make-string sent ?\\ ))
|
||||
(process-send-eof proc)
|
||||
(process-send-eof proc))
|
||||
(while (not (progn (goto-char (point-min))
|
||||
(re-search-forward \"\\\\w+\" (point-max) t)))
|
||||
(accept-process-output proc 1))
|
||||
(when (memq (process-status proc) '(run open))
|
||||
(setq received (string-to-number (match-string 0)))
|
||||
(delete-process proc)
|
||||
(message \"Bytes sent: %s\\tBytes received: %s\" sent received)
|
||||
(sit-for 0))))
|
||||
(if (> sent (+ init step))
|
||||
(message \"You should set `tramp-chunksize' to a maximum of %s\"
|
||||
(- sent step))
|
||||
(message \"Test does not work\")
|
||||
(display-buffer (current-buffer))
|
||||
(sit-for 30))))
|
||||
|
||||
In the Emacs normally running Tramp, evaluate the above code.
|
||||
You can do this, for example, by pasting it into the `*scratch*'
|
||||
buffer and then hitting C-j with the cursor after the last
|
||||
closing parenthesis.
|
||||
In the Emacs normally running Tramp, evaluate the above code
|
||||
(replace \"xxx\" and \"yyy\" by the remote user and host name,
|
||||
respectively). You can do this, for example, by pasting it into
|
||||
the `*scratch*' buffer and then hitting C-j with the cursor after the
|
||||
last closing parenthesis. Note that it works only if you have configured
|
||||
\"ssh\" to run without password query, see ssh-agent(1).
|
||||
|
||||
If your Emacs is buggy, the sent and received numbers will be
|
||||
different. In that case, you'll want to set this variable to
|
||||
some number. For those people who have needed it, the value 500
|
||||
seems to have worked well. There is no way to predict what value
|
||||
you need; maybe you could just experiment a bit.
|
||||
You will see the number of bytes sent successfully to the remote host.
|
||||
If that number exceeds 1000, you can stop the execution by hitting
|
||||
C-g, because your Emacs is likely clean.
|
||||
|
||||
If your Emacs is buggy, the code stops and gives you an indication
|
||||
about the value `tramp-chunksize' should be set. Maybe you could just
|
||||
experiment a bit, e.g. changing the values of `init' and `step'
|
||||
in the third line of the code.
|
||||
|
||||
When it is necessary to set `tramp-chunksize', you might consider to
|
||||
use an out-of-the-band method (like \"scp\") instead of an internal one
|
||||
(like \"ssh\"), because setting `tramp-chunksize' to non-nil decreases
|
||||
performance.
|
||||
|
||||
Please raise a bug report via \"M-x tramp-bug\" if your system needs
|
||||
this variable to be set as well."
|
||||
|
|
@ -1590,8 +1617,8 @@ printf(
|
|||
on the remote file system.")
|
||||
|
||||
(defconst tramp-perl-directory-files-and-attributes "\
|
||||
chdir($ARGV[0]);
|
||||
opendir(DIR,\".\");
|
||||
chdir($ARGV[0]) or printf(\"\\\"Cannot change to $ARGV[0]: $''!''\\\"\\n\"), exit();
|
||||
opendir(DIR,\".\") or printf(\"\\\"Cannot open directory $ARGV[0]: $''!''\\\"\\n\"), exit();
|
||||
@list = readdir(DIR);
|
||||
closedir(DIR);
|
||||
$n = scalar(@list);
|
||||
|
|
@ -2371,11 +2398,14 @@ target of the symlink differ."
|
|||
(buffer-name)))
|
||||
(if time-list
|
||||
(tramp-run-real-handler 'set-visited-file-modtime (list time-list))
|
||||
(let ((f (buffer-file-name)))
|
||||
(let ((f (buffer-file-name))
|
||||
coding-system-used)
|
||||
(with-parsed-tramp-file-name f nil
|
||||
(let* ((attr (file-attributes f))
|
||||
;; '(-1 65535) means file doesn't exists yet.
|
||||
(modtime (or (nth 5 attr) '(-1 65535))))
|
||||
(when (boundp 'last-coding-system-used)
|
||||
(setq coding-system-used (symbol-value 'last-coding-system-used)))
|
||||
;; We use '(0 0) as a don't-know value. See also
|
||||
;; `tramp-handle-file-attributes-with-ls'.
|
||||
(if (not (equal modtime '(0 0)))
|
||||
|
|
@ -2390,6 +2420,8 @@ target of the symlink differ."
|
|||
(setq attr (buffer-substring (point)
|
||||
(progn (end-of-line) (point)))))
|
||||
(setq tramp-buffer-file-attributes attr))
|
||||
(when (boundp 'last-coding-system-used)
|
||||
(set 'last-coding-system-used coding-system-used))
|
||||
nil)))))
|
||||
|
||||
;; CCC continue here
|
||||
|
|
@ -2699,7 +2731,10 @@ of."
|
|||
(tramp-shell-quote-argument localname)
|
||||
(or id-format 'integer)))
|
||||
(tramp-wait-for-output)
|
||||
(let* ((root (cons nil (read (current-buffer))))
|
||||
(let* ((root (cons nil (let ((object (read (current-buffer))))
|
||||
(when (stringp object)
|
||||
(error object))
|
||||
object)))
|
||||
(cell root))
|
||||
(while (cdr cell)
|
||||
(if (and match (not (string-match match (caadr cell))))
|
||||
|
|
@ -3750,7 +3785,7 @@ This will break if COMMAND prints a newline, followed by the value of
|
|||
'insert-file-contents)
|
||||
'file-local-copy)))
|
||||
(file-local-copy filename)))
|
||||
(result nil))
|
||||
coding-system-used result)
|
||||
(when visit
|
||||
(setq buffer-file-name filename)
|
||||
(set-visited-file-modtime)
|
||||
|
|
@ -3759,10 +3794,15 @@ This will break if COMMAND prints a newline, followed by the value of
|
|||
multi-method method user host
|
||||
9 "Inserting local temp file `%s'..." local-copy)
|
||||
(setq result (insert-file-contents local-copy nil beg end replace))
|
||||
;; Now `last-coding-system-used' has right value. Remember it.
|
||||
(when (boundp 'last-coding-system-used)
|
||||
(setq coding-system-used (symbol-value 'last-coding-system-used)))
|
||||
(tramp-message-for-buffer
|
||||
multi-method method user host
|
||||
9 "Inserting local temp file `%s'...done" local-copy)
|
||||
(delete-file local-copy)
|
||||
(when (boundp 'last-coding-system-used)
|
||||
(set 'last-coding-system-used coding-system-used))
|
||||
(list (expand-file-name filename)
|
||||
(second result))))))
|
||||
|
||||
|
|
@ -3876,6 +3916,13 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file."
|
|||
(loc-dec (tramp-get-local-decoding multi-method method user host))
|
||||
(trampbuf (get-buffer-create "*tramp output*"))
|
||||
(modes (file-modes filename))
|
||||
;; We use this to save the value of `last-coding-system-used'
|
||||
;; after writing the tmp file. At the end of the function,
|
||||
;; we set `last-coding-system-used' to this saved value.
|
||||
;; This way, any intermediary coding systems used while
|
||||
;; talking to the remote shell or suchlike won't hose this
|
||||
;; variable. This approach was snarfed from ange-ftp.el.
|
||||
coding-system-used
|
||||
tmpfil)
|
||||
;; Write region into a tmp file. This isn't really needed if we
|
||||
;; use an encoding function, but currently we use it always
|
||||
|
|
@ -3892,6 +3939,9 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file."
|
|||
(if confirm ; don't pass this arg unless defined for backward compat.
|
||||
(list start end tmpfil append 'no-message lockname confirm)
|
||||
(list start end tmpfil append 'no-message lockname)))
|
||||
;; Now, `last-coding-system-used' has the right value. Remember it.
|
||||
(when (boundp 'last-coding-system-used)
|
||||
(setq coding-system-used (symbol-value 'last-coding-system-used)))
|
||||
;; The permissions of the temporary file should be set. If
|
||||
;; filename does not exist (eq modes nil) it has been renamed to
|
||||
;; the backup file. This case `save-buffer' handles
|
||||
|
|
@ -3998,6 +4048,9 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file."
|
|||
;; We must pass modtime explicitely, because filename can be different
|
||||
;; from (buffer-file-name), f.e. if `file-precious-flag' is set.
|
||||
(nth 5 (file-attributes filename))))
|
||||
;; Make `last-coding-system-used' have the right value.
|
||||
(when (boundp 'last-coding-system-used)
|
||||
(set 'last-coding-system-used coding-system-used))
|
||||
(when (or (eq visit t)
|
||||
(eq visit nil)
|
||||
(stringp visit))
|
||||
|
|
@ -6990,7 +7043,7 @@ as default."
|
|||
;; auto-saved file belonging to another original file. This could
|
||||
;; be a security threat.
|
||||
(set-file-modes buffer-auto-save-file-name
|
||||
(or (file-modes bfn) #o600)))))
|
||||
(or (file-modes bfn) (tramp-octal-to-decimal "0600"))))))
|
||||
|
||||
(unless (or (> emacs-major-version 21)
|
||||
(and (featurep 'xemacs)
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
;; are auto-frobbed from configure.ac, so you should edit that file and run
|
||||
;; "autoconf && ./configure" to change them.
|
||||
|
||||
(defconst tramp-version "2.0.50"
|
||||
(defconst tramp-version "2.0.51"
|
||||
"This version of Tramp.")
|
||||
|
||||
(defconst tramp-bug-report-address "tramp-devel@gnu.org"
|
||||
|
|
|
|||
34
lisp/pcvs.el
34
lisp/pcvs.el
|
|
@ -647,34 +647,38 @@ This is responsible for parsing the output from the cvs update when
|
|||
it is finished."
|
||||
(when (memq (process-status proc) '(signal exit))
|
||||
(let ((cvs-postproc (process-get proc 'cvs-postprocess))
|
||||
(cvs-buf (process-get proc 'cvs-buffer)))
|
||||
(cvs-buf (process-get proc 'cvs-buffer))
|
||||
(procbuf (process-buffer proc)))
|
||||
(unless (buffer-live-p cvs-buf) (setq cvs-buf nil))
|
||||
(unless (buffer-live-p procbuf) (setq procbuf nil))
|
||||
;; Since the buffer and mode line will show that the
|
||||
;; process is dead, we can delete it now. Otherwise it
|
||||
;; will stay around until M-x list-processes.
|
||||
(process-put proc 'postprocess nil)
|
||||
(delete-process proc)
|
||||
;; Don't do anything if the main buffer doesn't exist any more.
|
||||
(when (buffer-live-p cvs-buf)
|
||||
(when cvs-buf
|
||||
(with-current-buffer cvs-buf
|
||||
(cvs-update-header (process-get proc 'cvs-header) nil)
|
||||
(setq cvs-mode-line-process (symbol-name (process-status proc)))
|
||||
(force-mode-line-update)
|
||||
(when cvs-postproc
|
||||
(if (null (buffer-live-p (process-buffer proc)))
|
||||
(if (null procbuf)
|
||||
;;(set-process-buffer proc nil)
|
||||
(error "cvs' process buffer was killed")
|
||||
(with-current-buffer (process-buffer proc)
|
||||
;; do the postprocessing like parsing and such
|
||||
(save-excursion (eval cvs-postproc))
|
||||
;; check whether something is left
|
||||
(unless (get-buffer-process (current-buffer))
|
||||
;; IIRC, we enable undo again once the process is finished
|
||||
;; for cases where the output was inserted in *vc-diff* or
|
||||
;; in a file-like buffer. --Stef
|
||||
(buffer-enable-undo)
|
||||
(with-current-buffer cvs-buffer
|
||||
(message "CVS process has completed in %s"
|
||||
(buffer-name))))))))))))
|
||||
(with-current-buffer procbuf
|
||||
;; Do the postprocessing like parsing and such.
|
||||
(save-excursion (eval cvs-postproc)))))))
|
||||
;; Check whether something is left.
|
||||
(when (and procbuf (not (get-buffer-process procbuf)))
|
||||
(with-current-buffer procbuf
|
||||
;; IIRC, we enable undo again once the process is finished
|
||||
;; for cases where the output was inserted in *vc-diff* or
|
||||
;; in a file-like buffer. --Stef
|
||||
(buffer-enable-undo)
|
||||
(with-current-buffer (or cvs-buf (current-buffer))
|
||||
(message "CVS process has completed in %s"
|
||||
(buffer-name))))))))
|
||||
|
||||
(defun cvs-parse-process (dcd &optional subdir old-fis)
|
||||
"Parse the output of a cvs process.
|
||||
|
|
|
|||
|
|
@ -135,59 +135,60 @@ If the element is a function or a list of a function and a number,
|
|||
(defun zone ()
|
||||
"Zone out, completely."
|
||||
(interactive)
|
||||
(let ((f (selected-frame))
|
||||
(outbuf (get-buffer-create "*zone*"))
|
||||
(text (buffer-substring (window-start) (window-end)))
|
||||
(wp (1+ (- (window-point (selected-window))
|
||||
(window-start)))))
|
||||
(put 'zone 'orig-buffer (current-buffer))
|
||||
(put 'zone 'modeline-hidden-level 0)
|
||||
(switch-to-buffer outbuf)
|
||||
(setq mode-name "Zone")
|
||||
(erase-buffer)
|
||||
(setq buffer-undo-list t
|
||||
truncate-lines t
|
||||
tab-width (zone-orig tab-width)
|
||||
line-spacing (zone-orig line-spacing))
|
||||
(insert text)
|
||||
(untabify (point-min) (point-max))
|
||||
(set-window-start (selected-window) (point-min))
|
||||
(set-window-point (selected-window) wp)
|
||||
(sit-for 0 500)
|
||||
(let ((pgm (elt zone-programs (random (length zone-programs))))
|
||||
(ct (and f (frame-parameter f 'cursor-type)))
|
||||
(restore (list '(kill-buffer outbuf))))
|
||||
(when ct
|
||||
(modify-frame-parameters f '((cursor-type . (bar . 0))))
|
||||
(setq restore (cons '(modify-frame-parameters
|
||||
f (list (cons 'cursor-type ct)))
|
||||
restore)))
|
||||
;; Make `restore' a self-disabling one-shot thunk.
|
||||
(setq restore `(lambda () ,@restore (setq restore nil)))
|
||||
(condition-case nil
|
||||
(progn
|
||||
(message "Zoning... (%s)" pgm)
|
||||
(garbage-collect)
|
||||
;; If some input is pending, zone says "sorry", which
|
||||
;; isn't nice; this might happen e.g. when they invoke the
|
||||
;; game by clicking the menu bar. So discard any pending
|
||||
;; input before zoning out.
|
||||
(if (input-pending-p)
|
||||
(discard-input))
|
||||
(zone-call pgm)
|
||||
(message "Zoning...sorry"))
|
||||
(error
|
||||
(funcall restore)
|
||||
(while (not (input-pending-p))
|
||||
(message "We were zoning when we wrote %s..." pgm)
|
||||
(sit-for 3)
|
||||
(message "...here's hoping we didn't hose your buffer!")
|
||||
(sit-for 3)))
|
||||
(quit
|
||||
(funcall restore)
|
||||
(ding)
|
||||
(message "Zoning...sorry")))
|
||||
(when restore (funcall restore)))))
|
||||
(save-window-excursion
|
||||
(let ((f (selected-frame))
|
||||
(outbuf (get-buffer-create "*zone*"))
|
||||
(text (buffer-substring (window-start) (window-end)))
|
||||
(wp (1+ (- (window-point (selected-window))
|
||||
(window-start)))))
|
||||
(put 'zone 'orig-buffer (current-buffer))
|
||||
(put 'zone 'modeline-hidden-level 0)
|
||||
(switch-to-buffer outbuf)
|
||||
(setq mode-name "Zone")
|
||||
(erase-buffer)
|
||||
(setq buffer-undo-list t
|
||||
truncate-lines t
|
||||
tab-width (zone-orig tab-width)
|
||||
line-spacing (zone-orig line-spacing))
|
||||
(insert text)
|
||||
(untabify (point-min) (point-max))
|
||||
(set-window-start (selected-window) (point-min))
|
||||
(set-window-point (selected-window) wp)
|
||||
(sit-for 0 500)
|
||||
(let ((pgm (elt zone-programs (random (length zone-programs))))
|
||||
(ct (and f (frame-parameter f 'cursor-type)))
|
||||
(restore (list '(kill-buffer outbuf))))
|
||||
(when ct
|
||||
(modify-frame-parameters f '((cursor-type . (bar . 0))))
|
||||
(setq restore (cons '(modify-frame-parameters
|
||||
f (list (cons 'cursor-type ct)))
|
||||
restore)))
|
||||
;; Make `restore' a self-disabling one-shot thunk.
|
||||
(setq restore `(lambda () ,@restore (setq restore nil)))
|
||||
(condition-case nil
|
||||
(progn
|
||||
(message "Zoning... (%s)" pgm)
|
||||
(garbage-collect)
|
||||
;; If some input is pending, zone says "sorry", which
|
||||
;; isn't nice; this might happen e.g. when they invoke the
|
||||
;; game by clicking the menu bar. So discard any pending
|
||||
;; input before zoning out.
|
||||
(if (input-pending-p)
|
||||
(discard-input))
|
||||
(zone-call pgm)
|
||||
(message "Zoning...sorry"))
|
||||
(error
|
||||
(funcall restore)
|
||||
(while (not (input-pending-p))
|
||||
(message "We were zoning when we wrote %s..." pgm)
|
||||
(sit-for 3)
|
||||
(message "...here's hoping we didn't hose your buffer!")
|
||||
(sit-for 3)))
|
||||
(quit
|
||||
(funcall restore)
|
||||
(ding)
|
||||
(message "Zoning...sorry")))
|
||||
(when restore (funcall restore))))))
|
||||
|
||||
;;;; Zone when idle, or not.
|
||||
|
||||
|
|
|
|||
|
|
@ -1887,7 +1887,7 @@ directory specification."
|
|||
;; XXX Kludge interface.
|
||||
|
||||
(define-button-type 'tags-select-tags-table
|
||||
'action (lambda (button) (select-tags-table-select))
|
||||
'action 'select-tags-table-select
|
||||
'help-echo "RET, t or mouse-2: select tags table")
|
||||
|
||||
;; XXX If a file is in multiple tables, selection may get the wrong one.
|
||||
|
|
@ -1904,30 +1904,27 @@ see the doc of that variable if you want to add names to the list."
|
|||
(desired-point nil)
|
||||
b)
|
||||
(when tags-table-list
|
||||
(setq desired-point (point-marker))
|
||||
(setq b (point))
|
||||
(princ tags-table-list (current-buffer))
|
||||
(make-text-button b (point) 'type 'tags-select-tags-table)
|
||||
(insert "\C-m")
|
||||
(prin1 (car tags-table-list) (current-buffer)) ;invisible
|
||||
(setq desired-point (point-marker))
|
||||
(setq b (point))
|
||||
(princ (mapcar 'abbreviate-file-name tags-table-list) (current-buffer))
|
||||
(make-text-button b (point) 'type 'tags-select-tags-table
|
||||
'etags-table (car tags-table-list))
|
||||
(insert "\n"))
|
||||
(while set-list
|
||||
(unless (eq (car set-list) tags-table-list)
|
||||
(setq b (point))
|
||||
(princ (car set-list) (current-buffer))
|
||||
(make-text-button b (point) 'type 'tags-select-tags-table)
|
||||
(insert "\C-m")
|
||||
(prin1 (car (car set-list)) (current-buffer)) ;invisible
|
||||
(princ (mapcar 'abbreviate-file-name (car set-list)) (current-buffer))
|
||||
(make-text-button b (point) 'type 'tags-select-tags-table
|
||||
'etags-table (car (car set-list)))
|
||||
(insert "\n"))
|
||||
(setq set-list (cdr set-list)))
|
||||
(when tags-file-name
|
||||
(or desired-point
|
||||
(setq desired-point (point-marker)))
|
||||
(setq b (point))
|
||||
(insert tags-file-name)
|
||||
(make-text-button b (point) 'type 'tags-select-tags-table)
|
||||
(insert "\C-m")
|
||||
(prin1 tags-file-name (current-buffer)) ;invisible
|
||||
(or desired-point
|
||||
(setq desired-point (point-marker)))
|
||||
(setq b (point))
|
||||
(insert (abbreviate-file-name tags-file-name))
|
||||
(make-text-button b (point) 'type 'tags-select-tags-table
|
||||
'etags-table tags-file-name)
|
||||
(insert "\n"))
|
||||
(setq set-list (delete tags-file-name
|
||||
(apply 'nconc (cons (copy-sequence tags-table-list)
|
||||
|
|
@ -1935,10 +1932,9 @@ see the doc of that variable if you want to add names to the list."
|
|||
tags-table-set-list)))))
|
||||
(while set-list
|
||||
(setq b (point))
|
||||
(insert (car set-list))
|
||||
(make-text-button b (point) 'type 'tags-select-tags-table)
|
||||
(insert "\C-m")
|
||||
(prin1 (car set-list) (current-buffer)) ;invisible
|
||||
(insert (abbreviate-file-name (car set-list)))
|
||||
(make-text-button b (point) 'type 'tags-select-tags-table
|
||||
'etags-table (car set-list))
|
||||
(insert "\n")
|
||||
(setq set-list (delete (car set-list) set-list)))
|
||||
(goto-char (point-min))
|
||||
|
|
@ -1951,7 +1947,8 @@ see the doc of that variable if you want to add names to the list."
|
|||
(select-tags-table-mode))
|
||||
|
||||
(defvar select-tags-table-mode-map
|
||||
(let ((map (copy-keymap button-buffer-map)))
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(set-keymap-parent map button-buffer-map)
|
||||
(define-key map "t" 'push-button)
|
||||
(define-key map " " 'next-line)
|
||||
(define-key map "\^?" 'previous-line)
|
||||
|
|
@ -1960,24 +1957,17 @@ see the doc of that variable if you want to add names to the list."
|
|||
(define-key map "q" 'select-tags-table-quit)
|
||||
map))
|
||||
|
||||
(defun select-tags-table-mode ()
|
||||
(define-derived-mode select-tags-table-mode fundamental-mode "Select Tags Table"
|
||||
"Major mode for choosing a current tags table among those already loaded.
|
||||
|
||||
\\{select-tags-table-mode-map}"
|
||||
(interactive)
|
||||
(kill-all-local-variables)
|
||||
(setq buffer-read-only t
|
||||
major-mode 'select-tags-table-mode
|
||||
mode-name "Select Tags Table")
|
||||
(use-local-map select-tags-table-mode-map)
|
||||
(setq selective-display t
|
||||
selective-display-ellipses nil))
|
||||
(setq buffer-read-only t))
|
||||
|
||||
(defun select-tags-table-select ()
|
||||
(defun select-tags-table-select (button)
|
||||
"Select the tags table named on this line."
|
||||
(interactive)
|
||||
(search-forward "\C-m")
|
||||
(let ((name (read (current-buffer))))
|
||||
(interactive (list (or (button-at (line-beginning-position))
|
||||
(error "No tags table on current line"))))
|
||||
(let ((name (button-get button 'etags-table)))
|
||||
(visit-tags-table name)
|
||||
(select-tags-table-quit)
|
||||
(message "Tags table now %s" name)))
|
||||
|
|
@ -2043,5 +2033,5 @@ for \\[find-tag] (which see)."
|
|||
|
||||
(provide 'etags)
|
||||
|
||||
;;; arch-tag: b897c2b5-08f3-4837-b2d3-0e7d6db1b63e
|
||||
;; arch-tag: b897c2b5-08f3-4837-b2d3-0e7d6db1b63e
|
||||
;;; etags.el ends here
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
;; Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Torbj\"orn Einarsson <Torbjorn.Einarsson@era.ericsson.se>
|
||||
;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk>
|
||||
;; Maintainer: Glenn Morris <rgm@gnu.org>
|
||||
;; Keywords: fortran, f90, languages
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
|
@ -276,7 +276,7 @@ The options are 'downcase-word, 'upcase-word, 'capitalize-word and nil."
|
|||
"target" "then" "type" "use" "where" "while" "write"
|
||||
;; F95 keywords.
|
||||
"elemental" "pure") 'words)
|
||||
"Regexp for F90 keywords.")
|
||||
"Regexp used by the function `f90-change-keywords'.")
|
||||
|
||||
(defconst f90-keywords-level-3-re
|
||||
(regexp-opt
|
||||
|
|
@ -370,7 +370,8 @@ subroutine\\)\\|use\\|call\\)\\>[ \t]*\\(\\sw+\\)?"
|
|||
(list
|
||||
;; Variable declarations (avoid the real function call).
|
||||
'("^[ \t0-9]*\\(real\\|integer\\|c\\(haracter\\|omplex\\)\\|\
|
||||
logical\\|type[ \t]*(\\sw+)\\)\\(.*::\\|[ \t]*(.*)\\)?\\([^&!\n]*\\)"
|
||||
logical\\|double[ \t]*precision\\|*type[ \t]*(\\sw+)\\)\
|
||||
\\(.*::\\|[ \t]*(.*)\\)?\\([^&!\n]*\\)"
|
||||
(1 font-lock-type-face t) (4 font-lock-variable-name-face t))
|
||||
;; do, if, select, where, and forall constructs.
|
||||
'("\\<\\(end[ \t]*\\(do\\|if\\|select\\|forall\\|where\\)\\)\\>\
|
||||
|
|
@ -381,7 +382,7 @@ do\\([ \t]*while\\)?\\|select[ \t]*case\\|where\\|forall\\)\\)\\>"
|
|||
(2 font-lock-constant-face nil t) (3 font-lock-keyword-face))
|
||||
;; Implicit declaration.
|
||||
'("\\<\\(implicit\\)[ \t]*\\(real\\|integer\\|c\\(haracter\\|omplex\\)\
|
||||
\\|logical\\|type[ \t]*(\\sw+)\\|none\\)[ \t]*"
|
||||
\\|logical\\|double[ \t]*precision\\|type[ \t]*(\\sw+)\\|none\\)[ \t]*"
|
||||
(1 font-lock-keyword-face) (2 font-lock-type-face))
|
||||
'("\\<\\(namelist\\|common\\)[ \t]*\/\\(\\sw+\\)?\/"
|
||||
(1 font-lock-keyword-face) (2 font-lock-constant-face nil t))
|
||||
|
|
@ -698,6 +699,7 @@ Used in the F90 entry in `hs-special-modes-alist'.")
|
|||
("`de" "deallocate" )
|
||||
("`df" "define" )
|
||||
("`di" "dimension" )
|
||||
("`dp" "double precision")
|
||||
("`dw" "do while" )
|
||||
("`el" "else" )
|
||||
("`eli" "else if" )
|
||||
|
|
@ -796,8 +798,6 @@ Variables controlling indentation style and extra features:
|
|||
The possibilities are 'downcase-word, 'upcase-word, 'capitalize-word.
|
||||
`f90-leave-line-no'
|
||||
Do not left-justify line numbers (default nil).
|
||||
`f90-keywords-re'
|
||||
List of keywords used for highlighting/upcase-keywords etc.
|
||||
|
||||
Turning on F90 mode calls the value of the variable `f90-mode-hook'
|
||||
with no args, if that value is non-nil."
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
;; 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Michael D. Prange <prange@erl.mit.edu>
|
||||
;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk>
|
||||
;; Maintainer: Glenn Morris <rgm@gnu.org>
|
||||
;; Keywords: fortran, languages
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
|
|
|||
|
|
@ -103,6 +103,7 @@ and #define directives otherwise.")
|
|||
(defvar gdb-error "Non-nil when GDB is reporting an error.")
|
||||
(defvar gdb-macro-info nil
|
||||
"Non-nil if GDB knows that the inferior includes preprocessor macro info.")
|
||||
(defvar gdb-buffer-fringe-width nil)
|
||||
|
||||
(defvar gdb-buffer-type nil
|
||||
"One of the symbols bound in `gdb-buffer-rules'.")
|
||||
|
|
@ -172,28 +173,28 @@ See Info node `(emacs)GDB Graphical Interface' for a more
|
|||
detailed description of this mode.
|
||||
|
||||
|
||||
---------------------------------------------------------------------
|
||||
GDB Toolbar
|
||||
---------------------------------------------------------------------
|
||||
GUD buffer (I/O of GDB) | Locals buffer
|
||||
|
|
||||
|
|
||||
|
|
||||
---------------------------------------------------------------------
|
||||
Source buffer | Input/Output (of inferior) buffer
|
||||
| (comint-mode)
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
---------------------------------------------------------------------
|
||||
Stack buffer | Breakpoints buffer
|
||||
RET gdb-frames-select | SPC gdb-toggle-breakpoint
|
||||
| RET gdb-goto-breakpoint
|
||||
| d gdb-delete-breakpoint
|
||||
---------------------------------------------------------------------"
|
||||
+--------------------------------------------------------------+
|
||||
| GDB Toolbar |
|
||||
+-------------------------------+------------------------------+
|
||||
| GUD buffer (I/O of GDB) | Locals buffer |
|
||||
| | |
|
||||
| | |
|
||||
| | |
|
||||
+-------------------------------+------------------------------+
|
||||
| Source buffer | I/O buffer (of inferior) |
|
||||
| | (comint-mode) |
|
||||
| | |
|
||||
| | |
|
||||
| | |
|
||||
| | |
|
||||
| | |
|
||||
| | |
|
||||
+-------------------------------+------------------------------+
|
||||
| Stack buffer | Breakpoints buffer |
|
||||
| RET gdb-frames-select | SPC gdb-toggle-breakpoint |
|
||||
| | RET gdb-goto-breakpoint |
|
||||
| | d gdb-delete-breakpoint |
|
||||
+-------------------------------+------------------------------+"
|
||||
;;
|
||||
(interactive (list (gud-query-cmdline 'gdba)))
|
||||
;;
|
||||
|
|
@ -377,7 +378,8 @@ Also display the main routine in the disassembly buffer if present."
|
|||
gdb-location-alist nil
|
||||
gdb-find-file-unhook nil
|
||||
gdb-error nil
|
||||
gdb-macro-info nil)
|
||||
gdb-macro-info nil
|
||||
gdb-buffer-fringe-width (car (window-fringes)))
|
||||
;;
|
||||
(setq gdb-buffer-type 'gdba)
|
||||
;;
|
||||
|
|
@ -1190,12 +1192,13 @@ happens to be appropriate."
|
|||
(let ((buf (gdb-get-buffer ',buf-key)))
|
||||
(and buf
|
||||
(with-current-buffer buf
|
||||
(let ((p (window-point (get-buffer-window buf 0)))
|
||||
(let* ((window (get-buffer-window buf 0))
|
||||
(p (window-point window))
|
||||
(buffer-read-only nil))
|
||||
(erase-buffer)
|
||||
(insert-buffer-substring (gdb-get-create-buffer
|
||||
'gdb-partial-output-buffer))
|
||||
(set-window-point (get-buffer-window buf 0) p)))))
|
||||
(set-window-point window p)))))
|
||||
;; put customisation here
|
||||
(,custom-defun)))
|
||||
|
||||
|
|
@ -1545,20 +1548,23 @@ static char *magick[] = {
|
|||
help-echo "mouse-2, RET: Select frame"))
|
||||
(goto-char bl)
|
||||
(when (looking-at "^#\\([0-9]+\\)")
|
||||
(if (equal (match-string 1) gdb-frame-number)
|
||||
(put-text-property bl el 'face '(:inverse-video t))
|
||||
(when (re-search-forward " in \\([^ ]+\\) (" el t)
|
||||
(when (string-equal (match-string 1) gdb-frame-number)
|
||||
(put-text-property bl (+ bl 4)
|
||||
'face '(:inverse-video t)))
|
||||
(when (re-search-forward
|
||||
(concat
|
||||
(if (string-equal (match-string 1) "0") "" " in ")
|
||||
"\\([^ ]+\\) (") el t)
|
||||
(put-text-property (match-beginning 1) (match-end 1)
|
||||
'face font-lock-function-name-face)
|
||||
(setq bl (match-end 0))
|
||||
(while (re-search-forward "<\\([^>]+\\)>" el t)
|
||||
(put-text-property (match-beginning 1) (match-end 1)
|
||||
'face font-lock-function-name-face)
|
||||
(setq bl (match-end 0))
|
||||
(while (re-search-forward "<\\([^>]+\\)>" el t)
|
||||
(put-text-property (match-beginning 1) (match-end 1)
|
||||
'face font-lock-function-name-face))
|
||||
(goto-char bl)
|
||||
(while (re-search-forward "\\(\\(\\sw\\|[_.]\\)+\\)=" el t)
|
||||
(put-text-property (match-beginning 1) (match-end 1)
|
||||
'face font-lock-variable-name-face))
|
||||
)))
|
||||
(goto-char bl)
|
||||
(while (re-search-forward "\\(\\(\\sw\\|[_.]\\)+\\)=" el t)
|
||||
(put-text-property (match-beginning 1) (match-end 1)
|
||||
'face font-lock-variable-name-face))))
|
||||
(forward-line 1))))))
|
||||
|
||||
(defun gdb-stack-buffer-name ()
|
||||
|
|
@ -1604,6 +1610,7 @@ static char *magick[] = {
|
|||
|
||||
(defun gdb-get-frame-number ()
|
||||
(save-excursion
|
||||
(end-of-line)
|
||||
(let* ((pos (re-search-backward "^#*\\([0-9]*\\)" nil t))
|
||||
(n (or (and pos (match-string-no-properties 1)) "0")))
|
||||
n)))
|
||||
|
|
@ -2119,13 +2126,15 @@ corresponding to the mode line clicked."
|
|||
(while (re-search-forward "\\s-*{.*\n" nil t)
|
||||
(replace-match " (array);\n" nil nil))))
|
||||
(let ((buf (gdb-get-buffer 'gdb-locals-buffer)))
|
||||
(and buf (with-current-buffer buf
|
||||
(let ((p (window-point (get-buffer-window buf 0)))
|
||||
(and buf
|
||||
(with-current-buffer buf
|
||||
(let* ((window (get-buffer-window buf 0))
|
||||
(p (window-point window))
|
||||
(buffer-read-only nil))
|
||||
(erase-buffer)
|
||||
(insert-buffer-substring (gdb-get-create-buffer
|
||||
'gdb-partial-output-buffer))
|
||||
(set-window-point (get-buffer-window buf 0) p)))))
|
||||
(set-window-point window p)))))
|
||||
(run-hooks 'gdb-info-locals-hook))
|
||||
|
||||
(defun gdb-info-locals-custom ()
|
||||
|
|
@ -2144,7 +2153,7 @@ corresponding to the mode line clicked."
|
|||
(1 font-lock-variable-name-face)
|
||||
(3 font-lock-keyword-face)
|
||||
(4 font-lock-type-face))
|
||||
;; var = (type) value
|
||||
;; var = (type) value
|
||||
( "\\(^\\(\\sw\\|[_.]\\)+\\) += +(\\(\\(\\sw\\|[_.]\\)+\\)"
|
||||
(1 font-lock-variable-name-face)
|
||||
(3 font-lock-type-face))
|
||||
|
|
@ -2470,7 +2479,8 @@ BUFFER nil or omitted means use the current buffer."
|
|||
(defun gdb-put-breakpoint-icon (enabled bptno)
|
||||
(let ((start (- (line-beginning-position) 1))
|
||||
(end (+ (line-end-position) 1))
|
||||
(putstring (if enabled "B" "b")))
|
||||
(putstring (if enabled "B" "b"))
|
||||
(source-window (get-buffer-window (current-buffer) 0)))
|
||||
(add-text-properties
|
||||
0 1 '(help-echo "mouse-1: set/clear bkpt, mouse-3: enable/disable bkpt")
|
||||
putstring)
|
||||
|
|
@ -2480,7 +2490,9 @@ BUFFER nil or omitted means use the current buffer."
|
|||
0 1 `(gdb-bptno ,bptno gdb-enabled nil) putstring))
|
||||
(gdb-remove-breakpoint-icons start end)
|
||||
(if (display-images-p)
|
||||
(if (>= (car (window-fringes)) 8)
|
||||
(if (>= (or left-fringe-width
|
||||
(if source-window (car (window-fringes source-window)))
|
||||
gdb-buffer-fringe-width) 8)
|
||||
(gdb-put-string
|
||||
nil (1+ start)
|
||||
`(left-fringe breakpoint
|
||||
|
|
@ -2490,9 +2502,9 @@ BUFFER nil or omitted means use the current buffer."
|
|||
(when (< left-margin-width 2)
|
||||
(save-current-buffer
|
||||
(setq left-margin-width 2)
|
||||
(if (get-buffer-window (current-buffer) 0)
|
||||
(if source-window
|
||||
(set-window-margins
|
||||
(get-buffer-window (current-buffer) 0)
|
||||
source-window
|
||||
left-margin-width right-margin-width))))
|
||||
(put-image
|
||||
(if enabled
|
||||
|
|
@ -2519,10 +2531,10 @@ BUFFER nil or omitted means use the current buffer."
|
|||
(when (< left-margin-width 2)
|
||||
(save-current-buffer
|
||||
(setq left-margin-width 2)
|
||||
(if (get-buffer-window (current-buffer) 0)
|
||||
(let ((window (get-buffer-window (current-buffer) 0)))
|
||||
(if window
|
||||
(set-window-margins
|
||||
(get-buffer-window (current-buffer) 0)
|
||||
left-margin-width right-margin-width))))
|
||||
window left-margin-width right-margin-width)))))
|
||||
(gdb-put-string
|
||||
(propertize putstring
|
||||
'face (if enabled 'breakpoint-enabled 'breakpoint-disabled))
|
||||
|
|
@ -2534,10 +2546,10 @@ BUFFER nil or omitted means use the current buffer."
|
|||
(remove-images start end))
|
||||
(when remove-margin
|
||||
(setq left-margin-width 0)
|
||||
(if (get-buffer-window (current-buffer) 0)
|
||||
(set-window-margins
|
||||
(get-buffer-window (current-buffer) 0)
|
||||
left-margin-width right-margin-width))))
|
||||
(let ((window (get-buffer-window (current-buffer) 0)))
|
||||
(if window
|
||||
(set-window-margins
|
||||
window left-margin-width right-margin-width)))))
|
||||
|
||||
|
||||
;;
|
||||
|
|
|
|||
|
|
@ -137,11 +137,15 @@ Used to grey out relevant togolbar icons.")
|
|||
:enable (and (not gud-running)
|
||||
(memq gud-minor-mode '(gdbmi gdba gdb perldb))))
|
||||
([remove] menu-item "Remove Breakpoint" gud-remove
|
||||
:enable (not gud-running))
|
||||
:enable (not gud-running)
|
||||
:visible (not (and (memq gud-minor-mode '(gdbmi gdba))
|
||||
(window-fringes))))
|
||||
([tbreak] menu-item "Temporary Breakpoint" gud-tbreak
|
||||
:enable (memq gud-minor-mode '(gdbmi gdba gdb sdb xdb bashdb)))
|
||||
([break] menu-item "Set Breakpoint" gud-break
|
||||
:enable (not gud-running))
|
||||
:enable (not gud-running)
|
||||
:visible (not (and (memq gud-minor-mode '(gdbmi gdba))
|
||||
(window-fringes))))
|
||||
([up] menu-item "Up Stack" gud-up
|
||||
:enable (and (not gud-running)
|
||||
(memq gud-minor-mode
|
||||
|
|
@ -332,9 +336,6 @@ we're in the GUD buffer)."
|
|||
;; speedbar support functions and variables.
|
||||
(eval-when-compile (require 'speedbar)) ;For speedbar-with-attached-buffer.
|
||||
|
||||
(defvar gud-last-speedbar-buffer nil
|
||||
"The last GUD buffer used.")
|
||||
|
||||
(defvar gud-last-speedbar-stackframe nil
|
||||
"Description of the currently displayed GUD stack.
|
||||
t means that there is no stack, and we are in display-file mode.")
|
||||
|
|
@ -351,17 +352,22 @@ t means that there is no stack, and we are in display-file mode.")
|
|||
(define-key gud-speedbar-key-map "j" 'speedbar-edit-line)
|
||||
(define-key gud-speedbar-key-map "e" 'speedbar-edit-line)
|
||||
(define-key gud-speedbar-key-map "\C-m" 'speedbar-edit-line)
|
||||
(define-key gud-speedbar-key-map "D" 'gdb-var-delete)))
|
||||
(define-key gud-speedbar-key-map " " 'speedbar-toggle-line-expansion)
|
||||
(define-key gud-speedbar-key-map "[" 'speedbar-expand-line-descendants)
|
||||
(define-key gud-speedbar-key-map "]" 'speedbar-contract-line-descendants)
|
||||
(define-key gud-speedbar-key-map "D" 'gdb-var-delete))
|
||||
|
||||
(speedbar-add-expansion-list '("GUD" gud-speedbar-menu-items
|
||||
gud-speedbar-key-map
|
||||
gud-expansion-speedbar-buttons)))
|
||||
|
||||
(defvar gud-speedbar-menu-items
|
||||
;; Note to self. Add expand, and turn off items when not available.
|
||||
'(["Jump to stack frame" speedbar-edit-line
|
||||
(with-current-buffer gud-comint-buffer
|
||||
(not (memq gud-minor-mode '(gdbmi gdba))))]
|
||||
:visible (with-current-buffer gud-comint-buffer
|
||||
(not (memq gud-minor-mode '(gdbmi gdba))))]
|
||||
["Edit value" speedbar-edit-line
|
||||
(with-current-buffer gud-comint-buffer
|
||||
(memq gud-minor-mode '(gdbmi gdba)))]
|
||||
:visible (with-current-buffer gud-comint-buffer
|
||||
(memq gud-minor-mode '(gdbmi gdba)))]
|
||||
["Delete expression" gdb-var-delete
|
||||
(with-current-buffer gud-comint-buffer
|
||||
(memq gud-minor-mode '(gdbmi gdba)))])
|
||||
|
|
@ -372,89 +378,89 @@ t means that there is no stack, and we are in display-file mode.")
|
|||
(gud-install-speedbar-variables)
|
||||
(add-hook 'speedbar-load-hook 'gud-install-speedbar-variables))
|
||||
|
||||
(defun gud-expansion-speedbar-buttons (directory zero)
|
||||
"Wrapper for call to speedbar-add-expansion-list. DIRECTORY and
|
||||
ZERO are not used, but are required by the caller."
|
||||
(gud-speedbar-buttons gud-comint-buffer))
|
||||
|
||||
(defun gud-speedbar-buttons (buffer)
|
||||
"Create a speedbar display based on the current state of GUD.
|
||||
If the GUD BUFFER is not running a supported debugger, then turn
|
||||
off the specialized speedbar mode."
|
||||
(let ((minor-mode (with-current-buffer buffer gud-minor-mode)))
|
||||
(cond
|
||||
((memq minor-mode '(gdbmi gdba))
|
||||
(when (or gdb-var-changed
|
||||
(not (save-excursion
|
||||
(goto-char (point-min))
|
||||
(let ((case-fold-search t))
|
||||
(looking-at "Watch Expressions:")))))
|
||||
(erase-buffer)
|
||||
(insert "Watch Expressions:\n")
|
||||
(let ((var-list gdb-var-list))
|
||||
(while var-list
|
||||
(let* ((depth 0) (start 0) (char ?+)
|
||||
(var (car var-list)) (varnum (nth 1 var)))
|
||||
(while (string-match "\\." varnum start)
|
||||
(setq depth (1+ depth)
|
||||
start (1+ (match-beginning 0))))
|
||||
(if (equal (nth 2 var) "0")
|
||||
(speedbar-make-tag-line 'bracket ?? nil nil
|
||||
(concat (car var) "\t" (nth 4 var))
|
||||
'gdb-edit-value
|
||||
nil
|
||||
(if (and (nth 5 var)
|
||||
gdb-show-changed-values)
|
||||
'font-lock-warning-face
|
||||
nil) depth)
|
||||
(if (and (cadr var-list)
|
||||
(string-match varnum (cadr (cadr var-list))))
|
||||
(setq char ?-))
|
||||
(speedbar-make-tag-line 'bracket char
|
||||
'gdb-speedbar-expand-node varnum
|
||||
(concat (car var) "\t" (nth 3 var))
|
||||
nil nil nil depth)))
|
||||
(setq var-list (cdr var-list))))
|
||||
(setq gdb-var-changed nil)))
|
||||
(t (if (and (save-excursion
|
||||
(goto-char (point-min))
|
||||
(looking-at "Current Stack"))
|
||||
(equal gud-last-last-frame gud-last-speedbar-stackframe))
|
||||
nil
|
||||
(setq gud-last-speedbar-buffer buffer)
|
||||
(let ((gud-frame-list
|
||||
(cond ((eq minor-mode 'gdb)
|
||||
(gud-gdb-get-stackframe buffer))
|
||||
;; Add more debuggers here!
|
||||
(t (speedbar-remove-localized-speedbar-support buffer)
|
||||
nil))))
|
||||
(erase-buffer)
|
||||
(if (not gud-frame-list)
|
||||
(insert "No Stack frames\n")
|
||||
(insert "Current Stack:\n"))
|
||||
(dolist (frame gud-frame-list)
|
||||
(insert (nth 1 frame) ":\n")
|
||||
(if (= (length frame) 2)
|
||||
(progn
|
||||
; (speedbar-insert-button "[?]"
|
||||
; 'speedbar-button-face
|
||||
; nil nil nil t)
|
||||
(speedbar-insert-button (car frame)
|
||||
'speedbar-directory-face
|
||||
nil nil nil t))
|
||||
; (speedbar-insert-button "[+]"
|
||||
; 'speedbar-button-face
|
||||
; 'speedbar-highlight-face
|
||||
; 'gud-gdb-get-scope-data
|
||||
; frame t)
|
||||
(speedbar-insert-button (car frame)
|
||||
'speedbar-file-face
|
||||
'speedbar-highlight-face
|
||||
(cond ((memq minor-mode '(gdbmi gdba gdb))
|
||||
'gud-gdb-goto-stackframe)
|
||||
(t (error "Should never be here")))
|
||||
frame t)))
|
||||
; (let ((selected-frame
|
||||
; (cond ((eq ff 'gud-gdb-find-file)
|
||||
; (gud-gdb-selected-frame-info buffer))
|
||||
; (t (error "Should never be here"))))))
|
||||
)
|
||||
(setq gud-last-speedbar-stackframe gud-last-last-frame))))))
|
||||
off the specialized speedbar mode. BUFFER is not used, but are
|
||||
required by the caller."
|
||||
(when (and (boundp 'gud-comint-buffer)
|
||||
gud-comint-buffer
|
||||
;; gud-comint-buffer might be killed
|
||||
(buffer-name gud-comint-buffer))
|
||||
(let* ((minor-mode (with-current-buffer buffer gud-minor-mode))
|
||||
(window (get-buffer-window (current-buffer) 0))
|
||||
(p (window-point window)))
|
||||
(cond
|
||||
((memq minor-mode '(gdbmi gdba))
|
||||
(when (or gdb-var-changed
|
||||
(not (save-excursion
|
||||
(goto-char (point-min))
|
||||
(let ((case-fold-search t))
|
||||
(looking-at "Watch Expressions:")))))
|
||||
(erase-buffer)
|
||||
(insert "Watch Expressions:\n")
|
||||
(let ((var-list gdb-var-list))
|
||||
(while var-list
|
||||
(let* ((depth 0) (start 0) (char ?+)
|
||||
(var (car var-list)) (varnum (nth 1 var)))
|
||||
(while (string-match "\\." varnum start)
|
||||
(setq depth (1+ depth)
|
||||
start (1+ (match-beginning 0))))
|
||||
(if (equal (nth 2 var) "0")
|
||||
(speedbar-make-tag-line 'bracket ?? nil nil
|
||||
(concat (car var) "\t" (nth 4 var))
|
||||
'gdb-edit-value
|
||||
nil
|
||||
(if (and (nth 5 var)
|
||||
gdb-show-changed-values)
|
||||
'font-lock-warning-face
|
||||
nil) depth)
|
||||
(if (and (cadr var-list)
|
||||
(string-match varnum (cadr (cadr var-list))))
|
||||
(setq char ?-))
|
||||
(speedbar-make-tag-line 'bracket char
|
||||
'gdb-speedbar-expand-node varnum
|
||||
(concat (car var) "\t" (nth 3 var))
|
||||
nil nil nil depth)))
|
||||
(setq var-list (cdr var-list))))
|
||||
(setq gdb-var-changed nil)))
|
||||
(t (if (and (save-excursion
|
||||
(goto-char (point-min))
|
||||
(looking-at "Current Stack:"))
|
||||
(equal gud-last-last-frame gud-last-speedbar-stackframe))
|
||||
nil
|
||||
(let ((gud-frame-list
|
||||
(cond ((eq minor-mode 'gdb)
|
||||
(gud-gdb-get-stackframe buffer))
|
||||
;; Add more debuggers here!
|
||||
(t (speedbar-remove-localized-speedbar-support buffer)
|
||||
nil))))
|
||||
(erase-buffer)
|
||||
(if (not gud-frame-list)
|
||||
(insert "No Stack frames\n")
|
||||
(insert "Current Stack:\n"))
|
||||
(dolist (frame gud-frame-list)
|
||||
(insert (nth 1 frame) ":\n")
|
||||
(if (= (length frame) 2)
|
||||
(progn
|
||||
(speedbar-insert-button (car frame)
|
||||
'speedbar-directory-face
|
||||
nil nil nil t))
|
||||
(speedbar-insert-button
|
||||
(car frame)
|
||||
'speedbar-file-face
|
||||
'speedbar-highlight-face
|
||||
(cond ((memq minor-mode '(gdbmi gdba gdb))
|
||||
'gud-gdb-goto-stackframe)
|
||||
(t (error "Should never be here")))
|
||||
frame t))))
|
||||
(setq gud-last-speedbar-stackframe gud-last-last-frame))))
|
||||
(set-window-point window p))))
|
||||
|
||||
|
||||
;; ======================================================================
|
||||
|
|
@ -2569,6 +2575,9 @@ It is saved for when this flag is not set.")
|
|||
;; Stop displaying an arrow in a source file.
|
||||
(setq gud-overlay-arrow-position nil)
|
||||
(set-process-buffer proc nil)
|
||||
(if (featurep 'speedbar)
|
||||
(speedbar-change-initial-expansion-list
|
||||
speedbar-previously-used-expansion-list-name))
|
||||
(if (memq gud-minor-mode-type '(gdbmi gdba))
|
||||
(gdb-reset)
|
||||
(gud-reset)))
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@
|
|||
;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
;; MA 02110-1301 USA
|
||||
|
||||
;; Author: Pieter E.J. Pareit <pieter.pareit@skynet.be>
|
||||
;; Maintainer: Pieter E.J. Pareit <pieter.pareit@skynet.be>
|
||||
;; Author: Pieter E.J. Pareit <pieter.pareit@gmail.com>
|
||||
;; Maintainer: Pieter E.J. Pareit <pieter.pareit@gmail.com>
|
||||
;; Created: 09 Nov 2002
|
||||
;; Version: 0.1
|
||||
;; Keywords: Knuth mix mixal asm mixvm "The Art Of Computer Programming"
|
||||
|
|
@ -27,17 +27,17 @@
|
|||
;; Major mode for the mix asm language.
|
||||
;; The mix asm language is described in "The Art Of Computer Programming".
|
||||
;;
|
||||
;; For optimal use, also use GNU MDK. Compiling needs mixasm, running
|
||||
;; and debugging needs mixvm and mixvm.el from GNU MDK. You can get
|
||||
;; For optimal use, also use GNU MDK. Compiling needs mixasm, running
|
||||
;; and debugging needs mixvm and mixvm.el from GNU MDK. You can get
|
||||
;; GNU MDK from `https://savannah.gnu.org/projects/mdk/' and
|
||||
;; `ftp://ftp.gnu.org/pub/gnu/mdk'.
|
||||
;;
|
||||
;; To use this mode, place the following in your .emacs file:
|
||||
;; `(load-file "/PATH-TO-FILE/mixal-mode.el")'.
|
||||
;; When you load a file with the extension .mixal the mode will be started
|
||||
;; automatic. If you want to start the mode manual, use `M-x mixal-mode'.
|
||||
;; Font locking will work, the behavior of tabs is the same as emacs
|
||||
;; default behavior. You can compile a source file with `C-c c' you can
|
||||
;; automatic. If you want to start the mode manual, use `M-x mixal-mode'.
|
||||
;; Font locking will work, the behavior of tabs is the same as Emacs's
|
||||
;; default behavior. You can compile a source file with `C-c c' you can
|
||||
;; run a compiled file with `C-c r' or run it in debug mode with `C-c d'.
|
||||
;; You can get more information about a particular operation code by using
|
||||
;; mixal-describe-operation-code or `C-h o'.
|
||||
|
|
@ -45,6 +45,15 @@
|
|||
;; Have fun.
|
||||
|
||||
;;; History:
|
||||
;; Version 0.3:
|
||||
;; 08/10/05: sync mdk and emacs cvs
|
||||
;; from emacs: compile-command and require-final-newline
|
||||
;; from mdk: see version 0.2
|
||||
;; correct my email address
|
||||
;; Version 0.2:
|
||||
;; 06/04/05: mixasm no longer needs -g option
|
||||
;; fontlocking of comments works in all? cases now
|
||||
;; added some more mixal-operation-codes
|
||||
;; Version 0.1:
|
||||
;; Version 0.1.1:
|
||||
;; 22/11/02: bugfix in fontlocking, needed to add a '-' to the regex.
|
||||
|
|
@ -54,7 +63,6 @@
|
|||
;; 09/11/02: started mixal-mode.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defvar compile-command)
|
||||
|
||||
;;; Key map
|
||||
|
|
@ -66,13 +74,13 @@
|
|||
(define-key map "\C-ho" 'mixal-describe-operation-code)
|
||||
map)
|
||||
"Keymap for `mixal-mode'.")
|
||||
; (makunbound 'mixal-mode-map)
|
||||
;; (makunbound 'mixal-mode-map)
|
||||
|
||||
;;; Syntax table
|
||||
(defvar mixal-mode-syntax-table
|
||||
(let ((st (make-syntax-table)))
|
||||
(modify-syntax-entry ?* "<" st)
|
||||
(modify-syntax-entry ?\n ">" st)
|
||||
;; (modify-syntax-entry ?* "<" st) we need to do a bit more to make
|
||||
;; (modify-syntax-entry ?\n ">" st) fontlocking for comments work
|
||||
st)
|
||||
"Syntax table for `dot-mode'.")
|
||||
|
||||
|
|
@ -97,6 +105,7 @@ value.")
|
|||
"LD4" "LD5" "LD6" "LDX" "LDAN" "LD1N" "LD2N" "LD3N" "LD4N" "LD5N" "LD6N"
|
||||
"LDXN" "STA" "ST1" "ST2" "ST3" "ST4" "ST5" "ST6" "STX" "STJ" "STZ" "JBUS"
|
||||
"IOC" "IN" "OUT" "JRAD" "JMP" "JSJ" "JOV" "JNOV"
|
||||
"JL" "JE" "JG" "JGE" "JNE" "JLE"
|
||||
"JAN" "J1N" "J2N" "J3N" "J4N" "J5N" "J6N" "JXN"
|
||||
"JAZ" "J1Z" "J2Z" "J3Z" "J4Z" "J5Z" "J6Z" "JXZ"
|
||||
"JAP" "J1P" "J2P" "J3P" "J4P" "J5P" "J6P" "JXP"
|
||||
|
|
@ -109,11 +118,11 @@ value.")
|
|||
"INCX" "DECX" "ENTX" "ENNX" "CMPA" "FCMP" "CMP1" "CMP2" "CMP3" "CMP4"
|
||||
"CMP5" "CMP6" "CMPX")
|
||||
"List of possible operation codes as strings.")
|
||||
; (makunbound 'mixal-operation-codes)
|
||||
;; (makunbound 'mixal-operation-codes)
|
||||
|
||||
(defvar mixal-assembly-pseudoinstructions
|
||||
'("ORIG" "EQU" "CON" "ALF" "END")
|
||||
"List of possible assembly pseudoinstructions")
|
||||
"List of possible assembly pseudoinstructions.")
|
||||
|
||||
;;; Font-locking:
|
||||
(defvar mixal-font-lock-keywords
|
||||
|
|
@ -124,10 +133,13 @@ value.")
|
|||
(,(regexp-opt
|
||||
mixal-assembly-pseudoinstructions 'words)
|
||||
. mixal-font-lock-assembly-pseudoinstruction-face)
|
||||
("^[A-Z0-9a-z]*[ \t]+[A-Z0-9a-z]+[ \t]+[\\-A-Z0-9a-z,():]*[\t]+\\(.*\\)$"
|
||||
(1 font-lock-comment-face)))
|
||||
("^[A-Z0-9a-z]*[ \t]+[A-ZO-9a-z]+[ \t]+\\(=.*=\\).*$"
|
||||
(1 font-lock-constant-face))
|
||||
("^[A-Z0-9a-z]*[ \t]+[A-Z0-9a-z]+[ \t]+[A-Z0-9a-z,():+-\\*=\" ]*\t+\\(.*\\)$"
|
||||
(1 font-lock-comment-face))
|
||||
("^\\*.*$" . font-lock-comment-face))
|
||||
"Keyword highlighting specification for `mixal-mode'.")
|
||||
; (makunbound 'mixal-font-lock-keywords)
|
||||
;; (makunbound 'mixal-font-lock-keywords)
|
||||
|
||||
;;;; Compilation
|
||||
;; Output from mixasm is compatible with default behavior of emacs,
|
||||
|
|
@ -139,19 +151,24 @@ value.")
|
|||
;;;; Describe
|
||||
(defvar mixal-operation-codes-alist '()
|
||||
"Alist that contains all the possible operation codes for mix.
|
||||
Each elt has the form (OP-CODE GROUP FULL-NAME C-BYTE F-BYTE DESCRIPTION EXECUTION-TIME)
|
||||
Where OP-CODE is the text of the opcode as an symbol, FULL-NAME is the human readable name
|
||||
as a string, C-BYTE is the operation code telling what operation is to be performed, F-BYTE holds
|
||||
an modification of the operation code which can be a symbol or a number, DESCRIPTION contains
|
||||
an string with a description about the operation code and EXECUTION-TIME holds info
|
||||
about the time it takes, number or string.")
|
||||
; (makunbound 'mixal-operation-codes-alist)
|
||||
Each elt has the form
|
||||
(OP-CODE GROUP FULL-NAME C-BYTE F-BYTE DESCRIPTION EXECUTION-TIME)
|
||||
Where OP-CODE is the text of the opcode as an symbol,
|
||||
FULL-NAME is the human readable name as a string,
|
||||
C-BYTE is the operation code telling what operation is to be performed,
|
||||
F-BYTE holds a modification of the operation code which can be a symbol
|
||||
or a number,
|
||||
DESCRIPTION contains an string with a description about the operation code and
|
||||
EXECUTION-TIME holds info about the time it takes, number or string.")
|
||||
;; (makunbound 'mixal-operation-codes-alist)
|
||||
|
||||
(defun mixal-add-operation-code (op-code group full-name C-byte F-byte description execution-time)
|
||||
"Add an operation code to the list that contains information about possible op code's."
|
||||
(setq mixal-operation-codes-alist (cons (list op-code group full-name C-byte F-byte
|
||||
description execution-time)
|
||||
mixal-operation-codes-alist )))
|
||||
(defun mixal-add-operation-code (op-code group full-name C-byte F-byte
|
||||
description execution-time)
|
||||
"Add an operation code to `mixal-operation-codes-alist'."
|
||||
(setq mixal-operation-codes-alist
|
||||
(cons (list op-code group full-name C-byte F-byte
|
||||
description execution-time)
|
||||
mixal-operation-codes-alist)))
|
||||
|
||||
;; now add each operation code
|
||||
|
||||
|
|
@ -1250,7 +1267,8 @@ The converted character representation is stored in rAX."
|
|||
(defun mixal-describe-operation-code (&optional op-code)
|
||||
"Display the full documentation of OP-CODE."
|
||||
(interactive)
|
||||
;; we like to provide completition and history, so do it ourself (interactive "?bla")?
|
||||
;; We like to provide completion and history, so do it ourself
|
||||
;; (interactive "?bla")?
|
||||
(unless op-code
|
||||
(let* ((completion-ignore-case t)
|
||||
;; we already have a list, but it is not in the right format
|
||||
|
|
@ -1282,13 +1300,14 @@ The converted character representation is stored in rAX."
|
|||
|
||||
;;;; Running
|
||||
(defun mixal-run ()
|
||||
"Run's mixal file in current buffer, assumes that file has been compiled"
|
||||
"Run mixal file in current buffer, assumes that file has been compiled."
|
||||
(interactive)
|
||||
(mixvm (concat "mixvm -r -t -d "
|
||||
(file-name-sans-extension (buffer-file-name)))))
|
||||
|
||||
(defun mixal-debug ()
|
||||
"Starts mixvm for debugging, assumes that file has been compiled with debugging support"
|
||||
"Start mixvm for debugging.
|
||||
Assumes that file has been compiled with debugging support."
|
||||
(interactive)
|
||||
(mixvm (concat "mixvm "
|
||||
(file-name-sans-extension (buffer-file-name)))))
|
||||
|
|
@ -1300,9 +1319,9 @@ The converted character representation is stored in rAX."
|
|||
(set (make-local-variable 'comment-start) "*")
|
||||
(set (make-local-variable 'comment-start-skip) "*")
|
||||
(set (make-local-variable 'font-lock-defaults) '(mixal-font-lock-keywords))
|
||||
; might add an indent function in the future
|
||||
; (set (make-local-variable 'indent-line-function) 'mixal-indent-line)
|
||||
(set (make-local-variable 'compile-command) (concat "mixasm -g "
|
||||
;; might add an indent function in the future
|
||||
;; (set (make-local-variable 'indent-line-function) 'mixal-indent-line)
|
||||
(set (make-local-variable 'compile-command) (concat "mixasm "
|
||||
buffer-file-name))
|
||||
;; mixasm will do strange when there is no final newline,
|
||||
;; so let Emacs ensure that it is always there
|
||||
|
|
@ -1314,5 +1333,5 @@ The converted character representation is stored in rAX."
|
|||
|
||||
(provide 'mixal-mode)
|
||||
|
||||
;;; arch-tag: be7c128a-bf61-4951-a90e-9398267ce3f3
|
||||
;; arch-tag: be7c128a-bf61-4951-a90e-9398267ce3f3
|
||||
;;; mixal-mode.el ends here
|
||||
|
|
|
|||
|
|
@ -69,36 +69,34 @@
|
|||
"Abbrev table in use in Pascal-mode buffers.")
|
||||
(define-abbrev-table 'pascal-mode-abbrev-table ())
|
||||
|
||||
(defvar pascal-mode-map ()
|
||||
(defvar pascal-mode-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(define-key map ";" 'electric-pascal-semi-or-dot)
|
||||
(define-key map "." 'electric-pascal-semi-or-dot)
|
||||
(define-key map ":" 'electric-pascal-colon)
|
||||
(define-key map "=" 'electric-pascal-equal)
|
||||
(define-key map "#" 'electric-pascal-hash)
|
||||
(define-key map "\r" 'electric-pascal-terminate-line)
|
||||
(define-key map "\t" 'electric-pascal-tab)
|
||||
(define-key map "\M-\t" 'pascal-complete-word)
|
||||
(define-key map "\M-?" 'pascal-show-completions)
|
||||
(define-key map "\177" 'backward-delete-char-untabify)
|
||||
(define-key map "\M-\C-h" 'pascal-mark-defun)
|
||||
(define-key map "\C-c\C-b" 'pascal-insert-block)
|
||||
(define-key map "\M-*" 'pascal-star-comment)
|
||||
(define-key map "\C-c\C-c" 'pascal-comment-area)
|
||||
(define-key map "\C-c\C-u" 'pascal-uncomment-area)
|
||||
(define-key map "\M-\C-a" 'pascal-beg-of-defun)
|
||||
(define-key map "\M-\C-e" 'pascal-end-of-defun)
|
||||
(define-key map "\C-c\C-d" 'pascal-goto-defun)
|
||||
(define-key map "\C-c\C-o" 'pascal-outline-mode)
|
||||
;; A command to change the whole buffer won't be used terribly
|
||||
;; often, so no need for a key binding.
|
||||
;; (define-key map "\C-cd" 'pascal-downcase-keywords)
|
||||
;; (define-key map "\C-cu" 'pascal-upcase-keywords)
|
||||
;; (define-key map "\C-cc" 'pascal-capitalize-keywords)
|
||||
map)
|
||||
"Keymap used in Pascal mode.")
|
||||
(if pascal-mode-map
|
||||
()
|
||||
(setq pascal-mode-map (make-sparse-keymap))
|
||||
(define-key pascal-mode-map ";" 'electric-pascal-semi-or-dot)
|
||||
(define-key pascal-mode-map "." 'electric-pascal-semi-or-dot)
|
||||
(define-key pascal-mode-map ":" 'electric-pascal-colon)
|
||||
(define-key pascal-mode-map "=" 'electric-pascal-equal)
|
||||
(define-key pascal-mode-map "#" 'electric-pascal-hash)
|
||||
(define-key pascal-mode-map "\r" 'electric-pascal-terminate-line)
|
||||
(define-key pascal-mode-map "\t" 'electric-pascal-tab)
|
||||
(define-key pascal-mode-map "\M-\t" 'pascal-complete-word)
|
||||
(define-key pascal-mode-map "\M-?" 'pascal-show-completions)
|
||||
(define-key pascal-mode-map "\177" 'backward-delete-char-untabify)
|
||||
(define-key pascal-mode-map "\M-\C-h" 'pascal-mark-defun)
|
||||
(define-key pascal-mode-map "\C-c\C-b" 'pascal-insert-block)
|
||||
(define-key pascal-mode-map "\M-*" 'pascal-star-comment)
|
||||
(define-key pascal-mode-map "\C-c\C-c" 'pascal-comment-area)
|
||||
(define-key pascal-mode-map "\C-c\C-u" 'pascal-uncomment-area)
|
||||
(define-key pascal-mode-map "\M-\C-a" 'pascal-beg-of-defun)
|
||||
(define-key pascal-mode-map "\M-\C-e" 'pascal-end-of-defun)
|
||||
(define-key pascal-mode-map "\C-c\C-d" 'pascal-goto-defun)
|
||||
(define-key pascal-mode-map "\C-c\C-o" 'pascal-outline)
|
||||
;;; A command to change the whole buffer won't be used terribly
|
||||
;;; often, so no need for a key binding.
|
||||
; (define-key pascal-mode-map "\C-cd" 'pascal-downcase-keywords)
|
||||
; (define-key pascal-mode-map "\C-cu" 'pascal-upcase-keywords)
|
||||
; (define-key pascal-mode-map "\C-cc" 'pascal-capitalize-keywords)
|
||||
)
|
||||
|
||||
(defvar pascal-imenu-generic-expression
|
||||
'((nil "^[ \t]*\\(function\\|procedure\\)[ \t\n]+\\([a-zA-Z0-9_.:]+\\)" 2))
|
||||
|
|
@ -132,28 +130,31 @@
|
|||
(defconst pascal-exclude-str-start "{-----\\/----- EXCLUDED -----\\/-----")
|
||||
(defconst pascal-exclude-str-end " -----/\\----- EXCLUDED -----/\\-----}")
|
||||
|
||||
(defvar pascal-mode-syntax-table nil
|
||||
(defvar pascal-mode-syntax-table
|
||||
(let ((st (make-syntax-table)))
|
||||
(modify-syntax-entry ?\\ "." st)
|
||||
(modify-syntax-entry ?\( "()1" st)
|
||||
(modify-syntax-entry ?\) ")(4" st)
|
||||
;; This used to use comment-syntax `b'. But the only document I could
|
||||
;; find about the syntax of Pascal's comments said that (* ... } is
|
||||
;; a valid comment, just as { ... *) or (* ... *) or { ... }.
|
||||
(modify-syntax-entry ?* ". 23" st)
|
||||
(modify-syntax-entry ?{ "<" st)
|
||||
(modify-syntax-entry ?} ">" st)
|
||||
(modify-syntax-entry ?+ "." st)
|
||||
(modify-syntax-entry ?- "." st)
|
||||
(modify-syntax-entry ?= "." st)
|
||||
(modify-syntax-entry ?% "." st)
|
||||
(modify-syntax-entry ?< "." st)
|
||||
(modify-syntax-entry ?> "." st)
|
||||
(modify-syntax-entry ?& "." st)
|
||||
(modify-syntax-entry ?| "." st)
|
||||
(modify-syntax-entry ?_ "_" st)
|
||||
(modify-syntax-entry ?\' "\"" st)
|
||||
st)
|
||||
"Syntax table in use in Pascal-mode buffers.")
|
||||
|
||||
(if pascal-mode-syntax-table
|
||||
()
|
||||
(setq pascal-mode-syntax-table (make-syntax-table))
|
||||
(modify-syntax-entry ?\\ "." pascal-mode-syntax-table)
|
||||
(modify-syntax-entry ?( "()1" pascal-mode-syntax-table)
|
||||
(modify-syntax-entry ?) ")(4" pascal-mode-syntax-table)
|
||||
(modify-syntax-entry ?* ". 23b" pascal-mode-syntax-table)
|
||||
(modify-syntax-entry ?{ "<" pascal-mode-syntax-table)
|
||||
(modify-syntax-entry ?} ">" pascal-mode-syntax-table)
|
||||
(modify-syntax-entry ?+ "." pascal-mode-syntax-table)
|
||||
(modify-syntax-entry ?- "." pascal-mode-syntax-table)
|
||||
(modify-syntax-entry ?= "." pascal-mode-syntax-table)
|
||||
(modify-syntax-entry ?% "." pascal-mode-syntax-table)
|
||||
(modify-syntax-entry ?< "." pascal-mode-syntax-table)
|
||||
(modify-syntax-entry ?> "." pascal-mode-syntax-table)
|
||||
(modify-syntax-entry ?& "." pascal-mode-syntax-table)
|
||||
(modify-syntax-entry ?| "." pascal-mode-syntax-table)
|
||||
(modify-syntax-entry ?_ "_" pascal-mode-syntax-table)
|
||||
(modify-syntax-entry ?\' "\"" pascal-mode-syntax-table))
|
||||
|
||||
|
||||
(defconst pascal-font-lock-keywords (purecopy
|
||||
(list
|
||||
|
|
@ -327,7 +328,7 @@ Other useful functions are:
|
|||
\\[pascal-beg-of-defun]\t- Move to beginning of current function.
|
||||
\\[pascal-end-of-defun]\t- Move to end of current function.
|
||||
\\[pascal-goto-defun]\t- Goto function prompted for in the minibuffer.
|
||||
\\[pascal-outline]\t- Enter pascal-outline-mode (see also pascal-outline).
|
||||
\\[pascal-outline-mode]\t- Enter `pascal-outline-mode'.
|
||||
|
||||
Variables controlling indentation/edit style:
|
||||
|
||||
|
|
@ -792,8 +793,7 @@ on the line which ends a function or procedure named NAME."
|
|||
(defun pascal-indent-command ()
|
||||
"Indent for special part of code."
|
||||
(let* ((indent-str (pascal-calculate-indent))
|
||||
(type (car indent-str))
|
||||
(ind (car (cdr indent-str))))
|
||||
(type (car indent-str)))
|
||||
(cond ((and (eq type 'paramlist)
|
||||
(or (memq 'all pascal-auto-lineup)
|
||||
(memq 'paramlist pascal-auto-lineup)))
|
||||
|
|
@ -971,7 +971,7 @@ Do not count labels, case-statements or records."
|
|||
(end-of-line)
|
||||
(point-marker)
|
||||
(re-search-backward "\\<case\\>" nil t)))
|
||||
(beg (point)) oldpos
|
||||
(beg (point))
|
||||
(ind 0))
|
||||
;; Get right indent
|
||||
(while (< (point) end)
|
||||
|
|
@ -986,7 +986,6 @@ Do not count labels, case-statements or records."
|
|||
(setq ind (current-column)))
|
||||
(pascal-end-of-statement))))
|
||||
(goto-char beg)
|
||||
(setq oldpos (marker-position end))
|
||||
;; Indent all case statements
|
||||
(while (< (point) end)
|
||||
(if (re-search-forward
|
||||
|
|
@ -999,7 +998,6 @@ Do not count labels, case-statements or records."
|
|||
(forward-char 1)
|
||||
(delete-horizontal-space)
|
||||
(insert " "))
|
||||
(setq oldpos (point))
|
||||
(pascal-end-of-statement))
|
||||
(goto-char savepos)))
|
||||
|
||||
|
|
@ -1490,30 +1488,20 @@ The default is a name found in the buffer around point."
|
|||
;;;
|
||||
;;; Pascal-outline-mode
|
||||
;;;
|
||||
(defvar pascal-outline-map nil "Keymap used in Pascal Outline mode.")
|
||||
(defvar pascal-outline-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(if (fboundp 'set-keymap-name)
|
||||
(set-keymap-name pascal-outline-map 'pascal-outline-map))
|
||||
(define-key map "\M-\C-a" 'pascal-outline-prev-defun)
|
||||
(define-key map "\M-\C-e" 'pascal-outline-next-defun)
|
||||
(define-key map "\C-c\C-d" 'pascal-outline-goto-defun)
|
||||
(define-key map "\C-c\C-s" 'pascal-show-all)
|
||||
(define-key map "\C-c\C-h" 'pascal-hide-other-defuns)
|
||||
map)
|
||||
"Keymap used in Pascal Outline mode.")
|
||||
|
||||
(if pascal-outline-map
|
||||
nil
|
||||
(if (fboundp 'set-keymap-name)
|
||||
(set-keymap-name pascal-outline-map 'pascal-outline-map))
|
||||
(if (fboundp 'set-keymap-parent)
|
||||
(set-keymap-parent (setq pascal-outline-map (make-sparse-keymap))
|
||||
pascal-mode-map)
|
||||
(setq pascal-outline-map (copy-keymap pascal-mode-map)))
|
||||
(define-key pascal-outline-map "\M-\C-a" 'pascal-outline-prev-defun)
|
||||
(define-key pascal-outline-map "\M-\C-e" 'pascal-outline-next-defun)
|
||||
(define-key pascal-outline-map "\C-c\C-d" 'pascal-outline-goto-defun)
|
||||
(define-key pascal-outline-map "\C-c\C-s" 'pascal-show-all)
|
||||
(define-key pascal-outline-map "\C-c\C-h" 'pascal-hide-other-defuns))
|
||||
|
||||
(defvar pascal-outline-mode nil "Non-nil while using Pascal Outline mode.")
|
||||
(make-variable-buffer-local 'pascal-outline-mode)
|
||||
(set-default 'pascal-outline-mode nil)
|
||||
(if (not (assoc 'pascal-outline-mode minor-mode-alist))
|
||||
(setq minor-mode-alist (append minor-mode-alist
|
||||
(list '(pascal-outline-mode " Outl")))))
|
||||
|
||||
(defun pascal-outline (&optional arg)
|
||||
(define-obsolete-function-alias 'pascal-outline 'pascal-outline-mode)
|
||||
(define-minor-mode pascal-outline-mode
|
||||
"Outline-line minor mode for Pascal mode.
|
||||
When in Pascal Outline mode, portions
|
||||
of the text being edited may be made invisible. \\<pascal-outline-map>
|
||||
|
|
@ -1531,26 +1519,26 @@ Pascal Outline mode provides some additional commands.
|
|||
\\[pascal-hide-other-defuns]\
|
||||
\t- Hide everything but the current function (function under the cursor).
|
||||
\\[pascal-outline]\t- Leave pascal-outline-mode."
|
||||
(interactive "P")
|
||||
(setq pascal-outline-mode
|
||||
(if (null arg) (not pascal-outline-mode) t))
|
||||
(if (fboundp 'redraw-mode-line)
|
||||
(redraw-mode-line))
|
||||
(if pascal-outline-mode
|
||||
(progn
|
||||
(setq selective-display t)
|
||||
(use-local-map pascal-outline-map))
|
||||
(progn
|
||||
(setq selective-display nil)
|
||||
(pascal-show-all)
|
||||
(use-local-map pascal-mode-map))))
|
||||
:init-value nil :lighter " Outl" :keymap pascal-outline-map
|
||||
(add-to-invisibility-spec '(pascal . t))
|
||||
(unless pascal-outline-mode
|
||||
(pascal-show-all)))
|
||||
|
||||
(defun pascal-outline-change (b e pascal-flag)
|
||||
(let ((modp (buffer-modified-p)))
|
||||
(unwind-protect
|
||||
(subst-char-in-region b e (if (= pascal-flag ?\n)
|
||||
?\^M ?\n) pascal-flag)
|
||||
(set-buffer-modified-p modp))))
|
||||
(save-excursion
|
||||
;; This used to use selective display so the boundaries used by the
|
||||
;; callers didn't have to be precise, since it just looked for \n or \^M
|
||||
;; and switched them.
|
||||
(goto-char b) (setq b (line-end-position))
|
||||
(goto-char e) (setq e (line-end-position)))
|
||||
(when (> e b)
|
||||
;; We could try and optimize this in the case where the region is
|
||||
;; already hidden. But I'm not sure it's worth the trouble.
|
||||
(remove-overlays b e 'invisible 'pascal)
|
||||
(when (eq pascal-flag ?\^M)
|
||||
(let ((ol (make-overlay b e nil t nil)))
|
||||
(overlay-put ol 'invisible 'pascal)
|
||||
(overlay-put ol 'evaporate t)))))
|
||||
|
||||
(defun pascal-show-all ()
|
||||
"Show all of the text in the buffer."
|
||||
|
|
@ -1628,5 +1616,5 @@ Pascal Outline mode provides some additional commands.
|
|||
|
||||
(provide 'pascal)
|
||||
|
||||
;;; arch-tag: 04535136-fd93-40b4-a505-c9bebdc051f5
|
||||
;; arch-tag: 04535136-fd93-40b4-a505-c9bebdc051f5
|
||||
;;; pascal.el ends here
|
||||
|
|
|
|||
|
|
@ -3392,7 +3392,7 @@ t means to return a list of all possible completions of STRING.
|
|||
"Insert code to setup temporary file handling. See `sh-feature'."
|
||||
(bash sh-append ksh88)
|
||||
(csh (file-name-nondirectory (buffer-file-name))
|
||||
"set tmp = /tmp/" str ".$$" \n
|
||||
"set tmp = `mktemp -t " str ".XXXXXX`" \n
|
||||
"onintr exit" \n _
|
||||
(and (goto-char (point-max))
|
||||
(not (bolp))
|
||||
|
|
@ -3400,8 +3400,8 @@ t means to return a list of all possible completions of STRING.
|
|||
"exit:\n"
|
||||
"rm $tmp* >&/dev/null" > \n)
|
||||
(es (file-name-nondirectory (buffer-file-name))
|
||||
> "local( signals = $signals sighup sigint; tmp = /tmp/" str
|
||||
".$pid ) {" \n
|
||||
> "local( signals = $signals sighup sigint;" \n
|
||||
> "tmp = `{ mktemp -t " str ".XXXXXX } ) {" \n
|
||||
> "catch @ e {" \n
|
||||
> "rm $tmp^* >[2]/dev/null" \n
|
||||
"throw $e" \n
|
||||
|
|
@ -3412,10 +3412,10 @@ t means to return a list of all possible completions of STRING.
|
|||
(ksh88 sh-modify sh
|
||||
7 "EXIT")
|
||||
(rc (file-name-nondirectory (buffer-file-name))
|
||||
> "tmp = /tmp/" str ".$pid" \n
|
||||
> "tmp = `{ mktemp -t " str ".XXXXXX }" \n
|
||||
"fn sigexit { rm $tmp^* >[2]/dev/null }" \n)
|
||||
(sh (file-name-nondirectory (buffer-file-name))
|
||||
> "TMP=${TMPDIR:-/tmp}/" str ".$$" \n
|
||||
> "TMP=`mktemp -t " str ".XXXXXX`" \n
|
||||
"trap \"rm $TMP* 2>/dev/null\" " ?0 \n))
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -142,6 +142,8 @@
|
|||
(defvar lazy-lock-defer-contextually)
|
||||
(defvar lazy-lock-defer-on-scrolling)
|
||||
(defvar lazy-lock-defer-on-the-fly)
|
||||
(defvar speedbar-attached-frame)
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;; Variables
|
||||
|
|
|
|||
133
lisp/recentf.el
133
lisp/recentf.el
|
|
@ -206,6 +206,13 @@ elements (see `recentf-make-menu-element' for menu element form)."
|
|||
function)
|
||||
:set 'recentf-menu-customization-changed)
|
||||
|
||||
(defcustom recentf-menu-open-all-flag nil
|
||||
"*Non-nil means to show an \"All...\" item in the menu.
|
||||
This item will replace the \"More...\" item."
|
||||
:group 'recentf
|
||||
:type 'boolean
|
||||
:set 'recentf-menu-customization-changed)
|
||||
|
||||
(defcustom recentf-menu-append-commands-flag t
|
||||
"*Non-nil means to append command items to the menu."
|
||||
:group 'recentf
|
||||
|
|
@ -278,7 +285,6 @@ If non-nil, `recentf-open-files' will show labels for keys that can be
|
|||
used as shortcuts to open the Nth file."
|
||||
:group 'recentf
|
||||
:type 'boolean)
|
||||
|
||||
|
||||
;;; Utilities
|
||||
;;
|
||||
|
|
@ -448,6 +454,25 @@ Return non-nil if F1 is less than F2."
|
|||
|
||||
;;; Menu building
|
||||
;;
|
||||
(defsubst recentf-digit-shortcut-command-name (n)
|
||||
"Return a command name to open the Nth most recent file.
|
||||
See also the command `recentf-open-most-recent-file'."
|
||||
(intern (format "recentf-open-most-recent-file-%d" n)))
|
||||
|
||||
(defvar recentf--shortcuts-keymap
|
||||
(let ((km (make-sparse-keymap)))
|
||||
(dolist (k '(0 9 8 7 6 5 4 3 2 1))
|
||||
(let ((cmd (recentf-digit-shortcut-command-name k)))
|
||||
;; Define a shortcut command.
|
||||
(defalias cmd
|
||||
`(lambda ()
|
||||
(interactive)
|
||||
(recentf-open-most-recent-file ,k)))
|
||||
;; Bind it to a digit key.
|
||||
(define-key km (vector (+ k ?0)) cmd)))
|
||||
km)
|
||||
"Digit shortcuts keymap.")
|
||||
|
||||
(defvar recentf-menu-items-for-commands
|
||||
(list
|
||||
["Cleanup list"
|
||||
|
|
@ -548,21 +573,29 @@ menu-elements (no sub-menu)."
|
|||
(nconc l others))
|
||||
l))
|
||||
|
||||
;; Count the number of assigned menu shortcuts.
|
||||
(defvar recentf-menu-shortcuts)
|
||||
|
||||
(defun recentf-make-menu-items ()
|
||||
"Make menu items from the recent list."
|
||||
(setq recentf-menu-filter-commands nil)
|
||||
(let ((file-items
|
||||
(mapcar 'recentf-make-menu-item
|
||||
(recentf-apply-menu-filter
|
||||
recentf-menu-filter
|
||||
(recentf-menu-elements recentf-max-menu-items)))))
|
||||
(let* ((recentf-menu-shortcuts 0)
|
||||
(file-items
|
||||
(mapcar 'recentf-make-menu-item
|
||||
(recentf-apply-menu-filter
|
||||
recentf-menu-filter
|
||||
(recentf-menu-elements recentf-max-menu-items)))))
|
||||
(append (or file-items (list ["No files" t
|
||||
:help "No recent file to open"
|
||||
:active nil]))
|
||||
(and (< recentf-max-menu-items (length recentf-list))
|
||||
(list ["More..." recentf-open-more-files
|
||||
:help "Open files that are not in the menu"
|
||||
:active t]))
|
||||
(if recentf-menu-open-all-flag
|
||||
(list ["All..." recentf-open-files
|
||||
:help "Open recent files through a dialog"
|
||||
:active t])
|
||||
(and (< recentf-max-menu-items (length recentf-list))
|
||||
(list ["More..." recentf-open-more-files
|
||||
:help "Open files not in the menu through a dialog"
|
||||
:active t])))
|
||||
(and recentf-menu-filter-commands
|
||||
(cons "---"
|
||||
recentf-menu-filter-commands))
|
||||
|
|
@ -570,15 +603,37 @@ menu-elements (no sub-menu)."
|
|||
(cons "---"
|
||||
recentf-menu-items-for-commands)))))
|
||||
|
||||
(defsubst recentf-make-menu-item (elt)
|
||||
(defun recentf-menu-value-shortcut (name)
|
||||
"Return a shorcut digit for file NAME.
|
||||
Return nil if file NAME is not one of the ten more recent."
|
||||
(let ((i 0) k)
|
||||
(while (and (not k) (< i 10))
|
||||
(if (string-equal name (nth i recentf-list))
|
||||
(progn
|
||||
(setq recentf-menu-shortcuts (1+ recentf-menu-shortcuts))
|
||||
(setq k (% (1+ i) 10)))
|
||||
(setq i (1+ i))))
|
||||
k))
|
||||
|
||||
(defun recentf-make-menu-item (elt)
|
||||
"Make a menu item from menu element ELT."
|
||||
(let ((item (recentf-menu-element-item elt))
|
||||
(value (recentf-menu-element-value elt)))
|
||||
(if (recentf-sub-menu-element-p elt)
|
||||
(cons item (mapcar 'recentf-make-menu-item value))
|
||||
(vector item (list recentf-menu-action value)
|
||||
:help (concat "Open " value)
|
||||
:active t))))
|
||||
(let ((k (and (< recentf-menu-shortcuts 10)
|
||||
(recentf-menu-value-shortcut value))))
|
||||
(vector item
|
||||
;; If the file name is one of the ten more recent, use
|
||||
;; a digit shortcut command to open it, else use an
|
||||
;; anonymous command.
|
||||
(if k
|
||||
(recentf-digit-shortcut-command-name k)
|
||||
`(lambda ()
|
||||
(interactive)
|
||||
(,recentf-menu-action ,value)))
|
||||
:help (concat "Open " value)
|
||||
:active t)))))
|
||||
|
||||
(defsubst recentf-menu-bar ()
|
||||
"Return the keymap of the global menu bar."
|
||||
|
|
@ -953,13 +1008,10 @@ Go to the beginning of buffer if not found."
|
|||
(goto-char (point-min))))
|
||||
|
||||
(defvar recentf-dialog-mode-map
|
||||
(let ((km (make-sparse-keymap)))
|
||||
(let ((km (copy-keymap recentf--shortcuts-keymap)))
|
||||
(set-keymap-parent km widget-keymap)
|
||||
(define-key km "q" 'recentf-cancel-dialog)
|
||||
(define-key km [down-mouse-1] 'widget-button-click)
|
||||
;; Keys in reverse order of appearence in help.
|
||||
(dolist (k '("0" "9" "8" "7" "6" "5" "4" "3" "2" "1"))
|
||||
(define-key km k 'recentf-open-file-with-key))
|
||||
km)
|
||||
"Keymap used in recentf dialogs.")
|
||||
|
||||
|
|
@ -1081,7 +1133,7 @@ Click on Cancel or type `q' to cancel.\n")
|
|||
'push-button
|
||||
:notify 'recentf-edit-list-validate
|
||||
:help-echo "Delete selected files from the recent list"
|
||||
"Ok")
|
||||
"Ok")
|
||||
(widget-insert " ")
|
||||
(widget-create
|
||||
'push-button
|
||||
|
|
@ -1178,30 +1230,29 @@ use for the dialog. It defaults to \"*`recentf-menu-title'*\"."
|
|||
"Cancel")
|
||||
(recentf-dialog-goto-first 'link)))
|
||||
|
||||
(defun recentf-open-file-with-key (n)
|
||||
"Open the recent file with the shortcut numeric key N.
|
||||
N must be a valid digit.
|
||||
`1' opens the first file, `2' the second file, ... `9' the ninth file.
|
||||
`0' opens the tenth file."
|
||||
(interactive
|
||||
(list
|
||||
(let ((n (string-to-number (this-command-keys))))
|
||||
(cond
|
||||
((zerop n) 10)
|
||||
((and (> n 0) (< n 10)) n)
|
||||
((error "Invalid digit key %d" n))))))
|
||||
(when recentf--files-with-key
|
||||
(let ((file (nth (1- n) recentf--files-with-key)))
|
||||
(unless file (error "Not that many recent files"))
|
||||
(kill-buffer (current-buffer))
|
||||
(funcall recentf-menu-action file))))
|
||||
|
||||
(defun recentf-open-more-files ()
|
||||
"Show a dialog to open a recent file that is not in the menu."
|
||||
(interactive)
|
||||
(recentf-open-files (nthcdr recentf-max-menu-items recentf-list)
|
||||
(format "*%s - More*" recentf-menu-title)))
|
||||
|
||||
(defun recentf-open-most-recent-file (&optional n)
|
||||
"Open the Nth most recent file.
|
||||
Optional argument N must be a valid digit number. It defaults to 1.
|
||||
1 opens the most recent file, 2 the second most recent one, etc..
|
||||
0 opens the tenth most recent file."
|
||||
(interactive "p")
|
||||
(cond
|
||||
((zerop n) (setq n 10))
|
||||
((and (> n 0) (< n 10)))
|
||||
((error "Recent file number out of range [0-9], %d" n)))
|
||||
(let ((file (nth (1- n) (or recentf--files-with-key recentf-list))))
|
||||
(unless file (error "Not that many recent files"))
|
||||
;; Close the open files dialog.
|
||||
(when recentf--files-with-key
|
||||
(kill-buffer (current-buffer)))
|
||||
(funcall recentf-menu-action file)))
|
||||
|
||||
;;; Save/load/cleanup the recent list
|
||||
;;
|
||||
(defconst recentf-save-file-header
|
||||
|
|
@ -1266,6 +1317,9 @@ That is, remove duplicates, non-kept, and excluded files."
|
|||
(message "Cleaning up the recentf list...done (%d removed)" n)
|
||||
(setq recentf-list (nreverse newlist))))
|
||||
|
||||
(defvar recentf-mode-map (make-sparse-keymap)
|
||||
"Keymap to use in recentf mode.")
|
||||
|
||||
;;;###autoload
|
||||
(define-minor-mode recentf-mode
|
||||
"Toggle recentf mode.
|
||||
|
|
@ -1273,9 +1327,12 @@ With prefix argument ARG, turn on if positive, otherwise off.
|
|||
Returns non-nil if the new state is enabled.
|
||||
|
||||
When recentf mode is enabled, it maintains a menu for visiting files
|
||||
that were operated on recently."
|
||||
that were operated on recently.
|
||||
|
||||
\\{recentf-mode-map}"
|
||||
:global t
|
||||
:group 'recentf
|
||||
:keymap recentf-mode-map
|
||||
(unless (and recentf-mode (recentf-enabled-p))
|
||||
(if recentf-mode
|
||||
(recentf-load-list)
|
||||
|
|
|
|||
|
|
@ -896,22 +896,42 @@ in *Help* buffer. See also the command `describe-char'."
|
|||
(message "point=%d of %d (%d%%) column %d %s"
|
||||
pos total percent col hscroll))
|
||||
(let ((coding buffer-file-coding-system)
|
||||
encoded encoding-msg)
|
||||
encoded encoding-msg display-prop under-display)
|
||||
(if (or (not coding)
|
||||
(eq (coding-system-type coding) t))
|
||||
(setq coding default-buffer-file-coding-system))
|
||||
(if (not (char-valid-p char))
|
||||
(setq encoding-msg
|
||||
(format "(0%o, %d, 0x%x, invalid)" char char char))
|
||||
(setq encoded (and (>= char 128) (encode-coding-char char coding)))
|
||||
;; Check if the character is displayed with some `display'
|
||||
;; text property. In that case, set under-display to the
|
||||
;; buffer substring covered by that property.
|
||||
(setq display-prop (get-text-property pos 'display))
|
||||
(if display-prop
|
||||
(let ((to (or (next-single-property-change pos 'display)
|
||||
(point-max))))
|
||||
(if (< to (+ pos 4))
|
||||
(setq under-display "")
|
||||
(setq under-display "..."
|
||||
to (+ pos 4)))
|
||||
(setq under-display
|
||||
(concat (buffer-substring-no-properties pos to)
|
||||
under-display)))
|
||||
(setq encoded (and (>= char 128) (encode-coding-char char coding))))
|
||||
(setq encoding-msg
|
||||
(if encoded
|
||||
(format "(0%o, %d, 0x%x, file %s)"
|
||||
char char char
|
||||
(if (> (length encoded) 1)
|
||||
"..."
|
||||
(encoded-string-description encoded coding)))
|
||||
(format "(0%o, %d, 0x%x)" char char char))))
|
||||
(if display-prop
|
||||
(if (not (stringp display-prop))
|
||||
(format "(0%o, %d, 0x%x, part of display \"%s\")"
|
||||
char char char under-display)
|
||||
(format "(0%o, %d, 0x%x, part of display \"%s\"->\"%s\")"
|
||||
char char char under-display display-prop))
|
||||
(if encoded
|
||||
(format "(0%o, %d, 0x%x, file %s)"
|
||||
char char char
|
||||
(if (> (length encoded) 1)
|
||||
"..."
|
||||
(encoded-string-description encoded coding)))
|
||||
(format "(0%o, %d, 0x%x)" char char char)))))
|
||||
(if detail
|
||||
;; We show the detailed information about CHAR.
|
||||
(describe-char (point)))
|
||||
|
|
@ -922,9 +942,11 @@ in *Help* buffer. See also the command `describe-char'."
|
|||
(buffer-substring-no-properties (point) (1+ (point))))
|
||||
encoding-msg pos total percent beg end col hscroll)
|
||||
(message "Char: %s %s point=%d of %d (%d%%) column %d %s"
|
||||
(if (< char 256)
|
||||
(single-key-description char)
|
||||
(buffer-substring-no-properties (point) (1+ (point))))
|
||||
(if enable-multibyte-characters
|
||||
(if (< char 128)
|
||||
(single-key-description char)
|
||||
(buffer-substring-no-properties (point) (1+ (point))))
|
||||
(single-key-description char))
|
||||
encoding-msg pos total percent col hscroll))))))
|
||||
|
||||
(defvar read-expression-map
|
||||
|
|
|
|||
|
|
@ -762,7 +762,7 @@ This basically creates a sparse keymap, and makes it's parent be
|
|||
(define-key speedbar-file-key-map "-" 'speedbar-contract-line)
|
||||
|
||||
(define-key speedbar-file-key-map "[" 'speedbar-expand-line-descendants)
|
||||
(define-key speedbar-file-key-map "]" 'speedbar-close-line-descendants)
|
||||
(define-key speedbar-file-key-map "]" 'speedbar-contract-line-descendants)
|
||||
|
||||
(define-key speedbar-file-key-map " " 'speedbar-toggle-line-expansion)
|
||||
|
||||
|
|
|
|||
|
|
@ -128,8 +128,7 @@ This is normally copied from `default-directory' when Emacs starts.")
|
|||
("-bg" 1 x-handle-switch background-color)
|
||||
("-background" 1 x-handle-switch background-color)
|
||||
("-ms" 1 x-handle-switch mouse-color)
|
||||
("-itype" 0 x-handle-switch icon-type t)
|
||||
("-i" 0 x-handle-switch icon-type t)
|
||||
("-nb" 0 x-handle-switch icon-type nil)
|
||||
("-iconic" 0 x-handle-iconic)
|
||||
("-xrm" 1 x-handle-xrm-switch)
|
||||
("-cr" 1 x-handle-switch cursor-color)
|
||||
|
|
@ -150,7 +149,7 @@ This is normally copied from `default-directory' when Emacs starts.")
|
|||
("--foreground-color" 1 x-handle-switch foreground-color)
|
||||
("--background-color" 1 x-handle-switch background-color)
|
||||
("--mouse-color" 1 x-handle-switch mouse-color)
|
||||
("--icon-type" 0 x-handle-switch icon-type t)
|
||||
("--no-bitmap-icon" 0 x-handle-switch icon-type nil)
|
||||
("--iconic" 0 x-handle-iconic)
|
||||
("--xrm" 1 x-handle-xrm-switch)
|
||||
("--cursor-color" 1 x-handle-switch cursor-color)
|
||||
|
|
|
|||
|
|
@ -60,8 +60,6 @@
|
|||
;; -font *font
|
||||
;; -foreground *foreground
|
||||
;; -geometry .geometry
|
||||
;; -i .iconType
|
||||
;; -itype .iconType
|
||||
;; -iconic .iconic
|
||||
;; -name .name
|
||||
;; -reverse *reverseVideo
|
||||
|
|
|
|||
|
|
@ -3379,7 +3379,7 @@ The POINT-LIST is expected to cover the first quadrant."
|
|||
;; that look like: \ / instead we get: ( )
|
||||
;; \ / \ /
|
||||
;; --------- ---------
|
||||
(let ((last-coord (last point-list)))
|
||||
(let ((last-coord (car (last point-list))))
|
||||
(if (= (artist-coord-get-new-char last-coord) ?/)
|
||||
(artist-coord-set-new-char last-coord artist-ellipse-right-char)))
|
||||
|
||||
|
|
@ -3848,8 +3848,8 @@ Optional argument STATE can be used to set state (default is nil)."
|
|||
(x2 (artist-endpoint-get-x ep2))
|
||||
(y2 (artist-endpoint-get-y ep2))
|
||||
(dir1 (artist-find-direction x2 y2 x1 y1))
|
||||
(epn (last point-list))
|
||||
(epn-1 (last point-list 2))
|
||||
(epn (car (last point-list)))
|
||||
(epn-1 (car (last point-list 2)))
|
||||
(xn (artist-endpoint-get-x epn))
|
||||
(yn (artist-endpoint-get-y epn))
|
||||
(xn-1 (artist-endpoint-get-x epn-1))
|
||||
|
|
|
|||
|
|
@ -772,7 +772,8 @@ Mostly we check word delimiters."
|
|||
((get this-command 'flyspell-delayed)
|
||||
;; the current command is not delayed, that
|
||||
;; is that we must check the word now
|
||||
(sit-for flyspell-delay))
|
||||
(and (not unread-command-events)
|
||||
(sit-for flyspell-delay)))
|
||||
(t t)))
|
||||
(t t)))
|
||||
|
||||
|
|
@ -1322,47 +1323,43 @@ Word syntax described by `flyspell-dictionary-alist' (which see)."
|
|||
;* flyspell-external-point-words ... */
|
||||
;*---------------------------------------------------------------------*/
|
||||
(defun flyspell-external-point-words ()
|
||||
(let ((buffer flyspell-external-ispell-buffer))
|
||||
(set-buffer buffer)
|
||||
"Mark words from a buffer listing incorrect words in order of appearance.
|
||||
The list of incorrect words should be in `flyspell-external-ispell-buffer'.
|
||||
\(We finish by killing that buffer and setting the variable to nil.)
|
||||
The buffer to mark them in is `flyspell-large-region-buffer'."
|
||||
|
||||
(with-current-buffer flyspell-external-ispell-buffer
|
||||
(goto-char (point-min))
|
||||
(let ((pword "")
|
||||
(pcount 1))
|
||||
;; now we are done with ispell, we have to find the word in
|
||||
;; the initial buffer
|
||||
(while (< (point) (- (point-max) 1))
|
||||
;; we have to fetch the incorrect word
|
||||
(if (re-search-forward "\\([^\n]+\\)\n" (point-max) t)
|
||||
(let ((word (match-string 1)))
|
||||
(if (string= word pword)
|
||||
(setq pcount (1+ pcount))
|
||||
(progn
|
||||
(setq pword word)
|
||||
(setq pcount 1)))
|
||||
(goto-char (match-end 0))
|
||||
(if flyspell-issue-message-flag
|
||||
(message "Spell Checking...%d%% [%s]"
|
||||
(* 100 (/ (float (point)) (point-max)))
|
||||
word))
|
||||
(set-buffer flyspell-large-region-buffer)
|
||||
(goto-char flyspell-large-region-beg)
|
||||
(let ((keep t)
|
||||
(n 0))
|
||||
(while (and (or (< n pcount) keep)
|
||||
(search-forward word flyspell-large-region-end t))
|
||||
(progn
|
||||
(goto-char (- (point) 1))
|
||||
(setq n (1+ n))
|
||||
(setq keep (flyspell-word))))
|
||||
(if (= n pcount)
|
||||
(setq flyspell-large-region-beg (point))))
|
||||
(set-buffer buffer))
|
||||
(goto-char (point-max)))))
|
||||
;; Loop over incorrect words.
|
||||
(while (re-search-forward "\\([^\n]+\\)\n" (point-max) t)
|
||||
;; Bind WORD to the next one.
|
||||
(let ((word (match-string 1)))
|
||||
;; Here there used to be code to see if WORD is the same
|
||||
;; as the previous iteration, and count the number of consecutive
|
||||
;; identical words, and the loop below would search for that many.
|
||||
;; That code seemed to be incorrect, and on principle, should
|
||||
;; be unnecessary too. -- rms.
|
||||
(if flyspell-issue-message-flag
|
||||
(message "Spell Checking...%d%% [%s]"
|
||||
(* 100 (/ (float (point)) (point-max)))
|
||||
word))
|
||||
;; Search the other buffer for occurrences of this word,
|
||||
;; and check them. Stop when we find one that reports "incorrect".
|
||||
;; (I don't understand the reason for that logic,
|
||||
;; but I didn't want to change it. -- rms.)
|
||||
(with-current-buffer flyspell-large-region-buffer
|
||||
(goto-char flyspell-large-region-beg)
|
||||
(let ((keep t))
|
||||
(while (and keep
|
||||
(search-forward word flyspell-large-region-end t))
|
||||
(goto-char (- (point) 1))
|
||||
(setq keep (flyspell-word)))
|
||||
(setq flyspell-large-region-beg (point))))))
|
||||
;; we are done
|
||||
(if flyspell-issue-message-flag (message "Spell Checking completed."))
|
||||
;; ok, we are done with pointing out incorrect words, we just
|
||||
;; have to kill the temporary buffer
|
||||
(kill-buffer flyspell-external-ispell-buffer)
|
||||
(setq flyspell-external-ispell-buffer nil)))
|
||||
(if flyspell-issue-message-flag (message "Spell Checking completed.")))
|
||||
;; Kill and forget the buffer with the list of incorrect words.
|
||||
(kill-buffer flyspell-external-ispell-buffer)
|
||||
(setq flyspell-external-ispell-buffer nil))
|
||||
|
||||
;*---------------------------------------------------------------------*/
|
||||
;* flyspell-large-region ... */
|
||||
|
|
|
|||
|
|
@ -821,7 +821,7 @@ Otherwise returns the library directory name, if that is defined."
|
|||
(let (case-fold-search)
|
||||
(setq ispell-really-aspell
|
||||
(and (search-forward-regexp
|
||||
"(but really Aspell \\(.*\\))" nil t)
|
||||
"(but really Aspell \\(.*?\\)\\(-[0-9]+\\)?)" nil t)
|
||||
(progn
|
||||
(setq ispell-aspell-supports-utf8
|
||||
(not (version< (match-string 1) "0.60")))
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
;; Author: Carsten Dominik <dominik at science dot uva dot nl>
|
||||
;; Keywords: outlines, hypermedia, calendar
|
||||
;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
|
||||
;; Version: 3.16
|
||||
;; Version: 3.17
|
||||
;;
|
||||
;; This file is part of GNU Emacs.
|
||||
;;
|
||||
|
|
@ -80,6 +80,9 @@
|
|||
;;
|
||||
;; Changes:
|
||||
;; -------
|
||||
;; Version 3.17
|
||||
;; - HTML export specifies character set depending on coding-system.
|
||||
;;
|
||||
;; Version 3.16
|
||||
;; - In tables, directly after the field motion commands like TAB and RET,
|
||||
;; typing a character will blank the field. Can be turned off with
|
||||
|
|
@ -210,7 +213,7 @@
|
|||
|
||||
;;; Customization variables
|
||||
|
||||
(defvar org-version "3.16"
|
||||
(defvar org-version "3.17"
|
||||
"The version number of the file org.el.")
|
||||
(defun org-version ()
|
||||
(interactive)
|
||||
|
|
@ -482,89 +485,6 @@ or contain a special line
|
|||
If the file does not specify a category, then file's base name
|
||||
is used instead.")
|
||||
|
||||
(defun org-set-regexps-and-options ()
|
||||
"Precompute regular expressions for current buffer."
|
||||
(when (eq major-mode 'org-mode)
|
||||
(let ((re (org-make-options-regexp
|
||||
'("CATEGORY" "SEQ_TODO" "PRI_TODO" "TYP_TODO"
|
||||
"STARTUP" "ARCHIVE")))
|
||||
(splitre "[ \t]+")
|
||||
kwds int key value cat arch)
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(widen)
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward re nil t)
|
||||
(setq key (match-string 1) value (match-string 2))
|
||||
(cond
|
||||
((equal key "CATEGORY")
|
||||
(if (string-match "[ \t]+$" value)
|
||||
(setq value (replace-match "" t t value)))
|
||||
(setq cat (intern value)))
|
||||
((equal key "SEQ_TODO")
|
||||
(setq int 'sequence
|
||||
kwds (append kwds (org-split-string value splitre))))
|
||||
((equal key "PRI_TODO")
|
||||
(setq int 'priority
|
||||
kwds (append kwds (org-split-string value splitre))))
|
||||
((equal key "TYP_TODO")
|
||||
(setq int 'type
|
||||
kwds (append kwds (org-split-string value splitre))))
|
||||
((equal key "STARTUP")
|
||||
(let ((opts (org-split-string value splitre))
|
||||
(set '(("fold" org-startup-folded t)
|
||||
("nofold" org-startup-folded nil)
|
||||
("content" org-startup-folded content)
|
||||
("dlcheck" org-startup-with-deadline-check t)
|
||||
("nodlcheck" org-startup-with-deadline-check nil)))
|
||||
l var val)
|
||||
(while (setq l (assoc (pop opts) set))
|
||||
(setq var (nth 1 l) val (nth 2 l))
|
||||
(set (make-local-variable var) val))))
|
||||
((equal key "ARCHIVE")
|
||||
(string-match " *$" value)
|
||||
(setq arch (replace-match "" t t value))
|
||||
(remove-text-properties 0 (length arch)
|
||||
'(face t fontified t) arch)))
|
||||
)))
|
||||
(and cat (set (make-local-variable 'org-category) cat))
|
||||
(and kwds (set (make-local-variable 'org-todo-keywords) kwds))
|
||||
(and arch (set (make-local-variable 'org-archive-location) arch))
|
||||
(and int (set (make-local-variable 'org-todo-interpretation) int)))
|
||||
;; Compute the regular expressions and other local variables
|
||||
(setq org-todo-kwd-priority-p (equal org-todo-interpretation 'priority)
|
||||
org-todo-kwd-max-priority (1- (length org-todo-keywords))
|
||||
org-ds-keyword-length (+ 2 (max (length org-deadline-string)
|
||||
(length org-scheduled-string)))
|
||||
org-done-string
|
||||
(nth (1- (length org-todo-keywords)) org-todo-keywords)
|
||||
org-todo-regexp
|
||||
(concat "\\<\\(" (mapconcat 'regexp-quote org-todo-keywords
|
||||
"\\|") "\\)\\>")
|
||||
org-not-done-regexp
|
||||
(concat "\\<\\("
|
||||
(mapconcat 'regexp-quote
|
||||
(nreverse (cdr (reverse org-todo-keywords)))
|
||||
"\\|")
|
||||
"\\)\\>")
|
||||
org-todo-line-regexp
|
||||
(concat "^\\(\\*+\\)[ \t]*\\("
|
||||
(mapconcat 'regexp-quote org-todo-keywords "\\|")
|
||||
"\\)? *\\(.*\\)")
|
||||
org-nl-done-regexp
|
||||
(concat "[\r\n]\\*+[ \t]+" org-done-string "\\>")
|
||||
org-looking-at-done-regexp (concat "^" org-done-string "\\>")
|
||||
org-deadline-regexp (concat "\\<" org-deadline-string)
|
||||
org-deadline-time-regexp
|
||||
(concat "\\<" org-deadline-string " *<\\([^>]+\\)>")
|
||||
org-deadline-line-regexp
|
||||
(concat "\\<\\(" org-deadline-string "\\).*")
|
||||
org-scheduled-regexp
|
||||
(concat "\\<" org-scheduled-string)
|
||||
org-scheduled-time-regexp
|
||||
(concat "\\<" org-scheduled-string " *<\\([^>]+\\)>"))
|
||||
(org-set-font-lock-defaults)))
|
||||
|
||||
(defgroup org-time nil
|
||||
"Options concerning time stamps and deadlines in Org-mode."
|
||||
:tag "Org Time"
|
||||
|
|
@ -1755,6 +1675,89 @@ When this is non-nil, the headline after the keyword is set to the
|
|||
))
|
||||
(defvar org-n-levels (length org-level-faces))
|
||||
|
||||
(defun org-set-regexps-and-options ()
|
||||
"Precompute regular expressions for current buffer."
|
||||
(when (eq major-mode 'org-mode)
|
||||
(let ((re (org-make-options-regexp
|
||||
'("CATEGORY" "SEQ_TODO" "PRI_TODO" "TYP_TODO"
|
||||
"STARTUP" "ARCHIVE")))
|
||||
(splitre "[ \t]+")
|
||||
kwds int key value cat arch)
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(widen)
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward re nil t)
|
||||
(setq key (match-string 1) value (match-string 2))
|
||||
(cond
|
||||
((equal key "CATEGORY")
|
||||
(if (string-match "[ \t]+$" value)
|
||||
(setq value (replace-match "" t t value)))
|
||||
(setq cat (intern value)))
|
||||
((equal key "SEQ_TODO")
|
||||
(setq int 'sequence
|
||||
kwds (append kwds (org-split-string value splitre))))
|
||||
((equal key "PRI_TODO")
|
||||
(setq int 'priority
|
||||
kwds (append kwds (org-split-string value splitre))))
|
||||
((equal key "TYP_TODO")
|
||||
(setq int 'type
|
||||
kwds (append kwds (org-split-string value splitre))))
|
||||
((equal key "STARTUP")
|
||||
(let ((opts (org-split-string value splitre))
|
||||
(set '(("fold" org-startup-folded t)
|
||||
("nofold" org-startup-folded nil)
|
||||
("content" org-startup-folded content)
|
||||
("dlcheck" org-startup-with-deadline-check t)
|
||||
("nodlcheck" org-startup-with-deadline-check nil)))
|
||||
l var val)
|
||||
(while (setq l (assoc (pop opts) set))
|
||||
(setq var (nth 1 l) val (nth 2 l))
|
||||
(set (make-local-variable var) val))))
|
||||
((equal key "ARCHIVE")
|
||||
(string-match " *$" value)
|
||||
(setq arch (replace-match "" t t value))
|
||||
(remove-text-properties 0 (length arch)
|
||||
'(face t fontified t) arch)))
|
||||
)))
|
||||
(and cat (set (make-local-variable 'org-category) cat))
|
||||
(and kwds (set (make-local-variable 'org-todo-keywords) kwds))
|
||||
(and arch (set (make-local-variable 'org-archive-location) arch))
|
||||
(and int (set (make-local-variable 'org-todo-interpretation) int)))
|
||||
;; Compute the regular expressions and other local variables
|
||||
(setq org-todo-kwd-priority-p (equal org-todo-interpretation 'priority)
|
||||
org-todo-kwd-max-priority (1- (length org-todo-keywords))
|
||||
org-ds-keyword-length (+ 2 (max (length org-deadline-string)
|
||||
(length org-scheduled-string)))
|
||||
org-done-string
|
||||
(nth (1- (length org-todo-keywords)) org-todo-keywords)
|
||||
org-todo-regexp
|
||||
(concat "\\<\\(" (mapconcat 'regexp-quote org-todo-keywords
|
||||
"\\|") "\\)\\>")
|
||||
org-not-done-regexp
|
||||
(concat "\\<\\("
|
||||
(mapconcat 'regexp-quote
|
||||
(nreverse (cdr (reverse org-todo-keywords)))
|
||||
"\\|")
|
||||
"\\)\\>")
|
||||
org-todo-line-regexp
|
||||
(concat "^\\(\\*+\\)[ \t]*\\("
|
||||
(mapconcat 'regexp-quote org-todo-keywords "\\|")
|
||||
"\\)? *\\(.*\\)")
|
||||
org-nl-done-regexp
|
||||
(concat "[\r\n]\\*+[ \t]+" org-done-string "\\>")
|
||||
org-looking-at-done-regexp (concat "^" org-done-string "\\>")
|
||||
org-deadline-regexp (concat "\\<" org-deadline-string)
|
||||
org-deadline-time-regexp
|
||||
(concat "\\<" org-deadline-string " *<\\([^>]+\\)>")
|
||||
org-deadline-line-regexp
|
||||
(concat "\\<\\(" org-deadline-string "\\).*")
|
||||
org-scheduled-regexp
|
||||
(concat "\\<" org-scheduled-string)
|
||||
org-scheduled-time-regexp
|
||||
(concat "\\<" org-scheduled-string " *<\\([^>]+\\)>"))
|
||||
(org-set-font-lock-defaults)))
|
||||
|
||||
;; Tell the compiler about dynamically scoped variables,
|
||||
;; and variables from other packages
|
||||
(eval-when-compile
|
||||
|
|
@ -7869,7 +7872,7 @@ this variable requires a restart of Emacs to become effective."
|
|||
table editor in arbitrary modes.")
|
||||
(make-variable-buffer-local 'orgtbl-mode)
|
||||
|
||||
(defvar orgtbl-mode-map (make-sparse-keymap)
|
||||
(defvar orgtbl-mode-map (make-keymap)
|
||||
"Keymap for `orgtbl-mode'.")
|
||||
|
||||
;;;###autoload
|
||||
|
|
@ -8827,6 +8830,12 @@ headlines. The default is 3. Lower levels will become bulleted lists."
|
|||
(lang-words nil)
|
||||
(head-count 0) cnt
|
||||
(start 0)
|
||||
;; FIXME: The following returns always nil under XEmacs
|
||||
(coding-system (and (fboundp 'coding-system-get)
|
||||
(boundp 'buffer-file-coding-system)
|
||||
buffer-file-coding-system))
|
||||
(charset (and coding-system
|
||||
(coding-system-get coding-system 'mime-charset)))
|
||||
table-open type
|
||||
table-buffer table-orig-buffer
|
||||
)
|
||||
|
|
@ -8855,13 +8864,14 @@ headlines. The default is 3. Lower levels will become bulleted lists."
|
|||
(insert (format
|
||||
"<html lang=\"%s\"><head>
|
||||
<title>%s</title>
|
||||
<meta http-equiv=\"Content-Type\" content=\"text/html\">
|
||||
<meta http-equiv=\"Content-Type\" content=\"text/html;charset=%s\">
|
||||
<meta name=generator content=\"Org-mode\">
|
||||
<meta name=generated content=\"%s %s\">
|
||||
<meta name=author content=\"%s\">
|
||||
</head><body>
|
||||
"
|
||||
language (org-html-expand title) date time author))
|
||||
language (org-html-expand title) (or charset "iso-8859-1")
|
||||
date time author))
|
||||
(if title (insert (concat "<H1 align=\"center\">"
|
||||
(org-html-expand title) "</H1>\n")))
|
||||
(if author (insert (concat (nth 1 lang-words) ": " author "\n")))
|
||||
|
|
@ -9408,6 +9418,9 @@ When LEVEL is non-nil, increase section numbers on that level."
|
|||
;; i k @ expendable from outline-mode
|
||||
;; 0123456789 ! %^& ()_{} " `' free
|
||||
|
||||
;; Make `C-c C-x' a prefix key
|
||||
(define-key org-mode-map "\C-c\C-x" (make-sparse-keymap))
|
||||
|
||||
;; TAB key with modifiers
|
||||
(define-key org-mode-map "\C-i" 'org-cycle)
|
||||
(define-key org-mode-map [(meta tab)] 'org-complete)
|
||||
|
|
@ -9587,7 +9600,7 @@ COMMANDS is a list of alternating OLDDEF NEWDEF command names."
|
|||
(if (fboundp 'command-remapping)
|
||||
(define-key map (vector 'remap old) new)
|
||||
(substitute-key-definition old new map global-map)))))
|
||||
|
||||
|
||||
(when (eq org-enable-table-editor 'optimized)
|
||||
;; If the user wants maximum table support, we need to hijack
|
||||
;; some standard editing functions
|
||||
|
|
|
|||
|
|
@ -577,7 +577,7 @@ An alternative value is \" . \", if you use a font with a narrow period."
|
|||
;; This is separate from the previous one because of cases like
|
||||
;; {\em foo {\bf bar} bla} where both match.
|
||||
(list (concat "\\\\\\(bf\\(series\\)?\\)\\>" args)
|
||||
2 '(tex-font-lock-append-prop 'bold) 'append)))))
|
||||
3 '(tex-font-lock-append-prop 'bold) 'append)))))
|
||||
"Gaudy expressions to highlight in TeX modes.")
|
||||
|
||||
(defun tex-font-lock-suscript (pos)
|
||||
|
|
|
|||
|
|
@ -58,6 +58,8 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(defvar widget)
|
||||
|
||||
;;; Compatibility.
|
||||
|
||||
(defun widget-event-point (event)
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
2005-10-08 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* windows.texi (Window Tree): Rename window-split-tree to window-tree.
|
||||
Rename manual section accordingly.
|
||||
|
||||
2005-10-04 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* windows.texi (Window Split Tree): New section describing
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ displayed in windows.
|
|||
* Size of Window:: Accessing the size of a window.
|
||||
* Resizing Windows:: Changing the size of a window.
|
||||
* Coordinates and Windows:: Converting coordinates to windows.
|
||||
* Window Split Tree:: The layout and sizes of all windows in a frame.
|
||||
* Window Tree:: The layout and sizes of all windows in a frame.
|
||||
* Window Configurations:: Saving and restoring the state of the screen.
|
||||
* Window Hooks:: Hooks for scrolling, window size changes,
|
||||
redisplay going past a certain point,
|
||||
|
|
@ -2168,19 +2168,19 @@ The function @code{coordinates-in-window-p} does not require a frame as
|
|||
argument because it always uses the frame that @var{window} is on.
|
||||
@end defun
|
||||
|
||||
@node Window Split Tree
|
||||
@section The Window Split Tree
|
||||
@cindex window split tree
|
||||
@node Window Tree
|
||||
@section The Window Tree
|
||||
@cindex window tree
|
||||
|
||||
A @dfn{window split tree} specifies the layout, size, and relationship
|
||||
A @dfn{window tree} specifies the layout, size, and relationship
|
||||
between all windows in one frame.
|
||||
|
||||
@defun split-window-tree &optional frame
|
||||
This function returns the window split tree for frame @var{frame}.
|
||||
@defun window-tree &optional frame
|
||||
This function returns the window tree for frame @var{frame}.
|
||||
If @var{frame} is omitted, the selected frame is used.
|
||||
|
||||
The return value is a list of the form @code{(@var{root} @var{mini})},
|
||||
where @var{root} represents the window split tree of the frame's
|
||||
where @var{root} represents the window tree of the frame's
|
||||
root window, and @var{mini} is the frame's minibuffer window.
|
||||
|
||||
If the root window is not split, @var{root} is the root window itself.
|
||||
|
|
|
|||
21
make-dist
21
make-dist
|
|
@ -218,13 +218,6 @@ then
|
|||
echo "${bogosities}"
|
||||
fi
|
||||
rm -f /tmp/el /tmp/elc
|
||||
|
||||
### Check for .el files that would overflow the 14-char limit if compiled.
|
||||
long=`find lisp leim -name '[a-zA-Z0-9]??????????*.el' -print`
|
||||
if [ "$long" != "" ]; then
|
||||
echo "The following .el file names are too long:"
|
||||
echo "$long"
|
||||
fi
|
||||
fi
|
||||
|
||||
### Make sure configure is newer than configure.in.
|
||||
|
|
@ -322,6 +315,7 @@ for subdir in lisp site-lisp lispref lispintro \
|
|||
src src/m src/s src/bitmaps lib-src oldXMenu lwlib \
|
||||
nt nt/inc nt/inc/sys nt/inc/arpa nt/inc/netinet nt/icons \
|
||||
etc etc/e etc/images etc/images/gnus etc/images/smilies \
|
||||
etc/images/mail etc/images/ezimage \
|
||||
etc/tree-widget etc/tree-widget/default etc/tree-widget/folder \
|
||||
info man m4 msdos vms mac mac/inc mac/inc/sys \
|
||||
mac/src mac/Emacs.app mac/Emacs.app/Contents \
|
||||
|
|
@ -599,8 +593,17 @@ echo "Making links to \`etc/e'"
|
|||
cd ../../${tempdir}/etc/e
|
||||
rm -f *~ \#*\# *,v =* core)
|
||||
|
||||
for dir in etc/images/gnus etc/images/smilies \
|
||||
etc/tree-widget/default etc/tree-widget/folder ; do
|
||||
echo "Making links to \`etc/images'"
|
||||
(cd etc/images
|
||||
for img in [a-zA-Z]*.xpm [a-zA-Z]*.xbm [a-zA-Z]*.pbm; do
|
||||
if [ -f $img ]; then
|
||||
ln $img ../../${tempdir}/etc/images
|
||||
fi
|
||||
done)
|
||||
|
||||
for dir in etc/images/gnus etc/images/smilies etc/images/mail \
|
||||
etc/images/ezimage etc/tree-widget/default \
|
||||
etc/tree-widget/folder ; do
|
||||
echo "Making links to \`${dir}'"
|
||||
(cd ${dir}
|
||||
ln `ls -d * | grep -v CVS | grep -v RCS` ../../../${tempdir}/${dir}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,76 @@
|
|||
2005-10-11 Jay Belanger <belanger@truman.edu>
|
||||
|
||||
* calc.texi (Integration): Mention using `a i' to compute definite
|
||||
integrals.
|
||||
|
||||
2005-10-11 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* info.texi: Rearrange nodes.
|
||||
(Top): Update menu. Change ref `Info for Experts' to
|
||||
`Advanced Info Commands'.
|
||||
(Getting Started): Fix description of manual's parts.
|
||||
(Help-Int): Change xref `Info Search' to `Search Index', and
|
||||
`Expert Info' to `Advanced'.
|
||||
(Advanced): Move node one level up.
|
||||
(Search Text, Search Index): New nodes split out from `Info Search'.
|
||||
(Go to node, Choose menu subtopic, Create Info buffer): New nodes
|
||||
split out from `Advanced'.
|
||||
(Advanced, Emacs Info Variables): De-document editing an Info file
|
||||
in Info.
|
||||
(Emacs Info Variables): Move node from `Expert Info' to `Advanced'.
|
||||
(Creating an Info File): Delete node and move its text to
|
||||
`Expert Info'.
|
||||
|
||||
2005-10-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* cmdargs.texi (Icons X): -nb => -nbi
|
||||
|
||||
2005-10-10 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* frames.texi (Speedbar): A couple more clarifications.
|
||||
|
||||
2005-10-11 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* building.texi (GDB User Interface Layout): Improve diagram.
|
||||
(Watch Expressions): Explain how to make speedbar global.
|
||||
(Other GDB User Interface Buffers): Make references more precise.
|
||||
|
||||
2005-10-10 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* org.texi: (Workflow states): Documented that change in keywords
|
||||
becomes active only after restart of Emacs.
|
||||
|
||||
2005-10-09 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* frames.texi (Speedbar): Clarify the text.
|
||||
|
||||
2005-10-09 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* frames.texi (Speedbar): Add information on keybindings,
|
||||
dismissing the speedbar, and buffer display mode. Link to
|
||||
speedbar manual.
|
||||
|
||||
2005-10-09 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* cmdargs.texi (Icons X): Removed options -i, -itype, --icon-type,
|
||||
added -nb, --no-bitmap-icon.
|
||||
|
||||
2005-10-08 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
Sync with Tramp 2.0.51.
|
||||
|
||||
2005-10-08 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* speedbar.texi (Introduction): Describe new location of speedbar
|
||||
on menubar.
|
||||
(Basic Key Bindings): Remove descriptions of bindings that have
|
||||
been removed.
|
||||
|
||||
2005-10-07 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* building.texi (GDB Graphical Interface): Add variables and
|
||||
functions to indices. Be more precise.
|
||||
|
||||
2005-10-05 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* speedbar.texi (GDB): Describe use of watch expressions.
|
||||
|
|
|
|||
|
|
@ -749,6 +749,8 @@ ignores any numeric argument.
|
|||
@node GDB Graphical Interface
|
||||
@subsection GDB Graphical Interface
|
||||
|
||||
@findex gdb-mouse-set-clear-breakpoint
|
||||
@findex gdb-mouse-toggle-breakpoint
|
||||
By default, the command @code{gdb} starts GDB using a graphical
|
||||
interface where you view and control the program's data using Emacs
|
||||
windows. You can still interact with GDB through the GUD buffer, but
|
||||
|
|
@ -799,18 +801,21 @@ If @code{gdb-many-windows} is non-@code{nil}, regardless of the value of
|
|||
@code{gdb-use-inferior-io-buffer} is @code{nil}. In this case the
|
||||
source buffer occupies the full width of the frame.
|
||||
|
||||
@multitable @columnfractions .5 .5
|
||||
@item GUD buffer (I/O of GDB)
|
||||
@tab Locals buffer
|
||||
@item
|
||||
@tab
|
||||
@item Source buffer
|
||||
@tab Input/Output (of inferior) buffer
|
||||
@item
|
||||
@tab
|
||||
@item Stack buffer
|
||||
@tab Breakpoints buffer
|
||||
@end multitable
|
||||
@example
|
||||
+--------------------------------+--------------------------------+
|
||||
| | |
|
||||
| GUD buffer (I/O of GDB) | Locals buffer |
|
||||
| | |
|
||||
|--------------------------------+--------------------------------+
|
||||
| | |
|
||||
| Source buffer | I/O buffer (of inferior) |
|
||||
| | |
|
||||
|--------------------------------+--------------------------------+
|
||||
| | |
|
||||
| Stack buffer | Breakpoints buffer |
|
||||
| | |
|
||||
+--------------------------------+--------------------------------+
|
||||
@end example
|
||||
|
||||
To toggle this layout, do @kbd{M-x gdb-many-windows}.
|
||||
|
||||
|
|
@ -820,12 +825,12 @@ re-compiling your program, then you can restore it with the command
|
|||
@code{gdb-restore-windows}.
|
||||
|
||||
You may also choose which additional buffers you want to display,
|
||||
either in the same frame or a different one. Select GDB-windows or
|
||||
GDB-Frames from the menu-bar under the heading GUD. If the menu-bar
|
||||
is unavailable, type @code{M-x
|
||||
either in the same frame or a different one. Select them from
|
||||
@samp{GUD->GDB-windows} or @samp{GUD->GDB-Frames} sub-menu
|
||||
respectively. If the menu-bar is unavailable, type @code{M-x
|
||||
gdb-display-@var{buffertype}-buffer} or @code{M-x
|
||||
gdb-frame-@var{buffertype}-buffer} respectively, where @var{buffertype}
|
||||
is the relevant buffer type e.g breakpoints.
|
||||
gdb-frame-@var{buffertype}-buffer} respectively, where
|
||||
@var{buffertype} is the relevant buffer type e.g breakpoints.
|
||||
|
||||
When you finish debugging then kill the GUD buffer with @kbd{C-x k},
|
||||
which will also kill all the buffers associated with the session.
|
||||
|
|
@ -854,7 +859,7 @@ relevant line. This is red when the breakpoint is enabled and grey
|
|||
when it is disabled. Text-only terminals correspondingly display
|
||||
a @samp{B} or @samp{b}.
|
||||
|
||||
@item @kbd{d}
|
||||
@item d
|
||||
@kindex d @r{(GDB breakpoints buffer)}
|
||||
@findex gdb-delete-breakpoint
|
||||
Delete the breakpoint at the current line (@code{gdb-delete-breakpoint}).
|
||||
|
|
@ -872,19 +877,21 @@ the current line (@code{gdb-goto-breakpoint}). Alternatively, click
|
|||
|
||||
The stack buffer displays a @dfn{call stack}, with one line for each
|
||||
of the nested subroutine calls (@dfn{stack frames}) now active in the
|
||||
program. @xref{Backtrace,,info stack, gdb, The GNU debugger}.
|
||||
program. @xref{Backtrace,, Backtraces, gdb, The GNU debugger}.
|
||||
|
||||
The selected frame is displayed in reverse contrast. Move point to
|
||||
any frame in the stack and type @key{RET} to select it (@code{gdb-frames-select})
|
||||
and display the associated source in the source buffer. Alternatively,
|
||||
click @kbd{Mouse-2} to make the selected frame become the current one.
|
||||
If the locals buffer is displayed then its contents update to display
|
||||
the variables that are local to the new frame.
|
||||
@findex gdb-frames-select
|
||||
The selected frame number is displayed in reverse contrast. Move
|
||||
point to any frame in the stack and type @key{RET} to select it
|
||||
(@code{gdb-frames-select}) and display the associated source in the
|
||||
source buffer. Alternatively, click @kbd{Mouse-2} on a frame to
|
||||
select it. If the locals buffer is displayed then its contents update
|
||||
to display the variables that are local to the new frame.
|
||||
|
||||
@node Watch Expressions
|
||||
@subsubsection Watch Expressions
|
||||
@cindex Watching expressions in GDB
|
||||
|
||||
@findex gud-watch
|
||||
If you want to see how a variable changes each time your program stops
|
||||
then place the cursor over the variable name and click on the watch
|
||||
icon in the tool bar (@code{gud-watch}).
|
||||
|
|
@ -894,34 +901,43 @@ types, such as arrays, structures and unions are represented in a tree
|
|||
format. To expand or contract a complex data type, click @kbd{Mouse-2}
|
||||
on the tag to the left of the expression.
|
||||
|
||||
@kindex RET @r{(GDB speedbar)}
|
||||
By default, watch expressions only display in the speedbar when the
|
||||
GUD buffer is selected in the attached frame. If you want your watch
|
||||
expressions to remain visible at all times then select the @samp{GUD}
|
||||
radio button on the @samp{Speedbar->Displays} sub-menu using
|
||||
@kbd{Mouse-3}.
|
||||
|
||||
@findex gdb-var-delete
|
||||
With the cursor over the root expression of a complex data type, type
|
||||
@kbd{D} to delete it from the speedbar
|
||||
(@code{gdb-var-delete}).
|
||||
|
||||
@kindex RET @r{(GDB speedbar)}
|
||||
@findex gdb-edit-value
|
||||
With the cursor over a simple data type or an element of a complex
|
||||
data type which holds a value, type @key{RET} or click @kbd{Mouse-2} to edit
|
||||
its value. A prompt for a new value appears in the mini-buffer
|
||||
(@code{gdb-edit-value}).
|
||||
|
||||
@vindex gdb-show-changed-values
|
||||
If you set the variable @code{gdb-show-changed-values} to
|
||||
non-@code{nil} (the default value), then Emacs will use
|
||||
non-@code{nil} (the default value), Emacs will use
|
||||
font-lock-warning-face to display values that have recently changed in
|
||||
the speedbar.
|
||||
|
||||
@vindex gdb-use-colon-colon-notation
|
||||
If you set the variable @code{gdb-use-colon-colon-notation} to a
|
||||
non-@code{nil} value, then, in C, Emacs will use the
|
||||
FUNCTION::VARIABLE format to display variables in the speedbar.
|
||||
Since this does not work for variables defined in compound statements,
|
||||
the default value is @code{nil}.
|
||||
non-@code{nil} value then, in C, Emacs will use the
|
||||
@var{function}::@var{variable} format to display variables in the
|
||||
speedbar. Since this does not work for variables defined in compound
|
||||
statements, the default value is @code{nil}.
|
||||
|
||||
@node Other GDB User Interface Buffers
|
||||
@subsubsection Other Buffers
|
||||
|
||||
@table @asis
|
||||
@item Input/Output Buffer
|
||||
@vindex gdb-use-inferior-io-buffer
|
||||
If the variable @code{gdb-use-inferior-io-buffer} is non-@code{nil},
|
||||
the executable program that is being debugged takes its input and
|
||||
displays its output here. Some of the commands from shell mode are
|
||||
|
|
@ -929,16 +945,18 @@ available here. @xref{Shell Mode}.
|
|||
|
||||
@item Locals Buffer
|
||||
The locals buffer displays the values of local variables of the
|
||||
current frame for simple data types (@pxref{Frame Info,,, gdb, The GNU
|
||||
debugger}).
|
||||
current frame for simple data types (@pxref{Frame Info, Frame Info,
|
||||
Information on a frame, gdb, The GNU debugger}).
|
||||
|
||||
Arrays and structures display their type only. You must display them
|
||||
separately to examine their values. @xref{Watch Expressions}.
|
||||
|
||||
@item Registers Buffer
|
||||
@findex toggle-gdb-all-registers
|
||||
The registers buffer displays the values held by the registers
|
||||
(@pxref{Registers,,, gdb, The GNU debugger}). Press @key{SPC} to
|
||||
toggle the display of floating point registers.
|
||||
toggle the display of floating point registers
|
||||
(@code{toggle-gdb-all-registers}).
|
||||
|
||||
@item Assembler Buffer
|
||||
The assembler buffer displays the current frame as machine code. An
|
||||
|
|
@ -947,22 +965,23 @@ remove breakpoints as with the source buffer. Breakpoint icons also
|
|||
appear in the fringe or margin.
|
||||
|
||||
@item Threads Buffer
|
||||
|
||||
@findex gdb-threads-select
|
||||
The threads buffer displays a summary of all threads currently in your
|
||||
program (@pxref{Threads,,, gdb, The GNU debugger}). Move point to
|
||||
any thread in the list and press @key{RET} to make it become the
|
||||
current thread (@code{gdb-threads-select}) and display the associated
|
||||
source in the source buffer. Alternatively, click @kbd{Mouse-2} to
|
||||
make the selected thread become the current one.
|
||||
program (@pxref{Threads, Threads, Debugging programs with multiple
|
||||
threads, gdb, The GNU debugger}). Move point to any thread in the
|
||||
list and press @key{RET} to select it (@code{gdb-threads-select}) and
|
||||
display the associated source in the source buffer. Alternatively,
|
||||
click @kbd{Mouse-2} on a thread to select it. If the locals buffer is
|
||||
displayed then its contents update to display the variables that are
|
||||
local to the new thread.
|
||||
|
||||
@item Memory Buffer
|
||||
|
||||
The memory buffer allows the user to examine sections of program
|
||||
memory (@pxref{Memory,,, gdb, The GNU debugger}). Click @kbd{Mouse-1}
|
||||
on the appropriate part of the header line to change the starting
|
||||
address or number of data items that the buffer displays.
|
||||
Click @kbd{Mouse-3} on the header line to select the display format
|
||||
or unit size for these data items.
|
||||
memory (@pxref{Memory, Memory, Examining memory, gdb, The GNU
|
||||
debugger}). Click @kbd{Mouse-1} on the appropriate part of the header
|
||||
line to change the starting address or number of data items that the
|
||||
buffer displays. Click @kbd{Mouse-3} on the header line to select the
|
||||
display format or unit size for these data items.
|
||||
|
||||
@end table
|
||||
|
||||
|
|
|
|||
|
|
@ -12817,7 +12817,9 @@ If you press @kbd{m v} with a numeric prefix argument @var{n}, you
|
|||
get a special ``dimensioned'' Matrix mode in which matrices of
|
||||
unknown size are assumed to be @var{n}x@var{n} square matrices.
|
||||
Then, the function call @samp{idn(1)} will expand into an actual
|
||||
matrix rather than representing a ``generic'' matrix.
|
||||
matrix rather than representing a ``generic'' matrix. Simply typing
|
||||
@kbd{C-u m v} will get you a square Matrix mode, in which matrices of
|
||||
unknown size are assumed to be square matrices of unspecified size.
|
||||
|
||||
@cindex Declaring scalar variables
|
||||
Of course these modes are approximations to the true state of
|
||||
|
|
@ -13205,6 +13207,8 @@ The value is not a vector.
|
|||
The value is a vector.
|
||||
@item matrix
|
||||
The value is a matrix (a rectangular vector of vectors).
|
||||
@item sqmatrix
|
||||
The value is a square matrix.
|
||||
@end table
|
||||
|
||||
These type symbols can be combined with the other type symbols
|
||||
|
|
@ -15978,7 +15982,8 @@ Command is @kbd{m p}.
|
|||
|
||||
@item
|
||||
Matrix/Scalar mode. Default value is @mathit{-1}. Value is 0 for Scalar
|
||||
mode, @mathit{-2} for Matrix mode, or @var{N} for
|
||||
mode, @mathit{-2} for Matrix mode, @mathit{-3} for square Matrix mode,
|
||||
or @var{N} for
|
||||
@texline @math{N\times N}
|
||||
@infoline @var{N}x@var{N}
|
||||
Matrix mode. Command is @kbd{m v}.
|
||||
|
|
@ -16056,7 +16061,10 @@ Symbolic mode (@kbd{m s}; @pxref{Symbolic Mode}).
|
|||
Matrix mode (@kbd{m v}; @pxref{Matrix Mode}).
|
||||
|
||||
@item Matrix@var{n}
|
||||
Dimensioned Matrix mode (@kbd{C-u @var{n} m v}).
|
||||
Dimensioned Matrix mode (@kbd{C-u @var{n} m v}; @pxref{Matrix Mode}).
|
||||
|
||||
@item SqMatrix
|
||||
Square Matrix mode (@kbd{C-u m v}; @pxref{Matrix Mode}).
|
||||
|
||||
@item Scalar
|
||||
Scalar mode (@kbd{m v}; @pxref{Matrix Mode}).
|
||||
|
|
@ -23498,11 +23506,11 @@ argument once).
|
|||
@tindex integ
|
||||
The @kbd{a i} (@code{calc-integral}) [@code{integ}] command computes the
|
||||
indefinite integral of the expression on the top of the stack with
|
||||
respect to a variable. The integrator is not guaranteed to work for
|
||||
all integrable functions, but it is able to integrate several large
|
||||
classes of formulas. In particular, any polynomial or rational function
|
||||
(a polynomial divided by a polynomial) is acceptable. (Rational functions
|
||||
don't have to be in explicit quotient form, however;
|
||||
respect to a prompted-for variable. The integrator is not guaranteed to
|
||||
work for all integrable functions, but it is able to integrate several
|
||||
large classes of formulas. In particular, any polynomial or rational
|
||||
function (a polynomial divided by a polynomial) is acceptable.
|
||||
(Rational functions don't have to be in explicit quotient form, however;
|
||||
@texline @math{x/(1+x^{-2})}
|
||||
@infoline @expr{x/(1+x^-2)}
|
||||
is not strictly a quotient of polynomials, but it is equivalent to
|
||||
|
|
@ -23511,6 +23519,11 @@ is not strictly a quotient of polynomials, but it is equivalent to
|
|||
integrated. Finally, rational functions involving trigonometric or
|
||||
hyperbolic functions can be integrated.
|
||||
|
||||
With an argument (@kbd{C-u a i}), this command will compute the definite
|
||||
integral of the expression on top of the stack. In this case, the
|
||||
command will again prompt for an integration variable, then prompt for a
|
||||
lower limit and an upper limit.
|
||||
|
||||
@ifinfo
|
||||
If you use the @code{integ} function directly in an algebraic formula,
|
||||
you can also write @samp{integ(f,x,v)} which expresses the resulting
|
||||
|
|
|
|||
|
|
@ -1173,12 +1173,12 @@ If you have many clients running at once, you can avoid cluttering up
|
|||
the screen by iconifying most of the clients.
|
||||
|
||||
@table @samp
|
||||
@item -i
|
||||
@opindex -i
|
||||
@itemx --icon-type
|
||||
@opindex --icon-type
|
||||
@item -nbi
|
||||
@opindex -nbi
|
||||
@itemx --no-bitmap-icon
|
||||
@opindex --no-bitmap-icon
|
||||
@cindex Emacs icon, a gnu
|
||||
Use a picture of a gnu as the Emacs icon.
|
||||
Do not use a picture of a gnu as the Emacs icon.
|
||||
|
||||
@item -iconic
|
||||
@opindex --iconic
|
||||
|
|
@ -1187,8 +1187,8 @@ Use a picture of a gnu as the Emacs icon.
|
|||
Start Emacs in iconified state.
|
||||
@end table
|
||||
|
||||
The @samp{-i} or @samp{--icon-type} option tells Emacs to use an icon
|
||||
window containing a picture of the GNU gnu. If omitted, Emacs lets the
|
||||
By default Emacs uses an icon window containing a picture of the GNU gnu.
|
||||
The @samp{-np} or @samp{--no-bitmap-icon} option tells Emacs to let the
|
||||
window manager choose what sort of icon to use---usually just a small
|
||||
rectangle containing the frame's title.
|
||||
|
||||
|
|
|
|||
|
|
@ -2416,6 +2416,7 @@ Aaron Gross (aaron@@bfr.co.il),
|
|||
Thorbjoern Hansen (thorbjoern.hansen@@mchp.siemens.de),
|
||||
Marcus Harnisch (marcus_harnisch@@mint-tech.com),
|
||||
Steven E. Harris (seh@@panix.com),
|
||||
Aaron S. Hawley (Aaron.Hawley@@uvm.edu),
|
||||
Xiaoli Huang (hxl@@epic.com),
|
||||
Andreas Jaeger (aj@@suse.de),
|
||||
Lars Magne Ingebrigtsen (larsi@@ifi.uio.no),
|
||||
|
|
|
|||
|
|
@ -545,26 +545,53 @@ selects it, that variable should be @code{t}; if a click is necessary,
|
|||
the variable should be @code{nil}.
|
||||
|
||||
@node Speedbar
|
||||
@section Making and Using a Speedbar Frame
|
||||
@section Speedbar Frames
|
||||
@cindex speedbar
|
||||
|
||||
An Emacs frame can have a @dfn{speedbar}, which is a vertical window
|
||||
that serves as a scrollable menu of files you could visit and tags
|
||||
within those files. To create a speedbar, type @kbd{M-x speedbar}; this
|
||||
creates a speedbar window for the selected frame. From then on, you can
|
||||
click on a file name in the speedbar to visit that file in the
|
||||
corresponding Emacs frame, or click on a tag name to jump to that tag in
|
||||
the Emacs frame.
|
||||
@cindex attached frame (of speedbar)
|
||||
The @dfn{speedbar} is a special frame for conveniently navigating in
|
||||
or operating on another frame. The speedbar, when it exists, is
|
||||
always associated with a specific frame, called its @dfn{attached
|
||||
frame}; all speedbar operations act on that frame.
|
||||
|
||||
Initially the speedbar lists the immediate contents of the current
|
||||
directory, one file per line. Each line also has a box, @samp{[+]} or
|
||||
@samp{<+>}, that you can click on with @kbd{Mouse-2} to ``open up'' the
|
||||
contents of that item. If the line names a directory, opening it adds
|
||||
Type @kbd{M-x speedbar} to create the speedbar and associate it with
|
||||
the current frame. To dismiss the speedbar, type @kbd{M-x speedbar}
|
||||
again, or select the speedbar and type @kbd{q}. (You can also delete
|
||||
the speedbar frame like any other Emacs frame.) If you wish to
|
||||
associate the speedbar with a different frame, dismiss it and call
|
||||
@kbd{M-x speedbar} from that frame.
|
||||
|
||||
The speedbar can operate in various modes. Its default mode is
|
||||
@dfn{File Display} mode, which shows the files in the current
|
||||
directory of the selected window of the attached frame, one file per
|
||||
line. Clicking on a file name visits that file in the selected window
|
||||
of the attached frame, and clicking on a directory name shows that
|
||||
directory in the speedbar (@pxref{Mouse References}). Each line also
|
||||
has a box, @samp{[+]} or @samp{<+>}, that you can click on to
|
||||
@dfn{expand} the contents of that item. Expanding a directory adds
|
||||
the contents of that directory to the speedbar display, underneath the
|
||||
directory's own line. If the line lists an ordinary file, opening it up
|
||||
adds a list of the tags in that file to the speedbar display. When a
|
||||
file is opened up, the @samp{[+]} changes to @samp{[-]}; you can click
|
||||
on that box to ``close up'' that file (hide its contents).
|
||||
directory's own line. Expanding an ordinary file adds a list of the
|
||||
tags in that file to the speedbar display; you can click on a tag name
|
||||
to jump to that tag in the selected window of the attached frame.
|
||||
When a file or directory is expanded, the @samp{[+]} changes to
|
||||
@samp{[-]}; you can click on that box to @dfn{contract} the item,
|
||||
hiding its contents.
|
||||
|
||||
You navigate through the speedbar using the keyboard, too. Typing
|
||||
@kbd{RET} while point is on a line in the speedbar is equivalent to
|
||||
clicking the item on the current line, and @kbd{SPC} expands or
|
||||
contracts the item. @kbd{U} displays the parent directory of the
|
||||
current directory. To copy, delete, or rename the file on the current
|
||||
line, type @kbd{C}, @kbd{D}, and @kbd{R} respectively. To create a
|
||||
new directory, type @kbd{M}.
|
||||
|
||||
Another general-purpose speedbar mode is @dfn{Buffer Display} mode;
|
||||
in this mode, the speedbar displays a list of Emacs buffers. To
|
||||
switch to this mode, type @kbd{b} in the speedbar. To return to File
|
||||
Display mode, type @kbd{f}. You can also change the display mode by
|
||||
clicking @kbd{mouse-3} anywhere in the speedbar window (or
|
||||
@kbd{mouse-1} on the mode-line) and selecting @samp{Displays} in the
|
||||
pop-up menu.
|
||||
|
||||
Some major modes, including Rmail mode, Info, and GUD, have
|
||||
specialized ways of putting useful items into the speedbar for you to
|
||||
|
|
@ -572,10 +599,8 @@ select. For example, in Rmail mode, the speedbar shows a list of Rmail
|
|||
files, and lets you move the current message to another Rmail file by
|
||||
clicking on its @samp{<M>} box.
|
||||
|
||||
A speedbar belongs to one Emacs frame, and always operates on that
|
||||
frame. If you use multiple frames, you can make a speedbar for some or
|
||||
all of the frames; type @kbd{M-x speedbar} in any given frame to make a
|
||||
speedbar for it.
|
||||
For more details on using and programming the speedbar, @xref{Top,
|
||||
Speedbar,,speedbar, Speedbar Manual}.
|
||||
|
||||
@node Multiple Displays
|
||||
@section Multiple Displays
|
||||
|
|
|
|||
526
man/info.texi
526
man/info.texi
|
|
@ -72,28 +72,28 @@ If you are new to the Info reader and want to learn how to use it,
|
|||
type the command @kbd{h} now. It brings you to a programmed
|
||||
instruction sequence.
|
||||
|
||||
To read about expert-level Info commands, type @kbd{n} twice. This
|
||||
brings you to @cite{Info for Experts}, skipping over the `Getting
|
||||
To read about advanced Info commands, type @kbd{n} twice. This
|
||||
brings you to @cite{Advanced Info Commands}, skipping over the `Getting
|
||||
Started' chapter.
|
||||
@end ifinfo
|
||||
@end ifnottex
|
||||
|
||||
@menu
|
||||
* Getting Started:: Getting started using an Info reader.
|
||||
* Advanced:: Advanced Info commands.
|
||||
* Expert Info:: Info commands for experts.
|
||||
* Creating an Info File:: How to make your own Info file.
|
||||
* Index:: An index of topics, commands, and variables.
|
||||
@end menu
|
||||
|
||||
@node Getting Started, Expert Info, Top, Top
|
||||
@node Getting Started, Advanced, Top, Top
|
||||
@comment node-name, next, previous, up
|
||||
@chapter Getting Started
|
||||
|
||||
This first part of this Info manual describes how to get around inside
|
||||
of Info. The second part of the manual describes various advanced
|
||||
Info commands, and how to write an Info as distinct from a Texinfo
|
||||
file. The third part briefly explains how to generate Info files from
|
||||
Texinfo files.
|
||||
Info commands. The third part briefly explains how to generate Info
|
||||
files from Texinfo files, and describes how to write an Info as
|
||||
distinct from a Texinfo file.
|
||||
|
||||
@ifnotinfo
|
||||
This manual is primarily designed for browsing with an Info reader
|
||||
|
|
@ -847,7 +847,7 @@ describes the topic you want.
|
|||
There is also a short-cut Info command, @kbd{i}, which does all of
|
||||
that for you. It searches the index for a given topic (a string) and
|
||||
goes to the node which is listed in the index for that topic.
|
||||
@xref{Info Search}, for a full explanation.
|
||||
@xref{Search Index}, for a full explanation.
|
||||
|
||||
@kindex l @r{(Info mode)}
|
||||
@findex Info-history-back
|
||||
|
|
@ -905,135 +905,31 @@ is @code{Info-top-node}.
|
|||
>> Now type @kbd{n} to see the last node of the course.
|
||||
@end format
|
||||
|
||||
@xref{Expert Info}, for more advanced Info features.
|
||||
@xref{Advanced}, for more advanced Info features.
|
||||
|
||||
@c If a menu appears at the end of this node, remove it.
|
||||
@c It is an accident of the menu updating command.
|
||||
|
||||
@node Expert Info
|
||||
@chapter Info for Experts
|
||||
@node Advanced
|
||||
@chapter Advanced Info Commands
|
||||
|
||||
This chapter describes various Info commands for experts. (If you
|
||||
This chapter describes various advanced Info commands. (If you
|
||||
are using a stand-alone Info reader, there are additional commands
|
||||
specific to it, which are documented in several chapters of @ref{Top,,
|
||||
GNU Info, info-stnd, GNU Info}.)
|
||||
|
||||
This chapter also explains how to write an Info as distinct from a
|
||||
Texinfo file. (However, in most cases, writing a Texinfo file is
|
||||
better, since you can use it to make a printed manual or produce other
|
||||
formats, such as HTML and DocBook, as well as for generating Info
|
||||
files.) @xref{Top,, Overview of Texinfo, texinfo, Texinfo: The GNU
|
||||
Documentation Format}.
|
||||
|
||||
@menu
|
||||
* Advanced:: Advanced Info commands: g, e, and 1 - 9.
|
||||
* Info Search:: How to search Info documents for specific subjects.
|
||||
* Add:: Describes how to add new nodes to the hierarchy.
|
||||
Also tells what nodes look like.
|
||||
* Menus:: How to add to or create menus in Info nodes.
|
||||
* Cross-refs:: How to add cross-references to Info nodes.
|
||||
* Tags:: How to make tags tables for Info files.
|
||||
* Checking:: Checking an Info File.
|
||||
* Search Text:: How to search Info documents.
|
||||
* Search Index:: How to search the indices for specific subjects.
|
||||
* Go to node:: How to go to a node by name.
|
||||
* Choose menu subtopic:: How to choose a menu subtopic by its number.
|
||||
* Create Info buffer:: How to create a new Info buffer in Emacs.
|
||||
* Emacs Info Variables:: Variables modifying the behavior of Emacs Info.
|
||||
@end menu
|
||||
|
||||
@node Advanced, Info Search, , Expert Info
|
||||
@node Search Text, Search Index, , Advanced
|
||||
@comment node-name, next, previous, up
|
||||
@section Advanced Info Commands
|
||||
|
||||
Here are some more Info commands that make it easier to move around.
|
||||
|
||||
@subheading @kbd{g} goes to a node by name
|
||||
|
||||
@kindex g @r{(Info mode)}
|
||||
@findex Info-goto-node
|
||||
@cindex go to a node by name
|
||||
If you know a node's name, you can go there by typing @kbd{g}, the
|
||||
name, and @key{RET}. Thus, @kbd{gTop@key{RET}} would go to the node
|
||||
called @samp{Top} in this file. (This is equivalent to @kbd{t}, see
|
||||
@ref{Help-Int}.) @kbd{gAdvanced@key{RET}} would come back here.
|
||||
@kbd{g} in Emacs runs the command @code{Info-goto-node}.
|
||||
|
||||
Unlike @kbd{m}, @kbd{g} does not allow the use of abbreviations.
|
||||
But it does allow completion, so you can type @key{TAB} to complete a
|
||||
partial node name.
|
||||
|
||||
@cindex go to another Info file
|
||||
To go to a node in another file, you can include the file name in the
|
||||
node name by putting it at the front, in parentheses. Thus,
|
||||
@kbd{g(dir)Top@key{RET}} would go to the Info Directory node, which is
|
||||
the node @samp{Top} in the Info file @file{dir}. Likewise,
|
||||
@kbd{g(emacs)Top@key{RET}} goes to the top node of the Emacs manual.
|
||||
|
||||
The node name @samp{*} specifies the whole file. So you can look at
|
||||
all of the current file by typing @kbd{g*@key{RET}} or all of any
|
||||
other file with @kbd{g(@var{filename})*@key{RET}}.
|
||||
|
||||
@subheading @kbd{1}--@kbd{9} choose a menu subtopic by its number
|
||||
|
||||
@kindex 1 @r{through} 9 @r{(Info mode)}
|
||||
@findex Info-nth-menu-item
|
||||
@cindex select @var{n}'th menu item
|
||||
If you begrudge each character of type-in which your system requires,
|
||||
you might like to use the commands @kbd{1}, @kbd{2}, @kbd{3}, @kbd{4},
|
||||
@dots{}, @kbd{9}. They are short for the @kbd{m} command together
|
||||
with a name of a menu subtopic. @kbd{1} goes through the first item
|
||||
in the current node's menu; @kbd{2} goes through the second item, etc.
|
||||
In the stand-alone reader, @kbd{0} goes through the last menu item;
|
||||
this is so you need not count how many entries are there. In Emacs,
|
||||
the digit keys run the command @code{Info-nth-menu-item}.
|
||||
|
||||
If your display supports multiple fonts, colors or underlining, and
|
||||
you are using Emacs' Info mode to read Info files, the third, sixth
|
||||
and ninth menu items have a @samp{*} that stands out, either in color
|
||||
or in some other attribute, such as underline; this makes it easy to
|
||||
see at a glance which number to use for an item.
|
||||
|
||||
Some terminals don't support either multiple fonts, colors or
|
||||
underlining. If you need to actually count items, it is better to use
|
||||
@kbd{m} instead, and specify the name, or use @key{TAB} to quickly
|
||||
move between menu items.
|
||||
|
||||
@subheading @kbd{e} makes Info document editable
|
||||
|
||||
@kindex e @r{(Info mode)}
|
||||
@findex Info-edit
|
||||
@cindex edit Info document
|
||||
The Info command @kbd{e} changes from Info mode to an ordinary
|
||||
Emacs editing mode, so that you can edit the text of the current node.
|
||||
Type @kbd{C-c C-c} to switch back to Info. The @kbd{e} command is allowed
|
||||
only if the variable @code{Info-enable-edit} is non-@code{nil}.
|
||||
|
||||
The @kbd{e} command only works in Emacs, where it runs the command
|
||||
@code{Info-edit}. The stand-alone Info reader doesn't allow you to
|
||||
edit the Info file, so typing @kbd{e} there goes to the end of the
|
||||
current node.
|
||||
|
||||
@subheading @kbd{M-n} creates a new independent Info buffer in Emacs
|
||||
|
||||
@kindex M-n @r{(Info mode)}
|
||||
@findex clone-buffer
|
||||
@cindex multiple Info buffers
|
||||
If you are reading Info in Emacs, you can select a new independent
|
||||
Info buffer in the same window by typing @kbd{M-n}. The new buffer
|
||||
starts out as an exact copy of the old one, but you will be able to
|
||||
move independently between nodes in the two buffers. (In Info mode,
|
||||
@kbd{M-n} runs the Emacs command @code{clone-buffer}.)
|
||||
|
||||
In Emacs Info, you can also produce new Info buffers by giving a
|
||||
numeric prefix argument to the @kbd{m} and @kbd{g} commands. @kbd{C-u
|
||||
m} and @kbd{C-u g} go to a new node in exactly the same way that
|
||||
@kbd{m} and @kbd{g} do, but they do so in a new Info buffer which they
|
||||
select in another window.
|
||||
|
||||
Another way to produce new Info buffers in Emacs is to use a numeric
|
||||
prefix argument for the @kbd{C-h i} command (@code{info}) which
|
||||
switches to the Info buffer with that number. Thus, @kbd{C-u 2 C-h i}
|
||||
switches to the buffer @samp{*info*<2>}, creating it if necessary.
|
||||
|
||||
@node Info Search, Add, Advanced, Expert Info
|
||||
@comment node-name, next, previous, up
|
||||
@section How to search Info documents for specific subjects
|
||||
@section How to search Info documents
|
||||
|
||||
@cindex searching Info documents
|
||||
@cindex Info document as a reference
|
||||
|
|
@ -1046,8 +942,44 @@ read the entire manual before you start using the programs it
|
|||
describes.
|
||||
|
||||
Info has powerful searching facilities that let you find things
|
||||
quickly. You can search either the manual indices or its text.
|
||||
quickly. You can search either the manual text or its indices.
|
||||
|
||||
@kindex s @r{(Info mode)}
|
||||
@findex Info-search
|
||||
The @kbd{s} command allows you to search a whole Info file for a string.
|
||||
It switches to the next node if and when that is necessary. You
|
||||
type @kbd{s} followed by the string to search for, terminated by
|
||||
@key{RET}. To search for the same string again, just @kbd{s} followed
|
||||
by @key{RET} will do. The file's nodes are scanned in the order
|
||||
they are in the file, which has no necessary relationship to the
|
||||
order that they may be in the tree structure of menus and @samp{next}
|
||||
pointers. But normally the two orders are not very different. In any
|
||||
case, you can always look at the echo area to find out what node you have
|
||||
reached, if the header is not visible (this can happen, because @kbd{s}
|
||||
puts your cursor at the occurrence of the string, not at the beginning
|
||||
of the node).
|
||||
|
||||
@kindex M-s @r{(Info mode)}
|
||||
In Emacs, @kbd{Meta-s} is equivalent to @kbd{s}. That is for
|
||||
compatibility with other GNU packages that use @kbd{M-s} for a similar
|
||||
kind of search command. Both @kbd{s} and @kbd{M-s} run in Emacs the
|
||||
command @code{Info-search}.
|
||||
|
||||
@kindex C-s @r{(Info mode)}
|
||||
@kindex C-r @r{(Info mode)}
|
||||
@findex isearch
|
||||
Instead of using @kbd{s} in Emacs Info and in the stand-alone Info,
|
||||
you can use an incremental search started with @kbd{C-s} or @kbd{C-r}.
|
||||
It can search through multiple Info nodes. @xref{Incremental Search,,,
|
||||
emacs, The GNU Emacs Manual}. In Emacs, this behavior is enabled only
|
||||
if the variable @code{Info-isearch-search} is non-@code{nil}
|
||||
(@pxref{Emacs Info Variables}).
|
||||
|
||||
@node Search Index, Go to node, Search Text, Advanced
|
||||
@comment node-name, next, previous, up
|
||||
@section How to search the indices for specific subjects
|
||||
|
||||
@cindex searching Info indices
|
||||
@kindex i @r{(Info mode)}
|
||||
@findex Info-index
|
||||
Since most subjects related to what the manual describes should be
|
||||
|
|
@ -1093,38 +1025,207 @@ in the stand-alone reader. It prompts for a string and then looks up
|
|||
that string in all the indices of all the Info documents installed on
|
||||
your system.
|
||||
|
||||
@kindex s @r{(Info mode)}
|
||||
@findex Info-search
|
||||
The @kbd{s} command allows you to search a whole file for a string.
|
||||
It switches to the next node if and when that is necessary. You
|
||||
type @kbd{s} followed by the string to search for, terminated by
|
||||
@key{RET}. To search for the same string again, just @kbd{s} followed
|
||||
by @key{RET} will do. The file's nodes are scanned in the order
|
||||
they are in the file, which has no necessary relationship to the
|
||||
order that they may be in the tree structure of menus and @samp{next}
|
||||
pointers. But normally the two orders are not very different. In any
|
||||
case, you can always look at the echo area to find out what node you have
|
||||
reached, if the header is not visible (this can happen, because @kbd{s}
|
||||
puts your cursor at the occurrence of the string, not at the beginning
|
||||
of the node).
|
||||
@node Go to node, Choose menu subtopic, Search Index, Advanced
|
||||
@comment node-name, next, previous, up
|
||||
@section @kbd{g} goes to a node by name
|
||||
|
||||
@kindex M-s @r{(Info mode)}
|
||||
In Emacs, @kbd{Meta-s} is equivalent to @kbd{s}. That is for
|
||||
compatibility with other GNU packages that use @kbd{M-s} for a similar
|
||||
kind of search command. Both @kbd{s} and @kbd{M-s} run in Emacs the
|
||||
command @code{Info-search}.
|
||||
@kindex g @r{(Info mode)}
|
||||
@findex Info-goto-node
|
||||
@cindex go to a node by name
|
||||
If you know a node's name, you can go there by typing @kbd{g}, the
|
||||
name, and @key{RET}. Thus, @kbd{gTop@key{RET}} would go to the node
|
||||
called @samp{Top} in this file. (This is equivalent to @kbd{t}, see
|
||||
@ref{Help-Int}.) @kbd{gGo to node@key{RET}} would come back here.
|
||||
@kbd{g} in Emacs runs the command @code{Info-goto-node}.
|
||||
|
||||
@kindex C-s @r{(Info mode)}
|
||||
@kindex C-r @r{(Info mode)}
|
||||
@findex isearch
|
||||
Instead of using @kbd{s} in Emacs Info and in the stand-alone Info,
|
||||
you can use an incremental search started with @kbd{C-s} or @kbd{C-r}.
|
||||
It can search through multiple Info nodes. @xref{Incremental Search,,,
|
||||
emacs, The GNU Emacs Manual}. In Emacs, this behavior is enabled only
|
||||
if the variable @code{Info-isearch-search} is non-@code{nil}
|
||||
(@pxref{Emacs Info Variables}).
|
||||
Unlike @kbd{m}, @kbd{g} does not allow the use of abbreviations.
|
||||
But it does allow completion, so you can type @key{TAB} to complete a
|
||||
partial node name.
|
||||
|
||||
@node Add, Menus, Info Search, Expert Info
|
||||
@cindex go to another Info file
|
||||
To go to a node in another file, you can include the file name in the
|
||||
node name by putting it at the front, in parentheses. Thus,
|
||||
@kbd{g(dir)Top@key{RET}} would go to the Info Directory node, which is
|
||||
the node @samp{Top} in the Info file @file{dir}. Likewise,
|
||||
@kbd{g(emacs)Top@key{RET}} goes to the top node of the Emacs manual.
|
||||
|
||||
The node name @samp{*} specifies the whole file. So you can look at
|
||||
all of the current file by typing @kbd{g*@key{RET}} or all of any
|
||||
other file with @kbd{g(@var{filename})*@key{RET}}.
|
||||
|
||||
@node Choose menu subtopic, Create Info buffer, Go to node, Advanced
|
||||
@comment node-name, next, previous, up
|
||||
@section @kbd{1}--@kbd{9} choose a menu subtopic by its number
|
||||
|
||||
@kindex 1 @r{through} 9 @r{(Info mode)}
|
||||
@findex Info-nth-menu-item
|
||||
@cindex select @var{n}'th menu item
|
||||
If you begrudge each character of type-in which your system requires,
|
||||
you might like to use the commands @kbd{1}, @kbd{2}, @kbd{3}, @kbd{4},
|
||||
@dots{}, @kbd{9}. They are short for the @kbd{m} command together
|
||||
with a name of a menu subtopic. @kbd{1} goes through the first item
|
||||
in the current node's menu; @kbd{2} goes through the second item, etc.
|
||||
In the stand-alone reader, @kbd{0} goes through the last menu item;
|
||||
this is so you need not count how many entries are there. In Emacs,
|
||||
the digit keys run the command @code{Info-nth-menu-item}.
|
||||
|
||||
If your display supports multiple fonts, colors or underlining, and
|
||||
you are using Emacs' Info mode to read Info files, the third, sixth
|
||||
and ninth menu items have a @samp{*} that stands out, either in color
|
||||
or in some other attribute, such as underline; this makes it easy to
|
||||
see at a glance which number to use for an item.
|
||||
|
||||
Some terminals don't support either multiple fonts, colors or
|
||||
underlining. If you need to actually count items, it is better to use
|
||||
@kbd{m} instead, and specify the name, or use @key{TAB} to quickly
|
||||
move between menu items.
|
||||
|
||||
@node Create Info buffer, Emacs Info Variables, Choose menu subtopic, Advanced
|
||||
@comment node-name, next, previous, up
|
||||
@section @kbd{M-n} creates a new independent Info buffer in Emacs
|
||||
|
||||
@kindex M-n @r{(Info mode)}
|
||||
@findex clone-buffer
|
||||
@cindex multiple Info buffers
|
||||
If you are reading Info in Emacs, you can select a new independent
|
||||
Info buffer in the same window by typing @kbd{M-n}. The new buffer
|
||||
starts out as an exact copy of the old one, but you will be able to
|
||||
move independently between nodes in the two buffers. (In Info mode,
|
||||
@kbd{M-n} runs the Emacs command @code{clone-buffer}.)
|
||||
|
||||
In Emacs Info, you can also produce new Info buffers by giving a
|
||||
numeric prefix argument to the @kbd{m} and @kbd{g} commands. @kbd{C-u
|
||||
m} and @kbd{C-u g} go to a new node in exactly the same way that
|
||||
@kbd{m} and @kbd{g} do, but they do so in a new Info buffer which they
|
||||
select in another window.
|
||||
|
||||
Another way to produce new Info buffers in Emacs is to use a numeric
|
||||
prefix argument for the @kbd{C-h i} command (@code{info}) which
|
||||
switches to the Info buffer with that number. Thus, @kbd{C-u 2 C-h i}
|
||||
switches to the buffer @samp{*info*<2>}, creating it if necessary.
|
||||
|
||||
@node Emacs Info Variables, , Create Info buffer, Advanced
|
||||
@comment node-name, next, previous, up
|
||||
@section Emacs Info-mode Variables
|
||||
|
||||
The following variables may modify the behavior of Info-mode in Emacs;
|
||||
you may wish to set one or several of these variables interactively, or
|
||||
in your @file{~/.emacs} init file. @xref{Examining, Examining and Setting
|
||||
Variables, Examining and Setting Variables, emacs, The GNU Emacs
|
||||
Manual}. The stand-alone Info reader program has its own set of
|
||||
variables, described in @ref{Variables,, Manipulating Variables,
|
||||
info-stnd, GNU Info}.
|
||||
|
||||
@vtable @code
|
||||
@item Info-directory-list
|
||||
The list of directories to search for Info files. Each element is a
|
||||
string (directory name) or @code{nil} (try default directory). If not
|
||||
initialized Info uses the environment variable @env{INFOPATH} to
|
||||
initialize it, or @code{Info-default-directory-list} if there is no
|
||||
@env{INFOPATH} variable in the environment.
|
||||
|
||||
If you wish to customize the Info directory search list for both Emacs
|
||||
Info and stand-alone Info, it is best to set the @env{INFOPATH}
|
||||
environment variable, since that applies to both programs.
|
||||
|
||||
@item Info-additional-directory-list
|
||||
A list of additional directories to search for Info documentation files.
|
||||
These directories are not searched for merging the @file{dir} file.
|
||||
|
||||
@item Info-mode-hook
|
||||
Hooks run when @code{Info-mode} is called. By default, it contains
|
||||
the hook @code{turn-on-font-lock} which enables highlighting of Info
|
||||
files. You can change how the highlighting looks by customizing the
|
||||
faces @code{info-node}, @code{info-xref}, @code{info-xref-visited},
|
||||
@code{info-header-xref}, @code{info-header-node}, @code{info-menu-header},
|
||||
@code{info-menu-star}, and @code{info-title-@var{n}} (where @var{n}
|
||||
is the level of the section, a number between 1 and 4). To customize
|
||||
a face, type @kbd{M-x customize-face @key{RET} @var{face} @key{RET}},
|
||||
where @var{face} is one of the face names listed here.
|
||||
|
||||
@item Info-fontify-maximum-menu-size
|
||||
Maximum size of menu to fontify if @code{font-lock-mode} is non-@code{nil}.
|
||||
|
||||
@item Info-fontify-visited-nodes
|
||||
If non-@code{nil}, menu items and cross-references pointing to visited
|
||||
nodes are displayed in the @code{info-xref-visited} face.
|
||||
|
||||
@item Info-use-header-line
|
||||
If non-@code{nil}, Emacs puts in the Info buffer a header line showing
|
||||
the @samp{Next}, @samp{Prev}, and @samp{Up} links. A header line does
|
||||
not scroll with the rest of the buffer, making these links always
|
||||
visible.
|
||||
|
||||
@item Info-hide-note-references
|
||||
As explained in earlier nodes, the Emacs version of Info normally
|
||||
hides some text in menus and cross-references. You can completely
|
||||
disable this feature, by setting this option to @code{nil}. Setting
|
||||
it to a value that is neither @code{nil} nor @code{t} produces an
|
||||
intermediate behavior, hiding a limited amount of text, but showing
|
||||
all text that could potentially be useful.
|
||||
|
||||
@item Info-scroll-prefer-subnodes
|
||||
If set to a non-@code{nil} value, @key{SPC} and @key{BACKSPACE} (or
|
||||
@key{DEL}) keys in a menu visit subnodes of the current node before
|
||||
scrolling to its end or beginning, respectively. For example, if the
|
||||
node's menu appears on the screen, the next @key{SPC} moves to a
|
||||
subnode indicated by the following menu item. Setting this option to
|
||||
@code{nil} results in behavior similar to the stand-alone Info reader
|
||||
program, which visits the first subnode from the menu only when you
|
||||
hit the end of the current node. The default is @code{nil}.
|
||||
|
||||
@item Info-isearch-search
|
||||
If non-@code{nil}, isearch in Info searches through multiple nodes.
|
||||
|
||||
@item Info-enable-active-nodes
|
||||
When set to a non-@code{nil} value, allows Info to execute Lisp code
|
||||
associated with nodes. The Lisp code is executed when the node is
|
||||
selected. The Lisp code to be executed should follow the node
|
||||
delimiter (the @samp{DEL} character) and an @samp{execute: } tag, like
|
||||
this:
|
||||
|
||||
@example
|
||||
^_execute: (message "This is an active node!")
|
||||
@end example
|
||||
@end vtable
|
||||
|
||||
|
||||
@node Expert Info
|
||||
@chapter Info for Experts
|
||||
|
||||
This chapter explains how to write an Info as distinct from a
|
||||
Texinfo file. However, in most cases, writing a Texinfo file is
|
||||
better, since you can use it to make a printed manual or produce other
|
||||
formats, such as HTML and DocBook, as well as for generating Info
|
||||
files.
|
||||
|
||||
@code{makeinfo} is a utility that converts a Texinfo file into an Info
|
||||
file; @code{texinfo-format-region} and @code{texinfo-format-buffer} are
|
||||
GNU Emacs functions that do the same.
|
||||
|
||||
@xref{Top,, Overview of Texinfo, texinfo, Texinfo: The GNU
|
||||
Documentation Format}, to learn how to write a Texinfo file.
|
||||
|
||||
@xref{Creating an Info File,,, texinfo, Texinfo: The GNU Documentation
|
||||
Format}, to learn how to create an Info file from a Texinfo file.
|
||||
|
||||
@xref{Installing an Info File,,, texinfo, Texinfo: The GNU
|
||||
Documentation Format}, to learn how to install an Info file after you
|
||||
have created one.
|
||||
|
||||
However, if you want to edit an Info file manually and install it manually,
|
||||
here is how.
|
||||
|
||||
@menu
|
||||
* Add:: Describes how to add new nodes to the hierarchy.
|
||||
Also tells what nodes look like.
|
||||
* Menus:: How to add to or create menus in Info nodes.
|
||||
* Cross-refs:: How to add cross-references to Info nodes.
|
||||
* Tags:: How to make tags tables for Info files.
|
||||
* Checking:: Checking an Info File.
|
||||
@end menu
|
||||
|
||||
@node Add, Menus, , Expert Info
|
||||
@comment node-name, next, previous, up
|
||||
@section Adding a new node to Info
|
||||
|
||||
|
|
@ -1137,14 +1238,6 @@ Create some nodes, in some file, to document that topic.
|
|||
Put that topic in the menu in the directory. @xref{Menus, Menu}.
|
||||
@end enumerate
|
||||
|
||||
Usually, the way to create the nodes is with Texinfo (@pxref{Top,,
|
||||
Overview of Texinfo, texinfo, Texinfo: The GNU Documentation Format});
|
||||
this has the advantage that you can also make a printed manual or HTML
|
||||
from them. You would use the @samp{@@dircategory} and
|
||||
@samp{@@direntry} commands to put the manual into the Info directory.
|
||||
However, if you want to edit an Info file manually and install it
|
||||
manually, here is how.
|
||||
|
||||
@cindex node delimiters
|
||||
The new node can live in an existing documentation file, or in a new
|
||||
one. It must have a @samp{^_} character before it (invisible to the
|
||||
|
|
@ -1324,7 +1417,7 @@ as new users should do when they learn a new package.
|
|||
something quickly in a manual---that is, when you need to use a manual
|
||||
as a reference rather than as a tutorial. We urge you to learn
|
||||
these search commands as well. If you want to do that now, follow this
|
||||
cross reference to @ref{Info Search}.
|
||||
cross reference to @ref{Advanced}.
|
||||
|
||||
Yet another set of commands are meant for experienced users; you can
|
||||
find them by looking in the Directory node for documentation on Info.
|
||||
|
|
@ -1382,8 +1475,7 @@ the beginning of the node's header (ending just after the node name),
|
|||
a @samp{DEL} character, and the character position in the file of the
|
||||
beginning of the node.
|
||||
|
||||
|
||||
@node Checking, Emacs Info Variables, Tags, Expert Info
|
||||
@node Checking, , Tags, Expert Info
|
||||
@section Checking an Info File
|
||||
|
||||
When creating an Info file, it is easy to forget the name of a node when
|
||||
|
|
@ -1402,112 +1494,6 @@ usually few.
|
|||
To check an Info file, do @kbd{M-x Info-validate} while looking at any
|
||||
node of the file with Emacs Info mode.
|
||||
|
||||
@node Emacs Info Variables, , Checking, Expert Info
|
||||
@section Emacs Info-mode Variables
|
||||
|
||||
The following variables may modify the behavior of Info-mode in Emacs;
|
||||
you may wish to set one or several of these variables interactively, or
|
||||
in your @file{~/.emacs} init file. @xref{Examining, Examining and Setting
|
||||
Variables, Examining and Setting Variables, emacs, The GNU Emacs
|
||||
Manual}. The stand-alone Info reader program has its own set of
|
||||
variables, described in @ref{Variables,, Manipulating Variables,
|
||||
info-stnd, GNU Info}.
|
||||
|
||||
@vtable @code
|
||||
@item Info-directory-list
|
||||
The list of directories to search for Info files. Each element is a
|
||||
string (directory name) or @code{nil} (try default directory). If not
|
||||
initialized Info uses the environment variable @env{INFOPATH} to
|
||||
initialize it, or @code{Info-default-directory-list} if there is no
|
||||
@env{INFOPATH} variable in the environment.
|
||||
|
||||
If you wish to customize the Info directory search list for both Emacs
|
||||
Info and stand-alone Info, it is best to set the @env{INFOPATH}
|
||||
environment variable, since that applies to both programs.
|
||||
|
||||
@item Info-additional-directory-list
|
||||
A list of additional directories to search for Info documentation files.
|
||||
These directories are not searched for merging the @file{dir} file.
|
||||
|
||||
@item Info-mode-hook
|
||||
Hooks run when @code{Info-mode} is called. By default, it contains
|
||||
the hook @code{turn-on-font-lock} which enables highlighting of Info
|
||||
files. You can change how the highlighting looks by customizing the
|
||||
faces @code{info-node}, @code{info-xref}, @code{info-xref-visited},
|
||||
@code{info-header-xref}, @code{info-header-node}, @code{info-menu-header},
|
||||
@code{info-menu-star}, and @code{info-title-@var{n}} (where @var{n}
|
||||
is the level of the section, a number between 1 and 4). To customize
|
||||
a face, type @kbd{M-x customize-face @key{RET} @var{face} @key{RET}},
|
||||
where @var{face} is one of the face names listed here.
|
||||
|
||||
@item Info-fontify-maximum-menu-size
|
||||
Maximum size of menu to fontify if @code{font-lock-mode} is non-@code{nil}.
|
||||
|
||||
@item Info-fontify-visited-nodes
|
||||
If non-@code{nil}, menu items and cross-references pointing to visited
|
||||
nodes are displayed in the @code{info-xref-visited} face.
|
||||
|
||||
@item Info-use-header-line
|
||||
If non-@code{nil}, Emacs puts in the Info buffer a header line showing
|
||||
the @samp{Next}, @samp{Prev}, and @samp{Up} links. A header line does
|
||||
not scroll with the rest of the buffer, making these links always
|
||||
visible.
|
||||
|
||||
@item Info-hide-note-references
|
||||
As explained in earlier nodes, the Emacs version of Info normally
|
||||
hides some text in menus and cross-references. You can completely
|
||||
disable this feature, by setting this option to @code{nil}. Setting
|
||||
it to a value that is neither @code{nil} nor @code{t} produces an
|
||||
intermediate behavior, hiding a limited amount of text, but showing
|
||||
all text that could potentially be useful.
|
||||
|
||||
@item Info-scroll-prefer-subnodes
|
||||
If set to a non-@code{nil} value, @key{SPC} and @key{BACKSPACE} (or
|
||||
@key{DEL}) keys in a menu visit subnodes of the current node before
|
||||
scrolling to its end or beginning, respectively. For example, if the
|
||||
node's menu appears on the screen, the next @key{SPC} moves to a
|
||||
subnode indicated by the following menu item. Setting this option to
|
||||
@code{nil} results in behavior similar to the stand-alone Info reader
|
||||
program, which visits the first subnode from the menu only when you
|
||||
hit the end of the current node. The default is @code{nil}.
|
||||
|
||||
@item Info-isearch-search
|
||||
If non-@code{nil}, isearch in Info searches through multiple nodes.
|
||||
|
||||
@item Info-enable-active-nodes
|
||||
When set to a non-@code{nil} value, allows Info to execute Lisp code
|
||||
associated with nodes. The Lisp code is executed when the node is
|
||||
selected. The Lisp code to be executed should follow the node
|
||||
delimiter (the @samp{DEL} character) and an @samp{execute: } tag, like
|
||||
this:
|
||||
|
||||
@example
|
||||
^_execute: (message "This is an active node!")
|
||||
@end example
|
||||
|
||||
@item Info-enable-edit
|
||||
Set to @code{nil}, disables the @samp{e} (@code{Info-edit}) command. A
|
||||
non-@code{nil} value enables it. @xref{Add, Edit}.
|
||||
@end vtable
|
||||
|
||||
|
||||
@node Creating an Info File
|
||||
@chapter Creating an Info File from a Texinfo File
|
||||
|
||||
@code{makeinfo} is a utility that converts a Texinfo file into an Info
|
||||
file; @code{texinfo-format-region} and @code{texinfo-format-buffer} are
|
||||
GNU Emacs functions that do the same.
|
||||
|
||||
@xref{Top,, Overview of Texinfo, texinfo, Texinfo: The GNU
|
||||
Documentation Format}, to learn how to write a Texinfo file.
|
||||
|
||||
@xref{Creating an Info File,,, texinfo, Texinfo: The GNU Documentation
|
||||
Format}, to learn how to create an Info file from a Texinfo file.
|
||||
|
||||
@xref{Installing an Info File,,, texinfo, Texinfo: The GNU
|
||||
Documentation Format}, to learn how to install an Info file after you
|
||||
have created one.
|
||||
|
||||
@node Index
|
||||
@unnumbered Index
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
@setfilename ../info/org
|
||||
@settitle Org Mode Manual
|
||||
|
||||
@set VERSION 3.16
|
||||
@set DATE September 2005
|
||||
@set VERSION 3.17
|
||||
@set DATE October 2005
|
||||
|
||||
@dircategory Emacs
|
||||
@direntry
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue