1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 12:21:25 -08:00
Patches applied:

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-677
   Update from CVS

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-463
This commit is contained in:
Karoly Lorentey 2005-12-26 03:16:59 +00:00
commit feba0cd640
113 changed files with 1990 additions and 1430 deletions

View file

@ -50,8 +50,6 @@ invalid pointer from string_free_list.
* BUGS
** circle-printing bug from Stephen Berman; see my 5 Dec message.
** Ronan Keryell's Sep 23 bug about "tramp sudo:: and version control on RCS"
** TCP server processes do not work on Windows.
@ -66,65 +64,6 @@ Seems to be a problem in sys_select in w32proc.c.
** Add a node to the Lisp manual describing key sequences from the
Lisp point of view.
** Fix some of these doc strings by adding \\<keymap-name> where needed.
ada-mode
array-mode
artist-mode
autoarg-mode
bibtext-mode
bookmark-bmenu-other-window-with-mouse
checkdoc-minor-mode
constrain-to-field
copy-file
decipher-mode
define-generic-mode
define-ibuffer-op
diff-mode
dired-maybe-insert-subdir
ediff-merge-buffers-with-ancestor
ediff-merge-directories-with-ancestor
ediff-merge-directory-revisions-with-ancestor
edir-merge-revisions-with-ancestor
edirs-merge-with-ancestor
edit-picture
ethio-fidel-to-sera-mail-or-marker
ethio-sera-to-fidel-mail-or-marker
face-attribute-specified-or
face-equal
flyspell-mode
hexl-mode
hi-lock-mode
ibuffer
ido-find-file
internal-lisp-face-equal-p
isearch-forward
kmacro-start-macro
kmacro-start-macro-or-insert-counter
make-byte-code
mh-user-agent-compose
next-single-char-property-change
octave-mode
outline-mode
pascal-mode
picture-mode
previous-single-char-property-change
python-mode
read-from-minibuffer
read-key-sequence
read-key-sequence-vector
reftex-index-phrases-mode
reftex-mode
rmail-mode
sh-mode
shell-script-mode
solar-equinoxes-solstices
table-capture
table-insert
table-split-cell-horizontally
view-mode
w32-shell-dos-semantics
** Check man/info.texi.
** Add missing years in copyright notices of all files.
@ -135,7 +74,7 @@ you're going to handle.
DIRECTORY STATUS IN CHARGE
--------- ------ ---------
etc (and subdirs) done Thien-Thi Nguyen (ttn(@gnu.org))
leim working Kenichi Handa
leim done Kenichi Handa
lib-src done ttn
lisp done ttn
lisp/calc done ttn
@ -236,7 +175,7 @@ lispref/calendar.texi Joakim Verona <joakim@verona.se> Chong Yidong
lispref/commands.texi "Luc Teirlinck" Chong Yidong
lispref/compile.texi "Luc Teirlinck" Chong Yidong
lispref/control.texi "Luc Teirlinck" Chong Yidong
lispref/customize.texi Chong Yidong
lispref/customize.texi Chong Yidong "Luc Teirlinck"
lispref/debugging.texi Joakim Verona <joakim@verona.se> Lute Kamstra
lispref/display.texi Chong Yidong
lispref/edebug.texi Chong Yidong "Luc Teirlinck"

View file

@ -52,11 +52,13 @@ to the FSF.
** In Emacs Info, examples of using Customize should be clickable
and they should create Custom buffers.
** The toolbar should show keyboard equivalents in its tooltips.
* Important features:
** Provide user-friendly ways to list all available font families,
list fonts, display a font as a sample, etc. [fx looked at
multilingual font selection for Unicode-based Emacs 23.]
list fonts, display a font as a sample, etc. [fx is looking at
multilingual font selection for the Unicode branch of Emacs.]
** Rewrite the face code to be simpler, clearer and faster.
@ -89,10 +91,6 @@ to the FSF.
same value of this property.
*** Discretionary hyphens that are not visible when they are at end of line.
** Make movemail work with IMAP.
movemail from GNU mailutils does that, so switching to it will solve
the issue.
** Internationalize Emacs's messages.
** Install mmc@maruska.dyndns.org's no-flicker change.
@ -270,16 +268,6 @@ to the FSF.
ignoring X resources (Doze equivalents?) and most of the
environment. What should not be ignored needs consideration.
** Enhance locale handling: handle language, territory and charset
orthogonally and de-emphasize language environments. Use the locale
to set up more things, such as fontsets, the default Ispell
dictionary, diary format, calendar holidays and display, quoting
characters and phrase boundaries, sentence endings, collation for
sorting (at least for unicodes), HTTP Accept-language, patterns for
directory listings and compilation messages, yes-or-no replies,
common menu items when the toolkit supports it ... `locale-info'
needs extending for LC_COLLATE &c. [fx started on this.]
** Improve the GC (generational, incremental). (We may be able to use
the Boehm collector.) [See the Boehm-GC branch in CVS for work on
this.]
@ -398,6 +386,16 @@ when the body only calls primitives.
are also put in utf-8 lang. env. In such a case, it is
better to use Japanese lang. env. but prefer utf-8 coding system.
** Enhance locale handling: handle language, territory and charset
orthogonally and de-emphasize language environments. Use the locale
to set up more things, such as fontsets, the default Ispell
dictionary, diary format, calendar holidays and display, quoting
characters and phrase boundaries, sentence endings, collation for
sorting (at least for unicodes), HTTP Accept-language, patterns for
directory listings and compilation messages, yes-or-no replies,
common menu items when the toolkit supports it ... `locale-info'
needs extending for LC_COLLATE &c. [fx started on this.]
** Eliminate the current restriction on header printing by ps-print.
Currently, a header can contain only single 1-byte charset in
addition to ASCII.

View file

@ -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.12.16:1527
%DVIPSSource: TeX output 2005.12.20:0859
%%BeginProcSet: texc.pro
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@ -352,204 +352,208 @@ B0DAA1BA19D638676E9CF159AC7325EF17B9F74E082BEF75E07BB563C96C0A3E
CCBD1F58ABBF1F53AD21E3BFF25EEEB046F66A924E5F431EBD7228050BE2DF43
0B9B538DAAD511EED97630CD9A9C05CC49DC251325A93EA842C6D07B44BE620F
08E66B611F54314B0177E299304F2294F8DEDE9914736944F125A50B5007373E
588AD80D9983CE7824DA30CEE5DC3114D69D7ACEC0758D8201805B82925EF3C1
3A6757674B84D9B585F981DDFFB42163EADF90346248E014A74E3FB3E6276FC1
B4289FCDB4FDBE9C70CAF38E410965A3610F649DF8F81C73B87FBE27D44A3CA6
D7883821CA22795E3EED184F4F59AC687AC06DC4DE7FD098E0EA61C494A5E960
643D78025B1D18B4B7FBACCE2DEA453E35C08A6AC093F45FA0B1DE132F743CBA
75F2E7BE0311132C0E63C69D5182B98AEFC610F61D1E1EA51120D8A9F5DFFA8C
37C0ECCA2120E1DF7A551343BD7573FA24144A8D59CA684FF9FCC1E023A3401E
9797D658E92CED2255A273E429FAF43B0355E27EC83974BA4675520B2DC70DDA
DF783452C679BB77759479CB02FF3377BCCD8580E3D87D34CD579AA3F89AAB44
E526EE761B0D371E27B5A02A5C494C5169651FA79795D332045B3E7F2CA100FA
FA8ADA74DCA851DA1BC7531E58EE08FC22F2F35E94D5DA013A4C9669B2825D26
021982566B4347E518E82602B0CE5CBA1CD38E8B3CEBBFDF9E9811C896313F37
51D5F7162441E4B2DF18A7A34326114950BE85B3E5AB465D54652575AAC03DF3
E50E9FE8D184D33534E12AB92DF20BD72DC129A86CCC24981FF82E297D0B0F9E
0B66137443B501B5FA711C7DF380DB1F64404DA241D1EF5F2D012A0293405302
F828BF879F46962DFAF75F44D4A394DB9D42E4874477097FF6F8DB9BC8712BC8
661A95A2467073355FE697CBE1D8E298569935E5405C22555C40DB775A808F54
642939D8E4F76C61B2FE966F4FB55319873127C8EEB05732A1538FE03EC2D8CB
9089DE328A396DAB3908179FEA2FC3F2ECC48593049FD23114A04B474FF4FBED
4D3B8835148CCB742574F4914B7201CE41A57A42EF61099509E5C42B744611C2
B40581A6BCF6FA223E5B5221B8BB16AC6EEE3774130E121F23A04E1548F58899
41C9DD31E720AE7392E4E2CE0ED4B691620CDB0228D3BEE1F4AF4112241C74E5
89C40027D8F25369B8F8815BB2403AD0E662895788B884C37D5746AFB596D64C
91C4B4AC3B860C089DBC08719251578B4AEABE5119CE4A5BF7BE0FC5847A7BE2
82EE4F04FE7F67A4B02B73B1E6D69803B856FFF88BBCDC4BDE933DA0090E3D24
5E9F11C18394EB1A69A8C648793D729B3C76FCD4817F0452A3CFE4B47DDFCA2E
8A7987C7AC0C5CDC51D42A0AC709201FC4858488389FD39C0F14E68C9E8E918F
2EA7CDA76FF8E950004610903FCCB3BB4523F508016865C0F3DC87ACC363CA71
981A1B75907A3348D8C35E867AAB1E024F02C1194664E2E4A8354A37C872726B
B6D473C2FC1907459E9AB67A223242E9F340DD0AA85370070865311AA1AF3E69
BC3C286D23125C8001AC764125DA2A007EDFCAFC23AC17047F115039CFF7719D
172A2976B25175FF34BED0486DAC13B3960F7C82B3F40179C0ABE42BA0DCFD22
E82E6B47087D860E7C001B9C77BE65354EED91B802E16E308E0EB449449BBA69
BF82461F824006BA23E5DEFD08AD630382AD24F5820240CF266B524629119A9E
568FBAE62F7DCA9A8E038CC470C3D40F5A28154F71D49CF3376F12B35BDB5103
43CB5A77CC06D6E6568793DBE6F2F5E790C4C61ADD771886C32B343F770EB898
ABE5830F10E08855F2E3710BA7A7611BAE785B16A17C7C3E96949BE7E952960C
55F85782937576D319FBC8D015F278B33191D444020510CC857B80AB9D2CBDE8
A097E47F522EBD31BFC07E5D62E11349E52EC30D934277F52E627F01229CF3A1
3150AFBF3A47521D33F6060FAB19F3D5E572DE196E4B9D6B07C7DA1130CBA29F
C20E18E63979ED97F7CA6D4A0D5E35AB480DE427A3C7D98189E39650F062BB0E
B603F8C4276237F4EF1A117AF66616DA4394969FD32C9487BCD3BB8956CB261D
A7B6822762ED2CAE7EF809021DF732143796A0A220A43ACB23CD8D019A63BA65
3900405988F03B4847BECDC0BF96E6F9DF339A32ABFAA8C7DE02978CA89DD3F8
22852CBC2A1A339E5E5928BB1F6589EA13F66D07C38AEBE44361DEBC8D529B5E
E05EE01DB98F53E40A15A5C524C87F2A3F2238AEC054295217406B5569D0D183
9102E7B4F63FF0599B1E2F4D4B375FBD84EE0792191AF7E6DA7AB1208F422807
DF6A76606542430AA6A8CB8103B6C2AED2981C3C32932DCDA258C2A4EE6726BD
546DED3A25D153322A907256E3D47AC6DBD030A4950572B5D092BB7BF44BF296
3D2558F21F2D02076D1FAC2B0C3055A32127C56CAACF3ED83389B97F5CF85B99
13F17A8D568A24FCFD3A67D77BC302C2C3BE864D828F82B1C0266DEEF26797BF
2BB0BCE4A90C9BC5936576CD13A3FC68A3E77F1496D64E35DAEA8B7034A4AEED
77DC6F2489AE7C5061C6D26D132D640B16A8597AD76B4A10F1F6CAF0D3D03488
1D43FA6517E4E3403B9B5DE190233A21638203BF1E26B4141ADCB720F6CF0DAC
BA2797A763D3CCC235BD8E824F76D7DAD10EE1D81062A15BFDDD2597AFFA9785
38ED014803582AC7174DD9A3CEFF6B1853861BC26490C565D06BD40FF2574232
A037F6CBEE39D142B732D76C5D3AA9ED356DB3F32CE17485E0685D25228D04B0
9ACACF2F45AA22B06C885AEE6B688A4413F78480B2514C9D8F0C0FDC1CCEA424
055EA4F21C58C11EEF35D93BF4FF5CD6CE5F6D5086EDECE08A204603D21AA55E
3BC356F129216C45DB39DF5D073E034DBEB3D9FD3B6F3FC1DC36DE953B614541
85865A1FA68CE5F33609C13B34A6D61E415631B863FD8241B7B648A926AB4B4B
BB36F77618030F0F12CA2791A8DF77CEB70B3D20213774FA778B15764AAD214B
38B949DA9E1BD3CA9F35CBA1B5C165C8E7808B054A8DD3DA4EB734BB6BCE9BDF
E26FE758C8663F0C0A038BAAD033DC61D5951386D0CEFC4953DB117A32B3E7EA
2C314B62654F2AB0CF5CDA47DBD398A0B24F68BE7E96F5A1E13997AE9DEA4767
06E767E97559883FFAF99DD954BD92E077B70BDFBE7EB412F97E6D5EB850BBBE
614C94A47E0110E17945EBBD89514A0F466A491A553D2A1F4E45DDA45BD7E242
71F72A3BFF7B816205E7E9070EBF97BDDBD69D6C7BE8195A80EF00A450BDBE22
DF2DC92689803A21A6069F9FD0EE1D21B1DAD0036B750D80F4C27847E49052AB
6CE3AC50933D6ABD597A77F608F681AE3204AC5EA90DF8D94D0732A9CD36E186
00B3FCB742A1219D124F64178DECF64E9477417A5768F7A35273785626C75F06
29E8F8609574D3B1D11DAA5C31D971C5CB4F008A07A50EC88EC3A6BA7BE34FEA
BD13C6E4297C54A68D77D93F1D864D07D46DA3099E783C10F2A1409782A7D358
D2FAE601C33EE893769753A996F9C533584A6DA1016D024E3D1A4795EC82E718
A969E496C1768E2D109A03F19E109F26E2A7330436D63466BBF722D5DFED0C6E
32727F1C909C7D904BDF80893366E07A3F50D50B3CEAD62CA5BE7BAA499793F2
8D31619270E1013BB8593F12933C32F1FF25939D04C863B9C13A9681CDB0FC97
09D987D476B87143F16C6CC687C073E11A7AA9AF508EFF714367E6371F61D88D
C48685A861A2CE5876781D9E67EE1AE407A4583C0F787BCEF96FA3AD6ACD7240
0313B2712601C71C3A3B4AA2FF1C6450C83311823F59005EB1F533A9686F575E
10A2F86FAAEE062476FB0F25B8A076568785FCE5C807F6AE452193E030CE4673
582549A4A79C62A4A9D881FE893BBBA0DB9D101E3ED230603AA987AF453DFB54
4A9C5A6AFA92F8FA0E9C649BA8791106C9EB84EE57F85E710D5C75BA3F50BFA2
48C3DB83E7CFF4663B53A1225FFB08F8A73768EFA641255A1F0F2400C901EB07
E3605CFFC5CDDFDA6F32FB05F1E334FCAD07D6F7C5510C3FE556B598C9576B6E
8BAC48BA0E8ACEDD0437225EFC7617336D96AD13853FC2C14872DBF3F59041ED
D94EF2FD18DB0BC4E0B2EDF8374A04CFC77FFAF95CDEE4A6F350D5FAB91BAE8D
D3BEA0CD0A5CFE82868FA6B9FF1D824B084C664F2FFA69C59D69786966764EDF
11E12F692EA4F9AEFB94BA8F7124E0A54B40A27B5EFD3F333FDBFE1823BF5687
3E2A7D9828E58EEB412AC9922804E470E449F7AF100C8846DBAFE581DB3D1EF2
603144A62AAFA7DF9FC925FC10922FD9264C626B83D0F72EE045D831D64A3ADF
8C89E4571C97F1D90FE910FD633932EFDBB93D72CDCE970DDDE89DE05074AE47
7322CC2CED801E4AC068CF0900F2C89908B03A79953B640C2995C37CDFC719AC
E1666F7C33B047F86A1D8002DFD34F544DBFDFC8E8895CF7B76BFE065C2DCD65
77C63FF35E1603053E839D4E586BD3D836B8F3607A80126FA4A7220BED2A81A8
A536224F9A82B912FE4D04F2552ECF52D8DE6C756A48F9AA1846EED1C7EAB7D5
FB3D6CF1B5B9F5B5622AAA0EC8ADFF7B648FC7A8E583984839E02CA462971C3B
88BA639FAE7ABC0A73FAA490C92188981045BA68705C66DB5FAEB10CC8B831DD
45AD8677682EFEDCC0F04C09A9AF365BD8538978FA47ABA7DECD6E30FD770D9F
7D19A1FA0C0D126491F20B0584E6E02806DD56CA4F04282549E112AD77619DB0
536D2695EFAFFEAEEF20360DD93B404A8626DD27CB904B306151845F8E649C9E
93421279160215EE7A3B275E5AE99F2D4C8540609DBB9B4D084CB93817E8090D
C38B0755DFFDD48B03F15847250C3B0F0D1FF0CB8D2B08A86D6755780A7F244E
04E74A3A7F65BA429A35CE856CD858E0E1D28B93650FBCF8B68BF45D5CBB79C5
B8F147BB12CEB2B198044576D54DCA1E5900C478C714E35816C6C72F49A7B7EC
52F8021E4A52938403DA93EC8766717B7AFF436EA6CE0AEA5B53DD1593BD4C0B
A1C69EDB97F09FAB01DDF697CC803F2E0C828376FDB779A7A14D90BFA27064BF
9F76EDAD9159D3687AC5290E3AA97FA85B7E2D6D9A93D453EDE90A3DF2F76D45
2878AA74C3BF40268C7BE7F17BCCB0F45C5F135076188EDC12BD22022A391390
6D8C4AE077EAEB4FBB0A7D4CC57435D0BD5B2C96058D7F09F14E1EADFFF53D9E
277BF06C1AD687AD2ADF9E8E3DA035375E5A1E2191273C22498308A3F3451FA4
8F9694F3C459101CF5A57AE16EFA685DB852B3CAE3A8EB49ECC55EC76948BEBA
AFBD31AE0E475986319CC070F83E5419877E90449385EFD6085FDE79F762C2FA
8B7FA109126EB97BF1714D1FF975C0ADE725846556E6AA0F8CAEF200D5EE897B
EE3F73DD0EE5E506B17E562F173A13F01C7A35E9B87A72403E39884ECBA55A54
18E98868F7D61512299A63103F5ECF110F7DA4D03E0B993438037DD8E93D6C9D
FD36435A7625BB47CCBD58506441D07FE1A4A0B0EC8EC80DAD4DAD8CCF11FCCC
D7DEE863D8BDBB2AF8BE49FD5F3A2A0169C7E9153BA07584629114BA1C0AF127
F8BECCC41D7CA8F91BDFD4793D2F659452671DECC917E219A63457DF50AE0E0F
A86B21E595210BCE3276DF47A623FDCFE1520BE11CE1A14DC590F6DAB1396A30
EC8790FC9E59915B52B2773F96D5ED0226F8DE7E480C491BF6AFFC3AC48625A6
8F6DBEDBABF203DC6970C1FF4A99F11EE2CD0BE08A5E55D7582A02E8E790E96A
D1D4D9905CF1233210E607D880DBE8101EE6E00BFEFE369DE911C533D9C5A4DE
727468362CBAB14B33F9791F38B684748BDFC163BE9A859CDB8544F0D39E98B2
37C237DC3D7B960594D2E5126A22CCBC46080D8DBA29C56754C9D87ACED4D3AC
D0F4EC087D3EE26AF22132923B392B101F38F9FB5287DD80B014215F488F7BEE
3644506279AE1377BBD54631803B4906A8938149C2621D93ED30E0AC2A45FD6E
0BC9880E98922C5AF11631B0CC3FAA8ADE80DD9204090DDB4533E8E84A920100
1182C2D8A97A202A218BD1FA04370470F43E25DEA8E19E9B0F7CF346BD3FC1D4
81A3CC42730846515831C6FDB94FCF6C4F557D20986D0446B5F0913C7EE13822
F1458CFE602926A62D58D35693C43C916AC10AFAFCF6337C52C12A32A076DEA8
7E880CD509D160CD80E0CA05F6DA3E50EC5ABD0CF1F1CF725B0E07757B789FA4
83B1C943B039146494101AA9873BB8AC097AF8A1C8664DA5A5A6523FFA705E4B
CCBD20A60264C16F2A7AB67CB2D13BE8114BA90DE976A2762B9A1526643A3686
08A6693B967C614638A6AAF50FBBA847FD311A50276660C0E6E29B57981909D8
424589E0C602293053C2BE6A56CF51BB1FBE97A3BB9B1C7C845DD3304D812507
8FB9D7837593DD0051B5F6EEC11AA80888D247982AE871C4D665F646C216BEB9
2666546D6FDD4CDD68924259109AE202A79F9E317B7DA63CB83DC8058C99898A
75077910E0A42A1B7EE0E8C6723CF6098EDFA7523776A28D985FC8C46F412EAE
E1F8DAFB90E75B2EAD5D166B03C099EC19DE18BBED2205C21924A6E2E72272CC
C61EB27336E3C5A0848F9845A15873BFEAF4ED8E46D7D1E53641A7C8C83B3314
6D8D7CAD912E08DCF730A260F1B6A9874B128A9F4E462F028DDE01677069BA70
85751970D15A28006928FD882041684AB99E9DF145ECE51664477EBE16024C02
AF4337CD06997B6D4C62808AF0974896FA2FEA86AA3B15235EA9D79FE96E6A7B
3B6DFE839B9C0692BF6C2D216B1F7E06B70F6C848CA93B5F524C4FEBA16EFD86
A17FC47FE825F00DCE060D1557CF3A60254143E178EBD0462AADA68F6A23FD14
3E91D6EDD3CC038AE4E7FC74D3A7D198AF912F61F84F44CA7B21DD1004B2FE6F
202D720AFDCFD70868FD70C0EF5B40E2BAD782EA73C1305961A572955A0CF859
2AD779B170CDCD54FDD5061E5967BB4E62856C7757BFB5F4D52344BB8EFFE87F
9FCBCF9DB6CF9EB008CC37695829E2738A04E6D20E16F7F42BA61422D0BC8301
9879E2D784FC263A9FE0C4B0F95FB29E919155F787C885DDBD1F18AB49EB3A12
A1A1A34A389673F41C08490E463883EF637429F094B6013F502AFC084DBFA90B
EE7E8561569D714938F8EDAAAC4339583EA908BFECBF86F56AF4E5BA1D4DCF51
ACD61EB7FDC8957A0D2485313EEDFFEBED52F519A6C4ABF72AF5EB3EF7813FE9
5B04D4D4ACF29C3256E2DE77A752B16F905DA2F0E744C587FF36B3E4DF350095
0C780F7BC60FEFB63B1BF86EC400416A28DDD5460E3D202FECC45A723CAB6D53
06FD4BA81441B7D8C254F66CD65446924BE54FEB728A78D5776E8A4AF107B75B
D983E3869D745380B7A4904EBB1A9E31410AD52A1337518DD33D9ED47D662BBC
02E293A64D6E4A464EC44AC5EF6FE0BDE53343479928769706D728695E112D85
522334A6369D4B5BCDF411E01F8462768A73EC1A1EC0EBBF2AB6D6F93FABACAB
DF5202AADDC2E940EED9AB910801EF95DDA016A3DB26621CAB2EE249A540BEC8
2A95B709DC31F890C82D225E1AC504F74805F663EB4322FDA91EFB556695031A
D65904BAD452B494F6868F2894C4AA3CB8A9F44571FBFDD2B48A331070CB7191
12B6022A8470E7860589DF6D594D62C88DF7D70FBD19FECDA8681F7C51161D2E
572A100D0B29B3F128AA94B195A41F51DADFF704147E97734E12D09C0E00C375
74D22B509E9B28AFAB9892D48F8B0AEF0C64E765EB3457C0E7CB8ED7872C6C88
B0079087C8DA629AFA529AAE62267823F7A7C264BA93AEDE105E8382C4A79413
12DFA7ADCDCC1A22B722CD23BECAEC2DAA329C8D3D261E6721457AE4D1996F9D
3EF8E9569BC4CDEEFBEAC527C5EE02DBF60C3A5E823CD314862965ACA30B0066
F69A82B6AF6F4D4FE3364DBE0140CBF62A643550E2C113D52C8ADD97B4CD7B45
F30365D65478481714B3B35CBD7A90070B2FEDF4BAE6B6E9AA4EEF2415DDAB03
DD90678CAFEF588BF92270C58BC46C3321921A900626287706575A7F755672AD
1AA6F7015479E26F0FCD3E4CD4F790CE7AEA1765CC4C5960B0F548885C2FC6C4
F23E0BF2473AFBFCA4ED207456BE63C765B407951A68399F2DA59C1E3F2E6CA4
8BC2CAEF5AA0A046AAE9414A43DB889881A8C6F3EAB6EDFEABB29F9105147F0B
A9069B65827F2BB5A7A3DAC2803B279F2162354923CAC770CB915162693B4069
AAD063253F9325ADE55BFA94CEFDF62D6AE0965AB35BFFF883589FDAA53EA0A5
465BBCF81595BD1D299778B7D5EDF4052E86251081E132AEBE53E7F6374F2739
702A14FEE9BFB3D374761E62F9043B24DF318F8C78E789AD3299F97113E409E9
2F092C72B814CA79D1BECDEB2AAA1B8CB85B75B2CA6FB4E882AC118588CFCFB6
2D1CDE698B9BF277F6ACB296871771A225BF812BA3B3151555BDB5362B1F0F59
997D295FF00EADBCC528AD6233296DD472013B8190417DF6CCA0A87AFDBAB090
A4E40383A6D5FD5822313907F710C9F1C844A3CA5FCC568B6F43B38F772480BA
BC64CB822CDE771AE4C9F58CD7F30C31E3DFD21853F9DEFB3F5DE7EA5D1376AF
A6D7DE67B57406C36D2087EA224DDD2526E76640E0ED66426BEA8B26A45AD00B
D89F9D68CE088408D0CD9F56B33BFF120CCC9FFF0F7A4EBFFAEE09D1DF06CD2E
A3720CC3236B28AC3F0F0F74B5BEE74A8F452722B25D4E629DD97F01B829A7FC
1F83D10AAB3D64782C3ABDD32F98CFA8DFA66CCAD02CD69D68E5EE364F327128
C25E0D860ABA76CABBBF3981F113EC2E54B7A5E829FAA2EFD526BDB6726F9469
D7BF91B3DF4BBFB61F8FCBBB322AC4C7DB15BF531BAA97E3CB808CF400785D95
11552504FE80410C0B5B30FE31481DB159EBC4FC40EB6F5C098F5D9001A76B78
013675B443F3E9D3F1EA30097F01823A2A07C92CE535FF8DF4B1AFFABA291E70
539A73904631054F9EA220B6206A4F2CF3DC909BC5F3E49035FD391529ED1555
ACBD25AD0209A7600F05F6E0C7A23509B936A01C40B04F64F7085292468CA32A
DAA568A3AA4C798FFBF122D476FC954F551D9F7AA995939AD401774CF4A217D5
954556B69BF9AA15962CA3A266C6DC34FE7F21232E07A450EC6E7FDA40C6BC34
D15E52A2130A321BAC0437C0AE6CEFD3413D19AB436DFD6178D434C759150ED2
23FCF3F9D2AA7351DA3E841A5BE2CDC0208F69032F04BB157A79A668DCAF6A
588AD80D9983CE7824DA30CEE5DC3114D69D7ACEC0758D8201805B82925EF3C2
C87A1A169C5ADE44B561EC1660E617FB39D1B1547B33C0FEB33C3A1D7340A62A
CD9CEFA49481F19B39A704A53A0B98A11744143CDDA0E668E6325935C6497A9F
AFF471194932AFECBF25B441AD55A43751FBAB76F3E544C4254AEC4BEB5CFE4C
C1318C3A0FAD0E8C1BABEE20B203E1DD9412E66BC55BEBD6FBBEBA84F56604FD
85D50F733D9794611F4137EC10ACB4C4ECA5A81CAACC45213E92ED3C26726BBE
91430E7633A2BDB8EA3D0C55259D7DBE468AC0964A63728C9B8EA4E15CF0EEA3
2E754B9170EAE6B8818DCCDDAD643B9F6C91C3C5B245CD442358C60AF390DC76
342E659D4EC45552626F069F346F46B18062CE26D5912336C6B29FCBFA5C3113
ED86E44B529CD95B7B5B934D899762C4F3457F56ACCC763BCCD5BD08975EB5F1
C5216DA4CBF3409EC71054B0145183F7DFB31517D199EB16D4C6DB0AF05E5720
10B06F395BE3C8C59CEEBCEA1E00F9EA3FD880AC197508CEC11E33B6B6EABE3C
0FAEBF246743F62D280875D052656696AA88DABB918F793CB2994A1ACCFA0CAE
AF6FDDF489109DEF07F93B5B0078FC5FD9829DD296F62F23400F5DD6CB096557
EDA737413C744FDBB0615BD40A79EA2929EB7AC767E58D886B310700733D2895
3925911133631F28291974294AACF4A35F92A5E5262DCF33810A6F9C51E9D141
F84B0C26B5ADECB44B646C79DD1C656529B7122739C0459B2B47A2C357EF9A36
2B376DDF54F1F4F133419EF14CCC6010D360DFA8A7B122FFC5A4C560ED184F16
057D3F76B6B2E935B31B17FC4066916FFBA0B9AFF287D251985AB3FC3D0D7E9A
91F094356B3D6CDBCB2D74A3FDE23526B22C223EA35C9E5054053B23AF004324
80F023FCDFDFA6B8F0E03A799D87FC2690C5D1ABB9C52B03402E37309091A1FC
1D66EB5A75DAE988DA5E35B8E67BB084DC7E327BAA29BAA9EC60B63402DCBB4C
C8FD3B7085ECDF029AEC6D080B62195A6C917CE9A900D02BDA73002650A8B802
491C6D31EAB59795664FBEA51FD8529AF2384996D55F545DEA08F50E33951BAB
BE953410B5C59904F4EDEFBB625B23FDE1CFD8222E30E14502D3FE19E37B7113
190B7758414E048DC1F00ACFCAD4FD2A2E802E0BAF0565535698728E09E90E0D
C5C8727764E70231D0B2D35317396B7A18F0B7125E2A79DD14F55293D7F0C162
63F981C32F6DFC5613CC640DC32C14DADADE08E1AD23517C92715CF56A067E4F
CD64DD84FC5074FBC6332AD5252B6A1CD9F6D0B79D957EBCEFAF348F69FD005A
0D9988EA2CA91FBFDF72875C90BEEB2C3077858924B963BB54BC078DCEDF4DE5
AE3AA2EB548FD9DED0B10EF502384E8D0A5D21DA465B564EB2C5D90528133EA2
162016087ED07369D8EFF5006E0A4E31DF616851F387B4C3987A5101BB478B59
97A1283A44C77586B2043C78356C5F9199A5DC8228BA6752D6F87AA49180A117
C44E4E37F9CCFB8801824886A3BB8B45C09C4C3EF6F84D1A792F931142D4D92A
4AFE82C564A28974AFEB8EBB07F08B2D35686554D4FDE904816AD5216DD9E50E
594734194EF111F052C64F9EB5D9F643125847C386C3270D72D390F95ACCA259
163390180BABABCD514E5B62AEDA79047D3D501F04E65D6F7746E6E65B842EE7
0B45D8177B9155B3A3719B6054F92FC2EA9E9A17CFF146234BFEA708BA65C81B
ABA8DF53CF17730D838099A5B00B29AEA31B6E59BDCC184A6BB91C3D38E37E86
A5274FCEE9CE46EA1629A10490C136B03FCBF4ED56EE9BE8E2C7047320CF375F
AA345383EE934DF28971CFAFC24F155546E24C399A5E91E5B7FBB127C7594718
05CBE48E093BF76265A2E3499BE07F2967EC5A1F1B71B2716CDBF21A3BBCCDFD
750E5BDE0E7354EC9994F5F5934949EEC70E0F84450828D851F6A4507F299E14
D5CF89AFBB0B136D6704C6ADA1DFA98812C38D55AF4DE4DEAC2DA2F1D97EC7BF
0F08F2CCF3D994044A59957698C532E7E4DEBDE4E19339ACC10F9E51CD6AE95B
F6EDCF24604AA1D0E4C32E20F4078ADB2A22BFA93BA0E182F612FD57F606105B
30F669CC646D3F50C26F1108D06DE3C8388EF2713295B1546E72E79B17999964
8A739D2B83144AD0D0763E4EBA6C140182DD8B48AA20BFBFFB34D105F4738E50
056F56C95AFFCE0192CAAEE4A910560A3124ACF504051327DED441E5347AB4C8
BA566D84961FA34CC0A96D3B60BCF2075416D89F8C653D552561004EC42715AD
706DEC4842B3526C0134718C81EFD988A6A86BEBD58B66A1EEA6C8067521D43D
F23C72788F4D325D083BFA68224E40606E5E1FFAFB57979E3E85F0E8CEC4059C
630DDF5F8665F00D824C94292A5882B5320CF1143D6FFE9B3EABA993CB6438D9
5D7817C144451672C84EC88B3C7BCE2F50DF72733FDCCB62861AC3FBCE509D63
E7E55E7F8A92FB18751BFE1E9FA5597562E756FE93C76CE9E1F8C0E199E568C0
913B5F2E13F37E64D40A48FAB264188F45A2BF24757A516A5F63D057684B9B98
77080D5BCDA67AF263D060DD7C4A434D2B769BFE6666C3E543D2807EF64DA025
4136E09C9208A5166346BF4BEDEA772B1939ED947C5F86EB056AFCAD57ACF6FE
F9B314ADFB521DB4D555881AFBA0F0E8FDC010CD3D62E80A5E0E267DD8200D08
044F8CA818F496FBDE6E28749CF7EB01EDE032B507BDA2EEB30AD4B052D838FF
C03C91F9FF6EB370258C69C62464BE1A3F97D829989F38161B6E1BE8CB6CF03C
70A899F129316B44DC1DFDD2EC395E565BE75262B01881593D1C746C8C3CE8C8
86CF532DBC7545EB71FEFB0DDE02D41F0CBBCE397A3268ED38AC09FEFB447957
EC3E378A2202546E6931F21A1E7530BE3523BDE30E131A9993F39CE17FDEE438
853D1F3D57E45D91E8A4B930FC00420943E78C942D8458F0A1B1DFA6492F82F8
60FCCC61C3489AB2711270A6CF28BE65DBA89499B243503FE69CD77224F3021F
CE71A9FF70B1C43C88F8E42387461428A841D1DA38CB352079CC08B41131B404
DC95786F4C74ACF1D2930228A40E168CF84B122AE41797496D603D95263F9948
AD0BFC5C30D74D3F90C18DEF1C3BB0611EC24460FD4F966995F1AA234E8808DF
BE2B6DE6AAE516228380443CF3AEE8D89533CF255AC2D0982FE663ACF360A2D3
7B2F9E5AE9A3464137380675BAA98A93DF016E6347BBB474E28B5E399A4C8CDA
95A3B9CEA9F666ECE9F41F3CE151E10B1D5F1DFED5CB72F5EF113EDA32377C22
DD0B49EF1A7C504EA453647ECD2DE34ED0D3CB42EDDEA85F4D6A1454BDF42AD9
CA45E910A2FD55F73CEF456F0083EB85F70B762A9F9A60682DDDCCD3258C5473
F65EA74CD5FC2D564DE3FB61FFA65F03479DE6AFA0A622D35A085C0253DBF87B
DC6B608A90987775F99DAB0AB986C4D434DED6F272E30620A47E8CA434FEAEBC
AD761DEA4762FD36E8CDE681E24B11F7BE2334070C677F78932BFCF06B8165CA
B4420AC4779852FBA083CF46A260C2211D7B43BC4A40290552F4ECC0A4F8B46B
8ECB8D06145A6ADD646B26589FF6031FEAFCFA699948C6C5495010F3E9234789
57812F71766F83E232FBAFF49229276737A386D977A69D1EE47D32652451D924
4698E1549BF460605D185F972A85FC9705B2E5F1632F1E076E83C8C90E474B6D
BFC6E4A0744333F04931D5303BF8763A3DD01C6450AB9EFCE3C30F0BE6830EA4
C10550AFAD304C2F2469D6EE1EF8471A4B71E5C8DEB4269448F79A34951C3E8B
B93E7AE0A35C0913878819687DB77AF56A2B52495F9CE51A8618F93470B446FF
1A98159CCCF9F1B8E63F1CC8CC65A3FA89D5D1F2A33A15AF2D6D4A05B59D0571
A307B8227B362E9AAAEAEC72EFEF780D50814DFC8176C2F4D764DB89011C1A45
12E8FCACDD32AACAC1FA34EDA96D79CB94D00C9D034BD0932652A09AD0E71823
87044876E7E4E6AD4EE60E9268DA89F9B74976D6AE73A7519E99BA07E3F713D3
EB374CC6CE999ED0C8F2C6E7AFC86DB62CA067999CA3CF3493BDC8E0F14F8807
3D6B78B69983DB7652E4D512CC2E2EAC2EFAB1D2B84294D0E6EFC0ED689E01E3
3C964ECA7779953A2F253A75B3395E2307E250D49E2EB5BFE629457F4E123105
A6277B0DE169C5A4A61C51A611378140A27883C4BB1EA002CD9869CE71E1EC62
22DF61F5927CC11DDC33A475CBC32FB85E082719B1F49E33D887CF3488376E2C
F7ABE7FEE41A29D1A18F766F78BF70C867A989F29A4F476DD7BF839AF76E88BD
A77546053516551E1625F8C175C736CE531743F2A18F8E223A2F4CEBF0D44385
18C0827521B66AFE490DE54DF202309629F978AE5D55ACE621DCDFEF8588C0B7
C5CC4E369AA9DFC5D18A91FA8F41D8818E3EF939C6516D46FFFAE220CE014F85
C6FBA21C6A85F68585FE84F4B1F5E58D8EA211CB4B845F51C02ED57F09E642EE
F5CF7FF95563D88AABC474669B52D7311721C2A96C1C3FB084DE1D1EEEDE81E6
723E85CB2F68A10772B0B5174848F5D80C4032805C66FE017F909E0963543131
AA65592D6588BCDDA9EAAC04A2A5D61CFD913D8FE1F41F3DA45754DE58100369
66F2A0EBEE5F4A020BC0DB5497036E47BBCBD862BCFAA69BCF44A26D6382AB23
5ED978572CB0FBC849256FC5AF95D1FFBA1D1B886B4C118741D19831073460D0
F1EF54AAF24B6E0F11F6285D882FC12758D27C5F10F7FDCE0705D3DE172407FA
E66F64B21AD68F4B840688098EB612F934A3BCC77D795EAA42CE26A2DE9D3CC8
FCFDF16226CC17B92A297E240D785E533C587F973F0AC7ADE63A46B742C14594
F76173284FE76BBBF54F1EA746214AA8723E22AF100A61D0356F001247A68656
0636B7C4664B9DC4D9E5D5CA61F13C24E02777B10D9150420B924CB2F82FA44B
39347503C1CBADB7E7666DF511365D5779B9BB3E053691E83E01A9F1529A6939
9C2EEA1EE2602F9B9E2013A8388AFC43D1468C62DC825D5810F3BCBD6C3461D0
98265AD96C4AD4D3D7E9D2B8B2C5A12A75B075BEFADC6BDDA74BB8E5E06706CB
F071192AA34AF71F1031BDA9A3C84537E9FF14DDF538FBDA52F9D9B902AC2663
873505F5D96E75A4648F91507F6DF299CA90BD1DCE0B2C78229D47E000D06639
668C4C4540B99F964662931D95809B57097F40B215DFF190E5FB9EFCCC4D6B8F
BFFC303F106994AB90BF40FCE4AF1764B6961BF7F9C391ED4BABC67698E23532
8625573193FC2B7DA4FF344B7EE53368A75D568ED9E9703AF41E747C2CCD93A2
07939715066E0CF30012D44C4044B4537D75CC311FAA881E18CCF9D157F87AF3
75924E8DF44280A3F35C20E7B6E577D602FB6D67EA43D6AF7F98354EAD72840B
5DAA49E41FDF6ECBFA5D80B9FEF10E976B3BAE6974EFB494699D0C5A6606CD19
9084E93C4D4C9C1C23B48B9EACD0AD34C17BABA64C01BE4A5DADFA505F086DEA
D21A76AF639F8ED341458762C5E6E25FC190BED50808E748CE61FBA24D188FE9
10D441A4774427F61A2F9FDCBAFB9FA701E4879AD0B3132E31313342C4301A3D
D5698BC21F9943269F5B02B3E1511C8076F44D49AFE2D2E8F58F986C4F77D63B
83A9F2DB2C40A49782D6399F9BFFB44F6B5AF4D3A6637D60CCF31067107CF836
A4201362EDDA47DD22DB94D98F26044C4BCAE0B5E2C11D04E05FD418E7D543A8
42425D0068291AFBA2E5A3F2417F279C4F7D3A2B65D7875A07293830D181C9B3
1FCB23C9CD236E861C8A9B771E0F76638B6AF3B9030A594948A470715603EED1
759279D519C1336D7A13D031076A7D600D475171CB888B48D93CAEBD0FC40657
0430F5312CFD124B3A848A5A3E947E7F63655C58721B7BD400C2AF4124321C5B
31A0F0D4F45FA1E381DBE391840CDBBFB4F1C8BEEDCDEF65DC6C76FE1FA153AE
5D7AF7A637CD62F7B3E97AC58B3B4ED8751689E981C6324F6C5779A511AFB506
D5032B8F08BD146DC32481EFD9B3A6F6B62A3F6E1ABAAFC914B7C99BED2C3F17
0672B57C2062BA589A720341E5837DDFAEDCB938DD796B7101DC1D6C06381709
C9B7BF8693ACA95B731423CA51DE111059D88C60108AEBA388BEF931C0765352
667548B2BC583D71A76E9EB521F10EA096540F50B20B8C07EE205A8189EDE811
0CE29F5B6728297575879950B3BD6435E2A7F8F39519107557F72702B3BD3A22
0FBBCF6ECF5A467133360975F74B1E67BCD082F486E7712183EBE2BF41E25DBC
33FE043AB4FD9596DE10B3994B839D0C1734C3D8B92992A35ABB839D6B6E7D49
233A0E0A2203562FF3C55D03496AEF3E0D32ED8F565E3B6E73A3FBCB8D8DC0BD
7D36A4EAA2086618657E6775E083187D6340CA5BABC2AA8605D4AC0184406B96
EA9E53B257FE600663E9E8430AB874EE8DA594B4D5414FDC8B76B94376A16FE9
E2B98A5F0FDE4BA0614A67AF83270347EBC98A5AC9B962171EC337BB711E65A8
D2E0184AC041CBCCB109744487FF25045693A22DCEDEFF949972D66F15FF0D6B
96294011AFAA11AB7AD70C573022779716AFC303E5689D194BA0A2B401933B77
7077EE767B3CCAB29D3FED8050DE8563675FA600DCD1DAB01FFA69671C050E1E
C94E850BF916143CB175F6532B8F16A24835A684490B3377BDAACA1B6D1FEDA8
94FCCD0D9922F085B4277D4C8A737BAF5B83CA6EF22D8583B3773C53E07EFFA6
7F4186DE5B6D8BADE173932D07A5E7E66349E1360ADAD3976B23F2EEE7F4AF16
ABF1FB9EE93792BFA78959A27AE1A4A942EBB27DB8DD7E9087C3221920C067A0
B7AC2E61935BEA07199A1005DDADFD6212F31CEAB4E35A98CA4955AF1E9F3101
FB829CBEDF719AD84C3A46DFCB274F71E44AD5A9DD761728C0BAD505F708DBCA
C1DE916DA8323CCE8ECEC44EB3FE8BB1D5FDD022F3D2552E659BB10C5B603337
64AD364473F01AE7A2D94C8F948B470059C49ED0AD738286799F85C82610F550
B89CF1EA73D78F80FFB9EEC2C657D0174BF769F1E43D03F641A8DE9399AA848B
BFF6FD45FC754C929F360915F92E9B3583F15ECD02F56333368EA044484C8691
48C40D27259AE8348B978DA0873D09B0F1AE22B413DB994A10069ADCABF1B849
3CA5CDE63956101B29B2923DE91CB738FDF629C66F8BA17559B911FCC000D416
EB789D824184E74E1372C6408584BC2EB7E4FDFC22FA743ACD07C8C50AA15DB1
03C3C7E8AD8EC10471C38B07FE9116BAC46B796E363940C622A66FE2EF2DAE3B
0C4981865608A335241455CBF6B4DEC47B68F03E8213DFCBE2CACD7E58560BEA
737C1670B54B4340460A294129BAF10EEBCAE5CDDA6F93E235136FA1EC12D6A4
4ED6CE266B0D890437D79EAB499F924C8713E73846D208AE58D35B485C9BCE8C
9A8CEFFA63740DB2CB9733DB9BA466180356ACB22F2314525AE04EA4D087764F
D3522B3456C2275FE9BB3D0CDA2CB59D7E92148E739D711A2F10F7894C86608A
8044744C88F91C808EC592E70DBDE2ADB7BD14D8FBAA1810D3D224028F58134F
760010605FC4ACB37915ED950040AD5F26EBCEA3F7713939049F8B775C2E7926
F47EDA3F302B80646CA7A853C6834D88A85936A88EE74EB3A5D3C98F9929CC70
738F553FD115D264DA5112DC1B5032575D70EC5A3BC3876918C54CA46DB2D3EA
6A9A92FA33FC10E0DC8E215FFA7E16D08C4E700401FC8DB499F49253DB1E0280
788593A67F431D91DF1AE222426537C1357BAFD0480C4BB4BEABAB9B0DA4E42A
7022A6CFC8A1F2A450F54EC48447657BDCD04D8A499893D452DB44E5006A0C2A
35FC721B127E47854F899BEC7EDC5788D114C48A97A919A5A0D9D09A7D8B1B14
5EE76BAE2B268787797231C86129B2B2C5A69452944F43DB4ED4E8EC96984262
CB1DA28A965B7BD5FAB5509018584C67B770357AA4D74B944BFF2919E110308E
346B80ECA9265BFF0A0663EE4735E7FC146464AE18B3EB1A05F2E8B0730DE422
E79959C61B60FD403965FF937F409BF578B339154CEBD0A0BB6F2971B0DC3420
579638EFBE19287D9FEBFC55196C4B9AEC60E6029D203F32109BF23BD6AFFE03
CF1CF34C9B4F1DE35AD5002ED3649C69B3B8026D202C1890AB9AAFF5A0AC515D
F0D2EF855FE7CF38EE5951649CB5A942296B636FA5FB3A6F8EF9FD23CEE18028
D9A60365BE650ABA903E6A484EDF0F71028869DED5A88BC73977485F4277E036
23AC65148BFC9CE1963049E674B88ADF6DB30CC4F6C8C4BFC3F3AF085E7B3976
0B22DCF6DA40C63ABBD054A62ED9BBC200C1508D4F7681C1D6945C36FFD90F07
83029A21900B6F738BBB2F2AA05D27DE3D6902E23CE4A5B40FCD03B47E5C2D24
A02FFF8E3634CC4EC6F299F15547F28047585A356BBB244AB7BAC36D98309AA1
BDC5380D9C47315F8DAAD1E859C725761AEB8E9B78A88F3391BAF35F7EBA488E
94FB7B0C6FA08A451CE40486703E4FFAE3F870B6A72077238F347642983DC4D9
3F5D3085B5047C841D5315D434FC6874E5B3B5E28607E4227AF81CE22E5E5FF9
052977E442ED3FCCCB23F7B14139EC8CC123E33B136A06C6CCC40654701E803D
D1FBF72DE6280EA2BDBD47C7F181F2D54DD0D0131F1A5763645990C42094B073
0F9200566CF0B1554214C9D6F84C71AE24D5B9447016116B03E1FB4489F07288
C2B58B66D5D624443E0CFDAACA79AB702B29E5AA024E5E17C49E675CF1EC7F3B
90F3446686F40DE0629493BFFA0CD9CE240BDB2999F254DEC756C53091C5C23C
22950E56B09C88250EB802948A5069801CF9ADE91BEF62AF9135DD19E0CDF451
D70835489137045E6094F1F2A7A5878E1E5E495E528B460D509568A942304A43
16DEB2A9B20E4512E7C611626ADEDB2DD04AB2FD65A27508317E9DDB9C97E44C
E181D04C266B6761C5A63D5A22F44381BDD7CFF52F3AE364A5196853639CBC2F
CB6D8E9F95291997E1B0FC7915E1BB30F1879CB6A0CD98A87AC6DD3F01E85B8B
0836ADB32D7E6FCA2F03A7EFE38B5DBB2487132E7BF1FA8EF9AD9C940BEAA65C
9F272A9E483A058624158FFCDF9D48E54BC1C38D9010E766DC1E99E9C7A9AF0A
9D49AC8AA78A4F3A8364F84CD33FA29120F15936E06DD5064880E2D4F5FD8FB3
7E47F8B0350FD52E7537F5CAA75E05717A5CB84D56DA8FCF061AAEE227DEE7D5
8BF5E4C72DA6C7DB1FCA7D
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@ -2308,7 +2312,7 @@ TeXDict begin 55380996 39158280 1000 600 600 (orgcard.dvi)
49.8132 /CMSY6 rf /Fb 134[32 1[43 32 34 24 24 24 1[34
30 34 50 18 32 1[18 34 30 19 27 34 27 34 30 13[34 44
1[41 47 1[54 3[22 1[47 39 2[43 1[45 6[18 4[30 30 1[30
1[30 1[18 21 18 44[{ TeXf7b6d320Encoding ReEncodeFont }40
30 30 1[18 21 18 44[{ TeXf7b6d320Encoding ReEncodeFont }41
49.8132 /CMR6 rf /Fc 135[33 3[24 29 4[40 58 18 2[22 36
2[33 36 33 33 36 50[22 46[{ TeX74afc74cEncoding ReEncodeFont }14
66.4176 /CMTI8 rf /Fd 134[43 43 59 43 45 32 32 34 1[45
@ -2347,7 +2351,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
(4.00\))-150 -39 y Fh(Getting)37 b(Started)-150 89 y
(4.01\))-150 -39 y Fh(Getting)37 b(Started)-150 89 y
Fg(\(add-to-list)i('auto-mode-alist)h('\("\\\\.org$")e(.)e
(org-mode\)\))-150 172 y(\(define-key)i(global-map)h("\\C-cl")e
('org-store-link\))1504 148 y Ff(2)-150 254 y Fg(\(define-key)h
@ -2560,7 +2564,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
(4.00\))-150 -45 y Fh(Agenda)37 b(Views)-150 102 y Fi(add/mo)n(v)n(e)25
(4.01\))-150 -45 y Fh(Agenda)37 b(Views)-150 102 y Fi(add/mo)n(v)n(e)25
b(curren)n(t)f(\014le)g(to)g(fron)n(t)g(of)f(agenda)197
b Fg(C-c)36 b([)-150 172 y Fi(remo)n(v)n(e)24 b(curren)n(t)g(\014le)g
(from)f(y)n(our)g(agenda)299 b Fg(C-c)36 b(])-150 242
@ -2589,23 +2593,23 @@ Fi(goto)25 b(original)e(lo)r(cation,)h(delete)h(other)f(windo)n(ws)91
b Fg(RET)-150 1641 y Fi(toggle)25 b(follo)n(w-mo)r(de)861
b Fg(f)-150 1737 y Fd(Change)27 b(displa)n(y)-150 1833
y Fi(delete)e(other)f(windo)n(ws)791 b Fg(o)-150 1903
y Fi(switc)n(h)24 b(to)g(w)n(eekly)h(view)767 b Fg(w)-150
1973 y Fi(switc)n(h)24 b(to)g(daily)g(view)822 b Fg(d)-150
2043 y Fi(toggle)25 b(inclusion)e(of)h(diary)f(en)n(tries)473
b Fg(D)-150 2112 y Fi(toggle)25 b(time)f(grid)f(for)g(daily)g(sc)n
(hedule)388 b Fg(g)-150 2182 y Fi(toggle)25 b(displa)n(y)e(of)h(logb)r
(o)r(ok)g(en)n(tries)446 b Fg(l)-150 2252 y Fi(refresh)23
b(agenda)i(bu\013er)f(with)g(an)n(y)g(c)n(hanges)239
b Fg(r)-150 2322 y Fi(displa)n(y)24 b(the)g(follo)n(wing)f
Fg(org-agenda-ndays)221 b(RIGHT)-150 2391 y Fi(displa)n(y)24
y Fi(switc)n(h)24 b(to)g(daily)g(/)g(w)n(eekly)g(view)534
b Fg(d)36 b(/)f(w)-150 1973 y Fi(toggle)25 b(inclusion)e(of)h(diary)f
(en)n(tries)473 b Fg(D)-150 2043 y Fi(toggle)25 b(time)f(grid)f(for)g
(daily)g(sc)n(hedule)388 b Fg(g)-150 2112 y Fi(toggle)25
b(displa)n(y)e(of)h(logb)r(o)r(ok)g(en)n(tries)446 b
Fg(l)-150 2182 y Fi(refresh)23 b(agenda)i(bu\013er)f(with)g(an)n(y)g(c)
n(hanges)239 b Fg(r)-150 2252 y Fi(displa)n(y)24 b(the)g(follo)n(wing)f
Fg(org-agenda-ndays)221 b(RIGHT)-150 2322 y Fi(displa)n(y)24
b(the)g(previous)g Fg(org-agenda-ndays)238 b(LEFT)-150
2461 y Fi(goto)25 b(to)r(da)n(y)1110 b Fg(.)-150 2557
y Fd(Remote)27 b(editing)-150 2654 y Fi(digit)d(argumen)n(t)984
b Fg(0-9)-150 2724 y Fi(c)n(hange)25 b(state)g(of)f(curren)n(t)g(TODO)f
(item)333 b Fg(t)-150 2793 y Fi(set)24 b(priorit)n(y)f(of)g(curren)n(t)
i(item)612 b Fg(p)-150 2876 y Fi(raise)23 b(priorit)n(y)g(of)g(curren)n
(t)i(item)557 b Fg(S-UP)1430 2852 y Ff(4)-150 2956 y
Fi(lo)n(w)n(er)23 b(priorit)n(y)g(of)h(curren)n(t)g(item)538
2391 y Fi(goto)25 b(to)r(da)n(y)1110 b Fg(.)-150 2488
y Fd(Remote)27 b(editing)-150 2584 y Fi(digit)d(argumen)n(t)984
b Fg(0-9)-150 2654 y Fi(c)n(hange)25 b(state)g(of)f(curren)n(t)g(TODO)f
(item)333 b Fg(t)-150 2724 y Fi(set)24 b(tags)h(for)d(curren)n(t)j
(headline)573 b Fg(:)-150 2793 y Fi(set)24 b(priorit)n(y)f(of)g(curren)
n(t)i(item)612 b Fg(p)-150 2876 y Fi(raise)23 b(priorit)n(y)g(of)g
(curren)n(t)i(item)557 b Fg(S-UP)1430 2852 y Ff(4)-150
2956 y Fi(lo)n(w)n(er)23 b(priorit)n(y)g(of)h(curren)n(t)g(item)538
b Fg(S-DOWN)1500 2933 y Ff(4)-150 3026 y Fi(displa)n(y)24
b(w)n(eigh)n(ted)h(priorit)n(y)e(of)g(curren)n(t)h(item)189
b Fg(P)-150 3106 y Fi(c)n(hange)25 b(timestamp)g(to)f(one)g(da)n(y)h
@ -2757,7 +2761,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(v4.00)h(for)h(Org-Mo)r(de)e(4.00,)i(2005)4912 3882
y(v4.01)h(for)h(Org-Mo)r(de)e(4.01,)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

View file

@ -1,4 +1,4 @@
% Reference Card for Org Mode 4.00
% Reference Card for Org Mode 4.01
%
%**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{4.00}
\def\orgversionnumber{4.01}
\def\year{2005}
\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
@ -557,8 +557,7 @@ To set categories, add lines like$^3$:
{\bf Change display}
\key{delete other windows}{o}
\key{switch to weekly view}{w}
\key{switch to daily view}{d}
\key{switch to daily / weekly view}{d / w}
\key{toggle inclusion of diary entries}{D}
\key{toggle time grid for daily schedule}{g}
\key{toggle display of logbook entries}{l}
@ -571,6 +570,7 @@ To set categories, add lines like$^3$:
\key{digit argument}{0-9}
\key{change state of current TODO item}{t}
\key{set tags for current headline}{:}
\key{set priority of current item}{p}
\key{raise priority of current item}{S-UP$^4$}
\key{lower priority of current item}{S-DOWN$^4$}

View file

@ -1,9 +1,7 @@
# Makefile for leim subdirectory in GNU Emacs.
# Copyright (C) 1997,98,1999,2000,2001 Electrotechnical Laboratory, JAPAN.
# Licensed to the Free Software Foundation.
# Copyright (C) 1997,98,1999,2000,01,02,03,2004,2005
# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
# Copyright (C) 2001,02,03,2004
# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
# National Institute of Advanced Industrial Science and Technology (AIST)
# Registration Number H14PRO021

View file

@ -2,7 +2,7 @@
;; Copyright (C) 2004
;; Free Software Foundation, Inc.
;; Copyright (C) 2004
;; Copyright (C) 2004, 2005
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H13PRO009

View file

@ -1,7 +1,9 @@
# -*- Makefile -*- for leim subdirectory in GNU Emacs on the Microsoft W32 API.
# Copyright (C) 1997, 2004 Electrotechnical Laboratory, JAPAN.
# Licensed to the Free Software Foundation.
# Copyright (C) 2005, Free Software Foundation, Inc.
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
# National Institute of Advanced Industrial Science and Technology (AIST)
# Registration Number H14PRO021
# This file is part of GNU Emacs.

View file

@ -1,6 +1,6 @@
;;; quail/croatian.el -- Quail package for inputing Croatian -*-coding: iso-8859-2;-*-
;; Copyright (C) 2002 Free Software Foundation.
;; Copyright (C) 2002 Free Software Foundation, Inc.
;; Author: Hrvoje Nik¹iæ <hniksic@xemacs.org>,
;; modeled after czech.el by Milan Zamazal.

View file

@ -1,7 +1,9 @@
;;; cyril-jis.el --- Quail package for inputting JISX0208 Cyrillic letters
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 2001 Free Software Foundation, Inc.
;; Copyright (C) 1997, 2005
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: multilingual, input method, Cyrillic

View file

@ -1,8 +1,10 @@
;;; cyrillic.el --- Quail package for inputting Cyrillic characters
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 2001, 2002 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005
;; Free Software Foundation, Inc.
;; Copyright (C) 1997, 2005
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Author: TAKAHASHI Naoto <ntakahas@m17n.org>
;; Keywords: multilingual, input method, Cyrillic, i18n

View file

@ -1,6 +1,6 @@
;;; czech.el --- Quail package for inputting Czech -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1998, 2001 Free Software Foundation.
;; Copyright (C) 1998, 2001 Free Software Foundation, Inc.
;; Author: Milan Zamazal <pdm@zamazal.org>
;; Maintainer: Pavel Jan,Bm(Bk <Pavel@Janik.cz>

View file

@ -1,7 +1,8 @@
;;; ethiopic.el --- Quail package for inputting Ethiopic characters -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1997, 1998 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 1997, 1998, 1999, 2001
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: multilingual, input method, ethiopic

View file

@ -1,7 +1,9 @@
;;; greek.el --- Quail package for inputting Greek -*-coding: iso-2022-7bit-*-
;; Copyright (C) 1997, 2001 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
;; Copyright (C) 1997, 2001
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: multilingual, input method, Greek

View file

@ -1,7 +1,9 @@
;;; hangul.el --- Quail package for inputting Korean Hangul characters -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 2002 Free Software Foundation, Inc.
;; Copyright (C) 1997
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: multilingual, input method, Korean, Hangul

View file

@ -1,7 +1,9 @@
;;; hangul3.el --- Quail package for inputting Korean Hangul characters -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 1997, 1998, 2001 Free Software Foundation, Inc.
;; Copyright (C) 1997, 2002
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: multilingual, input method, Korean, Hangul

View file

@ -1,7 +1,8 @@
;;; hanja-jis.el --- Quail package for inputting Korean Hanja (JISX0208) -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 1997
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: multilingual, input method, Korean, Hangul

View file

@ -1,7 +1,8 @@
;;; hanja.el --- Quail-package for Korean Hanja (KSC5601) -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 1997
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: multilingual, input method, Korean, Hanja

View file

@ -1,6 +1,6 @@
;;; hanja3.el --- Quail-package for Korean Hanja (KSC5601) -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1997 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1999, 2002 Free Software Foundation, Inc.
;; Author: Koaunghi Un <koanughi.un@zdv.uni-tuebingen.de>
;; Keywords: mule, quail, multilingual, input method, Korean, Hanja

View file

@ -1,7 +1,8 @@
;;; hebrew.el --- Quail package for inputting Hebrew characters -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1998 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 1999
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: mule, input method, Hebrew

View file

@ -1,6 +1,6 @@
;;; indian.el --- Quail packages for inputting Indian
;; Copyright (C) 2000, 2001 Free Software Foundation, Inc.
;; Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
;; Author: KAWABATA, Taichi <kawabata@m17n.org>

View file

@ -1,7 +1,8 @@
;;; ipa.el --- Quail package for inputting IPA characters -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 1997
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: multilingual, input method, IPA

View file

@ -1,7 +1,8 @@
;;; japanese.el --- Quail package for inputting Japanese -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2005
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: multilingual, input method, Japanese

View file

@ -1,8 +1,6 @@
;;; lao.el --- Quail package for inputting Lao characters -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 2004
;; Copyright (C) 1997, 1999, 2004
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021

View file

@ -1,8 +1,9 @@
;;; latin-alt.el --- Quail package for inputting various European characters -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 2001, 2002 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 2001, 2002 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1999
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: multilingual, input method, latin

View file

@ -1,8 +1,9 @@
;;; latin-ltx.el --- Quail package for TeX-style input -*-coding: utf-8;-*-
;; Copyright (C) 2001, 2004 Free Software Foundation, Inc.
;; Copyright (C) 2001 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
;; Copyright (C) 2001
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Author: TAKAHASHI Naoto <ntakahas@m17n.org>
;; Dave Love <fx@gnu.org>

View file

@ -1,8 +1,9 @@
;;; latin-post.el --- Quail packages for inputting various European characters -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 2001, 2002 Free Software Foundation.
;; Copyright (C) 1997, 1998, 2001, 2002 Free Software Foundation, Inc.
;; Copyright (C) 1997
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: multilingual, input method, latin

View file

@ -1,8 +1,10 @@
;;; latin-pre.el --- Quail packages for inputting various European characters -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 2000, 2002 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
;; Free Software Foundation, Inc.
;; Copyright (C) 1997, 1999, 2005
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: mule, multilingual, latin, input method

View file

@ -1,7 +1,9 @@
;;; lrt.el --- Quail package for inputting Lao characters by LRT method -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 1998 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1999
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: multilingual, input method, Lao, LRT.

View file

@ -1,8 +1,9 @@
;;; py-punct.el --- Quail packages for Chinese (pinyin + extra symbols) -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 2001 Free Software Foundation, Inc.
;; Copyright (C) 1997, 2000
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Author: Ken'ichi HANDA <handa@etl.go.jp>

View file

@ -1,7 +1,8 @@
;;; pypunct-b5.el --- Quail packages for Chinese (pinyin + extra symbols)
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 1997, 2000
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Author: Ken'ichi HANDA <handa@etl.go.jp>

View file

@ -1,6 +1,6 @@
;;; slovak.el --- Quail package for inputting Slovak -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1998, 2001 Free Software Foundation.
;; Copyright (C) 1998, 2001 Free Software Foundation, Inc.
;; Authors: Tibor ,B)(Bimko <tibor.simko@fmph.uniba.sk>
;; Milan Zamazal <pdm@zamazal.org>

View file

@ -1,7 +1,9 @@
;;; symbol-ksc.el --- Quail-package for Korean Symbol (KSC5601)
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 1997, 2005 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: multilingual, input method, Korean, Hangul

View file

@ -1,8 +1,6 @@
;;; thai.el --- Quail package for inputting Thai characters
;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 2005
;; Copyright (C) 1995, 1997, 1999, 2005
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021

View file

@ -1,7 +1,9 @@
;;; tibetan.el --- Quail package for inputting Tibetan characters
;; Copyright (C) 1995 Free Software Foundation, Inc.
;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
;; Copyright (C) 1995 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1998, 1999, 2000
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: multilingual, input method, Tibetan

View file

@ -1,6 +1,9 @@
;;; uni-input.el --- Hex Unicode input method
;; Copyright (C) 2001 Free Software Foundation, Inc.
;; Copyright (C) 2001, 2003 Free Software Foundation, Inc.
;; Copyright (C) 2004
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Author: Dave Love <fx@gnu.org>
;; Keywords: i18n

View file

@ -1,7 +1,8 @@
;;; viqr.el --- Quail packages for inputting Vietnamese with VIQR system -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 1997
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: multilingual, input method, latin

View file

@ -1,6 +1,6 @@
;;; vntelex.el --- Quail package for Vietnamese by Telex method
;; Copyright (C) 2001, 2002 Free Software Foundation.
;; Copyright (C) 2001, 2002 Free Software Foundation, Inc.
;; Author: Werner Lemberg <wl@gnu.org>
;; Keywords: multilingual, input method, Vietnamese

View file

@ -1,3 +1,85 @@
2005-12-20 Stefan Monnier <monnier@iro.umontreal.ca>
* log-view.el (log-view-file-re, log-view-message-re): Use shy groups.
(log-view-font-lock-keywords): Ajust subgroup numbers.
(log-view-current-tag): Don't hard code the number of subgroups.
2005-12-20 Juri Linkov <juri@jurta.org>
* tooltip.el (tooltip): Move defgroup before define-minor-mode.
(tooltip-x-offset, tooltip-y-offset): Doc fix.
* menu-bar.el (menu-bar-menu-frame-live-and-visible-p)
(menu-bar-non-minibuffer-window-p): Instead of checking
display-multi-frame-p, use selected-frame when menu-updating-frame
is nil.
2005-12-20 Davis Herring <herring@lanl.gov> (tiny change)
* align.el (align-rules-list): Use [ \t] instead of \s-
for column separators in text mode.
2005-12-20 Nick Roberts <nickrob@snap.net.nz>
* help-mode.el (help-customize-variable, help-customize-face):
Don't pop help-xref-stack as help-follow no longer pushes
anything on to it.
2005-12-20 Carsten Dominik <dominik@science.uva.nl>
* textmodes/org.el: (org-agenda-custom-commands): New option.
(org-agenda): Offer custom commands on splash screen.
(org-make-tags-matcher): Parser for Boolean logic added.
(org-agenda-set-tags): New command.
(org-agenda-menu, org-agenda-mode-map): Add `org-agenda-set-tags'.
(org-set-tags): Efficiency improvements.
(org-auto-align-tags): New option.
(org-todo, org-demote, org-promote): Realign tags.
(org-tags-completion-function): Use also "&" and "|" as separators.
(org-org-menu): Agenda commands simplified.
2005-12-19 Luc Teirlinck <teirllm@auburn.edu>
* cus-edit.el (customize-apropos, customize-apropos-options):
Docstring changes.
* font-lock.el (font-lock): Add tags to the links in the defgroup.
2005-12-19 Chong Yidong <cyd@stupidchicken.com>
* longlines.el (longlines-mode): Wrap while widened.
(longlines-decode-region, longlines-encode-region): Compute max
just once.
2005-12-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* cus-edit.el (mac): New group.
* cus-start.el (all): Add user options in macterm.c. Add test for
Mac-related built-ins. Fix test for GTK-related built-ins.
* term/mac-win.el (mac-handle-language-change)
(mac-ae-open-documents, mac-ae-get-url, mac-services-open-file)
(mac-services-open-selection, mac-services-mail-selection)
(mac-services-mail-to, mac-services-insert-text)
(mac-dispatch-apple-event): Add docstrings.
(x-get-selection, mac-select-convert-to-string): Select coding
system from `utf-16be' and `utf-16le' using `byteorder'.
2005-12-18 Stefan Monnier <monnier@iro.umontreal.ca>
* subr.el (lazy-completion-table): Don't be fooled if the var holds
a "list" (lambda ...) rather than a real completion list.
* emacs-lisp/cl-extra.el (cl-macroexpand-all): Fix code-walk for
lexical-let when encountering ((lambda (...) ...) ...).
2005-12-17 Chong Yidong <cyd@stupidchicken.com>
* progmodes/sh-script.el (sh-mode):
* language/ethio-util.el (ethio-fidel-to-sera-mail-or-marker):
* textmodes/picture.el (picture-mode): Update docstrings.
2005-12-17 Eli Zaretskii <eliz@gnu.org>
* makefile.w32-in (autoloads, custom-deps): Warn that parts of
@ -9,8 +91,8 @@
2005-12-17 Chong Yidong <cyd@stupidchicken.com>
* emacs-lisp/edebug.el (edebug-safe-prin1-to-string): Capture
error from printing circular structures.
* emacs-lisp/edebug.el (edebug-safe-prin1-to-string):
Capture error from printing circular structures.
2005-12-17 Martin Rudalics <rudalics@gmx.at> (tiny change)
@ -7215,7 +7297,7 @@
2005-08-26 Kim F. Storm <storm@cua.dk>
* subr.el (version-list-<, version-list-<=, version-list-=):
Renamed from integer-list-*.
Rename from integer-list-*.
(version-list-not-zero): Likewise. Fix while loop.
(version=): Use version-list-= instead of string-equal.
@ -12362,8 +12444,7 @@
(multiple-value-bind, multiple-value-setq, shiftf):
Improve argument/docstring consistency.
* subr.el (focus-frame, unfocus-frame):
Revert deletion on 2005-05-01.
* subr.el (focus-frame, unfocus-frame): Revert deletion on 2005-05-01.
2005-05-22 Andre Spiegel <spiegel@gnu.org>
@ -12496,8 +12577,7 @@
(subst-if-not, nsubst, nsubst-if, nsubst-if-not, sublis)
(nsublis, tree-equal): Improve argument/docstring consistency.
* subr.el (send-string, send-region):
Remove obsolescence declaration.
* subr.el (send-string, send-region): Remove obsolescence declaration.
(window-dot, set-window-dot, read-input, show-buffer)
(eval-current-buffer, string-to-int):
Add release number to obsolescence declarations.
@ -12574,8 +12654,8 @@
* emacs-lisp/byte-run.el (eval-when-compile): Doc fix.
* emacs-lisp/bytecomp.el
(byte-compile-file-form-custom-declare-variable): Call
byte-compile-nogroup-warn if appropriate.
(byte-compile-file-form-custom-declare-variable):
Call byte-compile-nogroup-warn if appropriate.
* progmodes/compile.el (compilation-finish-function): Mark obsolete.
(compilation-set-window): Don't call left-fringe-p; do it directly.

View file

@ -559,7 +559,7 @@ The possible settings for `align-region-separate' are:
;; With a numeric prefix argument, or C-u, space delimited text
;; tables will be aligned.
(text-column
(regexp . "\\(^\\|\\S-\\)\\(\\s-+\\)\\(\\S-\\|$\\)")
(regexp . "\\(^\\|\\S-\\)\\([ \t]+\\)\\(\\S-\\|$\\)")
(group . 2)
(modes . align-text-modes)
(repeat . t)

View file

@ -1,7 +1,8 @@
;;; composite.el --- support character composition
;; Copyright (C) 1999 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 1999, 2000
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: mule, multilingual, character composition

View file

@ -459,6 +459,13 @@
:link '(custom-manual "(emacs)Windows")
:group 'environment)
(defgroup mac nil
"Mac specific features."
:link '(custom-manual "(emacs)Mac OS")
:group 'environment
:version "22.1"
:prefix "mac-")
;;; Utilities.
(defun custom-quote (sexp)
@ -1258,7 +1265,8 @@ If ALL is `options', include only options.
If ALL is `faces', include only faces.
If ALL is `groups', include only groups.
If ALL is t (interactively, with prefix arg), include variables
that are not customizable options, as well as faces and groups."
that are not customizable options, as well as faces and groups
\(but we recommend using `apropos-variable' instead)."
(interactive "sCustomize regexp: \nP")
(let ((found nil))
(mapatoms (lambda (symbol)
@ -1286,7 +1294,8 @@ that are not customizable options, as well as faces and groups."
;;;###autoload
(defun customize-apropos-options (regexp &optional arg)
"Customize all loaded customizable options matching REGEXP.
With prefix arg, include variables that are not customizable options."
With prefix arg, include variables that are not customizable options
\(but we recommend using `apropos-variable' instead)."
(interactive "sCustomize regexp: \nP")
(customize-apropos regexp (or arg 'options)))

View file

@ -194,6 +194,33 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of
(suggest-key-bindings keyboard (choice (const :tag "off" nil)
(integer :tag "time" 2)
(other :tag "on")))
;; macterm.c
(mac-control-modifier mac (choice (const :tag "No modifier" nil)
(const control) (const meta)
(const alt) (const hyper)
(const super)) "22.1")
(mac-command-modifier mac (choice (const :tag "No modifier" nil)
(const control) (const meta)
(const alt) (const hyper)
(const super)) "22.1")
(mac-option-modifier mac (choice (const :tag "No modifier (work as option)" nil)
(const control) (const meta)
(const alt) (const hyper)
(const super)) "22.1")
(mac-function-modifier mac
(choice (const :tag "No modifier (work as function)" nil)
(const control) (const meta)
(const alt) (const hyper)
(const super)) "22.1")
(mac-emulate-three-button-mouse mac
(choice (const :tag "No emulation" nil)
(const :tag "Option->2, Command->3" t)
(const :tag "Command->2, Option->3" reverse))
"22.1")
(mac-wheel-button-is-mouse-2 mac boolean "22.1")
(mac-pass-command-to-system mac boolean "22.1")
(mac-pass-control-to-system mac boolean "22.1")
(mac-allow-anti-aliasing mac boolean "22.1")
;; This is not good news because it will use the wrong
;; version-specific directories when you upgrade. We need
@ -366,6 +393,8 @@ since it could result in memory overflow and make Emacs crash."
(eq system-type 'ms-dos))
((string-match "\\`w32-" (symbol-name symbol))
(eq system-type 'windows-nt))
((string-match "\\`mac-" (symbol-name symbol))
(eq window-system 'mac))
((string-match "\\`x-.*gtk" (symbol-name symbol))
(featurep 'gtk))
((string-match "\\`x-" (symbol-name symbol))

View file

@ -743,6 +743,11 @@ This also does some trivial optimizations to make the form prettier."
(let* ((args (cl-macroexpand-body (cdr form) env)) (p args))
(while (and p (symbolp (car p))) (setq p (cddr p)))
(if p (cl-macroexpand-all (cons 'setf args)) (cons 'setq args))))
((consp (car form))
(cl-macroexpand-all (list* 'funcall
(list 'function (car form))
(cdr form))
env))
(t (cons (car form) (cl-macroexpand-body (cdr form) env)))))
(defun cl-macroexpand-body (body &optional env)

View file

@ -212,8 +212,8 @@
;; Define core `font-lock' group.
(defgroup font-lock '((jit-lock custom-group))
"Font Lock mode text highlighting package."
:link '(custom-manual "(emacs)Font Lock")
:link '(custom-manual "(elisp)Font Lock Mode")
:link '(custom-manual :tag "Emacs Manual" "(emacs)Font Lock")
:link '(custom-manual :tag "Elisp Manual" "(elisp)Font Lock Mode")
:group 'faces)
(defgroup font-lock-faces nil

View file

@ -136,16 +136,12 @@ The format is (FUNCTION ARGS...).")
(define-button-type 'help-customize-variable
:supertype 'help-xref
'help-function (lambda (v)
(if help-xref-stack
(pop help-xref-stack))
(customize-variable v))
'help-echo (purecopy "mouse-2, RET: customize variable"))
(define-button-type 'help-customize-face
:supertype 'help-xref
'help-function (lambda (v)
(if help-xref-stack
(pop help-xref-stack))
(customize-face v))
'help-echo (purecopy "mouse-2, RET: customize face"))

View file

@ -824,7 +824,7 @@ Delete the escape even it is not recognized."
;;;###autoload
(defun ethio-sera-to-fidel-mail-or-marker (&optional arg)
"Execute ethio-sera-to-fidel-mail or ethio-sera-to-fidel-marker depending on the current major mode.
"Execute `ethio-sera-to-fidel-mail' or `ethio-sera-to-fidel-marker' depending on the current major mode.
If in rmail-mode or in mail-mode, execute the former; otherwise latter."
(interactive "P")
@ -1214,7 +1214,7 @@ See also the descriptions of the variables
;;;###autoload
(defun ethio-fidel-to-sera-mail-or-marker (&optional arg)
"Execute ethio-fidel-to-sera-mail or ethio-fidel-to-sera-marker depending on the current major mode.
"Execute `ethio-fidel-to-sera-mail' or `ethio-fidel-to-sera-marker' depending on the current major mode.
If in rmail-mode or in mail-mode, execute the former; otherwise latter."
(interactive "P")

View file

@ -25,11 +25,36 @@
;;; Commentary:
;; Todo:
;; Major mode to browse revision log histories.
;; Currently supports the format output by:
;; RCS, SCCS, CVS, Subversion.
;; Examples of log output:
;;;; RCS/CVS:
;; ----------------------------
;; revision 1.35 locked by: turlutut
;; date: 2005-03-22 18:48:38 +0000; author: monnier; state: Exp; lines: +6 -8
;; (gnus-display-time-event-handler):
;; Check display-time-timer at runtime rather than only at load time
;; in case display-time-mode is turned off in the mean time.
;; ----------------------------
;; revision 1.34
;; date: 2005-02-09 15:50:38 +0000; author: kfstorm; state: Exp; lines: +7 -7
;; branches: 1.34.2;
;; Change release version from 21.4 to 22.1 throughout.
;; Change development version from 21.3.50 to 22.0.50.
;;;; SCCS:
;;;; Subversion:
;;; Todo:
;; - add compatibility with cvs-log.el
;; - add ability to modify a log-entry (via cvs-mode-admin ;-)
;; - remove references to cvs-*
;; - make it easier to add support for new backends without changing the code.
;;; Code:
@ -87,17 +112,20 @@
(defvar log-view-message-face 'log-view-message)
(defconst log-view-file-re
(concat "^\\("
"Working file: \\(.+\\)"
"\\|SCCS/s\\.\\(.+\\):"
"\\)\n"))
;; In RCS, a locked revision will look like "revision N.M\tlocked by: FOO".
(defconst log-view-message-re "^\\(revision \\([.0-9]+\\)\\(?:\t.*\\)?\\|r\\([0-9]+\\) | .* | .*\\|D \\([.0-9]+\\) .*\\)$")
(concat "^\\(?:Working file: \\(.+\\)" ;RCS and CVS.
"\\|SCCS/s\\.\\(.+\\):" ;SCCS.
"\\)\n")) ;Include the \n for font-lock reasons.
(defconst log-view-message-re
(concat "^\\(?:revision \\([.0-9]+\\)\\(?:\t.*\\)?" ; RCS and CVS.
"\\|r\\([0-9]+\\) | .* | .*" ; Subversion.
"\\|D \\([.0-9]+\\) .*" ; SCCS.
"\\)$"))
(defconst log-view-font-lock-keywords
`((,log-view-file-re
(1 (if (boundp 'cvs-filename-face) cvs-filename-face) nil t)
(2 (if (boundp 'cvs-filename-face) cvs-filename-face) nil t)
(3 (if (boundp 'cvs-filename-face) cvs-filename-face) nil t)
(0 log-view-file-face append))
(,log-view-message-re . log-view-message-face)))
(defconst log-view-font-lock-defaults
@ -158,10 +186,17 @@
(forward-line 1)
(let ((pt (point)))
(when (re-search-backward log-view-message-re nil t)
(let ((rev (or (match-string 2) (match-string 3) (match-string 4))))
(let (rev)
;; Find the subgroup that matched.
(dotimes (i (/ (match-data 'integers) 2))
(setq rev (or rev (match-string (1+ i)))))
(unless (re-search-forward log-view-file-re pt t)
rev))))))
(defvar cvs-minor-current-files)
(defvar cvs-branch-prefix)
(defvar cvs-secondary-branch-prefix)
(defun log-view-minor-wrap (buf f)
(let ((data (with-current-buffer buf
(cons

View file

@ -1,6 +1,6 @@
;;; longlines.el --- automatically wrap long lines
;; Copyright (C) 2000, 2001, 2005 Free Software Foundation, Inc.
;; Copyright (C) 2000, 2001, 2004, 2005 Free Software Foundation, Inc.
;; Authors: Kai Grossjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
;; Alex Schroeder <alex@gnu.org>
@ -111,7 +111,7 @@ are indicated with a symbol."
(add-hook 'before-revert-hook 'longlines-before-revert-hook nil t)
(make-local-variable 'buffer-substring-filters)
(set (make-local-variable 'isearch-search-fun-function)
'longlinges-search-function)
'longlines-search-function)
(add-to-list 'buffer-substring-filters 'longlines-encode-string)
(when longlines-wrap-follows-window-size
(set (make-local-variable 'fill-column)
@ -127,8 +127,8 @@ are indicated with a symbol."
;; longlines-wrap-lines that we'll never encounter from here
(save-restriction
(widen)
(longlines-decode-buffer))
(longlines-wrap-region (point-min) (point-max))
(longlines-decode-buffer)
(longlines-wrap-region (point-min) (point-max)))
(set-buffer-modified-p mod))
(when (and longlines-show-hard-newlines
(not longlines-showing))
@ -166,7 +166,6 @@ are indicated with a symbol."
(widen)
(longlines-encode-region (point-min) (point-max))))
(remove-hook 'change-major-mode-hook 'longlines-mode-off t)
(remove-hook 'before-kill-functions 'longlines-encode-region t)
(remove-hook 'after-change-functions 'longlines-after-change-function t)
(remove-hook 'post-command-hook 'longlines-post-command-function t)
(remove-hook 'before-revert-hook 'longlines-before-revert-hook t)
@ -327,10 +326,11 @@ If BEG and END are nil, the point and mark are used."
(if (null beg) (setq beg (point)))
(if (null end) (setq end (mark t)))
(save-excursion
(goto-char (min beg end))
(while (search-forward "\n" (max beg end) t)
(set-hard-newline-properties
(match-beginning 0) (match-end 0)))))
(let ((reg-max (max beg end)))
(goto-char (min beg end))
(while (search-forward "\n" reg-max t)
(set-hard-newline-properties
(match-beginning 0) (match-end 0))))))
(defun longlines-decode-buffer ()
"Turn all newlines in the buffer into hard newlines."
@ -341,9 +341,10 @@ If BEG and END are nil, the point and mark are used."
Hard newlines are left intact. The optional argument BUFFER exists for
compatibility with `format-alist', and is ignored."
(save-excursion
(let ((mod (buffer-modified-p)))
(let ((reg-max (max beg end))
(mod (buffer-modified-p)))
(goto-char (min beg end))
(while (search-forward "\n" (max (max beg end)) t)
(while (search-forward "\n" reg-max t)
(unless (get-text-property (match-beginning 0) 'hard)
(replace-match " ")))
(set-buffer-modified-p mod)
@ -422,7 +423,7 @@ This is called by `window-size-change-functions'."
;; Isearch
(defun longlinges-search-function ()
(defun longlines-search-function ()
(cond
(isearch-word
(if isearch-forward 'word-search-forward 'word-search-backward))

View file

@ -1418,8 +1418,7 @@ key, a click, or a menu-item"))
(defun menu-bar-menu-frame-live-and-visible-p ()
"Return non-nil if the menu frame is alive and visible.
The menu frame is the frame for which we are updating the menu."
(let ((menu-frame (if (display-multi-frame-p) menu-updating-frame
(selected-frame))))
(let ((menu-frame (or menu-updating-frame (selected-frame))))
(and (frame-live-p menu-frame)
(frame-visible-p menu-frame))))
@ -1428,8 +1427,7 @@ The menu frame is the frame for which we are updating the menu."
See the documentation of `menu-bar-menu-frame-live-and-visible-p'
for the definition of the menu frame."
(let ((menu-frame (if (display-multi-frame-p) menu-updating-frame
(selected-frame))))
(let ((menu-frame (or menu-updating-frame (selected-frame))))
(not (window-minibuffer-p (frame-selected-window menu-frame)))))
(defun kill-this-buffer () ; for the menu bar

View file

@ -1,3 +1,68 @@
2005-12-19 Stephen Gildea
* mh-customize.el (mh-after-commands-processed-hook): New variable.
(mh-before-commands-processed-hook): mh-folder-updated-hook, renamed.
* mh-e.el (mh-process-commands): Rename mh-folder-updated-hook
to mh-before-commands-processed-hook, call new
mh-after-commands-processed-hook.
(mh-folders-changed): New variable (for use in
mh-after-commands-processed-hook).
2005-12-19 Bill Wohler <wohler@newt.com>
* mh-acros.el:
* mh-alias.el:
* mh-comp.el:
* mh-customize.el:
* mh-e.el:
* mh-funcs.el:
* mh-gnus.el:
* mh-identity.el:
* mh-inc.el:
* mh-index.el:
* mh-init.el:
* mh-junk.el:
* mh-mime.el:
* mh-pick.el:
* mh-print.el:
* mh-seq.el:
* mh-speed.el:
* mh-utils.el:
Follow commenting conventions. Don't use ;;; form so much, except
for headings. Precede headings with page feed. This was mostly
already done, so I made it a convention. Did not update copyright
on a couple of files since this was an insignificant change.
2005-12-18 Bill Wohler <wohler@newt.com>
* mh-customize.el (mh-toolbar): Rename to mh-tool-bar.
(mh-tool-bar-search-function): Sync docstrings with manual.
(mh-tool-bar-customize): Replace toolbar with tool bar in
docstring.
(mh-tool-bar-letter-help): Fix manual reference.
(mh-xemacs-use-toolbar-flag): Rename to
mh-xemacs-use-tool-bar-flag. Initialize to
mh-xemacs-has-tool-bar-flag. Sync docstrings with manual.
(mh-xemacs-toolbar-position): Rename to
mh-xemacs-tool-bar-position. Initialize to nil. Drop "no tool bar"
option (redundant) and change "Same As Default Tool Bar" setting
to nil. Sync docstrings with manual.
(mh-tool-bar-define): Replace toolbar with tool-bar or tool bar
depending on context.
(mh-toolbar-init): Rename to mh-tool-bar-init. Simplified
condition for calling set-specifier. Only look at the value of
mh-xemacs-use-tool-bar-flag.
(mh-tool-bar-folder-buttons, mh-tool-bar-letter-buttons): Sync
docstrings with manual.
* mh-comp.el (mh-letter-mode): Use mh-tool-bar-init instead of
mh-toolbar-init.
* mh-e.el (mh-folder-mode): Ditto.
* mh-utils.el (mh-show-mode): Ditto.
2005-12-15 Bill Wohler <wohler@newt.com>
* mh-e.el (mh-delete-msg): Sync docstrings with manual.

View file

@ -55,7 +55,7 @@ recognizes that and loads `cl' where appropriate."
`(require 'cl)
`(eval-when-compile (require 'cl))))
;;; Macros to generate correct code for different emacs variants
;; Macros to generate correct code for different emacs variants
(defmacro mh-do-in-gnu-emacs (&rest body)
"Execute BODY if in GNU Emacs."
@ -144,11 +144,11 @@ Emacs 22."
(provide 'mh-acros)
;;; Local Variables:
;;; no-byte-compile: t
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; no-byte-compile: t
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;; arch-tag: b383b49a-494f-4ed0-a30a-cb6d5d2da4ff
;;; mh-acros.el ends here

View file

@ -38,7 +38,10 @@
; completing-read-multiple.
(eval-when-compile (defvar mail-abbrev-syntax-table))
;;; Autoloads
(eval-when (compile load eval)
(ignore-errors
(require 'mailabbrev)
@ -71,6 +74,7 @@ listed in your `Aliasfile:' MH profile component are automatically included.
You can update the alias list manually using \\[mh-alias-reload].")
;;; Alias Loading
(defun mh-alias-tstamp (arg)
@ -228,6 +232,7 @@ with no arguments, after the aliases have been loaded."
(mh-alias-reload)))
;;; Alias Expansion
(defun mh-alias-ali (alias &optional user)
@ -312,6 +317,7 @@ Blind aliases or users from /etc/passwd are not expanded."
(delete-region begin end)
(insert expansion)))))
;;; Adding addresses to alias file.
(defun mh-alias-suggest-alias (string &optional no-comma-swap)
@ -653,10 +659,10 @@ name hint when filing messages."
(provide 'mh-alias)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;;; arch-tag: 49879e46-5aa3-4569-bece-e5a58731d690
;; arch-tag: 49879e46-5aa3-4569-bece-e5a58731d690
;;; mh-alias.el ends here

View file

@ -52,7 +52,9 @@
(defvar mh-mml-mode-default)
(defvar mh-identity-menu)
;;; Autoloads
(autoload 'mail-mode-fill-paragraph "sendmail")
(autoload 'mm-handle-displayed-p "mm-decode")
@ -80,6 +82,8 @@ For Emacs 19's, the region need not be active (and typically isn't
when this function is called. Also, the hook `sc-pre-hook' is run
before, and `sc-post-hook' is run after the guts of this function.")
;;; Site customization (see also mh-utils.el):
(defvar mh-send-prog "send"
@ -91,6 +95,8 @@ Some sites need to change this because of a name conflict.")
This allows transaction log to be visible if -watch, -verbose or -snoop are
used.")
;;; Scan Line Formats
(defvar mh-note-repl ?-
@ -824,7 +830,7 @@ Returns t if found, nil if not."
(put 'mh-letter-mode 'mode-class 'special)
;;; Menu extracted from mh-menubar.el V1.1 (31 July 2001)
;; Menu extracted from mh-menubar.el V1.1 (31 July 2001)
(eval-when-compile (defvar mh-letter-menu nil))
(easy-menu-define
mh-letter-menu mh-letter-mode-map "Menu for MH-E letter mode."
@ -874,8 +880,11 @@ Returns t if found, nil if not."
mh-mh-to-mime-undo (equal mh-compose-insertion 'mh)]
["Kill This Draft" mh-fully-kill-draft t]))
;;; Help Messages
;;; Group messages logically, more or less.
;; Group messages logically, more or less.
(defvar mh-letter-mode-help-messages
'((nil
"Send letter: \\[mh-send-letter]"
@ -994,7 +1003,7 @@ When a message is composed, the hooks `text-mode-hook' and
;; Enable undo since a show-mode buffer might have been reused.
(buffer-enable-undo)
(set (make-local-variable 'tool-bar-map) mh-letter-tool-bar-map)
(mh-funcall-if-exists mh-toolbar-init :letter)
(mh-funcall-if-exists mh-tool-bar-init :letter)
(make-local-variable 'font-lock-defaults)
(cond
((or (equal mh-highlight-citation-style 'font-lock)
@ -2026,8 +2035,11 @@ Otherwise return the empty string."
(goto-char (point-max))
(mh-letter-next-header-field)))
;;; Build the letter-mode keymap:
;;; If this changes, modify mh-letter-mode-help-messages accordingly, above.
;;; Build mh-letter-mode keymap
;; If this changes, modify mh-letter-mode-help-messages accordingly, above.
(gnus-define-keys mh-letter-mode-map
" " mh-letter-complete-or-space
"," mh-letter-confirm-address
@ -2089,10 +2101,10 @@ Otherwise return the empty string."
(provide 'mh-comp)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;;; arch-tag: 62865511-e610-4923-b0b5-f45a8ab70a34
;; arch-tag: 62865511-e610-4923-b0b5-f45a8ab70a34
;;; mh-comp.el ends here

View file

@ -83,6 +83,11 @@
(require 'mh-init)
(require 'mh-identity))
;; For compiler warnings...
(eval-when-compile
(defvar mh-show-buffer)
(defvar mh-show-folder-buffer))
(defun mh-customize (&optional delete-other-windows-flag)
"Customize MH-E variables.
If optional argument DELETE-OTHER-WINDOWS-FLAG is non-nil, other windows in
@ -94,11 +99,6 @@ the frame are removed."
;;; For compiler warnings...
(eval-when-compile
(defvar mh-show-buffer)
(defvar mh-show-folder-buffer))
;;; MH-E Customization Groups
(defgroup mh-e nil
@ -198,9 +198,9 @@ mailutils."
:link '(custom-manual "(mh-e)Threading")
:group 'mh-e)
(defgroup mh-toolbar nil
"The toolbar"
:link '(custom-manual "(mh-e)Toolbar")
(defgroup mh-tool-bar nil
"The tool bar"
:link '(custom-manual "(mh-e)Tool Bar")
:prefix "mh-"
:group 'mh-e)
@ -217,6 +217,8 @@ mailutils."
:prefix "mh-"
:group 'mh-e)
;;; Faces
(defgroup mh-folder-faces nil
@ -998,7 +1000,7 @@ default). If you need to scan just the message 200, then use the range
;;; Scan Line Formats (:group 'mh-scan-line-formats)
;;; Forward definition to avoid compiler and runtime error.
;; Forward definition to avoid compiler and runtime error.
(defvar mh-scan-format-file t)
(defun mh-adaptive-cmd-note-flag-check (symbol value)
@ -1163,9 +1165,9 @@ See also `mh-reply'."
;;; Sequences (:group 'mh-sequences)
;;; If `mh-unpropagated-sequences' becomes a defcustom, add the following to
;;; the docstring: "Additional sequences that should not to be preserved can be
;;; specified by setting `mh-unpropagated-sequences' appropriately." XXX
;; If `mh-unpropagated-sequences' becomes a defcustom, add the following to
;; the docstring: "Additional sequences that should not to be preserved can be
;; specified by setting `mh-unpropagated-sequences' appropriately." XXX
(defcustom mh-refile-preserves-sequences-flag t
"*Non-nil means that sequences are preserved when messages are refiled.
@ -1801,15 +1803,18 @@ only if the number of messages being threaded is less than `mh-large-folder'."
;;; The Toolbar (:group 'mh-toolbar)
;;; The Tool Bar (:group 'mh-tool-bar)
(defcustom mh-tool-bar-search-function 'mh-search-folder
"*Function called by the tool-bar search button.
See `mh-search-folder' and `mh-index-search' for details."
"*Function called by the tool bar search button.
Available functions include `mh-search-folder', the default, and
`mh-index-search'. You can also choose \"Other Function\" from the \"Value
Menu\" and enter a function of your own choosing."
:type '(choice (const mh-search-folder)
(const mh-index-search)
(function :tag "Other function"))
:group 'mh-toolbar)
(function :tag "Other Function"))
:group 'mh-tool-bar)
;; Functions called from the tool bar
(defun mh-tool-bar-search (&optional arg)
@ -1819,7 +1824,7 @@ Optional argument ARG is not used."
(call-interactively mh-tool-bar-search-function))
(defun mh-tool-bar-customize ()
"Call `mh-customize' from the toolbar."
"Call `mh-customize' from the tool bar."
(interactive)
(mh-customize t))
@ -1830,9 +1835,9 @@ Optional argument ARG is not used."
(delete-other-windows))
(defun mh-tool-bar-letter-help ()
"Visit \"(mh-e)Draft Editing\"."
"Visit \"(mh-e)Editing Drafts\"."
(interactive)
(info "(mh-e)Draft Editing")
(info "(mh-e)Editing Drafts")
(delete-other-windows))
(defmacro mh-tool-bar-reply-generator (function recipient folder-buffer-flag)
@ -1855,45 +1860,35 @@ When INCLUDE-FLAG is non-nil, include message body being replied to."
;; XEmacs has a couple of extra customizations...
(mh-do-in-xemacs
(defcustom mh-xemacs-use-toolbar-flag (if (and (featurep 'toolbar)
(featurep 'xpm)
(device-on-window-system-p))
t
nil)
"*If non-nil, use toolbar.
(defcustom mh-xemacs-use-tool-bar-flag mh-xemacs-has-tool-bar-flag
"*If non-nil, use tool bar.
This will default to t if you are in an environment that supports
toolbars and xpm."
This option controls whether to show the MH-E icons at all. By default, this
option is turned on if the window system supports tool bars. If your system
doesn't support tool bars, then you won't be able to turn on this option."
:type 'boolean
:group 'mh-toolbar)
:group 'mh-tool-bar
:set (lambda (symbol value)
(if (and (eq value t)
(not mh-xemacs-has-tool-bar-flag))
(error "Tool bar not supported"))
(set-default symbol value)))
(defcustom mh-xemacs-toolbar-position (if mh-xemacs-use-toolbar-flag
'default
nil)
"*Where to put the toolbar.
(defcustom mh-xemacs-tool-bar-position nil
"*Tool bar location.
Valid non-nil values are \"default\", \"top\", \"bottom\", \"left\",
\"right\". These match the four edges of the frame, with \"default\"
meaning \"use the same position as the default-toolbar\".
A nil value means do not use a toolbar.
If this variable is set to anything other than \"default\" and the
default-toolbar has a different positional setting from the value of
this variable, then two toolbars will be displayed. The MH-E toolbar
and the default-toolbar."
:type '(radio (const :tag "Same position as the \"default-toolbar\""
:value default)
(const :tag "Along the top edge of the frame"
:value top)
(const :tag "Along the bottom edge of the frame"
:value bottom)
(const :tag "Along the left edge of the frame"
:value left)
(const :tag "Along the right edge of the frame"
:value right)
(const :tag "Don't use a toolbar" nil))
:group 'mh-toolbar))
This option controls the placement of the tool bar along the four edges of the
frame. You can choose from one of \"Same As Default Tool Bar\", \"Top\",
\"Bottom\", \"Left\", or \"Right\". If this variable is set to anything other
than \"Same As Default Tool Bar\" and the default tool bar is in a different
location, then two tool bars will be displayed: the MH-E tool bar and the
default tool bar."
:type '(radio (const :tag "Same As Default Tool Bar" :value nil)
(const :tag "Top" :value top)
(const :tag "Bottom" :value bottom)
(const :tag "Left" :value left)
(const :tag "Right" :value right))
:group 'mh-tool-bar))
(defun mh-buffer-exists-p (mode)
"Test whether a buffer with major mode MODE is present."
@ -1996,7 +1991,7 @@ where,
(t 'folder-vectors)))
(list (cond ((eq type :letter) 'mh-tool-bar-letter-buttons)
(t 'mh-tool-bar-folder-buttons)))
(key (intern (concat "mh-" type1 "toolbar-" name-str)))
(key (intern (concat "mh-" type1 "tool-bar-" name-str)))
(setter (intern (concat type1 "-button-setter")))
(mbuttons (cond ((eq type :letter) 'letter-buttons)
((eq type :show) 'show-buttons)
@ -2063,89 +2058,87 @@ where,
tool-bar-map))))
;; Custom setter functions
(defun mh-tool-bar-folder-buttons-set (symbol value)
"Construct toolbar for `mh-folder-mode' and `mh-show-mode'."
"Construct tool bar for `mh-folder-mode' and `mh-show-mode'."
(set-default symbol value)
(mh-tool-bar-folder-buttons-init))
(defun mh-tool-bar-letter-buttons-set (symbol value)
"Construct toolbar for `mh-letter-mode'."
"Construct tool bar for `mh-letter-mode'."
(set-default symbol value)
(mh-tool-bar-letter-buttons-init)))
;; XEmacs specific code
(mh-do-in-xemacs
(defvar mh-toolbar-folder-vector-map
(defvar mh-tool-bar-folder-vector-map
',(loop for button in folder-buttons
for vector in folder-vectors
collect (cons button vector)))
(defvar mh-toolbar-show-vector-map
(defvar mh-tool-bar-show-vector-map
',(loop for button in show-buttons
for vector in show-vectors
collect (cons button vector)))
(defvar mh-toolbar-letter-vector-map
(defvar mh-tool-bar-letter-vector-map
',(loop for button in letter-buttons
for vector in letter-vectors
collect (cons button vector)))
(defvar mh-toolbar-folder-buttons nil)
(defvar mh-toolbar-show-buttons nil)
(defvar mh-toolbar-letter-buttons nil)
(defvar mh-tool-bar-folder-buttons nil)
(defvar mh-tool-bar-show-buttons nil)
(defvar mh-tool-bar-letter-buttons nil)
;; Custom setter functions
(defun mh-tool-bar-letter-buttons-set (symbol value)
(set-default symbol value)
(when mh-xemacs-has-toolbar-flag
(setq mh-toolbar-letter-buttons
(when mh-xemacs-has-tool-bar-flag
(setq mh-tool-bar-letter-buttons
(loop for b in value
collect (cdr (assoc b mh-toolbar-letter-vector-map))))))
collect (cdr (assoc b mh-tool-bar-letter-vector-map))))))
(defun mh-tool-bar-folder-buttons-set (symbol value)
(set-default symbol value)
(when mh-xemacs-has-toolbar-flag
(setq mh-toolbar-folder-buttons
(when mh-xemacs-has-tool-bar-flag
(setq mh-tool-bar-folder-buttons
(loop for b in value
collect (cdr (assoc b mh-toolbar-folder-vector-map))))
(setq mh-toolbar-show-buttons
collect (cdr (assoc b mh-tool-bar-folder-vector-map))))
(setq mh-tool-bar-show-buttons
(loop for b in value
collect (cdr (assoc b mh-toolbar-show-vector-map))))))
;; Initialize toolbar
(defun mh-toolbar-init (mode)
"Install toolbar in MODE."
(let ((toolbar (cond ((eq mode :folder) mh-toolbar-folder-buttons)
((eq mode :letter) mh-toolbar-letter-buttons)
((eq mode :show) mh-toolbar-show-buttons)))
collect (cdr (assoc b mh-tool-bar-show-vector-map))))))
(defun mh-tool-bar-init (mode)
"Install tool bar in MODE."
(let ((tool-bar (cond ((eq mode :folder) mh-tool-bar-folder-buttons)
((eq mode :letter) mh-tool-bar-letter-buttons)
((eq mode :show) mh-tool-bar-show-buttons)))
(height 37)
(width 40)
(buffer (current-buffer)))
(when (and mh-xemacs-toolbar-position mh-xemacs-use-toolbar-flag
mh-xemacs-has-toolbar-flag)
(when mh-xemacs-use-tool-bar-flag
(cond
((eq mh-xemacs-toolbar-position 'top)
(set-specifier top-toolbar toolbar buffer)
((eq mh-xemacs-tool-bar-position 'top)
(set-specifier top-toolbar tool-bar buffer)
(set-specifier top-toolbar-visible-p t)
(set-specifier top-toolbar-height height))
((eq mh-xemacs-toolbar-position 'bottom)
(set-specifier bottom-toolbar toolbar buffer)
((eq mh-xemacs-tool-bar-position 'bottom)
(set-specifier bottom-toolbar tool-bar buffer)
(set-specifier bottom-toolbar-visible-p t)
(set-specifier bottom-toolbar-height height))
((eq mh-xemacs-toolbar-position 'left)
(set-specifier left-toolbar toolbar buffer)
((eq mh-xemacs-tool-bar-position 'left)
(set-specifier left-toolbar tool-bar buffer)
(set-specifier left-toolbar-visible-p t)
(set-specifier left-toolbar-width width))
((eq mh-xemacs-toolbar-position 'right)
(set-specifier right-toolbar toolbar buffer)
((eq mh-xemacs-tool-bar-position 'right)
(set-specifier right-toolbar tool-bar buffer)
(set-specifier right-toolbar-visible-p t)
(set-specifier right-toolbar-width width))
(t (set-specifier default-toolbar toolbar buffer)))))))
;; Declare customizable toolbars
(t (set-specifier default-toolbar tool-bar buffer)))))))
;; Declare customizable tool bars
(custom-declare-variable
'mh-tool-bar-folder-buttons
'(list ,@(mapcar (lambda (x) `(quote ,x)) folder-defaults))
"Choose buttons to include in MH-E folder/show toolbar."
:group 'mh-toolbar :set 'mh-tool-bar-folder-buttons-set
"List of buttons to include in MH-Folder tool bar."
:group 'mh-tool-bar :set 'mh-tool-bar-folder-buttons-set
:type '(set ,@(loop for x in folder-buttons
for y in folder-docs
collect `(const :tag ,y ,x))))
(custom-declare-variable
'mh-tool-bar-letter-buttons
'(list ,@(mapcar (lambda (x) `(quote ,x)) letter-defaults))
"Choose buttons to include in MH-E letter toolbar."
:group 'mh-toolbar :set 'mh-tool-bar-letter-buttons-set
"List of buttons to include in MH-Letter tool bar."
:group 'mh-tool-bar :set 'mh-tool-bar-letter-buttons-set
:type '(set ,@(loop for x in letter-buttons
for y in letter-docs
collect `(const :tag ,y ,x)))))))
@ -2301,15 +2294,24 @@ on his mail usage."
:group 'mh-hooks
:group 'mh-folder)
(defcustom mh-folder-updated-hook nil
"Invoked when the folder actions (such as moves and deletes) are performed.
(defcustom mh-before-commands-processed-hook nil
"Invoked before the folder actions (such as moves and deletes) are performed.
Variables that are useful in this hook include `mh-delete-list' and
`mh-refile-list' which can be used to see which changes are being made to
`mh-refile-list' which can be used to see which changes will be made to
current folder, `mh-current-folder'."
:type 'hook
:group 'mh-hooks
:group 'mh-folder)
(defcustom mh-after-commands-processed-hook nil
"Invoked after the folder actions (such as moves and deletes) are performed.
Variables that are useful in this hook include `mh-folders-changed',
which lists which folders were affected by deletes and refiles. This
list will always include the current folder, which is also available
in `mh-current-folder'."
:type 'hook
:group 'mh-hooks)
(defcustom mh-forward-hook nil
"Invoked on the forwarded letter by \\<mh-folder-mode-map>\\[mh-forward]."
:type 'hook
@ -2403,6 +2405,8 @@ will be removed from the unseen sequence."
;;; Faces (:group 'mh-*-faces + group where faces described)
;;; Faces Used in Scan Listing (:group 'mh-folder-faces)
(defvar mh-folder-body-face 'mh-folder-body
@ -2767,10 +2771,10 @@ The background and foreground is used in the image."
"Face used for the current folder when it has unread messages."
:group 'mh-speed-faces)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;;; arch-tag: 778d2a20-82e2-4276-be9d-309386776a68
;; arch-tag: 778d2a20-82e2-4276-be9d-309386776a68
;;; mh-customize.el ends here

View file

@ -105,11 +105,12 @@
The string is displayed after the folder's name. nil for no annotation.")
;;; Scan Line Formats
;;; Parameterize MH-E to work with different scan formats. The defaults work
;;; with the standard MH scan listings, in which the first 4 characters on
;;; the line are the message number, followed by two places for notations.
;; Parameterize MH-E to work with different scan formats. The defaults work
;; with the standard MH scan listings, in which the first 4 characters on
;; the line are the message number, followed by two places for notations.
;; The following scan formats are passed to the scan program if the setting of
;; `mh-scan-format-file' is t. They are identical except the later one makes
@ -459,6 +460,8 @@ is done highlighting.")
(defvar mh-refile-list nil) ;List of folder names in mh-seq-list.
(defvar mh-folders-changed nil) ;For mh-after-commands-processed-hook.
(defvar mh-next-direction 'forward) ;Direction to move to next message.
(defvar mh-view-ops ()) ;Stack of ops that change the folder
@ -483,6 +486,8 @@ is done highlighting.")
(defvar mh-colors-available-flag nil) ;Are colors available?
;;; Macros and generic functions:
(defun mh-mapc (function list)
@ -1507,14 +1512,16 @@ Make it the current folder."
(mh-index-read-data))
(mh-make-folder-mode-line))
;;; Ensure new buffers won't get this mode if default-major-mode is nil.
;; Ensure new buffers won't get this mode if default-major-mode is nil.
(put 'mh-folder-mode 'mode-class 'special)
;;; Menu extracted from mh-menubar.el V1.1 (31 July 2001)
;;; Menus for folder mode: folder, message, sequence (in that order)
;;; folder-mode "Sequence" menu
;;; Build mh-folder-mode menu
;; Menu extracted from mh-menubar.el V1.1 (31 July 2001)
;; Menus for folder mode: folder, message, sequence (in that order)
;; folder-mode "Sequence" menu
(easy-menu-define
mh-folder-sequence-menu mh-folder-mode-map "Menu for MH-E folder-sequence."
'("Sequence"
@ -1535,7 +1542,7 @@ Make it the current folder."
"--"
["Push State Out to MH" mh-update-sequences t]))
;;; folder-mode "Message" menu
;; folder-mode "Message" menu
(easy-menu-define
mh-folder-message-menu mh-folder-mode-map "Menu for MH-E folder-message."
'("Message"
@ -1568,7 +1575,7 @@ Make it the current folder."
["Unpack Uuencoded Message..." mh-store-msg (mh-get-msg-num nil)]
["Burst Digest Message" mh-burst-digest (mh-get-msg-num nil)]))
;;; folder-mode "Folder" menu
;; folder-mode "Folder" menu
(easy-menu-define
mh-folder-folder-menu mh-folder-mode-map "Menu for MH-E folder."
'("Folder"
@ -1742,7 +1749,7 @@ messages in that region.
(easy-menu-add mh-folder-message-menu)
(easy-menu-add mh-folder-folder-menu)
(set (make-local-variable 'tool-bar-map) mh-folder-tool-bar-map)
(mh-funcall-if-exists mh-toolbar-init :folder)
(mh-funcall-if-exists mh-tool-bar-init :folder)
(if (and mh-xemacs-flag
font-lock-auto-fontify)
(turn-on-font-lock))) ; Force font-lock in XEmacs.
@ -1786,7 +1793,7 @@ DESKTOP-BUFFER-MISC holds a list of miscellaneous info used by the
(mh-visit-folder desktop-buffer-name)
(current-buffer))
;;; desktop-buffer-mode-handlers appeared in Emacs 22.
;; 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)))
@ -2144,13 +2151,15 @@ Called by functions like `mh-sort-folder', so also invalidate show buffer."
(defun mh-process-commands (folder)
"Process outstanding commands for FOLDER.
The value of `mh-folder-updated-hook' is a list of functions to be called,
with no arguments, before the commands are processed."
The value of `mh-before-commands-processed-hook' is a list of functions
to be called, with no arguments, before the commands are processed.
After all cammands are processed, the functions in
`mh-after-commands-processed-hook' are called with no arguments."
(message "Processing deletes and refiles for %s..." folder)
(set-buffer folder)
(with-mh-folder-updating (nil)
;; Run the hook while the lists are still valid
(run-hooks 'mh-folder-updated-hook)
;; Run the before hook -- the refile and delete lists are still valid
(run-hooks 'mh-before-commands-processed-hook)
;; Update the unseen sequence if it exists
(mh-update-unseen)
@ -2217,17 +2226,23 @@ with no arguments, before the commands are processed."
(when (mh-speed-flists-active-p)
(apply #'mh-speed-flists t folders-changed))
(cond ((memq 'unthread mh-view-ops) (mh-thread-inc folder (point-max)))
(mh-index-data (mh-index-insert-folder-headers)))))
(mh-index-data (mh-index-insert-folder-headers))))
(and (buffer-file-name (get-buffer mh-show-buffer))
(not (file-exists-p (buffer-file-name (get-buffer mh-show-buffer))))
;; If "inc" were to put a new msg in this file,
;; we would not notice, so mark it invalid now.
(mh-invalidate-show-buffer))
(and (buffer-file-name (get-buffer mh-show-buffer))
(not (file-exists-p (buffer-file-name (get-buffer mh-show-buffer))))
;; If "inc" were to put a new msg in this file,
;; we would not notice, so mark it invalid now.
(mh-invalidate-show-buffer))
(setq mh-seq-list (mh-read-folder-sequences mh-current-folder nil))
(mh-remove-all-notation)
(mh-notate-user-sequences)
;; Run the after hook -- now folders-changed is valid,
;; but not the lists of specific messages.
(let ((mh-folders-changed folders-changed))
(run-hooks 'mh-after-commands-processed-hook)))
(setq mh-seq-list (mh-read-folder-sequences mh-current-folder nil))
(mh-remove-all-notation)
(mh-notate-user-sequences)
(message "Processing deletes and refiles for %s...done" folder)))
(defun mh-update-unseen ()
@ -2478,7 +2493,7 @@ If INCLUDE-INTERNAL-FLAG non-nil, include MH-E internal sequences in list."
;;; Build the folder-mode keymap:
;;; Build mh-folder-mode keymap:
(suppress-keymap mh-folder-mode-map)
@ -2631,15 +2646,15 @@ If INCLUDE-INTERNAL-FLAG non-nil, include MH-E internal sequences in list."
;;; Help Messages
;;; If you add a new prefix, add appropriate text to the nil key.
;;;
;;; In general, messages are grouped logically. Taking the main commands for
;;; example, the first line is "ways to view messages," the second line is
;;; "things you can do with messages", and the third is "composing" messages.
;;;
;;; When adding a new prefix, ensure that the help message contains "what" the
;;; prefix is for. For example, if the word "folder" were not present in the
;;; `F' entry, it would not be clear what these commands operated upon.
;; If you add a new prefix, add appropriate text to the nil key.
;;
;; In general, messages are grouped logically. Taking the main commands for
;; example, the first line is "ways to view messages," the second line is
;; "things you can do with messages", and the third is "composing" messages.
;;
;; When adding a new prefix, ensure that the help message contains "what" the
;; prefix is for. For example, if the word "folder" were not present in the
;; `F' entry, it would not be clear what these commands operated upon.
(defvar mh-help-messages
'((nil "[i]nc, [.]show, [,]show all, [n]ext, [p]revious,\n"
"[d]elete, [o]refile, e[x]ecute,\n"
@ -2682,10 +2697,10 @@ well.")
(provide 'mh-e)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;;; arch-tag: cce884de-bd37-4104-9963-e4439d5ed22b
;; arch-tag: cce884de-bd37-4104-9963-e4439d5ed22b
;;; mh-e.el ends here

View file

@ -39,6 +39,8 @@
(mh-require-cl)
(require 'mh-e)
;;; Scan Line Formats
(defvar mh-note-copied "C"
@ -47,6 +49,8 @@
(defvar mh-note-printed "P"
"Messages that have been printed are marked by this character.")
;;; Functions
;;;###mh-autoload
@ -411,10 +415,10 @@ Default directory is the last directory used, or initially the value of
(provide 'mh-funcs)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;;; arch-tag: 1936c4f1-4843-438e-bc4b-a63bb75a7762
;; arch-tag: 1936c4f1-4843-438e-bc4b-a63bb75a7762
;;; mh-funcs.el ends here

View file

@ -30,8 +30,8 @@
;;; Code:
;;; Load libraries in a non-fatal way in order to see if certain functions are
;;; pre-defined.
;; Load libraries in a non-fatal way in order to see if certain functions are
;; pre-defined.
(load "mailabbrev" t t)
(load "mailcap" t t)
(load "mm-decode" t t)
@ -147,10 +147,10 @@ BODY."
disposition
default)))
;;; This is mm-save-part from Gnus 5.10 since that function in emacs21.2 is
;;; buggy (the args to read-file-name are incorrect). When all supported
;;; versions of Emacs come with at least Gnus 5.10, we can delete this
;;; function and rename calls to mh-mm-save-part to mm-save-part.
;; This is mm-save-part from Gnus 5.10 since that function in emacs21.2 is
;; buggy (the args to read-file-name are incorrect). When all supported
;; versions of Emacs come with at least Gnus 5.10, we can delete this
;; function and rename calls to mh-mm-save-part to mm-save-part.
(defun mh-mm-save-part (handle)
"Write HANDLE to a file."
(let ((name (mail-content-type-get (mm-handle-type handle) 'name))
@ -181,12 +181,12 @@ BODY."
(provide 'mh-gnus)
;;; Local Variables:
;;; no-byte-compile: t
;;; no-update-autoloads: t
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; no-byte-compile: t
;; no-update-autoloads: t
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;; arch-tag: 1e3638af-cad3-4c69-8427-bc8eb6e5e4fa
;;; mh-gnus.el ends here

View file

@ -282,10 +282,10 @@ If the field wasn't present, it is added to the bottom of the header."
(provide 'mh-identity)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;;; arch-tag: 07d66ef6-8726-4ac6-9ecf-e566cd5bfb45
;; arch-tag: 07d66ef6-8726-4ac6-9ecf-e566cd5bfb45
;;; mh-identity.el ends here

View file

@ -98,10 +98,10 @@ This is called after 'customize is used to alter `mh-inc-spool-list'."
(provide 'mh-inc)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;;; arch-tag: 3713cf2a-6082-4cb4-8ce2-99d9acaba835
;; arch-tag: 3713cf2a-6082-4cb4-8ce2-99d9acaba835
;;; mh-inc.el ends here

View file

@ -26,18 +26,18 @@
;;; Commentary:
;;; (1) The following search engines are supported:
;;; swish++
;;; swish-e
;;; mairix
;;; namazu
;;; pick
;;; grep
;;;
;;; (2) To use this package, you first have to build an index. Please read
;;; the documentation for `mh-index-search' to get started. That
;;; documentation will direct you to the specific instructions for your
;;; particular indexer.
;; (1) The following search engines are supported:
;; swish++
;; swish-e
;; mairix
;; namazu
;; pick
;; grep
;;
;; (2) To use this package, you first have to build an index. Please read
;; the documentation for `mh-index-search' to get started. That
;; documentation will direct you to the specific instructions for your
;; particular indexer.
;;; Change Log:
@ -91,17 +91,17 @@
;;; A few different checksum programs are supported. The supported programs
;;; are:
;;; 1. md5sum
;;; 2. md5
;;; 3. openssl
;;;
;;; To add support for your favorite checksum program add a clause to the cond
;;; statement in mh-checksum-choose. This should set the variable
;;; mh-checksum-cmd to the command line needed to run the checsum program and
;;; should set mh-checksum-parser to a function which returns a cons cell
;;; containing the message number and checksum string.
;; A few different checksum programs are supported. The supported programs
;; are:
;; 1. md5sum
;; 2. md5
;; 3. openssl
;;
;; To add support for your favorite checksum program add a clause to the cond
;; statement in mh-checksum-choose. This should set the variable
;; mh-checksum-cmd to the command line needed to run the checsum program and
;; should set mh-checksum-parser to a function which returns a cons cell
;; containing the message number and checksum string.
(defvar mh-checksum-cmd)
(defvar mh-checksum-parser)
@ -152,8 +152,7 @@
;;; Make sure that we don't produce too long a command line.
;; Make sure that we don't produce too long a command line.
(defvar mh-index-max-cmdline-args 500
"Maximum number of command line args.")
@ -1653,10 +1652,10 @@ system."
(provide 'mh-index)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;;; arch-tag: 607762ad-0dff-4fe1-a27e-6c0dde0dcc47
;; arch-tag: 607762ad-0dff-4fe1-a27e-6c0dde0dcc47
;;; mh-index ends here

View file

@ -1,4 +1,4 @@
;;; mh-init.el --- MH-E initialization.
;;; mh-init.el --- MH-E initialization
;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
@ -43,14 +43,14 @@
(mh-require-cl)
(require 'mh-utils)
;;; Avoid compiler warnings.
;; 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
;;; was installed into. But if you installed MH after building Emacs,
;;; this would almost certainly be wrong, so now we do it at run time.
;; 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
;; was installed into. But if you installed MH after building Emacs,
;; this would almost certainly be wrong, so now we do it at run time.
(defvar mh-progs nil
"Directory containing MH commands, such as inc, repl, and rmm.")
@ -350,10 +350,10 @@ single \"class\" requirement with a \"color\" item, renames the requirement to
(provide 'mh-init)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;; arch-tag: e8372aeb-d803-42b1-9c95-3c93ad22f63c
;;; mh-init.el ends here

View file

@ -420,10 +420,10 @@ See `mh-spamprobe-blacklist' for more information."
(provide 'mh-junk)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;;; arch-tag: 603335f1-77ff-4306-8828-5d3dad51abe1
;; arch-tag: 603335f1-77ff-4306-8828-5d3dad51abe1
;;; mh-junk.el ends here

View file

@ -219,9 +219,9 @@ Obsolete; use `mailcap-mime-types'.
See also \\[mh-mh-to-mime].")
;;; Delete mh-minibuffer-read-type and mh-mime-content-types and use
;;; mml-minibuffer-read-type when Emacs20 is no longer supported unless we
;;; think (mh-file-mime-type) is better than (mm-default-file-encoding).
;; Delete mh-minibuffer-read-type and mh-mime-content-types and use
;; mml-minibuffer-read-type when Emacs20 is no longer supported unless we
;; think (mh-file-mime-type) is better than (mm-default-file-encoding).
(defun mh-minibuffer-read-type (filename &optional default)
"Return the content type associated with the given FILENAME.
@ -1347,9 +1347,9 @@ Parameter EL is unused."
(mm-set-handle-multipart-parameter
handle 'mh-region (cons (point-min-marker) (point-max-marker)))))
;;; I rewrote the security part because Gnus doesn't seem to ever minimize
;;; the button. That is once the mime-security button is pressed there seems
;;; to be no way of getting rid of the inserted text.
;; I rewrote the security part because Gnus doesn't seem to ever minimize
;; the button. That is once the mime-security button is pressed there seems
;; to be no way of getting rid of the inserted text.
(defun mh-mime-security-show-details (handle)
"Toggle display of detailed security info for HANDLE."
(let ((details (mm-handle-multipart-ctl-parameter handle 'gnus-details)))
@ -1509,10 +1509,10 @@ message multiple times."
(provide 'mh-mime)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;;; arch-tag: 0dd36518-1b64-4a84-8f4e-59f422d3f002
;; arch-tag: 0dd36518-1b64-4a84-8f4e-59f422d3f002
;;; mh-mime.el ends here

View file

@ -158,15 +158,22 @@ is used when the search folder is dismissed."
(add-text-properties (point) (1- (line-end-position)) '(read-only t))
(goto-char (point-max)))
;;; Menu extracted from mh-menubar.el V1.1 (31 July 2001)
;;; Build mh-pick-mode menu
;; Menu extracted from mh-menubar.el V1.1 (31 July 2001)
(easy-menu-define
mh-pick-menu mh-pick-mode-map "Menu for MH-E pick-mode"
'("Pick"
["Execute the Search" mh-pick-do-search t]))
;;; Help Messages
;;; Group messages logically, more or less.
;; Group messages logically, more or less.
(defvar mh-pick-mode-help-messages
'((nil
"Search messages using pick: \\[mh-pick-do-search]\n"
@ -351,7 +358,8 @@ COMPONENT is the component to search."
;;; Build the pick-mode keymap:
;;; If this changes, modify mh-pick-mode-help-messages accordingly, above.
;; If this changes, modify mh-pick-mode-help-messages accordingly, above.
(gnus-define-keys mh-pick-mode-map
"\C-c?" mh-help
"\C-c\C-i" mh-index-do-search
@ -374,10 +382,10 @@ COMPONENT is the component to search."
(provide 'mh-pick)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;;; arch-tag: aef2b271-7768-42bd-a782-9a14ba9f83f7
;; arch-tag: aef2b271-7768-42bd-a782-9a14ba9f83f7
;;; mh-pick.el ends here

View file

@ -183,7 +183,7 @@ best. You change this setting permanently by customizing the option
(setq mh-ps-print-color-option nil)
(message "Colors will not be printed"))))
;;; Old non-PS based printing
;; Old non-PS based printing
;;;###mh-autoload
(defun mh-print-msg (range)
"Print RANGE the old fashioned way\\<mh-folder-mode-map>.
@ -242,10 +242,10 @@ Consider using \\[mh-ps-print-msg] instead."
(provide 'mh-print)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;; arch-tag: 8d84d50b-2a49-4d0d-b51e-ba9c9b6fc679
;;; mh-print.el ends here

View file

@ -78,7 +78,10 @@
;; Shush the byte-compiler
(defvar tool-bar-mode)
;;; Data structures (used in message threading)...
(mh-defstruct (mh-thread-message (:conc-name mh-message-)
(:constructor mh-thread-make-message))
(id nil)
@ -91,15 +94,20 @@
message parent children
(real-child-p t))
;;; Internal variables:
(defvar mh-last-seq-used nil
"Name of seq to which a msg was last added.")
(defvar mh-non-seq-mode-line-annotation nil
"Saved value of `mh-mode-line-annotation' when narrowed to a seq.")
;;; Maps and hashes...
(defvar mh-thread-id-hash nil
"Hashtable used to canonicalize message identifiers.")
(defvar mh-thread-subject-hash nil
@ -377,9 +385,10 @@ refiled are present in `mh-refile-list'."
;;; Commands to manipulate sequences. Sequences are stored in an alist
;;; of the form:
;;; ((seq-name msgs ...) (seq-name msgs ...) ...)
;;; Commands to manipulate sequences.
;; Sequences are stored in an alist of the form:
;; ((seq-name msgs ...) (seq-name msgs ...) ...)
(defvar mh-sequence-history ())
@ -412,7 +421,10 @@ defaults to the first sequence containing the current message."
(error "No messages in sequence `%s'" seq))
seq))
;;; Functions to read ranges with completion...
(defvar mh-range-seq-names)
(defvar mh-range-history ())
(defvar mh-range-completion-map (copy-keymap minibuffer-local-completion-map))
@ -702,11 +714,10 @@ a uniform interface to MH-E functions."
;;; Commands to handle new 'subject sequence.
;;; Or "Poor man's threading" by psg.
;;; Commands to handle new 'subject sequence ("Poor man's threading" by psg)
;;; XXX: The function mh-subject-to-sequence-unthreaded uses the magic number
;;; 41 for the max size of the subject part. Avoiding this would be desirable.
;; XXX: The function mh-subject-to-sequence-unthreaded uses the magic number
;; 41 for the max size of the subject part. Avoiding this would be desirable.
(defun mh-subject-to-sequence (all)
"Put all following messages with same subject in sequence 'subject.
If arg ALL is t, move to beginning of folder buffer to collect all messages.
@ -970,6 +981,8 @@ command behaves like \\[mh-thread-delete]."
(mh-thread-delete)
(mh-delete-subject)))
;;; Message threading:
(defmacro mh-thread-initialize-hash (var test)
@ -1745,10 +1758,10 @@ messages. When you want to widen the view to all your messages again, use
(provide 'mh-seq)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;;; arch-tag: 8e952711-01a2-485b-bf21-c9e3ad4de942
;; arch-tag: 8e952711-01a2-485b-bf21-c9e3ad4de942
;;; mh-seq.el ends here

View file

@ -558,10 +558,10 @@ The function invalidates the latest ancestor that is present."
(provide 'mh-speed)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;;; arch-tag: d38ddcd4-3c00-4e37-99bf-8b89dda7b32c
;; arch-tag: d38ddcd4-3c00-4e37-99bf-8b89dda7b32c
;;; mh-speed.el ends here

View file

@ -62,7 +62,10 @@
(defvar font-lock-defaults)
(defvar mark-active)
;;; Autoloads
(autoload 'gnus-article-highlight-citation "gnus-cite")
(autoload 'message-fetch-field "message")
(autoload 'message-tokenize-header "message")
@ -70,7 +73,10 @@
(unless (fboundp 'make-hash-table)
(autoload 'make-hash-table "cl"))
;;; CL Replacements
(defun mh-search-from-end (char string)
"Return the position of last occurrence of CHAR in STRING.
If CHAR is not present in STRING then return nil. The function is used in lieu
@ -79,10 +85,11 @@ of `search' in the CL package."
when (equal (aref string index) char) return index
finally return nil))
;;; Additional header fields that might someday be added:
;;; "Sender: " "Reply-to: "
;; Additional header fields that might someday be added:
;; "Sender: " "Reply-to: "
;;; Scan Line Formats
(defvar mh-scan-msg-number-regexp "^ *\\([0-9]+\\)"
@ -171,7 +178,8 @@ Use `mh-signature-separator-regexp' when searching for a separator.")
; this number
(part-index-hash (make-hash-table))) ; Avoid incrementing the part number
; for nested messages
;;; This has to be a macro, since we do: (setf (mh-buffer-data) ...)
;; This has to be a macro, since we do: (setf (mh-buffer-data) ...)
(defmacro mh-buffer-data ()
"Convenience macro to get the MIME data structures of the current buffer."
`(gethash (current-buffer) mh-globals-hash))
@ -457,6 +465,8 @@ about the fontification operation."
(gnus-article-highlight-citation t)
(set-buffer-modified-p modified))))
;;; Internal bookkeeping variables:
;; Cached value of the `Path:' component in the user's MH profile.
@ -510,6 +520,8 @@ about the fontification operation."
;;Non-nil means next SPC or whatever goes to next undeleted message.
(defvar mh-page-to-next-msg-flag nil)
;;; Internal variables local to a folder.
;; Name of current folder, a string.
@ -554,7 +566,7 @@ about the fontification operation."
(cons modeline-buffer-id-left-extent "XEmacs%N:"))
(cons modeline-buffer-id-right-extent " %17b")))))
;;; This holds a documentation string used by describe-mode.
;; This holds a documentation string used by describe-mode.
(defun mh-showing-mode (&optional arg)
"Change whether messages should be displayed.
With arg, display messages iff ARG is positive."
@ -574,6 +586,8 @@ With arg, display messages iff ARG is positive."
;; Showing message with headers or normally.
(defvar mh-showing-with-headers nil)
;;; MH-E macros
(defmacro with-mh-folder-updating (save-modification-flag &rest body)
@ -740,10 +754,10 @@ See `expand-file-name' for description of DEFAULT."
(mh-expand-file-name folder)
mh-folder-filename)))
;;; Infrastructure to generate show-buffer functions from folder functions
;;; XEmacs does not have deactivate-mark? What is the equivalent of
;;; transient-mark-mode for XEmacs? Should we be restoring the mark in the
;;; folder buffer after the operation has been carried out.
;; Infrastructure to generate show-buffer functions from folder functions
;; XEmacs does not have deactivate-mark? What is the equivalent of
;; transient-mark-mode for XEmacs? Should we be restoring the mark in the
;; folder buffer after the operation has been carried out.
(defmacro mh-defun-show-buffer (function original-function
&optional dont-return)
"Define FUNCTION to run ORIGINAL-FUNCTION in folder buffer.
@ -784,8 +798,8 @@ still visible.\n")
(get-buffer cur-buffer-name))))
(pop-to-buffer (get-buffer cur-buffer-name) nil)))))))))
;;; Generate interactive functions for the show buffer from the corresponding
;;; folder functions.
;; Generate interactive functions for the show buffer from the corresponding
;; folder functions.
(mh-defun-show-buffer mh-show-previous-undeleted-msg
mh-previous-undeleted-msg)
(mh-defun-show-buffer mh-show-next-undeleted-msg
@ -883,7 +897,10 @@ still visible.\n")
(mh-defun-show-buffer mh-show-display-with-external-viewer
mh-display-with-external-viewer)
;;; Populate mh-show-mode-map
;;; Build mh-show-mode keymaps
(gnus-define-keys mh-show-mode-map
" " mh-show-page-msg
"!" mh-show-refile-or-write-again
@ -1081,7 +1098,7 @@ still visible.\n")
["Quit MH-E" mh-quit t]))
;;; Ensure new buffers won't get this mode if default-major-mode is nil.
;; Ensure new buffers won't get this mode if default-major-mode is nil.
(put 'mh-show-mode 'mode-class 'special)
;; Avoid compiler warnings in XEmacs and Emacs 20
@ -1120,7 +1137,7 @@ See also `mh-folder-mode'.
font-lock-auto-fontify)
(turn-on-font-lock))
(set (make-local-variable 'tool-bar-map) mh-show-tool-bar-map)
(mh-funcall-if-exists mh-toolbar-init :show)
(mh-funcall-if-exists mh-tool-bar-init :show)
(when mh-decode-mime-flag
(mh-make-local-hook 'kill-buffer-hook)
(add-hook 'kill-buffer-hook 'mh-mime-cleanup nil t))
@ -1260,10 +1277,10 @@ is used."
;; Picon display
;;; Picon display
;;; XXX: This should be customizable. As a side-effect of setting this
;;; variable, arrange to reset mh-picon-existing-directory-list to 'unset.
;; XXX: This should be customizable. As a side-effect of setting this
;; variable, arrange to reset mh-picon-existing-directory-list to 'unset.
(defvar mh-picon-directory-list
'("~/.picons" "~/.picons/users" "~/.picons/usenix" "~/.picons/news"
"~/.picons/domains" "~/.picons/misc"
@ -2388,6 +2405,8 @@ The function returns the size of the final size of the log buffer."
(insert "\n \n"))
(buffer-size)))
;;; Issue commands to MH.
(defun mh-exec-cmd (command &rest args)
@ -2593,10 +2612,10 @@ older versions of Gnus."
(provide 'mh-utils)
;;; Local Variables:
;;; indent-tabs-mode: nil
;;; sentence-end-double-space: nil
;;; End:
;; Local Variables:
;; indent-tabs-mode: nil
;; sentence-end-double-space: nil
;; End:
;;; arch-tag: 1af39fdf-f66f-4b06-9b48-18a7656c8e36
;; arch-tag: 1af39fdf-f66f-4b06-9b48-18a7656c8e36
;;; mh-utils.el ends here

View file

@ -1336,7 +1336,7 @@ shell-specific features.
The default style of this mode is that of Rosenblatt's Korn shell book.
The syntax of the statements varies with the shell being used. The
following commands are available, based on the current shell's syntax:
\\<sh-mode-map>
\\[sh-case] case statement
\\[sh-for] for loop
\\[sh-function] function definition

View file

@ -1,7 +1,9 @@
;;; ps-bdf.el --- BDF font file handler for ps-print
;; Copyright (C) 1998, 1999, 2001, 2003 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
;; Copyright (C) 1998, 1999, 2001, 2003
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;; Keywords: wp, BDF, font, PostScript
;; Maintainer: Kenichi Handa <handa@etl.go.jp>

View file

@ -2280,7 +2280,7 @@ from which the minibuffer was entered. The return value of
(let ((str (make-symbol "string")))
`(dynamic-completion-table
(lambda (,str)
(unless (listp ,var)
(when (functionp ,var)
(setq ,var (,fun ,@args)))
,var))))

View file

@ -1140,6 +1140,7 @@ correspoinding TextEncodingBase value."
;;;; Keyboard layout/language change events
(defun mac-handle-language-change (event)
"Set keyboard coding system to what is specified in EVENT."
(interactive "e")
(let ((coding-system
(cdr (assq (car (cadr event)) mac-script-code-coding-systems))))
@ -1201,21 +1202,14 @@ in `selection-converter-alist', which see."
(when (and (stringp data)
(setq data-type (get-text-property 0 'foreign-selection data)))
(cond ((eq data-type 'public.utf16-plain-text)
(if (fboundp 'mac-code-convert-string)
(let ((s (mac-code-convert-string data nil coding)))
(if s
(setq data (decode-coding-string s coding))
(setq data
;; (decode-coding-string data 'utf-16) is
;; not correct because
;; public.utf16-plain-text is defined as
;; native byte order, no BOM.
(decode-coding-string
(mac-code-convert-string data nil 'utf-8)
'utf-8))))
;; No `mac-code-convert-string' means non-Carbon, which
;; implies big endian.
(setq data (decode-coding-string data 'utf-16be))))
(let ((encoded (and (fboundp 'mac-code-convert-string)
(mac-code-convert-string data nil coding))))
(if encoded
(setq data (decode-coding-string encoded coding))
(setq data
(decode-coding-string data
(if (eq (byteorder) ?B)
'utf-16be 'utf-16le))))))
((eq data-type 'com.apple.traditional-mac-plain-text)
(setq data (decode-coding-string data coding)))
((eq data-type 'public.file-url)
@ -1332,25 +1326,17 @@ in `selection-converter-alist', which see."
(remove-text-properties 0 (length str) '(composition nil) str)
(cond
((eq type 'public.utf16-plain-text)
(if (fboundp 'mac-code-convert-string)
(let (s)
(when (memq coding (find-coding-systems-string str))
(setq coding
(coding-system-change-eol-conversion coding 'mac))
(setq s (mac-code-convert-string
(encode-coding-string str coding)
coding nil)))
(setq str (or s
;; (encode-coding-string str
;; 'utf-16-mac) is not correct because
;; public.utf16-plain-text is defined
;; as native byte order, no BOM.
(mac-code-convert-string
(encode-coding-string str 'utf-8-mac)
'utf-8 nil))))
;; No `mac-code-convert-string' means non-Carbon, which
;; implies big endian.
(setq str (encode-coding-string str 'utf-16be-mac))))
(let (s)
(when (and (fboundp 'mac-code-convert-string)
(memq coding (find-coding-systems-string str)))
(setq coding (coding-system-change-eol-conversion coding 'mac))
(setq s (mac-code-convert-string
(encode-coding-string str coding)
coding nil)))
(setq str (or s
(encode-coding-string str
(if (eq (byteorder) ?B)
'utf-16be 'utf-16le))))))
((eq type 'com.apple.traditional-mac-plain-text)
(let ((encodables (find-coding-systems-string str))
(rest mac-script-code-coding-systems))
@ -1484,6 +1470,7 @@ in `selection-converter-alist', which see."
(decode-coding-string utf8-text 'utf-8))))
(defun mac-ae-open-documents (event)
"Open the documents specified by the Apple event EVENT."
(interactive "e")
(let ((ae (mac-event-ae event)))
(dolist (file-name (mac-ae-list ae nil 'undecoded-file-name))
@ -1511,6 +1498,8 @@ in `selection-converter-alist', which see."
(error "No text in Apple event.")))
(defun mac-ae-get-url (event)
"Open the URL specified by the Apple event EVENT.
Currently the `mailto' scheme is supported."
(interactive "e")
(let* ((ae (mac-event-ae event))
(parsed-url (url-generic-parse-url (mac-ae-text ae))))
@ -1541,10 +1530,12 @@ in `selection-converter-alist', which see."
(define-key mac-apple-event-map [hicommand about] 'display-splash-screen)
(defun mac-services-open-file ()
"Open the file specified by the selection value for Services."
(interactive)
(find-file-existing (x-selection-value mac-services-selection)))
(defun mac-services-open-selection ()
"Create a new buffer containing the selection value for Services."
(interactive)
(switch-to-buffer (generate-new-buffer "*untitled*"))
(insert (x-selection-value mac-services-selection))
@ -1553,6 +1544,7 @@ in `selection-converter-alist', which see."
)
(defun mac-services-mail-selection ()
"Prepare a mail buffer containing the selection value for Services."
(interactive)
(compose-mail)
(rfc822-goto-eoh)
@ -1560,10 +1552,12 @@ in `selection-converter-alist', which see."
(insert (x-selection-value mac-services-selection) "\n"))
(defun mac-services-mail-to ()
"Prepare a mail buffer to be sent to the selection value for Services."
(interactive)
(compose-mail (x-selection-value mac-services-selection)))
(defun mac-services-insert-text ()
"Insert the selection value for Services."
(interactive)
(let ((text (x-selection-value mac-services-selection)))
(if (not buffer-read-only)
@ -1584,6 +1578,7 @@ in `selection-converter-alist', which see."
'mac-services-mail-to)
(defun mac-dispatch-apple-event (event)
"Dispatch EVENT according to the keymap `mac-apple-event-map'."
(interactive "e")
(let* ((binding (lookup-key mac-apple-event-map (mac-event-spec event)))
(service-message

View file

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <dominik at science dot uva dot nl>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
;; Version: 4.00
;; Version: 4.01
;;
;; This file is part of GNU Emacs.
;;
@ -81,6 +81,13 @@
;;
;; Changes:
;; -------
;; Version 4.01
;; - Tags can also be set remotely from agenda buffer.
;; - Boolean logic for tag searches.
;; - Additional agenda commands can be configured through the variable
;; `org-agenda-custom-commands'.
;; - Minor bug fixes.
;;
;; Version 4.00
;; - Headlines can contain TAGS, and Org-mode can produced a list
;; of matching headlines based on a TAG search expression.
@ -199,7 +206,7 @@
;; - Cleanup.
;;
;; Version 3.07
;; - Some folding incinsistencies removed.
;; - Some folding inconsistencies removed.
;; - BBDB links to company-only entries.
;; - Bug fixes and global cleanup.
;;
@ -266,7 +273,7 @@
;;; Customization variables
(defvar org-version "4.00"
(defvar org-version "4.01"
"The version number of the file org.el.")
(defun org-version ()
(interactive)
@ -594,6 +601,23 @@ Entries are added to this list with \\[org-agenda-file-to-front] and removed wit
:group 'org-agenda
:type '(repeat file))
(defcustom org-agenda-custom-commands
'(("w" todo "WAITING")
("u" tags "+WORK+URGENT-BOSS"))
"Custom commands for the agenda.
These commands will be offered on the splash screen displayed by the
agenda dispatcher \\[org-agenda]. Each entry is a list of 3 items:
key The key (as a string) to be associated with the command.
type The command type, either `todo' for a todo list with a specific
todo keyword, or `tags' for a tags search.
match What to search for. Either a TODO keyword, or a tags match query."
:group 'org-agenda
:type '(repeat
(list (string :tag "Key")
(choice :tag "Type" (const tags) (const todo))
(string :tag "Match"))))
(defcustom org-select-timeline-window t
"Non-nil means, after creating a timeline, move cursor into Timeline window.
When nil, cursor will remain in the current window."
@ -981,7 +1005,7 @@ first line, so it is probably best to use this in combinations with
:tag "Org Tags"
:group 'org)
(defcustom org-tags-column 40
(defcustom org-tags-column 48
"The column to which tags should be indented in a headline.
If this number is positive, it specified the column. If it is negative,
it means that the tags should be flushright to that column. For example,
@ -989,9 +1013,19 @@ it means that the tags should be flushright to that column. For example,
:group 'org-tags
:type 'integer)
(defcustom org-auto-align-tags t
"Non-nil means, realign tags after pro/demotion of TODO state change.
These operations change the length of a headline and therefore shift
the tags around. With this options turned on, after each such operation
the tags are again aligned to `org-tags-column'."
:group 'org-tags
:type 'boolean)
(defcustom org-use-tag-inheritance t
"Non-nil means, tags in levels apply also for sublevels.
When nil, only the tags directly give in a specific line apply there."
When nil, only the tags directly give in a specific line apply there.
If you turn off this option, you very likely want to turn on the
companion option `org-tags-match-list-sublevels'."
:group 'org-tags
:type 'boolean)
@ -1000,7 +1034,9 @@ When nil, only the tags directly give in a specific line apply there."
Because of tag inheritance (see variable `org-use-tag-inheritance'),
the sublevels of a headline matching a tag search often also match
the same search. Listing all of them can create very long lists.
Setting this variable to nil causes subtrees to be skipped."
Setting this variable to nil causes subtrees to be skipped.
This option is off by default, because inheritance in on. If you turn
inheritance off, you very likely want to turn this option on."
:group 'org-tags
:type 'boolean)
@ -2721,6 +2757,8 @@ in the region."
(up-head (make-string (1- level) ?*)))
(if (= level 1) (error "Cannot promote to level 0. UNDO to recover"))
(replace-match up-head nil t)
;; Fixup tag positioning
(and org-auto-align-tags (org-set-tags nil t))
(if org-adapt-indentation
(org-fixup-indentation "^ " "" "^ ?\\S-"))))
@ -2732,6 +2770,8 @@ in the region."
(let* ((level (save-match-data (funcall outline-level)))
(down-head (make-string (1+ level) ?*)))
(replace-match down-head nil t)
;; Fixup tag positioning
(and org-auto-align-tags (org-set-tags nil t))
(if org-adapt-indentation
(org-fixup-indentation "^ " " " "^\\S-"))))
@ -3467,6 +3507,8 @@ prefix arg, switch to that state."
(org-log-done)
(if (not this)
(org-log-done t))))
;; Fixup tag positioning
(and org-auto-align-tags (org-set-tags nil t))
(run-hooks 'org-after-todo-state-change-hook)))
;; Fixup cursor location if close to the keyword
(if (and (outline-on-heading-p)
@ -4226,6 +4268,7 @@ The following commands are available:
(define-key org-agenda-mode-map "o" 'delete-other-windows)
(define-key org-agenda-mode-map "L" 'org-agenda-recenter)
(define-key org-agenda-mode-map "t" 'org-agenda-todo)
(define-key org-agenda-mode-map ":" 'org-agenda-set-tags)
(define-key org-agenda-mode-map "." 'org-agenda-goto-today)
(define-key org-agenda-mode-map "d" 'org-agenda-day-view)
(define-key org-agenda-mode-map "w" 'org-agenda-week-view)
@ -4293,6 +4336,7 @@ The following commands are available:
:style toggle :selected org-agenda-follow-mode :active t]
"--"
["Cycle TODO" org-agenda-todo t]
["Set Tags" org-agenda-set-tags t]
("Reschedule"
["Reschedule +1 day" org-agenda-date-later t]
["Reschedule -1 day" org-agenda-date-earlier t]
@ -4338,7 +4382,7 @@ The following commands are available:
(defun org-agenda (arg)
"Dispatch agenda commands to collect entries to the agenda buffer.
Prompts for a character to select a command. Any prefix arg will be passed
on to the selected command. Possible selections are:
on to the selected command. The default selections are:
a Call `org-agenda' to display the agenda for the current day or week.
t Call `org-todo-list' to display the global todo list.
@ -4349,35 +4393,70 @@ m Call `org-tags-view' to display headlines with tags matching
selections, like `+WORK+URGENT-WITHBOSS'.
M like `m', but select only TODO entries, no ordinary headlines.
More commands can be added by configuring the variable
`org-agenda-custom-commands'.
If the current buffer is in Org-mode and visiting a file, you can also
first press `1' to indicate that the agenda should be temporarily
restricted to the current file."
(interactive "P")
(let ((restrict-ok (and (buffer-file-name) (eq major-mode 'org-mode)))
c)
(put 'org-agenda-files 'org-restrict nil)
(message"[a]genda [t]odoList [T]odoKwd [m]atchTags [M]atchTagsTodo%s"
(if restrict-ok " [1]JustThisFile" ""))
(setq c (read-char-exclusive))
(message "")
(when (equal c ?1)
(if restrict-ok
(put 'org-agenda-files 'org-restrict (list (buffer-file-name)))
(error "Cannot restrict agenda to current buffer"))
(message "Single file: [a]genda [t]odoList [T]odoKwd [m]atchTags [M]atchTagsTodo")
(setq c (read-char-exclusive))
(message ""))
(cond
((equal c ?a) (call-interactively 'org-agenda-list))
((equal c ?t) (call-interactively 'org-todo-list))
((equal c ?T)
(setq current-prefix-arg (or arg '(4)))
(call-interactively 'org-todo-list))
((equal c ?m) (call-interactively 'org-tags-view))
((equal c ?M)
(setq current-prefix-arg (or arg '(4)))
(call-interactively 'org-tags-view))
(t (error "Invalid key")))))
(catch 'exit
(let ((restrict-ok (and (buffer-file-name) (eq major-mode 'org-mode)))
(custom org-agenda-custom-commands)
c entry key type string)
(put 'org-agenda-files 'org-restrict nil)
(save-window-excursion
(delete-other-windows)
(switch-to-buffer-other-window " *Agenda Commands*")
(erase-buffer)
(insert
"Press key for an agenda command:
--------------------------------
a Agenda for current week or day
t List of all TODO entries T Entries with special TODO kwd
m Match a TAGS query M Like m, but only TODO entries.
C Configure your own agenda commands")
(while (setq entry (pop custom))
(setq key (car entry) type (nth 1 entry) string (nth 2 entry))
(insert (format "\n%-4s%-12s: %s"
key
(if (eq type 'tags) "Tags query" "TODO keyword")
string)))
(goto-char (point-min))
(fit-window-to-buffer)
(message "Press key for agenda command%s"
(if restrict-ok ", or [1] to restrict to current file" ""))
(setq c (read-char-exclusive))
(message "")
(when (equal c ?1)
(if restrict-ok
(put 'org-agenda-files 'org-restrict (list (buffer-file-name)))
(error "Cannot restrict agenda to current buffer"))
(message "Press key for agenda command%s"
(if restrict-ok " (restricted to current file)" ""))
(setq c (read-char-exclusive))
(message "")))
(require 'calendar) ; FIXME: can we avoid this for some commands?
(cond
((equal c ?C) (customize-variable 'org-agenda-custom-commands))
((equal c ?a) (call-interactively 'org-agenda-list))
((equal c ?t) (call-interactively 'org-todo-list))
((equal c ?T)
(setq current-prefix-arg (or arg '(4)))
(call-interactively 'org-todo-list))
((equal c ?m) (call-interactively 'org-tags-view))
((equal c ?M)
(setq current-prefix-arg (or arg '(4)))
(call-interactively 'org-tags-view))
((setq entry (assoc (char-to-string c) org-agenda-custom-commands))
(setq type (nth 1 entry) string (nth 2 entry))
(cond
((eq type 'tags)
(org-tags-view current-prefix-arg string))
((eq type 'todo)
(org-todo-list string))
(t (error "Invalid custom agenda command type %s" type))))
(t (error "Invalid key"))))))
(defun org-fit-agenda-window ()
"Fit the window to the buffer size."
@ -4667,7 +4746,8 @@ for a keyword. A numeric prefix directly selects the Nth keyword in
(kwds org-todo-keywords)
(completion-ignore-case t)
(org-select-this-todo-keyword
(and arg (integerp arg) (nth (1- arg) org-todo-keywords)))
(if (stringp arg) arg
(and arg (integerp arg) (nth (1- arg) org-todo-keywords))))
rtn rtnall files file pos)
(when (equal arg '(4))
(setq org-select-this-todo-keyword
@ -6005,6 +6085,30 @@ the same tree node, and the headline of the tree node in the Org-mode file."
(org-agenda-change-all-lines newhead hdmarker)
(beginning-of-line 1)))
(defun org-agenda-set-tags ()
"Set tags for the current headline."
(interactive)
(org-agenda-check-no-diary)
(let* ((marker (or (get-text-property (point) 'org-marker)
(org-agenda-error)))
(hdmarker (get-text-property (point) 'org-hd-marker))
(buffer (marker-buffer hdmarker))
(pos (marker-position hdmarker))
(buffer-read-only nil)
newhead)
(with-current-buffer buffer
(widen)
(goto-char pos)
(org-show-hidden-entry)
(save-excursion
(and (outline-next-heading)
(org-flag-heading nil))) ; show the next heading
(call-interactively 'org-set-tags)
(end-of-line 1)
(setq newhead (org-get-heading)))
(org-agenda-change-all-lines newhead hdmarker)
(beginning-of-line 1)))
(defun org-agenda-date-later (arg &optional what)
"Change the date of this item to one day later."
(interactive "p")
@ -6269,21 +6373,34 @@ MATCH can contain positive and negative selection of tags, like
(defun org-make-tags-matcher (match)
"Create the TAGS matcher form for the tags-selecting string MATCH."
(unless match
;; Get a new match request, with completion
(setq org-last-tags-completion-table
(or (org-get-buffer-tags)
org-last-tags-completion-table))
(setq match (completing-read
"Tags: " 'org-tags-completion-function nil nil nil
'org-tags-history)))
(let ((match0 match) minus tag mm matcher)
(while (string-match "^\\([-+:]\\)?\\([A-Za-z_]+\\)" match)
(setq minus (and (match-end 1) (equal (string-to-char match) ?-))
tag (match-string 2 match)
match (substring match (match-end 0))
mm (list 'member (downcase tag) 'tags-list)
mm (if minus (list 'not mm) mm))
(push mm matcher))
(cons match0 (cons 'and matcher))))
;; parse the string and create a lisp form
(let ((match0 match) minus tag mm matcher orterms term orlist)
(setq orterms (org-split-string match "|"))
(while (setq term (pop orterms))
(while (string-match "^&?\\([-+:]\\)?\\([A-Za-z_]+\\)" term)
(setq minus (and (match-end 1)
(equal (match-string 1 term) "-"))
tag (match-string 2 term)
term (substring term (match-end 0))
mm (list 'member (downcase tag) 'tags-list)
mm (if minus (list 'not mm) mm))
(push mm matcher))
(push (if (> (length matcher) 1) (cons 'and matcher) (car matcher))
orlist)
(setq matcher nil))
(setq matcher (if (> (length orlist) 1) (cons 'or orlist) (car orlist)))
;; Return the string and lisp forms of the matcher
(cons match0 matcher)))
;;(org-make-tags-matcher "&hello&-you")
;;;###autoload
(defun org-tags-view (&optional todo-only match keep-modes)
@ -6368,32 +6485,35 @@ With prefix ARG, realign all tags in headings in the current buffer."
(if just-align
(setq tags current)
(setq org-last-tags-completion-table
(or (org-get-buffer-tags);; FIXME: replace +- with :, so that we can use history stuff???
(or (org-get-buffer-tags)
org-last-tags-completion-table))
(setq tags
(let ((org-add-colon-after-tag-completion t))
(completing-read "Tags: " 'org-tags-completion-function
nil nil current 'org-tags-history)))
(while (string-match "[-+]" tags)
(while (string-match "[-+&]+" tags)
(setq tags (replace-match ":" t t tags)))
(unless (string-match ":$" tags) (setq tags (concat tags ":")))
(unless (string-match "^:" tags) (setq tags (concat ":" tags))))
(beginning-of-line 1)
(looking-at (concat "\\(.*\\)\\(" (regexp-quote current) "\\)[ \t]*"))
(setq hd (save-match-data (org-trim (match-string 1))))
(delete-region (match-beginning 0) (match-end 0))
(insert hd " ")
(move-to-column (max (current-column)
(if (> org-tags-column 0)
org-tags-column
(- org-tags-column (length tags))))
t)
(insert tags)
(if (equal current "")
(end-of-line 1)
(beginning-of-line 1)
(looking-at (concat "\\(.*\\)\\(" (regexp-quote current) "\\)[ \t]*"))
(setq hd (match-string 1))
(delete-region (match-beginning 0) (match-end 0))
(insert (org-trim hd) " "))
(unless (equal tags "")
(move-to-column (max (current-column)
(if (> org-tags-column 0)
org-tags-column
(- (- org-tags-column) (length tags))))
t)
(insert tags))
(move-to-column col))))
(defun org-tags-completion-function (string predicate &optional flag)
(let (s1 s2 rtn (ctable org-last-tags-completion-table))
(if (string-match "^\\(.*[-+:]\\)\\([^-+:]*\\)$" string)
(if (string-match "^\\(.*[-+:&|]\\)\\([^-+:&|]*\\)$" string)
(setq s1 (match-string 1 string)
s2 (match-string 2 string))
(setq s1 "" s2 string))
@ -11610,19 +11730,13 @@ See the individual commands for more information."
["Goto Calendar" org-goto-calendar t]
["Date from Calendar" org-date-from-calendar t])
"--"
("Agenda/Summary Views"
"Current File"
["Agenda Command" org-agenda t]
("File List for Agenda")
("Special views current file"
["TODO Tree" org-show-todo-tree t]
["Check Deadlines" org-check-deadlines t]
["Timeline" org-timeline t]
["Tags Tree" org-tags-sparse-tree t]
"--"
"All Agenda Files"
["Command Dispatcher" org-agenda t]
["TODO list" org-todo-list t]
["Agenda" org-agenda-list t]
["Tags View" org-tags-view t])
("File List for Agenda")
["Tags Tree" org-tags-sparse-tree t])
"--"
("Hyperlinks"
["Store Link (Global)" org-store-link t]
@ -12011,5 +12125,3 @@ Show the heading too, if it is currently invisible."
;; arch-tag: e77da1a7-acc7-4336-b19e-efa25af3f9fd
;;; org.el ends here

View file

@ -661,60 +661,69 @@ Picture mode is invoked by the command \\[picture-mode]."
;;;###autoload
(defun picture-mode ()
"Switch to Picture mode, in which a quarter-plane screen model is used.
\\<picture-mode-map>
Printing characters replace instead of inserting themselves with motion
afterwards settable by these commands:
C-c < Move left after insertion.
C-c > Move right after insertion.
C-c ^ Move up after insertion.
C-c . Move down after insertion.
C-c ` Move northwest (nw) after insertion.
C-c ' Move northeast (ne) after insertion.
C-c / Move southwest (sw) after insertion.
C-c \\ Move southeast (se) after insertion.
C-u C-c ` Move westnorthwest (wnw) after insertion.
C-u C-c ' Move eastnortheast (ene) after insertion.
C-u C-c / Move westsouthwest (wsw) after insertion.
C-u C-c \\ Move eastsoutheast (ese) after insertion.
Move left after insertion: \\[picture-movement-left]
Move right after insertion: \\[picture-movement-right]
Move up after insertion: \\[picture-movement-up]
Move down after insertion: \\[picture-movement-down]
Move northwest (nw) after insertion: \\[picture-movement-nw]
Move northeast (ne) after insertion: \\[picture-movement-ne]
Move southwest (sw) after insertion: \\[picture-movement-sw]
Move southeast (se) after insertion: \\[picture-movement-se]
Move westnorthwest (wnw) after insertion: C-u \\[picture-movement-nw]
Move eastnortheast (ene) after insertion: C-u \\[picture-movement-ne]
Move westsouthwest (wsw) after insertion: C-u \\[picture-movement-sw]
Move eastsoutheast (ese) after insertion: C-u \\[picture-movement-se]
The current direction is displayed in the mode line. The initial
direction is right. Whitespace is inserted and tabs are changed to
spaces when required by movement. You can move around in the buffer
with these commands:
\\[picture-move-down] Move vertically to SAME column in previous line.
\\[picture-move-up] Move vertically to SAME column in next line.
\\[picture-end-of-line] Move to column following last non-whitespace character.
\\[picture-forward-column] Move right inserting spaces if required.
\\[picture-backward-column] Move left changing tabs to spaces if required.
C-c C-f Move in direction of current picture motion.
C-c C-b Move in opposite direction of current picture motion.
Return Move to beginning of next line.
Move vertically to SAME column in previous line: \\[picture-move-down]
Move vertically to SAME column in next line: \\[picture-move-up]
Move to column following last
non-whitespace character: \\[picture-end-of-line]
Move right, inserting spaces if required: \\[picture-forward-column]
Move left changing tabs to spaces if required: \\[picture-backward-column]
Move in direction of current picture motion: \\[picture-motion]
Move opposite to current picture motion: \\[picture-motion-reverse]
Move to beginning of next line: \\[next-line]
You can edit tabular text with these commands:
M-Tab Move to column beneath (or at) next interesting character.
`Indents' relative to a previous line.
Tab Move to next stop in tab stop list.
C-c Tab Set tab stops according to context of this line.
With ARG resets tab stops to default (global) value.
See also documentation of variable picture-tab-chars
which defines \"interesting character\". You can manually
change the tab stop list with command \\[edit-tab-stops].
Move to column beneath (or at) next interesting
character (see variable `picture-tab-chars'): \\[picture-tab-search]
Move to next stop in tab stop list: \\[picture-tab]
Set tab stops according to context of this line: \\[picture-set-tab-stops]
(With ARG, resets tab stops to default value.)
Change the tab stop list: \\[edit-tab-stops]
You can manipulate text with these commands:
C-d Clear (replace) ARG columns after point without moving.
C-c C-d Delete char at point - the command normally assigned to C-d.
\\[picture-backward-clear-column] Clear (replace) ARG columns before point, moving back over them.
\\[picture-clear-line] Clear ARG lines, advancing over them. The cleared
text is saved in the kill ring.
\\[picture-open-line] Open blank line(s) beneath current line.
Clear ARG columns after point without moving: \\[picture-clear-column]
Delete char at point: \\[delete-char]
Clear ARG columns backward: \\[picture-backward-clear-column]
Clear ARG lines, advancing over them: \\[picture-clear-line]
(the cleared text is saved in the kill ring)
Open blank line(s) beneath current line: \\[picture-open-line]
You can manipulate rectangles with these commands:
C-c C-k Clear (or kill) a rectangle and save it.
C-c C-w Like C-c C-k except rectangle is saved in named register.
C-c C-y Overlay (or insert) currently saved rectangle at point.
C-c C-x Like C-c C-y except rectangle is taken from named register.
C-c C-r Draw a rectangular box around mark and point.
\\[copy-rectangle-to-register] Copies a rectangle to a register.
\\[advertised-undo] Can undo effects of rectangle overlay commands
if invoked soon enough.
You can return to the previous mode with:
C-c C-c Which also strips trailing whitespace from every line.
Stripping is suppressed by supplying an argument.
Clear a rectangle and save it: \\[picture-clear-rectangle]
Clear a rectangle, saving in a named register: \\[picture-clear-rectangle-to-register]
Insert currently saved rectangle at point: \\[picture-yank-rectangle]
Insert rectangle from named register: \\[picture-yank-rectangle-from-register]
Draw a rectangular box around mark and point: \\[picture-draw-rectangle]
Copies a rectangle to a register: \\[copy-rectangle-to-register]
Undo effects of rectangle overlay commands: \\[advertised-undo]
You can return to the previous mode with \\[picture-mode-exit], which
also strips trailing whitespace from every line. Stripping is suppressed
by supplying an argument.
Entry to this mode calls the value of `picture-mode-hook' if non-nil.

View file

@ -29,7 +29,15 @@
(defvar comint-prompt-regexp)
;;; Customizable settings
(defgroup tooltip nil
"Customization group for the `tooltip' package."
:group 'help
:group 'gud
:group 'mouse
:group 'tools
:version "21.1"
:tag "Tool Tips")
;;; Switching tooltips on/off
;; We don't set track-mouse globally because this is a big redisplay
@ -60,14 +68,8 @@ With ARG, turn tooltip mode on if and only if ARG is positive."
(setq show-help-function
(if tooltip-mode 'tooltip-show-help nil)))
(defgroup tooltip nil
"Customization group for the `tooltip' package."
:group 'help
:group 'gud
:group 'mouse
:group 'tools
:version "21.1"
:tag "Tool Tips")
;;; Customizable settings
(defcustom tooltip-delay 0.7
"Seconds to wait before displaying a tooltip the first time."
@ -92,9 +94,10 @@ Do so after `tooltip-short-delay'."
(defcustom tooltip-x-offset 5
"X offset, in pixels, for the display of tooltips.
The offset is relative to the position of the mouse. It must
be chosen so that the tooltip window doesn't contain the mouse
when it pops up.
The offset is the distance between the X position of the mouse and
the left border of the tooltip window. It must be chosen so that the
tooltip window doesn't contain the mouse when it pops up, or it may
interfere with clicking where you wish.
If `tooltip-frame-parameters' includes the `left' parameter,
the value of `tooltip-x-offset' is ignored."
@ -103,9 +106,10 @@ the value of `tooltip-x-offset' is ignored."
(defcustom tooltip-y-offset +20
"Y offset, in pixels, for the display of tooltips.
The offset is relative to the position of the mouse. It must
be chosen so that the tooltip window doesn't contain the mouse
when it pops up.
The offset is the distance between the Y position of the mouse and
the top border of the tooltip window. It must be chosen so that the
tooltip window doesn't contain the mouse when it pops up, or it may
interfere with clicking where you wish.
If `tooltip-frame-parameters' includes the `top' parameter,
the value of `tooltip-y-offset' is ignored."

View file

@ -1,3 +1,19 @@
2005-12-20 Luc Teirlinck <teirllm@auburn.edu>
* customize.texi (Type Keywords): Delete xref to "Text help-echo",
because it is confusing. If the :help-echo keyword is a function,
it is not directly used as the :help-echo overlay property, as the
xref seems to suggest (it does not take the appropriate args).
2005-12-19 Luc Teirlinck <teirllm@auburn.edu>
* customize.texi (Common Keywords): Fix Texinfo usage.
(Group Definitions, Variable Definitions): Update for new
conventions for using `*' in docstrings.
* tips.texi (Documentation Tips): Update for new conventions for
using `*' in docstrings.
2005-12-16 Richard M. Stallman <rms@gnu.org>
* minibuf.texi (Minibuffer Contents): Minor cleanup.

View file

@ -76,7 +76,7 @@ in the customization buffer with the Info node name.
Link to a web page; @var{url} is a string which specifies the
@acronym{URL}. The link appears in the customization buffer as
@var{url} and invokes the WWW browser specified by
@var{browse-url-browser-function}.
@code{browse-url-browser-function}.
@item (emacs-commentary-link @var{library})
Link to the commentary section of a library; @var{library} is a string
@ -155,8 +155,7 @@ keyword.
@defmac defgroup group members doc [keyword value]@dots{}
Declare @var{group} as a customization group containing @var{members}.
Do not quote the symbol @var{group}. The argument @var{doc} specifies
the documentation string for the group. It should not start with a
@samp{*} as in @code{defcustom}; that convention is for variables only.
the documentation string for the group.
The argument @var{members} is a list specifying an initial set of
customization items to be members of the group. However, most often
@ -211,12 +210,9 @@ turn this feature back on, if someone would like to do the work.
@defmac defcustom option default doc [keyword value]@dots{}
Declare @var{option} as a customizable user option variable. Do not
quote @var{option}. The argument @var{doc} specifies the documentation
string for the variable. It should often start with a @samp{*} to mark
it as a @dfn{user option} (@pxref{Defining Variables}). Do not start
the documentation string with @samp{*} for options which cannot or
normally should not be set with @code{set-variable}; examples of the
former are global minor mode options such as
@code{global-font-lock-mode} and examples of the latter are hooks.
string for the variable. There is no need to start it with a @samp{*}
because @code{defcustom} automatically marks @var{option} as a
@dfn{user option} (@pxref{Defining Variables}).
If @var{option} is void, @code{defcustom} initializes it to
@var{default}. @var{default} should be an expression to compute the
@ -1015,7 +1011,6 @@ the echo area. In addition, @var{motion-doc} is used as the mouse
@code{help-echo} string and may actually be a function or form evaluated
to yield a help string. If it is a function, it is called with one
argument, the widget.
@xref{Text help-echo}.
@item :match @var{function}
Specify how to decide whether a value matches the type. The

View file

@ -133,11 +133,17 @@ unless @var{verbatim} is non-@code{nil}.
(symbol-plist 'command-line-processed)
@result{} (variable-documentation 188902)
@end group
@group
(documentation-property 'emacs 'group-documentation)
@result{} "Customization of the One True Editor."
@end group
@end smallexample
@end defun
@defun documentation function &optional verbatim
This function returns the documentation string of @var{function}.
@code{documentation} handles macros, named keyboard macros, and
special forms, as well as ordinary functions.
If @var{function} is a symbol, this function first looks for the
@code{function-documentation} property of that symbol; if that has a
@ -157,6 +163,11 @@ the function definition has no documentation string. In that case,
@code{documentation} returns @code{nil}.
@end defun
@defun face-documentation face
This function returns the documentation string of @var{face} as a
face.
@end defun
@c Wordy to prevent overfull hboxes. --rjc 15mar92
Here is an example of using the two functions, @code{documentation} and
@code{documentation-property}, to display the documentation strings for
@ -498,15 +509,28 @@ the user as subcommands of the prefix @kbd{C-h}. For more information
about them, see @ref{Help, , Help, emacs, The GNU Emacs Manual}. Here
we describe some program-level interfaces to the same information.
@deffn Command apropos regexp &optional do-all
@deffn Command apropos pattern &optional do-all
This function finds all ``meaningful'' symbols whose names contain a
match for the regular expression @var{regexp}, and returns a list of
them, with associated documentation (@pxref{Regular Expressions}). It
also displays the symbols in a buffer named @samp{*Apropos*}, each
with a one-line description taken from the beginning of its
documentation string. A symbol is ``meaningful'' if it has a
match for the apropos pattern @var{pattern}. An apropos pattern is
either a word to match, a space-separated list of words of which at
least two must match, or a regular expression (if any special regular
expression characters occur). A symbol is ``meaningful'' if it has a
definition as a function, variable, or face, or has properties.
The function returns a list of elements that look like this:
@example
(@var{symbol} @var{score} @var{fn-doc} @var{var-doc} @var{plist-doc} @var{widget-doc} @var{face-doc} @var{group-doc})
@end example
Here, @var{score} is an integer measure of how important the symbol
seems to be as a match, and the remaining elements are documentation
strings for @var{symbol}'s various roles (or @code{nil}).
It also displays the symbols in a buffer named @samp{*Apropos*}, each
with a one-line description taken from the beginning of its
documentation string.
@c Emacs 19 feature
If @var{do-all} is non-@code{nil}, or if the user option
@code{apropos-do-all} is non-@code{nil}, then @code{apropos} also

View file

@ -640,11 +640,10 @@ first blank line. If you wish, you can choose which information to
include before the first blank line so as to make this display useful.
@item
A variable's documentation string should start with @samp{*} if the
variable is one that users would often want to set interactively. If
the value is a long list, or a function, or if the variable would be set
only in init files, then don't start the documentation string with
@samp{*}. @xref{Defining Variables}.
When you define a variable that users ought to set interactively, you
normally should use @code{defcustom}. However, if for some reason you
use @code{defvar} instead, start the doc string with a @samp{*}.
@xref{Defining Variables}.
@item
The documentation string for a variable that is a yes-or-no flag should

View file

@ -1,3 +1,7 @@
2005-12-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* makefile.MPW (macselect.c.x): Depend on keymap.h.
2005-12-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* Emacs.app/Contents/Info.plist: Add CFBundleURLTypes key and

View file

@ -903,6 +903,7 @@ buildobj.lst
"{Src}macterm.h" ¶
"{Src}macgui.h" ¶
"{Src}frame.h" ¶
"{Src}keymap.h" ś
{BLOCKINPUT_H_GROUP}
{Src}mac.c Ä ¶

View file

@ -1,4 +1,44 @@
2005-12-12 Katsumi Yamaoka <yamaoka@jpl.org>
2005-12-20 Juri Linkov <juri@jurta.org>
* files.texi (VC Status): Put P and N near p and n.
2005-12-20 Carsten Dominik <dominik@science.uva.nl>
* org.texi: (Tags): Boolean logic documented.
(Agenda Views): Document custom commands.
2005-12-20 David Kastrup <dak@gnu.org>
* faq.texi (AUCTeX): Update version and mailing list info.
2005-12-19 Richard M. Stallman <rms@gnu.org>
* programs.texi (Electric C): Delete the info about newline control.
(Other C Commands): Minor cleanup.
(Left Margin Paren): Minor cleanup.
2005-12-19 Luc Teirlinck <teirllm@auburn.edu>
* custom.texi (Easy Customization): Add "Browsing Custom" to menu.
(Customization Groups): Delete text moved to "Browsing Custom".
(Browsing Custom): New node.
(Specific Customization): Clarify which commands only work for
loaded options.
2005-12-18 Bill Wohler <wohler@newt.com>
* frames.texi (Tool Bars): Shorten text of previous change.
2005-12-18 Aaron S. Hawley <Aaron.Hawley@uvm.edu>
* files.texi (VC Status): Document log-view mode.
2005-12-18 Bill Wohler <wohler@newt.com>
* frames.texi (Tool Bars): Mention that you can turn off tool bars
permanently via the customize interface.
2005-12-17 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus.texi (MIME Commands): Mention addition of
multipart/alternative to gnus-buttonized-mime-types and add xref
@ -10,7 +50,7 @@
2005-12-16 Carsten Dominik <dominik@science.uva.nl>
* org.texi: (Tags): New section.
* org.texi (Tags): New section.
(Agenda Views): Chapter reorganized.
2005-12-16 Ralf Angeli <angeli@iwi.uni-sb.de>
@ -43,7 +83,7 @@
2005-12-12 Carsten Dominik <dominik@science.uva.nl>
* org.texi: (Progress Logging): New section.
* org.texi (Progress Logging): New section.
2005-12-12 Richard M. Stallman <rms@gnu.org>
@ -355,7 +395,7 @@
* help.texi (Help Echo): By default, help echos are only shown on
mouse-over, not on point-over.
2005-11-04 J,bi(Br,bt(Bme Marant <jerome@marant.org>
2005-11-04 J,Ai(Br,At(Bme Marant <jerome@marant.org>
* misc.texi (Shell Mode): Describe how to activate password echoing.
@ -4158,7 +4198,7 @@
(../info/ses, ses.dvi): New targets.
* ses.texi: New file.
2002-09-06 Pavel Jan,Bm(Bk <Pavel@Janik.cz>
2002-09-06 Pavel Jan,Am(Bk <Pavel@Janik.cz>
* texinfo.tex: Update to texinfo 4.2.
@ -4166,7 +4206,7 @@
* reftex.texi: Update to RefTeX 4.19.
2002-06-17 Kai Gro,b_(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
2002-06-17 Kai Gro,A_(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
* Makefile.in (INFO_TARGETS, DVI_TARGETS): Add Tramp.
(../info/tramp, tramp.dvi): New targets.

View file

@ -206,6 +206,7 @@ the active fields and other features.
@menu
* Groups: Customization Groups. How options are classified in a structure.
* Browsing: Browsing Custom. Browsing and searching for options and faces.
* Changing a Variable:: How to edit a value and set an option.
* Saving Customizations:: Specifying the file for saving customizations.
* Face Customization:: How to edit the attributes of a face.
@ -275,9 +276,13 @@ Then you can use the customization buffer to set the options
pertaining to that feature. You can also go straight to a particular
group by name, using the command @kbd{M-x customize-group}.
@node Browsing Custom
@subsection Browsing and Searching for Options and Faces
@findex customize-browse
You can view the structure of customization groups on a larger scale
with @kbd{M-x customize-browse}. This command creates a special kind of
You can use @kbd{M-x customize} to browse the groups and options, but
often @kbd{M-x customize-browse} is a more efficient alternative.
That is because it lets you view the structure of customization groups
on a larger scale. This command creates a special kind of
customization buffer which shows only the names of the groups (and
variables and faces), and their structure.
@ -291,6 +296,13 @@ that active field creates an ordinary customization buffer showing just
that group and its contents, just that variable, or just that face.
This is the way to set values in it.
If you can guess part of the name of the options you are interested
in, then sometimes @kbd{M-x customize-apropos} can be another useful
way to search for options. However, unlike @code{customize} and
@code{customize-browse}, @code{customize-apropos} can only find
options that are loaded in the current Emacs session. @xref{Specific
Customization,, Customizing Specific Items}.
@node Changing a Variable
@subsection Changing a Variable
@ -627,7 +639,9 @@ buffer, and you know its name, you can use the command @kbd{M-x
customize-variable} and specify the variable name. This sets up the
customization buffer with just one variable---the one that you asked
for. Editing, setting and saving the value work as described above,
but only for the specified variable.
but only for the specified variable. Minibuffer completion is very
handy if you only know part of the name. However, it only finds
options that have been loaded in the current Emacs session.
@findex customize-face
Likewise, you can modify a specific face, chosen by name, using
@ -638,15 +652,16 @@ on the character after point.
You can also set up the customization buffer with a specific group,
using @kbd{M-x customize-group}. The immediate contents of the chosen
group, including user options, faces, and other groups, all appear
as well. However, these subgroups' own contents are not included.
as well (even if not already loaded). However, the subgroups' own
contents are not included.
@findex customize-apropos
To control more precisely what to customize, you can use @kbd{M-x
customize-apropos}. You specify a regular expression as argument; then
all options, faces and groups whose names match this regular expression
are set up in the customization buffer. If you specify an empty regular
expression, this includes @emph{all} groups, options and faces (but
that takes a long time).
all @emph{loaded} options, faces and groups whose names match this
regular expression are set up in the customization buffer. If you
specify an empty regular expression, this includes @emph{all} groups,
options and faces (but that takes a long time).
@findex customize-changed-options
When you upgrade to a new Emacs version, you might want to customize
@ -654,7 +669,8 @@ new options and options whose meanings or default values have changed.
To do this, use @kbd{M-x customize-changed-options} and specify a
previous Emacs version number using the minibuffer. It creates a
customization buffer which shows all the options (and groups) whose
definitions have been changed since the specified version.
definitions have been changed since the specified version. (Not just
those that are already loaded.)
@findex customize-saved
@findex customize-customized

View file

@ -3844,10 +3844,12 @@ better than the one distributed with Emacs:
AUC@TeX{} is a set of sophisticated major modes for @TeX{}, LaTeX,
ConTeXt, and Texinfo offering context-sensitive syntax highlighting,
indentation, formatting and folding, macro completion, @TeX{} shell
functionality, and debugging. Some important supplemental packages are
described in @ref{Introduction, RefTeX, Introduction, reftex, Ref@TeX{}
User Manual}, and
@uref{http://preview-latex.sourceforge.net,preview-latex}.
functionality, and debugging. Be also sure to check out
@ref{Introduction, RefTeX, Introduction, reftex, Ref@TeX{} User Manual}.
Current versions of AUC@TeX{} include the
@uref{http://www.gnu.org/software/auctex/preview-latex,preview-latex}
package for WYSIWYG previews of various LaTeX constructs in the Emacs
source buffer.
@table @b
@ -3859,7 +3861,7 @@ User Manual}, and
@email{dak@@gnu.org, David Kastrup}
@item Latest version
11.54
11.82
@item Distribution
@uref{ftp://ftp.gnu.org/pub/gnu/auctex/}
@ -3868,8 +3870,8 @@ User Manual}, and
@uref{http://www.gnu.org/software/auctex/}
@item Mailing list:
Subscription requests to @email{auc-tex-subscribe@@sunsite.dk}@*
Submissions to @email{auc-tex@@sunsite.dk}
Subscription requests to @email{auctex-request@@gnu.org}@*
Submissions to @email{auctex@@gnu.org}
@end table

View file

@ -1788,7 +1788,46 @@ Display version control state and change history.
To view the detailed version control status and history of a file,
type @kbd{C-x v l} (@code{vc-print-log}). It displays the history of
changes to the current file, including the text of the log entries. The
output appears in a separate window.
output appears in a separate window. The point is centered at the
revision of the file that is currently being visited.
From the change log buffer, the following keys are used to move
between the logs of revisions and files, to view past revisions, and
to view diffs:
@table @kbd
@item p
Move to the previous revision-item in the buffer. (Revision entries in the log
buffer are usually in reverse-chronological order, so the previous
revision-item usually corresponds to a newer revision.) A numeric
prefix argument is a repeat count.
@item n
Move to the next revision-item (which most often corresponds to the
previous revision of the file). A numeric prefix argument is a repeat
count.
@item P
Move to the log of the previous file, when the logs of multiple files
are in the log buffer (@pxref{VC Dired Mode}). Otherwise, just move
to the beginning of the log. A numeric prefix argument is a repeat
count, so @kbd{C-u 10 P} would move backward 10 files.
@item N
Move to the log of the next file, when the logs of multiple files are
in the log buffer (@pxref{VC Dired Mode}). It also takes a numeric
prefix argument as a repeat count.
@item f
Visit the revision indicated at the current line, like typing @kbd{C-x
v ~} and specifying this revision's number (@pxref{Old Versions}).
@item d
Display the diff (@pxref{Comparing Files}) between the revision
indicated at the current line and the next earlier revision. This is
useful to see what actually changed when the revision indicated on the
current line was committed.
@end table
@node VC Undo
@subsubsection Undoing Version Control Actions

View file

@ -963,7 +963,7 @@ XPM icons if Emacs was built with XPM support. Otherwise, the tool
bar uses monochrome icons (PBM or XBM format).
You can turn display of tool bars on or off with @kbd{M-x
tool-bar-mode}.
tool-bar-mode} or by customizing the option @code{tool-bar-mode}.
@node Dialog Boxes
@section Using Dialog Boxes

View file

@ -47,7 +47,7 @@ manual index, then finally look in the FAQ and the package keywords.
@item C-h a @var{topics} @key{RET}
This searches for commands whose names match @var{topics}, which
should be a keyword, a list of keywords, or a regular expression
(@pxref{Regexps}). This command displays a the matches in a new
(@pxref{Regexps}). This command displays all the matches in a new
buffer. @xref{Apropos}.
@item C-h i d m emacs @key{RET} i @var{topic} @key{RET}
@ -336,7 +336,7 @@ view, describe, default.
@end quotation
@findex apropos
To list all Lisp symbols that contain a match an Apropos pattern,
To list all Lisp symbols that contain a match for an Apropos pattern,
not just the ones that are defined as commands, use the command
@kbd{M-x apropos} instead of @kbd{C-h a}. This command does not check
key bindings by default; specify a numeric argument if you want it to
@ -374,7 +374,7 @@ most relevant ones first.
By default, Apropos lists the search results for
@code{apropos-documentation} in order of relevance of the match. If
the variable @code{apropos-documentation-sort-by-scores} is
@code{nil}, Apropos lists the symbosl found in alphabetical order.
@code{nil}, Apropos lists the symbols found in alphabetical order.
@node Library Keywords
@section Keyword Search for Lisp Libraries

View file

@ -4,7 +4,7 @@
@setfilename ../info/org
@settitle Org Mode Manual
@set VERSION 4.00
@set VERSION 4.01
@set DATE December 2005
@dircategory Emacs
@ -229,7 +229,7 @@ ways, for example
@example
@r{@bullet{} as an outline extension with visibility cycling and structure editing}
@r{@bullet{} as an ASCII system and table editor to take structured notes}
@r{@bullet{} as an ASCII system and table editor for taking structured notes}
@r{@bullet{} as an ASCII table editor with spreadsheet-like capabilities}
@r{@bullet{} as a simple hypertext system, with HTML export}
@r{@bullet{} as a TODO list editor}
@ -532,7 +532,7 @@ functionality.
@node Archiving, Sparse trees, Structure editing, Document Structure
@section Archiving
@cindex archiving
@cindex filing subtries
@cindex filing subtrees
When a project represented by a (sub)tree is finished, you may want
to move the tree to an archive place, either in the same file under a
@ -618,12 +618,24 @@ well. For example, in the list
@example
* Meeting with the French group :WORK:
** Summary by Frank :BOSS:
** Summary by Frank :BOSS:NOTES:
*** TODO Prepare slides for him :ACTION:
@end example
@noindent
the final heading will have the tags @samp{:WORK:}, @samp{:BOSS:}, and
@samp{:ACTION:}.
the final heading will have the tags @samp{:WORK:}, @samp{:BOSS:},
@samp{:NOTES:}, and @samp{:ACTION:}. When executing tag searches and
Org-mode finds that a certain headline matches the search criterion,
it will not check any sublevel headline, assuming that these likely
also match, and that the list of matches can become very long. You
can influence inheritance and searching using the variables
@code{org-use-tag-inheritance} and
@code{org-tags-match-list-sublevels}.
@kindex M-@key{TAB}
Tags can simply be typed into the buffer. After a colon,
@kbd{M-@key{TAB}} offers completion on all tags being used in the
current buffer. There are also special commands for inserting tags,
and for executing searches based on tags.
@table @kbd
@kindex C-c C-c
@ -631,29 +643,33 @@ the final heading will have the tags @samp{:WORK:}, @samp{:BOSS:}, and
@cindex completion, of tags
Enter new tags for the current headline. The minibuffer will prompt
for a list of tags and offer completion with respect to all other tags
used in the current buffer. After pressing @key{RET}, the tags will
used in the current buffer. Several tags, separated by colons, may be
specified at the prompt. After pressing @key{RET}, the tags will
be inserted and aligned to @code{org-tags-column}. When called with a
@kbd{C-u} prefix, align all tags in the current buffer to that column,
just to make things look nice. Tags can also be just typed into the
buffer, with @kbd{M-@key{TAB}} support.
@cindex M-@key{TAB}
@item M-@key{TAB}
Tags can also be typed directly into the buffer, using
@kbd{M-@key{TAB}} completion.
just to make things look nice. TAGS are automatically realigned after
promotion, demotion, and TODO state changes (@pxref{TODO basics}).
@kindex C-c \
@item C-c \
Create a sparse tree with all headlines matching a given set of tags.
The command prompts for the tags to match. The criterion is just a
list of tags separated by @samp{+} or @samp{-} for positive and
negative selection. For example, @samp{+WORK-BOSS} would select all
headlines that are tagged @samp{:WORK:}, but discard those also tagged
@samp{:BOSS:}.
Create a sparse tree with all headlines matching a tags search.
@kindex C-c a m
@item C-c a m
Create a global list of tag matches from all agenda files.
@xref{Matching headline tags}.
@end table
A tags search string can use Boolean operators @samp{&} for AND and
@samp{|} for OR. @samp{&} binds more strongly than
@samp{|}. Parenthesis are currently no implemented. A tag may also be
preceded by @samp{-}, to select against it, and @samp{+} is syntactic
sugar for positive selection. The AND operator @samp{&} is optional
when @samp{+} or @samp{-} is present. For example, @samp{+WORK-BOSS}
would select all headlines that are tagged @samp{:WORK:}, but discard
those also tagged @samp{:BOSS:}. The search string @samp{WORK|LAPTOP}
selects all lines tagged @samp{:WORK:} or @samp{:LAPTOP:}. The string
@samp{WORK|LAPTOP&NIGHT} requires that the @samp{:LAPTOP:} lines are
also tagged @samp{NIGHT}.
@node Plain Lists, , Tags, Document Structure
@section Plain Lists
@cindex plain lists
@ -692,7 +708,7 @@ My favorite scenes are (in this order)
@end example
Org-mode supports these lists by tuning filling and wrapping commands
to correctly deal with them. Futhermore, the following commands act
to correctly deal with them. Furthermore, the following commands act
on items when the cursor is in the first line of an item (the line
with the bullet or number).
@ -1322,11 +1338,11 @@ links to other files, Usenet articles, emails and much more.
Similar to Wiki implementations, Org-mode interprets words spelled in
CamelCase (i.e. mixed case with at least one capital letter following
on a small letter inside the word) as links. While in Wiki
implementations these links usually point to another file, in Org-mode
they point to a target in the current file. Targets are CamelCased
words in double angular brackets, and may be located anywhere, also in
a comment line. For example
on a small letter inside the word) as links. While in Wiki these
links usually point to another file, in Org-mode they point to a
target in the current file. Targets are CamelCased words in double
angular brackets, and may be located anywhere, also in a comment line.
For example
@example
# <<MyTarget>>
@end example
@ -2020,32 +2036,16 @@ Choose date in calendar (only if nothing typed into minibuffer).
@chapter Agenda Views
@cindex agenda views
@ignore
We have already described three commands to filter important
information in an org file into a sparse tree (@pxref{Sparse trees}):
@cindex sparse trees
@itemize @bullet
@item
The TODO tree, (@kbd{C-c C-v}), see @ref{TODO items}.
@item
The occur tree @kbd{C-c /}, see @ref{TODO items}.
@item
Checking upcoming deadlines with @kbd{C-c C-w}, see @ref{Creating
timestamps}.
@end itemize
@noindent
@end ignore
Org-mode can collect and sort selected items into a separate buffer.
The information to be listed is collected from all @emph{agenda
files}, the files listed in the variable @code{org-agenda-files}.
Thus even if you only work with a single Org-mode file, this file must
be put into that list@footnote{When using the dispatcher pressing
@kbd{1} before selecting a command will actually limit the command to
the current file, and ignore @code{org-agenda-files} until the next
dispatcher command.}. You can customize this variable, but the easiest
way to maintain it is through the following commands
Org-mode can select items based of various criteria, and display them
in a separate buffer. The information to be shown is collected from
all @emph{agenda files}, the files listed in the variable
@code{org-agenda-files}. Thus even if you only work with a single
Org-mode file, this file must be put into that list@footnote{When
using the dispatcher pressing @kbd{1} before selecting a command will
actually limit the command to the current file, and ignore
@code{org-agenda-files} until the next dispatcher command.}. You can
customize @code{org-agenda-files}, but the easiest way to maintain it
is through the following commands
@cindex files, adding to agenda list
@table @kbd
@ -2084,11 +2084,21 @@ buffer}. This buffer is read-only, but provides commands to visit the
corresponding locations in the original Org-mode files, and even to
edit these files remotely.
@cindex custom agenda commands
@cindex agenda commands, custom
The views are created through a dispatcher that should be bound to a
global key, for example @kbd{C-c a} (@pxref{Installation and
Activation}). In the following we will assume that @kbd{C-c a} is
indeed how the dispatcher is accessed and list keyboard access to
commands accordingly.
commands accordingly. The dispatcher offers a number of default
commands, for example to create a TODO list or a the calendar-like
agenda. You can also define a number of custom searches for tags and
specific TODO keywords through the variable
@code{org-agenda-custom-commands}.
@kindex C-c a C
These commands will be offered by the dispatcher just like the default
commands. If you press @kbd{C-c a C}, you will get a customization
buffer for this variable.
@menu
* Agenda:: Your weekly planner
@ -2230,7 +2240,7 @@ a prefix argument to this command to change the selected TODO keyword,
for example @kbd{3 r}.
@end table
Remote editing of TDOD items means that you can change the state of a
Remote editing of TODO items means that you can change the state of a
TODO entry with a single key press. The commands available in the
TODO list are described in @ref{Agenda commands}.
@ -2241,15 +2251,15 @@ TODO list are described in @ref{Agenda commands}.
If headlines in the agenda files are marked with @emph{tags}
(@pxref{Tags}), you can select headlines based on the tags that apply
to them and collect them into an ageenda buffer.
to them and collect them into an agenda buffer.
@table @kbd
@kindex C-c a m
@item C-c a m
Produce a list of all headlines that match a given set of tags. The
command prompts for a selection criterion, which is a simple list of
TAGS with positive and negative selection, like
@samp{+WORK+URGENT-WITHBOSS}.
command prompts for a selection criterion, which is a boolean logic
expression with tags, like @samp{+WORK+URGENT-WITHBOSS} or
@samp{WORK|HOME} (@pxref{Tags}).
@kindex C-c a M
@item C-c a M
Like @kbd{C-c a m}, but only select headlines that are also TODO
@ -2396,6 +2406,10 @@ Digit argument.
Change the TODO state of the item, both in the agenda and in the
original org file.
@kindex :
@item :
Set tags for the current headline.
@kindex ,
@item ,
Set the priority for the current item. Org-mode prompts for the
@ -2900,7 +2914,7 @@ After @samp{\}, complete @TeX{} symbols supported by the exporter.
After @samp{*}, complete CamelCase versions of all headlines in the
buffer.
@item
After @samp{:}, complete tags used elswhere in the buffer.
After @samp{:}, complete tags used elsewhere in the buffer.
@item
After @samp{#+}, complete the special keywords like @samp{TYP_TODO} or
@samp{OPTIONS} which set file-specific options for Org-mode. When the
@ -2917,11 +2931,11 @@ Elsewhere, complete dictionary words using ispell.
@cindex options, for customization
@cindex variables, for customization
There is a large number of variables which can be used to customize
There are more than 100 variables that can be used to customize
Org-mode. For the sake of compactness of the manual, we are not
describing the variables here. For an overview of customization
variables, use @kbd{M-x org-customize}. Or select @code{Browse Org
Group} from the @code{Org->Customization} menu.
describing the variables here. A structured overview of customization
variables is available with @kbd{M-x org-customize}. Or select
@code{Browse Org Group} from the @code{Org->Customization} menu.
@node FAQ, Interaction, Customization, Miscellaneous
@section Frequently asked questions
@ -3167,59 +3181,63 @@ The exporters work well, but could be made more efficient.
Org-mode was written by Carsten Dominik, who still maintains it at the
Org-mode homepage @uref{http://www.astro.uva.nl/~dominik/Tools/org/}.
The following people have helped the development along with ideas,
suggestions and patches.
The following people (in alphabetic order) have helped the development
along with ideas, suggestions and patches. Many thanks to all of you,
Org-mode would not be what it is without your input.
@itemize @bullet
@item
Pavel Chalmoviansky reported bugs and suggested improvements
related to the agenda treatment of items with specified time.
@item
Sacha Chua, the current maintainer of Planner, suggested to copy
linking code from Planner (I took code for RMAIL and Wanderlust).
@item
Christian Egli converted the documentation into TeXInfo format and
patched basic CSS formatting support into the HTML exporter. He also
inspired the agenda by showing me his plans for a multifile summary.
@item
Kai Grossjohann pointed out that a number of key bindings in Org-mode
conflict with other packages.
@item
Stefan Monnier provided a patch with lots of little fixes to keep the
Emacs-Lisp compiler happy.
@item
Tim O'Callaghan suggested in-file links, search options for
general file links, and TAGS.
@item
Oliver Oppitz made useful suggestions.
@item
Pete Phillips helped the development of the TAGS feature with beta
testing and suggestions.
@item
Matthias Rempe (Oelde) provided ideas, a patch introducing Windows
NT/2000 support, and quality control.
@item
Kevin Rogers contributed code to access VM files on remote hosts.
@item
Juergen Vollmer contributed code generating the table of contents
in HTML output, and other export improvements.
@item
Christian Egli converted the documentation into TeXInfo format and
patched basic CSS formatting support into the HTML exporter. He also
inspired the agenda by showing me his plans for a multifile summary.
@item
Philip Rooke created the Org-mode reference card. He also helped with
beta testing and contributed a number of very useful ideas.
@item
Christian Schlauer proposed angular brackets around links, among other
things.
@item
David Wainberg suggested to implement an archiving mechanism and helped
testing.
@item
Linking to VM/BBDB/GNUS was inspired by Tom Shannon's
@file{organizer-mode.el}.
@item
Juergen Vollmer contributed code generating the table of contents
in HTML output, and other export improvements.
@item
David Wainberg suggested to implement an archiving mechanism and helped
testing.
@item
Scheduling TODO items was inspired by John Wiegley's @file{planner.el}.
@item
Sacha Chua, the current maintainer of Planner, suggested to copy
linking code from Planner (I took code for RMAIL and Wanderlust).
@item
Oliver Oppitz made useful suggestions.
@item
Carsten Wimmer suggested some changes and helped fix a bug in linking
to GNUS.
@item
Pavel Chalmoviansky reported bugs and suggested improvements related
to the agenda treatment of items with specified time.
@item
Stefan Monnier provided a patch with lots of little fixes to keep the
Emacs-Lisp compiler happy.
@item
Kai Grossjohann pointed out that a number of key bindings in Org-mode
conflict with other packages.
@item
Roland Winkler pointed out that additional keybindings are needed to
use Org-mode on a tty.
@item
Tim O'Callaghan suggested in-file links, search options for
general file links, and TAGS.
@c @item
@c Nic Ferrier and Christian Egli implemented XML export.
@end itemize

View file

@ -128,17 +128,19 @@ place to set up customizations for that major mode. @xref{Hooks}.
@node Defuns
@section Top-Level Definitions, or Defuns
In Emacs, a major definition at the top level in the buffer is
called a @dfn{defun}. The name comes from Lisp, but in Emacs we use
it for all languages.
In Emacs, a major definition at the top level in the buffer,
something like a function, is called a @dfn{defun}. The name comes
from Lisp, but in Emacs we use it for all languages.
In most programming language modes, Emacs assumes that a defun is
In many programming language modes, Emacs assumes that a defun is
any pair of parentheses (or braces, if the language uses braces this
way) that starts at the left margin. For example, in C, the body of a
function definition is normally a defun, because the open-brace that
begins it is normally at the left margin. A variable's initializer
can also count as a defun, if the open-brace that begins the
initializer is at the left margin.
function definition is a defun, usually recognized as an open-brace
that begins at the left margin@footnote{Alternatively, you can set up
C Mode to recognize a defun at an opening brace at the outermost
level. @xref{Movement Commands,,, ccmode, the CC Mode Manual}.}. A
variable's initializer can also count as a defun, if the open-brace
that begins the initializer is at the left margin.
However, some language modes provide their own code for recognizing
defuns in a way that suits the language syntax and conventions better.
@ -156,14 +158,24 @@ defuns in a way that suits the language syntax and conventions better.
@cindex open-parenthesis in leftmost column
@cindex ( in leftmost column
In most major modes, Emacs assumes that any opening delimiter found
at the left margin is the start of a top-level definition, or defun.
Therefore, @strong{never put an opening delimiter at the left margin
unless it should have that significance.} For instance, never put an
Emacs assumes by default that any opening delimiter found at the
left margin is the start of a top-level definition, or defun. You can
override this default by setting this user option:
@defvar open-paren-in-column-0-is-defun-start
If this user option is set to @code{t} (the default), opening
parentheses or braces at column zero always start defuns. When it's
@code{nil}, defuns are found by searching for parens or braces at the
outermost level. Some major modes, including C and related modes, set
@code{open-paren-in-column-0-is-defun-start} buffer-locally to
@code{nil}
@end defvar
In modes where @code{open-paren-in-column-0-is-defun-start} is
@code{t}, @strong{don't put an opening delimiter at the left margin
unless it is a defun start}. For instance, never put an
open-parenthesis at the left margin in a Lisp file unless it is the
start of a top-level list. Never put an open-brace or other opening
delimiter at the beginning of a line of C code unless it is at top
level.
start of a top-level list.
If you don't follow this convention, not only will you have trouble
when you explicitly use the commands for motion by defuns; other
@ -173,10 +185,10 @@ mode (@pxref{Font Lock}).
The most likely problem case is when you want an opening delimiter
at the start of a line inside a string. To avoid trouble, put an
escape character (@samp{\}, in C and Emacs Lisp, @samp{/} in some
other Lisp dialects) before the opening delimiter. This will not
affect the contents of the string, but will prevent that opening
delimiter from starting a defun. Here's an example:
escape character (@samp{\}, in Emacs Lisp, @samp{/} in some other Lisp
dialects) before the opening delimiter. This will not affect the
contents of the string, but will prevent that opening delimiter from
starting a defun. Here's an example:
@example
(insert "Foo:
@ -195,8 +207,9 @@ the beginning of the buffer, even for a small function. To speed up
the operation, we changed Emacs to assume that any opening delimiter
at the left margin is the start of a defun. This heuristic is nearly
always right, and avoids the need to scan back to the beginning of the
buffer. However, it mandates following the convention described
above.
buffer. However, now that modern computers are so powerful, this
scanning is rarely slow enough to annoy, so we've provided a way to
disable the heuristic.
@node Moving by Defuns
@subsection Moving by Defuns
@ -399,13 +412,14 @@ behavior is convenient in cases where you have overridden the standard
result of @key{TAB} because you find it unaesthetic for a particular
line.
Remember that an open-parenthesis, open-brace or other opening delimiter
at the left margin is assumed by Emacs (including the indentation routines)
to be the start of a function. Therefore, you must never have an opening
delimiter in column zero that is not the beginning of a function, not even
inside a string. This restriction is vital for making the indentation
commands fast; you must simply accept it. @xref{Left Margin Paren},
for more information on this.
By default, an open-parenthesis, open-brace or other opening
delimiter at the left margin is assumed by Emacs (including the
indentation routines) to be the start of a function. This speeds up
indentation commands. If you will be editing text which contains
opening delimiters in column zero that aren't the beginning of a
functions, even inside strings or comments, you must set
@code{open-paren-in-column-0-is-defun-start}. @xref{Left Margin
Paren}, for more information on this.
Normally, lines are indented with tabs and spaces. If you want Emacs
to use spaces only, see @ref{Just Spaces}.
@ -560,16 +574,16 @@ onto the indentation of the @dfn{anchor statement}.
Select a predefined style @var{style} (@code{c-set-style}).
@end table
A @dfn{style} is a named collection of customizations that can
be used in C mode and the related modes. Emacs comes with several
A @dfn{style} is a named collection of customizations that can be
used in C mode and the related modes. @ref{Styles,,, ccmode, The CC
Mode Manual}, for a complete description. Emacs comes with several
predefined styles, including @code{gnu}, @code{k&r}, @code{bsd},
@code{stroustrup}, @code{linux}, @code{python}, @code{java},
@code{whitesmith}, @code{ellemtel}, @code{cc-mode}, and @code{user}.
Some of these styles are primarily intended for one language, but any
of them can be used with any of the languages supported by these
modes. To find out what a style looks like, select it and reindent
some code, e.g., by typing @key{C-M-q} at the start of a function
definition.
@code{whitesmith}, @code{ellemtel}, and @code{awk}. Some of these
styles are primarily intended for one language, but any of them can be
used with any of the languages supported by these modes. To find out
what a style looks like, select it and reindent some code, e.g., by
typing @key{C-M-q} at the start of a function definition.
@kindex C-c . @r{(C mode)}
@findex c-set-style
@ -577,8 +591,8 @@ definition.
.}. Specify a style name as an argument (case is not significant).
This command affects the current buffer only, and it affects only
future invocations of the indentation commands; it does not reindent
the code in the buffer. To reindent the whole buffer in the new
style, you can type @kbd{C-x h C-M-\}.
the code already in the buffer. To reindent the whole buffer in the
new style, you can type @kbd{C-x h C-M-\}.
@vindex c-default-style
You can also set the variable @code{c-default-style} to specify the
@ -589,23 +603,24 @@ example,
@example
(setq c-default-style
'((java-mode . "java") (other . "gnu")))
'((java-mode . "java") (awk-mode . "awk") (other . "gnu")))
@end example
@noindent
specifies an explicit choice for Java mode, and the default @samp{gnu}
style for the other C-like modes. (These settings are actually the
defaults.) This variable takes effect when you select one of the
C-like major modes; thus, if you specify a new default style for Java
mode, you can make it take effect in an existing Java mode buffer by
typing @kbd{M-x java-mode} there.
specifies explicit choices for Java and AWK modes, and the default
@samp{gnu} style for the other C-like modes. (These settings are
actually the defaults.) This variable takes effect when you select
one of the C-like major modes; thus, if you specify a new default
style for Java mode, you can make it take effect in an existing Java
mode buffer by typing @kbd{M-x java-mode} there.
The @code{gnu} style specifies the formatting recommended by the GNU
Project for C; it is the default, so as to encourage use of our
recommended style.
@xref{Customizing Indentation,,, ccmode, the CC Mode Manual}, for
more information on customizing indentation for C and related modes,
@xref{Indentation Engine Basics,,, ccmode, the CC Mode Manual}, and
@ref{Customizing Indentation,,, ccmode, the CC Mode Manual}, for more
information on customizing indentation for C and related modes,
including how to override parts of an existing style and how to define
your own styles.
@ -708,11 +723,12 @@ would move over.
A somewhat random-sounding command which is nevertheless handy is
@kbd{C-M-t} (@code{transpose-sexps}), which drags the previous
balanced expression across the next one. An argument serves as a
repeat count, and a negative argument drags the previous balanced
expression backwards across those before it (thus canceling out the
effect of @kbd{C-M-t} with a positive argument). An argument of zero,
rather than doing nothing, transposes the balanced expressions ending
at or after point and the mark.
repeat count, moving the previous expression over that many following
ones. A negative argument drags the previous balanced expression
backwards across those before it (thus canceling out the effect of
@kbd{C-M-t} with a positive argument). An argument of zero, rather
than doing nothing, transposes the balanced expressions ending at or
after point and the mark.
@kindex C-M-@@
@kindex C-M-@key{SPC}
@ -722,9 +738,9 @@ use @kbd{C-M-@@} (@code{mark-sexp}), which sets mark at the same place
that @kbd{C-M-f} would move to. @kbd{C-M-@@} takes arguments like
@kbd{C-M-f}. In particular, a negative argument is useful for putting
the mark at the beginning of the previous balanced expression. The
alias @kbd{C-M-@key{SPC}} is equivalent to @kbd{C-M-@@}. If you use
this command repeatedly, or in Transient Mark mode whenever the mark
is active, it extends the region by one sexp each time.
alias @kbd{C-M-@key{SPC}} is equivalent to @kbd{C-M-@@}. When you
repeat this command, or use it in Transient Mark mode when the mark is
active, it extends the region by one sexp each time.
In languages that use infix operators, such as C, it is not possible
to recognize all balanced expressions as such because there can be
@ -875,7 +891,7 @@ Set comment column (@code{comment-set-column}).
@item @kbd{C-M-j}
@itemx @kbd{M-j}
Like @key{RET} followed by inserting and aligning a comment
(@code{comment-indent-new-line}).
(@code{comment-indent-new-line}). @xref{Multi-Line Comments}.
@item @kbd{M-x comment-region}
@itemx @kbd{C-c C-c} (in C-like modes)
Add or remove comment delimiters on all the lines in the region.
@ -948,8 +964,13 @@ and by not changing the indentation of a triple-semicolon comment at all.
(1+ x)) ; This line adds one.
@end example
In C code, a comment preceded on its line by nothing but whitespace
is indented like a line of code.
For C-like buffers, you can configure the exact effect of @kbd{M-;}
more flexibly than for most buffers by setting the user options
@code{c-indent-comment-alist} and
@code{c-indent-comments-syntactically-p}. For example, on a line
ending in a closing brace, @kbd{M-;} puts the comment one space after
the brace rather than at @code{comment-column}. For full details see
@ref{Comment Commands,,, ccmode, The CC Mode Manual}.
@node Multi-Line Comments
@subsection Multiple Lines of Comments
@ -958,23 +979,23 @@ is indented like a line of code.
@kindex M-j
@cindex blank lines in programs
@findex comment-indent-new-line
If you are typing a comment and wish to continue it on another line,
you can use the command @kbd{C-M-j} or @kbd{M-j}
(@code{comment-indent-new-line}). This terminates the comment you are
typing, creates a new blank line afterward, and begins a new comment
indented under the old one. When Auto Fill mode is on, going past the
(@code{comment-indent-new-line}). If @code{comment-multi-line}
(@pxref{Options for Comments}) is non-@code{nil}, it moves to a new
line within the comment. Otherwise it closes the comment and starts a
new comment on a new line. When Auto Fill mode is on, going past the
fill column while typing a comment causes the comment to be continued
in just this fashion. If point is not at the end of the line when you
type the command, the text on the rest of the line becomes part of the
new comment line.
in just this fashion.
@kindex C-c C-c (C mode)
@findex comment-region
To turn existing lines into comment lines, use the @kbd{M-x
comment-region} command. It adds comment delimiters to the lines that start
in the region, thus commenting them out. With a negative argument, it
does the opposite---it deletes comment delimiters from the lines in the
region.
comment-region} command (or type @kbd{C-c C-c} in C-like buffers). It
adds comment delimiters to the lines that start in the region, thus
commenting them out. With a negative argument, it does the
opposite---it deletes comment delimiters from the lines in the region.
With a positive argument, @code{comment-region} duplicates the last
character of the comment start sequence it adds; the argument specifies
@ -985,6 +1006,11 @@ can also affect how the comment is indented. In Lisp, for proper
indentation, you should use an argument of two or three, if between defuns;
if within a defun, it must be three.
You can configure C Mode such that when you type a @samp{/} at the
start of a line in a multi-line block comment, this closes the
comment. Enable the @code{comment-close-slash} clean-up for this.
@xref{Clean-ups,,, ccmode, The CC Mode Manual}.
@node Options for Comments
@subsection Options Controlling Comments
@ -1038,13 +1064,13 @@ can hold the actual string to insert.
@vindex comment-multi-line
The variable @code{comment-multi-line} controls how @kbd{C-M-j}
(@code{indent-new-comment-line}) behaves when used inside a comment.
Specifically, when @code{comment-multi-line} is @code{nil} (the
default value), the command inserts a comment terminator, begins a new
line, and finally inserts a comment starter. Otherwise it does not
insert the terminator and starter, so it effectively continues the
current comment across multiple lines. In languages that allow
multi-line comments, the choice of value for this variable is a matter
of taste.
Specifically, when @code{comment-multi-line} is @code{nil}, the
command inserts a comment terminator, begins a new line, and finally
inserts a comment starter. Otherwise it does not insert the
terminator and starter, so it effectively continues the current
comment across multiple lines. In languages that allow multi-line
comments, the choice of value for this variable is a matter of taste.
The default for this variable depends on the major mode.
@vindex comment-indent-function
The variable @code{comment-indent-function} should contain a function
@ -1510,11 +1536,13 @@ Move point to the end of the innermost C statement or sentence; like
@item M-x c-backward-into-nomenclature
@findex c-backward-into-nomenclature
Move point backward to beginning of a C++ nomenclature section or word.
With prefix argument @var{n}, move @var{n} times. If @var{n} is
negative, move forward. C++ nomenclature means a symbol name in the
style of NamingSymbolsWithMixedCaseAndNoUnderlines; each capital letter
begins a section or word.
Move point backward to beginning of a C++ nomenclature section or
word. With prefix argument @var{n}, move @var{n} times. If @var{n}
is negative, move forward. C++ nomenclature means a symbol name in
the style of NamingSymbolsWithMixedCaseAndNoUnderlines; each capital
letter begins a section or word. Rather than this command, you might
well prefer the newer ``Subword Mode'', which does the same thing
better. @xref{Other C Commands}.
In the GNU project, we recommend using underscores to separate words
within an identifier in C or C++, rather than using case distinctions.
@ -1529,154 +1557,90 @@ With prefix argument @var{n}, move @var{n} times.
@subsection Electric C Characters
In C mode and related modes, certain printing characters are
``electric''---in addition to inserting themselves, they also reindent
the current line, and optionally also insert newlines. The
@dfn{electric}---in addition to inserting themselves, they also
reindent the current line, and optionally also insert newlines. The
``electric'' characters are @kbd{@{}, @kbd{@}}, @kbd{:}, @kbd{#},
@kbd{;}, @kbd{,}, @kbd{<}, @kbd{>}, @kbd{/}, @kbd{*}, @kbd{(}, and
@kbd{)}.
Electric characters insert newlines only when the @dfn{auto-newline}
feature is enabled (indicated by @samp{/a} in the mode line after the
mode name). This feature is controlled by the variable
@code{c-auto-newline}. You can turn this feature on or off with the
command @kbd{C-c C-a}:
You might find electric indentation inconvenient if you are editing
chaotically indented code. If you are new to CC Mode, you might find
it disconcerting. You can toggle electric action with the command
@kbd{C-c C-l}; when it is enabled, @samp{/l} appears in the mode line
after the mode name:
@table @kbd
@item C-c C-l
@kindex C-c C-l @r{(C mode)}
@findex c-toggle-electric-state
Toggle electric action (@code{c-toggle-electric-state}). With a
prefix argument, this command enables electric action if the argument
is positive, disables it if it is negative.
@end table
Electric characters insert newlines only when, in addition to the
electric state, the @dfn{auto-newline} feature is enabled (indicated
by @samp{/la} in the mode line after the mode name). You can turn
this feature on or off with the command @kbd{C-c C-a}:
@table @kbd
@item C-c C-a
@kindex C-c C-a @r{(C mode)}
@findex c-toggle-auto-state
Toggle the auto-newline feature (@code{c-toggle-auto-state}). With a
@findex c-toggle-auto-newline
Toggle the auto-newline feature (@code{c-toggle-auto-newline}). With a
prefix argument, this command turns the auto-newline feature on if the
argument is positive, and off if it is negative.
@end table
The colon character is electric because that is appropriate for a
single colon. But when you want to insert a double colon in C++, the
electric behavior of colon is inconvenient. You can insert a double
colon with no reindentation or newlines by typing @kbd{C-c :}:
@table @kbd
@item C-c :
@ifinfo
@c This uses ``colon'' instead of a literal `:' because Info cannot
@c cope with a `:' in a menu
@kindex C-c @key{colon} @r{(C mode)}
@end ifinfo
@ifnotinfo
@kindex C-c : @r{(C mode)}
@end ifnotinfo
@findex c-scope-operator
Insert a double colon scope operator at point, without reindenting the
line or adding any newlines (@code{c-scope-operator}).
@end table
@vindex c-electric-pound-behavior
The electric @kbd{#} key reindents the line if it appears to be the
beginning of a preprocessor directive. This happens when the value of
@code{c-electric-pound-behavior} is @code{(alignleft)}. You can turn
this feature off by setting @code{c-electric-pound-behavior} to
@code{nil}.
@vindex c-hanging-braces-alist
The variable @code{c-hanging-braces-alist} controls the insertion of
newlines before and after inserted braces. It is an association list
with elements of the following form: @code{(@var{syntactic-symbol}
. @var{nl-list})}. Most of the syntactic symbols that appear in
@code{c-offsets-alist} are meaningful here as well.
The list @var{nl-list} may contain either of the symbols
@code{before} or @code{after}, or both; or it may be @code{nil}. When a
brace is inserted, the syntactic context it defines is looked up in
@code{c-hanging-braces-alist}; if it is found, the @var{nl-list} is used
to determine where newlines are inserted: either before the brace,
after, or both. If not found, the default is to insert a newline both
before and after braces.
@vindex c-hanging-colons-alist
The variable @code{c-hanging-colons-alist} controls the insertion of
newlines before and after inserted colons. It is an association list
with elements of the following form: @code{(@var{syntactic-symbol}
. @var{nl-list})}. The list @var{nl-list} may contain either of the
symbols @code{before} or @code{after}, or both; or it may be @code{nil}.
When a colon is inserted, the syntactic symbol it defines is looked
up in this list, and if found, the @var{nl-list} is used to determine
where newlines are inserted: either before the brace, after, or both.
If the syntactic symbol is not found in this list, no newlines are
inserted.
@vindex c-cleanup-list
Electric characters can also delete newlines automatically when the
auto-newline feature is enabled. This feature makes auto-newline more
acceptable, by deleting the newlines in the most common cases where you
do not want them. Emacs can recognize several cases in which deleting a
newline might be desirable; by setting the variable
@code{c-cleanup-list}, you can specify @emph{which} of these cases that
should happen. The variable's value is a list of symbols, each
describing one case for possible deletion of a newline. Here are the
meaningful symbols, and their meanings:
@table @code
@item brace-catch-brace
Clean up @samp{@} catch (@var{condition}) @{} constructs by placing the
entire construct on a single line. The clean-up occurs when you type
the @samp{@{}, if there is nothing between the braces aside from
@code{catch} and @var{condition}.
@item brace-else-brace
Clean up @samp{@} else @{} constructs by placing the entire construct on
a single line. The clean-up occurs when you type the @samp{@{} after
the @code{else}, but only if there is nothing but white space between
the braces and the @code{else}.
@item brace-elseif-brace
Clean up @samp{@} else if (@dots{}) @{} constructs by placing the entire
construct on a single line. The clean-up occurs when you type the
@samp{@{}, if there is nothing but white space between the @samp{@}} and
@samp{@{} aside from the keywords and the @code{if}-condition.
@item empty-defun-braces
Clean up empty defun braces by placing the braces on the same
line. Clean-up occurs when you type the closing brace.
@item defun-close-semi
Clean up the semicolon after a @code{struct} or similar type
declaration, by placing the semicolon on the same line as the closing
brace. Clean-up occurs when you type the semicolon.
@item list-close-comma
Clean up commas following braces in array and aggregate
initializers. Clean-up occurs when you type the comma.
@item scope-operator
Clean up double colons which may designate a C++ scope operator, by
placing the colons together. Clean-up occurs when you type the second
colon, but only when the two colons are separated by nothing but
whitespace.
@end table
Usually the CC Mode style configures the exact circumstances in
which Emacs inserts auto-newlines. You can also configure this
directly. @xref{Custom Auto-newlines,,, ccmode, The CC Mode Manual}.
@node Hungry Delete
@subsection Hungry Delete Feature in C
@cindex hungry deletion (C Mode)
When the @dfn{hungry-delete} feature is enabled (indicated by
@samp{/h} or @samp{/ah} in the mode line after the mode name), a single
@key{DEL} command deletes all preceding whitespace, not just one space.
To turn this feature on or off, use @kbd{C-c C-d}:
If you want to delete an entire block of whitespace at point, you
can use @dfn{hungry deletion}. This deletes all the contiguous
whitespace either before point or after point in a single operation.
@dfn{Whitespace} here includes tabs and newlines, but not comments or
preprocessor commands.
@table @kbd
@item C-c C-d
@kindex C-c C-d @r{(C mode)}
@findex c-toggle-hungry-state
Toggle the hungry-delete feature (@code{c-toggle-hungry-state}). With a
prefix argument, this command turns the hungry-delete feature on if the
argument is positive, and off if it is negative.
@item C-c C-@key{BS}
@itemx C-c @key{BS}
@findex c-hungry-backspace
@kindex C-c C-@key{BS} (C Mode)
@kindex C-c @key{BS} (C Mode)
@code{c-hungry-backspace}---Delete the entire block of whitespace
preceding point.
@item C-c C-t
@kindex C-c C-t @r{(C mode)}
@findex c-toggle-auto-hungry-state
Toggle the auto-newline and hungry-delete features, both at once
(@code{c-toggle-auto-hungry-state}).
@item C-c C-d
@itemx C-c C-@key{DEL}
@itemx C-c @key{DEL}
@findex c-hungry-delete-forward
@kindex C-c C-d (C Mode)
@kindex C-c C-@key{DEL} (C Mode)
@kindex C-c @key{DEL} (C Mode)
@code{c-hungry-delete-forward}---Delete the entire block of whitespace
following point.
@end table
As an alternative to the above commands, you can enable @dfn{hungry
delete mode}. When this feature is enabled (indicated by @samp{/h} in
the mode line after the mode name), a single @key{BS} command deletes
all preceding whitespace, not just one space, and a single @kbd{C-c
C-d} (but @emph{not} @key{delete}) deletes all following whitespace.
@table @kbd
@item M-x c-toggle-hungry-state
@findex c-toggle-hungry-state
Toggle the hungry-delete feature
(@code{c-toggle-hungry-state})@footnote{This command had the binding
@kbd{C-c C-d} in earlier versions of Emacs. @kbd{C-c C-d} is now
bound to @code{c-hungry-delete-forward}.}. With a prefix argument,
this command turns the hungry-delete feature on if the argument is
positive, and off if it is negative.
@end table
@vindex c-hungry-delete-key
@ -1687,6 +1651,16 @@ hungry-delete feature is enabled.
@subsection Other Commands for C Mode
@table @kbd
@item C-c C-w
@itemx M-x c-subword-mode
@findex c-subword-mode
Enable (or disable) @dfn{subword mode}. In subword mode, Emacs's word
commands then recognize upper case letters in
@samp{StudlyCapsIdentifiers} as word boundaries. This is indicated by
the flag @samp{/w} on the mode line after the mode name
(e.g. @samp{C/law}). You can even use @kbd{M-x c-subword-mode} in
non-CC Mode buffers.
@item M-x c-context-line-break
@findex c-context-line-break
This command inserts a line break and indents the new line in a manner
@ -1697,9 +1671,13 @@ it's like @kbd{M-j} (@code{c-indent-new-comment-line}).
@code{c-context-line-break} isn't bound to a key by default, but it
needs a binding to be useful. The following code will bind it to
@kbd{C-j}.
@kbd{C-j}. We use @code{c-initialization-hook} here to make sure
the keymap is loaded before we try to change it.
@example
(define-key c-mode-base-map "\C-j" 'c-context-line-break)
(defun my-bind-clb ()
(define-key c-mode-base-map "\C-j" 'c-context-line-break))
(add-hook 'c-initialization-hook 'my-bind-clb)
@end example
@item C-M-h

View file

@ -1,3 +1,57 @@
2005-12-20 Juri Linkov <juri@jurta.org>
* xmenu.c (Fx_popup_menu): Set Vmenu_updating_frame to f if
position is non-nil, else set it to nil.
* macmenu.c (Fx_popup_menu): Add `else' to set
Vmenu_updating_frame to nil only if position is nil.
* w32menu.c (Fx_popup_menu): Add `else' to set
Vmenu_updating_frame to nil only if position is nil.
2005-12-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* keyboard.c (make_lispy_event): Drag-and-drop items are now
stored in member `args' of struct input_event.
* termhooks.h (struct input_event): Fix comment for DRAG_N_DROP_EVENT.
* xselect.c (x_handle_dnd_message): Drag-and-drop items are now
stored in member `args' of struct input_event.
* w32term.c (construct_drag_n_drop): Likewise.
* macterm.c (mac_do_receive_drag): Likewise.
(x_use_underline_position_properties): Undo 2005-07-13 change.
(syms_of_macterm) <x-use-underline-position-properties>: Likewise.
(mac_use_core_graphics, mac_wheel_button_is_mouse_2)
(mac_pass_command_to_system, mac_pass_control_to_system): New
boolean variables renamed from Lisp_Object ones
Vmac_use_core_graphics, Vmac_wheel_button_is_mouse_2,
Vmac_pass_command_to_system, and Vmac_pass_control_to_system. All
uses changed.
(syms_of_macterm): DEFVAR_BOOL them. Remove previous DEFVAR_LISPs.
Make them user options.
(mac_handle_command_event, mac_store_services_event): Call
create_apple_event_from_event_ref without 5th argument.
(backtranslate_modified_keycode): Mask off modifier keys that are
mapped to some Emacs modifiers before passing it to KeyTranslate.
(syms_of_macterm): Make variables `mac-emulate-three-button-mouse',
`mac-wheel-button-is-mouse-2', and `mac-*-modifier' user options.
Fix docstrings of `mac-*-modifier'.
* mac.c (create_apple_event_from_event_ref): Remove arg `types'.
(do_applescript): Change argument types to Lisp_Object. All uses
changed.
* macterm.h (create_apple_event_from_event_ref): Remove 5th
argument from extern.
2005-12-18 Dan Nicolaescu <dann@ics.uci.edu>
* xfns.c (Fx_backspace_delete_keys_p): In case we cannot determine
the answer, return `lambda', not nil.
2005-12-17 Eli Zaretskii <eliz@gnu.org>
* makefile.w32-in (bootstrap-temacs): Warn that parts of commands

View file

@ -1,6 +1,8 @@
/* GNU Emacs routines to deal with category tables.
Copyright (C) 1995, 1997 Electrotechnical Laboratory, JAPAN.
Licensed to the Free Software Foundation.
Copyright (C) 1998, 2001, 2004 Free Software Foundation, Inc.
Copyright (C) 1995, 1997, 1998, 1999
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H14PRO021
This file is part of GNU Emacs.

View file

@ -1,6 +1,7 @@
/* Declarations having to do with Emacs category tables.
Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
Licensed to the Free Software Foundation.
Copyright (C) 1995, 1998, 1999
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H14PRO021
This file is part of GNU Emacs.

View file

@ -1,7 +1,8 @@
/* CCL (Code Conversion Language) interpreter.
Copyright (C) 1995, 1997 Electrotechnical Laboratory, JAPAN.
Licensed to the Free Software Foundation.
Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 1995, 1997, 1998, 2003, 2004, 2005
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H14PRO021
This file is part of GNU Emacs.

View file

@ -1,6 +1,7 @@
/* Header for CCL (Code Conversion Language) interpreter.
Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
Licensed to the Free Software Foundation.
Copyright (C) 1995, 1998, 2000
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H14PRO021
This file is part of GNU Emacs.

View file

@ -1,7 +1,8 @@
/* Basic multilingual character support.
Copyright (C) 1995, 1997, 1998 Electrotechnical Laboratory, JAPAN.
Licensed to the Free Software Foundation.
Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H14PRO021
This file is part of GNU Emacs.

View file

@ -1,7 +1,8 @@
/* Header for multibyte character handler.
Copyright (C) 1995, 1997, 1998 Electrotechnical Laboratory, JAPAN.
Licensed to the Free Software Foundation.
Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 1995, 1997, 1998, 2003
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H14PRO021
This file is part of GNU Emacs.

View file

@ -1,7 +1,8 @@
/* Coding system handler (conversion, detection, and etc).
Copyright (C) 1995,97,1998,2002,2003 Electrotechnical Laboratory, JAPAN.
Licensed to the Free Software Foundation.
Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 1995, 1997, 1998, 2002, 2003, 2004, 2005
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H14PRO021
This file is part of GNU Emacs.

View file

@ -1,7 +1,8 @@
/* Header for coding system handler.
Copyright (C) 1995, 1997 Electrotechnical Laboratory, JAPAN.
Licensed to the Free Software Foundation.
Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 1995, 1997, 1998, 2000
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H14PRO021
This file is part of GNU Emacs.

View file

@ -1,7 +1,8 @@
/* Composite sequence support.
Copyright (C) 1999 Electrotechnical Laboratory, JAPAN.
Licensed to the Free Software Foundation.
Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 1999
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H14PRO021
This file is part of GNU Emacs.

View file

@ -1,7 +1,8 @@
/* Header for composite sequence handler.
Copyright (C) 1999 Electrotechnical Laboratory, JAPAN.
Licensed to the Free Software Foundation.
Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 1997
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H14PRO021
This file is part of GNU Emacs.

Some files were not shown because too many files have changed in this diff Show more