diff options
Diffstat (limited to 'etc')
80 files changed, 15301 insertions, 17931 deletions
diff --git a/etc/ChangeLog b/etc/ChangeLog index 8d911dcb578..5532a00c1bb 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,113 @@ | |||
| 1 | 2006-06-07 Kenichi Handa <handa@m17n.org> | ||
| 2 | |||
| 3 | * NEWS: Mention how to disable character translation for a file. | ||
| 4 | |||
| 5 | 2006-06-04 Sven Joachim <svenjoac@gmx.de> | ||
| 6 | |||
| 7 | * de-refcard.tex: Update for Emacs 22: Use German quotes | ||
| 8 | and umlauts; fix overfull /hboxes; many rewordings. | ||
| 9 | |||
| 10 | 2006-06-04 Kim F. Storm <storm@cua.dk> | ||
| 11 | |||
| 12 | * NEWS: Move news for pre-22 versions into... | ||
| 13 | * NEWS.21, NEWS.20: ... new files for Emacs 21 and Emacs 20 news. | ||
| 14 | * ONEWS, ONEWS.1, ONEWS.2, ONEWS.3, ONEWS.4: Remove (rename) files ... | ||
| 15 | * NEWS.19, NEWS.18, NEWS.1-17: ... and organize news about older Emacs | ||
| 16 | versions in separte files. Update copyright notices. | ||
| 17 | |||
| 18 | 2006-06-03 Eli Zaretskii <eliz@gnu.org> | ||
| 19 | |||
| 20 | * LPF, LEDIT: Remove files. | ||
| 21 | |||
| 22 | * FTP, README, HELLO, MACHINES, MAILINGLISTS, MORE.STUFF, ETAGS.EBNF: | ||
| 23 | * MOTIVATION, ORDERS, SERVICE, TERMS, TODO: | ||
| 24 | * enriched.doc, ulimit.hack, ses-example.ses, ms-7bkermit, emacs.csh: | ||
| 25 | * Xkeymap.txt, compilation.txt, grep.txt: | ||
| 26 | Add copyright notice and copying permissions. | ||
| 27 | |||
| 28 | 2006-05-31 David Ponce <david@dponce.com> | ||
| 29 | |||
| 30 | * tree-widget/default/close.png, tree-widget/default/close.xpm: | ||
| 31 | * tree-widget/default/empty.png, tree-widget/default/empty.xpm: | ||
| 32 | * tree-widget/default/end-guide.png, tree-widget/default/end-guide.xpm: | ||
| 33 | * tree-widget/default/guide.png, tree-widget/default/guide.xpm: | ||
| 34 | * tree-widget/default/handle.png, tree-widget/default/handle.xpm: | ||
| 35 | * tree-widget/default/leaf.png, tree-widget/default/leaf.xpm: | ||
| 36 | * tree-widget/default/no-guide.png, tree-widget/default/no-guide.xpm: | ||
| 37 | * tree-widget/default/no-handle.png, tree-widget/default/no-handle.xpm: | ||
| 38 | * tree-widget/default/open.png, tree-widget/default/open.xpm: | ||
| 39 | * tree-widget/folder/close.png, tree-widget/folder/close.xpm: | ||
| 40 | * tree-widget/folder/empty.png, tree-widget/folder/empty.xpm: | ||
| 41 | * tree-widget/folder/end-guide.png, tree-widget/folder/end-guide.xpm: | ||
| 42 | * tree-widget/folder/guide.png, tree-widget/folder/guide.xpm: | ||
| 43 | * tree-widget/folder/handle.png, tree-widget/folder/handle.xpm: | ||
| 44 | * tree-widget/folder/leaf.png, tree-widget/folder/leaf.xpm: | ||
| 45 | * tree-widget/folder/no-guide.png, tree-widget/folder/no-guide.xpm: | ||
| 46 | * tree-widget/folder/no-handle.png, tree-widget/folder/no-handle.xpm: | ||
| 47 | * tree-widget/folder/open.png, tree-widget/folder/open.xpm: | ||
| 48 | Reduce the size of images. | ||
| 49 | |||
| 50 | 2006-05-29 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 51 | |||
| 52 | * NEWS: Mention F10 for Gtk+/Leddtif/Lucid menus. | ||
| 53 | |||
| 54 | 2006-05-26 Eli Zaretskii <eliz@gnu.org> | ||
| 55 | |||
| 56 | * ledit.l: Remove file. | ||
| 57 | |||
| 58 | 2006-05-26 Kenichi Handa <handa@m17n.org> | ||
| 59 | |||
| 60 | * NEWS (find-operation-coding-system): Mention the new argument | ||
| 61 | format. | ||
| 62 | |||
| 63 | 2006-05-24 Carsten Dominik <dominik@science.uva.nl> | ||
| 64 | |||
| 65 | * orgcard.tex: (section{Motion}): Added the item navigation | ||
| 66 | commands. | ||
| 67 | (section{Publishing}): New section. | ||
| 68 | (section{Links}): Documented elisp and shell links. | ||
| 69 | |||
| 70 | 2006-05-20 Rodrigo Real <rreal@ucpel.tche.br> | ||
| 71 | |||
| 72 | * pt-br-refcard.tex: Update. | ||
| 73 | |||
| 74 | 2006-05-23 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 75 | |||
| 76 | * pl-refcard.tex (Local variables): Add compile-command. | ||
| 77 | |||
| 78 | * ru-refcard.tex (Local variables): Add compile-command and | ||
| 79 | coding. | ||
| 80 | |||
| 81 | * pt-br-refcard.tex: Don't \input psfig. | ||
| 82 | |||
| 83 | * refcard.tex (section{Info}): Add `i'. Use `s' instead of `M-s'. | ||
| 84 | |||
| 85 | * de-refcard.tex (section{Info}): Ditto. | ||
| 86 | |||
| 87 | * fr-refcard.tex (section{Info}): Ditto. Translation suggested by | ||
| 88 | Stefan Monnier <monnier@iro.umontreal.ca>. | ||
| 89 | |||
| 90 | * pl-refcard.tex (section{Info}): Ditto. Translation suggested by | ||
| 91 | Slawomir Nowaczyk <slawomir.nowaczyk.847@student.lu.se>. | ||
| 92 | |||
| 93 | * cs-refcard.tex (section{Info}): Use `s' instead of `M-s'. Entry | ||
| 94 | for `i' is not translated yet. | ||
| 95 | |||
| 96 | * pt-br-refcard.tex (section{Info}): Ditto. | ||
| 97 | |||
| 98 | * ru-refcard.tex (section{Info}): Ditto. | ||
| 99 | |||
| 100 | * sk-refcard.tex (section{Info}): Ditto. | ||
| 101 | |||
| 102 | 2006-05-22 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 103 | |||
| 104 | * MORE.STUFF: Update AUCTeX entry. | ||
| 105 | |||
| 106 | 2006-05-20 Rodrigo Real <rreal@ucpel.tche.br> | ||
| 107 | |||
| 108 | * pt-br-refcard.tex: | ||
| 109 | * pt-br-refcard.ps: New files. | ||
| 110 | |||
| 1 | 2006-05-15 Reiner Steib <Reiner.Steib@gmx.de> | 111 | 2006-05-15 Reiner Steib <Reiner.Steib@gmx.de> |
| 2 | 112 | ||
| 3 | * sk-refcard.tex: Add coding cookie. | 113 | * sk-refcard.tex: Add coding cookie. |
| @@ -44,8 +154,8 @@ | |||
| 44 | 154 | ||
| 45 | 2006-04-18 Reiner Steib <Reiner.Steib@gmx.de> | 155 | 2006-04-18 Reiner Steib <Reiner.Steib@gmx.de> |
| 46 | 156 | ||
| 47 | * gnus-refcard.tex: Bump version to 5.11. Remove duplicate | 157 | * gnus-refcard.tex: Bump version to 5.11. Remove duplicate \def's. |
| 48 | \def's. Update date. | 158 | Update date. |
| 49 | 159 | ||
| 50 | 2006-04-18 Bill Wohler <wohler@newt.com> | 160 | 2006-04-18 Bill Wohler <wohler@newt.com> |
| 51 | 161 | ||
| @@ -82,8 +192,7 @@ | |||
| 82 | * images/README: Update with following information. | 192 | * images/README: Update with following information. |
| 83 | 193 | ||
| 84 | * images/data-save.xpm, images/mail/flag-for-followup.xpm: | 194 | * images/data-save.xpm, images/mail/flag-for-followup.xpm: |
| 85 | * images/zoom-in.xpm, images/zoom-out.xpm: New images from GNOME | 195 | * images/zoom-in.xpm, images/zoom-out.xpm: New images from GNOME 2.12. |
| 86 | 2.12. | ||
| 87 | 196 | ||
| 88 | * images/contact.pbm, images/data-save.pbm, images/delete.pbm: | 197 | * images/contact.pbm, images/data-save.pbm, images/delete.pbm: |
| 89 | * images/mail/flag-for-followup.pbm, images/mail/inbox.pbm: | 198 | * images/mail/flag-for-followup.pbm, images/mail/inbox.pbm: |
| @@ -115,8 +224,7 @@ | |||
| 115 | * images/mail/alias.xpm, images/mail/refile.pbm: | 224 | * images/mail/alias.xpm, images/mail/refile.pbm: |
| 116 | * images/mail/refile.xpm, images/page-down.pbm: | 225 | * images/mail/refile.xpm, images/page-down.pbm: |
| 117 | * images/page-down.xpm, images/widen.pbm, images/widen.xpm: Remove | 226 | * images/page-down.xpm, images/widen.pbm, images/widen.xpm: Remove |
| 118 | custom MH-E icons since MH-E is now using the equivalent GTK/GNOME | 227 | custom MH-E icons -- MH-E is now using the equivalent GTK/GNOME icons. |
| 119 | icons. | ||
| 120 | 228 | ||
| 121 | 2006-03-23 Romain Francoise <romain@orebokech.com> | 229 | 2006-03-23 Romain Francoise <romain@orebokech.com> |
| 122 | 230 | ||
| @@ -147,8 +255,7 @@ | |||
| 147 | * images/mail/save.xpm, images/mail/send.xpm: | 255 | * images/mail/save.xpm, images/mail/send.xpm: |
| 148 | * images/mail/spam.xpm, images/next-page.xpm: | 256 | * images/mail/spam.xpm, images/next-page.xpm: |
| 149 | * images/refresh.xpm, images/separator.xpm: | 257 | * images/refresh.xpm, images/separator.xpm: |
| 150 | * images/sort-ascending.xpm: | 258 | * images/sort-ascending.xpm, images/sort-column-ascending.xpm: |
| 151 | * images/sort-column-ascending.xpm: | ||
| 152 | * images/sort-criteria.xpm, images/sort-descending.xpm: | 259 | * images/sort-criteria.xpm, images/sort-descending.xpm: |
| 153 | * images/sort-row-ascending.xpm: | 260 | * images/sort-row-ascending.xpm: |
| 154 | New icons, copied from Gnus trunk (originally from Gnome 2.6). | 261 | New icons, copied from Gnus trunk (originally from Gnome 2.6). |
| @@ -637,21 +744,10 @@ | |||
| 637 | 744 | ||
| 638 | Update FSF's address in GPL notices. | 745 | Update FSF's address in GPL notices. |
| 639 | 746 | ||
| 640 | * INTERVIEW: | 747 | * INTERVIEW, calccard.tex, cs-dired-ref.tex, cs-refcard.tex: |
| 641 | * calccard.tex: | 748 | * dired-ref.tex, fr-drdref.tex, fr-refcard.tex, gfdl.1: |
| 642 | * cs-dired-ref.tex: | 749 | * pl-refcard.tex, refcard.tex, ru-refcard.tex, sk-dired-ref.tex: |
| 643 | * cs-refcard.tex: | 750 | * sk-refcard.tex, vipcard.tex, viperCard.tex: Update FSF's address. |
| 644 | * dired-ref.tex: | ||
| 645 | * fr-drdref.tex: | ||
| 646 | * fr-refcard.tex: | ||
| 647 | * gfdl.1: | ||
| 648 | * pl-refcard.tex: | ||
| 649 | * refcard.tex: | ||
| 650 | * ru-refcard.tex: | ||
| 651 | * sk-dired-ref.tex: | ||
| 652 | * sk-refcard.tex: | ||
| 653 | * vipcard.tex: | ||
| 654 | * viperCard.tex: Update FSF's address. | ||
| 655 | 751 | ||
| 656 | 2005-07-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 752 | 2005-07-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 657 | 753 | ||
diff --git a/etc/ETAGS.EBNF b/etc/ETAGS.EBNF index 4d09eaa581d..395080b9c0a 100644 --- a/etc/ETAGS.EBNF +++ b/etc/ETAGS.EBNF | |||
| @@ -1,5 +1,7 @@ | |||
| 1 | -*- indented-text -*- | 1 | -*- indented-text -*- |
| 2 | 2 | ||
| 3 | See the end of this file for copyright information. | ||
| 4 | |||
| 3 | This file contains two sections: | 5 | This file contains two sections: |
| 4 | 6 | ||
| 5 | 1) An EBNF (Extended Backus-Naur Form) description of the format of | 7 | 1) An EBNF (Extended Backus-Naur Form) description of the format of |
| @@ -91,3 +93,22 @@ rightmost consecutive characters in the pattern which are not one of | |||
| 91 | those. | 93 | those. |
| 92 | 94 | ||
| 93 | ===================== end of discussion of tag names ===================== | 95 | ===================== end of discussion of tag names ===================== |
| 96 | |||
| 97 | Copyright (c) 2002, 2004, 2006 | ||
| 98 | Free software Foundation, Inc. | ||
| 99 | |||
| 100 | COPYING PERMISSIONS: | ||
| 101 | |||
| 102 | This document is free software; you can redistribute it and/or modify | ||
| 103 | it under the terms of the GNU General Public License as published by | ||
| 104 | the Free Software Foundation; either version 2 of the License, or | ||
| 105 | (at your option) any later version. | ||
| 106 | |||
| 107 | This program is distributed in the hope that it will be useful, | ||
| 108 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 109 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 110 | GNU General Public License for more details. | ||
| 111 | |||
| 112 | You should have received a copy of the GNU General Public License | ||
| 113 | along with this program; if not, write to the Free Software | ||
| 114 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
| @@ -1,2 +1,7 @@ | |||
| 1 | Please refer to <http://www.gnu.org/software/emacs/> for information | 1 | Please refer to <http://www.gnu.org/software/emacs/> for information |
| 2 | about obtaining Emacs. | 2 | about obtaining Emacs. |
| 3 | |||
| 4 | Copyright (c) 2000, 2006 Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | Verbatim copying and distribution is permitted in any medium | ||
| 7 | provided this notice is preserved. | ||
| @@ -66,3 +66,24 @@ Maltese (Malti) Bon,Cu(Bu, Sa,C11(Ba | |||
| 66 | ;;; Local Variables: | 66 | ;;; Local Variables: |
| 67 | ;;; tab-width: 32 | 67 | ;;; tab-width: 32 |
| 68 | ;;; End: | 68 | ;;; End: |
| 69 | |||
| 70 | |||
| 71 | |||
| 72 | Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 | ||
| 73 | Free software Foundation, Inc. | ||
| 74 | |||
| 75 | COPYING PERMISSIONS: | ||
| 76 | |||
| 77 | This document is free software; you can redistribute it and/or modify | ||
| 78 | it under the terms of the GNU General Public License as published by | ||
| 79 | the Free Software Foundation; either version 2 of the License, or | ||
| 80 | (at your option) any later version. | ||
| 81 | |||
| 82 | This program is distributed in the hope that it will be useful, | ||
| 83 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 84 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 85 | GNU General Public License for more details. | ||
| 86 | |||
| 87 | You should have received a copy of the GNU General Public License | ||
| 88 | along with this program; if not, write to the Free Software | ||
| 89 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
diff --git a/etc/LEDIT b/etc/LEDIT deleted file mode 100644 index 009243f5ec0..00000000000 --- a/etc/LEDIT +++ /dev/null | |||
| @@ -1,77 +0,0 @@ | |||
| 1 | Date: 17 Apr 85 15:45:42 EST (Wed) | ||
| 2 | From: Martin David Connor <mdc@MIT-HTVAX.ARPA> | ||
| 3 | |||
| 4 | Date: Sat, 13 Apr 85 16:28:15 est | ||
| 5 | From: Richard M. Stallman <rms@mit-prep> | ||
| 6 | |||
| 7 | Can you help this person? Also, can you give me the rest of ledit | ||
| 8 | to distribute, plus some info on how to use it? | ||
| 9 | |||
| 10 | I have put the files "ledit.l" and "leditcfns.c" on prep:~mdc. | ||
| 11 | Much to my disgust ledit.l relied on some bogus little package of | ||
| 12 | functions on HT, so I had to massage it a bit. | ||
| 13 | |||
| 14 | To get it to work, one must: | ||
| 15 | |||
| 16 | - Compile leditcfns.c with something like: | ||
| 17 | |||
| 18 | cc leditcfns.c | ||
| 19 | |||
| 20 | - Edit ledit.l, changing the line beginning "(cfasl" to | ||
| 21 | have the right pathname for the cfns file you compiled in | ||
| 22 | the last step. | ||
| 23 | |||
| 24 | - Compile ledit.l with: | ||
| 25 | |||
| 26 | liszt ledit.l | ||
| 27 | |||
| 28 | Then put the following lines in your .lisprc file: | ||
| 29 | |||
| 30 | ;load in functions for emacs interface | ||
| 31 | (load "//src//mdc//ledit//ledit") ; Location of Ledit library | ||
| 32 | (set-proc-str "%gnumacs") ; Name of editor | ||
| 33 | |||
| 34 | Then you can use ^E <RETURN> to get from LISP back to gnumacs. | ||
| 35 | |||
| 36 | Here is the part of my .emacs file that pertains to ledit. | ||
| 37 | |||
| 38 | ;;; Set up ledit mode | ||
| 39 | (setq ledit-go-to-lisp-string "%lisp") | ||
| 40 | (setq lisp-mode-hook 'ledit-from-lisp-mode) | ||
| 41 | |||
| 42 | Date: Sat, 13 Apr 85 11:26:32 cst | ||
| 43 | From: neves@wisc-ai.arpa (David Neves) | ||
| 44 | |||
| 45 | This is a documentation question. | ||
| 46 | I cannot figure out how to use Ledit. I suspect I need some | ||
| 47 | function on the Franz Lisp end of things to go to Emacs and read in | ||
| 48 | the temporary file. Is this true? Is the Lisp job started within | ||
| 49 | Emacs or outside of emacs? I'm just plain confused. Perhaps a couple | ||
| 50 | of words from someone in the know would help. | ||
| 51 | |||
| 52 | A related question. I have been using a shell buffer when interacting | ||
| 53 | with Lisp (ie. put a definition in the kill buffer and then yank it | ||
| 54 | into the shell buffer to redefine it). This is nice but tends to fill | ||
| 55 | up the shell buffer with lots of code (I'd rather keep calls to functions | ||
| 56 | in the shell and not the functions themselves). | ||
| 57 | My question: Is using the shell buffer "better" than ledit? Am I using | ||
| 58 | it in the best way (i.e. copying definitions from an edit buffer to the | ||
| 59 | shell buffer)? -Thanks, David Neves | ||
| 60 | |||
| 61 | I have found that ledit works well for doing programming development | ||
| 62 | when you are changing lots of little pieces of a file and don't wish | ||
| 63 | to recompile the whole file. Of course M-X Compile is very nice for | ||
| 64 | calling up a liszt on a buffer and watching it in the another window. | ||
| 65 | Of course the interface of something like NIL is even better because | ||
| 66 | you can compile your function directly into your lisp. But since NIL | ||
| 67 | doesn't run under Unix, this is probably the next best thing. | ||
| 68 | |||
| 69 | I have tried the 2 window method (shell in lower window, lisp code in | ||
| 70 | upper), and have found it a little awkward. It does have certain | ||
| 71 | advantages, but most of the time, I get be fine using M-C-D to save a | ||
| 72 | defun for lisp, and C-X Z to jump back to LISP. C-E RETURN from lisp | ||
| 73 | is also mnemonic for getting back to gnumacs. | ||
| 74 | |||
| 75 | I hope this helps somewhat. | ||
| 76 | |||
| 77 | |||
diff --git a/etc/LPF b/etc/LPF deleted file mode 100644 index 02c7d28d150..00000000000 --- a/etc/LPF +++ /dev/null | |||
| @@ -1,43 +0,0 @@ | |||
| 1 | Protect Your Freedom to Write Programs | ||
| 2 | Join the League for Programming Freedom | ||
| 3 | (Version of February 3, 1994) | ||
| 4 | |||
| 5 | Ten years ago, programmers were allowed to write programs using all | ||
| 6 | the techniques they knew, and providing whatever features they felt | ||
| 7 | were useful. This is no longer the case. New monopolies, known as | ||
| 8 | software patents and interface copyrights, have taken away our freedom | ||
| 9 | of expression and our ability to do a good job. | ||
| 10 | |||
| 11 | "Look and feel" lawsuits attempt to monopolize well-known command | ||
| 12 | languages; some have succeeded. Copyrights on command languages | ||
| 13 | enforce gratuitous incompatibility, close opportunities for | ||
| 14 | competition, and stifle incremental improvements. | ||
| 15 | |||
| 16 | Software patents are even more dangerous; they make every design | ||
| 17 | decision in the development of a program carry a risk of a lawsuit, | ||
| 18 | with draconian pretrial seizure. It is difficult and expensive to | ||
| 19 | find out whether the techniques you consider using are patented; it is | ||
| 20 | impossible to find out whether they will be patented in the future. | ||
| 21 | |||
| 22 | The League for Programming Freedom is a grass-roots organization of | ||
| 23 | professors, students, businessmen, programmers and users dedicated to | ||
| 24 | bringing back the freedom to write programs. The League is not | ||
| 25 | opposed to the legal system that Congress expressly established for | ||
| 26 | software--copyright on individual programs. Our aim is to reverse the | ||
| 27 | recent changes that prevent programmers from doing their work. | ||
| 28 | |||
| 29 | The League works to abolish the new monopolies by publishing articles, | ||
| 30 | talking with public officials, denouncing egregious offenders, and | ||
| 31 | filing amicus curiae briefs, most notably against Lotus in its suit | ||
| 32 | against Borland. We testified twice at the recent Patent Office | ||
| 33 | hearings on software patents. We welcome suggestions for other | ||
| 34 | activities, as well as help in carrying them out. | ||
| 35 | |||
| 36 | |||
| 37 | (Added 2003) The League for Programming Freedom is inactive nowadays, | ||
| 38 | though its web site www.programming-freedom.org is still maintained. | ||
| 39 | It would be very useful to find a person who could take the initiative | ||
| 40 | to get the LPF operating again. It will be a substantial job, | ||
| 41 | requiring persistence and working with a lawyer. If you want to do | ||
| 42 | it, please write to rms@gnu.org. | ||
| 43 | |||
diff --git a/etc/MACHINES b/etc/MACHINES index ee57fc6d0b0..9d7e81ebb97 100644 --- a/etc/MACHINES +++ b/etc/MACHINES | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | Emacs machines list | ||
| 2 | |||
| 3 | Copyright (c) 1989, 1990, 1992, 1993, 1998, 2001, 2003, 2006 | ||
| 4 | Free software Foundation, Inc. | ||
| 5 | See the end of the file for copying permissions. | ||
| 6 | |||
| 1 | This is a list of the status of GNU Emacs on various machines and systems. | 7 | This is a list of the status of GNU Emacs on various machines and systems. |
| 2 | 8 | ||
| 3 | For each system and machine, we give the configuration name you should | 9 | For each system and machine, we give the configuration name you should |
| @@ -1470,5 +1476,17 @@ mode: indented-text | |||
| 1470 | fill-prefix: " " | 1476 | fill-prefix: " " |
| 1471 | End: | 1477 | End: |
| 1472 | 1478 | ||
| 1479 | COPYING PERMISSIONS: | ||
| 1480 | |||
| 1481 | Permission is hereby granted, free of charge, to any person obtaining | ||
| 1482 | a copy of this file, to deal in the file without restriction, including | ||
| 1483 | without limitation the rights to use, copy, modify, merge, publish, | ||
| 1484 | distribute, sublicense, and/or sell copies of the file, and to | ||
| 1485 | permit persons to whom the file is furnished to do so, subject to | ||
| 1486 | the following condition: | ||
| 1487 | |||
| 1488 | The above copyright notice and this permission notice shall be | ||
| 1489 | included in all copies or substantial portions of the file. | ||
| 1490 | |||
| 1473 | 1491 | ||
| 1474 | arch-tag: 7d2e93c7-e982-40ec-9055-3cd064042473 | 1492 | arch-tag: 7d2e93c7-e982-40ec-9055-3cd064042473 |
diff --git a/etc/MAILINGLISTS b/etc/MAILINGLISTS index ff3d5013b74..531e57522ee 100644 --- a/etc/MAILINGLISTS +++ b/etc/MAILINGLISTS | |||
| @@ -1,8 +1,10 @@ | |||
| 1 | GNU Project Electronic Mailing Lists and gnUSENET Newsgroups | 1 | GNU Project Electronic Mailing Lists and gnUSENET Newsgroups |
| 2 | Last Updated 2004-10-19 | 2 | Last Updated 2006-06-03 |
| 3 | 3 | ||
| 4 | Please report improvements to: gnu@gnu.org | 4 | Please report improvements to: gnu@gnu.org |
| 5 | 5 | ||
| 6 | See the end of this file for copyright notice and copying conditions | ||
| 7 | |||
| 6 | * Mailing list archives | 8 | * Mailing list archives |
| 7 | 9 | ||
| 8 | The GNU mailing lists are archived at http://lists.gnu.org. | 10 | The GNU mailing lists are archived at http://lists.gnu.org. |
| @@ -316,4 +318,18 @@ mode: outline | |||
| 316 | fill-column: 72 | 318 | fill-column: 72 |
| 317 | End: | 319 | End: |
| 318 | 320 | ||
| 321 | Copyright (c) 1999, 2003, 2004, 2006 | ||
| 322 | Free software Foundation, Inc. | ||
| 323 | |||
| 324 | Permission is hereby granted, free of charge, to any person obtaining | ||
| 325 | a copy of this file, to deal in the file without restriction, including | ||
| 326 | without limitation the rights to use, copy, modify, merge, publish, | ||
| 327 | distribute, sublicense, and/or sell copies of the file, and to | ||
| 328 | permit persons to whom the file is furnished to do so, subject to | ||
| 329 | the following condition: | ||
| 330 | |||
| 331 | The above copyright notice and this permission notice shall be | ||
| 332 | included in all copies or substantial portions of the file. | ||
| 333 | |||
| 334 | |||
| 319 | arch-tag: 6e42bba8-7532-4a23-8486-99dbc5770a8e | 335 | arch-tag: 6e42bba8-7532-4a23-8486-99dbc5770a8e |
diff --git a/etc/MORE.STUFF b/etc/MORE.STUFF index 69bdd2d2bfb..b3ccc33dda6 100644 --- a/etc/MORE.STUFF +++ b/etc/MORE.STUFF | |||
| @@ -1,4 +1,7 @@ | |||
| 1 | More Neat Stuff for your Emacs | 1 | More Neat Stuff for your Emacs |
| 2 | Copyright (c) 1993, 1999, 2003, 2004, 2005, 2006 | ||
| 3 | Free software Foundation, Inc. | ||
| 4 | See the end of the file for copying permissions. | ||
| 2 | 5 | ||
| 3 | This file describes GNU Emacs programs and resources that are | 6 | This file describes GNU Emacs programs and resources that are |
| 4 | maintained by other people. Some of these may become part of the | 7 | maintained by other people. Some of these may become part of the |
| @@ -117,9 +120,9 @@ the future. | |||
| 117 | You might like to check whether they are packaged for your system. | 120 | You might like to check whether they are packaged for your system. |
| 118 | Several are for Debian GNU/Linux in particular. | 121 | Several are for Debian GNU/Linux in particular. |
| 119 | 122 | ||
| 120 | * AUCTeX: fancy (La)TeX support: <URL:http://www.gnu.org/software/auctex/> | 123 | * AUCTeX: <URL:http://www.gnu.org/software/auctex/> |
| 121 | There's an AUCTeX mail list/newsgroup: | 124 | An extensible package that supports writing and formatting TeX |
| 122 | <URL:news://sunsite.dk/emacs.auctex>. | 125 | files (including AMS-TeX, LaTeX, Texinfo, ConTeXt, and docTeX). |
| 123 | 126 | ||
| 124 | * BBDB: personal Info Rolodex integrated with mail/news: | 127 | * BBDB: personal Info Rolodex integrated with mail/news: |
| 125 | <URL:http://bbdb.sourceforge.net/> | 128 | <URL:http://bbdb.sourceforge.net/> |
| @@ -269,4 +272,12 @@ mode: view | |||
| 269 | eval: (goto-address) | 272 | eval: (goto-address) |
| 270 | End: | 273 | End: |
| 271 | 274 | ||
| 275 | COPYING PERMISSIONS | ||
| 276 | Permission to use, copy, modify, and distribute this | ||
| 277 | software and its documentation for any purpose and without | ||
| 278 | fee is hereby granted, provided that the above copyright | ||
| 279 | notice appear in all copies and that both that copyright | ||
| 280 | notice and this permission notice appear in supporting | ||
| 281 | documentation. | ||
| 282 | |||
| 272 | arch-tag: c1d4e7c8-db85-44e6-909e-659e2b20fefa | 283 | arch-tag: c1d4e7c8-db85-44e6-909e-659e2b20fefa |
diff --git a/etc/MOTIVATION b/etc/MOTIVATION index 267a2333f76..50194925f13 100644 --- a/etc/MOTIVATION +++ b/etc/MOTIVATION | |||
| @@ -7,6 +7,9 @@ Special to the Boston Globe | |||
| 7 | [reprinted with permission of the author | 7 | [reprinted with permission of the author |
| 8 | from the Monday 19 January 1987 Boston Globe] | 8 | from the Monday 19 January 1987 Boston Globe] |
| 9 | 9 | ||
| 10 | Verbatim copying and distribution is permitted in any medium | ||
| 11 | provided this notice is preserved. | ||
| 12 | |||
| 10 | In the laboratory, rats get Rice Krispies. In the classroom the top | 13 | In the laboratory, rats get Rice Krispies. In the classroom the top |
| 11 | students get A's, and in the factory or office the best workers get | 14 | students get A's, and in the factory or office the best workers get |
| 12 | raises. It's an article of faith for most of us that rewards promote | 15 | raises. It's an article of faith for most of us that rewards promote |
| @@ -1,12 +1,18 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. 2003-05-21 | 1 | GNU Emacs NEWS -- history of user-visible changes. 2006-06-04 |
| 2 | Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 | 2 | Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 |
| 3 | Free Software Foundation, Inc. | 3 | Free Software Foundation, Inc. |
| 4 | See the end for copying conditions. | 4 | See the end for copying conditions. |
| 5 | 5 | ||
| 6 | Please send Emacs bug reports to bug-gnu-emacs@gnu.org. | 6 | Please send Emacs bug reports to bug-gnu-emacs@gnu.org. |
| 7 | For older news, see the file ONEWS | 7 | If possible, use M-x report-emacs-bug. |
| 8 | You can narrow news to the specific version by calling | 8 | |
| 9 | `view-emacs-news' with a prefix argument or by typing C-u C-h C-n. | 9 | This file is about changes in emacs version 22. |
| 10 | |||
| 11 | See files NEWS.21, NEWS.20, NEWS.19, NEWS.18, and NEWS.1-17 for changes | ||
| 12 | in older emacs versions. | ||
| 13 | |||
| 14 | You can narrow news to a specific version by calling `view-emacs-news' | ||
| 15 | with a prefix argument or by typing C-u C-h C-n. | ||
| 10 | 16 | ||
| 11 | Temporary note: | 17 | Temporary note: |
| 12 | +++ indicates that the appropriate manual has already been updated. | 18 | +++ indicates that the appropriate manual has already been updated. |
| @@ -147,6 +153,12 @@ Type `C-u C-h t' to choose one of them in case your language setup | |||
| 147 | doesn't automatically select the right one. | 153 | doesn't automatically select the right one. |
| 148 | 154 | ||
| 149 | --- | 155 | --- |
| 156 | ** A Portuguese translation of Emacs' reference card has been added. | ||
| 157 | Its name is `pt-br-refcard.tex'. The corresponding PostScript file is | ||
| 158 | also included. | ||
| 159 | |||
| 160 | |||
| 161 | --- | ||
| 150 | ** A French translation of the `Emacs Survival Guide' is available. | 162 | ** A French translation of the `Emacs Survival Guide' is available. |
| 151 | 163 | ||
| 152 | --- | 164 | --- |
| @@ -828,7 +840,7 @@ it remains unchanged. | |||
| 828 | +++ | 840 | +++ |
| 829 | *** New user option `history-delete-duplicates'. | 841 | *** New user option `history-delete-duplicates'. |
| 830 | If set to t when adding a new history element, all previous identical | 842 | If set to t when adding a new history element, all previous identical |
| 831 | elements are deleted. | 843 | elements are deleted from the history list. |
| 832 | 844 | ||
| 833 | ** Redisplay changes: | 845 | ** Redisplay changes: |
| 834 | 846 | ||
| @@ -1059,6 +1071,11 @@ disabled by customizing the variable `use-file-dialog'. | |||
| 1059 | be navigated with the arrow keys (like Gtk+, Mac and W32). | 1071 | be navigated with the arrow keys (like Gtk+, Mac and W32). |
| 1060 | 1072 | ||
| 1061 | +++ | 1073 | +++ |
| 1074 | *** The menu bar for Motif/Lesstif/Lucid/Gtk+ can be navigated with keys. | ||
| 1075 | Pressing F10 shows the first menu in the menu bar. Navigation is done with | ||
| 1076 | the arrow keys, select with the return key and cancel with the escape keys. | ||
| 1077 | |||
| 1078 | +++ | ||
| 1062 | *** The Lucid menus can display multilingual text in your locale. You have | 1079 | *** The Lucid menus can display multilingual text in your locale. You have |
| 1063 | to explicitly specify a fontSet resource for this to work, for example | 1080 | to explicitly specify a fontSet resource for this to work, for example |
| 1064 | `-xrm "Emacs*fontSet: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*"'. | 1081 | `-xrm "Emacs*fontSet: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*"'. |
| @@ -1148,6 +1165,18 @@ mouse-wheel-inhibit-click-time variables. | |||
| 1148 | 1165 | ||
| 1149 | ** Multilingual Environment (Mule) changes: | 1166 | ** Multilingual Environment (Mule) changes: |
| 1150 | 1167 | ||
| 1168 | *** You can disable character translation for a file using the -*- | ||
| 1169 | construct. Include `enable-character-translation: nil' inside the | ||
| 1170 | -*-...-*- to disable any character translation that may happen by | ||
| 1171 | various global and per-coding-system translation tables. You can also | ||
| 1172 | specify it in a local variable list at the end of the file. For | ||
| 1173 | shortcut, instead of using this long variable name, you can append the | ||
| 1174 | character "!" at the end of coding-system name specified in -*- | ||
| 1175 | construct or in a local variable list. For example, if a file has the | ||
| 1176 | following header, it is decoded by the coding system `iso-latin-1' | ||
| 1177 | without any character translation: | ||
| 1178 | ;; -*- coding: iso-latin-1!; -*- | ||
| 1179 | |||
| 1151 | --- | 1180 | --- |
| 1152 | *** Language environment and various default coding systems are setup | 1181 | *** Language environment and various default coding systems are setup |
| 1153 | more correctly according to the current locale name. If the locale | 1182 | more correctly according to the current locale name. If the locale |
| @@ -1368,6 +1397,10 @@ with different file attributes in two dired buffers. | |||
| 1368 | of marked files with the value entered in the minibuffer. | 1397 | of marked files with the value entered in the minibuffer. |
| 1369 | 1398 | ||
| 1370 | +++ | 1399 | +++ |
| 1400 | *** The Dired command `dired-goto-file' is now bound to j, not M-g. | ||
| 1401 | This is to avoid hiding the global key binding of M-g. | ||
| 1402 | |||
| 1403 | +++ | ||
| 1371 | *** In Dired's ! command (dired-do-shell-command), `*' and `?' now | 1404 | *** In Dired's ! command (dired-do-shell-command), `*' and `?' now |
| 1372 | control substitution of the file names only when they are surrounded | 1405 | control substitution of the file names only when they are surrounded |
| 1373 | by whitespace. This means you can now use them as shell wildcards | 1406 | by whitespace. This means you can now use them as shell wildcards |
| @@ -1376,8 +1409,8 @@ double quotes make no difference in the shell, but they prevent | |||
| 1376 | special treatment in `dired-do-shell-command'. | 1409 | special treatment in `dired-do-shell-command'. |
| 1377 | 1410 | ||
| 1378 | +++ | 1411 | +++ |
| 1379 | *** In Dired, the w command now copies the current line's file name | 1412 | *** In Dired, the w command now stores the current line's file name |
| 1380 | into the kill ring. With a zero prefix arg, copies absolute file names. | 1413 | into the kill ring. With a zero prefix arg, it stores the absolute file name. |
| 1381 | 1414 | ||
| 1382 | +++ | 1415 | +++ |
| 1383 | *** In Dired-x, Omitting files is now a minor mode, dired-omit-mode. | 1416 | *** In Dired-x, Omitting files is now a minor mode, dired-omit-mode. |
| @@ -2057,12 +2090,18 @@ subprocess are controlled by the user options `scheme-trace-command', | |||
| 2057 | `scheme-untrace-command' and `scheme-expand-current-form'. | 2090 | `scheme-untrace-command' and `scheme-expand-current-form'. |
| 2058 | 2091 | ||
| 2059 | --- | 2092 | --- |
| 2060 | ** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake. | 2093 | ** Changes in Makefile mode |
| 2094 | |||
| 2095 | *** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake. | ||
| 2061 | 2096 | ||
| 2062 | The former two couldn't be differentiated before, and the latter three | 2097 | The former two couldn't be differentiated before, and the latter three |
| 2063 | are new. Font-locking is robust now and offers new customizable | 2098 | are new. Font-locking is robust now and offers new customizable |
| 2064 | faces. | 2099 | faces. |
| 2065 | 2100 | ||
| 2101 | *** The variable `makefile-query-one-target-method' has been renamed | ||
| 2102 | to `makefile-query-one-target-method-function'. The old name is still | ||
| 2103 | available as alias. | ||
| 2104 | |||
| 2066 | +++ | 2105 | +++ |
| 2067 | ** In Outline mode, `hide-body' no longer hides lines at the top | 2106 | ** In Outline mode, `hide-body' no longer hides lines at the top |
| 2068 | of the file that precede the first header line. | 2107 | of the file that precede the first header line. |
| @@ -2678,6 +2717,10 @@ i.e., there is always a closing tag. | |||
| 2678 | By default, its setting is inferred on a buffer-by-buffer basis | 2717 | By default, its setting is inferred on a buffer-by-buffer basis |
| 2679 | from the file name or buffer contents. | 2718 | from the file name or buffer contents. |
| 2680 | 2719 | ||
| 2720 | *** The variable `sgml-transformation' has been renamed to | ||
| 2721 | `sgml-transformation-function'. The old name is still available as | ||
| 2722 | alias. | ||
| 2723 | |||
| 2681 | +++ | 2724 | +++ |
| 2682 | *** `xml-mode' is now an alias for `sgml-mode', which has XML support. | 2725 | *** `xml-mode' is now an alias for `sgml-mode', which has XML support. |
| 2683 | 2726 | ||
| @@ -2755,6 +2798,10 @@ extracting the content of a BibTeX field. | |||
| 2755 | `bibtex-autokey-titleword-case-convert-function'. The old names are | 2798 | `bibtex-autokey-titleword-case-convert-function'. The old names are |
| 2756 | still available as aliases. | 2799 | still available as aliases. |
| 2757 | 2800 | ||
| 2801 | ** In Artist mode the variable `artist-text-renderer' has been | ||
| 2802 | renamed to `artist-text-renderer-function'. The old name is still | ||
| 2803 | available as alias. | ||
| 2804 | |||
| 2758 | +++ | 2805 | +++ |
| 2759 | ** In Enriched mode, `set-left-margin' and `set-right-margin' are now | 2806 | ** In Enriched mode, `set-left-margin' and `set-right-margin' are now |
| 2760 | by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l' | 2807 | by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l' |
| @@ -3366,7 +3413,9 @@ C-x C-f passes the file name to `find-file' with non-nil WILDCARDS | |||
| 3366 | argument, which visits multiple files, and C-x d passes it to `dired'. | 3413 | argument, which visits multiple files, and C-x d passes it to `dired'. |
| 3367 | 3414 | ||
| 3368 | --- | 3415 | --- |
| 3369 | ** In skeleton.el, `-' marks the `skeleton-point' without interregion interaction. | 3416 | ** Changes in Skeleton |
| 3417 | |||
| 3418 | *** In skeleton.el, `-' marks the `skeleton-point' without interregion interaction. | ||
| 3370 | 3419 | ||
| 3371 | `@' has reverted to only setting `skeleton-positions' and no longer | 3420 | `@' has reverted to only setting `skeleton-positions' and no longer |
| 3372 | sets `skeleton-point'. Skeletons which used @ to mark | 3421 | sets `skeleton-point'. Skeletons which used @ to mark |
| @@ -3374,6 +3423,12 @@ sets `skeleton-point'. Skeletons which used @ to mark | |||
| 3374 | updated `skeleton-insert' docstring explains these new features along | 3423 | updated `skeleton-insert' docstring explains these new features along |
| 3375 | with other details of skeleton construction. | 3424 | with other details of skeleton construction. |
| 3376 | 3425 | ||
| 3426 | *** The variables `skeleton-transformation', `skeleton-filter', and | ||
| 3427 | `skeleton-pair-filter' have been renamed to | ||
| 3428 | `skeleton-transformation-function', `skeleton-filter-function', and | ||
| 3429 | `skeleton-pair-filter-function'. The old names are still available | ||
| 3430 | as aliases. | ||
| 3431 | |||
| 3377 | --- | 3432 | --- |
| 3378 | ** Hideshow mode changes | 3433 | ** Hideshow mode changes |
| 3379 | 3434 | ||
| @@ -3483,6 +3538,27 @@ variable `calculator-radix-grouping-mode'. | |||
| 3483 | 3538 | ||
| 3484 | --- | 3539 | --- |
| 3485 | ** cplus-md.el has been deleted. | 3540 | ** cplus-md.el has been deleted. |
| 3541 | |||
| 3542 | ** Ewoc changes | ||
| 3543 | |||
| 3544 | *** The new function `ewoc-delete' deletes specified nodes. | ||
| 3545 | |||
| 3546 | *** `ewoc-create' now takes optional arg NOSEP, which inhibits insertion of | ||
| 3547 | a newline after each pretty-printed entry and after the header and footer. | ||
| 3548 | This allows you to create multiple-entry ewocs on a single line and to | ||
| 3549 | effect "invisible" nodes by arranging for the pretty-printer to not print | ||
| 3550 | anything for those nodes. | ||
| 3551 | |||
| 3552 | For example, these two sequences of expressions behave identically: | ||
| 3553 | |||
| 3554 | ;; NOSEP nil | ||
| 3555 | (defun PP (data) (insert (format "%S" data))) | ||
| 3556 | (ewoc-create 'PP "start\n") | ||
| 3557 | |||
| 3558 | ;; NOSEP t | ||
| 3559 | (defun PP (data) (insert (format "%S\n" data))) | ||
| 3560 | (ewoc-create 'PP "start\n\n" "\n" t) | ||
| 3561 | |||
| 3486 | 3562 | ||
| 3487 | * Changes in Emacs 22.1 on non-free operating systems | 3563 | * Changes in Emacs 22.1 on non-free operating systems |
| 3488 | 3564 | ||
| @@ -3600,6 +3676,9 @@ w32-use-full-screen-buffer to t. | |||
| 3600 | 3676 | ||
| 3601 | * Incompatible Lisp Changes in Emacs 22.1 | 3677 | * Incompatible Lisp Changes in Emacs 22.1 |
| 3602 | 3678 | ||
| 3679 | ** The function find-operation-coding-system accepts a cons (FILENAME | ||
| 3680 | . BUFFER) in an argument correponding to the target. | ||
| 3681 | |||
| 3603 | --- | 3682 | --- |
| 3604 | ** The variables post-command-idle-hook and post-command-idle-delay have | 3683 | ** The variables post-command-idle-hook and post-command-idle-delay have |
| 3605 | been removed. Use run-with-idle-timer instead. | 3684 | been removed. Use run-with-idle-timer instead. |
| @@ -3630,6 +3709,7 @@ deleting the part of subprocess output that matches the input. | |||
| 3630 | +++ | 3709 | +++ |
| 3631 | ** The variable `memory-full' now remains t until | 3710 | ** The variable `memory-full' now remains t until |
| 3632 | there is no longer a shortage of memory. | 3711 | there is no longer a shortage of memory. |
| 3712 | |||
| 3633 | 3713 | ||
| 3634 | * Lisp Changes in Emacs 22.1 | 3714 | * Lisp Changes in Emacs 22.1 |
| 3635 | 3715 | ||
| @@ -4276,11 +4356,6 @@ ignore the leading dots in file names, so that file names such as | |||
| 4276 | `.emacs' are treated as extensionless. | 4356 | `.emacs' are treated as extensionless. |
| 4277 | 4357 | ||
| 4278 | +++ | 4358 | +++ |
| 4279 | *** `copy-file' now takes an additional option arg MUSTBENEW. | ||
| 4280 | |||
| 4281 | This argument works like the MUSTBENEW argument of write-file. | ||
| 4282 | |||
| 4283 | +++ | ||
| 4284 | *** `visited-file-modtime' and `calendar-time-from-absolute' now return | 4359 | *** `visited-file-modtime' and `calendar-time-from-absolute' now return |
| 4285 | a list of two integers, instead of a cons. | 4360 | a list of two integers, instead of a cons. |
| 4286 | 4361 | ||
| @@ -4374,10 +4449,6 @@ defaults to the current buffer. | |||
| 4374 | was selected when entering the minibuffer. | 4449 | was selected when entering the minibuffer. |
| 4375 | 4450 | ||
| 4376 | +++ | 4451 | +++ |
| 4377 | *** `read-from-minibuffer' now accepts an additional argument KEEP-ALL | ||
| 4378 | saying to put all inputs in the history list, even empty ones. | ||
| 4379 | |||
| 4380 | +++ | ||
| 4381 | *** The `read-file-name' function now takes an additional argument which | 4452 | *** The `read-file-name' function now takes an additional argument which |
| 4382 | specifies a predicate which the file name read must satisfy. The | 4453 | specifies a predicate which the file name read must satisfy. The |
| 4383 | new variable `read-file-name-predicate' contains the predicate argument | 4454 | new variable `read-file-name-predicate' contains the predicate argument |
| @@ -4399,6 +4470,12 @@ whether completion ignores case when reading a file name with the | |||
| 4399 | It is like `read-file-name' except that the defaulting works better | 4470 | It is like `read-file-name' except that the defaulting works better |
| 4400 | for directories, and completion inside it shows only directories. | 4471 | for directories, and completion inside it shows only directories. |
| 4401 | 4472 | ||
| 4473 | +++ | ||
| 4474 | *** The new variable `history-add-new-input' specifies whether to add new | ||
| 4475 | elements in history. If set to nil, minibuffer reading functions don't | ||
| 4476 | add new elements to the history list, so it is possible to do this | ||
| 4477 | afterwards by calling `add-to-history' explicitly. | ||
| 4478 | |||
| 4402 | ** Completion changes: | 4479 | ** Completion changes: |
| 4403 | 4480 | ||
| 4404 | +++ | 4481 | +++ |
| @@ -5672,9335 +5749,14 @@ red splotch. It is an error if the argument to `noreturn' does | |||
| 5672 | return. The macro `1value' suppresses a brown splotch for its argument. | 5749 | return. The macro `1value' suppresses a brown splotch for its argument. |
| 5673 | This macro is a no-op except during test-coverage -- then it signals | 5750 | This macro is a no-op except during test-coverage -- then it signals |
| 5674 | an error if the argument actually returns differing values. | 5751 | an error if the argument actually returns differing values. |
| 5675 | |||
| 5676 | * Installation changes in Emacs 21.3 | ||
| 5677 | |||
| 5678 | ** Support for GNU/Linux on little-endian MIPS and on IBM S390 has | ||
| 5679 | been added. | ||
| 5680 | |||
| 5681 | |||
| 5682 | * Changes in Emacs 21.3 | ||
| 5683 | |||
| 5684 | ** The obsolete C mode (c-mode.el) has been removed to avoid problems | ||
| 5685 | with Custom. | ||
| 5686 | |||
| 5687 | ** UTF-16 coding systems are available, encoding the same characters | ||
| 5688 | as mule-utf-8. | ||
| 5689 | |||
| 5690 | ** There is a new language environment for UTF-8 (set up automatically | ||
| 5691 | in UTF-8 locales). | ||
| 5692 | |||
| 5693 | ** Translation tables are available between equivalent characters in | ||
| 5694 | different Emacs charsets -- for instance `e with acute' coming from the | ||
| 5695 | Latin-1 and Latin-2 charsets. User options `unify-8859-on-encoding-mode' | ||
| 5696 | and `unify-8859-on-decoding-mode' respectively turn on translation | ||
| 5697 | between ISO 8859 character sets (`unification') on encoding | ||
| 5698 | (e.g. writing a file) and decoding (e.g. reading a file). Note that | ||
| 5699 | `unify-8859-on-encoding-mode' is useful and safe, but | ||
| 5700 | `unify-8859-on-decoding-mode' can cause text to change when you read | ||
| 5701 | it and write it out again without edits, so it is not generally advisable. | ||
| 5702 | By default `unify-8859-on-encoding-mode' is turned on. | ||
| 5703 | |||
| 5704 | ** In Emacs running on the X window system, the default value of | ||
| 5705 | `selection-coding-system' is now `compound-text-with-extensions'. | ||
| 5706 | |||
| 5707 | If you want the old behavior, set selection-coding-system to | ||
| 5708 | compound-text, which may be significantly more efficient. Using | ||
| 5709 | compound-text-with-extensions seems to be necessary only for decoding | ||
| 5710 | text from applications under XFree86 4.2, whose behavior is actually | ||
| 5711 | contrary to the compound text specification. | ||
| 5712 | |||
| 5713 | |||
| 5714 | * Installation changes in Emacs 21.2 | ||
| 5715 | |||
| 5716 | ** Support for BSD/OS 5.0 has been added. | ||
| 5717 | |||
| 5718 | ** Support for AIX 5.1 was added. | ||
| 5719 | |||
| 5720 | |||
| 5721 | * Changes in Emacs 21.2 | ||
| 5722 | |||
| 5723 | ** Emacs now supports compound-text extended segments in X selections. | ||
| 5724 | |||
| 5725 | X applications can use `extended segments' to encode characters in | ||
| 5726 | compound text that belong to character sets which are not part of the | ||
| 5727 | list of approved standard encodings for X, e.g. Big5. To paste | ||
| 5728 | selections with such characters into Emacs, use the new coding system | ||
| 5729 | compound-text-with-extensions as the value of selection-coding-system. | ||
| 5730 | |||
| 5731 | ** The default values of `tooltip-delay' and `tooltip-hide-delay' | ||
| 5732 | were changed. | ||
| 5733 | |||
| 5734 | ** On terminals whose erase-char is ^H (Backspace), Emacs | ||
| 5735 | now uses normal-erase-is-backspace-mode. | ||
| 5736 | |||
| 5737 | ** When the *scratch* buffer is recreated, its mode is set from | ||
| 5738 | initial-major-mode, which normally is lisp-interaction-mode, | ||
| 5739 | instead of using default-major-mode. | ||
| 5740 | |||
| 5741 | ** The new option `Info-scroll-prefer-subnodes' causes Info to behave | ||
| 5742 | like the stand-alone Info reader (from the GNU Texinfo package) as far | ||
| 5743 | as motion between nodes and their subnodes is concerned. If it is t | ||
| 5744 | (the default), Emacs behaves as before when you type SPC in a menu: it | ||
| 5745 | visits the subnode pointed to by the first menu entry. If this option | ||
| 5746 | is nil, SPC scrolls to the end of the current node, and only then goes | ||
| 5747 | to the first menu item, like the stand-alone reader does. | ||
| 5748 | |||
| 5749 | This change was already in Emacs 21.1, but wasn't advertised in the | ||
| 5750 | NEWS. | ||
| 5751 | |||
| 5752 | |||
| 5753 | * Lisp Changes in Emacs 21.2 | ||
| 5754 | |||
| 5755 | ** The meanings of scroll-up-aggressively and scroll-down-aggressively | ||
| 5756 | have been interchanged, so that the former now controls scrolling up, | ||
| 5757 | and the latter now controls scrolling down. | ||
| 5758 | |||
| 5759 | ** The variable `compilation-parse-errors-filename-function' can | ||
| 5760 | be used to transform filenames found in compilation output. | ||
| 5761 | |||
| 5762 | |||
| 5763 | * Installation Changes in Emacs 21.1 | ||
| 5764 | |||
| 5765 | See the INSTALL file for information on installing extra libraries and | ||
| 5766 | fonts to take advantage of the new graphical features and extra | ||
| 5767 | charsets in this release. | ||
| 5768 | |||
| 5769 | ** Support for GNU/Linux on IA64 machines has been added. | ||
| 5770 | |||
| 5771 | ** Support for LynxOS has been added. | ||
| 5772 | |||
| 5773 | ** There are new configure options associated with the support for | ||
| 5774 | images and toolkit scrollbars. Use the --help option in `configure' | ||
| 5775 | to list them. | ||
| 5776 | |||
| 5777 | ** You can build a 64-bit Emacs for SPARC/Solaris systems which | ||
| 5778 | support 64-bit executables and also on Irix 6.5. This increases the | ||
| 5779 | maximum buffer size. See etc/MACHINES for instructions. Changes to | ||
| 5780 | build on other 64-bit systems should be straightforward modulo any | ||
| 5781 | necessary changes to unexec. | ||
| 5782 | |||
| 5783 | ** There is a new configure option `--disable-largefile' to omit | ||
| 5784 | Unix-98-style support for large files if that is available. | ||
| 5785 | |||
| 5786 | ** There is a new configure option `--without-xim' that instructs | ||
| 5787 | Emacs to not use X Input Methods (XIM), if these are available. | ||
| 5788 | |||
| 5789 | ** `movemail' defaults to supporting POP. You can turn this off using | ||
| 5790 | the --without-pop configure option, should that be necessary. | ||
| 5791 | |||
| 5792 | ** This version can be built for the Macintosh, but does not implement | ||
| 5793 | all of the new display features described below. The port currently | ||
| 5794 | lacks unexec, asynchronous processes, and networking support. See the | ||
| 5795 | "Emacs and the Mac OS" appendix in the Emacs manual, for the | ||
| 5796 | description of aspects specific to the Mac. | ||
| 5797 | |||
| 5798 | ** Note that the MS-Windows port does not yet implement various of the | ||
| 5799 | new display features described below. | ||
| 5800 | |||
| 5801 | |||
| 5802 | * Changes in Emacs 21.1 | ||
| 5803 | |||
| 5804 | ** Emacs has a new redisplay engine. | ||
| 5805 | |||
| 5806 | The new redisplay handles characters of variable width and height. | ||
| 5807 | Italic text can be used without redisplay problems. Fonts containing | ||
| 5808 | oversized characters, i.e. characters larger than the logical height | ||
| 5809 | of a font can be used. Images of various formats can be displayed in | ||
| 5810 | the text. | ||
| 5811 | |||
| 5812 | ** Emacs has a new face implementation. | ||
| 5813 | |||
| 5814 | The new faces no longer fundamentally use X font names to specify the | ||
| 5815 | font. Instead, each face has several independent attributes--family, | ||
| 5816 | height, width, weight and slant--that it may or may not specify. | ||
| 5817 | These attributes can be merged from various faces, and then together | ||
| 5818 | specify a font. | ||
| 5819 | |||
| 5820 | Faces are supported on terminals that can display color or fonts. | ||
| 5821 | These terminal capabilities are auto-detected. Details can be found | ||
| 5822 | under Lisp changes, below. | ||
| 5823 | |||
| 5824 | ** Emacs can display faces on TTY frames. | ||
| 5825 | |||
| 5826 | Emacs automatically detects terminals that are able to display colors. | ||
| 5827 | Faces with a weight greater than normal are displayed extra-bright, if | ||
| 5828 | the terminal supports it. Faces with a weight less than normal and | ||
| 5829 | italic faces are displayed dimmed, if the terminal supports it. | ||
| 5830 | Underlined faces are displayed underlined if possible. Other face | ||
| 5831 | attributes such as `overline', `strike-through', and `box' are ignored | ||
| 5832 | on terminals. | ||
| 5833 | |||
| 5834 | The command-line options `-fg COLOR', `-bg COLOR', and `-rv' are now | ||
| 5835 | supported on character terminals. | ||
| 5836 | |||
| 5837 | Emacs automatically remaps all X-style color specifications to one of | ||
| 5838 | the colors supported by the terminal. This means you could have the | ||
| 5839 | same color customizations that work both on a windowed display and on | ||
| 5840 | a TTY or when Emacs is invoked with the -nw option. | ||
| 5841 | |||
| 5842 | ** New default font is Courier 12pt under X. | ||
| 5843 | |||
| 5844 | ** Sound support | ||
| 5845 | |||
| 5846 | Emacs supports playing sound files on GNU/Linux and FreeBSD (Voxware | ||
| 5847 | driver and native BSD driver, a.k.a. Luigi's driver). Currently | ||
| 5848 | supported file formats are RIFF-WAVE (*.wav) and Sun Audio (*.au). | ||
| 5849 | You must configure Emacs with the option `--with-sound=yes' to enable | ||
| 5850 | sound support. | ||
| 5851 | |||
| 5852 | ** Emacs now resizes mini-windows if appropriate. | ||
| 5853 | |||
| 5854 | If a message is longer than one line, or minibuffer contents are | ||
| 5855 | longer than one line, Emacs can resize the minibuffer window unless it | ||
| 5856 | is on a frame of its own. You can control resizing and the maximum | ||
| 5857 | minibuffer window size by setting the following variables: | ||
| 5858 | |||
| 5859 | - User option: max-mini-window-height | ||
| 5860 | |||
| 5861 | Maximum height for resizing mini-windows. If a float, it specifies a | ||
| 5862 | fraction of the mini-window frame's height. If an integer, it | ||
| 5863 | specifies a number of lines. | ||
| 5864 | |||
| 5865 | Default is 0.25. | ||
| 5866 | |||
| 5867 | - User option: resize-mini-windows | ||
| 5868 | |||
| 5869 | How to resize mini-windows. If nil, don't resize. If t, always | ||
| 5870 | resize to fit the size of the text. If `grow-only', let mini-windows | ||
| 5871 | grow only, until they become empty, at which point they are shrunk | ||
| 5872 | again. | ||
| 5873 | |||
| 5874 | Default is `grow-only'. | ||
| 5875 | |||
| 5876 | ** LessTif support. | ||
| 5877 | |||
| 5878 | Emacs now runs with the LessTif toolkit (see | ||
| 5879 | <http://www.lesstif.org>). You will need version 0.92.26, or later. | ||
| 5880 | |||
| 5881 | ** LessTif/Motif file selection dialog. | ||
| 5882 | |||
| 5883 | When Emacs is configured to use LessTif or Motif, reading a file name | ||
| 5884 | from a menu will pop up a file selection dialog if `use-dialog-box' is | ||
| 5885 | non-nil. | ||
| 5886 | |||
| 5887 | ** File selection dialog on MS-Windows is supported. | ||
| 5888 | |||
| 5889 | When a file is visited by clicking File->Open, the MS-Windows version | ||
| 5890 | now pops up a standard file selection dialog where you can select a | ||
| 5891 | file to visit. File->Save As also pops up that dialog. | ||
| 5892 | |||
| 5893 | ** Toolkit scroll bars. | ||
| 5894 | |||
| 5895 | Emacs now uses toolkit scroll bars if available. When configured for | ||
| 5896 | LessTif/Motif, it will use that toolkit's scroll bar. Otherwise, when | ||
| 5897 | configured for Lucid and Athena widgets, it will use the Xaw3d scroll | ||
| 5898 | bar if Xaw3d is available. You can turn off the use of toolkit scroll | ||
| 5899 | bars by specifying `--with-toolkit-scroll-bars=no' when configuring | ||
| 5900 | Emacs. | ||
| 5901 | |||
| 5902 | When you encounter problems with the Xaw3d scroll bar, watch out how | ||
| 5903 | Xaw3d is compiled on your system. If the Makefile generated from | ||
| 5904 | Xaw3d's Imakefile contains a `-DNARROWPROTO' compiler option, and your | ||
| 5905 | Emacs system configuration file `s/your-system.h' does not contain a | ||
| 5906 | define for NARROWPROTO, you might consider adding it. Take | ||
| 5907 | `s/freebsd.h' as an example. | ||
| 5908 | |||
| 5909 | Alternatively, if you don't have access to the Xaw3d source code, take | ||
| 5910 | a look at your system's imake configuration file, for example in the | ||
| 5911 | directory `/usr/X11R6/lib/X11/config' (paths are different on | ||
| 5912 | different systems). You will find files `*.cf' there. If your | ||
| 5913 | system's cf-file contains a line like `#define NeedWidePrototypes NO', | ||
| 5914 | add a `#define NARROWPROTO' to your Emacs system configuration file. | ||
| 5915 | |||
| 5916 | The reason for this is that one Xaw3d function uses `double' or | ||
| 5917 | `float' function parameters depending on the setting of NARROWPROTO. | ||
| 5918 | This is not a problem when Imakefiles are used because each system's | ||
| 5919 | imake configuration file contains the necessary information. Since | ||
| 5920 | Emacs doesn't use imake, this has do be done manually. | ||
| 5921 | |||
| 5922 | ** Tool bar support. | ||
| 5923 | |||
| 5924 | Emacs supports a tool bar at the top of a frame under X. For details | ||
| 5925 | of how to define a tool bar, see the page describing Lisp-level | ||
| 5926 | changes. Tool-bar global minor mode controls whether or not it is | ||
| 5927 | displayed and is on by default. The appearance of the bar is improved | ||
| 5928 | if Emacs has been built with XPM image support. Otherwise monochrome | ||
| 5929 | icons will be used. | ||
| 5930 | |||
| 5931 | To make the tool bar more useful, we need contributions of extra icons | ||
| 5932 | for specific modes (with copyright assignments). | ||
| 5933 | |||
| 5934 | ** Tooltips. | ||
| 5935 | |||
| 5936 | Tooltips are small X windows displaying a help string at the current | ||
| 5937 | mouse position. The Lisp package `tooltip' implements them. You can | ||
| 5938 | turn them off via the user option `tooltip-mode'. | ||
| 5939 | |||
| 5940 | Tooltips also provides support for GUD debugging. If activated, | ||
| 5941 | variable values can be displayed in tooltips by pointing at them with | ||
| 5942 | the mouse in source buffers. You can customize various aspects of the | ||
| 5943 | tooltip display in the group `tooltip'. | ||
| 5944 | |||
| 5945 | ** Automatic Hscrolling | ||
| 5946 | |||
| 5947 | Horizontal scrolling now happens automatically if | ||
| 5948 | `automatic-hscrolling' is set (the default). This setting can be | ||
| 5949 | customized. | ||
| 5950 | |||
| 5951 | If a window is scrolled horizontally with set-window-hscroll, or | ||
| 5952 | scroll-left/scroll-right (C-x <, C-x >), this serves as a lower bound | ||
| 5953 | for automatic horizontal scrolling. Automatic scrolling will scroll | ||
| 5954 | the text more to the left if necessary, but won't scroll the text more | ||
| 5955 | to the right than the column set with set-window-hscroll etc. | ||
| 5956 | |||
| 5957 | ** When using a windowing terminal, each Emacs window now has a cursor | ||
| 5958 | of its own. By default, when a window is selected, the cursor is | ||
| 5959 | solid; otherwise, it is hollow. The user-option | ||
| 5960 | `cursor-in-non-selected-windows' controls how to display the | ||
| 5961 | cursor in non-selected windows. If nil, no cursor is shown, if | ||
| 5962 | non-nil a hollow box cursor is shown. | ||
| 5963 | |||
| 5964 | ** Fringes to the left and right of windows are used to display | ||
| 5965 | truncation marks, continuation marks, overlay arrows and alike. The | ||
| 5966 | foreground, background, and stipple of these areas can be changed by | ||
| 5967 | customizing face `fringe'. | ||
| 5968 | |||
| 5969 | ** The mode line under X is now drawn with shadows by default. | ||
| 5970 | You can change its appearance by modifying the face `mode-line'. | ||
| 5971 | In particular, setting the `:box' attribute to nil turns off the 3D | ||
| 5972 | appearance of the mode line. (The 3D appearance makes the mode line | ||
| 5973 | occupy more space, and thus might cause the first or the last line of | ||
| 5974 | the window to be partially obscured.) | ||
| 5975 | |||
| 5976 | The variable `mode-line-inverse-video', which was used in older | ||
| 5977 | versions of emacs to make the mode-line stand out, is now deprecated. | ||
| 5978 | However, setting it to nil will cause the `mode-line' face to be | ||
| 5979 | ignored, and mode-lines to be drawn using the default text face. | ||
| 5980 | |||
| 5981 | ** Mouse-sensitive mode line. | ||
| 5982 | |||
| 5983 | Different parts of the mode line have been made mouse-sensitive on all | ||
| 5984 | systems which support the mouse. Moving the mouse to a | ||
| 5985 | mouse-sensitive part in the mode line changes the appearance of the | ||
| 5986 | mouse pointer to an arrow, and help about available mouse actions is | ||
| 5987 | displayed either in the echo area, or in the tooltip window if you | ||
| 5988 | have enabled one. | ||
| 5989 | |||
| 5990 | Currently, the following actions have been defined: | ||
| 5991 | |||
| 5992 | - Mouse-1 on the buffer name in the mode line goes to the next buffer. | ||
| 5993 | |||
| 5994 | - Mouse-3 on the buffer-name goes to the previous buffer. | ||
| 5995 | |||
| 5996 | - Mouse-2 on the read-only or modified status in the mode line (`%' or | ||
| 5997 | `*') toggles the status. | ||
| 5998 | |||
| 5999 | - Mouse-3 on the major mode name displays a major mode menu. | ||
| 6000 | |||
| 6001 | - Mouse-3 on the mode name displays a minor-mode menu. | ||
| 6002 | |||
| 6003 | ** Hourglass pointer | ||
| 6004 | |||
| 6005 | Emacs can optionally display an hourglass pointer under X. You can | ||
| 6006 | turn the display on or off by customizing group `cursor'. | ||
| 6007 | |||
| 6008 | ** Blinking cursor | ||
| 6009 | |||
| 6010 | M-x blink-cursor-mode toggles a blinking cursor under X and on | ||
| 6011 | terminals having terminal capabilities `vi', `vs', and `ve'. Blinking | ||
| 6012 | and related parameters like frequency and delay can be customized in | ||
| 6013 | the group `cursor'. | ||
| 6014 | |||
| 6015 | ** New font-lock support mode `jit-lock-mode'. | ||
| 6016 | |||
| 6017 | This support mode is roughly equivalent to `lazy-lock' but is | ||
| 6018 | generally faster. It supports stealth and deferred fontification. | ||
| 6019 | See the documentation of the function `jit-lock-mode' for more | ||
| 6020 | details. | ||
| 6021 | |||
| 6022 | Font-lock uses jit-lock-mode as default support mode, so you don't | ||
| 6023 | have to do anything to activate it. | ||
| 6024 | |||
| 6025 | ** The default binding of the Delete key has changed. | ||
| 6026 | |||
| 6027 | The new user-option `normal-erase-is-backspace' can be set to | ||
| 6028 | determine the effect of the Delete and Backspace function keys. | ||
| 6029 | |||
| 6030 | On window systems, the default value of this option is chosen | ||
| 6031 | according to the keyboard used. If the keyboard has both a Backspace | ||
| 6032 | key and a Delete key, and both are mapped to their usual meanings, the | ||
| 6033 | option's default value is set to t, so that Backspace can be used to | ||
| 6034 | delete backward, and Delete can be used to delete forward. On | ||
| 6035 | keyboards which either have only one key (usually labeled DEL), or two | ||
| 6036 | keys DEL and BS which produce the same effect, the option's value is | ||
| 6037 | set to nil, and these keys delete backward. | ||
| 6038 | |||
| 6039 | If not running under a window system, setting this option accomplishes | ||
| 6040 | a similar effect by mapping C-h, which is usually generated by the | ||
| 6041 | Backspace key, to DEL, and by mapping DEL to C-d via | ||
| 6042 | `keyboard-translate'. The former functionality of C-h is available on | ||
| 6043 | the F1 key. You should probably not use this setting on a text-only | ||
| 6044 | terminal if you don't have both Backspace, Delete and F1 keys. | ||
| 6045 | |||
| 6046 | Programmatically, you can call function normal-erase-is-backspace-mode | ||
| 6047 | to toggle the behavior of the Delete and Backspace keys. | ||
| 6048 | |||
| 6049 | ** The default for user-option `next-line-add-newlines' has been | ||
| 6050 | changed to nil, i.e. C-n will no longer add newlines at the end of a | ||
| 6051 | buffer by default. | ||
| 6052 | |||
| 6053 | ** The <home> and <end> keys now move to the beginning or end of the | ||
| 6054 | current line, respectively. C-<home> and C-<end> move to the | ||
| 6055 | beginning and end of the buffer. | ||
| 6056 | |||
| 6057 | ** Emacs now checks for recursive loads of Lisp files. If the | ||
| 6058 | recursion depth exceeds `recursive-load-depth-limit', an error is | ||
| 6059 | signaled. | ||
| 6060 | |||
| 6061 | ** When an error is signaled during the loading of the user's init | ||
| 6062 | file, Emacs now pops up the *Messages* buffer. | ||
| 6063 | |||
| 6064 | ** Emacs now refuses to load compiled Lisp files which weren't | ||
| 6065 | compiled with Emacs. Set `load-dangerous-libraries' to t to change | ||
| 6066 | this behavior. | ||
| 6067 | |||
| 6068 | The reason for this change is an incompatible change in XEmacs's byte | ||
| 6069 | compiler. Files compiled with XEmacs can contain byte codes that let | ||
| 6070 | Emacs dump core. | ||
| 6071 | |||
| 6072 | ** Toggle buttons and radio buttons in menus. | ||
| 6073 | |||
| 6074 | When compiled with LessTif (or Motif) support, Emacs uses toolkit | ||
| 6075 | widgets for radio and toggle buttons in menus. When configured for | ||
| 6076 | Lucid, Emacs draws radio buttons and toggle buttons similar to Motif. | ||
| 6077 | |||
| 6078 | ** The menu bar configuration has changed. The new configuration is | ||
| 6079 | more CUA-compliant. The most significant change is that Options is | ||
| 6080 | now a separate menu-bar item, with Mule and Customize as its submenus. | ||
| 6081 | |||
| 6082 | ** Item Save Options on the Options menu allows saving options set | ||
| 6083 | using that menu. | ||
| 6084 | |||
| 6085 | ** Highlighting of trailing whitespace. | ||
| 6086 | |||
| 6087 | When `show-trailing-whitespace' is non-nil, Emacs displays trailing | ||
| 6088 | whitespace in the face `trailing-whitespace'. Trailing whitespace is | ||
| 6089 | defined as spaces or tabs at the end of a line. To avoid busy | ||
| 6090 | highlighting when entering new text, trailing whitespace is not | ||
| 6091 | displayed if point is at the end of the line containing the | ||
| 6092 | whitespace. | ||
| 6093 | |||
| 6094 | ** C-x 5 1 runs the new command delete-other-frames which deletes | ||
| 6095 | all frames except the selected one. | ||
| 6096 | |||
| 6097 | ** The new user-option `confirm-kill-emacs' can be customized to | ||
| 6098 | let Emacs ask for confirmation before exiting. | ||
| 6099 | |||
| 6100 | ** The header line in an Info buffer is now displayed as an emacs | ||
| 6101 | header-line (which is like a mode-line, but at the top of the window), | ||
| 6102 | so that it remains visible even when the buffer has been scrolled. | ||
| 6103 | This behavior may be disabled by customizing the option | ||
| 6104 | `Info-use-header-line'. | ||
| 6105 | |||
| 6106 | ** Polish, Czech, German, and French translations of Emacs' reference card | ||
| 6107 | have been added. They are named `pl-refcard.tex', `cs-refcard.tex', | ||
| 6108 | `de-refcard.tex' and `fr-refcard.tex'. Postscript files are included. | ||
| 6109 | |||
| 6110 | ** An `Emacs Survival Guide', etc/survival.tex, is available. | ||
| 6111 | |||
| 6112 | ** A reference card for Dired has been added. Its name is | ||
| 6113 | `dired-ref.tex'. A French translation is available in | ||
| 6114 | `fr-drdref.tex'. | ||
| 6115 | |||
| 6116 | ** C-down-mouse-3 is bound differently. Now if the menu bar is not | ||
| 6117 | displayed it pops up a menu containing the items which would be on the | ||
| 6118 | menu bar. If the menu bar is displayed, it pops up the major mode | ||
| 6119 | menu or the Edit menu if there is no major mode menu. | ||
| 6120 | |||
| 6121 | ** Variable `load-path' is no longer customizable through Customize. | ||
| 6122 | |||
| 6123 | You can no longer use `M-x customize-variable' to customize `load-path' | ||
| 6124 | because it now contains a version-dependent component. You can still | ||
| 6125 | use `add-to-list' and `setq' to customize this variable in your | ||
| 6126 | `~/.emacs' init file or to modify it from any Lisp program in general. | ||
| 6127 | |||
| 6128 | ** C-u C-x = provides detailed information about the character at | ||
| 6129 | point in a pop-up window. | ||
| 6130 | |||
| 6131 | ** Emacs can now support 'wheeled' mice (such as the MS IntelliMouse) | ||
| 6132 | under XFree86. To enable this, use the `mouse-wheel-mode' command, or | ||
| 6133 | customize the variable `mouse-wheel-mode'. | ||
| 6134 | |||
| 6135 | The variables `mouse-wheel-follow-mouse' and `mouse-wheel-scroll-amount' | ||
| 6136 | determine where and by how much buffers are scrolled. | ||
| 6137 | |||
| 6138 | ** Emacs' auto-save list files are now by default stored in a | ||
| 6139 | sub-directory `.emacs.d/auto-save-list/' of the user's home directory. | ||
| 6140 | (On MS-DOS, this subdirectory's name is `_emacs.d/auto-save.list/'.) | ||
| 6141 | You can customize `auto-save-list-file-prefix' to change this location. | ||
| 6142 | |||
| 6143 | ** The function `getenv' is now callable interactively. | ||
| 6144 | |||
| 6145 | ** The new user-option `even-window-heights' can be set to nil | ||
| 6146 | to prevent `display-buffer' from evening out window heights. | ||
| 6147 | |||
| 6148 | ** The new command M-x delete-trailing-whitespace RET will delete the | ||
| 6149 | trailing whitespace within the current restriction. You can also add | ||
| 6150 | this function to `write-file-hooks' or `local-write-file-hooks'. | ||
| 6151 | |||
| 6152 | ** When visiting a file with M-x find-file-literally, no newlines will | ||
| 6153 | be added to the end of the buffer even if `require-final-newline' is | ||
| 6154 | non-nil. | ||
| 6155 | |||
| 6156 | ** The new user-option `find-file-suppress-same-file-warnings' can be | ||
| 6157 | set to suppress warnings ``X and Y are the same file'' when visiting a | ||
| 6158 | file that is already visited under a different name. | ||
| 6159 | |||
| 6160 | ** The new user-option `electric-help-shrink-window' can be set to | ||
| 6161 | nil to prevent adjusting the help window size to the buffer size. | ||
| 6162 | |||
| 6163 | ** New command M-x describe-character-set reads a character set name | ||
| 6164 | and displays information about that. | ||
| 6165 | |||
| 6166 | ** The new variable `auto-mode-interpreter-regexp' contains a regular | ||
| 6167 | expression matching interpreters, for file mode determination. | ||
| 6168 | |||
| 6169 | This regular expression is matched against the first line of a file to | ||
| 6170 | determine the file's mode in `set-auto-mode' when Emacs can't deduce a | ||
| 6171 | mode from the file's name. If it matches, the file is assumed to be | ||
| 6172 | interpreted by the interpreter matched by the second group of the | ||
| 6173 | regular expression. The mode is then determined as the mode | ||
| 6174 | associated with that interpreter in `interpreter-mode-alist'. | ||
| 6175 | |||
| 6176 | ** New function executable-make-buffer-file-executable-if-script-p is | ||
| 6177 | suitable as an after-save-hook as an alternative to `executable-chmod'. | ||
| 6178 | |||
| 6179 | ** The most preferred coding-system is now used to save a buffer if | ||
| 6180 | buffer-file-coding-system is `undecided' and it is safe for the buffer | ||
| 6181 | contents. (The most preferred is set by set-language-environment or | ||
| 6182 | by M-x prefer-coding-system.) Thus if you visit an ASCII file and | ||
| 6183 | insert a non-ASCII character from your current language environment, | ||
| 6184 | the file will be saved silently with the appropriate coding. | ||
| 6185 | Previously you would be prompted for a safe coding system. | ||
| 6186 | |||
| 6187 | ** The many obsolete language `setup-...-environment' commands have | ||
| 6188 | been removed -- use `set-language-environment'. | ||
| 6189 | |||
| 6190 | ** The new Custom option `keyboard-coding-system' specifies a coding | ||
| 6191 | system for keyboard input. | ||
| 6192 | |||
| 6193 | ** New variable `inhibit-iso-escape-detection' determines if Emacs' | ||
| 6194 | coding system detection algorithm should pay attention to ISO2022's | ||
| 6195 | escape sequences. If this variable is non-nil, the algorithm ignores | ||
| 6196 | such escape sequences. The default value is nil, and it is | ||
| 6197 | recommended not to change it except for the special case that you | ||
| 6198 | always want to read any escape code verbatim. If you just want to | ||
| 6199 | read a specific file without decoding escape codes, use C-x RET c | ||
| 6200 | (`universal-coding-system-argument'). For instance, C-x RET c latin-1 | ||
| 6201 | RET C-x C-f filename RET. | ||
| 6202 | |||
| 6203 | ** Variable `default-korean-keyboard' is initialized properly from the | ||
| 6204 | environment variable `HANGUL_KEYBOARD_TYPE'. | ||
| 6205 | |||
| 6206 | ** New command M-x list-charset-chars reads a character set name and | ||
| 6207 | displays all characters in that character set. | ||
| 6208 | |||
| 6209 | ** M-x set-terminal-coding-system (C-x RET t) now allows CCL-based | ||
| 6210 | coding systems such as cpXXX and cyrillic-koi8. | ||
| 6211 | |||
| 6212 | ** Emacs now attempts to determine the initial language environment | ||
| 6213 | and preferred and locale coding systems systematically from the | ||
| 6214 | LC_ALL, LC_CTYPE, and LANG environment variables during startup. | ||
| 6215 | |||
| 6216 | ** New language environments `Polish', `Latin-8' and `Latin-9'. | ||
| 6217 | Latin-8 and Latin-9 correspond respectively to the ISO character sets | ||
| 6218 | 8859-14 (Celtic) and 8859-15 (updated Latin-1, with the Euro sign). | ||
| 6219 | GNU Intlfonts doesn't support these yet but recent X releases have | ||
| 6220 | 8859-15. See etc/INSTALL for information on obtaining extra fonts. | ||
| 6221 | There are new Leim input methods for Latin-8 and Latin-9 prefix (only) | ||
| 6222 | and Polish `slash'. | ||
| 6223 | |||
| 6224 | ** New language environments `Dutch' and `Spanish'. | ||
| 6225 | These new environments mainly select appropriate translations | ||
| 6226 | of the tutorial. | ||
| 6227 | |||
| 6228 | ** In Ethiopic language environment, special key bindings for | ||
| 6229 | function keys are changed as follows. This is to conform to "Emacs | ||
| 6230 | Lisp Coding Convention". | ||
| 6231 | |||
| 6232 | new command old-binding | ||
| 6233 | --- ------- ----------- | ||
| 6234 | f3 ethio-fidel-to-sera-buffer f5 | ||
| 6235 | S-f3 ethio-fidel-to-sera-region f5 | ||
| 6236 | C-f3 ethio-fidel-to-sera-mail-or-marker f5 | ||
| 6237 | |||
| 6238 | f4 ethio-sera-to-fidel-buffer unchanged | ||
| 6239 | S-f4 ethio-sera-to-fidel-region unchanged | ||
| 6240 | C-f4 ethio-sera-to-fidel-mail-or-marker unchanged | ||
| 6241 | |||
| 6242 | S-f5 ethio-toggle-punctuation f3 | ||
| 6243 | S-f6 ethio-modify-vowel f6 | ||
| 6244 | S-f7 ethio-replace-space f7 | ||
| 6245 | S-f8 ethio-input-special-character f8 | ||
| 6246 | S-f9 ethio-replace-space unchanged | ||
| 6247 | C-f9 ethio-toggle-space f2 | ||
| 6248 | |||
| 6249 | ** There are new Leim input methods. | ||
| 6250 | New input methods "turkish-postfix", "turkish-alt-postfix", | ||
| 6251 | "greek-mizuochi", "TeX", and "greek-babel" are now part of the Leim | ||
| 6252 | package. | ||
| 6253 | |||
| 6254 | ** The rule of input method "slovak" is slightly changed. Now the | ||
| 6255 | rules for translating "q" and "Q" to "`" (backquote) are deleted, thus | ||
| 6256 | typing them inserts "q" and "Q" respectively. Rules for translating | ||
| 6257 | "=q", "+q", "=Q", and "+Q" to "`" are also deleted. Now, to input | ||
| 6258 | "`", you must type "=q". | ||
| 6259 | |||
| 6260 | ** When your terminal can't display characters from some of the ISO | ||
| 6261 | 8859 character sets but can display Latin-1, you can display | ||
| 6262 | more-or-less mnemonic sequences of ASCII/Latin-1 characters instead of | ||
| 6263 | empty boxes (under a window system) or question marks (not under a | ||
| 6264 | window system). Customize the option `latin1-display' to turn this | ||
| 6265 | on. | ||
| 6266 | |||
| 6267 | ** M-; now calls comment-dwim which tries to do something clever based | ||
| 6268 | on the context. M-x kill-comment is now an alias to comment-kill, | ||
| 6269 | defined in newcomment.el. You can choose different styles of region | ||
| 6270 | commenting with the variable `comment-style'. | ||
| 6271 | |||
| 6272 | ** New user options `display-time-mail-face' and | ||
| 6273 | `display-time-use-mail-icon' control the appearance of mode-line mail | ||
| 6274 | indicator used by the display-time package. On a suitable display the | ||
| 6275 | indicator can be an icon and is mouse-sensitive. | ||
| 6276 | |||
| 6277 | ** On window-systems, additional space can be put between text lines | ||
| 6278 | on the display using several methods | ||
| 6279 | |||
| 6280 | - By setting frame parameter `line-spacing' to PIXELS. PIXELS must be | ||
| 6281 | a positive integer, and specifies that PIXELS number of pixels should | ||
| 6282 | be put below text lines on the affected frame or frames. | ||
| 6283 | |||
| 6284 | - By setting X resource `lineSpacing', class `LineSpacing'. This is | ||
| 6285 | equivalent to specifying the frame parameter. | ||
| 6286 | |||
| 6287 | - By specifying `--line-spacing=N' or `-lsp N' on the command line. | ||
| 6288 | |||
| 6289 | - By setting buffer-local variable `line-spacing'. The meaning is | ||
| 6290 | the same, but applies to the a particular buffer only. | ||
| 6291 | |||
| 6292 | ** The new command `clone-indirect-buffer' can be used to create | ||
| 6293 | an indirect buffer that is a twin copy of the current buffer. The | ||
| 6294 | command `clone-indirect-buffer-other-window', bound to C-x 4 c, | ||
| 6295 | does the same but displays the indirect buffer in another window. | ||
| 6296 | |||
| 6297 | ** New user options `backup-directory-alist' and | ||
| 6298 | `make-backup-file-name-function' control the placement of backups, | ||
| 6299 | typically in a single directory or in an invisible sub-directory. | ||
| 6300 | |||
| 6301 | ** New commands iso-iso2sgml and iso-sgml2iso convert between Latin-1 | ||
| 6302 | characters and the corresponding SGML (HTML) entities. | ||
| 6303 | |||
| 6304 | ** New X resources recognized | ||
| 6305 | |||
| 6306 | *** The X resource `synchronous', class `Synchronous', specifies | ||
| 6307 | whether Emacs should run in synchronous mode. Synchronous mode | ||
| 6308 | is useful for debugging X problems. | ||
| 6309 | |||
| 6310 | Example: | ||
| 6311 | |||
| 6312 | emacs.synchronous: true | ||
| 6313 | |||
| 6314 | *** The X resource `visualClass, class `VisualClass', specifies the | ||
| 6315 | visual Emacs should use. The resource's value should be a string of | ||
| 6316 | the form `CLASS-DEPTH', where CLASS is the name of the visual class, | ||
| 6317 | and DEPTH is the requested color depth as a decimal number. Valid | ||
| 6318 | visual class names are | ||
| 6319 | |||
| 6320 | TrueColor | ||
| 6321 | PseudoColor | ||
| 6322 | DirectColor | ||
| 6323 | StaticColor | ||
| 6324 | GrayScale | ||
| 6325 | StaticGray | ||
| 6326 | |||
| 6327 | Visual class names specified as X resource are case-insensitive, i.e. | ||
| 6328 | `pseudocolor', `Pseudocolor' and `PseudoColor' all have the same | ||
| 6329 | meaning. | ||
| 6330 | |||
| 6331 | The program `xdpyinfo' can be used to list the visual classes | ||
| 6332 | supported on your display, and which depths they have. If | ||
| 6333 | `visualClass' is not specified, Emacs uses the display's default | ||
| 6334 | visual. | ||
| 6335 | |||
| 6336 | Example: | ||
| 6337 | |||
| 6338 | emacs.visualClass: TrueColor-8 | ||
| 6339 | |||
| 6340 | *** The X resource `privateColormap', class `PrivateColormap', | ||
| 6341 | specifies that Emacs should use a private colormap if it is using the | ||
| 6342 | default visual, and that visual is of class PseudoColor. Recognized | ||
| 6343 | resource values are `true' or `on'. | ||
| 6344 | |||
| 6345 | Example: | ||
| 6346 | |||
| 6347 | emacs.privateColormap: true | ||
| 6348 | |||
| 6349 | ** Faces and frame parameters. | ||
| 6350 | |||
| 6351 | There are four new faces `scroll-bar', `border', `cursor' and `mouse'. | ||
| 6352 | Setting the frame parameters `scroll-bar-foreground' and | ||
| 6353 | `scroll-bar-background' sets foreground and background color of face | ||
| 6354 | `scroll-bar' and vice versa. Setting frame parameter `border-color' | ||
| 6355 | sets the background color of face `border' and vice versa. Likewise | ||
| 6356 | for frame parameters `cursor-color' and face `cursor', and frame | ||
| 6357 | parameter `mouse-color' and face `mouse'. | ||
| 6358 | |||
| 6359 | Changing frame parameter `font' sets font-related attributes of the | ||
| 6360 | `default' face and vice versa. Setting frame parameters | ||
| 6361 | `foreground-color' or `background-color' sets the colors of the | ||
| 6362 | `default' face and vice versa. | ||
| 6363 | |||
| 6364 | ** New face `menu'. | ||
| 6365 | |||
| 6366 | The face `menu' can be used to change colors and font of Emacs' menus. | ||
| 6367 | |||
| 6368 | ** New frame parameter `screen-gamma' for gamma correction. | ||
| 6369 | |||
| 6370 | The new frame parameter `screen-gamma' specifies gamma-correction for | ||
| 6371 | colors. Its value may be nil, the default, in which case no gamma | ||
| 6372 | correction occurs, or a number > 0, usually a float, that specifies | ||
| 6373 | the screen gamma of a frame's display. | ||
| 6374 | |||
| 6375 | PC monitors usually have a screen gamma of 2.2. smaller values result | ||
| 6376 | in darker colors. You might want to try a screen gamma of 1.5 for LCD | ||
| 6377 | color displays. The viewing gamma Emacs uses is 0.4545. (1/2.2). | ||
| 6378 | |||
| 6379 | The X resource name of this parameter is `screenGamma', class | ||
| 6380 | `ScreenGamma'. | ||
| 6381 | |||
| 6382 | ** Tabs and variable-width text. | ||
| 6383 | |||
| 6384 | Tabs are now displayed with stretch properties; the width of a tab is | ||
| 6385 | defined as a multiple of the normal character width of a frame, and is | ||
| 6386 | independent of the fonts used in the text where the tab appears. | ||
| 6387 | Thus, tabs can be used to line up text in different fonts. | ||
| 6388 | |||
| 6389 | ** Enhancements of the Lucid menu bar | ||
| 6390 | |||
| 6391 | *** The Lucid menu bar now supports the resource "margin". | ||
| 6392 | |||
| 6393 | emacs.pane.menubar.margin: 5 | ||
| 6394 | |||
| 6395 | The default margin is 4 which makes the menu bar appear like the | ||
| 6396 | LessTif/Motif one. | ||
| 6397 | |||
| 6398 | *** Arrows that indicate sub-menus are now drawn with shadows, as in | ||
| 6399 | LessTif and Motif. | ||
| 6400 | |||
| 6401 | ** A block cursor can be drawn as wide as the glyph under it under X. | ||
| 6402 | |||
| 6403 | As an example: if a block cursor is over a tab character, it will be | ||
| 6404 | drawn as wide as that tab on the display. To do this, set | ||
| 6405 | `x-stretch-cursor' to a non-nil value. | ||
| 6406 | |||
| 6407 | ** Empty display lines at the end of a buffer may be marked with a | ||
| 6408 | bitmap (this is similar to the tilde displayed by vi and Less). | ||
| 6409 | |||
| 6410 | This behavior is activated by setting the buffer-local variable | ||
| 6411 | `indicate-empty-lines' to a non-nil value. The default value of this | ||
| 6412 | variable is found in `default-indicate-empty-lines'. | ||
| 6413 | |||
| 6414 | ** There is a new "aggressive" scrolling method. | ||
| 6415 | |||
| 6416 | When scrolling up because point is above the window start, if the | ||
| 6417 | value of the buffer-local variable `scroll-up-aggressively' is a | ||
| 6418 | number, Emacs chooses a new window start so that point ends up that | ||
| 6419 | fraction of the window's height from the top of the window. | ||
| 6420 | |||
| 6421 | When scrolling down because point is below the window end, if the | ||
| 6422 | value of the buffer-local variable `scroll-down-aggressively' is a | ||
| 6423 | number, Emacs chooses a new window start so that point ends up that | ||
| 6424 | fraction of the window's height from the bottom of the window. | ||
| 6425 | |||
| 6426 | ** You can now easily create new *Info* buffers using either | ||
| 6427 | M-x clone-buffer, C-u m <entry> RET or C-u g <entry> RET. | ||
| 6428 | M-x clone-buffer can also be used on *Help* and several other special | ||
| 6429 | buffers. | ||
| 6430 | |||
| 6431 | ** The command `Info-search' now uses a search history. | ||
| 6432 | |||
| 6433 | ** Listing buffers with M-x list-buffers (C-x C-b) now shows | ||
| 6434 | abbreviated file names. Abbreviations can be customized by changing | ||
| 6435 | `directory-abbrev-alist'. | ||
| 6436 | |||
| 6437 | ** A new variable, backup-by-copying-when-privileged-mismatch, gives | ||
| 6438 | the highest file uid for which backup-by-copying-when-mismatch will be | ||
| 6439 | forced on. The assumption is that uids less than or equal to this | ||
| 6440 | value are special uids (root, bin, daemon, etc.--not real system | ||
| 6441 | users) and that files owned by these users should not change ownership, | ||
| 6442 | even if your system policy allows users other than root to edit them. | ||
| 6443 | |||
| 6444 | The default is 200; set the variable to nil to disable the feature. | ||
| 6445 | |||
| 6446 | ** The rectangle commands now avoid inserting undesirable spaces, | ||
| 6447 | notably at the end of lines. | ||
| 6448 | |||
| 6449 | All these functions have been rewritten to avoid inserting unwanted | ||
| 6450 | spaces, and an optional prefix now allows them to behave the old way. | ||
| 6451 | |||
| 6452 | ** The function `replace-rectangle' is an alias for `string-rectangle'. | ||
| 6453 | |||
| 6454 | ** The new command M-x string-insert-rectangle is like `string-rectangle', | ||
| 6455 | but inserts text instead of replacing it. | ||
| 6456 | |||
| 6457 | ** The new command M-x query-replace-regexp-eval acts like | ||
| 6458 | query-replace-regexp, but takes a Lisp expression which is evaluated | ||
| 6459 | after each match to get the replacement text. | ||
| 6460 | |||
| 6461 | ** M-x query-replace recognizes a new command `e' (or `E') that lets | ||
| 6462 | you edit the replacement string. | ||
| 6463 | |||
| 6464 | ** The new command mail-abbrev-complete-alias, bound to `M-TAB' | ||
| 6465 | (if you load the library `mailabbrev'), lets you complete mail aliases | ||
| 6466 | in the text, analogous to lisp-complete-symbol. | ||
| 6467 | |||
| 6468 | ** The variable `echo-keystrokes' may now have a floating point value. | ||
| 6469 | |||
| 6470 | ** If your init file is compiled (.emacs.elc), `user-init-file' is set | ||
| 6471 | to the source name (.emacs.el), if that exists, after loading it. | ||
| 6472 | |||
| 6473 | ** The help string specified for a menu-item whose definition contains | ||
| 6474 | the property `:help HELP' is now displayed under X, on MS-Windows, and | ||
| 6475 | MS-DOS, either in the echo area or with tooltips. Many standard menus | ||
| 6476 | displayed by Emacs now have help strings. | ||
| 6477 | |||
| 6478 | -- | ||
| 6479 | ** New user option `read-mail-command' specifies a command to use to | ||
| 6480 | read mail from the menu etc. | ||
| 6481 | |||
| 6482 | ** The environment variable `EMACSLOCKDIR' is no longer used on MS-Windows. | ||
| 6483 | This environment variable was used when creating lock files. Emacs on | ||
| 6484 | MS-Windows does not use this variable anymore. This change was made | ||
| 6485 | before Emacs 21.1, but wasn't documented until now. | ||
| 6486 | |||
| 6487 | ** Highlighting of mouse-sensitive regions is now supported in the | ||
| 6488 | MS-DOS version of Emacs. | ||
| 6489 | |||
| 6490 | ** The new command `msdos-set-mouse-buttons' forces the MS-DOS version | ||
| 6491 | of Emacs to behave as if the mouse had a specified number of buttons. | ||
| 6492 | This comes handy with mice that don't report their number of buttons | ||
| 6493 | correctly. One example is the wheeled mice, which report 3 buttons, | ||
| 6494 | but clicks on the middle button are not passed to the MS-DOS version | ||
| 6495 | of Emacs. | ||
| 6496 | |||
| 6497 | ** Customize changes | ||
| 6498 | |||
| 6499 | *** Customize now supports comments about customized items. Use the | ||
| 6500 | `State' menu to add comments, or give a prefix argument to | ||
| 6501 | M-x customize-set-variable or M-x customize-set-value. Note that | ||
| 6502 | customization comments will cause the customizations to fail in | ||
| 6503 | earlier versions of Emacs. | ||
| 6504 | |||
| 6505 | *** The new option `custom-buffer-done-function' says whether to kill | ||
| 6506 | Custom buffers when you've done with them or just bury them (the | ||
| 6507 | default). | ||
| 6508 | |||
| 6509 | *** If Emacs was invoked with the `-q' or `--no-init-file' options, it | ||
| 6510 | does not allow you to save customizations in your `~/.emacs' init | ||
| 6511 | file. This is because saving customizations from such a session would | ||
| 6512 | wipe out all the other customizationss you might have on your init | ||
| 6513 | file. | ||
| 6514 | |||
| 6515 | ** If Emacs was invoked with the `-q' or `--no-init-file' options, it | ||
| 6516 | does not save disabled and enabled commands for future sessions, to | ||
| 6517 | avoid overwriting existing customizations of this kind that are | ||
| 6518 | already in your init file. | ||
| 6519 | |||
| 6520 | ** New features in evaluation commands | ||
| 6521 | |||
| 6522 | *** The commands to evaluate Lisp expressions, such as C-M-x in Lisp | ||
| 6523 | modes, C-j in Lisp Interaction mode, and M-:, now bind the variables | ||
| 6524 | print-level, print-length, and debug-on-error based on the new | ||
| 6525 | customizable variables eval-expression-print-level, | ||
| 6526 | eval-expression-print-length, and eval-expression-debug-on-error. | ||
| 6527 | |||
| 6528 | The default values for the first two of these variables are 12 and 4 | ||
| 6529 | respectively, which means that `eval-expression' now prints at most | ||
| 6530 | the first 12 members of a list and at most 4 nesting levels deep (if | ||
| 6531 | the list is longer or deeper than that, an ellipsis `...' is | ||
| 6532 | printed). | ||
| 6533 | |||
| 6534 | <RET> or <mouse-2> on the printed text toggles between an abbreviated | ||
| 6535 | printed representation and an unabbreviated one. | ||
| 6536 | |||
| 6537 | The default value of eval-expression-debug-on-error is t, so any error | ||
| 6538 | during evaluation produces a backtrace. | ||
| 6539 | |||
| 6540 | *** The function `eval-defun' (C-M-x) now loads Edebug and instruments | ||
| 6541 | code when called with a prefix argument. | ||
| 6542 | |||
| 6543 | ** CC mode changes. | ||
| 6544 | |||
| 6545 | Note: This release contains changes that might not be compatible with | ||
| 6546 | current user setups (although it's believed that these | ||
| 6547 | incompatibilities will only show in very uncommon circumstances). | ||
| 6548 | However, since the impact is uncertain, these changes may be rolled | ||
| 6549 | back depending on user feedback. Therefore there's no forward | ||
| 6550 | compatibility guarantee wrt the new features introduced in this | ||
| 6551 | release. | ||
| 6552 | |||
| 6553 | *** The hardcoded switch to "java" style in Java mode is gone. | ||
| 6554 | CC Mode used to automatically set the style to "java" when Java mode | ||
| 6555 | is entered. This has now been removed since it caused too much | ||
| 6556 | confusion. | ||
| 6557 | |||
| 6558 | However, to keep backward compatibility to a certain extent, the | ||
| 6559 | default value for c-default-style now specifies the "java" style for | ||
| 6560 | java-mode, but "gnu" for all other modes (as before). So you won't | ||
| 6561 | notice the change if you haven't touched that variable. | ||
| 6562 | |||
| 6563 | *** New cleanups, space-before-funcall and compact-empty-funcall. | ||
| 6564 | Two new cleanups have been added to c-cleanup-list: | ||
| 6565 | |||
| 6566 | space-before-funcall causes a space to be inserted before the opening | ||
| 6567 | parenthesis of a function call, which gives the style "foo (bar)". | ||
| 6568 | |||
| 6569 | compact-empty-funcall causes any space before a function call opening | ||
| 6570 | parenthesis to be removed if there are no arguments to the function. | ||
| 6571 | It's typically useful together with space-before-funcall to get the | ||
| 6572 | style "foo (bar)" and "foo()". | ||
| 6573 | |||
| 6574 | *** Some keywords now automatically trigger reindentation. | ||
| 6575 | Keywords like "else", "while", "catch" and "finally" have been made | ||
| 6576 | "electric" to make them reindent automatically when they continue an | ||
| 6577 | earlier statement. An example: | ||
| 6578 | |||
| 6579 | for (i = 0; i < 17; i++) | ||
| 6580 | if (a[i]) | ||
| 6581 | res += a[i]->offset; | ||
| 6582 | else | ||
| 6583 | |||
| 6584 | Here, the "else" should be indented like the preceding "if", since it | ||
| 6585 | continues that statement. CC Mode will automatically reindent it after | ||
| 6586 | the "else" has been typed in full, since it's not until then it's | ||
| 6587 | possible to decide whether it's a new statement or a continuation of | ||
| 6588 | the preceding "if". | ||
| 6589 | |||
| 6590 | CC Mode uses Abbrev mode to achieve this, which is therefore turned on | ||
| 6591 | by default. | ||
| 6592 | |||
| 6593 | *** M-a and M-e now moves by sentence in multiline strings. | ||
| 6594 | Previously these two keys only moved by sentence in comments, which | ||
| 6595 | meant that sentence movement didn't work in strings containing | ||
| 6596 | documentation or other natural language text. | ||
| 6597 | |||
| 6598 | The reason it's only activated in multiline strings (i.e. strings that | ||
| 6599 | contain a newline, even when escaped by a '\') is to avoid stopping in | ||
| 6600 | the short strings that often reside inside statements. Multiline | ||
| 6601 | strings almost always contain text in a natural language, as opposed | ||
| 6602 | to other strings that typically contain format specifications, | ||
| 6603 | commands, etc. Also, it's not that bothersome that M-a and M-e misses | ||
| 6604 | sentences in single line strings, since they're short anyway. | ||
| 6605 | |||
| 6606 | *** Support for autodoc comments in Pike mode. | ||
| 6607 | Autodoc comments for Pike are used to extract documentation from the | ||
| 6608 | source, like Javadoc in Java. Pike mode now recognize this markup in | ||
| 6609 | comment prefixes and paragraph starts. | ||
| 6610 | |||
| 6611 | *** The comment prefix regexps on c-comment-prefix may be mode specific. | ||
| 6612 | When c-comment-prefix is an association list, it specifies the comment | ||
| 6613 | line prefix on a per-mode basis, like c-default-style does. This | ||
| 6614 | change came about to support the special autodoc comment prefix in | ||
| 6615 | Pike mode only. | ||
| 6616 | |||
| 6617 | *** Better handling of syntactic errors. | ||
| 6618 | The recovery after unbalanced parens earlier in the buffer has been | ||
| 6619 | improved; CC Mode now reports them by dinging and giving a message | ||
| 6620 | stating the offending line, but still recovers and indent the | ||
| 6621 | following lines in a sane way (most of the time). An "else" with no | ||
| 6622 | matching "if" is handled similarly. If an error is discovered while | ||
| 6623 | indenting a region, the whole region is still indented and the error | ||
| 6624 | is reported afterwards. | ||
| 6625 | |||
| 6626 | *** Lineup functions may now return absolute columns. | ||
| 6627 | A lineup function can give an absolute column to indent the line to by | ||
| 6628 | returning a vector with the desired column as the first element. | ||
| 6629 | |||
| 6630 | *** More robust and warning-free byte compilation. | ||
| 6631 | Although this is strictly not a user visible change (well, depending | ||
| 6632 | on the view of a user), it's still worth mentioning that CC Mode now | ||
| 6633 | can be compiled in the standard ways without causing trouble. Some | ||
| 6634 | code have also been moved between the subpackages to enhance the | ||
| 6635 | modularity somewhat. Thanks to Martin Buchholz for doing the | ||
| 6636 | groundwork. | ||
| 6637 | |||
| 6638 | *** c-style-variables-are-local-p now defaults to t. | ||
| 6639 | This is an incompatible change that has been made to make the behavior | ||
| 6640 | of the style system wrt global variable settings less confusing for | ||
| 6641 | non-advanced users. If you know what this variable does you might | ||
| 6642 | want to set it to nil in your .emacs, otherwise you probably don't | ||
| 6643 | have to bother. | ||
| 6644 | |||
| 6645 | Defaulting c-style-variables-are-local-p to t avoids the confusing | ||
| 6646 | situation that occurs when a user sets some style variables globally | ||
| 6647 | and edits both a Java and a non-Java file in the same Emacs session. | ||
| 6648 | If the style variables aren't buffer local in this case, loading of | ||
| 6649 | the second file will cause the default style (either "gnu" or "java" | ||
| 6650 | by default) to override the global settings made by the user. | ||
| 6651 | |||
| 6652 | *** New initialization procedure for the style system. | ||
| 6653 | When the initial style for a buffer is determined by CC Mode (from the | ||
| 6654 | variable c-default-style), the global values of style variables now | ||
| 6655 | take precedence over the values specified by the chosen style. This | ||
| 6656 | is different than the old behavior: previously, the style-specific | ||
| 6657 | settings would override the global settings. This change makes it | ||
| 6658 | possible to do simple configuration in the intuitive way with | ||
| 6659 | Customize or with setq lines in one's .emacs file. | ||
| 6660 | |||
| 6661 | By default, the global value of every style variable is the new | ||
| 6662 | special symbol set-from-style, which causes the value to be taken from | ||
| 6663 | the style system. This means that in effect, only an explicit setting | ||
| 6664 | of a style variable will cause the "overriding" behavior described | ||
| 6665 | above. | ||
| 6666 | |||
| 6667 | Also note that global settings override style-specific settings *only* | ||
| 6668 | when the initial style of a buffer is chosen by a CC Mode major mode | ||
| 6669 | function. When a style is chosen in other ways --- for example, by a | ||
| 6670 | call like (c-set-style "gnu") in a hook, or via M-x c-set-style --- | ||
| 6671 | then the style-specific values take precedence over any global style | ||
| 6672 | values. In Lisp terms, global values override style-specific values | ||
| 6673 | only when the new second argument to c-set-style is non-nil; see the | ||
| 6674 | function documentation for more info. | ||
| 6675 | |||
| 6676 | The purpose of these changes is to make it easier for users, | ||
| 6677 | especially novice users, to do simple customizations with Customize or | ||
| 6678 | with setq in their .emacs files. On the other hand, the new system is | ||
| 6679 | intended to be compatible with advanced users' customizations as well, | ||
| 6680 | such as those that choose styles in hooks or whatnot. This new system | ||
| 6681 | is believed to be almost entirely compatible with current | ||
| 6682 | configurations, in spite of the changed precedence between style and | ||
| 6683 | global variable settings when a buffer's default style is set. | ||
| 6684 | |||
| 6685 | (Thanks to Eric Eide for clarifying this explanation a bit.) | ||
| 6686 | |||
| 6687 | **** c-offsets-alist is now a customizable variable. | ||
| 6688 | This became possible as a result of the new initialization behavior. | ||
| 6689 | |||
| 6690 | This variable is treated slightly differently from the other style | ||
| 6691 | variables; instead of using the symbol set-from-style, it will be | ||
| 6692 | completed with the syntactic symbols it doesn't already contain when | ||
| 6693 | the style is first initialized. This means it now defaults to the | ||
| 6694 | empty list to make all syntactic elements get their values from the | ||
| 6695 | style system. | ||
| 6696 | |||
| 6697 | **** Compatibility variable to restore the old behavior. | ||
| 6698 | In case your configuration doesn't work with this change, you can set | ||
| 6699 | c-old-style-variable-behavior to non-nil to get the old behavior back | ||
| 6700 | as far as possible. | ||
| 6701 | |||
| 6702 | *** Improvements to line breaking and text filling. | ||
| 6703 | CC Mode now handles this more intelligently and seamlessly wrt the | ||
| 6704 | surrounding code, especially inside comments. For details see the new | ||
| 6705 | chapter about this in the manual. | ||
| 6706 | |||
| 6707 | **** New variable to recognize comment line prefix decorations. | ||
| 6708 | The variable c-comment-prefix-regexp has been added to properly | ||
| 6709 | recognize the line prefix in both block and line comments. It's | ||
| 6710 | primarily used to initialize the various paragraph recognition and | ||
| 6711 | adaptive filling variables that the text handling functions uses. | ||
| 6712 | |||
| 6713 | **** New variable c-block-comment-prefix. | ||
| 6714 | This is a generalization of the now obsolete variable | ||
| 6715 | c-comment-continuation-stars to handle arbitrary strings. | ||
| 6716 | |||
| 6717 | **** CC Mode now uses adaptive fill mode. | ||
| 6718 | This to make it adapt better to the paragraph style inside comments. | ||
| 6719 | |||
| 6720 | It's also possible to use other adaptive filling packages inside CC | ||
| 6721 | Mode, notably Kyle E. Jones' Filladapt mode (http://wonderworks.com/). | ||
| 6722 | A new convenience function c-setup-filladapt sets up Filladapt for use | ||
| 6723 | inside CC Mode. | ||
| 6724 | |||
| 6725 | Note though that the 2.12 version of Filladapt lacks a feature that | ||
| 6726 | causes it to work suboptimally when c-comment-prefix-regexp can match | ||
| 6727 | the empty string (which it commonly does). A patch for that is | ||
| 6728 | available from the CC Mode web site (http://www.python.org/emacs/ | ||
| 6729 | cc-mode/). | ||
| 6730 | |||
| 6731 | **** The variables `c-hanging-comment-starter-p' and | ||
| 6732 | `c-hanging-comment-ender-p', which controlled how comment starters and | ||
| 6733 | enders were filled, are not used anymore. The new version of the | ||
| 6734 | function `c-fill-paragraph' keeps the comment starters and enders as | ||
| 6735 | they were before the filling. | ||
| 6736 | |||
| 6737 | **** It's now possible to selectively turn off auto filling. | ||
| 6738 | The variable c-ignore-auto-fill is used to ignore auto fill mode in | ||
| 6739 | specific contexts, e.g. in preprocessor directives and in string | ||
| 6740 | literals. | ||
| 6741 | |||
| 6742 | **** New context sensitive line break function c-context-line-break. | ||
| 6743 | It works like newline-and-indent in normal code, and adapts the line | ||
| 6744 | prefix according to the comment style when used inside comments. If | ||
| 6745 | you're normally using newline-and-indent, you might want to switch to | ||
| 6746 | this function. | ||
| 6747 | |||
| 6748 | *** Fixes to IDL mode. | ||
| 6749 | It now does a better job in recognizing only the constructs relevant | ||
| 6750 | to IDL. E.g. it no longer matches "class" as the beginning of a | ||
| 6751 | struct block, but it does match the CORBA 2.3 "valuetype" keyword. | ||
| 6752 | Thanks to Eric Eide. | ||
| 6753 | |||
| 6754 | *** Improvements to the Whitesmith style. | ||
| 6755 | It now keeps the style consistently on all levels and both when | ||
| 6756 | opening braces hangs and when they don't. | ||
| 6757 | |||
| 6758 | **** New lineup function c-lineup-whitesmith-in-block. | ||
| 6759 | |||
| 6760 | *** New lineup functions c-lineup-template-args and c-indent-multi-line-block. | ||
| 6761 | See their docstrings for details. c-lineup-template-args does a | ||
| 6762 | better job of tracking the brackets used as parens in C++ templates, | ||
| 6763 | and is used by default to line up continued template arguments. | ||
| 6764 | |||
| 6765 | *** c-lineup-comment now preserves alignment with a comment on the | ||
| 6766 | previous line. It used to instead preserve comments that started in | ||
| 6767 | the column specified by comment-column. | ||
| 6768 | |||
| 6769 | *** c-lineup-C-comments handles "free form" text comments. | ||
| 6770 | In comments with a long delimiter line at the start, the indentation | ||
| 6771 | is kept unchanged for lines that start with an empty comment line | ||
| 6772 | prefix. This is intended for the type of large block comments that | ||
| 6773 | contain documentation with its own formatting. In these you normally | ||
| 6774 | don't want CC Mode to change the indentation. | ||
| 6775 | |||
| 6776 | *** The `c' syntactic symbol is now relative to the comment start | ||
| 6777 | instead of the previous line, to make integers usable as lineup | ||
| 6778 | arguments. | ||
| 6779 | |||
| 6780 | *** All lineup functions have gotten docstrings. | ||
| 6781 | |||
| 6782 | *** More preprocessor directive movement functions. | ||
| 6783 | c-down-conditional does the reverse of c-up-conditional. | ||
| 6784 | c-up-conditional-with-else and c-down-conditional-with-else are | ||
| 6785 | variants of these that also stops at "#else" lines (suggested by Don | ||
| 6786 | Provan). | ||
| 6787 | |||
| 6788 | *** Minor improvements to many movement functions in tricky situations. | ||
| 6789 | |||
| 6790 | ** Dired changes | ||
| 6791 | |||
| 6792 | *** New variable `dired-recursive-deletes' determines if the delete | ||
| 6793 | command will delete non-empty directories recursively. The default | ||
| 6794 | is, delete only empty directories. | ||
| 6795 | |||
| 6796 | *** New variable `dired-recursive-copies' determines if the copy | ||
| 6797 | command will copy directories recursively. The default is, do not | ||
| 6798 | copy directories recursively. | ||
| 6799 | |||
| 6800 | *** In command `dired-do-shell-command' (usually bound to `!') a `?' | ||
| 6801 | in the shell command has a special meaning similar to `*', but with | ||
| 6802 | the difference that the command will be run on each file individually. | ||
| 6803 | |||
| 6804 | *** The new command `dired-find-alternate-file' (usually bound to `a') | ||
| 6805 | replaces the Dired buffer with the buffer for an alternate file or | ||
| 6806 | directory. | ||
| 6807 | |||
| 6808 | *** The new command `dired-show-file-type' (usually bound to `y') shows | ||
| 6809 | a message in the echo area describing what type of file the point is on. | ||
| 6810 | This command invokes the external program `file' do its work, and so | ||
| 6811 | will only work on systems with that program, and will be only as | ||
| 6812 | accurate or inaccurate as it is. | ||
| 6813 | |||
| 6814 | *** Dired now properly handles undo changes of adding/removing `-R' | ||
| 6815 | from ls switches. | ||
| 6816 | |||
| 6817 | *** Dired commands that prompt for a destination file now allow the use | ||
| 6818 | of the `M-n' command in the minibuffer to insert the source filename, | ||
| 6819 | which the user can then edit. This only works if there is a single | ||
| 6820 | source file, not when operating on multiple marked files. | ||
| 6821 | |||
| 6822 | ** Gnus changes. | ||
| 6823 | |||
| 6824 | The Gnus NEWS entries are short, but they reflect sweeping changes in | ||
| 6825 | four areas: Article display treatment, MIME treatment, | ||
| 6826 | internationalization and mail-fetching. | ||
| 6827 | |||
| 6828 | *** The mail-fetching functions have changed. See the manual for the | ||
| 6829 | many details. In particular, all procmail fetching variables are gone. | ||
| 6830 | |||
| 6831 | If you used procmail like in | ||
| 6832 | |||
| 6833 | (setq nnmail-use-procmail t) | ||
| 6834 | (setq nnmail-spool-file 'procmail) | ||
| 6835 | (setq nnmail-procmail-directory "~/mail/incoming/") | ||
| 6836 | (setq nnmail-procmail-suffix "\\.in") | ||
| 6837 | |||
| 6838 | this now has changed to | ||
| 6839 | |||
| 6840 | (setq mail-sources | ||
| 6841 | '((directory :path "~/mail/incoming/" | ||
| 6842 | :suffix ".in"))) | ||
| 6843 | |||
| 6844 | More information is available in the info doc at Select Methods -> | ||
| 6845 | Getting Mail -> Mail Sources | ||
| 6846 | |||
| 6847 | *** Gnus is now a MIME-capable reader. This affects many parts of | ||
| 6848 | Gnus, and adds a slew of new commands. See the manual for details. | ||
| 6849 | Separate MIME packages like RMIME, mime-compose etc., will probably no | ||
| 6850 | longer work; remove them and use the native facilities. | ||
| 6851 | |||
| 6852 | The FLIM/SEMI package still works with Emacs 21, but if you want to | ||
| 6853 | use the native facilities, you must remove any mailcap.el[c] that was | ||
| 6854 | installed by FLIM/SEMI version 1.13 or earlier. | ||
| 6855 | |||
| 6856 | *** Gnus has also been multilingualized. This also affects too many | ||
| 6857 | parts of Gnus to summarize here, and adds many new variables. There | ||
| 6858 | are built-in facilities equivalent to those of gnus-mule.el, which is | ||
| 6859 | now just a compatibility layer. | ||
| 6860 | |||
| 6861 | *** gnus-mule.el is now just a compatibility layer over the built-in | ||
| 6862 | Gnus facilities. | ||
| 6863 | |||
| 6864 | *** gnus-auto-select-first can now be a function to be | ||
| 6865 | called to position point. | ||
| 6866 | |||
| 6867 | *** The user can now decide which extra headers should be included in | ||
| 6868 | summary buffers and NOV files. | ||
| 6869 | |||
| 6870 | *** `gnus-article-display-hook' has been removed. Instead, a number | ||
| 6871 | of variables starting with `gnus-treat-' have been added. | ||
| 6872 | |||
| 6873 | *** The Gnus posting styles have been redone again and now work in a | ||
| 6874 | subtly different manner. | ||
| 6875 | |||
| 6876 | *** New web-based backends have been added: nnslashdot, nnwarchive | ||
| 6877 | and nnultimate. nnweb has been revamped, again, to keep up with | ||
| 6878 | ever-changing layouts. | ||
| 6879 | |||
| 6880 | *** Gnus can now read IMAP mail via nnimap. | ||
| 6881 | |||
| 6882 | *** There is image support of various kinds and some sound support. | ||
| 6883 | |||
| 6884 | ** Changes in Texinfo mode. | ||
| 6885 | |||
| 6886 | *** A couple of new key bindings have been added for inserting Texinfo | ||
| 6887 | macros | ||
| 6888 | |||
| 6889 | Key binding Macro | ||
| 6890 | ------------------------- | ||
| 6891 | C-c C-c C-s @strong | ||
| 6892 | C-c C-c C-e @emph | ||
| 6893 | C-c C-c u @uref | ||
| 6894 | C-c C-c q @quotation | ||
| 6895 | C-c C-c m @email | ||
| 6896 | C-c C-o @<block> ... @end <block> | ||
| 6897 | M-RET @item | ||
| 6898 | |||
| 6899 | *** The " key now inserts either " or `` or '' depending on context. | ||
| 6900 | |||
| 6901 | ** Changes in Outline mode. | ||
| 6902 | |||
| 6903 | There is now support for Imenu to index headings. A new command | ||
| 6904 | `outline-headers-as-kill' copies the visible headings in the region to | ||
| 6905 | the kill ring, e.g. to produce a table of contents. | ||
| 6906 | |||
| 6907 | ** Changes to Emacs Server | ||
| 6908 | |||
| 6909 | *** The new option `server-kill-new-buffers' specifies what to do | ||
| 6910 | with buffers when done with them. If non-nil, the default, buffers | ||
| 6911 | are killed, unless they were already present before visiting them with | ||
| 6912 | Emacs Server. If nil, `server-temp-file-regexp' specifies which | ||
| 6913 | buffers to kill, as before. | ||
| 6914 | |||
| 6915 | Please note that only buffers are killed that still have a client, | ||
| 6916 | i.e. buffers visited with `emacsclient --no-wait' are never killed in | ||
| 6917 | this way. | ||
| 6918 | |||
| 6919 | ** Both emacsclient and Emacs itself now accept command line options | ||
| 6920 | of the form +LINE:COLUMN in addition to +LINE. | ||
| 6921 | |||
| 6922 | ** Changes to Show Paren mode. | ||
| 6923 | |||
| 6924 | *** Overlays used by Show Paren mode now use a priority property. | ||
| 6925 | The new user option show-paren-priority specifies the priority to | ||
| 6926 | use. Default is 1000. | ||
| 6927 | |||
| 6928 | ** New command M-x check-parens can be used to find unbalanced paren | ||
| 6929 | groups and strings in buffers in Lisp mode (or other modes). | ||
| 6930 | |||
| 6931 | ** Changes to hideshow.el | ||
| 6932 | |||
| 6933 | *** Generalized block selection and traversal | ||
| 6934 | |||
| 6935 | A block is now recognized by its start and end regexps (both strings), | ||
| 6936 | and an integer specifying which sub-expression in the start regexp | ||
| 6937 | serves as the place where a `forward-sexp'-like function can operate. | ||
| 6938 | See the documentation of variable `hs-special-modes-alist'. | ||
| 6939 | |||
| 6940 | *** During incremental search, if Hideshow minor mode is active, | ||
| 6941 | hidden blocks are temporarily shown. The variable `hs-headline' can | ||
| 6942 | be used in the mode line format to show the line at the beginning of | ||
| 6943 | the open block. | ||
| 6944 | |||
| 6945 | *** User option `hs-hide-all-non-comment-function' specifies a | ||
| 6946 | function to be called at each top-level block beginning, instead of | ||
| 6947 | the normal block-hiding function. | ||
| 6948 | |||
| 6949 | *** The command `hs-show-region' has been removed. | ||
| 6950 | |||
| 6951 | *** The key bindings have changed to fit the Emacs conventions, | ||
| 6952 | roughly imitating those of Outline minor mode. Notably, the prefix | ||
| 6953 | for all bindings is now `C-c @'. For details, see the documentation | ||
| 6954 | for `hs-minor-mode'. | ||
| 6955 | |||
| 6956 | *** The variable `hs-show-hidden-short-form' has been removed, and | ||
| 6957 | hideshow.el now always behaves as if this variable were set to t. | ||
| 6958 | |||
| 6959 | ** Changes to Change Log mode and Add-Log functions | ||
| 6960 | |||
| 6961 | *** If you invoke `add-change-log-entry' from a backup file, it makes | ||
| 6962 | an entry appropriate for the file's parent. This is useful for making | ||
| 6963 | log entries by comparing a version with deleted functions. | ||
| 6964 | |||
| 6965 | **** New command M-x change-log-merge merges another log into the | ||
| 6966 | current buffer. | ||
| 6967 | |||
| 6968 | *** New command M-x change-log-redate fixes any old-style date entries | ||
| 6969 | in a log file. | ||
| 6970 | |||
| 6971 | *** Change Log mode now adds a file's version number to change log | ||
| 6972 | entries if user-option `change-log-version-info-enabled' is non-nil. | ||
| 6973 | Unless the file is under version control the search for a file's | ||
| 6974 | version number is performed based on regular expressions from | ||
| 6975 | `change-log-version-number-regexp-list' which can be customized. | ||
| 6976 | Version numbers are only found in the first 10 percent of a file. | ||
| 6977 | |||
| 6978 | *** Change Log mode now defines its own faces for font-lock highlighting. | ||
| 6979 | |||
| 6980 | ** Changes to cmuscheme | ||
| 6981 | |||
| 6982 | *** The user-option `scheme-program-name' has been renamed | ||
| 6983 | `cmuscheme-program-name' due to conflicts with xscheme.el. | ||
| 6984 | |||
| 6985 | ** Changes in Font Lock | ||
| 6986 | |||
| 6987 | *** The new function `font-lock-remove-keywords' can be used to remove | ||
| 6988 | font-lock keywords from the current buffer or from a specific major mode. | ||
| 6989 | |||
| 6990 | *** Multi-line patterns are now supported. Modes using this, should | ||
| 6991 | set font-lock-multiline to t in their font-lock-defaults. | ||
| 6992 | |||
| 6993 | *** `font-lock-syntactic-face-function' allows major-modes to choose | ||
| 6994 | the face used for each string/comment. | ||
| 6995 | |||
| 6996 | *** A new standard face `font-lock-doc-face'. | ||
| 6997 | Meant for Lisp docstrings, Javadoc comments and other "documentation in code". | ||
| 6998 | |||
| 6999 | ** Changes to Shell mode | ||
| 7000 | |||
| 7001 | *** The `shell' command now accepts an optional argument to specify the buffer | ||
| 7002 | to use, which defaults to "*shell*". When used interactively, a | ||
| 7003 | non-default buffer may be specified by giving the `shell' command a | ||
| 7004 | prefix argument (causing it to prompt for the buffer name). | ||
| 7005 | |||
| 7006 | ** Comint (subshell) changes | ||
| 7007 | |||
| 7008 | These changes generally affect all modes derived from comint mode, which | ||
| 7009 | include shell-mode, gdb-mode, scheme-interaction-mode, etc. | ||
| 7010 | |||
| 7011 | *** Comint now by default interprets some carriage-control characters. | ||
| 7012 | Comint now removes CRs from CR LF sequences, and treats single CRs and | ||
| 7013 | BSs in the output in a way similar to a terminal (by deleting to the | ||
| 7014 | beginning of the line, or deleting the previous character, | ||
| 7015 | respectively). This is achieved by adding `comint-carriage-motion' to | ||
| 7016 | the `comint-output-filter-functions' hook by default. | ||
| 7017 | |||
| 7018 | *** By default, comint no longer uses the variable `comint-prompt-regexp' | ||
| 7019 | to distinguish prompts from user-input. Instead, it notices which | ||
| 7020 | parts of the text were output by the process, and which entered by the | ||
| 7021 | user, and attaches `field' properties to allow emacs commands to use | ||
| 7022 | this information. Common movement commands, notably beginning-of-line, | ||
| 7023 | respect field boundaries in a fairly natural manner. To disable this | ||
| 7024 | feature, and use the old behavior, customize the user option | ||
| 7025 | `comint-use-prompt-regexp-instead-of-fields'. | ||
| 7026 | |||
| 7027 | *** Comint now includes new features to send commands to running processes | ||
| 7028 | and redirect the output to a designated buffer or buffers. | ||
| 7029 | |||
| 7030 | *** The command M-x comint-redirect-send-command reads a command and | ||
| 7031 | buffer name from the mini-buffer. The command is sent to the current | ||
| 7032 | buffer's process, and its output is inserted into the specified buffer. | ||
| 7033 | |||
| 7034 | The command M-x comint-redirect-send-command-to-process acts like | ||
| 7035 | M-x comint-redirect-send-command but additionally reads the name of | ||
| 7036 | the buffer whose process should be used from the mini-buffer. | ||
| 7037 | |||
| 7038 | *** Packages based on comint now highlight user input and program prompts, | ||
| 7039 | and support choosing previous input with mouse-2. To control these features, | ||
| 7040 | see the user-options `comint-highlight-input' and `comint-highlight-prompt'. | ||
| 7041 | |||
| 7042 | *** The new command `comint-write-output' (usually bound to `C-c C-s') | ||
| 7043 | saves the output from the most recent command to a file. With a prefix | ||
| 7044 | argument, it appends to the file. | ||
| 7045 | |||
| 7046 | *** The command `comint-kill-output' has been renamed `comint-delete-output' | ||
| 7047 | (usually bound to `C-c C-o'); the old name is aliased to it for | ||
| 7048 | compatibility. | ||
| 7049 | |||
| 7050 | *** The new function `comint-add-to-input-history' adds commands to the input | ||
| 7051 | ring (history). | ||
| 7052 | |||
| 7053 | *** The new variable `comint-input-history-ignore' is a regexp for | ||
| 7054 | identifying history lines that should be ignored, like tcsh time-stamp | ||
| 7055 | strings, starting with a `#'. The default value of this variable is "^#". | ||
| 7056 | |||
| 7057 | ** Changes to Rmail mode | ||
| 7058 | |||
| 7059 | *** The new user-option rmail-user-mail-address-regexp can be | ||
| 7060 | set to fine tune the identification of the correspondent when | ||
| 7061 | receiving new mail. If it matches the address of the sender, the | ||
| 7062 | recipient is taken as correspondent of a mail. If nil, the default, | ||
| 7063 | `user-login-name' and `user-mail-address' are used to exclude yourself | ||
| 7064 | as correspondent. | ||
| 7065 | |||
| 7066 | Usually you don't have to set this variable, except if you collect | ||
| 7067 | mails sent by you under different user names. Then it should be a | ||
| 7068 | regexp matching your mail addresses. | ||
| 7069 | |||
| 7070 | *** The new user-option rmail-confirm-expunge controls whether and how | ||
| 7071 | to ask for confirmation before expunging deleted messages from an | ||
| 7072 | Rmail file. You can choose between no confirmation, confirmation | ||
| 7073 | with y-or-n-p, or confirmation with yes-or-no-p. Default is to ask | ||
| 7074 | for confirmation with yes-or-no-p. | ||
| 7075 | |||
| 7076 | *** RET is now bound in the Rmail summary to rmail-summary-goto-msg, | ||
| 7077 | like `j'. | ||
| 7078 | |||
| 7079 | *** There is a new user option `rmail-digest-end-regexps' that | ||
| 7080 | specifies the regular expressions to detect the line that ends a | ||
| 7081 | digest message. | ||
| 7082 | |||
| 7083 | *** The new user option `rmail-automatic-folder-directives' specifies | ||
| 7084 | in which folder to put messages automatically. | ||
| 7085 | |||
| 7086 | *** The new function `rmail-redecode-body' allows to fix a message | ||
| 7087 | with non-ASCII characters if Emacs happens to decode it incorrectly | ||
| 7088 | due to missing or malformed "charset=" header. | ||
| 7089 | |||
| 7090 | ** The new user-option `mail-envelope-from' can be used to specify | ||
| 7091 | an envelope-from address different from user-mail-address. | ||
| 7092 | |||
| 7093 | ** The variable mail-specify-envelope-from controls whether to | ||
| 7094 | use the -f option when sending mail. | ||
| 7095 | |||
| 7096 | ** The Rmail command `o' (`rmail-output-to-rmail-file') now writes the | ||
| 7097 | current message in the internal `emacs-mule' encoding, rather than in | ||
| 7098 | the encoding taken from the variable `buffer-file-coding-system'. | ||
| 7099 | This allows to save messages whose characters cannot be safely encoded | ||
| 7100 | by the buffer's coding system, and makes sure the message will be | ||
| 7101 | displayed correctly when you later visit the target Rmail file. | ||
| 7102 | |||
| 7103 | If you want your Rmail files be encoded in a specific coding system | ||
| 7104 | other than `emacs-mule', you can customize the variable | ||
| 7105 | `rmail-file-coding-system' to set its value to that coding system. | ||
| 7106 | |||
| 7107 | ** Changes to TeX mode | ||
| 7108 | |||
| 7109 | *** The default mode has been changed from `plain-tex-mode' to | ||
| 7110 | `latex-mode'. | ||
| 7111 | |||
| 7112 | *** latex-mode now has a simple indentation algorithm. | ||
| 7113 | |||
| 7114 | *** M-f and M-p jump around \begin...\end pairs. | ||
| 7115 | |||
| 7116 | *** Added support for outline-minor-mode. | ||
| 7117 | |||
| 7118 | ** Changes to RefTeX mode | ||
| 7119 | |||
| 7120 | *** RefTeX has new support for index generation. Index entries can be | ||
| 7121 | created with `C-c <', with completion available on index keys. | ||
| 7122 | Pressing `C-c /' indexes the word at the cursor with a default | ||
| 7123 | macro. `C-c >' compiles all index entries into an alphabetically | ||
| 7124 | sorted *Index* buffer which looks like the final index. Entries | ||
| 7125 | can be edited from that buffer. | ||
| 7126 | |||
| 7127 | *** Label and citation key selection now allow to select several | ||
| 7128 | items and reference them together (use `m' to mark items, `a' or | ||
| 7129 | `A' to use all marked entries). | ||
| 7130 | |||
| 7131 | *** reftex.el has been split into a number of smaller files to reduce | ||
| 7132 | memory use when only a part of RefTeX is being used. | ||
| 7133 | |||
| 7134 | *** a new command `reftex-view-crossref-from-bibtex' (bound to `C-c &' | ||
| 7135 | in BibTeX-mode) can be called in a BibTeX database buffer in order | ||
| 7136 | to show locations in LaTeX documents where a particular entry has | ||
| 7137 | been cited. | ||
| 7138 | |||
| 7139 | ** Emacs Lisp mode now allows multiple levels of outline headings. | ||
| 7140 | The level of a heading is determined from the number of leading | ||
| 7141 | semicolons in a heading line. Toplevel forms starting with a `(' | ||
| 7142 | in column 1 are always made leaves. | ||
| 7143 | |||
| 7144 | ** The M-x time-stamp command (most commonly used on write-file-hooks) | ||
| 7145 | has the following new features: | ||
| 7146 | |||
| 7147 | *** The patterns for finding the time stamp and for updating a pattern | ||
| 7148 | may match text spanning multiple lines. For example, some people like | ||
| 7149 | to have the filename and date on separate lines. The new variable | ||
| 7150 | time-stamp-inserts-lines controls the matching for multi-line patterns. | ||
| 7151 | |||
| 7152 | *** More than one time stamp can be updated in the same file. This | ||
| 7153 | feature is useful if you need separate time stamps in a program source | ||
| 7154 | file to both include in formatted documentation and insert in the | ||
| 7155 | compiled binary. The same time-stamp will be written at each matching | ||
| 7156 | pattern. The variable time-stamp-count enables this new feature; it | ||
| 7157 | defaults to 1. | ||
| 7158 | |||
| 7159 | ** Partial Completion mode now completes environment variables in | ||
| 7160 | file names. | ||
| 7161 | |||
| 7162 | ** Ispell changes | ||
| 7163 | |||
| 7164 | *** The command `ispell' now spell-checks a region if | ||
| 7165 | transient-mark-mode is on, and the mark is active. Otherwise it | ||
| 7166 | spell-checks the current buffer. | ||
| 7167 | |||
| 7168 | *** Support for synchronous subprocesses - DOS/Windoze - has been | ||
| 7169 | added. | ||
| 7170 | |||
| 7171 | *** An "alignment error" bug was fixed when a manual spelling | ||
| 7172 | correction is made and re-checked. | ||
| 7173 | |||
| 7174 | *** Italian, Portuguese, and Slovak dictionary definitions have been added. | ||
| 7175 | |||
| 7176 | *** Region skipping performance has been vastly improved in some | ||
| 7177 | cases. | ||
| 7178 | |||
| 7179 | *** Spell checking HTML buffers has been improved and isn't so strict | ||
| 7180 | on syntax errors. | ||
| 7181 | |||
| 7182 | *** The buffer-local words are now always placed on a new line at the | ||
| 7183 | end of the buffer. | ||
| 7184 | |||
| 7185 | *** Spell checking now works in the MS-DOS version of Emacs. | ||
| 7186 | |||
| 7187 | ** Makefile mode changes | ||
| 7188 | |||
| 7189 | *** The mode now uses the abbrev table `makefile-mode-abbrev-table'. | ||
| 7190 | |||
| 7191 | *** Conditionals and include statements are now highlighted when | ||
| 7192 | Fontlock mode is active. | ||
| 7193 | |||
| 7194 | ** Isearch changes | ||
| 7195 | |||
| 7196 | *** Isearch now puts a call to `isearch-resume' in the command history, | ||
| 7197 | so that searches can be resumed. | ||
| 7198 | |||
| 7199 | *** In Isearch mode, C-M-s and C-M-r are now bound like C-s and C-r, | ||
| 7200 | respectively, i.e. you can repeat a regexp isearch with the same keys | ||
| 7201 | that started the search. | ||
| 7202 | |||
| 7203 | *** In Isearch mode, mouse-2 in the echo area now yanks the current | ||
| 7204 | selection into the search string rather than giving an error. | ||
| 7205 | |||
| 7206 | *** There is a new lazy highlighting feature in incremental search. | ||
| 7207 | |||
| 7208 | Lazy highlighting is switched on/off by customizing variable | ||
| 7209 | `isearch-lazy-highlight'. When active, all matches for the current | ||
| 7210 | search string are highlighted. The current match is highlighted as | ||
| 7211 | before using face `isearch' or `region'. All other matches are | ||
| 7212 | highlighted using face `isearch-lazy-highlight-face' which defaults to | ||
| 7213 | `secondary-selection'. | ||
| 7214 | |||
| 7215 | The extra highlighting makes it easier to anticipate where the cursor | ||
| 7216 | will end up each time you press C-s or C-r to repeat a pending search. | ||
| 7217 | Highlighting of these additional matches happens in a deferred fashion | ||
| 7218 | using "idle timers," so the cycles needed do not rob isearch of its | ||
| 7219 | usual snappy response. | ||
| 7220 | |||
| 7221 | If `isearch-lazy-highlight-cleanup' is set to t, highlights for | ||
| 7222 | matches are automatically cleared when you end the search. If it is | ||
| 7223 | set to nil, you can remove the highlights manually with `M-x | ||
| 7224 | isearch-lazy-highlight-cleanup'. | ||
| 7225 | |||
| 7226 | ** VC Changes | ||
| 7227 | |||
| 7228 | VC has been overhauled internally. It is now modular, making it | ||
| 7229 | easier to plug-in arbitrary version control backends. (See Lisp | ||
| 7230 | Changes for details on the new structure.) As a result, the mechanism | ||
| 7231 | to enable and disable support for particular version systems has | ||
| 7232 | changed: everything is now controlled by the new variable | ||
| 7233 | `vc-handled-backends'. Its value is a list of symbols that identify | ||
| 7234 | version systems; the default is '(RCS CVS SCCS). When finding a file, | ||
| 7235 | each of the backends in that list is tried in order to see whether the | ||
| 7236 | file is registered in that backend. | ||
| 7237 | |||
| 7238 | When registering a new file, VC first tries each of the listed | ||
| 7239 | backends to see if any of them considers itself "responsible" for the | ||
| 7240 | directory of the file (e.g. because a corresponding subdirectory for | ||
| 7241 | master files exists). If none of the backends is responsible, then | ||
| 7242 | the first backend in the list that could register the file is chosen. | ||
| 7243 | As a consequence, the variable `vc-default-back-end' is now obsolete. | ||
| 7244 | |||
| 7245 | The old variable `vc-master-templates' is also obsolete, although VC | ||
| 7246 | still supports it for backward compatibility. To define templates for | ||
| 7247 | RCS or SCCS, you should rather use the new variables | ||
| 7248 | vc-{rcs,sccs}-master-templates. (There is no such feature under CVS | ||
| 7249 | where it doesn't make sense.) | ||
| 7250 | |||
| 7251 | The variables `vc-ignore-vc-files' and `vc-handle-cvs' are also | ||
| 7252 | obsolete now, you must set `vc-handled-backends' to nil or exclude | ||
| 7253 | `CVS' from the list, respectively, to achieve their effect now. | ||
| 7254 | |||
| 7255 | *** General Changes | ||
| 7256 | |||
| 7257 | The variable `vc-checkout-carefully' is obsolete: the corresponding | ||
| 7258 | checks are always done now. | ||
| 7259 | |||
| 7260 | VC Dired buffers are now kept up-to-date during all version control | ||
| 7261 | operations. | ||
| 7262 | |||
| 7263 | `vc-diff' output is now displayed in `diff-mode'. | ||
| 7264 | `vc-print-log' uses `log-view-mode'. | ||
| 7265 | `vc-log-mode' (used for *VC-Log*) has been replaced by `log-edit-mode'. | ||
| 7266 | |||
| 7267 | The command C-x v m (vc-merge) now accepts an empty argument as the | ||
| 7268 | first revision number. This means that any recent changes on the | ||
| 7269 | current branch should be picked up from the repository and merged into | ||
| 7270 | the working file (``merge news''). | ||
| 7271 | |||
| 7272 | The commands C-x v s (vc-create-snapshot) and C-x v r | ||
| 7273 | (vc-retrieve-snapshot) now ask for a directory name from which to work | ||
| 7274 | downwards. | ||
| 7275 | |||
| 7276 | *** Multiple Backends | ||
| 7277 | |||
| 7278 | VC now lets you register files in more than one backend. This is | ||
| 7279 | useful, for example, if you are working with a slow remote CVS | ||
| 7280 | repository. You can then use RCS for local editing, and occasionally | ||
| 7281 | commit your changes back to CVS, or pick up changes from CVS into your | ||
| 7282 | local RCS archives. | ||
| 7283 | |||
| 7284 | To make this work, the ``more local'' backend (RCS in our example) | ||
| 7285 | should come first in `vc-handled-backends', and the ``more remote'' | ||
| 7286 | backend (CVS) should come later. (The default value of | ||
| 7287 | `vc-handled-backends' already has it that way.) | ||
| 7288 | |||
| 7289 | You can then commit changes to another backend (say, RCS), by typing | ||
| 7290 | C-u C-x v v RCS RET (i.e. vc-next-action now accepts a backend name as | ||
| 7291 | a revision number). VC registers the file in the more local backend | ||
| 7292 | if that hasn't already happened, and commits to a branch based on the | ||
| 7293 | current revision number from the more remote backend. | ||
| 7294 | |||
| 7295 | If a file is registered in multiple backends, you can switch to | ||
| 7296 | another one using C-x v b (vc-switch-backend). This does not change | ||
| 7297 | any files, it only changes VC's perspective on the file. Use this to | ||
| 7298 | pick up changes from CVS while working under RCS locally. | ||
| 7299 | |||
| 7300 | After you are done with your local RCS editing, you can commit your | ||
| 7301 | changes back to CVS using C-u C-x v v CVS RET. In this case, the | ||
| 7302 | local RCS archive is removed after the commit, and the log entry | ||
| 7303 | buffer is initialized to contain the entire RCS change log of the file. | ||
| 7304 | |||
| 7305 | *** Changes for CVS | ||
| 7306 | |||
| 7307 | There is a new user option, `vc-cvs-stay-local'. If it is `t' (the | ||
| 7308 | default), then VC avoids network queries for files registered in | ||
| 7309 | remote repositories. The state of such files is then only determined | ||
| 7310 | by heuristics and past information. `vc-cvs-stay-local' can also be a | ||
| 7311 | regexp to match against repository hostnames; only files from hosts | ||
| 7312 | that match it are treated locally. If the variable is nil, then VC | ||
| 7313 | queries the repository just as often as it does for local files. | ||
| 7314 | |||
| 7315 | If `vc-cvs-stay-local' is on, then VC also makes local backups of | ||
| 7316 | repository versions. This means that ordinary diffs (C-x v =) and | ||
| 7317 | revert operations (C-x v u) can be done completely locally, without | ||
| 7318 | any repository interactions at all. The name of a local version | ||
| 7319 | backup of FILE is FILE.~REV.~, where REV is the repository version | ||
| 7320 | number. This format is similar to that used by C-x v ~ | ||
| 7321 | (vc-version-other-window), except for the trailing dot. As a matter | ||
| 7322 | of fact, the two features can each use the files created by the other, | ||
| 7323 | the only difference being that files with a trailing `.' are deleted | ||
| 7324 | automatically after commit. (This feature doesn't work on MS-DOS, | ||
| 7325 | since DOS disallows more than a single dot in the trunk of a file | ||
| 7326 | name.) | ||
| 7327 | |||
| 7328 | If `vc-cvs-stay-local' is on, and there have been changes in the | ||
| 7329 | repository, VC notifies you about it when you actually try to commit. | ||
| 7330 | If you want to check for updates from the repository without trying to | ||
| 7331 | commit, you can either use C-x v m RET to perform an update on the | ||
| 7332 | current file, or you can use C-x v r RET to get an update for an | ||
| 7333 | entire directory tree. | ||
| 7334 | |||
| 7335 | The new user option `vc-cvs-use-edit' indicates whether VC should call | ||
| 7336 | "cvs edit" to make files writeable; it defaults to `t'. (This option | ||
| 7337 | is only meaningful if the CVSREAD variable is set, or if files are | ||
| 7338 | "watched" by other developers.) | ||
| 7339 | |||
| 7340 | The commands C-x v s (vc-create-snapshot) and C-x v r | ||
| 7341 | (vc-retrieve-snapshot) are now also implemented for CVS. If you give | ||
| 7342 | an empty snapshot name to the latter, that performs a `cvs update', | ||
| 7343 | starting at the given directory. | ||
| 7344 | |||
| 7345 | *** Lisp Changes in VC | ||
| 7346 | |||
| 7347 | VC has been restructured internally to make it modular. You can now | ||
| 7348 | add support for arbitrary version control backends by writing a | ||
| 7349 | library that provides a certain set of backend-specific functions, and | ||
| 7350 | then telling VC to use that library. For example, to add support for | ||
| 7351 | a version system named SYS, you write a library named vc-sys.el, which | ||
| 7352 | provides a number of functions vc-sys-... (see commentary at the top | ||
| 7353 | of vc.el for a detailed list of them). To make VC use that library, | ||
| 7354 | you need to put it somewhere into Emacs' load path and add the symbol | ||
| 7355 | `SYS' to the list `vc-handled-backends'. | ||
| 7356 | |||
| 7357 | ** The customizable EDT emulation package now supports the EDT | ||
| 7358 | SUBS command and EDT scroll margins. It also works with more | ||
| 7359 | terminal/keyboard configurations and it now works under XEmacs. | ||
| 7360 | See etc/edt-user.doc for more information. | ||
| 7361 | |||
| 7362 | ** New modes and packages | ||
| 7363 | |||
| 7364 | *** The new global minor mode `minibuffer-electric-default-mode' | ||
| 7365 | automatically hides the `(default ...)' part of minibuffer prompts when | ||
| 7366 | the default is not applicable. | ||
| 7367 | |||
| 7368 | *** Artist is an Emacs lisp package that allows you to draw lines, | ||
| 7369 | rectangles and ellipses by using your mouse and/or keyboard. The | ||
| 7370 | shapes are made up with the ascii characters |, -, / and \. | ||
| 7371 | |||
| 7372 | Features are: | ||
| 7373 | |||
| 7374 | - Intersecting: When a `|' intersects with a `-', a `+' is | ||
| 7375 | drawn, like this: | \ / | ||
| 7376 | --+-- X | ||
| 7377 | | / \ | ||
| 7378 | |||
| 7379 | - Rubber-banding: When drawing lines you can interactively see the | ||
| 7380 | result while holding the mouse button down and moving the mouse. If | ||
| 7381 | your machine is not fast enough (a 386 is a bit too slow, but a | ||
| 7382 | pentium is well enough), you can turn this feature off. You will | ||
| 7383 | then see 1's and 2's which mark the 1st and 2nd endpoint of the line | ||
| 7384 | you are drawing. | ||
| 7385 | |||
| 7386 | - Arrows: After having drawn a (straight) line or a (straight) | ||
| 7387 | poly-line, you can set arrows on the line-ends by typing < or >. | ||
| 7388 | |||
| 7389 | - Flood-filling: You can fill any area with a certain character by | ||
| 7390 | flood-filling. | ||
| 7391 | |||
| 7392 | - Cut copy and paste: You can cut, copy and paste rectangular | ||
| 7393 | regions. Artist also interfaces with the rect package (this can be | ||
| 7394 | turned off if it causes you any trouble) so anything you cut in | ||
| 7395 | artist can be yanked with C-x r y and vice versa. | ||
| 7396 | |||
| 7397 | - Drawing with keys: Everything you can do with the mouse, you can | ||
| 7398 | also do without the mouse. | ||
| 7399 | |||
| 7400 | - Aspect-ratio: You can set the variable artist-aspect-ratio to | ||
| 7401 | reflect the height-width ratio for the font you are using. Squares | ||
| 7402 | and circles are then drawn square/round. Note, that once your | ||
| 7403 | ascii-file is shown with font with a different height-width ratio, | ||
| 7404 | the squares won't be square and the circles won't be round. | ||
| 7405 | |||
| 7406 | - Drawing operations: The following drawing operations are implemented: | ||
| 7407 | |||
| 7408 | lines straight-lines | ||
| 7409 | rectangles squares | ||
| 7410 | poly-lines straight poly-lines | ||
| 7411 | ellipses circles | ||
| 7412 | text (see-thru) text (overwrite) | ||
| 7413 | spray-can setting size for spraying | ||
| 7414 | vaporize line vaporize lines | ||
| 7415 | erase characters erase rectangles | ||
| 7416 | |||
| 7417 | Straight lines are lines that go horizontally, vertically or | ||
| 7418 | diagonally. Plain lines go in any direction. The operations in | ||
| 7419 | the right column are accessed by holding down the shift key while | ||
| 7420 | drawing. | ||
| 7421 | |||
| 7422 | It is possible to vaporize (erase) entire lines and connected lines | ||
| 7423 | (rectangles for example) as long as the lines being vaporized are | ||
| 7424 | straight and connected at their endpoints. Vaporizing is inspired | ||
| 7425 | by the drawrect package by Jari Aalto <jari.aalto@poboxes.com>. | ||
| 7426 | |||
| 7427 | - Picture mode compatibility: Artist is picture mode compatible (this | ||
| 7428 | can be turned off). | ||
| 7429 | |||
| 7430 | *** The new package Eshell is an operating system command shell | ||
| 7431 | implemented entirely in Emacs Lisp. Use `M-x eshell' to invoke it. | ||
| 7432 | It functions similarly to bash and zsh, and allows running of Lisp | ||
| 7433 | functions and external commands using the same syntax. It supports | ||
| 7434 | history lists, aliases, extended globbing, smart scrolling, etc. It | ||
| 7435 | will work on any platform Emacs has been ported to. And since most of | ||
| 7436 | the basic commands -- ls, rm, mv, cp, ln, du, cat, etc. -- have been | ||
| 7437 | rewritten in Lisp, it offers an operating-system independent shell, | ||
| 7438 | all within the scope of your Emacs process. | ||
| 7439 | |||
| 7440 | *** The new package timeclock.el is a mode is for keeping track of time | ||
| 7441 | intervals. You can use it for whatever purpose you like, but the | ||
| 7442 | typical scenario is to keep track of how much time you spend working | ||
| 7443 | on certain projects. | ||
| 7444 | |||
| 7445 | *** The new package hi-lock.el provides commands to highlight matches | ||
| 7446 | of interactively entered regexps. For example, | ||
| 7447 | |||
| 7448 | M-x highlight-regexp RET clearly RET RET | ||
| 7449 | |||
| 7450 | will highlight all occurrences of `clearly' using a yellow background | ||
| 7451 | face. New occurrences of `clearly' will be highlighted as they are | ||
| 7452 | typed. `M-x unhighlight-regexp RET' will remove the highlighting. | ||
| 7453 | Any existing face can be used for highlighting and a set of | ||
| 7454 | appropriate faces is provided. The regexps can be written into the | ||
| 7455 | current buffer in a form that will be recognized the next time the | ||
| 7456 | corresponding file is read. There are commands to highlight matches | ||
| 7457 | to phrases and to highlight entire lines containing a match. | ||
| 7458 | |||
| 7459 | *** The new package zone.el plays games with Emacs' display when | ||
| 7460 | Emacs is idle. | ||
| 7461 | |||
| 7462 | *** The new package tildify.el allows to add hard spaces or other text | ||
| 7463 | fragments in accordance with the current major mode. | ||
| 7464 | |||
| 7465 | *** The new package xml.el provides a simple but generic XML | ||
| 7466 | parser. It doesn't parse the DTDs however. | ||
| 7467 | |||
| 7468 | *** The comment operations are now provided by the newcomment.el | ||
| 7469 | package which allows different styles of comment-region and should | ||
| 7470 | be more robust while offering the same functionality. | ||
| 7471 | `comment-region' now doesn't always comment a-line-at-a-time, but only | ||
| 7472 | comments the region, breaking the line at point if necessary. | ||
| 7473 | |||
| 7474 | *** The Ebrowse package implements a C++ class browser and tags | ||
| 7475 | facilities tailored for use with C++. It is documented in a | ||
| 7476 | separate Texinfo file. | ||
| 7477 | |||
| 7478 | *** The PCL-CVS package available by either running M-x cvs-examine or | ||
| 7479 | by visiting a CVS administrative directory (with a prefix argument) | ||
| 7480 | provides an alternative interface to VC-dired for CVS. It comes with | ||
| 7481 | `log-view-mode' to view RCS and SCCS logs and `log-edit-mode' used to | ||
| 7482 | enter check-in log messages. | ||
| 7483 | |||
| 7484 | *** The new package called `woman' allows to browse Unix man pages | ||
| 7485 | without invoking external programs. | ||
| 7486 | |||
| 7487 | The command `M-x woman' formats manual pages entirely in Emacs Lisp | ||
| 7488 | and then displays them, like `M-x manual-entry' does. Unlike | ||
| 7489 | `manual-entry', `woman' does not invoke any external programs, so it | ||
| 7490 | is useful on systems such as MS-DOS/MS-Windows where the `man' and | ||
| 7491 | Groff or `troff' commands are not readily available. | ||
| 7492 | |||
| 7493 | The command `M-x woman-find-file' asks for the file name of a man | ||
| 7494 | page, then formats and displays it like `M-x woman' does. | ||
| 7495 | |||
| 7496 | *** The new command M-x re-builder offers a convenient interface for | ||
| 7497 | authoring regular expressions with immediate visual feedback. | ||
| 7498 | |||
| 7499 | The buffer from which the command was called becomes the target for | ||
| 7500 | the regexp editor popping up in a separate window. Matching text in | ||
| 7501 | the target buffer is immediately color marked during the editing. | ||
| 7502 | Each sub-expression of the regexp will show up in a different face so | ||
| 7503 | even complex regexps can be edited and verified on target data in a | ||
| 7504 | single step. | ||
| 7505 | |||
| 7506 | On displays not supporting faces the matches instead blink like | ||
| 7507 | matching parens to make them stand out. On such a setup you will | ||
| 7508 | probably also want to use the sub-expression mode when the regexp | ||
| 7509 | contains such to get feedback about their respective limits. | ||
| 7510 | |||
| 7511 | *** glasses-mode is a minor mode that makes | ||
| 7512 | unreadableIdentifiersLikeThis readable. It works as glasses, without | ||
| 7513 | actually modifying content of a buffer. | ||
| 7514 | |||
| 7515 | *** The package ebnf2ps translates an EBNF to a syntactic chart in | ||
| 7516 | PostScript. | ||
| 7517 | |||
| 7518 | Currently accepts ad-hoc EBNF, ISO EBNF and Bison/Yacc. | ||
| 7519 | |||
| 7520 | The ad-hoc default EBNF syntax has the following elements: | ||
| 7521 | |||
| 7522 | ; comment (until end of line) | ||
| 7523 | A non-terminal | ||
| 7524 | "C" terminal | ||
| 7525 | ?C? special | ||
| 7526 | $A default non-terminal | ||
| 7527 | $"C" default terminal | ||
| 7528 | $?C? default special | ||
| 7529 | A = B. production (A is the header and B the body) | ||
| 7530 | C D sequence (C occurs before D) | ||
| 7531 | C | D alternative (C or D occurs) | ||
| 7532 | A - B exception (A excluding B, B without any non-terminal) | ||
| 7533 | n * A repetition (A repeats n (integer) times) | ||
| 7534 | (C) group (expression C is grouped together) | ||
| 7535 | [C] optional (C may or not occurs) | ||
| 7536 | C+ one or more occurrences of C | ||
| 7537 | {C}+ one or more occurrences of C | ||
| 7538 | {C}* zero or more occurrences of C | ||
| 7539 | {C} zero or more occurrences of C | ||
| 7540 | C / D equivalent to: C {D C}* | ||
| 7541 | {C || D}+ equivalent to: C {D C}* | ||
| 7542 | {C || D}* equivalent to: [C {D C}*] | ||
| 7543 | {C || D} equivalent to: [C {D C}*] | ||
| 7544 | |||
| 7545 | Please, see ebnf2ps documentation for EBNF syntax and how to use it. | ||
| 7546 | |||
| 7547 | *** The package align.el will align columns within a region, using M-x | ||
| 7548 | align. Its mode-specific rules, based on regular expressions, | ||
| 7549 | determine where the columns should be split. In C and C++, for | ||
| 7550 | example, it will align variable names in declaration lists, or the | ||
| 7551 | equal signs of assignments. | ||
| 7552 | |||
| 7553 | *** `paragraph-indent-minor-mode' is a new minor mode supporting | ||
| 7554 | paragraphs in the same style as `paragraph-indent-text-mode'. | ||
| 7555 | |||
| 7556 | *** bs.el is a new package for buffer selection similar to | ||
| 7557 | list-buffers or electric-buffer-list. Use M-x bs-show to display a | ||
| 7558 | buffer menu with this package. See the Custom group `bs'. | ||
| 7559 | |||
| 7560 | *** find-lisp.el is a package emulating the Unix find command in Lisp. | ||
| 7561 | |||
| 7562 | *** calculator.el is a small calculator package that is intended to | ||
| 7563 | replace desktop calculators such as xcalc and calc.exe. Actually, it | ||
| 7564 | is not too small - it has more features than most desktop calculators, | ||
| 7565 | and can be customized easily to get many more functions. It should | ||
| 7566 | not be confused with "calc" which is a much bigger mathematical tool | ||
| 7567 | which answers different needs. | ||
| 7568 | |||
| 7569 | *** The minor modes cwarn-mode and global-cwarn-mode highlights | ||
| 7570 | suspicious C and C++ constructions. Currently, assignments inside | ||
| 7571 | expressions, semicolon following `if', `for' and `while' (except, of | ||
| 7572 | course, after a `do .. while' statement), and C++ functions with | ||
| 7573 | reference parameters are recognized. The modes require font-lock mode | ||
| 7574 | to be enabled. | ||
| 7575 | |||
| 7576 | *** smerge-mode.el provides `smerge-mode', a simple minor-mode for files | ||
| 7577 | containing diff3-style conflict markers, such as generated by RCS. | ||
| 7578 | |||
| 7579 | *** 5x5.el is a simple puzzle game. | ||
| 7580 | |||
| 7581 | *** hl-line.el provides `hl-line-mode', a minor mode to highlight the | ||
| 7582 | current line in the current buffer. It also provides | ||
| 7583 | `global-hl-line-mode' to provide the same behavior in all buffers. | ||
| 7584 | |||
| 7585 | *** ansi-color.el translates ANSI terminal escapes into text-properties. | ||
| 7586 | |||
| 7587 | Please note: if `ansi-color-for-comint-mode' and | ||
| 7588 | `global-font-lock-mode' are non-nil, loading ansi-color.el will | ||
| 7589 | disable font-lock and add `ansi-color-apply' to | ||
| 7590 | `comint-preoutput-filter-functions' for all shell-mode buffers. This | ||
| 7591 | displays the output of "ls --color=yes" using the correct foreground | ||
| 7592 | and background colors. | ||
| 7593 | |||
| 7594 | *** delphi.el provides a major mode for editing the Delphi (Object | ||
| 7595 | Pascal) language. | ||
| 7596 | |||
| 7597 | *** quickurl.el provides a simple method of inserting a URL based on | ||
| 7598 | the text at point. | ||
| 7599 | |||
| 7600 | *** sql.el provides an interface to SQL data bases. | ||
| 7601 | |||
| 7602 | *** fortune.el uses the fortune program to create mail/news signatures. | ||
| 7603 | |||
| 7604 | *** whitespace.el is a package for warning about and cleaning bogus | ||
| 7605 | whitespace in a file. | ||
| 7606 | |||
| 7607 | *** PostScript mode (ps-mode) is a new major mode for editing PostScript | ||
| 7608 | files. It offers: interaction with a PostScript interpreter, including | ||
| 7609 | (very basic) error handling; fontification, easily customizable for | ||
| 7610 | interpreter messages; auto-indentation; insertion of EPSF templates and | ||
| 7611 | often used code snippets; viewing of BoundingBox; commenting out / | ||
| 7612 | uncommenting regions; conversion of 8bit characters to PostScript octal | ||
| 7613 | codes. All functionality is accessible through a menu. | ||
| 7614 | |||
| 7615 | *** delim-col helps to prettify columns in a text region or rectangle. | ||
| 7616 | |||
| 7617 | Here is an example of columns: | ||
| 7618 | |||
| 7619 | horse apple bus | ||
| 7620 | dog pineapple car EXTRA | ||
| 7621 | porcupine strawberry airplane | ||
| 7622 | |||
| 7623 | Doing the following settings: | ||
| 7624 | |||
| 7625 | (setq delimit-columns-str-before "[ ") | ||
| 7626 | (setq delimit-columns-str-after " ]") | ||
| 7627 | (setq delimit-columns-str-separator ", ") | ||
| 7628 | (setq delimit-columns-separator "\t") | ||
| 7629 | |||
| 7630 | |||
| 7631 | Selecting the lines above and typing: | ||
| 7632 | |||
| 7633 | M-x delimit-columns-region | ||
| 7634 | |||
| 7635 | It results: | ||
| 7636 | |||
| 7637 | [ horse , apple , bus , ] | ||
| 7638 | [ dog , pineapple , car , EXTRA ] | ||
| 7639 | [ porcupine, strawberry, airplane, ] | ||
| 7640 | |||
| 7641 | delim-col has the following options: | ||
| 7642 | |||
| 7643 | delimit-columns-str-before Specify a string to be inserted | ||
| 7644 | before all columns. | ||
| 7645 | |||
| 7646 | delimit-columns-str-separator Specify a string to be inserted | ||
| 7647 | between each column. | ||
| 7648 | |||
| 7649 | delimit-columns-str-after Specify a string to be inserted | ||
| 7650 | after all columns. | ||
| 7651 | |||
| 7652 | delimit-columns-separator Specify a regexp which separates | ||
| 7653 | each column. | ||
| 7654 | |||
| 7655 | delim-col has the following commands: | ||
| 7656 | |||
| 7657 | delimit-columns-region Prettify all columns in a text region. | ||
| 7658 | delimit-columns-rectangle Prettify all columns in a text rectangle. | ||
| 7659 | |||
| 7660 | *** Recentf mode maintains a menu for visiting files that were | ||
| 7661 | operated on recently. User option recentf-menu-filter specifies a | ||
| 7662 | menu filter function to change the menu appearance. For example, the | ||
| 7663 | recent file list can be displayed: | ||
| 7664 | |||
| 7665 | - organized by major modes, directories or user defined rules. | ||
| 7666 | - sorted by file paths, file names, ascending or descending. | ||
| 7667 | - showing paths relative to the current default-directory | ||
| 7668 | |||
| 7669 | The `recentf-filter-changer' menu filter function allows to | ||
| 7670 | dynamically change the menu appearance. | ||
| 7671 | |||
| 7672 | *** elide-head.el provides a mechanism for eliding boilerplate header | ||
| 7673 | text. | ||
| 7674 | |||
| 7675 | *** footnote.el provides `footnote-mode', a minor mode supporting use | ||
| 7676 | of footnotes. It is intended for use with Message mode, but isn't | ||
| 7677 | specific to Message mode. | ||
| 7678 | |||
| 7679 | *** diff-mode.el provides `diff-mode', a major mode for | ||
| 7680 | viewing/editing context diffs (patches). It is selected for files | ||
| 7681 | with extension `.diff', `.diffs', `.patch' and `.rej'. | ||
| 7682 | |||
| 7683 | *** EUDC, the Emacs Unified Directory Client, provides a common user | ||
| 7684 | interface to access directory servers using different directory | ||
| 7685 | protocols. It has a separate manual. | ||
| 7686 | |||
| 7687 | *** autoconf.el provides a major mode for editing configure.in files | ||
| 7688 | for Autoconf, selected automatically. | ||
| 7689 | |||
| 7690 | *** windmove.el provides moving between windows. | ||
| 7691 | |||
| 7692 | *** crm.el provides a facility to read multiple strings from the | ||
| 7693 | minibuffer with completion. | ||
| 7694 | |||
| 7695 | *** todo-mode.el provides management of TODO lists and integration | ||
| 7696 | with the diary features. | ||
| 7697 | |||
| 7698 | *** autoarg.el provides a feature reported from Twenex Emacs whereby | ||
| 7699 | numeric keys supply prefix args rather than self inserting. | ||
| 7700 | |||
| 7701 | *** The function `turn-off-auto-fill' unconditionally turns off Auto | ||
| 7702 | Fill mode. | ||
| 7703 | |||
| 7704 | *** pcomplete.el is a library that provides programmable completion | ||
| 7705 | facilities for Emacs, similar to what zsh and tcsh offer. The main | ||
| 7706 | difference is that completion functions are written in Lisp, meaning | ||
| 7707 | they can be profiled, debugged, etc. | ||
| 7708 | |||
| 7709 | *** antlr-mode is a new major mode for editing ANTLR grammar files. | ||
| 7710 | It is automatically turned on for files whose names have the extension | ||
| 7711 | `.g'. | ||
| 7712 | |||
| 7713 | ** Changes in sort.el | ||
| 7714 | |||
| 7715 | The function sort-numeric-fields interprets numbers starting with `0' | ||
| 7716 | as octal and numbers starting with `0x' or `0X' as hexadecimal. The | ||
| 7717 | new user-option sort-numeric-base can be used to specify a default | ||
| 7718 | numeric base. | ||
| 7719 | |||
| 7720 | ** Changes to Ange-ftp | ||
| 7721 | |||
| 7722 | *** Ange-ftp allows you to specify of a port number in remote file | ||
| 7723 | names cleanly. It is appended to the host name, separated by a hash | ||
| 7724 | sign, e.g. `/foo@bar.org#666:mumble'. (This syntax comes from EFS.) | ||
| 7725 | |||
| 7726 | *** If the new user-option `ange-ftp-try-passive-mode' is set, passive | ||
| 7727 | ftp mode will be used if the ftp client supports that. | ||
| 7728 | |||
| 7729 | *** Ange-ftp handles the output of the w32-style clients which | ||
| 7730 | output ^M at the end of lines. | ||
| 7731 | |||
| 7732 | ** The recommended way of using Iswitchb is via the new global minor | ||
| 7733 | mode `iswitchb-mode'. | ||
| 7734 | |||
| 7735 | ** Just loading the msb package doesn't switch on Msb mode anymore. | ||
| 7736 | If you have `(require 'msb)' in your .emacs, please replace it with | ||
| 7737 | `(msb-mode 1)'. | ||
| 7738 | |||
| 7739 | ** Flyspell mode has various new options. See the `flyspell' Custom | ||
| 7740 | group. | ||
| 7741 | |||
| 7742 | ** The user option `backward-delete-char-untabify-method' controls the | ||
| 7743 | behavior of `backward-delete-char-untabify'. The following values | ||
| 7744 | are recognized: | ||
| 7745 | |||
| 7746 | `untabify' -- turn a tab to many spaces, then delete one space; | ||
| 7747 | `hungry' -- delete all whitespace, both tabs and spaces; | ||
| 7748 | `all' -- delete all whitespace, including tabs, spaces and newlines; | ||
| 7749 | nil -- just delete one character. | ||
| 7750 | |||
| 7751 | Default value is `untabify'. | ||
| 7752 | |||
| 7753 | [This change was made in Emacs 20.3 but not mentioned then.] | ||
| 7754 | |||
| 7755 | ** In Cperl mode `cperl-invalid-face' should now be a normal face | ||
| 7756 | symbol, not double-quoted. | ||
| 7757 | |||
| 7758 | ** Some packages are declared obsolete, to be removed in a future | ||
| 7759 | version. They are: auto-show, c-mode, hilit19, hscroll, ooutline, | ||
| 7760 | profile, rnews, rnewspost, and sc. Their implementations have been | ||
| 7761 | moved to lisp/obsolete. | ||
| 7762 | |||
| 7763 | ** auto-compression mode is no longer enabled just by loading jka-compr.el. | ||
| 7764 | To control it, set `auto-compression-mode' via Custom or use the | ||
| 7765 | `auto-compression-mode' command. | ||
| 7766 | |||
| 7767 | ** `browse-url-gnome-moz' is a new option for | ||
| 7768 | `browse-url-browser-function', invoking Mozilla in GNOME, and | ||
| 7769 | `browse-url-kde' can be chosen for invoking the KDE browser. | ||
| 7770 | |||
| 7771 | ** The user-option `browse-url-new-window-p' has been renamed to | ||
| 7772 | `browse-url-new-window-flag'. | ||
| 7773 | |||
| 7774 | ** The functions `keep-lines', `flush-lines' and `how-many' now | ||
| 7775 | operate on the active region in Transient Mark mode. | ||
| 7776 | |||
| 7777 | ** `gnus-user-agent' is a new possibility for `mail-user-agent'. It | ||
| 7778 | is like `message-user-agent', but with all the Gnus paraphernalia. | ||
| 7779 | |||
| 7780 | ** The Strokes package has been updated. If your Emacs has XPM | ||
| 7781 | support, you can use it for pictographic editing. In Strokes mode, | ||
| 7782 | use C-mouse-2 to compose a complex stoke and insert it into the | ||
| 7783 | buffer. You can encode or decode a strokes buffer with new commands | ||
| 7784 | M-x strokes-encode-buffer and M-x strokes-decode-buffer. There is a | ||
| 7785 | new command M-x strokes-list-strokes. | ||
| 7786 | |||
| 7787 | ** Hexl contains a new command `hexl-insert-hex-string' which inserts | ||
| 7788 | a string of hexadecimal numbers read from the mini-buffer. | ||
| 7789 | |||
| 7790 | ** Hexl mode allows to insert non-ASCII characters. | ||
| 7791 | |||
| 7792 | The non-ASCII characters are encoded using the same encoding as the | ||
| 7793 | file you are visiting in Hexl mode. | ||
| 7794 | |||
| 7795 | ** Shell script mode changes. | ||
| 7796 | |||
| 7797 | Shell script mode (sh-script) can now indent scripts for shells | ||
| 7798 | derived from sh and rc. The indentation style is customizable, and | ||
| 7799 | sh-script can attempt to "learn" the current buffer's style. | ||
| 7800 | |||
| 7801 | ** Etags changes. | ||
| 7802 | |||
| 7803 | *** In DOS, etags looks for file.cgz if it cannot find file.c. | ||
| 7804 | |||
| 7805 | *** New option --ignore-case-regex is an alternative to --regex. It is now | ||
| 7806 | possible to bind a regexp to a language, by prepending the regexp with | ||
| 7807 | {lang}, where lang is one of the languages that `etags --help' prints out. | ||
| 7808 | This feature is useful especially for regex files, where each line contains | ||
| 7809 | a regular expression. The manual contains details. | ||
| 7810 | |||
| 7811 | *** In C and derived languages, etags creates tags for function | ||
| 7812 | declarations when given the --declarations option. | ||
| 7813 | |||
| 7814 | *** In C++, tags are created for "operator". The tags have the form | ||
| 7815 | "operator+", without spaces between the keyword and the operator. | ||
| 7816 | |||
| 7817 | *** You shouldn't generally need any more the -C or -c++ option: etags | ||
| 7818 | automatically switches to C++ parsing when it meets the `class' or | ||
| 7819 | `template' keywords. | ||
| 7820 | |||
| 7821 | *** Etags now is able to delve at arbitrary deeps into nested structures in | ||
| 7822 | C-like languages. Previously, it was limited to one or two brace levels. | ||
| 7823 | |||
| 7824 | *** New language Ada: tags are functions, procedures, packages, tasks, and | ||
| 7825 | types. | ||
| 7826 | |||
| 7827 | *** In Fortran, `procedure' is not tagged. | ||
| 7828 | |||
| 7829 | *** In Java, tags are created for "interface". | ||
| 7830 | |||
| 7831 | *** In Lisp, "(defstruct (foo", "(defun (operator" and similar constructs | ||
| 7832 | are now tagged. | ||
| 7833 | |||
| 7834 | *** In makefiles, tags the targets. | ||
| 7835 | |||
| 7836 | *** In Perl, the --globals option tags global variables. my and local | ||
| 7837 | variables are tagged. | ||
| 7838 | |||
| 7839 | *** New language Python: def and class at the beginning of a line are tags. | ||
| 7840 | |||
| 7841 | *** .ss files are Scheme files, .pdb is Postscript with C syntax, .psw is | ||
| 7842 | for PSWrap. | ||
| 7843 | |||
| 7844 | ** Changes in etags.el | ||
| 7845 | |||
| 7846 | *** The new user-option tags-case-fold-search can be used to make | ||
| 7847 | tags operations case-sensitive or case-insensitive. The default | ||
| 7848 | is to use the same setting as case-fold-search. | ||
| 7849 | |||
| 7850 | *** You can display additional output with M-x tags-apropos by setting | ||
| 7851 | the new variable tags-apropos-additional-actions. | ||
| 7852 | |||
| 7853 | If non-nil, the variable's value should be a list of triples (TITLE | ||
| 7854 | FUNCTION TO-SEARCH). For each triple, M-x tags-apropos processes | ||
| 7855 | TO-SEARCH and lists tags from it. TO-SEARCH should be an alist, | ||
| 7856 | obarray, or symbol. If it is a symbol, the symbol's value is used. | ||
| 7857 | |||
| 7858 | TITLE is a string to use to label the list of tags from TO-SEARCH. | ||
| 7859 | |||
| 7860 | FUNCTION is a function to call when an entry is selected in the Tags | ||
| 7861 | List buffer. It is called with one argument, the selected symbol. | ||
| 7862 | |||
| 7863 | A useful example value for this variable might be something like: | ||
| 7864 | |||
| 7865 | '(("Emacs Lisp" Info-goto-emacs-command-node obarray) | ||
| 7866 | ("Common Lisp" common-lisp-hyperspec common-lisp-hyperspec-obarray) | ||
| 7867 | ("SCWM" scwm-documentation scwm-obarray)) | ||
| 7868 | |||
| 7869 | *** The face tags-tag-face can be used to customize the appearance | ||
| 7870 | of tags in the output of M-x tags-apropos. | ||
| 7871 | |||
| 7872 | *** Setting tags-apropos-verbose to a non-nil value displays the | ||
| 7873 | names of tags files in the *Tags List* buffer. | ||
| 7874 | |||
| 7875 | *** You can now search for tags that are part of the filename itself. | ||
| 7876 | If you have tagged the files topfile.c subdir/subfile.c | ||
| 7877 | /tmp/tempfile.c, you can now search for tags "topfile.c", "subfile.c", | ||
| 7878 | "dir/sub", "tempfile", "tempfile.c". If the tag matches the file name, | ||
| 7879 | point will go to the beginning of the file. | ||
| 7880 | |||
| 7881 | *** Compressed files are now transparently supported if | ||
| 7882 | auto-compression-mode is active. You can tag (with Etags) and search | ||
| 7883 | (with find-tag) both compressed and uncompressed files. | ||
| 7884 | |||
| 7885 | *** Tags commands like M-x tags-search no longer change point | ||
| 7886 | in buffers where no match is found. In buffers where a match is | ||
| 7887 | found, the original value of point is pushed on the marker ring. | ||
| 7888 | |||
| 7889 | ** Fortran mode has a new command `fortran-strip-sequence-nos' to | ||
| 7890 | remove text past column 72. The syntax class of `\' in Fortran is now | ||
| 7891 | appropriate for C-style escape sequences in strings. | ||
| 7892 | |||
| 7893 | ** SGML mode's default `sgml-validate-command' is now `nsgmls'. | ||
| 7894 | |||
| 7895 | ** A new command `view-emacs-problems' (C-h P) displays the PROBLEMS file. | ||
| 7896 | |||
| 7897 | ** The Dabbrev package has a new user-option `dabbrev-ignored-regexps' | ||
| 7898 | containing a list of regular expressions. Buffers matching a regular | ||
| 7899 | expression from that list, are not checked. | ||
| 7900 | |||
| 7901 | ** Emacs can now figure out modification times of remote files. | ||
| 7902 | When you do C-x C-f /user@host:/path/file RET and edit the file, | ||
| 7903 | and someone else modifies the file, you will be prompted to revert | ||
| 7904 | the buffer, just like for the local files. | ||
| 7905 | |||
| 7906 | ** The buffer menu (C-x C-b) no longer lists the *Buffer List* buffer. | ||
| 7907 | |||
| 7908 | ** When invoked with a prefix argument, the command `list-abbrevs' now | ||
| 7909 | displays local abbrevs, only. | ||
| 7910 | |||
| 7911 | ** Refill minor mode provides preliminary support for keeping | ||
| 7912 | paragraphs filled as you modify them. | ||
| 7913 | |||
| 7914 | ** The variable `double-click-fuzz' specifies how much the mouse | ||
| 7915 | may be moved between clicks that are recognized as a pair. Its value | ||
| 7916 | is measured in pixels. | ||
| 7917 | |||
| 7918 | ** The new global minor mode `auto-image-file-mode' allows image files | ||
| 7919 | to be visited as images. | ||
| 7920 | |||
| 7921 | ** Two new user-options `grep-command' and `grep-find-command' | ||
| 7922 | were added to compile.el. | ||
| 7923 | |||
| 7924 | ** Withdrawn packages | ||
| 7925 | |||
| 7926 | *** mldrag.el has been removed. mouse.el provides the same | ||
| 7927 | functionality with aliases for the mldrag functions. | ||
| 7928 | |||
| 7929 | *** eval-reg.el has been obsoleted by changes to edebug.el and removed. | ||
| 7930 | |||
| 7931 | *** ph.el has been obsoleted by EUDC and removed. | ||
| 7932 | |||
| 7933 | |||
| 7934 | * Incompatible Lisp changes | ||
| 7935 | |||
| 7936 | There are a few Lisp changes which are not backwards-compatible and | ||
| 7937 | may require changes to existing code. Here is a list for reference. | ||
| 7938 | See the sections below for details. | ||
| 7939 | |||
| 7940 | ** Since `format' preserves text properties, the idiom | ||
| 7941 | `(format "%s" foo)' no longer works to copy and remove properties. | ||
| 7942 | Use `copy-sequence' to copy the string, then use `set-text-properties' | ||
| 7943 | to remove the properties of the copy. | ||
| 7944 | |||
| 7945 | ** Since the `keymap' text property now has significance, some code | ||
| 7946 | which uses both `local-map' and `keymap' properties (for portability) | ||
| 7947 | may, for instance, give rise to duplicate menus when the keymaps from | ||
| 7948 | these properties are active. | ||
| 7949 | |||
| 7950 | ** The change in the treatment of non-ASCII characters in search | ||
| 7951 | ranges may affect some code. | ||
| 7952 | |||
| 7953 | ** A non-nil value for the LOCAL arg of add-hook makes the hook | ||
| 7954 | buffer-local even if `make-local-hook' hasn't been called, which might | ||
| 7955 | make a difference to some code. | ||
| 7956 | |||
| 7957 | ** The new treatment of the minibuffer prompt might affect code which | ||
| 7958 | operates on the minibuffer. | ||
| 7959 | |||
| 7960 | ** The new character sets `eight-bit-control' and `eight-bit-graphic' | ||
| 7961 | cause `no-conversion' and `emacs-mule-unix' coding systems to produce | ||
| 7962 | different results when reading files with non-ASCII characters | ||
| 7963 | (previously, both coding systems would produce the same results). | ||
| 7964 | Specifically, `no-conversion' interprets each 8-bit byte as a separate | ||
| 7965 | character. This makes `no-conversion' inappropriate for reading | ||
| 7966 | multibyte text, e.g. buffers written to disk in their internal MULE | ||
| 7967 | encoding (auto-saving does that, for example). If a Lisp program | ||
| 7968 | reads such files with `no-conversion', each byte of the multibyte | ||
| 7969 | sequence, including the MULE leading codes such as \201, is treated as | ||
| 7970 | a separate character, which prevents them from being interpreted in | ||
| 7971 | the buffer as multibyte characters. | ||
| 7972 | |||
| 7973 | Therefore, Lisp programs that read files which contain the internal | ||
| 7974 | MULE encoding should use `emacs-mule-unix'. `no-conversion' is only | ||
| 7975 | appropriate for reading truly binary files. | ||
| 7976 | |||
| 7977 | ** Code that relies on the obsolete `before-change-function' and | ||
| 7978 | `after-change-function' to detect buffer changes will now fail. Use | ||
| 7979 | `before-change-functions' and `after-change-functions' instead. | ||
| 7980 | |||
| 7981 | ** Code that uses `concat' with integer args now gets an error, as | ||
| 7982 | long promised. So does any code that uses derivatives of `concat', | ||
| 7983 | such as `mapconcat'. | ||
| 7984 | |||
| 7985 | ** The function base64-decode-string now always returns a unibyte | ||
| 7986 | string. | ||
| 7987 | |||
| 7988 | ** Not a Lisp incompatibility as such but, with the introduction of | ||
| 7989 | extra private charsets, there is now only one slot free for a new | ||
| 7990 | dimension-2 private charset. User code which tries to add more than | ||
| 7991 | one extra will fail unless you rebuild Emacs with some standard | ||
| 7992 | charset(s) removed; that is probably inadvisable because it changes | ||
| 7993 | the emacs-mule encoding. Also, files stored in the emacs-mule | ||
| 7994 | encoding using Emacs 20 with additional private charsets defined will | ||
| 7995 | probably not be read correctly by Emacs 21. | ||
| 7996 | |||
| 7997 | ** The variable `directory-sep-char' is slated for removal. | ||
| 7998 | Not really a change (yet), but a projected one that you should be | ||
| 7999 | aware of: The variable `directory-sep-char' is deprecated, and should | ||
| 8000 | not be used. It was always ignored on GNU/Linux and Unix systems and | ||
| 8001 | on MS-DOS, but the MS-Windows port tried to support it by adapting the | ||
| 8002 | behavior of certain primitives to the value of this variable. It | ||
| 8003 | turned out that such support cannot be reliable, so it was decided to | ||
| 8004 | remove this variable in the near future. Lisp programs are well | ||
| 8005 | advised not to set it to anything but '/', because any different value | ||
| 8006 | will not have any effect when support for this variable is removed. | ||
| 8007 | |||
| 8008 | |||
| 8009 | * Lisp changes made after edition 2.6 of the Emacs Lisp Manual, | ||
| 8010 | (Display-related features are described in a page of their own below.) | ||
| 8011 | |||
| 8012 | ** Function assq-delete-all replaces function assoc-delete-all. | ||
| 8013 | |||
| 8014 | ** The new function animate-string, from lisp/play/animate.el | ||
| 8015 | allows the animated display of strings. | ||
| 8016 | |||
| 8017 | ** The new function `interactive-form' can be used to obtain the | ||
| 8018 | interactive form of a function. | ||
| 8019 | |||
| 8020 | ** The keyword :set-after in defcustom allows to specify dependencies | ||
| 8021 | between custom options. Example: | ||
| 8022 | |||
| 8023 | (defcustom default-input-method nil | ||
| 8024 | "*Default input method for multilingual text (a string). | ||
| 8025 | This is the input method activated automatically by the command | ||
| 8026 | `toggle-input-method' (\\[toggle-input-method])." | ||
| 8027 | :group 'mule | ||
| 8028 | :type '(choice (const nil) string) | ||
| 8029 | :set-after '(current-language-environment)) | ||
| 8030 | |||
| 8031 | This specifies that default-input-method should be set after | ||
| 8032 | current-language-environment even if default-input-method appears | ||
| 8033 | first in a custom-set-variables statement. | ||
| 8034 | |||
| 8035 | ** The new hook `kbd-macro-termination-hook' is run at the end of | ||
| 8036 | function execute-kbd-macro. Functions on this hook are called with no | ||
| 8037 | args. The hook is run independent of how the macro was terminated | ||
| 8038 | (signal or normal termination). | ||
| 8039 | |||
| 8040 | ** Functions `butlast' and `nbutlast' for removing trailing elements | ||
| 8041 | from a list are now available without requiring the CL package. | ||
| 8042 | |||
| 8043 | ** The new user-option `even-window-heights' can be set to nil | ||
| 8044 | to prevent `display-buffer' from evening out window heights. | ||
| 8045 | |||
| 8046 | ** The user-option `face-font-registry-alternatives' specifies | ||
| 8047 | alternative font registry names to try when looking for a font. | ||
| 8048 | |||
| 8049 | ** Function `md5' calculates the MD5 "message digest"/"checksum". | ||
| 8050 | |||
| 8051 | ** Function `delete-frame' runs `delete-frame-hook' before actually | ||
| 8052 | deleting the frame. The hook is called with one arg, the frame | ||
| 8053 | being deleted. | ||
| 8054 | |||
| 8055 | ** `add-hook' now makes the hook local if called with a non-nil LOCAL arg. | ||
| 8056 | |||
| 8057 | ** The treatment of non-ASCII characters in search ranges has changed. | ||
| 8058 | If a range in a regular expression or the arg of | ||
| 8059 | skip-chars-forward/backward starts with a unibyte character C and ends | ||
| 8060 | with a multibyte character C2, the range is divided into two: one is | ||
| 8061 | C..?\377, the other is C1..C2, where C1 is the first character of C2's | ||
| 8062 | charset. | ||
| 8063 | |||
| 8064 | ** The new function `display-message-or-buffer' displays a message in | ||
| 8065 | the echo area or pops up a buffer, depending on the length of the | ||
| 8066 | message. | ||
| 8067 | |||
| 8068 | ** The new macro `with-auto-compression-mode' allows evaluating an | ||
| 8069 | expression with auto-compression-mode enabled. | ||
| 8070 | |||
| 8071 | ** In image specifications, `:heuristic-mask' has been replaced | ||
| 8072 | with the more general `:mask' property. | ||
| 8073 | |||
| 8074 | ** Image specifications accept more `:conversion's. | ||
| 8075 | |||
| 8076 | ** A `?' can be used in a symbol name without escaping it with a | ||
| 8077 | backslash. | ||
| 8078 | |||
| 8079 | ** Reading from the mini-buffer now reads from standard input if Emacs | ||
| 8080 | is running in batch mode. For example, | ||
| 8081 | |||
| 8082 | (message "%s" (read t)) | ||
| 8083 | |||
| 8084 | will read a Lisp expression from standard input and print the result | ||
| 8085 | to standard output. | ||
| 8086 | |||
| 8087 | ** The argument of `down-list', `backward-up-list', `up-list', | ||
| 8088 | `kill-sexp', `backward-kill-sexp' and `mark-sexp' is now optional. | ||
| 8089 | |||
| 8090 | ** If `display-buffer-reuse-frames' is set, function `display-buffer' | ||
| 8091 | will raise frames displaying a buffer, instead of creating a new | ||
| 8092 | frame or window. | ||
| 8093 | |||
| 8094 | ** Two new functions for removing elements from lists/sequences | ||
| 8095 | were added | ||
| 8096 | |||
| 8097 | - Function: remove ELT SEQ | ||
| 8098 | |||
| 8099 | Return a copy of SEQ with all occurrences of ELT removed. SEQ must be | ||
| 8100 | a list, vector, or string. The comparison is done with `equal'. | ||
| 8101 | |||
| 8102 | - Function: remq ELT LIST | ||
| 8103 | |||
| 8104 | Return a copy of LIST with all occurrences of ELT removed. The | ||
| 8105 | comparison is done with `eq'. | ||
| 8106 | |||
| 8107 | ** The function `delete' now also works with vectors and strings. | ||
| 8108 | |||
| 8109 | ** The meaning of the `:weakness WEAK' argument of make-hash-table | ||
| 8110 | has been changed: WEAK can now have new values `key-or-value' and | ||
| 8111 | `key-and-value', in addition to `nil', `key', `value', and `t'. | ||
| 8112 | |||
| 8113 | ** Function `aset' stores any multibyte character in any string | ||
| 8114 | without signaling "Attempt to change char length of a string". It may | ||
| 8115 | convert a unibyte string to multibyte if necessary. | ||
| 8116 | |||
| 8117 | ** The value of the `help-echo' text property is called as a function | ||
| 8118 | or evaluated, if it is not a string already, to obtain a help string. | ||
| 8119 | |||
| 8120 | ** Function `make-obsolete' now has an optional arg to say when the | ||
| 8121 | function was declared obsolete. | ||
| 8122 | |||
| 8123 | ** Function `plist-member' is renamed from `widget-plist-member' (which is | ||
| 8124 | retained as an alias). | ||
| 8125 | |||
| 8126 | ** Easy-menu's :filter now takes the unconverted form of the menu and | ||
| 8127 | the result is automatically converted to Emacs' form. | ||
| 8128 | |||
| 8129 | ** The new function `window-list' has been defined | ||
| 8130 | |||
| 8131 | - Function: window-list &optional FRAME WINDOW MINIBUF | ||
| 8132 | |||
| 8133 | Return a list of windows on FRAME, starting with WINDOW. FRAME nil or | ||
| 8134 | omitted means use the selected frame. WINDOW nil or omitted means use | ||
| 8135 | the selected window. MINIBUF t means include the minibuffer window, | ||
| 8136 | even if it isn't active. MINIBUF nil or omitted means include the | ||
| 8137 | minibuffer window only if it's active. MINIBUF neither nil nor t | ||
| 8138 | means never include the minibuffer window. | ||
| 8139 | |||
| 8140 | ** There's a new function `get-window-with-predicate' defined as follows | ||
| 8141 | |||
| 8142 | - Function: get-window-with-predicate PREDICATE &optional MINIBUF ALL-FRAMES DEFAULT | ||
| 8143 | |||
| 8144 | Return a window satisfying PREDICATE. | ||
| 8145 | |||
| 8146 | This function cycles through all visible windows using `walk-windows', | ||
| 8147 | calling PREDICATE on each one. PREDICATE is called with a window as | ||
| 8148 | argument. The first window for which PREDICATE returns a non-nil | ||
| 8149 | value is returned. If no window satisfies PREDICATE, DEFAULT is | ||
| 8150 | returned. | ||
| 8151 | |||
| 8152 | Optional second arg MINIBUF t means count the minibuffer window even | ||
| 8153 | if not active. MINIBUF nil or omitted means count the minibuffer iff | ||
| 8154 | it is active. MINIBUF neither t nor nil means not to count the | ||
| 8155 | minibuffer even if it is active. | ||
| 8156 | |||
| 8157 | Several frames may share a single minibuffer; if the minibuffer | ||
| 8158 | counts, all windows on all frames that share that minibuffer count | ||
| 8159 | too. Therefore, if you are using a separate minibuffer frame | ||
| 8160 | and the minibuffer is active and MINIBUF says it counts, | ||
| 8161 | `walk-windows' includes the windows in the frame from which you | ||
| 8162 | entered the minibuffer, as well as the minibuffer window. | ||
| 8163 | |||
| 8164 | ALL-FRAMES is the optional third argument. | ||
| 8165 | ALL-FRAMES nil or omitted means cycle within the frames as specified above. | ||
| 8166 | ALL-FRAMES = `visible' means include windows on all visible frames. | ||
| 8167 | ALL-FRAMES = 0 means include windows on all visible and iconified frames. | ||
| 8168 | ALL-FRAMES = t means include windows on all frames including invisible frames. | ||
| 8169 | If ALL-FRAMES is a frame, it means include windows on that frame. | ||
| 8170 | Anything else means restrict to the selected frame. | ||
| 8171 | |||
| 8172 | ** The function `single-key-description' now encloses function key and | ||
| 8173 | event names in angle brackets. When called with a second optional | ||
| 8174 | argument non-nil, angle brackets won't be printed. | ||
| 8175 | |||
| 8176 | ** If the variable `message-truncate-lines' is bound to t around a | ||
| 8177 | call to `message', the echo area will not be resized to display that | ||
| 8178 | message; it will be truncated instead, as it was done in 20.x. | ||
| 8179 | Default value is nil. | ||
| 8180 | |||
| 8181 | ** The user option `line-number-display-limit' can now be set to nil, | ||
| 8182 | meaning no limit. | ||
| 8183 | |||
| 8184 | ** The new user option `line-number-display-limit-width' controls | ||
| 8185 | the maximum width of lines in a buffer for which Emacs displays line | ||
| 8186 | numbers in the mode line. The default is 200. | ||
| 8187 | |||
| 8188 | ** `select-safe-coding-system' now also checks the most preferred | ||
| 8189 | coding-system if buffer-file-coding-system is `undecided' and | ||
| 8190 | DEFAULT-CODING-SYSTEM is not specified, | ||
| 8191 | |||
| 8192 | ** The function `subr-arity' provides information about the argument | ||
| 8193 | list of a primitive. | ||
| 8194 | |||
| 8195 | ** `where-is-internal' now also accepts a list of keymaps. | ||
| 8196 | |||
| 8197 | ** The text property `keymap' specifies a key map which overrides the | ||
| 8198 | buffer's local map and the map specified by the `local-map' property. | ||
| 8199 | This is probably what most current uses of `local-map' want, rather | ||
| 8200 | than replacing the local map. | ||
| 8201 | |||
| 8202 | ** The obsolete variables `before-change-function' and | ||
| 8203 | `after-change-function' are no longer acted upon and have been | ||
| 8204 | removed. Use `before-change-functions' and `after-change-functions' | ||
| 8205 | instead. | ||
| 8206 | |||
| 8207 | ** The function `apropos-mode' runs the hook `apropos-mode-hook'. | ||
| 8208 | |||
| 8209 | ** `concat' no longer accepts individual integer arguments, | ||
| 8210 | as promised long ago. | ||
| 8211 | |||
| 8212 | ** The new function `float-time' returns the current time as a float. | ||
| 8213 | |||
| 8214 | ** The new variable auto-coding-regexp-alist specifies coding systems | ||
| 8215 | for reading specific files, analogous to auto-coding-alist, but | ||
| 8216 | patterns are checked against file contents instead of file names. | ||
| 8217 | |||
| 8218 | |||
| 8219 | * Lisp changes in Emacs 21.1 (see following page for display-related features) | ||
| 8220 | |||
| 8221 | ** The new package rx.el provides an alternative sexp notation for | ||
| 8222 | regular expressions. | ||
| 8223 | |||
| 8224 | - Function: rx-to-string SEXP | ||
| 8225 | |||
| 8226 | Translate SEXP into a regular expression in string notation. | ||
| 8227 | |||
| 8228 | - Macro: rx SEXP | ||
| 8229 | |||
| 8230 | Translate SEXP into a regular expression in string notation. | ||
| 8231 | |||
| 8232 | The following are valid subforms of regular expressions in sexp | ||
| 8233 | notation. | ||
| 8234 | |||
| 8235 | STRING | ||
| 8236 | matches string STRING literally. | ||
| 8237 | |||
| 8238 | CHAR | ||
| 8239 | matches character CHAR literally. | ||
| 8240 | |||
| 8241 | `not-newline' | ||
| 8242 | matches any character except a newline. | ||
| 8243 | . | ||
| 8244 | `anything' | ||
| 8245 | matches any character | ||
| 8246 | |||
| 8247 | `(any SET)' | ||
| 8248 | matches any character in SET. SET may be a character or string. | ||
| 8249 | Ranges of characters can be specified as `A-Z' in strings. | ||
| 8250 | |||
| 8251 | '(in SET)' | ||
| 8252 | like `any'. | ||
| 8253 | |||
| 8254 | `(not (any SET))' | ||
| 8255 | matches any character not in SET | ||
| 8256 | |||
| 8257 | `line-start' | ||
| 8258 | matches the empty string, but only at the beginning of a line | ||
| 8259 | in the text being matched | ||
| 8260 | |||
| 8261 | `line-end' | ||
| 8262 | is similar to `line-start' but matches only at the end of a line | ||
| 8263 | |||
| 8264 | `string-start' | ||
| 8265 | matches the empty string, but only at the beginning of the | ||
| 8266 | string being matched against. | ||
| 8267 | |||
| 8268 | `string-end' | ||
| 8269 | matches the empty string, but only at the end of the | ||
| 8270 | string being matched against. | ||
| 8271 | |||
| 8272 | `buffer-start' | ||
| 8273 | matches the empty string, but only at the beginning of the | ||
| 8274 | buffer being matched against. | ||
| 8275 | |||
| 8276 | `buffer-end' | ||
| 8277 | matches the empty string, but only at the end of the | ||
| 8278 | buffer being matched against. | ||
| 8279 | |||
| 8280 | `point' | ||
| 8281 | matches the empty string, but only at point. | ||
| 8282 | |||
| 8283 | `word-start' | ||
| 8284 | matches the empty string, but only at the beginning or end of a | ||
| 8285 | word. | ||
| 8286 | |||
| 8287 | `word-end' | ||
| 8288 | matches the empty string, but only at the end of a word. | ||
| 8289 | |||
| 8290 | `word-boundary' | ||
| 8291 | matches the empty string, but only at the beginning or end of a | ||
| 8292 | word. | ||
| 8293 | |||
| 8294 | `(not word-boundary)' | ||
| 8295 | matches the empty string, but not at the beginning or end of a | ||
| 8296 | word. | ||
| 8297 | |||
| 8298 | `digit' | ||
| 8299 | matches 0 through 9. | ||
| 8300 | |||
| 8301 | `control' | ||
| 8302 | matches ASCII control characters. | ||
| 8303 | |||
| 8304 | `hex-digit' | ||
| 8305 | matches 0 through 9, a through f and A through F. | ||
| 8306 | |||
| 8307 | `blank' | ||
| 8308 | matches space and tab only. | ||
| 8309 | |||
| 8310 | `graphic' | ||
| 8311 | matches graphic characters--everything except ASCII control chars, | ||
| 8312 | space, and DEL. | ||
| 8313 | |||
| 8314 | `printing' | ||
| 8315 | matches printing characters--everything except ASCII control chars | ||
| 8316 | and DEL. | ||
| 8317 | |||
| 8318 | `alphanumeric' | ||
| 8319 | matches letters and digits. (But at present, for multibyte characters, | ||
| 8320 | it matches anything that has word syntax.) | ||
| 8321 | |||
| 8322 | `letter' | ||
| 8323 | matches letters. (But at present, for multibyte characters, | ||
| 8324 | it matches anything that has word syntax.) | ||
| 8325 | |||
| 8326 | `ascii' | ||
| 8327 | matches ASCII (unibyte) characters. | ||
| 8328 | |||
| 8329 | `nonascii' | ||
| 8330 | matches non-ASCII (multibyte) characters. | ||
| 8331 | |||
| 8332 | `lower' | ||
| 8333 | matches anything lower-case. | ||
| 8334 | |||
| 8335 | `upper' | ||
| 8336 | matches anything upper-case. | ||
| 8337 | |||
| 8338 | `punctuation' | ||
| 8339 | matches punctuation. (But at present, for multibyte characters, | ||
| 8340 | it matches anything that has non-word syntax.) | ||
| 8341 | |||
| 8342 | `space' | ||
| 8343 | matches anything that has whitespace syntax. | ||
| 8344 | |||
| 8345 | `word' | ||
| 8346 | matches anything that has word syntax. | ||
| 8347 | |||
| 8348 | `(syntax SYNTAX)' | ||
| 8349 | matches a character with syntax SYNTAX. SYNTAX must be one | ||
| 8350 | of the following symbols. | ||
| 8351 | |||
| 8352 | `whitespace' (\\s- in string notation) | ||
| 8353 | `punctuation' (\\s.) | ||
| 8354 | `word' (\\sw) | ||
| 8355 | `symbol' (\\s_) | ||
| 8356 | `open-parenthesis' (\\s() | ||
| 8357 | `close-parenthesis' (\\s)) | ||
| 8358 | `expression-prefix' (\\s') | ||
| 8359 | `string-quote' (\\s\") | ||
| 8360 | `paired-delimiter' (\\s$) | ||
| 8361 | `escape' (\\s\\) | ||
| 8362 | `character-quote' (\\s/) | ||
| 8363 | `comment-start' (\\s<) | ||
| 8364 | `comment-end' (\\s>) | ||
| 8365 | |||
| 8366 | `(not (syntax SYNTAX))' | ||
| 8367 | matches a character that has not syntax SYNTAX. | ||
| 8368 | |||
| 8369 | `(category CATEGORY)' | ||
| 8370 | matches a character with category CATEGORY. CATEGORY must be | ||
| 8371 | either a character to use for C, or one of the following symbols. | ||
| 8372 | |||
| 8373 | `consonant' (\\c0 in string notation) | ||
| 8374 | `base-vowel' (\\c1) | ||
| 8375 | `upper-diacritical-mark' (\\c2) | ||
| 8376 | `lower-diacritical-mark' (\\c3) | ||
| 8377 | `tone-mark' (\\c4) | ||
| 8378 | `symbol' (\\c5) | ||
| 8379 | `digit' (\\c6) | ||
| 8380 | `vowel-modifying-diacritical-mark' (\\c7) | ||
| 8381 | `vowel-sign' (\\c8) | ||
| 8382 | `semivowel-lower' (\\c9) | ||
| 8383 | `not-at-end-of-line' (\\c<) | ||
| 8384 | `not-at-beginning-of-line' (\\c>) | ||
| 8385 | `alpha-numeric-two-byte' (\\cA) | ||
| 8386 | `chinse-two-byte' (\\cC) | ||
| 8387 | `greek-two-byte' (\\cG) | ||
| 8388 | `japanese-hiragana-two-byte' (\\cH) | ||
| 8389 | `indian-two-byte' (\\cI) | ||
| 8390 | `japanese-katakana-two-byte' (\\cK) | ||
| 8391 | `korean-hangul-two-byte' (\\cN) | ||
| 8392 | `cyrillic-two-byte' (\\cY) | ||
| 8393 | `ascii' (\\ca) | ||
| 8394 | `arabic' (\\cb) | ||
| 8395 | `chinese' (\\cc) | ||
| 8396 | `ethiopic' (\\ce) | ||
| 8397 | `greek' (\\cg) | ||
| 8398 | `korean' (\\ch) | ||
| 8399 | `indian' (\\ci) | ||
| 8400 | `japanese' (\\cj) | ||
| 8401 | `japanese-katakana' (\\ck) | ||
| 8402 | `latin' (\\cl) | ||
| 8403 | `lao' (\\co) | ||
| 8404 | `tibetan' (\\cq) | ||
| 8405 | `japanese-roman' (\\cr) | ||
| 8406 | `thai' (\\ct) | ||
| 8407 | `vietnamese' (\\cv) | ||
| 8408 | `hebrew' (\\cw) | ||
| 8409 | `cyrillic' (\\cy) | ||
| 8410 | `can-break' (\\c|) | ||
| 8411 | |||
| 8412 | `(not (category CATEGORY))' | ||
| 8413 | matches a character that has not category CATEGORY. | ||
| 8414 | |||
| 8415 | `(and SEXP1 SEXP2 ...)' | ||
| 8416 | matches what SEXP1 matches, followed by what SEXP2 matches, etc. | ||
| 8417 | |||
| 8418 | `(submatch SEXP1 SEXP2 ...)' | ||
| 8419 | like `and', but makes the match accessible with `match-end', | ||
| 8420 | `match-beginning', and `match-string'. | ||
| 8421 | |||
| 8422 | `(group SEXP1 SEXP2 ...)' | ||
| 8423 | another name for `submatch'. | ||
| 8424 | |||
| 8425 | `(or SEXP1 SEXP2 ...)' | ||
| 8426 | matches anything that matches SEXP1 or SEXP2, etc. If all | ||
| 8427 | args are strings, use `regexp-opt' to optimize the resulting | ||
| 8428 | regular expression. | ||
| 8429 | |||
| 8430 | `(minimal-match SEXP)' | ||
| 8431 | produce a non-greedy regexp for SEXP. Normally, regexps matching | ||
| 8432 | zero or more occurrences of something are \"greedy\" in that they | ||
| 8433 | match as much as they can, as long as the overall regexp can | ||
| 8434 | still match. A non-greedy regexp matches as little as possible. | ||
| 8435 | |||
| 8436 | `(maximal-match SEXP)' | ||
| 8437 | produce a greedy regexp for SEXP. This is the default. | ||
| 8438 | |||
| 8439 | `(zero-or-more SEXP)' | ||
| 8440 | matches zero or more occurrences of what SEXP matches. | ||
| 8441 | |||
| 8442 | `(0+ SEXP)' | ||
| 8443 | like `zero-or-more'. | ||
| 8444 | |||
| 8445 | `(* SEXP)' | ||
| 8446 | like `zero-or-more', but always produces a greedy regexp. | ||
| 8447 | |||
| 8448 | `(*? SEXP)' | ||
| 8449 | like `zero-or-more', but always produces a non-greedy regexp. | ||
| 8450 | |||
| 8451 | `(one-or-more SEXP)' | ||
| 8452 | matches one or more occurrences of A. | ||
| 8453 | |||
| 8454 | `(1+ SEXP)' | ||
| 8455 | like `one-or-more'. | ||
| 8456 | |||
| 8457 | `(+ SEXP)' | ||
| 8458 | like `one-or-more', but always produces a greedy regexp. | ||
| 8459 | |||
| 8460 | `(+? SEXP)' | ||
| 8461 | like `one-or-more', but always produces a non-greedy regexp. | ||
| 8462 | |||
| 8463 | `(zero-or-one SEXP)' | ||
| 8464 | matches zero or one occurrences of A. | ||
| 8465 | |||
| 8466 | `(optional SEXP)' | ||
| 8467 | like `zero-or-one'. | ||
| 8468 | |||
| 8469 | `(? SEXP)' | ||
| 8470 | like `zero-or-one', but always produces a greedy regexp. | ||
| 8471 | |||
| 8472 | `(?? SEXP)' | ||
| 8473 | like `zero-or-one', but always produces a non-greedy regexp. | ||
| 8474 | |||
| 8475 | `(repeat N SEXP)' | ||
| 8476 | matches N occurrences of what SEXP matches. | ||
| 8477 | |||
| 8478 | `(repeat N M SEXP)' | ||
| 8479 | matches N to M occurrences of what SEXP matches. | ||
| 8480 | |||
| 8481 | `(eval FORM)' | ||
| 8482 | evaluate FORM and insert result. If result is a string, | ||
| 8483 | `regexp-quote' it. | ||
| 8484 | |||
| 8485 | `(regexp REGEXP)' | ||
| 8486 | include REGEXP in string notation in the result. | ||
| 8487 | |||
| 8488 | *** The features `md5' and `overlay' are now provided by default. | ||
| 8489 | |||
| 8490 | *** The special form `save-restriction' now works correctly even if the | ||
| 8491 | buffer is widened inside the save-restriction and changes made outside | ||
| 8492 | the original restriction. Previously, doing this would cause the saved | ||
| 8493 | restriction to be restored incorrectly. | ||
| 8494 | |||
| 8495 | *** The functions `find-charset-region' and `find-charset-string' include | ||
| 8496 | `eight-bit-control' and/or `eight-bit-graphic' in the returned list | ||
| 8497 | when they find 8-bit characters. Previously, they included `ascii' in a | ||
| 8498 | multibyte buffer and `unknown' in a unibyte buffer. | ||
| 8499 | |||
| 8500 | *** The functions `set-buffer-multibyte', `string-as-multibyte' and | ||
| 8501 | `string-as-unibyte' change the byte sequence of a buffer or a string | ||
| 8502 | if it contains a character from the `eight-bit-control' character set. | ||
| 8503 | |||
| 8504 | *** The handling of multibyte sequences in a multibyte buffer is | ||
| 8505 | changed. Previously, a byte sequence matching the pattern | ||
| 8506 | [\200-\237][\240-\377]+ was interpreted as a single character | ||
| 8507 | regardless of the length of the trailing bytes [\240-\377]+. Thus, if | ||
| 8508 | the sequence was longer than what the leading byte indicated, the | ||
| 8509 | extra trailing bytes were ignored by Lisp functions. Now such extra | ||
| 8510 | bytes are independent 8-bit characters belonging to the charset | ||
| 8511 | eight-bit-graphic. | ||
| 8512 | |||
| 8513 | ** Fontsets are now implemented using char-tables. | ||
| 8514 | |||
| 8515 | A fontset can now be specified for each independent character, for | ||
| 8516 | a group of characters or for a character set rather than just for a | ||
| 8517 | character set as previously. | ||
| 8518 | |||
| 8519 | *** The arguments of the function `set-fontset-font' are changed. | ||
| 8520 | They are NAME, CHARACTER, FONTNAME, and optional FRAME. The function | ||
| 8521 | modifies fontset NAME to use FONTNAME for CHARACTER. | ||
| 8522 | |||
| 8523 | CHARACTER may be a cons (FROM . TO), where FROM and TO are non-generic | ||
| 8524 | characters. In that case FONTNAME is used for all characters in the | ||
| 8525 | range FROM and TO (inclusive). CHARACTER may be a charset. In that | ||
| 8526 | case FONTNAME is used for all character in the charset. | ||
| 8527 | |||
| 8528 | FONTNAME may be a cons (FAMILY . REGISTRY), where FAMILY is the family | ||
| 8529 | name of a font and REGISTRY is a registry name of a font. | ||
| 8530 | |||
| 8531 | *** Variable x-charset-registry has been deleted. The default charset | ||
| 8532 | registries of character sets are set in the default fontset | ||
| 8533 | "fontset-default". | ||
| 8534 | |||
| 8535 | *** The function `create-fontset-from-fontset-spec' ignores the second | ||
| 8536 | argument STYLE-VARIANT. It never creates style-variant fontsets. | ||
| 8537 | |||
| 8538 | ** The method of composing characters is changed. Now character | ||
| 8539 | composition is done by a special text property `composition' in | ||
| 8540 | buffers and strings. | ||
| 8541 | |||
| 8542 | *** Charset composition is deleted. Emacs never creates a `composite | ||
| 8543 | character' which is an independent character with a unique character | ||
| 8544 | code. Thus the following functions handling `composite characters' | ||
| 8545 | have been deleted: composite-char-component, | ||
| 8546 | composite-char-component-count, composite-char-composition-rule, | ||
| 8547 | composite-char-composition-rule and decompose-composite-char delete. | ||
| 8548 | The variables leading-code-composition and min-composite-char have | ||
| 8549 | also been deleted. | ||
| 8550 | |||
| 8551 | *** Three more glyph reference points are added. They can be used to | ||
| 8552 | specify a composition rule. See the documentation of the variable | ||
| 8553 | `reference-point-alist' for more detail. | ||
| 8554 | |||
| 8555 | *** The function `compose-region' takes new arguments COMPONENTS and | ||
| 8556 | MODIFICATION-FUNC. With COMPONENTS, you can specify not only a | ||
| 8557 | composition rule but also characters to be composed. Such characters | ||
| 8558 | may differ between buffer and string text. | ||
| 8559 | |||
| 8560 | *** The function `compose-string' takes new arguments START, END, | ||
| 8561 | COMPONENTS, and MODIFICATION-FUNC. | ||
| 8562 | |||
| 8563 | *** The function `compose-string' puts text property `composition' | ||
| 8564 | directly on the argument STRING instead of returning a new string. | ||
| 8565 | Likewise, the function `decompose-string' just removes text property | ||
| 8566 | `composition' from STRING. | ||
| 8567 | |||
| 8568 | *** The new function `find-composition' returns information about | ||
| 8569 | a composition at a specified position in a buffer or a string. | ||
| 8570 | |||
| 8571 | *** The function `decompose-composite-char' is now labeled as | ||
| 8572 | obsolete. | ||
| 8573 | |||
| 8574 | ** The new coding system `mac-roman' is primarily intended for use on | ||
| 8575 | the Macintosh but may be used generally for Macintosh-encoded text. | ||
| 8576 | |||
| 8577 | ** The new character sets `mule-unicode-0100-24ff', | ||
| 8578 | `mule-unicode-2500-33ff', and `mule-unicode-e000-ffff' have been | ||
| 8579 | introduced for Unicode characters in the range U+0100..U+24FF, | ||
| 8580 | U+2500..U+33FF, U+E000..U+FFFF respectively. | ||
| 8581 | |||
| 8582 | Note that the character sets are not yet unified in Emacs, so | ||
| 8583 | characters which belong to charsets such as Latin-2, Greek, Hebrew, | ||
| 8584 | etc. and the same characters in the `mule-unicode-*' charsets are | ||
| 8585 | different characters, as far as Emacs is concerned. For example, text | ||
| 8586 | which includes Unicode characters from the Latin-2 locale cannot be | ||
| 8587 | encoded by Emacs with ISO 8859-2 coding system. | ||
| 8588 | |||
| 8589 | ** The new coding system `mule-utf-8' has been added. | ||
| 8590 | It provides limited support for decoding/encoding UTF-8 text. For | ||
| 8591 | details, please see the documentation string of this coding system. | ||
| 8592 | |||
| 8593 | ** The new character sets `japanese-jisx0213-1' and | ||
| 8594 | `japanese-jisx0213-2' have been introduced for the new Japanese | ||
| 8595 | standard JIS X 0213 Plane 1 and Plane 2. | ||
| 8596 | |||
| 8597 | ** The new character sets `latin-iso8859-14' and `latin-iso8859-15' | ||
| 8598 | have been introduced. | ||
| 8599 | |||
| 8600 | ** The new character sets `eight-bit-control' and `eight-bit-graphic' | ||
| 8601 | have been introduced for 8-bit characters in the ranges 0x80..0x9F and | ||
| 8602 | 0xA0..0xFF respectively. Note that the multibyte representation of | ||
| 8603 | eight-bit-control is never exposed; this leads to an exception in the | ||
| 8604 | emacs-mule coding system, which encodes everything else to the | ||
| 8605 | buffer/string internal representation. Note that to search for | ||
| 8606 | eight-bit-graphic characters in a multibyte buffer, the search string | ||
| 8607 | must be multibyte, otherwise such characters will be converted to | ||
| 8608 | their multibyte equivalent. | ||
| 8609 | |||
| 8610 | ** If the APPEND argument of `write-region' is an integer, it seeks to | ||
| 8611 | that offset in the file before writing. | ||
| 8612 | |||
| 8613 | ** The function `add-minor-mode' has been added for convenience and | ||
| 8614 | compatibility with XEmacs (and is used internally by define-minor-mode). | ||
| 8615 | |||
| 8616 | ** The function `shell-command' now sets the default directory of the | ||
| 8617 | `*Shell Command Output*' buffer to the default directory of the buffer | ||
| 8618 | from which the command was issued. | ||
| 8619 | |||
| 8620 | ** The functions `query-replace', `query-replace-regexp', | ||
| 8621 | `query-replace-regexp-eval' `map-query-replace-regexp', | ||
| 8622 | `replace-string', `replace-regexp', and `perform-replace' take two | ||
| 8623 | additional optional arguments START and END that specify the region to | ||
| 8624 | operate on. | ||
| 8625 | |||
| 8626 | ** The new function `count-screen-lines' is a more flexible alternative | ||
| 8627 | to `window-buffer-height'. | ||
| 8628 | |||
| 8629 | - Function: count-screen-lines &optional BEG END COUNT-FINAL-NEWLINE WINDOW | ||
| 8630 | |||
| 8631 | Return the number of screen lines in the region between BEG and END. | ||
| 8632 | The number of screen lines may be different from the number of actual | ||
| 8633 | lines, due to line breaking, display table, etc. | ||
| 8634 | |||
| 8635 | Optional arguments BEG and END default to `point-min' and `point-max' | ||
| 8636 | respectively. | ||
| 8637 | |||
| 8638 | If region ends with a newline, ignore it unless optional third argument | ||
| 8639 | COUNT-FINAL-NEWLINE is non-nil. | ||
| 8640 | |||
| 8641 | The optional fourth argument WINDOW specifies the window used for | ||
| 8642 | obtaining parameters such as width, horizontal scrolling, and so | ||
| 8643 | on. The default is to use the selected window's parameters. | ||
| 8644 | |||
| 8645 | Like `vertical-motion', `count-screen-lines' always uses the current | ||
| 8646 | buffer, regardless of which buffer is displayed in WINDOW. This makes | ||
| 8647 | possible to use `count-screen-lines' in any buffer, whether or not it | ||
| 8648 | is currently displayed in some window. | ||
| 8649 | |||
| 8650 | ** The new function `mapc' is like `mapcar' but doesn't collect the | ||
| 8651 | argument function's results. | ||
| 8652 | |||
| 8653 | ** The functions base64-decode-region and base64-decode-string now | ||
| 8654 | signal an error instead of returning nil if decoding fails. Also, | ||
| 8655 | `base64-decode-string' now always returns a unibyte string (in Emacs | ||
| 8656 | 20, it returned a multibyte string when the result was a valid multibyte | ||
| 8657 | sequence). | ||
| 8658 | |||
| 8659 | ** The function sendmail-user-agent-compose now recognizes a `body' | ||
| 8660 | header in the list of headers passed to it. | ||
| 8661 | |||
| 8662 | ** The new function member-ignore-case works like `member', but | ||
| 8663 | ignores differences in case and text representation. | ||
| 8664 | |||
| 8665 | ** The buffer-local variable cursor-type can be used to specify the | ||
| 8666 | cursor to use in windows displaying a buffer. Values are interpreted | ||
| 8667 | as follows: | ||
| 8668 | |||
| 8669 | t use the cursor specified for the frame (default) | ||
| 8670 | nil don't display a cursor | ||
| 8671 | `bar' display a bar cursor with default width | ||
| 8672 | (bar . WIDTH) display a bar cursor with width WIDTH | ||
| 8673 | others display a box cursor. | ||
| 8674 | |||
| 8675 | ** The variable open-paren-in-column-0-is-defun-start controls whether | ||
| 8676 | an open parenthesis in column 0 is considered to be the start of a | ||
| 8677 | defun. If set, the default, it is considered a defun start. If not | ||
| 8678 | set, an open parenthesis in column 0 has no special meaning. | ||
| 8679 | |||
| 8680 | ** The new function `string-to-syntax' can be used to translate syntax | ||
| 8681 | specifications in string form as accepted by `modify-syntax-entry' to | ||
| 8682 | the cons-cell form that is used for the values of the `syntax-table' | ||
| 8683 | text property, and in `font-lock-syntactic-keywords'. | ||
| 8684 | |||
| 8685 | Example: | ||
| 8686 | |||
| 8687 | (string-to-syntax "()") | ||
| 8688 | => (4 . 41) | ||
| 8689 | |||
| 8690 | ** Emacs' reader supports CL read syntax for integers in bases | ||
| 8691 | other than 10. | ||
| 8692 | |||
| 8693 | *** `#BINTEGER' or `#bINTEGER' reads INTEGER in binary (radix 2). | ||
| 8694 | INTEGER optionally contains a sign. | ||
| 8695 | |||
| 8696 | #b1111 | ||
| 8697 | => 15 | ||
| 8698 | #b-1111 | ||
| 8699 | => -15 | ||
| 8700 | |||
| 8701 | *** `#OINTEGER' or `#oINTEGER' reads INTEGER in octal (radix 8). | ||
| 8702 | |||
| 8703 | #o666 | ||
| 8704 | => 438 | ||
| 8705 | |||
| 8706 | *** `#XINTEGER' or `#xINTEGER' reads INTEGER in hexadecimal (radix 16). | ||
| 8707 | |||
| 8708 | #xbeef | ||
| 8709 | => 48815 | ||
| 8710 | |||
| 8711 | *** `#RADIXrINTEGER' reads INTEGER in radix RADIX, 2 <= RADIX <= 36. | ||
| 8712 | |||
| 8713 | #2R-111 | ||
| 8714 | => -7 | ||
| 8715 | #25rah | ||
| 8716 | => 267 | ||
| 8717 | |||
| 8718 | ** The function `documentation-property' now evaluates the value of | ||
| 8719 | the given property to obtain a string if it doesn't refer to etc/DOC | ||
| 8720 | and isn't a string. | ||
| 8721 | |||
| 8722 | ** If called for a symbol, the function `documentation' now looks for | ||
| 8723 | a `function-documentation' property of that symbol. If it has a non-nil | ||
| 8724 | value, the documentation is taken from that value. If the value is | ||
| 8725 | not a string, it is evaluated to obtain a string. | ||
| 8726 | |||
| 8727 | ** The last argument of `define-key-after' defaults to t for convenience. | ||
| 8728 | |||
| 8729 | ** The new function `replace-regexp-in-string' replaces all matches | ||
| 8730 | for a regexp in a string. | ||
| 8731 | |||
| 8732 | ** `mouse-position' now runs the abnormal hook | ||
| 8733 | `mouse-position-function'. | ||
| 8734 | |||
| 8735 | ** The function string-to-number now returns a float for numbers | ||
| 8736 | that don't fit into a Lisp integer. | ||
| 8737 | |||
| 8738 | ** The variable keyword-symbols-constants-flag has been removed. | ||
| 8739 | Keywords are now always considered constants. | ||
| 8740 | |||
| 8741 | ** The new function `delete-and-extract-region' deletes text and | ||
| 8742 | returns it. | ||
| 8743 | |||
| 8744 | ** The function `clear-this-command-keys' now also clears the vector | ||
| 8745 | returned by function `recent-keys'. | ||
| 8746 | |||
| 8747 | ** Variables `beginning-of-defun-function' and `end-of-defun-function' | ||
| 8748 | can be used to define handlers for the functions that find defuns. | ||
| 8749 | Major modes can define these locally instead of rebinding C-M-a | ||
| 8750 | etc. if the normal conventions for defuns are not appropriate for the | ||
| 8751 | mode. | ||
| 8752 | |||
| 8753 | ** easy-mmode-define-minor-mode now takes an additional BODY argument | ||
| 8754 | and is renamed `define-minor-mode'. | ||
| 8755 | |||
| 8756 | ** If an abbrev has a hook function which is a symbol, and that symbol | ||
| 8757 | has a non-nil `no-self-insert' property, the return value of the hook | ||
| 8758 | function specifies whether an expansion has been done or not. If it | ||
| 8759 | returns nil, abbrev-expand also returns nil, meaning "no expansion has | ||
| 8760 | been performed." | ||
| 8761 | |||
| 8762 | When abbrev expansion is done by typing a self-inserting character, | ||
| 8763 | and the abbrev has a hook with the `no-self-insert' property, and the | ||
| 8764 | hook function returns non-nil meaning expansion has been done, | ||
| 8765 | then the self-inserting character is not inserted. | ||
| 8766 | |||
| 8767 | ** The function `intern-soft' now accepts a symbol as first argument. | ||
| 8768 | In this case, that exact symbol is looked up in the specified obarray, | ||
| 8769 | and the function's value is nil if it is not found. | ||
| 8770 | |||
| 8771 | ** The new macro `with-syntax-table' can be used to evaluate forms | ||
| 8772 | with the syntax table of the current buffer temporarily set to a | ||
| 8773 | specified table. | ||
| 8774 | |||
| 8775 | (with-syntax-table TABLE &rest BODY) | ||
| 8776 | |||
| 8777 | Evaluate BODY with syntax table of current buffer set to a copy of | ||
| 8778 | TABLE. The current syntax table is saved, BODY is evaluated, and the | ||
| 8779 | saved table is restored, even in case of an abnormal exit. Value is | ||
| 8780 | what BODY returns. | ||
| 8781 | |||
| 8782 | ** Regular expressions now support intervals \{n,m\} as well as | ||
| 8783 | Perl's shy-groups \(?:...\) and non-greedy *? +? and ?? operators. | ||
| 8784 | Also back-references like \2 are now considered as an error if the | ||
| 8785 | corresponding subgroup does not exist (or is not closed yet). | ||
| 8786 | Previously it would have been silently turned into `2' (ignoring the `\'). | ||
| 8787 | |||
| 8788 | ** The optional argument BUFFER of function file-local-copy has been | ||
| 8789 | removed since it wasn't used by anything. | ||
| 8790 | |||
| 8791 | ** The file name argument of function `file-locked-p' is now required | ||
| 8792 | instead of being optional. | ||
| 8793 | |||
| 8794 | ** The new built-in error `text-read-only' is signaled when trying to | ||
| 8795 | modify read-only text. | ||
| 8796 | |||
| 8797 | ** New functions and variables for locales. | ||
| 8798 | |||
| 8799 | The new variable `locale-coding-system' specifies how to encode and | ||
| 8800 | decode strings passed to low-level message functions like strerror and | ||
| 8801 | time functions like strftime. The new variables | ||
| 8802 | `system-messages-locale' and `system-time-locale' give the system | ||
| 8803 | locales to be used when invoking these two types of functions. | ||
| 8804 | |||
| 8805 | The new function `set-locale-environment' sets the language | ||
| 8806 | environment, preferred coding system, and locale coding system from | ||
| 8807 | the system locale as specified by the LC_ALL, LC_CTYPE, and LANG | ||
| 8808 | environment variables. Normally, it is invoked during startup and need | ||
| 8809 | not be invoked thereafter. It uses the new variables | ||
| 8810 | `locale-language-names', `locale-charset-language-names', and | ||
| 8811 | `locale-preferred-coding-systems' to make its decisions. | ||
| 8812 | |||
| 8813 | ** syntax tables now understand nested comments. | ||
| 8814 | To declare a comment syntax as allowing nesting, just add an `n' | ||
| 8815 | modifier to either of the characters of the comment end and the comment | ||
| 8816 | start sequences. | ||
| 8817 | |||
| 8818 | ** The function `pixmap-spec-p' has been renamed `bitmap-spec-p' | ||
| 8819 | because `bitmap' is more in line with the usual X terminology. | ||
| 8820 | |||
| 8821 | ** New function `propertize' | ||
| 8822 | |||
| 8823 | The new function `propertize' can be used to conveniently construct | ||
| 8824 | strings with text properties. | ||
| 8825 | |||
| 8826 | - Function: propertize STRING &rest PROPERTIES | ||
| 8827 | |||
| 8828 | Value is a copy of STRING with text properties assigned as specified | ||
| 8829 | by PROPERTIES. PROPERTIES is a sequence of pairs PROPERTY VALUE, with | ||
| 8830 | PROPERTY being the name of a text property and VALUE being the | ||
| 8831 | specified value of that property. Example: | ||
| 8832 | |||
| 8833 | (propertize "foo" 'face 'bold 'read-only t) | ||
| 8834 | |||
| 8835 | ** push and pop macros. | ||
| 8836 | |||
| 8837 | Simple versions of the push and pop macros of Common Lisp | ||
| 8838 | are now defined in Emacs Lisp. These macros allow only symbols | ||
| 8839 | as the place that holds the list to be changed. | ||
| 8840 | |||
| 8841 | (push NEWELT LISTNAME) add NEWELT to the front of LISTNAME's value. | ||
| 8842 | (pop LISTNAME) return first elt of LISTNAME, and remove it | ||
| 8843 | (thus altering the value of LISTNAME). | ||
| 8844 | |||
| 8845 | ** New dolist and dotimes macros. | ||
| 8846 | |||
| 8847 | Simple versions of the dolist and dotimes macros of Common Lisp | ||
| 8848 | are now defined in Emacs Lisp. | ||
| 8849 | |||
| 8850 | (dolist (VAR LIST [RESULT]) BODY...) | ||
| 8851 | Execute body once for each element of LIST, | ||
| 8852 | using the variable VAR to hold the current element. | ||
| 8853 | Then return the value of RESULT, or nil if RESULT is omitted. | ||
| 8854 | |||
| 8855 | (dotimes (VAR COUNT [RESULT]) BODY...) | ||
| 8856 | Execute BODY with VAR bound to successive integers running from 0, | ||
| 8857 | inclusive, to COUNT, exclusive. | ||
| 8858 | Then return the value of RESULT, or nil if RESULT is omitted. | ||
| 8859 | |||
| 8860 | ** Regular expressions now support Posix character classes such as | ||
| 8861 | [:alpha:], [:space:] and so on. These must be used within a character | ||
| 8862 | class--for instance, [-[:digit:].+] matches digits or a period | ||
| 8863 | or a sign. | ||
| 8864 | |||
| 8865 | [:digit:] matches 0 through 9 | ||
| 8866 | [:cntrl:] matches ASCII control characters | ||
| 8867 | [:xdigit:] matches 0 through 9, a through f and A through F. | ||
| 8868 | [:blank:] matches space and tab only | ||
| 8869 | [:graph:] matches graphic characters--everything except ASCII control chars, | ||
| 8870 | space, and DEL. | ||
| 8871 | [:print:] matches printing characters--everything except ASCII control chars | ||
| 8872 | and DEL. | ||
| 8873 | [:alnum:] matches letters and digits. | ||
| 8874 | (But at present, for multibyte characters, | ||
| 8875 | it matches anything that has word syntax.) | ||
| 8876 | [:alpha:] matches letters. | ||
| 8877 | (But at present, for multibyte characters, | ||
| 8878 | it matches anything that has word syntax.) | ||
| 8879 | [:ascii:] matches ASCII (unibyte) characters. | ||
| 8880 | [:nonascii:] matches non-ASCII (multibyte) characters. | ||
| 8881 | [:lower:] matches anything lower-case. | ||
| 8882 | [:punct:] matches punctuation. | ||
| 8883 | (But at present, for multibyte characters, | ||
| 8884 | it matches anything that has non-word syntax.) | ||
| 8885 | [:space:] matches anything that has whitespace syntax. | ||
| 8886 | [:upper:] matches anything upper-case. | ||
| 8887 | [:word:] matches anything that has word syntax. | ||
| 8888 | |||
| 8889 | ** Emacs now has built-in hash tables. | ||
| 8890 | |||
| 8891 | The following functions are defined for hash tables: | ||
| 8892 | |||
| 8893 | - Function: make-hash-table ARGS | ||
| 8894 | |||
| 8895 | The argument list ARGS consists of keyword/argument pairs. All arguments | ||
| 8896 | are optional. The following arguments are defined: | ||
| 8897 | |||
| 8898 | :test TEST | ||
| 8899 | |||
| 8900 | TEST must be a symbol specifying how to compare keys. Default is `eql'. | ||
| 8901 | Predefined are `eq', `eql' and `equal'. If TEST is not predefined, | ||
| 8902 | it must have been defined with `define-hash-table-test'. | ||
| 8903 | |||
| 8904 | :size SIZE | ||
| 8905 | |||
| 8906 | SIZE must be an integer > 0 giving a hint to the implementation how | ||
| 8907 | many elements will be put in the hash table. Default size is 65. | ||
| 8908 | |||
| 8909 | :rehash-size REHASH-SIZE | ||
| 8910 | |||
| 8911 | REHASH-SIZE specifies by how much to grow a hash table once it becomes | ||
| 8912 | full. If REHASH-SIZE is an integer, add that to the hash table's old | ||
| 8913 | size to get the new size. Otherwise, REHASH-SIZE must be a float > | ||
| 8914 | 1.0, and the new size is computed by multiplying REHASH-SIZE with the | ||
| 8915 | old size. Default rehash size is 1.5. | ||
| 8916 | |||
| 8917 | :rehash-threshold THRESHOLD | ||
| 8918 | |||
| 8919 | THRESHOLD must be a float > 0 and <= 1.0 specifying when to resize the | ||
| 8920 | hash table. It is resized when the ratio of (number of entries) / | ||
| 8921 | (size of hash table) is >= THRESHOLD. Default threshold is 0.8. | ||
| 8922 | |||
| 8923 | :weakness WEAK | ||
| 8924 | |||
| 8925 | WEAK must be either nil, one of the symbols `key, `value', | ||
| 8926 | `key-or-value', `key-and-value', or t, meaning the same as | ||
| 8927 | `key-and-value'. Entries are removed from weak tables during garbage | ||
| 8928 | collection if their key and/or value are not referenced elsewhere | ||
| 8929 | outside of the hash table. Default are non-weak hash tables. | ||
| 8930 | |||
| 8931 | - Function: makehash &optional TEST | ||
| 8932 | |||
| 8933 | Similar to make-hash-table, but only TEST can be specified. | ||
| 8934 | |||
| 8935 | - Function: hash-table-p TABLE | ||
| 8936 | |||
| 8937 | Returns non-nil if TABLE is a hash table object. | ||
| 8938 | |||
| 8939 | - Function: copy-hash-table TABLE | ||
| 8940 | |||
| 8941 | Returns a copy of TABLE. Only the table itself is copied, keys and | ||
| 8942 | values are shared. | ||
| 8943 | |||
| 8944 | - Function: hash-table-count TABLE | ||
| 8945 | |||
| 8946 | Returns the number of entries in TABLE. | ||
| 8947 | |||
| 8948 | - Function: hash-table-rehash-size TABLE | ||
| 8949 | |||
| 8950 | Returns the rehash size of TABLE. | ||
| 8951 | |||
| 8952 | - Function: hash-table-rehash-threshold TABLE | ||
| 8953 | |||
| 8954 | Returns the rehash threshold of TABLE. | ||
| 8955 | |||
| 8956 | - Function: hash-table-rehash-size TABLE | ||
| 8957 | |||
| 8958 | Returns the size of TABLE. | ||
| 8959 | |||
| 8960 | - Function: hash-table-test TABLE | ||
| 8961 | |||
| 8962 | Returns the test TABLE uses to compare keys. | ||
| 8963 | |||
| 8964 | - Function: hash-table-weakness TABLE | ||
| 8965 | |||
| 8966 | Returns the weakness specified for TABLE. | ||
| 8967 | |||
| 8968 | - Function: clrhash TABLE | ||
| 8969 | |||
| 8970 | Clear TABLE. | ||
| 8971 | |||
| 8972 | - Function: gethash KEY TABLE &optional DEFAULT | ||
| 8973 | |||
| 8974 | Look up KEY in TABLE and return its associated VALUE or DEFAULT if | ||
| 8975 | not found. | ||
| 8976 | |||
| 8977 | - Function: puthash KEY VALUE TABLE | ||
| 8978 | |||
| 8979 | Associate KEY with VALUE in TABLE. If KEY is already associated with | ||
| 8980 | another value, replace the old value with VALUE. | ||
| 8981 | |||
| 8982 | - Function: remhash KEY TABLE | ||
| 8983 | |||
| 8984 | Remove KEY from TABLE if it is there. | ||
| 8985 | |||
| 8986 | - Function: maphash FUNCTION TABLE | ||
| 8987 | |||
| 8988 | Call FUNCTION for all elements in TABLE. FUNCTION must take two | ||
| 8989 | arguments KEY and VALUE. | ||
| 8990 | |||
| 8991 | - Function: sxhash OBJ | ||
| 8992 | |||
| 8993 | Return a hash code for Lisp object OBJ. | ||
| 8994 | |||
| 8995 | - Function: define-hash-table-test NAME TEST-FN HASH-FN | ||
| 8996 | |||
| 8997 | Define a new hash table test named NAME. If NAME is specified as | ||
| 8998 | a test in `make-hash-table', the table created will use TEST-FN for | ||
| 8999 | comparing keys, and HASH-FN to compute hash codes for keys. Test | ||
| 9000 | and hash function are stored as symbol property `hash-table-test' | ||
| 9001 | of NAME with a value of (TEST-FN HASH-FN). | ||
| 9002 | |||
| 9003 | TEST-FN must take two arguments and return non-nil if they are the same. | ||
| 9004 | |||
| 9005 | HASH-FN must take one argument and return an integer that is the hash | ||
| 9006 | code of the argument. The function should use the whole range of | ||
| 9007 | integer values for hash code computation, including negative integers. | ||
| 9008 | |||
| 9009 | Example: The following creates a hash table whose keys are supposed to | ||
| 9010 | be strings that are compared case-insensitively. | ||
| 9011 | |||
| 9012 | (defun case-fold-string= (a b) | ||
| 9013 | (compare-strings a nil nil b nil nil t)) | ||
| 9014 | |||
| 9015 | (defun case-fold-string-hash (a) | ||
| 9016 | (sxhash (upcase a))) | ||
| 9017 | |||
| 9018 | (define-hash-table-test 'case-fold 'case-fold-string= | ||
| 9019 | 'case-fold-string-hash)) | ||
| 9020 | |||
| 9021 | (make-hash-table :test 'case-fold) | ||
| 9022 | |||
| 9023 | ** The Lisp reader handles circular structure. | ||
| 9024 | |||
| 9025 | It now works to use the #N= and #N# constructs to represent | ||
| 9026 | circular structures. For example, #1=(a . #1#) represents | ||
| 9027 | a cons cell which is its own cdr. | ||
| 9028 | |||
| 9029 | ** The Lisp printer handles circular structure. | ||
| 9030 | |||
| 9031 | If you bind print-circle to a non-nil value, the Lisp printer outputs | ||
| 9032 | #N= and #N# constructs to represent circular and shared structure. | ||
| 9033 | |||
| 9034 | ** If the second argument to `move-to-column' is anything but nil or | ||
| 9035 | t, that means replace a tab with spaces if necessary to reach the | ||
| 9036 | specified column, but do not add spaces at the end of the line if it | ||
| 9037 | is too short to reach that column. | ||
| 9038 | |||
| 9039 | ** perform-replace has a new feature: the REPLACEMENTS argument may | ||
| 9040 | now be a cons cell (FUNCTION . DATA). This means to call FUNCTION | ||
| 9041 | after each match to get the replacement text. FUNCTION is called with | ||
| 9042 | two arguments: DATA, and the number of replacements already made. | ||
| 9043 | |||
| 9044 | If the FROM-STRING contains any upper-case letters, | ||
| 9045 | perform-replace also turns off `case-fold-search' temporarily | ||
| 9046 | and inserts the replacement text without altering case in it. | ||
| 9047 | |||
| 9048 | ** The function buffer-size now accepts an optional argument | ||
| 9049 | to specify which buffer to return the size of. | ||
| 9050 | |||
| 9051 | ** The calendar motion commands now run the normal hook | ||
| 9052 | calendar-move-hook after moving point. | ||
| 9053 | |||
| 9054 | ** The new variable small-temporary-file-directory specifies a | ||
| 9055 | directory to use for creating temporary files that are likely to be | ||
| 9056 | small. (Certain Emacs features use this directory.) If | ||
| 9057 | small-temporary-file-directory is nil, they use | ||
| 9058 | temporary-file-directory instead. | ||
| 9059 | |||
| 9060 | ** The variable `inhibit-modification-hooks', if non-nil, inhibits all | ||
| 9061 | the hooks that track changes in the buffer. This affects | ||
| 9062 | `before-change-functions' and `after-change-functions', as well as | ||
| 9063 | hooks attached to text properties and overlay properties. | ||
| 9064 | |||
| 9065 | ** assq-delete-all is a new function that deletes all the | ||
| 9066 | elements of an alist which have a car `eq' to a particular value. | ||
| 9067 | |||
| 9068 | ** make-temp-file provides a more reliable way to create a temporary file. | ||
| 9069 | |||
| 9070 | make-temp-file is used like make-temp-name, except that it actually | ||
| 9071 | creates the file before it returns. This prevents a timing error, | ||
| 9072 | ensuring that no other job can use the same name for a temporary file. | ||
| 9073 | |||
| 9074 | ** New exclusive-open feature in `write-region' | ||
| 9075 | |||
| 9076 | The optional seventh arg is now called MUSTBENEW. If non-nil, it insists | ||
| 9077 | on a check for an existing file with the same name. If MUSTBENEW | ||
| 9078 | is `excl', that means to get an error if the file already exists; | ||
| 9079 | never overwrite. If MUSTBENEW is neither nil nor `excl', that means | ||
| 9080 | ask for confirmation before overwriting, but do go ahead and | ||
| 9081 | overwrite the file if the user gives confirmation. | ||
| 9082 | |||
| 9083 | If the MUSTBENEW argument in `write-region' is `excl', | ||
| 9084 | that means to use a special feature in the `open' system call | ||
| 9085 | to get an error if the file exists at that time. | ||
| 9086 | The error reported is `file-already-exists'. | ||
| 9087 | |||
| 9088 | ** Function `format' now handles text properties. | ||
| 9089 | |||
| 9090 | Text properties of the format string are applied to the result string. | ||
| 9091 | If the result string is longer than the format string, text properties | ||
| 9092 | ending at the end of the format string are extended to the end of the | ||
| 9093 | result string. | ||
| 9094 | |||
| 9095 | Text properties from string arguments are applied to the result | ||
| 9096 | string where arguments appear in the result string. | ||
| 9097 | |||
| 9098 | Example: | ||
| 9099 | |||
| 9100 | (let ((s1 "hello, %s") | ||
| 9101 | (s2 "world")) | ||
| 9102 | (put-text-property 0 (length s1) 'face 'bold s1) | ||
| 9103 | (put-text-property 0 (length s2) 'face 'italic s2) | ||
| 9104 | (format s1 s2)) | ||
| 9105 | |||
| 9106 | results in a bold-face string with an italic `world' at the end. | ||
| 9107 | |||
| 9108 | ** Messages can now be displayed with text properties. | ||
| 9109 | |||
| 9110 | Text properties are handled as described above for function `format'. | ||
| 9111 | The following example displays a bold-face message with an italic | ||
| 9112 | argument in it. | ||
| 9113 | |||
| 9114 | (let ((msg "hello, %s!") | ||
| 9115 | (arg "world")) | ||
| 9116 | (put-text-property 0 (length msg) 'face 'bold msg) | ||
| 9117 | (put-text-property 0 (length arg) 'face 'italic arg) | ||
| 9118 | (message msg arg)) | ||
| 9119 | |||
| 9120 | ** Sound support | ||
| 9121 | |||
| 9122 | Emacs supports playing sound files on GNU/Linux and the free BSDs | ||
| 9123 | (Voxware driver and native BSD driver, aka as Luigi's driver). | ||
| 9124 | |||
| 9125 | Currently supported file formats are RIFF-WAVE (*.wav) and Sun Audio | ||
| 9126 | (*.au). You must configure Emacs with the option `--with-sound=yes' | ||
| 9127 | to enable sound support. | ||
| 9128 | |||
| 9129 | Sound files can be played by calling (play-sound SOUND). SOUND is a | ||
| 9130 | list of the form `(sound PROPERTY...)'. The function is only defined | ||
| 9131 | when sound support is present for the system on which Emacs runs. The | ||
| 9132 | functions runs `play-sound-functions' with one argument which is the | ||
| 9133 | sound to play, before playing the sound. | ||
| 9134 | |||
| 9135 | The following sound properties are supported: | ||
| 9136 | |||
| 9137 | - `:file FILE' | ||
| 9138 | |||
| 9139 | FILE is a file name. If FILE isn't an absolute name, it will be | ||
| 9140 | searched relative to `data-directory'. | ||
| 9141 | |||
| 9142 | - `:data DATA' | ||
| 9143 | |||
| 9144 | DATA is a string containing sound data. Either :file or :data | ||
| 9145 | may be present, but not both. | ||
| 9146 | |||
| 9147 | - `:volume VOLUME' | ||
| 9148 | |||
| 9149 | VOLUME must be an integer in the range 0..100 or a float in the range | ||
| 9150 | 0..1. This property is optional. | ||
| 9151 | |||
| 9152 | - `:device DEVICE' | ||
| 9153 | |||
| 9154 | DEVICE is a string specifying the system device on which to play the | ||
| 9155 | sound. The default device is system-dependent. | ||
| 9156 | |||
| 9157 | Other properties are ignored. | ||
| 9158 | |||
| 9159 | An alternative interface is called as | ||
| 9160 | (play-sound-file FILE &optional VOLUME DEVICE). | ||
| 9161 | |||
| 9162 | ** `multimedia' is a new Finder keyword and Custom group. | ||
| 9163 | |||
| 9164 | ** keywordp is a new predicate to test efficiently for an object being | ||
| 9165 | a keyword symbol. | ||
| 9166 | |||
| 9167 | ** Changes to garbage collection | ||
| 9168 | |||
| 9169 | *** The function garbage-collect now additionally returns the number | ||
| 9170 | of live and free strings. | ||
| 9171 | |||
| 9172 | *** There is a new variable `strings-consed' holding the number of | ||
| 9173 | strings that have been consed so far. | ||
| 9174 | |||
| 9175 | |||
| 9176 | * Lisp-level Display features added after release 2.6 of the Emacs | ||
| 9177 | Lisp Manual | ||
| 9178 | |||
| 9179 | ** The user-option `resize-mini-windows' controls how Emacs resizes | ||
| 9180 | mini-windows. | ||
| 9181 | |||
| 9182 | ** The function `pos-visible-in-window-p' now has a third optional | ||
| 9183 | argument, PARTIALLY. If a character is only partially visible, nil is | ||
| 9184 | returned, unless PARTIALLY is non-nil. | ||
| 9185 | |||
| 9186 | ** On window systems, `glyph-table' is no longer used. | ||
| 9187 | |||
| 9188 | ** Help strings in menu items are now used to provide `help-echo' text. | ||
| 9189 | |||
| 9190 | ** The function `image-size' can be used to determine the size of an | ||
| 9191 | image. | ||
| 9192 | |||
| 9193 | - Function: image-size SPEC &optional PIXELS FRAME | ||
| 9194 | |||
| 9195 | Return the size of an image as a pair (WIDTH . HEIGHT). | ||
| 9196 | |||
| 9197 | SPEC is an image specification. PIXELS non-nil means return sizes | ||
| 9198 | measured in pixels, otherwise return sizes measured in canonical | ||
| 9199 | character units (fractions of the width/height of the frame's default | ||
| 9200 | font). FRAME is the frame on which the image will be displayed. | ||
| 9201 | FRAME nil or omitted means use the selected frame. | ||
| 9202 | |||
| 9203 | ** The function `image-mask-p' can be used to determine if an image | ||
| 9204 | has a mask bitmap. | ||
| 9205 | |||
| 9206 | - Function: image-mask-p SPEC &optional FRAME | ||
| 9207 | |||
| 9208 | Return t if image SPEC has a mask bitmap. | ||
| 9209 | FRAME is the frame on which the image will be displayed. FRAME nil | ||
| 9210 | or omitted means use the selected frame. | ||
| 9211 | |||
| 9212 | ** The function `find-image' can be used to find a usable image | ||
| 9213 | satisfying one of a list of specifications. | ||
| 9214 | |||
| 9215 | ** The STRING argument of `put-image' and `insert-image' is now | ||
| 9216 | optional. | ||
| 9217 | |||
| 9218 | ** Image specifications may contain the property `:ascent center' (see | ||
| 9219 | below). | ||
| 9220 | |||
| 9221 | |||
| 9222 | * New Lisp-level Display features in Emacs 21.1 | ||
| 9223 | |||
| 9224 | ** The function tty-suppress-bold-inverse-default-colors can be used | ||
| 9225 | to make Emacs avoid displaying text with bold black foreground on TTYs. | ||
| 9226 | |||
| 9227 | Some terminals, notably PC consoles, emulate bold text by displaying | ||
| 9228 | text in brighter colors. On such a console, a bold black foreground | ||
| 9229 | is displayed in a gray color. If this turns out to be hard to read on | ||
| 9230 | your monitor---the problem occurred with the mode line on | ||
| 9231 | laptops---you can instruct Emacs to ignore the text's boldness, and to | ||
| 9232 | just display it black instead. | ||
| 9233 | |||
| 9234 | This situation can't be detected automatically. You will have to put | ||
| 9235 | a line like | ||
| 9236 | |||
| 9237 | (tty-suppress-bold-inverse-default-colors t) | ||
| 9238 | |||
| 9239 | in your `.emacs'. | ||
| 9240 | |||
| 9241 | ** New face implementation. | ||
| 9242 | |||
| 9243 | Emacs faces have been reimplemented from scratch. They don't use XLFD | ||
| 9244 | font names anymore and face merging now works as expected. | ||
| 9245 | |||
| 9246 | *** New faces. | ||
| 9247 | |||
| 9248 | Each face can specify the following display attributes: | ||
| 9249 | |||
| 9250 | 1. Font family or fontset alias name. | ||
| 9251 | |||
| 9252 | 2. Relative proportionate width, aka character set width or set | ||
| 9253 | width (swidth), e.g. `semi-compressed'. | ||
| 9254 | |||
| 9255 | 3. Font height in 1/10pt | ||
| 9256 | |||
| 9257 | 4. Font weight, e.g. `bold'. | ||
| 9258 | |||
| 9259 | 5. Font slant, e.g. `italic'. | ||
| 9260 | |||
| 9261 | 6. Foreground color. | ||
| 9262 | |||
| 9263 | 7. Background color. | ||
| 9264 | |||
| 9265 | 8. Whether or not characters should be underlined, and in what color. | ||
| 9266 | |||
| 9267 | 9. Whether or not characters should be displayed in inverse video. | ||
| 9268 | |||
| 9269 | 10. A background stipple, a bitmap. | ||
| 9270 | |||
| 9271 | 11. Whether or not characters should be overlined, and in what color. | ||
| 9272 | |||
| 9273 | 12. Whether or not characters should be strike-through, and in what | ||
| 9274 | color. | ||
| 9275 | |||
| 9276 | 13. Whether or not a box should be drawn around characters, its | ||
| 9277 | color, the width of the box lines, and 3D appearance. | ||
| 9278 | |||
| 9279 | Faces are frame-local by nature because Emacs allows to define the | ||
| 9280 | same named face (face names are symbols) differently for different | ||
| 9281 | frames. Each frame has an alist of face definitions for all named | ||
| 9282 | faces. The value of a named face in such an alist is a Lisp vector | ||
| 9283 | with the symbol `face' in slot 0, and a slot for each of the face | ||
| 9284 | attributes mentioned above. | ||
| 9285 | |||
| 9286 | There is also a global face alist `face-new-frame-defaults'. Face | ||
| 9287 | definitions from this list are used to initialize faces of newly | ||
| 9288 | created frames. | ||
| 9289 | |||
| 9290 | A face doesn't have to specify all attributes. Those not specified | ||
| 9291 | have a nil value. Faces specifying all attributes are called | ||
| 9292 | `fully-specified'. | ||
| 9293 | |||
| 9294 | *** Face merging. | ||
| 9295 | |||
| 9296 | The display style of a given character in the text is determined by | ||
| 9297 | combining several faces. This process is called `face merging'. Any | ||
| 9298 | aspect of the display style that isn't specified by overlays or text | ||
| 9299 | properties is taken from the `default' face. Since it is made sure | ||
| 9300 | that the default face is always fully-specified, face merging always | ||
| 9301 | results in a fully-specified face. | ||
| 9302 | |||
| 9303 | *** Face realization. | ||
| 9304 | |||
| 9305 | After all face attributes for a character have been determined by | ||
| 9306 | merging faces of that character, that face is `realized'. The | ||
| 9307 | realization process maps face attributes to what is physically | ||
| 9308 | available on the system where Emacs runs. The result is a `realized | ||
| 9309 | face' in form of an internal structure which is stored in the face | ||
| 9310 | cache of the frame on which it was realized. | ||
| 9311 | |||
| 9312 | Face realization is done in the context of the charset of the | ||
| 9313 | character to display because different fonts and encodings are used | ||
| 9314 | for different charsets. In other words, for characters of different | ||
| 9315 | charsets, different realized faces are needed to display them. | ||
| 9316 | |||
| 9317 | Except for composite characters, faces are always realized for a | ||
| 9318 | specific character set and contain a specific font, even if the face | ||
| 9319 | being realized specifies a fontset. The reason is that the result of | ||
| 9320 | the new font selection stage is better than what can be done with | ||
| 9321 | statically defined font name patterns in fontsets. | ||
| 9322 | |||
| 9323 | In unibyte text, Emacs' charsets aren't applicable; function | ||
| 9324 | `char-charset' reports ASCII for all characters, including those > | ||
| 9325 | 0x7f. The X registry and encoding of fonts to use is determined from | ||
| 9326 | the variable `face-default-registry' in this case. The variable is | ||
| 9327 | initialized at Emacs startup time from the font the user specified for | ||
| 9328 | Emacs. | ||
| 9329 | |||
| 9330 | Currently all unibyte text, i.e. all buffers with | ||
| 9331 | `enable-multibyte-characters' nil are displayed with fonts of the same | ||
| 9332 | registry and encoding `face-default-registry'. This is consistent | ||
| 9333 | with the fact that languages can also be set globally, only. | ||
| 9334 | |||
| 9335 | **** Clearing face caches. | ||
| 9336 | |||
| 9337 | The Lisp function `clear-face-cache' can be called to clear face caches | ||
| 9338 | on all frames. If called with a non-nil argument, it will also unload | ||
| 9339 | unused fonts. | ||
| 9340 | |||
| 9341 | *** Font selection. | ||
| 9342 | |||
| 9343 | Font selection tries to find the best available matching font for a | ||
| 9344 | given (charset, face) combination. This is done slightly differently | ||
| 9345 | for faces specifying a fontset, or a font family name. | ||
| 9346 | |||
| 9347 | If the face specifies a fontset name, that fontset determines a | ||
| 9348 | pattern for fonts of the given charset. If the face specifies a font | ||
| 9349 | family, a font pattern is constructed. Charset symbols have a | ||
| 9350 | property `x-charset-registry' for that purpose that maps a charset to | ||
| 9351 | an XLFD registry and encoding in the font pattern constructed. | ||
| 9352 | |||
| 9353 | Available fonts on the system on which Emacs runs are then matched | ||
| 9354 | against the font pattern. The result of font selection is the best | ||
| 9355 | match for the given face attributes in this font list. | ||
| 9356 | |||
| 9357 | Font selection can be influenced by the user. | ||
| 9358 | |||
| 9359 | The user can specify the relative importance he gives the face | ||
| 9360 | attributes width, height, weight, and slant by setting | ||
| 9361 | face-font-selection-order (faces.el) to a list of face attribute | ||
| 9362 | names. The default is (:width :height :weight :slant), and means | ||
| 9363 | that font selection first tries to find a good match for the font | ||
| 9364 | width specified by a face, then---within fonts with that width---tries | ||
| 9365 | to find a best match for the specified font height, etc. | ||
| 9366 | |||
| 9367 | Setting `face-font-family-alternatives' allows the user to specify | ||
| 9368 | alternative font families to try if a family specified by a face | ||
| 9369 | doesn't exist. | ||
| 9370 | |||
| 9371 | Setting `face-font-registry-alternatives' allows the user to specify | ||
| 9372 | all alternative font registry names to try for a face specifying a | ||
| 9373 | registry. | ||
| 9374 | |||
| 9375 | Please note that the interpretations of the above two variables are | ||
| 9376 | slightly different. | ||
| 9377 | |||
| 9378 | Setting face-ignored-fonts allows the user to ignore specific fonts. | ||
| 9379 | |||
| 9380 | |||
| 9381 | **** Scalable fonts | ||
| 9382 | |||
| 9383 | Emacs can make use of scalable fonts but doesn't do so by default, | ||
| 9384 | since the use of too many or too big scalable fonts may crash XFree86 | ||
| 9385 | servers. | ||
| 9386 | |||
| 9387 | To enable scalable font use, set the variable | ||
| 9388 | `scalable-fonts-allowed'. A value of nil, the default, means never use | ||
| 9389 | scalable fonts. A value of t means any scalable font may be used. | ||
| 9390 | Otherwise, the value must be a list of regular expressions. A | ||
| 9391 | scalable font may then be used if it matches a regular expression from | ||
| 9392 | that list. Example: | ||
| 9393 | |||
| 9394 | (setq scalable-fonts-allowed '("muleindian-2$")) | ||
| 9395 | |||
| 9396 | allows the use of scalable fonts with registry `muleindian-2'. | ||
| 9397 | |||
| 9398 | *** Functions and variables related to font selection. | ||
| 9399 | |||
| 9400 | - Function: x-family-fonts &optional FAMILY FRAME | ||
| 9401 | |||
| 9402 | Return a list of available fonts of family FAMILY on FRAME. If FAMILY | ||
| 9403 | is omitted or nil, list all families. Otherwise, FAMILY must be a | ||
| 9404 | string, possibly containing wildcards `?' and `*'. | ||
| 9405 | |||
| 9406 | If FRAME is omitted or nil, use the selected frame. Each element of | ||
| 9407 | the result is a vector [FAMILY WIDTH POINT-SIZE WEIGHT SLANT FIXED-P | ||
| 9408 | FULL REGISTRY-AND-ENCODING]. FAMILY is the font family name. | ||
| 9409 | POINT-SIZE is the size of the font in 1/10 pt. WIDTH, WEIGHT, and | ||
| 9410 | SLANT are symbols describing the width, weight and slant of the font. | ||
| 9411 | These symbols are the same as for face attributes. FIXED-P is non-nil | ||
| 9412 | if the font is fixed-pitch. FULL is the full name of the font, and | ||
| 9413 | REGISTRY-AND-ENCODING is a string giving the registry and encoding of | ||
| 9414 | the font. The result list is sorted according to the current setting | ||
| 9415 | of the face font sort order. | ||
| 9416 | |||
| 9417 | - Function: x-font-family-list | ||
| 9418 | |||
| 9419 | Return a list of available font families on FRAME. If FRAME is | ||
| 9420 | omitted or nil, use the selected frame. Value is a list of conses | ||
| 9421 | (FAMILY . FIXED-P) where FAMILY is a font family, and FIXED-P is | ||
| 9422 | non-nil if fonts of that family are fixed-pitch. | ||
| 9423 | |||
| 9424 | - Variable: font-list-limit | ||
| 9425 | |||
| 9426 | Limit for font matching. If an integer > 0, font matching functions | ||
| 9427 | won't load more than that number of fonts when searching for a | ||
| 9428 | matching font. The default is currently 100. | ||
| 9429 | |||
| 9430 | *** Setting face attributes. | ||
| 9431 | |||
| 9432 | For the most part, the new face implementation is interface-compatible | ||
| 9433 | with the old one. Old face attribute related functions are now | ||
| 9434 | implemented in terms of the new functions `set-face-attribute' and | ||
| 9435 | `face-attribute'. | ||
| 9436 | |||
| 9437 | Face attributes are identified by their names which are keyword | ||
| 9438 | symbols. All attributes can be set to `unspecified'. | ||
| 9439 | |||
| 9440 | The following attributes are recognized: | ||
| 9441 | |||
| 9442 | `:family' | ||
| 9443 | |||
| 9444 | VALUE must be a string specifying the font family, e.g. ``courier'', | ||
| 9445 | or a fontset alias name. If a font family is specified, wild-cards `*' | ||
| 9446 | and `?' are allowed. | ||
| 9447 | |||
| 9448 | `:width' | ||
| 9449 | |||
| 9450 | VALUE specifies the relative proportionate width of the font to use. | ||
| 9451 | It must be one of the symbols `ultra-condensed', `extra-condensed', | ||
| 9452 | `condensed', `semi-condensed', `normal', `semi-expanded', `expanded', | ||
| 9453 | `extra-expanded', or `ultra-expanded'. | ||
| 9454 | |||
| 9455 | `:height' | ||
| 9456 | |||
| 9457 | VALUE must be either an integer specifying the height of the font to use | ||
| 9458 | in 1/10 pt, a floating point number specifying the amount by which to | ||
| 9459 | scale any underlying face, or a function, which is called with the old | ||
| 9460 | height (from the underlying face), and should return the new height. | ||
| 9461 | |||
| 9462 | `:weight' | ||
| 9463 | |||
| 9464 | VALUE specifies the weight of the font to use. It must be one of the | ||
| 9465 | symbols `ultra-bold', `extra-bold', `bold', `semi-bold', `normal', | ||
| 9466 | `semi-light', `light', `extra-light', `ultra-light'. | ||
| 9467 | |||
| 9468 | `:slant' | ||
| 9469 | |||
| 9470 | VALUE specifies the slant of the font to use. It must be one of the | ||
| 9471 | symbols `italic', `oblique', `normal', `reverse-italic', or | ||
| 9472 | `reverse-oblique'. | ||
| 9473 | |||
| 9474 | `:foreground', `:background' | ||
| 9475 | |||
| 9476 | VALUE must be a color name, a string. | ||
| 9477 | |||
| 9478 | `:underline' | ||
| 9479 | |||
| 9480 | VALUE specifies whether characters in FACE should be underlined. If | ||
| 9481 | VALUE is t, underline with foreground color of the face. If VALUE is | ||
| 9482 | a string, underline with that color. If VALUE is nil, explicitly | ||
| 9483 | don't underline. | ||
| 9484 | |||
| 9485 | `:overline' | ||
| 9486 | |||
| 9487 | VALUE specifies whether characters in FACE should be overlined. If | ||
| 9488 | VALUE is t, overline with foreground color of the face. If VALUE is a | ||
| 9489 | string, overline with that color. If VALUE is nil, explicitly don't | ||
| 9490 | overline. | ||
| 9491 | |||
| 9492 | `:strike-through' | ||
| 9493 | |||
| 9494 | VALUE specifies whether characters in FACE should be drawn with a line | ||
| 9495 | striking through them. If VALUE is t, use the foreground color of the | ||
| 9496 | face. If VALUE is a string, strike-through with that color. If VALUE | ||
| 9497 | is nil, explicitly don't strike through. | ||
| 9498 | |||
| 9499 | `:box' | ||
| 9500 | |||
| 9501 | VALUE specifies whether characters in FACE should have a box drawn | ||
| 9502 | around them. If VALUE is nil, explicitly don't draw boxes. If | ||
| 9503 | VALUE is t, draw a box with lines of width 1 in the foreground color | ||
| 9504 | of the face. If VALUE is a string, the string must be a color name, | ||
| 9505 | and the box is drawn in that color with a line width of 1. Otherwise, | ||
| 9506 | VALUE must be a property list of the form `(:line-width WIDTH | ||
| 9507 | :color COLOR :style STYLE)'. If a keyword/value pair is missing from | ||
| 9508 | the property list, a default value will be used for the value, as | ||
| 9509 | specified below. WIDTH specifies the width of the lines to draw; it | ||
| 9510 | defaults to 1. COLOR is the name of the color to draw in, default is | ||
| 9511 | the foreground color of the face for simple boxes, and the background | ||
| 9512 | color of the face for 3D boxes. STYLE specifies whether a 3D box | ||
| 9513 | should be draw. If STYLE is `released-button', draw a box looking | ||
| 9514 | like a released 3D button. If STYLE is `pressed-button' draw a box | ||
| 9515 | that appears like a pressed button. If STYLE is nil, the default if | ||
| 9516 | the property list doesn't contain a style specification, draw a 2D | ||
| 9517 | box. | ||
| 9518 | |||
| 9519 | `:inverse-video' | ||
| 9520 | |||
| 9521 | VALUE specifies whether characters in FACE should be displayed in | ||
| 9522 | inverse video. VALUE must be one of t or nil. | ||
| 9523 | |||
| 9524 | `:stipple' | ||
| 9525 | |||
| 9526 | If VALUE is a string, it must be the name of a file of pixmap data. | ||
| 9527 | The directories listed in the `x-bitmap-file-path' variable are | ||
| 9528 | searched. Alternatively, VALUE may be a list of the form (WIDTH | ||
| 9529 | HEIGHT DATA) where WIDTH and HEIGHT are the size in pixels, and DATA | ||
| 9530 | is a string containing the raw bits of the bitmap. VALUE nil means | ||
| 9531 | explicitly don't use a stipple pattern. | ||
| 9532 | |||
| 9533 | For convenience, attributes `:family', `:width', `:height', `:weight', | ||
| 9534 | and `:slant' may also be set in one step from an X font name: | ||
| 9535 | |||
| 9536 | `:font' | ||
| 9537 | |||
| 9538 | Set font-related face attributes from VALUE. VALUE must be a valid | ||
| 9539 | XLFD font name. If it is a font name pattern, the first matching font | ||
| 9540 | is used--this is for compatibility with the behavior of previous | ||
| 9541 | versions of Emacs. | ||
| 9542 | |||
| 9543 | For compatibility with Emacs 20, keywords `:bold' and `:italic' can | ||
| 9544 | be used to specify that a bold or italic font should be used. VALUE | ||
| 9545 | must be t or nil in that case. A value of `unspecified' is not allowed." | ||
| 9546 | |||
| 9547 | Please see also the documentation of `set-face-attribute' and | ||
| 9548 | `defface'. | ||
| 9549 | |||
| 9550 | `:inherit' | ||
| 9551 | |||
| 9552 | VALUE is the name of a face from which to inherit attributes, or a list | ||
| 9553 | of face names. Attributes from inherited faces are merged into the face | ||
| 9554 | like an underlying face would be, with higher priority than underlying faces. | ||
| 9555 | |||
| 9556 | *** Face attributes and X resources | ||
| 9557 | |||
| 9558 | The following X resource names can be used to set face attributes | ||
| 9559 | from X resources: | ||
| 9560 | |||
| 9561 | Face attribute X resource class | ||
| 9562 | ----------------------------------------------------------------------- | ||
| 9563 | :family attributeFamily . Face.AttributeFamily | ||
| 9564 | :width attributeWidth Face.AttributeWidth | ||
| 9565 | :height attributeHeight Face.AttributeHeight | ||
| 9566 | :weight attributeWeight Face.AttributeWeight | ||
| 9567 | :slant attributeSlant Face.AttributeSlant | ||
| 9568 | foreground attributeForeground Face.AttributeForeground | ||
| 9569 | :background attributeBackground . Face.AttributeBackground | ||
| 9570 | :overline attributeOverline Face.AttributeOverline | ||
| 9571 | :strike-through attributeStrikeThrough Face.AttributeStrikeThrough | ||
| 9572 | :box attributeBox Face.AttributeBox | ||
| 9573 | :underline attributeUnderline Face.AttributeUnderline | ||
| 9574 | :inverse-video attributeInverse Face.AttributeInverse | ||
| 9575 | :stipple attributeStipple Face.AttributeStipple | ||
| 9576 | or attributeBackgroundPixmap | ||
| 9577 | Face.AttributeBackgroundPixmap | ||
| 9578 | :font attributeFont Face.AttributeFont | ||
| 9579 | :bold attributeBold Face.AttributeBold | ||
| 9580 | :italic attributeItalic . Face.AttributeItalic | ||
| 9581 | :font attributeFont Face.AttributeFont | ||
| 9582 | |||
| 9583 | *** Text property `face'. | ||
| 9584 | |||
| 9585 | The value of the `face' text property can now be a single face | ||
| 9586 | specification or a list of such specifications. Each face | ||
| 9587 | specification can be | ||
| 9588 | |||
| 9589 | 1. A symbol or string naming a Lisp face. | ||
| 9590 | |||
| 9591 | 2. A property list of the form (KEYWORD VALUE ...) where each | ||
| 9592 | KEYWORD is a face attribute name, and VALUE is an appropriate value | ||
| 9593 | for that attribute. Please see the doc string of `set-face-attribute' | ||
| 9594 | for face attribute names. | ||
| 9595 | |||
| 9596 | 3. Conses of the form (FOREGROUND-COLOR . COLOR) or | ||
| 9597 | (BACKGROUND-COLOR . COLOR) where COLOR is a color name. This is | ||
| 9598 | for compatibility with previous Emacs versions. | ||
| 9599 | |||
| 9600 | ** Support functions for colors on text-only terminals. | ||
| 9601 | |||
| 9602 | The function `tty-color-define' can be used to define colors for use | ||
| 9603 | on TTY and MSDOS frames. It maps a color name to a color number on | ||
| 9604 | the terminal. Emacs defines a couple of common color mappings by | ||
| 9605 | default. You can get defined colors with a call to | ||
| 9606 | `defined-colors'. The function `tty-color-clear' can be | ||
| 9607 | used to clear the mapping table. | ||
| 9608 | |||
| 9609 | ** Unified support for colors independent of frame type. | ||
| 9610 | |||
| 9611 | The new functions `defined-colors', `color-defined-p', `color-values', | ||
| 9612 | and `display-color-p' work for any type of frame. On frames whose | ||
| 9613 | type is neither x nor w32, these functions transparently map X-style | ||
| 9614 | color specifications to the closest colors supported by the frame | ||
| 9615 | display. Lisp programs should use these new functions instead of the | ||
| 9616 | old `x-defined-colors', `x-color-defined-p', `x-color-values', and | ||
| 9617 | `x-display-color-p'. (The old function names are still available for | ||
| 9618 | compatibility; they are now aliases of the new names.) Lisp programs | ||
| 9619 | should no more look at the value of the variable window-system to | ||
| 9620 | modify their color-related behavior. | ||
| 9621 | |||
| 9622 | The primitives `color-gray-p' and `color-supported-p' also work for | ||
| 9623 | any frame type. | ||
| 9624 | |||
| 9625 | ** Platform-independent functions to describe display capabilities. | ||
| 9626 | |||
| 9627 | The new functions `display-mouse-p', `display-popup-menus-p', | ||
| 9628 | `display-graphic-p', `display-selections-p', `display-screens', | ||
| 9629 | `display-pixel-width', `display-pixel-height', `display-mm-width', | ||
| 9630 | `display-mm-height', `display-backing-store', `display-save-under', | ||
| 9631 | `display-planes', `display-color-cells', `display-visual-class', and | ||
| 9632 | `display-grayscale-p' describe the basic capabilities of a particular | ||
| 9633 | display. Lisp programs should call these functions instead of testing | ||
| 9634 | the value of the variables `window-system' or `system-type', or calling | ||
| 9635 | platform-specific functions such as `x-display-pixel-width'. | ||
| 9636 | |||
| 9637 | The new function `display-images-p' returns non-nil if a particular | ||
| 9638 | display can display image files. | ||
| 9639 | |||
| 9640 | ** The minibuffer prompt is now actually inserted in the minibuffer. | ||
| 9641 | |||
| 9642 | This makes it possible to scroll through the prompt, if you want to. | ||
| 9643 | To disallow this completely (like previous versions of emacs), customize | ||
| 9644 | the variable `minibuffer-prompt-properties', and turn on the | ||
| 9645 | `Inviolable' option. | ||
| 9646 | |||
| 9647 | The function `minibuffer-prompt-end' returns the current position of the | ||
| 9648 | end of the minibuffer prompt, if the minibuffer is current. | ||
| 9649 | Otherwise, it returns `(point-min)'. | ||
| 9650 | |||
| 9651 | ** New `field' abstraction in buffers. | ||
| 9652 | |||
| 9653 | There is now code to support an abstraction called `fields' in emacs | ||
| 9654 | buffers. A field is a contiguous region of text with the same `field' | ||
| 9655 | property (which can be a text property or an overlay). | ||
| 9656 | |||
| 9657 | Many emacs functions, such as forward-word, forward-sentence, | ||
| 9658 | forward-paragraph, beginning-of-line, etc., stop moving when they come | ||
| 9659 | to the boundary between fields; beginning-of-line and end-of-line will | ||
| 9660 | not let the point move past the field boundary, but other movement | ||
| 9661 | commands continue into the next field if repeated. Stopping at field | ||
| 9662 | boundaries can be suppressed programmatically by binding | ||
| 9663 | `inhibit-field-text-motion' to a non-nil value around calls to these | ||
| 9664 | functions. | ||
| 9665 | |||
| 9666 | Now that the minibuffer prompt is inserted into the minibuffer, it is in | ||
| 9667 | a separate field from the user-input part of the buffer, so that common | ||
| 9668 | editing commands treat the user's text separately from the prompt. | ||
| 9669 | |||
| 9670 | The following functions are defined for operating on fields: | ||
| 9671 | |||
| 9672 | - Function: constrain-to-field NEW-POS OLD-POS &optional ESCAPE-FROM-EDGE ONLY-IN-LINE INHIBIT-CAPTURE-PROPERTY | ||
| 9673 | |||
| 9674 | Return the position closest to NEW-POS that is in the same field as OLD-POS. | ||
| 9675 | |||
| 9676 | A field is a region of text with the same `field' property. | ||
| 9677 | If NEW-POS is nil, then the current point is used instead, and set to the | ||
| 9678 | constrained position if that is different. | ||
| 9679 | |||
| 9680 | If OLD-POS is at the boundary of two fields, then the allowable | ||
| 9681 | positions for NEW-POS depends on the value of the optional argument | ||
| 9682 | ESCAPE-FROM-EDGE: If ESCAPE-FROM-EDGE is nil, then NEW-POS is | ||
| 9683 | constrained to the field that has the same `field' char-property | ||
| 9684 | as any new characters inserted at OLD-POS, whereas if ESCAPE-FROM-EDGE | ||
| 9685 | is non-nil, NEW-POS is constrained to the union of the two adjacent | ||
| 9686 | fields. Additionally, if two fields are separated by another field with | ||
| 9687 | the special value `boundary', then any point within this special field is | ||
| 9688 | also considered to be `on the boundary'. | ||
| 9689 | |||
| 9690 | If the optional argument ONLY-IN-LINE is non-nil and constraining | ||
| 9691 | NEW-POS would move it to a different line, NEW-POS is returned | ||
| 9692 | unconstrained. This useful for commands that move by line, like | ||
| 9693 | C-n or C-a, which should generally respect field boundaries | ||
| 9694 | only in the case where they can still move to the right line. | ||
| 9695 | |||
| 9696 | If the optional argument INHIBIT-CAPTURE-PROPERTY is non-nil, and OLD-POS has | ||
| 9697 | a non-nil property of that name, then any field boundaries are ignored. | ||
| 9698 | |||
| 9699 | Field boundaries are not noticed if `inhibit-field-text-motion' is non-nil. | ||
| 9700 | |||
| 9701 | - Function: delete-field &optional POS | ||
| 9702 | |||
| 9703 | Delete the field surrounding POS. | ||
| 9704 | A field is a region of text with the same `field' property. | ||
| 9705 | If POS is nil, the value of point is used for POS. | ||
| 9706 | |||
| 9707 | - Function: field-beginning &optional POS ESCAPE-FROM-EDGE | ||
| 9708 | |||
| 9709 | Return the beginning of the field surrounding POS. | ||
| 9710 | A field is a region of text with the same `field' property. | ||
| 9711 | If POS is nil, the value of point is used for POS. | ||
| 9712 | If ESCAPE-FROM-EDGE is non-nil and POS is at the beginning of its | ||
| 9713 | field, then the beginning of the *previous* field is returned. | ||
| 9714 | |||
| 9715 | - Function: field-end &optional POS ESCAPE-FROM-EDGE | ||
| 9716 | |||
| 9717 | Return the end of the field surrounding POS. | ||
| 9718 | A field is a region of text with the same `field' property. | ||
| 9719 | If POS is nil, the value of point is used for POS. | ||
| 9720 | If ESCAPE-FROM-EDGE is non-nil and POS is at the end of its field, | ||
| 9721 | then the end of the *following* field is returned. | ||
| 9722 | |||
| 9723 | - Function: field-string &optional POS | ||
| 9724 | |||
| 9725 | Return the contents of the field surrounding POS as a string. | ||
| 9726 | A field is a region of text with the same `field' property. | ||
| 9727 | If POS is nil, the value of point is used for POS. | ||
| 9728 | |||
| 9729 | - Function: field-string-no-properties &optional POS | ||
| 9730 | |||
| 9731 | Return the contents of the field around POS, without text-properties. | ||
| 9732 | A field is a region of text with the same `field' property. | ||
| 9733 | If POS is nil, the value of point is used for POS. | ||
| 9734 | |||
| 9735 | ** Image support. | ||
| 9736 | |||
| 9737 | Emacs can now display images. Images are inserted into text by giving | ||
| 9738 | strings or buffer text a `display' text property containing one of | ||
| 9739 | (AREA IMAGE) or IMAGE. The display of the `display' property value | ||
| 9740 | replaces the display of the characters having that property. | ||
| 9741 | |||
| 9742 | If the property value has the form (AREA IMAGE), AREA must be one of | ||
| 9743 | `(margin left-margin)', `(margin right-margin)' or `(margin nil)'. If | ||
| 9744 | AREA is `(margin nil)', IMAGE will be displayed in the text area of a | ||
| 9745 | window, otherwise it will be displayed in the left or right marginal | ||
| 9746 | area. | ||
| 9747 | |||
| 9748 | IMAGE is an image specification. | ||
| 9749 | |||
| 9750 | *** Image specifications | ||
| 9751 | |||
| 9752 | Image specifications are lists of the form `(image PROPS)' where PROPS | ||
| 9753 | is a property list whose keys are keyword symbols. Each | ||
| 9754 | specifications must contain a property `:type TYPE' with TYPE being a | ||
| 9755 | symbol specifying the image type, e.g. `xbm'. Properties not | ||
| 9756 | described below are ignored. | ||
| 9757 | |||
| 9758 | The following is a list of properties all image types share. | ||
| 9759 | |||
| 9760 | `:ascent ASCENT' | ||
| 9761 | |||
| 9762 | ASCENT must be a number in the range 0..100, or the symbol `center'. | ||
| 9763 | If it is a number, it specifies the percentage of the image's height | ||
| 9764 | to use for its ascent. | ||
| 9765 | |||
| 9766 | If not specified, ASCENT defaults to the value 50 which means that the | ||
| 9767 | image will be centered with the base line of the row it appears in. | ||
| 9768 | |||
| 9769 | If ASCENT is `center' the image is vertically centered around a | ||
| 9770 | centerline which is the vertical center of text drawn at the position | ||
| 9771 | of the image, in the manner specified by the text properties and | ||
| 9772 | overlays that apply to the image. | ||
| 9773 | |||
| 9774 | `:margin MARGIN' | ||
| 9775 | |||
| 9776 | MARGIN must be either a number >= 0 specifying how many pixels to put | ||
| 9777 | as margin around the image, or a pair (X . Y) with X specifying the | ||
| 9778 | horizontal margin and Y specifying the vertical margin. Default is 0. | ||
| 9779 | |||
| 9780 | `:relief RELIEF' | ||
| 9781 | |||
| 9782 | RELIEF is analogous to the `:relief' attribute of faces. Puts a relief | ||
| 9783 | around an image. | ||
| 9784 | |||
| 9785 | `:conversion ALGO' | ||
| 9786 | |||
| 9787 | Apply an image algorithm to the image before displaying it. | ||
| 9788 | |||
| 9789 | ALGO `laplace' or `emboss' means apply a Laplace or ``emboss'' | ||
| 9790 | edge-detection algorithm to the image. | ||
| 9791 | |||
| 9792 | ALGO `(edge-detection :matrix MATRIX :color-adjust ADJUST)' means | ||
| 9793 | apply a general edge-detection algorithm. MATRIX must be either a | ||
| 9794 | nine-element list or a nine-element vector of numbers. A pixel at | ||
| 9795 | position x/y in the transformed image is computed from original pixels | ||
| 9796 | around that position. MATRIX specifies, for each pixel in the | ||
| 9797 | neighborhood of x/y, a factor with which that pixel will influence the | ||
| 9798 | transformed pixel; element 0 specifies the factor for the pixel at | ||
| 9799 | x-1/y-1, element 1 the factor for the pixel at x/y-1 etc. as shown | ||
| 9800 | below. | ||
| 9801 | |||
| 9802 | (x-1/y-1 x/y-1 x+1/y-1 | ||
| 9803 | x-1/y x/y x+1/y | ||
| 9804 | x-1/y+1 x/y+1 x+1/y+1) | ||
| 9805 | |||
| 9806 | The resulting pixel is computed from the color intensity of the color | ||
| 9807 | resulting from summing up the RGB values of surrounding pixels, | ||
| 9808 | multiplied by the specified factors, and dividing that sum by the sum | ||
| 9809 | of the factors' absolute values. | ||
| 9810 | |||
| 9811 | Laplace edge-detection currently uses a matrix of | ||
| 9812 | |||
| 9813 | (1 0 0 | ||
| 9814 | 0 0 0 | ||
| 9815 | 9 9 -1) | ||
| 9816 | |||
| 9817 | Emboss edge-detection uses a matrix of | ||
| 9818 | |||
| 9819 | ( 2 -1 0 | ||
| 9820 | -1 0 1 | ||
| 9821 | 0 1 -2) | ||
| 9822 | |||
| 9823 | ALGO `disabled' means transform the image so that it looks | ||
| 9824 | ``disabled''. | ||
| 9825 | |||
| 9826 | `:mask MASK' | ||
| 9827 | |||
| 9828 | If MASK is `heuristic' or `(heuristic BG)', build a clipping mask for | ||
| 9829 | the image, so that the background of a frame is visible behind the | ||
| 9830 | image. If BG is not specified, or if BG is t, determine the | ||
| 9831 | background color of the image by looking at the 4 corners of the | ||
| 9832 | image, assuming the most frequently occurring color from the corners is | ||
| 9833 | the background color of the image. Otherwise, BG must be a list `(RED | ||
| 9834 | GREEN BLUE)' specifying the color to assume for the background of the | ||
| 9835 | image. | ||
| 9836 | |||
| 9837 | If MASK is nil, remove a mask from the image, if it has one. Images | ||
| 9838 | in some formats include a mask which can be removed by specifying | ||
| 9839 | `:mask nil'. | ||
| 9840 | |||
| 9841 | `:file FILE' | ||
| 9842 | |||
| 9843 | Load image from FILE. If FILE is not absolute after expanding it, | ||
| 9844 | search for the image in `data-directory'. Some image types support | ||
| 9845 | building images from data. When this is done, no `:file' property | ||
| 9846 | may be present in the image specification. | ||
| 9847 | |||
| 9848 | `:data DATA' | ||
| 9849 | |||
| 9850 | Get image data from DATA. (As of this writing, this is not yet | ||
| 9851 | supported for image type `postscript'). Either :file or :data may be | ||
| 9852 | present in an image specification, but not both. All image types | ||
| 9853 | support strings as DATA, some types allow additional types of DATA. | ||
| 9854 | |||
| 9855 | *** Supported image types | ||
| 9856 | |||
| 9857 | **** XBM, image type `xbm'. | ||
| 9858 | |||
| 9859 | XBM images don't require an external library. Additional image | ||
| 9860 | properties supported are: | ||
| 9861 | |||
| 9862 | `:foreground FG' | ||
| 9863 | |||
| 9864 | FG must be a string specifying the image foreground color, or nil | ||
| 9865 | meaning to use the default. Default is the frame's foreground color. | ||
| 9866 | |||
| 9867 | `:background BG' | ||
| 9868 | |||
| 9869 | BG must be a string specifying the image background color, or nil | ||
| 9870 | meaning to use the default. Default is the frame's background color. | ||
| 9871 | |||
| 9872 | XBM images can be constructed from data instead of file. In this | ||
| 9873 | case, the image specification must contain the following properties | ||
| 9874 | instead of a `:file' property. | ||
| 9875 | |||
| 9876 | `:width WIDTH' | ||
| 9877 | |||
| 9878 | WIDTH specifies the width of the image in pixels. | ||
| 9879 | |||
| 9880 | `:height HEIGHT' | ||
| 9881 | |||
| 9882 | HEIGHT specifies the height of the image in pixels. | ||
| 9883 | |||
| 9884 | `:data DATA' | ||
| 9885 | |||
| 9886 | DATA must be either | ||
| 9887 | |||
| 9888 | 1. a string large enough to hold the bitmap data, i.e. it must | ||
| 9889 | have a size >= (WIDTH + 7) / 8 * HEIGHT | ||
| 9890 | |||
| 9891 | 2. a bool-vector of size >= WIDTH * HEIGHT | ||
| 9892 | |||
| 9893 | 3. a vector of strings or bool-vectors, one for each line of the | ||
| 9894 | bitmap. | ||
| 9895 | |||
| 9896 | 4. a string that's an in-memory XBM file. Neither width nor | ||
| 9897 | height may be specified in this case because these are defined | ||
| 9898 | in the file. | ||
| 9899 | |||
| 9900 | **** XPM, image type `xpm' | ||
| 9901 | |||
| 9902 | XPM images require the external library `libXpm', package | ||
| 9903 | `xpm-3.4k.tar.gz', version 3.4k or later. Make sure the library is | ||
| 9904 | found when Emacs is configured by supplying appropriate paths via | ||
| 9905 | `--x-includes' and `--x-libraries'. | ||
| 9906 | |||
| 9907 | Additional image properties supported are: | ||
| 9908 | |||
| 9909 | `:color-symbols SYMBOLS' | ||
| 9910 | |||
| 9911 | SYMBOLS must be a list of pairs (NAME . COLOR), with NAME being the | ||
| 9912 | name of color as it appears in an XPM file, and COLOR being an X color | ||
| 9913 | name. | ||
| 9914 | |||
| 9915 | XPM images can be built from memory instead of files. In that case, | ||
| 9916 | add a `:data' property instead of a `:file' property. | ||
| 9917 | |||
| 9918 | The XPM library uses libz in its implementation so that it is able | ||
| 9919 | to display compressed images. | ||
| 9920 | |||
| 9921 | **** PBM, image type `pbm' | ||
| 9922 | |||
| 9923 | PBM images don't require an external library. Color, gray-scale and | ||
| 9924 | mono images are supported. Additional image properties supported for | ||
| 9925 | mono images are: | ||
| 9926 | |||
| 9927 | `:foreground FG' | ||
| 9928 | |||
| 9929 | FG must be a string specifying the image foreground color, or nil | ||
| 9930 | meaning to use the default. Default is the frame's foreground color. | ||
| 9931 | |||
| 9932 | `:background FG' | ||
| 9933 | |||
| 9934 | BG must be a string specifying the image background color, or nil | ||
| 9935 | meaning to use the default. Default is the frame's background color. | ||
| 9936 | |||
| 9937 | **** JPEG, image type `jpeg' | ||
| 9938 | |||
| 9939 | Support for JPEG images requires the external library `libjpeg', | ||
| 9940 | package `jpegsrc.v6a.tar.gz', or later. There are no additional image | ||
| 9941 | properties defined. | ||
| 9942 | |||
| 9943 | **** TIFF, image type `tiff' | ||
| 9944 | |||
| 9945 | Support for TIFF images requires the external library `libtiff', | ||
| 9946 | package `tiff-v3.4-tar.gz', or later. There are no additional image | ||
| 9947 | properties defined. | ||
| 9948 | |||
| 9949 | **** GIF, image type `gif' | ||
| 9950 | |||
| 9951 | Support for GIF images requires the external library `libungif', package | ||
| 9952 | `libungif-4.1.0', or later. | ||
| 9953 | 5752 | ||
| 9954 | Additional image properties supported are: | ||
| 9955 | |||
| 9956 | `:index INDEX' | ||
| 9957 | |||
| 9958 | INDEX must be an integer >= 0. Load image number INDEX from a | ||
| 9959 | multi-image GIF file. If INDEX is too large, the image displays | ||
| 9960 | as a hollow box. | ||
| 9961 | |||
| 9962 | This could be used to implement limited support for animated GIFs. | ||
| 9963 | For example, the following function displays a multi-image GIF file | ||
| 9964 | at point-min in the current buffer, switching between sub-images | ||
| 9965 | every 0.1 seconds. | ||
| 9966 | |||
| 9967 | (defun show-anim (file max) | ||
| 9968 | "Display multi-image GIF file FILE which contains MAX subimages." | ||
| 9969 | (display-anim (current-buffer) file 0 max t)) | ||
| 9970 | |||
| 9971 | (defun display-anim (buffer file idx max first-time) | ||
| 9972 | (when (= idx max) | ||
| 9973 | (setq idx 0)) | ||
| 9974 | (let ((img (create-image file nil nil :index idx))) | ||
| 9975 | (save-excursion | ||
| 9976 | (set-buffer buffer) | ||
| 9977 | (goto-char (point-min)) | ||
| 9978 | (unless first-time (delete-char 1)) | ||
| 9979 | (insert-image img "x")) | ||
| 9980 | (run-with-timer 0.1 nil 'display-anim buffer file (1+ idx) max nil))) | ||
| 9981 | |||
| 9982 | **** PNG, image type `png' | ||
| 9983 | |||
| 9984 | Support for PNG images requires the external library `libpng', | ||
| 9985 | package `libpng-1.0.2.tar.gz', or later. There are no additional image | ||
| 9986 | properties defined. | ||
| 9987 | |||
| 9988 | **** Ghostscript, image type `postscript'. | ||
| 9989 | |||
| 9990 | Additional image properties supported are: | ||
| 9991 | |||
| 9992 | `:pt-width WIDTH' | ||
| 9993 | |||
| 9994 | WIDTH is width of the image in pt (1/72 inch). WIDTH must be an | ||
| 9995 | integer. This is a required property. | ||
| 9996 | |||
| 9997 | `:pt-height HEIGHT' | ||
| 9998 | |||
| 9999 | HEIGHT specifies the height of the image in pt (1/72 inch). HEIGHT | ||
| 10000 | must be a integer. This is an required property. | ||
| 10001 | |||
| 10002 | `:bounding-box BOX' | ||
| 10003 | |||
| 10004 | BOX must be a list or vector of 4 integers giving the bounding box of | ||
| 10005 | the PS image, analogous to the `BoundingBox' comment found in PS | ||
| 10006 | files. This is an required property. | ||
| 10007 | |||
| 10008 | Part of the Ghostscript interface is implemented in Lisp. See | ||
| 10009 | lisp/gs.el. | ||
| 10010 | |||
| 10011 | *** Lisp interface. | ||
| 10012 | |||
| 10013 | The variable `image-types' contains a list of those image types | ||
| 10014 | which are supported in the current configuration. | ||
| 10015 | |||
| 10016 | Images are stored in an image cache and removed from the cache when | ||
| 10017 | they haven't been displayed for `image-cache-eviction-delay seconds. | ||
| 10018 | The function `clear-image-cache' can be used to clear the image cache | ||
| 10019 | manually. Images in the cache are compared with `equal', i.e. all | ||
| 10020 | images with `equal' specifications share the same image. | ||
| 10021 | |||
| 10022 | *** Simplified image API, image.el | ||
| 10023 | |||
| 10024 | The new Lisp package image.el contains functions that simplify image | ||
| 10025 | creation and putting images into text. The function `create-image' | ||
| 10026 | can be used to create images. The macro `defimage' can be used to | ||
| 10027 | define an image based on available image types. The functions | ||
| 10028 | `put-image' and `insert-image' can be used to insert an image into a | ||
| 10029 | buffer. | ||
| 10030 | |||
| 10031 | ** Display margins. | ||
| 10032 | |||
| 10033 | Windows can now have margins which are used for special text | ||
| 10034 | and images. | ||
| 10035 | |||
| 10036 | To give a window margins, either set the buffer-local variables | ||
| 10037 | `left-margin-width' and `right-margin-width', or call | ||
| 10038 | `set-window-margins'. The function `window-margins' can be used to | ||
| 10039 | obtain the current settings. To make `left-margin-width' and | ||
| 10040 | `right-margin-width' take effect, you must set them before displaying | ||
| 10041 | the buffer in a window, or use `set-window-buffer' to force an update | ||
| 10042 | of the display margins. | ||
| 10043 | |||
| 10044 | You can put text in margins by giving it a `display' text property | ||
| 10045 | containing a pair of the form `(LOCATION . VALUE)', where LOCATION is | ||
| 10046 | one of `left-margin' or `right-margin' or nil. VALUE can be either a | ||
| 10047 | string, an image specification or a stretch specification (see later | ||
| 10048 | in this file). | ||
| 10049 | |||
| 10050 | ** Help display | ||
| 10051 | |||
| 10052 | Emacs displays short help messages in the echo area, when the mouse | ||
| 10053 | moves over a tool-bar item or a piece of text that has a text property | ||
| 10054 | `help-echo'. This feature also applies to strings in the mode line | ||
| 10055 | that have a `help-echo' property. | ||
| 10056 | |||
| 10057 | If the value of the `help-echo' property is a function, that function | ||
| 10058 | is called with three arguments WINDOW, OBJECT and POSITION. WINDOW is | ||
| 10059 | the window in which the help was found. | ||
| 10060 | |||
| 10061 | If OBJECT is a buffer, POS is the position in the buffer where the | ||
| 10062 | `help-echo' text property was found. | ||
| 10063 | |||
| 10064 | If OBJECT is an overlay, that overlay has a `help-echo' property, and | ||
| 10065 | POS is the position in the overlay's buffer under the mouse. | ||
| 10066 | |||
| 10067 | If OBJECT is a string (an overlay string or a string displayed with | ||
| 10068 | the `display' property), POS is the position in that string under the | ||
| 10069 | mouse. | ||
| 10070 | |||
| 10071 | If the value of the `help-echo' property is neither a function nor a | ||
| 10072 | string, it is evaluated to obtain a help string. | ||
| 10073 | |||
| 10074 | For tool-bar and menu-bar items, their key definition is used to | ||
| 10075 | determine the help to display. If their definition contains a | ||
| 10076 | property `:help FORM', FORM is evaluated to determine the help string. | ||
| 10077 | For tool-bar items without a help form, the caption of the item is | ||
| 10078 | used as help string. | ||
| 10079 | |||
| 10080 | The hook `show-help-function' can be set to a function that displays | ||
| 10081 | the help string differently. For example, enabling a tooltip window | ||
| 10082 | causes the help display to appear there instead of in the echo area. | ||
| 10083 | |||
| 10084 | ** Vertical fractional scrolling. | ||
| 10085 | |||
| 10086 | The display of text in windows can be scrolled smoothly in pixels. | ||
| 10087 | This is useful, for example, for making parts of large images visible. | ||
| 10088 | |||
| 10089 | The function `window-vscroll' returns the current value of vertical | ||
| 10090 | scrolling, a non-negative fraction of the canonical character height. | ||
| 10091 | The function `set-window-vscroll' can be used to set the vertical | ||
| 10092 | scrolling value. Here is an example of how these function might be | ||
| 10093 | used. | ||
| 10094 | |||
| 10095 | (global-set-key [A-down] | ||
| 10096 | #'(lambda () | ||
| 10097 | (interactive) | ||
| 10098 | (set-window-vscroll (selected-window) | ||
| 10099 | (+ 0.5 (window-vscroll))))) | ||
| 10100 | (global-set-key [A-up] | ||
| 10101 | #'(lambda () | ||
| 10102 | (interactive) | ||
| 10103 | (set-window-vscroll (selected-window) | ||
| 10104 | (- (window-vscroll) 0.5))))) | ||
| 10105 | |||
| 10106 | ** New hook `fontification-functions'. | ||
| 10107 | |||
| 10108 | Functions from `fontification-functions' are called from redisplay | ||
| 10109 | when it encounters a region of text that is not yet fontified. This | ||
| 10110 | variable automatically becomes buffer-local when set. Each function | ||
| 10111 | is called with one argument, POS. | ||
| 10112 | |||
| 10113 | At least one of the hook functions should fontify one or more | ||
| 10114 | characters starting at POS in the current buffer. It should mark them | ||
| 10115 | as fontified by giving them a non-nil value of the `fontified' text | ||
| 10116 | property. It may be reasonable for these functions to check for the | ||
| 10117 | `fontified' property and not put it back on, but they do not have to. | ||
| 10118 | |||
| 10119 | ** Tool bar support. | ||
| 10120 | |||
| 10121 | Emacs supports a tool bar at the top of a frame under X. The frame | ||
| 10122 | parameter `tool-bar-lines' (X resource "toolBar", class "ToolBar") | ||
| 10123 | controls how may lines to reserve for the tool bar. A zero value | ||
| 10124 | suppresses the tool bar. If the value is non-zero and | ||
| 10125 | `auto-resize-tool-bars' is non-nil the tool bar's size will be changed | ||
| 10126 | automatically so that all tool bar items are visible. | ||
| 10127 | |||
| 10128 | *** Tool bar item definitions | ||
| 10129 | |||
| 10130 | Tool bar items are defined using `define-key' with a prefix-key | ||
| 10131 | `tool-bar'. For example `(define-key global-map [tool-bar item1] ITEM)' | ||
| 10132 | where ITEM is a list `(menu-item CAPTION BINDING PROPS...)'. | ||
| 10133 | |||
| 10134 | CAPTION is the caption of the item, If it's not a string, it is | ||
| 10135 | evaluated to get a string. The caption is currently not displayed in | ||
| 10136 | the tool bar, but it is displayed if the item doesn't have a `:help' | ||
| 10137 | property (see below). | ||
| 10138 | |||
| 10139 | BINDING is the tool bar item's binding. Tool bar items with keymaps as | ||
| 10140 | binding are currently ignored. | ||
| 10141 | |||
| 10142 | The following properties are recognized: | ||
| 10143 | |||
| 10144 | `:enable FORM'. | ||
| 10145 | |||
| 10146 | FORM is evaluated and specifies whether the tool bar item is enabled | ||
| 10147 | or disabled. | ||
| 10148 | |||
| 10149 | `:visible FORM' | ||
| 10150 | |||
| 10151 | FORM is evaluated and specifies whether the tool bar item is displayed. | ||
| 10152 | |||
| 10153 | `:filter FUNCTION' | ||
| 10154 | |||
| 10155 | FUNCTION is called with one parameter, the same list BINDING in which | ||
| 10156 | FUNCTION is specified as the filter. The value FUNCTION returns is | ||
| 10157 | used instead of BINDING to display this item. | ||
| 10158 | |||
| 10159 | `:button (TYPE SELECTED)' | ||
| 10160 | |||
| 10161 | TYPE must be one of `:radio' or `:toggle'. SELECTED is evaluated | ||
| 10162 | and specifies whether the button is selected (pressed) or not. | ||
| 10163 | |||
| 10164 | `:image IMAGES' | ||
| 10165 | |||
| 10166 | IMAGES is either a single image specification or a vector of four | ||
| 10167 | image specifications. If it is a vector, this table lists the | ||
| 10168 | meaning of each of the four elements: | ||
| 10169 | |||
| 10170 | Index Use when item is | ||
| 10171 | ---------------------------------------- | ||
| 10172 | 0 enabled and selected | ||
| 10173 | 1 enabled and deselected | ||
| 10174 | 2 disabled and selected | ||
| 10175 | 3 disabled and deselected | ||
| 10176 | |||
| 10177 | If IMAGE is a single image specification, a Laplace edge-detection | ||
| 10178 | algorithm is used on that image to draw the image in disabled state. | ||
| 10179 | |||
| 10180 | `:help HELP-STRING'. | ||
| 10181 | |||
| 10182 | Gives a help string to display for the tool bar item. This help | ||
| 10183 | is displayed when the mouse is moved over the item. | ||
| 10184 | |||
| 10185 | The function `toolbar-add-item' is a convenience function for adding | ||
| 10186 | toolbar items generally, and `tool-bar-add-item-from-menu' can be used | ||
| 10187 | to define a toolbar item with a binding copied from an item on the | ||
| 10188 | menu bar. | ||
| 10189 | |||
| 10190 | The default bindings use a menu-item :filter to derive the tool-bar | ||
| 10191 | dynamically from variable `tool-bar-map' which may be set | ||
| 10192 | buffer-locally to override the global map. | ||
| 10193 | |||
| 10194 | *** Tool-bar-related variables. | ||
| 10195 | |||
| 10196 | If `auto-resize-tool-bar' is non-nil, the tool bar will automatically | ||
| 10197 | resize to show all defined tool bar items. It will never grow larger | ||
| 10198 | than 1/4 of the frame's size. | ||
| 10199 | |||
| 10200 | If `auto-raise-tool-bar-buttons' is non-nil, tool bar buttons will be | ||
| 10201 | raised when the mouse moves over them. | ||
| 10202 | |||
| 10203 | You can add extra space between tool bar items by setting | ||
| 10204 | `tool-bar-button-margin' to a positive integer specifying a number of | ||
| 10205 | pixels, or a pair of integers (X . Y) specifying horizontal and | ||
| 10206 | vertical margins . Default is 1. | ||
| 10207 | |||
| 10208 | You can change the shadow thickness of tool bar buttons by setting | ||
| 10209 | `tool-bar-button-relief' to an integer. Default is 3. | ||
| 10210 | |||
| 10211 | *** Tool-bar clicks with modifiers. | ||
| 10212 | |||
| 10213 | You can bind commands to clicks with control, shift, meta etc. on | ||
| 10214 | a tool bar item. If | ||
| 10215 | |||
| 10216 | (define-key global-map [tool-bar shell] | ||
| 10217 | '(menu-item "Shell" shell | ||
| 10218 | :image (image :type xpm :file "shell.xpm"))) | ||
| 10219 | |||
| 10220 | is the original tool bar item definition, then | ||
| 10221 | |||
| 10222 | (define-key global-map [tool-bar S-shell] 'some-command) | ||
| 10223 | |||
| 10224 | makes a binding to run `some-command' for a shifted click on the same | ||
| 10225 | item. | ||
| 10226 | |||
| 10227 | ** Mode line changes. | ||
| 10228 | |||
| 10229 | *** Mouse-sensitive mode line. | ||
| 10230 | |||
| 10231 | The mode line can be made mouse-sensitive by displaying strings there | ||
| 10232 | that have a `local-map' text property. There are three ways to display | ||
| 10233 | a string with a `local-map' property in the mode line. | ||
| 10234 | |||
| 10235 | 1. The mode line spec contains a variable whose string value has | ||
| 10236 | a `local-map' text property. | ||
| 10237 | |||
| 10238 | 2. The mode line spec contains a format specifier (e.g. `%12b'), and | ||
| 10239 | that format specifier has a `local-map' property. | ||
| 10240 | |||
| 10241 | 3. The mode line spec contains a list containing `:eval FORM'. FORM | ||
| 10242 | is evaluated. If the result is a string, and that string has a | ||
| 10243 | `local-map' property. | ||
| 10244 | |||
| 10245 | The same mechanism is used to determine the `face' and `help-echo' | ||
| 10246 | properties of strings in the mode line. See `bindings.el' for an | ||
| 10247 | example. | ||
| 10248 | |||
| 10249 | *** If a mode line element has the form `(:eval FORM)', FORM is | ||
| 10250 | evaluated and the result is used as mode line element. | ||
| 10251 | |||
| 10252 | *** You can suppress mode-line display by setting the buffer-local | ||
| 10253 | variable mode-line-format to nil. | ||
| 10254 | |||
| 10255 | *** A headerline can now be displayed at the top of a window. | ||
| 10256 | |||
| 10257 | This mode line's contents are controlled by the new variable | ||
| 10258 | `header-line-format' and `default-header-line-format' which are | ||
| 10259 | completely analogous to `mode-line-format' and | ||
| 10260 | `default-mode-line-format'. A value of nil means don't display a top | ||
| 10261 | line. | ||
| 10262 | |||
| 10263 | The appearance of top mode lines is controlled by the face | ||
| 10264 | `header-line'. | ||
| 10265 | |||
| 10266 | The function `coordinates-in-window-p' returns `header-line' for a | ||
| 10267 | position in the header-line. | ||
| 10268 | |||
| 10269 | ** Text property `display' | ||
| 10270 | |||
| 10271 | The `display' text property is used to insert images into text, | ||
| 10272 | replace text with other text, display text in marginal area, and it is | ||
| 10273 | also used to control other aspects of how text displays. The value of | ||
| 10274 | the `display' property should be a display specification, as described | ||
| 10275 | below, or a list or vector containing display specifications. | ||
| 10276 | |||
| 10277 | *** Replacing text, displaying text in marginal areas | ||
| 10278 | |||
| 10279 | To replace the text having the `display' property with some other | ||
| 10280 | text, use a display specification of the form `(LOCATION STRING)'. | ||
| 10281 | |||
| 10282 | If LOCATION is `(margin left-margin)', STRING is displayed in the left | ||
| 10283 | marginal area, if it is `(margin right-margin)', it is displayed in | ||
| 10284 | the right marginal area, and if LOCATION is `(margin nil)' STRING | ||
| 10285 | is displayed in the text. In the latter case you can also use the | ||
| 10286 | simpler form STRING as property value. | ||
| 10287 | |||
| 10288 | *** Variable width and height spaces | ||
| 10289 | |||
| 10290 | To display a space of fractional width or height, use a display | ||
| 10291 | specification of the form `(LOCATION STRECH)'. If LOCATION is | ||
| 10292 | `(margin left-margin)', the space is displayed in the left marginal | ||
| 10293 | area, if it is `(margin right-margin)', it is displayed in the right | ||
| 10294 | marginal area, and if LOCATION is `(margin nil)' the space is | ||
| 10295 | displayed in the text. In the latter case you can also use the | ||
| 10296 | simpler form STRETCH as property value. | ||
| 10297 | |||
| 10298 | The stretch specification STRETCH itself is a list of the form `(space | ||
| 10299 | PROPS)', where PROPS is a property list which can contain the | ||
| 10300 | properties described below. | ||
| 10301 | |||
| 10302 | The display of the fractional space replaces the display of the | ||
| 10303 | characters having the `display' property. | ||
| 10304 | |||
| 10305 | - :width WIDTH | ||
| 10306 | |||
| 10307 | Specifies that the space width should be WIDTH times the normal | ||
| 10308 | character width. WIDTH can be an integer or floating point number. | ||
| 10309 | |||
| 10310 | - :relative-width FACTOR | ||
| 10311 | |||
| 10312 | Specifies that the width of the stretch should be computed from the | ||
| 10313 | first character in a group of consecutive characters that have the | ||
| 10314 | same `display' property. The computation is done by multiplying the | ||
| 10315 | width of that character by FACTOR. | ||
| 10316 | |||
| 10317 | - :align-to HPOS | ||
| 10318 | |||
| 10319 | Specifies that the space should be wide enough to reach HPOS. The | ||
| 10320 | value HPOS is measured in units of the normal character width. | ||
| 10321 | |||
| 10322 | Exactly one of the above properties should be used. | ||
| 10323 | |||
| 10324 | - :height HEIGHT | ||
| 10325 | |||
| 10326 | Specifies the height of the space, as HEIGHT, measured in terms of the | ||
| 10327 | normal line height. | ||
| 10328 | |||
| 10329 | - :relative-height FACTOR | ||
| 10330 | |||
| 10331 | The height of the space is computed as the product of the height | ||
| 10332 | of the text having the `display' property and FACTOR. | ||
| 10333 | |||
| 10334 | - :ascent ASCENT | ||
| 10335 | |||
| 10336 | Specifies that ASCENT percent of the height of the stretch should be | ||
| 10337 | used for the ascent of the stretch, i.e. for the part above the | ||
| 10338 | baseline. The value of ASCENT must be a non-negative number less or | ||
| 10339 | equal to 100. | ||
| 10340 | |||
| 10341 | You should not use both `:height' and `:relative-height' together. | ||
| 10342 | |||
| 10343 | *** Images | ||
| 10344 | |||
| 10345 | A display specification for an image has the form `(LOCATION | ||
| 10346 | . IMAGE)', where IMAGE is an image specification. The image replaces, | ||
| 10347 | in the display, the characters having this display specification in | ||
| 10348 | their `display' text property. If LOCATION is `(margin left-margin)', | ||
| 10349 | the image will be displayed in the left marginal area, if it is | ||
| 10350 | `(margin right-margin)' it will be displayed in the right marginal | ||
| 10351 | area, and if LOCATION is `(margin nil)' the image will be displayed in | ||
| 10352 | the text. In the latter case you can also use the simpler form IMAGE | ||
| 10353 | as display specification. | ||
| 10354 | |||
| 10355 | *** Other display properties | ||
| 10356 | |||
| 10357 | - (space-width FACTOR) | ||
| 10358 | |||
| 10359 | Specifies that space characters in the text having that property | ||
| 10360 | should be displayed FACTOR times as wide as normal; FACTOR must be an | ||
| 10361 | integer or float. | ||
| 10362 | |||
| 10363 | - (height HEIGHT) | ||
| 10364 | |||
| 10365 | Display text having this property in a font that is smaller or larger. | ||
| 10366 | |||
| 10367 | If HEIGHT is a list of the form `(+ N)', where N is an integer, that | ||
| 10368 | means to use a font that is N steps larger. If HEIGHT is a list of | ||
| 10369 | the form `(- N)', that means to use a font that is N steps smaller. A | ||
| 10370 | ``step'' is defined by the set of available fonts; each size for which | ||
| 10371 | a font is available counts as a step. | ||
| 10372 | |||
| 10373 | If HEIGHT is a number, that means to use a font that is HEIGHT times | ||
| 10374 | as tall as the frame's default font. | ||
| 10375 | |||
| 10376 | If HEIGHT is a symbol, it is called as a function with the current | ||
| 10377 | height as argument. The function should return the new height to use. | ||
| 10378 | |||
| 10379 | Otherwise, HEIGHT is evaluated to get the new height, with the symbol | ||
| 10380 | `height' bound to the current specified font height. | ||
| 10381 | |||
| 10382 | - (raise FACTOR) | ||
| 10383 | |||
| 10384 | FACTOR must be a number, specifying a multiple of the current | ||
| 10385 | font's height. If it is positive, that means to display the characters | ||
| 10386 | raised. If it is negative, that means to display them lower down. The | ||
| 10387 | amount of raising or lowering is computed without taking account of the | ||
| 10388 | `height' subproperty. | ||
| 10389 | |||
| 10390 | *** Conditional display properties | ||
| 10391 | |||
| 10392 | All display specifications can be conditionalized. If a specification | ||
| 10393 | has the form `(when CONDITION . SPEC)', the specification SPEC applies | ||
| 10394 | only when CONDITION yields a non-nil value when evaluated. During the | ||
| 10395 | evaluation, `object' is bound to the string or buffer having the | ||
| 10396 | conditional display property; `position' and `buffer-position' are | ||
| 10397 | bound to the position within `object' and the buffer position where | ||
| 10398 | the display property was found, respectively. Both positions can be | ||
| 10399 | different when object is a string. | ||
| 10400 | |||
| 10401 | The normal specification consisting of SPEC only is equivalent to | ||
| 10402 | `(when t . SPEC)'. | ||
| 10403 | |||
| 10404 | ** New menu separator types. | ||
| 10405 | |||
| 10406 | Emacs now supports more than one menu separator type. Menu items with | ||
| 10407 | item names consisting of dashes only (including zero dashes) are | ||
| 10408 | treated like before. In addition, the following item names are used | ||
| 10409 | to specify other menu separator types. | ||
| 10410 | |||
| 10411 | - `--no-line' or `--space', or `--:space', or `--:noLine' | ||
| 10412 | |||
| 10413 | No separator lines are drawn, but a small space is inserted where the | ||
| 10414 | separator occurs. | ||
| 10415 | |||
| 10416 | - `--single-line' or `--:singleLine' | ||
| 10417 | |||
| 10418 | A single line in the menu's foreground color. | ||
| 10419 | |||
| 10420 | - `--double-line' or `--:doubleLine' | ||
| 10421 | |||
| 10422 | A double line in the menu's foreground color. | ||
| 10423 | |||
| 10424 | - `--single-dashed-line' or `--:singleDashedLine' | ||
| 10425 | |||
| 10426 | A single dashed line in the menu's foreground color. | ||
| 10427 | |||
| 10428 | - `--double-dashed-line' or `--:doubleDashedLine' | ||
| 10429 | |||
| 10430 | A double dashed line in the menu's foreground color. | ||
| 10431 | |||
| 10432 | - `--shadow-etched-in' or `--:shadowEtchedIn' | ||
| 10433 | |||
| 10434 | A single line with 3D sunken appearance. This is the form | ||
| 10435 | displayed for item names consisting of dashes only. | ||
| 10436 | |||
| 10437 | - `--shadow-etched-out' or `--:shadowEtchedOut' | ||
| 10438 | |||
| 10439 | A single line with 3D raised appearance. | ||
| 10440 | |||
| 10441 | - `--shadow-etched-in-dash' or `--:shadowEtchedInDash' | ||
| 10442 | |||
| 10443 | A single dashed line with 3D sunken appearance. | ||
| 10444 | |||
| 10445 | - `--shadow-etched-out-dash' or `--:shadowEtchedOutDash' | ||
| 10446 | |||
| 10447 | A single dashed line with 3D raise appearance. | ||
| 10448 | |||
| 10449 | - `--shadow-double-etched-in' or `--:shadowDoubleEtchedIn' | ||
| 10450 | |||
| 10451 | Two lines with 3D sunken appearance. | ||
| 10452 | |||
| 10453 | - `--shadow-double-etched-out' or `--:shadowDoubleEtchedOut' | ||
| 10454 | |||
| 10455 | Two lines with 3D raised appearance. | ||
| 10456 | |||
| 10457 | - `--shadow-double-etched-in-dash' or `--:shadowDoubleEtchedInDash' | ||
| 10458 | |||
| 10459 | Two dashed lines with 3D sunken appearance. | ||
| 10460 | |||
| 10461 | - `--shadow-double-etched-out-dash' or `--:shadowDoubleEtchedOutDash' | ||
| 10462 | |||
| 10463 | Two dashed lines with 3D raised appearance. | ||
| 10464 | |||
| 10465 | Under LessTif/Motif, the last four separator types are displayed like | ||
| 10466 | the corresponding single-line separators. | ||
| 10467 | |||
| 10468 | ** New frame parameters for scroll bar colors. | ||
| 10469 | |||
| 10470 | The new frame parameters `scroll-bar-foreground' and | ||
| 10471 | `scroll-bar-background' can be used to change scroll bar colors. | ||
| 10472 | Their value must be either a color name, a string, or nil to specify | ||
| 10473 | that scroll bars should use a default color. For toolkit scroll bars, | ||
| 10474 | default colors are toolkit specific. For non-toolkit scroll bars, the | ||
| 10475 | default background is the background color of the frame, and the | ||
| 10476 | default foreground is black. | ||
| 10477 | |||
| 10478 | The X resource name of these parameters are `scrollBarForeground' | ||
| 10479 | (class ScrollBarForeground) and `scrollBarBackground' (class | ||
| 10480 | `ScrollBarBackground'). | ||
| 10481 | |||
| 10482 | Setting these parameters overrides toolkit specific X resource | ||
| 10483 | settings for scroll bar colors. | ||
| 10484 | |||
| 10485 | ** You can set `redisplay-dont-pause' to a non-nil value to prevent | ||
| 10486 | display updates from being interrupted when input is pending. | ||
| 10487 | |||
| 10488 | ** Changing a window's width may now change its window start if it | ||
| 10489 | starts on a continuation line. The new window start is computed based | ||
| 10490 | on the window's new width, starting from the start of the continued | ||
| 10491 | line as the start of the screen line with the minimum distance from | ||
| 10492 | the original window start. | ||
| 10493 | |||
| 10494 | ** The variable `hscroll-step' and the functions | ||
| 10495 | `hscroll-point-visible' and `hscroll-window-column' have been removed | ||
| 10496 | now that proper horizontal scrolling is implemented. | ||
| 10497 | |||
| 10498 | ** Windows can now be made fixed-width and/or fixed-height. | ||
| 10499 | |||
| 10500 | A window is fixed-size if its buffer has a buffer-local variable | ||
| 10501 | `window-size-fixed' whose value is not nil. A value of `height' makes | ||
| 10502 | windows fixed-height, a value of `width' makes them fixed-width, any | ||
| 10503 | other non-nil value makes them both fixed-width and fixed-height. | ||
| 10504 | |||
| 10505 | The following code makes all windows displaying the current buffer | ||
| 10506 | fixed-width and fixed-height. | ||
| 10507 | |||
| 10508 | (set (make-local-variable 'window-size-fixed) t) | ||
| 10509 | |||
| 10510 | A call to enlarge-window on a window gives an error if that window is | ||
| 10511 | fixed-width and it is tried to change the window's width, or if the | ||
| 10512 | window is fixed-height, and it is tried to change its height. To | ||
| 10513 | change the size of a fixed-size window, bind `window-size-fixed' | ||
| 10514 | temporarily to nil, for example | ||
| 10515 | |||
| 10516 | (let ((window-size-fixed nil)) | ||
| 10517 | (enlarge-window 10)) | ||
| 10518 | |||
| 10519 | Likewise, an attempt to split a fixed-height window vertically, | ||
| 10520 | or a fixed-width window horizontally results in a error. | ||
| 10521 | |||
| 10522 | ** The cursor-type frame parameter is now supported on MS-DOS | ||
| 10523 | terminals. When Emacs starts, it by default changes the cursor shape | ||
| 10524 | to a solid box, as it does on Unix. The `cursor-type' frame parameter | ||
| 10525 | overrides this as it does on Unix, except that the bar cursor is | ||
| 10526 | horizontal rather than vertical (since the MS-DOS display doesn't | ||
| 10527 | support a vertical-bar cursor). | ||
| 10528 | |||
| 10529 | |||
| 10530 | |||
| 10531 | * Emacs 20.7 is a bug-fix release with few user-visible changes | ||
| 10532 | |||
| 10533 | ** It is now possible to use CCL-based coding systems for keyboard | ||
| 10534 | input. | ||
| 10535 | |||
| 10536 | ** ange-ftp now handles FTP security extensions, like Kerberos. | ||
| 10537 | |||
| 10538 | ** Rmail has been extended to recognize more forms of digest messages. | ||
| 10539 | |||
| 10540 | ** Now, most coding systems set in keyboard coding system work not | ||
| 10541 | only for character input, but also in incremental search. The | ||
| 10542 | exceptions are such coding systems that handle 2-byte character sets | ||
| 10543 | (e.g euc-kr, euc-jp) and that use ISO's escape sequence | ||
| 10544 | (e.g. iso-2022-jp). They are ignored in incremental search. | ||
| 10545 | |||
| 10546 | ** Support for Macintosh PowerPC-based machines running GNU/Linux has | ||
| 10547 | been added. | ||
| 10548 | 5753 | ||
| 10549 | 5754 | ||
| 10550 | * Emacs 20.6 is a bug-fix release with one user-visible change | ||
| 10551 | |||
| 10552 | ** Support for ARM-based non-RISCiX machines has been added. | ||
| 10553 | |||
| 10554 | |||
| 10555 | |||
| 10556 | * Emacs 20.5 is a bug-fix release with no user-visible changes. | ||
| 10557 | |||
| 10558 | ** Not new, but not mentioned before: | ||
| 10559 | M-w when Transient Mark mode is enabled disables the mark. | ||
| 10560 | |||
| 10561 | * Changes in Emacs 20.4 | ||
| 10562 | |||
| 10563 | ** Init file may be called .emacs.el. | ||
| 10564 | |||
| 10565 | You can now call the Emacs init file `.emacs.el'. | ||
| 10566 | Formerly the name had to be `.emacs'. If you use the name | ||
| 10567 | `.emacs.el', you can byte-compile the file in the usual way. | ||
| 10568 | |||
| 10569 | If both `.emacs' and `.emacs.el' exist, the latter file | ||
| 10570 | is the one that is used. | ||
| 10571 | |||
| 10572 | ** shell-command, and shell-command-on-region, now return | ||
| 10573 | the exit code of the command (unless it is asynchronous). | ||
| 10574 | Also, you can specify a place to put the error output, | ||
| 10575 | separate from the command's regular output. | ||
| 10576 | Interactively, the variable shell-command-default-error-buffer | ||
| 10577 | says where to put error output; set it to a buffer name. | ||
| 10578 | In calls from Lisp, an optional argument ERROR-BUFFER specifies | ||
| 10579 | the buffer name. | ||
| 10580 | |||
| 10581 | When you specify a non-nil error buffer (or buffer name), any error | ||
| 10582 | output is inserted before point in that buffer, with \f\n to separate | ||
| 10583 | it from the previous batch of error output. The error buffer is not | ||
| 10584 | cleared, so error output from successive commands accumulates there. | ||
| 10585 | |||
| 10586 | ** Setting the default value of enable-multibyte-characters to nil in | ||
| 10587 | the .emacs file, either explicitly using setq-default, or via Custom, | ||
| 10588 | is now essentially equivalent to using --unibyte: all buffers | ||
| 10589 | created during startup will be made unibyte after loading .emacs. | ||
| 10590 | |||
| 10591 | ** C-x C-f now handles the wildcards * and ? in file names. For | ||
| 10592 | example, typing C-x C-f c*.c RET visits all the files whose names | ||
| 10593 | match c*.c. To visit a file whose name contains * or ?, add the | ||
| 10594 | quoting sequence /: to the beginning of the file name. | ||
| 10595 | |||
| 10596 | ** The M-x commands keep-lines, flush-lines and count-matches | ||
| 10597 | now have the same feature as occur and query-replace: | ||
| 10598 | if the pattern contains any upper case letters, then | ||
| 10599 | they never ignore case. | ||
| 10600 | |||
| 10601 | ** The end-of-line format conversion feature previously mentioned | ||
| 10602 | under `* Emacs 20.1 changes for MS-DOS and MS-Windows' actually | ||
| 10603 | applies to all operating systems. Emacs recognizes from the contents | ||
| 10604 | of a file what convention it uses to separate lines--newline, CRLF, or | ||
| 10605 | just CR--and automatically converts the contents to the normal Emacs | ||
| 10606 | convention (using newline to separate lines) for editing. This is a | ||
| 10607 | part of the general feature of coding system conversion. | ||
| 10608 | |||
| 10609 | If you subsequently save the buffer, Emacs converts the text back to | ||
| 10610 | the same format that was used in the file before. | ||
| 10611 | |||
| 10612 | You can turn off end-of-line conversion by setting the variable | ||
| 10613 | `inhibit-eol-conversion' to non-nil, e.g. with Custom in the MULE group. | ||
| 10614 | |||
| 10615 | ** The character set property `prefered-coding-system' has been | ||
| 10616 | renamed to `preferred-coding-system', for the sake of correct spelling. | ||
| 10617 | This is a fairly internal feature, so few programs should be affected. | ||
| 10618 | |||
| 10619 | ** Mode-line display of end-of-line format is changed. | ||
| 10620 | The indication of the end-of-line format of the file visited by a | ||
| 10621 | buffer is now more explicit when that format is not the usual one for | ||
| 10622 | your operating system. For example, the DOS-style end-of-line format | ||
| 10623 | is displayed as "(DOS)" on Unix and GNU/Linux systems. The usual | ||
| 10624 | end-of-line format is still displayed as a single character (colon for | ||
| 10625 | Unix, backslash for DOS and Windows, and forward slash for the Mac). | ||
| 10626 | |||
| 10627 | The values of the variables eol-mnemonic-unix, eol-mnemonic-dos, | ||
| 10628 | eol-mnemonic-mac, and eol-mnemonic-undecided, which are strings, | ||
| 10629 | control what is displayed in the mode line for each end-of-line | ||
| 10630 | format. You can now customize these variables. | ||
| 10631 | |||
| 10632 | ** In the previous version of Emacs, tar-mode didn't work well if a | ||
| 10633 | filename contained non-ASCII characters. Now this is fixed. Such a | ||
| 10634 | filename is decoded by file-name-coding-system if the default value of | ||
| 10635 | enable-multibyte-characters is non-nil. | ||
| 10636 | |||
| 10637 | ** The command temp-buffer-resize-mode toggles a minor mode | ||
| 10638 | in which temporary buffers (such as help buffers) are given | ||
| 10639 | windows just big enough to hold the whole contents. | ||
| 10640 | |||
| 10641 | ** If you use completion.el, you must now run the function | ||
| 10642 | dynamic-completion-mode to enable it. Just loading the file | ||
| 10643 | doesn't have any effect. | ||
| 10644 | |||
| 10645 | ** In Flyspell mode, the default is now to make just one Ispell process, | ||
| 10646 | not one per buffer. | ||
| 10647 | |||
| 10648 | ** If you use iswitchb but do not call (iswitchb-default-keybindings) to | ||
| 10649 | use the default keybindings, you will need to add the following line: | ||
| 10650 | (add-hook 'minibuffer-setup-hook 'iswitchb-minibuffer-setup) | ||
| 10651 | |||
| 10652 | ** Auto-show mode is no longer enabled just by loading auto-show.el. | ||
| 10653 | To control it, set `auto-show-mode' via Custom or use the | ||
| 10654 | `auto-show-mode' command. | ||
| 10655 | |||
| 10656 | ** Handling of X fonts' ascent/descent parameters has been changed to | ||
| 10657 | avoid redisplay problems. As a consequence, compared with previous | ||
| 10658 | versions the line spacing and frame size now differ with some font | ||
| 10659 | choices, typically increasing by a pixel per line. This change | ||
| 10660 | occurred in version 20.3 but was not documented then. | ||
| 10661 | |||
| 10662 | ** If you select the bar cursor style, it uses the frame's | ||
| 10663 | cursor-color, rather than the cursor foreground pixel. | ||
| 10664 | |||
| 10665 | ** In multibyte mode, Rmail decodes incoming MIME messages using the | ||
| 10666 | character set specified in the message. If you want to disable this | ||
| 10667 | feature, set the variable rmail-decode-mime-charset to nil. | ||
| 10668 | |||
| 10669 | ** Not new, but not mentioned previously in NEWS: when you use #! at | ||
| 10670 | the beginning of a file to make it executable and specify an | ||
| 10671 | interpreter program, Emacs looks on the second line for the -*- mode | ||
| 10672 | and variable specification, as well as on the first line. | ||
| 10673 | |||
| 10674 | ** Support for IBM codepage encoding of non-ASCII characters. | ||
| 10675 | |||
| 10676 | The new command M-x codepage-setup creates a special coding system | ||
| 10677 | that can be used to convert text between a specific IBM codepage and | ||
| 10678 | one of the character sets built into Emacs which matches that | ||
| 10679 | codepage. For example, codepage 850 corresponds to Latin-1 character | ||
| 10680 | set, codepage 855 corresponds to Cyrillic-ISO character set, etc. | ||
| 10681 | |||
| 10682 | Windows codepages 1250, 1251 and some others, where Windows deviates | ||
| 10683 | from the corresponding ISO character set, are also supported. | ||
| 10684 | |||
| 10685 | IBM box-drawing characters and other glyphs which don't have | ||
| 10686 | equivalents in the corresponding ISO character set, are converted to | ||
| 10687 | a character defined by dos-unsupported-char-glyph on MS-DOS, and to | ||
| 10688 | `?' on other systems. | ||
| 10689 | |||
| 10690 | IBM codepages are widely used on MS-DOS and MS-Windows, so this | ||
| 10691 | feature is most useful on those platforms, but it can also be used on | ||
| 10692 | Unix. | ||
| 10693 | |||
| 10694 | Emacs compiled for MS-DOS automatically loads the support for the | ||
| 10695 | current codepage when it starts. | ||
| 10696 | |||
| 10697 | ** Mail changes | ||
| 10698 | |||
| 10699 | *** When mail is sent using compose-mail (C-x m), and if | ||
| 10700 | `mail-send-nonascii' is set to the new default value `mime', | ||
| 10701 | appropriate MIME headers are added. The headers are added only if | ||
| 10702 | non-ASCII characters are present in the body of the mail, and no other | ||
| 10703 | MIME headers are already present. For example, the following three | ||
| 10704 | headers are added if the coding system used in the *mail* buffer is | ||
| 10705 | latin-1: | ||
| 10706 | |||
| 10707 | MIME-version: 1.0 | ||
| 10708 | Content-type: text/plain; charset=iso-8859-1 | ||
| 10709 | Content-Transfer-Encoding: 8bit | ||
| 10710 | |||
| 10711 | *** The new variable default-sendmail-coding-system specifies the | ||
| 10712 | default way to encode outgoing mail. This has higher priority than | ||
| 10713 | default-buffer-file-coding-system but has lower priority than | ||
| 10714 | sendmail-coding-system and the local value of | ||
| 10715 | buffer-file-coding-system. | ||
| 10716 | |||
| 10717 | You should not set this variable manually. Instead, set | ||
| 10718 | sendmail-coding-system to specify a fixed encoding for all outgoing | ||
| 10719 | mail. | ||
| 10720 | |||
| 10721 | *** When you try to send a message that contains non-ASCII characters, | ||
| 10722 | if the coding system specified by those variables doesn't handle them, | ||
| 10723 | Emacs will ask you to select a suitable coding system while showing a | ||
| 10724 | list of possible coding systems. | ||
| 10725 | |||
| 10726 | ** CC Mode changes | ||
| 10727 | |||
| 10728 | *** c-default-style can now take an association list that maps major | ||
| 10729 | modes to style names. When this variable is an alist, Java mode no | ||
| 10730 | longer hardcodes a setting to "java" style. See the variable's | ||
| 10731 | docstring for details. | ||
| 10732 | |||
| 10733 | *** It's now possible to put a list as the offset on a syntactic | ||
| 10734 | symbol. The list is evaluated recursively until a non-nil offset is | ||
| 10735 | found. This is useful to combine several lineup functions to act in a | ||
| 10736 | prioritized order on a single line. However, none of the supplied | ||
| 10737 | lineup functions use this feature currently. | ||
| 10738 | |||
| 10739 | *** New syntactic symbol catch-clause, which is used on the "catch" and | ||
| 10740 | "finally" lines in try-catch constructs in C++ and Java. | ||
| 10741 | |||
| 10742 | *** New cleanup brace-catch-brace on c-cleanup-list, which does for | ||
| 10743 | "catch" lines what brace-elseif-brace does for "else if" lines. | ||
| 10744 | |||
| 10745 | *** The braces of Java anonymous inner classes are treated separately | ||
| 10746 | from the braces of other classes in auto-newline mode. Two new | ||
| 10747 | symbols inexpr-class-open and inexpr-class-close may be used on | ||
| 10748 | c-hanging-braces-alist to control the automatic newlines used for | ||
| 10749 | anonymous classes. | ||
| 10750 | |||
| 10751 | *** Support for the Pike language added, along with new Pike specific | ||
| 10752 | syntactic symbols: inlambda, lambda-intro-cont | ||
| 10753 | |||
| 10754 | *** Support for Java anonymous classes via new syntactic symbol | ||
| 10755 | inexpr-class. New syntactic symbol inexpr-statement for Pike | ||
| 10756 | support and gcc-style statements inside expressions. New lineup | ||
| 10757 | function c-lineup-inexpr-block. | ||
| 10758 | |||
| 10759 | *** New syntactic symbol brace-entry-open which is used in brace lists | ||
| 10760 | (i.e. static initializers) when a list entry starts with an open | ||
| 10761 | brace. These used to be recognized as brace-list-entry's. | ||
| 10762 | c-electric-brace also recognizes brace-entry-open braces | ||
| 10763 | (brace-list-entry's can no longer be electrified). | ||
| 10764 | |||
| 10765 | *** New command c-indent-line-or-region, not bound by default. | ||
| 10766 | |||
| 10767 | *** `#' is only electric when typed in the indentation of a line. | ||
| 10768 | |||
| 10769 | *** Parentheses are now electric (via the new command c-electric-paren) | ||
| 10770 | for auto-reindenting lines when parens are typed. | ||
| 10771 | |||
| 10772 | *** In "gnu" style, inline-open offset is now set to zero. | ||
| 10773 | |||
| 10774 | *** Uniform handling of the inclass syntactic symbol. The indentation | ||
| 10775 | associated with it is now always relative to the class opening brace. | ||
| 10776 | This means that the indentation behavior has changed in some | ||
| 10777 | circumstances, but only if you've put anything besides 0 on the | ||
| 10778 | class-open syntactic symbol (none of the default styles do that). | ||
| 10779 | |||
| 10780 | ** Gnus changes. | ||
| 10781 | |||
| 10782 | *** New functionality for using Gnus as an offline newsreader has been | ||
| 10783 | added. A plethora of new commands and modes have been added. See the | ||
| 10784 | Gnus manual for the full story. | ||
| 10785 | |||
| 10786 | *** The nndraft backend has returned, but works differently than | ||
| 10787 | before. All Message buffers are now also articles in the nndraft | ||
| 10788 | group, which is created automatically. | ||
| 10789 | |||
| 10790 | *** `gnus-alter-header-function' can now be used to alter header | ||
| 10791 | values. | ||
| 10792 | |||
| 10793 | *** `gnus-summary-goto-article' now accept Message-ID's. | ||
| 10794 | |||
| 10795 | *** A new Message command for deleting text in the body of a message | ||
| 10796 | outside the region: `C-c C-v'. | ||
| 10797 | |||
| 10798 | *** You can now post to component group in nnvirtual groups with | ||
| 10799 | `C-u C-c C-c'. | ||
| 10800 | |||
| 10801 | *** `nntp-rlogin-program' -- new variable to ease customization. | ||
| 10802 | |||
| 10803 | *** `C-u C-c C-c' in `gnus-article-edit-mode' will now inhibit | ||
| 10804 | re-highlighting of the article buffer. | ||
| 10805 | |||
| 10806 | *** New element in `gnus-boring-article-headers' -- `long-to'. | ||
| 10807 | |||
| 10808 | *** `M-i' symbolic prefix command. See the section "Symbolic | ||
| 10809 | Prefixes" in the Gnus manual for details. | ||
| 10810 | |||
| 10811 | *** `L' and `I' in the summary buffer now take the symbolic prefix | ||
| 10812 | `a' to add the score rule to the "all.SCORE" file. | ||
| 10813 | |||
| 10814 | *** `gnus-simplify-subject-functions' variable to allow greater | ||
| 10815 | control over simplification. | ||
| 10816 | |||
| 10817 | *** `A T' -- new command for fetching the current thread. | ||
| 10818 | |||
| 10819 | *** `/ T' -- new command for including the current thread in the | ||
| 10820 | limit. | ||
| 10821 | |||
| 10822 | *** `M-RET' is a new Message command for breaking cited text. | ||
| 10823 | |||
| 10824 | *** \\1-expressions are now valid in `nnmail-split-methods'. | ||
| 10825 | |||
| 10826 | *** The `custom-face-lookup' function has been removed. | ||
| 10827 | If you used this function in your initialization files, you must | ||
| 10828 | rewrite them to use `face-spec-set' instead. | ||
| 10829 | |||
| 10830 | *** Canceling now uses the current select method. Symbolic prefix | ||
| 10831 | `a' forces normal posting method. | ||
| 10832 | |||
| 10833 | *** New command to translate M******** sm*rtq**t*s into proper text | ||
| 10834 | -- `W d'. | ||
| 10835 | |||
| 10836 | *** For easier debugging of nntp, you can set `nntp-record-commands' | ||
| 10837 | to a non-nil value. | ||
| 10838 | |||
| 10839 | *** nntp now uses ~/.authinfo, a .netrc-like file, for controlling | ||
| 10840 | where and how to send AUTHINFO to NNTP servers. | ||
| 10841 | |||
| 10842 | *** A command for editing group parameters from the summary buffer | ||
| 10843 | has been added. | ||
| 10844 | |||
| 10845 | *** A history of where mails have been split is available. | ||
| 10846 | |||
| 10847 | *** A new article date command has been added -- `article-date-iso8601'. | ||
| 10848 | |||
| 10849 | *** Subjects can be simplified when threading by setting | ||
| 10850 | `gnus-score-thread-simplify'. | ||
| 10851 | |||
| 10852 | *** A new function for citing in Message has been added -- | ||
| 10853 | `message-cite-original-without-signature'. | ||
| 10854 | |||
| 10855 | *** `article-strip-all-blank-lines' -- new article command. | ||
| 10856 | |||
| 10857 | *** A new Message command to kill to the end of the article has | ||
| 10858 | been added. | ||
| 10859 | |||
| 10860 | *** A minimum adaptive score can be specified by using the | ||
| 10861 | `gnus-adaptive-word-minimum' variable. | ||
| 10862 | |||
| 10863 | *** The "lapsed date" article header can be kept continually | ||
| 10864 | updated by the `gnus-start-date-timer' command. | ||
| 10865 | |||
| 10866 | *** Web listserv archives can be read with the nnlistserv backend. | ||
| 10867 | |||
| 10868 | *** Old dejanews archives can now be read by nnweb. | ||
| 10869 | |||
| 10870 | *** `gnus-posting-styles' has been re-activated. | ||
| 10871 | |||
| 10872 | ** Changes to TeX and LaTeX mode | ||
| 10873 | |||
| 10874 | *** The new variable `tex-start-options-string' can be used to give | ||
| 10875 | options for the TeX run. The default value causes TeX to run in | ||
| 10876 | nonstopmode. For an interactive TeX run set it to nil or "". | ||
| 10877 | |||
| 10878 | *** The command `tex-feed-input' sends input to the Tex Shell. In a | ||
| 10879 | TeX buffer it is bound to the keys C-RET, C-c RET, and C-c C-m (some | ||
| 10880 | of these keys may not work on all systems). For instance, if you run | ||
| 10881 | TeX interactively and if the TeX run stops because of an error, you | ||
| 10882 | can continue it without leaving the TeX buffer by typing C-RET. | ||
| 10883 | |||
| 10884 | *** The Tex Shell Buffer is now in `compilation-shell-minor-mode'. | ||
| 10885 | All error-parsing commands of the Compilation major mode are available | ||
| 10886 | but bound to keys that don't collide with the shell. Thus you can use | ||
| 10887 | the Tex Shell for command line executions like a usual shell. | ||
| 10888 | |||
| 10889 | *** The commands `tex-validate-region' and `tex-validate-buffer' check | ||
| 10890 | the matching of braces and $'s. The errors are listed in a *Occur* | ||
| 10891 | buffer and you can use C-c C-c or mouse-2 to go to a particular | ||
| 10892 | mismatch. | ||
| 10893 | |||
| 10894 | ** Changes to RefTeX mode | ||
| 10895 | |||
| 10896 | *** The table of contents buffer can now also display labels and | ||
| 10897 | file boundaries in addition to sections. Use `l', `i', and `c' keys. | ||
| 10898 | |||
| 10899 | *** Labels derived from context (the section heading) are now | ||
| 10900 | lowercase by default. To make the label legal in LaTeX, latin-1 | ||
| 10901 | characters will lose their accent. All Mule characters will be | ||
| 10902 | removed from the label. | ||
| 10903 | |||
| 10904 | *** The automatic display of cross reference information can also use | ||
| 10905 | a window instead of the echo area. See variable `reftex-auto-view-crossref'. | ||
| 10906 | |||
| 10907 | *** kpsewhich can be used by RefTeX to find TeX and BibTeX files. See the | ||
| 10908 | customization group `reftex-finding-files'. | ||
| 10909 | |||
| 10910 | *** The option `reftex-bibfile-ignore-list' has been renamed to | ||
| 10911 | `reftex-bibfile-ignore-regexps' and indeed can be fed with regular | ||
| 10912 | expressions. | ||
| 10913 | |||
| 10914 | *** Multiple Selection buffers are now hidden buffers. | ||
| 10915 | |||
| 10916 | ** New/deleted modes and packages | ||
| 10917 | |||
| 10918 | *** The package snmp-mode.el provides major modes for editing SNMP and | ||
| 10919 | SNMPv2 MIBs. It has entries on `auto-mode-alist'. | ||
| 10920 | |||
| 10921 | *** The package sql.el provides a major mode, M-x sql-mode, for | ||
| 10922 | editing SQL files, and M-x sql-interactive-mode for interacting with | ||
| 10923 | SQL interpreters. It has an entry on `auto-mode-alist'. | ||
| 10924 | |||
| 10925 | *** ispell4.el has been deleted. It got in the way of ispell.el and | ||
| 10926 | this was hard to fix reliably. It has long been obsolete -- use | ||
| 10927 | Ispell 3.1 and ispell.el. | ||
| 10928 | |||
| 10929 | * MS-DOS changes in Emacs 20.4 | ||
| 10930 | |||
| 10931 | ** Emacs compiled for MS-DOS now supports MULE features better. | ||
| 10932 | This includes support for display of all ISO 8859-N character sets, | ||
| 10933 | conversion to and from IBM codepage encoding of non-ASCII characters, | ||
| 10934 | and automatic setup of the MULE environment at startup. For details, | ||
| 10935 | check out the section `MS-DOS and MULE' in the manual. | ||
| 10936 | |||
| 10937 | The MS-DOS installation procedure automatically configures and builds | ||
| 10938 | Emacs with input method support if it finds an unpacked Leim | ||
| 10939 | distribution when the config.bat script is run. | ||
| 10940 | |||
| 10941 | ** Formerly, the value of lpr-command did not affect printing on | ||
| 10942 | MS-DOS unless print-region-function was set to nil, but now it | ||
| 10943 | controls whether an external program is invoked or output is written | ||
| 10944 | directly to a printer port. Similarly, in the previous version of | ||
| 10945 | Emacs, the value of ps-lpr-command did not affect PostScript printing | ||
| 10946 | on MS-DOS unless ps-printer-name was set to something other than a | ||
| 10947 | string (eg. t or `pipe'), but now it controls whether an external | ||
| 10948 | program is used. (These changes were made so that configuration of | ||
| 10949 | printing variables would be almost identical across all platforms.) | ||
| 10950 | |||
| 10951 | ** In the previous version of Emacs, PostScript and non-PostScript | ||
| 10952 | output was piped to external programs, but because most print programs | ||
| 10953 | available for MS-DOS and MS-Windows cannot read data from their standard | ||
| 10954 | input, on those systems the data to be output is now written to a | ||
| 10955 | temporary file whose name is passed as the last argument to the external | ||
| 10956 | program. | ||
| 10957 | |||
| 10958 | An exception is made for `print', a standard program on Windows NT, | ||
| 10959 | and `nprint', a standard program on Novell Netware. For both of these | ||
| 10960 | programs, the command line is constructed in the appropriate syntax | ||
| 10961 | automatically, using only the value of printer-name or ps-printer-name | ||
| 10962 | as appropriate--the value of the relevant `-switches' variable is | ||
| 10963 | ignored, as both programs have no useful switches. | ||
| 10964 | |||
| 10965 | ** The value of the variable dos-printer (cf. dos-ps-printer), if it has | ||
| 10966 | a value, overrides the value of printer-name (cf. ps-printer-name), on | ||
| 10967 | MS-DOS and MS-Windows only. This has been true since version 20.3, but | ||
| 10968 | was not documented clearly before. | ||
| 10969 | |||
| 10970 | ** All the Emacs games now work on MS-DOS terminals. | ||
| 10971 | This includes Tetris and Snake. | ||
| 10972 | |||
| 10973 | * Lisp changes in Emacs 20.4 | ||
| 10974 | |||
| 10975 | ** New functions line-beginning-position and line-end-position | ||
| 10976 | return the position of the beginning or end of the current line. | ||
| 10977 | They both accept an optional argument, which has the same | ||
| 10978 | meaning as the argument to beginning-of-line or end-of-line. | ||
| 10979 | |||
| 10980 | ** find-file and allied functions now have an optional argument | ||
| 10981 | WILDCARD. If this is non-nil, they do wildcard processing, | ||
| 10982 | and visit all files that match the wildcard pattern. | ||
| 10983 | |||
| 10984 | ** Changes in the file-attributes function. | ||
| 10985 | |||
| 10986 | *** The file size returned by file-attributes may be an integer or a float. | ||
| 10987 | It is an integer if the size fits in a Lisp integer, float otherwise. | ||
| 10988 | |||
| 10989 | *** The inode number returned by file-attributes may be an integer (if | ||
| 10990 | the number fits in a Lisp integer) or a cons cell containing two | ||
| 10991 | integers. | ||
| 10992 | |||
| 10993 | ** The new function directory-files-and-attributes returns a list of | ||
| 10994 | files in a directory and their attributes. It accepts the same | ||
| 10995 | arguments as directory-files and has similar semantics, except that | ||
| 10996 | file names and attributes are returned. | ||
| 10997 | |||
| 10998 | ** The new function file-attributes-lessp is a helper function for | ||
| 10999 | sorting the list generated by directory-files-and-attributes. It | ||
| 11000 | accepts two arguments, each a list of a file name and its attributes. | ||
| 11001 | It compares the file names of each according to string-lessp and | ||
| 11002 | returns the result. | ||
| 11003 | |||
| 11004 | ** The new function file-expand-wildcards expands a wildcard-pattern | ||
| 11005 | to produce a list of existing files that match the pattern. | ||
| 11006 | |||
| 11007 | ** New functions for base64 conversion: | ||
| 11008 | |||
| 11009 | The function base64-encode-region converts a part of the buffer | ||
| 11010 | into the base64 code used in MIME. base64-decode-region | ||
| 11011 | performs the opposite conversion. Line-breaking is supported | ||
| 11012 | optionally. | ||
| 11013 | |||
| 11014 | Functions base64-encode-string and base64-decode-string do a similar | ||
| 11015 | job on the text in a string. They return the value as a new string. | ||
| 11016 | |||
| 11017 | ** | ||
| 11018 | The new function process-running-child-p | ||
| 11019 | will tell you if a subprocess has given control of its | ||
| 11020 | terminal to its own child process. | ||
| 11021 | |||
| 11022 | ** interrupt-process and such functions have a new feature: | ||
| 11023 | when the second argument is `lambda', they send a signal | ||
| 11024 | to the running child of the subshell, if any, but if the shell | ||
| 11025 | itself owns its terminal, no signal is sent. | ||
| 11026 | |||
| 11027 | ** There are new widget types `plist' and `alist' which can | ||
| 11028 | be used for customizing variables whose values are plists or alists. | ||
| 11029 | |||
| 11030 | ** easymenu.el now understands `:key-sequence' and `:style button'. | ||
| 11031 | :included is an alias for :visible. | ||
| 11032 | |||
| 11033 | easy-menu-add-item now understands the values returned by | ||
| 11034 | easy-menu-remove-item and easy-menu-item-present-p. This can be used | ||
| 11035 | to move or copy menu entries. | ||
| 11036 | |||
| 11037 | ** Multibyte editing changes | ||
| 11038 | |||
| 11039 | *** The definitions of sref and char-bytes are changed. Now, sref is | ||
| 11040 | an alias of aref and char-bytes always returns 1. This change is to | ||
| 11041 | make some Emacs Lisp code which works on 20.2 and earlier also | ||
| 11042 | work on the latest Emacs. Such code uses a combination of sref and | ||
| 11043 | char-bytes in a loop typically as below: | ||
| 11044 | (setq char (sref str idx) | ||
| 11045 | idx (+ idx (char-bytes idx))) | ||
| 11046 | The byte-compiler now warns that this is obsolete. | ||
| 11047 | |||
| 11048 | If you want to know how many bytes a specific multibyte character | ||
| 11049 | (say, CH) occupies in a multibyte buffer, use this code: | ||
| 11050 | (charset-bytes (char-charset ch)) | ||
| 11051 | |||
| 11052 | *** In multibyte mode, when you narrow a buffer to some region, and the | ||
| 11053 | region is preceded or followed by non-ASCII codes, inserting or | ||
| 11054 | deleting at the head or the end of the region may signal this error: | ||
| 11055 | |||
| 11056 | Byte combining across boundary of accessible buffer text inhibited | ||
| 11057 | |||
| 11058 | This is to avoid some bytes being combined together into a character | ||
| 11059 | across the boundary. | ||
| 11060 | |||
| 11061 | *** The functions find-charset-region and find-charset-string include | ||
| 11062 | `unknown' in the returned list in the following cases: | ||
| 11063 | o The current buffer or the target string is unibyte and | ||
| 11064 | contains 8-bit characters. | ||
| 11065 | o The current buffer or the target string is multibyte and | ||
| 11066 | contains invalid characters. | ||
| 11067 | |||
| 11068 | *** The functions decode-coding-region and encode-coding-region remove | ||
| 11069 | text properties of the target region. Ideally, they should correctly | ||
| 11070 | preserve text properties, but for the moment, it's hard. Removing | ||
| 11071 | text properties is better than preserving them in a less-than-correct | ||
| 11072 | way. | ||
| 11073 | |||
| 11074 | *** prefer-coding-system sets EOL conversion of default coding systems. | ||
| 11075 | If the argument to prefer-coding-system specifies a certain type of | ||
| 11076 | end of line conversion, the default coding systems set by | ||
| 11077 | prefer-coding-system will specify that conversion type for end of line. | ||
| 11078 | |||
| 11079 | *** The new function thai-compose-string can be used to properly | ||
| 11080 | compose Thai characters in a string. | ||
| 11081 | |||
| 11082 | ** The primitive `define-prefix-command' now takes an optional third | ||
| 11083 | argument NAME, which should be a string. It supplies the menu name | ||
| 11084 | for the created keymap. Keymaps created in order to be displayed as | ||
| 11085 | menus should always use the third argument. | ||
| 11086 | |||
| 11087 | ** The meanings of optional second arguments for read-char, | ||
| 11088 | read-event, and read-char-exclusive are flipped. Now the second | ||
| 11089 | arguments are INHERIT-INPUT-METHOD. These functions use the current | ||
| 11090 | input method (if any) if and only if INHERIT-INPUT-METHOD is non-nil. | ||
| 11091 | |||
| 11092 | ** The new function clear-this-command-keys empties out the contents | ||
| 11093 | of the vector that (this-command-keys) returns. This is useful in | ||
| 11094 | programs that read passwords, to prevent the passwords from echoing | ||
| 11095 | inadvertently as part of the next command in certain cases. | ||
| 11096 | |||
| 11097 | ** The new macro `with-temp-message' displays a temporary message in | ||
| 11098 | the echo area, while executing some Lisp code. Like `progn', it | ||
| 11099 | returns the value of the last form, but it also restores the previous | ||
| 11100 | echo area contents. | ||
| 11101 | |||
| 11102 | (with-temp-message MESSAGE &rest BODY) | ||
| 11103 | |||
| 11104 | ** The function `require' now takes an optional third argument | ||
| 11105 | NOERROR. If it is non-nil, then there is no error if the | ||
| 11106 | requested feature cannot be loaded. | ||
| 11107 | |||
| 11108 | ** In the function modify-face, an argument of (nil) for the | ||
| 11109 | foreground color, background color or stipple pattern | ||
| 11110 | means to clear out that attribute. | ||
| 11111 | |||
| 11112 | ** The `outer-window-id' frame property of an X frame | ||
| 11113 | gives the window number of the outermost X window for the frame. | ||
| 11114 | |||
| 11115 | ** Temporary buffers made with with-output-to-temp-buffer are now | ||
| 11116 | read-only by default, and normally use the major mode Help mode | ||
| 11117 | unless you put them in some other non-Fundamental mode before the | ||
| 11118 | end of with-output-to-temp-buffer. | ||
| 11119 | |||
| 11120 | ** The new functions gap-position and gap-size return information on | ||
| 11121 | the gap of the current buffer. | ||
| 11122 | |||
| 11123 | ** The new functions position-bytes and byte-to-position provide a way | ||
| 11124 | to convert between character positions and byte positions in the | ||
| 11125 | current buffer. | ||
| 11126 | |||
| 11127 | ** vc.el defines two new macros, `edit-vc-file' and `with-vc-file', to | ||
| 11128 | facilitate working with version-controlled files from Lisp programs. | ||
| 11129 | These macros check out a given file automatically if needed, and check | ||
| 11130 | it back in after any modifications have been made. | ||
| 11131 | |||
| 11132 | * Installation Changes in Emacs 20.3 | ||
| 11133 | |||
| 11134 | ** The default value of load-path now includes most subdirectories of | ||
| 11135 | the site-specific directories /usr/local/share/emacs/site-lisp and | ||
| 11136 | /usr/local/share/emacs/VERSION/site-lisp, in addition to those | ||
| 11137 | directories themselves. Both immediate subdirectories and | ||
| 11138 | subdirectories multiple levels down are added to load-path. | ||
| 11139 | |||
| 11140 | Not all subdirectories are included, though. Subdirectories whose | ||
| 11141 | names do not start with a letter or digit are excluded. | ||
| 11142 | Subdirectories named RCS or CVS are excluded. Also, a subdirectory | ||
| 11143 | which contains a file named `.nosearch' is excluded. You can use | ||
| 11144 | these methods to prevent certain subdirectories from being searched. | ||
| 11145 | |||
| 11146 | Emacs finds these subdirectories and adds them to load-path when it | ||
| 11147 | starts up. While it would be cleaner to find the subdirectories each | ||
| 11148 | time Emacs loads a file, that would be much slower. | ||
| 11149 | |||
| 11150 | This feature is an incompatible change. If you have stored some Emacs | ||
| 11151 | Lisp files in a subdirectory of the site-lisp directory specifically | ||
| 11152 | to prevent them from being used, you will need to rename the | ||
| 11153 | subdirectory to start with a non-alphanumeric character, or create a | ||
| 11154 | `.nosearch' file in it, in order to continue to achieve the desired | ||
| 11155 | results. | ||
| 11156 | |||
| 11157 | ** Emacs no longer includes an old version of the C preprocessor from | ||
| 11158 | GCC. This was formerly used to help compile Emacs with C compilers | ||
| 11159 | that had limits on the significant length of an identifier, but in | ||
| 11160 | fact we stopped supporting such compilers some time ago. | ||
| 11161 | |||
| 11162 | * Changes in Emacs 20.3 | ||
| 11163 | |||
| 11164 | ** The new command C-x z (repeat) repeats the previous command | ||
| 11165 | including its argument. If you repeat the z afterward, | ||
| 11166 | it repeats the command additional times; thus, you can | ||
| 11167 | perform many repetitions with one keystroke per repetition. | ||
| 11168 | |||
| 11169 | ** Emacs now supports "selective undo" which undoes only within a | ||
| 11170 | specified region. To do this, set point and mark around the desired | ||
| 11171 | region and type C-u C-x u (or C-u C-_). You can then continue undoing | ||
| 11172 | further, within the same region, by repeating the ordinary undo | ||
| 11173 | command C-x u or C-_. This will keep undoing changes that were made | ||
| 11174 | within the region you originally specified, until either all of them | ||
| 11175 | are undone, or it encounters a change which crosses the edge of that | ||
| 11176 | region. | ||
| 11177 | |||
| 11178 | In Transient Mark mode, undoing when a region is active requests | ||
| 11179 | selective undo. | ||
| 11180 | |||
| 11181 | ** If you specify --unibyte when starting Emacs, then all buffers are | ||
| 11182 | unibyte, except when a Lisp program specifically creates a multibyte | ||
| 11183 | buffer. Setting the environment variable EMACS_UNIBYTE has the same | ||
| 11184 | effect. The --no-unibyte option overrides EMACS_UNIBYTE and directs | ||
| 11185 | Emacs to run normally in multibyte mode. | ||
| 11186 | |||
| 11187 | The option --unibyte does not affect the reading of Emacs Lisp files, | ||
| 11188 | though. If you want a Lisp file to be read in unibyte mode, use | ||
| 11189 | -*-unibyte: t;-*- on its first line. That will force Emacs to | ||
| 11190 | load that file in unibyte mode, regardless of how Emacs was started. | ||
| 11191 | |||
| 11192 | ** toggle-enable-multibyte-characters no longer has a key binding and | ||
| 11193 | no longer appears in the menu bar. We've realized that changing the | ||
| 11194 | enable-multibyte-characters variable in an existing buffer is | ||
| 11195 | something that most users not do. | ||
| 11196 | |||
| 11197 | ** You can specify a coding system to use for the next cut or paste | ||
| 11198 | operations through the window system with the command C-x RET X. | ||
| 11199 | The coding system can make a difference for communication with other | ||
| 11200 | applications. | ||
| 11201 | |||
| 11202 | C-x RET x specifies a coding system for all subsequent cutting and | ||
| 11203 | pasting operations. | ||
| 11204 | |||
| 11205 | ** You can specify the printer to use for commands that do printing by | ||
| 11206 | setting the variable `printer-name'. Just what a printer name looks | ||
| 11207 | like depends on your operating system. You can specify a different | ||
| 11208 | printer for the Postscript printing commands by setting | ||
| 11209 | `ps-printer-name'. | ||
| 11210 | |||
| 11211 | ** Emacs now supports on-the-fly spell checking by the means of a | ||
| 11212 | minor mode. It is called M-x flyspell-mode. You don't have to remember | ||
| 11213 | any other special commands to use it, and you will hardly notice it | ||
| 11214 | except when you make a spelling error. Flyspell works by highlighting | ||
| 11215 | incorrect words as soon as they are completed or as soon as the cursor | ||
| 11216 | hits a new word. | ||
| 11217 | |||
| 11218 | Flyspell mode works with whichever dictionary you have selected for | ||
| 11219 | Ispell in Emacs. In TeX mode, it understands TeX syntax so as not | ||
| 11220 | to be confused by TeX commands. | ||
| 11221 | |||
| 11222 | You can correct a misspelled word by editing it into something | ||
| 11223 | correct. You can also correct it, or accept it as correct, by | ||
| 11224 | clicking on the word with Mouse-2; that gives you a pop-up menu | ||
| 11225 | of various alternative replacements and actions. | ||
| 11226 | |||
| 11227 | Flyspell mode also proposes "automatic" corrections. M-TAB replaces | ||
| 11228 | the current misspelled word with a possible correction. If several | ||
| 11229 | corrections are made possible, M-TAB cycles through them in | ||
| 11230 | alphabetical order, or in order of decreasing likelihood if | ||
| 11231 | flyspell-sort-corrections is nil. | ||
| 11232 | |||
| 11233 | Flyspell mode also flags an error when a word is repeated, if | ||
| 11234 | flyspell-mark-duplications-flag is non-nil. | ||
| 11235 | |||
| 11236 | ** Changes in input method usage. | ||
| 11237 | |||
| 11238 | Now you can use arrow keys (right, left, down, up) for selecting among | ||
| 11239 | the alternatives just the same way as you do by C-f, C-b, C-n, and C-p | ||
| 11240 | respectively. | ||
| 11241 | |||
| 11242 | You can use the ENTER key to accept the current conversion. | ||
| 11243 | |||
| 11244 | If you type TAB to display a list of alternatives, you can select one | ||
| 11245 | of the alternatives with Mouse-2. | ||
| 11246 | |||
| 11247 | The meaning of the variable `input-method-verbose-flag' is changed so | ||
| 11248 | that you can set it to t, nil, `default', or `complex-only'. | ||
| 11249 | |||
| 11250 | If the value is nil, extra guidance is never given. | ||
| 11251 | |||
| 11252 | If the value is t, extra guidance is always given. | ||
| 11253 | |||
| 11254 | If the value is `complex-only', extra guidance is always given only | ||
| 11255 | when you are using complex input methods such as chinese-py. | ||
| 11256 | |||
| 11257 | If the value is `default' (this is the default), extra guidance is | ||
| 11258 | given in the following case: | ||
| 11259 | o When you are using a complex input method. | ||
| 11260 | o When you are using a simple input method but not in the minibuffer. | ||
| 11261 | |||
| 11262 | If you are using Emacs through a very slow line, setting | ||
| 11263 | input-method-verbose-flag to nil or to complex-only is a good choice, | ||
| 11264 | and if you are using an input method you are not familiar with, | ||
| 11265 | setting it to t is helpful. | ||
| 11266 | |||
| 11267 | The old command select-input-method is now called set-input-method. | ||
| 11268 | |||
| 11269 | In the language environment "Korean", you can use the following | ||
| 11270 | keys: | ||
| 11271 | Shift-SPC toggle-korean-input-method | ||
| 11272 | C-F9 quail-hangul-switch-symbol-ksc | ||
| 11273 | F9 quail-hangul-switch-hanja | ||
| 11274 | These key bindings are canceled when you switch to another language | ||
| 11275 | environment. | ||
| 11276 | |||
| 11277 | ** The minibuffer history of file names now records the specified file | ||
| 11278 | names, not the entire minibuffer input. For example, if the | ||
| 11279 | minibuffer starts out with /usr/foo/, you might type in /etc/passwd to | ||
| 11280 | get | ||
| 11281 | |||
| 11282 | /usr/foo//etc/passwd | ||
| 11283 | |||
| 11284 | which stands for the file /etc/passwd. | ||
| 11285 | |||
| 11286 | Formerly, this used to put /usr/foo//etc/passwd in the history list. | ||
| 11287 | Now this puts just /etc/passwd in the history list. | ||
| 11288 | |||
| 11289 | ** If you are root, Emacs sets backup-by-copying-when-mismatch to t | ||
| 11290 | at startup, so that saving a file will be sure to preserve | ||
| 11291 | its owner and group. | ||
| 11292 | |||
| 11293 | ** find-func.el can now also find the place of definition of Emacs | ||
| 11294 | Lisp variables in user-loaded libraries. | ||
| 11295 | |||
| 11296 | ** C-x r t (string-rectangle) now deletes the existing rectangle | ||
| 11297 | contents before inserting the specified string on each line. | ||
| 11298 | |||
| 11299 | ** There is a new command delete-whitespace-rectangle | ||
| 11300 | which deletes whitespace starting from a particular column | ||
| 11301 | in all the lines on a rectangle. The column is specified | ||
| 11302 | by the left edge of the rectangle. | ||
| 11303 | |||
| 11304 | ** You can now store a number into a register with C-u NUMBER C-x r n REG, | ||
| 11305 | increment it by INC with C-u INC C-x r + REG (to increment by one, omit | ||
| 11306 | C-u INC), and insert it in the buffer with C-x r g REG. This is useful | ||
| 11307 | for writing keyboard macros. | ||
| 11308 | |||
| 11309 | ** The new command M-x speedbar displays a frame in which directories, | ||
| 11310 | files, and tags can be displayed, manipulated, and jumped to. The | ||
| 11311 | frame defaults to 20 characters in width, and is the same height as | ||
| 11312 | the frame that it was started from. Some major modes define | ||
| 11313 | additional commands for the speedbar, including Rmail, GUD/GDB, and | ||
| 11314 | info. | ||
| 11315 | |||
| 11316 | ** query-replace-regexp is now bound to C-M-%. | ||
| 11317 | |||
| 11318 | ** In Transient Mark mode, when the region is active, M-x | ||
| 11319 | query-replace and the other replace commands now operate on the region | ||
| 11320 | contents only. | ||
| 11321 | |||
| 11322 | ** M-x write-region, when used interactively, now asks for | ||
| 11323 | confirmation before overwriting an existing file. When you call | ||
| 11324 | the function from a Lisp program, a new optional argument CONFIRM | ||
| 11325 | says whether to ask for confirmation in this case. | ||
| 11326 | |||
| 11327 | ** If you use find-file-literally and the file is already visited | ||
| 11328 | non-literally, the command asks you whether to revisit the file | ||
| 11329 | literally. If you say no, it signals an error. | ||
| 11330 | |||
| 11331 | ** Major modes defined with the "derived mode" feature | ||
| 11332 | now use the proper name for the mode hook: WHATEVER-mode-hook. | ||
| 11333 | Formerly they used the name WHATEVER-mode-hooks, but that is | ||
| 11334 | inconsistent with Emacs conventions. | ||
| 11335 | |||
| 11336 | ** shell-command-on-region (and shell-command) reports success or | ||
| 11337 | failure if the command produces no output. | ||
| 11338 | |||
| 11339 | ** Set focus-follows-mouse to nil if your window system or window | ||
| 11340 | manager does not transfer focus to another window when you just move | ||
| 11341 | the mouse. | ||
| 11342 | |||
| 11343 | ** mouse-menu-buffer-maxlen has been renamed to | ||
| 11344 | mouse-buffer-menu-maxlen to be consistent with the other related | ||
| 11345 | function and variable names. | ||
| 11346 | |||
| 11347 | ** The new variable auto-coding-alist specifies coding systems for | ||
| 11348 | reading specific files. This has higher priority than | ||
| 11349 | file-coding-system-alist. | ||
| 11350 | |||
| 11351 | ** If you set the variable unibyte-display-via-language-environment to | ||
| 11352 | t, then Emacs displays non-ASCII characters are displayed by | ||
| 11353 | converting them to the equivalent multibyte characters according to | ||
| 11354 | the current language environment. As a result, they are displayed | ||
| 11355 | according to the current fontset. | ||
| 11356 | |||
| 11357 | ** C-q's handling of codes in the range 0200 through 0377 is changed. | ||
| 11358 | |||
| 11359 | The codes in the range 0200 through 0237 are inserted as one byte of | ||
| 11360 | that code regardless of the values of nonascii-translation-table and | ||
| 11361 | nonascii-insert-offset. | ||
| 11362 | |||
| 11363 | For the codes in the range 0240 through 0377, if | ||
| 11364 | enable-multibyte-characters is non-nil and nonascii-translation-table | ||
| 11365 | nor nonascii-insert-offset can't convert them to valid multibyte | ||
| 11366 | characters, they are converted to Latin-1 characters. | ||
| 11367 | |||
| 11368 | ** If you try to find a file that is not read-accessible, you now get | ||
| 11369 | an error, rather than an empty buffer and a warning. | ||
| 11370 | |||
| 11371 | ** In the minibuffer history commands M-r and M-s, an upper case | ||
| 11372 | letter in the regular expression forces case-sensitive search. | ||
| 11373 | |||
| 11374 | ** In the *Help* buffer, cross-references to commands and variables | ||
| 11375 | are inferred and hyperlinked. Use C-h m in Help mode for the relevant | ||
| 11376 | command keys. | ||
| 11377 | |||
| 11378 | ** M-x apropos-command, with a prefix argument, no longer looks for | ||
| 11379 | user option variables--instead it looks for noninteractive functions. | ||
| 11380 | |||
| 11381 | Meanwhile, the command apropos-variable normally searches for | ||
| 11382 | user option variables; with a prefix argument, it looks at | ||
| 11383 | all variables that have documentation. | ||
| 11384 | |||
| 11385 | ** When you type a long line in the minibuffer, and the minibuffer | ||
| 11386 | shows just one line, automatically scrolling works in a special way | ||
| 11387 | that shows you overlap with the previous line of text. The variable | ||
| 11388 | minibuffer-scroll-overlap controls how many characters of overlap | ||
| 11389 | it should show; the default is 20. | ||
| 11390 | |||
| 11391 | Meanwhile, Resize Minibuffer mode is still available; in that mode, | ||
| 11392 | the minibuffer grows taller (up to a point) as needed to show the whole | ||
| 11393 | of your input. | ||
| 11394 | |||
| 11395 | ** The new command M-x customize-changed-options lets you customize | ||
| 11396 | all the options whose meanings or default values have changed in | ||
| 11397 | recent Emacs versions. You specify a previous Emacs version number as | ||
| 11398 | argument, and the command creates a customization buffer showing all | ||
| 11399 | the customizable options which were changed since that version. | ||
| 11400 | Newly added options are included as well. | ||
| 11401 | |||
| 11402 | If you don't specify a particular version number argument, | ||
| 11403 | then the customization buffer shows all the customizable options | ||
| 11404 | for which Emacs versions of changes are recorded. | ||
| 11405 | |||
| 11406 | This function is also bound to the Changed Options entry in the | ||
| 11407 | Customize menu. | ||
| 11408 | |||
| 11409 | ** When you run M-x grep with a prefix argument, it figures out | ||
| 11410 | the tag around point and puts that into the default grep command. | ||
| 11411 | |||
| 11412 | ** The new command M-* (pop-tag-mark) pops back through a history of | ||
| 11413 | buffer positions from which M-. or other tag-finding commands were | ||
| 11414 | invoked. | ||
| 11415 | |||
| 11416 | ** The new variable comment-padding specifies the number of spaces | ||
| 11417 | that `comment-region' will insert before the actual text of the comment. | ||
| 11418 | The default is 1. | ||
| 11419 | |||
| 11420 | ** In Fortran mode the characters `.', `_' and `$' now have symbol | ||
| 11421 | syntax, not word syntax. Fortran mode now supports `imenu' and has | ||
| 11422 | new commands fortran-join-line (M-^) and fortran-narrow-to-subprogram | ||
| 11423 | (C-x n d). M-q can be used to fill a statement or comment block | ||
| 11424 | sensibly. | ||
| 11425 | |||
| 11426 | ** GUD now supports jdb, the Java debugger, and pdb, the Python debugger. | ||
| 11427 | |||
| 11428 | ** If you set the variable add-log-keep-changes-together to a non-nil | ||
| 11429 | value, the command `C-x 4 a' will automatically notice when you make | ||
| 11430 | two entries in one day for one file, and combine them. | ||
| 11431 | |||
| 11432 | ** You can use the command M-x diary-mail-entries to mail yourself a | ||
| 11433 | reminder about upcoming diary entries. See the documentation string | ||
| 11434 | for a sample shell script for calling this function automatically | ||
| 11435 | every night. | ||
| 11436 | |||
| 11437 | ** Desktop changes | ||
| 11438 | |||
| 11439 | *** All you need to do to enable use of the Desktop package, is to set | ||
| 11440 | the variable desktop-enable to t with Custom. | ||
| 11441 | |||
| 11442 | *** Minor modes are now restored. Which minor modes are restored | ||
| 11443 | and how modes are restored is controlled by `desktop-minor-mode-table'. | ||
| 11444 | |||
| 11445 | ** There is no need to do anything special, now, to enable Gnus to | ||
| 11446 | read and post multi-lingual articles. | ||
| 11447 | |||
| 11448 | ** Outline mode has now support for showing hidden outlines when | ||
| 11449 | doing an isearch. In order for this to happen search-invisible should | ||
| 11450 | be set to open (the default). If an isearch match is inside a hidden | ||
| 11451 | outline the outline is made visible. If you continue pressing C-s and | ||
| 11452 | the match moves outside the formerly invisible outline, the outline is | ||
| 11453 | made invisible again. | ||
| 11454 | |||
| 11455 | ** Mail reading and sending changes | ||
| 11456 | |||
| 11457 | *** The Rmail e command now switches to displaying the whole header of | ||
| 11458 | the message before it lets you edit the message. This is so that any | ||
| 11459 | changes you make in the header will not be lost if you subsequently | ||
| 11460 | toggle. | ||
| 11461 | |||
| 11462 | *** The w command in Rmail, which writes the message body into a file, | ||
| 11463 | now works in the summary buffer as well. (The command to delete the | ||
| 11464 | summary buffer is now Q.) The default file name for the w command, if | ||
| 11465 | the message has no subject, is stored in the variable | ||
| 11466 | rmail-default-body-file. | ||
| 11467 | |||
| 11468 | *** Most of the commands and modes that operate on mail and netnews no | ||
| 11469 | longer depend on the value of mail-header-separator. Instead, they | ||
| 11470 | handle whatever separator the buffer happens to use. | ||
| 11471 | |||
| 11472 | *** If you set mail-signature to a value which is not t, nil, or a string, | ||
| 11473 | it should be an expression. When you send a message, this expression | ||
| 11474 | is evaluated to insert the signature. | ||
| 11475 | |||
| 11476 | *** The new Lisp library feedmail.el (version 8) enhances processing of | ||
| 11477 | outbound email messages. It works in coordination with other email | ||
| 11478 | handling packages (e.g., rmail, VM, gnus) and is responsible for | ||
| 11479 | putting final touches on messages and actually submitting them for | ||
| 11480 | transmission. Users of the emacs program "fakemail" might be | ||
| 11481 | especially interested in trying feedmail. | ||
| 11482 | |||
| 11483 | feedmail is not enabled by default. See comments at the top of | ||
| 11484 | feedmail.el for set-up instructions. Among the bigger features | ||
| 11485 | provided by feedmail are: | ||
| 11486 | |||
| 11487 | **** you can park outgoing messages into a disk-based queue and | ||
| 11488 | stimulate sending some or all of them later (handy for laptop users); | ||
| 11489 | there is also a queue for draft messages | ||
| 11490 | |||
| 11491 | **** you can get one last look at the prepped outbound message and | ||
| 11492 | be prompted for confirmation | ||
| 11493 | |||
| 11494 | **** does smart filling of address headers | ||
| 11495 | |||
| 11496 | **** can generate a MESSAGE-ID: line and a DATE: line; the date can be | ||
| 11497 | the time the message was written or the time it is being sent; this | ||
| 11498 | can make FCC copies more closely resemble copies that recipients get | ||
| 11499 | |||
| 11500 | **** you can specify an arbitrary function for actually transmitting | ||
| 11501 | the message; included in feedmail are interfaces for /bin/[r]mail, | ||
| 11502 | /usr/lib/sendmail, and Emacs Lisp smtpmail; it's easy to write a new | ||
| 11503 | function for something else (10-20 lines of Lisp code). | ||
| 11504 | |||
| 11505 | ** Dired changes | ||
| 11506 | |||
| 11507 | *** The Dired function dired-do-toggle, which toggles marked and unmarked | ||
| 11508 | files, is now bound to "t" instead of "T". | ||
| 11509 | |||
| 11510 | *** dired-at-point has been added to ffap.el. It allows one to easily | ||
| 11511 | run Dired on the directory name at point. | ||
| 11512 | |||
| 11513 | *** Dired has a new command: %g. It searches the contents of | ||
| 11514 | files in the directory and marks each file that contains a match | ||
| 11515 | for a specified regexp. | ||
| 11516 | |||
| 11517 | ** VC Changes | ||
| 11518 | |||
| 11519 | *** New option vc-ignore-vc-files lets you turn off version control | ||
| 11520 | conveniently. | ||
| 11521 | |||
| 11522 | *** VC Dired has been completely rewritten. It is now much | ||
| 11523 | faster, especially for CVS, and works very similar to ordinary | ||
| 11524 | Dired. | ||
| 11525 | |||
| 11526 | VC Dired is invoked by typing C-x v d and entering the name of the | ||
| 11527 | directory to display. By default, VC Dired gives you a recursive | ||
| 11528 | listing of all files at or below the given directory which are | ||
| 11529 | currently locked (for CVS, all files not up-to-date are shown). | ||
| 11530 | |||
| 11531 | You can change the listing format by setting vc-dired-recurse to nil, | ||
| 11532 | then it shows only the given directory, and you may also set | ||
| 11533 | vc-dired-terse-display to nil, then it shows all files under version | ||
| 11534 | control plus the names of any subdirectories, so that you can type `i' | ||
| 11535 | on such lines to insert them manually, as in ordinary Dired. | ||
| 11536 | |||
| 11537 | All Dired commands operate normally in VC Dired, except for `v', which | ||
| 11538 | is redefined as the version control prefix. That means you may type | ||
| 11539 | `v l', `v =' etc. to invoke `vc-print-log', `vc-diff' and the like on | ||
| 11540 | the file named in the current Dired buffer line. `v v' invokes | ||
| 11541 | `vc-next-action' on this file, or on all files currently marked. | ||
| 11542 | |||
| 11543 | The new command `v t' (vc-dired-toggle-terse-mode) allows you to | ||
| 11544 | toggle between terse display (only locked files) and full display (all | ||
| 11545 | VC files plus subdirectories). There is also a special command, | ||
| 11546 | `* l', to mark all files currently locked. | ||
| 11547 | |||
| 11548 | Giving a prefix argument to C-x v d now does the same thing as in | ||
| 11549 | ordinary Dired: it allows you to supply additional options for the ls | ||
| 11550 | command in the minibuffer, to fine-tune VC Dired's output. | ||
| 11551 | |||
| 11552 | *** Under CVS, if you merge changes from the repository into a working | ||
| 11553 | file, and CVS detects conflicts, VC now offers to start an ediff | ||
| 11554 | session to resolve them. | ||
| 11555 | |||
| 11556 | Alternatively, you can use the new command `vc-resolve-conflicts' to | ||
| 11557 | resolve conflicts in a file at any time. It works in any buffer that | ||
| 11558 | contains conflict markers as generated by rcsmerge (which is what CVS | ||
| 11559 | uses as well). | ||
| 11560 | |||
| 11561 | *** You can now transfer changes between branches, using the new | ||
| 11562 | command vc-merge (C-x v m). It is implemented for RCS and CVS. When | ||
| 11563 | you invoke it in a buffer under version-control, you can specify | ||
| 11564 | either an entire branch or a pair of versions, and the changes on that | ||
| 11565 | branch or between the two versions are merged into the working file. | ||
| 11566 | If this results in any conflicts, they may be resolved interactively, | ||
| 11567 | using ediff. | ||
| 11568 | |||
| 11569 | ** Changes in Font Lock | ||
| 11570 | |||
| 11571 | *** The face and variable previously known as font-lock-reference-face | ||
| 11572 | are now called font-lock-constant-face to better reflect their typical | ||
| 11573 | use for highlighting constants and labels. (Its face properties are | ||
| 11574 | unchanged.) The variable font-lock-reference-face remains for now for | ||
| 11575 | compatibility reasons, but its value is font-lock-constant-face. | ||
| 11576 | |||
| 11577 | ** Frame name display changes | ||
| 11578 | |||
| 11579 | *** The command set-frame-name lets you set the name of the current | ||
| 11580 | frame. You can use the new command select-frame-by-name to select and | ||
| 11581 | raise a frame; this is mostly useful on character-only terminals, or | ||
| 11582 | when many frames are invisible or iconified. | ||
| 11583 | |||
| 11584 | *** On character-only terminal (not a window system), changing the | ||
| 11585 | frame name is now reflected on the mode line and in the Buffers/Frames | ||
| 11586 | menu. | ||
| 11587 | |||
| 11588 | ** Comint (subshell) changes | ||
| 11589 | |||
| 11590 | *** In Comint modes, the commands to kill, stop or interrupt a | ||
| 11591 | subjob now also kill pending input. This is for compatibility | ||
| 11592 | with ordinary shells, where the signal characters do this. | ||
| 11593 | |||
| 11594 | *** There are new commands in Comint mode. | ||
| 11595 | |||
| 11596 | C-c C-x fetches the "next" line from the input history; | ||
| 11597 | that is, the line after the last line you got. | ||
| 11598 | You can use this command to fetch successive lines, one by one. | ||
| 11599 | |||
| 11600 | C-c SPC accumulates lines of input. More precisely, it arranges to | ||
| 11601 | send the current line together with the following line, when you send | ||
| 11602 | the following line. | ||
| 11603 | |||
| 11604 | C-c C-a if repeated twice consecutively now moves to the process mark, | ||
| 11605 | which separates the pending input from the subprocess output and the | ||
| 11606 | previously sent input. | ||
| 11607 | |||
| 11608 | C-c M-r now runs comint-previous-matching-input-from-input; | ||
| 11609 | it searches for a previous command, using the current pending input | ||
| 11610 | as the search string. | ||
| 11611 | |||
| 11612 | *** New option compilation-scroll-output can be set to scroll | ||
| 11613 | automatically in compilation-mode windows. | ||
| 11614 | |||
| 11615 | ** C mode changes | ||
| 11616 | |||
| 11617 | *** Multiline macros are now handled, both as they affect indentation, | ||
| 11618 | and as recognized syntax. New syntactic symbol cpp-macro-cont is | ||
| 11619 | assigned to second and subsequent lines of a multiline macro | ||
| 11620 | definition. | ||
| 11621 | |||
| 11622 | *** A new style "user" which captures all non-hook-ified | ||
| 11623 | (i.e. top-level) .emacs file variable settings and customizations. | ||
| 11624 | Style "cc-mode" is an alias for "user" and is deprecated. "gnu" | ||
| 11625 | style is still the default however. | ||
| 11626 | |||
| 11627 | *** "java" style now conforms to Sun's JDK coding style. | ||
| 11628 | |||
| 11629 | *** There are new commands c-beginning-of-defun, c-end-of-defun which | ||
| 11630 | are alternatives which you could bind to C-M-a and C-M-e if you prefer | ||
| 11631 | them. They do not have key bindings by default. | ||
| 11632 | |||
| 11633 | *** New and improved implementations of M-a (c-beginning-of-statement) | ||
| 11634 | and M-e (c-end-of-statement). | ||
| 11635 | |||
| 11636 | *** C++ namespace blocks are supported, with new syntactic symbols | ||
| 11637 | namespace-open, namespace-close, and innamespace. | ||
| 11638 | |||
| 11639 | *** File local variable settings of c-file-style and c-file-offsets | ||
| 11640 | makes the style variables local to that buffer only. | ||
| 11641 | |||
| 11642 | *** New indentation functions c-lineup-close-paren, | ||
| 11643 | c-indent-one-line-block, c-lineup-dont-change. | ||
| 11644 | |||
| 11645 | *** Improvements (hopefully!) to the way CC Mode is loaded. You | ||
| 11646 | should now be able to do a (require 'cc-mode) to get the entire | ||
| 11647 | package loaded properly for customization in your .emacs file. A new | ||
| 11648 | variable c-initialize-on-load controls this and is t by default. | ||
| 11649 | |||
| 11650 | ** Changes to hippie-expand. | ||
| 11651 | |||
| 11652 | *** New customization variable `hippie-expand-dabbrev-skip-space'. If | ||
| 11653 | non-nil, trailing spaces may be included in the abbreviation to search for, | ||
| 11654 | which then gives the same behavior as the original `dabbrev-expand'. | ||
| 11655 | |||
| 11656 | *** New customization variable `hippie-expand-dabbrev-as-symbol'. If | ||
| 11657 | non-nil, characters of syntax '_' is considered part of the word when | ||
| 11658 | expanding dynamically. | ||
| 11659 | |||
| 11660 | *** New customization variable `hippie-expand-no-restriction'. If | ||
| 11661 | non-nil, narrowed buffers are widened before they are searched. | ||
| 11662 | |||
| 11663 | *** New customization variable `hippie-expand-only-buffers'. If | ||
| 11664 | non-empty, buffers searched are restricted to the types specified in | ||
| 11665 | this list. Useful for example when constructing new special-purpose | ||
| 11666 | expansion functions with `make-hippie-expand-function'. | ||
| 11667 | |||
| 11668 | *** Text properties of the expansion are no longer copied. | ||
| 11669 | |||
| 11670 | ** Changes in BibTeX mode. | ||
| 11671 | |||
| 11672 | *** Any titleword matching a regexp in the new variable | ||
| 11673 | bibtex-autokey-titleword-ignore (case sensitive) is ignored during | ||
| 11674 | automatic key generation. This replaces variable | ||
| 11675 | bibtex-autokey-titleword-first-ignore, which only checked for matches | ||
| 11676 | against the first word in the title. | ||
| 11677 | |||
| 11678 | *** Autokey generation now uses all words from the title, not just | ||
| 11679 | capitalized words. To avoid conflicts with existing customizations, | ||
| 11680 | bibtex-autokey-titleword-ignore is set up such that words starting with | ||
| 11681 | lowerkey characters will still be ignored. Thus, if you want to use | ||
| 11682 | lowercase words from the title, you will have to overwrite the | ||
| 11683 | bibtex-autokey-titleword-ignore standard setting. | ||
| 11684 | |||
| 11685 | *** Case conversion of names and title words for automatic key | ||
| 11686 | generation is more flexible. Variable bibtex-autokey-preserve-case is | ||
| 11687 | replaced by bibtex-autokey-titleword-case-convert and | ||
| 11688 | bibtex-autokey-name-case-convert. | ||
| 11689 | |||
| 11690 | ** Changes in vcursor.el. | ||
| 11691 | |||
| 11692 | *** Support for character terminals is available: there is a new keymap | ||
| 11693 | and the vcursor will appear as an arrow between buffer text. A | ||
| 11694 | variable `vcursor-interpret-input' allows input from the vcursor to be | ||
| 11695 | entered exactly as if typed. Numerous functions, including | ||
| 11696 | `vcursor-compare-windows', have been rewritten to improve consistency | ||
| 11697 | in the selection of windows and corresponding keymaps. | ||
| 11698 | |||
| 11699 | *** vcursor options can now be altered with M-x customize under the | ||
| 11700 | Editing group once the package is loaded. | ||
| 11701 | |||
| 11702 | *** Loading vcursor now does not define keys by default, as this is | ||
| 11703 | generally a bad side effect. Use M-x customize to set | ||
| 11704 | vcursor-key-bindings to t to restore the old behavior. | ||
| 11705 | |||
| 11706 | *** vcursor-auto-disable can be `copy', which turns off copying from the | ||
| 11707 | vcursor, but doesn't disable it, after any non-vcursor command. | ||
| 11708 | |||
| 11709 | ** Ispell changes. | ||
| 11710 | |||
| 11711 | *** You can now spell check comments and strings in the current | ||
| 11712 | buffer with M-x ispell-comments-and-strings. Comments and strings | ||
| 11713 | are identified by syntax tables in effect. | ||
| 11714 | |||
| 11715 | *** Generic region skipping implemented. | ||
| 11716 | A single buffer can be broken into a number of regions where text will | ||
| 11717 | and will not be checked. The definitions of the regions can be user | ||
| 11718 | defined. New applications and improvements made available by this | ||
| 11719 | include: | ||
| 11720 | |||
| 11721 | o URLs are automatically skipped | ||
| 11722 | o EMail message checking is vastly improved. | ||
| 11723 | |||
| 11724 | *** Ispell can highlight the erroneous word even on non-window terminals. | ||
| 11725 | |||
| 11726 | ** Changes to RefTeX mode | ||
| 11727 | |||
| 11728 | RefTeX has been updated in order to make it more usable with very | ||
| 11729 | large projects (like a several volume math book). The parser has been | ||
| 11730 | re-written from scratch. To get maximum speed from RefTeX, check the | ||
| 11731 | section `Optimizations' in the manual. | ||
| 11732 | |||
| 11733 | *** New recursive parser. | ||
| 11734 | |||
| 11735 | The old version of RefTeX created a single large buffer containing the | ||
| 11736 | entire multifile document in order to parse the document. The new | ||
| 11737 | recursive parser scans the individual files. | ||
| 11738 | |||
| 11739 | *** Parsing only part of a document. | ||
| 11740 | |||
| 11741 | Reparsing of changed document parts can now be made faster by enabling | ||
| 11742 | partial scans. To use this feature, read the documentation string of | ||
| 11743 | the variable `reftex-enable-partial-scans' and set the variable to t. | ||
| 11744 | |||
| 11745 | (setq reftex-enable-partial-scans t) | ||
| 11746 | |||
| 11747 | *** Storing parsing information in a file. | ||
| 11748 | |||
| 11749 | This can improve startup times considerably. To turn it on, use | ||
| 11750 | |||
| 11751 | (setq reftex-save-parse-info t) | ||
| 11752 | |||
| 11753 | *** Using multiple selection buffers | ||
| 11754 | |||
| 11755 | If the creation of label selection buffers is too slow (this happens | ||
| 11756 | for large documents), you can reuse these buffers by setting | ||
| 11757 | |||
| 11758 | (setq reftex-use-multiple-selection-buffers t) | ||
| 11759 | |||
| 11760 | *** References to external documents. | ||
| 11761 | |||
| 11762 | The LaTeX package `xr' allows to cross-reference labels in external | ||
| 11763 | documents. RefTeX can provide information about the external | ||
| 11764 | documents as well. To use this feature, set up the \externaldocument | ||
| 11765 | macros required by the `xr' package and rescan the document with | ||
| 11766 | RefTeX. The external labels can then be accessed with the `x' key in | ||
| 11767 | the selection buffer provided by `reftex-reference' (bound to `C-c )'). | ||
| 11768 | The `x' key also works in the table of contents buffer. | ||
| 11769 | |||
| 11770 | *** Many more labeled LaTeX environments are recognized by default. | ||
| 11771 | |||
| 11772 | The built-in command list now covers all the standard LaTeX commands, | ||
| 11773 | and all of the major packages included in the LaTeX distribution. | ||
| 11774 | |||
| 11775 | Also, RefTeX now understands the \appendix macro and changes | ||
| 11776 | the enumeration of sections in the *toc* buffer accordingly. | ||
| 11777 | |||
| 11778 | *** Mouse support for selection and *toc* buffers | ||
| 11779 | |||
| 11780 | The mouse can now be used to select items in the selection and *toc* | ||
| 11781 | buffers. See also the new option `reftex-highlight-selection'. | ||
| 11782 | |||
| 11783 | *** New keymaps for selection and table of contents modes. | ||
| 11784 | |||
| 11785 | The selection processes for labels and citation keys, and the table of | ||
| 11786 | contents buffer now have their own keymaps: `reftex-select-label-map', | ||
| 11787 | `reftex-select-bib-map', `reftex-toc-map'. The selection processes | ||
| 11788 | have a number of new keys predefined. In particular, TAB lets you | ||
| 11789 | enter a label with completion. Check the on-the-fly help (press `?' | ||
| 11790 | at the selection prompt) or read the Info documentation to find out | ||
| 11791 | more. | ||
| 11792 | |||
| 11793 | *** Support for the varioref package | ||
| 11794 | |||
| 11795 | The `v' key in the label selection buffer toggles \ref versus \vref. | ||
| 11796 | |||
| 11797 | *** New hooks | ||
| 11798 | |||
| 11799 | Three new hooks can be used to redefine the way labels, references, | ||
| 11800 | and citations are created. These hooks are | ||
| 11801 | `reftex-format-label-function', `reftex-format-ref-function', | ||
| 11802 | `reftex-format-cite-function'. | ||
| 11803 | |||
| 11804 | *** Citations outside LaTeX | ||
| 11805 | |||
| 11806 | The command `reftex-citation' may also be used outside LaTeX (e.g. in | ||
| 11807 | a mail buffer). See the Info documentation for details. | ||
| 11808 | |||
| 11809 | *** Short context is no longer fontified. | ||
| 11810 | |||
| 11811 | The short context in the label menu no longer copies the | ||
| 11812 | fontification from the text in the buffer. If you prefer it to be | ||
| 11813 | fontified, use | ||
| 11814 | |||
| 11815 | (setq reftex-refontify-context t) | ||
| 11816 | |||
| 11817 | ** file-cache-minibuffer-complete now accepts a prefix argument. | ||
| 11818 | With a prefix argument, it does not try to do completion of | ||
| 11819 | the file name within its directory; it only checks for other | ||
| 11820 | directories that contain the same file name. | ||
| 11821 | |||
| 11822 | Thus, given the file name Makefile, and assuming that a file | ||
| 11823 | Makefile.in exists in the same directory, ordinary | ||
| 11824 | file-cache-minibuffer-complete will try to complete Makefile to | ||
| 11825 | Makefile.in and will therefore never look for other directories that | ||
| 11826 | have Makefile. A prefix argument tells it not to look for longer | ||
| 11827 | names such as Makefile.in, so that instead it will look for other | ||
| 11828 | directories--just as if the name were already complete in its present | ||
| 11829 | directory. | ||
| 11830 | |||
| 11831 | ** New modes and packages | ||
| 11832 | |||
| 11833 | *** There is a new alternative major mode for Perl, Cperl mode. | ||
| 11834 | It has many more features than Perl mode, and some people prefer | ||
| 11835 | it, but some do not. | ||
| 11836 | |||
| 11837 | *** There is a new major mode, M-x vhdl-mode, for editing files of VHDL | ||
| 11838 | code. | ||
| 11839 | |||
| 11840 | *** M-x which-function-mode enables a minor mode that displays the | ||
| 11841 | current function name continuously in the mode line, as you move | ||
| 11842 | around in a buffer. | ||
| 11843 | |||
| 11844 | Which Function mode is effective in major modes which support Imenu. | ||
| 11845 | |||
| 11846 | *** Gametree is a major mode for editing game analysis trees. The author | ||
| 11847 | uses it for keeping notes about his postal Chess games, but it should | ||
| 11848 | be helpful for other two-player games as well, as long as they have an | ||
| 11849 | established system of notation similar to Chess. | ||
| 11850 | |||
| 11851 | *** The new minor mode checkdoc-minor-mode provides Emacs Lisp | ||
| 11852 | documentation string checking for style and spelling. The style | ||
| 11853 | guidelines are found in the Emacs Lisp programming manual. | ||
| 11854 | |||
| 11855 | *** The net-utils package makes some common networking features | ||
| 11856 | available in Emacs. Some of these functions are wrappers around | ||
| 11857 | system utilities (ping, nslookup, etc.); others are implementations of | ||
| 11858 | simple protocols (finger, whois) in Emacs Lisp. There are also | ||
| 11859 | functions to make simple connections to TCP/IP ports for debugging and | ||
| 11860 | the like. | ||
| 11861 | |||
| 11862 | *** highlight-changes-mode is a minor mode that uses colors to | ||
| 11863 | identify recently changed parts of the buffer text. | ||
| 11864 | |||
| 11865 | *** The new package `midnight' lets you specify things to be done | ||
| 11866 | within Emacs at midnight--by default, kill buffers that you have not | ||
| 11867 | used in a considerable time. To use this feature, customize | ||
| 11868 | the user option `midnight-mode' to t. | ||
| 11869 | |||
| 11870 | *** The file generic-x.el defines a number of simple major modes. | ||
| 11871 | |||
| 11872 | apache-generic-mode: For Apache and NCSA httpd configuration files | ||
| 11873 | samba-generic-mode: Samba configuration files | ||
| 11874 | fvwm-generic-mode: For fvwm initialization files | ||
| 11875 | x-resource-generic-mode: For X resource files | ||
| 11876 | hosts-generic-mode: For hosts files (.rhosts, /etc/hosts, etc.) | ||
| 11877 | mailagent-rules-generic-mode: For mailagent .rules files | ||
| 11878 | javascript-generic-mode: For JavaScript files | ||
| 11879 | vrml-generic-mode: For VRML files | ||
| 11880 | java-manifest-generic-mode: For Java MANIFEST files | ||
| 11881 | java-properties-generic-mode: For Java property files | ||
| 11882 | mailrc-generic-mode: For .mailrc files | ||
| 11883 | |||
| 11884 | Platform-specific modes: | ||
| 11885 | |||
| 11886 | prototype-generic-mode: For Solaris/Sys V prototype files | ||
| 11887 | pkginfo-generic-mode: For Solaris/Sys V pkginfo files | ||
| 11888 | alias-generic-mode: For C shell alias files | ||
| 11889 | inf-generic-mode: For MS-Windows INF files | ||
| 11890 | ini-generic-mode: For MS-Windows INI files | ||
| 11891 | reg-generic-mode: For MS-Windows Registry files | ||
| 11892 | bat-generic-mode: For MS-Windows BAT scripts | ||
| 11893 | rc-generic-mode: For MS-Windows Resource files | ||
| 11894 | rul-generic-mode: For InstallShield scripts | ||
| 11895 | |||
| 11896 | * Lisp changes in Emacs 20.3 since the Emacs Lisp Manual was published | ||
| 11897 | |||
| 11898 | ** If you want a Lisp file to be read in unibyte mode, | ||
| 11899 | use -*-unibyte: t;-*- on its first line. | ||
| 11900 | That will force Emacs to read that file in unibyte mode. | ||
| 11901 | Otherwise, the file will be loaded and byte-compiled in multibyte mode. | ||
| 11902 | |||
| 11903 | Thus, each lisp file is read in a consistent way regardless of whether | ||
| 11904 | you started Emacs with --unibyte, so that a Lisp program gives | ||
| 11905 | consistent results regardless of how Emacs was started. | ||
| 11906 | |||
| 11907 | ** The new function assoc-default is useful for searching an alist, | ||
| 11908 | and using a default value if the key is not found there. You can | ||
| 11909 | specify a comparison predicate, so this function is useful for | ||
| 11910 | searching comparing a string against an alist of regular expressions. | ||
| 11911 | |||
| 11912 | ** The functions unibyte-char-to-multibyte and | ||
| 11913 | multibyte-char-to-unibyte convert between unibyte and multibyte | ||
| 11914 | character codes, in a way that is appropriate for the current language | ||
| 11915 | environment. | ||
| 11916 | |||
| 11917 | ** The functions read-event, read-char and read-char-exclusive now | ||
| 11918 | take two optional arguments. PROMPT, if non-nil, specifies a prompt | ||
| 11919 | string. SUPPRESS-INPUT-METHOD, if non-nil, says to disable the | ||
| 11920 | current input method for reading this one event. | ||
| 11921 | |||
| 11922 | ** Two new variables print-escape-nonascii and print-escape-multibyte | ||
| 11923 | now control whether to output certain characters as | ||
| 11924 | backslash-sequences. print-escape-nonascii applies to single-byte | ||
| 11925 | non-ASCII characters; print-escape-multibyte applies to multibyte | ||
| 11926 | characters. Both of these variables are used only when printing | ||
| 11927 | in readable fashion (prin1 uses them, princ does not). | ||
| 11928 | |||
| 11929 | * Lisp changes in Emacs 20.3 before the Emacs Lisp Manual was published | ||
| 11930 | |||
| 11931 | ** Compiled Emacs Lisp files made with the modified "MBSK" version | ||
| 11932 | of Emacs 20.2 do not work in Emacs 20.3. | ||
| 11933 | |||
| 11934 | ** Buffer positions are now measured in characters, as they were | ||
| 11935 | in Emacs 19 and before. This means that (forward-char 1) | ||
| 11936 | always increases point by 1. | ||
| 11937 | |||
| 11938 | The function chars-in-region now just subtracts its arguments. It is | ||
| 11939 | considered obsolete. The function char-boundary-p has been deleted. | ||
| 11940 | |||
| 11941 | See below for additional changes relating to multibyte characters. | ||
| 11942 | |||
| 11943 | ** defcustom, defface and defgroup now accept the keyword `:version'. | ||
| 11944 | Use this to specify in which version of Emacs a certain variable's | ||
| 11945 | default value changed. For example, | ||
| 11946 | |||
| 11947 | (defcustom foo-max 34 "*Maximum number of foo's allowed." | ||
| 11948 | :type 'integer | ||
| 11949 | :group 'foo | ||
| 11950 | :version "20.3") | ||
| 11951 | |||
| 11952 | (defgroup foo-group nil "The foo group." | ||
| 11953 | :version "20.3") | ||
| 11954 | |||
| 11955 | If an entire new group is added or the variables in it have the | ||
| 11956 | default values changed, then just add a `:version' to that group. It | ||
| 11957 | is recommended that new packages added to the distribution contain a | ||
| 11958 | `:version' in the top level group. | ||
| 11959 | |||
| 11960 | This information is used to control the customize-changed-options command. | ||
| 11961 | |||
| 11962 | ** It is now an error to change the value of a symbol whose name | ||
| 11963 | starts with a colon--if it is interned in the standard obarray. | ||
| 11964 | |||
| 11965 | However, setting such a symbol to its proper value, which is that | ||
| 11966 | symbol itself, is not an error. This is for the sake of programs that | ||
| 11967 | support previous Emacs versions by explicitly setting these variables | ||
| 11968 | to themselves. | ||
| 11969 | |||
| 11970 | If you set the variable keyword-symbols-constant-flag to nil, | ||
| 11971 | this error is suppressed, and you can set these symbols to any | ||
| 11972 | values whatever. | ||
| 11973 | |||
| 11974 | ** There is a new debugger command, R. | ||
| 11975 | It evaluates an expression like e, but saves the result | ||
| 11976 | in the buffer *Debugger-record*. | ||
| 11977 | |||
| 11978 | ** Frame-local variables. | ||
| 11979 | |||
| 11980 | You can now make a variable local to various frames. To do this, call | ||
| 11981 | the function make-variable-frame-local; this enables frames to have | ||
| 11982 | local bindings for that variable. | ||
| 11983 | |||
| 11984 | These frame-local bindings are actually frame parameters: you create a | ||
| 11985 | frame-local binding in a specific frame by calling | ||
| 11986 | modify-frame-parameters and specifying the variable name as the | ||
| 11987 | parameter name. | ||
| 11988 | |||
| 11989 | Buffer-local bindings take precedence over frame-local bindings. | ||
| 11990 | Thus, if the current buffer has a buffer-local binding, that binding is | ||
| 11991 | active; otherwise, if the selected frame has a frame-local binding, | ||
| 11992 | that binding is active; otherwise, the default binding is active. | ||
| 11993 | |||
| 11994 | It would not be hard to implement window-local bindings, but it is not | ||
| 11995 | clear that this would be very useful; windows tend to come and go in a | ||
| 11996 | very transitory fashion, so that trying to produce any specific effect | ||
| 11997 | through a window-local binding would not be very robust. | ||
| 11998 | |||
| 11999 | ** `sregexq' and `sregex' are two new functions for constructing | ||
| 12000 | "symbolic regular expressions." These are Lisp expressions that, when | ||
| 12001 | evaluated, yield conventional string-based regexps. The symbolic form | ||
| 12002 | makes it easier to construct, read, and maintain complex patterns. | ||
| 12003 | See the documentation in sregex.el. | ||
| 12004 | |||
| 12005 | ** parse-partial-sexp's return value has an additional element which | ||
| 12006 | is used to pass information along if you pass it to another call to | ||
| 12007 | parse-partial-sexp, starting its scan where the first call ended. | ||
| 12008 | The contents of this field are not yet finalized. | ||
| 12009 | |||
| 12010 | ** eval-region now accepts a fourth optional argument READ-FUNCTION. | ||
| 12011 | If it is non-nil, that function is used instead of `read'. | ||
| 12012 | |||
| 12013 | ** unload-feature by default removes the feature's functions from | ||
| 12014 | known hooks to avoid trouble, but a package providing FEATURE can | ||
| 12015 | define a hook FEATURE-unload-hook to be run by unload-feature instead. | ||
| 12016 | |||
| 12017 | ** read-from-minibuffer no longer returns the argument DEFAULT-VALUE | ||
| 12018 | when the user enters empty input. It now returns the null string, as | ||
| 12019 | it did in Emacs 19. The default value is made available in the | ||
| 12020 | history via M-n, but it is not applied here as a default. | ||
| 12021 | |||
| 12022 | The other, more specialized minibuffer-reading functions continue to | ||
| 12023 | return the default value (not the null string) when the user enters | ||
| 12024 | empty input. | ||
| 12025 | |||
| 12026 | ** The new variable read-buffer-function controls which routine to use | ||
| 12027 | for selecting buffers. For example, if you set this variable to | ||
| 12028 | `iswitchb-read-buffer', iswitchb will be used to read buffer names. | ||
| 12029 | Other functions can also be used if they accept the same arguments as | ||
| 12030 | `read-buffer' and return the selected buffer name as a string. | ||
| 12031 | |||
| 12032 | ** The new function read-passwd reads a password from the terminal, | ||
| 12033 | echoing a period for each character typed. It takes three arguments: | ||
| 12034 | a prompt string, a flag which says "read it twice to make sure", and a | ||
| 12035 | default password to use if the user enters nothing. | ||
| 12036 | |||
| 12037 | ** The variable fill-nobreak-predicate gives major modes a way to | ||
| 12038 | specify not to break a line at certain places. Its value is a | ||
| 12039 | function which is called with no arguments, with point located at the | ||
| 12040 | place where a break is being considered. If the function returns | ||
| 12041 | non-nil, then the line won't be broken there. | ||
| 12042 | |||
| 12043 | ** window-end now takes an optional second argument, UPDATE. | ||
| 12044 | If this is non-nil, then the function always returns an accurate | ||
| 12045 | up-to-date value for the buffer position corresponding to the | ||
| 12046 | end of the window, even if this requires computation. | ||
| 12047 | |||
| 12048 | ** other-buffer now takes an optional argument FRAME | ||
| 12049 | which specifies which frame's buffer list to use. | ||
| 12050 | If it is nil, that means use the selected frame's buffer list. | ||
| 12051 | |||
| 12052 | ** The new variable buffer-display-time, always local in every buffer, | ||
| 12053 | holds the value of (current-time) as of the last time that a window | ||
| 12054 | was directed to display this buffer. | ||
| 12055 | |||
| 12056 | ** It is now meaningful to compare two window-configuration objects | ||
| 12057 | with `equal'. Two window-configuration objects are equal if they | ||
| 12058 | describe equivalent arrangements of windows, in the same frame--in | ||
| 12059 | other words, if they would give the same results if passed to | ||
| 12060 | set-window-configuration. | ||
| 12061 | |||
| 12062 | ** compare-window-configurations is a new function that compares two | ||
| 12063 | window configurations loosely. It ignores differences in saved buffer | ||
| 12064 | positions and scrolling, and considers only the structure and sizes of | ||
| 12065 | windows and the choice of buffers to display. | ||
| 12066 | |||
| 12067 | ** The variable minor-mode-overriding-map-alist allows major modes to | ||
| 12068 | override the key bindings of a minor mode. The elements of this alist | ||
| 12069 | look like the elements of minor-mode-map-alist: (VARIABLE . KEYMAP). | ||
| 12070 | |||
| 12071 | If the VARIABLE in an element of minor-mode-overriding-map-alist has a | ||
| 12072 | non-nil value, the paired KEYMAP is active, and totally overrides the | ||
| 12073 | map (if any) specified for the same variable in minor-mode-map-alist. | ||
| 12074 | |||
| 12075 | minor-mode-overriding-map-alist is automatically local in all buffers, | ||
| 12076 | and it is meant to be set by major modes. | ||
| 12077 | |||
| 12078 | ** The function match-string-no-properties is like match-string | ||
| 12079 | except that it discards all text properties from the result. | ||
| 12080 | |||
| 12081 | ** The function load-average now accepts an optional argument | ||
| 12082 | USE-FLOATS. If it is non-nil, the load average values are returned as | ||
| 12083 | floating point numbers, rather than as integers to be divided by 100. | ||
| 12084 | |||
| 12085 | ** The new variable temporary-file-directory specifies the directory | ||
| 12086 | to use for creating temporary files. The default value is determined | ||
| 12087 | in a reasonable way for your operating system; on GNU and Unix systems | ||
| 12088 | it is based on the TMP and TMPDIR environment variables. | ||
| 12089 | |||
| 12090 | ** Menu changes | ||
| 12091 | |||
| 12092 | *** easymenu.el now uses the new menu item format and supports the | ||
| 12093 | keywords :visible and :filter. The existing keyword :keys is now | ||
| 12094 | better supported. | ||
| 12095 | |||
| 12096 | The variable `easy-menu-precalculate-equivalent-keybindings' controls | ||
| 12097 | a new feature which calculates keyboard equivalents for the menu when | ||
| 12098 | you define the menu. The default is t. If you rarely use menus, you | ||
| 12099 | can set the variable to nil to disable this precalculation feature; | ||
| 12100 | then the calculation is done only if you use the menu bar. | ||
| 12101 | |||
| 12102 | *** A new format for menu items is supported. | ||
| 12103 | |||
| 12104 | In a keymap, a key binding that has the format | ||
| 12105 | (STRING . REAL-BINDING) or (STRING HELP-STRING . REAL-BINDING) | ||
| 12106 | defines a menu item. Now a menu item definition may also be a list that | ||
| 12107 | starts with the symbol `menu-item'. | ||
| 12108 | |||
| 12109 | The format is: | ||
| 12110 | (menu-item ITEM-NAME) or | ||
| 12111 | (menu-item ITEM-NAME REAL-BINDING . ITEM-PROPERTY-LIST) | ||
| 12112 | where ITEM-NAME is an expression which evaluates to the menu item | ||
| 12113 | string, and ITEM-PROPERTY-LIST has the form of a property list. | ||
| 12114 | The supported properties include | ||
| 12115 | |||
| 12116 | :enable FORM Evaluate FORM to determine whether the | ||
| 12117 | item is enabled. | ||
| 12118 | :visible FORM Evaluate FORM to determine whether the | ||
| 12119 | item should appear in the menu. | ||
| 12120 | :filter FILTER-FN | ||
| 12121 | FILTER-FN is a function of one argument, | ||
| 12122 | which will be REAL-BINDING. | ||
| 12123 | It should return a binding to use instead. | ||
| 12124 | :keys DESCRIPTION | ||
| 12125 | DESCRIPTION is a string that describes an equivalent keyboard | ||
| 12126 | binding for REAL-BINDING. DESCRIPTION is expanded with | ||
| 12127 | `substitute-command-keys' before it is used. | ||
| 12128 | :key-sequence KEY-SEQUENCE | ||
| 12129 | KEY-SEQUENCE is a key-sequence for an equivalent | ||
| 12130 | keyboard binding. | ||
| 12131 | :key-sequence nil | ||
| 12132 | This means that the command normally has no | ||
| 12133 | keyboard equivalent. | ||
| 12134 | :help HELP HELP is the extra help string (not currently used). | ||
| 12135 | :button (TYPE . SELECTED) | ||
| 12136 | TYPE is :toggle or :radio. | ||
| 12137 | SELECTED is a form, to be evaluated, and its | ||
| 12138 | value says whether this button is currently selected. | ||
| 12139 | |||
| 12140 | Buttons are at the moment only simulated by prefixes in the menu. | ||
| 12141 | Eventually ordinary X-buttons may be supported. | ||
| 12142 | |||
| 12143 | (menu-item ITEM-NAME) defines unselectable item. | ||
| 12144 | |||
| 12145 | ** New event types | ||
| 12146 | |||
| 12147 | *** The new event type `mouse-wheel' is generated by a wheel on a | ||
| 12148 | mouse (such as the MS Intellimouse). The event contains a delta that | ||
| 12149 | corresponds to the amount and direction that the wheel is rotated, | ||
| 12150 | which is typically used to implement a scroll or zoom. The format is: | ||
| 12151 | |||
| 12152 | (mouse-wheel POSITION DELTA) | ||
| 12153 | |||
| 12154 | where POSITION is a list describing the position of the event in the | ||
| 12155 | same format as a mouse-click event, and DELTA is a signed number | ||
| 12156 | indicating the number of increments by which the wheel was rotated. A | ||
| 12157 | negative DELTA indicates that the wheel was rotated backwards, towards | ||
| 12158 | the user, and a positive DELTA indicates that the wheel was rotated | ||
| 12159 | forward, away from the user. | ||
| 12160 | |||
| 12161 | As of now, this event type is generated only on MS Windows. | ||
| 12162 | |||
| 12163 | *** The new event type `drag-n-drop' is generated when a group of | ||
| 12164 | files is selected in an application outside of Emacs, and then dragged | ||
| 12165 | and dropped onto an Emacs frame. The event contains a list of | ||
| 12166 | filenames that were dragged and dropped, which are then typically | ||
| 12167 | loaded into Emacs. The format is: | ||
| 12168 | |||
| 12169 | (drag-n-drop POSITION FILES) | ||
| 12170 | |||
| 12171 | where POSITION is a list describing the position of the event in the | ||
| 12172 | same format as a mouse-click event, and FILES is the list of filenames | ||
| 12173 | that were dragged and dropped. | ||
| 12174 | |||
| 12175 | As of now, this event type is generated only on MS Windows. | ||
| 12176 | |||
| 12177 | ** Changes relating to multibyte characters. | ||
| 12178 | |||
| 12179 | *** The variable enable-multibyte-characters is now read-only; | ||
| 12180 | any attempt to set it directly signals an error. The only way | ||
| 12181 | to change this value in an existing buffer is with set-buffer-multibyte. | ||
| 12182 | |||
| 12183 | *** In a string constant, `\ ' now stands for "nothing at all". You | ||
| 12184 | can use it to terminate a hex escape which is followed by a character | ||
| 12185 | that could otherwise be read as part of the hex escape. | ||
| 12186 | |||
| 12187 | *** String indices are now measured in characters, as they were | ||
| 12188 | in Emacs 19 and before. | ||
| 12189 | |||
| 12190 | The function chars-in-string has been deleted. | ||
| 12191 | The function concat-chars has been renamed to `string'. | ||
| 12192 | |||
| 12193 | *** The function set-buffer-multibyte sets the flag in the current | ||
| 12194 | buffer that says whether the buffer uses multibyte representation or | ||
| 12195 | unibyte representation. If the argument is nil, it selects unibyte | ||
| 12196 | representation. Otherwise it selects multibyte representation. | ||
| 12197 | |||
| 12198 | This function does not change the contents of the buffer, viewed | ||
| 12199 | as a sequence of bytes. However, it does change the contents | ||
| 12200 | viewed as characters; a sequence of two bytes which is treated as | ||
| 12201 | one character when the buffer uses multibyte representation | ||
| 12202 | will count as two characters using unibyte representation. | ||
| 12203 | |||
| 12204 | This function sets enable-multibyte-characters to record which | ||
| 12205 | representation is in use. It also adjusts various data in the buffer | ||
| 12206 | (including its markers, overlays and text properties) so that they are | ||
| 12207 | consistent with the new representation. | ||
| 12208 | |||
| 12209 | *** string-make-multibyte takes a string and converts it to multibyte | ||
| 12210 | representation. Most of the time, you don't need to care | ||
| 12211 | about the representation, because Emacs converts when necessary; | ||
| 12212 | however, it makes a difference when you compare strings. | ||
| 12213 | |||
| 12214 | The conversion of non-ASCII characters works by adding the value of | ||
| 12215 | nonascii-insert-offset to each character, or by translating them | ||
| 12216 | using the table nonascii-translation-table. | ||
| 12217 | |||
| 12218 | *** string-make-unibyte takes a string and converts it to unibyte | ||
| 12219 | representation. Most of the time, you don't need to care about the | ||
| 12220 | representation, but it makes a difference when you compare strings. | ||
| 12221 | |||
| 12222 | The conversion from multibyte to unibyte representation | ||
| 12223 | loses information; the only time Emacs performs it automatically | ||
| 12224 | is when inserting a multibyte string into a unibyte buffer. | ||
| 12225 | |||
| 12226 | *** string-as-multibyte takes a string, and returns another string | ||
| 12227 | which contains the same bytes, but treats them as multibyte. | ||
| 12228 | |||
| 12229 | *** string-as-unibyte takes a string, and returns another string | ||
| 12230 | which contains the same bytes, but treats them as unibyte. | ||
| 12231 | |||
| 12232 | *** The new function compare-strings lets you compare | ||
| 12233 | portions of two strings. Unibyte strings are converted to multibyte, | ||
| 12234 | so that a unibyte string can match a multibyte string. | ||
| 12235 | You can specify whether to ignore case or not. | ||
| 12236 | |||
| 12237 | *** assoc-ignore-case now uses compare-strings so that | ||
| 12238 | it can treat unibyte and multibyte strings as equal. | ||
| 12239 | |||
| 12240 | *** Regular expression operations and buffer string searches now | ||
| 12241 | convert the search pattern to multibyte or unibyte to accord with the | ||
| 12242 | buffer or string being searched. | ||
| 12243 | |||
| 12244 | One consequence is that you cannot always use \200-\377 inside of | ||
| 12245 | [...] to match all non-ASCII characters. This does still work when | ||
| 12246 | searching or matching a unibyte buffer or string, but not when | ||
| 12247 | searching or matching a multibyte string. Unfortunately, there is no | ||
| 12248 | obvious choice of syntax to use within [...] for that job. But, what | ||
| 12249 | you want is just to match all non-ASCII characters, the regular | ||
| 12250 | expression [^\0-\177] works for it. | ||
| 12251 | |||
| 12252 | *** Structure of coding system changed. | ||
| 12253 | |||
| 12254 | All coding systems (including aliases and subsidiaries) are named | ||
| 12255 | by symbols; the symbol's `coding-system' property is a vector | ||
| 12256 | which defines the coding system. Aliases share the same vector | ||
| 12257 | as the principal name, so that altering the contents of this | ||
| 12258 | vector affects the principal name and its aliases. You can define | ||
| 12259 | your own alias name of a coding system by the function | ||
| 12260 | define-coding-system-alias. | ||
| 12261 | |||
| 12262 | The coding system definition includes a property list of its own. Use | ||
| 12263 | the new functions `coding-system-get' and `coding-system-put' to | ||
| 12264 | access such coding system properties as post-read-conversion, | ||
| 12265 | pre-write-conversion, character-translation-table-for-decode, | ||
| 12266 | character-translation-table-for-encode, mime-charset, and | ||
| 12267 | safe-charsets. For instance, (coding-system-get 'iso-latin-1 | ||
| 12268 | 'mime-charset) gives the corresponding MIME-charset parameter | ||
| 12269 | `iso-8859-1'. | ||
| 12270 | |||
| 12271 | Among the coding system properties listed above, safe-charsets is new. | ||
| 12272 | The value of this property is a list of character sets which this | ||
| 12273 | coding system can correctly encode and decode. For instance: | ||
| 12274 | (coding-system-get 'iso-latin-1 'safe-charsets) => (ascii latin-iso8859-1) | ||
| 12275 | |||
| 12276 | Here, "correctly encode" means that the encoded character sets can | ||
| 12277 | also be handled safely by systems other than Emacs as far as they | ||
| 12278 | are capable of that coding system. Though, Emacs itself can encode | ||
| 12279 | the other character sets and read it back correctly. | ||
| 12280 | |||
| 12281 | *** The new function select-safe-coding-system can be used to find a | ||
| 12282 | proper coding system for encoding the specified region or string. | ||
| 12283 | This function requires a user interaction. | ||
| 12284 | |||
| 12285 | *** The new functions find-coding-systems-region and | ||
| 12286 | find-coding-systems-string are helper functions used by | ||
| 12287 | select-safe-coding-system. They return a list of all proper coding | ||
| 12288 | systems to encode a text in some region or string. If you don't want | ||
| 12289 | a user interaction, use one of these functions instead of | ||
| 12290 | select-safe-coding-system. | ||
| 12291 | |||
| 12292 | *** The explicit encoding and decoding functions, such as | ||
| 12293 | decode-coding-region and encode-coding-string, now set | ||
| 12294 | last-coding-system-used to reflect the actual way encoding or decoding | ||
| 12295 | was done. | ||
| 12296 | |||
| 12297 | *** The new function detect-coding-with-language-environment can be | ||
| 12298 | used to detect a coding system of text according to priorities of | ||
| 12299 | coding systems used by some specific language environment. | ||
| 12300 | |||
| 12301 | *** The functions detect-coding-region and detect-coding-string always | ||
| 12302 | return a list if the arg HIGHEST is nil. Thus, if only ASCII | ||
| 12303 | characters are found, they now return a list of single element | ||
| 12304 | `undecided' or its subsidiaries. | ||
| 12305 | |||
| 12306 | *** The new functions coding-system-change-eol-conversion and | ||
| 12307 | coding-system-change-text-conversion can be used to get a different | ||
| 12308 | coding system than what specified only in how end-of-line or text is | ||
| 12309 | converted. | ||
| 12310 | |||
| 12311 | *** The new function set-selection-coding-system can be used to set a | ||
| 12312 | coding system for communicating with other X clients. | ||
| 12313 | |||
| 12314 | *** The function `map-char-table' now passes as argument only valid | ||
| 12315 | character codes, plus generic characters that stand for entire | ||
| 12316 | character sets or entire subrows of a character set. In other words, | ||
| 12317 | each time `map-char-table' calls its FUNCTION argument, the key value | ||
| 12318 | either will be a valid individual character code, or will stand for a | ||
| 12319 | range of characters. | ||
| 12320 | |||
| 12321 | *** The new function `char-valid-p' can be used for checking whether a | ||
| 12322 | Lisp object is a valid character code or not. | ||
| 12323 | |||
| 12324 | *** The new function `charset-after' returns a charset of a character | ||
| 12325 | in the current buffer at position POS. | ||
| 12326 | |||
| 12327 | *** Input methods are now implemented using the variable | ||
| 12328 | input-method-function. If this is non-nil, its value should be a | ||
| 12329 | function; then, whenever Emacs reads an input event that is a printing | ||
| 12330 | character with no modifier bits, it calls that function, passing the | ||
| 12331 | event as an argument. Often this function will read more input, first | ||
| 12332 | binding input-method-function to nil. | ||
| 12333 | |||
| 12334 | The return value should be a list of the events resulting from input | ||
| 12335 | method processing. These events will be processed sequentially as | ||
| 12336 | input, before resorting to unread-command-events. Events returned by | ||
| 12337 | the input method function are not passed to the input method function, | ||
| 12338 | not even if they are printing characters with no modifier bits. | ||
| 12339 | |||
| 12340 | The input method function is not called when reading the second and | ||
| 12341 | subsequent events of a key sequence. | ||
| 12342 | |||
| 12343 | *** You can customize any language environment by using | ||
| 12344 | set-language-environment-hook and exit-language-environment-hook. | ||
| 12345 | |||
| 12346 | The hook `exit-language-environment-hook' should be used to undo | ||
| 12347 | customizations that you made with set-language-environment-hook. For | ||
| 12348 | instance, if you set up a special key binding for a specific language | ||
| 12349 | environment by set-language-environment-hook, you should set up | ||
| 12350 | exit-language-environment-hook to restore the normal key binding. | ||
| 12351 | |||
| 12352 | * Changes in Emacs 20.1 | ||
| 12353 | |||
| 12354 | ** Emacs has a new facility for customization of its many user | ||
| 12355 | options. It is called M-x customize. With this facility you can look | ||
| 12356 | at the many user options in an organized way; they are grouped into a | ||
| 12357 | tree structure. | ||
| 12358 | |||
| 12359 | M-x customize also knows what sorts of values are legitimate for each | ||
| 12360 | user option and ensures that you don't use invalid values. | ||
| 12361 | |||
| 12362 | With M-x customize, you can set options either for the present Emacs | ||
| 12363 | session or permanently. (Permanent settings are stored automatically | ||
| 12364 | in your .emacs file.) | ||
| 12365 | |||
| 12366 | ** Scroll bars are now on the left side of the window. | ||
| 12367 | You can change this with M-x customize-option scroll-bar-mode. | ||
| 12368 | |||
| 12369 | ** The mode line no longer includes the string `Emacs'. | ||
| 12370 | This makes more space in the mode line for other information. | ||
| 12371 | |||
| 12372 | ** When you select a region with the mouse, it is highlighted | ||
| 12373 | immediately afterward. At that time, if you type the DELETE key, it | ||
| 12374 | kills the region. | ||
| 12375 | |||
| 12376 | The BACKSPACE key, and the ASCII character DEL, do not do this; they | ||
| 12377 | delete the character before point, as usual. | ||
| 12378 | |||
| 12379 | ** In an incremental search the whole current match is highlighted | ||
| 12380 | on terminals which support this. (You can disable this feature | ||
| 12381 | by setting search-highlight to nil.) | ||
| 12382 | |||
| 12383 | ** In the minibuffer, in some cases, you can now use M-n to | ||
| 12384 | insert the default value into the minibuffer as text. In effect, | ||
| 12385 | the default value (if the minibuffer routines know it) is tacked | ||
| 12386 | onto the history "in the future". (The more normal use of the | ||
| 12387 | history list is to use M-p to insert minibuffer input used in the | ||
| 12388 | past.) | ||
| 12389 | |||
| 12390 | ** In Text mode, now only blank lines separate paragraphs. | ||
| 12391 | This makes it possible to get the full benefit of Adaptive Fill mode | ||
| 12392 | in Text mode, and other modes derived from it (such as Mail mode). | ||
| 12393 | TAB in Text mode now runs the command indent-relative; this | ||
| 12394 | makes a practical difference only when you use indented paragraphs. | ||
| 12395 | |||
| 12396 | As a result, the old Indented Text mode is now identical to Text mode, | ||
| 12397 | and is an alias for it. | ||
| 12398 | |||
| 12399 | If you want spaces at the beginning of a line to start a paragraph, | ||
| 12400 | use the new mode, Paragraph Indent Text mode. | ||
| 12401 | |||
| 12402 | ** Scrolling changes | ||
| 12403 | |||
| 12404 | *** Scroll commands to scroll a whole screen now preserve the screen | ||
| 12405 | position of the cursor, if scroll-preserve-screen-position is non-nil. | ||
| 12406 | |||
| 12407 | In this mode, if you scroll several screens back and forth, finishing | ||
| 12408 | on the same screen where you started, the cursor goes back to the line | ||
| 12409 | where it started. | ||
| 12410 | |||
| 12411 | *** If you set scroll-conservatively to a small number, then when you | ||
| 12412 | move point a short distance off the screen, Emacs will scroll the | ||
| 12413 | screen just far enough to bring point back on screen, provided that | ||
| 12414 | does not exceed `scroll-conservatively' lines. | ||
| 12415 | |||
| 12416 | *** The new variable scroll-margin says how close point can come to the | ||
| 12417 | top or bottom of a window. It is a number of screen lines; if point | ||
| 12418 | comes within that many lines of the top or bottom of the window, Emacs | ||
| 12419 | recenters the window. | ||
| 12420 | |||
| 12421 | ** International character set support (MULE) | ||
| 12422 | |||
| 12423 | Emacs now supports a wide variety of international character sets, | ||
| 12424 | including European variants of the Latin alphabet, as well as Chinese, | ||
| 12425 | Devanagari (Hindi and Marathi), Ethiopian, Greek, IPA, Japanese, | ||
| 12426 | Korean, Lao, Russian, Thai, Tibetan, and Vietnamese scripts. These | ||
| 12427 | features have been merged from the modified version of Emacs known as | ||
| 12428 | MULE (for "MULti-lingual Enhancement to GNU Emacs") | ||
| 12429 | |||
| 12430 | Users of these scripts have established many more-or-less standard | ||
| 12431 | coding systems for storing files. Emacs uses a single multibyte | ||
| 12432 | character encoding within Emacs buffers; it can translate from a wide | ||
| 12433 | variety of coding systems when reading a file and can translate back | ||
| 12434 | into any of these coding systems when saving a file. | ||
| 12435 | |||
| 12436 | Keyboards, even in the countries where these character sets are used, | ||
| 12437 | generally don't have keys for all the characters in them. So Emacs | ||
| 12438 | supports various "input methods", typically one for each script or | ||
| 12439 | language, to make it possible to type them. | ||
| 12440 | |||
| 12441 | The Emacs internal multibyte encoding represents a non-ASCII | ||
| 12442 | character as a sequence of bytes in the range 0200 through 0377. | ||
| 12443 | |||
| 12444 | The new prefix key C-x RET is used for commands that pertain | ||
| 12445 | to multibyte characters, coding systems, and input methods. | ||
| 12446 | |||
| 12447 | You can disable multibyte character support as follows: | ||
| 12448 | |||
| 12449 | (setq-default enable-multibyte-characters nil) | ||
| 12450 | |||
| 12451 | Calling the function standard-display-european turns off multibyte | ||
| 12452 | characters, unless you specify a non-nil value for the second | ||
| 12453 | argument, AUTO. This provides compatibility for people who are | ||
| 12454 | already using standard-display-european to continue using unibyte | ||
| 12455 | characters for their work until they want to change. | ||
| 12456 | |||
| 12457 | *** Input methods | ||
| 12458 | |||
| 12459 | An input method is a kind of character conversion which is designed | ||
| 12460 | specifically for interactive input. In Emacs, typically each language | ||
| 12461 | has its own input method (though sometimes several languages which use | ||
| 12462 | the same characters can share one input method). Some languages | ||
| 12463 | support several input methods. | ||
| 12464 | |||
| 12465 | The simplest kind of input method works by mapping ASCII letters into | ||
| 12466 | another alphabet. This is how the Greek and Russian input methods | ||
| 12467 | work. | ||
| 12468 | |||
| 12469 | A more powerful technique is composition: converting sequences of | ||
| 12470 | characters into one letter. Many European input methods use | ||
| 12471 | composition to produce a single non-ASCII letter from a sequence which | ||
| 12472 | consists of a letter followed by diacritics. For example, a' is one | ||
| 12473 | sequence of two characters that might be converted into a single | ||
| 12474 | letter. | ||
| 12475 | |||
| 12476 | The input methods for syllabic scripts typically use mapping followed | ||
| 12477 | by conversion. The input methods for Thai and Korean work this way. | ||
| 12478 | First, letters are mapped into symbols for particular sounds or tone | ||
| 12479 | marks; then, sequences of these which make up a whole syllable are | ||
| 12480 | mapped into one syllable sign--most often a "composite character". | ||
| 12481 | |||
| 12482 | None of these methods works very well for Chinese and Japanese, so | ||
| 12483 | they are handled specially. First you input a whole word using | ||
| 12484 | phonetic spelling; then, after the word is in the buffer, Emacs | ||
| 12485 | converts it into one or more characters using a large dictionary. | ||
| 12486 | |||
| 12487 | Since there is more than one way to represent a phonetically spelled | ||
| 12488 | word using Chinese characters, Emacs can only guess which one to use; | ||
| 12489 | typically these input methods give you a way to say "guess again" if | ||
| 12490 | the first guess is wrong. | ||
| 12491 | |||
| 12492 | *** The command C-x RET m (toggle-enable-multibyte-characters) | ||
| 12493 | turns multibyte character support on or off for the current buffer. | ||
| 12494 | |||
| 12495 | If multibyte character support is turned off in a buffer, then each | ||
| 12496 | byte is a single character, even codes 0200 through 0377--exactly as | ||
| 12497 | they did in Emacs 19.34. This includes the features for support for | ||
| 12498 | the European characters, ISO Latin-1 and ISO Latin-2. | ||
| 12499 | |||
| 12500 | However, there is no need to turn off multibyte character support to | ||
| 12501 | use ISO Latin-1 or ISO Latin-2; the Emacs multibyte character set | ||
| 12502 | includes all the characters in these character sets, and Emacs can | ||
| 12503 | translate automatically to and from either one. | ||
| 12504 | |||
| 12505 | *** Visiting a file in unibyte mode. | ||
| 12506 | |||
| 12507 | Turning off multibyte character support in the buffer after visiting a | ||
| 12508 | file with multibyte code conversion will display the multibyte | ||
| 12509 | sequences already in the buffer, byte by byte. This is probably not | ||
| 12510 | what you want. | ||
| 12511 | |||
| 12512 | If you want to edit a file of unibyte characters (Latin-1, for | ||
| 12513 | example), you can do it by specifying `no-conversion' as the coding | ||
| 12514 | system when reading the file. This coding system also turns off | ||
| 12515 | multibyte characters in that buffer. | ||
| 12516 | |||
| 12517 | If you turn off multibyte character support entirely, this turns off | ||
| 12518 | character conversion as well. | ||
| 12519 | |||
| 12520 | *** Displaying international characters on X Windows. | ||
| 12521 | |||
| 12522 | A font for X typically displays just one alphabet or script. | ||
| 12523 | Therefore, displaying the entire range of characters Emacs supports | ||
| 12524 | requires using many fonts. | ||
| 12525 | |||
| 12526 | Therefore, Emacs now supports "fontsets". Each fontset is a | ||
| 12527 | collection of fonts, each assigned to a range of character codes. | ||
| 12528 | |||
| 12529 | A fontset has a name, like a font. Individual fonts are defined by | ||
| 12530 | the X server; fontsets are defined within Emacs itself. But once you | ||
| 12531 | have defined a fontset, you can use it in a face or a frame just as | ||
| 12532 | you would use a font. | ||
| 12533 | |||
| 12534 | If a fontset specifies no font for a certain character, or if it | ||
| 12535 | specifies a font that does not exist on your system, then it cannot | ||
| 12536 | display that character. It will display an empty box instead. | ||
| 12537 | |||
| 12538 | The fontset height and width are determined by the ASCII characters | ||
| 12539 | (that is, by the font in the fontset which is used for ASCII | ||
| 12540 | characters). | ||
| 12541 | |||
| 12542 | *** Defining fontsets. | ||
| 12543 | |||
| 12544 | Emacs does not use any fontset by default. Its default font is still | ||
| 12545 | chosen as in previous versions. You can tell Emacs to use a fontset | ||
| 12546 | with the `-fn' option or the `Font' X resource. | ||
| 12547 | |||
| 12548 | Emacs creates a standard fontset automatically according to the value | ||
| 12549 | of standard-fontset-spec. This fontset's short name is | ||
| 12550 | `fontset-standard'. Bold, italic, and bold-italic variants of the | ||
| 12551 | standard fontset are created automatically. | ||
| 12552 | |||
| 12553 | If you specify a default ASCII font with the `Font' resource or `-fn' | ||
| 12554 | argument, a fontset is generated from it. This works by replacing the | ||
| 12555 | FOUNDARY, FAMILY, ADD_STYLE, and AVERAGE_WIDTH fields of the font name | ||
| 12556 | with `*' then using this to specify a fontset. This fontset's short | ||
| 12557 | name is `fontset-startup'. | ||
| 12558 | |||
| 12559 | Emacs checks resources of the form Fontset-N where N is 0, 1, 2... | ||
| 12560 | The resource value should have this form: | ||
| 12561 | FONTSET-NAME, [CHARSET-NAME:FONT-NAME]... | ||
| 12562 | FONTSET-NAME should have the form of a standard X font name, except: | ||
| 12563 | * most fields should be just the wild card "*". | ||
| 12564 | * the CHARSET_REGISTRY field should be "fontset" | ||
| 12565 | * the CHARSET_ENCODING field can be any nickname of the fontset. | ||
| 12566 | The construct CHARSET-NAME:FONT-NAME can be repeated any number | ||
| 12567 | of times; each time specifies the font for one character set. | ||
| 12568 | CHARSET-NAME should be the name of a character set, and FONT-NAME | ||
| 12569 | should specify an actual font to use for that character set. | ||
| 12570 | |||
| 12571 | Each of these fontsets has an alias which is made from the | ||
| 12572 | last two font name fields, CHARSET_REGISTRY and CHARSET_ENCODING. | ||
| 12573 | You can refer to the fontset by that alias or by its full name. | ||
| 12574 | |||
| 12575 | For any character sets that you don't mention, Emacs tries to choose a | ||
| 12576 | font by substituting into FONTSET-NAME. For instance, with the | ||
| 12577 | following resource, | ||
| 12578 | Emacs*Fontset-0: -*-fixed-medium-r-normal-*-24-*-*-*-*-*-fontset-24 | ||
| 12579 | the font for ASCII is generated as below: | ||
| 12580 | -*-fixed-medium-r-normal-*-24-*-ISO8859-1 | ||
| 12581 | Here is the substitution rule: | ||
| 12582 | Change CHARSET_REGISTRY and CHARSET_ENCODING to that of the charset | ||
| 12583 | defined in the variable x-charset-registries. For instance, ASCII has | ||
| 12584 | the entry (ascii . "ISO8859-1") in this variable. Then, reduce | ||
| 12585 | sequences of wild cards -*-...-*- with a single wildcard -*-. | ||
| 12586 | (This is to prevent use of auto-scaled fonts.) | ||
| 12587 | |||
| 12588 | The function which processes the fontset resource value to create the | ||
| 12589 | fontset is called create-fontset-from-fontset-spec. You can also call | ||
| 12590 | that function explicitly to create a fontset. | ||
| 12591 | |||
| 12592 | With the X resource Emacs.Font, you can specify a fontset name just | ||
| 12593 | like an actual font name. But be careful not to specify a fontset | ||
| 12594 | name in a wildcard resource like Emacs*Font--that tries to specify the | ||
| 12595 | fontset for other purposes including menus, and they cannot handle | ||
| 12596 | fontsets. | ||
| 12597 | |||
| 12598 | *** The command M-x set-language-environment sets certain global Emacs | ||
| 12599 | defaults for a particular choice of language. | ||
| 12600 | |||
| 12601 | Selecting a language environment typically specifies a default input | ||
| 12602 | method and which coding systems to recognize automatically when | ||
| 12603 | visiting files. However, it does not try to reread files you have | ||
| 12604 | already visited; the text in those buffers is not affected. The | ||
| 12605 | language environment may also specify a default choice of coding | ||
| 12606 | system for new files that you create. | ||
| 12607 | |||
| 12608 | It makes no difference which buffer is current when you use | ||
| 12609 | set-language-environment, because these defaults apply globally to the | ||
| 12610 | whole Emacs session. | ||
| 12611 | |||
| 12612 | For example, M-x set-language-environment RET Latin-1 RET | ||
| 12613 | chooses the Latin-1 character set. In the .emacs file, you can do this | ||
| 12614 | with (set-language-environment "Latin-1"). | ||
| 12615 | |||
| 12616 | *** The command C-x RET f (set-buffer-file-coding-system) | ||
| 12617 | specifies the file coding system for the current buffer. This | ||
| 12618 | specifies what sort of character code translation to do when saving | ||
| 12619 | the file. As an argument, you must specify the name of one of the | ||
| 12620 | coding systems that Emacs supports. | ||
| 12621 | |||
| 12622 | *** The command C-x RET c (universal-coding-system-argument) | ||
| 12623 | lets you specify a coding system when you read or write a file. | ||
| 12624 | This command uses the minibuffer to read a coding system name. | ||
| 12625 | After you exit the minibuffer, the specified coding system | ||
| 12626 | is used for *the immediately following command*. | ||
| 12627 | |||
| 12628 | So if the immediately following command is a command to read or | ||
| 12629 | write a file, it uses the specified coding system for that file. | ||
| 12630 | |||
| 12631 | If the immediately following command does not use the coding system, | ||
| 12632 | then C-x RET c ultimately has no effect. | ||
| 12633 | |||
| 12634 | For example, C-x RET c iso-8859-1 RET C-x C-f temp RET | ||
| 12635 | visits the file `temp' treating it as ISO Latin-1. | ||
| 12636 | |||
| 12637 | *** You can specify the coding system for a file using the -*- | ||
| 12638 | construct. Include `coding: CODINGSYSTEM;' inside the -*-...-*- | ||
| 12639 | to specify use of coding system CODINGSYSTEM. You can also | ||
| 12640 | specify the coding system in a local variable list at the end | ||
| 12641 | of the file. | ||
| 12642 | |||
| 12643 | *** The command C-x RET t (set-terminal-coding-system) specifies | ||
| 12644 | the coding system for terminal output. If you specify a character | ||
| 12645 | code for terminal output, all characters output to the terminal are | ||
| 12646 | translated into that character code. | ||
| 12647 | |||
| 12648 | This feature is useful for certain character-only terminals built in | ||
| 12649 | various countries to support the languages of those countries. | ||
| 12650 | |||
| 12651 | By default, output to the terminal is not translated at all. | ||
| 12652 | |||
| 12653 | *** The command C-x RET k (set-keyboard-coding-system) specifies | ||
| 12654 | the coding system for keyboard input. | ||
| 12655 | |||
| 12656 | Character code translation of keyboard input is useful for terminals | ||
| 12657 | with keys that send non-ASCII graphic characters--for example, | ||
| 12658 | some terminals designed for ISO Latin-1 or subsets of it. | ||
| 12659 | |||
| 12660 | By default, keyboard input is not translated at all. | ||
| 12661 | |||
| 12662 | Character code translation of keyboard input is similar to using an | ||
| 12663 | input method, in that both define sequences of keyboard input that | ||
| 12664 | translate into single characters. However, input methods are designed | ||
| 12665 | to be convenient for interactive use, while the code translations are | ||
| 12666 | designed to work with terminals. | ||
| 12667 | |||
| 12668 | *** The command C-x RET p (set-buffer-process-coding-system) | ||
| 12669 | specifies the coding system for input and output to a subprocess. | ||
| 12670 | This command applies to the current buffer; normally, each subprocess | ||
| 12671 | has its own buffer, and thus you can use this command to specify | ||
| 12672 | translation to and from a particular subprocess by giving the command | ||
| 12673 | in the corresponding buffer. | ||
| 12674 | |||
| 12675 | By default, process input and output are not translated at all. | ||
| 12676 | |||
| 12677 | *** The variable file-name-coding-system specifies the coding system | ||
| 12678 | to use for encoding file names before operating on them. | ||
| 12679 | It is also used for decoding file names obtained from the system. | ||
| 12680 | |||
| 12681 | *** The command C-\ (toggle-input-method) activates or deactivates | ||
| 12682 | an input method. If no input method has been selected before, the | ||
| 12683 | command prompts for you to specify the language and input method you | ||
| 12684 | want to use. | ||
| 12685 | |||
| 12686 | C-u C-\ (select-input-method) lets you switch to a different input | ||
| 12687 | method. C-h C-\ (or C-h I) describes the current input method. | ||
| 12688 | |||
| 12689 | *** Some input methods remap the keyboard to emulate various keyboard | ||
| 12690 | layouts commonly used for particular scripts. How to do this | ||
| 12691 | remapping properly depends on your actual keyboard layout. To specify | ||
| 12692 | which layout your keyboard has, use M-x quail-set-keyboard-layout. | ||
| 12693 | |||
| 12694 | *** The command C-h C (describe-coding-system) displays | ||
| 12695 | the coding systems currently selected for various purposes, plus | ||
| 12696 | related information. | ||
| 12697 | |||
| 12698 | *** The command C-h h (view-hello-file) displays a file called | ||
| 12699 | HELLO, which has examples of text in many languages, using various | ||
| 12700 | scripts. | ||
| 12701 | |||
| 12702 | *** The command C-h L (describe-language-support) displays | ||
| 12703 | information about the support for a particular language. | ||
| 12704 | You specify the language as an argument. | ||
| 12705 | |||
| 12706 | *** The mode line now contains a letter or character that identifies | ||
| 12707 | the coding system used in the visited file. It normally follows the | ||
| 12708 | first dash. | ||
| 12709 | |||
| 12710 | A dash indicates the default state of affairs: no code conversion | ||
| 12711 | (except CRLF => newline if appropriate). `=' means no conversion | ||
| 12712 | whatsoever. The ISO 8859 coding systems are represented by digits | ||
| 12713 | 1 through 9. Other coding systems are represented by letters: | ||
| 12714 | |||
| 12715 | A alternativnyj (Russian) | ||
| 12716 | B big5 (Chinese) | ||
| 12717 | C cn-gb-2312 (Chinese) | ||
| 12718 | C iso-2022-cn (Chinese) | ||
| 12719 | D in-is13194-devanagari (Indian languages) | ||
| 12720 | E euc-japan (Japanese) | ||
| 12721 | I iso-2022-cjk or iso-2022-ss2 (Chinese, Japanese, Korean) | ||
| 12722 | J junet (iso-2022-7) or old-jis (iso-2022-jp-1978-irv) (Japanese) | ||
| 12723 | K euc-korea (Korean) | ||
| 12724 | R koi8 (Russian) | ||
| 12725 | Q tibetan | ||
| 12726 | S shift_jis (Japanese) | ||
| 12727 | T lao | ||
| 12728 | T tis620 (Thai) | ||
| 12729 | V viscii or vscii (Vietnamese) | ||
| 12730 | i iso-2022-lock (Chinese, Japanese, Korean) | ||
| 12731 | k iso-2022-kr (Korean) | ||
| 12732 | v viqr (Vietnamese) | ||
| 12733 | z hz (Chinese) | ||
| 12734 | |||
| 12735 | When you are using a character-only terminal (not a window system), | ||
| 12736 | two additional characters appear in between the dash and the file | ||
| 12737 | coding system. These two characters describe the coding system for | ||
| 12738 | keyboard input, and the coding system for terminal output. | ||
| 12739 | |||
| 12740 | *** The new variable rmail-file-coding-system specifies the code | ||
| 12741 | conversion to use for RMAIL files. The default value is nil. | ||
| 12742 | |||
| 12743 | When you read mail with Rmail, each message is decoded automatically | ||
| 12744 | into Emacs' internal format. This has nothing to do with | ||
| 12745 | rmail-file-coding-system. That variable controls reading and writing | ||
| 12746 | Rmail files themselves. | ||
| 12747 | |||
| 12748 | *** The new variable sendmail-coding-system specifies the code | ||
| 12749 | conversion for outgoing mail. The default value is nil. | ||
| 12750 | |||
| 12751 | Actually, there are three different ways of specifying the coding system | ||
| 12752 | for sending mail: | ||
| 12753 | |||
| 12754 | - If you use C-x RET f in the mail buffer, that takes priority. | ||
| 12755 | - Otherwise, if you set sendmail-coding-system non-nil, that specifies it. | ||
| 12756 | - Otherwise, the default coding system for new files is used, | ||
| 12757 | if that is non-nil. That comes from your language environment. | ||
| 12758 | - Otherwise, Latin-1 is used. | ||
| 12759 | |||
| 12760 | *** The command C-h t (help-with-tutorial) accepts a prefix argument | ||
| 12761 | to specify the language for the tutorial file. Currently, English, | ||
| 12762 | Japanese, Korean and Thai are supported. We welcome additional | ||
| 12763 | translations. | ||
| 12764 | |||
| 12765 | ** An easy new way to visit a file with no code or format conversion | ||
| 12766 | of any kind: Use M-x find-file-literally. There is also a command | ||
| 12767 | insert-file-literally which inserts a file into the current buffer | ||
| 12768 | without any conversion. | ||
| 12769 | |||
| 12770 | ** C-q's handling of octal character codes is changed. | ||
| 12771 | You can now specify any number of octal digits. | ||
| 12772 | RET terminates the digits and is discarded; | ||
| 12773 | any other non-digit terminates the digits and is then used as input. | ||
| 12774 | |||
| 12775 | ** There are new commands for looking up Info documentation for | ||
| 12776 | functions, variables and file names used in your programs. | ||
| 12777 | |||
| 12778 | Type M-x info-lookup-symbol to look up a symbol in the buffer at point. | ||
| 12779 | Type M-x info-lookup-file to look up a file in the buffer at point. | ||
| 12780 | |||
| 12781 | Precisely which Info files are used to look it up depends on the major | ||
| 12782 | mode. For example, in C mode, the GNU libc manual is used. | ||
| 12783 | |||
| 12784 | ** M-TAB in most programming language modes now runs the command | ||
| 12785 | complete-symbol. This command performs completion on the symbol name | ||
| 12786 | in the buffer before point. | ||
| 12787 | |||
| 12788 | With a numeric argument, it performs completion based on the set of | ||
| 12789 | symbols documented in the Info files for the programming language that | ||
| 12790 | you are using. | ||
| 12791 | |||
| 12792 | With no argument, it does completion based on the current tags tables, | ||
| 12793 | just like the old binding of M-TAB (complete-tag). | ||
| 12794 | |||
| 12795 | ** File locking works with NFS now. | ||
| 12796 | |||
| 12797 | The lock file for FILENAME is now a symbolic link named .#FILENAME, | ||
| 12798 | in the same directory as FILENAME. | ||
| 12799 | |||
| 12800 | This means that collision detection between two different machines now | ||
| 12801 | works reasonably well; it also means that no file server or directory | ||
| 12802 | can become a bottleneck. | ||
| 12803 | |||
| 12804 | The new method does have drawbacks. It means that collision detection | ||
| 12805 | does not operate when you edit a file in a directory where you cannot | ||
| 12806 | create new files. Collision detection also doesn't operate when the | ||
| 12807 | file server does not support symbolic links. But these conditions are | ||
| 12808 | rare, and the ability to have collision detection while using NFS is | ||
| 12809 | so useful that the change is worth while. | ||
| 12810 | |||
| 12811 | When Emacs or a system crashes, this may leave behind lock files which | ||
| 12812 | are stale. So you may occasionally get warnings about spurious | ||
| 12813 | collisions. When you determine that the collision is spurious, just | ||
| 12814 | tell Emacs to go ahead anyway. | ||
| 12815 | |||
| 12816 | ** If you wish to use Show Paren mode to display matching parentheses, | ||
| 12817 | it is no longer sufficient to load paren.el. Instead you must call | ||
| 12818 | show-paren-mode. | ||
| 12819 | |||
| 12820 | ** If you wish to use Delete Selection mode to replace a highlighted | ||
| 12821 | selection when you insert new text, it is no longer sufficient to load | ||
| 12822 | delsel.el. Instead you must call the function delete-selection-mode. | ||
| 12823 | |||
| 12824 | ** If you wish to use Partial Completion mode to complete partial words | ||
| 12825 | within symbols or filenames, it is no longer sufficient to load | ||
| 12826 | complete.el. Instead you must call the function partial-completion-mode. | ||
| 12827 | |||
| 12828 | ** If you wish to use uniquify to rename buffers for you, | ||
| 12829 | it is no longer sufficient to load uniquify.el. You must also | ||
| 12830 | set uniquify-buffer-name-style to one of the non-nil legitimate values. | ||
| 12831 | |||
| 12832 | ** Changes in View mode. | ||
| 12833 | |||
| 12834 | *** Several new commands are available in View mode. | ||
| 12835 | Do H in view mode for a list of commands. | ||
| 12836 | |||
| 12837 | *** There are two new commands for entering View mode: | ||
| 12838 | view-file-other-frame and view-buffer-other-frame. | ||
| 12839 | |||
| 12840 | *** Exiting View mode does a better job of restoring windows to their | ||
| 12841 | previous state. | ||
| 12842 | |||
| 12843 | *** New customization variable view-scroll-auto-exit. If non-nil, | ||
| 12844 | scrolling past end of buffer makes view mode exit. | ||
| 12845 | |||
| 12846 | *** New customization variable view-exits-all-viewing-windows. If | ||
| 12847 | non-nil, view-mode will at exit restore all windows viewing buffer, | ||
| 12848 | not just the selected window. | ||
| 12849 | |||
| 12850 | *** New customization variable view-read-only. If non-nil, visiting a | ||
| 12851 | read-only file automatically enters View mode, and toggle-read-only | ||
| 12852 | turns View mode on or off. | ||
| 12853 | |||
| 12854 | *** New customization variable view-remove-frame-by-deleting controls | ||
| 12855 | how to remove a not needed frame at view mode exit. If non-nil, | ||
| 12856 | delete the frame, if nil make an icon of it. | ||
| 12857 | |||
| 12858 | ** C-x v l, the command to print a file's version control log, | ||
| 12859 | now positions point at the entry for the file's current branch version. | ||
| 12860 | |||
| 12861 | ** C-x v =, the command to compare a file with the last checked-in version, | ||
| 12862 | has a new feature. If the file is currently not locked, so that it is | ||
| 12863 | presumably identical to the last checked-in version, the command now asks | ||
| 12864 | which version to compare with. | ||
| 12865 | |||
| 12866 | ** When using hideshow.el, incremental search can temporarily show hidden | ||
| 12867 | blocks if a match is inside the block. | ||
| 12868 | |||
| 12869 | The block is hidden again if the search is continued and the next match | ||
| 12870 | is outside the block. By customizing the variable | ||
| 12871 | isearch-hide-immediately you can choose to hide all the temporarily | ||
| 12872 | shown blocks only when exiting from incremental search. | ||
| 12873 | |||
| 12874 | By customizing the variable hs-isearch-open you can choose what kind | ||
| 12875 | of blocks to temporarily show during isearch: comment blocks, code | ||
| 12876 | blocks, all of them or none. | ||
| 12877 | |||
| 12878 | ** The new command C-x 4 0 (kill-buffer-and-window) kills the | ||
| 12879 | current buffer and deletes the selected window. It asks for | ||
| 12880 | confirmation first. | ||
| 12881 | |||
| 12882 | ** C-x C-w, which saves the buffer into a specified file name, | ||
| 12883 | now changes the major mode according to that file name. | ||
| 12884 | However, the mode will not be changed if | ||
| 12885 | (1) a local variables list or the `-*-' line specifies a major mode, or | ||
| 12886 | (2) the current major mode is a "special" mode, | ||
| 12887 | not suitable for ordinary files, or | ||
| 12888 | (3) the new file name does not particularly specify any mode. | ||
| 12889 | |||
| 12890 | This applies to M-x set-visited-file-name as well. | ||
| 12891 | |||
| 12892 | However, if you set change-major-mode-with-file-name to nil, then | ||
| 12893 | these commands do not change the major mode. | ||
| 12894 | |||
| 12895 | ** M-x occur changes. | ||
| 12896 | |||
| 12897 | *** If the argument to M-x occur contains upper case letters, | ||
| 12898 | it performs a case-sensitive search. | ||
| 12899 | |||
| 12900 | *** In the *Occur* buffer made by M-x occur, | ||
| 12901 | if you type g or M-x revert-buffer, this repeats the search | ||
| 12902 | using the same regular expression and the same buffer as before. | ||
| 12903 | |||
| 12904 | ** In Transient Mark mode, the region in any one buffer is highlighted | ||
| 12905 | in just one window at a time. At first, it is highlighted in the | ||
| 12906 | window where you set the mark. The buffer's highlighting remains in | ||
| 12907 | that window unless you select to another window which shows the same | ||
| 12908 | buffer--then the highlighting moves to that window. | ||
| 12909 | |||
| 12910 | ** The feature to suggest key bindings when you use M-x now operates | ||
| 12911 | after the command finishes. The message suggesting key bindings | ||
| 12912 | appears temporarily in the echo area. The previous echo area contents | ||
| 12913 | come back after a few seconds, in case they contain useful information. | ||
| 12914 | |||
| 12915 | ** Each frame now independently records the order for recently | ||
| 12916 | selected buffers, so that the default for C-x b is now based on the | ||
| 12917 | buffers recently selected in the selected frame. | ||
| 12918 | |||
| 12919 | ** Outline mode changes. | ||
| 12920 | |||
| 12921 | *** Outline mode now uses overlays (this is the former noutline.el). | ||
| 12922 | |||
| 12923 | *** Incremental searches skip over invisible text in Outline mode. | ||
| 12924 | |||
| 12925 | ** When a minibuffer window is active but not the selected window, if | ||
| 12926 | you try to use the minibuffer, you used to get a nested minibuffer. | ||
| 12927 | Now, this not only gives an error, it also cancels the minibuffer that | ||
| 12928 | was already active. | ||
| 12929 | |||
| 12930 | The motive for this change is so that beginning users do not | ||
| 12931 | unknowingly move away from minibuffers, leaving them active, and then | ||
| 12932 | get confused by it. | ||
| 12933 | |||
| 12934 | If you want to be able to have recursive minibuffers, you must | ||
| 12935 | set enable-recursive-minibuffers to non-nil. | ||
| 12936 | |||
| 12937 | ** Changes in dynamic abbrevs. | ||
| 12938 | |||
| 12939 | *** Expanding dynamic abbrevs with M-/ is now smarter about case | ||
| 12940 | conversion. If the expansion has mixed case not counting the first | ||
| 12941 | character, and the abbreviation matches the beginning of the expansion | ||
| 12942 | including case, then the expansion is copied verbatim. | ||
| 12943 | |||
| 12944 | The expansion is also copied verbatim if the abbreviation itself has | ||
| 12945 | mixed case. And using SPC M-/ to copy an additional word always | ||
| 12946 | copies it verbatim except when the previous copied word is all caps. | ||
| 12947 | |||
| 12948 | *** The values of `dabbrev-case-replace' and `dabbrev-case-fold-search' | ||
| 12949 | are no longer Lisp expressions. They have simply three possible | ||
| 12950 | values. | ||
| 12951 | |||
| 12952 | `dabbrev-case-replace' has these three values: nil (don't preserve | ||
| 12953 | case), t (do), or `case-replace' (do like M-x query-replace). | ||
| 12954 | `dabbrev-case-fold-search' has these three values: nil (don't ignore | ||
| 12955 | case), t (do), or `case-fold-search' (do like search). | ||
| 12956 | |||
| 12957 | ** Minibuffer history lists are truncated automatically now to a | ||
| 12958 | certain length. The variable history-length specifies how long they | ||
| 12959 | can be. The default value is 30. | ||
| 12960 | |||
| 12961 | ** Changes in Mail mode. | ||
| 12962 | |||
| 12963 | *** The key C-x m no longer runs the `mail' command directly. | ||
| 12964 | Instead, it runs the command `compose-mail', which invokes the mail | ||
| 12965 | composition mechanism you have selected with the variable | ||
| 12966 | `mail-user-agent'. The default choice of user agent is | ||
| 12967 | `sendmail-user-agent', which gives behavior compatible with the old | ||
| 12968 | behavior. | ||
| 12969 | |||
| 12970 | C-x 4 m now runs compose-mail-other-window, and C-x 5 m runs | ||
| 12971 | compose-mail-other-frame. | ||
| 12972 | |||
| 12973 | *** While composing a reply to a mail message, from Rmail, you can use | ||
| 12974 | the command C-c C-r to cite just the region from the message you are | ||
| 12975 | replying to. This copies the text which is the selected region in the | ||
| 12976 | buffer that shows the original message. | ||
| 12977 | |||
| 12978 | *** The command C-c C-i inserts a file at the end of the message, | ||
| 12979 | with separator lines around the contents. | ||
| 12980 | |||
| 12981 | *** The command M-x expand-mail-aliases expands all mail aliases | ||
| 12982 | in suitable mail headers. Emacs automatically extracts mail alias | ||
| 12983 | definitions from your mail alias file (e.g., ~/.mailrc). You do not | ||
| 12984 | need to expand mail aliases yourself before sending mail. | ||
| 12985 | |||
| 12986 | *** New features in the mail-complete command. | ||
| 12987 | |||
| 12988 | **** The mail-complete command now inserts the user's full name, | ||
| 12989 | for local users or if that is known. The variable mail-complete-style | ||
| 12990 | controls the style to use, and whether to do this at all. | ||
| 12991 | Its values are like those of mail-from-style. | ||
| 12992 | |||
| 12993 | **** The variable mail-passwd-command lets you specify a shell command | ||
| 12994 | to run to fetch a set of password-entries that add to the ones in | ||
| 12995 | /etc/passwd. | ||
| 12996 | |||
| 12997 | **** The variable mail-passwd-file now specifies a list of files to read | ||
| 12998 | to get the list of user ids. By default, one file is used: | ||
| 12999 | /etc/passwd. | ||
| 13000 | |||
| 13001 | ** You can "quote" a file name to inhibit special significance of | ||
| 13002 | special syntax, by adding `/:' to the beginning. Thus, if you have a | ||
| 13003 | directory named `/foo:', you can prevent it from being treated as a | ||
| 13004 | reference to a remote host named `foo' by writing it as `/:/foo:'. | ||
| 13005 | |||
| 13006 | Emacs uses this new construct automatically when necessary, such as | ||
| 13007 | when you start it with a working directory whose name might otherwise | ||
| 13008 | be taken to be magic. | ||
| 13009 | |||
| 13010 | ** There is a new command M-x grep-find which uses find to select | ||
| 13011 | files to search through, and grep to scan them. The output is | ||
| 13012 | available in a Compile mode buffer, as with M-x grep. | ||
| 13013 | |||
| 13014 | M-x grep now uses the -e option if the grep program supports that. | ||
| 13015 | (-e prevents problems if the search pattern starts with a dash.) | ||
| 13016 | |||
| 13017 | ** In Dired, the & command now flags for deletion the files whose names | ||
| 13018 | suggest they are probably not needed in the long run. | ||
| 13019 | |||
| 13020 | In Dired, * is now a prefix key for mark-related commands. | ||
| 13021 | |||
| 13022 | new key dired.el binding old key | ||
| 13023 | ------- ---------------- ------- | ||
| 13024 | * c dired-change-marks c | ||
| 13025 | * m dired-mark m | ||
| 13026 | * * dired-mark-executables * (binding deleted) | ||
| 13027 | * / dired-mark-directories / (binding deleted) | ||
| 13028 | * @ dired-mark-symlinks @ (binding deleted) | ||
| 13029 | * u dired-unmark u | ||
| 13030 | * DEL dired-unmark-backward DEL | ||
| 13031 | * ? dired-unmark-all-files C-M-? | ||
| 13032 | * ! dired-unmark-all-marks | ||
| 13033 | * % dired-mark-files-regexp % m | ||
| 13034 | * C-n dired-next-marked-file M-} | ||
| 13035 | * C-p dired-prev-marked-file M-{ | ||
| 13036 | |||
| 13037 | ** Rmail changes. | ||
| 13038 | |||
| 13039 | *** When Rmail cannot convert your incoming mail into Babyl format, it | ||
| 13040 | saves the new mail in the file RMAILOSE.n, where n is an integer | ||
| 13041 | chosen to make a unique name. This way, Rmail will not keep crashing | ||
| 13042 | each time you run it. | ||
| 13043 | |||
| 13044 | *** In Rmail, the variable rmail-summary-line-count-flag now controls | ||
| 13045 | whether to include the line count in the summary. Non-nil means yes. | ||
| 13046 | |||
| 13047 | *** In Rmail summary buffers, d and C-d (the commands to delete | ||
| 13048 | messages) now take repeat counts as arguments. A negative argument | ||
| 13049 | means to move in the opposite direction. | ||
| 13050 | |||
| 13051 | *** In Rmail, the t command now takes an optional argument which lets | ||
| 13052 | you specify whether to show the message headers in full or pruned. | ||
| 13053 | |||
| 13054 | *** In Rmail, the new command w (rmail-output-body-to-file) writes | ||
| 13055 | just the body of the current message into a file, without the headers. | ||
| 13056 | It takes the file name from the message subject, by default, but you | ||
| 13057 | can edit that file name in the minibuffer before it is actually used | ||
| 13058 | for output. | ||
| 13059 | |||
| 13060 | ** Gnus changes. | ||
| 13061 | |||
| 13062 | *** nntp.el has been totally rewritten in an asynchronous fashion. | ||
| 13063 | |||
| 13064 | *** Article prefetching functionality has been moved up into | ||
| 13065 | Gnus. | ||
| 13066 | |||
| 13067 | *** Scoring can now be performed with logical operators like | ||
| 13068 | `and', `or', `not', and parent redirection. | ||
| 13069 | |||
| 13070 | *** Article washing status can be displayed in the | ||
| 13071 | article mode line. | ||
| 13072 | |||
| 13073 | *** gnus.el has been split into many smaller files. | ||
| 13074 | |||
| 13075 | *** Suppression of duplicate articles based on Message-ID. | ||
| 13076 | |||
| 13077 | (setq gnus-suppress-duplicates t) | ||
| 13078 | |||
| 13079 | *** New variables for specifying what score and adapt files | ||
| 13080 | are to be considered home score and adapt files. See | ||
| 13081 | `gnus-home-score-file' and `gnus-home-adapt-files'. | ||
| 13082 | |||
| 13083 | *** Groups can inherit group parameters from parent topics. | ||
| 13084 | |||
| 13085 | *** Article editing has been revamped and is now usable. | ||
| 13086 | |||
| 13087 | *** Signatures can be recognized in more intelligent fashions. | ||
| 13088 | See `gnus-signature-separator' and `gnus-signature-limit'. | ||
| 13089 | |||
| 13090 | *** Summary pick mode has been made to look more nn-like. | ||
| 13091 | Line numbers are displayed and the `.' command can be | ||
| 13092 | used to pick articles. | ||
| 13093 | |||
| 13094 | *** Commands for moving the .newsrc.eld from one server to | ||
| 13095 | another have been added. | ||
| 13096 | |||
| 13097 | `M-x gnus-change-server' | ||
| 13098 | |||
| 13099 | *** A way to specify that "uninteresting" fields be suppressed when | ||
| 13100 | generating lines in buffers. | ||
| 13101 | |||
| 13102 | *** Several commands in the group buffer can be undone with | ||
| 13103 | `C-M-_'. | ||
| 13104 | |||
| 13105 | *** Scoring can be done on words using the new score type `w'. | ||
| 13106 | |||
| 13107 | *** Adaptive scoring can be done on a Subject word-by-word basis: | ||
| 13108 | |||
| 13109 | (setq gnus-use-adaptive-scoring '(word)) | ||
| 13110 | |||
| 13111 | *** Scores can be decayed. | ||
| 13112 | |||
| 13113 | (setq gnus-decay-scores t) | ||
| 13114 | |||
| 13115 | *** Scoring can be performed using a regexp on the Date header. The | ||
| 13116 | Date is normalized to compact ISO 8601 format first. | ||
| 13117 | |||
| 13118 | *** A new command has been added to remove all data on articles from | ||
| 13119 | the native server. | ||
| 13120 | |||
| 13121 | `M-x gnus-group-clear-data-on-native-groups' | ||
| 13122 | |||
| 13123 | *** A new command for reading collections of documents | ||
| 13124 | (nndoc with nnvirtual on top) has been added -- `C-M-d'. | ||
| 13125 | |||
| 13126 | *** Process mark sets can be pushed and popped. | ||
| 13127 | |||
| 13128 | *** A new mail-to-news backend makes it possible to post | ||
| 13129 | even when the NNTP server doesn't allow posting. | ||
| 13130 | |||
| 13131 | *** A new backend for reading searches from Web search engines | ||
| 13132 | (DejaNews, Alta Vista, InReference) has been added. | ||
| 13133 | |||
| 13134 | Use the `G w' command in the group buffer to create such | ||
| 13135 | a group. | ||
| 13136 | |||
| 13137 | *** Groups inside topics can now be sorted using the standard | ||
| 13138 | sorting functions, and each topic can be sorted independently. | ||
| 13139 | |||
| 13140 | See the commands under the `T S' submap. | ||
| 13141 | |||
| 13142 | *** Subsets of the groups can be sorted independently. | ||
| 13143 | |||
| 13144 | See the commands under the `G P' submap. | ||
| 13145 | |||
| 13146 | *** Cached articles can be pulled into the groups. | ||
| 13147 | |||
| 13148 | Use the `Y c' command. | ||
| 13149 | |||
| 13150 | *** Score files are now applied in a more reliable order. | ||
| 13151 | |||
| 13152 | *** Reports on where mail messages end up can be generated. | ||
| 13153 | |||
| 13154 | `M-x nnmail-split-history' | ||
| 13155 | |||
| 13156 | *** More hooks and functions have been added to remove junk | ||
| 13157 | from incoming mail before saving the mail. | ||
| 13158 | |||
| 13159 | See `nnmail-prepare-incoming-header-hook'. | ||
| 13160 | |||
| 13161 | *** The nnml mail backend now understands compressed article files. | ||
| 13162 | |||
| 13163 | *** To enable Gnus to read/post multi-lingual articles, you must execute | ||
| 13164 | the following code, for instance, in your .emacs. | ||
| 13165 | |||
| 13166 | (add-hook 'gnus-startup-hook 'gnus-mule-initialize) | ||
| 13167 | |||
| 13168 | Then, when you start Gnus, it will decode non-ASCII text automatically | ||
| 13169 | and show appropriate characters. (Note: if you are using gnus-mime | ||
| 13170 | from the SEMI package, formerly known as TM, you should NOT add this | ||
| 13171 | hook to gnus-startup-hook; gnus-mime has its own method of handling | ||
| 13172 | this issue.) | ||
| 13173 | |||
| 13174 | Since it is impossible to distinguish all coding systems | ||
| 13175 | automatically, you may need to specify a choice of coding system for a | ||
| 13176 | particular news group. This can be done by: | ||
| 13177 | |||
| 13178 | (gnus-mule-add-group NEWSGROUP 'CODING-SYSTEM) | ||
| 13179 | |||
| 13180 | Here NEWSGROUP should be a string which names a newsgroup or a tree | ||
| 13181 | of newsgroups. If NEWSGROUP is "XXX.YYY", all news groups under | ||
| 13182 | "XXX.YYY" (including "XXX.YYY.ZZZ") will use the specified coding | ||
| 13183 | system. CODING-SYSTEM specifies which coding system to use (for both | ||
| 13184 | for reading and posting). | ||
| 13185 | |||
| 13186 | CODING-SYSTEM can also be a cons cell of the form | ||
| 13187 | (READ-CODING-SYSTEM . POST-CODING-SYSTEM) | ||
| 13188 | Then READ-CODING-SYSTEM is used when you read messages from the | ||
| 13189 | newsgroups, while POST-CODING-SYSTEM is used when you post messages | ||
| 13190 | there. | ||
| 13191 | |||
| 13192 | Emacs knows the right coding systems for certain newsgroups by | ||
| 13193 | default. Here are some of these default settings: | ||
| 13194 | |||
| 13195 | (gnus-mule-add-group "fj" 'iso-2022-7) | ||
| 13196 | (gnus-mule-add-group "alt.chinese.text" 'hz-gb-2312) | ||
| 13197 | (gnus-mule-add-group "alt.hk" 'hz-gb-2312) | ||
| 13198 | (gnus-mule-add-group "alt.chinese.text.big5" 'cn-big5) | ||
| 13199 | (gnus-mule-add-group "soc.culture.vietnamese" '(nil . viqr)) | ||
| 13200 | |||
| 13201 | When you reply by mail to an article, these settings are ignored; | ||
| 13202 | the mail is encoded according to sendmail-coding-system, as usual. | ||
| 13203 | |||
| 13204 | ** CC mode changes. | ||
| 13205 | |||
| 13206 | *** If you edit primarily one style of C (or C++, Objective-C, Java) | ||
| 13207 | code, you may want to make the CC Mode style variables have global | ||
| 13208 | values so that you can set them directly in your .emacs file. To do | ||
| 13209 | this, set c-style-variables-are-local-p to nil in your .emacs file. | ||
| 13210 | Note that this only takes effect if you do it *before* cc-mode.el is | ||
| 13211 | loaded. | ||
| 13212 | |||
| 13213 | If you typically edit more than one style of C (or C++, Objective-C, | ||
| 13214 | Java) code in a single Emacs session, you may want to make the CC Mode | ||
| 13215 | style variables have buffer local values. By default, all buffers | ||
| 13216 | share the same style variable settings; to make them buffer local, set | ||
| 13217 | c-style-variables-are-local-p to t in your .emacs file. Note that you | ||
| 13218 | must do this *before* CC Mode is loaded. | ||
| 13219 | |||
| 13220 | *** The new variable c-indentation-style holds the C style name | ||
| 13221 | of the current buffer. | ||
| 13222 | |||
| 13223 | *** The variable c-block-comments-indent-p has been deleted, because | ||
| 13224 | it is no longer necessary. C mode now handles all the supported styles | ||
| 13225 | of block comments, with no need to say which one you will use. | ||
| 13226 | |||
| 13227 | *** There is a new indentation style "python", which specifies the C | ||
| 13228 | style that the Python developers like. | ||
| 13229 | |||
| 13230 | *** There is a new c-cleanup-list option: brace-elseif-brace. | ||
| 13231 | This says to put ...} else if (...) {... on one line, | ||
| 13232 | just as brace-else-brace says to put ...} else {... on one line. | ||
| 13233 | |||
| 13234 | ** VC Changes [new] | ||
| 13235 | |||
| 13236 | *** In vc-retrieve-snapshot (C-x v r), if you don't specify a snapshot | ||
| 13237 | name, it retrieves the *latest* versions of all files in the current | ||
| 13238 | directory and its subdirectories (aside from files already locked). | ||
| 13239 | |||
| 13240 | This feature is useful if your RCS directory is a link to a common | ||
| 13241 | master directory, and you want to pick up changes made by other | ||
| 13242 | developers. | ||
| 13243 | |||
| 13244 | You can do the same thing for an individual file by typing C-u C-x C-q | ||
| 13245 | RET in a buffer visiting that file. | ||
| 13246 | |||
| 13247 | *** VC can now handle files under CVS that are being "watched" by | ||
| 13248 | other developers. Such files are made read-only by CVS. To get a | ||
| 13249 | writable copy, type C-x C-q in a buffer visiting such a file. VC then | ||
| 13250 | calls "cvs edit", which notifies the other developers of it. | ||
| 13251 | |||
| 13252 | *** vc-version-diff (C-u C-x v =) now suggests reasonable defaults for | ||
| 13253 | version numbers, based on the current state of the file. | ||
| 13254 | |||
| 13255 | ** Calendar changes. | ||
| 13256 | |||
| 13257 | *** A new function, list-holidays, allows you list holidays or | ||
| 13258 | subclasses of holidays for ranges of years. Related menu items allow | ||
| 13259 | you do this for the year of the selected date, or the | ||
| 13260 | following/previous years. | ||
| 13261 | |||
| 13262 | *** There is now support for the Baha'i calendar system. Use `pb' in | ||
| 13263 | the *Calendar* buffer to display the current Baha'i date. The Baha'i | ||
| 13264 | calendar, or "Badi calendar" is a system of 19 months with 19 days | ||
| 13265 | each, and 4 intercalary days (5 during a Gregorian leap year). The | ||
| 13266 | calendar begins May 23, 1844, with each of the months named after a | ||
| 13267 | supposed attribute of God. | ||
| 13268 | |||
| 13269 | ** ps-print changes | ||
| 13270 | |||
| 13271 | There are some new user variables and subgroups for customizing the page | ||
| 13272 | layout. | ||
| 13273 | |||
| 13274 | *** Headers & Footers (subgroup) | ||
| 13275 | |||
| 13276 | Some printer systems print a header page and force the first page to | ||
| 13277 | be printed on the back of the header page when using duplex. If your | ||
| 13278 | printer system has this behavior, set variable | ||
| 13279 | `ps-banner-page-when-duplexing' to t. | ||
| 13280 | |||
| 13281 | If variable `ps-banner-page-when-duplexing' is non-nil, it prints a | ||
| 13282 | blank page as the very first printed page. So, it behaves as if the | ||
| 13283 | very first character of buffer (or region) were a form feed ^L (\014). | ||
| 13284 | |||
| 13285 | The variable `ps-spool-config' specifies who is responsible for | ||
| 13286 | setting duplex mode and page size. Valid values are: | ||
| 13287 | |||
| 13288 | lpr-switches duplex and page size are configured by `ps-lpr-switches'. | ||
| 13289 | Don't forget to set `ps-lpr-switches' to select duplex | ||
| 13290 | printing for your printer. | ||
| 13291 | |||
| 13292 | setpagedevice duplex and page size are configured by ps-print using the | ||
| 13293 | setpagedevice PostScript operator. | ||
| 13294 | |||
| 13295 | nil duplex and page size are configured by ps-print *not* using | ||
| 13296 | the setpagedevice PostScript operator. | ||
| 13297 | |||
| 13298 | The variable `ps-spool-tumble' specifies how the page images on | ||
| 13299 | opposite sides of a sheet are oriented with respect to each other. If | ||
| 13300 | `ps-spool-tumble' is nil, ps-print produces output suitable for | ||
| 13301 | bindings on the left or right. If `ps-spool-tumble' is non-nil, | ||
| 13302 | ps-print produces output suitable for bindings at the top or bottom. | ||
| 13303 | This variable takes effect only if `ps-spool-duplex' is non-nil. | ||
| 13304 | The default value is nil. | ||
| 13305 | |||
| 13306 | The variable `ps-header-frame-alist' specifies a header frame | ||
| 13307 | properties alist. Valid frame properties are: | ||
| 13308 | |||
| 13309 | fore-color Specify the foreground frame color. | ||
| 13310 | Value should be a float number between 0.0 (black | ||
| 13311 | color) and 1.0 (white color), or a string which is a | ||
| 13312 | color name, or a list of 3 float numbers which | ||
| 13313 | correspond to the Red Green Blue color scale, each | ||
| 13314 | float number between 0.0 (dark color) and 1.0 (bright | ||
| 13315 | color). The default is 0 ("black"). | ||
| 13316 | |||
| 13317 | back-color Specify the background frame color (similar to fore-color). | ||
| 13318 | The default is 0.9 ("gray90"). | ||
| 13319 | |||
| 13320 | shadow-color Specify the shadow color (similar to fore-color). | ||
| 13321 | The default is 0 ("black"). | ||
| 13322 | |||
| 13323 | border-color Specify the border color (similar to fore-color). | ||
| 13324 | The default is 0 ("black"). | ||
| 13325 | |||
| 13326 | border-width Specify the border width. | ||
| 13327 | The default is 0.4. | ||
| 13328 | |||
| 13329 | Any other property is ignored. | ||
| 13330 | |||
| 13331 | Don't change this alist directly; instead use Custom, or the | ||
| 13332 | `ps-value', `ps-get', `ps-put' and `ps-del' functions (see there for | ||
| 13333 | documentation). | ||
| 13334 | |||
| 13335 | Ps-print can also print footers. The footer variables are: | ||
| 13336 | `ps-print-footer', `ps-footer-offset', `ps-print-footer-frame', | ||
| 13337 | `ps-footer-font-family', `ps-footer-font-size', `ps-footer-line-pad', | ||
| 13338 | `ps-footer-lines', `ps-left-footer', `ps-right-footer' and | ||
| 13339 | `ps-footer-frame-alist'. These variables are similar to those | ||
| 13340 | controlling headers. | ||
| 13341 | |||
| 13342 | *** Color management (subgroup) | ||
| 13343 | |||
| 13344 | If `ps-print-color-p' is non-nil, the buffer's text will be printed in | ||
| 13345 | color. | ||
| 13346 | |||
| 13347 | *** Face Management (subgroup) | ||
| 13348 | |||
| 13349 | If you need to print without worrying about face background colors, | ||
| 13350 | set the variable `ps-use-face-background' which specifies if face | ||
| 13351 | background should be used. Valid values are: | ||
| 13352 | |||
| 13353 | t always use face background color. | ||
| 13354 | nil never use face background color. | ||
| 13355 | (face...) list of faces whose background color will be used. | ||
| 13356 | |||
| 13357 | *** N-up printing (subgroup) | ||
| 13358 | |||
| 13359 | The variable `ps-n-up-printing' specifies the number of pages per | ||
| 13360 | sheet of paper. | ||
| 13361 | |||
| 13362 | The variable `ps-n-up-margin' specifies the margin in points (pt) | ||
| 13363 | between the sheet border and the n-up printing. | ||
| 13364 | |||
| 13365 | If variable `ps-n-up-border-p' is non-nil, a border is drawn around | ||
| 13366 | each page. | ||
| 13367 | |||
| 13368 | The variable `ps-n-up-filling' specifies how the page matrix is filled | ||
| 13369 | on each sheet of paper. Following are the valid values for | ||
| 13370 | `ps-n-up-filling' with a filling example using a 3x4 page matrix: | ||
| 13371 | |||
| 13372 | `left-top' 1 2 3 4 `left-bottom' 9 10 11 12 | ||
| 13373 | 5 6 7 8 5 6 7 8 | ||
| 13374 | 9 10 11 12 1 2 3 4 | ||
| 13375 | |||
| 13376 | `right-top' 4 3 2 1 `right-bottom' 12 11 10 9 | ||
| 13377 | 8 7 6 5 8 7 6 5 | ||
| 13378 | 12 11 10 9 4 3 2 1 | ||
| 13379 | |||
| 13380 | `top-left' 1 4 7 10 `bottom-left' 3 6 9 12 | ||
| 13381 | 2 5 8 11 2 5 8 11 | ||
| 13382 | 3 6 9 12 1 4 7 10 | ||
| 13383 | |||
| 13384 | `top-right' 10 7 4 1 `bottom-right' 12 9 6 3 | ||
| 13385 | 11 8 5 2 11 8 5 2 | ||
| 13386 | 12 9 6 3 10 7 4 1 | ||
| 13387 | |||
| 13388 | Any other value is treated as `left-top'. | ||
| 13389 | |||
| 13390 | *** Zebra stripes (subgroup) | ||
| 13391 | |||
| 13392 | The variable `ps-zebra-color' controls the zebra stripes grayscale or | ||
| 13393 | RGB color. | ||
| 13394 | |||
| 13395 | The variable `ps-zebra-stripe-follow' specifies how zebra stripes | ||
| 13396 | continue on next page. Visually, valid values are (the character `+' | ||
| 13397 | to the right of each column indicates that a line is printed): | ||
| 13398 | |||
| 13399 | `nil' `follow' `full' `full-follow' | ||
| 13400 | Current Page -------- ----------- --------- ---------------- | ||
| 13401 | 1 XXXXX + 1 XXXXXXXX + 1 XXXXXX + 1 XXXXXXXXXXXXX + | ||
| 13402 | 2 XXXXX + 2 XXXXXXXX + 2 XXXXXX + 2 XXXXXXXXXXXXX + | ||
| 13403 | 3 XXXXX + 3 XXXXXXXX + 3 XXXXXX + 3 XXXXXXXXXXXXX + | ||
| 13404 | 4 + 4 + 4 + 4 + | ||
| 13405 | 5 + 5 + 5 + 5 + | ||
| 13406 | 6 + 6 + 6 + 6 + | ||
| 13407 | 7 XXXXX + 7 XXXXXXXX + 7 XXXXXX + 7 XXXXXXXXXXXXX + | ||
| 13408 | 8 XXXXX + 8 XXXXXXXX + 8 XXXXXX + 8 XXXXXXXXXXXXX + | ||
| 13409 | 9 XXXXX + 9 XXXXXXXX + 9 XXXXXX + 9 XXXXXXXXXXXXX + | ||
| 13410 | 10 + 10 + | ||
| 13411 | 11 + 11 + | ||
| 13412 | -------- ----------- --------- ---------------- | ||
| 13413 | Next Page -------- ----------- --------- ---------------- | ||
| 13414 | 12 XXXXX + 12 + 10 XXXXXX + 10 + | ||
| 13415 | 13 XXXXX + 13 XXXXXXXX + 11 XXXXXX + 11 + | ||
| 13416 | 14 XXXXX + 14 XXXXXXXX + 12 XXXXXX + 12 + | ||
| 13417 | 15 + 15 XXXXXXXX + 13 + 13 XXXXXXXXXXXXX + | ||
| 13418 | 16 + 16 + 14 + 14 XXXXXXXXXXXXX + | ||
| 13419 | 17 + 17 + 15 + 15 XXXXXXXXXXXXX + | ||
| 13420 | 18 XXXXX + 18 + 16 XXXXXX + 16 + | ||
| 13421 | 19 XXXXX + 19 XXXXXXXX + 17 XXXXXX + 17 + | ||
| 13422 | 20 XXXXX + 20 XXXXXXXX + 18 XXXXXX + 18 + | ||
| 13423 | 21 + 21 XXXXXXXX + | ||
| 13424 | 22 + 22 + | ||
| 13425 | -------- ----------- --------- ---------------- | ||
| 13426 | |||
| 13427 | Any other value is treated as `nil'. | ||
| 13428 | |||
| 13429 | |||
| 13430 | *** Printer management (subgroup) | ||
| 13431 | |||
| 13432 | The variable `ps-printer-name-option' determines the option used by | ||
| 13433 | some utilities to indicate the printer name; it's used only when | ||
| 13434 | `ps-printer-name' is a non-empty string. If you're using the lpr | ||
| 13435 | utility to print, for example, `ps-printer-name-option' should be set | ||
| 13436 | to "-P". | ||
| 13437 | |||
| 13438 | The variable `ps-manual-feed' indicates if the printer requires manual | ||
| 13439 | paper feeding. If it's nil, automatic feeding takes place. If it's | ||
| 13440 | non-nil, manual feeding takes place. | ||
| 13441 | |||
| 13442 | The variable `ps-end-with-control-d' specifies whether C-d (\x04) | ||
| 13443 | should be inserted at end of the generated PostScript. Non-nil means | ||
| 13444 | do so. | ||
| 13445 | |||
| 13446 | *** Page settings (subgroup) | ||
| 13447 | |||
| 13448 | If variable `ps-warn-paper-type' is nil, it's *not* treated as an | ||
| 13449 | error if the PostScript printer doesn't have a paper with the size | ||
| 13450 | indicated by `ps-paper-type'; the default paper size will be used | ||
| 13451 | instead. If `ps-warn-paper-type' is non-nil, an error is signaled if | ||
| 13452 | the PostScript printer doesn't support a paper with the size indicated | ||
| 13453 | by `ps-paper-type'. This is used when `ps-spool-config' is set to | ||
| 13454 | `setpagedevice'. | ||
| 13455 | |||
| 13456 | The variable `ps-print-upside-down' determines the orientation for | ||
| 13457 | printing pages: nil means `normal' printing, non-nil means | ||
| 13458 | `upside-down' printing (that is, the page is rotated by 180 degrees). | ||
| 13459 | |||
| 13460 | The variable `ps-selected-pages' specifies which pages to print. If | ||
| 13461 | it's nil, all pages are printed. If it's a list, list elements may be | ||
| 13462 | integers specifying a single page to print, or cons cells (FROM . TO) | ||
| 13463 | specifying to print from page FROM to TO. Invalid list elements, that | ||
| 13464 | is integers smaller than one, or elements whose FROM is greater than | ||
| 13465 | its TO, are ignored. | ||
| 13466 | |||
| 13467 | The variable `ps-even-or-odd-pages' specifies how to print even/odd | ||
| 13468 | pages. Valid values are: | ||
| 13469 | |||
| 13470 | nil print all pages. | ||
| 13471 | |||
| 13472 | `even-page' print only even pages. | ||
| 13473 | |||
| 13474 | `odd-page' print only odd pages. | ||
| 13475 | |||
| 13476 | `even-sheet' print only even sheets. | ||
| 13477 | That is, if `ps-n-up-printing' is 1, it behaves like | ||
| 13478 | `even-page', but for values greater than 1, it'll | ||
| 13479 | print only the even sheet of paper. | ||
| 13480 | |||
| 13481 | `odd-sheet' print only odd sheets. | ||
| 13482 | That is, if `ps-n-up-printing' is 1, it behaves like | ||
| 13483 | `odd-page'; but for values greater than 1, it'll print | ||
| 13484 | only the odd sheet of paper. | ||
| 13485 | |||
| 13486 | Any other value is treated as nil. | ||
| 13487 | |||
| 13488 | If you set `ps-selected-pages' (see there for documentation), pages | ||
| 13489 | are filtered by `ps-selected-pages', and then by | ||
| 13490 | `ps-even-or-odd-pages'. For example, if we have: | ||
| 13491 | |||
| 13492 | (setq ps-selected-pages '(1 4 (6 . 10) (12 . 16) 20)) | ||
| 13493 | |||
| 13494 | and we combine this with `ps-even-or-odd-pages' and | ||
| 13495 | `ps-n-up-printing', we get: | ||
| 13496 | |||
| 13497 | `ps-n-up-printing' = 1: | ||
| 13498 | `ps-even-or-odd-pages' PAGES PRINTED | ||
| 13499 | nil 1, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 20 | ||
| 13500 | even-page 4, 6, 8, 10, 12, 14, 16, 20 | ||
| 13501 | odd-page 1, 7, 9, 13, 15 | ||
| 13502 | even-sheet 4, 6, 8, 10, 12, 14, 16, 20 | ||
| 13503 | odd-sheet 1, 7, 9, 13, 15 | ||
| 13504 | |||
| 13505 | `ps-n-up-printing' = 2: | ||
| 13506 | `ps-even-or-odd-pages' PAGES PRINTED | ||
| 13507 | nil 1/4, 6/7, 8/9, 10/12, 13/14, 15/16, 20 | ||
| 13508 | even-page 4/6, 8/10, 12/14, 16/20 | ||
| 13509 | odd-page 1/7, 9/13, 15 | ||
| 13510 | even-sheet 6/7, 10/12, 15/16 | ||
| 13511 | odd-sheet 1/4, 8/9, 13/14, 20 | ||
| 13512 | |||
| 13513 | *** Miscellany (subgroup) | ||
| 13514 | |||
| 13515 | The variable `ps-error-handler-message' specifies where error handler | ||
| 13516 | messages should be sent. | ||
| 13517 | |||
| 13518 | It is also possible to add a user-defined PostScript prologue code in | ||
| 13519 | front of all generated prologue code by setting the variable | ||
| 13520 | `ps-user-defined-prologue'. | ||
| 13521 | |||
| 13522 | The variable `ps-line-number-font' specifies the font for line numbers. | ||
| 13523 | |||
| 13524 | The variable `ps-line-number-font-size' specifies the font size in | ||
| 13525 | points for line numbers. | ||
| 13526 | |||
| 13527 | The variable `ps-line-number-color' specifies the color for line | ||
| 13528 | numbers. See `ps-zebra-color' for documentation. | ||
| 13529 | |||
| 13530 | The variable `ps-line-number-step' specifies the interval in which | ||
| 13531 | line numbers are printed. For example, if `ps-line-number-step' is set | ||
| 13532 | to 2, the printing will look like: | ||
| 13533 | |||
| 13534 | 1 one line | ||
| 13535 | one line | ||
| 13536 | 3 one line | ||
| 13537 | one line | ||
| 13538 | 5 one line | ||
| 13539 | one line | ||
| 13540 | ... | ||
| 13541 | |||
| 13542 | Valid values are: | ||
| 13543 | |||
| 13544 | integer an integer specifying the interval in which line numbers are | ||
| 13545 | printed. If it's smaller than or equal to zero, 1 | ||
| 13546 | is used. | ||
| 13547 | |||
| 13548 | `zebra' specifies that only the line number of the first line in a | ||
| 13549 | zebra stripe is to be printed. | ||
| 13550 | |||
| 13551 | Any other value is treated as `zebra'. | ||
| 13552 | |||
| 13553 | The variable `ps-line-number-start' specifies the starting point in | ||
| 13554 | the interval given by `ps-line-number-step'. For example, if | ||
| 13555 | `ps-line-number-step' is set to 3, and `ps-line-number-start' is set to | ||
| 13556 | 3, the output will look like: | ||
| 13557 | |||
| 13558 | one line | ||
| 13559 | one line | ||
| 13560 | 3 one line | ||
| 13561 | one line | ||
| 13562 | one line | ||
| 13563 | 6 one line | ||
| 13564 | one line | ||
| 13565 | one line | ||
| 13566 | 9 one line | ||
| 13567 | one line | ||
| 13568 | ... | ||
| 13569 | |||
| 13570 | The variable `ps-postscript-code-directory' specifies the directory | ||
| 13571 | where the PostScript prologue file used by ps-print is found. | ||
| 13572 | |||
| 13573 | The variable `ps-line-spacing' determines the line spacing in points, | ||
| 13574 | for ordinary text, when generating PostScript (similar to | ||
| 13575 | `ps-font-size'). | ||
| 13576 | |||
| 13577 | The variable `ps-paragraph-spacing' determines the paragraph spacing, | ||
| 13578 | in points, for ordinary text, when generating PostScript (similar to | ||
| 13579 | `ps-font-size'). | ||
| 13580 | |||
| 13581 | The variable `ps-paragraph-regexp' specifies the paragraph delimiter. | ||
| 13582 | |||
| 13583 | The variable `ps-begin-cut-regexp' and `ps-end-cut-regexp' specify the | ||
| 13584 | start and end of a region to cut out when printing. | ||
| 13585 | |||
| 13586 | ** hideshow changes. | ||
| 13587 | |||
| 13588 | *** now supports hiding of blocks of single line comments (like // for | ||
| 13589 | C++, ; for lisp). | ||
| 13590 | |||
| 13591 | *** Support for java-mode added. | ||
| 13592 | |||
| 13593 | *** When doing `hs-hide-all' it is now possible to also hide the comments | ||
| 13594 | in the file if `hs-hide-comments-when-hiding-all' is set. | ||
| 13595 | |||
| 13596 | *** The new function `hs-hide-initial-comment' hides the comments at | ||
| 13597 | the beginning of the files. Finally those huge RCS logs don't stay in your | ||
| 13598 | way! This is run by default when entering the `hs-minor-mode'. | ||
| 13599 | |||
| 13600 | *** Now uses overlays instead of `selective-display', so is more | ||
| 13601 | robust and a lot faster. | ||
| 13602 | |||
| 13603 | *** A block beginning can span multiple lines. | ||
| 13604 | |||
| 13605 | *** The new variable `hs-show-hidden-short-form' if t, directs hideshow | ||
| 13606 | to show only the beginning of a block when it is hidden. See the | ||
| 13607 | documentation for more details. | ||
| 13608 | |||
| 13609 | ** Changes in Enriched mode. | ||
| 13610 | |||
| 13611 | *** When you visit a file in enriched-mode, Emacs will make sure it is | ||
| 13612 | filled to the current fill-column. This behavior is now independent | ||
| 13613 | of the size of the window. When you save the file, the fill-column in | ||
| 13614 | use is stored as well, so that the whole buffer need not be refilled | ||
| 13615 | the next time unless the fill-column is different. | ||
| 13616 | |||
| 13617 | *** use-hard-newlines is now a minor mode. When it is enabled, Emacs | ||
| 13618 | distinguishes between hard and soft newlines, and treats hard newlines | ||
| 13619 | as paragraph boundaries. Otherwise all newlines inserted are marked | ||
| 13620 | as soft, and paragraph boundaries are determined solely from the text. | ||
| 13621 | |||
| 13622 | ** Font Lock mode | ||
| 13623 | |||
| 13624 | *** Custom support | ||
| 13625 | |||
| 13626 | The variables font-lock-face-attributes, font-lock-display-type and | ||
| 13627 | font-lock-background-mode are now obsolete; the recommended way to specify | ||
| 13628 | the faces to use for Font Lock mode is with M-x customize-group on the new | ||
| 13629 | custom group font-lock-faces. If you set font-lock-face-attributes in your | ||
| 13630 | ~/.emacs file, Font Lock mode will respect its value. However, you should | ||
| 13631 | consider converting from setting that variable to using M-x customize. | ||
| 13632 | |||
| 13633 | You can still use X resources to specify Font Lock face appearances. | ||
| 13634 | |||
| 13635 | *** Maximum decoration | ||
| 13636 | |||
| 13637 | Fontification now uses the maximum level of decoration supported by | ||
| 13638 | default. Previously, fontification used a mode-specific default level | ||
| 13639 | of decoration, which is typically the minimum level of decoration | ||
| 13640 | supported. You can set font-lock-maximum-decoration to nil | ||
| 13641 | to get the old behavior. | ||
| 13642 | |||
| 13643 | *** New support | ||
| 13644 | |||
| 13645 | Support is now provided for Java, Objective-C, AWK and SIMULA modes. | ||
| 13646 | |||
| 13647 | Note that Font Lock mode can be turned on without knowing exactly what modes | ||
| 13648 | support Font Lock mode, via the command global-font-lock-mode. | ||
| 13649 | |||
| 13650 | *** Configurable support | ||
| 13651 | |||
| 13652 | Support for C, C++, Objective-C and Java can be more easily configured for | ||
| 13653 | additional types and classes via the new variables c-font-lock-extra-types, | ||
| 13654 | c++-font-lock-extra-types, objc-font-lock-extra-types and, you guessed it, | ||
| 13655 | java-font-lock-extra-types. These value of each of these variables should be a | ||
| 13656 | list of regexps matching the extra type names. For example, the default value | ||
| 13657 | of c-font-lock-extra-types is ("\\sw+_t") which means fontification follows the | ||
| 13658 | convention that C type names end in _t. This results in slower fontification. | ||
| 13659 | |||
| 13660 | Of course, you can change the variables that specify fontification in whatever | ||
| 13661 | way you wish, typically by adding regexps. However, these new variables make | ||
| 13662 | it easier to make specific and common changes for the fontification of types. | ||
| 13663 | |||
| 13664 | *** Adding highlighting patterns to existing support | ||
| 13665 | |||
| 13666 | You can use the new function font-lock-add-keywords to add your own | ||
| 13667 | highlighting patterns, such as for project-local or user-specific constructs, | ||
| 13668 | for any mode. | ||
| 13669 | |||
| 13670 | For example, to highlight `FIXME:' words in C comments, put: | ||
| 13671 | |||
| 13672 | (font-lock-add-keywords 'c-mode '(("\\<FIXME:" 0 font-lock-warning-face t))) | ||
| 13673 | |||
| 13674 | in your ~/.emacs. | ||
| 13675 | |||
| 13676 | *** New faces | ||
| 13677 | |||
| 13678 | Font Lock now defines two new faces, font-lock-builtin-face and | ||
| 13679 | font-lock-warning-face. These are intended to highlight builtin keywords, | ||
| 13680 | distinct from a language's normal keywords, and objects that should be brought | ||
| 13681 | to user attention, respectively. Various modes now use these new faces. | ||
| 13682 | |||
| 13683 | *** Changes to fast-lock support mode | ||
| 13684 | |||
| 13685 | The fast-lock package, one of the two Font Lock support modes, can now process | ||
| 13686 | cache files silently. You can use the new variable fast-lock-verbose, in the | ||
| 13687 | same way as font-lock-verbose, to control this feature. | ||
| 13688 | |||
| 13689 | *** Changes to lazy-lock support mode | ||
| 13690 | |||
| 13691 | The lazy-lock package, one of the two Font Lock support modes, can now fontify | ||
| 13692 | according to the true syntactic context relative to other lines. You can use | ||
| 13693 | the new variable lazy-lock-defer-contextually to control this feature. If | ||
| 13694 | non-nil, changes to the buffer will cause subsequent lines in the buffer to be | ||
| 13695 | refontified after lazy-lock-defer-time seconds of idle time. If nil, then only | ||
| 13696 | the modified lines will be refontified; this is the same as the previous Lazy | ||
| 13697 | Lock mode behavior and the behavior of Font Lock mode. | ||
| 13698 | |||
| 13699 | This feature is useful in modes where strings or comments can span lines. | ||
| 13700 | For example, if a string or comment terminating character is deleted, then if | ||
| 13701 | this feature is enabled subsequent lines in the buffer will be correctly | ||
| 13702 | refontified to reflect their new syntactic context. Previously, only the line | ||
| 13703 | containing the deleted character would be refontified and you would have to use | ||
| 13704 | the command M-o M-o (font-lock-fontify-block) to refontify some lines. | ||
| 13705 | |||
| 13706 | As a consequence of this new feature, two other variables have changed: | ||
| 13707 | |||
| 13708 | Variable `lazy-lock-defer-driven' is renamed `lazy-lock-defer-on-scrolling'. | ||
| 13709 | Variable `lazy-lock-defer-time' can now only be a time, i.e., a number. | ||
| 13710 | Buffer modes for which on-the-fly deferral applies can be specified via the | ||
| 13711 | new variable `lazy-lock-defer-on-the-fly'. | ||
| 13712 | |||
| 13713 | If you set these variables in your ~/.emacs, then you may have to change those | ||
| 13714 | settings. | ||
| 13715 | |||
| 13716 | ** Ada mode changes. | ||
| 13717 | |||
| 13718 | *** There is now better support for using find-file.el with Ada mode. | ||
| 13719 | If you switch between spec and body, the cursor stays in the same | ||
| 13720 | procedure (modulo overloading). If a spec has no body file yet, but | ||
| 13721 | you try to switch to its body file, Ada mode now generates procedure | ||
| 13722 | stubs. | ||
| 13723 | |||
| 13724 | *** There are two new commands: | ||
| 13725 | - `ada-make-local' : invokes gnatmake on the current buffer | ||
| 13726 | - `ada-check-syntax' : check syntax of current buffer. | ||
| 13727 | |||
| 13728 | The user options `ada-compiler-make', `ada-make-options', | ||
| 13729 | `ada-language-version', `ada-compiler-syntax-check', and | ||
| 13730 | `ada-compile-options' are used within these commands. | ||
| 13731 | |||
| 13732 | *** Ada mode can now work with Outline minor mode. The outline level | ||
| 13733 | is calculated from the indenting, not from syntactic constructs. | ||
| 13734 | Outlining does not work if your code is not correctly indented. | ||
| 13735 | |||
| 13736 | *** The new function `ada-gnat-style' converts the buffer to the style of | ||
| 13737 | formatting used in GNAT. It places two blanks after a comment start, | ||
| 13738 | places one blank between a word end and an opening '(', and puts one | ||
| 13739 | space between a comma and the beginning of a word. | ||
| 13740 | |||
| 13741 | ** Scheme mode changes. | ||
| 13742 | |||
| 13743 | *** Scheme mode indentation now uses many of the facilities of Lisp | ||
| 13744 | mode; therefore, the variables to customize it are the variables used | ||
| 13745 | for Lisp mode which have names starting with `lisp-'. The variables | ||
| 13746 | with names starting with `scheme-' which used to do this no longer | ||
| 13747 | have any effect. | ||
| 13748 | |||
| 13749 | If you want to use different indentation for Scheme and Lisp, this is | ||
| 13750 | still possible, but now you must do it by adding a hook to | ||
| 13751 | scheme-mode-hook, which could work by setting the `lisp-' indentation | ||
| 13752 | variables as buffer-local variables. | ||
| 13753 | |||
| 13754 | *** DSSSL mode is a variant of Scheme mode, for editing DSSSL scripts. | ||
| 13755 | Use M-x dsssl-mode. | ||
| 13756 | |||
| 13757 | ** Changes to the emacsclient program | ||
| 13758 | |||
| 13759 | *** If a socket can't be found, and environment variables LOGNAME or | ||
| 13760 | USER are set, emacsclient now looks for a socket based on the UID | ||
| 13761 | associated with the name. That is an emacsclient running as root | ||
| 13762 | can connect to an Emacs server started by a non-root user. | ||
| 13763 | |||
| 13764 | *** The emacsclient program now accepts an option --no-wait which tells | ||
| 13765 | it to return immediately without waiting for you to "finish" the | ||
| 13766 | buffer in Emacs. | ||
| 13767 | |||
| 13768 | *** The new option --alternate-editor allows to specify an editor to | ||
| 13769 | use if Emacs is not running. The environment variable | ||
| 13770 | ALTERNATE_EDITOR can be used for the same effect; the command line | ||
| 13771 | option takes precedence. | ||
| 13772 | |||
| 13773 | ** M-x eldoc-mode enables a minor mode in which the echo area | ||
| 13774 | constantly shows the parameter list for function being called at point | ||
| 13775 | (in Emacs Lisp and Lisp Interaction modes only). | ||
| 13776 | |||
| 13777 | ** C-x n d now runs the new command narrow-to-defun, | ||
| 13778 | which narrows the accessible parts of the buffer to just | ||
| 13779 | the current defun. | ||
| 13780 | |||
| 13781 | ** Emacs now handles the `--' argument in the standard way; all | ||
| 13782 | following arguments are treated as ordinary file names. | ||
| 13783 | |||
| 13784 | ** On MSDOS and Windows, the bookmark file is now called _emacs.bmk, | ||
| 13785 | and the saved desktop file is now called _emacs.desktop (truncated if | ||
| 13786 | necessary). | ||
| 13787 | |||
| 13788 | ** When you kill a buffer that visits a file, | ||
| 13789 | if there are any registers that save positions in the file, | ||
| 13790 | these register values no longer become completely useless. | ||
| 13791 | If you try to go to such a register with C-x j, then you are | ||
| 13792 | asked whether to visit the file again. If you say yes, | ||
| 13793 | it visits the file and then goes to the same position. | ||
| 13794 | |||
| 13795 | ** When you visit a file that changes frequently outside Emacs--for | ||
| 13796 | example, a log of output from a process that continues to run--it may | ||
| 13797 | be useful for Emacs to revert the file without querying you whenever | ||
| 13798 | you visit the file afresh with C-x C-f. | ||
| 13799 | |||
| 13800 | You can request this behavior for certain files by setting the | ||
| 13801 | variable revert-without-query to a list of regular expressions. If a | ||
| 13802 | file's name matches any of these regular expressions, find-file and | ||
| 13803 | revert-buffer revert the buffer without asking for permission--but | ||
| 13804 | only if you have not edited the buffer text yourself. | ||
| 13805 | |||
| 13806 | ** set-default-font has been renamed to set-frame-font | ||
| 13807 | since it applies only to the current frame. | ||
| 13808 | |||
| 13809 | ** In TeX mode, you can use the variable tex-main-file to specify the | ||
| 13810 | file for tex-file to run TeX on. (By default, tex-main-file is nil, | ||
| 13811 | and tex-file runs TeX on the current visited file.) | ||
| 13812 | |||
| 13813 | This is useful when you are editing a document that consists of | ||
| 13814 | multiple files. In each of the included files, you can set up a local | ||
| 13815 | variable list which specifies the top-level file of your document for | ||
| 13816 | tex-main-file. Then tex-file will run TeX on the whole document | ||
| 13817 | instead of just the file you are editing. | ||
| 13818 | |||
| 13819 | ** RefTeX mode | ||
| 13820 | |||
| 13821 | RefTeX mode is a new minor mode with special support for \label, \ref | ||
| 13822 | and \cite macros in LaTeX documents. RefTeX distinguishes labels of | ||
| 13823 | different environments (equation, figure, ...) and has full support for | ||
| 13824 | multifile documents. To use it, select a buffer with a LaTeX document and | ||
| 13825 | turn the mode on with M-x reftex-mode. Here are the main user commands: | ||
| 13826 | |||
| 13827 | C-c ( reftex-label | ||
| 13828 | Creates a label semi-automatically. RefTeX is context sensitive and | ||
| 13829 | knows which kind of label is needed. | ||
| 13830 | |||
| 13831 | C-c ) reftex-reference | ||
| 13832 | Offers in a menu all labels in the document, along with context of the | ||
| 13833 | label definition. The selected label is referenced as \ref{LABEL}. | ||
| 13834 | |||
| 13835 | C-c [ reftex-citation | ||
| 13836 | Prompts for a regular expression and displays a list of matching BibTeX | ||
| 13837 | database entries. The selected entry is cited with a \cite{KEY} macro. | ||
| 13838 | |||
| 13839 | C-c & reftex-view-crossref | ||
| 13840 | Views the cross reference of a \ref or \cite command near point. | ||
| 13841 | |||
| 13842 | C-c = reftex-toc | ||
| 13843 | Shows a table of contents of the (multifile) document. From there you | ||
| 13844 | can quickly jump to every section. | ||
| 13845 | |||
| 13846 | Under X, RefTeX installs a "Ref" menu in the menu bar, with additional | ||
| 13847 | commands. Press `?' to get help when a prompt mentions this feature. | ||
| 13848 | Full documentation and customization examples are in the file | ||
| 13849 | reftex.el. You can use the finder to view the file documentation: | ||
| 13850 | C-h p --> tex --> reftex.el | ||
| 13851 | |||
| 13852 | ** Changes in BibTeX mode. | ||
| 13853 | |||
| 13854 | *** Info documentation is now available. | ||
| 13855 | |||
| 13856 | *** Don't allow parentheses in string constants anymore. This confused | ||
| 13857 | both the BibTeX program and Emacs BibTeX mode. | ||
| 13858 | |||
| 13859 | *** Renamed variable bibtex-mode-user-optional-fields to | ||
| 13860 | bibtex-user-optional-fields. | ||
| 13861 | |||
| 13862 | *** Removed variable bibtex-include-OPTannote | ||
| 13863 | (use bibtex-user-optional-fields instead). | ||
| 13864 | |||
| 13865 | *** New interactive functions to copy and kill fields and complete | ||
| 13866 | entries to the BibTeX kill ring, from where they can be yanked back by | ||
| 13867 | appropriate functions. | ||
| 13868 | |||
| 13869 | *** New interactive functions for repositioning and marking of | ||
| 13870 | entries. They are bound by default to C-M-l and C-M-h. | ||
| 13871 | |||
| 13872 | *** New hook bibtex-clean-entry-hook. It is called after entry has | ||
| 13873 | been cleaned. | ||
| 13874 | |||
| 13875 | *** New variable bibtex-field-delimiters, which replaces variables | ||
| 13876 | bibtex-field-{left|right}-delimiter. | ||
| 13877 | |||
| 13878 | *** New variable bibtex-entry-delimiters to determine how entries | ||
| 13879 | shall be delimited. | ||
| 13880 | |||
| 13881 | *** Allow preinitialization of fields. See documentation of | ||
| 13882 | bibtex-user-optional-fields, bibtex-entry-field-alist, and | ||
| 13883 | bibtex-include-OPTkey for details. | ||
| 13884 | |||
| 13885 | *** Book and InBook entries require either an author or an editor | ||
| 13886 | field. This is now supported by bibtex.el. Alternative fields are | ||
| 13887 | prefixed with `ALT'. | ||
| 13888 | |||
| 13889 | *** New variable bibtex-entry-format, which replaces variable | ||
| 13890 | bibtex-clean-entry-zap-empty-opts and allows specification of many | ||
| 13891 | formatting options performed on cleaning an entry (see variable | ||
| 13892 | documentation). | ||
| 13893 | |||
| 13894 | *** Even more control on how automatic keys are generated. See | ||
| 13895 | documentation of bibtex-generate-autokey for details. Transcriptions | ||
| 13896 | for foreign languages other than German are now handled, too. | ||
| 13897 | |||
| 13898 | *** New boolean user option bibtex-comma-after-last-field to decide if | ||
| 13899 | comma should be inserted at end of last field. | ||
| 13900 | |||
| 13901 | *** New boolean user option bibtex-align-at-equal-sign to determine if | ||
| 13902 | alignment should be made at left side of field contents or at equal | ||
| 13903 | signs. New user options to control entry layout (e.g. indentation). | ||
| 13904 | |||
| 13905 | *** New function bibtex-fill-entry to realign entries. | ||
| 13906 | |||
| 13907 | *** New function bibtex-reformat to reformat region or buffer. | ||
| 13908 | |||
| 13909 | *** New function bibtex-convert-alien to convert a BibTeX database | ||
| 13910 | from alien sources. | ||
| 13911 | |||
| 13912 | *** New function bibtex-complete-key (similar to bibtex-complete-string) | ||
| 13913 | to complete prefix to a key defined in buffer. Mainly useful in | ||
| 13914 | crossref entries. | ||
| 13915 | |||
| 13916 | *** New function bibtex-count-entries to count entries in buffer or | ||
| 13917 | region. | ||
| 13918 | |||
| 13919 | *** Added support for imenu. | ||
| 13920 | |||
| 13921 | *** The function `bibtex-validate' now checks current region instead | ||
| 13922 | of buffer if mark is active. Now it shows all errors of buffer in a | ||
| 13923 | `compilation mode' buffer. You can use the normal commands (e.g. | ||
| 13924 | `next-error') for compilation modes to jump to errors. | ||
| 13925 | |||
| 13926 | *** New variable `bibtex-string-file-path' to determine where the files | ||
| 13927 | from `bibtex-string-files' are searched. | ||
| 13928 | |||
| 13929 | ** Iso Accents mode now supports Latin-3 as an alternative. | ||
| 13930 | |||
| 13931 | ** The command next-error now opens blocks hidden by hideshow. | ||
| 13932 | |||
| 13933 | ** The function using-unix-filesystems has been replaced by the | ||
| 13934 | functions add-untranslated-filesystem and remove-untranslated-filesystem. | ||
| 13935 | Each of these functions takes the name of a drive letter or directory | ||
| 13936 | as an argument. | ||
| 13937 | |||
| 13938 | When a filesystem is added as untranslated, all files on it are read | ||
| 13939 | and written in binary mode (no cr/lf translation is performed). | ||
| 13940 | |||
| 13941 | ** browse-url changes | ||
| 13942 | |||
| 13943 | *** New methods for: Grail (browse-url-generic), MMM (browse-url-mmm), | ||
| 13944 | Lynx in a separate xterm (browse-url-lynx-xterm) or in an Emacs window | ||
| 13945 | (browse-url-lynx-emacs), remote W3 (browse-url-w3-gnudoit), generic | ||
| 13946 | non-remote-controlled browsers (browse-url-generic) and associated | ||
| 13947 | customization variables. | ||
| 13948 | |||
| 13949 | *** New commands `browse-url-of-region' and `browse-url'. | ||
| 13950 | |||
| 13951 | *** URLs marked up with <URL:...> (RFC1738) work if broken across | ||
| 13952 | lines. Browsing methods can be associated with URL regexps | ||
| 13953 | (e.g. mailto: URLs) via `browse-url-browser-function'. | ||
| 13954 | |||
| 13955 | ** Changes in Ediff | ||
| 13956 | |||
| 13957 | *** Clicking Mouse-2 on a brief command description in Ediff control panel | ||
| 13958 | pops up the Info file for this command. | ||
| 13959 | |||
| 13960 | *** There is now a variable, ediff-autostore-merges, which controls whether | ||
| 13961 | the result of a merge is saved in a file. By default, this is done only when | ||
| 13962 | merge is done from a session group (eg, when merging files in two different | ||
| 13963 | directories). | ||
| 13964 | |||
| 13965 | *** Since Emacs 19.31 (this hasn't been announced before), Ediff can compare | ||
| 13966 | and merge groups of files residing in different directories, or revisions of | ||
| 13967 | files in the same directory. | ||
| 13968 | |||
| 13969 | *** Since Emacs 19.31, Ediff can apply multi-file patches interactively. | ||
| 13970 | The patches must be in the context format or GNU unified format. (The bug | ||
| 13971 | related to the GNU format has now been fixed.) | ||
| 13972 | |||
| 13973 | ** Changes in Viper | ||
| 13974 | |||
| 13975 | *** The startup file is now .viper instead of .vip | ||
| 13976 | *** All variable/function names have been changed to start with viper- | ||
| 13977 | instead of vip-. | ||
| 13978 | *** C-\ now simulates the meta-key in all Viper states. | ||
| 13979 | *** C-z in Insert state now escapes to Vi for the duration of the next | ||
| 13980 | Viper command. In Vi and Insert states, C-z behaves as before. | ||
| 13981 | *** C-c \ escapes to Vi for one command if Viper is in Insert or Emacs states. | ||
| 13982 | *** _ is no longer the meta-key in Vi state. | ||
| 13983 | *** The variable viper-insert-state-cursor-color can be used to change cursor | ||
| 13984 | color when Viper is in insert state. | ||
| 13985 | *** If search lands the cursor near the top or the bottom of the window, | ||
| 13986 | Viper pulls the window up or down to expose more context. The variable | ||
| 13987 | viper-adjust-window-after-search controls this behavior. | ||
| 13988 | |||
| 13989 | ** Etags changes. | ||
| 13990 | |||
| 13991 | *** In C, C++, Objective C and Java, Etags tags global variables by | ||
| 13992 | default. The resulting tags files are inflated by 30% on average. | ||
| 13993 | Use --no-globals to turn this feature off. Etags can also tag | ||
| 13994 | variables which are members of structure-like constructs, but it does | ||
| 13995 | not by default. Use --members to turn this feature on. | ||
| 13996 | |||
| 13997 | *** C++ member functions are now recognized as tags. | ||
| 13998 | |||
| 13999 | *** Java is tagged like C++. In addition, "extends" and "implements" | ||
| 14000 | constructs are tagged. Files are recognized by the extension .java. | ||
| 14001 | |||
| 14002 | *** Etags can now handle programs written in Postscript. Files are | ||
| 14003 | recognized by the extensions .ps and .pdb (Postscript with C syntax). | ||
| 14004 | In Postscript, tags are lines that start with a slash. | ||
| 14005 | |||
| 14006 | *** Etags now handles Objective C and Objective C++ code. The usual C and | ||
| 14007 | C++ tags are recognized in these languages; in addition, etags | ||
| 14008 | recognizes special Objective C syntax for classes, class categories, | ||
| 14009 | methods and protocols. | ||
| 14010 | |||
| 14011 | *** Etags also handles Cobol. Files are recognized by the extension | ||
| 14012 | .cobol. The tagged lines are those containing a word that begins in | ||
| 14013 | column 8 and ends in a full stop, i.e. anything that could be a | ||
| 14014 | paragraph name. | ||
| 14015 | |||
| 14016 | *** Regexps in Etags now support intervals, as in ed or grep. The syntax of | ||
| 14017 | an interval is \{M,N\}, and it means to match the preceding expression | ||
| 14018 | at least M times and as many as N times. | ||
| 14019 | |||
| 14020 | ** The format for specifying a custom format for time-stamp to insert | ||
| 14021 | in files has changed slightly. | ||
| 14022 | |||
| 14023 | With the new enhancements to the functionality of format-time-string, | ||
| 14024 | time-stamp-format will change to be eventually compatible with it. | ||
| 14025 | This conversion is being done in two steps to maintain compatibility | ||
| 14026 | with old time-stamp-format values. | ||
| 14027 | |||
| 14028 | In the new scheme, alternate case is signified by the number-sign | ||
| 14029 | (`#') modifier, rather than changing the case of the format character. | ||
| 14030 | This feature is as yet incompletely implemented for compatibility | ||
| 14031 | reasons. | ||
| 14032 | |||
| 14033 | In the old time-stamp-format, all numeric fields defaulted to their | ||
| 14034 | natural width. (With format-time-string, each format has a | ||
| 14035 | fixed-width default.) In this version, you can specify the colon | ||
| 14036 | (`:') modifier to a numeric conversion to mean "give me the historical | ||
| 14037 | time-stamp-format width default." Do not use colon if you are | ||
| 14038 | specifying an explicit width, as in "%02d". | ||
| 14039 | |||
| 14040 | Numbers are no longer truncated to the requested width, except in the | ||
| 14041 | case of "%02y", which continues to give a two-digit year. Digit | ||
| 14042 | truncation probably wasn't being used for anything else anyway. | ||
| 14043 | |||
| 14044 | The new formats will work with old versions of Emacs. New formats are | ||
| 14045 | being recommended now to allow time-stamp-format to change in the | ||
| 14046 | future to be compatible with format-time-string. The new forms being | ||
| 14047 | recommended now will continue to work then. | ||
| 14048 | |||
| 14049 | See the documentation string for the variable time-stamp-format for | ||
| 14050 | details. | ||
| 14051 | |||
| 14052 | ** There are some additional major modes: | ||
| 14053 | |||
| 14054 | dcl-mode, for editing VMS DCL files. | ||
| 14055 | m4-mode, for editing files of m4 input. | ||
| 14056 | meta-mode, for editing MetaFont and MetaPost source files. | ||
| 14057 | |||
| 14058 | ** In Shell mode, the command shell-copy-environment-variable lets you | ||
| 14059 | copy the value of a specified environment variable from the subshell | ||
| 14060 | into Emacs. | ||
| 14061 | |||
| 14062 | ** New Lisp packages include: | ||
| 14063 | |||
| 14064 | *** battery.el displays battery status for laptops. | ||
| 14065 | |||
| 14066 | *** M-x bruce (named after Lenny Bruce) is a program that might | ||
| 14067 | be used for adding some indecent words to your email. | ||
| 14068 | |||
| 14069 | *** M-x crisp-mode enables an emulation for the CRiSP editor. | ||
| 14070 | |||
| 14071 | *** M-x dirtrack arranges for better tracking of directory changes | ||
| 14072 | in shell buffers. | ||
| 14073 | |||
| 14074 | *** The new library elint.el provides for linting of Emacs Lisp code. | ||
| 14075 | See the documentation for `elint-initialize', `elint-current-buffer' | ||
| 14076 | and `elint-defun'. | ||
| 14077 | |||
| 14078 | *** M-x expand-add-abbrevs defines a special kind of abbrev which is | ||
| 14079 | meant for programming constructs. These abbrevs expand like ordinary | ||
| 14080 | ones, when you type SPC, but only at the end of a line and not within | ||
| 14081 | strings or comments. | ||
| 14082 | |||
| 14083 | These abbrevs can act as templates: you can define places within an | ||
| 14084 | abbrev for insertion of additional text. Once you expand the abbrev, | ||
| 14085 | you can then use C-x a p and C-x a n to move back and forth to these | ||
| 14086 | insertion points. Thus you can conveniently insert additional text | ||
| 14087 | at these points. | ||
| 14088 | |||
| 14089 | *** filecache.el remembers the location of files so that you | ||
| 14090 | can visit them by short forms of their names. | ||
| 14091 | |||
| 14092 | *** find-func.el lets you find the definition of the user-loaded | ||
| 14093 | Emacs Lisp function at point. | ||
| 14094 | |||
| 14095 | *** M-x handwrite converts text to a "handwritten" picture. | ||
| 14096 | |||
| 14097 | *** M-x iswitchb-buffer is a command for switching to a buffer, much like | ||
| 14098 | switch-buffer, but it reads the argument in a more helpful way. | ||
| 14099 | |||
| 14100 | *** M-x landmark implements a neural network for landmark learning. | ||
| 14101 | |||
| 14102 | *** M-x locate provides a convenient interface to the `locate' program. | ||
| 14103 | |||
| 14104 | *** M4 mode is a new mode for editing files of m4 input. | ||
| 14105 | |||
| 14106 | *** mantemp.el creates C++ manual template instantiations | ||
| 14107 | from the GCC error messages which indicate which instantiations are needed. | ||
| 14108 | |||
| 14109 | *** mouse-copy.el provides a one-click copy and move feature. | ||
| 14110 | You can drag a region with M-mouse-1, and it is automatically | ||
| 14111 | inserted at point. M-Shift-mouse-1 deletes the text from its | ||
| 14112 | original place after inserting the copy. | ||
| 14113 | |||
| 14114 | *** mouse-drag.el lets you do scrolling by dragging Mouse-2 | ||
| 14115 | on the buffer. | ||
| 14116 | |||
| 14117 | You click the mouse and move; that distance either translates into the | ||
| 14118 | velocity to scroll (with mouse-drag-throw) or the distance to scroll | ||
| 14119 | (with mouse-drag-drag). Horizontal scrolling is enabled when needed. | ||
| 14120 | |||
| 14121 | Enable mouse-drag with: | ||
| 14122 | (global-set-key [down-mouse-2] 'mouse-drag-throw) | ||
| 14123 | -or- | ||
| 14124 | (global-set-key [down-mouse-2] 'mouse-drag-drag) | ||
| 14125 | |||
| 14126 | *** mspools.el is useful for determining which mail folders have | ||
| 14127 | mail waiting to be read in them. It works with procmail. | ||
| 14128 | |||
| 14129 | *** Octave mode is a major mode for editing files of input for Octave. | ||
| 14130 | It comes with a facility for communicating with an Octave subprocess. | ||
| 14131 | |||
| 14132 | *** ogonek | ||
| 14133 | |||
| 14134 | The ogonek package provides functions for changing the coding of | ||
| 14135 | Polish diacritic characters in buffers. Codings known from various | ||
| 14136 | platforms are supported such as ISO8859-2, Mazovia, IBM Latin2, and | ||
| 14137 | TeX. For example, you can change the coding from Mazovia to | ||
| 14138 | ISO8859-2. Another example is a change of coding from ISO8859-2 to | ||
| 14139 | prefix notation (in which `/a' stands for the aogonek character, for | ||
| 14140 | instance) and vice versa. | ||
| 14141 | |||
| 14142 | To use this package load it using | ||
| 14143 | M-x load-library [enter] ogonek | ||
| 14144 | Then, you may get an explanation by calling one of | ||
| 14145 | M-x ogonek-jak -- in Polish | ||
| 14146 | M-x ogonek-how -- in English | ||
| 14147 | The info specifies the commands and variables provided as well as the | ||
| 14148 | ways of customization in `.emacs'. | ||
| 14149 | |||
| 14150 | *** Interface to ph. | ||
| 14151 | |||
| 14152 | Emacs provides a client interface to CCSO Nameservers (ph/qi) | ||
| 14153 | |||
| 14154 | The CCSO nameserver is used in many universities to provide directory | ||
| 14155 | services about people. ph.el provides a convenient Emacs interface to | ||
| 14156 | these servers. | ||
| 14157 | |||
| 14158 | *** uce.el is useful for replying to unsolicited commercial email. | ||
| 14159 | |||
| 14160 | *** vcursor.el implements a "virtual cursor" feature. | ||
| 14161 | You can move the virtual cursor with special commands | ||
| 14162 | while the real cursor does not move. | ||
| 14163 | |||
| 14164 | *** webjump.el is a "hot list" package which you can set up | ||
| 14165 | for visiting your favorite web sites. | ||
| 14166 | |||
| 14167 | *** M-x winner-mode is a minor mode which saves window configurations, | ||
| 14168 | so you can move back to other configurations that you have recently used. | ||
| 14169 | |||
| 14170 | ** movemail change | ||
| 14171 | |||
| 14172 | Movemail no longer needs to be installed setuid root in order for POP | ||
| 14173 | mail retrieval to function properly. This is because it no longer | ||
| 14174 | supports the RPOP (reserved-port POP) protocol; instead, it uses the | ||
| 14175 | user's POP password to authenticate to the mail server. | ||
| 14176 | |||
| 14177 | This change was made earlier, but not reported in NEWS before. | ||
| 14178 | |||
| 14179 | * Emacs 20.1 changes for MS-DOS and MS-Windows. | ||
| 14180 | |||
| 14181 | ** Changes in handling MS-DOS/MS-Windows text files. | ||
| 14182 | |||
| 14183 | Emacs handles three different conventions for representing | ||
| 14184 | end-of-line: CRLF for MSDOS, LF for Unix and GNU, and CR (used on the | ||
| 14185 | Macintosh). Emacs determines which convention is used in a specific | ||
| 14186 | file based on the contents of that file (except for certain special | ||
| 14187 | file names), and when it saves the file, it uses the same convention. | ||
| 14188 | |||
| 14189 | To save the file and change the end-of-line convention, you can use | ||
| 14190 | C-x RET f (set-buffer-file-coding-system) to specify a different | ||
| 14191 | coding system for the buffer. Then, when you save the file, the newly | ||
| 14192 | specified coding system will take effect. For example, to save with | ||
| 14193 | LF, specify undecided-unix (or some other ...-unix coding system); to | ||
| 14194 | save with CRLF, specify undecided-dos. | ||
| 14195 | |||
| 14196 | * Lisp Changes in Emacs 20.1 | ||
| 14197 | |||
| 14198 | ** Byte-compiled files made with Emacs 20 will, in general, work in | ||
| 14199 | Emacs 19 as well, as long as the source code runs in Emacs 19. And | ||
| 14200 | vice versa: byte-compiled files made with Emacs 19 should also run in | ||
| 14201 | Emacs 20, as long as the program itself works in Emacs 20. | ||
| 14202 | |||
| 14203 | ** Windows-specific functions and variables have been renamed | ||
| 14204 | to start with w32- instead of win32-. | ||
| 14205 | |||
| 14206 | In hacker language, calling something a "win" is a form of praise. We | ||
| 14207 | don't want to praise a non-free Microsoft system, so we don't call it | ||
| 14208 | "win". | ||
| 14209 | |||
| 14210 | ** Basic Lisp changes | ||
| 14211 | |||
| 14212 | *** A symbol whose name starts with a colon now automatically | ||
| 14213 | evaluates to itself. Therefore such a symbol can be used as a constant. | ||
| 14214 | |||
| 14215 | *** The defined purpose of `defconst' has been changed. It should now | ||
| 14216 | be used only for values that should not be changed whether by a program | ||
| 14217 | or by the user. | ||
| 14218 | |||
| 14219 | The actual behavior of defconst has not been changed. | ||
| 14220 | |||
| 14221 | *** There are new macros `when' and `unless' | ||
| 14222 | |||
| 14223 | (when CONDITION BODY...) is short for (if CONDITION (progn BODY...)) | ||
| 14224 | (unless CONDITION BODY...) is short for (if CONDITION nil BODY...) | ||
| 14225 | |||
| 14226 | *** Emacs now defines functions caar, cadr, cdar and cddr with their | ||
| 14227 | usual Lisp meanings. For example, caar returns the car of the car of | ||
| 14228 | its argument. | ||
| 14229 | |||
| 14230 | *** equal, when comparing strings, now ignores their text properties. | ||
| 14231 | |||
| 14232 | *** The new function `functionp' tests whether an object is a function. | ||
| 14233 | |||
| 14234 | *** arrayp now returns t for char-tables and bool-vectors. | ||
| 14235 | |||
| 14236 | *** Certain primitives which use characters (as integers) now get an | ||
| 14237 | error if the integer is not a valid character code. These primitives | ||
| 14238 | include insert-char, char-to-string, and the %c construct in the | ||
| 14239 | `format' function. | ||
| 14240 | |||
| 14241 | *** The `require' function now insists on adding a suffix, either .el | ||
| 14242 | or .elc, to the file name. Thus, (require 'foo) will not use a file | ||
| 14243 | whose name is just foo. It insists on foo.el or foo.elc. | ||
| 14244 | |||
| 14245 | *** The `autoload' function, when the file name does not contain | ||
| 14246 | either a directory name or the suffix .el or .elc, insists on | ||
| 14247 | adding one of these suffixes. | ||
| 14248 | |||
| 14249 | *** string-to-number now takes an optional second argument BASE | ||
| 14250 | which specifies the base to use when converting an integer. | ||
| 14251 | If BASE is omitted, base 10 is used. | ||
| 14252 | |||
| 14253 | We have not implemented other radices for floating point numbers, | ||
| 14254 | because that would be much more work and does not seem useful. | ||
| 14255 | |||
| 14256 | *** substring now handles vectors as well as strings. | ||
| 14257 | |||
| 14258 | *** The Common Lisp function eql is no longer defined normally. | ||
| 14259 | You must load the `cl' library to define it. | ||
| 14260 | |||
| 14261 | *** The new macro `with-current-buffer' lets you evaluate an expression | ||
| 14262 | conveniently with a different current buffer. It looks like this: | ||
| 14263 | |||
| 14264 | (with-current-buffer BUFFER BODY-FORMS...) | ||
| 14265 | |||
| 14266 | BUFFER is the expression that says which buffer to use. | ||
| 14267 | BODY-FORMS say what to do in that buffer. | ||
| 14268 | |||
| 14269 | *** The new primitive `save-current-buffer' saves and restores the | ||
| 14270 | choice of current buffer, like `save-excursion', but without saving or | ||
| 14271 | restoring the value of point or the mark. `with-current-buffer' | ||
| 14272 | works using `save-current-buffer'. | ||
| 14273 | |||
| 14274 | *** The new macro `with-temp-file' lets you do some work in a new buffer and | ||
| 14275 | write the output to a specified file. Like `progn', it returns the value | ||
| 14276 | of the last form. | ||
| 14277 | |||
| 14278 | *** The new macro `with-temp-buffer' lets you do some work in a new buffer, | ||
| 14279 | which is discarded after use. Like `progn', it returns the value of the | ||
| 14280 | last form. If you wish to return the buffer contents, use (buffer-string) | ||
| 14281 | as the last form. | ||
| 14282 | |||
| 14283 | *** The new function split-string takes a string, splits it at certain | ||
| 14284 | characters, and returns a list of the substrings in between the | ||
| 14285 | matches. | ||
| 14286 | |||
| 14287 | For example, (split-string "foo bar lose" " +") returns ("foo" "bar" "lose"). | ||
| 14288 | |||
| 14289 | *** The new macro with-output-to-string executes some Lisp expressions | ||
| 14290 | with standard-output set up so that all output feeds into a string. | ||
| 14291 | Then it returns that string. | ||
| 14292 | |||
| 14293 | For example, if the current buffer name is `foo', | ||
| 14294 | |||
| 14295 | (with-output-to-string | ||
| 14296 | (princ "The buffer is ") | ||
| 14297 | (princ (buffer-name))) | ||
| 14298 | |||
| 14299 | returns "The buffer is foo". | ||
| 14300 | |||
| 14301 | ** Non-ASCII characters are now supported, if enable-multibyte-characters | ||
| 14302 | is non-nil. | ||
| 14303 | |||
| 14304 | These characters have character codes above 256. When inserted in the | ||
| 14305 | buffer or stored in a string, they are represented as multibyte | ||
| 14306 | characters that occupy several buffer positions each. | ||
| 14307 | |||
| 14308 | *** When enable-multibyte-characters is non-nil, a single character in | ||
| 14309 | a buffer or string can be two or more bytes (as many as four). | ||
| 14310 | |||
| 14311 | Buffers and strings are still made up of unibyte elements; | ||
| 14312 | character positions and string indices are always measured in bytes. | ||
| 14313 | Therefore, moving forward one character can increase the buffer | ||
| 14314 | position by 2, 3 or 4. The function forward-char moves by whole | ||
| 14315 | characters, and therefore is no longer equivalent to | ||
| 14316 | (lambda (n) (goto-char (+ (point) n))). | ||
| 14317 | |||
| 14318 | ASCII characters (codes 0 through 127) are still single bytes, always. | ||
| 14319 | Sequences of byte values 128 through 255 are used to represent | ||
| 14320 | non-ASCII characters. These sequences are called "multibyte | ||
| 14321 | characters". | ||
| 14322 | |||
| 14323 | The first byte of a multibyte character is always in the range 128 | ||
| 14324 | through 159 (octal 0200 through 0237). These values are called | ||
| 14325 | "leading codes". The second and subsequent bytes are always in the | ||
| 14326 | range 160 through 255 (octal 0240 through 0377). The first byte, the | ||
| 14327 | leading code, determines how many bytes long the sequence is. | ||
| 14328 | |||
| 14329 | *** The function forward-char moves over characters, and therefore | ||
| 14330 | (forward-char 1) may increase point by more than 1 if it moves over a | ||
| 14331 | multibyte character. Likewise, delete-char always deletes a | ||
| 14332 | character, which may be more than one buffer position. | ||
| 14333 | |||
| 14334 | This means that some Lisp programs, which assume that a character is | ||
| 14335 | always one buffer position, need to be changed. | ||
| 14336 | |||
| 14337 | However, all ASCII characters are always one buffer position. | ||
| 14338 | |||
| 14339 | *** The regexp [\200-\377] no longer matches all non-ASCII characters, | ||
| 14340 | because when enable-multibyte-characters is non-nil, these characters | ||
| 14341 | have codes that are not in the range octal 200 to octal 377. However, | ||
| 14342 | the regexp [^\000-\177] does match all non-ASCII characters, | ||
| 14343 | guaranteed. | ||
| 14344 | |||
| 14345 | *** The function char-boundary-p returns non-nil if position POS is | ||
| 14346 | between two characters in the buffer (not in the middle of a | ||
| 14347 | character). | ||
| 14348 | |||
| 14349 | When the value is non-nil, it says what kind of character follows POS: | ||
| 14350 | |||
| 14351 | 0 if POS is at an ASCII character or at the end of range, | ||
| 14352 | 1 if POS is before a 2-byte length multi-byte form, | ||
| 14353 | 2 if POS is at a head of 3-byte length multi-byte form, | ||
| 14354 | 3 if POS is at a head of 4-byte length multi-byte form, | ||
| 14355 | 4 if POS is at a head of multi-byte form of a composite character. | ||
| 14356 | |||
| 14357 | *** The function char-bytes returns how many bytes the character CHAR uses. | ||
| 14358 | |||
| 14359 | *** Strings can contain multibyte characters. The function | ||
| 14360 | `length' returns the string length counting bytes, which may be | ||
| 14361 | more than the number of characters. | ||
| 14362 | |||
| 14363 | You can include a multibyte character in a string constant by writing | ||
| 14364 | it literally. You can also represent it with a hex escape, | ||
| 14365 | \xNNNNNNN..., using as many digits as necessary. Any character which | ||
| 14366 | is not a valid hex digit terminates this construct. If you want to | ||
| 14367 | follow it with a character that is a hex digit, write backslash and | ||
| 14368 | newline in between; that will terminate the hex escape. | ||
| 14369 | |||
| 14370 | *** The function concat-chars takes arguments which are characters | ||
| 14371 | and returns a string containing those characters. | ||
| 14372 | |||
| 14373 | *** The function sref access a multibyte character in a string. | ||
| 14374 | (sref STRING INDX) returns the character in STRING at INDEX. INDEX | ||
| 14375 | counts from zero. If INDEX is at a position in the middle of a | ||
| 14376 | character, sref signals an error. | ||
| 14377 | |||
| 14378 | *** The function chars-in-string returns the number of characters | ||
| 14379 | in a string. This is less than the length of the string, if the | ||
| 14380 | string contains multibyte characters (the length counts bytes). | ||
| 14381 | |||
| 14382 | *** The function chars-in-region returns the number of characters | ||
| 14383 | in a region from BEG to END. This is less than (- END BEG) if the | ||
| 14384 | region contains multibyte characters (the length counts bytes). | ||
| 14385 | |||
| 14386 | *** The function string-to-list converts a string to a list of | ||
| 14387 | the characters in it. string-to-vector converts a string | ||
| 14388 | to a vector of the characters in it. | ||
| 14389 | |||
| 14390 | *** The function store-substring alters part of the contents | ||
| 14391 | of a string. You call it as follows: | ||
| 14392 | |||
| 14393 | (store-substring STRING IDX OBJ) | ||
| 14394 | |||
| 14395 | This says to alter STRING, by storing OBJ starting at index IDX in | ||
| 14396 | STRING. OBJ may be either a character or a (smaller) string. | ||
| 14397 | This function really does alter the contents of STRING. | ||
| 14398 | Since it is impossible to change the length of an existing string, | ||
| 14399 | it is an error if OBJ doesn't fit within STRING's actual length. | ||
| 14400 | |||
| 14401 | *** char-width returns the width (in columns) of the character CHAR, | ||
| 14402 | if it were displayed in the current buffer and the selected window. | ||
| 14403 | |||
| 14404 | *** string-width returns the width (in columns) of the text in STRING, | ||
| 14405 | if it were displayed in the current buffer and the selected window. | ||
| 14406 | |||
| 14407 | *** truncate-string-to-width shortens a string, if necessary, | ||
| 14408 | to fit within a certain number of columns. (Of course, it does | ||
| 14409 | not alter the string that you give it; it returns a new string | ||
| 14410 | which contains all or just part of the existing string.) | ||
| 14411 | |||
| 14412 | (truncate-string-to-width STR END-COLUMN &optional START-COLUMN PADDING) | ||
| 14413 | |||
| 14414 | This returns the part of STR up to column END-COLUMN. | ||
| 14415 | |||
| 14416 | The optional argument START-COLUMN specifies the starting column. | ||
| 14417 | If this is non-nil, then the first START-COLUMN columns of the string | ||
| 14418 | are not included in the resulting value. | ||
| 14419 | |||
| 14420 | The optional argument PADDING, if non-nil, is a padding character to be added | ||
| 14421 | at the beginning and end the resulting string, to extend it to exactly | ||
| 14422 | WIDTH columns. If PADDING is nil, that means do not pad; then, if STRING | ||
| 14423 | is narrower than WIDTH, the value is equal to STRING. | ||
| 14424 | |||
| 14425 | If PADDING and START-COLUMN are both non-nil, and if there is no clean | ||
| 14426 | place in STRING that corresponds to START-COLUMN (because one | ||
| 14427 | character extends across that column), then the padding character | ||
| 14428 | PADDING is added one or more times at the beginning of the result | ||
| 14429 | string, so that its columns line up as if it really did start at | ||
| 14430 | column START-COLUMN. | ||
| 14431 | |||
| 14432 | *** When the functions in the list after-change-functions are called, | ||
| 14433 | the third argument is the number of bytes in the pre-change text, not | ||
| 14434 | necessarily the number of characters. It is, in effect, the | ||
| 14435 | difference in buffer position between the beginning and the end of the | ||
| 14436 | changed text, before the change. | ||
| 14437 | |||
| 14438 | *** The characters Emacs uses are classified in various character | ||
| 14439 | sets, each of which has a name which is a symbol. In general there is | ||
| 14440 | one character set for each script, not for each language. | ||
| 14441 | |||
| 14442 | **** The function charsetp tests whether an object is a character set name. | ||
| 14443 | |||
| 14444 | **** The variable charset-list holds a list of character set names. | ||
| 14445 | |||
| 14446 | **** char-charset, given a character code, returns the name of the character | ||
| 14447 | set that the character belongs to. (The value is a symbol.) | ||
| 14448 | |||
| 14449 | **** split-char, given a character code, returns a list containing the | ||
| 14450 | name of the character set, followed by one or two byte-values | ||
| 14451 | which identify the character within that character set. | ||
| 14452 | |||
| 14453 | **** make-char, given a character set name and one or two subsequent | ||
| 14454 | byte-values, constructs a character code. This is roughly the | ||
| 14455 | opposite of split-char. | ||
| 14456 | |||
| 14457 | **** find-charset-region returns a list of the character sets | ||
| 14458 | of all the characters between BEG and END. | ||
| 14459 | |||
| 14460 | **** find-charset-string returns a list of the character sets | ||
| 14461 | of all the characters in a string. | ||
| 14462 | |||
| 14463 | *** Here are the Lisp facilities for working with coding systems | ||
| 14464 | and specifying coding systems. | ||
| 14465 | |||
| 14466 | **** The function coding-system-list returns a list of all coding | ||
| 14467 | system names (symbols). With optional argument t, it returns a list | ||
| 14468 | of all distinct base coding systems, not including variants. | ||
| 14469 | (Variant coding systems are those like latin-1-dos, latin-1-unix | ||
| 14470 | and latin-1-mac which specify the end-of-line conversion as well | ||
| 14471 | as what to do about code conversion.) | ||
| 14472 | |||
| 14473 | **** coding-system-p tests a symbol to see if it is a coding system | ||
| 14474 | name. It returns t if so, nil if not. | ||
| 14475 | |||
| 14476 | **** file-coding-system-alist specifies which coding systems to use | ||
| 14477 | for certain file names. It works like network-coding-system-alist, | ||
| 14478 | except that the PATTERN is matched against the file name. | ||
| 14479 | |||
| 14480 | Each element has the format (PATTERN . VAL), where PATTERN determines | ||
| 14481 | which file names the element applies to. PATTERN should be a regexp | ||
| 14482 | to match against a file name. | ||
| 14483 | |||
| 14484 | VAL is a coding system, a cons cell containing two coding systems, or | ||
| 14485 | a function symbol. If VAL is a coding system, it is used for both | ||
| 14486 | decoding what received from the network stream and encoding what sent | ||
| 14487 | to the network stream. If VAL is a cons cell containing two coding | ||
| 14488 | systems, the car specifies the coding system for decoding, and the cdr | ||
| 14489 | specifies the coding system for encoding. | ||
| 14490 | |||
| 14491 | If VAL is a function symbol, the function must return a coding system | ||
| 14492 | or a cons cell containing two coding systems, which is used as above. | ||
| 14493 | |||
| 14494 | **** The variable network-coding-system-alist specifies | ||
| 14495 | the coding system to use for network sockets. | ||
| 14496 | |||
| 14497 | Each element has the format (PATTERN . VAL), where PATTERN determines | ||
| 14498 | which network sockets the element applies to. PATTERN should be | ||
| 14499 | either a port number or a regular expression matching some network | ||
| 14500 | service names. | ||
| 14501 | |||
| 14502 | VAL is a coding system, a cons cell containing two coding systems, or | ||
| 14503 | a function symbol. If VAL is a coding system, it is used for both | ||
| 14504 | decoding what received from the network stream and encoding what sent | ||
| 14505 | to the network stream. If VAL is a cons cell containing two coding | ||
| 14506 | systems, the car specifies the coding system for decoding, and the cdr | ||
| 14507 | specifies the coding system for encoding. | ||
| 14508 | |||
| 14509 | If VAL is a function symbol, the function must return a coding system | ||
| 14510 | or a cons cell containing two coding systems, which is used as above. | ||
| 14511 | |||
| 14512 | **** process-coding-system-alist specifies which coding systems to use | ||
| 14513 | for certain subprocess. It works like network-coding-system-alist, | ||
| 14514 | except that the PATTERN is matched against the program name used to | ||
| 14515 | start the subprocess. | ||
| 14516 | |||
| 14517 | **** The variable default-process-coding-system specifies the coding | ||
| 14518 | systems to use for subprocess (and net connection) input and output, | ||
| 14519 | when nothing else specifies what to do. The value is a cons cell | ||
| 14520 | (OUTPUT-CODING . INPUT-CODING). OUTPUT-CODING applies to output | ||
| 14521 | to the subprocess, and INPUT-CODING applies to input from it. | ||
| 14522 | |||
| 14523 | **** The variable coding-system-for-write, if non-nil, specifies the | ||
| 14524 | coding system to use for writing a file, or for output to a synchronous | ||
| 14525 | subprocess. | ||
| 14526 | |||
| 14527 | It also applies to any asynchronous subprocess or network connection, | ||
| 14528 | but in a different way: the value of coding-system-for-write when you | ||
| 14529 | start the subprocess or connection affects that subprocess or | ||
| 14530 | connection permanently or until overridden. | ||
| 14531 | |||
| 14532 | The variable coding-system-for-write takes precedence over | ||
| 14533 | file-coding-system-alist, process-coding-system-alist and | ||
| 14534 | network-coding-system-alist, and all other methods of specifying a | ||
| 14535 | coding system for output. But most of the time this variable is nil. | ||
| 14536 | It exists so that Lisp programs can bind it to a specific coding | ||
| 14537 | system for one operation at a time. | ||
| 14538 | |||
| 14539 | **** coding-system-for-read applies similarly to input from | ||
| 14540 | files, subprocesses or network connections. | ||
| 14541 | |||
| 14542 | **** The function process-coding-system tells you what | ||
| 14543 | coding systems(s) an existing subprocess is using. | ||
| 14544 | The value is a cons cell, | ||
| 14545 | (DECODING-CODING-SYSTEM . ENCODING-CODING-SYSTEM) | ||
| 14546 | where DECODING-CODING-SYSTEM is used for decoding output from | ||
| 14547 | the subprocess, and ENCODING-CODING-SYSTEM is used for encoding | ||
| 14548 | input to the subprocess. | ||
| 14549 | |||
| 14550 | **** The function set-process-coding-system can be used to | ||
| 14551 | change the coding systems in use for an existing subprocess. | ||
| 14552 | |||
| 14553 | ** Emacs has a new facility to help users manage the many | ||
| 14554 | customization options. To make a Lisp program work with this facility, | ||
| 14555 | you need to use the new macros defgroup and defcustom. | ||
| 14556 | |||
| 14557 | You use defcustom instead of defvar, for defining a user option | ||
| 14558 | variable. The difference is that you specify two additional pieces of | ||
| 14559 | information (usually): the "type" which says what values are | ||
| 14560 | legitimate, and the "group" which specifies the hierarchy for | ||
| 14561 | customization. | ||
| 14562 | |||
| 14563 | Thus, instead of writing | ||
| 14564 | |||
| 14565 | (defvar foo-blurgoze nil | ||
| 14566 | "*Non-nil means that foo will act very blurgozely.") | ||
| 14567 | |||
| 14568 | you would now write this: | ||
| 14569 | |||
| 14570 | (defcustom foo-blurgoze nil | ||
| 14571 | "*Non-nil means that foo will act very blurgozely." | ||
| 14572 | :type 'boolean | ||
| 14573 | :group foo) | ||
| 14574 | |||
| 14575 | The type `boolean' means that this variable has only | ||
| 14576 | two meaningful states: nil and non-nil. Other type values | ||
| 14577 | describe other possibilities; see the manual for Custom | ||
| 14578 | for a description of them. | ||
| 14579 | |||
| 14580 | The "group" argument is used to specify a group which the option | ||
| 14581 | should belong to. You define a new group like this: | ||
| 14582 | |||
| 14583 | (defgroup ispell nil | ||
| 14584 | "Spell checking using Ispell." | ||
| 14585 | :group 'processes) | ||
| 14586 | |||
| 14587 | The "group" argument in defgroup specifies the parent group. The root | ||
| 14588 | group is called `emacs'; it should not contain any variables itself, | ||
| 14589 | but only other groups. The immediate subgroups of `emacs' correspond | ||
| 14590 | to the keywords used by C-h p. Under these subgroups come | ||
| 14591 | second-level subgroups that belong to individual packages. | ||
| 14592 | |||
| 14593 | Each Emacs package should have its own set of groups. A simple | ||
| 14594 | package should have just one group; a more complex package should | ||
| 14595 | have a hierarchy of its own groups. The sole or root group of a | ||
| 14596 | package should be a subgroup of one or more of the "keyword" | ||
| 14597 | first-level subgroups. | ||
| 14598 | |||
| 14599 | ** New `widget' library for inserting UI components in buffers. | ||
| 14600 | |||
| 14601 | This library, used by the new custom library, is documented in a | ||
| 14602 | separate manual that accompanies Emacs. | ||
| 14603 | |||
| 14604 | ** easy-mmode | ||
| 14605 | |||
| 14606 | The easy-mmode package provides macros and functions that make | ||
| 14607 | developing minor modes easier. Roughly, the programmer has to code | ||
| 14608 | only the functionality of the minor mode. All the rest--toggles, | ||
| 14609 | predicate, and documentation--can be done in one call to the macro | ||
| 14610 | `easy-mmode-define-minor-mode' (see the documentation). See also | ||
| 14611 | `easy-mmode-define-keymap'. | ||
| 14612 | |||
| 14613 | ** Text property changes | ||
| 14614 | |||
| 14615 | *** The `intangible' property now works on overlays as well as on a | ||
| 14616 | text property. | ||
| 14617 | |||
| 14618 | *** The new functions next-char-property-change and | ||
| 14619 | previous-char-property-change scan through the buffer looking for a | ||
| 14620 | place where either a text property or an overlay might change. The | ||
| 14621 | functions take two arguments, POSITION and LIMIT. POSITION is the | ||
| 14622 | starting position for the scan. LIMIT says where to stop the scan. | ||
| 14623 | |||
| 14624 | If no property change is found before LIMIT, the value is LIMIT. If | ||
| 14625 | LIMIT is nil, scan goes to the beginning or end of the accessible part | ||
| 14626 | of the buffer. If no property change is found, the value is the | ||
| 14627 | position of the beginning or end of the buffer. | ||
| 14628 | |||
| 14629 | *** In the `local-map' text property or overlay property, the property | ||
| 14630 | value can now be a symbol whose function definition is a keymap. This | ||
| 14631 | is an alternative to using the keymap itself. | ||
| 14632 | |||
| 14633 | ** Changes in invisibility features | ||
| 14634 | |||
| 14635 | *** Isearch can now temporarily show parts of the buffer which are | ||
| 14636 | hidden by an overlay with a invisible property, when the search match | ||
| 14637 | is inside that portion of the buffer. To enable this the overlay | ||
| 14638 | should have a isearch-open-invisible property which is a function that | ||
| 14639 | would be called having the overlay as an argument, the function should | ||
| 14640 | make the overlay visible. | ||
| 14641 | |||
| 14642 | During incremental search the overlays are shown by modifying the | ||
| 14643 | invisible and intangible properties, if beside this more actions are | ||
| 14644 | needed the overlay should have a isearch-open-invisible-temporary | ||
| 14645 | which is a function. The function is called with 2 arguments: one is | ||
| 14646 | the overlay and the second is nil when it should show the overlay and | ||
| 14647 | t when it should hide it. | ||
| 14648 | |||
| 14649 | *** add-to-invisibility-spec, remove-from-invisibility-spec | ||
| 14650 | |||
| 14651 | Modes that use overlays to hide portions of a buffer should set the | ||
| 14652 | invisible property of the overlay to the mode's name (or another symbol) | ||
| 14653 | and modify the `buffer-invisibility-spec' to include that symbol. | ||
| 14654 | Use `add-to-invisibility-spec' and `remove-from-invisibility-spec' to | ||
| 14655 | manipulate the `buffer-invisibility-spec'. | ||
| 14656 | Here is an example of how to do this: | ||
| 14657 | |||
| 14658 | ;; If we want to display an ellipsis: | ||
| 14659 | (add-to-invisibility-spec '(my-symbol . t)) | ||
| 14660 | ;; If you don't want ellipsis: | ||
| 14661 | (add-to-invisibility-spec 'my-symbol) | ||
| 14662 | |||
| 14663 | ... | ||
| 14664 | (overlay-put (make-overlay beginning end) 'invisible 'my-symbol) | ||
| 14665 | |||
| 14666 | ... | ||
| 14667 | ;; When done with the overlays: | ||
| 14668 | (remove-from-invisibility-spec '(my-symbol . t)) | ||
| 14669 | ;; Or respectively: | ||
| 14670 | (remove-from-invisibility-spec 'my-symbol) | ||
| 14671 | |||
| 14672 | ** Changes in syntax parsing. | ||
| 14673 | |||
| 14674 | *** The syntax-directed buffer-scan functions (such as | ||
| 14675 | `parse-partial-sexp', `forward-word' and similar functions) can now | ||
| 14676 | obey syntax information specified by text properties, if the variable | ||
| 14677 | `parse-sexp-lookup-properties' is non-nil. | ||
| 14678 | |||
| 14679 | If the value of `parse-sexp-lookup-properties' is nil, the behavior | ||
| 14680 | is as before: the syntax-table of the current buffer is always | ||
| 14681 | used to determine the syntax of the character at the position. | ||
| 14682 | |||
| 14683 | When `parse-sexp-lookup-properties' is non-nil, the syntax of a | ||
| 14684 | character in the buffer is calculated thus: | ||
| 14685 | |||
| 14686 | a) if the `syntax-table' text-property of that character | ||
| 14687 | is a cons, this cons becomes the syntax-type; | ||
| 14688 | |||
| 14689 | Valid values of `syntax-table' text-property are: nil, a valid | ||
| 14690 | syntax-table, and a valid syntax-table element, i.e., | ||
| 14691 | a cons cell of the form (SYNTAX-CODE . MATCHING-CHAR). | ||
| 14692 | |||
| 14693 | b) if the character's `syntax-table' text-property | ||
| 14694 | is a syntax table, this syntax table is used | ||
| 14695 | (instead of the syntax-table of the current buffer) to | ||
| 14696 | determine the syntax type of the character. | ||
| 14697 | |||
| 14698 | c) otherwise the syntax-type is determined by the syntax-table | ||
| 14699 | of the current buffer. | ||
| 14700 | |||
| 14701 | *** The meaning of \s in regular expressions is also affected by the | ||
| 14702 | value of `parse-sexp-lookup-properties'. The details are the same as | ||
| 14703 | for the syntax-directed buffer-scan functions. | ||
| 14704 | |||
| 14705 | *** There are two new syntax-codes, `!' and `|' (numeric values 14 | ||
| 14706 | and 15). A character with a code `!' starts a comment which is ended | ||
| 14707 | only by another character with the same code (unless quoted). A | ||
| 14708 | character with a code `|' starts a string which is ended only by | ||
| 14709 | another character with the same code (unless quoted). | ||
| 14710 | |||
| 14711 | These codes are mainly meant for use as values of the `syntax-table' | ||
| 14712 | text property. | ||
| 14713 | |||
| 14714 | *** The function `parse-partial-sexp' has new semantics for the sixth | ||
| 14715 | arg COMMENTSTOP. If it is `syntax-table', parse stops after the start | ||
| 14716 | of a comment or a string, or after end of a comment or a string. | ||
| 14717 | |||
| 14718 | *** The state-list which the return value from `parse-partial-sexp' | ||
| 14719 | (and can also be used as an argument) now has an optional ninth | ||
| 14720 | element: the character address of the start of last comment or string; | ||
| 14721 | nil if none. The fourth and eighth elements have special values if the | ||
| 14722 | string/comment is started by a "!" or "|" syntax-code. | ||
| 14723 | |||
| 14724 | *** Since new features of `parse-partial-sexp' allow a complete | ||
| 14725 | syntactic parsing, `font-lock' no longer supports | ||
| 14726 | `font-lock-comment-start-regexp'. | ||
| 14727 | |||
| 14728 | ** Changes in face features | ||
| 14729 | |||
| 14730 | *** The face functions are now unconditionally defined in Emacs, even | ||
| 14731 | if it does not support displaying on a device that supports faces. | ||
| 14732 | |||
| 14733 | *** The function face-documentation returns the documentation string | ||
| 14734 | of a face (or nil if it doesn't have one). | ||
| 14735 | |||
| 14736 | *** The function face-bold-p returns t if a face should be bold. | ||
| 14737 | set-face-bold-p sets that flag. | ||
| 14738 | |||
| 14739 | *** The function face-italic-p returns t if a face should be italic. | ||
| 14740 | set-face-italic-p sets that flag. | ||
| 14741 | |||
| 14742 | *** You can now specify foreground and background colors for text | ||
| 14743 | by adding elements of the form (foreground-color . COLOR-NAME) | ||
| 14744 | and (background-color . COLOR-NAME) to the list of faces in | ||
| 14745 | the `face' property (either the character's text property or an | ||
| 14746 | overlay property). | ||
| 14747 | |||
| 14748 | This means that you no longer need to create named faces to use | ||
| 14749 | arbitrary colors in a Lisp package. | ||
| 14750 | |||
| 14751 | ** Changes in file-handling functions | ||
| 14752 | |||
| 14753 | *** File-access primitive functions no longer discard an extra redundant | ||
| 14754 | directory name from the beginning of the file name. In other words, | ||
| 14755 | they no longer do anything special with // or /~. That conversion | ||
| 14756 | is now done only in substitute-in-file-name. | ||
| 14757 | |||
| 14758 | This makes it possible for a Lisp program to open a file whose name | ||
| 14759 | begins with ~. | ||
| 14760 | |||
| 14761 | *** If copy-file is unable to set the date of the output file, | ||
| 14762 | it now signals an error with the condition file-date-error. | ||
| 14763 | |||
| 14764 | *** The inode number returned by file-attributes may be an integer (if | ||
| 14765 | the number fits in a Lisp integer) or a list of integers. | ||
| 14766 | |||
| 14767 | *** insert-file-contents can now read from a special file, | ||
| 14768 | as long as the arguments VISIT and REPLACE are nil. | ||
| 14769 | |||
| 14770 | *** The RAWFILE arg to find-file-noselect, if non-nil, now suppresses | ||
| 14771 | character code conversion as well as other things. | ||
| 14772 | |||
| 14773 | Meanwhile, this feature does work with remote file names | ||
| 14774 | (formerly it did not). | ||
| 14775 | |||
| 14776 | *** Lisp packages which create temporary files should use the TMPDIR | ||
| 14777 | environment variable to decide which directory to put them in. | ||
| 14778 | |||
| 14779 | *** interpreter-mode-alist elements now specify regexps | ||
| 14780 | instead of constant strings. | ||
| 14781 | |||
| 14782 | *** expand-file-name no longer treats `//' or `/~' specially. It used | ||
| 14783 | to delete all the text of a file name up through the first slash of | ||
| 14784 | any `//' or `/~' sequence. Now it passes them straight through. | ||
| 14785 | |||
| 14786 | substitute-in-file-name continues to treat those sequences specially, | ||
| 14787 | in the same way as before. | ||
| 14788 | |||
| 14789 | *** The variable `format-alist' is more general now. | ||
| 14790 | The FROM-FN and TO-FN in a format definition can now be strings | ||
| 14791 | which specify shell commands to use as filters to perform conversion. | ||
| 14792 | |||
| 14793 | *** The new function access-file tries to open a file, and signals an | ||
| 14794 | error if that fails. If the open succeeds, access-file does nothing | ||
| 14795 | else, and returns nil. | ||
| 14796 | |||
| 14797 | *** The function insert-directory now signals an error if the specified | ||
| 14798 | directory cannot be listed. | ||
| 14799 | |||
| 14800 | ** Changes in minibuffer input | ||
| 14801 | |||
| 14802 | *** The functions read-buffer, read-variable, read-command, read-string | ||
| 14803 | read-file-name, read-from-minibuffer and completing-read now take an | ||
| 14804 | additional argument which specifies the default value. If this | ||
| 14805 | argument is non-nil, it should be a string; that string is used in two | ||
| 14806 | ways: | ||
| 14807 | |||
| 14808 | It is returned if the user enters empty input. | ||
| 14809 | It is available through the history command M-n. | ||
| 14810 | |||
| 14811 | *** The functions read-string, read-from-minibuffer, | ||
| 14812 | read-no-blanks-input and completing-read now take an additional | ||
| 14813 | argument INHERIT-INPUT-METHOD. If this is non-nil, then the | ||
| 14814 | minibuffer inherits the current input method and the setting of | ||
| 14815 | enable-multibyte-characters from the previously current buffer. | ||
| 14816 | |||
| 14817 | In an interactive spec, you can use M instead of s to read an | ||
| 14818 | argument in this way. | ||
| 14819 | |||
| 14820 | *** All minibuffer input functions discard text properties | ||
| 14821 | from the text you enter in the minibuffer, unless the variable | ||
| 14822 | minibuffer-allow-text-properties is non-nil. | ||
| 14823 | |||
| 14824 | ** Echo area features | ||
| 14825 | |||
| 14826 | *** Clearing the echo area now runs the normal hook | ||
| 14827 | echo-area-clear-hook. Note that the echo area can be used while the | ||
| 14828 | minibuffer is active; in that case, the minibuffer is still active | ||
| 14829 | after the echo area is cleared. | ||
| 14830 | |||
| 14831 | *** The function current-message returns the message currently displayed | ||
| 14832 | in the echo area, or nil if there is none. | ||
| 14833 | |||
| 14834 | ** Keyboard input features | ||
| 14835 | |||
| 14836 | *** tty-erase-char is a new variable that reports which character was | ||
| 14837 | set up as the terminal's erase character when time Emacs was started. | ||
| 14838 | |||
| 14839 | *** num-nonmacro-input-events is the total number of input events | ||
| 14840 | received so far from the terminal. It does not count those generated | ||
| 14841 | by keyboard macros. | ||
| 14842 | |||
| 14843 | ** Frame-related changes | ||
| 14844 | |||
| 14845 | *** make-frame runs the normal hook before-make-frame-hook just before | ||
| 14846 | creating a frame, and just after creating a frame it runs the abnormal | ||
| 14847 | hook after-make-frame-functions with the new frame as arg. | ||
| 14848 | |||
| 14849 | *** The new hook window-configuration-change-hook is now run every time | ||
| 14850 | the window configuration has changed. The frame whose configuration | ||
| 14851 | has changed is the selected frame when the hook is run. | ||
| 14852 | |||
| 14853 | *** Each frame now independently records the order for recently | ||
| 14854 | selected buffers, in its buffer-list frame parameter, so that the | ||
| 14855 | value of other-buffer is now based on the buffers recently displayed | ||
| 14856 | in the selected frame. | ||
| 14857 | |||
| 14858 | *** The value of the frame parameter vertical-scroll-bars | ||
| 14859 | is now `left', `right' or nil. A non-nil value specifies | ||
| 14860 | which side of the window to put the scroll bars on. | ||
| 14861 | |||
| 14862 | ** X Windows features | ||
| 14863 | |||
| 14864 | *** You can examine X resources for other applications by binding | ||
| 14865 | x-resource-class around a call to x-get-resource. The usual value of | ||
| 14866 | x-resource-class is "Emacs", which is the correct value for Emacs. | ||
| 14867 | |||
| 14868 | *** In menus, checkboxes and radio buttons now actually work. | ||
| 14869 | The menu displays the current status of the box or button. | ||
| 14870 | |||
| 14871 | *** The function x-list-fonts now takes an optional fourth argument | ||
| 14872 | MAXIMUM which sets a limit on how many matching fonts to return. | ||
| 14873 | A smaller value of MAXIMUM makes the function faster. | ||
| 14874 | |||
| 14875 | If the only question is whether *any* font matches the pattern, | ||
| 14876 | it is good to supply 1 for this argument. | ||
| 14877 | |||
| 14878 | ** Subprocess features | ||
| 14879 | |||
| 14880 | *** A reminder: it is no longer necessary for subprocess filter | ||
| 14881 | functions and sentinels to do save-match-data, because Emacs does this | ||
| 14882 | automatically. | ||
| 14883 | |||
| 14884 | *** The new function shell-command-to-string executes a shell command | ||
| 14885 | and returns the output from the command as a string. | ||
| 14886 | |||
| 14887 | *** The new function process-contact returns t for a child process, | ||
| 14888 | and (HOSTNAME SERVICE) for a net connection. | ||
| 14889 | |||
| 14890 | ** An error in running pre-command-hook or post-command-hook | ||
| 14891 | does clear the variable to nil. The documentation was wrong before. | ||
| 14892 | |||
| 14893 | ** In define-key-after, if AFTER is t, the new binding now always goes | ||
| 14894 | at the end of the keymap. If the keymap is a menu, this means it | ||
| 14895 | goes after the other menu items. | ||
| 14896 | |||
| 14897 | ** If you have a program that makes several changes in the same area | ||
| 14898 | of the buffer, you can use the macro combine-after-change-calls | ||
| 14899 | around that Lisp code to make it faster when after-change hooks | ||
| 14900 | are in use. | ||
| 14901 | |||
| 14902 | The macro arranges to call the after-change functions just once for a | ||
| 14903 | series of several changes--if that seems safe. | ||
| 14904 | |||
| 14905 | Don't alter the variables after-change-functions and | ||
| 14906 | after-change-function within the body of a combine-after-change-calls | ||
| 14907 | form. | ||
| 14908 | |||
| 14909 | ** If you define an abbrev (with define-abbrev) whose EXPANSION | ||
| 14910 | is not a string, then the abbrev does not expand in the usual sense, | ||
| 14911 | but its hook is still run. | ||
| 14912 | |||
| 14913 | ** Normally, the Lisp debugger is not used (even if you have enabled it) | ||
| 14914 | for errors that are handled by condition-case. | ||
| 14915 | |||
| 14916 | If you set debug-on-signal to a non-nil value, then the debugger is called | ||
| 14917 | regardless of whether there is a handler for the condition. This is | ||
| 14918 | useful for debugging problems that happen inside of a condition-case. | ||
| 14919 | |||
| 14920 | This mode of operation seems to be unreliable in other ways. Errors that | ||
| 14921 | are normal and ought to be handled, perhaps in timers or process | ||
| 14922 | filters, will instead invoke the debugger. So don't say you weren't | ||
| 14923 | warned. | ||
| 14924 | |||
| 14925 | ** The new variable ring-bell-function lets you specify your own | ||
| 14926 | way for Emacs to "ring the bell". | ||
| 14927 | |||
| 14928 | ** If run-at-time's TIME argument is t, the action is repeated at | ||
| 14929 | integral multiples of REPEAT from the epoch; this is useful for | ||
| 14930 | functions like display-time. | ||
| 14931 | |||
| 14932 | ** You can use the function locate-library to find the precise file | ||
| 14933 | name of a Lisp library. This isn't new, but wasn't documented before. | ||
| 14934 | |||
| 14935 | ** Commands for entering view mode have new optional arguments that | ||
| 14936 | can be used from Lisp. Low-level entrance to and exit from view mode | ||
| 14937 | is done by functions view-mode-enter and view-mode-exit. | ||
| 14938 | |||
| 14939 | ** batch-byte-compile-file now makes Emacs return a nonzero status code | ||
| 14940 | if there is an error in compilation. | ||
| 14941 | |||
| 14942 | ** pop-to-buffer, switch-to-buffer-other-window and | ||
| 14943 | switch-to-buffer-other-frame now accept an additional optional | ||
| 14944 | argument NORECORD, much like switch-to-buffer. If it is non-nil, | ||
| 14945 | they don't put the buffer at the front of the buffer list. | ||
| 14946 | |||
| 14947 | ** If your .emacs file leaves the *scratch* buffer non-empty, | ||
| 14948 | Emacs does not display the startup message, so as to avoid changing | ||
| 14949 | the *scratch* buffer. | ||
| 14950 | |||
| 14951 | ** The new function regexp-opt returns an efficient regexp to match a string. | ||
| 14952 | The arguments are STRINGS and (optionally) PAREN. This function can be used | ||
| 14953 | where regexp matching or searching is intensively used and speed is important, | ||
| 14954 | e.g., in Font Lock mode. | ||
| 14955 | |||
| 14956 | ** The variable buffer-display-count is local to each buffer, | ||
| 14957 | and is incremented each time the buffer is displayed in a window. | ||
| 14958 | It starts at 0 when the buffer is created. | ||
| 14959 | |||
| 14960 | ** The new function compose-mail starts composing a mail message | ||
| 14961 | using the user's chosen mail composition agent (specified with the | ||
| 14962 | variable mail-user-agent). It has variants compose-mail-other-window | ||
| 14963 | and compose-mail-other-frame. | ||
| 14964 | |||
| 14965 | ** The `user-full-name' function now takes an optional parameter which | ||
| 14966 | can either be a number (the UID) or a string (the login name). The | ||
| 14967 | full name of the specified user will be returned. | ||
| 14968 | |||
| 14969 | ** Lisp packages that load files of customizations, or any other sort | ||
| 14970 | of user profile, should obey the variable init-file-user in deciding | ||
| 14971 | where to find it. They should load the profile of the user name found | ||
| 14972 | in that variable. If init-file-user is nil, meaning that the -q | ||
| 14973 | option was used, then Lisp packages should not load the customization | ||
| 14974 | files at all. | ||
| 14975 | |||
| 14976 | ** format-time-string now allows you to specify the field width | ||
| 14977 | and type of padding. This works as in printf: you write the field | ||
| 14978 | width as digits in the middle of a %-construct. If you start | ||
| 14979 | the field width with 0, it means to pad with zeros. | ||
| 14980 | |||
| 14981 | For example, %S normally specifies the number of seconds since the | ||
| 14982 | minute; %03S means to pad this with zeros to 3 positions, %_3S to pad | ||
| 14983 | with spaces to 3 positions. Plain %3S pads with zeros, because that | ||
| 14984 | is how %S normally pads to two positions. | ||
| 14985 | |||
| 14986 | ** thing-at-point now supports a new kind of "thing": url. | ||
| 14987 | |||
| 14988 | ** imenu.el changes. | ||
| 14989 | |||
| 14990 | You can now specify a function to be run when selecting an | ||
| 14991 | item from menu created by imenu. | ||
| 14992 | |||
| 14993 | An example of using this feature: if we define imenu items for the | ||
| 14994 | #include directives in a C file, we can open the included file when we | ||
| 14995 | select one of those items. | ||
| 14996 | |||
| 14997 | * For older news, see the file ONEWS | ||
| 14998 | |||
| 14999 | ---------------------------------------------------------------------- | 5755 | ---------------------------------------------------------------------- |
| 15000 | Copyright information: | 5756 | Copyright information: |
| 15001 | 5757 | ||
| 15002 | Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, | 5758 | Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 |
| 15003 | 2005, 2006 Free Software Foundation, Inc. | 5759 | Free Software Foundation, Inc. |
| 15004 | 5760 | ||
| 15005 | Permission is granted to anyone to make or distribute verbatim copies | 5761 | Permission is granted to anyone to make or distribute verbatim copies |
| 15006 | of this document as received, in any medium, provided that the | 5762 | of this document as received, in any medium, provided that the |
diff --git a/etc/ONEWS.2 b/etc/NEWS.1-17 index d9f75c278ed..0297c928b72 100644 --- a/etc/ONEWS.2 +++ b/etc/NEWS.1-17 | |||
| @@ -1,8 +1,10 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. 26-Mar-1986 | 1 | GNU Emacs NEWS -- history of user-visible changes. 26-Mar-1986 |
| 2 | Copyright (C) 1986 Richard M. Stallman. | 2 | Copyright (C) 1985, 1986, 2006 Richard M. Stallman. |
| 3 | See the end for copying conditions. | 3 | See the end for copying conditions. |
| 4 | 4 | ||
| 5 | For older news, see the file ONEWS.1. | 5 | This file is about changes in emacs versions 1 through 17. |
| 6 | |||
| 7 | |||
| 6 | 8 | ||
| 7 | Changes in Emacs 17 | 9 | Changes in Emacs 17 |
| 8 | 10 | ||
| @@ -407,6 +409,7 @@ By default it is still "--text follows this line--". | |||
| 407 | 409 | ||
| 408 | Just before each garbage collection, all but the last 30 elements | 410 | Just before each garbage collection, all but the last 30 elements |
| 409 | of the command history are discarded. | 411 | of the command history are discarded. |
| 412 | |||
| 410 | 413 | ||
| 411 | Incompatible Lisp Programming Changes in Emacs 17 | 414 | Incompatible Lisp Programming Changes in Emacs 17 |
| 412 | 415 | ||
| @@ -484,6 +487,7 @@ The functions `forward-to-word', `backward-to-word', | |||
| 484 | `upcase-char', `mark-beginning-of-buffer' and `mark-end-of-buffer' | 487 | `upcase-char', `mark-beginning-of-buffer' and `mark-end-of-buffer' |
| 485 | have been removed. Their definitions can be found in file | 488 | have been removed. Their definitions can be found in file |
| 486 | lisp/unused.el if you need them. | 489 | lisp/unused.el if you need them. |
| 490 | |||
| 487 | 491 | ||
| 488 | Upward Compatible Lisp Programming Changes in Emacs 17 | 492 | Upward Compatible Lisp Programming Changes in Emacs 17 |
| 489 | 493 | ||
| @@ -804,6 +808,8 @@ a period in `modify-syntax-entry'. | |||
| 804 | 808 | ||
| 805 | Backup suffixes of all kinds are now stripped from a file's name | 809 | Backup suffixes of all kinds are now stripped from a file's name |
| 806 | before searching `auto-mode-alist'. | 810 | before searching `auto-mode-alist'. |
| 811 | |||
| 812 | |||
| 807 | 813 | ||
| 808 | Changes in Emacs 16 | 814 | Changes in Emacs 16 |
| 809 | 815 | ||
| @@ -1325,13 +1331,1187 @@ except when `-batch' has been specified. | |||
| 1325 | * Emacs can be built with output redirected to a file. | 1331 | * Emacs can be built with output redirected to a file. |
| 1326 | 1332 | ||
| 1327 | This is because -batch (see above) is now used in building Emacs. | 1333 | This is because -batch (see above) is now used in building Emacs. |
| 1334 | |||
| 1335 | |||
| 1336 | |||
| 1337 | Changes in Emacs 15 | ||
| 1338 | |||
| 1339 | * Emacs now runs on Sun and Megatest 68000 systems; | ||
| 1340 | also on at least one 16000 system running 4.2. | ||
| 1341 | |||
| 1342 | * Emacs now alters the output-start and output-stop characters | ||
| 1343 | to prevent C-s and C-q from being considered as flow control | ||
| 1344 | by cretinous rlogin software in 4.2. | ||
| 1345 | |||
| 1346 | * It is now possible convert Mocklisp code (for Gosling Emacs) to Lisp code | ||
| 1347 | that can run in GNU Emacs. M-x convert-mocklisp-buffer | ||
| 1348 | converts the contents of the current buffer from Mocklisp to | ||
| 1349 | GNU Emacs Lisp. You should then save the converted buffer with C-x C-w | ||
| 1350 | under a name ending in ".el" | ||
| 1351 | |||
| 1352 | There are probably some Mocklisp constructs that are not handled. | ||
| 1353 | If you encounter one, feel free to report the failure as a bug. | ||
| 1354 | The construct will be handled in a future Emacs release, if that is not | ||
| 1355 | not too hard to do. | ||
| 1356 | |||
| 1357 | Note that lisp code converted from Mocklisp code will not necessarily | ||
| 1358 | run as fast as code specifically written for GNU Emacs, nor will it use | ||
| 1359 | the many features of GNU Emacs which are not present in Gosling's emacs. | ||
| 1360 | (In particular, the byte-compiler (m-x byte-compile-file) knows little | ||
| 1361 | about compilation of code directly converted from mocklisp.) | ||
| 1362 | It is envisaged that old mocklisp code will be incrementally converted | ||
| 1363 | to GNU lisp code, with M-x convert-mocklisp-buffer being the first | ||
| 1364 | step in this process. | ||
| 1365 | |||
| 1366 | * Control-x n (narrow-to-region) is now by default a disabled command. | ||
| 1367 | |||
| 1368 | This means that, if you issue this command, it will ask whether | ||
| 1369 | you really mean it. You have the opportunity to enable the | ||
| 1370 | command permanently at that time, so you will not be asked again. | ||
| 1371 | This will place the form "(put 'narrow-to-region 'disabled nil)" in your | ||
| 1372 | .emacs file. | ||
| 1373 | |||
| 1374 | * Tags now prompts for the tag table file name to use. | ||
| 1375 | |||
| 1376 | All the tags commands ask for the tag table file name | ||
| 1377 | if you have not yet specified one. | ||
| 1378 | |||
| 1379 | Also, the command M-x visit-tag-table can now be used to | ||
| 1380 | specify the tag table file name initially, or to switch | ||
| 1381 | to a new tag table. | ||
| 1382 | |||
| 1383 | * If truncate-partial-width-windows is non-nil (as it intially is), | ||
| 1384 | all windows less than the full screen width (that is, | ||
| 1385 | made by side-by-side splitting) truncate lines rather than continuing | ||
| 1386 | them. | ||
| 1387 | |||
| 1388 | * Emacs now checks for Lisp stack overflow to avoid fatal errors. | ||
| 1389 | The depth in eval, apply and funcall may not exceed max-lisp-eval-depth. | ||
| 1390 | The depth in variable bindings and unwind-protects may not exceed | ||
| 1391 | max-specpdl-size. If either limit is exceeded, an error occurs. | ||
| 1392 | You can set the limits to larger values if you wish, but if you make them | ||
| 1393 | too large, you are vulnerable to a fatal error if you invoke | ||
| 1394 | Lisp code that does infinite recursion. | ||
| 1395 | |||
| 1396 | * New hooks find-file-hook and write-file-hook. | ||
| 1397 | Both of these variables if non-nil should be functions of no arguments. | ||
| 1398 | At the time they are called (current-buffer) will be the buffer being | ||
| 1399 | read or written respectively. | ||
| 1400 | |||
| 1401 | find-file-hook is called whenever a file is read into its own buffer, | ||
| 1402 | such as by calling find-file, revert-buffer, etc. It is not called by | ||
| 1403 | functions such as insert-file which do not read the file into a buffer of | ||
| 1404 | its own. | ||
| 1405 | find-file-hook is called after the file has been read in and its | ||
| 1406 | local variables (if any) have been processed. | ||
| 1407 | |||
| 1408 | write-file-hook is called just before writing out a file from a buffer. | ||
| 1409 | |||
| 1410 | * The initial value of shell-prompt-pattern is now "^[^#$%>]*[#$%>] *" | ||
| 1411 | |||
| 1412 | * If the .emacs file sets inhibit-startup-message to non-nil, | ||
| 1413 | the messages normally printed by Emacs at startup time | ||
| 1414 | are inhibited. | ||
| 1415 | |||
| 1416 | * Facility for run-time conditionalization on the basis of emacs features. | ||
| 1417 | |||
| 1418 | The new variable features is a list of symbols which represent "features" | ||
| 1419 | of the executing emacs, for use in run-time conditionalization. | ||
| 1420 | |||
| 1421 | The function featurep of one argument may be used to test for the | ||
| 1422 | presence of a feature. It is just the same as | ||
| 1423 | (not (null (memq FEATURE features))) where FEATURE is its argument. | ||
| 1424 | For example, (if (featurep 'magic-window-hack) | ||
| 1425 | (transmogrify-window 'vertical) | ||
| 1426 | (split-window-vertically)) | ||
| 1427 | |||
| 1428 | The function provide of one argument "announces" that FEATURE is present. | ||
| 1429 | It is much the same as (if (not (featurep FEATURE)) | ||
| 1430 | (setq features (cons FEATURE features))) | ||
| 1431 | |||
| 1432 | The function require with arguments FEATURE and FILE-NAME loads FILE-NAME | ||
| 1433 | (which should contain the form (provide FEATURE)) unless FEATURE is present. | ||
| 1434 | It is much the same as (if (not (featurep FEATURE)) | ||
| 1435 | (progn (load FILE-NAME) | ||
| 1436 | (if (not featurep FEATURE) (error ...)))) | ||
| 1437 | FILE-NAME is optional and defaults to FEATURE. | ||
| 1438 | |||
| 1439 | * New function load-average. | ||
| 1440 | |||
| 1441 | This returns a list of three integers, which are | ||
| 1442 | the current 1 minute, 5 minute and 15 minute load averages, | ||
| 1443 | each multiplied by a hundred (since normally they are floating | ||
| 1444 | point numbers). | ||
| 1445 | |||
| 1446 | * Per-terminal libraries loaded automatically. | ||
| 1447 | |||
| 1448 | Emacs when starting up on terminal type T automatically loads | ||
| 1449 | a library named term-T. T is the value of the TERM environment variable. | ||
| 1450 | Thus, on terminal type vt100, Emacs would do (load "term-vt100" t t). | ||
| 1451 | Such libraries are good places to set the character translation table. | ||
| 1452 | |||
| 1453 | It is a bad idea to redefine lots of commands in a per-terminal library, | ||
| 1454 | since this affects all users. Instead, define a command to do the | ||
| 1455 | redefinitions and let the user's init file, which is loaded later, | ||
| 1456 | call that command or not, as the user prefers. | ||
| 1457 | |||
| 1458 | * Programmer's note: detecting killed buffers. | ||
| 1459 | |||
| 1460 | Buffers are eliminated by explicitly killing them, using | ||
| 1461 | the function kill-buffer. This does not eliminate or affect | ||
| 1462 | the pointers to the buffer which may exist in list structure. | ||
| 1463 | If you have a pointer to a buffer and wish to tell whether | ||
| 1464 | the buffer has been killed, use the function buffer-name. | ||
| 1465 | It returns nil on a killed buffer, and a string on a live buffer. | ||
| 1466 | |||
| 1467 | * New ways to access the last command input character. | ||
| 1468 | |||
| 1469 | The function last-key-struck, which used to return the last | ||
| 1470 | input character that was read by command input, is eliminated. | ||
| 1471 | Instead, you can find this information as the value of the | ||
| 1472 | variable last-command-char. (This variable used to be called | ||
| 1473 | last-key). | ||
| 1474 | |||
| 1475 | Another new variable, last-input-char, holds the last character | ||
| 1476 | read from the command input stream regardless of what it was | ||
| 1477 | read for. last-input-char and last-command-char are different | ||
| 1478 | only inside a command that has called read-char to read input. | ||
| 1479 | |||
| 1480 | * The new switch -kill causes Emacs to exit after processing the | ||
| 1481 | preceding command line arguments. Thus, | ||
| 1482 | emacs -l lib data -e do-it -kill | ||
| 1483 | means to load lib, find file data, call do-it on no arguments, | ||
| 1484 | and then exit. | ||
| 1485 | |||
| 1486 | * The config.h file has been modularized. | ||
| 1487 | |||
| 1488 | Options that depend on the machine you are running on are defined | ||
| 1489 | in a file whose name starts with "m-", such as m-vax.h. | ||
| 1490 | Options that depend on the operating system software version you are | ||
| 1491 | running on are defined in a file whose name starts with "s-", | ||
| 1492 | such as s-bsd4.2.h. | ||
| 1493 | |||
| 1494 | config.h includes one m- file and one s- file. It also defines a | ||
| 1495 | few other options whose values do not follow from the machine type | ||
| 1496 | and system type being used. Installers normally will have to | ||
| 1497 | select the correct m- and s- files but will never have to change their | ||
| 1498 | contents. | ||
| 1499 | |||
| 1500 | * Termcap AL and DL strings are understood. | ||
| 1501 | |||
| 1502 | If the termcap entry defines AL and DL strings, for insertion | ||
| 1503 | and deletion of multiple lines in one blow, Emacs now uses them. | ||
| 1504 | This matters most on certain bit map display terminals for which | ||
| 1505 | scrolling is comparatively slow. | ||
| 1506 | |||
| 1507 | * Bias against scrolling screen far on fast terminals. | ||
| 1508 | |||
| 1509 | Emacs now prefers to redraw a few lines rather than | ||
| 1510 | shift them a long distance on the screen, when the terminal is fast. | ||
| 1511 | |||
| 1512 | * New major mode, mim-mode. | ||
| 1513 | |||
| 1514 | This major mode is for editing MDL code. Perhaps a MDL | ||
| 1515 | user can explain why it is not called mdl-mode. | ||
| 1516 | You must load the library mim-mode explicitly to use this. | ||
| 1517 | |||
| 1518 | * GNU documentation formatter `texinfo'. | ||
| 1519 | |||
| 1520 | The `texinfo' library defines a format for documentation | ||
| 1521 | files which can be passed through Tex to make a printed manual | ||
| 1522 | or passed through texinfo to make an Info file. Texinfo is | ||
| 1523 | documented fully by its own Info file; compare this file | ||
| 1524 | with its source, texinfo.texinfo, for additional guidance. | ||
| 1525 | |||
| 1526 | All documentation files for GNU utilities should be written | ||
| 1527 | in texinfo input format. | ||
| 1528 | |||
| 1529 | Tex processing of texinfo files requires the Botex macro package. | ||
| 1530 | This is not ready for distribution yet, but will appear at | ||
| 1531 | a later time. | ||
| 1532 | |||
| 1533 | * New function read-from-string (emacs 15.29) | ||
| 1534 | |||
| 1535 | read-from-string takes three arguments: a string to read from, | ||
| 1536 | and optionally start and end indices which delimit a substring | ||
| 1537 | from which to read. (They default to 0 and the length of the string, | ||
| 1538 | respectively.) | ||
| 1539 | |||
| 1540 | This function returns a cons cell whose car is the object produced | ||
| 1541 | by reading from the string and whose cdr is a number giving the | ||
| 1542 | index in the string of the first character not read. That index may | ||
| 1543 | be passed as the second argument to a later call to read-from-string | ||
| 1544 | to read the next form represented by the string. | ||
| 1545 | |||
| 1546 | In addition, the function read now accepts a string as its argument. | ||
| 1547 | In this case, it calls read-from-string on the whole string, and | ||
| 1548 | returns the car of the result. (ie the actual object read.) | ||
| 1549 | |||
| 1550 | |||
| 1551 | |||
| 1552 | Changes in Emacs 14 | ||
| 1553 | |||
| 1554 | * Completion now prints various messages such as [Sole Completion] | ||
| 1555 | or [Next Character Not Unique] to describe the results obtained. | ||
| 1556 | These messages appear after the text in the minibuffer, and remain | ||
| 1557 | on the screen until a few seconds go by or you type a key. | ||
| 1558 | |||
| 1559 | * The buffer-read-only flag is implemented. | ||
| 1560 | Setting or binding this per-buffer variable to a non-nil value | ||
| 1561 | makes illegal any operation which would modify the textual content of | ||
| 1562 | the buffer. (Such operations signal a buffer-read-only error) | ||
| 1563 | The read-only state of a buffer may be altered using toggle-read-only | ||
| 1564 | (C-x C-q) | ||
| 1565 | The buffers used by Rmail, Dired, Rnews, and Info are now read-only | ||
| 1566 | by default to prevent accidental damage to the information in those | ||
| 1567 | buffers. | ||
| 1568 | |||
| 1569 | * Functions car-safe and cdr-safe. | ||
| 1570 | These functions are like car and cdr when the argument is a cons. | ||
| 1571 | Given an argument not a cons, car-safe always returns nil, with | ||
| 1572 | no error; the same for cdr-safe. | ||
| 1573 | |||
| 1574 | * The new function user-real-login-name returns the name corresponding | ||
| 1575 | to the real uid of the Emacs process. This is usually the same | ||
| 1576 | as what user-login-name returns; however, when Emacs is invoked | ||
| 1577 | from su, user-real-login-name returns "root" but user-login-name | ||
| 1578 | returns the name of the user who invoked su. | ||
| 1579 | |||
| 1580 | |||
| 1581 | |||
| 1582 | Changes in Emacs 13 | ||
| 1583 | |||
| 1584 | * There is a new version numbering scheme. | ||
| 1585 | |||
| 1586 | What used to be the first version number, which was 1, | ||
| 1587 | has been discarded since it does not seem that I need three | ||
| 1588 | levels of version number. | ||
| 1589 | |||
| 1590 | However, a new third version number has been added to represent | ||
| 1591 | changes by user sites. This number will always be zero in | ||
| 1592 | Emacs when I distribute it; it will be incremented each time | ||
| 1593 | Emacs is built at another site. | ||
| 1594 | |||
| 1595 | * There is now a reader syntax for Meta characters: | ||
| 1596 | \M-CHAR means CHAR or'ed with the Meta bit. For example: | ||
| 1597 | |||
| 1598 | ?\M-x is (+ ?x 128) | ||
| 1599 | ?\M-\n is (+ ?\n 128) | ||
| 1600 | ?\M-\^f is (+ ?\^f 128) | ||
| 1601 | |||
| 1602 | This syntax can be used in strings too. Note, however, that | ||
| 1603 | Meta characters are not meaningful in key sequences being passed | ||
| 1604 | to define-key or lookup-key; you must use ESC characters (\e) | ||
| 1605 | in them instead. | ||
| 1606 | |||
| 1607 | ?\C- can be used likewise for control characters. (13.9) | ||
| 1608 | |||
| 1609 | * Installation change | ||
| 1610 | The string "../lisp" now adds to the front of the load-path | ||
| 1611 | used for searching for Lisp files during Emacs initialization. | ||
| 1612 | It used to replace the path specified in paths.h entirely. | ||
| 1613 | Now the directory ../lisp is searched first and the directoris | ||
| 1614 | specified in paths.h are searched afterward. | ||
| 1615 | |||
| 1616 | |||
| 1617 | |||
| 1618 | Changes in Emacs 1.12 | ||
| 1619 | |||
| 1620 | * There is a new installation procedure. | ||
| 1621 | See the file INSTALL that comes in the top level | ||
| 1622 | directory in the tar file or tape. | ||
| 1623 | |||
| 1624 | * The Meta key is now supported on terminals that have it. | ||
| 1625 | This is a shift key which causes the high bit to be turned on | ||
| 1626 | in all input characters typed while it is held down. | ||
| 1627 | |||
| 1628 | read-char now returns a value in the range 128-255 if | ||
| 1629 | a Meta character is typed. When interpreted as command | ||
| 1630 | input, a Meta character is equivalent to a two character | ||
| 1631 | sequence, the meta prefix character followed by the un-metized | ||
| 1632 | character (Meta-G unmetized is G). | ||
| 1633 | |||
| 1634 | The meta prefix character | ||
| 1635 | is specified by the value of the variable meta-prefix-char. | ||
| 1636 | If this character (normally Escape) has been redefined locally | ||
| 1637 | with a non-prefix definition (such as happens in completing | ||
| 1638 | minibuffers) then the local redefinition is suppressed when | ||
| 1639 | the character is not the last one in a key sequence. | ||
| 1640 | So the local redefinition is effective if you type the character | ||
| 1641 | explicitly, but not effective if the character comes from | ||
| 1642 | the use of the Meta key. | ||
| 1643 | |||
| 1644 | * `-' is no longer a completion command in the minibuffer. | ||
| 1645 | It is an ordinary self-inserting character. | ||
| 1646 | |||
| 1647 | * The list load-path of directories load to search for Lisp files | ||
| 1648 | is now controlled by the EMACSLOADPATH environment variable | ||
| 1649 | [[ Note this was originally EMACS-LOAD-PATH and has been changed | ||
| 1650 | again; sh does not deal properly with hyphens in env variable names]] | ||
| 1651 | rather than the EPATH environment variable. This is to avoid | ||
| 1652 | conflicts with other Emacses. | ||
| 1653 | |||
| 1654 | While Emacs is being built initially, the load-path | ||
| 1655 | is now just ("../lisp"), ignoring paths.h. It does not | ||
| 1656 | ignore EMACSLOADPATH, however; you should avoid having | ||
| 1657 | this variable set while building Emacs. | ||
| 1658 | |||
| 1659 | * You can now specify a translation table for keyboard | ||
| 1660 | input characters, as a way of exchanging or substituting | ||
| 1661 | keys on the keyboard. | ||
| 1662 | |||
| 1663 | If the value of keyboard-translate-table is a string, | ||
| 1664 | every character received from the keyboard is used as an | ||
| 1665 | index in that string, and the character at that index in | ||
| 1666 | the string is used as input instead of what was actually | ||
| 1667 | typed. If the actual input character is >= the length of | ||
| 1668 | the string, it is used unchanged. | ||
| 1669 | |||
| 1670 | One way this feature can be used is to fix bad keyboard | ||
| 1671 | designes. For example, on some terminals, Delete is | ||
| 1672 | Shift-Underscore. Since Delete is a more useful character | ||
| 1673 | than Underscore, it is an improvement to make the unshifted | ||
| 1674 | character Delete and the shifted one Underscore. This can | ||
| 1675 | be done with | ||
| 1676 | |||
| 1677 | ;; First make a translate table that does the identity translation. | ||
| 1678 | (setq keyboard-translate-table (make-string 128 0)) | ||
| 1679 | (let ((i 0)) | ||
| 1680 | (while (< i 128) | ||
| 1681 | (aset keyboard-translate-table i i) | ||
| 1682 | (setq i (1+ i)))) | ||
| 1683 | |||
| 1684 | ;; Now alter translations of some characters. | ||
| 1685 | (aset keyboard-translate-table ?\_ ?\^?) | ||
| 1686 | (aset keyboard-translate-table ?\^? ?\_) | ||
| 1687 | |||
| 1688 | If your terminal has a Meta key and can therefore send | ||
| 1689 | codes up to 255, Meta characters are translated through | ||
| 1690 | elements 128 through 255 of the translate table, and therefore | ||
| 1691 | are translated independently of the corresponding non-Meta | ||
| 1692 | characters. You must therefore establish translations | ||
| 1693 | independently for the Meta characters if you want them too: | ||
| 1694 | |||
| 1695 | ;; First make a translate table that does the identity translation. | ||
| 1696 | (setq keyboard-translate-table (make-string 256 0)) | ||
| 1697 | (let ((i 0)) | ||
| 1698 | (while (< i 256) | ||
| 1699 | (aset keyboard-translate-table i i) | ||
| 1700 | (setq i (1+ i)))) | ||
| 1701 | |||
| 1702 | ;; Now alter translations of some characters. | ||
| 1703 | (aset keyboard-translate-table ?\_ ?\^?) | ||
| 1704 | (aset keyboard-translate-table ?\^? ?\_) | ||
| 1705 | |||
| 1706 | ;; Now alter translations of some Meta characters. | ||
| 1707 | (aset keyboard-translate-table (+ 128 ?\_) (+ 128 ?\^?)) | ||
| 1708 | (aset keyboard-translate-table (+ 128 ?\^?) (+ 128 ?\_)) | ||
| 1709 | |||
| 1710 | * (process-kill-without-query PROCESS) | ||
| 1711 | |||
| 1712 | This marks the process so that, when you kill Emacs, | ||
| 1713 | you will not on its account be queried about active subprocesses. | ||
| 1714 | |||
| 1715 | |||
| 1716 | |||
| 1717 | Changes in Emacs 1.11 | ||
| 1718 | |||
| 1719 | * The commands C-c and C-z have been interchanged, | ||
| 1720 | for greater compatibility with normal Unix usage. | ||
| 1721 | C-z now runs suspend-emacs and C-c runs exit-recursive-edit. | ||
| 1722 | |||
| 1723 | * The value returned by file-name-directory now ends | ||
| 1724 | with a slash. (file-name-directory "foo/bar") => "foo/". | ||
| 1725 | This avoids confusing results when dealing with files | ||
| 1726 | in the root directory. | ||
| 1727 | |||
| 1728 | The value of the per-buffer variable default-directory | ||
| 1729 | is also supposed to have a final slash now. | ||
| 1730 | |||
| 1731 | * There are now variables to control the switches passed to | ||
| 1732 | `ls' by the C-x C-d command (list-directory). | ||
| 1733 | list-directory-brief-switches is a string, initially "-CF", | ||
| 1734 | used for brief listings, and list-directory-verbose-switches | ||
| 1735 | is a string, initially "-l", used for verbose ones. | ||
| 1736 | |||
| 1737 | * For Ann Arbor Ambassador terminals, the termcap "ti" string | ||
| 1738 | is now used to initialize the screen geometry on entry to Emacs, | ||
| 1739 | and the "te" string is used to set it back on exit. | ||
| 1740 | If the termcap entry does not define the "ti" or "te" string, | ||
| 1741 | Emacs does what it used to do. | ||
| 1742 | |||
| 1743 | |||
| 1744 | |||
| 1745 | Changes in Emacs 1.10 | ||
| 1746 | |||
| 1747 | * GNU Emacs has been made almost 1/3 smaller. | ||
| 1748 | It now dumps out as only 530kbytes on Vax 4.2bsd. | ||
| 1749 | |||
| 1750 | * The term "checkpoint" has been replaced by "auto save" | ||
| 1751 | throughout the function names, variable names and documentation | ||
| 1752 | of GNU Emacs. | ||
| 1753 | |||
| 1754 | * The function load now tries appending ".elc" and ".el" | ||
| 1755 | to the specified filename BEFORE it tries the filename | ||
| 1756 | without change. | ||
| 1757 | |||
| 1758 | * rmail now makes the mode line display the total number | ||
| 1759 | of messages and the current message number. | ||
| 1760 | The "f" command now means forward a message to another user. | ||
| 1761 | The command to search through all messages for a string is now "F". | ||
| 1762 | The "u" command now means to move back to the previous | ||
| 1763 | message and undelete it. To undelete the selected message, use Meta-u. | ||
| 1764 | |||
| 1765 | * The hyphen character is now equivalent to a Space while | ||
| 1766 | in completing minibuffers. Both mean to complete an additional word. | ||
| 1767 | |||
| 1768 | * The Lisp function error now takes args like format | ||
| 1769 | which are used to construct the error message. | ||
| 1770 | |||
| 1771 | * Redisplay will refuse to start its display at the end of the buffer. | ||
| 1772 | It will pick a new place to display from, rather than use that. | ||
| 1773 | |||
| 1774 | * The value returned by garbage-collect has been changed. | ||
| 1775 | Its first element is no longer a number but a cons, | ||
| 1776 | whose car is the number of cons cells now in use, | ||
| 1777 | and whose cdr is the number of cons cells that have been | ||
| 1778 | made but are now free. | ||
| 1779 | The second element is similar but describes symbols rather than cons cells. | ||
| 1780 | The third element is similar but describes markers. | ||
| 1781 | |||
| 1782 | * The variable buffer-name has been eliminated. | ||
| 1783 | The function buffer-name still exists. This is to prevent | ||
| 1784 | user programs from changing buffer names without going | ||
| 1785 | through the rename-buffer function. | ||
| 1786 | |||
| 1787 | |||
| 1788 | |||
| 1789 | Changes in Emacs 1.9 | ||
| 1790 | |||
| 1791 | * When a fill prefix is in effect, paragraphs are started | ||
| 1792 | or separated by lines that do not start with the fill prefix. | ||
| 1793 | Also, a line which consists of the fill prefix followed by | ||
| 1794 | white space separates paragraphs. | ||
| 1795 | |||
| 1796 | * C-x C-v runs the new function find-alternate-file. | ||
| 1797 | It finds the specified file, switches to that buffer, | ||
| 1798 | and kills the previous current buffer. (It requires | ||
| 1799 | confirmation if that buffer had changes.) This is | ||
| 1800 | most useful after you find the wrong file due to a typo. | ||
| 1801 | |||
| 1802 | * Exiting the minibuffer moves the cursor to column 0, | ||
| 1803 | to show you that it has really been exited. | ||
| 1804 | |||
| 1805 | * Meta-g (fill-region) now fills each paragraph in the | ||
| 1806 | region individually. To fill the region as if it were | ||
| 1807 | a single paragraph (for when the paragraph-delimiting mechanism | ||
| 1808 | does the wrong thing), use fill-region-as-paragraph. | ||
| 1809 | |||
| 1810 | * Tab in text mode now runs the function tab-to-tab-stop. | ||
| 1811 | A new mode called indented-text-mode is like text-mode | ||
| 1812 | except that in it Tab runs the function indent-relative, | ||
| 1813 | which indents the line under the previous line. | ||
| 1814 | If auto fill is enabled while in indented-text-mode, | ||
| 1815 | the new lines that it makes are indented. | ||
| 1816 | |||
| 1817 | * Functions kill-rectangle and yank-rectangle. | ||
| 1818 | kill-rectangle deletes the rectangle specified by dot and mark | ||
| 1819 | (or by two arguments) and saves it in the variable killed-rectangle. | ||
| 1820 | yank-rectangle inserts the rectangle in that variable. | ||
| 1821 | |||
| 1822 | Tab characters in a rectangle being saved are replaced | ||
| 1823 | by spaces in such a way that their appearance will | ||
| 1824 | not be changed if the rectangle is later reinserted | ||
| 1825 | at a different column position. | ||
| 1826 | |||
| 1827 | * `+' in a regular expression now means | ||
| 1828 | to repeat the previous expression one or more times. | ||
| 1829 | `?' means to repeat it zero or one time. | ||
| 1830 | They are in all regards like `*' except for the | ||
| 1831 | number of repetitions they match. | ||
| 1832 | |||
| 1833 | \< in a regular expression now matches the null string | ||
| 1834 | when it is at the beginning of a word; \> matches | ||
| 1835 | the null string at the end of a word. | ||
| 1836 | |||
| 1837 | * C-x p narrows the buffer so that only the current page | ||
| 1838 | is visible. | ||
| 1839 | |||
| 1840 | * C-x ) with argument repeats the kbd macro just | ||
| 1841 | defined that many times, counting the definition | ||
| 1842 | as one repetition. | ||
| 1843 | |||
| 1844 | * C-x ( with argument begins defining a kbd macro | ||
| 1845 | starting with the last one defined. It executes that | ||
| 1846 | previous kbd macro initially, just as if you began | ||
| 1847 | by typing it over again. | ||
| 1848 | |||
| 1849 | * C-x q command queries the user during kbd macro execution. | ||
| 1850 | With prefix argument, enters recursive edit, | ||
| 1851 | reading keyboard commands even within a kbd macro. | ||
| 1852 | You can give different commands each time the macro executes. | ||
| 1853 | Without prefix argument, reads a character. Your options are: | ||
| 1854 | Space -- execute the rest of the macro. | ||
| 1855 | Delete -- skip the rest of the macro; start next repetition. | ||
| 1856 | C-d -- skip rest of the macro and don't repeat it any more. | ||
| 1857 | C-r -- enter a recursive edit, then on exit ask again for a character | ||
| 1858 | C-l -- redisplay screen and ask again." | ||
| 1859 | |||
| 1860 | * write-kbd-macro and append-kbd-macro are used to save | ||
| 1861 | a kbd macro definition in a file (as Lisp code to | ||
| 1862 | redefine the macro when the file is loaded). | ||
| 1863 | These commands differ in that write-kbd-macro | ||
| 1864 | discards the previous contents of the file. | ||
| 1865 | If given a prefix argument, both commands | ||
| 1866 | record the keys which invoke the macro as well as the | ||
| 1867 | macro's definition. | ||
| 1868 | |||
| 1869 | * The variable global-minor-modes is used to display | ||
| 1870 | strings in the mode line of all buffers. It should be | ||
| 1871 | a list of elements thaht are conses whose cdrs are strings | ||
| 1872 | to be displayed. This complements the variable | ||
| 1873 | minor-modes, which has the same effect but has a separate | ||
| 1874 | value in each buffer. | ||
| 1875 | |||
| 1876 | * C-x = describes horizontal scrolling in effect, if any. | ||
| 1877 | |||
| 1878 | * Return now auto-fills the line it is ending, in auto fill mode. | ||
| 1879 | Space with zero as argument auto-fills the line before it | ||
| 1880 | just like Space without an argument. | ||
| 1881 | |||
| 1882 | |||
| 1883 | |||
| 1884 | Changes in Emacs 1.8 | ||
| 1885 | |||
| 1886 | This release mostly fixes bugs. There are a few new features: | ||
| 1887 | |||
| 1888 | * apropos now sorts the symbols before displaying them. | ||
| 1889 | Also, it returns a list of the symbols found. | ||
| 1890 | |||
| 1891 | apropos now accepts a second arg PRED which should be a function | ||
| 1892 | of one argument; if PRED is non-nil, each symbol is tested | ||
| 1893 | with PRED and only symbols for which PRED returns non-nil | ||
| 1894 | appear in the output or the returned list. | ||
| 1895 | |||
| 1896 | If the third argument to apropos is non-nil, apropos does not | ||
| 1897 | display anything; it merely returns the list of symbols found. | ||
| 1898 | |||
| 1899 | C-h a now runs the new function command-apropos rather than | ||
| 1900 | apropos, and shows only symbols with definitions as commands. | ||
| 1901 | |||
| 1902 | * M-x shell sends the command | ||
| 1903 | if (-f ~/.emacs_NAME)source ~/.emacs_NAME | ||
| 1904 | invisibly to the shell when it starts. Here NAME | ||
| 1905 | is replaced by the name of shell used, | ||
| 1906 | as it came from your ESHELL or SHELL environment variable | ||
| 1907 | but with directory name, if any, removed. | ||
| 1908 | |||
| 1909 | * M-, now runs the command tags-loop-continue, which is used | ||
| 1910 | to resume a terminated tags-search or tags-query-replace. | ||
| 1911 | |||
| 1912 | |||
| 1913 | |||
| 1914 | Changes in Emacs 1.7 | ||
| 1915 | |||
| 1916 | It's Beat CCA Week. | ||
| 1917 | |||
| 1918 | * The initial buffer is now called "*scratch*" instead of "scratch", | ||
| 1919 | so that all buffer names used automatically by Emacs now have *'s. | ||
| 1920 | |||
| 1921 | * Undo information is now stored separately for each buffer. | ||
| 1922 | The Undo command (C-x u) always applies to the current | ||
| 1923 | buffer only. | ||
| 1924 | |||
| 1925 | C-_ is now a synonym for C-x u. | ||
| 1926 | |||
| 1927 | (buffer-flush-undo BUFFER) causes undo information not to | ||
| 1928 | be kept for BUFFER, and frees the space that would have | ||
| 1929 | been used to hold it. In any case, no undo information is | ||
| 1930 | kept for buffers whose names start with spaces. (These | ||
| 1931 | buffers also do not appear in the C-x C-b display.) | ||
| 1932 | |||
| 1933 | * Rectangle operations are now implemented. | ||
| 1934 | C-x r stores the rectangle described by dot and mark | ||
| 1935 | into a register; it reads the register name from the keyboard. | ||
| 1936 | C-x g, the command to insert the contents of a register, | ||
| 1937 | can be used to reinsert the rectangle elsewhere. | ||
| 1938 | |||
| 1939 | Other rectangle commands include | ||
| 1940 | open-rectangle: | ||
| 1941 | insert a blank rectangle in the position and size | ||
| 1942 | described by dot and mark, at its corners; | ||
| 1943 | the existing text is pushed to the right. | ||
| 1944 | clear-rectangle: | ||
| 1945 | replace the rectangle described by dot ane mark | ||
| 1946 | with blanks. The previous text is deleted. | ||
| 1947 | delete-rectangle: | ||
| 1948 | delete the text of the specified rectangle, | ||
| 1949 | moving the text beyond it on each line leftward. | ||
| 1950 | |||
| 1951 | * Side-by-side windows are allowed. Use C-x 5 to split the | ||
| 1952 | current window into two windows side by side. | ||
| 1953 | C-x } makes the selected window ARG columns wider at the | ||
| 1954 | expense of the windows at its sides. C-x { makes the selected | ||
| 1955 | window ARG columns narrower. An argument to C-x 5 specifies | ||
| 1956 | how many columns to give to the leftmost of the two windows made. | ||
| 1957 | |||
| 1958 | C-x 2 now accepts a numeric argument to specify the number of | ||
| 1959 | lines to give to the uppermost of the two windows it makes. | ||
| 1960 | |||
| 1961 | * Horizontal scrolling of the lines in a window is now implemented. | ||
| 1962 | C-x < (scroll-left) scrolls all displayed lines left, | ||
| 1963 | with the numeric argument (default 1) saying how far to scroll. | ||
| 1964 | When the window is scrolled left, some amount of the beginning | ||
| 1965 | of each nonempty line is replaced by an "$". | ||
| 1966 | C-x > scrolls right. If a window has no text hidden at the left | ||
| 1967 | margin, it cannot be scrolled any farther right than that. | ||
| 1968 | When nonzero leftwards scrolling is in effect in a window. | ||
| 1969 | lines are automatically truncated at the window's right margin | ||
| 1970 | regardless of the value of the variable truncate-lines in the | ||
| 1971 | buffer being displayed. | ||
| 1972 | |||
| 1973 | * C-x C-d now uses the default output format of `ls', | ||
| 1974 | which gives just file names in multiple columns. | ||
| 1975 | C-u C-x C-d passes the -l switch to `ls'. | ||
| 1976 | |||
| 1977 | * C-t at the end of a line now exchanges the two preceding characters. | ||
| 1978 | |||
| 1979 | All the transpose commands now interpret zero as an argument | ||
| 1980 | to mean to transpose the textual unit after or around dot | ||
| 1981 | with the one after or around the mark. | ||
| 1982 | |||
| 1983 | * M-! executes a shell command in an inferior shell | ||
| 1984 | and displays the output from it. With a prefix argument, | ||
| 1985 | it inserts the output in the current buffer after dot | ||
| 1986 | and sets the mark after the output. The shell command | ||
| 1987 | gets /dev/null as its standard input. | ||
| 1988 | |||
| 1989 | M-| is like M-! but passes the contents of the region | ||
| 1990 | as input to the shell command. A prefix argument makes | ||
| 1991 | the output from the command replace the contents of the region. | ||
| 1992 | |||
| 1993 | * The mode line will now say "Def" after the major mode | ||
| 1994 | while a keyboard macro is being defined. | ||
| 1995 | |||
| 1996 | * The variable fill-prefix is now used by Meta-q. | ||
| 1997 | Meta-q removes the fill prefix from lines that start with it | ||
| 1998 | before filling, and inserts the fill prefix on each line | ||
| 1999 | after filling. | ||
| 2000 | |||
| 2001 | The command C-x . sets the fill prefix equal to the text | ||
| 2002 | on the current line before dot. | ||
| 2003 | |||
| 2004 | * The new command Meta-j (indent-new-comment-line), | ||
| 2005 | is like Linefeed (indent-new-line) except when dot is inside a comment; | ||
| 2006 | in that case, Meta-j inserts a comment starter on the new line, | ||
| 2007 | indented under the comment starter above. It also inserts | ||
| 2008 | a comment terminator at the end of the line above, | ||
| 2009 | if the language being edited calls for one. | ||
| 2010 | |||
| 2011 | * Rmail should work correctly now, and has some C-h m documentation. | ||
| 2012 | |||
| 2013 | |||
| 2014 | |||
| 2015 | Changes in Emacs 1.6 | ||
| 2016 | |||
| 2017 | * save-buffers-kill-emacs is now on C-x C-c | ||
| 2018 | while C-x C-z does suspend-emacs. This is to make | ||
| 2019 | C-x C-c like the normal Unix meaning of C-c | ||
| 2020 | and C-x C-z linke the normal Unix meaning of C-z. | ||
| 2021 | |||
| 2022 | * M-ESC (eval-expression) is now a disabled command by default. | ||
| 2023 | This prevents users who type ESC ESC accidentally from | ||
| 2024 | getting confusing results. Put | ||
| 2025 | (put 'eval-expression 'disabled nil) | ||
| 2026 | in your ~/.emacs file to enable the command. | ||
| 2027 | |||
| 2028 | * Self-inserting text is grouped into bunches for undoing. | ||
| 2029 | Each C-x u command undoes up to 20 consecutive self-inserting | ||
| 2030 | characters. | ||
| 2031 | |||
| 2032 | * Help f now uses as a default the function being called | ||
| 2033 | in the innermost Lisp expression that dot is in. | ||
| 2034 | This makes it more convenient to use while writing | ||
| 2035 | Lisp code to run in Emacs. | ||
| 2036 | (If the text around dot does not appear to be a call | ||
| 2037 | to a Lisp function, there is no default.) | ||
| 2038 | |||
| 2039 | Likewise, Help v uses the symbol around or before dot | ||
| 2040 | as a default, if that is a variable name. | ||
| 2041 | |||
| 2042 | * Commands that read filenames now insert the default | ||
| 2043 | directory in the minibuffer, to become part of your input. | ||
| 2044 | This allows you to see what the default is. | ||
| 2045 | You may type a filename which goes at the end of the | ||
| 2046 | default directory, or you may edit the default directory | ||
| 2047 | as you like to create the input you want to give. | ||
| 2048 | You may also type an absolute pathname (starting with /) | ||
| 2049 | or refer to a home directory (input starting with ~) | ||
| 2050 | after the default; the presence of // or /~ causes | ||
| 2051 | everything up through the slash that precedes your | ||
| 2052 | type-in to be ignored. | ||
| 2053 | |||
| 2054 | Returning the default directory without change, | ||
| 2055 | including the terminating slash, requests the use | ||
| 2056 | of the default file name (usually the visited file's name). | ||
| 2057 | |||
| 2058 | Set the variable insert-default-directory to nil | ||
| 2059 | to turn off this feature. | ||
| 2060 | |||
| 2061 | * M-x shell now uses the environment variable ESHELL, | ||
| 2062 | if it exists, as the file name of the shell to run. | ||
| 2063 | If there is no ESHELL variable, the SHELL variable is used. | ||
| 2064 | This is because some shells do not work properly as inferiors | ||
| 2065 | of Emacs (or anything like Emacs). | ||
| 2066 | |||
| 2067 | * A new variable minor-modes now exists, with a separate value | ||
| 2068 | in each buffer. Its value should be an alist of elements | ||
| 2069 | (MODE-FUNCTION-SYMBOL . PRETTY-NAME-STRING), one for each | ||
| 2070 | minor mode that is turned on in the buffer. The pretty | ||
| 2071 | name strings are displayed in the mode line after the name of the | ||
| 2072 | major mode (with spaces between them). The mode function | ||
| 2073 | symbols should be symbols whose function definitions will | ||
| 2074 | turn on the minor mode if given 1 as an argument; they are present | ||
| 2075 | so that Help m can find their documentation strings. | ||
| 2076 | |||
| 2077 | * The format of tag table files has been changed. | ||
| 2078 | The new format enables Emacs to find tags much faster. | ||
| 2079 | |||
| 2080 | A new program, etags, exists to make the kind of | ||
| 2081 | tag table that Emacs wants. etags is invoked just | ||
| 2082 | like ctags; in fact, if you give it any switches, | ||
| 2083 | it does exactly what ctags would do. Give it the | ||
| 2084 | empty switch ("-") to make it act like ctags with no switches. | ||
| 2085 | |||
| 2086 | etags names the tag table file "TAGS" rather than "tags", | ||
| 2087 | so that these tag tables and the standard Unix ones | ||
| 2088 | can coexist. | ||
| 2089 | |||
| 2090 | The tags library can no longer use standard ctags-style | ||
| 2091 | tag tables files. | ||
| 2092 | |||
| 2093 | * The file of Lisp code Emacs reads on startup is now | ||
| 2094 | called ~/.emacs rather than ~/.emacs_pro. | ||
| 2095 | |||
| 2096 | * copy-file now gives the copied file the same mode bits | ||
| 2097 | as the original file. | ||
| 2098 | |||
| 2099 | * Output from a process inserted into the process's buffer | ||
| 2100 | no longer sets the buffer's mark. Instead it sets a | ||
| 2101 | marker associated with the process to point to the end | ||
| 2102 | of the inserted text. You can access this marker with | ||
| 2103 | (process-mark PROCESS) | ||
| 2104 | and then either examine its position with marker-position | ||
| 2105 | or set its position with set-marker. | ||
| 2106 | |||
| 2107 | * completing-read takes a new optional fifth argument which, | ||
| 2108 | if non-nil, should be a string of text to insert into | ||
| 2109 | the minibuffer before reading user commands. | ||
| 2110 | |||
| 2111 | * The Lisp function elt now exists: | ||
| 2112 | (elt ARRAY N) is like (aref ARRAY N), | ||
| 2113 | (elt LIST N) is like (nth N LIST). | ||
| 2114 | |||
| 2115 | * rplaca is now a synonym for setcar, and rplacd for setcdr. | ||
| 2116 | eql is now a synonym for eq; it turns out that the Common Lisp | ||
| 2117 | distinction between eq and eql is insignificant in Emacs. | ||
| 2118 | numberp is a new synonym for integerp. | ||
| 2119 | |||
| 2120 | * auto-save has been renamed to auto-save-mode. | ||
| 2121 | |||
| 2122 | * Auto save file names for buffers are now created by the | ||
| 2123 | function make-auto-save-file-name. This is so you can | ||
| 2124 | redefine that function to change the way auto save file names | ||
| 2125 | are chosen. | ||
| 2126 | |||
| 2127 | * expand-file-name no longer discards a final slash. | ||
| 2128 | (expand-file-name "foo" "/lose") => "/lose/foo" | ||
| 2129 | (expand-file-name "foo/" "/lose") => "/lose/foo/" | ||
| 2130 | |||
| 2131 | Also, expand-file-name no longer substitutes $ constructs. | ||
| 2132 | A new function substitute-in-file-name does this. Reading | ||
| 2133 | a file name with read-file-name or the `f' or`F' option | ||
| 2134 | of interactive calling uses substitute-in-file-name | ||
| 2135 | on the file name that was read and returns the result. | ||
| 2136 | |||
| 2137 | All I/O primitives including insert-file-contents and | ||
| 2138 | delete-file call expand-file-name on the file name supplied. | ||
| 2139 | This change makes them considerably faster in the usual case. | ||
| 2140 | |||
| 2141 | * Interactive calling spec strings allow the new code letter 'D' | ||
| 2142 | which means to read a directory name. It is like 'f' except | ||
| 2143 | that the default if the user makes no change in the minibuffer | ||
| 2144 | is to return the current default directory rather than the | ||
| 2145 | current visited file name. | ||
| 2146 | |||
| 2147 | |||
| 2148 | |||
| 2149 | Changes in Emacs 1.5 | ||
| 2150 | |||
| 2151 | * suspend-emacs now accepts an optional argument | ||
| 2152 | which is a string to be stuffed as terminal input | ||
| 2153 | to be read by Emacs's superior shell after Emacs exits. | ||
| 2154 | |||
| 2155 | A library called ledit exists which uses this feature | ||
| 2156 | to transmit text to a Lisp job running as a sibling of | ||
| 2157 | Emacs. | ||
| 2158 | |||
| 2159 | * If find-file is given the name of a directory, | ||
| 2160 | it automatically invokes dired on that directory | ||
| 2161 | rather than reading in the binary data that make up | ||
| 2162 | the actual contents of the directory according to Unix. | ||
| 2163 | |||
| 2164 | * Saving an Emacs buffer now preserves the file modes | ||
| 2165 | of any previously existing file with the same name. | ||
| 2166 | This works using new Lisp functions file-modes and | ||
| 2167 | set-file-modes, which can be used to read or set the mode | ||
| 2168 | bits of any file. | ||
| 2169 | |||
| 2170 | * The Lisp function cond now exists, with its traditional meaning. | ||
| 2171 | |||
| 2172 | * defvar and defconst now permit the documentation string | ||
| 2173 | to be omitted. defvar also permits the initial value | ||
| 2174 | to be omitted; then it acts only as a comment. | ||
| 2175 | |||
| 2176 | |||
| 2177 | |||
| 2178 | Changes in Emacs 1.4 | ||
| 2179 | |||
| 2180 | * Auto-filling now normally indents the new line it creates | ||
| 2181 | by calling indent-according-to-mode. This function, meanwhile, | ||
| 2182 | has in Fundamental and Text modes the effect of making the line | ||
| 2183 | have an indentation of the value of left-margin, a per-buffer variable. | ||
| 2184 | |||
| 2185 | Tab no longer precisely does indent-according-to-mode; | ||
| 2186 | it does that in all modes that supply their own indentation routine, | ||
| 2187 | but in Fundamental, Text and allied modes it inserts a tab character. | ||
| 2188 | |||
| 2189 | * The command M-x grep now invokes grep (on arguments | ||
| 2190 | supplied by the user) and reads the output from grep | ||
| 2191 | asynchronously into a buffer. The command C-x ` can | ||
| 2192 | be used to move to the lines that grep has found. | ||
| 2193 | This is an adaptation of the mechanism used for | ||
| 2194 | running compilations and finding the loci of error messages. | ||
| 2195 | |||
| 2196 | You can now use C-x ` even while grep or compilation | ||
| 2197 | is proceeding; as more matches or error messages arrive, | ||
| 2198 | C-x ` will parse them and be able to find them. | ||
| 2199 | |||
| 2200 | * M-x mail now provides a command to send the message | ||
| 2201 | and "exit"--that is, return to the previously selected | ||
| 2202 | buffer. It is C-z C-z. | ||
| 2203 | |||
| 2204 | * Tab in C mode now tries harder to adapt to all indentation styles. | ||
| 2205 | If the line being indented is a statement that is not the first | ||
| 2206 | one in the containing compound-statement, it is aligned under | ||
| 2207 | the beginning of the first statement. | ||
| 2208 | |||
| 2209 | * The functions screen-width and screen-height return the | ||
| 2210 | total width and height of the screen as it is now being used. | ||
| 2211 | set-screen-width and set-screen-height tell Emacs how big | ||
| 2212 | to assume the screen is; they each take one argument, | ||
| 2213 | an integer. | ||
| 2214 | |||
| 2215 | * The Lisp function 'function' now exists. function is the | ||
| 2216 | same as quote, except that it serves as a signal to the | ||
| 2217 | Lisp compiler that the argument should be compiled as | ||
| 2218 | a function. Example: | ||
| 2219 | (mapcar (function (lambda (x) (+ x 5))) list) | ||
| 2220 | |||
| 2221 | * The function set-key has been renamed to global-set-key. | ||
| 2222 | undefine-key and local-undefine-key has been renamed to | ||
| 2223 | global-unset-key and local-unset-key. | ||
| 2224 | |||
| 2225 | * Emacs now collects input from asynchronous subprocesses | ||
| 2226 | while waiting in the functions sleep-for and sit-for. | ||
| 2227 | |||
| 2228 | * Shell mode's Newline command attempts to distinguish subshell | ||
| 2229 | prompts from user input when issued in the middle of the buffer. | ||
| 2230 | It no longer reexecutes from dot to the end of the line; | ||
| 2231 | it reeexecutes the entire line minus any prompt. | ||
| 2232 | The prompt is recognized by searching for the value of | ||
| 2233 | shell-prompt-pattern, starting from the beginning of the line. | ||
| 2234 | Anything thus skipped is not reexecuted. | ||
| 2235 | |||
| 2236 | |||
| 1328 | 2237 | ||
| 1329 | For older news, see the file ONEWS.1. | 2238 | Changes in Emacs 1.3 |
| 1330 | 2239 | ||
| 2240 | * An undo facility exists now. Type C-x u to undo a batch of | ||
| 2241 | changes (usually one command's changes, but some commands | ||
| 2242 | such as query-replace divide their changes into multiple | ||
| 2243 | batches. You can repeat C-x u to undo further. As long | ||
| 2244 | as no commands other than C-x u intervene, each one undoes | ||
| 2245 | another batch. A numeric argument to C-x u acts as a repeat | ||
| 2246 | count. | ||
| 2247 | |||
| 2248 | If you keep on undoing, eventually you may be told that | ||
| 2249 | you have used up all the recorded undo information. | ||
| 2250 | Some actions, such as reading in files, discard all | ||
| 2251 | undo information. | ||
| 2252 | |||
| 2253 | The undo information is not currently stored separately | ||
| 2254 | for each buffer, so it is mainly good if you do something | ||
| 2255 | totally spastic. [This has since been fixed.] | ||
| 2256 | |||
| 2257 | * A learn-by-doing tutorial introduction to Emacs now exists. | ||
| 2258 | Type C-h t to enter it. | ||
| 2259 | |||
| 2260 | * An Info documentation browser exists. Do M-x info to enter it. | ||
| 2261 | It contains a tutorial introduction so that no more documentation | ||
| 2262 | is needed here. As of now, the only documentation in it | ||
| 2263 | is that of Info itself. | ||
| 2264 | |||
| 2265 | * Help k and Help c are now different. Help c prints just the | ||
| 2266 | name of the function which the specified key invokes. Help k | ||
| 2267 | prints the documentation of the function as well. | ||
| 2268 | |||
| 2269 | * A document of the differences between GNU Emacs and Twenex Emacs | ||
| 2270 | now exists. It is called DIFF, in the same directory as this file. | ||
| 2271 | |||
| 2272 | * C mode can now indent comments better, including multi-line ones. | ||
| 2273 | Meta-Control-q now reindents comment lines within the expression | ||
| 2274 | being aligned. | ||
| 2275 | |||
| 2276 | * Insertion of a close-parenthesis now shows the matching open-parenthesis | ||
| 2277 | even if it is off screen, by printing the text following it on its line | ||
| 2278 | in the minibuffer. | ||
| 2279 | |||
| 2280 | * A file can now contain a list of local variable values | ||
| 2281 | to be in effect when the file is edited. See the file DIFF | ||
| 2282 | in the same directory as this file for full details. | ||
| 2283 | |||
| 2284 | * A function nth is defined. It means the same thing as in Common Lisp. | ||
| 2285 | |||
| 2286 | * The function install-command has been renamed to set-key. | ||
| 2287 | It now takes the key sequence as the first argument | ||
| 2288 | and the definition for it as the second argument. | ||
| 2289 | Likewise, local-install-command has been renamed to local-set-key. | ||
| 2290 | |||
| 2291 | |||
| 2292 | |||
| 2293 | Changes in Emacs 1.2 | ||
| 2294 | |||
| 2295 | * A Lisp single-stepping and debugging facility exists. | ||
| 2296 | To cause the debugger to be entered when an error | ||
| 2297 | occurs, set the variable debug-on-error non-nil. | ||
| 2298 | |||
| 2299 | To cause the debugger to be entered whenever function foo | ||
| 2300 | is called, do (debug-on-entry 'foo). To cancel this, | ||
| 2301 | do (cancel-debug-on-entry 'foo). debug-on-entry does | ||
| 2302 | not work for primitives (written in C), only functions | ||
| 2303 | written in Lisp. Most standard Emacs commands are in Lisp. | ||
| 2304 | |||
| 2305 | When the debugger is entered, the selected window shows | ||
| 2306 | a buffer called " *Backtrace" which displays a series | ||
| 2307 | of stack frames, most recently entered first. For each | ||
| 2308 | frame, the function name called is shown, usually followed | ||
| 2309 | by the argument values unless arguments are still being | ||
| 2310 | calculated. At the beginning of the buffer is a description | ||
| 2311 | of why the debugger was entered: function entry, function exit, | ||
| 2312 | error, or simply that the user called the function `debug'. | ||
| 2313 | |||
| 2314 | To exit the debugger and return to top level, type `q'. | ||
| 2315 | |||
| 2316 | In the debugger, you can evaluate Lisp expressions by | ||
| 2317 | typing `e'. This is equivalent to `M-ESC'. | ||
| 2318 | |||
| 2319 | When the debugger is entered due to an error, that is | ||
| 2320 | all you can do. When it is entered due to function entry | ||
| 2321 | (such as, requested by debug-on-entry), you have two | ||
| 2322 | options: | ||
| 2323 | Continue execution and reenter debugger after the | ||
| 2324 | completion of the function being entered. Type `c'. | ||
| 2325 | Continue execution but enter the debugger before | ||
| 2326 | the next subexpression. Type `d'. | ||
| 2327 | |||
| 2328 | You will see that some stack frames are marked with *. | ||
| 2329 | This means the debugger will be entered when those | ||
| 2330 | frames exit. You will see the value being returned | ||
| 2331 | in the first line of the backtrace buffer. Your options: | ||
| 2332 | Continue execution, and return that value. Type `c'. | ||
| 2333 | Continue execution, and return a specified value. Type `r'. | ||
| 2334 | |||
| 2335 | You can mark a frame to enter the debugger on exit | ||
| 2336 | with the `b' command, or clear such a mark with `u'. | ||
| 2337 | |||
| 2338 | * Lisp macros now exist. | ||
| 2339 | For example, you can write | ||
| 2340 | (defmacro cadr (arg) (list 'car (list 'cdr arg))) | ||
| 2341 | and then the expression | ||
| 2342 | (cadr foo) | ||
| 2343 | will expand into | ||
| 2344 | (car (cdr foo)) | ||
| 2345 | |||
| 2346 | |||
| 2347 | |||
| 2348 | Changes in Emacs 1.1 | ||
| 2349 | |||
| 2350 | * The initial buffer is now called "scratch" and is in a | ||
| 2351 | new major mode, Lisp Interaction mode. This mode is | ||
| 2352 | intended for typing Lisp expressions, evaluating them, | ||
| 2353 | and having the values printed into the buffer. | ||
| 2354 | |||
| 2355 | Type Linefeed after a Lisp expression, to evaluate the | ||
| 2356 | expression and have its value printed into the buffer, | ||
| 2357 | advancing dot. | ||
| 2358 | |||
| 2359 | The other commands of Lisp mode are available. | ||
| 2360 | |||
| 2361 | * The C-x C-e command for evaluating the Lisp expression | ||
| 2362 | before dot has been changed to print the value in the | ||
| 2363 | minibuffer line rather than insert it in the buffer. | ||
| 2364 | A numeric argument causes the printed value to appear | ||
| 2365 | in the buffer instead. | ||
| 2366 | |||
| 2367 | * In Lisp mode, the command M-C-x evaluates the defun | ||
| 2368 | containing or following dot. The value is printed in | ||
| 2369 | the minibuffer. | ||
| 2370 | |||
| 2371 | * The value of a Lisp expression evaluated using M-ESC | ||
| 2372 | is now printed in the minibuffer. | ||
| 2373 | |||
| 2374 | * M-q now runs fill-paragraph, independent of major mode. | ||
| 2375 | |||
| 2376 | * C-h m now prints documentation on the current buffer's | ||
| 2377 | major mode. What it prints is the documentation of the | ||
| 2378 | major mode name as a function. All major modes have been | ||
| 2379 | equipped with documentation that describes all commands | ||
| 2380 | peculiar to the major mode, for this purpose. | ||
| 2381 | |||
| 2382 | * You can display a Unix manual entry with | ||
| 2383 | the M-x manual-entry command. | ||
| 2384 | |||
| 2385 | * You can run a shell, displaying its output in a buffer, | ||
| 2386 | with the M-x shell command. The Return key sends input | ||
| 2387 | to the subshell. Output is printed inserted automatically | ||
| 2388 | in the buffer. Commands C-c, C-d, C-u, C-w and C-z are redefined | ||
| 2389 | for controlling the subshell and its subjobs. | ||
| 2390 | "cd", "pushd" and "popd" commands are recognized as you | ||
| 2391 | enter them, so that the default directory of the Emacs buffer | ||
| 2392 | always remains the same as that of the subshell. | ||
| 2393 | |||
| 2394 | * C-x $ (that's a real dollar sign) controls line-hiding based | ||
| 2395 | on indentation. With a numeric arg N > 0, it causes all lines | ||
| 2396 | indented by N or more columns to become invisible. | ||
| 2397 | They are, effectively, tacked onto the preceding line, where | ||
| 2398 | they are represented by " ..." on the screen. | ||
| 2399 | (The end of the preceding visible line corresponds to a | ||
| 2400 | screen cursor position before the "...". Anywhere in the | ||
| 2401 | invisible lines that follow appears on the screen as a cursor | ||
| 2402 | position after the "...".) | ||
| 2403 | Currently, all editing commands treat invisible lines just | ||
| 2404 | like visible ones, except for C-n and C-p, which have special | ||
| 2405 | code to count visible lines only. | ||
| 2406 | C-x $ with no argument turns off this mode, which in any case | ||
| 2407 | is remembered separately for each buffer. | ||
| 2408 | |||
| 2409 | * Outline mode is another form of selective display. | ||
| 2410 | It is a major mode invoked with M-x outline-mode. | ||
| 2411 | It is intended for editing files that are structured as | ||
| 2412 | outlines, with heading lines (lines that begin with one | ||
| 2413 | or more asterisks) and text lines (all other lines). | ||
| 2414 | The number of asterisks in a heading line are its level; | ||
| 2415 | the subheadings of a heading line are all following heading | ||
| 2416 | lines at higher levels, until but not including the next | ||
| 2417 | heading line at the same or a lower level, regardless | ||
| 2418 | of intervening text lines. | ||
| 2419 | |||
| 2420 | In outline mode, you have commands to hide (remove from display) | ||
| 2421 | or show the text or subheadings under each heading line | ||
| 2422 | independently. Hidden text or subheadings are invisibly | ||
| 2423 | attached to the end of the preceding heading line, so that | ||
| 2424 | if you kill the hading line and yank it back elsewhere | ||
| 2425 | all the invisible lines accompany it. | ||
| 2426 | |||
| 2427 | All editing commands treat hidden outline-mode lines | ||
| 2428 | as part of the preceding visible line. | ||
| 2429 | |||
| 2430 | * C-x C-z runs save-buffers-kill-emacs | ||
| 2431 | offers to save each file buffer, then exits. | ||
| 2432 | |||
| 2433 | * C-c's function is now called suspend-emacs. | ||
| 2434 | |||
| 2435 | * The command C-x m runs mail, which switches to a buffer *mail* | ||
| 2436 | and lets you compose a message to send. C-x 4 m runs mail in | ||
| 2437 | another window. Type C-z C-s in the mail buffer to send the | ||
| 2438 | message according to what you have entered in the buffer. | ||
| 2439 | |||
| 2440 | You must separate the headers from the message text with | ||
| 2441 | an empty line. | ||
| 2442 | |||
| 2443 | * You can now dired partial directories (specified with names | ||
| 2444 | containing *'s, etc, all processed by the shell). Also, you | ||
| 2445 | can dired more than one directory; dired names the buffer | ||
| 2446 | according to the filespec or directory name. Reinvoking | ||
| 2447 | dired on a directory already direded just switches back to | ||
| 2448 | the same directory used last time; do M-x revert if you want | ||
| 2449 | to read in the current contents of the directory. | ||
| 2450 | |||
| 2451 | C-x d runs dired, and C-x 4 d runs dired in another window. | ||
| 2452 | |||
| 2453 | C-x C-d (list-directory) also allows partial directories now. | ||
| 2454 | |||
| 2455 | |||
| 2456 | Lisp programming changes | ||
| 2457 | |||
| 2458 | * t as an output stream now means "print to the minibuffer". | ||
| 2459 | If there is already text in the minibuffer printed via t | ||
| 2460 | as an output stream, the new text is appended to the old | ||
| 2461 | (or is truncated and lost at the margin). If the minibuffer | ||
| 2462 | contains text put there for some other reason, it is cleared | ||
| 2463 | first. | ||
| 2464 | |||
| 2465 | t is now the top-level value of standard-output. | ||
| 2466 | |||
| 2467 | t as an input stream now means "read via the minibuffer". | ||
| 2468 | The minibuffer is used to read a line of input, with editing, | ||
| 2469 | and this line is then parsed. Any excess not used by `read' | ||
| 2470 | is ignored; each `read' from t reads fresh input. | ||
| 2471 | t is now the top-level value of standard-input. | ||
| 2472 | |||
| 2473 | * A marker may be used as an input stream or an output stream. | ||
| 2474 | The effect is to grab input from where the marker points, | ||
| 2475 | advancing it over the characters read, or to insert output | ||
| 2476 | at the marker and advance it. | ||
| 2477 | |||
| 2478 | * Output from an asynchronous subprocess is now inserted at | ||
| 2479 | the end of the associated buffer, not at the buffer's dot, | ||
| 2480 | and the buffer's mark is set to the end of the inserted output | ||
| 2481 | each time output is inserted. | ||
| 2482 | |||
| 2483 | * (pos-visible-in-window-p POS WINDOW) | ||
| 2484 | returns t if position POS in WINDOW's buffer is in the range | ||
| 2485 | that is being displayed in WINDOW; nil if it is scrolled | ||
| 2486 | vertically out of visibility. | ||
| 2487 | |||
| 2488 | If display in WINDOW is not currently up to date, this function | ||
| 2489 | calculates carefully whether POS would appear if display were | ||
| 2490 | done immediately based on the current (window-start WINDOW). | ||
| 2491 | |||
| 2492 | POS defaults to (dot), and WINDOW to (selected-window). | ||
| 2493 | |||
| 2494 | * Variable buffer-alist replaced by function (buffer-list). | ||
| 2495 | The actual alist of buffers used internally by Emacs is now | ||
| 2496 | no longer accessible, to prevent the user from crashing Emacs | ||
| 2497 | by modifying it. The function buffer-list returns a list | ||
| 2498 | of all existing buffers. Modifying this list cannot hurt anything | ||
| 2499 | as a new list is constructed by each call to buffer-list. | ||
| 2500 | |||
| 2501 | * load now takes an optional third argument NOMSG which, if non-nil, | ||
| 2502 | prevents load from printing a message when it starts and when | ||
| 2503 | it is done. | ||
| 2504 | |||
| 2505 | * byte-recompile-directory is a new function which finds all | ||
| 2506 | the .elc files in a directory, and regenerates each one which | ||
| 2507 | is older than the corresponding .el (Lisp source) file. | ||
| 2508 | |||
| 2509 | |||
| 2510 | |||
| 1331 | ---------------------------------------------------------------------- | 2511 | ---------------------------------------------------------------------- |
| 1332 | Copyright information: | 2512 | Copyright information: |
| 1333 | 2513 | ||
| 1334 | Copyright (C) 1985 Richard M. Stallman | 2514 | Copyright (C) 1985, 1986, 2006 Richard M. Stallman |
| 1335 | 2515 | ||
| 1336 | Permission is granted to anyone to make or distribute verbatim copies | 2516 | Permission is granted to anyone to make or distribute verbatim copies |
| 1337 | of this document as received, in any medium, provided that the | 2517 | of this document as received, in any medium, provided that the |
diff --git a/etc/ONEWS.3 b/etc/NEWS.18 index f7f36c4b1d1..9d68613d1ca 100644 --- a/etc/ONEWS.3 +++ b/etc/NEWS.18 | |||
| @@ -1,8 +1,10 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. 17-Aug-1988 | 1 | GNU Emacs NEWS -- history of user-visible changes. 17-Aug-1988 |
| 2 | Copyright (C) 1988 Free Software Foundation, Inc. | 2 | Copyright (C) 1988, 2006 Free Software Foundation, Inc. |
| 3 | See the end for copying conditions. | 3 | See the end for copying conditions. |
| 4 | 4 | ||
| 5 | For older news, see the file ONEWS.2. | 5 | This file is about changes in emacs version 18. |
| 6 | |||
| 7 | |||
| 6 | 8 | ||
| 7 | Changes in version 18.52. | 9 | Changes in version 18.52. |
| 8 | 10 | ||
| @@ -111,6 +113,8 @@ The second is used with the window system: it iconifies the Emacs window. | |||
| 111 | ** VMS: the new function `define-logical-name' allows you to create | 113 | ** VMS: the new function `define-logical-name' allows you to create |
| 112 | job-wide logical names. The old function `define-dcl-symbol' has been | 114 | job-wide logical names. The old function `define-dcl-symbol' has been |
| 113 | removed. | 115 | removed. |
| 116 | |||
| 117 | |||
| 114 | 118 | ||
| 115 | Changes in version 18.50. | 119 | Changes in version 18.50. |
| 116 | 120 | ||
| @@ -166,6 +170,8 @@ Emacs run. End of file causes Emacs to exit. | |||
| 166 | These variables cannot really work because the 24-bit range of an | 170 | These variables cannot really work because the 24-bit range of an |
| 167 | integer in (most ports of) GNU Emacs is not large enough to hold their | 171 | integer in (most ports of) GNU Emacs is not large enough to hold their |
| 168 | values on many systems. | 172 | values on many systems. |
| 173 | |||
| 174 | |||
| 169 | 175 | ||
| 170 | Changes in version 18.45, since version 18.41. | 176 | Changes in version 18.45, since version 18.41. |
| 171 | 177 | ||
| @@ -221,6 +227,8 @@ case. You can use either upper or lower case indiscriminately. | |||
| 221 | 227 | ||
| 222 | This is a new name for the function formerly called | 228 | This is a new name for the function formerly called |
| 223 | `define-logical-name'. | 229 | `define-logical-name'. |
| 230 | |||
| 231 | |||
| 224 | 232 | ||
| 225 | Editing Changes in Emacs 18 | 233 | Editing Changes in Emacs 18 |
| 226 | 234 | ||
| @@ -798,6 +806,7 @@ can put in requests at the same time. | |||
| 798 | 806 | ||
| 799 | The client/server work only on Berkeley Unix, since they use the Berkeley | 807 | The client/server work only on Berkeley Unix, since they use the Berkeley |
| 800 | sockets mechanism for their communication. | 808 | sockets mechanism for their communication. |
| 809 | |||
| 801 | 810 | ||
| 802 | Changes in Lisp programming in Emacs version 18. | 811 | Changes in Lisp programming in Emacs version 18. |
| 803 | 812 | ||
| @@ -1586,13 +1595,13 @@ LD_SWITCH_MACHINE can be defined by the m- file to specify extra `ld' switches. | |||
| 1586 | C_DEBUG_SWITCH defines the switches to give `cc' when debugging. Default `-g'. | 1595 | C_DEBUG_SWITCH defines the switches to give `cc' when debugging. Default `-g'. |
| 1587 | C_OPTIMIZE_SWITCH defines the switches to give `cc' to optimize. Default `-O'. | 1596 | C_OPTIMIZE_SWITCH defines the switches to give `cc' to optimize. Default `-O'. |
| 1588 | C_SWITCH_MACHINE can be defined by the m- file to specify extra `cc' switches. | 1597 | C_SWITCH_MACHINE can be defined by the m- file to specify extra `cc' switches. |
| 1589 | |||
| 1590 | For older news, see the file ONEWS.2. | ||
| 1591 | 1598 | ||
| 1599 | |||
| 1600 | |||
| 1592 | ---------------------------------------------------------------------- | 1601 | ---------------------------------------------------------------------- |
| 1593 | Copyright information: | 1602 | Copyright information: |
| 1594 | 1603 | ||
| 1595 | Copyright (C) 1988 Free Software Foundation, Inc. | 1604 | Copyright (C) 1988, 2006 Free Software Foundation, Inc. |
| 1596 | 1605 | ||
| 1597 | Permission is granted to anyone to make or distribute verbatim copies | 1606 | Permission is granted to anyone to make or distribute verbatim copies |
| 1598 | of this document as received, in any medium, provided that the | 1607 | of this document as received, in any medium, provided that the |
diff --git a/etc/ONEWS b/etc/NEWS.19 index e92965c89d9..ce06d2a8bfa 100644 --- a/etc/ONEWS +++ b/etc/NEWS.19 | |||
| @@ -1,10 +1,14 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. 1992. | 1 | GNU Emacs NEWS -- history of user-visible changes. 1992. |
| 2 | Copyright (C) 1995, 2001 Free Software Foundation, Inc. | 2 | Copyright (C) 1993, 1994, 1995, 2001, 2006 Free Software Foundation, Inc. |
| 3 | See the end for copying conditions. | 3 | See the end for copying conditions. |
| 4 | 4 | ||
| 5 | For older news, see the file ONEWS.4. | 5 | This file is about changes in emacs versions 19. |
| 6 | |||
| 7 | |||
| 6 | 8 | ||
| 7 | * Emacs 19.34 is a bug-fix release with no user-visible changes. | 9 | * Emacs 19.34 is a bug-fix release with no user-visible changes. |
| 10 | |||
| 11 | |||
| 8 | 12 | ||
| 9 | * Changes in Emacs 19.33. | 13 | * Changes in Emacs 19.33. |
| 10 | 14 | ||
| @@ -14,6 +18,8 @@ mode should do that--it is the user's choice.) | |||
| 14 | ** The variable normal-auto-fill-function specifies the function to | 18 | ** The variable normal-auto-fill-function specifies the function to |
| 15 | use for auto-fill-function, if and when Auto Fill is turned on. | 19 | use for auto-fill-function, if and when Auto Fill is turned on. |
| 16 | Major modes can set this locally to alter how Auto Fill works. | 20 | Major modes can set this locally to alter how Auto Fill works. |
| 21 | |||
| 22 | |||
| 17 | 23 | ||
| 18 | * Editing Changes in Emacs 19.32 | 24 | * Editing Changes in Emacs 19.32 |
| 19 | 25 | ||
| @@ -255,6 +261,7 @@ cited text to hide is now customizable. | |||
| 255 | 261 | ||
| 256 | The Gnus manual has been expanded. It explains all these new features | 262 | The Gnus manual has been expanded. It explains all these new features |
| 257 | in greater detail. | 263 | in greater detail. |
| 264 | |||
| 258 | 265 | ||
| 259 | * Lisp Changes in Emacs 19.32 | 266 | * Lisp Changes in Emacs 19.32 |
| 260 | 267 | ||
| @@ -279,6 +286,8 @@ name. In such a case, you should give that alias symbol a non-nil | |||
| 279 | menu-alias property. That property tells the menu system to look for | 286 | menu-alias property. That property tells the menu system to look for |
| 280 | equivalent keys for the real name instead of equivalent keys for the | 287 | equivalent keys for the real name instead of equivalent keys for the |
| 281 | alias. | 288 | alias. |
| 289 | |||
| 290 | |||
| 282 | 291 | ||
| 283 | * Editing Changes in Emacs 19.31 | 292 | * Editing Changes in Emacs 19.31 |
| 284 | 293 | ||
| @@ -583,6 +592,7 @@ implementation of Emacs timers, see below). | |||
| 583 | **** `M-x list-colors-display' displays all the available colors. | 592 | **** `M-x list-colors-display' displays all the available colors. |
| 584 | 593 | ||
| 585 | **** The `TPU-EDT' package works. | 594 | **** The `TPU-EDT' package works. |
| 595 | |||
| 586 | 596 | ||
| 587 | * Lisp changes in Emacs 19.31. | 597 | * Lisp changes in Emacs 19.31. |
| 588 | 598 | ||
| @@ -1029,7 +1039,7 @@ your working file with the latest version from the master. | |||
| 1029 | *** RCS customization. | 1039 | *** RCS customization. |
| 1030 | 1040 | ||
| 1031 | There is a new variable vc-consult-headers. If it is t (the default), | 1041 | There is a new variable vc-consult-headers. If it is t (the default), |
| 1032 | VC searches for RCS headers in working files (like `$Id: ONEWS,v 1.8 2003/02/04 14:30:40 lektu Exp $') and | 1042 | VC searches for RCS headers in working files (like `$Id: NEWS.19,v 1.1 2006/06/04 01:01:51 kfstorm Exp $') and |
| 1033 | determines the state of the file from them, not from the master file. | 1043 | determines the state of the file from them, not from the master file. |
| 1034 | This is fast and more reliable when you use branches. (The variable | 1044 | This is fast and more reliable when you use branches. (The variable |
| 1035 | was already present in Emacs 19.29, but didn't get mentioned in the | 1045 | was already present in Emacs 19.29, but didn't get mentioned in the |
| @@ -1290,6 +1300,7 @@ new file should include all the special entries from the old one. | |||
| 1290 | This new file is under active development as part of the ncurses | 1300 | This new file is under active development as part of the ncurses |
| 1291 | project. If you have any questions about this file, or problems with | 1301 | project. If you have any questions about this file, or problems with |
| 1292 | an entry in it, email terminfo@ccil.org. | 1302 | an entry in it, email terminfo@ccil.org. |
| 1303 | |||
| 1293 | 1304 | ||
| 1294 | * Lisp changes in Emacs 19.30. | 1305 | * Lisp changes in Emacs 19.30. |
| 1295 | 1306 | ||
| @@ -1453,6 +1464,8 @@ sequence containing the events that were used to invoke the command. | |||
| 1453 | 1464 | ||
| 1454 | ** The environment variable NAME, if set, now specifies the value of | 1465 | ** The environment variable NAME, if set, now specifies the value of |
| 1455 | (user-full-name), when Emacs starts up. | 1466 | (user-full-name), when Emacs starts up. |
| 1467 | |||
| 1468 | |||
| 1456 | 1469 | ||
| 1457 | * User Editing Changes in Emacs 19.29 | 1470 | * User Editing Changes in Emacs 19.29 |
| 1458 | 1471 | ||
| @@ -2155,6 +2168,7 @@ bibtex-sort-ignore-string-entries is now t. | |||
| 2155 | used reference types are now on control-modified keys, mediocre used | 2168 | used reference types are now on control-modified keys, mediocre used |
| 2156 | types are on unmodified keys, seldom used types are on shift-modified | 2169 | types are on unmodified keys, seldom used types are on shift-modified |
| 2157 | keys and almost never used types on meta-modified keys. | 2170 | keys and almost never used types on meta-modified keys. |
| 2171 | |||
| 2158 | 2172 | ||
| 2159 | * Configuration Changes in Emacs 19.29 | 2173 | * Configuration Changes in Emacs 19.29 |
| 2160 | 2174 | ||
| @@ -2171,6 +2185,7 @@ automatically enable X support if X is installed on your machine.) | |||
| 2171 | mail-host-address to a string in the dumped Emacs, that string becomes | 2185 | mail-host-address to a string in the dumped Emacs, that string becomes |
| 2172 | the default host address for initializing user-mail-address. | 2186 | the default host address for initializing user-mail-address. |
| 2173 | It is used instead of the value of (system-name). | 2187 | It is used instead of the value of (system-name). |
| 2188 | |||
| 2174 | 2189 | ||
| 2175 | * Lisp-Level Changes in Emacs 19.29 | 2190 | * Lisp-Level Changes in Emacs 19.29 |
| 2176 | 2191 | ||
| @@ -2906,6 +2921,8 @@ three integers.) | |||
| 2906 | **** The new function encode-time converts specific items of time | 2921 | **** The new function encode-time converts specific items of time |
| 2907 | information--the second, minute, hour, day, month, year, and time | 2922 | information--the second, minute, hour, day, month, year, and time |
| 2908 | zone--into a time value. | 2923 | zone--into a time value. |
| 2924 | |||
| 2925 | |||
| 2909 | 2926 | ||
| 2910 | * Changes in Emacs 19.27 | 2927 | * Changes in Emacs 19.27 |
| 2911 | 2928 | ||
| @@ -2921,6 +2938,8 @@ reach the end of a subnode, SPC moves into the next subnode, and so | |||
| 2921 | on. | 2938 | on. |
| 2922 | 2939 | ||
| 2923 | DEL more or less scrolls through the same text in reverse order. | 2940 | DEL more or less scrolls through the same text in reverse order. |
| 2941 | |||
| 2942 | |||
| 2924 | 2943 | ||
| 2925 | * User Editing Changes in Emacs 19.26 | 2944 | * User Editing Changes in Emacs 19.26 |
| 2926 | 2945 | ||
| @@ -2998,6 +3017,7 @@ for asking for a list of the subcommands of C-c C-v. | |||
| 2998 | setting just one variable, user-mail-address. This currently applies | 3017 | setting just one variable, user-mail-address. This currently applies |
| 2999 | to posting news with GNUS and to making change log entries. It may | 3018 | to posting news with GNUS and to making change log entries. It may |
| 3000 | apply to additional Emacs features in the future. | 3019 | apply to additional Emacs features in the future. |
| 3020 | |||
| 3001 | 3021 | ||
| 3002 | * Lisp-Level Changes in Emacs 19.26: | 3022 | * Lisp-Level Changes in Emacs 19.26: |
| 3003 | 3023 | ||
| @@ -3044,6 +3064,7 @@ delete-old-versions. | |||
| 3044 | other window for C-M-v to scroll. | 3064 | other window for C-M-v to scroll. |
| 3045 | 3065 | ||
| 3046 | ** Note that the function fceiling was mistakenly documented as fceil before. | 3066 | ** Note that the function fceiling was mistakenly documented as fceil before. |
| 3067 | |||
| 3047 | 3068 | ||
| 3048 | * Changes in cc-mode.el in Emacs 19.26: | 3069 | * Changes in cc-mode.el in Emacs 19.26: |
| 3049 | 3070 | ||
| @@ -3081,11 +3102,15 @@ other window for C-M-v to scroll. | |||
| 3081 | 3102 | ||
| 3082 | ** new buffer-local variable c-comment-start-regexp for (potential) | 3103 | ** new buffer-local variable c-comment-start-regexp for (potential) |
| 3083 | flexibility in adding new modes based on cc-mode.el | 3104 | flexibility in adding new modes based on cc-mode.el |
| 3105 | |||
| 3106 | |||
| 3084 | 3107 | ||
| 3085 | * Changes in Emacs 19.25 | 3108 | * Changes in Emacs 19.25 |
| 3086 | 3109 | ||
| 3087 | The variable x-cross-pointer-shape (which didn't really exist) has | 3110 | The variable x-cross-pointer-shape (which didn't really exist) has |
| 3088 | been renamed to x-sensitive-text-pointer-shape, and now does exist. | 3111 | been renamed to x-sensitive-text-pointer-shape, and now does exist. |
| 3112 | |||
| 3113 | |||
| 3089 | 3114 | ||
| 3090 | * Changes in Emacs 19.24 | 3115 | * Changes in Emacs 19.24 |
| 3091 | 3116 | ||
| @@ -3110,6 +3135,8 @@ s-region.el Set region by holding shift. | |||
| 3110 | skeleton.el Templates for statement insertion. | 3135 | skeleton.el Templates for statement insertion. |
| 3111 | soundex.el Classifying words by how they sound. | 3136 | soundex.el Classifying words by how they sound. |
| 3112 | tempo.el Template insertion with hotspots. | 3137 | tempo.el Template insertion with hotspots. |
| 3138 | |||
| 3139 | |||
| 3113 | 3140 | ||
| 3114 | * User Editing Changes in 19.23. | 3141 | * User Editing Changes in 19.23. |
| 3115 | 3142 | ||
| @@ -3407,6 +3434,7 @@ debugged. | |||
| 3407 | 3434 | ||
| 3408 | *** A new command, top-level-nonstop, does not even stop for unwind-protect, | 3435 | *** A new command, top-level-nonstop, does not even stop for unwind-protect, |
| 3409 | as top-level would. | 3436 | as top-level would. |
| 3437 | |||
| 3410 | 3438 | ||
| 3411 | * Changes in CC mode in Emacs 19.23. | 3439 | * Changes in CC mode in Emacs 19.23. |
| 3412 | 3440 | ||
| @@ -3577,6 +3605,7 @@ convention of VariableNamesWithoutUnderscoresButEachWordCapitalized. | |||
| 3577 | c-label-offset | 3605 | c-label-offset |
| 3578 | c-continued-statement-offset | 3606 | c-continued-statement-offset |
| 3579 | c-continued-brace-offset | 3607 | c-continued-brace-offset |
| 3608 | |||
| 3580 | 3609 | ||
| 3581 | * Lisp programming changes in Emacs 19.23. | 3610 | * Lisp programming changes in Emacs 19.23. |
| 3582 | 3611 | ||
| @@ -3977,6 +4006,8 @@ Now the file version.el contains only the first two version numbers. | |||
| 3977 | The third component is now determined on the basis of the names of the | 4006 | The third component is now determined on the basis of the names of the |
| 3978 | existing executable files. This means that version.el is not altered | 4007 | existing executable files. This means that version.el is not altered |
| 3979 | by building Emacs. | 4008 | by building Emacs. |
| 4009 | |||
| 4010 | |||
| 3980 | 4011 | ||
| 3981 | * Changes in 19.22. | 4012 | * Changes in 19.22. |
| 3982 | 4013 | ||
| @@ -4039,12 +4070,16 @@ greater than what it used to be. It is the position between the two | |||
| 4039 | characters whose properties differ, which is one greater than the | 4070 | characters whose properties differ, which is one greater than the |
| 4040 | position of the first character found (while scanning back) with | 4071 | position of the first character found (while scanning back) with |
| 4041 | different properties. | 4072 | different properties. |
| 4073 | |||
| 4074 | |||
| 4042 | 4075 | ||
| 4043 | * User editing changes in version 19.21. | 4076 | * User editing changes in version 19.21. |
| 4044 | 4077 | ||
| 4045 | ** ISO Accents mode supports four additional characters: | 4078 | ** ISO Accents mode supports four additional characters: |
| 4046 | A-with-ring (entered as /A), AE ligature (entered as /E), | 4079 | A-with-ring (entered as /A), AE ligature (entered as /E), |
| 4047 | and their lower-case equivalents. | 4080 | and their lower-case equivalents. |
| 4081 | |||
| 4082 | |||
| 4048 | 4083 | ||
| 4049 | * User editing changes in version 19.20. | 4084 | * User editing changes in version 19.20. |
| 4050 | (See following page for Lisp programming changes.) | 4085 | (See following page for Lisp programming changes.) |
| @@ -4265,6 +4300,7 @@ whether `pushd' behaves like `cd' if no argument is given | |||
| 4265 | (`shell-pushd-dextract'), and only add directories to the directory | 4300 | (`shell-pushd-dextract'), and only add directories to the directory |
| 4266 | stack if they are not already on it (`shell-pushd-dunique'). The | 4301 | stack if they are not already on it (`shell-pushd-dunique'). The |
| 4267 | configuration you choose should match the underlying shell, of course. | 4302 | configuration you choose should match the underlying shell, of course. |
| 4303 | |||
| 4268 | 4304 | ||
| 4269 | * Emacs Lisp programming changes in Emacs 19.20. | 4305 | * Emacs Lisp programming changes in Emacs 19.20. |
| 4270 | 4306 | ||
| @@ -4442,6 +4478,8 @@ delete-region in comint-previous-matching-input. | |||
| 4442 | 4478 | ||
| 4443 | The input history retrieval commands still wrap-around the input ring, unlike | 4479 | The input history retrieval commands still wrap-around the input ring, unlike |
| 4444 | Emacs command history. | 4480 | Emacs command history. |
| 4481 | |||
| 4482 | |||
| 4445 | 4483 | ||
| 4446 | * Changes in version 19.19. | 4484 | * Changes in version 19.19. |
| 4447 | 4485 | ||
| @@ -4474,6 +4512,8 @@ taken. | |||
| 4474 | 4512 | ||
| 4475 | ** `%' no longer allows floating point arguments, since the results were often | 4513 | ** `%' no longer allows floating point arguments, since the results were often |
| 4476 | inconsistent with integer `%'. | 4514 | inconsistent with integer `%'. |
| 4515 | |||
| 4516 | |||
| 4477 | 4517 | ||
| 4478 | * Changes in version 19.18. | 4518 | * Changes in version 19.18. |
| 4479 | 4519 | ||
| @@ -4614,6 +4654,8 @@ of the directory containing the Emacs executable that was run. | |||
| 4614 | 4654 | ||
| 4615 | ** The new function minibuffer-window-active-p takes one argument, a | 4655 | ** The new function minibuffer-window-active-p takes one argument, a |
| 4616 | minibuffer window, and returns t if the window is currently active. | 4656 | minibuffer window, and returns t if the window is currently active. |
| 4657 | |||
| 4658 | |||
| 4617 | 4659 | ||
| 4618 | * Changes in version 19.17. | 4660 | * Changes in version 19.17. |
| 4619 | 4661 | ||
| @@ -4801,6 +4843,7 @@ argument FRAME, which specifies which frames it should affect. | |||
| 4801 | + If FRAME is a frame, then `delete-windows-on' only deletes windows on | 4843 | + If FRAME is a frame, then `delete-windows-on' only deletes windows on |
| 4802 | the given frame; other frames are unaffected. | 4844 | the given frame; other frames are unaffected. |
| 4803 | 4845 | ||
| 4846 | |||
| 4804 | 4847 | ||
| 4805 | * Changes in version 19.16. | 4848 | * Changes in version 19.16. |
| 4806 | 4849 | ||
| @@ -4927,6 +4970,7 @@ in a singleton list when it first inserts the prefix, but doesn't | |||
| 4927 | insert the prefix when processing events whose PLACE-SYMBOLs are | 4970 | insert the prefix when processing events whose PLACE-SYMBOLs are |
| 4928 | already thus enclosed. | 4971 | already thus enclosed. |
| 4929 | 4972 | ||
| 4973 | |||
| 4930 | 4974 | ||
| 4931 | * Changes in version 19.15. | 4975 | * Changes in version 19.15. |
| 4932 | 4976 | ||
| @@ -4973,6 +5017,8 @@ it works the same in Emacs 18 and Emacs 19. | |||
| 4973 | 5017 | ||
| 4974 | (This change actually took place earlier, but we didn't know about it | 5018 | (This change actually took place earlier, but we didn't know about it |
| 4975 | and thus didn't document it.) | 5019 | and thus didn't document it.) |
| 5020 | |||
| 5021 | |||
| 4976 | 5022 | ||
| 4977 | * Changes in version 19.14. | 5023 | * Changes in version 19.14. |
| 4978 | 5024 | ||
| @@ -5017,6 +5063,8 @@ and END that specify which part of the file to insert. BEG defaults to | |||
| 5017 | 0 (the beginning of the file), and END defaults to the end of the file. | 5063 | 0 (the beginning of the file), and END defaults to the end of the file. |
| 5018 | 5064 | ||
| 5019 | If you specify BEG or END, then the argument VISIT must be nil. | 5065 | If you specify BEG or END, then the argument VISIT must be nil. |
| 5066 | |||
| 5067 | |||
| 5020 | 5068 | ||
| 5021 | * Changes in version 19.13. | 5069 | * Changes in version 19.13. |
| 5022 | 5070 | ||
| @@ -5035,11 +5083,15 @@ the search a case-sensitive one. | |||
| 5035 | C-c LETTER, since those keys are reserved for users. | 5083 | C-c LETTER, since those keys are reserved for users. |
| 5036 | Those commands have been moved to C-c M-LETTER. | 5084 | Those commands have been moved to C-c M-LETTER. |
| 5037 | We may move them again for greater consistency with other modes. | 5085 | We may move them again for greater consistency with other modes. |
| 5086 | |||
| 5087 | |||
| 5038 | 5088 | ||
| 5039 | * Changes in version 19.12. | 5089 | * Changes in version 19.12. |
| 5040 | 5090 | ||
| 5041 | ** You can now make many of the sort commands ignore case by setting | 5091 | ** You can now make many of the sort commands ignore case by setting |
| 5042 | `sort-fold-case' to a non-nil value. | 5092 | `sort-fold-case' to a non-nil value. |
| 5093 | |||
| 5094 | |||
| 5043 | 5095 | ||
| 5044 | * Changes in version 19.11. | 5096 | * Changes in version 19.11. |
| 5045 | 5097 | ||
| @@ -5057,6 +5109,8 @@ that you write. This is what `basic-save-buffer' does when | |||
| 5057 | it writes a file in the usual way. | 5109 | it writes a file in the usual way. |
| 5058 | 5110 | ||
| 5059 | (This is not actually new, but wasn't documented before.) | 5111 | (This is not actually new, but wasn't documented before.) |
| 5112 | |||
| 5113 | |||
| 5060 | 5114 | ||
| 5061 | * Changes in version 19.10. | 5115 | * Changes in version 19.10. |
| 5062 | 5116 | ||
| @@ -5069,6 +5123,8 @@ The reason for this change is to make function keys work after C-x. | |||
| 5069 | the region is highlighted in windows other than the selected window | 5123 | the region is highlighted in windows other than the selected window |
| 5070 | (in Transient Mark mode only, of course, and currently only when | 5124 | (in Transient Mark mode only, of course, and currently only when |
| 5071 | using X). | 5125 | using X). |
| 5126 | |||
| 5127 | |||
| 5072 | 5128 | ||
| 5073 | * Changes in version 19.8. | 5129 | * Changes in version 19.8. |
| 5074 | 5130 | ||
| @@ -6458,14 +6514,13 @@ distribution, using the contents of the source tree. Object files, | |||
| 6458 | old file versions, executables, DOC files, and other | 6514 | old file versions, executables, DOC files, and other |
| 6459 | architecture-specific or easy-to-recreate files are not included in | 6515 | architecture-specific or easy-to-recreate files are not included in |
| 6460 | the tar file. | 6516 | the tar file. |
| 6461 | |||
| 6462 | * For older news, see the file ONEWS.4. For Lisp changes in (the first | ||
| 6463 | * release of) Emacs 19, see the file LNEWS. | ||
| 6464 | 6517 | ||
| 6518 | |||
| 6519 | |||
| 6465 | ---------------------------------------------------------------------- | 6520 | ---------------------------------------------------------------------- |
| 6466 | Copyright information: | 6521 | Copyright information: |
| 6467 | 6522 | ||
| 6468 | Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. | 6523 | Copyright (C) 1993, 1994, 1995, 2001, 2006 Free Software Foundation, Inc. |
| 6469 | 6524 | ||
| 6470 | Permission is granted to anyone to make or distribute verbatim copies | 6525 | Permission is granted to anyone to make or distribute verbatim copies |
| 6471 | of this document as received, in any medium, provided that the | 6526 | of this document as received, in any medium, provided that the |
diff --git a/etc/NEWS.20 b/etc/NEWS.20 new file mode 100644 index 00000000000..44d5600ecb4 --- /dev/null +++ b/etc/NEWS.20 | |||
| @@ -0,0 +1,4513 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. 2006-05-31 | ||
| 2 | Copyright (C) 1999, 2000, 2001, 2006 | ||
| 3 | Free Software Foundation, Inc. | ||
| 4 | See the end for copying conditions. | ||
| 5 | |||
| 6 | Please send Emacs bug reports to bug-gnu-emacs@gnu.org. | ||
| 7 | If possible, use M-x report-emacs-bug. | ||
| 8 | |||
| 9 | This file is about changes in emacs version 20. | ||
| 10 | |||
| 11 | |||
| 12 | |||
| 13 | * Emacs 20.7 is a bug-fix release with few user-visible changes | ||
| 14 | |||
| 15 | ** It is now possible to use CCL-based coding systems for keyboard | ||
| 16 | input. | ||
| 17 | |||
| 18 | ** ange-ftp now handles FTP security extensions, like Kerberos. | ||
| 19 | |||
| 20 | ** Rmail has been extended to recognize more forms of digest messages. | ||
| 21 | |||
| 22 | ** Now, most coding systems set in keyboard coding system work not | ||
| 23 | only for character input, but also in incremental search. The | ||
| 24 | exceptions are such coding systems that handle 2-byte character sets | ||
| 25 | (e.g euc-kr, euc-jp) and that use ISO's escape sequence | ||
| 26 | (e.g. iso-2022-jp). They are ignored in incremental search. | ||
| 27 | |||
| 28 | ** Support for Macintosh PowerPC-based machines running GNU/Linux has | ||
| 29 | been added. | ||
| 30 | |||
| 31 | |||
| 32 | |||
| 33 | * Emacs 20.6 is a bug-fix release with one user-visible change | ||
| 34 | |||
| 35 | ** Support for ARM-based non-RISCiX machines has been added. | ||
| 36 | |||
| 37 | |||
| 38 | |||
| 39 | * Emacs 20.5 is a bug-fix release with no user-visible changes. | ||
| 40 | |||
| 41 | ** Not new, but not mentioned before: | ||
| 42 | M-w when Transient Mark mode is enabled disables the mark. | ||
| 43 | |||
| 44 | |||
| 45 | |||
| 46 | * Changes in Emacs 20.4 | ||
| 47 | |||
| 48 | ** Init file may be called .emacs.el. | ||
| 49 | |||
| 50 | You can now call the Emacs init file `.emacs.el'. | ||
| 51 | Formerly the name had to be `.emacs'. If you use the name | ||
| 52 | `.emacs.el', you can byte-compile the file in the usual way. | ||
| 53 | |||
| 54 | If both `.emacs' and `.emacs.el' exist, the latter file | ||
| 55 | is the one that is used. | ||
| 56 | |||
| 57 | ** shell-command, and shell-command-on-region, now return | ||
| 58 | the exit code of the command (unless it is asynchronous). | ||
| 59 | Also, you can specify a place to put the error output, | ||
| 60 | separate from the command's regular output. | ||
| 61 | Interactively, the variable shell-command-default-error-buffer | ||
| 62 | says where to put error output; set it to a buffer name. | ||
| 63 | In calls from Lisp, an optional argument ERROR-BUFFER specifies | ||
| 64 | the buffer name. | ||
| 65 | |||
| 66 | When you specify a non-nil error buffer (or buffer name), any error | ||
| 67 | output is inserted before point in that buffer, with \f\n to separate | ||
| 68 | it from the previous batch of error output. The error buffer is not | ||
| 69 | cleared, so error output from successive commands accumulates there. | ||
| 70 | |||
| 71 | ** Setting the default value of enable-multibyte-characters to nil in | ||
| 72 | the .emacs file, either explicitly using setq-default, or via Custom, | ||
| 73 | is now essentially equivalent to using --unibyte: all buffers | ||
| 74 | created during startup will be made unibyte after loading .emacs. | ||
| 75 | |||
| 76 | ** C-x C-f now handles the wildcards * and ? in file names. For | ||
| 77 | example, typing C-x C-f c*.c RET visits all the files whose names | ||
| 78 | match c*.c. To visit a file whose name contains * or ?, add the | ||
| 79 | quoting sequence /: to the beginning of the file name. | ||
| 80 | |||
| 81 | ** The M-x commands keep-lines, flush-lines and count-matches | ||
| 82 | now have the same feature as occur and query-replace: | ||
| 83 | if the pattern contains any upper case letters, then | ||
| 84 | they never ignore case. | ||
| 85 | |||
| 86 | ** The end-of-line format conversion feature previously mentioned | ||
| 87 | under `* Emacs 20.1 changes for MS-DOS and MS-Windows' actually | ||
| 88 | applies to all operating systems. Emacs recognizes from the contents | ||
| 89 | of a file what convention it uses to separate lines--newline, CRLF, or | ||
| 90 | just CR--and automatically converts the contents to the normal Emacs | ||
| 91 | convention (using newline to separate lines) for editing. This is a | ||
| 92 | part of the general feature of coding system conversion. | ||
| 93 | |||
| 94 | If you subsequently save the buffer, Emacs converts the text back to | ||
| 95 | the same format that was used in the file before. | ||
| 96 | |||
| 97 | You can turn off end-of-line conversion by setting the variable | ||
| 98 | `inhibit-eol-conversion' to non-nil, e.g. with Custom in the MULE group. | ||
| 99 | |||
| 100 | ** The character set property `prefered-coding-system' has been | ||
| 101 | renamed to `preferred-coding-system', for the sake of correct spelling. | ||
| 102 | This is a fairly internal feature, so few programs should be affected. | ||
| 103 | |||
| 104 | ** Mode-line display of end-of-line format is changed. | ||
| 105 | The indication of the end-of-line format of the file visited by a | ||
| 106 | buffer is now more explicit when that format is not the usual one for | ||
| 107 | your operating system. For example, the DOS-style end-of-line format | ||
| 108 | is displayed as "(DOS)" on Unix and GNU/Linux systems. The usual | ||
| 109 | end-of-line format is still displayed as a single character (colon for | ||
| 110 | Unix, backslash for DOS and Windows, and forward slash for the Mac). | ||
| 111 | |||
| 112 | The values of the variables eol-mnemonic-unix, eol-mnemonic-dos, | ||
| 113 | eol-mnemonic-mac, and eol-mnemonic-undecided, which are strings, | ||
| 114 | control what is displayed in the mode line for each end-of-line | ||
| 115 | format. You can now customize these variables. | ||
| 116 | |||
| 117 | ** In the previous version of Emacs, tar-mode didn't work well if a | ||
| 118 | filename contained non-ASCII characters. Now this is fixed. Such a | ||
| 119 | filename is decoded by file-name-coding-system if the default value of | ||
| 120 | enable-multibyte-characters is non-nil. | ||
| 121 | |||
| 122 | ** The command temp-buffer-resize-mode toggles a minor mode | ||
| 123 | in which temporary buffers (such as help buffers) are given | ||
| 124 | windows just big enough to hold the whole contents. | ||
| 125 | |||
| 126 | ** If you use completion.el, you must now run the function | ||
| 127 | dynamic-completion-mode to enable it. Just loading the file | ||
| 128 | doesn't have any effect. | ||
| 129 | |||
| 130 | ** In Flyspell mode, the default is now to make just one Ispell process, | ||
| 131 | not one per buffer. | ||
| 132 | |||
| 133 | ** If you use iswitchb but do not call (iswitchb-default-keybindings) to | ||
| 134 | use the default keybindings, you will need to add the following line: | ||
| 135 | (add-hook 'minibuffer-setup-hook 'iswitchb-minibuffer-setup) | ||
| 136 | |||
| 137 | ** Auto-show mode is no longer enabled just by loading auto-show.el. | ||
| 138 | To control it, set `auto-show-mode' via Custom or use the | ||
| 139 | `auto-show-mode' command. | ||
| 140 | |||
| 141 | ** Handling of X fonts' ascent/descent parameters has been changed to | ||
| 142 | avoid redisplay problems. As a consequence, compared with previous | ||
| 143 | versions the line spacing and frame size now differ with some font | ||
| 144 | choices, typically increasing by a pixel per line. This change | ||
| 145 | occurred in version 20.3 but was not documented then. | ||
| 146 | |||
| 147 | ** If you select the bar cursor style, it uses the frame's | ||
| 148 | cursor-color, rather than the cursor foreground pixel. | ||
| 149 | |||
| 150 | ** In multibyte mode, Rmail decodes incoming MIME messages using the | ||
| 151 | character set specified in the message. If you want to disable this | ||
| 152 | feature, set the variable rmail-decode-mime-charset to nil. | ||
| 153 | |||
| 154 | ** Not new, but not mentioned previously in NEWS: when you use #! at | ||
| 155 | the beginning of a file to make it executable and specify an | ||
| 156 | interpreter program, Emacs looks on the second line for the -*- mode | ||
| 157 | and variable specification, as well as on the first line. | ||
| 158 | |||
| 159 | ** Support for IBM codepage encoding of non-ASCII characters. | ||
| 160 | |||
| 161 | The new command M-x codepage-setup creates a special coding system | ||
| 162 | that can be used to convert text between a specific IBM codepage and | ||
| 163 | one of the character sets built into Emacs which matches that | ||
| 164 | codepage. For example, codepage 850 corresponds to Latin-1 character | ||
| 165 | set, codepage 855 corresponds to Cyrillic-ISO character set, etc. | ||
| 166 | |||
| 167 | Windows codepages 1250, 1251 and some others, where Windows deviates | ||
| 168 | from the corresponding ISO character set, are also supported. | ||
| 169 | |||
| 170 | IBM box-drawing characters and other glyphs which don't have | ||
| 171 | equivalents in the corresponding ISO character set, are converted to | ||
| 172 | a character defined by dos-unsupported-char-glyph on MS-DOS, and to | ||
| 173 | `?' on other systems. | ||
| 174 | |||
| 175 | IBM codepages are widely used on MS-DOS and MS-Windows, so this | ||
| 176 | feature is most useful on those platforms, but it can also be used on | ||
| 177 | Unix. | ||
| 178 | |||
| 179 | Emacs compiled for MS-DOS automatically loads the support for the | ||
| 180 | current codepage when it starts. | ||
| 181 | |||
| 182 | ** Mail changes | ||
| 183 | |||
| 184 | *** When mail is sent using compose-mail (C-x m), and if | ||
| 185 | `mail-send-nonascii' is set to the new default value `mime', | ||
| 186 | appropriate MIME headers are added. The headers are added only if | ||
| 187 | non-ASCII characters are present in the body of the mail, and no other | ||
| 188 | MIME headers are already present. For example, the following three | ||
| 189 | headers are added if the coding system used in the *mail* buffer is | ||
| 190 | latin-1: | ||
| 191 | |||
| 192 | MIME-version: 1.0 | ||
| 193 | Content-type: text/plain; charset=iso-8859-1 | ||
| 194 | Content-Transfer-Encoding: 8bit | ||
| 195 | |||
| 196 | *** The new variable default-sendmail-coding-system specifies the | ||
| 197 | default way to encode outgoing mail. This has higher priority than | ||
| 198 | default-buffer-file-coding-system but has lower priority than | ||
| 199 | sendmail-coding-system and the local value of | ||
| 200 | buffer-file-coding-system. | ||
| 201 | |||
| 202 | You should not set this variable manually. Instead, set | ||
| 203 | sendmail-coding-system to specify a fixed encoding for all outgoing | ||
| 204 | mail. | ||
| 205 | |||
| 206 | *** When you try to send a message that contains non-ASCII characters, | ||
| 207 | if the coding system specified by those variables doesn't handle them, | ||
| 208 | Emacs will ask you to select a suitable coding system while showing a | ||
| 209 | list of possible coding systems. | ||
| 210 | |||
| 211 | ** CC Mode changes | ||
| 212 | |||
| 213 | *** c-default-style can now take an association list that maps major | ||
| 214 | modes to style names. When this variable is an alist, Java mode no | ||
| 215 | longer hardcodes a setting to "java" style. See the variable's | ||
| 216 | docstring for details. | ||
| 217 | |||
| 218 | *** It's now possible to put a list as the offset on a syntactic | ||
| 219 | symbol. The list is evaluated recursively until a non-nil offset is | ||
| 220 | found. This is useful to combine several lineup functions to act in a | ||
| 221 | prioritized order on a single line. However, none of the supplied | ||
| 222 | lineup functions use this feature currently. | ||
| 223 | |||
| 224 | *** New syntactic symbol catch-clause, which is used on the "catch" and | ||
| 225 | "finally" lines in try-catch constructs in C++ and Java. | ||
| 226 | |||
| 227 | *** New cleanup brace-catch-brace on c-cleanup-list, which does for | ||
| 228 | "catch" lines what brace-elseif-brace does for "else if" lines. | ||
| 229 | |||
| 230 | *** The braces of Java anonymous inner classes are treated separately | ||
| 231 | from the braces of other classes in auto-newline mode. Two new | ||
| 232 | symbols inexpr-class-open and inexpr-class-close may be used on | ||
| 233 | c-hanging-braces-alist to control the automatic newlines used for | ||
| 234 | anonymous classes. | ||
| 235 | |||
| 236 | *** Support for the Pike language added, along with new Pike specific | ||
| 237 | syntactic symbols: inlambda, lambda-intro-cont | ||
| 238 | |||
| 239 | *** Support for Java anonymous classes via new syntactic symbol | ||
| 240 | inexpr-class. New syntactic symbol inexpr-statement for Pike | ||
| 241 | support and gcc-style statements inside expressions. New lineup | ||
| 242 | function c-lineup-inexpr-block. | ||
| 243 | |||
| 244 | *** New syntactic symbol brace-entry-open which is used in brace lists | ||
| 245 | (i.e. static initializers) when a list entry starts with an open | ||
| 246 | brace. These used to be recognized as brace-list-entry's. | ||
| 247 | c-electric-brace also recognizes brace-entry-open braces | ||
| 248 | (brace-list-entry's can no longer be electrified). | ||
| 249 | |||
| 250 | *** New command c-indent-line-or-region, not bound by default. | ||
| 251 | |||
| 252 | *** `#' is only electric when typed in the indentation of a line. | ||
| 253 | |||
| 254 | *** Parentheses are now electric (via the new command c-electric-paren) | ||
| 255 | for auto-reindenting lines when parens are typed. | ||
| 256 | |||
| 257 | *** In "gnu" style, inline-open offset is now set to zero. | ||
| 258 | |||
| 259 | *** Uniform handling of the inclass syntactic symbol. The indentation | ||
| 260 | associated with it is now always relative to the class opening brace. | ||
| 261 | This means that the indentation behavior has changed in some | ||
| 262 | circumstances, but only if you've put anything besides 0 on the | ||
| 263 | class-open syntactic symbol (none of the default styles do that). | ||
| 264 | |||
| 265 | ** Gnus changes. | ||
| 266 | |||
| 267 | *** New functionality for using Gnus as an offline newsreader has been | ||
| 268 | added. A plethora of new commands and modes have been added. See the | ||
| 269 | Gnus manual for the full story. | ||
| 270 | |||
| 271 | *** The nndraft backend has returned, but works differently than | ||
| 272 | before. All Message buffers are now also articles in the nndraft | ||
| 273 | group, which is created automatically. | ||
| 274 | |||
| 275 | *** `gnus-alter-header-function' can now be used to alter header | ||
| 276 | values. | ||
| 277 | |||
| 278 | *** `gnus-summary-goto-article' now accept Message-ID's. | ||
| 279 | |||
| 280 | *** A new Message command for deleting text in the body of a message | ||
| 281 | outside the region: `C-c C-v'. | ||
| 282 | |||
| 283 | *** You can now post to component group in nnvirtual groups with | ||
| 284 | `C-u C-c C-c'. | ||
| 285 | |||
| 286 | *** `nntp-rlogin-program' -- new variable to ease customization. | ||
| 287 | |||
| 288 | *** `C-u C-c C-c' in `gnus-article-edit-mode' will now inhibit | ||
| 289 | re-highlighting of the article buffer. | ||
| 290 | |||
| 291 | *** New element in `gnus-boring-article-headers' -- `long-to'. | ||
| 292 | |||
| 293 | *** `M-i' symbolic prefix command. See the section "Symbolic | ||
| 294 | Prefixes" in the Gnus manual for details. | ||
| 295 | |||
| 296 | *** `L' and `I' in the summary buffer now take the symbolic prefix | ||
| 297 | `a' to add the score rule to the "all.SCORE" file. | ||
| 298 | |||
| 299 | *** `gnus-simplify-subject-functions' variable to allow greater | ||
| 300 | control over simplification. | ||
| 301 | |||
| 302 | *** `A T' -- new command for fetching the current thread. | ||
| 303 | |||
| 304 | *** `/ T' -- new command for including the current thread in the | ||
| 305 | limit. | ||
| 306 | |||
| 307 | *** `M-RET' is a new Message command for breaking cited text. | ||
| 308 | |||
| 309 | *** \\1-expressions are now valid in `nnmail-split-methods'. | ||
| 310 | |||
| 311 | *** The `custom-face-lookup' function has been removed. | ||
| 312 | If you used this function in your initialization files, you must | ||
| 313 | rewrite them to use `face-spec-set' instead. | ||
| 314 | |||
| 315 | *** Canceling now uses the current select method. Symbolic prefix | ||
| 316 | `a' forces normal posting method. | ||
| 317 | |||
| 318 | *** New command to translate M******** sm*rtq**t*s into proper text | ||
| 319 | -- `W d'. | ||
| 320 | |||
| 321 | *** For easier debugging of nntp, you can set `nntp-record-commands' | ||
| 322 | to a non-nil value. | ||
| 323 | |||
| 324 | *** nntp now uses ~/.authinfo, a .netrc-like file, for controlling | ||
| 325 | where and how to send AUTHINFO to NNTP servers. | ||
| 326 | |||
| 327 | *** A command for editing group parameters from the summary buffer | ||
| 328 | has been added. | ||
| 329 | |||
| 330 | *** A history of where mails have been split is available. | ||
| 331 | |||
| 332 | *** A new article date command has been added -- `article-date-iso8601'. | ||
| 333 | |||
| 334 | *** Subjects can be simplified when threading by setting | ||
| 335 | `gnus-score-thread-simplify'. | ||
| 336 | |||
| 337 | *** A new function for citing in Message has been added -- | ||
| 338 | `message-cite-original-without-signature'. | ||
| 339 | |||
| 340 | *** `article-strip-all-blank-lines' -- new article command. | ||
| 341 | |||
| 342 | *** A new Message command to kill to the end of the article has | ||
| 343 | been added. | ||
| 344 | |||
| 345 | *** A minimum adaptive score can be specified by using the | ||
| 346 | `gnus-adaptive-word-minimum' variable. | ||
| 347 | |||
| 348 | *** The "lapsed date" article header can be kept continually | ||
| 349 | updated by the `gnus-start-date-timer' command. | ||
| 350 | |||
| 351 | *** Web listserv archives can be read with the nnlistserv backend. | ||
| 352 | |||
| 353 | *** Old dejanews archives can now be read by nnweb. | ||
| 354 | |||
| 355 | *** `gnus-posting-styles' has been re-activated. | ||
| 356 | |||
| 357 | ** Changes to TeX and LaTeX mode | ||
| 358 | |||
| 359 | *** The new variable `tex-start-options-string' can be used to give | ||
| 360 | options for the TeX run. The default value causes TeX to run in | ||
| 361 | nonstopmode. For an interactive TeX run set it to nil or "". | ||
| 362 | |||
| 363 | *** The command `tex-feed-input' sends input to the Tex Shell. In a | ||
| 364 | TeX buffer it is bound to the keys C-RET, C-c RET, and C-c C-m (some | ||
| 365 | of these keys may not work on all systems). For instance, if you run | ||
| 366 | TeX interactively and if the TeX run stops because of an error, you | ||
| 367 | can continue it without leaving the TeX buffer by typing C-RET. | ||
| 368 | |||
| 369 | *** The Tex Shell Buffer is now in `compilation-shell-minor-mode'. | ||
| 370 | All error-parsing commands of the Compilation major mode are available | ||
| 371 | but bound to keys that don't collide with the shell. Thus you can use | ||
| 372 | the Tex Shell for command line executions like a usual shell. | ||
| 373 | |||
| 374 | *** The commands `tex-validate-region' and `tex-validate-buffer' check | ||
| 375 | the matching of braces and $'s. The errors are listed in a *Occur* | ||
| 376 | buffer and you can use C-c C-c or mouse-2 to go to a particular | ||
| 377 | mismatch. | ||
| 378 | |||
| 379 | ** Changes to RefTeX mode | ||
| 380 | |||
| 381 | *** The table of contents buffer can now also display labels and | ||
| 382 | file boundaries in addition to sections. Use `l', `i', and `c' keys. | ||
| 383 | |||
| 384 | *** Labels derived from context (the section heading) are now | ||
| 385 | lowercase by default. To make the label legal in LaTeX, latin-1 | ||
| 386 | characters will lose their accent. All Mule characters will be | ||
| 387 | removed from the label. | ||
| 388 | |||
| 389 | *** The automatic display of cross reference information can also use | ||
| 390 | a window instead of the echo area. See variable `reftex-auto-view-crossref'. | ||
| 391 | |||
| 392 | *** kpsewhich can be used by RefTeX to find TeX and BibTeX files. See the | ||
| 393 | customization group `reftex-finding-files'. | ||
| 394 | |||
| 395 | *** The option `reftex-bibfile-ignore-list' has been renamed to | ||
| 396 | `reftex-bibfile-ignore-regexps' and indeed can be fed with regular | ||
| 397 | expressions. | ||
| 398 | |||
| 399 | *** Multiple Selection buffers are now hidden buffers. | ||
| 400 | |||
| 401 | ** New/deleted modes and packages | ||
| 402 | |||
| 403 | *** The package snmp-mode.el provides major modes for editing SNMP and | ||
| 404 | SNMPv2 MIBs. It has entries on `auto-mode-alist'. | ||
| 405 | |||
| 406 | *** The package sql.el provides a major mode, M-x sql-mode, for | ||
| 407 | editing SQL files, and M-x sql-interactive-mode for interacting with | ||
| 408 | SQL interpreters. It has an entry on `auto-mode-alist'. | ||
| 409 | |||
| 410 | *** ispell4.el has been deleted. It got in the way of ispell.el and | ||
| 411 | this was hard to fix reliably. It has long been obsolete -- use | ||
| 412 | Ispell 3.1 and ispell.el. | ||
| 413 | |||
| 414 | |||
| 415 | * MS-DOS changes in Emacs 20.4 | ||
| 416 | |||
| 417 | ** Emacs compiled for MS-DOS now supports MULE features better. | ||
| 418 | This includes support for display of all ISO 8859-N character sets, | ||
| 419 | conversion to and from IBM codepage encoding of non-ASCII characters, | ||
| 420 | and automatic setup of the MULE environment at startup. For details, | ||
| 421 | check out the section `MS-DOS and MULE' in the manual. | ||
| 422 | |||
| 423 | The MS-DOS installation procedure automatically configures and builds | ||
| 424 | Emacs with input method support if it finds an unpacked Leim | ||
| 425 | distribution when the config.bat script is run. | ||
| 426 | |||
| 427 | ** Formerly, the value of lpr-command did not affect printing on | ||
| 428 | MS-DOS unless print-region-function was set to nil, but now it | ||
| 429 | controls whether an external program is invoked or output is written | ||
| 430 | directly to a printer port. Similarly, in the previous version of | ||
| 431 | Emacs, the value of ps-lpr-command did not affect PostScript printing | ||
| 432 | on MS-DOS unless ps-printer-name was set to something other than a | ||
| 433 | string (eg. t or `pipe'), but now it controls whether an external | ||
| 434 | program is used. (These changes were made so that configuration of | ||
| 435 | printing variables would be almost identical across all platforms.) | ||
| 436 | |||
| 437 | ** In the previous version of Emacs, PostScript and non-PostScript | ||
| 438 | output was piped to external programs, but because most print programs | ||
| 439 | available for MS-DOS and MS-Windows cannot read data from their standard | ||
| 440 | input, on those systems the data to be output is now written to a | ||
| 441 | temporary file whose name is passed as the last argument to the external | ||
| 442 | program. | ||
| 443 | |||
| 444 | An exception is made for `print', a standard program on Windows NT, | ||
| 445 | and `nprint', a standard program on Novell Netware. For both of these | ||
| 446 | programs, the command line is constructed in the appropriate syntax | ||
| 447 | automatically, using only the value of printer-name or ps-printer-name | ||
| 448 | as appropriate--the value of the relevant `-switches' variable is | ||
| 449 | ignored, as both programs have no useful switches. | ||
| 450 | |||
| 451 | ** The value of the variable dos-printer (cf. dos-ps-printer), if it has | ||
| 452 | a value, overrides the value of printer-name (cf. ps-printer-name), on | ||
| 453 | MS-DOS and MS-Windows only. This has been true since version 20.3, but | ||
| 454 | was not documented clearly before. | ||
| 455 | |||
| 456 | ** All the Emacs games now work on MS-DOS terminals. | ||
| 457 | This includes Tetris and Snake. | ||
| 458 | |||
| 459 | |||
| 460 | * Lisp changes in Emacs 20.4 | ||
| 461 | |||
| 462 | ** New functions line-beginning-position and line-end-position | ||
| 463 | return the position of the beginning or end of the current line. | ||
| 464 | They both accept an optional argument, which has the same | ||
| 465 | meaning as the argument to beginning-of-line or end-of-line. | ||
| 466 | |||
| 467 | ** find-file and allied functions now have an optional argument | ||
| 468 | WILDCARD. If this is non-nil, they do wildcard processing, | ||
| 469 | and visit all files that match the wildcard pattern. | ||
| 470 | |||
| 471 | ** Changes in the file-attributes function. | ||
| 472 | |||
| 473 | *** The file size returned by file-attributes may be an integer or a float. | ||
| 474 | It is an integer if the size fits in a Lisp integer, float otherwise. | ||
| 475 | |||
| 476 | *** The inode number returned by file-attributes may be an integer (if | ||
| 477 | the number fits in a Lisp integer) or a cons cell containing two | ||
| 478 | integers. | ||
| 479 | |||
| 480 | ** The new function directory-files-and-attributes returns a list of | ||
| 481 | files in a directory and their attributes. It accepts the same | ||
| 482 | arguments as directory-files and has similar semantics, except that | ||
| 483 | file names and attributes are returned. | ||
| 484 | |||
| 485 | ** The new function file-attributes-lessp is a helper function for | ||
| 486 | sorting the list generated by directory-files-and-attributes. It | ||
| 487 | accepts two arguments, each a list of a file name and its attributes. | ||
| 488 | It compares the file names of each according to string-lessp and | ||
| 489 | returns the result. | ||
| 490 | |||
| 491 | ** The new function file-expand-wildcards expands a wildcard-pattern | ||
| 492 | to produce a list of existing files that match the pattern. | ||
| 493 | |||
| 494 | ** New functions for base64 conversion: | ||
| 495 | |||
| 496 | The function base64-encode-region converts a part of the buffer | ||
| 497 | into the base64 code used in MIME. base64-decode-region | ||
| 498 | performs the opposite conversion. Line-breaking is supported | ||
| 499 | optionally. | ||
| 500 | |||
| 501 | Functions base64-encode-string and base64-decode-string do a similar | ||
| 502 | job on the text in a string. They return the value as a new string. | ||
| 503 | |||
| 504 | ** | ||
| 505 | The new function process-running-child-p | ||
| 506 | will tell you if a subprocess has given control of its | ||
| 507 | terminal to its own child process. | ||
| 508 | |||
| 509 | ** interrupt-process and such functions have a new feature: | ||
| 510 | when the second argument is `lambda', they send a signal | ||
| 511 | to the running child of the subshell, if any, but if the shell | ||
| 512 | itself owns its terminal, no signal is sent. | ||
| 513 | |||
| 514 | ** There are new widget types `plist' and `alist' which can | ||
| 515 | be used for customizing variables whose values are plists or alists. | ||
| 516 | |||
| 517 | ** easymenu.el now understands `:key-sequence' and `:style button'. | ||
| 518 | :included is an alias for :visible. | ||
| 519 | |||
| 520 | easy-menu-add-item now understands the values returned by | ||
| 521 | easy-menu-remove-item and easy-menu-item-present-p. This can be used | ||
| 522 | to move or copy menu entries. | ||
| 523 | |||
| 524 | ** Multibyte editing changes | ||
| 525 | |||
| 526 | *** The definitions of sref and char-bytes are changed. Now, sref is | ||
| 527 | an alias of aref and char-bytes always returns 1. This change is to | ||
| 528 | make some Emacs Lisp code which works on 20.2 and earlier also | ||
| 529 | work on the latest Emacs. Such code uses a combination of sref and | ||
| 530 | char-bytes in a loop typically as below: | ||
| 531 | (setq char (sref str idx) | ||
| 532 | idx (+ idx (char-bytes idx))) | ||
| 533 | The byte-compiler now warns that this is obsolete. | ||
| 534 | |||
| 535 | If you want to know how many bytes a specific multibyte character | ||
| 536 | (say, CH) occupies in a multibyte buffer, use this code: | ||
| 537 | (charset-bytes (char-charset ch)) | ||
| 538 | |||
| 539 | *** In multibyte mode, when you narrow a buffer to some region, and the | ||
| 540 | region is preceded or followed by non-ASCII codes, inserting or | ||
| 541 | deleting at the head or the end of the region may signal this error: | ||
| 542 | |||
| 543 | Byte combining across boundary of accessible buffer text inhibited | ||
| 544 | |||
| 545 | This is to avoid some bytes being combined together into a character | ||
| 546 | across the boundary. | ||
| 547 | |||
| 548 | *** The functions find-charset-region and find-charset-string include | ||
| 549 | `unknown' in the returned list in the following cases: | ||
| 550 | o The current buffer or the target string is unibyte and | ||
| 551 | contains 8-bit characters. | ||
| 552 | o The current buffer or the target string is multibyte and | ||
| 553 | contains invalid characters. | ||
| 554 | |||
| 555 | *** The functions decode-coding-region and encode-coding-region remove | ||
| 556 | text properties of the target region. Ideally, they should correctly | ||
| 557 | preserve text properties, but for the moment, it's hard. Removing | ||
| 558 | text properties is better than preserving them in a less-than-correct | ||
| 559 | way. | ||
| 560 | |||
| 561 | *** prefer-coding-system sets EOL conversion of default coding systems. | ||
| 562 | If the argument to prefer-coding-system specifies a certain type of | ||
| 563 | end of line conversion, the default coding systems set by | ||
| 564 | prefer-coding-system will specify that conversion type for end of line. | ||
| 565 | |||
| 566 | *** The new function thai-compose-string can be used to properly | ||
| 567 | compose Thai characters in a string. | ||
| 568 | |||
| 569 | ** The primitive `define-prefix-command' now takes an optional third | ||
| 570 | argument NAME, which should be a string. It supplies the menu name | ||
| 571 | for the created keymap. Keymaps created in order to be displayed as | ||
| 572 | menus should always use the third argument. | ||
| 573 | |||
| 574 | ** The meanings of optional second arguments for read-char, | ||
| 575 | read-event, and read-char-exclusive are flipped. Now the second | ||
| 576 | arguments are INHERIT-INPUT-METHOD. These functions use the current | ||
| 577 | input method (if any) if and only if INHERIT-INPUT-METHOD is non-nil. | ||
| 578 | |||
| 579 | ** The new function clear-this-command-keys empties out the contents | ||
| 580 | of the vector that (this-command-keys) returns. This is useful in | ||
| 581 | programs that read passwords, to prevent the passwords from echoing | ||
| 582 | inadvertently as part of the next command in certain cases. | ||
| 583 | |||
| 584 | ** The new macro `with-temp-message' displays a temporary message in | ||
| 585 | the echo area, while executing some Lisp code. Like `progn', it | ||
| 586 | returns the value of the last form, but it also restores the previous | ||
| 587 | echo area contents. | ||
| 588 | |||
| 589 | (with-temp-message MESSAGE &rest BODY) | ||
| 590 | |||
| 591 | ** The function `require' now takes an optional third argument | ||
| 592 | NOERROR. If it is non-nil, then there is no error if the | ||
| 593 | requested feature cannot be loaded. | ||
| 594 | |||
| 595 | ** In the function modify-face, an argument of (nil) for the | ||
| 596 | foreground color, background color or stipple pattern | ||
| 597 | means to clear out that attribute. | ||
| 598 | |||
| 599 | ** The `outer-window-id' frame property of an X frame | ||
| 600 | gives the window number of the outermost X window for the frame. | ||
| 601 | |||
| 602 | ** Temporary buffers made with with-output-to-temp-buffer are now | ||
| 603 | read-only by default, and normally use the major mode Help mode | ||
| 604 | unless you put them in some other non-Fundamental mode before the | ||
| 605 | end of with-output-to-temp-buffer. | ||
| 606 | |||
| 607 | ** The new functions gap-position and gap-size return information on | ||
| 608 | the gap of the current buffer. | ||
| 609 | |||
| 610 | ** The new functions position-bytes and byte-to-position provide a way | ||
| 611 | to convert between character positions and byte positions in the | ||
| 612 | current buffer. | ||
| 613 | |||
| 614 | ** vc.el defines two new macros, `edit-vc-file' and `with-vc-file', to | ||
| 615 | facilitate working with version-controlled files from Lisp programs. | ||
| 616 | These macros check out a given file automatically if needed, and check | ||
| 617 | it back in after any modifications have been made. | ||
| 618 | |||
| 619 | |||
| 620 | |||
| 621 | * Installation Changes in Emacs 20.3 | ||
| 622 | |||
| 623 | ** The default value of load-path now includes most subdirectories of | ||
| 624 | the site-specific directories /usr/local/share/emacs/site-lisp and | ||
| 625 | /usr/local/share/emacs/VERSION/site-lisp, in addition to those | ||
| 626 | directories themselves. Both immediate subdirectories and | ||
| 627 | subdirectories multiple levels down are added to load-path. | ||
| 628 | |||
| 629 | Not all subdirectories are included, though. Subdirectories whose | ||
| 630 | names do not start with a letter or digit are excluded. | ||
| 631 | Subdirectories named RCS or CVS are excluded. Also, a subdirectory | ||
| 632 | which contains a file named `.nosearch' is excluded. You can use | ||
| 633 | these methods to prevent certain subdirectories from being searched. | ||
| 634 | |||
| 635 | Emacs finds these subdirectories and adds them to load-path when it | ||
| 636 | starts up. While it would be cleaner to find the subdirectories each | ||
| 637 | time Emacs loads a file, that would be much slower. | ||
| 638 | |||
| 639 | This feature is an incompatible change. If you have stored some Emacs | ||
| 640 | Lisp files in a subdirectory of the site-lisp directory specifically | ||
| 641 | to prevent them from being used, you will need to rename the | ||
| 642 | subdirectory to start with a non-alphanumeric character, or create a | ||
| 643 | `.nosearch' file in it, in order to continue to achieve the desired | ||
| 644 | results. | ||
| 645 | |||
| 646 | ** Emacs no longer includes an old version of the C preprocessor from | ||
| 647 | GCC. This was formerly used to help compile Emacs with C compilers | ||
| 648 | that had limits on the significant length of an identifier, but in | ||
| 649 | fact we stopped supporting such compilers some time ago. | ||
| 650 | |||
| 651 | |||
| 652 | * Changes in Emacs 20.3 | ||
| 653 | |||
| 654 | ** The new command C-x z (repeat) repeats the previous command | ||
| 655 | including its argument. If you repeat the z afterward, | ||
| 656 | it repeats the command additional times; thus, you can | ||
| 657 | perform many repetitions with one keystroke per repetition. | ||
| 658 | |||
| 659 | ** Emacs now supports "selective undo" which undoes only within a | ||
| 660 | specified region. To do this, set point and mark around the desired | ||
| 661 | region and type C-u C-x u (or C-u C-_). You can then continue undoing | ||
| 662 | further, within the same region, by repeating the ordinary undo | ||
| 663 | command C-x u or C-_. This will keep undoing changes that were made | ||
| 664 | within the region you originally specified, until either all of them | ||
| 665 | are undone, or it encounters a change which crosses the edge of that | ||
| 666 | region. | ||
| 667 | |||
| 668 | In Transient Mark mode, undoing when a region is active requests | ||
| 669 | selective undo. | ||
| 670 | |||
| 671 | ** If you specify --unibyte when starting Emacs, then all buffers are | ||
| 672 | unibyte, except when a Lisp program specifically creates a multibyte | ||
| 673 | buffer. Setting the environment variable EMACS_UNIBYTE has the same | ||
| 674 | effect. The --no-unibyte option overrides EMACS_UNIBYTE and directs | ||
| 675 | Emacs to run normally in multibyte mode. | ||
| 676 | |||
| 677 | The option --unibyte does not affect the reading of Emacs Lisp files, | ||
| 678 | though. If you want a Lisp file to be read in unibyte mode, use | ||
| 679 | -*-unibyte: t;-*- on its first line. That will force Emacs to | ||
| 680 | load that file in unibyte mode, regardless of how Emacs was started. | ||
| 681 | |||
| 682 | ** toggle-enable-multibyte-characters no longer has a key binding and | ||
| 683 | no longer appears in the menu bar. We've realized that changing the | ||
| 684 | enable-multibyte-characters variable in an existing buffer is | ||
| 685 | something that most users not do. | ||
| 686 | |||
| 687 | ** You can specify a coding system to use for the next cut or paste | ||
| 688 | operations through the window system with the command C-x RET X. | ||
| 689 | The coding system can make a difference for communication with other | ||
| 690 | applications. | ||
| 691 | |||
| 692 | C-x RET x specifies a coding system for all subsequent cutting and | ||
| 693 | pasting operations. | ||
| 694 | |||
| 695 | ** You can specify the printer to use for commands that do printing by | ||
| 696 | setting the variable `printer-name'. Just what a printer name looks | ||
| 697 | like depends on your operating system. You can specify a different | ||
| 698 | printer for the Postscript printing commands by setting | ||
| 699 | `ps-printer-name'. | ||
| 700 | |||
| 701 | ** Emacs now supports on-the-fly spell checking by the means of a | ||
| 702 | minor mode. It is called M-x flyspell-mode. You don't have to remember | ||
| 703 | any other special commands to use it, and you will hardly notice it | ||
| 704 | except when you make a spelling error. Flyspell works by highlighting | ||
| 705 | incorrect words as soon as they are completed or as soon as the cursor | ||
| 706 | hits a new word. | ||
| 707 | |||
| 708 | Flyspell mode works with whichever dictionary you have selected for | ||
| 709 | Ispell in Emacs. In TeX mode, it understands TeX syntax so as not | ||
| 710 | to be confused by TeX commands. | ||
| 711 | |||
| 712 | You can correct a misspelled word by editing it into something | ||
| 713 | correct. You can also correct it, or accept it as correct, by | ||
| 714 | clicking on the word with Mouse-2; that gives you a pop-up menu | ||
| 715 | of various alternative replacements and actions. | ||
| 716 | |||
| 717 | Flyspell mode also proposes "automatic" corrections. M-TAB replaces | ||
| 718 | the current misspelled word with a possible correction. If several | ||
| 719 | corrections are made possible, M-TAB cycles through them in | ||
| 720 | alphabetical order, or in order of decreasing likelihood if | ||
| 721 | flyspell-sort-corrections is nil. | ||
| 722 | |||
| 723 | Flyspell mode also flags an error when a word is repeated, if | ||
| 724 | flyspell-mark-duplications-flag is non-nil. | ||
| 725 | |||
| 726 | ** Changes in input method usage. | ||
| 727 | |||
| 728 | Now you can use arrow keys (right, left, down, up) for selecting among | ||
| 729 | the alternatives just the same way as you do by C-f, C-b, C-n, and C-p | ||
| 730 | respectively. | ||
| 731 | |||
| 732 | You can use the ENTER key to accept the current conversion. | ||
| 733 | |||
| 734 | If you type TAB to display a list of alternatives, you can select one | ||
| 735 | of the alternatives with Mouse-2. | ||
| 736 | |||
| 737 | The meaning of the variable `input-method-verbose-flag' is changed so | ||
| 738 | that you can set it to t, nil, `default', or `complex-only'. | ||
| 739 | |||
| 740 | If the value is nil, extra guidance is never given. | ||
| 741 | |||
| 742 | If the value is t, extra guidance is always given. | ||
| 743 | |||
| 744 | If the value is `complex-only', extra guidance is always given only | ||
| 745 | when you are using complex input methods such as chinese-py. | ||
| 746 | |||
| 747 | If the value is `default' (this is the default), extra guidance is | ||
| 748 | given in the following case: | ||
| 749 | o When you are using a complex input method. | ||
| 750 | o When you are using a simple input method but not in the minibuffer. | ||
| 751 | |||
| 752 | If you are using Emacs through a very slow line, setting | ||
| 753 | input-method-verbose-flag to nil or to complex-only is a good choice, | ||
| 754 | and if you are using an input method you are not familiar with, | ||
| 755 | setting it to t is helpful. | ||
| 756 | |||
| 757 | The old command select-input-method is now called set-input-method. | ||
| 758 | |||
| 759 | In the language environment "Korean", you can use the following | ||
| 760 | keys: | ||
| 761 | Shift-SPC toggle-korean-input-method | ||
| 762 | C-F9 quail-hangul-switch-symbol-ksc | ||
| 763 | F9 quail-hangul-switch-hanja | ||
| 764 | These key bindings are canceled when you switch to another language | ||
| 765 | environment. | ||
| 766 | |||
| 767 | ** The minibuffer history of file names now records the specified file | ||
| 768 | names, not the entire minibuffer input. For example, if the | ||
| 769 | minibuffer starts out with /usr/foo/, you might type in /etc/passwd to | ||
| 770 | get | ||
| 771 | |||
| 772 | /usr/foo//etc/passwd | ||
| 773 | |||
| 774 | which stands for the file /etc/passwd. | ||
| 775 | |||
| 776 | Formerly, this used to put /usr/foo//etc/passwd in the history list. | ||
| 777 | Now this puts just /etc/passwd in the history list. | ||
| 778 | |||
| 779 | ** If you are root, Emacs sets backup-by-copying-when-mismatch to t | ||
| 780 | at startup, so that saving a file will be sure to preserve | ||
| 781 | its owner and group. | ||
| 782 | |||
| 783 | ** find-func.el can now also find the place of definition of Emacs | ||
| 784 | Lisp variables in user-loaded libraries. | ||
| 785 | |||
| 786 | ** C-x r t (string-rectangle) now deletes the existing rectangle | ||
| 787 | contents before inserting the specified string on each line. | ||
| 788 | |||
| 789 | ** There is a new command delete-whitespace-rectangle | ||
| 790 | which deletes whitespace starting from a particular column | ||
| 791 | in all the lines on a rectangle. The column is specified | ||
| 792 | by the left edge of the rectangle. | ||
| 793 | |||
| 794 | ** You can now store a number into a register with C-u NUMBER C-x r n REG, | ||
| 795 | increment it by INC with C-u INC C-x r + REG (to increment by one, omit | ||
| 796 | C-u INC), and insert it in the buffer with C-x r g REG. This is useful | ||
| 797 | for writing keyboard macros. | ||
| 798 | |||
| 799 | ** The new command M-x speedbar displays a frame in which directories, | ||
| 800 | files, and tags can be displayed, manipulated, and jumped to. The | ||
| 801 | frame defaults to 20 characters in width, and is the same height as | ||
| 802 | the frame that it was started from. Some major modes define | ||
| 803 | additional commands for the speedbar, including Rmail, GUD/GDB, and | ||
| 804 | info. | ||
| 805 | |||
| 806 | ** query-replace-regexp is now bound to C-M-%. | ||
| 807 | |||
| 808 | ** In Transient Mark mode, when the region is active, M-x | ||
| 809 | query-replace and the other replace commands now operate on the region | ||
| 810 | contents only. | ||
| 811 | |||
| 812 | ** M-x write-region, when used interactively, now asks for | ||
| 813 | confirmation before overwriting an existing file. When you call | ||
| 814 | the function from a Lisp program, a new optional argument CONFIRM | ||
| 815 | says whether to ask for confirmation in this case. | ||
| 816 | |||
| 817 | ** If you use find-file-literally and the file is already visited | ||
| 818 | non-literally, the command asks you whether to revisit the file | ||
| 819 | literally. If you say no, it signals an error. | ||
| 820 | |||
| 821 | ** Major modes defined with the "derived mode" feature | ||
| 822 | now use the proper name for the mode hook: WHATEVER-mode-hook. | ||
| 823 | Formerly they used the name WHATEVER-mode-hooks, but that is | ||
| 824 | inconsistent with Emacs conventions. | ||
| 825 | |||
| 826 | ** shell-command-on-region (and shell-command) reports success or | ||
| 827 | failure if the command produces no output. | ||
| 828 | |||
| 829 | ** Set focus-follows-mouse to nil if your window system or window | ||
| 830 | manager does not transfer focus to another window when you just move | ||
| 831 | the mouse. | ||
| 832 | |||
| 833 | ** mouse-menu-buffer-maxlen has been renamed to | ||
| 834 | mouse-buffer-menu-maxlen to be consistent with the other related | ||
| 835 | function and variable names. | ||
| 836 | |||
| 837 | ** The new variable auto-coding-alist specifies coding systems for | ||
| 838 | reading specific files. This has higher priority than | ||
| 839 | file-coding-system-alist. | ||
| 840 | |||
| 841 | ** If you set the variable unibyte-display-via-language-environment to | ||
| 842 | t, then Emacs displays non-ASCII characters are displayed by | ||
| 843 | converting them to the equivalent multibyte characters according to | ||
| 844 | the current language environment. As a result, they are displayed | ||
| 845 | according to the current fontset. | ||
| 846 | |||
| 847 | ** C-q's handling of codes in the range 0200 through 0377 is changed. | ||
| 848 | |||
| 849 | The codes in the range 0200 through 0237 are inserted as one byte of | ||
| 850 | that code regardless of the values of nonascii-translation-table and | ||
| 851 | nonascii-insert-offset. | ||
| 852 | |||
| 853 | For the codes in the range 0240 through 0377, if | ||
| 854 | enable-multibyte-characters is non-nil and nonascii-translation-table | ||
| 855 | nor nonascii-insert-offset can't convert them to valid multibyte | ||
| 856 | characters, they are converted to Latin-1 characters. | ||
| 857 | |||
| 858 | ** If you try to find a file that is not read-accessible, you now get | ||
| 859 | an error, rather than an empty buffer and a warning. | ||
| 860 | |||
| 861 | ** In the minibuffer history commands M-r and M-s, an upper case | ||
| 862 | letter in the regular expression forces case-sensitive search. | ||
| 863 | |||
| 864 | ** In the *Help* buffer, cross-references to commands and variables | ||
| 865 | are inferred and hyperlinked. Use C-h m in Help mode for the relevant | ||
| 866 | command keys. | ||
| 867 | |||
| 868 | ** M-x apropos-command, with a prefix argument, no longer looks for | ||
| 869 | user option variables--instead it looks for noninteractive functions. | ||
| 870 | |||
| 871 | Meanwhile, the command apropos-variable normally searches for | ||
| 872 | user option variables; with a prefix argument, it looks at | ||
| 873 | all variables that have documentation. | ||
| 874 | |||
| 875 | ** When you type a long line in the minibuffer, and the minibuffer | ||
| 876 | shows just one line, automatically scrolling works in a special way | ||
| 877 | that shows you overlap with the previous line of text. The variable | ||
| 878 | minibuffer-scroll-overlap controls how many characters of overlap | ||
| 879 | it should show; the default is 20. | ||
| 880 | |||
| 881 | Meanwhile, Resize Minibuffer mode is still available; in that mode, | ||
| 882 | the minibuffer grows taller (up to a point) as needed to show the whole | ||
| 883 | of your input. | ||
| 884 | |||
| 885 | ** The new command M-x customize-changed-options lets you customize | ||
| 886 | all the options whose meanings or default values have changed in | ||
| 887 | recent Emacs versions. You specify a previous Emacs version number as | ||
| 888 | argument, and the command creates a customization buffer showing all | ||
| 889 | the customizable options which were changed since that version. | ||
| 890 | Newly added options are included as well. | ||
| 891 | |||
| 892 | If you don't specify a particular version number argument, | ||
| 893 | then the customization buffer shows all the customizable options | ||
| 894 | for which Emacs versions of changes are recorded. | ||
| 895 | |||
| 896 | This function is also bound to the Changed Options entry in the | ||
| 897 | Customize menu. | ||
| 898 | |||
| 899 | ** When you run M-x grep with a prefix argument, it figures out | ||
| 900 | the tag around point and puts that into the default grep command. | ||
| 901 | |||
| 902 | ** The new command M-* (pop-tag-mark) pops back through a history of | ||
| 903 | buffer positions from which M-. or other tag-finding commands were | ||
| 904 | invoked. | ||
| 905 | |||
| 906 | ** The new variable comment-padding specifies the number of spaces | ||
| 907 | that `comment-region' will insert before the actual text of the comment. | ||
| 908 | The default is 1. | ||
| 909 | |||
| 910 | ** In Fortran mode the characters `.', `_' and `$' now have symbol | ||
| 911 | syntax, not word syntax. Fortran mode now supports `imenu' and has | ||
| 912 | new commands fortran-join-line (M-^) and fortran-narrow-to-subprogram | ||
| 913 | (C-x n d). M-q can be used to fill a statement or comment block | ||
| 914 | sensibly. | ||
| 915 | |||
| 916 | ** GUD now supports jdb, the Java debugger, and pdb, the Python debugger. | ||
| 917 | |||
| 918 | ** If you set the variable add-log-keep-changes-together to a non-nil | ||
| 919 | value, the command `C-x 4 a' will automatically notice when you make | ||
| 920 | two entries in one day for one file, and combine them. | ||
| 921 | |||
| 922 | ** You can use the command M-x diary-mail-entries to mail yourself a | ||
| 923 | reminder about upcoming diary entries. See the documentation string | ||
| 924 | for a sample shell script for calling this function automatically | ||
| 925 | every night. | ||
| 926 | |||
| 927 | ** Desktop changes | ||
| 928 | |||
| 929 | *** All you need to do to enable use of the Desktop package, is to set | ||
| 930 | the variable desktop-enable to t with Custom. | ||
| 931 | |||
| 932 | *** Minor modes are now restored. Which minor modes are restored | ||
| 933 | and how modes are restored is controlled by `desktop-minor-mode-table'. | ||
| 934 | |||
| 935 | ** There is no need to do anything special, now, to enable Gnus to | ||
| 936 | read and post multi-lingual articles. | ||
| 937 | |||
| 938 | ** Outline mode has now support for showing hidden outlines when | ||
| 939 | doing an isearch. In order for this to happen search-invisible should | ||
| 940 | be set to open (the default). If an isearch match is inside a hidden | ||
| 941 | outline the outline is made visible. If you continue pressing C-s and | ||
| 942 | the match moves outside the formerly invisible outline, the outline is | ||
| 943 | made invisible again. | ||
| 944 | |||
| 945 | ** Mail reading and sending changes | ||
| 946 | |||
| 947 | *** The Rmail e command now switches to displaying the whole header of | ||
| 948 | the message before it lets you edit the message. This is so that any | ||
| 949 | changes you make in the header will not be lost if you subsequently | ||
| 950 | toggle. | ||
| 951 | |||
| 952 | *** The w command in Rmail, which writes the message body into a file, | ||
| 953 | now works in the summary buffer as well. (The command to delete the | ||
| 954 | summary buffer is now Q.) The default file name for the w command, if | ||
| 955 | the message has no subject, is stored in the variable | ||
| 956 | rmail-default-body-file. | ||
| 957 | |||
| 958 | *** Most of the commands and modes that operate on mail and netnews no | ||
| 959 | longer depend on the value of mail-header-separator. Instead, they | ||
| 960 | handle whatever separator the buffer happens to use. | ||
| 961 | |||
| 962 | *** If you set mail-signature to a value which is not t, nil, or a string, | ||
| 963 | it should be an expression. When you send a message, this expression | ||
| 964 | is evaluated to insert the signature. | ||
| 965 | |||
| 966 | *** The new Lisp library feedmail.el (version 8) enhances processing of | ||
| 967 | outbound email messages. It works in coordination with other email | ||
| 968 | handling packages (e.g., rmail, VM, gnus) and is responsible for | ||
| 969 | putting final touches on messages and actually submitting them for | ||
| 970 | transmission. Users of the emacs program "fakemail" might be | ||
| 971 | especially interested in trying feedmail. | ||
| 972 | |||
| 973 | feedmail is not enabled by default. See comments at the top of | ||
| 974 | feedmail.el for set-up instructions. Among the bigger features | ||
| 975 | provided by feedmail are: | ||
| 976 | |||
| 977 | **** you can park outgoing messages into a disk-based queue and | ||
| 978 | stimulate sending some or all of them later (handy for laptop users); | ||
| 979 | there is also a queue for draft messages | ||
| 980 | |||
| 981 | **** you can get one last look at the prepped outbound message and | ||
| 982 | be prompted for confirmation | ||
| 983 | |||
| 984 | **** does smart filling of address headers | ||
| 985 | |||
| 986 | **** can generate a MESSAGE-ID: line and a DATE: line; the date can be | ||
| 987 | the time the message was written or the time it is being sent; this | ||
| 988 | can make FCC copies more closely resemble copies that recipients get | ||
| 989 | |||
| 990 | **** you can specify an arbitrary function for actually transmitting | ||
| 991 | the message; included in feedmail are interfaces for /bin/[r]mail, | ||
| 992 | /usr/lib/sendmail, and Emacs Lisp smtpmail; it's easy to write a new | ||
| 993 | function for something else (10-20 lines of Lisp code). | ||
| 994 | |||
| 995 | ** Dired changes | ||
| 996 | |||
| 997 | *** The Dired function dired-do-toggle, which toggles marked and unmarked | ||
| 998 | files, is now bound to "t" instead of "T". | ||
| 999 | |||
| 1000 | *** dired-at-point has been added to ffap.el. It allows one to easily | ||
| 1001 | run Dired on the directory name at point. | ||
| 1002 | |||
| 1003 | *** Dired has a new command: %g. It searches the contents of | ||
| 1004 | files in the directory and marks each file that contains a match | ||
| 1005 | for a specified regexp. | ||
| 1006 | |||
| 1007 | ** VC Changes | ||
| 1008 | |||
| 1009 | *** New option vc-ignore-vc-files lets you turn off version control | ||
| 1010 | conveniently. | ||
| 1011 | |||
| 1012 | *** VC Dired has been completely rewritten. It is now much | ||
| 1013 | faster, especially for CVS, and works very similar to ordinary | ||
| 1014 | Dired. | ||
| 1015 | |||
| 1016 | VC Dired is invoked by typing C-x v d and entering the name of the | ||
| 1017 | directory to display. By default, VC Dired gives you a recursive | ||
| 1018 | listing of all files at or below the given directory which are | ||
| 1019 | currently locked (for CVS, all files not up-to-date are shown). | ||
| 1020 | |||
| 1021 | You can change the listing format by setting vc-dired-recurse to nil, | ||
| 1022 | then it shows only the given directory, and you may also set | ||
| 1023 | vc-dired-terse-display to nil, then it shows all files under version | ||
| 1024 | control plus the names of any subdirectories, so that you can type `i' | ||
| 1025 | on such lines to insert them manually, as in ordinary Dired. | ||
| 1026 | |||
| 1027 | All Dired commands operate normally in VC Dired, except for `v', which | ||
| 1028 | is redefined as the version control prefix. That means you may type | ||
| 1029 | `v l', `v =' etc. to invoke `vc-print-log', `vc-diff' and the like on | ||
| 1030 | the file named in the current Dired buffer line. `v v' invokes | ||
| 1031 | `vc-next-action' on this file, or on all files currently marked. | ||
| 1032 | |||
| 1033 | The new command `v t' (vc-dired-toggle-terse-mode) allows you to | ||
| 1034 | toggle between terse display (only locked files) and full display (all | ||
| 1035 | VC files plus subdirectories). There is also a special command, | ||
| 1036 | `* l', to mark all files currently locked. | ||
| 1037 | |||
| 1038 | Giving a prefix argument to C-x v d now does the same thing as in | ||
| 1039 | ordinary Dired: it allows you to supply additional options for the ls | ||
| 1040 | command in the minibuffer, to fine-tune VC Dired's output. | ||
| 1041 | |||
| 1042 | *** Under CVS, if you merge changes from the repository into a working | ||
| 1043 | file, and CVS detects conflicts, VC now offers to start an ediff | ||
| 1044 | session to resolve them. | ||
| 1045 | |||
| 1046 | Alternatively, you can use the new command `vc-resolve-conflicts' to | ||
| 1047 | resolve conflicts in a file at any time. It works in any buffer that | ||
| 1048 | contains conflict markers as generated by rcsmerge (which is what CVS | ||
| 1049 | uses as well). | ||
| 1050 | |||
| 1051 | *** You can now transfer changes between branches, using the new | ||
| 1052 | command vc-merge (C-x v m). It is implemented for RCS and CVS. When | ||
| 1053 | you invoke it in a buffer under version-control, you can specify | ||
| 1054 | either an entire branch or a pair of versions, and the changes on that | ||
| 1055 | branch or between the two versions are merged into the working file. | ||
| 1056 | If this results in any conflicts, they may be resolved interactively, | ||
| 1057 | using ediff. | ||
| 1058 | |||
| 1059 | ** Changes in Font Lock | ||
| 1060 | |||
| 1061 | *** The face and variable previously known as font-lock-reference-face | ||
| 1062 | are now called font-lock-constant-face to better reflect their typical | ||
| 1063 | use for highlighting constants and labels. (Its face properties are | ||
| 1064 | unchanged.) The variable font-lock-reference-face remains for now for | ||
| 1065 | compatibility reasons, but its value is font-lock-constant-face. | ||
| 1066 | |||
| 1067 | ** Frame name display changes | ||
| 1068 | |||
| 1069 | *** The command set-frame-name lets you set the name of the current | ||
| 1070 | frame. You can use the new command select-frame-by-name to select and | ||
| 1071 | raise a frame; this is mostly useful on character-only terminals, or | ||
| 1072 | when many frames are invisible or iconified. | ||
| 1073 | |||
| 1074 | *** On character-only terminal (not a window system), changing the | ||
| 1075 | frame name is now reflected on the mode line and in the Buffers/Frames | ||
| 1076 | menu. | ||
| 1077 | |||
| 1078 | ** Comint (subshell) changes | ||
| 1079 | |||
| 1080 | *** In Comint modes, the commands to kill, stop or interrupt a | ||
| 1081 | subjob now also kill pending input. This is for compatibility | ||
| 1082 | with ordinary shells, where the signal characters do this. | ||
| 1083 | |||
| 1084 | *** There are new commands in Comint mode. | ||
| 1085 | |||
| 1086 | C-c C-x fetches the "next" line from the input history; | ||
| 1087 | that is, the line after the last line you got. | ||
| 1088 | You can use this command to fetch successive lines, one by one. | ||
| 1089 | |||
| 1090 | C-c SPC accumulates lines of input. More precisely, it arranges to | ||
| 1091 | send the current line together with the following line, when you send | ||
| 1092 | the following line. | ||
| 1093 | |||
| 1094 | C-c C-a if repeated twice consecutively now moves to the process mark, | ||
| 1095 | which separates the pending input from the subprocess output and the | ||
| 1096 | previously sent input. | ||
| 1097 | |||
| 1098 | C-c M-r now runs comint-previous-matching-input-from-input; | ||
| 1099 | it searches for a previous command, using the current pending input | ||
| 1100 | as the search string. | ||
| 1101 | |||
| 1102 | *** New option compilation-scroll-output can be set to scroll | ||
| 1103 | automatically in compilation-mode windows. | ||
| 1104 | |||
| 1105 | ** C mode changes | ||
| 1106 | |||
| 1107 | *** Multiline macros are now handled, both as they affect indentation, | ||
| 1108 | and as recognized syntax. New syntactic symbol cpp-macro-cont is | ||
| 1109 | assigned to second and subsequent lines of a multiline macro | ||
| 1110 | definition. | ||
| 1111 | |||
| 1112 | *** A new style "user" which captures all non-hook-ified | ||
| 1113 | (i.e. top-level) .emacs file variable settings and customizations. | ||
| 1114 | Style "cc-mode" is an alias for "user" and is deprecated. "gnu" | ||
| 1115 | style is still the default however. | ||
| 1116 | |||
| 1117 | *** "java" style now conforms to Sun's JDK coding style. | ||
| 1118 | |||
| 1119 | *** There are new commands c-beginning-of-defun, c-end-of-defun which | ||
| 1120 | are alternatives which you could bind to C-M-a and C-M-e if you prefer | ||
| 1121 | them. They do not have key bindings by default. | ||
| 1122 | |||
| 1123 | *** New and improved implementations of M-a (c-beginning-of-statement) | ||
| 1124 | and M-e (c-end-of-statement). | ||
| 1125 | |||
| 1126 | *** C++ namespace blocks are supported, with new syntactic symbols | ||
| 1127 | namespace-open, namespace-close, and innamespace. | ||
| 1128 | |||
| 1129 | *** File local variable settings of c-file-style and c-file-offsets | ||
| 1130 | makes the style variables local to that buffer only. | ||
| 1131 | |||
| 1132 | *** New indentation functions c-lineup-close-paren, | ||
| 1133 | c-indent-one-line-block, c-lineup-dont-change. | ||
| 1134 | |||
| 1135 | *** Improvements (hopefully!) to the way CC Mode is loaded. You | ||
| 1136 | should now be able to do a (require 'cc-mode) to get the entire | ||
| 1137 | package loaded properly for customization in your .emacs file. A new | ||
| 1138 | variable c-initialize-on-load controls this and is t by default. | ||
| 1139 | |||
| 1140 | ** Changes to hippie-expand. | ||
| 1141 | |||
| 1142 | *** New customization variable `hippie-expand-dabbrev-skip-space'. If | ||
| 1143 | non-nil, trailing spaces may be included in the abbreviation to search for, | ||
| 1144 | which then gives the same behavior as the original `dabbrev-expand'. | ||
| 1145 | |||
| 1146 | *** New customization variable `hippie-expand-dabbrev-as-symbol'. If | ||
| 1147 | non-nil, characters of syntax '_' is considered part of the word when | ||
| 1148 | expanding dynamically. | ||
| 1149 | |||
| 1150 | *** New customization variable `hippie-expand-no-restriction'. If | ||
| 1151 | non-nil, narrowed buffers are widened before they are searched. | ||
| 1152 | |||
| 1153 | *** New customization variable `hippie-expand-only-buffers'. If | ||
| 1154 | non-empty, buffers searched are restricted to the types specified in | ||
| 1155 | this list. Useful for example when constructing new special-purpose | ||
| 1156 | expansion functions with `make-hippie-expand-function'. | ||
| 1157 | |||
| 1158 | *** Text properties of the expansion are no longer copied. | ||
| 1159 | |||
| 1160 | ** Changes in BibTeX mode. | ||
| 1161 | |||
| 1162 | *** Any titleword matching a regexp in the new variable | ||
| 1163 | bibtex-autokey-titleword-ignore (case sensitive) is ignored during | ||
| 1164 | automatic key generation. This replaces variable | ||
| 1165 | bibtex-autokey-titleword-first-ignore, which only checked for matches | ||
| 1166 | against the first word in the title. | ||
| 1167 | |||
| 1168 | *** Autokey generation now uses all words from the title, not just | ||
| 1169 | capitalized words. To avoid conflicts with existing customizations, | ||
| 1170 | bibtex-autokey-titleword-ignore is set up such that words starting with | ||
| 1171 | lowerkey characters will still be ignored. Thus, if you want to use | ||
| 1172 | lowercase words from the title, you will have to overwrite the | ||
| 1173 | bibtex-autokey-titleword-ignore standard setting. | ||
| 1174 | |||
| 1175 | *** Case conversion of names and title words for automatic key | ||
| 1176 | generation is more flexible. Variable bibtex-autokey-preserve-case is | ||
| 1177 | replaced by bibtex-autokey-titleword-case-convert and | ||
| 1178 | bibtex-autokey-name-case-convert. | ||
| 1179 | |||
| 1180 | ** Changes in vcursor.el. | ||
| 1181 | |||
| 1182 | *** Support for character terminals is available: there is a new keymap | ||
| 1183 | and the vcursor will appear as an arrow between buffer text. A | ||
| 1184 | variable `vcursor-interpret-input' allows input from the vcursor to be | ||
| 1185 | entered exactly as if typed. Numerous functions, including | ||
| 1186 | `vcursor-compare-windows', have been rewritten to improve consistency | ||
| 1187 | in the selection of windows and corresponding keymaps. | ||
| 1188 | |||
| 1189 | *** vcursor options can now be altered with M-x customize under the | ||
| 1190 | Editing group once the package is loaded. | ||
| 1191 | |||
| 1192 | *** Loading vcursor now does not define keys by default, as this is | ||
| 1193 | generally a bad side effect. Use M-x customize to set | ||
| 1194 | vcursor-key-bindings to t to restore the old behavior. | ||
| 1195 | |||
| 1196 | *** vcursor-auto-disable can be `copy', which turns off copying from the | ||
| 1197 | vcursor, but doesn't disable it, after any non-vcursor command. | ||
| 1198 | |||
| 1199 | ** Ispell changes. | ||
| 1200 | |||
| 1201 | *** You can now spell check comments and strings in the current | ||
| 1202 | buffer with M-x ispell-comments-and-strings. Comments and strings | ||
| 1203 | are identified by syntax tables in effect. | ||
| 1204 | |||
| 1205 | *** Generic region skipping implemented. | ||
| 1206 | A single buffer can be broken into a number of regions where text will | ||
| 1207 | and will not be checked. The definitions of the regions can be user | ||
| 1208 | defined. New applications and improvements made available by this | ||
| 1209 | include: | ||
| 1210 | |||
| 1211 | o URLs are automatically skipped | ||
| 1212 | o EMail message checking is vastly improved. | ||
| 1213 | |||
| 1214 | *** Ispell can highlight the erroneous word even on non-window terminals. | ||
| 1215 | |||
| 1216 | ** Changes to RefTeX mode | ||
| 1217 | |||
| 1218 | RefTeX has been updated in order to make it more usable with very | ||
| 1219 | large projects (like a several volume math book). The parser has been | ||
| 1220 | re-written from scratch. To get maximum speed from RefTeX, check the | ||
| 1221 | section `Optimizations' in the manual. | ||
| 1222 | |||
| 1223 | *** New recursive parser. | ||
| 1224 | |||
| 1225 | The old version of RefTeX created a single large buffer containing the | ||
| 1226 | entire multifile document in order to parse the document. The new | ||
| 1227 | recursive parser scans the individual files. | ||
| 1228 | |||
| 1229 | *** Parsing only part of a document. | ||
| 1230 | |||
| 1231 | Reparsing of changed document parts can now be made faster by enabling | ||
| 1232 | partial scans. To use this feature, read the documentation string of | ||
| 1233 | the variable `reftex-enable-partial-scans' and set the variable to t. | ||
| 1234 | |||
| 1235 | (setq reftex-enable-partial-scans t) | ||
| 1236 | |||
| 1237 | *** Storing parsing information in a file. | ||
| 1238 | |||
| 1239 | This can improve startup times considerably. To turn it on, use | ||
| 1240 | |||
| 1241 | (setq reftex-save-parse-info t) | ||
| 1242 | |||
| 1243 | *** Using multiple selection buffers | ||
| 1244 | |||
| 1245 | If the creation of label selection buffers is too slow (this happens | ||
| 1246 | for large documents), you can reuse these buffers by setting | ||
| 1247 | |||
| 1248 | (setq reftex-use-multiple-selection-buffers t) | ||
| 1249 | |||
| 1250 | *** References to external documents. | ||
| 1251 | |||
| 1252 | The LaTeX package `xr' allows to cross-reference labels in external | ||
| 1253 | documents. RefTeX can provide information about the external | ||
| 1254 | documents as well. To use this feature, set up the \externaldocument | ||
| 1255 | macros required by the `xr' package and rescan the document with | ||
| 1256 | RefTeX. The external labels can then be accessed with the `x' key in | ||
| 1257 | the selection buffer provided by `reftex-reference' (bound to `C-c )'). | ||
| 1258 | The `x' key also works in the table of contents buffer. | ||
| 1259 | |||
| 1260 | *** Many more labeled LaTeX environments are recognized by default. | ||
| 1261 | |||
| 1262 | The built-in command list now covers all the standard LaTeX commands, | ||
| 1263 | and all of the major packages included in the LaTeX distribution. | ||
| 1264 | |||
| 1265 | Also, RefTeX now understands the \appendix macro and changes | ||
| 1266 | the enumeration of sections in the *toc* buffer accordingly. | ||
| 1267 | |||
| 1268 | *** Mouse support for selection and *toc* buffers | ||
| 1269 | |||
| 1270 | The mouse can now be used to select items in the selection and *toc* | ||
| 1271 | buffers. See also the new option `reftex-highlight-selection'. | ||
| 1272 | |||
| 1273 | *** New keymaps for selection and table of contents modes. | ||
| 1274 | |||
| 1275 | The selection processes for labels and citation keys, and the table of | ||
| 1276 | contents buffer now have their own keymaps: `reftex-select-label-map', | ||
| 1277 | `reftex-select-bib-map', `reftex-toc-map'. The selection processes | ||
| 1278 | have a number of new keys predefined. In particular, TAB lets you | ||
| 1279 | enter a label with completion. Check the on-the-fly help (press `?' | ||
| 1280 | at the selection prompt) or read the Info documentation to find out | ||
| 1281 | more. | ||
| 1282 | |||
| 1283 | *** Support for the varioref package | ||
| 1284 | |||
| 1285 | The `v' key in the label selection buffer toggles \ref versus \vref. | ||
| 1286 | |||
| 1287 | *** New hooks | ||
| 1288 | |||
| 1289 | Three new hooks can be used to redefine the way labels, references, | ||
| 1290 | and citations are created. These hooks are | ||
| 1291 | `reftex-format-label-function', `reftex-format-ref-function', | ||
| 1292 | `reftex-format-cite-function'. | ||
| 1293 | |||
| 1294 | *** Citations outside LaTeX | ||
| 1295 | |||
| 1296 | The command `reftex-citation' may also be used outside LaTeX (e.g. in | ||
| 1297 | a mail buffer). See the Info documentation for details. | ||
| 1298 | |||
| 1299 | *** Short context is no longer fontified. | ||
| 1300 | |||
| 1301 | The short context in the label menu no longer copies the | ||
| 1302 | fontification from the text in the buffer. If you prefer it to be | ||
| 1303 | fontified, use | ||
| 1304 | |||
| 1305 | (setq reftex-refontify-context t) | ||
| 1306 | |||
| 1307 | ** file-cache-minibuffer-complete now accepts a prefix argument. | ||
| 1308 | With a prefix argument, it does not try to do completion of | ||
| 1309 | the file name within its directory; it only checks for other | ||
| 1310 | directories that contain the same file name. | ||
| 1311 | |||
| 1312 | Thus, given the file name Makefile, and assuming that a file | ||
| 1313 | Makefile.in exists in the same directory, ordinary | ||
| 1314 | file-cache-minibuffer-complete will try to complete Makefile to | ||
| 1315 | Makefile.in and will therefore never look for other directories that | ||
| 1316 | have Makefile. A prefix argument tells it not to look for longer | ||
| 1317 | names such as Makefile.in, so that instead it will look for other | ||
| 1318 | directories--just as if the name were already complete in its present | ||
| 1319 | directory. | ||
| 1320 | |||
| 1321 | ** New modes and packages | ||
| 1322 | |||
| 1323 | *** There is a new alternative major mode for Perl, Cperl mode. | ||
| 1324 | It has many more features than Perl mode, and some people prefer | ||
| 1325 | it, but some do not. | ||
| 1326 | |||
| 1327 | *** There is a new major mode, M-x vhdl-mode, for editing files of VHDL | ||
| 1328 | code. | ||
| 1329 | |||
| 1330 | *** M-x which-function-mode enables a minor mode that displays the | ||
| 1331 | current function name continuously in the mode line, as you move | ||
| 1332 | around in a buffer. | ||
| 1333 | |||
| 1334 | Which Function mode is effective in major modes which support Imenu. | ||
| 1335 | |||
| 1336 | *** Gametree is a major mode for editing game analysis trees. The author | ||
| 1337 | uses it for keeping notes about his postal Chess games, but it should | ||
| 1338 | be helpful for other two-player games as well, as long as they have an | ||
| 1339 | established system of notation similar to Chess. | ||
| 1340 | |||
| 1341 | *** The new minor mode checkdoc-minor-mode provides Emacs Lisp | ||
| 1342 | documentation string checking for style and spelling. The style | ||
| 1343 | guidelines are found in the Emacs Lisp programming manual. | ||
| 1344 | |||
| 1345 | *** The net-utils package makes some common networking features | ||
| 1346 | available in Emacs. Some of these functions are wrappers around | ||
| 1347 | system utilities (ping, nslookup, etc.); others are implementations of | ||
| 1348 | simple protocols (finger, whois) in Emacs Lisp. There are also | ||
| 1349 | functions to make simple connections to TCP/IP ports for debugging and | ||
| 1350 | the like. | ||
| 1351 | |||
| 1352 | *** highlight-changes-mode is a minor mode that uses colors to | ||
| 1353 | identify recently changed parts of the buffer text. | ||
| 1354 | |||
| 1355 | *** The new package `midnight' lets you specify things to be done | ||
| 1356 | within Emacs at midnight--by default, kill buffers that you have not | ||
| 1357 | used in a considerable time. To use this feature, customize | ||
| 1358 | the user option `midnight-mode' to t. | ||
| 1359 | |||
| 1360 | *** The file generic-x.el defines a number of simple major modes. | ||
| 1361 | |||
| 1362 | apache-generic-mode: For Apache and NCSA httpd configuration files | ||
| 1363 | samba-generic-mode: Samba configuration files | ||
| 1364 | fvwm-generic-mode: For fvwm initialization files | ||
| 1365 | x-resource-generic-mode: For X resource files | ||
| 1366 | hosts-generic-mode: For hosts files (.rhosts, /etc/hosts, etc.) | ||
| 1367 | mailagent-rules-generic-mode: For mailagent .rules files | ||
| 1368 | javascript-generic-mode: For JavaScript files | ||
| 1369 | vrml-generic-mode: For VRML files | ||
| 1370 | java-manifest-generic-mode: For Java MANIFEST files | ||
| 1371 | java-properties-generic-mode: For Java property files | ||
| 1372 | mailrc-generic-mode: For .mailrc files | ||
| 1373 | |||
| 1374 | Platform-specific modes: | ||
| 1375 | |||
| 1376 | prototype-generic-mode: For Solaris/Sys V prototype files | ||
| 1377 | pkginfo-generic-mode: For Solaris/Sys V pkginfo files | ||
| 1378 | alias-generic-mode: For C shell alias files | ||
| 1379 | inf-generic-mode: For MS-Windows INF files | ||
| 1380 | ini-generic-mode: For MS-Windows INI files | ||
| 1381 | reg-generic-mode: For MS-Windows Registry files | ||
| 1382 | bat-generic-mode: For MS-Windows BAT scripts | ||
| 1383 | rc-generic-mode: For MS-Windows Resource files | ||
| 1384 | rul-generic-mode: For InstallShield scripts | ||
| 1385 | |||
| 1386 | |||
| 1387 | * Lisp changes in Emacs 20.3 since the Emacs Lisp Manual was published | ||
| 1388 | |||
| 1389 | ** If you want a Lisp file to be read in unibyte mode, | ||
| 1390 | use -*-unibyte: t;-*- on its first line. | ||
| 1391 | That will force Emacs to read that file in unibyte mode. | ||
| 1392 | Otherwise, the file will be loaded and byte-compiled in multibyte mode. | ||
| 1393 | |||
| 1394 | Thus, each lisp file is read in a consistent way regardless of whether | ||
| 1395 | you started Emacs with --unibyte, so that a Lisp program gives | ||
| 1396 | consistent results regardless of how Emacs was started. | ||
| 1397 | |||
| 1398 | ** The new function assoc-default is useful for searching an alist, | ||
| 1399 | and using a default value if the key is not found there. You can | ||
| 1400 | specify a comparison predicate, so this function is useful for | ||
| 1401 | searching comparing a string against an alist of regular expressions. | ||
| 1402 | |||
| 1403 | ** The functions unibyte-char-to-multibyte and | ||
| 1404 | multibyte-char-to-unibyte convert between unibyte and multibyte | ||
| 1405 | character codes, in a way that is appropriate for the current language | ||
| 1406 | environment. | ||
| 1407 | |||
| 1408 | ** The functions read-event, read-char and read-char-exclusive now | ||
| 1409 | take two optional arguments. PROMPT, if non-nil, specifies a prompt | ||
| 1410 | string. SUPPRESS-INPUT-METHOD, if non-nil, says to disable the | ||
| 1411 | current input method for reading this one event. | ||
| 1412 | |||
| 1413 | ** Two new variables print-escape-nonascii and print-escape-multibyte | ||
| 1414 | now control whether to output certain characters as | ||
| 1415 | backslash-sequences. print-escape-nonascii applies to single-byte | ||
| 1416 | non-ASCII characters; print-escape-multibyte applies to multibyte | ||
| 1417 | characters. Both of these variables are used only when printing | ||
| 1418 | in readable fashion (prin1 uses them, princ does not). | ||
| 1419 | |||
| 1420 | |||
| 1421 | * Lisp changes in Emacs 20.3 before the Emacs Lisp Manual was published | ||
| 1422 | |||
| 1423 | ** Compiled Emacs Lisp files made with the modified "MBSK" version | ||
| 1424 | of Emacs 20.2 do not work in Emacs 20.3. | ||
| 1425 | |||
| 1426 | ** Buffer positions are now measured in characters, as they were | ||
| 1427 | in Emacs 19 and before. This means that (forward-char 1) | ||
| 1428 | always increases point by 1. | ||
| 1429 | |||
| 1430 | The function chars-in-region now just subtracts its arguments. It is | ||
| 1431 | considered obsolete. The function char-boundary-p has been deleted. | ||
| 1432 | |||
| 1433 | See below for additional changes relating to multibyte characters. | ||
| 1434 | |||
| 1435 | ** defcustom, defface and defgroup now accept the keyword `:version'. | ||
| 1436 | Use this to specify in which version of Emacs a certain variable's | ||
| 1437 | default value changed. For example, | ||
| 1438 | |||
| 1439 | (defcustom foo-max 34 "*Maximum number of foo's allowed." | ||
| 1440 | :type 'integer | ||
| 1441 | :group 'foo | ||
| 1442 | :version "20.3") | ||
| 1443 | |||
| 1444 | (defgroup foo-group nil "The foo group." | ||
| 1445 | :version "20.3") | ||
| 1446 | |||
| 1447 | If an entire new group is added or the variables in it have the | ||
| 1448 | default values changed, then just add a `:version' to that group. It | ||
| 1449 | is recommended that new packages added to the distribution contain a | ||
| 1450 | `:version' in the top level group. | ||
| 1451 | |||
| 1452 | This information is used to control the customize-changed-options command. | ||
| 1453 | |||
| 1454 | ** It is now an error to change the value of a symbol whose name | ||
| 1455 | starts with a colon--if it is interned in the standard obarray. | ||
| 1456 | |||
| 1457 | However, setting such a symbol to its proper value, which is that | ||
| 1458 | symbol itself, is not an error. This is for the sake of programs that | ||
| 1459 | support previous Emacs versions by explicitly setting these variables | ||
| 1460 | to themselves. | ||
| 1461 | |||
| 1462 | If you set the variable keyword-symbols-constant-flag to nil, | ||
| 1463 | this error is suppressed, and you can set these symbols to any | ||
| 1464 | values whatever. | ||
| 1465 | |||
| 1466 | ** There is a new debugger command, R. | ||
| 1467 | It evaluates an expression like e, but saves the result | ||
| 1468 | in the buffer *Debugger-record*. | ||
| 1469 | |||
| 1470 | ** Frame-local variables. | ||
| 1471 | |||
| 1472 | You can now make a variable local to various frames. To do this, call | ||
| 1473 | the function make-variable-frame-local; this enables frames to have | ||
| 1474 | local bindings for that variable. | ||
| 1475 | |||
| 1476 | These frame-local bindings are actually frame parameters: you create a | ||
| 1477 | frame-local binding in a specific frame by calling | ||
| 1478 | modify-frame-parameters and specifying the variable name as the | ||
| 1479 | parameter name. | ||
| 1480 | |||
| 1481 | Buffer-local bindings take precedence over frame-local bindings. | ||
| 1482 | Thus, if the current buffer has a buffer-local binding, that binding is | ||
| 1483 | active; otherwise, if the selected frame has a frame-local binding, | ||
| 1484 | that binding is active; otherwise, the default binding is active. | ||
| 1485 | |||
| 1486 | It would not be hard to implement window-local bindings, but it is not | ||
| 1487 | clear that this would be very useful; windows tend to come and go in a | ||
| 1488 | very transitory fashion, so that trying to produce any specific effect | ||
| 1489 | through a window-local binding would not be very robust. | ||
| 1490 | |||
| 1491 | ** `sregexq' and `sregex' are two new functions for constructing | ||
| 1492 | "symbolic regular expressions." These are Lisp expressions that, when | ||
| 1493 | evaluated, yield conventional string-based regexps. The symbolic form | ||
| 1494 | makes it easier to construct, read, and maintain complex patterns. | ||
| 1495 | See the documentation in sregex.el. | ||
| 1496 | |||
| 1497 | ** parse-partial-sexp's return value has an additional element which | ||
| 1498 | is used to pass information along if you pass it to another call to | ||
| 1499 | parse-partial-sexp, starting its scan where the first call ended. | ||
| 1500 | The contents of this field are not yet finalized. | ||
| 1501 | |||
| 1502 | ** eval-region now accepts a fourth optional argument READ-FUNCTION. | ||
| 1503 | If it is non-nil, that function is used instead of `read'. | ||
| 1504 | |||
| 1505 | ** unload-feature by default removes the feature's functions from | ||
| 1506 | known hooks to avoid trouble, but a package providing FEATURE can | ||
| 1507 | define a hook FEATURE-unload-hook to be run by unload-feature instead. | ||
| 1508 | |||
| 1509 | ** read-from-minibuffer no longer returns the argument DEFAULT-VALUE | ||
| 1510 | when the user enters empty input. It now returns the null string, as | ||
| 1511 | it did in Emacs 19. The default value is made available in the | ||
| 1512 | history via M-n, but it is not applied here as a default. | ||
| 1513 | |||
| 1514 | The other, more specialized minibuffer-reading functions continue to | ||
| 1515 | return the default value (not the null string) when the user enters | ||
| 1516 | empty input. | ||
| 1517 | |||
| 1518 | ** The new variable read-buffer-function controls which routine to use | ||
| 1519 | for selecting buffers. For example, if you set this variable to | ||
| 1520 | `iswitchb-read-buffer', iswitchb will be used to read buffer names. | ||
| 1521 | Other functions can also be used if they accept the same arguments as | ||
| 1522 | `read-buffer' and return the selected buffer name as a string. | ||
| 1523 | |||
| 1524 | ** The new function read-passwd reads a password from the terminal, | ||
| 1525 | echoing a period for each character typed. It takes three arguments: | ||
| 1526 | a prompt string, a flag which says "read it twice to make sure", and a | ||
| 1527 | default password to use if the user enters nothing. | ||
| 1528 | |||
| 1529 | ** The variable fill-nobreak-predicate gives major modes a way to | ||
| 1530 | specify not to break a line at certain places. Its value is a | ||
| 1531 | function which is called with no arguments, with point located at the | ||
| 1532 | place where a break is being considered. If the function returns | ||
| 1533 | non-nil, then the line won't be broken there. | ||
| 1534 | |||
| 1535 | ** window-end now takes an optional second argument, UPDATE. | ||
| 1536 | If this is non-nil, then the function always returns an accurate | ||
| 1537 | up-to-date value for the buffer position corresponding to the | ||
| 1538 | end of the window, even if this requires computation. | ||
| 1539 | |||
| 1540 | ** other-buffer now takes an optional argument FRAME | ||
| 1541 | which specifies which frame's buffer list to use. | ||
| 1542 | If it is nil, that means use the selected frame's buffer list. | ||
| 1543 | |||
| 1544 | ** The new variable buffer-display-time, always local in every buffer, | ||
| 1545 | holds the value of (current-time) as of the last time that a window | ||
| 1546 | was directed to display this buffer. | ||
| 1547 | |||
| 1548 | ** It is now meaningful to compare two window-configuration objects | ||
| 1549 | with `equal'. Two window-configuration objects are equal if they | ||
| 1550 | describe equivalent arrangements of windows, in the same frame--in | ||
| 1551 | other words, if they would give the same results if passed to | ||
| 1552 | set-window-configuration. | ||
| 1553 | |||
| 1554 | ** compare-window-configurations is a new function that compares two | ||
| 1555 | window configurations loosely. It ignores differences in saved buffer | ||
| 1556 | positions and scrolling, and considers only the structure and sizes of | ||
| 1557 | windows and the choice of buffers to display. | ||
| 1558 | |||
| 1559 | ** The variable minor-mode-overriding-map-alist allows major modes to | ||
| 1560 | override the key bindings of a minor mode. The elements of this alist | ||
| 1561 | look like the elements of minor-mode-map-alist: (VARIABLE . KEYMAP). | ||
| 1562 | |||
| 1563 | If the VARIABLE in an element of minor-mode-overriding-map-alist has a | ||
| 1564 | non-nil value, the paired KEYMAP is active, and totally overrides the | ||
| 1565 | map (if any) specified for the same variable in minor-mode-map-alist. | ||
| 1566 | |||
| 1567 | minor-mode-overriding-map-alist is automatically local in all buffers, | ||
| 1568 | and it is meant to be set by major modes. | ||
| 1569 | |||
| 1570 | ** The function match-string-no-properties is like match-string | ||
| 1571 | except that it discards all text properties from the result. | ||
| 1572 | |||
| 1573 | ** The function load-average now accepts an optional argument | ||
| 1574 | USE-FLOATS. If it is non-nil, the load average values are returned as | ||
| 1575 | floating point numbers, rather than as integers to be divided by 100. | ||
| 1576 | |||
| 1577 | ** The new variable temporary-file-directory specifies the directory | ||
| 1578 | to use for creating temporary files. The default value is determined | ||
| 1579 | in a reasonable way for your operating system; on GNU and Unix systems | ||
| 1580 | it is based on the TMP and TMPDIR environment variables. | ||
| 1581 | |||
| 1582 | ** Menu changes | ||
| 1583 | |||
| 1584 | *** easymenu.el now uses the new menu item format and supports the | ||
| 1585 | keywords :visible and :filter. The existing keyword :keys is now | ||
| 1586 | better supported. | ||
| 1587 | |||
| 1588 | The variable `easy-menu-precalculate-equivalent-keybindings' controls | ||
| 1589 | a new feature which calculates keyboard equivalents for the menu when | ||
| 1590 | you define the menu. The default is t. If you rarely use menus, you | ||
| 1591 | can set the variable to nil to disable this precalculation feature; | ||
| 1592 | then the calculation is done only if you use the menu bar. | ||
| 1593 | |||
| 1594 | *** A new format for menu items is supported. | ||
| 1595 | |||
| 1596 | In a keymap, a key binding that has the format | ||
| 1597 | (STRING . REAL-BINDING) or (STRING HELP-STRING . REAL-BINDING) | ||
| 1598 | defines a menu item. Now a menu item definition may also be a list that | ||
| 1599 | starts with the symbol `menu-item'. | ||
| 1600 | |||
| 1601 | The format is: | ||
| 1602 | (menu-item ITEM-NAME) or | ||
| 1603 | (menu-item ITEM-NAME REAL-BINDING . ITEM-PROPERTY-LIST) | ||
| 1604 | where ITEM-NAME is an expression which evaluates to the menu item | ||
| 1605 | string, and ITEM-PROPERTY-LIST has the form of a property list. | ||
| 1606 | The supported properties include | ||
| 1607 | |||
| 1608 | :enable FORM Evaluate FORM to determine whether the | ||
| 1609 | item is enabled. | ||
| 1610 | :visible FORM Evaluate FORM to determine whether the | ||
| 1611 | item should appear in the menu. | ||
| 1612 | :filter FILTER-FN | ||
| 1613 | FILTER-FN is a function of one argument, | ||
| 1614 | which will be REAL-BINDING. | ||
| 1615 | It should return a binding to use instead. | ||
| 1616 | :keys DESCRIPTION | ||
| 1617 | DESCRIPTION is a string that describes an equivalent keyboard | ||
| 1618 | binding for REAL-BINDING. DESCRIPTION is expanded with | ||
| 1619 | `substitute-command-keys' before it is used. | ||
| 1620 | :key-sequence KEY-SEQUENCE | ||
| 1621 | KEY-SEQUENCE is a key-sequence for an equivalent | ||
| 1622 | keyboard binding. | ||
| 1623 | :key-sequence nil | ||
| 1624 | This means that the command normally has no | ||
| 1625 | keyboard equivalent. | ||
| 1626 | :help HELP HELP is the extra help string (not currently used). | ||
| 1627 | :button (TYPE . SELECTED) | ||
| 1628 | TYPE is :toggle or :radio. | ||
| 1629 | SELECTED is a form, to be evaluated, and its | ||
| 1630 | value says whether this button is currently selected. | ||
| 1631 | |||
| 1632 | Buttons are at the moment only simulated by prefixes in the menu. | ||
| 1633 | Eventually ordinary X-buttons may be supported. | ||
| 1634 | |||
| 1635 | (menu-item ITEM-NAME) defines unselectable item. | ||
| 1636 | |||
| 1637 | ** New event types | ||
| 1638 | |||
| 1639 | *** The new event type `mouse-wheel' is generated by a wheel on a | ||
| 1640 | mouse (such as the MS Intellimouse). The event contains a delta that | ||
| 1641 | corresponds to the amount and direction that the wheel is rotated, | ||
| 1642 | which is typically used to implement a scroll or zoom. The format is: | ||
| 1643 | |||
| 1644 | (mouse-wheel POSITION DELTA) | ||
| 1645 | |||
| 1646 | where POSITION is a list describing the position of the event in the | ||
| 1647 | same format as a mouse-click event, and DELTA is a signed number | ||
| 1648 | indicating the number of increments by which the wheel was rotated. A | ||
| 1649 | negative DELTA indicates that the wheel was rotated backwards, towards | ||
| 1650 | the user, and a positive DELTA indicates that the wheel was rotated | ||
| 1651 | forward, away from the user. | ||
| 1652 | |||
| 1653 | As of now, this event type is generated only on MS Windows. | ||
| 1654 | |||
| 1655 | *** The new event type `drag-n-drop' is generated when a group of | ||
| 1656 | files is selected in an application outside of Emacs, and then dragged | ||
| 1657 | and dropped onto an Emacs frame. The event contains a list of | ||
| 1658 | filenames that were dragged and dropped, which are then typically | ||
| 1659 | loaded into Emacs. The format is: | ||
| 1660 | |||
| 1661 | (drag-n-drop POSITION FILES) | ||
| 1662 | |||
| 1663 | where POSITION is a list describing the position of the event in the | ||
| 1664 | same format as a mouse-click event, and FILES is the list of filenames | ||
| 1665 | that were dragged and dropped. | ||
| 1666 | |||
| 1667 | As of now, this event type is generated only on MS Windows. | ||
| 1668 | |||
| 1669 | ** Changes relating to multibyte characters. | ||
| 1670 | |||
| 1671 | *** The variable enable-multibyte-characters is now read-only; | ||
| 1672 | any attempt to set it directly signals an error. The only way | ||
| 1673 | to change this value in an existing buffer is with set-buffer-multibyte. | ||
| 1674 | |||
| 1675 | *** In a string constant, `\ ' now stands for "nothing at all". You | ||
| 1676 | can use it to terminate a hex escape which is followed by a character | ||
| 1677 | that could otherwise be read as part of the hex escape. | ||
| 1678 | |||
| 1679 | *** String indices are now measured in characters, as they were | ||
| 1680 | in Emacs 19 and before. | ||
| 1681 | |||
| 1682 | The function chars-in-string has been deleted. | ||
| 1683 | The function concat-chars has been renamed to `string'. | ||
| 1684 | |||
| 1685 | *** The function set-buffer-multibyte sets the flag in the current | ||
| 1686 | buffer that says whether the buffer uses multibyte representation or | ||
| 1687 | unibyte representation. If the argument is nil, it selects unibyte | ||
| 1688 | representation. Otherwise it selects multibyte representation. | ||
| 1689 | |||
| 1690 | This function does not change the contents of the buffer, viewed | ||
| 1691 | as a sequence of bytes. However, it does change the contents | ||
| 1692 | viewed as characters; a sequence of two bytes which is treated as | ||
| 1693 | one character when the buffer uses multibyte representation | ||
| 1694 | will count as two characters using unibyte representation. | ||
| 1695 | |||
| 1696 | This function sets enable-multibyte-characters to record which | ||
| 1697 | representation is in use. It also adjusts various data in the buffer | ||
| 1698 | (including its markers, overlays and text properties) so that they are | ||
| 1699 | consistent with the new representation. | ||
| 1700 | |||
| 1701 | *** string-make-multibyte takes a string and converts it to multibyte | ||
| 1702 | representation. Most of the time, you don't need to care | ||
| 1703 | about the representation, because Emacs converts when necessary; | ||
| 1704 | however, it makes a difference when you compare strings. | ||
| 1705 | |||
| 1706 | The conversion of non-ASCII characters works by adding the value of | ||
| 1707 | nonascii-insert-offset to each character, or by translating them | ||
| 1708 | using the table nonascii-translation-table. | ||
| 1709 | |||
| 1710 | *** string-make-unibyte takes a string and converts it to unibyte | ||
| 1711 | representation. Most of the time, you don't need to care about the | ||
| 1712 | representation, but it makes a difference when you compare strings. | ||
| 1713 | |||
| 1714 | The conversion from multibyte to unibyte representation | ||
| 1715 | loses information; the only time Emacs performs it automatically | ||
| 1716 | is when inserting a multibyte string into a unibyte buffer. | ||
| 1717 | |||
| 1718 | *** string-as-multibyte takes a string, and returns another string | ||
| 1719 | which contains the same bytes, but treats them as multibyte. | ||
| 1720 | |||
| 1721 | *** string-as-unibyte takes a string, and returns another string | ||
| 1722 | which contains the same bytes, but treats them as unibyte. | ||
| 1723 | |||
| 1724 | *** The new function compare-strings lets you compare | ||
| 1725 | portions of two strings. Unibyte strings are converted to multibyte, | ||
| 1726 | so that a unibyte string can match a multibyte string. | ||
| 1727 | You can specify whether to ignore case or not. | ||
| 1728 | |||
| 1729 | *** assoc-ignore-case now uses compare-strings so that | ||
| 1730 | it can treat unibyte and multibyte strings as equal. | ||
| 1731 | |||
| 1732 | *** Regular expression operations and buffer string searches now | ||
| 1733 | convert the search pattern to multibyte or unibyte to accord with the | ||
| 1734 | buffer or string being searched. | ||
| 1735 | |||
| 1736 | One consequence is that you cannot always use \200-\377 inside of | ||
| 1737 | [...] to match all non-ASCII characters. This does still work when | ||
| 1738 | searching or matching a unibyte buffer or string, but not when | ||
| 1739 | searching or matching a multibyte string. Unfortunately, there is no | ||
| 1740 | obvious choice of syntax to use within [...] for that job. But, what | ||
| 1741 | you want is just to match all non-ASCII characters, the regular | ||
| 1742 | expression [^\0-\177] works for it. | ||
| 1743 | |||
| 1744 | *** Structure of coding system changed. | ||
| 1745 | |||
| 1746 | All coding systems (including aliases and subsidiaries) are named | ||
| 1747 | by symbols; the symbol's `coding-system' property is a vector | ||
| 1748 | which defines the coding system. Aliases share the same vector | ||
| 1749 | as the principal name, so that altering the contents of this | ||
| 1750 | vector affects the principal name and its aliases. You can define | ||
| 1751 | your own alias name of a coding system by the function | ||
| 1752 | define-coding-system-alias. | ||
| 1753 | |||
| 1754 | The coding system definition includes a property list of its own. Use | ||
| 1755 | the new functions `coding-system-get' and `coding-system-put' to | ||
| 1756 | access such coding system properties as post-read-conversion, | ||
| 1757 | pre-write-conversion, character-translation-table-for-decode, | ||
| 1758 | character-translation-table-for-encode, mime-charset, and | ||
| 1759 | safe-charsets. For instance, (coding-system-get 'iso-latin-1 | ||
| 1760 | 'mime-charset) gives the corresponding MIME-charset parameter | ||
| 1761 | `iso-8859-1'. | ||
| 1762 | |||
| 1763 | Among the coding system properties listed above, safe-charsets is new. | ||
| 1764 | The value of this property is a list of character sets which this | ||
| 1765 | coding system can correctly encode and decode. For instance: | ||
| 1766 | (coding-system-get 'iso-latin-1 'safe-charsets) => (ascii latin-iso8859-1) | ||
| 1767 | |||
| 1768 | Here, "correctly encode" means that the encoded character sets can | ||
| 1769 | also be handled safely by systems other than Emacs as far as they | ||
| 1770 | are capable of that coding system. Though, Emacs itself can encode | ||
| 1771 | the other character sets and read it back correctly. | ||
| 1772 | |||
| 1773 | *** The new function select-safe-coding-system can be used to find a | ||
| 1774 | proper coding system for encoding the specified region or string. | ||
| 1775 | This function requires a user interaction. | ||
| 1776 | |||
| 1777 | *** The new functions find-coding-systems-region and | ||
| 1778 | find-coding-systems-string are helper functions used by | ||
| 1779 | select-safe-coding-system. They return a list of all proper coding | ||
| 1780 | systems to encode a text in some region or string. If you don't want | ||
| 1781 | a user interaction, use one of these functions instead of | ||
| 1782 | select-safe-coding-system. | ||
| 1783 | |||
| 1784 | *** The explicit encoding and decoding functions, such as | ||
| 1785 | decode-coding-region and encode-coding-string, now set | ||
| 1786 | last-coding-system-used to reflect the actual way encoding or decoding | ||
| 1787 | was done. | ||
| 1788 | |||
| 1789 | *** The new function detect-coding-with-language-environment can be | ||
| 1790 | used to detect a coding system of text according to priorities of | ||
| 1791 | coding systems used by some specific language environment. | ||
| 1792 | |||
| 1793 | *** The functions detect-coding-region and detect-coding-string always | ||
| 1794 | return a list if the arg HIGHEST is nil. Thus, if only ASCII | ||
| 1795 | characters are found, they now return a list of single element | ||
| 1796 | `undecided' or its subsidiaries. | ||
| 1797 | |||
| 1798 | *** The new functions coding-system-change-eol-conversion and | ||
| 1799 | coding-system-change-text-conversion can be used to get a different | ||
| 1800 | coding system than what specified only in how end-of-line or text is | ||
| 1801 | converted. | ||
| 1802 | |||
| 1803 | *** The new function set-selection-coding-system can be used to set a | ||
| 1804 | coding system for communicating with other X clients. | ||
| 1805 | |||
| 1806 | *** The function `map-char-table' now passes as argument only valid | ||
| 1807 | character codes, plus generic characters that stand for entire | ||
| 1808 | character sets or entire subrows of a character set. In other words, | ||
| 1809 | each time `map-char-table' calls its FUNCTION argument, the key value | ||
| 1810 | either will be a valid individual character code, or will stand for a | ||
| 1811 | range of characters. | ||
| 1812 | |||
| 1813 | *** The new function `char-valid-p' can be used for checking whether a | ||
| 1814 | Lisp object is a valid character code or not. | ||
| 1815 | |||
| 1816 | *** The new function `charset-after' returns a charset of a character | ||
| 1817 | in the current buffer at position POS. | ||
| 1818 | |||
| 1819 | *** Input methods are now implemented using the variable | ||
| 1820 | input-method-function. If this is non-nil, its value should be a | ||
| 1821 | function; then, whenever Emacs reads an input event that is a printing | ||
| 1822 | character with no modifier bits, it calls that function, passing the | ||
| 1823 | event as an argument. Often this function will read more input, first | ||
| 1824 | binding input-method-function to nil. | ||
| 1825 | |||
| 1826 | The return value should be a list of the events resulting from input | ||
| 1827 | method processing. These events will be processed sequentially as | ||
| 1828 | input, before resorting to unread-command-events. Events returned by | ||
| 1829 | the input method function are not passed to the input method function, | ||
| 1830 | not even if they are printing characters with no modifier bits. | ||
| 1831 | |||
| 1832 | The input method function is not called when reading the second and | ||
| 1833 | subsequent events of a key sequence. | ||
| 1834 | |||
| 1835 | *** You can customize any language environment by using | ||
| 1836 | set-language-environment-hook and exit-language-environment-hook. | ||
| 1837 | |||
| 1838 | The hook `exit-language-environment-hook' should be used to undo | ||
| 1839 | customizations that you made with set-language-environment-hook. For | ||
| 1840 | instance, if you set up a special key binding for a specific language | ||
| 1841 | environment by set-language-environment-hook, you should set up | ||
| 1842 | exit-language-environment-hook to restore the normal key binding. | ||
| 1843 | |||
| 1844 | |||
| 1845 | |||
| 1846 | * Changes in Emacs 20.1 | ||
| 1847 | |||
| 1848 | ** Emacs has a new facility for customization of its many user | ||
| 1849 | options. It is called M-x customize. With this facility you can look | ||
| 1850 | at the many user options in an organized way; they are grouped into a | ||
| 1851 | tree structure. | ||
| 1852 | |||
| 1853 | M-x customize also knows what sorts of values are legitimate for each | ||
| 1854 | user option and ensures that you don't use invalid values. | ||
| 1855 | |||
| 1856 | With M-x customize, you can set options either for the present Emacs | ||
| 1857 | session or permanently. (Permanent settings are stored automatically | ||
| 1858 | in your .emacs file.) | ||
| 1859 | |||
| 1860 | ** Scroll bars are now on the left side of the window. | ||
| 1861 | You can change this with M-x customize-option scroll-bar-mode. | ||
| 1862 | |||
| 1863 | ** The mode line no longer includes the string `Emacs'. | ||
| 1864 | This makes more space in the mode line for other information. | ||
| 1865 | |||
| 1866 | ** When you select a region with the mouse, it is highlighted | ||
| 1867 | immediately afterward. At that time, if you type the DELETE key, it | ||
| 1868 | kills the region. | ||
| 1869 | |||
| 1870 | The BACKSPACE key, and the ASCII character DEL, do not do this; they | ||
| 1871 | delete the character before point, as usual. | ||
| 1872 | |||
| 1873 | ** In an incremental search the whole current match is highlighted | ||
| 1874 | on terminals which support this. (You can disable this feature | ||
| 1875 | by setting search-highlight to nil.) | ||
| 1876 | |||
| 1877 | ** In the minibuffer, in some cases, you can now use M-n to | ||
| 1878 | insert the default value into the minibuffer as text. In effect, | ||
| 1879 | the default value (if the minibuffer routines know it) is tacked | ||
| 1880 | onto the history "in the future". (The more normal use of the | ||
| 1881 | history list is to use M-p to insert minibuffer input used in the | ||
| 1882 | past.) | ||
| 1883 | |||
| 1884 | ** In Text mode, now only blank lines separate paragraphs. | ||
| 1885 | This makes it possible to get the full benefit of Adaptive Fill mode | ||
| 1886 | in Text mode, and other modes derived from it (such as Mail mode). | ||
| 1887 | TAB in Text mode now runs the command indent-relative; this | ||
| 1888 | makes a practical difference only when you use indented paragraphs. | ||
| 1889 | |||
| 1890 | As a result, the old Indented Text mode is now identical to Text mode, | ||
| 1891 | and is an alias for it. | ||
| 1892 | |||
| 1893 | If you want spaces at the beginning of a line to start a paragraph, | ||
| 1894 | use the new mode, Paragraph Indent Text mode. | ||
| 1895 | |||
| 1896 | ** Scrolling changes | ||
| 1897 | |||
| 1898 | *** Scroll commands to scroll a whole screen now preserve the screen | ||
| 1899 | position of the cursor, if scroll-preserve-screen-position is non-nil. | ||
| 1900 | |||
| 1901 | In this mode, if you scroll several screens back and forth, finishing | ||
| 1902 | on the same screen where you started, the cursor goes back to the line | ||
| 1903 | where it started. | ||
| 1904 | |||
| 1905 | *** If you set scroll-conservatively to a small number, then when you | ||
| 1906 | move point a short distance off the screen, Emacs will scroll the | ||
| 1907 | screen just far enough to bring point back on screen, provided that | ||
| 1908 | does not exceed `scroll-conservatively' lines. | ||
| 1909 | |||
| 1910 | *** The new variable scroll-margin says how close point can come to the | ||
| 1911 | top or bottom of a window. It is a number of screen lines; if point | ||
| 1912 | comes within that many lines of the top or bottom of the window, Emacs | ||
| 1913 | recenters the window. | ||
| 1914 | |||
| 1915 | ** International character set support (MULE) | ||
| 1916 | |||
| 1917 | Emacs now supports a wide variety of international character sets, | ||
| 1918 | including European variants of the Latin alphabet, as well as Chinese, | ||
| 1919 | Devanagari (Hindi and Marathi), Ethiopian, Greek, IPA, Japanese, | ||
| 1920 | Korean, Lao, Russian, Thai, Tibetan, and Vietnamese scripts. These | ||
| 1921 | features have been merged from the modified version of Emacs known as | ||
| 1922 | MULE (for "MULti-lingual Enhancement to GNU Emacs") | ||
| 1923 | |||
| 1924 | Users of these scripts have established many more-or-less standard | ||
| 1925 | coding systems for storing files. Emacs uses a single multibyte | ||
| 1926 | character encoding within Emacs buffers; it can translate from a wide | ||
| 1927 | variety of coding systems when reading a file and can translate back | ||
| 1928 | into any of these coding systems when saving a file. | ||
| 1929 | |||
| 1930 | Keyboards, even in the countries where these character sets are used, | ||
| 1931 | generally don't have keys for all the characters in them. So Emacs | ||
| 1932 | supports various "input methods", typically one for each script or | ||
| 1933 | language, to make it possible to type them. | ||
| 1934 | |||
| 1935 | The Emacs internal multibyte encoding represents a non-ASCII | ||
| 1936 | character as a sequence of bytes in the range 0200 through 0377. | ||
| 1937 | |||
| 1938 | The new prefix key C-x RET is used for commands that pertain | ||
| 1939 | to multibyte characters, coding systems, and input methods. | ||
| 1940 | |||
| 1941 | You can disable multibyte character support as follows: | ||
| 1942 | |||
| 1943 | (setq-default enable-multibyte-characters nil) | ||
| 1944 | |||
| 1945 | Calling the function standard-display-european turns off multibyte | ||
| 1946 | characters, unless you specify a non-nil value for the second | ||
| 1947 | argument, AUTO. This provides compatibility for people who are | ||
| 1948 | already using standard-display-european to continue using unibyte | ||
| 1949 | characters for their work until they want to change. | ||
| 1950 | |||
| 1951 | *** Input methods | ||
| 1952 | |||
| 1953 | An input method is a kind of character conversion which is designed | ||
| 1954 | specifically for interactive input. In Emacs, typically each language | ||
| 1955 | has its own input method (though sometimes several languages which use | ||
| 1956 | the same characters can share one input method). Some languages | ||
| 1957 | support several input methods. | ||
| 1958 | |||
| 1959 | The simplest kind of input method works by mapping ASCII letters into | ||
| 1960 | another alphabet. This is how the Greek and Russian input methods | ||
| 1961 | work. | ||
| 1962 | |||
| 1963 | A more powerful technique is composition: converting sequences of | ||
| 1964 | characters into one letter. Many European input methods use | ||
| 1965 | composition to produce a single non-ASCII letter from a sequence which | ||
| 1966 | consists of a letter followed by diacritics. For example, a' is one | ||
| 1967 | sequence of two characters that might be converted into a single | ||
| 1968 | letter. | ||
| 1969 | |||
| 1970 | The input methods for syllabic scripts typically use mapping followed | ||
| 1971 | by conversion. The input methods for Thai and Korean work this way. | ||
| 1972 | First, letters are mapped into symbols for particular sounds or tone | ||
| 1973 | marks; then, sequences of these which make up a whole syllable are | ||
| 1974 | mapped into one syllable sign--most often a "composite character". | ||
| 1975 | |||
| 1976 | None of these methods works very well for Chinese and Japanese, so | ||
| 1977 | they are handled specially. First you input a whole word using | ||
| 1978 | phonetic spelling; then, after the word is in the buffer, Emacs | ||
| 1979 | converts it into one or more characters using a large dictionary. | ||
| 1980 | |||
| 1981 | Since there is more than one way to represent a phonetically spelled | ||
| 1982 | word using Chinese characters, Emacs can only guess which one to use; | ||
| 1983 | typically these input methods give you a way to say "guess again" if | ||
| 1984 | the first guess is wrong. | ||
| 1985 | |||
| 1986 | *** The command C-x RET m (toggle-enable-multibyte-characters) | ||
| 1987 | turns multibyte character support on or off for the current buffer. | ||
| 1988 | |||
| 1989 | If multibyte character support is turned off in a buffer, then each | ||
| 1990 | byte is a single character, even codes 0200 through 0377--exactly as | ||
| 1991 | they did in Emacs 19.34. This includes the features for support for | ||
| 1992 | the European characters, ISO Latin-1 and ISO Latin-2. | ||
| 1993 | |||
| 1994 | However, there is no need to turn off multibyte character support to | ||
| 1995 | use ISO Latin-1 or ISO Latin-2; the Emacs multibyte character set | ||
| 1996 | includes all the characters in these character sets, and Emacs can | ||
| 1997 | translate automatically to and from either one. | ||
| 1998 | |||
| 1999 | *** Visiting a file in unibyte mode. | ||
| 2000 | |||
| 2001 | Turning off multibyte character support in the buffer after visiting a | ||
| 2002 | file with multibyte code conversion will display the multibyte | ||
| 2003 | sequences already in the buffer, byte by byte. This is probably not | ||
| 2004 | what you want. | ||
| 2005 | |||
| 2006 | If you want to edit a file of unibyte characters (Latin-1, for | ||
| 2007 | example), you can do it by specifying `no-conversion' as the coding | ||
| 2008 | system when reading the file. This coding system also turns off | ||
| 2009 | multibyte characters in that buffer. | ||
| 2010 | |||
| 2011 | If you turn off multibyte character support entirely, this turns off | ||
| 2012 | character conversion as well. | ||
| 2013 | |||
| 2014 | *** Displaying international characters on X Windows. | ||
| 2015 | |||
| 2016 | A font for X typically displays just one alphabet or script. | ||
| 2017 | Therefore, displaying the entire range of characters Emacs supports | ||
| 2018 | requires using many fonts. | ||
| 2019 | |||
| 2020 | Therefore, Emacs now supports "fontsets". Each fontset is a | ||
| 2021 | collection of fonts, each assigned to a range of character codes. | ||
| 2022 | |||
| 2023 | A fontset has a name, like a font. Individual fonts are defined by | ||
| 2024 | the X server; fontsets are defined within Emacs itself. But once you | ||
| 2025 | have defined a fontset, you can use it in a face or a frame just as | ||
| 2026 | you would use a font. | ||
| 2027 | |||
| 2028 | If a fontset specifies no font for a certain character, or if it | ||
| 2029 | specifies a font that does not exist on your system, then it cannot | ||
| 2030 | display that character. It will display an empty box instead. | ||
| 2031 | |||
| 2032 | The fontset height and width are determined by the ASCII characters | ||
| 2033 | (that is, by the font in the fontset which is used for ASCII | ||
| 2034 | characters). | ||
| 2035 | |||
| 2036 | *** Defining fontsets. | ||
| 2037 | |||
| 2038 | Emacs does not use any fontset by default. Its default font is still | ||
| 2039 | chosen as in previous versions. You can tell Emacs to use a fontset | ||
| 2040 | with the `-fn' option or the `Font' X resource. | ||
| 2041 | |||
| 2042 | Emacs creates a standard fontset automatically according to the value | ||
| 2043 | of standard-fontset-spec. This fontset's short name is | ||
| 2044 | `fontset-standard'. Bold, italic, and bold-italic variants of the | ||
| 2045 | standard fontset are created automatically. | ||
| 2046 | |||
| 2047 | If you specify a default ASCII font with the `Font' resource or `-fn' | ||
| 2048 | argument, a fontset is generated from it. This works by replacing the | ||
| 2049 | FOUNDARY, FAMILY, ADD_STYLE, and AVERAGE_WIDTH fields of the font name | ||
| 2050 | with `*' then using this to specify a fontset. This fontset's short | ||
| 2051 | name is `fontset-startup'. | ||
| 2052 | |||
| 2053 | Emacs checks resources of the form Fontset-N where N is 0, 1, 2... | ||
| 2054 | The resource value should have this form: | ||
| 2055 | FONTSET-NAME, [CHARSET-NAME:FONT-NAME]... | ||
| 2056 | FONTSET-NAME should have the form of a standard X font name, except: | ||
| 2057 | * most fields should be just the wild card "*". | ||
| 2058 | * the CHARSET_REGISTRY field should be "fontset" | ||
| 2059 | * the CHARSET_ENCODING field can be any nickname of the fontset. | ||
| 2060 | The construct CHARSET-NAME:FONT-NAME can be repeated any number | ||
| 2061 | of times; each time specifies the font for one character set. | ||
| 2062 | CHARSET-NAME should be the name of a character set, and FONT-NAME | ||
| 2063 | should specify an actual font to use for that character set. | ||
| 2064 | |||
| 2065 | Each of these fontsets has an alias which is made from the | ||
| 2066 | last two font name fields, CHARSET_REGISTRY and CHARSET_ENCODING. | ||
| 2067 | You can refer to the fontset by that alias or by its full name. | ||
| 2068 | |||
| 2069 | For any character sets that you don't mention, Emacs tries to choose a | ||
| 2070 | font by substituting into FONTSET-NAME. For instance, with the | ||
| 2071 | following resource, | ||
| 2072 | Emacs*Fontset-0: -*-fixed-medium-r-normal-*-24-*-*-*-*-*-fontset-24 | ||
| 2073 | the font for ASCII is generated as below: | ||
| 2074 | -*-fixed-medium-r-normal-*-24-*-ISO8859-1 | ||
| 2075 | Here is the substitution rule: | ||
| 2076 | Change CHARSET_REGISTRY and CHARSET_ENCODING to that of the charset | ||
| 2077 | defined in the variable x-charset-registries. For instance, ASCII has | ||
| 2078 | the entry (ascii . "ISO8859-1") in this variable. Then, reduce | ||
| 2079 | sequences of wild cards -*-...-*- with a single wildcard -*-. | ||
| 2080 | (This is to prevent use of auto-scaled fonts.) | ||
| 2081 | |||
| 2082 | The function which processes the fontset resource value to create the | ||
| 2083 | fontset is called create-fontset-from-fontset-spec. You can also call | ||
| 2084 | that function explicitly to create a fontset. | ||
| 2085 | |||
| 2086 | With the X resource Emacs.Font, you can specify a fontset name just | ||
| 2087 | like an actual font name. But be careful not to specify a fontset | ||
| 2088 | name in a wildcard resource like Emacs*Font--that tries to specify the | ||
| 2089 | fontset for other purposes including menus, and they cannot handle | ||
| 2090 | fontsets. | ||
| 2091 | |||
| 2092 | *** The command M-x set-language-environment sets certain global Emacs | ||
| 2093 | defaults for a particular choice of language. | ||
| 2094 | |||
| 2095 | Selecting a language environment typically specifies a default input | ||
| 2096 | method and which coding systems to recognize automatically when | ||
| 2097 | visiting files. However, it does not try to reread files you have | ||
| 2098 | already visited; the text in those buffers is not affected. The | ||
| 2099 | language environment may also specify a default choice of coding | ||
| 2100 | system for new files that you create. | ||
| 2101 | |||
| 2102 | It makes no difference which buffer is current when you use | ||
| 2103 | set-language-environment, because these defaults apply globally to the | ||
| 2104 | whole Emacs session. | ||
| 2105 | |||
| 2106 | For example, M-x set-language-environment RET Latin-1 RET | ||
| 2107 | chooses the Latin-1 character set. In the .emacs file, you can do this | ||
| 2108 | with (set-language-environment "Latin-1"). | ||
| 2109 | |||
| 2110 | *** The command C-x RET f (set-buffer-file-coding-system) | ||
| 2111 | specifies the file coding system for the current buffer. This | ||
| 2112 | specifies what sort of character code translation to do when saving | ||
| 2113 | the file. As an argument, you must specify the name of one of the | ||
| 2114 | coding systems that Emacs supports. | ||
| 2115 | |||
| 2116 | *** The command C-x RET c (universal-coding-system-argument) | ||
| 2117 | lets you specify a coding system when you read or write a file. | ||
| 2118 | This command uses the minibuffer to read a coding system name. | ||
| 2119 | After you exit the minibuffer, the specified coding system | ||
| 2120 | is used for *the immediately following command*. | ||
| 2121 | |||
| 2122 | So if the immediately following command is a command to read or | ||
| 2123 | write a file, it uses the specified coding system for that file. | ||
| 2124 | |||
| 2125 | If the immediately following command does not use the coding system, | ||
| 2126 | then C-x RET c ultimately has no effect. | ||
| 2127 | |||
| 2128 | For example, C-x RET c iso-8859-1 RET C-x C-f temp RET | ||
| 2129 | visits the file `temp' treating it as ISO Latin-1. | ||
| 2130 | |||
| 2131 | *** You can specify the coding system for a file using the -*- | ||
| 2132 | construct. Include `coding: CODINGSYSTEM;' inside the -*-...-*- | ||
| 2133 | to specify use of coding system CODINGSYSTEM. You can also | ||
| 2134 | specify the coding system in a local variable list at the end | ||
| 2135 | of the file. | ||
| 2136 | |||
| 2137 | *** The command C-x RET t (set-terminal-coding-system) specifies | ||
| 2138 | the coding system for terminal output. If you specify a character | ||
| 2139 | code for terminal output, all characters output to the terminal are | ||
| 2140 | translated into that character code. | ||
| 2141 | |||
| 2142 | This feature is useful for certain character-only terminals built in | ||
| 2143 | various countries to support the languages of those countries. | ||
| 2144 | |||
| 2145 | By default, output to the terminal is not translated at all. | ||
| 2146 | |||
| 2147 | *** The command C-x RET k (set-keyboard-coding-system) specifies | ||
| 2148 | the coding system for keyboard input. | ||
| 2149 | |||
| 2150 | Character code translation of keyboard input is useful for terminals | ||
| 2151 | with keys that send non-ASCII graphic characters--for example, | ||
| 2152 | some terminals designed for ISO Latin-1 or subsets of it. | ||
| 2153 | |||
| 2154 | By default, keyboard input is not translated at all. | ||
| 2155 | |||
| 2156 | Character code translation of keyboard input is similar to using an | ||
| 2157 | input method, in that both define sequences of keyboard input that | ||
| 2158 | translate into single characters. However, input methods are designed | ||
| 2159 | to be convenient for interactive use, while the code translations are | ||
| 2160 | designed to work with terminals. | ||
| 2161 | |||
| 2162 | *** The command C-x RET p (set-buffer-process-coding-system) | ||
| 2163 | specifies the coding system for input and output to a subprocess. | ||
| 2164 | This command applies to the current buffer; normally, each subprocess | ||
| 2165 | has its own buffer, and thus you can use this command to specify | ||
| 2166 | translation to and from a particular subprocess by giving the command | ||
| 2167 | in the corresponding buffer. | ||
| 2168 | |||
| 2169 | By default, process input and output are not translated at all. | ||
| 2170 | |||
| 2171 | *** The variable file-name-coding-system specifies the coding system | ||
| 2172 | to use for encoding file names before operating on them. | ||
| 2173 | It is also used for decoding file names obtained from the system. | ||
| 2174 | |||
| 2175 | *** The command C-\ (toggle-input-method) activates or deactivates | ||
| 2176 | an input method. If no input method has been selected before, the | ||
| 2177 | command prompts for you to specify the language and input method you | ||
| 2178 | want to use. | ||
| 2179 | |||
| 2180 | C-u C-\ (select-input-method) lets you switch to a different input | ||
| 2181 | method. C-h C-\ (or C-h I) describes the current input method. | ||
| 2182 | |||
| 2183 | *** Some input methods remap the keyboard to emulate various keyboard | ||
| 2184 | layouts commonly used for particular scripts. How to do this | ||
| 2185 | remapping properly depends on your actual keyboard layout. To specify | ||
| 2186 | which layout your keyboard has, use M-x quail-set-keyboard-layout. | ||
| 2187 | |||
| 2188 | *** The command C-h C (describe-coding-system) displays | ||
| 2189 | the coding systems currently selected for various purposes, plus | ||
| 2190 | related information. | ||
| 2191 | |||
| 2192 | *** The command C-h h (view-hello-file) displays a file called | ||
| 2193 | HELLO, which has examples of text in many languages, using various | ||
| 2194 | scripts. | ||
| 2195 | |||
| 2196 | *** The command C-h L (describe-language-support) displays | ||
| 2197 | information about the support for a particular language. | ||
| 2198 | You specify the language as an argument. | ||
| 2199 | |||
| 2200 | *** The mode line now contains a letter or character that identifies | ||
| 2201 | the coding system used in the visited file. It normally follows the | ||
| 2202 | first dash. | ||
| 2203 | |||
| 2204 | A dash indicates the default state of affairs: no code conversion | ||
| 2205 | (except CRLF => newline if appropriate). `=' means no conversion | ||
| 2206 | whatsoever. The ISO 8859 coding systems are represented by digits | ||
| 2207 | 1 through 9. Other coding systems are represented by letters: | ||
| 2208 | |||
| 2209 | A alternativnyj (Russian) | ||
| 2210 | B big5 (Chinese) | ||
| 2211 | C cn-gb-2312 (Chinese) | ||
| 2212 | C iso-2022-cn (Chinese) | ||
| 2213 | D in-is13194-devanagari (Indian languages) | ||
| 2214 | E euc-japan (Japanese) | ||
| 2215 | I iso-2022-cjk or iso-2022-ss2 (Chinese, Japanese, Korean) | ||
| 2216 | J junet (iso-2022-7) or old-jis (iso-2022-jp-1978-irv) (Japanese) | ||
| 2217 | K euc-korea (Korean) | ||
| 2218 | R koi8 (Russian) | ||
| 2219 | Q tibetan | ||
| 2220 | S shift_jis (Japanese) | ||
| 2221 | T lao | ||
| 2222 | T tis620 (Thai) | ||
| 2223 | V viscii or vscii (Vietnamese) | ||
| 2224 | i iso-2022-lock (Chinese, Japanese, Korean) | ||
| 2225 | k iso-2022-kr (Korean) | ||
| 2226 | v viqr (Vietnamese) | ||
| 2227 | z hz (Chinese) | ||
| 2228 | |||
| 2229 | When you are using a character-only terminal (not a window system), | ||
| 2230 | two additional characters appear in between the dash and the file | ||
| 2231 | coding system. These two characters describe the coding system for | ||
| 2232 | keyboard input, and the coding system for terminal output. | ||
| 2233 | |||
| 2234 | *** The new variable rmail-file-coding-system specifies the code | ||
| 2235 | conversion to use for RMAIL files. The default value is nil. | ||
| 2236 | |||
| 2237 | When you read mail with Rmail, each message is decoded automatically | ||
| 2238 | into Emacs' internal format. This has nothing to do with | ||
| 2239 | rmail-file-coding-system. That variable controls reading and writing | ||
| 2240 | Rmail files themselves. | ||
| 2241 | |||
| 2242 | *** The new variable sendmail-coding-system specifies the code | ||
| 2243 | conversion for outgoing mail. The default value is nil. | ||
| 2244 | |||
| 2245 | Actually, there are three different ways of specifying the coding system | ||
| 2246 | for sending mail: | ||
| 2247 | |||
| 2248 | - If you use C-x RET f in the mail buffer, that takes priority. | ||
| 2249 | - Otherwise, if you set sendmail-coding-system non-nil, that specifies it. | ||
| 2250 | - Otherwise, the default coding system for new files is used, | ||
| 2251 | if that is non-nil. That comes from your language environment. | ||
| 2252 | - Otherwise, Latin-1 is used. | ||
| 2253 | |||
| 2254 | *** The command C-h t (help-with-tutorial) accepts a prefix argument | ||
| 2255 | to specify the language for the tutorial file. Currently, English, | ||
| 2256 | Japanese, Korean and Thai are supported. We welcome additional | ||
| 2257 | translations. | ||
| 2258 | |||
| 2259 | ** An easy new way to visit a file with no code or format conversion | ||
| 2260 | of any kind: Use M-x find-file-literally. There is also a command | ||
| 2261 | insert-file-literally which inserts a file into the current buffer | ||
| 2262 | without any conversion. | ||
| 2263 | |||
| 2264 | ** C-q's handling of octal character codes is changed. | ||
| 2265 | You can now specify any number of octal digits. | ||
| 2266 | RET terminates the digits and is discarded; | ||
| 2267 | any other non-digit terminates the digits and is then used as input. | ||
| 2268 | |||
| 2269 | ** There are new commands for looking up Info documentation for | ||
| 2270 | functions, variables and file names used in your programs. | ||
| 2271 | |||
| 2272 | Type M-x info-lookup-symbol to look up a symbol in the buffer at point. | ||
| 2273 | Type M-x info-lookup-file to look up a file in the buffer at point. | ||
| 2274 | |||
| 2275 | Precisely which Info files are used to look it up depends on the major | ||
| 2276 | mode. For example, in C mode, the GNU libc manual is used. | ||
| 2277 | |||
| 2278 | ** M-TAB in most programming language modes now runs the command | ||
| 2279 | complete-symbol. This command performs completion on the symbol name | ||
| 2280 | in the buffer before point. | ||
| 2281 | |||
| 2282 | With a numeric argument, it performs completion based on the set of | ||
| 2283 | symbols documented in the Info files for the programming language that | ||
| 2284 | you are using. | ||
| 2285 | |||
| 2286 | With no argument, it does completion based on the current tags tables, | ||
| 2287 | just like the old binding of M-TAB (complete-tag). | ||
| 2288 | |||
| 2289 | ** File locking works with NFS now. | ||
| 2290 | |||
| 2291 | The lock file for FILENAME is now a symbolic link named .#FILENAME, | ||
| 2292 | in the same directory as FILENAME. | ||
| 2293 | |||
| 2294 | This means that collision detection between two different machines now | ||
| 2295 | works reasonably well; it also means that no file server or directory | ||
| 2296 | can become a bottleneck. | ||
| 2297 | |||
| 2298 | The new method does have drawbacks. It means that collision detection | ||
| 2299 | does not operate when you edit a file in a directory where you cannot | ||
| 2300 | create new files. Collision detection also doesn't operate when the | ||
| 2301 | file server does not support symbolic links. But these conditions are | ||
| 2302 | rare, and the ability to have collision detection while using NFS is | ||
| 2303 | so useful that the change is worth while. | ||
| 2304 | |||
| 2305 | When Emacs or a system crashes, this may leave behind lock files which | ||
| 2306 | are stale. So you may occasionally get warnings about spurious | ||
| 2307 | collisions. When you determine that the collision is spurious, just | ||
| 2308 | tell Emacs to go ahead anyway. | ||
| 2309 | |||
| 2310 | ** If you wish to use Show Paren mode to display matching parentheses, | ||
| 2311 | it is no longer sufficient to load paren.el. Instead you must call | ||
| 2312 | show-paren-mode. | ||
| 2313 | |||
| 2314 | ** If you wish to use Delete Selection mode to replace a highlighted | ||
| 2315 | selection when you insert new text, it is no longer sufficient to load | ||
| 2316 | delsel.el. Instead you must call the function delete-selection-mode. | ||
| 2317 | |||
| 2318 | ** If you wish to use Partial Completion mode to complete partial words | ||
| 2319 | within symbols or filenames, it is no longer sufficient to load | ||
| 2320 | complete.el. Instead you must call the function partial-completion-mode. | ||
| 2321 | |||
| 2322 | ** If you wish to use uniquify to rename buffers for you, | ||
| 2323 | it is no longer sufficient to load uniquify.el. You must also | ||
| 2324 | set uniquify-buffer-name-style to one of the non-nil legitimate values. | ||
| 2325 | |||
| 2326 | ** Changes in View mode. | ||
| 2327 | |||
| 2328 | *** Several new commands are available in View mode. | ||
| 2329 | Do H in view mode for a list of commands. | ||
| 2330 | |||
| 2331 | *** There are two new commands for entering View mode: | ||
| 2332 | view-file-other-frame and view-buffer-other-frame. | ||
| 2333 | |||
| 2334 | *** Exiting View mode does a better job of restoring windows to their | ||
| 2335 | previous state. | ||
| 2336 | |||
| 2337 | *** New customization variable view-scroll-auto-exit. If non-nil, | ||
| 2338 | scrolling past end of buffer makes view mode exit. | ||
| 2339 | |||
| 2340 | *** New customization variable view-exits-all-viewing-windows. If | ||
| 2341 | non-nil, view-mode will at exit restore all windows viewing buffer, | ||
| 2342 | not just the selected window. | ||
| 2343 | |||
| 2344 | *** New customization variable view-read-only. If non-nil, visiting a | ||
| 2345 | read-only file automatically enters View mode, and toggle-read-only | ||
| 2346 | turns View mode on or off. | ||
| 2347 | |||
| 2348 | *** New customization variable view-remove-frame-by-deleting controls | ||
| 2349 | how to remove a not needed frame at view mode exit. If non-nil, | ||
| 2350 | delete the frame, if nil make an icon of it. | ||
| 2351 | |||
| 2352 | ** C-x v l, the command to print a file's version control log, | ||
| 2353 | now positions point at the entry for the file's current branch version. | ||
| 2354 | |||
| 2355 | ** C-x v =, the command to compare a file with the last checked-in version, | ||
| 2356 | has a new feature. If the file is currently not locked, so that it is | ||
| 2357 | presumably identical to the last checked-in version, the command now asks | ||
| 2358 | which version to compare with. | ||
| 2359 | |||
| 2360 | ** When using hideshow.el, incremental search can temporarily show hidden | ||
| 2361 | blocks if a match is inside the block. | ||
| 2362 | |||
| 2363 | The block is hidden again if the search is continued and the next match | ||
| 2364 | is outside the block. By customizing the variable | ||
| 2365 | isearch-hide-immediately you can choose to hide all the temporarily | ||
| 2366 | shown blocks only when exiting from incremental search. | ||
| 2367 | |||
| 2368 | By customizing the variable hs-isearch-open you can choose what kind | ||
| 2369 | of blocks to temporarily show during isearch: comment blocks, code | ||
| 2370 | blocks, all of them or none. | ||
| 2371 | |||
| 2372 | ** The new command C-x 4 0 (kill-buffer-and-window) kills the | ||
| 2373 | current buffer and deletes the selected window. It asks for | ||
| 2374 | confirmation first. | ||
| 2375 | |||
| 2376 | ** C-x C-w, which saves the buffer into a specified file name, | ||
| 2377 | now changes the major mode according to that file name. | ||
| 2378 | However, the mode will not be changed if | ||
| 2379 | (1) a local variables list or the `-*-' line specifies a major mode, or | ||
| 2380 | (2) the current major mode is a "special" mode, | ||
| 2381 | not suitable for ordinary files, or | ||
| 2382 | (3) the new file name does not particularly specify any mode. | ||
| 2383 | |||
| 2384 | This applies to M-x set-visited-file-name as well. | ||
| 2385 | |||
| 2386 | However, if you set change-major-mode-with-file-name to nil, then | ||
| 2387 | these commands do not change the major mode. | ||
| 2388 | |||
| 2389 | ** M-x occur changes. | ||
| 2390 | |||
| 2391 | *** If the argument to M-x occur contains upper case letters, | ||
| 2392 | it performs a case-sensitive search. | ||
| 2393 | |||
| 2394 | *** In the *Occur* buffer made by M-x occur, | ||
| 2395 | if you type g or M-x revert-buffer, this repeats the search | ||
| 2396 | using the same regular expression and the same buffer as before. | ||
| 2397 | |||
| 2398 | ** In Transient Mark mode, the region in any one buffer is highlighted | ||
| 2399 | in just one window at a time. At first, it is highlighted in the | ||
| 2400 | window where you set the mark. The buffer's highlighting remains in | ||
| 2401 | that window unless you select to another window which shows the same | ||
| 2402 | buffer--then the highlighting moves to that window. | ||
| 2403 | |||
| 2404 | ** The feature to suggest key bindings when you use M-x now operates | ||
| 2405 | after the command finishes. The message suggesting key bindings | ||
| 2406 | appears temporarily in the echo area. The previous echo area contents | ||
| 2407 | come back after a few seconds, in case they contain useful information. | ||
| 2408 | |||
| 2409 | ** Each frame now independently records the order for recently | ||
| 2410 | selected buffers, so that the default for C-x b is now based on the | ||
| 2411 | buffers recently selected in the selected frame. | ||
| 2412 | |||
| 2413 | ** Outline mode changes. | ||
| 2414 | |||
| 2415 | *** Outline mode now uses overlays (this is the former noutline.el). | ||
| 2416 | |||
| 2417 | *** Incremental searches skip over invisible text in Outline mode. | ||
| 2418 | |||
| 2419 | ** When a minibuffer window is active but not the selected window, if | ||
| 2420 | you try to use the minibuffer, you used to get a nested minibuffer. | ||
| 2421 | Now, this not only gives an error, it also cancels the minibuffer that | ||
| 2422 | was already active. | ||
| 2423 | |||
| 2424 | The motive for this change is so that beginning users do not | ||
| 2425 | unknowingly move away from minibuffers, leaving them active, and then | ||
| 2426 | get confused by it. | ||
| 2427 | |||
| 2428 | If you want to be able to have recursive minibuffers, you must | ||
| 2429 | set enable-recursive-minibuffers to non-nil. | ||
| 2430 | |||
| 2431 | ** Changes in dynamic abbrevs. | ||
| 2432 | |||
| 2433 | *** Expanding dynamic abbrevs with M-/ is now smarter about case | ||
| 2434 | conversion. If the expansion has mixed case not counting the first | ||
| 2435 | character, and the abbreviation matches the beginning of the expansion | ||
| 2436 | including case, then the expansion is copied verbatim. | ||
| 2437 | |||
| 2438 | The expansion is also copied verbatim if the abbreviation itself has | ||
| 2439 | mixed case. And using SPC M-/ to copy an additional word always | ||
| 2440 | copies it verbatim except when the previous copied word is all caps. | ||
| 2441 | |||
| 2442 | *** The values of `dabbrev-case-replace' and `dabbrev-case-fold-search' | ||
| 2443 | are no longer Lisp expressions. They have simply three possible | ||
| 2444 | values. | ||
| 2445 | |||
| 2446 | `dabbrev-case-replace' has these three values: nil (don't preserve | ||
| 2447 | case), t (do), or `case-replace' (do like M-x query-replace). | ||
| 2448 | `dabbrev-case-fold-search' has these three values: nil (don't ignore | ||
| 2449 | case), t (do), or `case-fold-search' (do like search). | ||
| 2450 | |||
| 2451 | ** Minibuffer history lists are truncated automatically now to a | ||
| 2452 | certain length. The variable history-length specifies how long they | ||
| 2453 | can be. The default value is 30. | ||
| 2454 | |||
| 2455 | ** Changes in Mail mode. | ||
| 2456 | |||
| 2457 | *** The key C-x m no longer runs the `mail' command directly. | ||
| 2458 | Instead, it runs the command `compose-mail', which invokes the mail | ||
| 2459 | composition mechanism you have selected with the variable | ||
| 2460 | `mail-user-agent'. The default choice of user agent is | ||
| 2461 | `sendmail-user-agent', which gives behavior compatible with the old | ||
| 2462 | behavior. | ||
| 2463 | |||
| 2464 | C-x 4 m now runs compose-mail-other-window, and C-x 5 m runs | ||
| 2465 | compose-mail-other-frame. | ||
| 2466 | |||
| 2467 | *** While composing a reply to a mail message, from Rmail, you can use | ||
| 2468 | the command C-c C-r to cite just the region from the message you are | ||
| 2469 | replying to. This copies the text which is the selected region in the | ||
| 2470 | buffer that shows the original message. | ||
| 2471 | |||
| 2472 | *** The command C-c C-i inserts a file at the end of the message, | ||
| 2473 | with separator lines around the contents. | ||
| 2474 | |||
| 2475 | *** The command M-x expand-mail-aliases expands all mail aliases | ||
| 2476 | in suitable mail headers. Emacs automatically extracts mail alias | ||
| 2477 | definitions from your mail alias file (e.g., ~/.mailrc). You do not | ||
| 2478 | need to expand mail aliases yourself before sending mail. | ||
| 2479 | |||
| 2480 | *** New features in the mail-complete command. | ||
| 2481 | |||
| 2482 | **** The mail-complete command now inserts the user's full name, | ||
| 2483 | for local users or if that is known. The variable mail-complete-style | ||
| 2484 | controls the style to use, and whether to do this at all. | ||
| 2485 | Its values are like those of mail-from-style. | ||
| 2486 | |||
| 2487 | **** The variable mail-passwd-command lets you specify a shell command | ||
| 2488 | to run to fetch a set of password-entries that add to the ones in | ||
| 2489 | /etc/passwd. | ||
| 2490 | |||
| 2491 | **** The variable mail-passwd-file now specifies a list of files to read | ||
| 2492 | to get the list of user ids. By default, one file is used: | ||
| 2493 | /etc/passwd. | ||
| 2494 | |||
| 2495 | ** You can "quote" a file name to inhibit special significance of | ||
| 2496 | special syntax, by adding `/:' to the beginning. Thus, if you have a | ||
| 2497 | directory named `/foo:', you can prevent it from being treated as a | ||
| 2498 | reference to a remote host named `foo' by writing it as `/:/foo:'. | ||
| 2499 | |||
| 2500 | Emacs uses this new construct automatically when necessary, such as | ||
| 2501 | when you start it with a working directory whose name might otherwise | ||
| 2502 | be taken to be magic. | ||
| 2503 | |||
| 2504 | ** There is a new command M-x grep-find which uses find to select | ||
| 2505 | files to search through, and grep to scan them. The output is | ||
| 2506 | available in a Compile mode buffer, as with M-x grep. | ||
| 2507 | |||
| 2508 | M-x grep now uses the -e option if the grep program supports that. | ||
| 2509 | (-e prevents problems if the search pattern starts with a dash.) | ||
| 2510 | |||
| 2511 | ** In Dired, the & command now flags for deletion the files whose names | ||
| 2512 | suggest they are probably not needed in the long run. | ||
| 2513 | |||
| 2514 | In Dired, * is now a prefix key for mark-related commands. | ||
| 2515 | |||
| 2516 | new key dired.el binding old key | ||
| 2517 | ------- ---------------- ------- | ||
| 2518 | * c dired-change-marks c | ||
| 2519 | * m dired-mark m | ||
| 2520 | * * dired-mark-executables * (binding deleted) | ||
| 2521 | * / dired-mark-directories / (binding deleted) | ||
| 2522 | * @ dired-mark-symlinks @ (binding deleted) | ||
| 2523 | * u dired-unmark u | ||
| 2524 | * DEL dired-unmark-backward DEL | ||
| 2525 | * ? dired-unmark-all-files C-M-? | ||
| 2526 | * ! dired-unmark-all-marks | ||
| 2527 | * % dired-mark-files-regexp % m | ||
| 2528 | * C-n dired-next-marked-file M-} | ||
| 2529 | * C-p dired-prev-marked-file M-{ | ||
| 2530 | |||
| 2531 | ** Rmail changes. | ||
| 2532 | |||
| 2533 | *** When Rmail cannot convert your incoming mail into Babyl format, it | ||
| 2534 | saves the new mail in the file RMAILOSE.n, where n is an integer | ||
| 2535 | chosen to make a unique name. This way, Rmail will not keep crashing | ||
| 2536 | each time you run it. | ||
| 2537 | |||
| 2538 | *** In Rmail, the variable rmail-summary-line-count-flag now controls | ||
| 2539 | whether to include the line count in the summary. Non-nil means yes. | ||
| 2540 | |||
| 2541 | *** In Rmail summary buffers, d and C-d (the commands to delete | ||
| 2542 | messages) now take repeat counts as arguments. A negative argument | ||
| 2543 | means to move in the opposite direction. | ||
| 2544 | |||
| 2545 | *** In Rmail, the t command now takes an optional argument which lets | ||
| 2546 | you specify whether to show the message headers in full or pruned. | ||
| 2547 | |||
| 2548 | *** In Rmail, the new command w (rmail-output-body-to-file) writes | ||
| 2549 | just the body of the current message into a file, without the headers. | ||
| 2550 | It takes the file name from the message subject, by default, but you | ||
| 2551 | can edit that file name in the minibuffer before it is actually used | ||
| 2552 | for output. | ||
| 2553 | |||
| 2554 | ** Gnus changes. | ||
| 2555 | |||
| 2556 | *** nntp.el has been totally rewritten in an asynchronous fashion. | ||
| 2557 | |||
| 2558 | *** Article prefetching functionality has been moved up into | ||
| 2559 | Gnus. | ||
| 2560 | |||
| 2561 | *** Scoring can now be performed with logical operators like | ||
| 2562 | `and', `or', `not', and parent redirection. | ||
| 2563 | |||
| 2564 | *** Article washing status can be displayed in the | ||
| 2565 | article mode line. | ||
| 2566 | |||
| 2567 | *** gnus.el has been split into many smaller files. | ||
| 2568 | |||
| 2569 | *** Suppression of duplicate articles based on Message-ID. | ||
| 2570 | |||
| 2571 | (setq gnus-suppress-duplicates t) | ||
| 2572 | |||
| 2573 | *** New variables for specifying what score and adapt files | ||
| 2574 | are to be considered home score and adapt files. See | ||
| 2575 | `gnus-home-score-file' and `gnus-home-adapt-files'. | ||
| 2576 | |||
| 2577 | *** Groups can inherit group parameters from parent topics. | ||
| 2578 | |||
| 2579 | *** Article editing has been revamped and is now usable. | ||
| 2580 | |||
| 2581 | *** Signatures can be recognized in more intelligent fashions. | ||
| 2582 | See `gnus-signature-separator' and `gnus-signature-limit'. | ||
| 2583 | |||
| 2584 | *** Summary pick mode has been made to look more nn-like. | ||
| 2585 | Line numbers are displayed and the `.' command can be | ||
| 2586 | used to pick articles. | ||
| 2587 | |||
| 2588 | *** Commands for moving the .newsrc.eld from one server to | ||
| 2589 | another have been added. | ||
| 2590 | |||
| 2591 | `M-x gnus-change-server' | ||
| 2592 | |||
| 2593 | *** A way to specify that "uninteresting" fields be suppressed when | ||
| 2594 | generating lines in buffers. | ||
| 2595 | |||
| 2596 | *** Several commands in the group buffer can be undone with | ||
| 2597 | `C-M-_'. | ||
| 2598 | |||
| 2599 | *** Scoring can be done on words using the new score type `w'. | ||
| 2600 | |||
| 2601 | *** Adaptive scoring can be done on a Subject word-by-word basis: | ||
| 2602 | |||
| 2603 | (setq gnus-use-adaptive-scoring '(word)) | ||
| 2604 | |||
| 2605 | *** Scores can be decayed. | ||
| 2606 | |||
| 2607 | (setq gnus-decay-scores t) | ||
| 2608 | |||
| 2609 | *** Scoring can be performed using a regexp on the Date header. The | ||
| 2610 | Date is normalized to compact ISO 8601 format first. | ||
| 2611 | |||
| 2612 | *** A new command has been added to remove all data on articles from | ||
| 2613 | the native server. | ||
| 2614 | |||
| 2615 | `M-x gnus-group-clear-data-on-native-groups' | ||
| 2616 | |||
| 2617 | *** A new command for reading collections of documents | ||
| 2618 | (nndoc with nnvirtual on top) has been added -- `C-M-d'. | ||
| 2619 | |||
| 2620 | *** Process mark sets can be pushed and popped. | ||
| 2621 | |||
| 2622 | *** A new mail-to-news backend makes it possible to post | ||
| 2623 | even when the NNTP server doesn't allow posting. | ||
| 2624 | |||
| 2625 | *** A new backend for reading searches from Web search engines | ||
| 2626 | (DejaNews, Alta Vista, InReference) has been added. | ||
| 2627 | |||
| 2628 | Use the `G w' command in the group buffer to create such | ||
| 2629 | a group. | ||
| 2630 | |||
| 2631 | *** Groups inside topics can now be sorted using the standard | ||
| 2632 | sorting functions, and each topic can be sorted independently. | ||
| 2633 | |||
| 2634 | See the commands under the `T S' submap. | ||
| 2635 | |||
| 2636 | *** Subsets of the groups can be sorted independently. | ||
| 2637 | |||
| 2638 | See the commands under the `G P' submap. | ||
| 2639 | |||
| 2640 | *** Cached articles can be pulled into the groups. | ||
| 2641 | |||
| 2642 | Use the `Y c' command. | ||
| 2643 | |||
| 2644 | *** Score files are now applied in a more reliable order. | ||
| 2645 | |||
| 2646 | *** Reports on where mail messages end up can be generated. | ||
| 2647 | |||
| 2648 | `M-x nnmail-split-history' | ||
| 2649 | |||
| 2650 | *** More hooks and functions have been added to remove junk | ||
| 2651 | from incoming mail before saving the mail. | ||
| 2652 | |||
| 2653 | See `nnmail-prepare-incoming-header-hook'. | ||
| 2654 | |||
| 2655 | *** The nnml mail backend now understands compressed article files. | ||
| 2656 | |||
| 2657 | *** To enable Gnus to read/post multi-lingual articles, you must execute | ||
| 2658 | the following code, for instance, in your .emacs. | ||
| 2659 | |||
| 2660 | (add-hook 'gnus-startup-hook 'gnus-mule-initialize) | ||
| 2661 | |||
| 2662 | Then, when you start Gnus, it will decode non-ASCII text automatically | ||
| 2663 | and show appropriate characters. (Note: if you are using gnus-mime | ||
| 2664 | from the SEMI package, formerly known as TM, you should NOT add this | ||
| 2665 | hook to gnus-startup-hook; gnus-mime has its own method of handling | ||
| 2666 | this issue.) | ||
| 2667 | |||
| 2668 | Since it is impossible to distinguish all coding systems | ||
| 2669 | automatically, you may need to specify a choice of coding system for a | ||
| 2670 | particular news group. This can be done by: | ||
| 2671 | |||
| 2672 | (gnus-mule-add-group NEWSGROUP 'CODING-SYSTEM) | ||
| 2673 | |||
| 2674 | Here NEWSGROUP should be a string which names a newsgroup or a tree | ||
| 2675 | of newsgroups. If NEWSGROUP is "XXX.YYY", all news groups under | ||
| 2676 | "XXX.YYY" (including "XXX.YYY.ZZZ") will use the specified coding | ||
| 2677 | system. CODING-SYSTEM specifies which coding system to use (for both | ||
| 2678 | for reading and posting). | ||
| 2679 | |||
| 2680 | CODING-SYSTEM can also be a cons cell of the form | ||
| 2681 | (READ-CODING-SYSTEM . POST-CODING-SYSTEM) | ||
| 2682 | Then READ-CODING-SYSTEM is used when you read messages from the | ||
| 2683 | newsgroups, while POST-CODING-SYSTEM is used when you post messages | ||
| 2684 | there. | ||
| 2685 | |||
| 2686 | Emacs knows the right coding systems for certain newsgroups by | ||
| 2687 | default. Here are some of these default settings: | ||
| 2688 | |||
| 2689 | (gnus-mule-add-group "fj" 'iso-2022-7) | ||
| 2690 | (gnus-mule-add-group "alt.chinese.text" 'hz-gb-2312) | ||
| 2691 | (gnus-mule-add-group "alt.hk" 'hz-gb-2312) | ||
| 2692 | (gnus-mule-add-group "alt.chinese.text.big5" 'cn-big5) | ||
| 2693 | (gnus-mule-add-group "soc.culture.vietnamese" '(nil . viqr)) | ||
| 2694 | |||
| 2695 | When you reply by mail to an article, these settings are ignored; | ||
| 2696 | the mail is encoded according to sendmail-coding-system, as usual. | ||
| 2697 | |||
| 2698 | ** CC mode changes. | ||
| 2699 | |||
| 2700 | *** If you edit primarily one style of C (or C++, Objective-C, Java) | ||
| 2701 | code, you may want to make the CC Mode style variables have global | ||
| 2702 | values so that you can set them directly in your .emacs file. To do | ||
| 2703 | this, set c-style-variables-are-local-p to nil in your .emacs file. | ||
| 2704 | Note that this only takes effect if you do it *before* cc-mode.el is | ||
| 2705 | loaded. | ||
| 2706 | |||
| 2707 | If you typically edit more than one style of C (or C++, Objective-C, | ||
| 2708 | Java) code in a single Emacs session, you may want to make the CC Mode | ||
| 2709 | style variables have buffer local values. By default, all buffers | ||
| 2710 | share the same style variable settings; to make them buffer local, set | ||
| 2711 | c-style-variables-are-local-p to t in your .emacs file. Note that you | ||
| 2712 | must do this *before* CC Mode is loaded. | ||
| 2713 | |||
| 2714 | *** The new variable c-indentation-style holds the C style name | ||
| 2715 | of the current buffer. | ||
| 2716 | |||
| 2717 | *** The variable c-block-comments-indent-p has been deleted, because | ||
| 2718 | it is no longer necessary. C mode now handles all the supported styles | ||
| 2719 | of block comments, with no need to say which one you will use. | ||
| 2720 | |||
| 2721 | *** There is a new indentation style "python", which specifies the C | ||
| 2722 | style that the Python developers like. | ||
| 2723 | |||
| 2724 | *** There is a new c-cleanup-list option: brace-elseif-brace. | ||
| 2725 | This says to put ...} else if (...) {... on one line, | ||
| 2726 | just as brace-else-brace says to put ...} else {... on one line. | ||
| 2727 | |||
| 2728 | ** VC Changes [new] | ||
| 2729 | |||
| 2730 | *** In vc-retrieve-snapshot (C-x v r), if you don't specify a snapshot | ||
| 2731 | name, it retrieves the *latest* versions of all files in the current | ||
| 2732 | directory and its subdirectories (aside from files already locked). | ||
| 2733 | |||
| 2734 | This feature is useful if your RCS directory is a link to a common | ||
| 2735 | master directory, and you want to pick up changes made by other | ||
| 2736 | developers. | ||
| 2737 | |||
| 2738 | You can do the same thing for an individual file by typing C-u C-x C-q | ||
| 2739 | RET in a buffer visiting that file. | ||
| 2740 | |||
| 2741 | *** VC can now handle files under CVS that are being "watched" by | ||
| 2742 | other developers. Such files are made read-only by CVS. To get a | ||
| 2743 | writable copy, type C-x C-q in a buffer visiting such a file. VC then | ||
| 2744 | calls "cvs edit", which notifies the other developers of it. | ||
| 2745 | |||
| 2746 | *** vc-version-diff (C-u C-x v =) now suggests reasonable defaults for | ||
| 2747 | version numbers, based on the current state of the file. | ||
| 2748 | |||
| 2749 | ** Calendar changes. | ||
| 2750 | |||
| 2751 | *** A new function, list-holidays, allows you list holidays or | ||
| 2752 | subclasses of holidays for ranges of years. Related menu items allow | ||
| 2753 | you do this for the year of the selected date, or the | ||
| 2754 | following/previous years. | ||
| 2755 | |||
| 2756 | *** There is now support for the Baha'i calendar system. Use `pb' in | ||
| 2757 | the *Calendar* buffer to display the current Baha'i date. The Baha'i | ||
| 2758 | calendar, or "Badi calendar" is a system of 19 months with 19 days | ||
| 2759 | each, and 4 intercalary days (5 during a Gregorian leap year). The | ||
| 2760 | calendar begins May 23, 1844, with each of the months named after a | ||
| 2761 | supposed attribute of God. | ||
| 2762 | |||
| 2763 | ** ps-print changes | ||
| 2764 | |||
| 2765 | There are some new user variables and subgroups for customizing the page | ||
| 2766 | layout. | ||
| 2767 | |||
| 2768 | *** Headers & Footers (subgroup) | ||
| 2769 | |||
| 2770 | Some printer systems print a header page and force the first page to | ||
| 2771 | be printed on the back of the header page when using duplex. If your | ||
| 2772 | printer system has this behavior, set variable | ||
| 2773 | `ps-banner-page-when-duplexing' to t. | ||
| 2774 | |||
| 2775 | If variable `ps-banner-page-when-duplexing' is non-nil, it prints a | ||
| 2776 | blank page as the very first printed page. So, it behaves as if the | ||
| 2777 | very first character of buffer (or region) were a form feed ^L (\014). | ||
| 2778 | |||
| 2779 | The variable `ps-spool-config' specifies who is responsible for | ||
| 2780 | setting duplex mode and page size. Valid values are: | ||
| 2781 | |||
| 2782 | lpr-switches duplex and page size are configured by `ps-lpr-switches'. | ||
| 2783 | Don't forget to set `ps-lpr-switches' to select duplex | ||
| 2784 | printing for your printer. | ||
| 2785 | |||
| 2786 | setpagedevice duplex and page size are configured by ps-print using the | ||
| 2787 | setpagedevice PostScript operator. | ||
| 2788 | |||
| 2789 | nil duplex and page size are configured by ps-print *not* using | ||
| 2790 | the setpagedevice PostScript operator. | ||
| 2791 | |||
| 2792 | The variable `ps-spool-tumble' specifies how the page images on | ||
| 2793 | opposite sides of a sheet are oriented with respect to each other. If | ||
| 2794 | `ps-spool-tumble' is nil, ps-print produces output suitable for | ||
| 2795 | bindings on the left or right. If `ps-spool-tumble' is non-nil, | ||
| 2796 | ps-print produces output suitable for bindings at the top or bottom. | ||
| 2797 | This variable takes effect only if `ps-spool-duplex' is non-nil. | ||
| 2798 | The default value is nil. | ||
| 2799 | |||
| 2800 | The variable `ps-header-frame-alist' specifies a header frame | ||
| 2801 | properties alist. Valid frame properties are: | ||
| 2802 | |||
| 2803 | fore-color Specify the foreground frame color. | ||
| 2804 | Value should be a float number between 0.0 (black | ||
| 2805 | color) and 1.0 (white color), or a string which is a | ||
| 2806 | color name, or a list of 3 float numbers which | ||
| 2807 | correspond to the Red Green Blue color scale, each | ||
| 2808 | float number between 0.0 (dark color) and 1.0 (bright | ||
| 2809 | color). The default is 0 ("black"). | ||
| 2810 | |||
| 2811 | back-color Specify the background frame color (similar to fore-color). | ||
| 2812 | The default is 0.9 ("gray90"). | ||
| 2813 | |||
| 2814 | shadow-color Specify the shadow color (similar to fore-color). | ||
| 2815 | The default is 0 ("black"). | ||
| 2816 | |||
| 2817 | border-color Specify the border color (similar to fore-color). | ||
| 2818 | The default is 0 ("black"). | ||
| 2819 | |||
| 2820 | border-width Specify the border width. | ||
| 2821 | The default is 0.4. | ||
| 2822 | |||
| 2823 | Any other property is ignored. | ||
| 2824 | |||
| 2825 | Don't change this alist directly; instead use Custom, or the | ||
| 2826 | `ps-value', `ps-get', `ps-put' and `ps-del' functions (see there for | ||
| 2827 | documentation). | ||
| 2828 | |||
| 2829 | Ps-print can also print footers. The footer variables are: | ||
| 2830 | `ps-print-footer', `ps-footer-offset', `ps-print-footer-frame', | ||
| 2831 | `ps-footer-font-family', `ps-footer-font-size', `ps-footer-line-pad', | ||
| 2832 | `ps-footer-lines', `ps-left-footer', `ps-right-footer' and | ||
| 2833 | `ps-footer-frame-alist'. These variables are similar to those | ||
| 2834 | controlling headers. | ||
| 2835 | |||
| 2836 | *** Color management (subgroup) | ||
| 2837 | |||
| 2838 | If `ps-print-color-p' is non-nil, the buffer's text will be printed in | ||
| 2839 | color. | ||
| 2840 | |||
| 2841 | *** Face Management (subgroup) | ||
| 2842 | |||
| 2843 | If you need to print without worrying about face background colors, | ||
| 2844 | set the variable `ps-use-face-background' which specifies if face | ||
| 2845 | background should be used. Valid values are: | ||
| 2846 | |||
| 2847 | t always use face background color. | ||
| 2848 | nil never use face background color. | ||
| 2849 | (face...) list of faces whose background color will be used. | ||
| 2850 | |||
| 2851 | *** N-up printing (subgroup) | ||
| 2852 | |||
| 2853 | The variable `ps-n-up-printing' specifies the number of pages per | ||
| 2854 | sheet of paper. | ||
| 2855 | |||
| 2856 | The variable `ps-n-up-margin' specifies the margin in points (pt) | ||
| 2857 | between the sheet border and the n-up printing. | ||
| 2858 | |||
| 2859 | If variable `ps-n-up-border-p' is non-nil, a border is drawn around | ||
| 2860 | each page. | ||
| 2861 | |||
| 2862 | The variable `ps-n-up-filling' specifies how the page matrix is filled | ||
| 2863 | on each sheet of paper. Following are the valid values for | ||
| 2864 | `ps-n-up-filling' with a filling example using a 3x4 page matrix: | ||
| 2865 | |||
| 2866 | `left-top' 1 2 3 4 `left-bottom' 9 10 11 12 | ||
| 2867 | 5 6 7 8 5 6 7 8 | ||
| 2868 | 9 10 11 12 1 2 3 4 | ||
| 2869 | |||
| 2870 | `right-top' 4 3 2 1 `right-bottom' 12 11 10 9 | ||
| 2871 | 8 7 6 5 8 7 6 5 | ||
| 2872 | 12 11 10 9 4 3 2 1 | ||
| 2873 | |||
| 2874 | `top-left' 1 4 7 10 `bottom-left' 3 6 9 12 | ||
| 2875 | 2 5 8 11 2 5 8 11 | ||
| 2876 | 3 6 9 12 1 4 7 10 | ||
| 2877 | |||
| 2878 | `top-right' 10 7 4 1 `bottom-right' 12 9 6 3 | ||
| 2879 | 11 8 5 2 11 8 5 2 | ||
| 2880 | 12 9 6 3 10 7 4 1 | ||
| 2881 | |||
| 2882 | Any other value is treated as `left-top'. | ||
| 2883 | |||
| 2884 | *** Zebra stripes (subgroup) | ||
| 2885 | |||
| 2886 | The variable `ps-zebra-color' controls the zebra stripes grayscale or | ||
| 2887 | RGB color. | ||
| 2888 | |||
| 2889 | The variable `ps-zebra-stripe-follow' specifies how zebra stripes | ||
| 2890 | continue on next page. Visually, valid values are (the character `+' | ||
| 2891 | to the right of each column indicates that a line is printed): | ||
| 2892 | |||
| 2893 | `nil' `follow' `full' `full-follow' | ||
| 2894 | Current Page -------- ----------- --------- ---------------- | ||
| 2895 | 1 XXXXX + 1 XXXXXXXX + 1 XXXXXX + 1 XXXXXXXXXXXXX + | ||
| 2896 | 2 XXXXX + 2 XXXXXXXX + 2 XXXXXX + 2 XXXXXXXXXXXXX + | ||
| 2897 | 3 XXXXX + 3 XXXXXXXX + 3 XXXXXX + 3 XXXXXXXXXXXXX + | ||
| 2898 | 4 + 4 + 4 + 4 + | ||
| 2899 | 5 + 5 + 5 + 5 + | ||
| 2900 | 6 + 6 + 6 + 6 + | ||
| 2901 | 7 XXXXX + 7 XXXXXXXX + 7 XXXXXX + 7 XXXXXXXXXXXXX + | ||
| 2902 | 8 XXXXX + 8 XXXXXXXX + 8 XXXXXX + 8 XXXXXXXXXXXXX + | ||
| 2903 | 9 XXXXX + 9 XXXXXXXX + 9 XXXXXX + 9 XXXXXXXXXXXXX + | ||
| 2904 | 10 + 10 + | ||
| 2905 | 11 + 11 + | ||
| 2906 | -------- ----------- --------- ---------------- | ||
| 2907 | Next Page -------- ----------- --------- ---------------- | ||
| 2908 | 12 XXXXX + 12 + 10 XXXXXX + 10 + | ||
| 2909 | 13 XXXXX + 13 XXXXXXXX + 11 XXXXXX + 11 + | ||
| 2910 | 14 XXXXX + 14 XXXXXXXX + 12 XXXXXX + 12 + | ||
| 2911 | 15 + 15 XXXXXXXX + 13 + 13 XXXXXXXXXXXXX + | ||
| 2912 | 16 + 16 + 14 + 14 XXXXXXXXXXXXX + | ||
| 2913 | 17 + 17 + 15 + 15 XXXXXXXXXXXXX + | ||
| 2914 | 18 XXXXX + 18 + 16 XXXXXX + 16 + | ||
| 2915 | 19 XXXXX + 19 XXXXXXXX + 17 XXXXXX + 17 + | ||
| 2916 | 20 XXXXX + 20 XXXXXXXX + 18 XXXXXX + 18 + | ||
| 2917 | 21 + 21 XXXXXXXX + | ||
| 2918 | 22 + 22 + | ||
| 2919 | -------- ----------- --------- ---------------- | ||
| 2920 | |||
| 2921 | Any other value is treated as `nil'. | ||
| 2922 | |||
| 2923 | |||
| 2924 | *** Printer management (subgroup) | ||
| 2925 | |||
| 2926 | The variable `ps-printer-name-option' determines the option used by | ||
| 2927 | some utilities to indicate the printer name; it's used only when | ||
| 2928 | `ps-printer-name' is a non-empty string. If you're using the lpr | ||
| 2929 | utility to print, for example, `ps-printer-name-option' should be set | ||
| 2930 | to "-P". | ||
| 2931 | |||
| 2932 | The variable `ps-manual-feed' indicates if the printer requires manual | ||
| 2933 | paper feeding. If it's nil, automatic feeding takes place. If it's | ||
| 2934 | non-nil, manual feeding takes place. | ||
| 2935 | |||
| 2936 | The variable `ps-end-with-control-d' specifies whether C-d (\x04) | ||
| 2937 | should be inserted at end of the generated PostScript. Non-nil means | ||
| 2938 | do so. | ||
| 2939 | |||
| 2940 | *** Page settings (subgroup) | ||
| 2941 | |||
| 2942 | If variable `ps-warn-paper-type' is nil, it's *not* treated as an | ||
| 2943 | error if the PostScript printer doesn't have a paper with the size | ||
| 2944 | indicated by `ps-paper-type'; the default paper size will be used | ||
| 2945 | instead. If `ps-warn-paper-type' is non-nil, an error is signaled if | ||
| 2946 | the PostScript printer doesn't support a paper with the size indicated | ||
| 2947 | by `ps-paper-type'. This is used when `ps-spool-config' is set to | ||
| 2948 | `setpagedevice'. | ||
| 2949 | |||
| 2950 | The variable `ps-print-upside-down' determines the orientation for | ||
| 2951 | printing pages: nil means `normal' printing, non-nil means | ||
| 2952 | `upside-down' printing (that is, the page is rotated by 180 degrees). | ||
| 2953 | |||
| 2954 | The variable `ps-selected-pages' specifies which pages to print. If | ||
| 2955 | it's nil, all pages are printed. If it's a list, list elements may be | ||
| 2956 | integers specifying a single page to print, or cons cells (FROM . TO) | ||
| 2957 | specifying to print from page FROM to TO. Invalid list elements, that | ||
| 2958 | is integers smaller than one, or elements whose FROM is greater than | ||
| 2959 | its TO, are ignored. | ||
| 2960 | |||
| 2961 | The variable `ps-even-or-odd-pages' specifies how to print even/odd | ||
| 2962 | pages. Valid values are: | ||
| 2963 | |||
| 2964 | nil print all pages. | ||
| 2965 | |||
| 2966 | `even-page' print only even pages. | ||
| 2967 | |||
| 2968 | `odd-page' print only odd pages. | ||
| 2969 | |||
| 2970 | `even-sheet' print only even sheets. | ||
| 2971 | That is, if `ps-n-up-printing' is 1, it behaves like | ||
| 2972 | `even-page', but for values greater than 1, it'll | ||
| 2973 | print only the even sheet of paper. | ||
| 2974 | |||
| 2975 | `odd-sheet' print only odd sheets. | ||
| 2976 | That is, if `ps-n-up-printing' is 1, it behaves like | ||
| 2977 | `odd-page'; but for values greater than 1, it'll print | ||
| 2978 | only the odd sheet of paper. | ||
| 2979 | |||
| 2980 | Any other value is treated as nil. | ||
| 2981 | |||
| 2982 | If you set `ps-selected-pages' (see there for documentation), pages | ||
| 2983 | are filtered by `ps-selected-pages', and then by | ||
| 2984 | `ps-even-or-odd-pages'. For example, if we have: | ||
| 2985 | |||
| 2986 | (setq ps-selected-pages '(1 4 (6 . 10) (12 . 16) 20)) | ||
| 2987 | |||
| 2988 | and we combine this with `ps-even-or-odd-pages' and | ||
| 2989 | `ps-n-up-printing', we get: | ||
| 2990 | |||
| 2991 | `ps-n-up-printing' = 1: | ||
| 2992 | `ps-even-or-odd-pages' PAGES PRINTED | ||
| 2993 | nil 1, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 20 | ||
| 2994 | even-page 4, 6, 8, 10, 12, 14, 16, 20 | ||
| 2995 | odd-page 1, 7, 9, 13, 15 | ||
| 2996 | even-sheet 4, 6, 8, 10, 12, 14, 16, 20 | ||
| 2997 | odd-sheet 1, 7, 9, 13, 15 | ||
| 2998 | |||
| 2999 | `ps-n-up-printing' = 2: | ||
| 3000 | `ps-even-or-odd-pages' PAGES PRINTED | ||
| 3001 | nil 1/4, 6/7, 8/9, 10/12, 13/14, 15/16, 20 | ||
| 3002 | even-page 4/6, 8/10, 12/14, 16/20 | ||
| 3003 | odd-page 1/7, 9/13, 15 | ||
| 3004 | even-sheet 6/7, 10/12, 15/16 | ||
| 3005 | odd-sheet 1/4, 8/9, 13/14, 20 | ||
| 3006 | |||
| 3007 | *** Miscellany (subgroup) | ||
| 3008 | |||
| 3009 | The variable `ps-error-handler-message' specifies where error handler | ||
| 3010 | messages should be sent. | ||
| 3011 | |||
| 3012 | It is also possible to add a user-defined PostScript prologue code in | ||
| 3013 | front of all generated prologue code by setting the variable | ||
| 3014 | `ps-user-defined-prologue'. | ||
| 3015 | |||
| 3016 | The variable `ps-line-number-font' specifies the font for line numbers. | ||
| 3017 | |||
| 3018 | The variable `ps-line-number-font-size' specifies the font size in | ||
| 3019 | points for line numbers. | ||
| 3020 | |||
| 3021 | The variable `ps-line-number-color' specifies the color for line | ||
| 3022 | numbers. See `ps-zebra-color' for documentation. | ||
| 3023 | |||
| 3024 | The variable `ps-line-number-step' specifies the interval in which | ||
| 3025 | line numbers are printed. For example, if `ps-line-number-step' is set | ||
| 3026 | to 2, the printing will look like: | ||
| 3027 | |||
| 3028 | 1 one line | ||
| 3029 | one line | ||
| 3030 | 3 one line | ||
| 3031 | one line | ||
| 3032 | 5 one line | ||
| 3033 | one line | ||
| 3034 | ... | ||
| 3035 | |||
| 3036 | Valid values are: | ||
| 3037 | |||
| 3038 | integer an integer specifying the interval in which line numbers are | ||
| 3039 | printed. If it's smaller than or equal to zero, 1 | ||
| 3040 | is used. | ||
| 3041 | |||
| 3042 | `zebra' specifies that only the line number of the first line in a | ||
| 3043 | zebra stripe is to be printed. | ||
| 3044 | |||
| 3045 | Any other value is treated as `zebra'. | ||
| 3046 | |||
| 3047 | The variable `ps-line-number-start' specifies the starting point in | ||
| 3048 | the interval given by `ps-line-number-step'. For example, if | ||
| 3049 | `ps-line-number-step' is set to 3, and `ps-line-number-start' is set to | ||
| 3050 | 3, the output will look like: | ||
| 3051 | |||
| 3052 | one line | ||
| 3053 | one line | ||
| 3054 | 3 one line | ||
| 3055 | one line | ||
| 3056 | one line | ||
| 3057 | 6 one line | ||
| 3058 | one line | ||
| 3059 | one line | ||
| 3060 | 9 one line | ||
| 3061 | one line | ||
| 3062 | ... | ||
| 3063 | |||
| 3064 | The variable `ps-postscript-code-directory' specifies the directory | ||
| 3065 | where the PostScript prologue file used by ps-print is found. | ||
| 3066 | |||
| 3067 | The variable `ps-line-spacing' determines the line spacing in points, | ||
| 3068 | for ordinary text, when generating PostScript (similar to | ||
| 3069 | `ps-font-size'). | ||
| 3070 | |||
| 3071 | The variable `ps-paragraph-spacing' determines the paragraph spacing, | ||
| 3072 | in points, for ordinary text, when generating PostScript (similar to | ||
| 3073 | `ps-font-size'). | ||
| 3074 | |||
| 3075 | The variable `ps-paragraph-regexp' specifies the paragraph delimiter. | ||
| 3076 | |||
| 3077 | The variable `ps-begin-cut-regexp' and `ps-end-cut-regexp' specify the | ||
| 3078 | start and end of a region to cut out when printing. | ||
| 3079 | |||
| 3080 | ** hideshow changes. | ||
| 3081 | |||
| 3082 | *** now supports hiding of blocks of single line comments (like // for | ||
| 3083 | C++, ; for lisp). | ||
| 3084 | |||
| 3085 | *** Support for java-mode added. | ||
| 3086 | |||
| 3087 | *** When doing `hs-hide-all' it is now possible to also hide the comments | ||
| 3088 | in the file if `hs-hide-comments-when-hiding-all' is set. | ||
| 3089 | |||
| 3090 | *** The new function `hs-hide-initial-comment' hides the comments at | ||
| 3091 | the beginning of the files. Finally those huge RCS logs don't stay in your | ||
| 3092 | way! This is run by default when entering the `hs-minor-mode'. | ||
| 3093 | |||
| 3094 | *** Now uses overlays instead of `selective-display', so is more | ||
| 3095 | robust and a lot faster. | ||
| 3096 | |||
| 3097 | *** A block beginning can span multiple lines. | ||
| 3098 | |||
| 3099 | *** The new variable `hs-show-hidden-short-form' if t, directs hideshow | ||
| 3100 | to show only the beginning of a block when it is hidden. See the | ||
| 3101 | documentation for more details. | ||
| 3102 | |||
| 3103 | ** Changes in Enriched mode. | ||
| 3104 | |||
| 3105 | *** When you visit a file in enriched-mode, Emacs will make sure it is | ||
| 3106 | filled to the current fill-column. This behavior is now independent | ||
| 3107 | of the size of the window. When you save the file, the fill-column in | ||
| 3108 | use is stored as well, so that the whole buffer need not be refilled | ||
| 3109 | the next time unless the fill-column is different. | ||
| 3110 | |||
| 3111 | *** use-hard-newlines is now a minor mode. When it is enabled, Emacs | ||
| 3112 | distinguishes between hard and soft newlines, and treats hard newlines | ||
| 3113 | as paragraph boundaries. Otherwise all newlines inserted are marked | ||
| 3114 | as soft, and paragraph boundaries are determined solely from the text. | ||
| 3115 | |||
| 3116 | ** Font Lock mode | ||
| 3117 | |||
| 3118 | *** Custom support | ||
| 3119 | |||
| 3120 | The variables font-lock-face-attributes, font-lock-display-type and | ||
| 3121 | font-lock-background-mode are now obsolete; the recommended way to specify | ||
| 3122 | the faces to use for Font Lock mode is with M-x customize-group on the new | ||
| 3123 | custom group font-lock-faces. If you set font-lock-face-attributes in your | ||
| 3124 | ~/.emacs file, Font Lock mode will respect its value. However, you should | ||
| 3125 | consider converting from setting that variable to using M-x customize. | ||
| 3126 | |||
| 3127 | You can still use X resources to specify Font Lock face appearances. | ||
| 3128 | |||
| 3129 | *** Maximum decoration | ||
| 3130 | |||
| 3131 | Fontification now uses the maximum level of decoration supported by | ||
| 3132 | default. Previously, fontification used a mode-specific default level | ||
| 3133 | of decoration, which is typically the minimum level of decoration | ||
| 3134 | supported. You can set font-lock-maximum-decoration to nil | ||
| 3135 | to get the old behavior. | ||
| 3136 | |||
| 3137 | *** New support | ||
| 3138 | |||
| 3139 | Support is now provided for Java, Objective-C, AWK and SIMULA modes. | ||
| 3140 | |||
| 3141 | Note that Font Lock mode can be turned on without knowing exactly what modes | ||
| 3142 | support Font Lock mode, via the command global-font-lock-mode. | ||
| 3143 | |||
| 3144 | *** Configurable support | ||
| 3145 | |||
| 3146 | Support for C, C++, Objective-C and Java can be more easily configured for | ||
| 3147 | additional types and classes via the new variables c-font-lock-extra-types, | ||
| 3148 | c++-font-lock-extra-types, objc-font-lock-extra-types and, you guessed it, | ||
| 3149 | java-font-lock-extra-types. These value of each of these variables should be a | ||
| 3150 | list of regexps matching the extra type names. For example, the default value | ||
| 3151 | of c-font-lock-extra-types is ("\\sw+_t") which means fontification follows the | ||
| 3152 | convention that C type names end in _t. This results in slower fontification. | ||
| 3153 | |||
| 3154 | Of course, you can change the variables that specify fontification in whatever | ||
| 3155 | way you wish, typically by adding regexps. However, these new variables make | ||
| 3156 | it easier to make specific and common changes for the fontification of types. | ||
| 3157 | |||
| 3158 | *** Adding highlighting patterns to existing support | ||
| 3159 | |||
| 3160 | You can use the new function font-lock-add-keywords to add your own | ||
| 3161 | highlighting patterns, such as for project-local or user-specific constructs, | ||
| 3162 | for any mode. | ||
| 3163 | |||
| 3164 | For example, to highlight `FIXME:' words in C comments, put: | ||
| 3165 | |||
| 3166 | (font-lock-add-keywords 'c-mode '(("\\<FIXME:" 0 font-lock-warning-face t))) | ||
| 3167 | |||
| 3168 | in your ~/.emacs. | ||
| 3169 | |||
| 3170 | *** New faces | ||
| 3171 | |||
| 3172 | Font Lock now defines two new faces, font-lock-builtin-face and | ||
| 3173 | font-lock-warning-face. These are intended to highlight builtin keywords, | ||
| 3174 | distinct from a language's normal keywords, and objects that should be brought | ||
| 3175 | to user attention, respectively. Various modes now use these new faces. | ||
| 3176 | |||
| 3177 | *** Changes to fast-lock support mode | ||
| 3178 | |||
| 3179 | The fast-lock package, one of the two Font Lock support modes, can now process | ||
| 3180 | cache files silently. You can use the new variable fast-lock-verbose, in the | ||
| 3181 | same way as font-lock-verbose, to control this feature. | ||
| 3182 | |||
| 3183 | *** Changes to lazy-lock support mode | ||
| 3184 | |||
| 3185 | The lazy-lock package, one of the two Font Lock support modes, can now fontify | ||
| 3186 | according to the true syntactic context relative to other lines. You can use | ||
| 3187 | the new variable lazy-lock-defer-contextually to control this feature. If | ||
| 3188 | non-nil, changes to the buffer will cause subsequent lines in the buffer to be | ||
| 3189 | refontified after lazy-lock-defer-time seconds of idle time. If nil, then only | ||
| 3190 | the modified lines will be refontified; this is the same as the previous Lazy | ||
| 3191 | Lock mode behavior and the behavior of Font Lock mode. | ||
| 3192 | |||
| 3193 | This feature is useful in modes where strings or comments can span lines. | ||
| 3194 | For example, if a string or comment terminating character is deleted, then if | ||
| 3195 | this feature is enabled subsequent lines in the buffer will be correctly | ||
| 3196 | refontified to reflect their new syntactic context. Previously, only the line | ||
| 3197 | containing the deleted character would be refontified and you would have to use | ||
| 3198 | the command M-o M-o (font-lock-fontify-block) to refontify some lines. | ||
| 3199 | |||
| 3200 | As a consequence of this new feature, two other variables have changed: | ||
| 3201 | |||
| 3202 | Variable `lazy-lock-defer-driven' is renamed `lazy-lock-defer-on-scrolling'. | ||
| 3203 | Variable `lazy-lock-defer-time' can now only be a time, i.e., a number. | ||
| 3204 | Buffer modes for which on-the-fly deferral applies can be specified via the | ||
| 3205 | new variable `lazy-lock-defer-on-the-fly'. | ||
| 3206 | |||
| 3207 | If you set these variables in your ~/.emacs, then you may have to change those | ||
| 3208 | settings. | ||
| 3209 | |||
| 3210 | ** Ada mode changes. | ||
| 3211 | |||
| 3212 | *** There is now better support for using find-file.el with Ada mode. | ||
| 3213 | If you switch between spec and body, the cursor stays in the same | ||
| 3214 | procedure (modulo overloading). If a spec has no body file yet, but | ||
| 3215 | you try to switch to its body file, Ada mode now generates procedure | ||
| 3216 | stubs. | ||
| 3217 | |||
| 3218 | *** There are two new commands: | ||
| 3219 | - `ada-make-local' : invokes gnatmake on the current buffer | ||
| 3220 | - `ada-check-syntax' : check syntax of current buffer. | ||
| 3221 | |||
| 3222 | The user options `ada-compiler-make', `ada-make-options', | ||
| 3223 | `ada-language-version', `ada-compiler-syntax-check', and | ||
| 3224 | `ada-compile-options' are used within these commands. | ||
| 3225 | |||
| 3226 | *** Ada mode can now work with Outline minor mode. The outline level | ||
| 3227 | is calculated from the indenting, not from syntactic constructs. | ||
| 3228 | Outlining does not work if your code is not correctly indented. | ||
| 3229 | |||
| 3230 | *** The new function `ada-gnat-style' converts the buffer to the style of | ||
| 3231 | formatting used in GNAT. It places two blanks after a comment start, | ||
| 3232 | places one blank between a word end and an opening '(', and puts one | ||
| 3233 | space between a comma and the beginning of a word. | ||
| 3234 | |||
| 3235 | ** Scheme mode changes. | ||
| 3236 | |||
| 3237 | *** Scheme mode indentation now uses many of the facilities of Lisp | ||
| 3238 | mode; therefore, the variables to customize it are the variables used | ||
| 3239 | for Lisp mode which have names starting with `lisp-'. The variables | ||
| 3240 | with names starting with `scheme-' which used to do this no longer | ||
| 3241 | have any effect. | ||
| 3242 | |||
| 3243 | If you want to use different indentation for Scheme and Lisp, this is | ||
| 3244 | still possible, but now you must do it by adding a hook to | ||
| 3245 | scheme-mode-hook, which could work by setting the `lisp-' indentation | ||
| 3246 | variables as buffer-local variables. | ||
| 3247 | |||
| 3248 | *** DSSSL mode is a variant of Scheme mode, for editing DSSSL scripts. | ||
| 3249 | Use M-x dsssl-mode. | ||
| 3250 | |||
| 3251 | ** Changes to the emacsclient program | ||
| 3252 | |||
| 3253 | *** If a socket can't be found, and environment variables LOGNAME or | ||
| 3254 | USER are set, emacsclient now looks for a socket based on the UID | ||
| 3255 | associated with the name. That is an emacsclient running as root | ||
| 3256 | can connect to an Emacs server started by a non-root user. | ||
| 3257 | |||
| 3258 | *** The emacsclient program now accepts an option --no-wait which tells | ||
| 3259 | it to return immediately without waiting for you to "finish" the | ||
| 3260 | buffer in Emacs. | ||
| 3261 | |||
| 3262 | *** The new option --alternate-editor allows to specify an editor to | ||
| 3263 | use if Emacs is not running. The environment variable | ||
| 3264 | ALTERNATE_EDITOR can be used for the same effect; the command line | ||
| 3265 | option takes precedence. | ||
| 3266 | |||
| 3267 | ** M-x eldoc-mode enables a minor mode in which the echo area | ||
| 3268 | constantly shows the parameter list for function being called at point | ||
| 3269 | (in Emacs Lisp and Lisp Interaction modes only). | ||
| 3270 | |||
| 3271 | ** C-x n d now runs the new command narrow-to-defun, | ||
| 3272 | which narrows the accessible parts of the buffer to just | ||
| 3273 | the current defun. | ||
| 3274 | |||
| 3275 | ** Emacs now handles the `--' argument in the standard way; all | ||
| 3276 | following arguments are treated as ordinary file names. | ||
| 3277 | |||
| 3278 | ** On MSDOS and Windows, the bookmark file is now called _emacs.bmk, | ||
| 3279 | and the saved desktop file is now called _emacs.desktop (truncated if | ||
| 3280 | necessary). | ||
| 3281 | |||
| 3282 | ** When you kill a buffer that visits a file, | ||
| 3283 | if there are any registers that save positions in the file, | ||
| 3284 | these register values no longer become completely useless. | ||
| 3285 | If you try to go to such a register with C-x j, then you are | ||
| 3286 | asked whether to visit the file again. If you say yes, | ||
| 3287 | it visits the file and then goes to the same position. | ||
| 3288 | |||
| 3289 | ** When you visit a file that changes frequently outside Emacs--for | ||
| 3290 | example, a log of output from a process that continues to run--it may | ||
| 3291 | be useful for Emacs to revert the file without querying you whenever | ||
| 3292 | you visit the file afresh with C-x C-f. | ||
| 3293 | |||
| 3294 | You can request this behavior for certain files by setting the | ||
| 3295 | variable revert-without-query to a list of regular expressions. If a | ||
| 3296 | file's name matches any of these regular expressions, find-file and | ||
| 3297 | revert-buffer revert the buffer without asking for permission--but | ||
| 3298 | only if you have not edited the buffer text yourself. | ||
| 3299 | |||
| 3300 | ** set-default-font has been renamed to set-frame-font | ||
| 3301 | since it applies only to the current frame. | ||
| 3302 | |||
| 3303 | ** In TeX mode, you can use the variable tex-main-file to specify the | ||
| 3304 | file for tex-file to run TeX on. (By default, tex-main-file is nil, | ||
| 3305 | and tex-file runs TeX on the current visited file.) | ||
| 3306 | |||
| 3307 | This is useful when you are editing a document that consists of | ||
| 3308 | multiple files. In each of the included files, you can set up a local | ||
| 3309 | variable list which specifies the top-level file of your document for | ||
| 3310 | tex-main-file. Then tex-file will run TeX on the whole document | ||
| 3311 | instead of just the file you are editing. | ||
| 3312 | |||
| 3313 | ** RefTeX mode | ||
| 3314 | |||
| 3315 | RefTeX mode is a new minor mode with special support for \label, \ref | ||
| 3316 | and \cite macros in LaTeX documents. RefTeX distinguishes labels of | ||
| 3317 | different environments (equation, figure, ...) and has full support for | ||
| 3318 | multifile documents. To use it, select a buffer with a LaTeX document and | ||
| 3319 | turn the mode on with M-x reftex-mode. Here are the main user commands: | ||
| 3320 | |||
| 3321 | C-c ( reftex-label | ||
| 3322 | Creates a label semi-automatically. RefTeX is context sensitive and | ||
| 3323 | knows which kind of label is needed. | ||
| 3324 | |||
| 3325 | C-c ) reftex-reference | ||
| 3326 | Offers in a menu all labels in the document, along with context of the | ||
| 3327 | label definition. The selected label is referenced as \ref{LABEL}. | ||
| 3328 | |||
| 3329 | C-c [ reftex-citation | ||
| 3330 | Prompts for a regular expression and displays a list of matching BibTeX | ||
| 3331 | database entries. The selected entry is cited with a \cite{KEY} macro. | ||
| 3332 | |||
| 3333 | C-c & reftex-view-crossref | ||
| 3334 | Views the cross reference of a \ref or \cite command near point. | ||
| 3335 | |||
| 3336 | C-c = reftex-toc | ||
| 3337 | Shows a table of contents of the (multifile) document. From there you | ||
| 3338 | can quickly jump to every section. | ||
| 3339 | |||
| 3340 | Under X, RefTeX installs a "Ref" menu in the menu bar, with additional | ||
| 3341 | commands. Press `?' to get help when a prompt mentions this feature. | ||
| 3342 | Full documentation and customization examples are in the file | ||
| 3343 | reftex.el. You can use the finder to view the file documentation: | ||
| 3344 | C-h p --> tex --> reftex.el | ||
| 3345 | |||
| 3346 | ** Changes in BibTeX mode. | ||
| 3347 | |||
| 3348 | *** Info documentation is now available. | ||
| 3349 | |||
| 3350 | *** Don't allow parentheses in string constants anymore. This confused | ||
| 3351 | both the BibTeX program and Emacs BibTeX mode. | ||
| 3352 | |||
| 3353 | *** Renamed variable bibtex-mode-user-optional-fields to | ||
| 3354 | bibtex-user-optional-fields. | ||
| 3355 | |||
| 3356 | *** Removed variable bibtex-include-OPTannote | ||
| 3357 | (use bibtex-user-optional-fields instead). | ||
| 3358 | |||
| 3359 | *** New interactive functions to copy and kill fields and complete | ||
| 3360 | entries to the BibTeX kill ring, from where they can be yanked back by | ||
| 3361 | appropriate functions. | ||
| 3362 | |||
| 3363 | *** New interactive functions for repositioning and marking of | ||
| 3364 | entries. They are bound by default to C-M-l and C-M-h. | ||
| 3365 | |||
| 3366 | *** New hook bibtex-clean-entry-hook. It is called after entry has | ||
| 3367 | been cleaned. | ||
| 3368 | |||
| 3369 | *** New variable bibtex-field-delimiters, which replaces variables | ||
| 3370 | bibtex-field-{left|right}-delimiter. | ||
| 3371 | |||
| 3372 | *** New variable bibtex-entry-delimiters to determine how entries | ||
| 3373 | shall be delimited. | ||
| 3374 | |||
| 3375 | *** Allow preinitialization of fields. See documentation of | ||
| 3376 | bibtex-user-optional-fields, bibtex-entry-field-alist, and | ||
| 3377 | bibtex-include-OPTkey for details. | ||
| 3378 | |||
| 3379 | *** Book and InBook entries require either an author or an editor | ||
| 3380 | field. This is now supported by bibtex.el. Alternative fields are | ||
| 3381 | prefixed with `ALT'. | ||
| 3382 | |||
| 3383 | *** New variable bibtex-entry-format, which replaces variable | ||
| 3384 | bibtex-clean-entry-zap-empty-opts and allows specification of many | ||
| 3385 | formatting options performed on cleaning an entry (see variable | ||
| 3386 | documentation). | ||
| 3387 | |||
| 3388 | *** Even more control on how automatic keys are generated. See | ||
| 3389 | documentation of bibtex-generate-autokey for details. Transcriptions | ||
| 3390 | for foreign languages other than German are now handled, too. | ||
| 3391 | |||
| 3392 | *** New boolean user option bibtex-comma-after-last-field to decide if | ||
| 3393 | comma should be inserted at end of last field. | ||
| 3394 | |||
| 3395 | *** New boolean user option bibtex-align-at-equal-sign to determine if | ||
| 3396 | alignment should be made at left side of field contents or at equal | ||
| 3397 | signs. New user options to control entry layout (e.g. indentation). | ||
| 3398 | |||
| 3399 | *** New function bibtex-fill-entry to realign entries. | ||
| 3400 | |||
| 3401 | *** New function bibtex-reformat to reformat region or buffer. | ||
| 3402 | |||
| 3403 | *** New function bibtex-convert-alien to convert a BibTeX database | ||
| 3404 | from alien sources. | ||
| 3405 | |||
| 3406 | *** New function bibtex-complete-key (similar to bibtex-complete-string) | ||
| 3407 | to complete prefix to a key defined in buffer. Mainly useful in | ||
| 3408 | crossref entries. | ||
| 3409 | |||
| 3410 | *** New function bibtex-count-entries to count entries in buffer or | ||
| 3411 | region. | ||
| 3412 | |||
| 3413 | *** Added support for imenu. | ||
| 3414 | |||
| 3415 | *** The function `bibtex-validate' now checks current region instead | ||
| 3416 | of buffer if mark is active. Now it shows all errors of buffer in a | ||
| 3417 | `compilation mode' buffer. You can use the normal commands (e.g. | ||
| 3418 | `next-error') for compilation modes to jump to errors. | ||
| 3419 | |||
| 3420 | *** New variable `bibtex-string-file-path' to determine where the files | ||
| 3421 | from `bibtex-string-files' are searched. | ||
| 3422 | |||
| 3423 | ** Iso Accents mode now supports Latin-3 as an alternative. | ||
| 3424 | |||
| 3425 | ** The command next-error now opens blocks hidden by hideshow. | ||
| 3426 | |||
| 3427 | ** The function using-unix-filesystems has been replaced by the | ||
| 3428 | functions add-untranslated-filesystem and remove-untranslated-filesystem. | ||
| 3429 | Each of these functions takes the name of a drive letter or directory | ||
| 3430 | as an argument. | ||
| 3431 | |||
| 3432 | When a filesystem is added as untranslated, all files on it are read | ||
| 3433 | and written in binary mode (no cr/lf translation is performed). | ||
| 3434 | |||
| 3435 | ** browse-url changes | ||
| 3436 | |||
| 3437 | *** New methods for: Grail (browse-url-generic), MMM (browse-url-mmm), | ||
| 3438 | Lynx in a separate xterm (browse-url-lynx-xterm) or in an Emacs window | ||
| 3439 | (browse-url-lynx-emacs), remote W3 (browse-url-w3-gnudoit), generic | ||
| 3440 | non-remote-controlled browsers (browse-url-generic) and associated | ||
| 3441 | customization variables. | ||
| 3442 | |||
| 3443 | *** New commands `browse-url-of-region' and `browse-url'. | ||
| 3444 | |||
| 3445 | *** URLs marked up with <URL:...> (RFC1738) work if broken across | ||
| 3446 | lines. Browsing methods can be associated with URL regexps | ||
| 3447 | (e.g. mailto: URLs) via `browse-url-browser-function'. | ||
| 3448 | |||
| 3449 | ** Changes in Ediff | ||
| 3450 | |||
| 3451 | *** Clicking Mouse-2 on a brief command description in Ediff control panel | ||
| 3452 | pops up the Info file for this command. | ||
| 3453 | |||
| 3454 | *** There is now a variable, ediff-autostore-merges, which controls whether | ||
| 3455 | the result of a merge is saved in a file. By default, this is done only when | ||
| 3456 | merge is done from a session group (eg, when merging files in two different | ||
| 3457 | directories). | ||
| 3458 | |||
| 3459 | *** Since Emacs 19.31 (this hasn't been announced before), Ediff can compare | ||
| 3460 | and merge groups of files residing in different directories, or revisions of | ||
| 3461 | files in the same directory. | ||
| 3462 | |||
| 3463 | *** Since Emacs 19.31, Ediff can apply multi-file patches interactively. | ||
| 3464 | The patches must be in the context format or GNU unified format. (The bug | ||
| 3465 | related to the GNU format has now been fixed.) | ||
| 3466 | |||
| 3467 | ** Changes in Viper | ||
| 3468 | |||
| 3469 | *** The startup file is now .viper instead of .vip | ||
| 3470 | *** All variable/function names have been changed to start with viper- | ||
| 3471 | instead of vip-. | ||
| 3472 | *** C-\ now simulates the meta-key in all Viper states. | ||
| 3473 | *** C-z in Insert state now escapes to Vi for the duration of the next | ||
| 3474 | Viper command. In Vi and Insert states, C-z behaves as before. | ||
| 3475 | *** C-c \ escapes to Vi for one command if Viper is in Insert or Emacs states. | ||
| 3476 | *** _ is no longer the meta-key in Vi state. | ||
| 3477 | *** The variable viper-insert-state-cursor-color can be used to change cursor | ||
| 3478 | color when Viper is in insert state. | ||
| 3479 | *** If search lands the cursor near the top or the bottom of the window, | ||
| 3480 | Viper pulls the window up or down to expose more context. The variable | ||
| 3481 | viper-adjust-window-after-search controls this behavior. | ||
| 3482 | |||
| 3483 | ** Etags changes. | ||
| 3484 | |||
| 3485 | *** In C, C++, Objective C and Java, Etags tags global variables by | ||
| 3486 | default. The resulting tags files are inflated by 30% on average. | ||
| 3487 | Use --no-globals to turn this feature off. Etags can also tag | ||
| 3488 | variables which are members of structure-like constructs, but it does | ||
| 3489 | not by default. Use --members to turn this feature on. | ||
| 3490 | |||
| 3491 | *** C++ member functions are now recognized as tags. | ||
| 3492 | |||
| 3493 | *** Java is tagged like C++. In addition, "extends" and "implements" | ||
| 3494 | constructs are tagged. Files are recognized by the extension .java. | ||
| 3495 | |||
| 3496 | *** Etags can now handle programs written in Postscript. Files are | ||
| 3497 | recognized by the extensions .ps and .pdb (Postscript with C syntax). | ||
| 3498 | In Postscript, tags are lines that start with a slash. | ||
| 3499 | |||
| 3500 | *** Etags now handles Objective C and Objective C++ code. The usual C and | ||
| 3501 | C++ tags are recognized in these languages; in addition, etags | ||
| 3502 | recognizes special Objective C syntax for classes, class categories, | ||
| 3503 | methods and protocols. | ||
| 3504 | |||
| 3505 | *** Etags also handles Cobol. Files are recognized by the extension | ||
| 3506 | .cobol. The tagged lines are those containing a word that begins in | ||
| 3507 | column 8 and ends in a full stop, i.e. anything that could be a | ||
| 3508 | paragraph name. | ||
| 3509 | |||
| 3510 | *** Regexps in Etags now support intervals, as in ed or grep. The syntax of | ||
| 3511 | an interval is \{M,N\}, and it means to match the preceding expression | ||
| 3512 | at least M times and as many as N times. | ||
| 3513 | |||
| 3514 | ** The format for specifying a custom format for time-stamp to insert | ||
| 3515 | in files has changed slightly. | ||
| 3516 | |||
| 3517 | With the new enhancements to the functionality of format-time-string, | ||
| 3518 | time-stamp-format will change to be eventually compatible with it. | ||
| 3519 | This conversion is being done in two steps to maintain compatibility | ||
| 3520 | with old time-stamp-format values. | ||
| 3521 | |||
| 3522 | In the new scheme, alternate case is signified by the number-sign | ||
| 3523 | (`#') modifier, rather than changing the case of the format character. | ||
| 3524 | This feature is as yet incompletely implemented for compatibility | ||
| 3525 | reasons. | ||
| 3526 | |||
| 3527 | In the old time-stamp-format, all numeric fields defaulted to their | ||
| 3528 | natural width. (With format-time-string, each format has a | ||
| 3529 | fixed-width default.) In this version, you can specify the colon | ||
| 3530 | (`:') modifier to a numeric conversion to mean "give me the historical | ||
| 3531 | time-stamp-format width default." Do not use colon if you are | ||
| 3532 | specifying an explicit width, as in "%02d". | ||
| 3533 | |||
| 3534 | Numbers are no longer truncated to the requested width, except in the | ||
| 3535 | case of "%02y", which continues to give a two-digit year. Digit | ||
| 3536 | truncation probably wasn't being used for anything else anyway. | ||
| 3537 | |||
| 3538 | The new formats will work with old versions of Emacs. New formats are | ||
| 3539 | being recommended now to allow time-stamp-format to change in the | ||
| 3540 | future to be compatible with format-time-string. The new forms being | ||
| 3541 | recommended now will continue to work then. | ||
| 3542 | |||
| 3543 | See the documentation string for the variable time-stamp-format for | ||
| 3544 | details. | ||
| 3545 | |||
| 3546 | ** There are some additional major modes: | ||
| 3547 | |||
| 3548 | dcl-mode, for editing VMS DCL files. | ||
| 3549 | m4-mode, for editing files of m4 input. | ||
| 3550 | meta-mode, for editing MetaFont and MetaPost source files. | ||
| 3551 | |||
| 3552 | ** In Shell mode, the command shell-copy-environment-variable lets you | ||
| 3553 | copy the value of a specified environment variable from the subshell | ||
| 3554 | into Emacs. | ||
| 3555 | |||
| 3556 | ** New Lisp packages include: | ||
| 3557 | |||
| 3558 | *** battery.el displays battery status for laptops. | ||
| 3559 | |||
| 3560 | *** M-x bruce (named after Lenny Bruce) is a program that might | ||
| 3561 | be used for adding some indecent words to your email. | ||
| 3562 | |||
| 3563 | *** M-x crisp-mode enables an emulation for the CRiSP editor. | ||
| 3564 | |||
| 3565 | *** M-x dirtrack arranges for better tracking of directory changes | ||
| 3566 | in shell buffers. | ||
| 3567 | |||
| 3568 | *** The new library elint.el provides for linting of Emacs Lisp code. | ||
| 3569 | See the documentation for `elint-initialize', `elint-current-buffer' | ||
| 3570 | and `elint-defun'. | ||
| 3571 | |||
| 3572 | *** M-x expand-add-abbrevs defines a special kind of abbrev which is | ||
| 3573 | meant for programming constructs. These abbrevs expand like ordinary | ||
| 3574 | ones, when you type SPC, but only at the end of a line and not within | ||
| 3575 | strings or comments. | ||
| 3576 | |||
| 3577 | These abbrevs can act as templates: you can define places within an | ||
| 3578 | abbrev for insertion of additional text. Once you expand the abbrev, | ||
| 3579 | you can then use C-x a p and C-x a n to move back and forth to these | ||
| 3580 | insertion points. Thus you can conveniently insert additional text | ||
| 3581 | at these points. | ||
| 3582 | |||
| 3583 | *** filecache.el remembers the location of files so that you | ||
| 3584 | can visit them by short forms of their names. | ||
| 3585 | |||
| 3586 | *** find-func.el lets you find the definition of the user-loaded | ||
| 3587 | Emacs Lisp function at point. | ||
| 3588 | |||
| 3589 | *** M-x handwrite converts text to a "handwritten" picture. | ||
| 3590 | |||
| 3591 | *** M-x iswitchb-buffer is a command for switching to a buffer, much like | ||
| 3592 | switch-buffer, but it reads the argument in a more helpful way. | ||
| 3593 | |||
| 3594 | *** M-x landmark implements a neural network for landmark learning. | ||
| 3595 | |||
| 3596 | *** M-x locate provides a convenient interface to the `locate' program. | ||
| 3597 | |||
| 3598 | *** M4 mode is a new mode for editing files of m4 input. | ||
| 3599 | |||
| 3600 | *** mantemp.el creates C++ manual template instantiations | ||
| 3601 | from the GCC error messages which indicate which instantiations are needed. | ||
| 3602 | |||
| 3603 | *** mouse-copy.el provides a one-click copy and move feature. | ||
| 3604 | You can drag a region with M-mouse-1, and it is automatically | ||
| 3605 | inserted at point. M-Shift-mouse-1 deletes the text from its | ||
| 3606 | original place after inserting the copy. | ||
| 3607 | |||
| 3608 | *** mouse-drag.el lets you do scrolling by dragging Mouse-2 | ||
| 3609 | on the buffer. | ||
| 3610 | |||
| 3611 | You click the mouse and move; that distance either translates into the | ||
| 3612 | velocity to scroll (with mouse-drag-throw) or the distance to scroll | ||
| 3613 | (with mouse-drag-drag). Horizontal scrolling is enabled when needed. | ||
| 3614 | |||
| 3615 | Enable mouse-drag with: | ||
| 3616 | (global-set-key [down-mouse-2] 'mouse-drag-throw) | ||
| 3617 | -or- | ||
| 3618 | (global-set-key [down-mouse-2] 'mouse-drag-drag) | ||
| 3619 | |||
| 3620 | *** mspools.el is useful for determining which mail folders have | ||
| 3621 | mail waiting to be read in them. It works with procmail. | ||
| 3622 | |||
| 3623 | *** Octave mode is a major mode for editing files of input for Octave. | ||
| 3624 | It comes with a facility for communicating with an Octave subprocess. | ||
| 3625 | |||
| 3626 | *** ogonek | ||
| 3627 | |||
| 3628 | The ogonek package provides functions for changing the coding of | ||
| 3629 | Polish diacritic characters in buffers. Codings known from various | ||
| 3630 | platforms are supported such as ISO8859-2, Mazovia, IBM Latin2, and | ||
| 3631 | TeX. For example, you can change the coding from Mazovia to | ||
| 3632 | ISO8859-2. Another example is a change of coding from ISO8859-2 to | ||
| 3633 | prefix notation (in which `/a' stands for the aogonek character, for | ||
| 3634 | instance) and vice versa. | ||
| 3635 | |||
| 3636 | To use this package load it using | ||
| 3637 | M-x load-library [enter] ogonek | ||
| 3638 | Then, you may get an explanation by calling one of | ||
| 3639 | M-x ogonek-jak -- in Polish | ||
| 3640 | M-x ogonek-how -- in English | ||
| 3641 | The info specifies the commands and variables provided as well as the | ||
| 3642 | ways of customization in `.emacs'. | ||
| 3643 | |||
| 3644 | *** Interface to ph. | ||
| 3645 | |||
| 3646 | Emacs provides a client interface to CCSO Nameservers (ph/qi) | ||
| 3647 | |||
| 3648 | The CCSO nameserver is used in many universities to provide directory | ||
| 3649 | services about people. ph.el provides a convenient Emacs interface to | ||
| 3650 | these servers. | ||
| 3651 | |||
| 3652 | *** uce.el is useful for replying to unsolicited commercial email. | ||
| 3653 | |||
| 3654 | *** vcursor.el implements a "virtual cursor" feature. | ||
| 3655 | You can move the virtual cursor with special commands | ||
| 3656 | while the real cursor does not move. | ||
| 3657 | |||
| 3658 | *** webjump.el is a "hot list" package which you can set up | ||
| 3659 | for visiting your favorite web sites. | ||
| 3660 | |||
| 3661 | *** M-x winner-mode is a minor mode which saves window configurations, | ||
| 3662 | so you can move back to other configurations that you have recently used. | ||
| 3663 | |||
| 3664 | ** movemail change | ||
| 3665 | |||
| 3666 | Movemail no longer needs to be installed setuid root in order for POP | ||
| 3667 | mail retrieval to function properly. This is because it no longer | ||
| 3668 | supports the RPOP (reserved-port POP) protocol; instead, it uses the | ||
| 3669 | user's POP password to authenticate to the mail server. | ||
| 3670 | |||
| 3671 | This change was made earlier, but not reported in NEWS before. | ||
| 3672 | |||
| 3673 | |||
| 3674 | * Emacs 20.1 changes for MS-DOS and MS-Windows. | ||
| 3675 | |||
| 3676 | ** Changes in handling MS-DOS/MS-Windows text files. | ||
| 3677 | |||
| 3678 | Emacs handles three different conventions for representing | ||
| 3679 | end-of-line: CRLF for MSDOS, LF for Unix and GNU, and CR (used on the | ||
| 3680 | Macintosh). Emacs determines which convention is used in a specific | ||
| 3681 | file based on the contents of that file (except for certain special | ||
| 3682 | file names), and when it saves the file, it uses the same convention. | ||
| 3683 | |||
| 3684 | To save the file and change the end-of-line convention, you can use | ||
| 3685 | C-x RET f (set-buffer-file-coding-system) to specify a different | ||
| 3686 | coding system for the buffer. Then, when you save the file, the newly | ||
| 3687 | specified coding system will take effect. For example, to save with | ||
| 3688 | LF, specify undecided-unix (or some other ...-unix coding system); to | ||
| 3689 | save with CRLF, specify undecided-dos. | ||
| 3690 | |||
| 3691 | |||
| 3692 | * Lisp Changes in Emacs 20.1 | ||
| 3693 | |||
| 3694 | ** Byte-compiled files made with Emacs 20 will, in general, work in | ||
| 3695 | Emacs 19 as well, as long as the source code runs in Emacs 19. And | ||
| 3696 | vice versa: byte-compiled files made with Emacs 19 should also run in | ||
| 3697 | Emacs 20, as long as the program itself works in Emacs 20. | ||
| 3698 | |||
| 3699 | ** Windows-specific functions and variables have been renamed | ||
| 3700 | to start with w32- instead of win32-. | ||
| 3701 | |||
| 3702 | In hacker language, calling something a "win" is a form of praise. We | ||
| 3703 | don't want to praise a non-free Microsoft system, so we don't call it | ||
| 3704 | "win". | ||
| 3705 | |||
| 3706 | ** Basic Lisp changes | ||
| 3707 | |||
| 3708 | *** A symbol whose name starts with a colon now automatically | ||
| 3709 | evaluates to itself. Therefore such a symbol can be used as a constant. | ||
| 3710 | |||
| 3711 | *** The defined purpose of `defconst' has been changed. It should now | ||
| 3712 | be used only for values that should not be changed whether by a program | ||
| 3713 | or by the user. | ||
| 3714 | |||
| 3715 | The actual behavior of defconst has not been changed. | ||
| 3716 | |||
| 3717 | *** There are new macros `when' and `unless' | ||
| 3718 | |||
| 3719 | (when CONDITION BODY...) is short for (if CONDITION (progn BODY...)) | ||
| 3720 | (unless CONDITION BODY...) is short for (if CONDITION nil BODY...) | ||
| 3721 | |||
| 3722 | *** Emacs now defines functions caar, cadr, cdar and cddr with their | ||
| 3723 | usual Lisp meanings. For example, caar returns the car of the car of | ||
| 3724 | its argument. | ||
| 3725 | |||
| 3726 | *** equal, when comparing strings, now ignores their text properties. | ||
| 3727 | |||
| 3728 | *** The new function `functionp' tests whether an object is a function. | ||
| 3729 | |||
| 3730 | *** arrayp now returns t for char-tables and bool-vectors. | ||
| 3731 | |||
| 3732 | *** Certain primitives which use characters (as integers) now get an | ||
| 3733 | error if the integer is not a valid character code. These primitives | ||
| 3734 | include insert-char, char-to-string, and the %c construct in the | ||
| 3735 | `format' function. | ||
| 3736 | |||
| 3737 | *** The `require' function now insists on adding a suffix, either .el | ||
| 3738 | or .elc, to the file name. Thus, (require 'foo) will not use a file | ||
| 3739 | whose name is just foo. It insists on foo.el or foo.elc. | ||
| 3740 | |||
| 3741 | *** The `autoload' function, when the file name does not contain | ||
| 3742 | either a directory name or the suffix .el or .elc, insists on | ||
| 3743 | adding one of these suffixes. | ||
| 3744 | |||
| 3745 | *** string-to-number now takes an optional second argument BASE | ||
| 3746 | which specifies the base to use when converting an integer. | ||
| 3747 | If BASE is omitted, base 10 is used. | ||
| 3748 | |||
| 3749 | We have not implemented other radices for floating point numbers, | ||
| 3750 | because that would be much more work and does not seem useful. | ||
| 3751 | |||
| 3752 | *** substring now handles vectors as well as strings. | ||
| 3753 | |||
| 3754 | *** The Common Lisp function eql is no longer defined normally. | ||
| 3755 | You must load the `cl' library to define it. | ||
| 3756 | |||
| 3757 | *** The new macro `with-current-buffer' lets you evaluate an expression | ||
| 3758 | conveniently with a different current buffer. It looks like this: | ||
| 3759 | |||
| 3760 | (with-current-buffer BUFFER BODY-FORMS...) | ||
| 3761 | |||
| 3762 | BUFFER is the expression that says which buffer to use. | ||
| 3763 | BODY-FORMS say what to do in that buffer. | ||
| 3764 | |||
| 3765 | *** The new primitive `save-current-buffer' saves and restores the | ||
| 3766 | choice of current buffer, like `save-excursion', but without saving or | ||
| 3767 | restoring the value of point or the mark. `with-current-buffer' | ||
| 3768 | works using `save-current-buffer'. | ||
| 3769 | |||
| 3770 | *** The new macro `with-temp-file' lets you do some work in a new buffer and | ||
| 3771 | write the output to a specified file. Like `progn', it returns the value | ||
| 3772 | of the last form. | ||
| 3773 | |||
| 3774 | *** The new macro `with-temp-buffer' lets you do some work in a new buffer, | ||
| 3775 | which is discarded after use. Like `progn', it returns the value of the | ||
| 3776 | last form. If you wish to return the buffer contents, use (buffer-string) | ||
| 3777 | as the last form. | ||
| 3778 | |||
| 3779 | *** The new function split-string takes a string, splits it at certain | ||
| 3780 | characters, and returns a list of the substrings in between the | ||
| 3781 | matches. | ||
| 3782 | |||
| 3783 | For example, (split-string "foo bar lose" " +") returns ("foo" "bar" "lose"). | ||
| 3784 | |||
| 3785 | *** The new macro with-output-to-string executes some Lisp expressions | ||
| 3786 | with standard-output set up so that all output feeds into a string. | ||
| 3787 | Then it returns that string. | ||
| 3788 | |||
| 3789 | For example, if the current buffer name is `foo', | ||
| 3790 | |||
| 3791 | (with-output-to-string | ||
| 3792 | (princ "The buffer is ") | ||
| 3793 | (princ (buffer-name))) | ||
| 3794 | |||
| 3795 | returns "The buffer is foo". | ||
| 3796 | |||
| 3797 | ** Non-ASCII characters are now supported, if enable-multibyte-characters | ||
| 3798 | is non-nil. | ||
| 3799 | |||
| 3800 | These characters have character codes above 256. When inserted in the | ||
| 3801 | buffer or stored in a string, they are represented as multibyte | ||
| 3802 | characters that occupy several buffer positions each. | ||
| 3803 | |||
| 3804 | *** When enable-multibyte-characters is non-nil, a single character in | ||
| 3805 | a buffer or string can be two or more bytes (as many as four). | ||
| 3806 | |||
| 3807 | Buffers and strings are still made up of unibyte elements; | ||
| 3808 | character positions and string indices are always measured in bytes. | ||
| 3809 | Therefore, moving forward one character can increase the buffer | ||
| 3810 | position by 2, 3 or 4. The function forward-char moves by whole | ||
| 3811 | characters, and therefore is no longer equivalent to | ||
| 3812 | (lambda (n) (goto-char (+ (point) n))). | ||
| 3813 | |||
| 3814 | ASCII characters (codes 0 through 127) are still single bytes, always. | ||
| 3815 | Sequences of byte values 128 through 255 are used to represent | ||
| 3816 | non-ASCII characters. These sequences are called "multibyte | ||
| 3817 | characters". | ||
| 3818 | |||
| 3819 | The first byte of a multibyte character is always in the range 128 | ||
| 3820 | through 159 (octal 0200 through 0237). These values are called | ||
| 3821 | "leading codes". The second and subsequent bytes are always in the | ||
| 3822 | range 160 through 255 (octal 0240 through 0377). The first byte, the | ||
| 3823 | leading code, determines how many bytes long the sequence is. | ||
| 3824 | |||
| 3825 | *** The function forward-char moves over characters, and therefore | ||
| 3826 | (forward-char 1) may increase point by more than 1 if it moves over a | ||
| 3827 | multibyte character. Likewise, delete-char always deletes a | ||
| 3828 | character, which may be more than one buffer position. | ||
| 3829 | |||
| 3830 | This means that some Lisp programs, which assume that a character is | ||
| 3831 | always one buffer position, need to be changed. | ||
| 3832 | |||
| 3833 | However, all ASCII characters are always one buffer position. | ||
| 3834 | |||
| 3835 | *** The regexp [\200-\377] no longer matches all non-ASCII characters, | ||
| 3836 | because when enable-multibyte-characters is non-nil, these characters | ||
| 3837 | have codes that are not in the range octal 200 to octal 377. However, | ||
| 3838 | the regexp [^\000-\177] does match all non-ASCII characters, | ||
| 3839 | guaranteed. | ||
| 3840 | |||
| 3841 | *** The function char-boundary-p returns non-nil if position POS is | ||
| 3842 | between two characters in the buffer (not in the middle of a | ||
| 3843 | character). | ||
| 3844 | |||
| 3845 | When the value is non-nil, it says what kind of character follows POS: | ||
| 3846 | |||
| 3847 | 0 if POS is at an ASCII character or at the end of range, | ||
| 3848 | 1 if POS is before a 2-byte length multi-byte form, | ||
| 3849 | 2 if POS is at a head of 3-byte length multi-byte form, | ||
| 3850 | 3 if POS is at a head of 4-byte length multi-byte form, | ||
| 3851 | 4 if POS is at a head of multi-byte form of a composite character. | ||
| 3852 | |||
| 3853 | *** The function char-bytes returns how many bytes the character CHAR uses. | ||
| 3854 | |||
| 3855 | *** Strings can contain multibyte characters. The function | ||
| 3856 | `length' returns the string length counting bytes, which may be | ||
| 3857 | more than the number of characters. | ||
| 3858 | |||
| 3859 | You can include a multibyte character in a string constant by writing | ||
| 3860 | it literally. You can also represent it with a hex escape, | ||
| 3861 | \xNNNNNNN..., using as many digits as necessary. Any character which | ||
| 3862 | is not a valid hex digit terminates this construct. If you want to | ||
| 3863 | follow it with a character that is a hex digit, write backslash and | ||
| 3864 | newline in between; that will terminate the hex escape. | ||
| 3865 | |||
| 3866 | *** The function concat-chars takes arguments which are characters | ||
| 3867 | and returns a string containing those characters. | ||
| 3868 | |||
| 3869 | *** The function sref access a multibyte character in a string. | ||
| 3870 | (sref STRING INDX) returns the character in STRING at INDEX. INDEX | ||
| 3871 | counts from zero. If INDEX is at a position in the middle of a | ||
| 3872 | character, sref signals an error. | ||
| 3873 | |||
| 3874 | *** The function chars-in-string returns the number of characters | ||
| 3875 | in a string. This is less than the length of the string, if the | ||
| 3876 | string contains multibyte characters (the length counts bytes). | ||
| 3877 | |||
| 3878 | *** The function chars-in-region returns the number of characters | ||
| 3879 | in a region from BEG to END. This is less than (- END BEG) if the | ||
| 3880 | region contains multibyte characters (the length counts bytes). | ||
| 3881 | |||
| 3882 | *** The function string-to-list converts a string to a list of | ||
| 3883 | the characters in it. string-to-vector converts a string | ||
| 3884 | to a vector of the characters in it. | ||
| 3885 | |||
| 3886 | *** The function store-substring alters part of the contents | ||
| 3887 | of a string. You call it as follows: | ||
| 3888 | |||
| 3889 | (store-substring STRING IDX OBJ) | ||
| 3890 | |||
| 3891 | This says to alter STRING, by storing OBJ starting at index IDX in | ||
| 3892 | STRING. OBJ may be either a character or a (smaller) string. | ||
| 3893 | This function really does alter the contents of STRING. | ||
| 3894 | Since it is impossible to change the length of an existing string, | ||
| 3895 | it is an error if OBJ doesn't fit within STRING's actual length. | ||
| 3896 | |||
| 3897 | *** char-width returns the width (in columns) of the character CHAR, | ||
| 3898 | if it were displayed in the current buffer and the selected window. | ||
| 3899 | |||
| 3900 | *** string-width returns the width (in columns) of the text in STRING, | ||
| 3901 | if it were displayed in the current buffer and the selected window. | ||
| 3902 | |||
| 3903 | *** truncate-string-to-width shortens a string, if necessary, | ||
| 3904 | to fit within a certain number of columns. (Of course, it does | ||
| 3905 | not alter the string that you give it; it returns a new string | ||
| 3906 | which contains all or just part of the existing string.) | ||
| 3907 | |||
| 3908 | (truncate-string-to-width STR END-COLUMN &optional START-COLUMN PADDING) | ||
| 3909 | |||
| 3910 | This returns the part of STR up to column END-COLUMN. | ||
| 3911 | |||
| 3912 | The optional argument START-COLUMN specifies the starting column. | ||
| 3913 | If this is non-nil, then the first START-COLUMN columns of the string | ||
| 3914 | are not included in the resulting value. | ||
| 3915 | |||
| 3916 | The optional argument PADDING, if non-nil, is a padding character to be added | ||
| 3917 | at the beginning and end the resulting string, to extend it to exactly | ||
| 3918 | WIDTH columns. If PADDING is nil, that means do not pad; then, if STRING | ||
| 3919 | is narrower than WIDTH, the value is equal to STRING. | ||
| 3920 | |||
| 3921 | If PADDING and START-COLUMN are both non-nil, and if there is no clean | ||
| 3922 | place in STRING that corresponds to START-COLUMN (because one | ||
| 3923 | character extends across that column), then the padding character | ||
| 3924 | PADDING is added one or more times at the beginning of the result | ||
| 3925 | string, so that its columns line up as if it really did start at | ||
| 3926 | column START-COLUMN. | ||
| 3927 | |||
| 3928 | *** When the functions in the list after-change-functions are called, | ||
| 3929 | the third argument is the number of bytes in the pre-change text, not | ||
| 3930 | necessarily the number of characters. It is, in effect, the | ||
| 3931 | difference in buffer position between the beginning and the end of the | ||
| 3932 | changed text, before the change. | ||
| 3933 | |||
| 3934 | *** The characters Emacs uses are classified in various character | ||
| 3935 | sets, each of which has a name which is a symbol. In general there is | ||
| 3936 | one character set for each script, not for each language. | ||
| 3937 | |||
| 3938 | **** The function charsetp tests whether an object is a character set name. | ||
| 3939 | |||
| 3940 | **** The variable charset-list holds a list of character set names. | ||
| 3941 | |||
| 3942 | **** char-charset, given a character code, returns the name of the character | ||
| 3943 | set that the character belongs to. (The value is a symbol.) | ||
| 3944 | |||
| 3945 | **** split-char, given a character code, returns a list containing the | ||
| 3946 | name of the character set, followed by one or two byte-values | ||
| 3947 | which identify the character within that character set. | ||
| 3948 | |||
| 3949 | **** make-char, given a character set name and one or two subsequent | ||
| 3950 | byte-values, constructs a character code. This is roughly the | ||
| 3951 | opposite of split-char. | ||
| 3952 | |||
| 3953 | **** find-charset-region returns a list of the character sets | ||
| 3954 | of all the characters between BEG and END. | ||
| 3955 | |||
| 3956 | **** find-charset-string returns a list of the character sets | ||
| 3957 | of all the characters in a string. | ||
| 3958 | |||
| 3959 | *** Here are the Lisp facilities for working with coding systems | ||
| 3960 | and specifying coding systems. | ||
| 3961 | |||
| 3962 | **** The function coding-system-list returns a list of all coding | ||
| 3963 | system names (symbols). With optional argument t, it returns a list | ||
| 3964 | of all distinct base coding systems, not including variants. | ||
| 3965 | (Variant coding systems are those like latin-1-dos, latin-1-unix | ||
| 3966 | and latin-1-mac which specify the end-of-line conversion as well | ||
| 3967 | as what to do about code conversion.) | ||
| 3968 | |||
| 3969 | **** coding-system-p tests a symbol to see if it is a coding system | ||
| 3970 | name. It returns t if so, nil if not. | ||
| 3971 | |||
| 3972 | **** file-coding-system-alist specifies which coding systems to use | ||
| 3973 | for certain file names. It works like network-coding-system-alist, | ||
| 3974 | except that the PATTERN is matched against the file name. | ||
| 3975 | |||
| 3976 | Each element has the format (PATTERN . VAL), where PATTERN determines | ||
| 3977 | which file names the element applies to. PATTERN should be a regexp | ||
| 3978 | to match against a file name. | ||
| 3979 | |||
| 3980 | VAL is a coding system, a cons cell containing two coding systems, or | ||
| 3981 | a function symbol. If VAL is a coding system, it is used for both | ||
| 3982 | decoding what received from the network stream and encoding what sent | ||
| 3983 | to the network stream. If VAL is a cons cell containing two coding | ||
| 3984 | systems, the car specifies the coding system for decoding, and the cdr | ||
| 3985 | specifies the coding system for encoding. | ||
| 3986 | |||
| 3987 | If VAL is a function symbol, the function must return a coding system | ||
| 3988 | or a cons cell containing two coding systems, which is used as above. | ||
| 3989 | |||
| 3990 | **** The variable network-coding-system-alist specifies | ||
| 3991 | the coding system to use for network sockets. | ||
| 3992 | |||
| 3993 | Each element has the format (PATTERN . VAL), where PATTERN determines | ||
| 3994 | which network sockets the element applies to. PATTERN should be | ||
| 3995 | either a port number or a regular expression matching some network | ||
| 3996 | service names. | ||
| 3997 | |||
| 3998 | VAL is a coding system, a cons cell containing two coding systems, or | ||
| 3999 | a function symbol. If VAL is a coding system, it is used for both | ||
| 4000 | decoding what received from the network stream and encoding what sent | ||
| 4001 | to the network stream. If VAL is a cons cell containing two coding | ||
| 4002 | systems, the car specifies the coding system for decoding, and the cdr | ||
| 4003 | specifies the coding system for encoding. | ||
| 4004 | |||
| 4005 | If VAL is a function symbol, the function must return a coding system | ||
| 4006 | or a cons cell containing two coding systems, which is used as above. | ||
| 4007 | |||
| 4008 | **** process-coding-system-alist specifies which coding systems to use | ||
| 4009 | for certain subprocess. It works like network-coding-system-alist, | ||
| 4010 | except that the PATTERN is matched against the program name used to | ||
| 4011 | start the subprocess. | ||
| 4012 | |||
| 4013 | **** The variable default-process-coding-system specifies the coding | ||
| 4014 | systems to use for subprocess (and net connection) input and output, | ||
| 4015 | when nothing else specifies what to do. The value is a cons cell | ||
| 4016 | (OUTPUT-CODING . INPUT-CODING). OUTPUT-CODING applies to output | ||
| 4017 | to the subprocess, and INPUT-CODING applies to input from it. | ||
| 4018 | |||
| 4019 | **** The variable coding-system-for-write, if non-nil, specifies the | ||
| 4020 | coding system to use for writing a file, or for output to a synchronous | ||
| 4021 | subprocess. | ||
| 4022 | |||
| 4023 | It also applies to any asynchronous subprocess or network connection, | ||
| 4024 | but in a different way: the value of coding-system-for-write when you | ||
| 4025 | start the subprocess or connection affects that subprocess or | ||
| 4026 | connection permanently or until overridden. | ||
| 4027 | |||
| 4028 | The variable coding-system-for-write takes precedence over | ||
| 4029 | file-coding-system-alist, process-coding-system-alist and | ||
| 4030 | network-coding-system-alist, and all other methods of specifying a | ||
| 4031 | coding system for output. But most of the time this variable is nil. | ||
| 4032 | It exists so that Lisp programs can bind it to a specific coding | ||
| 4033 | system for one operation at a time. | ||
| 4034 | |||
| 4035 | **** coding-system-for-read applies similarly to input from | ||
| 4036 | files, subprocesses or network connections. | ||
| 4037 | |||
| 4038 | **** The function process-coding-system tells you what | ||
| 4039 | coding systems(s) an existing subprocess is using. | ||
| 4040 | The value is a cons cell, | ||
| 4041 | (DECODING-CODING-SYSTEM . ENCODING-CODING-SYSTEM) | ||
| 4042 | where DECODING-CODING-SYSTEM is used for decoding output from | ||
| 4043 | the subprocess, and ENCODING-CODING-SYSTEM is used for encoding | ||
| 4044 | input to the subprocess. | ||
| 4045 | |||
| 4046 | **** The function set-process-coding-system can be used to | ||
| 4047 | change the coding systems in use for an existing subprocess. | ||
| 4048 | |||
| 4049 | ** Emacs has a new facility to help users manage the many | ||
| 4050 | customization options. To make a Lisp program work with this facility, | ||
| 4051 | you need to use the new macros defgroup and defcustom. | ||
| 4052 | |||
| 4053 | You use defcustom instead of defvar, for defining a user option | ||
| 4054 | variable. The difference is that you specify two additional pieces of | ||
| 4055 | information (usually): the "type" which says what values are | ||
| 4056 | legitimate, and the "group" which specifies the hierarchy for | ||
| 4057 | customization. | ||
| 4058 | |||
| 4059 | Thus, instead of writing | ||
| 4060 | |||
| 4061 | (defvar foo-blurgoze nil | ||
| 4062 | "*Non-nil means that foo will act very blurgozely.") | ||
| 4063 | |||
| 4064 | you would now write this: | ||
| 4065 | |||
| 4066 | (defcustom foo-blurgoze nil | ||
| 4067 | "*Non-nil means that foo will act very blurgozely." | ||
| 4068 | :type 'boolean | ||
| 4069 | :group foo) | ||
| 4070 | |||
| 4071 | The type `boolean' means that this variable has only | ||
| 4072 | two meaningful states: nil and non-nil. Other type values | ||
| 4073 | describe other possibilities; see the manual for Custom | ||
| 4074 | for a description of them. | ||
| 4075 | |||
| 4076 | The "group" argument is used to specify a group which the option | ||
| 4077 | should belong to. You define a new group like this: | ||
| 4078 | |||
| 4079 | (defgroup ispell nil | ||
| 4080 | "Spell checking using Ispell." | ||
| 4081 | :group 'processes) | ||
| 4082 | |||
| 4083 | The "group" argument in defgroup specifies the parent group. The root | ||
| 4084 | group is called `emacs'; it should not contain any variables itself, | ||
| 4085 | but only other groups. The immediate subgroups of `emacs' correspond | ||
| 4086 | to the keywords used by C-h p. Under these subgroups come | ||
| 4087 | second-level subgroups that belong to individual packages. | ||
| 4088 | |||
| 4089 | Each Emacs package should have its own set of groups. A simple | ||
| 4090 | package should have just one group; a more complex package should | ||
| 4091 | have a hierarchy of its own groups. The sole or root group of a | ||
| 4092 | package should be a subgroup of one or more of the "keyword" | ||
| 4093 | first-level subgroups. | ||
| 4094 | |||
| 4095 | ** New `widget' library for inserting UI components in buffers. | ||
| 4096 | |||
| 4097 | This library, used by the new custom library, is documented in a | ||
| 4098 | separate manual that accompanies Emacs. | ||
| 4099 | |||
| 4100 | ** easy-mmode | ||
| 4101 | |||
| 4102 | The easy-mmode package provides macros and functions that make | ||
| 4103 | developing minor modes easier. Roughly, the programmer has to code | ||
| 4104 | only the functionality of the minor mode. All the rest--toggles, | ||
| 4105 | predicate, and documentation--can be done in one call to the macro | ||
| 4106 | `easy-mmode-define-minor-mode' (see the documentation). See also | ||
| 4107 | `easy-mmode-define-keymap'. | ||
| 4108 | |||
| 4109 | ** Text property changes | ||
| 4110 | |||
| 4111 | *** The `intangible' property now works on overlays as well as on a | ||
| 4112 | text property. | ||
| 4113 | |||
| 4114 | *** The new functions next-char-property-change and | ||
| 4115 | previous-char-property-change scan through the buffer looking for a | ||
| 4116 | place where either a text property or an overlay might change. The | ||
| 4117 | functions take two arguments, POSITION and LIMIT. POSITION is the | ||
| 4118 | starting position for the scan. LIMIT says where to stop the scan. | ||
| 4119 | |||
| 4120 | If no property change is found before LIMIT, the value is LIMIT. If | ||
| 4121 | LIMIT is nil, scan goes to the beginning or end of the accessible part | ||
| 4122 | of the buffer. If no property change is found, the value is the | ||
| 4123 | position of the beginning or end of the buffer. | ||
| 4124 | |||
| 4125 | *** In the `local-map' text property or overlay property, the property | ||
| 4126 | value can now be a symbol whose function definition is a keymap. This | ||
| 4127 | is an alternative to using the keymap itself. | ||
| 4128 | |||
| 4129 | ** Changes in invisibility features | ||
| 4130 | |||
| 4131 | *** Isearch can now temporarily show parts of the buffer which are | ||
| 4132 | hidden by an overlay with a invisible property, when the search match | ||
| 4133 | is inside that portion of the buffer. To enable this the overlay | ||
| 4134 | should have a isearch-open-invisible property which is a function that | ||
| 4135 | would be called having the overlay as an argument, the function should | ||
| 4136 | make the overlay visible. | ||
| 4137 | |||
| 4138 | During incremental search the overlays are shown by modifying the | ||
| 4139 | invisible and intangible properties, if beside this more actions are | ||
| 4140 | needed the overlay should have a isearch-open-invisible-temporary | ||
| 4141 | which is a function. The function is called with 2 arguments: one is | ||
| 4142 | the overlay and the second is nil when it should show the overlay and | ||
| 4143 | t when it should hide it. | ||
| 4144 | |||
| 4145 | *** add-to-invisibility-spec, remove-from-invisibility-spec | ||
| 4146 | |||
| 4147 | Modes that use overlays to hide portions of a buffer should set the | ||
| 4148 | invisible property of the overlay to the mode's name (or another symbol) | ||
| 4149 | and modify the `buffer-invisibility-spec' to include that symbol. | ||
| 4150 | Use `add-to-invisibility-spec' and `remove-from-invisibility-spec' to | ||
| 4151 | manipulate the `buffer-invisibility-spec'. | ||
| 4152 | Here is an example of how to do this: | ||
| 4153 | |||
| 4154 | ;; If we want to display an ellipsis: | ||
| 4155 | (add-to-invisibility-spec '(my-symbol . t)) | ||
| 4156 | ;; If you don't want ellipsis: | ||
| 4157 | (add-to-invisibility-spec 'my-symbol) | ||
| 4158 | |||
| 4159 | ... | ||
| 4160 | (overlay-put (make-overlay beginning end) 'invisible 'my-symbol) | ||
| 4161 | |||
| 4162 | ... | ||
| 4163 | ;; When done with the overlays: | ||
| 4164 | (remove-from-invisibility-spec '(my-symbol . t)) | ||
| 4165 | ;; Or respectively: | ||
| 4166 | (remove-from-invisibility-spec 'my-symbol) | ||
| 4167 | |||
| 4168 | ** Changes in syntax parsing. | ||
| 4169 | |||
| 4170 | *** The syntax-directed buffer-scan functions (such as | ||
| 4171 | `parse-partial-sexp', `forward-word' and similar functions) can now | ||
| 4172 | obey syntax information specified by text properties, if the variable | ||
| 4173 | `parse-sexp-lookup-properties' is non-nil. | ||
| 4174 | |||
| 4175 | If the value of `parse-sexp-lookup-properties' is nil, the behavior | ||
| 4176 | is as before: the syntax-table of the current buffer is always | ||
| 4177 | used to determine the syntax of the character at the position. | ||
| 4178 | |||
| 4179 | When `parse-sexp-lookup-properties' is non-nil, the syntax of a | ||
| 4180 | character in the buffer is calculated thus: | ||
| 4181 | |||
| 4182 | a) if the `syntax-table' text-property of that character | ||
| 4183 | is a cons, this cons becomes the syntax-type; | ||
| 4184 | |||
| 4185 | Valid values of `syntax-table' text-property are: nil, a valid | ||
| 4186 | syntax-table, and a valid syntax-table element, i.e., | ||
| 4187 | a cons cell of the form (SYNTAX-CODE . MATCHING-CHAR). | ||
| 4188 | |||
| 4189 | b) if the character's `syntax-table' text-property | ||
| 4190 | is a syntax table, this syntax table is used | ||
| 4191 | (instead of the syntax-table of the current buffer) to | ||
| 4192 | determine the syntax type of the character. | ||
| 4193 | |||
| 4194 | c) otherwise the syntax-type is determined by the syntax-table | ||
| 4195 | of the current buffer. | ||
| 4196 | |||
| 4197 | *** The meaning of \s in regular expressions is also affected by the | ||
| 4198 | value of `parse-sexp-lookup-properties'. The details are the same as | ||
| 4199 | for the syntax-directed buffer-scan functions. | ||
| 4200 | |||
| 4201 | *** There are two new syntax-codes, `!' and `|' (numeric values 14 | ||
| 4202 | and 15). A character with a code `!' starts a comment which is ended | ||
| 4203 | only by another character with the same code (unless quoted). A | ||
| 4204 | character with a code `|' starts a string which is ended only by | ||
| 4205 | another character with the same code (unless quoted). | ||
| 4206 | |||
| 4207 | These codes are mainly meant for use as values of the `syntax-table' | ||
| 4208 | text property. | ||
| 4209 | |||
| 4210 | *** The function `parse-partial-sexp' has new semantics for the sixth | ||
| 4211 | arg COMMENTSTOP. If it is `syntax-table', parse stops after the start | ||
| 4212 | of a comment or a string, or after end of a comment or a string. | ||
| 4213 | |||
| 4214 | *** The state-list which the return value from `parse-partial-sexp' | ||
| 4215 | (and can also be used as an argument) now has an optional ninth | ||
| 4216 | element: the character address of the start of last comment or string; | ||
| 4217 | nil if none. The fourth and eighth elements have special values if the | ||
| 4218 | string/comment is started by a "!" or "|" syntax-code. | ||
| 4219 | |||
| 4220 | *** Since new features of `parse-partial-sexp' allow a complete | ||
| 4221 | syntactic parsing, `font-lock' no longer supports | ||
| 4222 | `font-lock-comment-start-regexp'. | ||
| 4223 | |||
| 4224 | ** Changes in face features | ||
| 4225 | |||
| 4226 | *** The face functions are now unconditionally defined in Emacs, even | ||
| 4227 | if it does not support displaying on a device that supports faces. | ||
| 4228 | |||
| 4229 | *** The function face-documentation returns the documentation string | ||
| 4230 | of a face (or nil if it doesn't have one). | ||
| 4231 | |||
| 4232 | *** The function face-bold-p returns t if a face should be bold. | ||
| 4233 | set-face-bold-p sets that flag. | ||
| 4234 | |||
| 4235 | *** The function face-italic-p returns t if a face should be italic. | ||
| 4236 | set-face-italic-p sets that flag. | ||
| 4237 | |||
| 4238 | *** You can now specify foreground and background colors for text | ||
| 4239 | by adding elements of the form (foreground-color . COLOR-NAME) | ||
| 4240 | and (background-color . COLOR-NAME) to the list of faces in | ||
| 4241 | the `face' property (either the character's text property or an | ||
| 4242 | overlay property). | ||
| 4243 | |||
| 4244 | This means that you no longer need to create named faces to use | ||
| 4245 | arbitrary colors in a Lisp package. | ||
| 4246 | |||
| 4247 | ** Changes in file-handling functions | ||
| 4248 | |||
| 4249 | *** File-access primitive functions no longer discard an extra redundant | ||
| 4250 | directory name from the beginning of the file name. In other words, | ||
| 4251 | they no longer do anything special with // or /~. That conversion | ||
| 4252 | is now done only in substitute-in-file-name. | ||
| 4253 | |||
| 4254 | This makes it possible for a Lisp program to open a file whose name | ||
| 4255 | begins with ~. | ||
| 4256 | |||
| 4257 | *** If copy-file is unable to set the date of the output file, | ||
| 4258 | it now signals an error with the condition file-date-error. | ||
| 4259 | |||
| 4260 | *** The inode number returned by file-attributes may be an integer (if | ||
| 4261 | the number fits in a Lisp integer) or a list of integers. | ||
| 4262 | |||
| 4263 | *** insert-file-contents can now read from a special file, | ||
| 4264 | as long as the arguments VISIT and REPLACE are nil. | ||
| 4265 | |||
| 4266 | *** The RAWFILE arg to find-file-noselect, if non-nil, now suppresses | ||
| 4267 | character code conversion as well as other things. | ||
| 4268 | |||
| 4269 | Meanwhile, this feature does work with remote file names | ||
| 4270 | (formerly it did not). | ||
| 4271 | |||
| 4272 | *** Lisp packages which create temporary files should use the TMPDIR | ||
| 4273 | environment variable to decide which directory to put them in. | ||
| 4274 | |||
| 4275 | *** interpreter-mode-alist elements now specify regexps | ||
| 4276 | instead of constant strings. | ||
| 4277 | |||
| 4278 | *** expand-file-name no longer treats `//' or `/~' specially. It used | ||
| 4279 | to delete all the text of a file name up through the first slash of | ||
| 4280 | any `//' or `/~' sequence. Now it passes them straight through. | ||
| 4281 | |||
| 4282 | substitute-in-file-name continues to treat those sequences specially, | ||
| 4283 | in the same way as before. | ||
| 4284 | |||
| 4285 | *** The variable `format-alist' is more general now. | ||
| 4286 | The FROM-FN and TO-FN in a format definition can now be strings | ||
| 4287 | which specify shell commands to use as filters to perform conversion. | ||
| 4288 | |||
| 4289 | *** The new function access-file tries to open a file, and signals an | ||
| 4290 | error if that fails. If the open succeeds, access-file does nothing | ||
| 4291 | else, and returns nil. | ||
| 4292 | |||
| 4293 | *** The function insert-directory now signals an error if the specified | ||
| 4294 | directory cannot be listed. | ||
| 4295 | |||
| 4296 | ** Changes in minibuffer input | ||
| 4297 | |||
| 4298 | *** The functions read-buffer, read-variable, read-command, read-string | ||
| 4299 | read-file-name, read-from-minibuffer and completing-read now take an | ||
| 4300 | additional argument which specifies the default value. If this | ||
| 4301 | argument is non-nil, it should be a string; that string is used in two | ||
| 4302 | ways: | ||
| 4303 | |||
| 4304 | It is returned if the user enters empty input. | ||
| 4305 | It is available through the history command M-n. | ||
| 4306 | |||
| 4307 | *** The functions read-string, read-from-minibuffer, | ||
| 4308 | read-no-blanks-input and completing-read now take an additional | ||
| 4309 | argument INHERIT-INPUT-METHOD. If this is non-nil, then the | ||
| 4310 | minibuffer inherits the current input method and the setting of | ||
| 4311 | enable-multibyte-characters from the previously current buffer. | ||
| 4312 | |||
| 4313 | In an interactive spec, you can use M instead of s to read an | ||
| 4314 | argument in this way. | ||
| 4315 | |||
| 4316 | *** All minibuffer input functions discard text properties | ||
| 4317 | from the text you enter in the minibuffer, unless the variable | ||
| 4318 | minibuffer-allow-text-properties is non-nil. | ||
| 4319 | |||
| 4320 | ** Echo area features | ||
| 4321 | |||
| 4322 | *** Clearing the echo area now runs the normal hook | ||
| 4323 | echo-area-clear-hook. Note that the echo area can be used while the | ||
| 4324 | minibuffer is active; in that case, the minibuffer is still active | ||
| 4325 | after the echo area is cleared. | ||
| 4326 | |||
| 4327 | *** The function current-message returns the message currently displayed | ||
| 4328 | in the echo area, or nil if there is none. | ||
| 4329 | |||
| 4330 | ** Keyboard input features | ||
| 4331 | |||
| 4332 | *** tty-erase-char is a new variable that reports which character was | ||
| 4333 | set up as the terminal's erase character when time Emacs was started. | ||
| 4334 | |||
| 4335 | *** num-nonmacro-input-events is the total number of input events | ||
| 4336 | received so far from the terminal. It does not count those generated | ||
| 4337 | by keyboard macros. | ||
| 4338 | |||
| 4339 | ** Frame-related changes | ||
| 4340 | |||
| 4341 | *** make-frame runs the normal hook before-make-frame-hook just before | ||
| 4342 | creating a frame, and just after creating a frame it runs the abnormal | ||
| 4343 | hook after-make-frame-functions with the new frame as arg. | ||
| 4344 | |||
| 4345 | *** The new hook window-configuration-change-hook is now run every time | ||
| 4346 | the window configuration has changed. The frame whose configuration | ||
| 4347 | has changed is the selected frame when the hook is run. | ||
| 4348 | |||
| 4349 | *** Each frame now independently records the order for recently | ||
| 4350 | selected buffers, in its buffer-list frame parameter, so that the | ||
| 4351 | value of other-buffer is now based on the buffers recently displayed | ||
| 4352 | in the selected frame. | ||
| 4353 | |||
| 4354 | *** The value of the frame parameter vertical-scroll-bars | ||
| 4355 | is now `left', `right' or nil. A non-nil value specifies | ||
| 4356 | which side of the window to put the scroll bars on. | ||
| 4357 | |||
| 4358 | ** X Windows features | ||
| 4359 | |||
| 4360 | *** You can examine X resources for other applications by binding | ||
| 4361 | x-resource-class around a call to x-get-resource. The usual value of | ||
| 4362 | x-resource-class is "Emacs", which is the correct value for Emacs. | ||
| 4363 | |||
| 4364 | *** In menus, checkboxes and radio buttons now actually work. | ||
| 4365 | The menu displays the current status of the box or button. | ||
| 4366 | |||
| 4367 | *** The function x-list-fonts now takes an optional fourth argument | ||
| 4368 | MAXIMUM which sets a limit on how many matching fonts to return. | ||
| 4369 | A smaller value of MAXIMUM makes the function faster. | ||
| 4370 | |||
| 4371 | If the only question is whether *any* font matches the pattern, | ||
| 4372 | it is good to supply 1 for this argument. | ||
| 4373 | |||
| 4374 | ** Subprocess features | ||
| 4375 | |||
| 4376 | *** A reminder: it is no longer necessary for subprocess filter | ||
| 4377 | functions and sentinels to do save-match-data, because Emacs does this | ||
| 4378 | automatically. | ||
| 4379 | |||
| 4380 | *** The new function shell-command-to-string executes a shell command | ||
| 4381 | and returns the output from the command as a string. | ||
| 4382 | |||
| 4383 | *** The new function process-contact returns t for a child process, | ||
| 4384 | and (HOSTNAME SERVICE) for a net connection. | ||
| 4385 | |||
| 4386 | ** An error in running pre-command-hook or post-command-hook | ||
| 4387 | does clear the variable to nil. The documentation was wrong before. | ||
| 4388 | |||
| 4389 | ** In define-key-after, if AFTER is t, the new binding now always goes | ||
| 4390 | at the end of the keymap. If the keymap is a menu, this means it | ||
| 4391 | goes after the other menu items. | ||
| 4392 | |||
| 4393 | ** If you have a program that makes several changes in the same area | ||
| 4394 | of the buffer, you can use the macro combine-after-change-calls | ||
| 4395 | around that Lisp code to make it faster when after-change hooks | ||
| 4396 | are in use. | ||
| 4397 | |||
| 4398 | The macro arranges to call the after-change functions just once for a | ||
| 4399 | series of several changes--if that seems safe. | ||
| 4400 | |||
| 4401 | Don't alter the variables after-change-functions and | ||
| 4402 | after-change-function within the body of a combine-after-change-calls | ||
| 4403 | form. | ||
| 4404 | |||
| 4405 | ** If you define an abbrev (with define-abbrev) whose EXPANSION | ||
| 4406 | is not a string, then the abbrev does not expand in the usual sense, | ||
| 4407 | but its hook is still run. | ||
| 4408 | |||
| 4409 | ** Normally, the Lisp debugger is not used (even if you have enabled it) | ||
| 4410 | for errors that are handled by condition-case. | ||
| 4411 | |||
| 4412 | If you set debug-on-signal to a non-nil value, then the debugger is called | ||
| 4413 | regardless of whether there is a handler for the condition. This is | ||
| 4414 | useful for debugging problems that happen inside of a condition-case. | ||
| 4415 | |||
| 4416 | This mode of operation seems to be unreliable in other ways. Errors that | ||
| 4417 | are normal and ought to be handled, perhaps in timers or process | ||
| 4418 | filters, will instead invoke the debugger. So don't say you weren't | ||
| 4419 | warned. | ||
| 4420 | |||
| 4421 | ** The new variable ring-bell-function lets you specify your own | ||
| 4422 | way for Emacs to "ring the bell". | ||
| 4423 | |||
| 4424 | ** If run-at-time's TIME argument is t, the action is repeated at | ||
| 4425 | integral multiples of REPEAT from the epoch; this is useful for | ||
| 4426 | functions like display-time. | ||
| 4427 | |||
| 4428 | ** You can use the function locate-library to find the precise file | ||
| 4429 | name of a Lisp library. This isn't new, but wasn't documented before. | ||
| 4430 | |||
| 4431 | ** Commands for entering view mode have new optional arguments that | ||
| 4432 | can be used from Lisp. Low-level entrance to and exit from view mode | ||
| 4433 | is done by functions view-mode-enter and view-mode-exit. | ||
| 4434 | |||
| 4435 | ** batch-byte-compile-file now makes Emacs return a nonzero status code | ||
| 4436 | if there is an error in compilation. | ||
| 4437 | |||
| 4438 | ** pop-to-buffer, switch-to-buffer-other-window and | ||
| 4439 | switch-to-buffer-other-frame now accept an additional optional | ||
| 4440 | argument NORECORD, much like switch-to-buffer. If it is non-nil, | ||
| 4441 | they don't put the buffer at the front of the buffer list. | ||
| 4442 | |||
| 4443 | ** If your .emacs file leaves the *scratch* buffer non-empty, | ||
| 4444 | Emacs does not display the startup message, so as to avoid changing | ||
| 4445 | the *scratch* buffer. | ||
| 4446 | |||
| 4447 | ** The new function regexp-opt returns an efficient regexp to match a string. | ||
| 4448 | The arguments are STRINGS and (optionally) PAREN. This function can be used | ||
| 4449 | where regexp matching or searching is intensively used and speed is important, | ||
| 4450 | e.g., in Font Lock mode. | ||
| 4451 | |||
| 4452 | ** The variable buffer-display-count is local to each buffer, | ||
| 4453 | and is incremented each time the buffer is displayed in a window. | ||
| 4454 | It starts at 0 when the buffer is created. | ||
| 4455 | |||
| 4456 | ** The new function compose-mail starts composing a mail message | ||
| 4457 | using the user's chosen mail composition agent (specified with the | ||
| 4458 | variable mail-user-agent). It has variants compose-mail-other-window | ||
| 4459 | and compose-mail-other-frame. | ||
| 4460 | |||
| 4461 | ** The `user-full-name' function now takes an optional parameter which | ||
| 4462 | can either be a number (the UID) or a string (the login name). The | ||
| 4463 | full name of the specified user will be returned. | ||
| 4464 | |||
| 4465 | ** Lisp packages that load files of customizations, or any other sort | ||
| 4466 | of user profile, should obey the variable init-file-user in deciding | ||
| 4467 | where to find it. They should load the profile of the user name found | ||
| 4468 | in that variable. If init-file-user is nil, meaning that the -q | ||
| 4469 | option was used, then Lisp packages should not load the customization | ||
| 4470 | files at all. | ||
| 4471 | |||
| 4472 | ** format-time-string now allows you to specify the field width | ||
| 4473 | and type of padding. This works as in printf: you write the field | ||
| 4474 | width as digits in the middle of a %-construct. If you start | ||
| 4475 | the field width with 0, it means to pad with zeros. | ||
| 4476 | |||
| 4477 | For example, %S normally specifies the number of seconds since the | ||
| 4478 | minute; %03S means to pad this with zeros to 3 positions, %_3S to pad | ||
| 4479 | with spaces to 3 positions. Plain %3S pads with zeros, because that | ||
| 4480 | is how %S normally pads to two positions. | ||
| 4481 | |||
| 4482 | ** thing-at-point now supports a new kind of "thing": url. | ||
| 4483 | |||
| 4484 | ** imenu.el changes. | ||
| 4485 | |||
| 4486 | You can now specify a function to be run when selecting an | ||
| 4487 | item from menu created by imenu. | ||
| 4488 | |||
| 4489 | An example of using this feature: if we define imenu items for the | ||
| 4490 | #include directives in a C file, we can open the included file when we | ||
| 4491 | select one of those items. | ||
| 4492 | |||
| 4493 | |||
| 4494 | ---------------------------------------------------------------------- | ||
| 4495 | Copyright information: | ||
| 4496 | |||
| 4497 | Copyright (C) 1999, 2000, 2006 | ||
| 4498 | Free Software Foundation, Inc. | ||
| 4499 | |||
| 4500 | Permission is granted to anyone to make or distribute verbatim copies | ||
| 4501 | of this document as received, in any medium, provided that the | ||
| 4502 | copyright notice and this permission notice are preserved, | ||
| 4503 | thus giving the recipient permission to redistribute in turn. | ||
| 4504 | |||
| 4505 | Permission is granted to distribute modified versions | ||
| 4506 | of this document, or of portions of it, | ||
| 4507 | under the above conditions, provided also that they | ||
| 4508 | carry prominent notices stating who last changed them. | ||
| 4509 | |||
| 4510 | Local variables: | ||
| 4511 | mode: outline | ||
| 4512 | paragraph-separate: "[ ]*$" | ||
| 4513 | end: | ||
diff --git a/etc/NEWS.21 b/etc/NEWS.21 new file mode 100644 index 00000000000..44462b3f827 --- /dev/null +++ b/etc/NEWS.21 | |||
| @@ -0,0 +1,4900 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. 2006-05-31 | ||
| 2 | Copyright (C) 2000, 2001, 2002, 2003, 2006 | ||
| 3 | Free Software Foundation, Inc. | ||
| 4 | See the end for copying conditions. | ||
| 5 | |||
| 6 | This file is about changes in emacs version 21. | ||
| 7 | |||
| 8 | |||
| 9 | |||
| 10 | * Emacs 21.4 is a bug-fix release with no user-visible changes. | ||
| 11 | |||
| 12 | |||
| 13 | |||
| 14 | * Installation changes in Emacs 21.3 | ||
| 15 | |||
| 16 | ** Support for GNU/Linux on little-endian MIPS and on IBM S390 has | ||
| 17 | been added. | ||
| 18 | |||
| 19 | |||
| 20 | * Changes in Emacs 21.3 | ||
| 21 | |||
| 22 | ** The obsolete C mode (c-mode.el) has been removed to avoid problems | ||
| 23 | with Custom. | ||
| 24 | |||
| 25 | ** UTF-16 coding systems are available, encoding the same characters | ||
| 26 | as mule-utf-8. | ||
| 27 | |||
| 28 | ** There is a new language environment for UTF-8 (set up automatically | ||
| 29 | in UTF-8 locales). | ||
| 30 | |||
| 31 | ** Translation tables are available between equivalent characters in | ||
| 32 | different Emacs charsets -- for instance `e with acute' coming from the | ||
| 33 | Latin-1 and Latin-2 charsets. User options `unify-8859-on-encoding-mode' | ||
| 34 | and `unify-8859-on-decoding-mode' respectively turn on translation | ||
| 35 | between ISO 8859 character sets (`unification') on encoding | ||
| 36 | (e.g. writing a file) and decoding (e.g. reading a file). Note that | ||
| 37 | `unify-8859-on-encoding-mode' is useful and safe, but | ||
| 38 | `unify-8859-on-decoding-mode' can cause text to change when you read | ||
| 39 | it and write it out again without edits, so it is not generally advisable. | ||
| 40 | By default `unify-8859-on-encoding-mode' is turned on. | ||
| 41 | |||
| 42 | ** In Emacs running on the X window system, the default value of | ||
| 43 | `selection-coding-system' is now `compound-text-with-extensions'. | ||
| 44 | |||
| 45 | If you want the old behavior, set selection-coding-system to | ||
| 46 | compound-text, which may be significantly more efficient. Using | ||
| 47 | compound-text-with-extensions seems to be necessary only for decoding | ||
| 48 | text from applications under XFree86 4.2, whose behavior is actually | ||
| 49 | contrary to the compound text specification. | ||
| 50 | |||
| 51 | |||
| 52 | |||
| 53 | * Installation changes in Emacs 21.2 | ||
| 54 | |||
| 55 | ** Support for BSD/OS 5.0 has been added. | ||
| 56 | |||
| 57 | ** Support for AIX 5.1 was added. | ||
| 58 | |||
| 59 | |||
| 60 | * Changes in Emacs 21.2 | ||
| 61 | |||
| 62 | ** Emacs now supports compound-text extended segments in X selections. | ||
| 63 | |||
| 64 | X applications can use `extended segments' to encode characters in | ||
| 65 | compound text that belong to character sets which are not part of the | ||
| 66 | list of approved standard encodings for X, e.g. Big5. To paste | ||
| 67 | selections with such characters into Emacs, use the new coding system | ||
| 68 | compound-text-with-extensions as the value of selection-coding-system. | ||
| 69 | |||
| 70 | ** The default values of `tooltip-delay' and `tooltip-hide-delay' | ||
| 71 | were changed. | ||
| 72 | |||
| 73 | ** On terminals whose erase-char is ^H (Backspace), Emacs | ||
| 74 | now uses normal-erase-is-backspace-mode. | ||
| 75 | |||
| 76 | ** When the *scratch* buffer is recreated, its mode is set from | ||
| 77 | initial-major-mode, which normally is lisp-interaction-mode, | ||
| 78 | instead of using default-major-mode. | ||
| 79 | |||
| 80 | ** The new option `Info-scroll-prefer-subnodes' causes Info to behave | ||
| 81 | like the stand-alone Info reader (from the GNU Texinfo package) as far | ||
| 82 | as motion between nodes and their subnodes is concerned. If it is t | ||
| 83 | (the default), Emacs behaves as before when you type SPC in a menu: it | ||
| 84 | visits the subnode pointed to by the first menu entry. If this option | ||
| 85 | is nil, SPC scrolls to the end of the current node, and only then goes | ||
| 86 | to the first menu item, like the stand-alone reader does. | ||
| 87 | |||
| 88 | This change was already in Emacs 21.1, but wasn't advertised in the | ||
| 89 | NEWS. | ||
| 90 | |||
| 91 | |||
| 92 | * Lisp Changes in Emacs 21.2 | ||
| 93 | |||
| 94 | ** The meanings of scroll-up-aggressively and scroll-down-aggressively | ||
| 95 | have been interchanged, so that the former now controls scrolling up, | ||
| 96 | and the latter now controls scrolling down. | ||
| 97 | |||
| 98 | ** The variable `compilation-parse-errors-filename-function' can | ||
| 99 | be used to transform filenames found in compilation output. | ||
| 100 | |||
| 101 | |||
| 102 | |||
| 103 | * Installation Changes in Emacs 21.1 | ||
| 104 | |||
| 105 | See the INSTALL file for information on installing extra libraries and | ||
| 106 | fonts to take advantage of the new graphical features and extra | ||
| 107 | charsets in this release. | ||
| 108 | |||
| 109 | ** Support for GNU/Linux on IA64 machines has been added. | ||
| 110 | |||
| 111 | ** Support for LynxOS has been added. | ||
| 112 | |||
| 113 | ** There are new configure options associated with the support for | ||
| 114 | images and toolkit scrollbars. Use the --help option in `configure' | ||
| 115 | to list them. | ||
| 116 | |||
| 117 | ** You can build a 64-bit Emacs for SPARC/Solaris systems which | ||
| 118 | support 64-bit executables and also on Irix 6.5. This increases the | ||
| 119 | maximum buffer size. See etc/MACHINES for instructions. Changes to | ||
| 120 | build on other 64-bit systems should be straightforward modulo any | ||
| 121 | necessary changes to unexec. | ||
| 122 | |||
| 123 | ** There is a new configure option `--disable-largefile' to omit | ||
| 124 | Unix-98-style support for large files if that is available. | ||
| 125 | |||
| 126 | ** There is a new configure option `--without-xim' that instructs | ||
| 127 | Emacs to not use X Input Methods (XIM), if these are available. | ||
| 128 | |||
| 129 | ** `movemail' defaults to supporting POP. You can turn this off using | ||
| 130 | the --without-pop configure option, should that be necessary. | ||
| 131 | |||
| 132 | ** This version can be built for the Macintosh, but does not implement | ||
| 133 | all of the new display features described below. The port currently | ||
| 134 | lacks unexec, asynchronous processes, and networking support. See the | ||
| 135 | "Emacs and the Mac OS" appendix in the Emacs manual, for the | ||
| 136 | description of aspects specific to the Mac. | ||
| 137 | |||
| 138 | ** Note that the MS-Windows port does not yet implement various of the | ||
| 139 | new display features described below. | ||
| 140 | |||
| 141 | |||
| 142 | * Changes in Emacs 21.1 | ||
| 143 | |||
| 144 | ** Emacs has a new redisplay engine. | ||
| 145 | |||
| 146 | The new redisplay handles characters of variable width and height. | ||
| 147 | Italic text can be used without redisplay problems. Fonts containing | ||
| 148 | oversized characters, i.e. characters larger than the logical height | ||
| 149 | of a font can be used. Images of various formats can be displayed in | ||
| 150 | the text. | ||
| 151 | |||
| 152 | ** Emacs has a new face implementation. | ||
| 153 | |||
| 154 | The new faces no longer fundamentally use X font names to specify the | ||
| 155 | font. Instead, each face has several independent attributes--family, | ||
| 156 | height, width, weight and slant--that it may or may not specify. | ||
| 157 | These attributes can be merged from various faces, and then together | ||
| 158 | specify a font. | ||
| 159 | |||
| 160 | Faces are supported on terminals that can display color or fonts. | ||
| 161 | These terminal capabilities are auto-detected. Details can be found | ||
| 162 | under Lisp changes, below. | ||
| 163 | |||
| 164 | ** Emacs can display faces on TTY frames. | ||
| 165 | |||
| 166 | Emacs automatically detects terminals that are able to display colors. | ||
| 167 | Faces with a weight greater than normal are displayed extra-bright, if | ||
| 168 | the terminal supports it. Faces with a weight less than normal and | ||
| 169 | italic faces are displayed dimmed, if the terminal supports it. | ||
| 170 | Underlined faces are displayed underlined if possible. Other face | ||
| 171 | attributes such as `overline', `strike-through', and `box' are ignored | ||
| 172 | on terminals. | ||
| 173 | |||
| 174 | The command-line options `-fg COLOR', `-bg COLOR', and `-rv' are now | ||
| 175 | supported on character terminals. | ||
| 176 | |||
| 177 | Emacs automatically remaps all X-style color specifications to one of | ||
| 178 | the colors supported by the terminal. This means you could have the | ||
| 179 | same color customizations that work both on a windowed display and on | ||
| 180 | a TTY or when Emacs is invoked with the -nw option. | ||
| 181 | |||
| 182 | ** New default font is Courier 12pt under X. | ||
| 183 | |||
| 184 | ** Sound support | ||
| 185 | |||
| 186 | Emacs supports playing sound files on GNU/Linux and FreeBSD (Voxware | ||
| 187 | driver and native BSD driver, a.k.a. Luigi's driver). Currently | ||
| 188 | supported file formats are RIFF-WAVE (*.wav) and Sun Audio (*.au). | ||
| 189 | You must configure Emacs with the option `--with-sound=yes' to enable | ||
| 190 | sound support. | ||
| 191 | |||
| 192 | ** Emacs now resizes mini-windows if appropriate. | ||
| 193 | |||
| 194 | If a message is longer than one line, or minibuffer contents are | ||
| 195 | longer than one line, Emacs can resize the minibuffer window unless it | ||
| 196 | is on a frame of its own. You can control resizing and the maximum | ||
| 197 | minibuffer window size by setting the following variables: | ||
| 198 | |||
| 199 | - User option: max-mini-window-height | ||
| 200 | |||
| 201 | Maximum height for resizing mini-windows. If a float, it specifies a | ||
| 202 | fraction of the mini-window frame's height. If an integer, it | ||
| 203 | specifies a number of lines. | ||
| 204 | |||
| 205 | Default is 0.25. | ||
| 206 | |||
| 207 | - User option: resize-mini-windows | ||
| 208 | |||
| 209 | How to resize mini-windows. If nil, don't resize. If t, always | ||
| 210 | resize to fit the size of the text. If `grow-only', let mini-windows | ||
| 211 | grow only, until they become empty, at which point they are shrunk | ||
| 212 | again. | ||
| 213 | |||
| 214 | Default is `grow-only'. | ||
| 215 | |||
| 216 | ** LessTif support. | ||
| 217 | |||
| 218 | Emacs now runs with the LessTif toolkit (see | ||
| 219 | <http://www.lesstif.org>). You will need version 0.92.26, or later. | ||
| 220 | |||
| 221 | ** LessTif/Motif file selection dialog. | ||
| 222 | |||
| 223 | When Emacs is configured to use LessTif or Motif, reading a file name | ||
| 224 | from a menu will pop up a file selection dialog if `use-dialog-box' is | ||
| 225 | non-nil. | ||
| 226 | |||
| 227 | ** File selection dialog on MS-Windows is supported. | ||
| 228 | |||
| 229 | When a file is visited by clicking File->Open, the MS-Windows version | ||
| 230 | now pops up a standard file selection dialog where you can select a | ||
| 231 | file to visit. File->Save As also pops up that dialog. | ||
| 232 | |||
| 233 | ** Toolkit scroll bars. | ||
| 234 | |||
| 235 | Emacs now uses toolkit scroll bars if available. When configured for | ||
| 236 | LessTif/Motif, it will use that toolkit's scroll bar. Otherwise, when | ||
| 237 | configured for Lucid and Athena widgets, it will use the Xaw3d scroll | ||
| 238 | bar if Xaw3d is available. You can turn off the use of toolkit scroll | ||
| 239 | bars by specifying `--with-toolkit-scroll-bars=no' when configuring | ||
| 240 | Emacs. | ||
| 241 | |||
| 242 | When you encounter problems with the Xaw3d scroll bar, watch out how | ||
| 243 | Xaw3d is compiled on your system. If the Makefile generated from | ||
| 244 | Xaw3d's Imakefile contains a `-DNARROWPROTO' compiler option, and your | ||
| 245 | Emacs system configuration file `s/your-system.h' does not contain a | ||
| 246 | define for NARROWPROTO, you might consider adding it. Take | ||
| 247 | `s/freebsd.h' as an example. | ||
| 248 | |||
| 249 | Alternatively, if you don't have access to the Xaw3d source code, take | ||
| 250 | a look at your system's imake configuration file, for example in the | ||
| 251 | directory `/usr/X11R6/lib/X11/config' (paths are different on | ||
| 252 | different systems). You will find files `*.cf' there. If your | ||
| 253 | system's cf-file contains a line like `#define NeedWidePrototypes NO', | ||
| 254 | add a `#define NARROWPROTO' to your Emacs system configuration file. | ||
| 255 | |||
| 256 | The reason for this is that one Xaw3d function uses `double' or | ||
| 257 | `float' function parameters depending on the setting of NARROWPROTO. | ||
| 258 | This is not a problem when Imakefiles are used because each system's | ||
| 259 | imake configuration file contains the necessary information. Since | ||
| 260 | Emacs doesn't use imake, this has do be done manually. | ||
| 261 | |||
| 262 | ** Tool bar support. | ||
| 263 | |||
| 264 | Emacs supports a tool bar at the top of a frame under X. For details | ||
| 265 | of how to define a tool bar, see the page describing Lisp-level | ||
| 266 | changes. Tool-bar global minor mode controls whether or not it is | ||
| 267 | displayed and is on by default. The appearance of the bar is improved | ||
| 268 | if Emacs has been built with XPM image support. Otherwise monochrome | ||
| 269 | icons will be used. | ||
| 270 | |||
| 271 | To make the tool bar more useful, we need contributions of extra icons | ||
| 272 | for specific modes (with copyright assignments). | ||
| 273 | |||
| 274 | ** Tooltips. | ||
| 275 | |||
| 276 | Tooltips are small X windows displaying a help string at the current | ||
| 277 | mouse position. The Lisp package `tooltip' implements them. You can | ||
| 278 | turn them off via the user option `tooltip-mode'. | ||
| 279 | |||
| 280 | Tooltips also provides support for GUD debugging. If activated, | ||
| 281 | variable values can be displayed in tooltips by pointing at them with | ||
| 282 | the mouse in source buffers. You can customize various aspects of the | ||
| 283 | tooltip display in the group `tooltip'. | ||
| 284 | |||
| 285 | ** Automatic Hscrolling | ||
| 286 | |||
| 287 | Horizontal scrolling now happens automatically if | ||
| 288 | `automatic-hscrolling' is set (the default). This setting can be | ||
| 289 | customized. | ||
| 290 | |||
| 291 | If a window is scrolled horizontally with set-window-hscroll, or | ||
| 292 | scroll-left/scroll-right (C-x <, C-x >), this serves as a lower bound | ||
| 293 | for automatic horizontal scrolling. Automatic scrolling will scroll | ||
| 294 | the text more to the left if necessary, but won't scroll the text more | ||
| 295 | to the right than the column set with set-window-hscroll etc. | ||
| 296 | |||
| 297 | ** When using a windowing terminal, each Emacs window now has a cursor | ||
| 298 | of its own. By default, when a window is selected, the cursor is | ||
| 299 | solid; otherwise, it is hollow. The user-option | ||
| 300 | `cursor-in-non-selected-windows' controls how to display the | ||
| 301 | cursor in non-selected windows. If nil, no cursor is shown, if | ||
| 302 | non-nil a hollow box cursor is shown. | ||
| 303 | |||
| 304 | ** Fringes to the left and right of windows are used to display | ||
| 305 | truncation marks, continuation marks, overlay arrows and alike. The | ||
| 306 | foreground, background, and stipple of these areas can be changed by | ||
| 307 | customizing face `fringe'. | ||
| 308 | |||
| 309 | ** The mode line under X is now drawn with shadows by default. | ||
| 310 | You can change its appearance by modifying the face `mode-line'. | ||
| 311 | In particular, setting the `:box' attribute to nil turns off the 3D | ||
| 312 | appearance of the mode line. (The 3D appearance makes the mode line | ||
| 313 | occupy more space, and thus might cause the first or the last line of | ||
| 314 | the window to be partially obscured.) | ||
| 315 | |||
| 316 | The variable `mode-line-inverse-video', which was used in older | ||
| 317 | versions of emacs to make the mode-line stand out, is now deprecated. | ||
| 318 | However, setting it to nil will cause the `mode-line' face to be | ||
| 319 | ignored, and mode-lines to be drawn using the default text face. | ||
| 320 | |||
| 321 | ** Mouse-sensitive mode line. | ||
| 322 | |||
| 323 | Different parts of the mode line have been made mouse-sensitive on all | ||
| 324 | systems which support the mouse. Moving the mouse to a | ||
| 325 | mouse-sensitive part in the mode line changes the appearance of the | ||
| 326 | mouse pointer to an arrow, and help about available mouse actions is | ||
| 327 | displayed either in the echo area, or in the tooltip window if you | ||
| 328 | have enabled one. | ||
| 329 | |||
| 330 | Currently, the following actions have been defined: | ||
| 331 | |||
| 332 | - Mouse-1 on the buffer name in the mode line goes to the next buffer. | ||
| 333 | |||
| 334 | - Mouse-3 on the buffer-name goes to the previous buffer. | ||
| 335 | |||
| 336 | - Mouse-2 on the read-only or modified status in the mode line (`%' or | ||
| 337 | `*') toggles the status. | ||
| 338 | |||
| 339 | - Mouse-3 on the major mode name displays a major mode menu. | ||
| 340 | |||
| 341 | - Mouse-3 on the mode name displays a minor-mode menu. | ||
| 342 | |||
| 343 | ** Hourglass pointer | ||
| 344 | |||
| 345 | Emacs can optionally display an hourglass pointer under X. You can | ||
| 346 | turn the display on or off by customizing group `cursor'. | ||
| 347 | |||
| 348 | ** Blinking cursor | ||
| 349 | |||
| 350 | M-x blink-cursor-mode toggles a blinking cursor under X and on | ||
| 351 | terminals having terminal capabilities `vi', `vs', and `ve'. Blinking | ||
| 352 | and related parameters like frequency and delay can be customized in | ||
| 353 | the group `cursor'. | ||
| 354 | |||
| 355 | ** New font-lock support mode `jit-lock-mode'. | ||
| 356 | |||
| 357 | This support mode is roughly equivalent to `lazy-lock' but is | ||
| 358 | generally faster. It supports stealth and deferred fontification. | ||
| 359 | See the documentation of the function `jit-lock-mode' for more | ||
| 360 | details. | ||
| 361 | |||
| 362 | Font-lock uses jit-lock-mode as default support mode, so you don't | ||
| 363 | have to do anything to activate it. | ||
| 364 | |||
| 365 | ** The default binding of the Delete key has changed. | ||
| 366 | |||
| 367 | The new user-option `normal-erase-is-backspace' can be set to | ||
| 368 | determine the effect of the Delete and Backspace function keys. | ||
| 369 | |||
| 370 | On window systems, the default value of this option is chosen | ||
| 371 | according to the keyboard used. If the keyboard has both a Backspace | ||
| 372 | key and a Delete key, and both are mapped to their usual meanings, the | ||
| 373 | option's default value is set to t, so that Backspace can be used to | ||
| 374 | delete backward, and Delete can be used to delete forward. On | ||
| 375 | keyboards which either have only one key (usually labeled DEL), or two | ||
| 376 | keys DEL and BS which produce the same effect, the option's value is | ||
| 377 | set to nil, and these keys delete backward. | ||
| 378 | |||
| 379 | If not running under a window system, setting this option accomplishes | ||
| 380 | a similar effect by mapping C-h, which is usually generated by the | ||
| 381 | Backspace key, to DEL, and by mapping DEL to C-d via | ||
| 382 | `keyboard-translate'. The former functionality of C-h is available on | ||
| 383 | the F1 key. You should probably not use this setting on a text-only | ||
| 384 | terminal if you don't have both Backspace, Delete and F1 keys. | ||
| 385 | |||
| 386 | Programmatically, you can call function normal-erase-is-backspace-mode | ||
| 387 | to toggle the behavior of the Delete and Backspace keys. | ||
| 388 | |||
| 389 | ** The default for user-option `next-line-add-newlines' has been | ||
| 390 | changed to nil, i.e. C-n will no longer add newlines at the end of a | ||
| 391 | buffer by default. | ||
| 392 | |||
| 393 | ** The <home> and <end> keys now move to the beginning or end of the | ||
| 394 | current line, respectively. C-<home> and C-<end> move to the | ||
| 395 | beginning and end of the buffer. | ||
| 396 | |||
| 397 | ** Emacs now checks for recursive loads of Lisp files. If the | ||
| 398 | recursion depth exceeds `recursive-load-depth-limit', an error is | ||
| 399 | signaled. | ||
| 400 | |||
| 401 | ** When an error is signaled during the loading of the user's init | ||
| 402 | file, Emacs now pops up the *Messages* buffer. | ||
| 403 | |||
| 404 | ** Emacs now refuses to load compiled Lisp files which weren't | ||
| 405 | compiled with Emacs. Set `load-dangerous-libraries' to t to change | ||
| 406 | this behavior. | ||
| 407 | |||
| 408 | The reason for this change is an incompatible change in XEmacs's byte | ||
| 409 | compiler. Files compiled with XEmacs can contain byte codes that let | ||
| 410 | Emacs dump core. | ||
| 411 | |||
| 412 | ** Toggle buttons and radio buttons in menus. | ||
| 413 | |||
| 414 | When compiled with LessTif (or Motif) support, Emacs uses toolkit | ||
| 415 | widgets for radio and toggle buttons in menus. When configured for | ||
| 416 | Lucid, Emacs draws radio buttons and toggle buttons similar to Motif. | ||
| 417 | |||
| 418 | ** The menu bar configuration has changed. The new configuration is | ||
| 419 | more CUA-compliant. The most significant change is that Options is | ||
| 420 | now a separate menu-bar item, with Mule and Customize as its submenus. | ||
| 421 | |||
| 422 | ** Item Save Options on the Options menu allows saving options set | ||
| 423 | using that menu. | ||
| 424 | |||
| 425 | ** Highlighting of trailing whitespace. | ||
| 426 | |||
| 427 | When `show-trailing-whitespace' is non-nil, Emacs displays trailing | ||
| 428 | whitespace in the face `trailing-whitespace'. Trailing whitespace is | ||
| 429 | defined as spaces or tabs at the end of a line. To avoid busy | ||
| 430 | highlighting when entering new text, trailing whitespace is not | ||
| 431 | displayed if point is at the end of the line containing the | ||
| 432 | whitespace. | ||
| 433 | |||
| 434 | ** C-x 5 1 runs the new command delete-other-frames which deletes | ||
| 435 | all frames except the selected one. | ||
| 436 | |||
| 437 | ** The new user-option `confirm-kill-emacs' can be customized to | ||
| 438 | let Emacs ask for confirmation before exiting. | ||
| 439 | |||
| 440 | ** The header line in an Info buffer is now displayed as an emacs | ||
| 441 | header-line (which is like a mode-line, but at the top of the window), | ||
| 442 | so that it remains visible even when the buffer has been scrolled. | ||
| 443 | This behavior may be disabled by customizing the option | ||
| 444 | `Info-use-header-line'. | ||
| 445 | |||
| 446 | ** Polish, Czech, German, and French translations of Emacs' reference card | ||
| 447 | have been added. They are named `pl-refcard.tex', `cs-refcard.tex', | ||
| 448 | `de-refcard.tex' and `fr-refcard.tex'. Postscript files are included. | ||
| 449 | |||
| 450 | ** An `Emacs Survival Guide', etc/survival.tex, is available. | ||
| 451 | |||
| 452 | ** A reference card for Dired has been added. Its name is | ||
| 453 | `dired-ref.tex'. A French translation is available in | ||
| 454 | `fr-drdref.tex'. | ||
| 455 | |||
| 456 | ** C-down-mouse-3 is bound differently. Now if the menu bar is not | ||
| 457 | displayed it pops up a menu containing the items which would be on the | ||
| 458 | menu bar. If the menu bar is displayed, it pops up the major mode | ||
| 459 | menu or the Edit menu if there is no major mode menu. | ||
| 460 | |||
| 461 | ** Variable `load-path' is no longer customizable through Customize. | ||
| 462 | |||
| 463 | You can no longer use `M-x customize-variable' to customize `load-path' | ||
| 464 | because it now contains a version-dependent component. You can still | ||
| 465 | use `add-to-list' and `setq' to customize this variable in your | ||
| 466 | `~/.emacs' init file or to modify it from any Lisp program in general. | ||
| 467 | |||
| 468 | ** C-u C-x = provides detailed information about the character at | ||
| 469 | point in a pop-up window. | ||
| 470 | |||
| 471 | ** Emacs can now support 'wheeled' mice (such as the MS IntelliMouse) | ||
| 472 | under XFree86. To enable this, use the `mouse-wheel-mode' command, or | ||
| 473 | customize the variable `mouse-wheel-mode'. | ||
| 474 | |||
| 475 | The variables `mouse-wheel-follow-mouse' and `mouse-wheel-scroll-amount' | ||
| 476 | determine where and by how much buffers are scrolled. | ||
| 477 | |||
| 478 | ** Emacs' auto-save list files are now by default stored in a | ||
| 479 | sub-directory `.emacs.d/auto-save-list/' of the user's home directory. | ||
| 480 | (On MS-DOS, this subdirectory's name is `_emacs.d/auto-save.list/'.) | ||
| 481 | You can customize `auto-save-list-file-prefix' to change this location. | ||
| 482 | |||
| 483 | ** The function `getenv' is now callable interactively. | ||
| 484 | |||
| 485 | ** The new user-option `even-window-heights' can be set to nil | ||
| 486 | to prevent `display-buffer' from evening out window heights. | ||
| 487 | |||
| 488 | ** The new command M-x delete-trailing-whitespace RET will delete the | ||
| 489 | trailing whitespace within the current restriction. You can also add | ||
| 490 | this function to `write-file-hooks' or `local-write-file-hooks'. | ||
| 491 | |||
| 492 | ** When visiting a file with M-x find-file-literally, no newlines will | ||
| 493 | be added to the end of the buffer even if `require-final-newline' is | ||
| 494 | non-nil. | ||
| 495 | |||
| 496 | ** The new user-option `find-file-suppress-same-file-warnings' can be | ||
| 497 | set to suppress warnings ``X and Y are the same file'' when visiting a | ||
| 498 | file that is already visited under a different name. | ||
| 499 | |||
| 500 | ** The new user-option `electric-help-shrink-window' can be set to | ||
| 501 | nil to prevent adjusting the help window size to the buffer size. | ||
| 502 | |||
| 503 | ** New command M-x describe-character-set reads a character set name | ||
| 504 | and displays information about that. | ||
| 505 | |||
| 506 | ** The new variable `auto-mode-interpreter-regexp' contains a regular | ||
| 507 | expression matching interpreters, for file mode determination. | ||
| 508 | |||
| 509 | This regular expression is matched against the first line of a file to | ||
| 510 | determine the file's mode in `set-auto-mode' when Emacs can't deduce a | ||
| 511 | mode from the file's name. If it matches, the file is assumed to be | ||
| 512 | interpreted by the interpreter matched by the second group of the | ||
| 513 | regular expression. The mode is then determined as the mode | ||
| 514 | associated with that interpreter in `interpreter-mode-alist'. | ||
| 515 | |||
| 516 | ** New function executable-make-buffer-file-executable-if-script-p is | ||
| 517 | suitable as an after-save-hook as an alternative to `executable-chmod'. | ||
| 518 | |||
| 519 | ** The most preferred coding-system is now used to save a buffer if | ||
| 520 | buffer-file-coding-system is `undecided' and it is safe for the buffer | ||
| 521 | contents. (The most preferred is set by set-language-environment or | ||
| 522 | by M-x prefer-coding-system.) Thus if you visit an ASCII file and | ||
| 523 | insert a non-ASCII character from your current language environment, | ||
| 524 | the file will be saved silently with the appropriate coding. | ||
| 525 | Previously you would be prompted for a safe coding system. | ||
| 526 | |||
| 527 | ** The many obsolete language `setup-...-environment' commands have | ||
| 528 | been removed -- use `set-language-environment'. | ||
| 529 | |||
| 530 | ** The new Custom option `keyboard-coding-system' specifies a coding | ||
| 531 | system for keyboard input. | ||
| 532 | |||
| 533 | ** New variable `inhibit-iso-escape-detection' determines if Emacs' | ||
| 534 | coding system detection algorithm should pay attention to ISO2022's | ||
| 535 | escape sequences. If this variable is non-nil, the algorithm ignores | ||
| 536 | such escape sequences. The default value is nil, and it is | ||
| 537 | recommended not to change it except for the special case that you | ||
| 538 | always want to read any escape code verbatim. If you just want to | ||
| 539 | read a specific file without decoding escape codes, use C-x RET c | ||
| 540 | (`universal-coding-system-argument'). For instance, C-x RET c latin-1 | ||
| 541 | RET C-x C-f filename RET. | ||
| 542 | |||
| 543 | ** Variable `default-korean-keyboard' is initialized properly from the | ||
| 544 | environment variable `HANGUL_KEYBOARD_TYPE'. | ||
| 545 | |||
| 546 | ** New command M-x list-charset-chars reads a character set name and | ||
| 547 | displays all characters in that character set. | ||
| 548 | |||
| 549 | ** M-x set-terminal-coding-system (C-x RET t) now allows CCL-based | ||
| 550 | coding systems such as cpXXX and cyrillic-koi8. | ||
| 551 | |||
| 552 | ** Emacs now attempts to determine the initial language environment | ||
| 553 | and preferred and locale coding systems systematically from the | ||
| 554 | LC_ALL, LC_CTYPE, and LANG environment variables during startup. | ||
| 555 | |||
| 556 | ** New language environments `Polish', `Latin-8' and `Latin-9'. | ||
| 557 | Latin-8 and Latin-9 correspond respectively to the ISO character sets | ||
| 558 | 8859-14 (Celtic) and 8859-15 (updated Latin-1, with the Euro sign). | ||
| 559 | GNU Intlfonts doesn't support these yet but recent X releases have | ||
| 560 | 8859-15. See etc/INSTALL for information on obtaining extra fonts. | ||
| 561 | There are new Leim input methods for Latin-8 and Latin-9 prefix (only) | ||
| 562 | and Polish `slash'. | ||
| 563 | |||
| 564 | ** New language environments `Dutch' and `Spanish'. | ||
| 565 | These new environments mainly select appropriate translations | ||
| 566 | of the tutorial. | ||
| 567 | |||
| 568 | ** In Ethiopic language environment, special key bindings for | ||
| 569 | function keys are changed as follows. This is to conform to "Emacs | ||
| 570 | Lisp Coding Convention". | ||
| 571 | |||
| 572 | new command old-binding | ||
| 573 | --- ------- ----------- | ||
| 574 | f3 ethio-fidel-to-sera-buffer f5 | ||
| 575 | S-f3 ethio-fidel-to-sera-region f5 | ||
| 576 | C-f3 ethio-fidel-to-sera-mail-or-marker f5 | ||
| 577 | |||
| 578 | f4 ethio-sera-to-fidel-buffer unchanged | ||
| 579 | S-f4 ethio-sera-to-fidel-region unchanged | ||
| 580 | C-f4 ethio-sera-to-fidel-mail-or-marker unchanged | ||
| 581 | |||
| 582 | S-f5 ethio-toggle-punctuation f3 | ||
| 583 | S-f6 ethio-modify-vowel f6 | ||
| 584 | S-f7 ethio-replace-space f7 | ||
| 585 | S-f8 ethio-input-special-character f8 | ||
| 586 | S-f9 ethio-replace-space unchanged | ||
| 587 | C-f9 ethio-toggle-space f2 | ||
| 588 | |||
| 589 | ** There are new Leim input methods. | ||
| 590 | New input methods "turkish-postfix", "turkish-alt-postfix", | ||
| 591 | "greek-mizuochi", "TeX", and "greek-babel" are now part of the Leim | ||
| 592 | package. | ||
| 593 | |||
| 594 | ** The rule of input method "slovak" is slightly changed. Now the | ||
| 595 | rules for translating "q" and "Q" to "`" (backquote) are deleted, thus | ||
| 596 | typing them inserts "q" and "Q" respectively. Rules for translating | ||
| 597 | "=q", "+q", "=Q", and "+Q" to "`" are also deleted. Now, to input | ||
| 598 | "`", you must type "=q". | ||
| 599 | |||
| 600 | ** When your terminal can't display characters from some of the ISO | ||
| 601 | 8859 character sets but can display Latin-1, you can display | ||
| 602 | more-or-less mnemonic sequences of ASCII/Latin-1 characters instead of | ||
| 603 | empty boxes (under a window system) or question marks (not under a | ||
| 604 | window system). Customize the option `latin1-display' to turn this | ||
| 605 | on. | ||
| 606 | |||
| 607 | ** M-; now calls comment-dwim which tries to do something clever based | ||
| 608 | on the context. M-x kill-comment is now an alias to comment-kill, | ||
| 609 | defined in newcomment.el. You can choose different styles of region | ||
| 610 | commenting with the variable `comment-style'. | ||
| 611 | |||
| 612 | ** New user options `display-time-mail-face' and | ||
| 613 | `display-time-use-mail-icon' control the appearance of mode-line mail | ||
| 614 | indicator used by the display-time package. On a suitable display the | ||
| 615 | indicator can be an icon and is mouse-sensitive. | ||
| 616 | |||
| 617 | ** On window-systems, additional space can be put between text lines | ||
| 618 | on the display using several methods | ||
| 619 | |||
| 620 | - By setting frame parameter `line-spacing' to PIXELS. PIXELS must be | ||
| 621 | a positive integer, and specifies that PIXELS number of pixels should | ||
| 622 | be put below text lines on the affected frame or frames. | ||
| 623 | |||
| 624 | - By setting X resource `lineSpacing', class `LineSpacing'. This is | ||
| 625 | equivalent to specifying the frame parameter. | ||
| 626 | |||
| 627 | - By specifying `--line-spacing=N' or `-lsp N' on the command line. | ||
| 628 | |||
| 629 | - By setting buffer-local variable `line-spacing'. The meaning is | ||
| 630 | the same, but applies to the a particular buffer only. | ||
| 631 | |||
| 632 | ** The new command `clone-indirect-buffer' can be used to create | ||
| 633 | an indirect buffer that is a twin copy of the current buffer. The | ||
| 634 | command `clone-indirect-buffer-other-window', bound to C-x 4 c, | ||
| 635 | does the same but displays the indirect buffer in another window. | ||
| 636 | |||
| 637 | ** New user options `backup-directory-alist' and | ||
| 638 | `make-backup-file-name-function' control the placement of backups, | ||
| 639 | typically in a single directory or in an invisible sub-directory. | ||
| 640 | |||
| 641 | ** New commands iso-iso2sgml and iso-sgml2iso convert between Latin-1 | ||
| 642 | characters and the corresponding SGML (HTML) entities. | ||
| 643 | |||
| 644 | ** New X resources recognized | ||
| 645 | |||
| 646 | *** The X resource `synchronous', class `Synchronous', specifies | ||
| 647 | whether Emacs should run in synchronous mode. Synchronous mode | ||
| 648 | is useful for debugging X problems. | ||
| 649 | |||
| 650 | Example: | ||
| 651 | |||
| 652 | emacs.synchronous: true | ||
| 653 | |||
| 654 | *** The X resource `visualClass, class `VisualClass', specifies the | ||
| 655 | visual Emacs should use. The resource's value should be a string of | ||
| 656 | the form `CLASS-DEPTH', where CLASS is the name of the visual class, | ||
| 657 | and DEPTH is the requested color depth as a decimal number. Valid | ||
| 658 | visual class names are | ||
| 659 | |||
| 660 | TrueColor | ||
| 661 | PseudoColor | ||
| 662 | DirectColor | ||
| 663 | StaticColor | ||
| 664 | GrayScale | ||
| 665 | StaticGray | ||
| 666 | |||
| 667 | Visual class names specified as X resource are case-insensitive, i.e. | ||
| 668 | `pseudocolor', `Pseudocolor' and `PseudoColor' all have the same | ||
| 669 | meaning. | ||
| 670 | |||
| 671 | The program `xdpyinfo' can be used to list the visual classes | ||
| 672 | supported on your display, and which depths they have. If | ||
| 673 | `visualClass' is not specified, Emacs uses the display's default | ||
| 674 | visual. | ||
| 675 | |||
| 676 | Example: | ||
| 677 | |||
| 678 | emacs.visualClass: TrueColor-8 | ||
| 679 | |||
| 680 | *** The X resource `privateColormap', class `PrivateColormap', | ||
| 681 | specifies that Emacs should use a private colormap if it is using the | ||
| 682 | default visual, and that visual is of class PseudoColor. Recognized | ||
| 683 | resource values are `true' or `on'. | ||
| 684 | |||
| 685 | Example: | ||
| 686 | |||
| 687 | emacs.privateColormap: true | ||
| 688 | |||
| 689 | ** Faces and frame parameters. | ||
| 690 | |||
| 691 | There are four new faces `scroll-bar', `border', `cursor' and `mouse'. | ||
| 692 | Setting the frame parameters `scroll-bar-foreground' and | ||
| 693 | `scroll-bar-background' sets foreground and background color of face | ||
| 694 | `scroll-bar' and vice versa. Setting frame parameter `border-color' | ||
| 695 | sets the background color of face `border' and vice versa. Likewise | ||
| 696 | for frame parameters `cursor-color' and face `cursor', and frame | ||
| 697 | parameter `mouse-color' and face `mouse'. | ||
| 698 | |||
| 699 | Changing frame parameter `font' sets font-related attributes of the | ||
| 700 | `default' face and vice versa. Setting frame parameters | ||
| 701 | `foreground-color' or `background-color' sets the colors of the | ||
| 702 | `default' face and vice versa. | ||
| 703 | |||
| 704 | ** New face `menu'. | ||
| 705 | |||
| 706 | The face `menu' can be used to change colors and font of Emacs' menus. | ||
| 707 | |||
| 708 | ** New frame parameter `screen-gamma' for gamma correction. | ||
| 709 | |||
| 710 | The new frame parameter `screen-gamma' specifies gamma-correction for | ||
| 711 | colors. Its value may be nil, the default, in which case no gamma | ||
| 712 | correction occurs, or a number > 0, usually a float, that specifies | ||
| 713 | the screen gamma of a frame's display. | ||
| 714 | |||
| 715 | PC monitors usually have a screen gamma of 2.2. smaller values result | ||
| 716 | in darker colors. You might want to try a screen gamma of 1.5 for LCD | ||
| 717 | color displays. The viewing gamma Emacs uses is 0.4545. (1/2.2). | ||
| 718 | |||
| 719 | The X resource name of this parameter is `screenGamma', class | ||
| 720 | `ScreenGamma'. | ||
| 721 | |||
| 722 | ** Tabs and variable-width text. | ||
| 723 | |||
| 724 | Tabs are now displayed with stretch properties; the width of a tab is | ||
| 725 | defined as a multiple of the normal character width of a frame, and is | ||
| 726 | independent of the fonts used in the text where the tab appears. | ||
| 727 | Thus, tabs can be used to line up text in different fonts. | ||
| 728 | |||
| 729 | ** Enhancements of the Lucid menu bar | ||
| 730 | |||
| 731 | *** The Lucid menu bar now supports the resource "margin". | ||
| 732 | |||
| 733 | emacs.pane.menubar.margin: 5 | ||
| 734 | |||
| 735 | The default margin is 4 which makes the menu bar appear like the | ||
| 736 | LessTif/Motif one. | ||
| 737 | |||
| 738 | *** Arrows that indicate sub-menus are now drawn with shadows, as in | ||
| 739 | LessTif and Motif. | ||
| 740 | |||
| 741 | ** A block cursor can be drawn as wide as the glyph under it under X. | ||
| 742 | |||
| 743 | As an example: if a block cursor is over a tab character, it will be | ||
| 744 | drawn as wide as that tab on the display. To do this, set | ||
| 745 | `x-stretch-cursor' to a non-nil value. | ||
| 746 | |||
| 747 | ** Empty display lines at the end of a buffer may be marked with a | ||
| 748 | bitmap (this is similar to the tilde displayed by vi and Less). | ||
| 749 | |||
| 750 | This behavior is activated by setting the buffer-local variable | ||
| 751 | `indicate-empty-lines' to a non-nil value. The default value of this | ||
| 752 | variable is found in `default-indicate-empty-lines'. | ||
| 753 | |||
| 754 | ** There is a new "aggressive" scrolling method. | ||
| 755 | |||
| 756 | When scrolling up because point is above the window start, if the | ||
| 757 | value of the buffer-local variable `scroll-up-aggressively' is a | ||
| 758 | number, Emacs chooses a new window start so that point ends up that | ||
| 759 | fraction of the window's height from the top of the window. | ||
| 760 | |||
| 761 | When scrolling down because point is below the window end, if the | ||
| 762 | value of the buffer-local variable `scroll-down-aggressively' is a | ||
| 763 | number, Emacs chooses a new window start so that point ends up that | ||
| 764 | fraction of the window's height from the bottom of the window. | ||
| 765 | |||
| 766 | ** You can now easily create new *Info* buffers using either | ||
| 767 | M-x clone-buffer, C-u m <entry> RET or C-u g <entry> RET. | ||
| 768 | M-x clone-buffer can also be used on *Help* and several other special | ||
| 769 | buffers. | ||
| 770 | |||
| 771 | ** The command `Info-search' now uses a search history. | ||
| 772 | |||
| 773 | ** Listing buffers with M-x list-buffers (C-x C-b) now shows | ||
| 774 | abbreviated file names. Abbreviations can be customized by changing | ||
| 775 | `directory-abbrev-alist'. | ||
| 776 | |||
| 777 | ** A new variable, backup-by-copying-when-privileged-mismatch, gives | ||
| 778 | the highest file uid for which backup-by-copying-when-mismatch will be | ||
| 779 | forced on. The assumption is that uids less than or equal to this | ||
| 780 | value are special uids (root, bin, daemon, etc.--not real system | ||
| 781 | users) and that files owned by these users should not change ownership, | ||
| 782 | even if your system policy allows users other than root to edit them. | ||
| 783 | |||
| 784 | The default is 200; set the variable to nil to disable the feature. | ||
| 785 | |||
| 786 | ** The rectangle commands now avoid inserting undesirable spaces, | ||
| 787 | notably at the end of lines. | ||
| 788 | |||
| 789 | All these functions have been rewritten to avoid inserting unwanted | ||
| 790 | spaces, and an optional prefix now allows them to behave the old way. | ||
| 791 | |||
| 792 | ** The function `replace-rectangle' is an alias for `string-rectangle'. | ||
| 793 | |||
| 794 | ** The new command M-x string-insert-rectangle is like `string-rectangle', | ||
| 795 | but inserts text instead of replacing it. | ||
| 796 | |||
| 797 | ** The new command M-x query-replace-regexp-eval acts like | ||
| 798 | query-replace-regexp, but takes a Lisp expression which is evaluated | ||
| 799 | after each match to get the replacement text. | ||
| 800 | |||
| 801 | ** M-x query-replace recognizes a new command `e' (or `E') that lets | ||
| 802 | you edit the replacement string. | ||
| 803 | |||
| 804 | ** The new command mail-abbrev-complete-alias, bound to `M-TAB' | ||
| 805 | (if you load the library `mailabbrev'), lets you complete mail aliases | ||
| 806 | in the text, analogous to lisp-complete-symbol. | ||
| 807 | |||
| 808 | ** The variable `echo-keystrokes' may now have a floating point value. | ||
| 809 | |||
| 810 | ** If your init file is compiled (.emacs.elc), `user-init-file' is set | ||
| 811 | to the source name (.emacs.el), if that exists, after loading it. | ||
| 812 | |||
| 813 | ** The help string specified for a menu-item whose definition contains | ||
| 814 | the property `:help HELP' is now displayed under X, on MS-Windows, and | ||
| 815 | MS-DOS, either in the echo area or with tooltips. Many standard menus | ||
| 816 | displayed by Emacs now have help strings. | ||
| 817 | |||
| 818 | -- | ||
| 819 | ** New user option `read-mail-command' specifies a command to use to | ||
| 820 | read mail from the menu etc. | ||
| 821 | |||
| 822 | ** The environment variable `EMACSLOCKDIR' is no longer used on MS-Windows. | ||
| 823 | This environment variable was used when creating lock files. Emacs on | ||
| 824 | MS-Windows does not use this variable anymore. This change was made | ||
| 825 | before Emacs 21.1, but wasn't documented until now. | ||
| 826 | |||
| 827 | ** Highlighting of mouse-sensitive regions is now supported in the | ||
| 828 | MS-DOS version of Emacs. | ||
| 829 | |||
| 830 | ** The new command `msdos-set-mouse-buttons' forces the MS-DOS version | ||
| 831 | of Emacs to behave as if the mouse had a specified number of buttons. | ||
| 832 | This comes handy with mice that don't report their number of buttons | ||
| 833 | correctly. One example is the wheeled mice, which report 3 buttons, | ||
| 834 | but clicks on the middle button are not passed to the MS-DOS version | ||
| 835 | of Emacs. | ||
| 836 | |||
| 837 | ** Customize changes | ||
| 838 | |||
| 839 | *** Customize now supports comments about customized items. Use the | ||
| 840 | `State' menu to add comments, or give a prefix argument to | ||
| 841 | M-x customize-set-variable or M-x customize-set-value. Note that | ||
| 842 | customization comments will cause the customizations to fail in | ||
| 843 | earlier versions of Emacs. | ||
| 844 | |||
| 845 | *** The new option `custom-buffer-done-function' says whether to kill | ||
| 846 | Custom buffers when you've done with them or just bury them (the | ||
| 847 | default). | ||
| 848 | |||
| 849 | *** If Emacs was invoked with the `-q' or `--no-init-file' options, it | ||
| 850 | does not allow you to save customizations in your `~/.emacs' init | ||
| 851 | file. This is because saving customizations from such a session would | ||
| 852 | wipe out all the other customizationss you might have on your init | ||
| 853 | file. | ||
| 854 | |||
| 855 | ** If Emacs was invoked with the `-q' or `--no-init-file' options, it | ||
| 856 | does not save disabled and enabled commands for future sessions, to | ||
| 857 | avoid overwriting existing customizations of this kind that are | ||
| 858 | already in your init file. | ||
| 859 | |||
| 860 | ** New features in evaluation commands | ||
| 861 | |||
| 862 | *** The commands to evaluate Lisp expressions, such as C-M-x in Lisp | ||
| 863 | modes, C-j in Lisp Interaction mode, and M-:, now bind the variables | ||
| 864 | print-level, print-length, and debug-on-error based on the new | ||
| 865 | customizable variables eval-expression-print-level, | ||
| 866 | eval-expression-print-length, and eval-expression-debug-on-error. | ||
| 867 | |||
| 868 | The default values for the first two of these variables are 12 and 4 | ||
| 869 | respectively, which means that `eval-expression' now prints at most | ||
| 870 | the first 12 members of a list and at most 4 nesting levels deep (if | ||
| 871 | the list is longer or deeper than that, an ellipsis `...' is | ||
| 872 | printed). | ||
| 873 | |||
| 874 | <RET> or <mouse-2> on the printed text toggles between an abbreviated | ||
| 875 | printed representation and an unabbreviated one. | ||
| 876 | |||
| 877 | The default value of eval-expression-debug-on-error is t, so any error | ||
| 878 | during evaluation produces a backtrace. | ||
| 879 | |||
| 880 | *** The function `eval-defun' (C-M-x) now loads Edebug and instruments | ||
| 881 | code when called with a prefix argument. | ||
| 882 | |||
| 883 | ** CC mode changes. | ||
| 884 | |||
| 885 | Note: This release contains changes that might not be compatible with | ||
| 886 | current user setups (although it's believed that these | ||
| 887 | incompatibilities will only show in very uncommon circumstances). | ||
| 888 | However, since the impact is uncertain, these changes may be rolled | ||
| 889 | back depending on user feedback. Therefore there's no forward | ||
| 890 | compatibility guarantee wrt the new features introduced in this | ||
| 891 | release. | ||
| 892 | |||
| 893 | *** The hardcoded switch to "java" style in Java mode is gone. | ||
| 894 | CC Mode used to automatically set the style to "java" when Java mode | ||
| 895 | is entered. This has now been removed since it caused too much | ||
| 896 | confusion. | ||
| 897 | |||
| 898 | However, to keep backward compatibility to a certain extent, the | ||
| 899 | default value for c-default-style now specifies the "java" style for | ||
| 900 | java-mode, but "gnu" for all other modes (as before). So you won't | ||
| 901 | notice the change if you haven't touched that variable. | ||
| 902 | |||
| 903 | *** New cleanups, space-before-funcall and compact-empty-funcall. | ||
| 904 | Two new cleanups have been added to c-cleanup-list: | ||
| 905 | |||
| 906 | space-before-funcall causes a space to be inserted before the opening | ||
| 907 | parenthesis of a function call, which gives the style "foo (bar)". | ||
| 908 | |||
| 909 | compact-empty-funcall causes any space before a function call opening | ||
| 910 | parenthesis to be removed if there are no arguments to the function. | ||
| 911 | It's typically useful together with space-before-funcall to get the | ||
| 912 | style "foo (bar)" and "foo()". | ||
| 913 | |||
| 914 | *** Some keywords now automatically trigger reindentation. | ||
| 915 | Keywords like "else", "while", "catch" and "finally" have been made | ||
| 916 | "electric" to make them reindent automatically when they continue an | ||
| 917 | earlier statement. An example: | ||
| 918 | |||
| 919 | for (i = 0; i < 17; i++) | ||
| 920 | if (a[i]) | ||
| 921 | res += a[i]->offset; | ||
| 922 | else | ||
| 923 | |||
| 924 | Here, the "else" should be indented like the preceding "if", since it | ||
| 925 | continues that statement. CC Mode will automatically reindent it after | ||
| 926 | the "else" has been typed in full, since it's not until then it's | ||
| 927 | possible to decide whether it's a new statement or a continuation of | ||
| 928 | the preceding "if". | ||
| 929 | |||
| 930 | CC Mode uses Abbrev mode to achieve this, which is therefore turned on | ||
| 931 | by default. | ||
| 932 | |||
| 933 | *** M-a and M-e now moves by sentence in multiline strings. | ||
| 934 | Previously these two keys only moved by sentence in comments, which | ||
| 935 | meant that sentence movement didn't work in strings containing | ||
| 936 | documentation or other natural language text. | ||
| 937 | |||
| 938 | The reason it's only activated in multiline strings (i.e. strings that | ||
| 939 | contain a newline, even when escaped by a '\') is to avoid stopping in | ||
| 940 | the short strings that often reside inside statements. Multiline | ||
| 941 | strings almost always contain text in a natural language, as opposed | ||
| 942 | to other strings that typically contain format specifications, | ||
| 943 | commands, etc. Also, it's not that bothersome that M-a and M-e misses | ||
| 944 | sentences in single line strings, since they're short anyway. | ||
| 945 | |||
| 946 | *** Support for autodoc comments in Pike mode. | ||
| 947 | Autodoc comments for Pike are used to extract documentation from the | ||
| 948 | source, like Javadoc in Java. Pike mode now recognize this markup in | ||
| 949 | comment prefixes and paragraph starts. | ||
| 950 | |||
| 951 | *** The comment prefix regexps on c-comment-prefix may be mode specific. | ||
| 952 | When c-comment-prefix is an association list, it specifies the comment | ||
| 953 | line prefix on a per-mode basis, like c-default-style does. This | ||
| 954 | change came about to support the special autodoc comment prefix in | ||
| 955 | Pike mode only. | ||
| 956 | |||
| 957 | *** Better handling of syntactic errors. | ||
| 958 | The recovery after unbalanced parens earlier in the buffer has been | ||
| 959 | improved; CC Mode now reports them by dinging and giving a message | ||
| 960 | stating the offending line, but still recovers and indent the | ||
| 961 | following lines in a sane way (most of the time). An "else" with no | ||
| 962 | matching "if" is handled similarly. If an error is discovered while | ||
| 963 | indenting a region, the whole region is still indented and the error | ||
| 964 | is reported afterwards. | ||
| 965 | |||
| 966 | *** Lineup functions may now return absolute columns. | ||
| 967 | A lineup function can give an absolute column to indent the line to by | ||
| 968 | returning a vector with the desired column as the first element. | ||
| 969 | |||
| 970 | *** More robust and warning-free byte compilation. | ||
| 971 | Although this is strictly not a user visible change (well, depending | ||
| 972 | on the view of a user), it's still worth mentioning that CC Mode now | ||
| 973 | can be compiled in the standard ways without causing trouble. Some | ||
| 974 | code have also been moved between the subpackages to enhance the | ||
| 975 | modularity somewhat. Thanks to Martin Buchholz for doing the | ||
| 976 | groundwork. | ||
| 977 | |||
| 978 | *** c-style-variables-are-local-p now defaults to t. | ||
| 979 | This is an incompatible change that has been made to make the behavior | ||
| 980 | of the style system wrt global variable settings less confusing for | ||
| 981 | non-advanced users. If you know what this variable does you might | ||
| 982 | want to set it to nil in your .emacs, otherwise you probably don't | ||
| 983 | have to bother. | ||
| 984 | |||
| 985 | Defaulting c-style-variables-are-local-p to t avoids the confusing | ||
| 986 | situation that occurs when a user sets some style variables globally | ||
| 987 | and edits both a Java and a non-Java file in the same Emacs session. | ||
| 988 | If the style variables aren't buffer local in this case, loading of | ||
| 989 | the second file will cause the default style (either "gnu" or "java" | ||
| 990 | by default) to override the global settings made by the user. | ||
| 991 | |||
| 992 | *** New initialization procedure for the style system. | ||
| 993 | When the initial style for a buffer is determined by CC Mode (from the | ||
| 994 | variable c-default-style), the global values of style variables now | ||
| 995 | take precedence over the values specified by the chosen style. This | ||
| 996 | is different than the old behavior: previously, the style-specific | ||
| 997 | settings would override the global settings. This change makes it | ||
| 998 | possible to do simple configuration in the intuitive way with | ||
| 999 | Customize or with setq lines in one's .emacs file. | ||
| 1000 | |||
| 1001 | By default, the global value of every style variable is the new | ||
| 1002 | special symbol set-from-style, which causes the value to be taken from | ||
| 1003 | the style system. This means that in effect, only an explicit setting | ||
| 1004 | of a style variable will cause the "overriding" behavior described | ||
| 1005 | above. | ||
| 1006 | |||
| 1007 | Also note that global settings override style-specific settings *only* | ||
| 1008 | when the initial style of a buffer is chosen by a CC Mode major mode | ||
| 1009 | function. When a style is chosen in other ways --- for example, by a | ||
| 1010 | call like (c-set-style "gnu") in a hook, or via M-x c-set-style --- | ||
| 1011 | then the style-specific values take precedence over any global style | ||
| 1012 | values. In Lisp terms, global values override style-specific values | ||
| 1013 | only when the new second argument to c-set-style is non-nil; see the | ||
| 1014 | function documentation for more info. | ||
| 1015 | |||
| 1016 | The purpose of these changes is to make it easier for users, | ||
| 1017 | especially novice users, to do simple customizations with Customize or | ||
| 1018 | with setq in their .emacs files. On the other hand, the new system is | ||
| 1019 | intended to be compatible with advanced users' customizations as well, | ||
| 1020 | such as those that choose styles in hooks or whatnot. This new system | ||
| 1021 | is believed to be almost entirely compatible with current | ||
| 1022 | configurations, in spite of the changed precedence between style and | ||
| 1023 | global variable settings when a buffer's default style is set. | ||
| 1024 | |||
| 1025 | (Thanks to Eric Eide for clarifying this explanation a bit.) | ||
| 1026 | |||
| 1027 | **** c-offsets-alist is now a customizable variable. | ||
| 1028 | This became possible as a result of the new initialization behavior. | ||
| 1029 | |||
| 1030 | This variable is treated slightly differently from the other style | ||
| 1031 | variables; instead of using the symbol set-from-style, it will be | ||
| 1032 | completed with the syntactic symbols it doesn't already contain when | ||
| 1033 | the style is first initialized. This means it now defaults to the | ||
| 1034 | empty list to make all syntactic elements get their values from the | ||
| 1035 | style system. | ||
| 1036 | |||
| 1037 | **** Compatibility variable to restore the old behavior. | ||
| 1038 | In case your configuration doesn't work with this change, you can set | ||
| 1039 | c-old-style-variable-behavior to non-nil to get the old behavior back | ||
| 1040 | as far as possible. | ||
| 1041 | |||
| 1042 | *** Improvements to line breaking and text filling. | ||
| 1043 | CC Mode now handles this more intelligently and seamlessly wrt the | ||
| 1044 | surrounding code, especially inside comments. For details see the new | ||
| 1045 | chapter about this in the manual. | ||
| 1046 | |||
| 1047 | **** New variable to recognize comment line prefix decorations. | ||
| 1048 | The variable c-comment-prefix-regexp has been added to properly | ||
| 1049 | recognize the line prefix in both block and line comments. It's | ||
| 1050 | primarily used to initialize the various paragraph recognition and | ||
| 1051 | adaptive filling variables that the text handling functions uses. | ||
| 1052 | |||
| 1053 | **** New variable c-block-comment-prefix. | ||
| 1054 | This is a generalization of the now obsolete variable | ||
| 1055 | c-comment-continuation-stars to handle arbitrary strings. | ||
| 1056 | |||
| 1057 | **** CC Mode now uses adaptive fill mode. | ||
| 1058 | This to make it adapt better to the paragraph style inside comments. | ||
| 1059 | |||
| 1060 | It's also possible to use other adaptive filling packages inside CC | ||
| 1061 | Mode, notably Kyle E. Jones' Filladapt mode (http://wonderworks.com/). | ||
| 1062 | A new convenience function c-setup-filladapt sets up Filladapt for use | ||
| 1063 | inside CC Mode. | ||
| 1064 | |||
| 1065 | Note though that the 2.12 version of Filladapt lacks a feature that | ||
| 1066 | causes it to work suboptimally when c-comment-prefix-regexp can match | ||
| 1067 | the empty string (which it commonly does). A patch for that is | ||
| 1068 | available from the CC Mode web site (http://www.python.org/emacs/ | ||
| 1069 | cc-mode/). | ||
| 1070 | |||
| 1071 | **** The variables `c-hanging-comment-starter-p' and | ||
| 1072 | `c-hanging-comment-ender-p', which controlled how comment starters and | ||
| 1073 | enders were filled, are not used anymore. The new version of the | ||
| 1074 | function `c-fill-paragraph' keeps the comment starters and enders as | ||
| 1075 | they were before the filling. | ||
| 1076 | |||
| 1077 | **** It's now possible to selectively turn off auto filling. | ||
| 1078 | The variable c-ignore-auto-fill is used to ignore auto fill mode in | ||
| 1079 | specific contexts, e.g. in preprocessor directives and in string | ||
| 1080 | literals. | ||
| 1081 | |||
| 1082 | **** New context sensitive line break function c-context-line-break. | ||
| 1083 | It works like newline-and-indent in normal code, and adapts the line | ||
| 1084 | prefix according to the comment style when used inside comments. If | ||
| 1085 | you're normally using newline-and-indent, you might want to switch to | ||
| 1086 | this function. | ||
| 1087 | |||
| 1088 | *** Fixes to IDL mode. | ||
| 1089 | It now does a better job in recognizing only the constructs relevant | ||
| 1090 | to IDL. E.g. it no longer matches "class" as the beginning of a | ||
| 1091 | struct block, but it does match the CORBA 2.3 "valuetype" keyword. | ||
| 1092 | Thanks to Eric Eide. | ||
| 1093 | |||
| 1094 | *** Improvements to the Whitesmith style. | ||
| 1095 | It now keeps the style consistently on all levels and both when | ||
| 1096 | opening braces hangs and when they don't. | ||
| 1097 | |||
| 1098 | **** New lineup function c-lineup-whitesmith-in-block. | ||
| 1099 | |||
| 1100 | *** New lineup functions c-lineup-template-args and c-indent-multi-line-block. | ||
| 1101 | See their docstrings for details. c-lineup-template-args does a | ||
| 1102 | better job of tracking the brackets used as parens in C++ templates, | ||
| 1103 | and is used by default to line up continued template arguments. | ||
| 1104 | |||
| 1105 | *** c-lineup-comment now preserves alignment with a comment on the | ||
| 1106 | previous line. It used to instead preserve comments that started in | ||
| 1107 | the column specified by comment-column. | ||
| 1108 | |||
| 1109 | *** c-lineup-C-comments handles "free form" text comments. | ||
| 1110 | In comments with a long delimiter line at the start, the indentation | ||
| 1111 | is kept unchanged for lines that start with an empty comment line | ||
| 1112 | prefix. This is intended for the type of large block comments that | ||
| 1113 | contain documentation with its own formatting. In these you normally | ||
| 1114 | don't want CC Mode to change the indentation. | ||
| 1115 | |||
| 1116 | *** The `c' syntactic symbol is now relative to the comment start | ||
| 1117 | instead of the previous line, to make integers usable as lineup | ||
| 1118 | arguments. | ||
| 1119 | |||
| 1120 | *** All lineup functions have gotten docstrings. | ||
| 1121 | |||
| 1122 | *** More preprocessor directive movement functions. | ||
| 1123 | c-down-conditional does the reverse of c-up-conditional. | ||
| 1124 | c-up-conditional-with-else and c-down-conditional-with-else are | ||
| 1125 | variants of these that also stops at "#else" lines (suggested by Don | ||
| 1126 | Provan). | ||
| 1127 | |||
| 1128 | *** Minor improvements to many movement functions in tricky situations. | ||
| 1129 | |||
| 1130 | ** Dired changes | ||
| 1131 | |||
| 1132 | *** New variable `dired-recursive-deletes' determines if the delete | ||
| 1133 | command will delete non-empty directories recursively. The default | ||
| 1134 | is, delete only empty directories. | ||
| 1135 | |||
| 1136 | *** New variable `dired-recursive-copies' determines if the copy | ||
| 1137 | command will copy directories recursively. The default is, do not | ||
| 1138 | copy directories recursively. | ||
| 1139 | |||
| 1140 | *** In command `dired-do-shell-command' (usually bound to `!') a `?' | ||
| 1141 | in the shell command has a special meaning similar to `*', but with | ||
| 1142 | the difference that the command will be run on each file individually. | ||
| 1143 | |||
| 1144 | *** The new command `dired-find-alternate-file' (usually bound to `a') | ||
| 1145 | replaces the Dired buffer with the buffer for an alternate file or | ||
| 1146 | directory. | ||
| 1147 | |||
| 1148 | *** The new command `dired-show-file-type' (usually bound to `y') shows | ||
| 1149 | a message in the echo area describing what type of file the point is on. | ||
| 1150 | This command invokes the external program `file' do its work, and so | ||
| 1151 | will only work on systems with that program, and will be only as | ||
| 1152 | accurate or inaccurate as it is. | ||
| 1153 | |||
| 1154 | *** Dired now properly handles undo changes of adding/removing `-R' | ||
| 1155 | from ls switches. | ||
| 1156 | |||
| 1157 | *** Dired commands that prompt for a destination file now allow the use | ||
| 1158 | of the `M-n' command in the minibuffer to insert the source filename, | ||
| 1159 | which the user can then edit. This only works if there is a single | ||
| 1160 | source file, not when operating on multiple marked files. | ||
| 1161 | |||
| 1162 | ** Gnus changes. | ||
| 1163 | |||
| 1164 | The Gnus NEWS entries are short, but they reflect sweeping changes in | ||
| 1165 | four areas: Article display treatment, MIME treatment, | ||
| 1166 | internationalization and mail-fetching. | ||
| 1167 | |||
| 1168 | *** The mail-fetching functions have changed. See the manual for the | ||
| 1169 | many details. In particular, all procmail fetching variables are gone. | ||
| 1170 | |||
| 1171 | If you used procmail like in | ||
| 1172 | |||
| 1173 | (setq nnmail-use-procmail t) | ||
| 1174 | (setq nnmail-spool-file 'procmail) | ||
| 1175 | (setq nnmail-procmail-directory "~/mail/incoming/") | ||
| 1176 | (setq nnmail-procmail-suffix "\\.in") | ||
| 1177 | |||
| 1178 | this now has changed to | ||
| 1179 | |||
| 1180 | (setq mail-sources | ||
| 1181 | '((directory :path "~/mail/incoming/" | ||
| 1182 | :suffix ".in"))) | ||
| 1183 | |||
| 1184 | More information is available in the info doc at Select Methods -> | ||
| 1185 | Getting Mail -> Mail Sources | ||
| 1186 | |||
| 1187 | *** Gnus is now a MIME-capable reader. This affects many parts of | ||
| 1188 | Gnus, and adds a slew of new commands. See the manual for details. | ||
| 1189 | Separate MIME packages like RMIME, mime-compose etc., will probably no | ||
| 1190 | longer work; remove them and use the native facilities. | ||
| 1191 | |||
| 1192 | The FLIM/SEMI package still works with Emacs 21, but if you want to | ||
| 1193 | use the native facilities, you must remove any mailcap.el[c] that was | ||
| 1194 | installed by FLIM/SEMI version 1.13 or earlier. | ||
| 1195 | |||
| 1196 | *** Gnus has also been multilingualized. This also affects too many | ||
| 1197 | parts of Gnus to summarize here, and adds many new variables. There | ||
| 1198 | are built-in facilities equivalent to those of gnus-mule.el, which is | ||
| 1199 | now just a compatibility layer. | ||
| 1200 | |||
| 1201 | *** gnus-mule.el is now just a compatibility layer over the built-in | ||
| 1202 | Gnus facilities. | ||
| 1203 | |||
| 1204 | *** gnus-auto-select-first can now be a function to be | ||
| 1205 | called to position point. | ||
| 1206 | |||
| 1207 | *** The user can now decide which extra headers should be included in | ||
| 1208 | summary buffers and NOV files. | ||
| 1209 | |||
| 1210 | *** `gnus-article-display-hook' has been removed. Instead, a number | ||
| 1211 | of variables starting with `gnus-treat-' have been added. | ||
| 1212 | |||
| 1213 | *** The Gnus posting styles have been redone again and now work in a | ||
| 1214 | subtly different manner. | ||
| 1215 | |||
| 1216 | *** New web-based backends have been added: nnslashdot, nnwarchive | ||
| 1217 | and nnultimate. nnweb has been revamped, again, to keep up with | ||
| 1218 | ever-changing layouts. | ||
| 1219 | |||
| 1220 | *** Gnus can now read IMAP mail via nnimap. | ||
| 1221 | |||
| 1222 | *** There is image support of various kinds and some sound support. | ||
| 1223 | |||
| 1224 | ** Changes in Texinfo mode. | ||
| 1225 | |||
| 1226 | *** A couple of new key bindings have been added for inserting Texinfo | ||
| 1227 | macros | ||
| 1228 | |||
| 1229 | Key binding Macro | ||
| 1230 | ------------------------- | ||
| 1231 | C-c C-c C-s @strong | ||
| 1232 | C-c C-c C-e @emph | ||
| 1233 | C-c C-c u @uref | ||
| 1234 | C-c C-c q @quotation | ||
| 1235 | C-c C-c m @email | ||
| 1236 | C-c C-o @<block> ... @end <block> | ||
| 1237 | M-RET @item | ||
| 1238 | |||
| 1239 | *** The " key now inserts either " or `` or '' depending on context. | ||
| 1240 | |||
| 1241 | ** Changes in Outline mode. | ||
| 1242 | |||
| 1243 | There is now support for Imenu to index headings. A new command | ||
| 1244 | `outline-headers-as-kill' copies the visible headings in the region to | ||
| 1245 | the kill ring, e.g. to produce a table of contents. | ||
| 1246 | |||
| 1247 | ** Changes to Emacs Server | ||
| 1248 | |||
| 1249 | *** The new option `server-kill-new-buffers' specifies what to do | ||
| 1250 | with buffers when done with them. If non-nil, the default, buffers | ||
| 1251 | are killed, unless they were already present before visiting them with | ||
| 1252 | Emacs Server. If nil, `server-temp-file-regexp' specifies which | ||
| 1253 | buffers to kill, as before. | ||
| 1254 | |||
| 1255 | Please note that only buffers are killed that still have a client, | ||
| 1256 | i.e. buffers visited with `emacsclient --no-wait' are never killed in | ||
| 1257 | this way. | ||
| 1258 | |||
| 1259 | ** Both emacsclient and Emacs itself now accept command line options | ||
| 1260 | of the form +LINE:COLUMN in addition to +LINE. | ||
| 1261 | |||
| 1262 | ** Changes to Show Paren mode. | ||
| 1263 | |||
| 1264 | *** Overlays used by Show Paren mode now use a priority property. | ||
| 1265 | The new user option show-paren-priority specifies the priority to | ||
| 1266 | use. Default is 1000. | ||
| 1267 | |||
| 1268 | ** New command M-x check-parens can be used to find unbalanced paren | ||
| 1269 | groups and strings in buffers in Lisp mode (or other modes). | ||
| 1270 | |||
| 1271 | ** Changes to hideshow.el | ||
| 1272 | |||
| 1273 | *** Generalized block selection and traversal | ||
| 1274 | |||
| 1275 | A block is now recognized by its start and end regexps (both strings), | ||
| 1276 | and an integer specifying which sub-expression in the start regexp | ||
| 1277 | serves as the place where a `forward-sexp'-like function can operate. | ||
| 1278 | See the documentation of variable `hs-special-modes-alist'. | ||
| 1279 | |||
| 1280 | *** During incremental search, if Hideshow minor mode is active, | ||
| 1281 | hidden blocks are temporarily shown. The variable `hs-headline' can | ||
| 1282 | be used in the mode line format to show the line at the beginning of | ||
| 1283 | the open block. | ||
| 1284 | |||
| 1285 | *** User option `hs-hide-all-non-comment-function' specifies a | ||
| 1286 | function to be called at each top-level block beginning, instead of | ||
| 1287 | the normal block-hiding function. | ||
| 1288 | |||
| 1289 | *** The command `hs-show-region' has been removed. | ||
| 1290 | |||
| 1291 | *** The key bindings have changed to fit the Emacs conventions, | ||
| 1292 | roughly imitating those of Outline minor mode. Notably, the prefix | ||
| 1293 | for all bindings is now `C-c @'. For details, see the documentation | ||
| 1294 | for `hs-minor-mode'. | ||
| 1295 | |||
| 1296 | *** The variable `hs-show-hidden-short-form' has been removed, and | ||
| 1297 | hideshow.el now always behaves as if this variable were set to t. | ||
| 1298 | |||
| 1299 | ** Changes to Change Log mode and Add-Log functions | ||
| 1300 | |||
| 1301 | *** If you invoke `add-change-log-entry' from a backup file, it makes | ||
| 1302 | an entry appropriate for the file's parent. This is useful for making | ||
| 1303 | log entries by comparing a version with deleted functions. | ||
| 1304 | |||
| 1305 | **** New command M-x change-log-merge merges another log into the | ||
| 1306 | current buffer. | ||
| 1307 | |||
| 1308 | *** New command M-x change-log-redate fixes any old-style date entries | ||
| 1309 | in a log file. | ||
| 1310 | |||
| 1311 | *** Change Log mode now adds a file's version number to change log | ||
| 1312 | entries if user-option `change-log-version-info-enabled' is non-nil. | ||
| 1313 | Unless the file is under version control the search for a file's | ||
| 1314 | version number is performed based on regular expressions from | ||
| 1315 | `change-log-version-number-regexp-list' which can be customized. | ||
| 1316 | Version numbers are only found in the first 10 percent of a file. | ||
| 1317 | |||
| 1318 | *** Change Log mode now defines its own faces for font-lock highlighting. | ||
| 1319 | |||
| 1320 | ** Changes to cmuscheme | ||
| 1321 | |||
| 1322 | *** The user-option `scheme-program-name' has been renamed | ||
| 1323 | `cmuscheme-program-name' due to conflicts with xscheme.el. | ||
| 1324 | |||
| 1325 | ** Changes in Font Lock | ||
| 1326 | |||
| 1327 | *** The new function `font-lock-remove-keywords' can be used to remove | ||
| 1328 | font-lock keywords from the current buffer or from a specific major mode. | ||
| 1329 | |||
| 1330 | *** Multi-line patterns are now supported. Modes using this, should | ||
| 1331 | set font-lock-multiline to t in their font-lock-defaults. | ||
| 1332 | |||
| 1333 | *** `font-lock-syntactic-face-function' allows major-modes to choose | ||
| 1334 | the face used for each string/comment. | ||
| 1335 | |||
| 1336 | *** A new standard face `font-lock-doc-face'. | ||
| 1337 | Meant for Lisp docstrings, Javadoc comments and other "documentation in code". | ||
| 1338 | |||
| 1339 | ** Changes to Shell mode | ||
| 1340 | |||
| 1341 | *** The `shell' command now accepts an optional argument to specify the buffer | ||
| 1342 | to use, which defaults to "*shell*". When used interactively, a | ||
| 1343 | non-default buffer may be specified by giving the `shell' command a | ||
| 1344 | prefix argument (causing it to prompt for the buffer name). | ||
| 1345 | |||
| 1346 | ** Comint (subshell) changes | ||
| 1347 | |||
| 1348 | These changes generally affect all modes derived from comint mode, which | ||
| 1349 | include shell-mode, gdb-mode, scheme-interaction-mode, etc. | ||
| 1350 | |||
| 1351 | *** Comint now by default interprets some carriage-control characters. | ||
| 1352 | Comint now removes CRs from CR LF sequences, and treats single CRs and | ||
| 1353 | BSs in the output in a way similar to a terminal (by deleting to the | ||
| 1354 | beginning of the line, or deleting the previous character, | ||
| 1355 | respectively). This is achieved by adding `comint-carriage-motion' to | ||
| 1356 | the `comint-output-filter-functions' hook by default. | ||
| 1357 | |||
| 1358 | *** By default, comint no longer uses the variable `comint-prompt-regexp' | ||
| 1359 | to distinguish prompts from user-input. Instead, it notices which | ||
| 1360 | parts of the text were output by the process, and which entered by the | ||
| 1361 | user, and attaches `field' properties to allow emacs commands to use | ||
| 1362 | this information. Common movement commands, notably beginning-of-line, | ||
| 1363 | respect field boundaries in a fairly natural manner. To disable this | ||
| 1364 | feature, and use the old behavior, customize the user option | ||
| 1365 | `comint-use-prompt-regexp-instead-of-fields'. | ||
| 1366 | |||
| 1367 | *** Comint now includes new features to send commands to running processes | ||
| 1368 | and redirect the output to a designated buffer or buffers. | ||
| 1369 | |||
| 1370 | *** The command M-x comint-redirect-send-command reads a command and | ||
| 1371 | buffer name from the mini-buffer. The command is sent to the current | ||
| 1372 | buffer's process, and its output is inserted into the specified buffer. | ||
| 1373 | |||
| 1374 | The command M-x comint-redirect-send-command-to-process acts like | ||
| 1375 | M-x comint-redirect-send-command but additionally reads the name of | ||
| 1376 | the buffer whose process should be used from the mini-buffer. | ||
| 1377 | |||
| 1378 | *** Packages based on comint now highlight user input and program prompts, | ||
| 1379 | and support choosing previous input with mouse-2. To control these features, | ||
| 1380 | see the user-options `comint-highlight-input' and `comint-highlight-prompt'. | ||
| 1381 | |||
| 1382 | *** The new command `comint-write-output' (usually bound to `C-c C-s') | ||
| 1383 | saves the output from the most recent command to a file. With a prefix | ||
| 1384 | argument, it appends to the file. | ||
| 1385 | |||
| 1386 | *** The command `comint-kill-output' has been renamed `comint-delete-output' | ||
| 1387 | (usually bound to `C-c C-o'); the old name is aliased to it for | ||
| 1388 | compatibility. | ||
| 1389 | |||
| 1390 | *** The new function `comint-add-to-input-history' adds commands to the input | ||
| 1391 | ring (history). | ||
| 1392 | |||
| 1393 | *** The new variable `comint-input-history-ignore' is a regexp for | ||
| 1394 | identifying history lines that should be ignored, like tcsh time-stamp | ||
| 1395 | strings, starting with a `#'. The default value of this variable is "^#". | ||
| 1396 | |||
| 1397 | ** Changes to Rmail mode | ||
| 1398 | |||
| 1399 | *** The new user-option rmail-user-mail-address-regexp can be | ||
| 1400 | set to fine tune the identification of the correspondent when | ||
| 1401 | receiving new mail. If it matches the address of the sender, the | ||
| 1402 | recipient is taken as correspondent of a mail. If nil, the default, | ||
| 1403 | `user-login-name' and `user-mail-address' are used to exclude yourself | ||
| 1404 | as correspondent. | ||
| 1405 | |||
| 1406 | Usually you don't have to set this variable, except if you collect | ||
| 1407 | mails sent by you under different user names. Then it should be a | ||
| 1408 | regexp matching your mail addresses. | ||
| 1409 | |||
| 1410 | *** The new user-option rmail-confirm-expunge controls whether and how | ||
| 1411 | to ask for confirmation before expunging deleted messages from an | ||
| 1412 | Rmail file. You can choose between no confirmation, confirmation | ||
| 1413 | with y-or-n-p, or confirmation with yes-or-no-p. Default is to ask | ||
| 1414 | for confirmation with yes-or-no-p. | ||
| 1415 | |||
| 1416 | *** RET is now bound in the Rmail summary to rmail-summary-goto-msg, | ||
| 1417 | like `j'. | ||
| 1418 | |||
| 1419 | *** There is a new user option `rmail-digest-end-regexps' that | ||
| 1420 | specifies the regular expressions to detect the line that ends a | ||
| 1421 | digest message. | ||
| 1422 | |||
| 1423 | *** The new user option `rmail-automatic-folder-directives' specifies | ||
| 1424 | in which folder to put messages automatically. | ||
| 1425 | |||
| 1426 | *** The new function `rmail-redecode-body' allows to fix a message | ||
| 1427 | with non-ASCII characters if Emacs happens to decode it incorrectly | ||
| 1428 | due to missing or malformed "charset=" header. | ||
| 1429 | |||
| 1430 | ** The new user-option `mail-envelope-from' can be used to specify | ||
| 1431 | an envelope-from address different from user-mail-address. | ||
| 1432 | |||
| 1433 | ** The variable mail-specify-envelope-from controls whether to | ||
| 1434 | use the -f option when sending mail. | ||
| 1435 | |||
| 1436 | ** The Rmail command `o' (`rmail-output-to-rmail-file') now writes the | ||
| 1437 | current message in the internal `emacs-mule' encoding, rather than in | ||
| 1438 | the encoding taken from the variable `buffer-file-coding-system'. | ||
| 1439 | This allows to save messages whose characters cannot be safely encoded | ||
| 1440 | by the buffer's coding system, and makes sure the message will be | ||
| 1441 | displayed correctly when you later visit the target Rmail file. | ||
| 1442 | |||
| 1443 | If you want your Rmail files be encoded in a specific coding system | ||
| 1444 | other than `emacs-mule', you can customize the variable | ||
| 1445 | `rmail-file-coding-system' to set its value to that coding system. | ||
| 1446 | |||
| 1447 | ** Changes to TeX mode | ||
| 1448 | |||
| 1449 | *** The default mode has been changed from `plain-tex-mode' to | ||
| 1450 | `latex-mode'. | ||
| 1451 | |||
| 1452 | *** latex-mode now has a simple indentation algorithm. | ||
| 1453 | |||
| 1454 | *** M-f and M-p jump around \begin...\end pairs. | ||
| 1455 | |||
| 1456 | *** Added support for outline-minor-mode. | ||
| 1457 | |||
| 1458 | ** Changes to RefTeX mode | ||
| 1459 | |||
| 1460 | *** RefTeX has new support for index generation. Index entries can be | ||
| 1461 | created with `C-c <', with completion available on index keys. | ||
| 1462 | Pressing `C-c /' indexes the word at the cursor with a default | ||
| 1463 | macro. `C-c >' compiles all index entries into an alphabetically | ||
| 1464 | sorted *Index* buffer which looks like the final index. Entries | ||
| 1465 | can be edited from that buffer. | ||
| 1466 | |||
| 1467 | *** Label and citation key selection now allow to select several | ||
| 1468 | items and reference them together (use `m' to mark items, `a' or | ||
| 1469 | `A' to use all marked entries). | ||
| 1470 | |||
| 1471 | *** reftex.el has been split into a number of smaller files to reduce | ||
| 1472 | memory use when only a part of RefTeX is being used. | ||
| 1473 | |||
| 1474 | *** a new command `reftex-view-crossref-from-bibtex' (bound to `C-c &' | ||
| 1475 | in BibTeX-mode) can be called in a BibTeX database buffer in order | ||
| 1476 | to show locations in LaTeX documents where a particular entry has | ||
| 1477 | been cited. | ||
| 1478 | |||
| 1479 | ** Emacs Lisp mode now allows multiple levels of outline headings. | ||
| 1480 | The level of a heading is determined from the number of leading | ||
| 1481 | semicolons in a heading line. Toplevel forms starting with a `(' | ||
| 1482 | in column 1 are always made leaves. | ||
| 1483 | |||
| 1484 | ** The M-x time-stamp command (most commonly used on write-file-hooks) | ||
| 1485 | has the following new features: | ||
| 1486 | |||
| 1487 | *** The patterns for finding the time stamp and for updating a pattern | ||
| 1488 | may match text spanning multiple lines. For example, some people like | ||
| 1489 | to have the filename and date on separate lines. The new variable | ||
| 1490 | time-stamp-inserts-lines controls the matching for multi-line patterns. | ||
| 1491 | |||
| 1492 | *** More than one time stamp can be updated in the same file. This | ||
| 1493 | feature is useful if you need separate time stamps in a program source | ||
| 1494 | file to both include in formatted documentation and insert in the | ||
| 1495 | compiled binary. The same time-stamp will be written at each matching | ||
| 1496 | pattern. The variable time-stamp-count enables this new feature; it | ||
| 1497 | defaults to 1. | ||
| 1498 | |||
| 1499 | ** Partial Completion mode now completes environment variables in | ||
| 1500 | file names. | ||
| 1501 | |||
| 1502 | ** Ispell changes | ||
| 1503 | |||
| 1504 | *** The command `ispell' now spell-checks a region if | ||
| 1505 | transient-mark-mode is on, and the mark is active. Otherwise it | ||
| 1506 | spell-checks the current buffer. | ||
| 1507 | |||
| 1508 | *** Support for synchronous subprocesses - DOS/Windoze - has been | ||
| 1509 | added. | ||
| 1510 | |||
| 1511 | *** An "alignment error" bug was fixed when a manual spelling | ||
| 1512 | correction is made and re-checked. | ||
| 1513 | |||
| 1514 | *** Italian, Portuguese, and Slovak dictionary definitions have been added. | ||
| 1515 | |||
| 1516 | *** Region skipping performance has been vastly improved in some | ||
| 1517 | cases. | ||
| 1518 | |||
| 1519 | *** Spell checking HTML buffers has been improved and isn't so strict | ||
| 1520 | on syntax errors. | ||
| 1521 | |||
| 1522 | *** The buffer-local words are now always placed on a new line at the | ||
| 1523 | end of the buffer. | ||
| 1524 | |||
| 1525 | *** Spell checking now works in the MS-DOS version of Emacs. | ||
| 1526 | |||
| 1527 | *** The variable `ispell-format-word' has been renamed to | ||
| 1528 | `ispell-format-word-function'. The old name is still available as | ||
| 1529 | alias. | ||
| 1530 | |||
| 1531 | ** Makefile mode changes | ||
| 1532 | |||
| 1533 | *** The mode now uses the abbrev table `makefile-mode-abbrev-table'. | ||
| 1534 | |||
| 1535 | *** Conditionals and include statements are now highlighted when | ||
| 1536 | Fontlock mode is active. | ||
| 1537 | |||
| 1538 | ** Isearch changes | ||
| 1539 | |||
| 1540 | *** Isearch now puts a call to `isearch-resume' in the command history, | ||
| 1541 | so that searches can be resumed. | ||
| 1542 | |||
| 1543 | *** In Isearch mode, C-M-s and C-M-r are now bound like C-s and C-r, | ||
| 1544 | respectively, i.e. you can repeat a regexp isearch with the same keys | ||
| 1545 | that started the search. | ||
| 1546 | |||
| 1547 | *** In Isearch mode, mouse-2 in the echo area now yanks the current | ||
| 1548 | selection into the search string rather than giving an error. | ||
| 1549 | |||
| 1550 | *** There is a new lazy highlighting feature in incremental search. | ||
| 1551 | |||
| 1552 | Lazy highlighting is switched on/off by customizing variable | ||
| 1553 | `isearch-lazy-highlight'. When active, all matches for the current | ||
| 1554 | search string are highlighted. The current match is highlighted as | ||
| 1555 | before using face `isearch' or `region'. All other matches are | ||
| 1556 | highlighted using face `isearch-lazy-highlight-face' which defaults to | ||
| 1557 | `secondary-selection'. | ||
| 1558 | |||
| 1559 | The extra highlighting makes it easier to anticipate where the cursor | ||
| 1560 | will end up each time you press C-s or C-r to repeat a pending search. | ||
| 1561 | Highlighting of these additional matches happens in a deferred fashion | ||
| 1562 | using "idle timers," so the cycles needed do not rob isearch of its | ||
| 1563 | usual snappy response. | ||
| 1564 | |||
| 1565 | If `isearch-lazy-highlight-cleanup' is set to t, highlights for | ||
| 1566 | matches are automatically cleared when you end the search. If it is | ||
| 1567 | set to nil, you can remove the highlights manually with `M-x | ||
| 1568 | isearch-lazy-highlight-cleanup'. | ||
| 1569 | |||
| 1570 | ** VC Changes | ||
| 1571 | |||
| 1572 | VC has been overhauled internally. It is now modular, making it | ||
| 1573 | easier to plug-in arbitrary version control backends. (See Lisp | ||
| 1574 | Changes for details on the new structure.) As a result, the mechanism | ||
| 1575 | to enable and disable support for particular version systems has | ||
| 1576 | changed: everything is now controlled by the new variable | ||
| 1577 | `vc-handled-backends'. Its value is a list of symbols that identify | ||
| 1578 | version systems; the default is '(RCS CVS SCCS). When finding a file, | ||
| 1579 | each of the backends in that list is tried in order to see whether the | ||
| 1580 | file is registered in that backend. | ||
| 1581 | |||
| 1582 | When registering a new file, VC first tries each of the listed | ||
| 1583 | backends to see if any of them considers itself "responsible" for the | ||
| 1584 | directory of the file (e.g. because a corresponding subdirectory for | ||
| 1585 | master files exists). If none of the backends is responsible, then | ||
| 1586 | the first backend in the list that could register the file is chosen. | ||
| 1587 | As a consequence, the variable `vc-default-back-end' is now obsolete. | ||
| 1588 | |||
| 1589 | The old variable `vc-master-templates' is also obsolete, although VC | ||
| 1590 | still supports it for backward compatibility. To define templates for | ||
| 1591 | RCS or SCCS, you should rather use the new variables | ||
| 1592 | vc-{rcs,sccs}-master-templates. (There is no such feature under CVS | ||
| 1593 | where it doesn't make sense.) | ||
| 1594 | |||
| 1595 | The variables `vc-ignore-vc-files' and `vc-handle-cvs' are also | ||
| 1596 | obsolete now, you must set `vc-handled-backends' to nil or exclude | ||
| 1597 | `CVS' from the list, respectively, to achieve their effect now. | ||
| 1598 | |||
| 1599 | *** General Changes | ||
| 1600 | |||
| 1601 | The variable `vc-checkout-carefully' is obsolete: the corresponding | ||
| 1602 | checks are always done now. | ||
| 1603 | |||
| 1604 | VC Dired buffers are now kept up-to-date during all version control | ||
| 1605 | operations. | ||
| 1606 | |||
| 1607 | `vc-diff' output is now displayed in `diff-mode'. | ||
| 1608 | `vc-print-log' uses `log-view-mode'. | ||
| 1609 | `vc-log-mode' (used for *VC-Log*) has been replaced by `log-edit-mode'. | ||
| 1610 | |||
| 1611 | The command C-x v m (vc-merge) now accepts an empty argument as the | ||
| 1612 | first revision number. This means that any recent changes on the | ||
| 1613 | current branch should be picked up from the repository and merged into | ||
| 1614 | the working file (``merge news''). | ||
| 1615 | |||
| 1616 | The commands C-x v s (vc-create-snapshot) and C-x v r | ||
| 1617 | (vc-retrieve-snapshot) now ask for a directory name from which to work | ||
| 1618 | downwards. | ||
| 1619 | |||
| 1620 | *** Multiple Backends | ||
| 1621 | |||
| 1622 | VC now lets you register files in more than one backend. This is | ||
| 1623 | useful, for example, if you are working with a slow remote CVS | ||
| 1624 | repository. You can then use RCS for local editing, and occasionally | ||
| 1625 | commit your changes back to CVS, or pick up changes from CVS into your | ||
| 1626 | local RCS archives. | ||
| 1627 | |||
| 1628 | To make this work, the ``more local'' backend (RCS in our example) | ||
| 1629 | should come first in `vc-handled-backends', and the ``more remote'' | ||
| 1630 | backend (CVS) should come later. (The default value of | ||
| 1631 | `vc-handled-backends' already has it that way.) | ||
| 1632 | |||
| 1633 | You can then commit changes to another backend (say, RCS), by typing | ||
| 1634 | C-u C-x v v RCS RET (i.e. vc-next-action now accepts a backend name as | ||
| 1635 | a revision number). VC registers the file in the more local backend | ||
| 1636 | if that hasn't already happened, and commits to a branch based on the | ||
| 1637 | current revision number from the more remote backend. | ||
| 1638 | |||
| 1639 | If a file is registered in multiple backends, you can switch to | ||
| 1640 | another one using C-x v b (vc-switch-backend). This does not change | ||
| 1641 | any files, it only changes VC's perspective on the file. Use this to | ||
| 1642 | pick up changes from CVS while working under RCS locally. | ||
| 1643 | |||
| 1644 | After you are done with your local RCS editing, you can commit your | ||
| 1645 | changes back to CVS using C-u C-x v v CVS RET. In this case, the | ||
| 1646 | local RCS archive is removed after the commit, and the log entry | ||
| 1647 | buffer is initialized to contain the entire RCS change log of the file. | ||
| 1648 | |||
| 1649 | *** Changes for CVS | ||
| 1650 | |||
| 1651 | There is a new user option, `vc-cvs-stay-local'. If it is `t' (the | ||
| 1652 | default), then VC avoids network queries for files registered in | ||
| 1653 | remote repositories. The state of such files is then only determined | ||
| 1654 | by heuristics and past information. `vc-cvs-stay-local' can also be a | ||
| 1655 | regexp to match against repository hostnames; only files from hosts | ||
| 1656 | that match it are treated locally. If the variable is nil, then VC | ||
| 1657 | queries the repository just as often as it does for local files. | ||
| 1658 | |||
| 1659 | If `vc-cvs-stay-local' is on, then VC also makes local backups of | ||
| 1660 | repository versions. This means that ordinary diffs (C-x v =) and | ||
| 1661 | revert operations (C-x v u) can be done completely locally, without | ||
| 1662 | any repository interactions at all. The name of a local version | ||
| 1663 | backup of FILE is FILE.~REV.~, where REV is the repository version | ||
| 1664 | number. This format is similar to that used by C-x v ~ | ||
| 1665 | (vc-version-other-window), except for the trailing dot. As a matter | ||
| 1666 | of fact, the two features can each use the files created by the other, | ||
| 1667 | the only difference being that files with a trailing `.' are deleted | ||
| 1668 | automatically after commit. (This feature doesn't work on MS-DOS, | ||
| 1669 | since DOS disallows more than a single dot in the trunk of a file | ||
| 1670 | name.) | ||
| 1671 | |||
| 1672 | If `vc-cvs-stay-local' is on, and there have been changes in the | ||
| 1673 | repository, VC notifies you about it when you actually try to commit. | ||
| 1674 | If you want to check for updates from the repository without trying to | ||
| 1675 | commit, you can either use C-x v m RET to perform an update on the | ||
| 1676 | current file, or you can use C-x v r RET to get an update for an | ||
| 1677 | entire directory tree. | ||
| 1678 | |||
| 1679 | The new user option `vc-cvs-use-edit' indicates whether VC should call | ||
| 1680 | "cvs edit" to make files writeable; it defaults to `t'. (This option | ||
| 1681 | is only meaningful if the CVSREAD variable is set, or if files are | ||
| 1682 | "watched" by other developers.) | ||
| 1683 | |||
| 1684 | The commands C-x v s (vc-create-snapshot) and C-x v r | ||
| 1685 | (vc-retrieve-snapshot) are now also implemented for CVS. If you give | ||
| 1686 | an empty snapshot name to the latter, that performs a `cvs update', | ||
| 1687 | starting at the given directory. | ||
| 1688 | |||
| 1689 | *** Lisp Changes in VC | ||
| 1690 | |||
| 1691 | VC has been restructured internally to make it modular. You can now | ||
| 1692 | add support for arbitrary version control backends by writing a | ||
| 1693 | library that provides a certain set of backend-specific functions, and | ||
| 1694 | then telling VC to use that library. For example, to add support for | ||
| 1695 | a version system named SYS, you write a library named vc-sys.el, which | ||
| 1696 | provides a number of functions vc-sys-... (see commentary at the top | ||
| 1697 | of vc.el for a detailed list of them). To make VC use that library, | ||
| 1698 | you need to put it somewhere into Emacs' load path and add the symbol | ||
| 1699 | `SYS' to the list `vc-handled-backends'. | ||
| 1700 | |||
| 1701 | ** The customizable EDT emulation package now supports the EDT | ||
| 1702 | SUBS command and EDT scroll margins. It also works with more | ||
| 1703 | terminal/keyboard configurations and it now works under XEmacs. | ||
| 1704 | See etc/edt-user.doc for more information. | ||
| 1705 | |||
| 1706 | ** New modes and packages | ||
| 1707 | |||
| 1708 | *** The new global minor mode `minibuffer-electric-default-mode' | ||
| 1709 | automatically hides the `(default ...)' part of minibuffer prompts when | ||
| 1710 | the default is not applicable. | ||
| 1711 | |||
| 1712 | *** Artist is an Emacs lisp package that allows you to draw lines, | ||
| 1713 | rectangles and ellipses by using your mouse and/or keyboard. The | ||
| 1714 | shapes are made up with the ascii characters |, -, / and \. | ||
| 1715 | |||
| 1716 | Features are: | ||
| 1717 | |||
| 1718 | - Intersecting: When a `|' intersects with a `-', a `+' is | ||
| 1719 | drawn, like this: | \ / | ||
| 1720 | --+-- X | ||
| 1721 | | / \ | ||
| 1722 | |||
| 1723 | - Rubber-banding: When drawing lines you can interactively see the | ||
| 1724 | result while holding the mouse button down and moving the mouse. If | ||
| 1725 | your machine is not fast enough (a 386 is a bit too slow, but a | ||
| 1726 | pentium is well enough), you can turn this feature off. You will | ||
| 1727 | then see 1's and 2's which mark the 1st and 2nd endpoint of the line | ||
| 1728 | you are drawing. | ||
| 1729 | |||
| 1730 | - Arrows: After having drawn a (straight) line or a (straight) | ||
| 1731 | poly-line, you can set arrows on the line-ends by typing < or >. | ||
| 1732 | |||
| 1733 | - Flood-filling: You can fill any area with a certain character by | ||
| 1734 | flood-filling. | ||
| 1735 | |||
| 1736 | - Cut copy and paste: You can cut, copy and paste rectangular | ||
| 1737 | regions. Artist also interfaces with the rect package (this can be | ||
| 1738 | turned off if it causes you any trouble) so anything you cut in | ||
| 1739 | artist can be yanked with C-x r y and vice versa. | ||
| 1740 | |||
| 1741 | - Drawing with keys: Everything you can do with the mouse, you can | ||
| 1742 | also do without the mouse. | ||
| 1743 | |||
| 1744 | - Aspect-ratio: You can set the variable artist-aspect-ratio to | ||
| 1745 | reflect the height-width ratio for the font you are using. Squares | ||
| 1746 | and circles are then drawn square/round. Note, that once your | ||
| 1747 | ascii-file is shown with font with a different height-width ratio, | ||
| 1748 | the squares won't be square and the circles won't be round. | ||
| 1749 | |||
| 1750 | - Drawing operations: The following drawing operations are implemented: | ||
| 1751 | |||
| 1752 | lines straight-lines | ||
| 1753 | rectangles squares | ||
| 1754 | poly-lines straight poly-lines | ||
| 1755 | ellipses circles | ||
| 1756 | text (see-thru) text (overwrite) | ||
| 1757 | spray-can setting size for spraying | ||
| 1758 | vaporize line vaporize lines | ||
| 1759 | erase characters erase rectangles | ||
| 1760 | |||
| 1761 | Straight lines are lines that go horizontally, vertically or | ||
| 1762 | diagonally. Plain lines go in any direction. The operations in | ||
| 1763 | the right column are accessed by holding down the shift key while | ||
| 1764 | drawing. | ||
| 1765 | |||
| 1766 | It is possible to vaporize (erase) entire lines and connected lines | ||
| 1767 | (rectangles for example) as long as the lines being vaporized are | ||
| 1768 | straight and connected at their endpoints. Vaporizing is inspired | ||
| 1769 | by the drawrect package by Jari Aalto <jari.aalto@poboxes.com>. | ||
| 1770 | |||
| 1771 | - Picture mode compatibility: Artist is picture mode compatible (this | ||
| 1772 | can be turned off). | ||
| 1773 | |||
| 1774 | *** The new package Eshell is an operating system command shell | ||
| 1775 | implemented entirely in Emacs Lisp. Use `M-x eshell' to invoke it. | ||
| 1776 | It functions similarly to bash and zsh, and allows running of Lisp | ||
| 1777 | functions and external commands using the same syntax. It supports | ||
| 1778 | history lists, aliases, extended globbing, smart scrolling, etc. It | ||
| 1779 | will work on any platform Emacs has been ported to. And since most of | ||
| 1780 | the basic commands -- ls, rm, mv, cp, ln, du, cat, etc. -- have been | ||
| 1781 | rewritten in Lisp, it offers an operating-system independent shell, | ||
| 1782 | all within the scope of your Emacs process. | ||
| 1783 | |||
| 1784 | *** The new package timeclock.el is a mode is for keeping track of time | ||
| 1785 | intervals. You can use it for whatever purpose you like, but the | ||
| 1786 | typical scenario is to keep track of how much time you spend working | ||
| 1787 | on certain projects. | ||
| 1788 | |||
| 1789 | *** The new package hi-lock.el provides commands to highlight matches | ||
| 1790 | of interactively entered regexps. For example, | ||
| 1791 | |||
| 1792 | M-x highlight-regexp RET clearly RET RET | ||
| 1793 | |||
| 1794 | will highlight all occurrences of `clearly' using a yellow background | ||
| 1795 | face. New occurrences of `clearly' will be highlighted as they are | ||
| 1796 | typed. `M-x unhighlight-regexp RET' will remove the highlighting. | ||
| 1797 | Any existing face can be used for highlighting and a set of | ||
| 1798 | appropriate faces is provided. The regexps can be written into the | ||
| 1799 | current buffer in a form that will be recognized the next time the | ||
| 1800 | corresponding file is read. There are commands to highlight matches | ||
| 1801 | to phrases and to highlight entire lines containing a match. | ||
| 1802 | |||
| 1803 | *** The new package zone.el plays games with Emacs' display when | ||
| 1804 | Emacs is idle. | ||
| 1805 | |||
| 1806 | *** The new package tildify.el allows to add hard spaces or other text | ||
| 1807 | fragments in accordance with the current major mode. | ||
| 1808 | |||
| 1809 | *** The new package xml.el provides a simple but generic XML | ||
| 1810 | parser. It doesn't parse the DTDs however. | ||
| 1811 | |||
| 1812 | *** The comment operations are now provided by the newcomment.el | ||
| 1813 | package which allows different styles of comment-region and should | ||
| 1814 | be more robust while offering the same functionality. | ||
| 1815 | `comment-region' now doesn't always comment a-line-at-a-time, but only | ||
| 1816 | comments the region, breaking the line at point if necessary. | ||
| 1817 | |||
| 1818 | *** The Ebrowse package implements a C++ class browser and tags | ||
| 1819 | facilities tailored for use with C++. It is documented in a | ||
| 1820 | separate Texinfo file. | ||
| 1821 | |||
| 1822 | *** The PCL-CVS package available by either running M-x cvs-examine or | ||
| 1823 | by visiting a CVS administrative directory (with a prefix argument) | ||
| 1824 | provides an alternative interface to VC-dired for CVS. It comes with | ||
| 1825 | `log-view-mode' to view RCS and SCCS logs and `log-edit-mode' used to | ||
| 1826 | enter check-in log messages. | ||
| 1827 | |||
| 1828 | *** The new package called `woman' allows to browse Unix man pages | ||
| 1829 | without invoking external programs. | ||
| 1830 | |||
| 1831 | The command `M-x woman' formats manual pages entirely in Emacs Lisp | ||
| 1832 | and then displays them, like `M-x manual-entry' does. Unlike | ||
| 1833 | `manual-entry', `woman' does not invoke any external programs, so it | ||
| 1834 | is useful on systems such as MS-DOS/MS-Windows where the `man' and | ||
| 1835 | Groff or `troff' commands are not readily available. | ||
| 1836 | |||
| 1837 | The command `M-x woman-find-file' asks for the file name of a man | ||
| 1838 | page, then formats and displays it like `M-x woman' does. | ||
| 1839 | |||
| 1840 | *** The new command M-x re-builder offers a convenient interface for | ||
| 1841 | authoring regular expressions with immediate visual feedback. | ||
| 1842 | |||
| 1843 | The buffer from which the command was called becomes the target for | ||
| 1844 | the regexp editor popping up in a separate window. Matching text in | ||
| 1845 | the target buffer is immediately color marked during the editing. | ||
| 1846 | Each sub-expression of the regexp will show up in a different face so | ||
| 1847 | even complex regexps can be edited and verified on target data in a | ||
| 1848 | single step. | ||
| 1849 | |||
| 1850 | On displays not supporting faces the matches instead blink like | ||
| 1851 | matching parens to make them stand out. On such a setup you will | ||
| 1852 | probably also want to use the sub-expression mode when the regexp | ||
| 1853 | contains such to get feedback about their respective limits. | ||
| 1854 | |||
| 1855 | *** glasses-mode is a minor mode that makes | ||
| 1856 | unreadableIdentifiersLikeThis readable. It works as glasses, without | ||
| 1857 | actually modifying content of a buffer. | ||
| 1858 | |||
| 1859 | *** The package ebnf2ps translates an EBNF to a syntactic chart in | ||
| 1860 | PostScript. | ||
| 1861 | |||
| 1862 | Currently accepts ad-hoc EBNF, ISO EBNF and Bison/Yacc. | ||
| 1863 | |||
| 1864 | The ad-hoc default EBNF syntax has the following elements: | ||
| 1865 | |||
| 1866 | ; comment (until end of line) | ||
| 1867 | A non-terminal | ||
| 1868 | "C" terminal | ||
| 1869 | ?C? special | ||
| 1870 | $A default non-terminal | ||
| 1871 | $"C" default terminal | ||
| 1872 | $?C? default special | ||
| 1873 | A = B. production (A is the header and B the body) | ||
| 1874 | C D sequence (C occurs before D) | ||
| 1875 | C | D alternative (C or D occurs) | ||
| 1876 | A - B exception (A excluding B, B without any non-terminal) | ||
| 1877 | n * A repetition (A repeats n (integer) times) | ||
| 1878 | (C) group (expression C is grouped together) | ||
| 1879 | [C] optional (C may or not occurs) | ||
| 1880 | C+ one or more occurrences of C | ||
| 1881 | {C}+ one or more occurrences of C | ||
| 1882 | {C}* zero or more occurrences of C | ||
| 1883 | {C} zero or more occurrences of C | ||
| 1884 | C / D equivalent to: C {D C}* | ||
| 1885 | {C || D}+ equivalent to: C {D C}* | ||
| 1886 | {C || D}* equivalent to: [C {D C}*] | ||
| 1887 | {C || D} equivalent to: [C {D C}*] | ||
| 1888 | |||
| 1889 | Please, see ebnf2ps documentation for EBNF syntax and how to use it. | ||
| 1890 | |||
| 1891 | *** The package align.el will align columns within a region, using M-x | ||
| 1892 | align. Its mode-specific rules, based on regular expressions, | ||
| 1893 | determine where the columns should be split. In C and C++, for | ||
| 1894 | example, it will align variable names in declaration lists, or the | ||
| 1895 | equal signs of assignments. | ||
| 1896 | |||
| 1897 | *** `paragraph-indent-minor-mode' is a new minor mode supporting | ||
| 1898 | paragraphs in the same style as `paragraph-indent-text-mode'. | ||
| 1899 | |||
| 1900 | *** bs.el is a new package for buffer selection similar to | ||
| 1901 | list-buffers or electric-buffer-list. Use M-x bs-show to display a | ||
| 1902 | buffer menu with this package. See the Custom group `bs'. | ||
| 1903 | |||
| 1904 | *** find-lisp.el is a package emulating the Unix find command in Lisp. | ||
| 1905 | |||
| 1906 | *** calculator.el is a small calculator package that is intended to | ||
| 1907 | replace desktop calculators such as xcalc and calc.exe. Actually, it | ||
| 1908 | is not too small - it has more features than most desktop calculators, | ||
| 1909 | and can be customized easily to get many more functions. It should | ||
| 1910 | not be confused with "calc" which is a much bigger mathematical tool | ||
| 1911 | which answers different needs. | ||
| 1912 | |||
| 1913 | *** The minor modes cwarn-mode and global-cwarn-mode highlights | ||
| 1914 | suspicious C and C++ constructions. Currently, assignments inside | ||
| 1915 | expressions, semicolon following `if', `for' and `while' (except, of | ||
| 1916 | course, after a `do .. while' statement), and C++ functions with | ||
| 1917 | reference parameters are recognized. The modes require font-lock mode | ||
| 1918 | to be enabled. | ||
| 1919 | |||
| 1920 | *** smerge-mode.el provides `smerge-mode', a simple minor-mode for files | ||
| 1921 | containing diff3-style conflict markers, such as generated by RCS. | ||
| 1922 | |||
| 1923 | *** 5x5.el is a simple puzzle game. | ||
| 1924 | |||
| 1925 | *** hl-line.el provides `hl-line-mode', a minor mode to highlight the | ||
| 1926 | current line in the current buffer. It also provides | ||
| 1927 | `global-hl-line-mode' to provide the same behavior in all buffers. | ||
| 1928 | |||
| 1929 | *** ansi-color.el translates ANSI terminal escapes into text-properties. | ||
| 1930 | |||
| 1931 | Please note: if `ansi-color-for-comint-mode' and | ||
| 1932 | `global-font-lock-mode' are non-nil, loading ansi-color.el will | ||
| 1933 | disable font-lock and add `ansi-color-apply' to | ||
| 1934 | `comint-preoutput-filter-functions' for all shell-mode buffers. This | ||
| 1935 | displays the output of "ls --color=yes" using the correct foreground | ||
| 1936 | and background colors. | ||
| 1937 | |||
| 1938 | *** delphi.el provides a major mode for editing the Delphi (Object | ||
| 1939 | Pascal) language. | ||
| 1940 | |||
| 1941 | *** quickurl.el provides a simple method of inserting a URL based on | ||
| 1942 | the text at point. | ||
| 1943 | |||
| 1944 | *** sql.el provides an interface to SQL data bases. | ||
| 1945 | |||
| 1946 | *** fortune.el uses the fortune program to create mail/news signatures. | ||
| 1947 | |||
| 1948 | *** whitespace.el is a package for warning about and cleaning bogus | ||
| 1949 | whitespace in a file. | ||
| 1950 | |||
| 1951 | *** PostScript mode (ps-mode) is a new major mode for editing PostScript | ||
| 1952 | files. It offers: interaction with a PostScript interpreter, including | ||
| 1953 | (very basic) error handling; fontification, easily customizable for | ||
| 1954 | interpreter messages; auto-indentation; insertion of EPSF templates and | ||
| 1955 | often used code snippets; viewing of BoundingBox; commenting out / | ||
| 1956 | uncommenting regions; conversion of 8bit characters to PostScript octal | ||
| 1957 | codes. All functionality is accessible through a menu. | ||
| 1958 | |||
| 1959 | *** delim-col helps to prettify columns in a text region or rectangle. | ||
| 1960 | |||
| 1961 | Here is an example of columns: | ||
| 1962 | |||
| 1963 | horse apple bus | ||
| 1964 | dog pineapple car EXTRA | ||
| 1965 | porcupine strawberry airplane | ||
| 1966 | |||
| 1967 | Doing the following settings: | ||
| 1968 | |||
| 1969 | (setq delimit-columns-str-before "[ ") | ||
| 1970 | (setq delimit-columns-str-after " ]") | ||
| 1971 | (setq delimit-columns-str-separator ", ") | ||
| 1972 | (setq delimit-columns-separator "\t") | ||
| 1973 | |||
| 1974 | |||
| 1975 | Selecting the lines above and typing: | ||
| 1976 | |||
| 1977 | M-x delimit-columns-region | ||
| 1978 | |||
| 1979 | It results: | ||
| 1980 | |||
| 1981 | [ horse , apple , bus , ] | ||
| 1982 | [ dog , pineapple , car , EXTRA ] | ||
| 1983 | [ porcupine, strawberry, airplane, ] | ||
| 1984 | |||
| 1985 | delim-col has the following options: | ||
| 1986 | |||
| 1987 | delimit-columns-str-before Specify a string to be inserted | ||
| 1988 | before all columns. | ||
| 1989 | |||
| 1990 | delimit-columns-str-separator Specify a string to be inserted | ||
| 1991 | between each column. | ||
| 1992 | |||
| 1993 | delimit-columns-str-after Specify a string to be inserted | ||
| 1994 | after all columns. | ||
| 1995 | |||
| 1996 | delimit-columns-separator Specify a regexp which separates | ||
| 1997 | each column. | ||
| 1998 | |||
| 1999 | delim-col has the following commands: | ||
| 2000 | |||
| 2001 | delimit-columns-region Prettify all columns in a text region. | ||
| 2002 | delimit-columns-rectangle Prettify all columns in a text rectangle. | ||
| 2003 | |||
| 2004 | *** Recentf mode maintains a menu for visiting files that were | ||
| 2005 | operated on recently. User option recentf-menu-filter specifies a | ||
| 2006 | menu filter function to change the menu appearance. For example, the | ||
| 2007 | recent file list can be displayed: | ||
| 2008 | |||
| 2009 | - organized by major modes, directories or user defined rules. | ||
| 2010 | - sorted by file paths, file names, ascending or descending. | ||
| 2011 | - showing paths relative to the current default-directory | ||
| 2012 | |||
| 2013 | The `recentf-filter-changer' menu filter function allows to | ||
| 2014 | dynamically change the menu appearance. | ||
| 2015 | |||
| 2016 | *** elide-head.el provides a mechanism for eliding boilerplate header | ||
| 2017 | text. | ||
| 2018 | |||
| 2019 | *** footnote.el provides `footnote-mode', a minor mode supporting use | ||
| 2020 | of footnotes. It is intended for use with Message mode, but isn't | ||
| 2021 | specific to Message mode. | ||
| 2022 | |||
| 2023 | *** diff-mode.el provides `diff-mode', a major mode for | ||
| 2024 | viewing/editing context diffs (patches). It is selected for files | ||
| 2025 | with extension `.diff', `.diffs', `.patch' and `.rej'. | ||
| 2026 | |||
| 2027 | *** EUDC, the Emacs Unified Directory Client, provides a common user | ||
| 2028 | interface to access directory servers using different directory | ||
| 2029 | protocols. It has a separate manual. | ||
| 2030 | |||
| 2031 | *** autoconf.el provides a major mode for editing configure.in files | ||
| 2032 | for Autoconf, selected automatically. | ||
| 2033 | |||
| 2034 | *** windmove.el provides moving between windows. | ||
| 2035 | |||
| 2036 | *** crm.el provides a facility to read multiple strings from the | ||
| 2037 | minibuffer with completion. | ||
| 2038 | |||
| 2039 | *** todo-mode.el provides management of TODO lists and integration | ||
| 2040 | with the diary features. | ||
| 2041 | |||
| 2042 | *** autoarg.el provides a feature reported from Twenex Emacs whereby | ||
| 2043 | numeric keys supply prefix args rather than self inserting. | ||
| 2044 | |||
| 2045 | *** The function `turn-off-auto-fill' unconditionally turns off Auto | ||
| 2046 | Fill mode. | ||
| 2047 | |||
| 2048 | *** pcomplete.el is a library that provides programmable completion | ||
| 2049 | facilities for Emacs, similar to what zsh and tcsh offer. The main | ||
| 2050 | difference is that completion functions are written in Lisp, meaning | ||
| 2051 | they can be profiled, debugged, etc. | ||
| 2052 | |||
| 2053 | *** antlr-mode is a new major mode for editing ANTLR grammar files. | ||
| 2054 | It is automatically turned on for files whose names have the extension | ||
| 2055 | `.g'. | ||
| 2056 | |||
| 2057 | ** Changes in sort.el | ||
| 2058 | |||
| 2059 | The function sort-numeric-fields interprets numbers starting with `0' | ||
| 2060 | as octal and numbers starting with `0x' or `0X' as hexadecimal. The | ||
| 2061 | new user-option sort-numeric-base can be used to specify a default | ||
| 2062 | numeric base. | ||
| 2063 | |||
| 2064 | ** Changes to Ange-ftp | ||
| 2065 | |||
| 2066 | *** Ange-ftp allows you to specify of a port number in remote file | ||
| 2067 | names cleanly. It is appended to the host name, separated by a hash | ||
| 2068 | sign, e.g. `/foo@bar.org#666:mumble'. (This syntax comes from EFS.) | ||
| 2069 | |||
| 2070 | *** If the new user-option `ange-ftp-try-passive-mode' is set, passive | ||
| 2071 | ftp mode will be used if the ftp client supports that. | ||
| 2072 | |||
| 2073 | *** Ange-ftp handles the output of the w32-style clients which | ||
| 2074 | output ^M at the end of lines. | ||
| 2075 | |||
| 2076 | ** The recommended way of using Iswitchb is via the new global minor | ||
| 2077 | mode `iswitchb-mode'. | ||
| 2078 | |||
| 2079 | ** Just loading the msb package doesn't switch on Msb mode anymore. | ||
| 2080 | If you have `(require 'msb)' in your .emacs, please replace it with | ||
| 2081 | `(msb-mode 1)'. | ||
| 2082 | |||
| 2083 | ** Changes in Flyspell mode | ||
| 2084 | |||
| 2085 | *** Flyspell mode has various new options. See the `flyspell' Custom | ||
| 2086 | group. | ||
| 2087 | |||
| 2088 | *** The variable `flyspell-generic-check-word-p' has been renamed | ||
| 2089 | to `flyspell-generic-check-word-predicate'. The old name is still | ||
| 2090 | available as alias. | ||
| 2091 | |||
| 2092 | ** The user option `backward-delete-char-untabify-method' controls the | ||
| 2093 | behavior of `backward-delete-char-untabify'. The following values | ||
| 2094 | are recognized: | ||
| 2095 | |||
| 2096 | `untabify' -- turn a tab to many spaces, then delete one space; | ||
| 2097 | `hungry' -- delete all whitespace, both tabs and spaces; | ||
| 2098 | `all' -- delete all whitespace, including tabs, spaces and newlines; | ||
| 2099 | nil -- just delete one character. | ||
| 2100 | |||
| 2101 | Default value is `untabify'. | ||
| 2102 | |||
| 2103 | [This change was made in Emacs 20.3 but not mentioned then.] | ||
| 2104 | |||
| 2105 | ** In Cperl mode `cperl-invalid-face' should now be a normal face | ||
| 2106 | symbol, not double-quoted. | ||
| 2107 | |||
| 2108 | ** Some packages are declared obsolete, to be removed in a future | ||
| 2109 | version. They are: auto-show, c-mode, hilit19, hscroll, ooutline, | ||
| 2110 | profile, rnews, rnewspost, and sc. Their implementations have been | ||
| 2111 | moved to lisp/obsolete. | ||
| 2112 | |||
| 2113 | ** auto-compression mode is no longer enabled just by loading jka-compr.el. | ||
| 2114 | To control it, set `auto-compression-mode' via Custom or use the | ||
| 2115 | `auto-compression-mode' command. | ||
| 2116 | |||
| 2117 | ** `browse-url-gnome-moz' is a new option for | ||
| 2118 | `browse-url-browser-function', invoking Mozilla in GNOME, and | ||
| 2119 | `browse-url-kde' can be chosen for invoking the KDE browser. | ||
| 2120 | |||
| 2121 | ** The user-option `browse-url-new-window-p' has been renamed to | ||
| 2122 | `browse-url-new-window-flag'. | ||
| 2123 | |||
| 2124 | ** The functions `keep-lines', `flush-lines' and `how-many' now | ||
| 2125 | operate on the active region in Transient Mark mode. | ||
| 2126 | |||
| 2127 | ** `gnus-user-agent' is a new possibility for `mail-user-agent'. It | ||
| 2128 | is like `message-user-agent', but with all the Gnus paraphernalia. | ||
| 2129 | |||
| 2130 | ** The Strokes package has been updated. If your Emacs has XPM | ||
| 2131 | support, you can use it for pictographic editing. In Strokes mode, | ||
| 2132 | use C-mouse-2 to compose a complex stoke and insert it into the | ||
| 2133 | buffer. You can encode or decode a strokes buffer with new commands | ||
| 2134 | M-x strokes-encode-buffer and M-x strokes-decode-buffer. There is a | ||
| 2135 | new command M-x strokes-list-strokes. | ||
| 2136 | |||
| 2137 | ** Hexl contains a new command `hexl-insert-hex-string' which inserts | ||
| 2138 | a string of hexadecimal numbers read from the mini-buffer. | ||
| 2139 | |||
| 2140 | ** Hexl mode allows to insert non-ASCII characters. | ||
| 2141 | |||
| 2142 | The non-ASCII characters are encoded using the same encoding as the | ||
| 2143 | file you are visiting in Hexl mode. | ||
| 2144 | |||
| 2145 | ** Shell script mode changes. | ||
| 2146 | |||
| 2147 | Shell script mode (sh-script) can now indent scripts for shells | ||
| 2148 | derived from sh and rc. The indentation style is customizable, and | ||
| 2149 | sh-script can attempt to "learn" the current buffer's style. | ||
| 2150 | |||
| 2151 | ** Etags changes. | ||
| 2152 | |||
| 2153 | *** In DOS, etags looks for file.cgz if it cannot find file.c. | ||
| 2154 | |||
| 2155 | *** New option --ignore-case-regex is an alternative to --regex. It is now | ||
| 2156 | possible to bind a regexp to a language, by prepending the regexp with | ||
| 2157 | {lang}, where lang is one of the languages that `etags --help' prints out. | ||
| 2158 | This feature is useful especially for regex files, where each line contains | ||
| 2159 | a regular expression. The manual contains details. | ||
| 2160 | |||
| 2161 | *** In C and derived languages, etags creates tags for function | ||
| 2162 | declarations when given the --declarations option. | ||
| 2163 | |||
| 2164 | *** In C++, tags are created for "operator". The tags have the form | ||
| 2165 | "operator+", without spaces between the keyword and the operator. | ||
| 2166 | |||
| 2167 | *** You shouldn't generally need any more the -C or -c++ option: etags | ||
| 2168 | automatically switches to C++ parsing when it meets the `class' or | ||
| 2169 | `template' keywords. | ||
| 2170 | |||
| 2171 | *** Etags now is able to delve at arbitrary deeps into nested structures in | ||
| 2172 | C-like languages. Previously, it was limited to one or two brace levels. | ||
| 2173 | |||
| 2174 | *** New language Ada: tags are functions, procedures, packages, tasks, and | ||
| 2175 | types. | ||
| 2176 | |||
| 2177 | *** In Fortran, `procedure' is not tagged. | ||
| 2178 | |||
| 2179 | *** In Java, tags are created for "interface". | ||
| 2180 | |||
| 2181 | *** In Lisp, "(defstruct (foo", "(defun (operator" and similar constructs | ||
| 2182 | are now tagged. | ||
| 2183 | |||
| 2184 | *** In makefiles, tags the targets. | ||
| 2185 | |||
| 2186 | *** In Perl, the --globals option tags global variables. my and local | ||
| 2187 | variables are tagged. | ||
| 2188 | |||
| 2189 | *** New language Python: def and class at the beginning of a line are tags. | ||
| 2190 | |||
| 2191 | *** .ss files are Scheme files, .pdb is Postscript with C syntax, .psw is | ||
| 2192 | for PSWrap. | ||
| 2193 | |||
| 2194 | ** Changes in etags.el | ||
| 2195 | |||
| 2196 | *** The new user-option tags-case-fold-search can be used to make | ||
| 2197 | tags operations case-sensitive or case-insensitive. The default | ||
| 2198 | is to use the same setting as case-fold-search. | ||
| 2199 | |||
| 2200 | *** You can display additional output with M-x tags-apropos by setting | ||
| 2201 | the new variable tags-apropos-additional-actions. | ||
| 2202 | |||
| 2203 | If non-nil, the variable's value should be a list of triples (TITLE | ||
| 2204 | FUNCTION TO-SEARCH). For each triple, M-x tags-apropos processes | ||
| 2205 | TO-SEARCH and lists tags from it. TO-SEARCH should be an alist, | ||
| 2206 | obarray, or symbol. If it is a symbol, the symbol's value is used. | ||
| 2207 | |||
| 2208 | TITLE is a string to use to label the list of tags from TO-SEARCH. | ||
| 2209 | |||
| 2210 | FUNCTION is a function to call when an entry is selected in the Tags | ||
| 2211 | List buffer. It is called with one argument, the selected symbol. | ||
| 2212 | |||
| 2213 | A useful example value for this variable might be something like: | ||
| 2214 | |||
| 2215 | '(("Emacs Lisp" Info-goto-emacs-command-node obarray) | ||
| 2216 | ("Common Lisp" common-lisp-hyperspec common-lisp-hyperspec-obarray) | ||
| 2217 | ("SCWM" scwm-documentation scwm-obarray)) | ||
| 2218 | |||
| 2219 | *** The face tags-tag-face can be used to customize the appearance | ||
| 2220 | of tags in the output of M-x tags-apropos. | ||
| 2221 | |||
| 2222 | *** Setting tags-apropos-verbose to a non-nil value displays the | ||
| 2223 | names of tags files in the *Tags List* buffer. | ||
| 2224 | |||
| 2225 | *** You can now search for tags that are part of the filename itself. | ||
| 2226 | If you have tagged the files topfile.c subdir/subfile.c | ||
| 2227 | /tmp/tempfile.c, you can now search for tags "topfile.c", "subfile.c", | ||
| 2228 | "dir/sub", "tempfile", "tempfile.c". If the tag matches the file name, | ||
| 2229 | point will go to the beginning of the file. | ||
| 2230 | |||
| 2231 | *** Compressed files are now transparently supported if | ||
| 2232 | auto-compression-mode is active. You can tag (with Etags) and search | ||
| 2233 | (with find-tag) both compressed and uncompressed files. | ||
| 2234 | |||
| 2235 | *** Tags commands like M-x tags-search no longer change point | ||
| 2236 | in buffers where no match is found. In buffers where a match is | ||
| 2237 | found, the original value of point is pushed on the marker ring. | ||
| 2238 | |||
| 2239 | ** Fortran mode has a new command `fortran-strip-sequence-nos' to | ||
| 2240 | remove text past column 72. The syntax class of `\' in Fortran is now | ||
| 2241 | appropriate for C-style escape sequences in strings. | ||
| 2242 | |||
| 2243 | ** SGML mode's default `sgml-validate-command' is now `nsgmls'. | ||
| 2244 | |||
| 2245 | ** A new command `view-emacs-problems' (C-h P) displays the PROBLEMS file. | ||
| 2246 | |||
| 2247 | ** The Dabbrev package has a new user-option `dabbrev-ignored-regexps' | ||
| 2248 | containing a list of regular expressions. Buffers matching a regular | ||
| 2249 | expression from that list, are not checked. | ||
| 2250 | |||
| 2251 | ** Emacs can now figure out modification times of remote files. | ||
| 2252 | When you do C-x C-f /user@host:/path/file RET and edit the file, | ||
| 2253 | and someone else modifies the file, you will be prompted to revert | ||
| 2254 | the buffer, just like for the local files. | ||
| 2255 | |||
| 2256 | ** The buffer menu (C-x C-b) no longer lists the *Buffer List* buffer. | ||
| 2257 | |||
| 2258 | ** When invoked with a prefix argument, the command `list-abbrevs' now | ||
| 2259 | displays local abbrevs, only. | ||
| 2260 | |||
| 2261 | ** Refill minor mode provides preliminary support for keeping | ||
| 2262 | paragraphs filled as you modify them. | ||
| 2263 | |||
| 2264 | ** The variable `double-click-fuzz' specifies how much the mouse | ||
| 2265 | may be moved between clicks that are recognized as a pair. Its value | ||
| 2266 | is measured in pixels. | ||
| 2267 | |||
| 2268 | ** The new global minor mode `auto-image-file-mode' allows image files | ||
| 2269 | to be visited as images. | ||
| 2270 | |||
| 2271 | ** Two new user-options `grep-command' and `grep-find-command' | ||
| 2272 | were added to compile.el. | ||
| 2273 | |||
| 2274 | ** Withdrawn packages | ||
| 2275 | |||
| 2276 | *** mldrag.el has been removed. mouse.el provides the same | ||
| 2277 | functionality with aliases for the mldrag functions. | ||
| 2278 | |||
| 2279 | *** eval-reg.el has been obsoleted by changes to edebug.el and removed. | ||
| 2280 | |||
| 2281 | *** ph.el has been obsoleted by EUDC and removed. | ||
| 2282 | |||
| 2283 | |||
| 2284 | * Incompatible Lisp changes in 21.1 | ||
| 2285 | |||
| 2286 | There are a few Lisp changes which are not backwards-compatible and | ||
| 2287 | may require changes to existing code. Here is a list for reference. | ||
| 2288 | See the sections below for details. | ||
| 2289 | |||
| 2290 | ** Since `format' preserves text properties, the idiom | ||
| 2291 | `(format "%s" foo)' no longer works to copy and remove properties. | ||
| 2292 | Use `copy-sequence' to copy the string, then use `set-text-properties' | ||
| 2293 | to remove the properties of the copy. | ||
| 2294 | |||
| 2295 | ** Since the `keymap' text property now has significance, some code | ||
| 2296 | which uses both `local-map' and `keymap' properties (for portability) | ||
| 2297 | may, for instance, give rise to duplicate menus when the keymaps from | ||
| 2298 | these properties are active. | ||
| 2299 | |||
| 2300 | ** The change in the treatment of non-ASCII characters in search | ||
| 2301 | ranges may affect some code. | ||
| 2302 | |||
| 2303 | ** A non-nil value for the LOCAL arg of add-hook makes the hook | ||
| 2304 | buffer-local even if `make-local-hook' hasn't been called, which might | ||
| 2305 | make a difference to some code. | ||
| 2306 | |||
| 2307 | ** The new treatment of the minibuffer prompt might affect code which | ||
| 2308 | operates on the minibuffer. | ||
| 2309 | |||
| 2310 | ** The new character sets `eight-bit-control' and `eight-bit-graphic' | ||
| 2311 | cause `no-conversion' and `emacs-mule-unix' coding systems to produce | ||
| 2312 | different results when reading files with non-ASCII characters | ||
| 2313 | (previously, both coding systems would produce the same results). | ||
| 2314 | Specifically, `no-conversion' interprets each 8-bit byte as a separate | ||
| 2315 | character. This makes `no-conversion' inappropriate for reading | ||
| 2316 | multibyte text, e.g. buffers written to disk in their internal MULE | ||
| 2317 | encoding (auto-saving does that, for example). If a Lisp program | ||
| 2318 | reads such files with `no-conversion', each byte of the multibyte | ||
| 2319 | sequence, including the MULE leading codes such as \201, is treated as | ||
| 2320 | a separate character, which prevents them from being interpreted in | ||
| 2321 | the buffer as multibyte characters. | ||
| 2322 | |||
| 2323 | Therefore, Lisp programs that read files which contain the internal | ||
| 2324 | MULE encoding should use `emacs-mule-unix'. `no-conversion' is only | ||
| 2325 | appropriate for reading truly binary files. | ||
| 2326 | |||
| 2327 | ** Code that relies on the obsolete `before-change-function' and | ||
| 2328 | `after-change-function' to detect buffer changes will now fail. Use | ||
| 2329 | `before-change-functions' and `after-change-functions' instead. | ||
| 2330 | |||
| 2331 | ** Code that uses `concat' with integer args now gets an error, as | ||
| 2332 | long promised. So does any code that uses derivatives of `concat', | ||
| 2333 | such as `mapconcat'. | ||
| 2334 | |||
| 2335 | ** The function base64-decode-string now always returns a unibyte | ||
| 2336 | string. | ||
| 2337 | |||
| 2338 | ** Not a Lisp incompatibility as such but, with the introduction of | ||
| 2339 | extra private charsets, there is now only one slot free for a new | ||
| 2340 | dimension-2 private charset. User code which tries to add more than | ||
| 2341 | one extra will fail unless you rebuild Emacs with some standard | ||
| 2342 | charset(s) removed; that is probably inadvisable because it changes | ||
| 2343 | the emacs-mule encoding. Also, files stored in the emacs-mule | ||
| 2344 | encoding using Emacs 20 with additional private charsets defined will | ||
| 2345 | probably not be read correctly by Emacs 21. | ||
| 2346 | |||
| 2347 | ** The variable `directory-sep-char' is slated for removal. | ||
| 2348 | Not really a change (yet), but a projected one that you should be | ||
| 2349 | aware of: The variable `directory-sep-char' is deprecated, and should | ||
| 2350 | not be used. It was always ignored on GNU/Linux and Unix systems and | ||
| 2351 | on MS-DOS, but the MS-Windows port tried to support it by adapting the | ||
| 2352 | behavior of certain primitives to the value of this variable. It | ||
| 2353 | turned out that such support cannot be reliable, so it was decided to | ||
| 2354 | remove this variable in the near future. Lisp programs are well | ||
| 2355 | advised not to set it to anything but '/', because any different value | ||
| 2356 | will not have any effect when support for this variable is removed. | ||
| 2357 | |||
| 2358 | |||
| 2359 | * Lisp changes made after edition 2.6 of the Emacs Lisp Manual, | ||
| 2360 | (Display-related features are described in a page of their own below.) | ||
| 2361 | |||
| 2362 | ** Function assq-delete-all replaces function assoc-delete-all. | ||
| 2363 | |||
| 2364 | ** The new function animate-string, from lisp/play/animate.el | ||
| 2365 | allows the animated display of strings. | ||
| 2366 | |||
| 2367 | ** The new function `interactive-form' can be used to obtain the | ||
| 2368 | interactive form of a function. | ||
| 2369 | |||
| 2370 | ** The keyword :set-after in defcustom allows to specify dependencies | ||
| 2371 | between custom options. Example: | ||
| 2372 | |||
| 2373 | (defcustom default-input-method nil | ||
| 2374 | "*Default input method for multilingual text (a string). | ||
| 2375 | This is the input method activated automatically by the command | ||
| 2376 | `toggle-input-method' (\\[toggle-input-method])." | ||
| 2377 | :group 'mule | ||
| 2378 | :type '(choice (const nil) string) | ||
| 2379 | :set-after '(current-language-environment)) | ||
| 2380 | |||
| 2381 | This specifies that default-input-method should be set after | ||
| 2382 | current-language-environment even if default-input-method appears | ||
| 2383 | first in a custom-set-variables statement. | ||
| 2384 | |||
| 2385 | ** The new hook `kbd-macro-termination-hook' is run at the end of | ||
| 2386 | function execute-kbd-macro. Functions on this hook are called with no | ||
| 2387 | args. The hook is run independent of how the macro was terminated | ||
| 2388 | (signal or normal termination). | ||
| 2389 | |||
| 2390 | ** Functions `butlast' and `nbutlast' for removing trailing elements | ||
| 2391 | from a list are now available without requiring the CL package. | ||
| 2392 | |||
| 2393 | ** The new user-option `even-window-heights' can be set to nil | ||
| 2394 | to prevent `display-buffer' from evening out window heights. | ||
| 2395 | |||
| 2396 | ** The user-option `face-font-registry-alternatives' specifies | ||
| 2397 | alternative font registry names to try when looking for a font. | ||
| 2398 | |||
| 2399 | ** Function `md5' calculates the MD5 "message digest"/"checksum". | ||
| 2400 | |||
| 2401 | ** Function `delete-frame' runs `delete-frame-hook' before actually | ||
| 2402 | deleting the frame. The hook is called with one arg, the frame | ||
| 2403 | being deleted. | ||
| 2404 | |||
| 2405 | ** `add-hook' now makes the hook local if called with a non-nil LOCAL arg. | ||
| 2406 | |||
| 2407 | ** The treatment of non-ASCII characters in search ranges has changed. | ||
| 2408 | If a range in a regular expression or the arg of | ||
| 2409 | skip-chars-forward/backward starts with a unibyte character C and ends | ||
| 2410 | with a multibyte character C2, the range is divided into two: one is | ||
| 2411 | C..?\377, the other is C1..C2, where C1 is the first character of C2's | ||
| 2412 | charset. | ||
| 2413 | |||
| 2414 | ** The new function `display-message-or-buffer' displays a message in | ||
| 2415 | the echo area or pops up a buffer, depending on the length of the | ||
| 2416 | message. | ||
| 2417 | |||
| 2418 | ** The new macro `with-auto-compression-mode' allows evaluating an | ||
| 2419 | expression with auto-compression-mode enabled. | ||
| 2420 | |||
| 2421 | ** In image specifications, `:heuristic-mask' has been replaced | ||
| 2422 | with the more general `:mask' property. | ||
| 2423 | |||
| 2424 | ** Image specifications accept more `:conversion's. | ||
| 2425 | |||
| 2426 | ** A `?' can be used in a symbol name without escaping it with a | ||
| 2427 | backslash. | ||
| 2428 | |||
| 2429 | ** Reading from the mini-buffer now reads from standard input if Emacs | ||
| 2430 | is running in batch mode. For example, | ||
| 2431 | |||
| 2432 | (message "%s" (read t)) | ||
| 2433 | |||
| 2434 | will read a Lisp expression from standard input and print the result | ||
| 2435 | to standard output. | ||
| 2436 | |||
| 2437 | ** The argument of `down-list', `backward-up-list', `up-list', | ||
| 2438 | `kill-sexp', `backward-kill-sexp' and `mark-sexp' is now optional. | ||
| 2439 | |||
| 2440 | ** If `display-buffer-reuse-frames' is set, function `display-buffer' | ||
| 2441 | will raise frames displaying a buffer, instead of creating a new | ||
| 2442 | frame or window. | ||
| 2443 | |||
| 2444 | ** Two new functions for removing elements from lists/sequences | ||
| 2445 | were added | ||
| 2446 | |||
| 2447 | - Function: remove ELT SEQ | ||
| 2448 | |||
| 2449 | Return a copy of SEQ with all occurrences of ELT removed. SEQ must be | ||
| 2450 | a list, vector, or string. The comparison is done with `equal'. | ||
| 2451 | |||
| 2452 | - Function: remq ELT LIST | ||
| 2453 | |||
| 2454 | Return a copy of LIST with all occurrences of ELT removed. The | ||
| 2455 | comparison is done with `eq'. | ||
| 2456 | |||
| 2457 | ** The function `delete' now also works with vectors and strings. | ||
| 2458 | |||
| 2459 | ** The meaning of the `:weakness WEAK' argument of make-hash-table | ||
| 2460 | has been changed: WEAK can now have new values `key-or-value' and | ||
| 2461 | `key-and-value', in addition to `nil', `key', `value', and `t'. | ||
| 2462 | |||
| 2463 | ** Function `aset' stores any multibyte character in any string | ||
| 2464 | without signaling "Attempt to change char length of a string". It may | ||
| 2465 | convert a unibyte string to multibyte if necessary. | ||
| 2466 | |||
| 2467 | ** The value of the `help-echo' text property is called as a function | ||
| 2468 | or evaluated, if it is not a string already, to obtain a help string. | ||
| 2469 | |||
| 2470 | ** Function `make-obsolete' now has an optional arg to say when the | ||
| 2471 | function was declared obsolete. | ||
| 2472 | |||
| 2473 | ** Function `plist-member' is renamed from `widget-plist-member' (which is | ||
| 2474 | retained as an alias). | ||
| 2475 | |||
| 2476 | ** Easy-menu's :filter now takes the unconverted form of the menu and | ||
| 2477 | the result is automatically converted to Emacs' form. | ||
| 2478 | |||
| 2479 | ** The new function `window-list' has been defined | ||
| 2480 | |||
| 2481 | - Function: window-list &optional FRAME WINDOW MINIBUF | ||
| 2482 | |||
| 2483 | Return a list of windows on FRAME, starting with WINDOW. FRAME nil or | ||
| 2484 | omitted means use the selected frame. WINDOW nil or omitted means use | ||
| 2485 | the selected window. MINIBUF t means include the minibuffer window, | ||
| 2486 | even if it isn't active. MINIBUF nil or omitted means include the | ||
| 2487 | minibuffer window only if it's active. MINIBUF neither nil nor t | ||
| 2488 | means never include the minibuffer window. | ||
| 2489 | |||
| 2490 | ** There's a new function `get-window-with-predicate' defined as follows | ||
| 2491 | |||
| 2492 | - Function: get-window-with-predicate PREDICATE &optional MINIBUF ALL-FRAMES DEFAULT | ||
| 2493 | |||
| 2494 | Return a window satisfying PREDICATE. | ||
| 2495 | |||
| 2496 | This function cycles through all visible windows using `walk-windows', | ||
| 2497 | calling PREDICATE on each one. PREDICATE is called with a window as | ||
| 2498 | argument. The first window for which PREDICATE returns a non-nil | ||
| 2499 | value is returned. If no window satisfies PREDICATE, DEFAULT is | ||
| 2500 | returned. | ||
| 2501 | |||
| 2502 | Optional second arg MINIBUF t means count the minibuffer window even | ||
| 2503 | if not active. MINIBUF nil or omitted means count the minibuffer iff | ||
| 2504 | it is active. MINIBUF neither t nor nil means not to count the | ||
| 2505 | minibuffer even if it is active. | ||
| 2506 | |||
| 2507 | Several frames may share a single minibuffer; if the minibuffer | ||
| 2508 | counts, all windows on all frames that share that minibuffer count | ||
| 2509 | too. Therefore, if you are using a separate minibuffer frame | ||
| 2510 | and the minibuffer is active and MINIBUF says it counts, | ||
| 2511 | `walk-windows' includes the windows in the frame from which you | ||
| 2512 | entered the minibuffer, as well as the minibuffer window. | ||
| 2513 | |||
| 2514 | ALL-FRAMES is the optional third argument. | ||
| 2515 | ALL-FRAMES nil or omitted means cycle within the frames as specified above. | ||
| 2516 | ALL-FRAMES = `visible' means include windows on all visible frames. | ||
| 2517 | ALL-FRAMES = 0 means include windows on all visible and iconified frames. | ||
| 2518 | ALL-FRAMES = t means include windows on all frames including invisible frames. | ||
| 2519 | If ALL-FRAMES is a frame, it means include windows on that frame. | ||
| 2520 | Anything else means restrict to the selected frame. | ||
| 2521 | |||
| 2522 | ** The function `single-key-description' now encloses function key and | ||
| 2523 | event names in angle brackets. When called with a second optional | ||
| 2524 | argument non-nil, angle brackets won't be printed. | ||
| 2525 | |||
| 2526 | ** If the variable `message-truncate-lines' is bound to t around a | ||
| 2527 | call to `message', the echo area will not be resized to display that | ||
| 2528 | message; it will be truncated instead, as it was done in 20.x. | ||
| 2529 | Default value is nil. | ||
| 2530 | |||
| 2531 | ** The user option `line-number-display-limit' can now be set to nil, | ||
| 2532 | meaning no limit. | ||
| 2533 | |||
| 2534 | ** The new user option `line-number-display-limit-width' controls | ||
| 2535 | the maximum width of lines in a buffer for which Emacs displays line | ||
| 2536 | numbers in the mode line. The default is 200. | ||
| 2537 | |||
| 2538 | ** `select-safe-coding-system' now also checks the most preferred | ||
| 2539 | coding-system if buffer-file-coding-system is `undecided' and | ||
| 2540 | DEFAULT-CODING-SYSTEM is not specified, | ||
| 2541 | |||
| 2542 | ** The function `subr-arity' provides information about the argument | ||
| 2543 | list of a primitive. | ||
| 2544 | |||
| 2545 | ** `where-is-internal' now also accepts a list of keymaps. | ||
| 2546 | |||
| 2547 | ** The text property `keymap' specifies a key map which overrides the | ||
| 2548 | buffer's local map and the map specified by the `local-map' property. | ||
| 2549 | This is probably what most current uses of `local-map' want, rather | ||
| 2550 | than replacing the local map. | ||
| 2551 | |||
| 2552 | ** The obsolete variables `before-change-function' and | ||
| 2553 | `after-change-function' are no longer acted upon and have been | ||
| 2554 | removed. Use `before-change-functions' and `after-change-functions' | ||
| 2555 | instead. | ||
| 2556 | |||
| 2557 | ** The function `apropos-mode' runs the hook `apropos-mode-hook'. | ||
| 2558 | |||
| 2559 | ** `concat' no longer accepts individual integer arguments, | ||
| 2560 | as promised long ago. | ||
| 2561 | |||
| 2562 | ** The new function `float-time' returns the current time as a float. | ||
| 2563 | |||
| 2564 | ** The new variable auto-coding-regexp-alist specifies coding systems | ||
| 2565 | for reading specific files, analogous to auto-coding-alist, but | ||
| 2566 | patterns are checked against file contents instead of file names. | ||
| 2567 | |||
| 2568 | |||
| 2569 | * Lisp changes in Emacs 21.1 (see following page for display-related features) | ||
| 2570 | |||
| 2571 | ** The new package rx.el provides an alternative sexp notation for | ||
| 2572 | regular expressions. | ||
| 2573 | |||
| 2574 | - Function: rx-to-string SEXP | ||
| 2575 | |||
| 2576 | Translate SEXP into a regular expression in string notation. | ||
| 2577 | |||
| 2578 | - Macro: rx SEXP | ||
| 2579 | |||
| 2580 | Translate SEXP into a regular expression in string notation. | ||
| 2581 | |||
| 2582 | The following are valid subforms of regular expressions in sexp | ||
| 2583 | notation. | ||
| 2584 | |||
| 2585 | STRING | ||
| 2586 | matches string STRING literally. | ||
| 2587 | |||
| 2588 | CHAR | ||
| 2589 | matches character CHAR literally. | ||
| 2590 | |||
| 2591 | `not-newline' | ||
| 2592 | matches any character except a newline. | ||
| 2593 | . | ||
| 2594 | `anything' | ||
| 2595 | matches any character | ||
| 2596 | |||
| 2597 | `(any SET)' | ||
| 2598 | matches any character in SET. SET may be a character or string. | ||
| 2599 | Ranges of characters can be specified as `A-Z' in strings. | ||
| 2600 | |||
| 2601 | '(in SET)' | ||
| 2602 | like `any'. | ||
| 2603 | |||
| 2604 | `(not (any SET))' | ||
| 2605 | matches any character not in SET | ||
| 2606 | |||
| 2607 | `line-start' | ||
| 2608 | matches the empty string, but only at the beginning of a line | ||
| 2609 | in the text being matched | ||
| 2610 | |||
| 2611 | `line-end' | ||
| 2612 | is similar to `line-start' but matches only at the end of a line | ||
| 2613 | |||
| 2614 | `string-start' | ||
| 2615 | matches the empty string, but only at the beginning of the | ||
| 2616 | string being matched against. | ||
| 2617 | |||
| 2618 | `string-end' | ||
| 2619 | matches the empty string, but only at the end of the | ||
| 2620 | string being matched against. | ||
| 2621 | |||
| 2622 | `buffer-start' | ||
| 2623 | matches the empty string, but only at the beginning of the | ||
| 2624 | buffer being matched against. | ||
| 2625 | |||
| 2626 | `buffer-end' | ||
| 2627 | matches the empty string, but only at the end of the | ||
| 2628 | buffer being matched against. | ||
| 2629 | |||
| 2630 | `point' | ||
| 2631 | matches the empty string, but only at point. | ||
| 2632 | |||
| 2633 | `word-start' | ||
| 2634 | matches the empty string, but only at the beginning or end of a | ||
| 2635 | word. | ||
| 2636 | |||
| 2637 | `word-end' | ||
| 2638 | matches the empty string, but only at the end of a word. | ||
| 2639 | |||
| 2640 | `word-boundary' | ||
| 2641 | matches the empty string, but only at the beginning or end of a | ||
| 2642 | word. | ||
| 2643 | |||
| 2644 | `(not word-boundary)' | ||
| 2645 | matches the empty string, but not at the beginning or end of a | ||
| 2646 | word. | ||
| 2647 | |||
| 2648 | `digit' | ||
| 2649 | matches 0 through 9. | ||
| 2650 | |||
| 2651 | `control' | ||
| 2652 | matches ASCII control characters. | ||
| 2653 | |||
| 2654 | `hex-digit' | ||
| 2655 | matches 0 through 9, a through f and A through F. | ||
| 2656 | |||
| 2657 | `blank' | ||
| 2658 | matches space and tab only. | ||
| 2659 | |||
| 2660 | `graphic' | ||
| 2661 | matches graphic characters--everything except ASCII control chars, | ||
| 2662 | space, and DEL. | ||
| 2663 | |||
| 2664 | `printing' | ||
| 2665 | matches printing characters--everything except ASCII control chars | ||
| 2666 | and DEL. | ||
| 2667 | |||
| 2668 | `alphanumeric' | ||
| 2669 | matches letters and digits. (But at present, for multibyte characters, | ||
| 2670 | it matches anything that has word syntax.) | ||
| 2671 | |||
| 2672 | `letter' | ||
| 2673 | matches letters. (But at present, for multibyte characters, | ||
| 2674 | it matches anything that has word syntax.) | ||
| 2675 | |||
| 2676 | `ascii' | ||
| 2677 | matches ASCII (unibyte) characters. | ||
| 2678 | |||
| 2679 | `nonascii' | ||
| 2680 | matches non-ASCII (multibyte) characters. | ||
| 2681 | |||
| 2682 | `lower' | ||
| 2683 | matches anything lower-case. | ||
| 2684 | |||
| 2685 | `upper' | ||
| 2686 | matches anything upper-case. | ||
| 2687 | |||
| 2688 | `punctuation' | ||
| 2689 | matches punctuation. (But at present, for multibyte characters, | ||
| 2690 | it matches anything that has non-word syntax.) | ||
| 2691 | |||
| 2692 | `space' | ||
| 2693 | matches anything that has whitespace syntax. | ||
| 2694 | |||
| 2695 | `word' | ||
| 2696 | matches anything that has word syntax. | ||
| 2697 | |||
| 2698 | `(syntax SYNTAX)' | ||
| 2699 | matches a character with syntax SYNTAX. SYNTAX must be one | ||
| 2700 | of the following symbols. | ||
| 2701 | |||
| 2702 | `whitespace' (\\s- in string notation) | ||
| 2703 | `punctuation' (\\s.) | ||
| 2704 | `word' (\\sw) | ||
| 2705 | `symbol' (\\s_) | ||
| 2706 | `open-parenthesis' (\\s() | ||
| 2707 | `close-parenthesis' (\\s)) | ||
| 2708 | `expression-prefix' (\\s') | ||
| 2709 | `string-quote' (\\s\") | ||
| 2710 | `paired-delimiter' (\\s$) | ||
| 2711 | `escape' (\\s\\) | ||
| 2712 | `character-quote' (\\s/) | ||
| 2713 | `comment-start' (\\s<) | ||
| 2714 | `comment-end' (\\s>) | ||
| 2715 | |||
| 2716 | `(not (syntax SYNTAX))' | ||
| 2717 | matches a character that has not syntax SYNTAX. | ||
| 2718 | |||
| 2719 | `(category CATEGORY)' | ||
| 2720 | matches a character with category CATEGORY. CATEGORY must be | ||
| 2721 | either a character to use for C, or one of the following symbols. | ||
| 2722 | |||
| 2723 | `consonant' (\\c0 in string notation) | ||
| 2724 | `base-vowel' (\\c1) | ||
| 2725 | `upper-diacritical-mark' (\\c2) | ||
| 2726 | `lower-diacritical-mark' (\\c3) | ||
| 2727 | `tone-mark' (\\c4) | ||
| 2728 | `symbol' (\\c5) | ||
| 2729 | `digit' (\\c6) | ||
| 2730 | `vowel-modifying-diacritical-mark' (\\c7) | ||
| 2731 | `vowel-sign' (\\c8) | ||
| 2732 | `semivowel-lower' (\\c9) | ||
| 2733 | `not-at-end-of-line' (\\c<) | ||
| 2734 | `not-at-beginning-of-line' (\\c>) | ||
| 2735 | `alpha-numeric-two-byte' (\\cA) | ||
| 2736 | `chinse-two-byte' (\\cC) | ||
| 2737 | `greek-two-byte' (\\cG) | ||
| 2738 | `japanese-hiragana-two-byte' (\\cH) | ||
| 2739 | `indian-two-byte' (\\cI) | ||
| 2740 | `japanese-katakana-two-byte' (\\cK) | ||
| 2741 | `korean-hangul-two-byte' (\\cN) | ||
| 2742 | `cyrillic-two-byte' (\\cY) | ||
| 2743 | `ascii' (\\ca) | ||
| 2744 | `arabic' (\\cb) | ||
| 2745 | `chinese' (\\cc) | ||
| 2746 | `ethiopic' (\\ce) | ||
| 2747 | `greek' (\\cg) | ||
| 2748 | `korean' (\\ch) | ||
| 2749 | `indian' (\\ci) | ||
| 2750 | `japanese' (\\cj) | ||
| 2751 | `japanese-katakana' (\\ck) | ||
| 2752 | `latin' (\\cl) | ||
| 2753 | `lao' (\\co) | ||
| 2754 | `tibetan' (\\cq) | ||
| 2755 | `japanese-roman' (\\cr) | ||
| 2756 | `thai' (\\ct) | ||
| 2757 | `vietnamese' (\\cv) | ||
| 2758 | `hebrew' (\\cw) | ||
| 2759 | `cyrillic' (\\cy) | ||
| 2760 | `can-break' (\\c|) | ||
| 2761 | |||
| 2762 | `(not (category CATEGORY))' | ||
| 2763 | matches a character that has not category CATEGORY. | ||
| 2764 | |||
| 2765 | `(and SEXP1 SEXP2 ...)' | ||
| 2766 | matches what SEXP1 matches, followed by what SEXP2 matches, etc. | ||
| 2767 | |||
| 2768 | `(submatch SEXP1 SEXP2 ...)' | ||
| 2769 | like `and', but makes the match accessible with `match-end', | ||
| 2770 | `match-beginning', and `match-string'. | ||
| 2771 | |||
| 2772 | `(group SEXP1 SEXP2 ...)' | ||
| 2773 | another name for `submatch'. | ||
| 2774 | |||
| 2775 | `(or SEXP1 SEXP2 ...)' | ||
| 2776 | matches anything that matches SEXP1 or SEXP2, etc. If all | ||
| 2777 | args are strings, use `regexp-opt' to optimize the resulting | ||
| 2778 | regular expression. | ||
| 2779 | |||
| 2780 | `(minimal-match SEXP)' | ||
| 2781 | produce a non-greedy regexp for SEXP. Normally, regexps matching | ||
| 2782 | zero or more occurrences of something are \"greedy\" in that they | ||
| 2783 | match as much as they can, as long as the overall regexp can | ||
| 2784 | still match. A non-greedy regexp matches as little as possible. | ||
| 2785 | |||
| 2786 | `(maximal-match SEXP)' | ||
| 2787 | produce a greedy regexp for SEXP. This is the default. | ||
| 2788 | |||
| 2789 | `(zero-or-more SEXP)' | ||
| 2790 | matches zero or more occurrences of what SEXP matches. | ||
| 2791 | |||
| 2792 | `(0+ SEXP)' | ||
| 2793 | like `zero-or-more'. | ||
| 2794 | |||
| 2795 | `(* SEXP)' | ||
| 2796 | like `zero-or-more', but always produces a greedy regexp. | ||
| 2797 | |||
| 2798 | `(*? SEXP)' | ||
| 2799 | like `zero-or-more', but always produces a non-greedy regexp. | ||
| 2800 | |||
| 2801 | `(one-or-more SEXP)' | ||
| 2802 | matches one or more occurrences of A. | ||
| 2803 | |||
| 2804 | `(1+ SEXP)' | ||
| 2805 | like `one-or-more'. | ||
| 2806 | |||
| 2807 | `(+ SEXP)' | ||
| 2808 | like `one-or-more', but always produces a greedy regexp. | ||
| 2809 | |||
| 2810 | `(+? SEXP)' | ||
| 2811 | like `one-or-more', but always produces a non-greedy regexp. | ||
| 2812 | |||
| 2813 | `(zero-or-one SEXP)' | ||
| 2814 | matches zero or one occurrences of A. | ||
| 2815 | |||
| 2816 | `(optional SEXP)' | ||
| 2817 | like `zero-or-one'. | ||
| 2818 | |||
| 2819 | `(? SEXP)' | ||
| 2820 | like `zero-or-one', but always produces a greedy regexp. | ||
| 2821 | |||
| 2822 | `(?? SEXP)' | ||
| 2823 | like `zero-or-one', but always produces a non-greedy regexp. | ||
| 2824 | |||
| 2825 | `(repeat N SEXP)' | ||
| 2826 | matches N occurrences of what SEXP matches. | ||
| 2827 | |||
| 2828 | `(repeat N M SEXP)' | ||
| 2829 | matches N to M occurrences of what SEXP matches. | ||
| 2830 | |||
| 2831 | `(eval FORM)' | ||
| 2832 | evaluate FORM and insert result. If result is a string, | ||
| 2833 | `regexp-quote' it. | ||
| 2834 | |||
| 2835 | `(regexp REGEXP)' | ||
| 2836 | include REGEXP in string notation in the result. | ||
| 2837 | |||
| 2838 | *** The features `md5' and `overlay' are now provided by default. | ||
| 2839 | |||
| 2840 | *** The special form `save-restriction' now works correctly even if the | ||
| 2841 | buffer is widened inside the save-restriction and changes made outside | ||
| 2842 | the original restriction. Previously, doing this would cause the saved | ||
| 2843 | restriction to be restored incorrectly. | ||
| 2844 | |||
| 2845 | *** The functions `find-charset-region' and `find-charset-string' include | ||
| 2846 | `eight-bit-control' and/or `eight-bit-graphic' in the returned list | ||
| 2847 | when they find 8-bit characters. Previously, they included `ascii' in a | ||
| 2848 | multibyte buffer and `unknown' in a unibyte buffer. | ||
| 2849 | |||
| 2850 | *** The functions `set-buffer-multibyte', `string-as-multibyte' and | ||
| 2851 | `string-as-unibyte' change the byte sequence of a buffer or a string | ||
| 2852 | if it contains a character from the `eight-bit-control' character set. | ||
| 2853 | |||
| 2854 | *** The handling of multibyte sequences in a multibyte buffer is | ||
| 2855 | changed. Previously, a byte sequence matching the pattern | ||
| 2856 | [\200-\237][\240-\377]+ was interpreted as a single character | ||
| 2857 | regardless of the length of the trailing bytes [\240-\377]+. Thus, if | ||
| 2858 | the sequence was longer than what the leading byte indicated, the | ||
| 2859 | extra trailing bytes were ignored by Lisp functions. Now such extra | ||
| 2860 | bytes are independent 8-bit characters belonging to the charset | ||
| 2861 | eight-bit-graphic. | ||
| 2862 | |||
| 2863 | ** Fontsets are now implemented using char-tables. | ||
| 2864 | |||
| 2865 | A fontset can now be specified for each independent character, for | ||
| 2866 | a group of characters or for a character set rather than just for a | ||
| 2867 | character set as previously. | ||
| 2868 | |||
| 2869 | *** The arguments of the function `set-fontset-font' are changed. | ||
| 2870 | They are NAME, CHARACTER, FONTNAME, and optional FRAME. The function | ||
| 2871 | modifies fontset NAME to use FONTNAME for CHARACTER. | ||
| 2872 | |||
| 2873 | CHARACTER may be a cons (FROM . TO), where FROM and TO are non-generic | ||
| 2874 | characters. In that case FONTNAME is used for all characters in the | ||
| 2875 | range FROM and TO (inclusive). CHARACTER may be a charset. In that | ||
| 2876 | case FONTNAME is used for all character in the charset. | ||
| 2877 | |||
| 2878 | FONTNAME may be a cons (FAMILY . REGISTRY), where FAMILY is the family | ||
| 2879 | name of a font and REGISTRY is a registry name of a font. | ||
| 2880 | |||
| 2881 | *** Variable x-charset-registry has been deleted. The default charset | ||
| 2882 | registries of character sets are set in the default fontset | ||
| 2883 | "fontset-default". | ||
| 2884 | |||
| 2885 | *** The function `create-fontset-from-fontset-spec' ignores the second | ||
| 2886 | argument STYLE-VARIANT. It never creates style-variant fontsets. | ||
| 2887 | |||
| 2888 | ** The method of composing characters is changed. Now character | ||
| 2889 | composition is done by a special text property `composition' in | ||
| 2890 | buffers and strings. | ||
| 2891 | |||
| 2892 | *** Charset composition is deleted. Emacs never creates a `composite | ||
| 2893 | character' which is an independent character with a unique character | ||
| 2894 | code. Thus the following functions handling `composite characters' | ||
| 2895 | have been deleted: composite-char-component, | ||
| 2896 | composite-char-component-count, composite-char-composition-rule, | ||
| 2897 | composite-char-composition-rule and decompose-composite-char delete. | ||
| 2898 | The variables leading-code-composition and min-composite-char have | ||
| 2899 | also been deleted. | ||
| 2900 | |||
| 2901 | *** Three more glyph reference points are added. They can be used to | ||
| 2902 | specify a composition rule. See the documentation of the variable | ||
| 2903 | `reference-point-alist' for more detail. | ||
| 2904 | |||
| 2905 | *** The function `compose-region' takes new arguments COMPONENTS and | ||
| 2906 | MODIFICATION-FUNC. With COMPONENTS, you can specify not only a | ||
| 2907 | composition rule but also characters to be composed. Such characters | ||
| 2908 | may differ between buffer and string text. | ||
| 2909 | |||
| 2910 | *** The function `compose-string' takes new arguments START, END, | ||
| 2911 | COMPONENTS, and MODIFICATION-FUNC. | ||
| 2912 | |||
| 2913 | *** The function `compose-string' puts text property `composition' | ||
| 2914 | directly on the argument STRING instead of returning a new string. | ||
| 2915 | Likewise, the function `decompose-string' just removes text property | ||
| 2916 | `composition' from STRING. | ||
| 2917 | |||
| 2918 | *** The new function `find-composition' returns information about | ||
| 2919 | a composition at a specified position in a buffer or a string. | ||
| 2920 | |||
| 2921 | *** The function `decompose-composite-char' is now labeled as | ||
| 2922 | obsolete. | ||
| 2923 | |||
| 2924 | ** The new coding system `mac-roman' is primarily intended for use on | ||
| 2925 | the Macintosh but may be used generally for Macintosh-encoded text. | ||
| 2926 | |||
| 2927 | ** The new character sets `mule-unicode-0100-24ff', | ||
| 2928 | `mule-unicode-2500-33ff', and `mule-unicode-e000-ffff' have been | ||
| 2929 | introduced for Unicode characters in the range U+0100..U+24FF, | ||
| 2930 | U+2500..U+33FF, U+E000..U+FFFF respectively. | ||
| 2931 | |||
| 2932 | Note that the character sets are not yet unified in Emacs, so | ||
| 2933 | characters which belong to charsets such as Latin-2, Greek, Hebrew, | ||
| 2934 | etc. and the same characters in the `mule-unicode-*' charsets are | ||
| 2935 | different characters, as far as Emacs is concerned. For example, text | ||
| 2936 | which includes Unicode characters from the Latin-2 locale cannot be | ||
| 2937 | encoded by Emacs with ISO 8859-2 coding system. | ||
| 2938 | |||
| 2939 | ** The new coding system `mule-utf-8' has been added. | ||
| 2940 | It provides limited support for decoding/encoding UTF-8 text. For | ||
| 2941 | details, please see the documentation string of this coding system. | ||
| 2942 | |||
| 2943 | ** The new character sets `japanese-jisx0213-1' and | ||
| 2944 | `japanese-jisx0213-2' have been introduced for the new Japanese | ||
| 2945 | standard JIS X 0213 Plane 1 and Plane 2. | ||
| 2946 | |||
| 2947 | ** The new character sets `latin-iso8859-14' and `latin-iso8859-15' | ||
| 2948 | have been introduced. | ||
| 2949 | |||
| 2950 | ** The new character sets `eight-bit-control' and `eight-bit-graphic' | ||
| 2951 | have been introduced for 8-bit characters in the ranges 0x80..0x9F and | ||
| 2952 | 0xA0..0xFF respectively. Note that the multibyte representation of | ||
| 2953 | eight-bit-control is never exposed; this leads to an exception in the | ||
| 2954 | emacs-mule coding system, which encodes everything else to the | ||
| 2955 | buffer/string internal representation. Note that to search for | ||
| 2956 | eight-bit-graphic characters in a multibyte buffer, the search string | ||
| 2957 | must be multibyte, otherwise such characters will be converted to | ||
| 2958 | their multibyte equivalent. | ||
| 2959 | |||
| 2960 | ** If the APPEND argument of `write-region' is an integer, it seeks to | ||
| 2961 | that offset in the file before writing. | ||
| 2962 | |||
| 2963 | ** The function `add-minor-mode' has been added for convenience and | ||
| 2964 | compatibility with XEmacs (and is used internally by define-minor-mode). | ||
| 2965 | |||
| 2966 | ** The function `shell-command' now sets the default directory of the | ||
| 2967 | `*Shell Command Output*' buffer to the default directory of the buffer | ||
| 2968 | from which the command was issued. | ||
| 2969 | |||
| 2970 | ** The functions `query-replace', `query-replace-regexp', | ||
| 2971 | `query-replace-regexp-eval' `map-query-replace-regexp', | ||
| 2972 | `replace-string', `replace-regexp', and `perform-replace' take two | ||
| 2973 | additional optional arguments START and END that specify the region to | ||
| 2974 | operate on. | ||
| 2975 | |||
| 2976 | ** The new function `count-screen-lines' is a more flexible alternative | ||
| 2977 | to `window-buffer-height'. | ||
| 2978 | |||
| 2979 | - Function: count-screen-lines &optional BEG END COUNT-FINAL-NEWLINE WINDOW | ||
| 2980 | |||
| 2981 | Return the number of screen lines in the region between BEG and END. | ||
| 2982 | The number of screen lines may be different from the number of actual | ||
| 2983 | lines, due to line breaking, display table, etc. | ||
| 2984 | |||
| 2985 | Optional arguments BEG and END default to `point-min' and `point-max' | ||
| 2986 | respectively. | ||
| 2987 | |||
| 2988 | If region ends with a newline, ignore it unless optional third argument | ||
| 2989 | COUNT-FINAL-NEWLINE is non-nil. | ||
| 2990 | |||
| 2991 | The optional fourth argument WINDOW specifies the window used for | ||
| 2992 | obtaining parameters such as width, horizontal scrolling, and so | ||
| 2993 | on. The default is to use the selected window's parameters. | ||
| 2994 | |||
| 2995 | Like `vertical-motion', `count-screen-lines' always uses the current | ||
| 2996 | buffer, regardless of which buffer is displayed in WINDOW. This makes | ||
| 2997 | possible to use `count-screen-lines' in any buffer, whether or not it | ||
| 2998 | is currently displayed in some window. | ||
| 2999 | |||
| 3000 | ** The new function `mapc' is like `mapcar' but doesn't collect the | ||
| 3001 | argument function's results. | ||
| 3002 | |||
| 3003 | ** The functions base64-decode-region and base64-decode-string now | ||
| 3004 | signal an error instead of returning nil if decoding fails. Also, | ||
| 3005 | `base64-decode-string' now always returns a unibyte string (in Emacs | ||
| 3006 | 20, it returned a multibyte string when the result was a valid multibyte | ||
| 3007 | sequence). | ||
| 3008 | |||
| 3009 | ** The function sendmail-user-agent-compose now recognizes a `body' | ||
| 3010 | header in the list of headers passed to it. | ||
| 3011 | |||
| 3012 | ** The new function member-ignore-case works like `member', but | ||
| 3013 | ignores differences in case and text representation. | ||
| 3014 | |||
| 3015 | ** The buffer-local variable cursor-type can be used to specify the | ||
| 3016 | cursor to use in windows displaying a buffer. Values are interpreted | ||
| 3017 | as follows: | ||
| 3018 | |||
| 3019 | t use the cursor specified for the frame (default) | ||
| 3020 | nil don't display a cursor | ||
| 3021 | `bar' display a bar cursor with default width | ||
| 3022 | (bar . WIDTH) display a bar cursor with width WIDTH | ||
| 3023 | others display a box cursor. | ||
| 3024 | |||
| 3025 | ** The variable open-paren-in-column-0-is-defun-start controls whether | ||
| 3026 | an open parenthesis in column 0 is considered to be the start of a | ||
| 3027 | defun. If set, the default, it is considered a defun start. If not | ||
| 3028 | set, an open parenthesis in column 0 has no special meaning. | ||
| 3029 | |||
| 3030 | ** The new function `string-to-syntax' can be used to translate syntax | ||
| 3031 | specifications in string form as accepted by `modify-syntax-entry' to | ||
| 3032 | the cons-cell form that is used for the values of the `syntax-table' | ||
| 3033 | text property, and in `font-lock-syntactic-keywords'. | ||
| 3034 | |||
| 3035 | Example: | ||
| 3036 | |||
| 3037 | (string-to-syntax "()") | ||
| 3038 | => (4 . 41) | ||
| 3039 | |||
| 3040 | ** Emacs' reader supports CL read syntax for integers in bases | ||
| 3041 | other than 10. | ||
| 3042 | |||
| 3043 | *** `#BINTEGER' or `#bINTEGER' reads INTEGER in binary (radix 2). | ||
| 3044 | INTEGER optionally contains a sign. | ||
| 3045 | |||
| 3046 | #b1111 | ||
| 3047 | => 15 | ||
| 3048 | #b-1111 | ||
| 3049 | => -15 | ||
| 3050 | |||
| 3051 | *** `#OINTEGER' or `#oINTEGER' reads INTEGER in octal (radix 8). | ||
| 3052 | |||
| 3053 | #o666 | ||
| 3054 | => 438 | ||
| 3055 | |||
| 3056 | *** `#XINTEGER' or `#xINTEGER' reads INTEGER in hexadecimal (radix 16). | ||
| 3057 | |||
| 3058 | #xbeef | ||
| 3059 | => 48815 | ||
| 3060 | |||
| 3061 | *** `#RADIXrINTEGER' reads INTEGER in radix RADIX, 2 <= RADIX <= 36. | ||
| 3062 | |||
| 3063 | #2R-111 | ||
| 3064 | => -7 | ||
| 3065 | #25rah | ||
| 3066 | => 267 | ||
| 3067 | |||
| 3068 | ** The function `documentation-property' now evaluates the value of | ||
| 3069 | the given property to obtain a string if it doesn't refer to etc/DOC | ||
| 3070 | and isn't a string. | ||
| 3071 | |||
| 3072 | ** If called for a symbol, the function `documentation' now looks for | ||
| 3073 | a `function-documentation' property of that symbol. If it has a non-nil | ||
| 3074 | value, the documentation is taken from that value. If the value is | ||
| 3075 | not a string, it is evaluated to obtain a string. | ||
| 3076 | |||
| 3077 | ** The last argument of `define-key-after' defaults to t for convenience. | ||
| 3078 | |||
| 3079 | ** The new function `replace-regexp-in-string' replaces all matches | ||
| 3080 | for a regexp in a string. | ||
| 3081 | |||
| 3082 | ** `mouse-position' now runs the abnormal hook | ||
| 3083 | `mouse-position-function'. | ||
| 3084 | |||
| 3085 | ** The function string-to-number now returns a float for numbers | ||
| 3086 | that don't fit into a Lisp integer. | ||
| 3087 | |||
| 3088 | ** The variable keyword-symbols-constants-flag has been removed. | ||
| 3089 | Keywords are now always considered constants. | ||
| 3090 | |||
| 3091 | ** The new function `delete-and-extract-region' deletes text and | ||
| 3092 | returns it. | ||
| 3093 | |||
| 3094 | ** The function `clear-this-command-keys' now also clears the vector | ||
| 3095 | returned by function `recent-keys'. | ||
| 3096 | |||
| 3097 | ** Variables `beginning-of-defun-function' and `end-of-defun-function' | ||
| 3098 | can be used to define handlers for the functions that find defuns. | ||
| 3099 | Major modes can define these locally instead of rebinding C-M-a | ||
| 3100 | etc. if the normal conventions for defuns are not appropriate for the | ||
| 3101 | mode. | ||
| 3102 | |||
| 3103 | ** easy-mmode-define-minor-mode now takes an additional BODY argument | ||
| 3104 | and is renamed `define-minor-mode'. | ||
| 3105 | |||
| 3106 | ** If an abbrev has a hook function which is a symbol, and that symbol | ||
| 3107 | has a non-nil `no-self-insert' property, the return value of the hook | ||
| 3108 | function specifies whether an expansion has been done or not. If it | ||
| 3109 | returns nil, abbrev-expand also returns nil, meaning "no expansion has | ||
| 3110 | been performed." | ||
| 3111 | |||
| 3112 | When abbrev expansion is done by typing a self-inserting character, | ||
| 3113 | and the abbrev has a hook with the `no-self-insert' property, and the | ||
| 3114 | hook function returns non-nil meaning expansion has been done, | ||
| 3115 | then the self-inserting character is not inserted. | ||
| 3116 | |||
| 3117 | ** The function `intern-soft' now accepts a symbol as first argument. | ||
| 3118 | In this case, that exact symbol is looked up in the specified obarray, | ||
| 3119 | and the function's value is nil if it is not found. | ||
| 3120 | |||
| 3121 | ** The new macro `with-syntax-table' can be used to evaluate forms | ||
| 3122 | with the syntax table of the current buffer temporarily set to a | ||
| 3123 | specified table. | ||
| 3124 | |||
| 3125 | (with-syntax-table TABLE &rest BODY) | ||
| 3126 | |||
| 3127 | Evaluate BODY with syntax table of current buffer set to a copy of | ||
| 3128 | TABLE. The current syntax table is saved, BODY is evaluated, and the | ||
| 3129 | saved table is restored, even in case of an abnormal exit. Value is | ||
| 3130 | what BODY returns. | ||
| 3131 | |||
| 3132 | ** Regular expressions now support intervals \{n,m\} as well as | ||
| 3133 | Perl's shy-groups \(?:...\) and non-greedy *? +? and ?? operators. | ||
| 3134 | Also back-references like \2 are now considered as an error if the | ||
| 3135 | corresponding subgroup does not exist (or is not closed yet). | ||
| 3136 | Previously it would have been silently turned into `2' (ignoring the `\'). | ||
| 3137 | |||
| 3138 | ** The optional argument BUFFER of function file-local-copy has been | ||
| 3139 | removed since it wasn't used by anything. | ||
| 3140 | |||
| 3141 | ** The file name argument of function `file-locked-p' is now required | ||
| 3142 | instead of being optional. | ||
| 3143 | |||
| 3144 | ** The new built-in error `text-read-only' is signaled when trying to | ||
| 3145 | modify read-only text. | ||
| 3146 | |||
| 3147 | ** New functions and variables for locales. | ||
| 3148 | |||
| 3149 | The new variable `locale-coding-system' specifies how to encode and | ||
| 3150 | decode strings passed to low-level message functions like strerror and | ||
| 3151 | time functions like strftime. The new variables | ||
| 3152 | `system-messages-locale' and `system-time-locale' give the system | ||
| 3153 | locales to be used when invoking these two types of functions. | ||
| 3154 | |||
| 3155 | The new function `set-locale-environment' sets the language | ||
| 3156 | environment, preferred coding system, and locale coding system from | ||
| 3157 | the system locale as specified by the LC_ALL, LC_CTYPE, and LANG | ||
| 3158 | environment variables. Normally, it is invoked during startup and need | ||
| 3159 | not be invoked thereafter. It uses the new variables | ||
| 3160 | `locale-language-names', `locale-charset-language-names', and | ||
| 3161 | `locale-preferred-coding-systems' to make its decisions. | ||
| 3162 | |||
| 3163 | ** syntax tables now understand nested comments. | ||
| 3164 | To declare a comment syntax as allowing nesting, just add an `n' | ||
| 3165 | modifier to either of the characters of the comment end and the comment | ||
| 3166 | start sequences. | ||
| 3167 | |||
| 3168 | ** The function `pixmap-spec-p' has been renamed `bitmap-spec-p' | ||
| 3169 | because `bitmap' is more in line with the usual X terminology. | ||
| 3170 | |||
| 3171 | ** New function `propertize' | ||
| 3172 | |||
| 3173 | The new function `propertize' can be used to conveniently construct | ||
| 3174 | strings with text properties. | ||
| 3175 | |||
| 3176 | - Function: propertize STRING &rest PROPERTIES | ||
| 3177 | |||
| 3178 | Value is a copy of STRING with text properties assigned as specified | ||
| 3179 | by PROPERTIES. PROPERTIES is a sequence of pairs PROPERTY VALUE, with | ||
| 3180 | PROPERTY being the name of a text property and VALUE being the | ||
| 3181 | specified value of that property. Example: | ||
| 3182 | |||
| 3183 | (propertize "foo" 'face 'bold 'read-only t) | ||
| 3184 | |||
| 3185 | ** push and pop macros. | ||
| 3186 | |||
| 3187 | Simple versions of the push and pop macros of Common Lisp | ||
| 3188 | are now defined in Emacs Lisp. These macros allow only symbols | ||
| 3189 | as the place that holds the list to be changed. | ||
| 3190 | |||
| 3191 | (push NEWELT LISTNAME) add NEWELT to the front of LISTNAME's value. | ||
| 3192 | (pop LISTNAME) return first elt of LISTNAME, and remove it | ||
| 3193 | (thus altering the value of LISTNAME). | ||
| 3194 | |||
| 3195 | ** New dolist and dotimes macros. | ||
| 3196 | |||
| 3197 | Simple versions of the dolist and dotimes macros of Common Lisp | ||
| 3198 | are now defined in Emacs Lisp. | ||
| 3199 | |||
| 3200 | (dolist (VAR LIST [RESULT]) BODY...) | ||
| 3201 | Execute body once for each element of LIST, | ||
| 3202 | using the variable VAR to hold the current element. | ||
| 3203 | Then return the value of RESULT, or nil if RESULT is omitted. | ||
| 3204 | |||
| 3205 | (dotimes (VAR COUNT [RESULT]) BODY...) | ||
| 3206 | Execute BODY with VAR bound to successive integers running from 0, | ||
| 3207 | inclusive, to COUNT, exclusive. | ||
| 3208 | Then return the value of RESULT, or nil if RESULT is omitted. | ||
| 3209 | |||
| 3210 | ** Regular expressions now support Posix character classes such as | ||
| 3211 | [:alpha:], [:space:] and so on. These must be used within a character | ||
| 3212 | class--for instance, [-[:digit:].+] matches digits or a period | ||
| 3213 | or a sign. | ||
| 3214 | |||
| 3215 | [:digit:] matches 0 through 9 | ||
| 3216 | [:cntrl:] matches ASCII control characters | ||
| 3217 | [:xdigit:] matches 0 through 9, a through f and A through F. | ||
| 3218 | [:blank:] matches space and tab only | ||
| 3219 | [:graph:] matches graphic characters--everything except ASCII control chars, | ||
| 3220 | space, and DEL. | ||
| 3221 | [:print:] matches printing characters--everything except ASCII control chars | ||
| 3222 | and DEL. | ||
| 3223 | [:alnum:] matches letters and digits. | ||
| 3224 | (But at present, for multibyte characters, | ||
| 3225 | it matches anything that has word syntax.) | ||
| 3226 | [:alpha:] matches letters. | ||
| 3227 | (But at present, for multibyte characters, | ||
| 3228 | it matches anything that has word syntax.) | ||
| 3229 | [:ascii:] matches ASCII (unibyte) characters. | ||
| 3230 | [:nonascii:] matches non-ASCII (multibyte) characters. | ||
| 3231 | [:lower:] matches anything lower-case. | ||
| 3232 | [:punct:] matches punctuation. | ||
| 3233 | (But at present, for multibyte characters, | ||
| 3234 | it matches anything that has non-word syntax.) | ||
| 3235 | [:space:] matches anything that has whitespace syntax. | ||
| 3236 | [:upper:] matches anything upper-case. | ||
| 3237 | [:word:] matches anything that has word syntax. | ||
| 3238 | |||
| 3239 | ** Emacs now has built-in hash tables. | ||
| 3240 | |||
| 3241 | The following functions are defined for hash tables: | ||
| 3242 | |||
| 3243 | - Function: make-hash-table ARGS | ||
| 3244 | |||
| 3245 | The argument list ARGS consists of keyword/argument pairs. All arguments | ||
| 3246 | are optional. The following arguments are defined: | ||
| 3247 | |||
| 3248 | :test TEST | ||
| 3249 | |||
| 3250 | TEST must be a symbol specifying how to compare keys. Default is `eql'. | ||
| 3251 | Predefined are `eq', `eql' and `equal'. If TEST is not predefined, | ||
| 3252 | it must have been defined with `define-hash-table-test'. | ||
| 3253 | |||
| 3254 | :size SIZE | ||
| 3255 | |||
| 3256 | SIZE must be an integer > 0 giving a hint to the implementation how | ||
| 3257 | many elements will be put in the hash table. Default size is 65. | ||
| 3258 | |||
| 3259 | :rehash-size REHASH-SIZE | ||
| 3260 | |||
| 3261 | REHASH-SIZE specifies by how much to grow a hash table once it becomes | ||
| 3262 | full. If REHASH-SIZE is an integer, add that to the hash table's old | ||
| 3263 | size to get the new size. Otherwise, REHASH-SIZE must be a float > | ||
| 3264 | 1.0, and the new size is computed by multiplying REHASH-SIZE with the | ||
| 3265 | old size. Default rehash size is 1.5. | ||
| 3266 | |||
| 3267 | :rehash-threshold THRESHOLD | ||
| 3268 | |||
| 3269 | THRESHOLD must be a float > 0 and <= 1.0 specifying when to resize the | ||
| 3270 | hash table. It is resized when the ratio of (number of entries) / | ||
| 3271 | (size of hash table) is >= THRESHOLD. Default threshold is 0.8. | ||
| 3272 | |||
| 3273 | :weakness WEAK | ||
| 3274 | |||
| 3275 | WEAK must be either nil, one of the symbols `key, `value', | ||
| 3276 | `key-or-value', `key-and-value', or t, meaning the same as | ||
| 3277 | `key-and-value'. Entries are removed from weak tables during garbage | ||
| 3278 | collection if their key and/or value are not referenced elsewhere | ||
| 3279 | outside of the hash table. Default are non-weak hash tables. | ||
| 3280 | |||
| 3281 | - Function: makehash &optional TEST | ||
| 3282 | |||
| 3283 | Similar to make-hash-table, but only TEST can be specified. | ||
| 3284 | |||
| 3285 | - Function: hash-table-p TABLE | ||
| 3286 | |||
| 3287 | Returns non-nil if TABLE is a hash table object. | ||
| 3288 | |||
| 3289 | - Function: copy-hash-table TABLE | ||
| 3290 | |||
| 3291 | Returns a copy of TABLE. Only the table itself is copied, keys and | ||
| 3292 | values are shared. | ||
| 3293 | |||
| 3294 | - Function: hash-table-count TABLE | ||
| 3295 | |||
| 3296 | Returns the number of entries in TABLE. | ||
| 3297 | |||
| 3298 | - Function: hash-table-rehash-size TABLE | ||
| 3299 | |||
| 3300 | Returns the rehash size of TABLE. | ||
| 3301 | |||
| 3302 | - Function: hash-table-rehash-threshold TABLE | ||
| 3303 | |||
| 3304 | Returns the rehash threshold of TABLE. | ||
| 3305 | |||
| 3306 | - Function: hash-table-rehash-size TABLE | ||
| 3307 | |||
| 3308 | Returns the size of TABLE. | ||
| 3309 | |||
| 3310 | - Function: hash-table-test TABLE | ||
| 3311 | |||
| 3312 | Returns the test TABLE uses to compare keys. | ||
| 3313 | |||
| 3314 | - Function: hash-table-weakness TABLE | ||
| 3315 | |||
| 3316 | Returns the weakness specified for TABLE. | ||
| 3317 | |||
| 3318 | - Function: clrhash TABLE | ||
| 3319 | |||
| 3320 | Clear TABLE. | ||
| 3321 | |||
| 3322 | - Function: gethash KEY TABLE &optional DEFAULT | ||
| 3323 | |||
| 3324 | Look up KEY in TABLE and return its associated VALUE or DEFAULT if | ||
| 3325 | not found. | ||
| 3326 | |||
| 3327 | - Function: puthash KEY VALUE TABLE | ||
| 3328 | |||
| 3329 | Associate KEY with VALUE in TABLE. If KEY is already associated with | ||
| 3330 | another value, replace the old value with VALUE. | ||
| 3331 | |||
| 3332 | - Function: remhash KEY TABLE | ||
| 3333 | |||
| 3334 | Remove KEY from TABLE if it is there. | ||
| 3335 | |||
| 3336 | - Function: maphash FUNCTION TABLE | ||
| 3337 | |||
| 3338 | Call FUNCTION for all elements in TABLE. FUNCTION must take two | ||
| 3339 | arguments KEY and VALUE. | ||
| 3340 | |||
| 3341 | - Function: sxhash OBJ | ||
| 3342 | |||
| 3343 | Return a hash code for Lisp object OBJ. | ||
| 3344 | |||
| 3345 | - Function: define-hash-table-test NAME TEST-FN HASH-FN | ||
| 3346 | |||
| 3347 | Define a new hash table test named NAME. If NAME is specified as | ||
| 3348 | a test in `make-hash-table', the table created will use TEST-FN for | ||
| 3349 | comparing keys, and HASH-FN to compute hash codes for keys. Test | ||
| 3350 | and hash function are stored as symbol property `hash-table-test' | ||
| 3351 | of NAME with a value of (TEST-FN HASH-FN). | ||
| 3352 | |||
| 3353 | TEST-FN must take two arguments and return non-nil if they are the same. | ||
| 3354 | |||
| 3355 | HASH-FN must take one argument and return an integer that is the hash | ||
| 3356 | code of the argument. The function should use the whole range of | ||
| 3357 | integer values for hash code computation, including negative integers. | ||
| 3358 | |||
| 3359 | Example: The following creates a hash table whose keys are supposed to | ||
| 3360 | be strings that are compared case-insensitively. | ||
| 3361 | |||
| 3362 | (defun case-fold-string= (a b) | ||
| 3363 | (compare-strings a nil nil b nil nil t)) | ||
| 3364 | |||
| 3365 | (defun case-fold-string-hash (a) | ||
| 3366 | (sxhash (upcase a))) | ||
| 3367 | |||
| 3368 | (define-hash-table-test 'case-fold 'case-fold-string= | ||
| 3369 | 'case-fold-string-hash)) | ||
| 3370 | |||
| 3371 | (make-hash-table :test 'case-fold) | ||
| 3372 | |||
| 3373 | ** The Lisp reader handles circular structure. | ||
| 3374 | |||
| 3375 | It now works to use the #N= and #N# constructs to represent | ||
| 3376 | circular structures. For example, #1=(a . #1#) represents | ||
| 3377 | a cons cell which is its own cdr. | ||
| 3378 | |||
| 3379 | ** The Lisp printer handles circular structure. | ||
| 3380 | |||
| 3381 | If you bind print-circle to a non-nil value, the Lisp printer outputs | ||
| 3382 | #N= and #N# constructs to represent circular and shared structure. | ||
| 3383 | |||
| 3384 | ** If the second argument to `move-to-column' is anything but nil or | ||
| 3385 | t, that means replace a tab with spaces if necessary to reach the | ||
| 3386 | specified column, but do not add spaces at the end of the line if it | ||
| 3387 | is too short to reach that column. | ||
| 3388 | |||
| 3389 | ** perform-replace has a new feature: the REPLACEMENTS argument may | ||
| 3390 | now be a cons cell (FUNCTION . DATA). This means to call FUNCTION | ||
| 3391 | after each match to get the replacement text. FUNCTION is called with | ||
| 3392 | two arguments: DATA, and the number of replacements already made. | ||
| 3393 | |||
| 3394 | If the FROM-STRING contains any upper-case letters, | ||
| 3395 | perform-replace also turns off `case-fold-search' temporarily | ||
| 3396 | and inserts the replacement text without altering case in it. | ||
| 3397 | |||
| 3398 | ** The function buffer-size now accepts an optional argument | ||
| 3399 | to specify which buffer to return the size of. | ||
| 3400 | |||
| 3401 | ** The calendar motion commands now run the normal hook | ||
| 3402 | calendar-move-hook after moving point. | ||
| 3403 | |||
| 3404 | ** The new variable small-temporary-file-directory specifies a | ||
| 3405 | directory to use for creating temporary files that are likely to be | ||
| 3406 | small. (Certain Emacs features use this directory.) If | ||
| 3407 | small-temporary-file-directory is nil, they use | ||
| 3408 | temporary-file-directory instead. | ||
| 3409 | |||
| 3410 | ** The variable `inhibit-modification-hooks', if non-nil, inhibits all | ||
| 3411 | the hooks that track changes in the buffer. This affects | ||
| 3412 | `before-change-functions' and `after-change-functions', as well as | ||
| 3413 | hooks attached to text properties and overlay properties. | ||
| 3414 | |||
| 3415 | ** assq-delete-all is a new function that deletes all the | ||
| 3416 | elements of an alist which have a car `eq' to a particular value. | ||
| 3417 | |||
| 3418 | ** make-temp-file provides a more reliable way to create a temporary file. | ||
| 3419 | |||
| 3420 | make-temp-file is used like make-temp-name, except that it actually | ||
| 3421 | creates the file before it returns. This prevents a timing error, | ||
| 3422 | ensuring that no other job can use the same name for a temporary file. | ||
| 3423 | |||
| 3424 | ** New exclusive-open feature in `write-region' | ||
| 3425 | |||
| 3426 | The optional seventh arg is now called MUSTBENEW. If non-nil, it insists | ||
| 3427 | on a check for an existing file with the same name. If MUSTBENEW | ||
| 3428 | is `excl', that means to get an error if the file already exists; | ||
| 3429 | never overwrite. If MUSTBENEW is neither nil nor `excl', that means | ||
| 3430 | ask for confirmation before overwriting, but do go ahead and | ||
| 3431 | overwrite the file if the user gives confirmation. | ||
| 3432 | |||
| 3433 | If the MUSTBENEW argument in `write-region' is `excl', | ||
| 3434 | that means to use a special feature in the `open' system call | ||
| 3435 | to get an error if the file exists at that time. | ||
| 3436 | The error reported is `file-already-exists'. | ||
| 3437 | |||
| 3438 | ** Function `format' now handles text properties. | ||
| 3439 | |||
| 3440 | Text properties of the format string are applied to the result string. | ||
| 3441 | If the result string is longer than the format string, text properties | ||
| 3442 | ending at the end of the format string are extended to the end of the | ||
| 3443 | result string. | ||
| 3444 | |||
| 3445 | Text properties from string arguments are applied to the result | ||
| 3446 | string where arguments appear in the result string. | ||
| 3447 | |||
| 3448 | Example: | ||
| 3449 | |||
| 3450 | (let ((s1 "hello, %s") | ||
| 3451 | (s2 "world")) | ||
| 3452 | (put-text-property 0 (length s1) 'face 'bold s1) | ||
| 3453 | (put-text-property 0 (length s2) 'face 'italic s2) | ||
| 3454 | (format s1 s2)) | ||
| 3455 | |||
| 3456 | results in a bold-face string with an italic `world' at the end. | ||
| 3457 | |||
| 3458 | ** Messages can now be displayed with text properties. | ||
| 3459 | |||
| 3460 | Text properties are handled as described above for function `format'. | ||
| 3461 | The following example displays a bold-face message with an italic | ||
| 3462 | argument in it. | ||
| 3463 | |||
| 3464 | (let ((msg "hello, %s!") | ||
| 3465 | (arg "world")) | ||
| 3466 | (put-text-property 0 (length msg) 'face 'bold msg) | ||
| 3467 | (put-text-property 0 (length arg) 'face 'italic arg) | ||
| 3468 | (message msg arg)) | ||
| 3469 | |||
| 3470 | ** Sound support | ||
| 3471 | |||
| 3472 | Emacs supports playing sound files on GNU/Linux and the free BSDs | ||
| 3473 | (Voxware driver and native BSD driver, aka as Luigi's driver). | ||
| 3474 | |||
| 3475 | Currently supported file formats are RIFF-WAVE (*.wav) and Sun Audio | ||
| 3476 | (*.au). You must configure Emacs with the option `--with-sound=yes' | ||
| 3477 | to enable sound support. | ||
| 3478 | |||
| 3479 | Sound files can be played by calling (play-sound SOUND). SOUND is a | ||
| 3480 | list of the form `(sound PROPERTY...)'. The function is only defined | ||
| 3481 | when sound support is present for the system on which Emacs runs. The | ||
| 3482 | functions runs `play-sound-functions' with one argument which is the | ||
| 3483 | sound to play, before playing the sound. | ||
| 3484 | |||
| 3485 | The following sound properties are supported: | ||
| 3486 | |||
| 3487 | - `:file FILE' | ||
| 3488 | |||
| 3489 | FILE is a file name. If FILE isn't an absolute name, it will be | ||
| 3490 | searched relative to `data-directory'. | ||
| 3491 | |||
| 3492 | - `:data DATA' | ||
| 3493 | |||
| 3494 | DATA is a string containing sound data. Either :file or :data | ||
| 3495 | may be present, but not both. | ||
| 3496 | |||
| 3497 | - `:volume VOLUME' | ||
| 3498 | |||
| 3499 | VOLUME must be an integer in the range 0..100 or a float in the range | ||
| 3500 | 0..1. This property is optional. | ||
| 3501 | |||
| 3502 | - `:device DEVICE' | ||
| 3503 | |||
| 3504 | DEVICE is a string specifying the system device on which to play the | ||
| 3505 | sound. The default device is system-dependent. | ||
| 3506 | |||
| 3507 | Other properties are ignored. | ||
| 3508 | |||
| 3509 | An alternative interface is called as | ||
| 3510 | (play-sound-file FILE &optional VOLUME DEVICE). | ||
| 3511 | |||
| 3512 | ** `multimedia' is a new Finder keyword and Custom group. | ||
| 3513 | |||
| 3514 | ** keywordp is a new predicate to test efficiently for an object being | ||
| 3515 | a keyword symbol. | ||
| 3516 | |||
| 3517 | ** Changes to garbage collection | ||
| 3518 | |||
| 3519 | *** The function garbage-collect now additionally returns the number | ||
| 3520 | of live and free strings. | ||
| 3521 | |||
| 3522 | *** There is a new variable `strings-consed' holding the number of | ||
| 3523 | strings that have been consed so far. | ||
| 3524 | |||
| 3525 | |||
| 3526 | * Lisp-level Display features added after release 2.6 of the Emacs | ||
| 3527 | Lisp Manual | ||
| 3528 | |||
| 3529 | ** The user-option `resize-mini-windows' controls how Emacs resizes | ||
| 3530 | mini-windows. | ||
| 3531 | |||
| 3532 | ** The function `pos-visible-in-window-p' now has a third optional | ||
| 3533 | argument, PARTIALLY. If a character is only partially visible, nil is | ||
| 3534 | returned, unless PARTIALLY is non-nil. | ||
| 3535 | |||
| 3536 | ** On window systems, `glyph-table' is no longer used. | ||
| 3537 | |||
| 3538 | ** Help strings in menu items are now used to provide `help-echo' text. | ||
| 3539 | |||
| 3540 | ** The function `image-size' can be used to determine the size of an | ||
| 3541 | image. | ||
| 3542 | |||
| 3543 | - Function: image-size SPEC &optional PIXELS FRAME | ||
| 3544 | |||
| 3545 | Return the size of an image as a pair (WIDTH . HEIGHT). | ||
| 3546 | |||
| 3547 | SPEC is an image specification. PIXELS non-nil means return sizes | ||
| 3548 | measured in pixels, otherwise return sizes measured in canonical | ||
| 3549 | character units (fractions of the width/height of the frame's default | ||
| 3550 | font). FRAME is the frame on which the image will be displayed. | ||
| 3551 | FRAME nil or omitted means use the selected frame. | ||
| 3552 | |||
| 3553 | ** The function `image-mask-p' can be used to determine if an image | ||
| 3554 | has a mask bitmap. | ||
| 3555 | |||
| 3556 | - Function: image-mask-p SPEC &optional FRAME | ||
| 3557 | |||
| 3558 | Return t if image SPEC has a mask bitmap. | ||
| 3559 | FRAME is the frame on which the image will be displayed. FRAME nil | ||
| 3560 | or omitted means use the selected frame. | ||
| 3561 | |||
| 3562 | ** The function `find-image' can be used to find a usable image | ||
| 3563 | satisfying one of a list of specifications. | ||
| 3564 | |||
| 3565 | ** The STRING argument of `put-image' and `insert-image' is now | ||
| 3566 | optional. | ||
| 3567 | |||
| 3568 | ** Image specifications may contain the property `:ascent center' (see | ||
| 3569 | below). | ||
| 3570 | |||
| 3571 | |||
| 3572 | * New Lisp-level Display features in Emacs 21.1 | ||
| 3573 | |||
| 3574 | ** The function tty-suppress-bold-inverse-default-colors can be used | ||
| 3575 | to make Emacs avoid displaying text with bold black foreground on TTYs. | ||
| 3576 | |||
| 3577 | Some terminals, notably PC consoles, emulate bold text by displaying | ||
| 3578 | text in brighter colors. On such a console, a bold black foreground | ||
| 3579 | is displayed in a gray color. If this turns out to be hard to read on | ||
| 3580 | your monitor---the problem occurred with the mode line on | ||
| 3581 | laptops---you can instruct Emacs to ignore the text's boldness, and to | ||
| 3582 | just display it black instead. | ||
| 3583 | |||
| 3584 | This situation can't be detected automatically. You will have to put | ||
| 3585 | a line like | ||
| 3586 | |||
| 3587 | (tty-suppress-bold-inverse-default-colors t) | ||
| 3588 | |||
| 3589 | in your `.emacs'. | ||
| 3590 | |||
| 3591 | ** New face implementation. | ||
| 3592 | |||
| 3593 | Emacs faces have been reimplemented from scratch. They don't use XLFD | ||
| 3594 | font names anymore and face merging now works as expected. | ||
| 3595 | |||
| 3596 | *** New faces. | ||
| 3597 | |||
| 3598 | Each face can specify the following display attributes: | ||
| 3599 | |||
| 3600 | 1. Font family or fontset alias name. | ||
| 3601 | |||
| 3602 | 2. Relative proportionate width, aka character set width or set | ||
| 3603 | width (swidth), e.g. `semi-compressed'. | ||
| 3604 | |||
| 3605 | 3. Font height in 1/10pt | ||
| 3606 | |||
| 3607 | 4. Font weight, e.g. `bold'. | ||
| 3608 | |||
| 3609 | 5. Font slant, e.g. `italic'. | ||
| 3610 | |||
| 3611 | 6. Foreground color. | ||
| 3612 | |||
| 3613 | 7. Background color. | ||
| 3614 | |||
| 3615 | 8. Whether or not characters should be underlined, and in what color. | ||
| 3616 | |||
| 3617 | 9. Whether or not characters should be displayed in inverse video. | ||
| 3618 | |||
| 3619 | 10. A background stipple, a bitmap. | ||
| 3620 | |||
| 3621 | 11. Whether or not characters should be overlined, and in what color. | ||
| 3622 | |||
| 3623 | 12. Whether or not characters should be strike-through, and in what | ||
| 3624 | color. | ||
| 3625 | |||
| 3626 | 13. Whether or not a box should be drawn around characters, its | ||
| 3627 | color, the width of the box lines, and 3D appearance. | ||
| 3628 | |||
| 3629 | Faces are frame-local by nature because Emacs allows to define the | ||
| 3630 | same named face (face names are symbols) differently for different | ||
| 3631 | frames. Each frame has an alist of face definitions for all named | ||
| 3632 | faces. The value of a named face in such an alist is a Lisp vector | ||
| 3633 | with the symbol `face' in slot 0, and a slot for each of the face | ||
| 3634 | attributes mentioned above. | ||
| 3635 | |||
| 3636 | There is also a global face alist `face-new-frame-defaults'. Face | ||
| 3637 | definitions from this list are used to initialize faces of newly | ||
| 3638 | created frames. | ||
| 3639 | |||
| 3640 | A face doesn't have to specify all attributes. Those not specified | ||
| 3641 | have a nil value. Faces specifying all attributes are called | ||
| 3642 | `fully-specified'. | ||
| 3643 | |||
| 3644 | *** Face merging. | ||
| 3645 | |||
| 3646 | The display style of a given character in the text is determined by | ||
| 3647 | combining several faces. This process is called `face merging'. Any | ||
| 3648 | aspect of the display style that isn't specified by overlays or text | ||
| 3649 | properties is taken from the `default' face. Since it is made sure | ||
| 3650 | that the default face is always fully-specified, face merging always | ||
| 3651 | results in a fully-specified face. | ||
| 3652 | |||
| 3653 | *** Face realization. | ||
| 3654 | |||
| 3655 | After all face attributes for a character have been determined by | ||
| 3656 | merging faces of that character, that face is `realized'. The | ||
| 3657 | realization process maps face attributes to what is physically | ||
| 3658 | available on the system where Emacs runs. The result is a `realized | ||
| 3659 | face' in form of an internal structure which is stored in the face | ||
| 3660 | cache of the frame on which it was realized. | ||
| 3661 | |||
| 3662 | Face realization is done in the context of the charset of the | ||
| 3663 | character to display because different fonts and encodings are used | ||
| 3664 | for different charsets. In other words, for characters of different | ||
| 3665 | charsets, different realized faces are needed to display them. | ||
| 3666 | |||
| 3667 | Except for composite characters, faces are always realized for a | ||
| 3668 | specific character set and contain a specific font, even if the face | ||
| 3669 | being realized specifies a fontset. The reason is that the result of | ||
| 3670 | the new font selection stage is better than what can be done with | ||
| 3671 | statically defined font name patterns in fontsets. | ||
| 3672 | |||
| 3673 | In unibyte text, Emacs' charsets aren't applicable; function | ||
| 3674 | `char-charset' reports ASCII for all characters, including those > | ||
| 3675 | 0x7f. The X registry and encoding of fonts to use is determined from | ||
| 3676 | the variable `face-default-registry' in this case. The variable is | ||
| 3677 | initialized at Emacs startup time from the font the user specified for | ||
| 3678 | Emacs. | ||
| 3679 | |||
| 3680 | Currently all unibyte text, i.e. all buffers with | ||
| 3681 | `enable-multibyte-characters' nil are displayed with fonts of the same | ||
| 3682 | registry and encoding `face-default-registry'. This is consistent | ||
| 3683 | with the fact that languages can also be set globally, only. | ||
| 3684 | |||
| 3685 | **** Clearing face caches. | ||
| 3686 | |||
| 3687 | The Lisp function `clear-face-cache' can be called to clear face caches | ||
| 3688 | on all frames. If called with a non-nil argument, it will also unload | ||
| 3689 | unused fonts. | ||
| 3690 | |||
| 3691 | *** Font selection. | ||
| 3692 | |||
| 3693 | Font selection tries to find the best available matching font for a | ||
| 3694 | given (charset, face) combination. This is done slightly differently | ||
| 3695 | for faces specifying a fontset, or a font family name. | ||
| 3696 | |||
| 3697 | If the face specifies a fontset name, that fontset determines a | ||
| 3698 | pattern for fonts of the given charset. If the face specifies a font | ||
| 3699 | family, a font pattern is constructed. Charset symbols have a | ||
| 3700 | property `x-charset-registry' for that purpose that maps a charset to | ||
| 3701 | an XLFD registry and encoding in the font pattern constructed. | ||
| 3702 | |||
| 3703 | Available fonts on the system on which Emacs runs are then matched | ||
| 3704 | against the font pattern. The result of font selection is the best | ||
| 3705 | match for the given face attributes in this font list. | ||
| 3706 | |||
| 3707 | Font selection can be influenced by the user. | ||
| 3708 | |||
| 3709 | The user can specify the relative importance he gives the face | ||
| 3710 | attributes width, height, weight, and slant by setting | ||
| 3711 | face-font-selection-order (faces.el) to a list of face attribute | ||
| 3712 | names. The default is (:width :height :weight :slant), and means | ||
| 3713 | that font selection first tries to find a good match for the font | ||
| 3714 | width specified by a face, then---within fonts with that width---tries | ||
| 3715 | to find a best match for the specified font height, etc. | ||
| 3716 | |||
| 3717 | Setting `face-font-family-alternatives' allows the user to specify | ||
| 3718 | alternative font families to try if a family specified by a face | ||
| 3719 | doesn't exist. | ||
| 3720 | |||
| 3721 | Setting `face-font-registry-alternatives' allows the user to specify | ||
| 3722 | all alternative font registry names to try for a face specifying a | ||
| 3723 | registry. | ||
| 3724 | |||
| 3725 | Please note that the interpretations of the above two variables are | ||
| 3726 | slightly different. | ||
| 3727 | |||
| 3728 | Setting face-ignored-fonts allows the user to ignore specific fonts. | ||
| 3729 | |||
| 3730 | |||
| 3731 | **** Scalable fonts | ||
| 3732 | |||
| 3733 | Emacs can make use of scalable fonts but doesn't do so by default, | ||
| 3734 | since the use of too many or too big scalable fonts may crash XFree86 | ||
| 3735 | servers. | ||
| 3736 | |||
| 3737 | To enable scalable font use, set the variable | ||
| 3738 | `scalable-fonts-allowed'. A value of nil, the default, means never use | ||
| 3739 | scalable fonts. A value of t means any scalable font may be used. | ||
| 3740 | Otherwise, the value must be a list of regular expressions. A | ||
| 3741 | scalable font may then be used if it matches a regular expression from | ||
| 3742 | that list. Example: | ||
| 3743 | |||
| 3744 | (setq scalable-fonts-allowed '("muleindian-2$")) | ||
| 3745 | |||
| 3746 | allows the use of scalable fonts with registry `muleindian-2'. | ||
| 3747 | |||
| 3748 | *** Functions and variables related to font selection. | ||
| 3749 | |||
| 3750 | - Function: x-family-fonts &optional FAMILY FRAME | ||
| 3751 | |||
| 3752 | Return a list of available fonts of family FAMILY on FRAME. If FAMILY | ||
| 3753 | is omitted or nil, list all families. Otherwise, FAMILY must be a | ||
| 3754 | string, possibly containing wildcards `?' and `*'. | ||
| 3755 | |||
| 3756 | If FRAME is omitted or nil, use the selected frame. Each element of | ||
| 3757 | the result is a vector [FAMILY WIDTH POINT-SIZE WEIGHT SLANT FIXED-P | ||
| 3758 | FULL REGISTRY-AND-ENCODING]. FAMILY is the font family name. | ||
| 3759 | POINT-SIZE is the size of the font in 1/10 pt. WIDTH, WEIGHT, and | ||
| 3760 | SLANT are symbols describing the width, weight and slant of the font. | ||
| 3761 | These symbols are the same as for face attributes. FIXED-P is non-nil | ||
| 3762 | if the font is fixed-pitch. FULL is the full name of the font, and | ||
| 3763 | REGISTRY-AND-ENCODING is a string giving the registry and encoding of | ||
| 3764 | the font. The result list is sorted according to the current setting | ||
| 3765 | of the face font sort order. | ||
| 3766 | |||
| 3767 | - Function: x-font-family-list | ||
| 3768 | |||
| 3769 | Return a list of available font families on FRAME. If FRAME is | ||
| 3770 | omitted or nil, use the selected frame. Value is a list of conses | ||
| 3771 | (FAMILY . FIXED-P) where FAMILY is a font family, and FIXED-P is | ||
| 3772 | non-nil if fonts of that family are fixed-pitch. | ||
| 3773 | |||
| 3774 | - Variable: font-list-limit | ||
| 3775 | |||
| 3776 | Limit for font matching. If an integer > 0, font matching functions | ||
| 3777 | won't load more than that number of fonts when searching for a | ||
| 3778 | matching font. The default is currently 100. | ||
| 3779 | |||
| 3780 | *** Setting face attributes. | ||
| 3781 | |||
| 3782 | For the most part, the new face implementation is interface-compatible | ||
| 3783 | with the old one. Old face attribute related functions are now | ||
| 3784 | implemented in terms of the new functions `set-face-attribute' and | ||
| 3785 | `face-attribute'. | ||
| 3786 | |||
| 3787 | Face attributes are identified by their names which are keyword | ||
| 3788 | symbols. All attributes can be set to `unspecified'. | ||
| 3789 | |||
| 3790 | The following attributes are recognized: | ||
| 3791 | |||
| 3792 | `:family' | ||
| 3793 | |||
| 3794 | VALUE must be a string specifying the font family, e.g. ``courier'', | ||
| 3795 | or a fontset alias name. If a font family is specified, wild-cards `*' | ||
| 3796 | and `?' are allowed. | ||
| 3797 | |||
| 3798 | `:width' | ||
| 3799 | |||
| 3800 | VALUE specifies the relative proportionate width of the font to use. | ||
| 3801 | It must be one of the symbols `ultra-condensed', `extra-condensed', | ||
| 3802 | `condensed', `semi-condensed', `normal', `semi-expanded', `expanded', | ||
| 3803 | `extra-expanded', or `ultra-expanded'. | ||
| 3804 | |||
| 3805 | `:height' | ||
| 3806 | |||
| 3807 | VALUE must be either an integer specifying the height of the font to use | ||
| 3808 | in 1/10 pt, a floating point number specifying the amount by which to | ||
| 3809 | scale any underlying face, or a function, which is called with the old | ||
| 3810 | height (from the underlying face), and should return the new height. | ||
| 3811 | |||
| 3812 | `:weight' | ||
| 3813 | |||
| 3814 | VALUE specifies the weight of the font to use. It must be one of the | ||
| 3815 | symbols `ultra-bold', `extra-bold', `bold', `semi-bold', `normal', | ||
| 3816 | `semi-light', `light', `extra-light', `ultra-light'. | ||
| 3817 | |||
| 3818 | `:slant' | ||
| 3819 | |||
| 3820 | VALUE specifies the slant of the font to use. It must be one of the | ||
| 3821 | symbols `italic', `oblique', `normal', `reverse-italic', or | ||
| 3822 | `reverse-oblique'. | ||
| 3823 | |||
| 3824 | `:foreground', `:background' | ||
| 3825 | |||
| 3826 | VALUE must be a color name, a string. | ||
| 3827 | |||
| 3828 | `:underline' | ||
| 3829 | |||
| 3830 | VALUE specifies whether characters in FACE should be underlined. If | ||
| 3831 | VALUE is t, underline with foreground color of the face. If VALUE is | ||
| 3832 | a string, underline with that color. If VALUE is nil, explicitly | ||
| 3833 | don't underline. | ||
| 3834 | |||
| 3835 | `:overline' | ||
| 3836 | |||
| 3837 | VALUE specifies whether characters in FACE should be overlined. If | ||
| 3838 | VALUE is t, overline with foreground color of the face. If VALUE is a | ||
| 3839 | string, overline with that color. If VALUE is nil, explicitly don't | ||
| 3840 | overline. | ||
| 3841 | |||
| 3842 | `:strike-through' | ||
| 3843 | |||
| 3844 | VALUE specifies whether characters in FACE should be drawn with a line | ||
| 3845 | striking through them. If VALUE is t, use the foreground color of the | ||
| 3846 | face. If VALUE is a string, strike-through with that color. If VALUE | ||
| 3847 | is nil, explicitly don't strike through. | ||
| 3848 | |||
| 3849 | `:box' | ||
| 3850 | |||
| 3851 | VALUE specifies whether characters in FACE should have a box drawn | ||
| 3852 | around them. If VALUE is nil, explicitly don't draw boxes. If | ||
| 3853 | VALUE is t, draw a box with lines of width 1 in the foreground color | ||
| 3854 | of the face. If VALUE is a string, the string must be a color name, | ||
| 3855 | and the box is drawn in that color with a line width of 1. Otherwise, | ||
| 3856 | VALUE must be a property list of the form `(:line-width WIDTH | ||
| 3857 | :color COLOR :style STYLE)'. If a keyword/value pair is missing from | ||
| 3858 | the property list, a default value will be used for the value, as | ||
| 3859 | specified below. WIDTH specifies the width of the lines to draw; it | ||
| 3860 | defaults to 1. COLOR is the name of the color to draw in, default is | ||
| 3861 | the foreground color of the face for simple boxes, and the background | ||
| 3862 | color of the face for 3D boxes. STYLE specifies whether a 3D box | ||
| 3863 | should be draw. If STYLE is `released-button', draw a box looking | ||
| 3864 | like a released 3D button. If STYLE is `pressed-button' draw a box | ||
| 3865 | that appears like a pressed button. If STYLE is nil, the default if | ||
| 3866 | the property list doesn't contain a style specification, draw a 2D | ||
| 3867 | box. | ||
| 3868 | |||
| 3869 | `:inverse-video' | ||
| 3870 | |||
| 3871 | VALUE specifies whether characters in FACE should be displayed in | ||
| 3872 | inverse video. VALUE must be one of t or nil. | ||
| 3873 | |||
| 3874 | `:stipple' | ||
| 3875 | |||
| 3876 | If VALUE is a string, it must be the name of a file of pixmap data. | ||
| 3877 | The directories listed in the `x-bitmap-file-path' variable are | ||
| 3878 | searched. Alternatively, VALUE may be a list of the form (WIDTH | ||
| 3879 | HEIGHT DATA) where WIDTH and HEIGHT are the size in pixels, and DATA | ||
| 3880 | is a string containing the raw bits of the bitmap. VALUE nil means | ||
| 3881 | explicitly don't use a stipple pattern. | ||
| 3882 | |||
| 3883 | For convenience, attributes `:family', `:width', `:height', `:weight', | ||
| 3884 | and `:slant' may also be set in one step from an X font name: | ||
| 3885 | |||
| 3886 | `:font' | ||
| 3887 | |||
| 3888 | Set font-related face attributes from VALUE. VALUE must be a valid | ||
| 3889 | XLFD font name. If it is a font name pattern, the first matching font | ||
| 3890 | is used--this is for compatibility with the behavior of previous | ||
| 3891 | versions of Emacs. | ||
| 3892 | |||
| 3893 | For compatibility with Emacs 20, keywords `:bold' and `:italic' can | ||
| 3894 | be used to specify that a bold or italic font should be used. VALUE | ||
| 3895 | must be t or nil in that case. A value of `unspecified' is not allowed." | ||
| 3896 | |||
| 3897 | Please see also the documentation of `set-face-attribute' and | ||
| 3898 | `defface'. | ||
| 3899 | |||
| 3900 | `:inherit' | ||
| 3901 | |||
| 3902 | VALUE is the name of a face from which to inherit attributes, or a list | ||
| 3903 | of face names. Attributes from inherited faces are merged into the face | ||
| 3904 | like an underlying face would be, with higher priority than underlying faces. | ||
| 3905 | |||
| 3906 | *** Face attributes and X resources | ||
| 3907 | |||
| 3908 | The following X resource names can be used to set face attributes | ||
| 3909 | from X resources: | ||
| 3910 | |||
| 3911 | Face attribute X resource class | ||
| 3912 | ----------------------------------------------------------------------- | ||
| 3913 | :family attributeFamily . Face.AttributeFamily | ||
| 3914 | :width attributeWidth Face.AttributeWidth | ||
| 3915 | :height attributeHeight Face.AttributeHeight | ||
| 3916 | :weight attributeWeight Face.AttributeWeight | ||
| 3917 | :slant attributeSlant Face.AttributeSlant | ||
| 3918 | foreground attributeForeground Face.AttributeForeground | ||
| 3919 | :background attributeBackground . Face.AttributeBackground | ||
| 3920 | :overline attributeOverline Face.AttributeOverline | ||
| 3921 | :strike-through attributeStrikeThrough Face.AttributeStrikeThrough | ||
| 3922 | :box attributeBox Face.AttributeBox | ||
| 3923 | :underline attributeUnderline Face.AttributeUnderline | ||
| 3924 | :inverse-video attributeInverse Face.AttributeInverse | ||
| 3925 | :stipple attributeStipple Face.AttributeStipple | ||
| 3926 | or attributeBackgroundPixmap | ||
| 3927 | Face.AttributeBackgroundPixmap | ||
| 3928 | :font attributeFont Face.AttributeFont | ||
| 3929 | :bold attributeBold Face.AttributeBold | ||
| 3930 | :italic attributeItalic . Face.AttributeItalic | ||
| 3931 | :font attributeFont Face.AttributeFont | ||
| 3932 | |||
| 3933 | *** Text property `face'. | ||
| 3934 | |||
| 3935 | The value of the `face' text property can now be a single face | ||
| 3936 | specification or a list of such specifications. Each face | ||
| 3937 | specification can be | ||
| 3938 | |||
| 3939 | 1. A symbol or string naming a Lisp face. | ||
| 3940 | |||
| 3941 | 2. A property list of the form (KEYWORD VALUE ...) where each | ||
| 3942 | KEYWORD is a face attribute name, and VALUE is an appropriate value | ||
| 3943 | for that attribute. Please see the doc string of `set-face-attribute' | ||
| 3944 | for face attribute names. | ||
| 3945 | |||
| 3946 | 3. Conses of the form (FOREGROUND-COLOR . COLOR) or | ||
| 3947 | (BACKGROUND-COLOR . COLOR) where COLOR is a color name. This is | ||
| 3948 | for compatibility with previous Emacs versions. | ||
| 3949 | |||
| 3950 | ** Support functions for colors on text-only terminals. | ||
| 3951 | |||
| 3952 | The function `tty-color-define' can be used to define colors for use | ||
| 3953 | on TTY and MSDOS frames. It maps a color name to a color number on | ||
| 3954 | the terminal. Emacs defines a couple of common color mappings by | ||
| 3955 | default. You can get defined colors with a call to | ||
| 3956 | `defined-colors'. The function `tty-color-clear' can be | ||
| 3957 | used to clear the mapping table. | ||
| 3958 | |||
| 3959 | ** Unified support for colors independent of frame type. | ||
| 3960 | |||
| 3961 | The new functions `defined-colors', `color-defined-p', `color-values', | ||
| 3962 | and `display-color-p' work for any type of frame. On frames whose | ||
| 3963 | type is neither x nor w32, these functions transparently map X-style | ||
| 3964 | color specifications to the closest colors supported by the frame | ||
| 3965 | display. Lisp programs should use these new functions instead of the | ||
| 3966 | old `x-defined-colors', `x-color-defined-p', `x-color-values', and | ||
| 3967 | `x-display-color-p'. (The old function names are still available for | ||
| 3968 | compatibility; they are now aliases of the new names.) Lisp programs | ||
| 3969 | should no more look at the value of the variable window-system to | ||
| 3970 | modify their color-related behavior. | ||
| 3971 | |||
| 3972 | The primitives `color-gray-p' and `color-supported-p' also work for | ||
| 3973 | any frame type. | ||
| 3974 | |||
| 3975 | ** Platform-independent functions to describe display capabilities. | ||
| 3976 | |||
| 3977 | The new functions `display-mouse-p', `display-popup-menus-p', | ||
| 3978 | `display-graphic-p', `display-selections-p', `display-screens', | ||
| 3979 | `display-pixel-width', `display-pixel-height', `display-mm-width', | ||
| 3980 | `display-mm-height', `display-backing-store', `display-save-under', | ||
| 3981 | `display-planes', `display-color-cells', `display-visual-class', and | ||
| 3982 | `display-grayscale-p' describe the basic capabilities of a particular | ||
| 3983 | display. Lisp programs should call these functions instead of testing | ||
| 3984 | the value of the variables `window-system' or `system-type', or calling | ||
| 3985 | platform-specific functions such as `x-display-pixel-width'. | ||
| 3986 | |||
| 3987 | The new function `display-images-p' returns non-nil if a particular | ||
| 3988 | display can display image files. | ||
| 3989 | |||
| 3990 | ** The minibuffer prompt is now actually inserted in the minibuffer. | ||
| 3991 | |||
| 3992 | This makes it possible to scroll through the prompt, if you want to. | ||
| 3993 | To disallow this completely (like previous versions of emacs), customize | ||
| 3994 | the variable `minibuffer-prompt-properties', and turn on the | ||
| 3995 | `Inviolable' option. | ||
| 3996 | |||
| 3997 | The function `minibuffer-prompt-end' returns the current position of the | ||
| 3998 | end of the minibuffer prompt, if the minibuffer is current. | ||
| 3999 | Otherwise, it returns `(point-min)'. | ||
| 4000 | |||
| 4001 | ** New `field' abstraction in buffers. | ||
| 4002 | |||
| 4003 | There is now code to support an abstraction called `fields' in emacs | ||
| 4004 | buffers. A field is a contiguous region of text with the same `field' | ||
| 4005 | property (which can be a text property or an overlay). | ||
| 4006 | |||
| 4007 | Many emacs functions, such as forward-word, forward-sentence, | ||
| 4008 | forward-paragraph, beginning-of-line, etc., stop moving when they come | ||
| 4009 | to the boundary between fields; beginning-of-line and end-of-line will | ||
| 4010 | not let the point move past the field boundary, but other movement | ||
| 4011 | commands continue into the next field if repeated. Stopping at field | ||
| 4012 | boundaries can be suppressed programmatically by binding | ||
| 4013 | `inhibit-field-text-motion' to a non-nil value around calls to these | ||
| 4014 | functions. | ||
| 4015 | |||
| 4016 | Now that the minibuffer prompt is inserted into the minibuffer, it is in | ||
| 4017 | a separate field from the user-input part of the buffer, so that common | ||
| 4018 | editing commands treat the user's text separately from the prompt. | ||
| 4019 | |||
| 4020 | The following functions are defined for operating on fields: | ||
| 4021 | |||
| 4022 | - Function: constrain-to-field NEW-POS OLD-POS &optional ESCAPE-FROM-EDGE ONLY-IN-LINE INHIBIT-CAPTURE-PROPERTY | ||
| 4023 | |||
| 4024 | Return the position closest to NEW-POS that is in the same field as OLD-POS. | ||
| 4025 | |||
| 4026 | A field is a region of text with the same `field' property. | ||
| 4027 | If NEW-POS is nil, then the current point is used instead, and set to the | ||
| 4028 | constrained position if that is different. | ||
| 4029 | |||
| 4030 | If OLD-POS is at the boundary of two fields, then the allowable | ||
| 4031 | positions for NEW-POS depends on the value of the optional argument | ||
| 4032 | ESCAPE-FROM-EDGE: If ESCAPE-FROM-EDGE is nil, then NEW-POS is | ||
| 4033 | constrained to the field that has the same `field' char-property | ||
| 4034 | as any new characters inserted at OLD-POS, whereas if ESCAPE-FROM-EDGE | ||
| 4035 | is non-nil, NEW-POS is constrained to the union of the two adjacent | ||
| 4036 | fields. Additionally, if two fields are separated by another field with | ||
| 4037 | the special value `boundary', then any point within this special field is | ||
| 4038 | also considered to be `on the boundary'. | ||
| 4039 | |||
| 4040 | If the optional argument ONLY-IN-LINE is non-nil and constraining | ||
| 4041 | NEW-POS would move it to a different line, NEW-POS is returned | ||
| 4042 | unconstrained. This useful for commands that move by line, like | ||
| 4043 | C-n or C-a, which should generally respect field boundaries | ||
| 4044 | only in the case where they can still move to the right line. | ||
| 4045 | |||
| 4046 | If the optional argument INHIBIT-CAPTURE-PROPERTY is non-nil, and OLD-POS has | ||
| 4047 | a non-nil property of that name, then any field boundaries are ignored. | ||
| 4048 | |||
| 4049 | Field boundaries are not noticed if `inhibit-field-text-motion' is non-nil. | ||
| 4050 | |||
| 4051 | - Function: delete-field &optional POS | ||
| 4052 | |||
| 4053 | Delete the field surrounding POS. | ||
| 4054 | A field is a region of text with the same `field' property. | ||
| 4055 | If POS is nil, the value of point is used for POS. | ||
| 4056 | |||
| 4057 | - Function: field-beginning &optional POS ESCAPE-FROM-EDGE | ||
| 4058 | |||
| 4059 | Return the beginning of the field surrounding POS. | ||
| 4060 | A field is a region of text with the same `field' property. | ||
| 4061 | If POS is nil, the value of point is used for POS. | ||
| 4062 | If ESCAPE-FROM-EDGE is non-nil and POS is at the beginning of its | ||
| 4063 | field, then the beginning of the *previous* field is returned. | ||
| 4064 | |||
| 4065 | - Function: field-end &optional POS ESCAPE-FROM-EDGE | ||
| 4066 | |||
| 4067 | Return the end of the field surrounding POS. | ||
| 4068 | A field is a region of text with the same `field' property. | ||
| 4069 | If POS is nil, the value of point is used for POS. | ||
| 4070 | If ESCAPE-FROM-EDGE is non-nil and POS is at the end of its field, | ||
| 4071 | then the end of the *following* field is returned. | ||
| 4072 | |||
| 4073 | - Function: field-string &optional POS | ||
| 4074 | |||
| 4075 | Return the contents of the field surrounding POS as a string. | ||
| 4076 | A field is a region of text with the same `field' property. | ||
| 4077 | If POS is nil, the value of point is used for POS. | ||
| 4078 | |||
| 4079 | - Function: field-string-no-properties &optional POS | ||
| 4080 | |||
| 4081 | Return the contents of the field around POS, without text-properties. | ||
| 4082 | A field is a region of text with the same `field' property. | ||
| 4083 | If POS is nil, the value of point is used for POS. | ||
| 4084 | |||
| 4085 | ** Image support. | ||
| 4086 | |||
| 4087 | Emacs can now display images. Images are inserted into text by giving | ||
| 4088 | strings or buffer text a `display' text property containing one of | ||
| 4089 | (AREA IMAGE) or IMAGE. The display of the `display' property value | ||
| 4090 | replaces the display of the characters having that property. | ||
| 4091 | |||
| 4092 | If the property value has the form (AREA IMAGE), AREA must be one of | ||
| 4093 | `(margin left-margin)', `(margin right-margin)' or `(margin nil)'. If | ||
| 4094 | AREA is `(margin nil)', IMAGE will be displayed in the text area of a | ||
| 4095 | window, otherwise it will be displayed in the left or right marginal | ||
| 4096 | area. | ||
| 4097 | |||
| 4098 | IMAGE is an image specification. | ||
| 4099 | |||
| 4100 | *** Image specifications | ||
| 4101 | |||
| 4102 | Image specifications are lists of the form `(image PROPS)' where PROPS | ||
| 4103 | is a property list whose keys are keyword symbols. Each | ||
| 4104 | specifications must contain a property `:type TYPE' with TYPE being a | ||
| 4105 | symbol specifying the image type, e.g. `xbm'. Properties not | ||
| 4106 | described below are ignored. | ||
| 4107 | |||
| 4108 | The following is a list of properties all image types share. | ||
| 4109 | |||
| 4110 | `:ascent ASCENT' | ||
| 4111 | |||
| 4112 | ASCENT must be a number in the range 0..100, or the symbol `center'. | ||
| 4113 | If it is a number, it specifies the percentage of the image's height | ||
| 4114 | to use for its ascent. | ||
| 4115 | |||
| 4116 | If not specified, ASCENT defaults to the value 50 which means that the | ||
| 4117 | image will be centered with the base line of the row it appears in. | ||
| 4118 | |||
| 4119 | If ASCENT is `center' the image is vertically centered around a | ||
| 4120 | centerline which is the vertical center of text drawn at the position | ||
| 4121 | of the image, in the manner specified by the text properties and | ||
| 4122 | overlays that apply to the image. | ||
| 4123 | |||
| 4124 | `:margin MARGIN' | ||
| 4125 | |||
| 4126 | MARGIN must be either a number >= 0 specifying how many pixels to put | ||
| 4127 | as margin around the image, or a pair (X . Y) with X specifying the | ||
| 4128 | horizontal margin and Y specifying the vertical margin. Default is 0. | ||
| 4129 | |||
| 4130 | `:relief RELIEF' | ||
| 4131 | |||
| 4132 | RELIEF is analogous to the `:relief' attribute of faces. Puts a relief | ||
| 4133 | around an image. | ||
| 4134 | |||
| 4135 | `:conversion ALGO' | ||
| 4136 | |||
| 4137 | Apply an image algorithm to the image before displaying it. | ||
| 4138 | |||
| 4139 | ALGO `laplace' or `emboss' means apply a Laplace or ``emboss'' | ||
| 4140 | edge-detection algorithm to the image. | ||
| 4141 | |||
| 4142 | ALGO `(edge-detection :matrix MATRIX :color-adjust ADJUST)' means | ||
| 4143 | apply a general edge-detection algorithm. MATRIX must be either a | ||
| 4144 | nine-element list or a nine-element vector of numbers. A pixel at | ||
| 4145 | position x/y in the transformed image is computed from original pixels | ||
| 4146 | around that position. MATRIX specifies, for each pixel in the | ||
| 4147 | neighborhood of x/y, a factor with which that pixel will influence the | ||
| 4148 | transformed pixel; element 0 specifies the factor for the pixel at | ||
| 4149 | x-1/y-1, element 1 the factor for the pixel at x/y-1 etc. as shown | ||
| 4150 | below. | ||
| 4151 | |||
| 4152 | (x-1/y-1 x/y-1 x+1/y-1 | ||
| 4153 | x-1/y x/y x+1/y | ||
| 4154 | x-1/y+1 x/y+1 x+1/y+1) | ||
| 4155 | |||
| 4156 | The resulting pixel is computed from the color intensity of the color | ||
| 4157 | resulting from summing up the RGB values of surrounding pixels, | ||
| 4158 | multiplied by the specified factors, and dividing that sum by the sum | ||
| 4159 | of the factors' absolute values. | ||
| 4160 | |||
| 4161 | Laplace edge-detection currently uses a matrix of | ||
| 4162 | |||
| 4163 | (1 0 0 | ||
| 4164 | 0 0 0 | ||
| 4165 | 9 9 -1) | ||
| 4166 | |||
| 4167 | Emboss edge-detection uses a matrix of | ||
| 4168 | |||
| 4169 | ( 2 -1 0 | ||
| 4170 | -1 0 1 | ||
| 4171 | 0 1 -2) | ||
| 4172 | |||
| 4173 | ALGO `disabled' means transform the image so that it looks | ||
| 4174 | ``disabled''. | ||
| 4175 | |||
| 4176 | `:mask MASK' | ||
| 4177 | |||
| 4178 | If MASK is `heuristic' or `(heuristic BG)', build a clipping mask for | ||
| 4179 | the image, so that the background of a frame is visible behind the | ||
| 4180 | image. If BG is not specified, or if BG is t, determine the | ||
| 4181 | background color of the image by looking at the 4 corners of the | ||
| 4182 | image, assuming the most frequently occurring color from the corners is | ||
| 4183 | the background color of the image. Otherwise, BG must be a list `(RED | ||
| 4184 | GREEN BLUE)' specifying the color to assume for the background of the | ||
| 4185 | image. | ||
| 4186 | |||
| 4187 | If MASK is nil, remove a mask from the image, if it has one. Images | ||
| 4188 | in some formats include a mask which can be removed by specifying | ||
| 4189 | `:mask nil'. | ||
| 4190 | |||
| 4191 | `:file FILE' | ||
| 4192 | |||
| 4193 | Load image from FILE. If FILE is not absolute after expanding it, | ||
| 4194 | search for the image in `data-directory'. Some image types support | ||
| 4195 | building images from data. When this is done, no `:file' property | ||
| 4196 | may be present in the image specification. | ||
| 4197 | |||
| 4198 | `:data DATA' | ||
| 4199 | |||
| 4200 | Get image data from DATA. (As of this writing, this is not yet | ||
| 4201 | supported for image type `postscript'). Either :file or :data may be | ||
| 4202 | present in an image specification, but not both. All image types | ||
| 4203 | support strings as DATA, some types allow additional types of DATA. | ||
| 4204 | |||
| 4205 | *** Supported image types | ||
| 4206 | |||
| 4207 | **** XBM, image type `xbm'. | ||
| 4208 | |||
| 4209 | XBM images don't require an external library. Additional image | ||
| 4210 | properties supported are: | ||
| 4211 | |||
| 4212 | `:foreground FG' | ||
| 4213 | |||
| 4214 | FG must be a string specifying the image foreground color, or nil | ||
| 4215 | meaning to use the default. Default is the frame's foreground color. | ||
| 4216 | |||
| 4217 | `:background BG' | ||
| 4218 | |||
| 4219 | BG must be a string specifying the image background color, or nil | ||
| 4220 | meaning to use the default. Default is the frame's background color. | ||
| 4221 | |||
| 4222 | XBM images can be constructed from data instead of file. In this | ||
| 4223 | case, the image specification must contain the following properties | ||
| 4224 | instead of a `:file' property. | ||
| 4225 | |||
| 4226 | `:width WIDTH' | ||
| 4227 | |||
| 4228 | WIDTH specifies the width of the image in pixels. | ||
| 4229 | |||
| 4230 | `:height HEIGHT' | ||
| 4231 | |||
| 4232 | HEIGHT specifies the height of the image in pixels. | ||
| 4233 | |||
| 4234 | `:data DATA' | ||
| 4235 | |||
| 4236 | DATA must be either | ||
| 4237 | |||
| 4238 | 1. a string large enough to hold the bitmap data, i.e. it must | ||
| 4239 | have a size >= (WIDTH + 7) / 8 * HEIGHT | ||
| 4240 | |||
| 4241 | 2. a bool-vector of size >= WIDTH * HEIGHT | ||
| 4242 | |||
| 4243 | 3. a vector of strings or bool-vectors, one for each line of the | ||
| 4244 | bitmap. | ||
| 4245 | |||
| 4246 | 4. a string that's an in-memory XBM file. Neither width nor | ||
| 4247 | height may be specified in this case because these are defined | ||
| 4248 | in the file. | ||
| 4249 | |||
| 4250 | **** XPM, image type `xpm' | ||
| 4251 | |||
| 4252 | XPM images require the external library `libXpm', package | ||
| 4253 | `xpm-3.4k.tar.gz', version 3.4k or later. Make sure the library is | ||
| 4254 | found when Emacs is configured by supplying appropriate paths via | ||
| 4255 | `--x-includes' and `--x-libraries'. | ||
| 4256 | |||
| 4257 | Additional image properties supported are: | ||
| 4258 | |||
| 4259 | `:color-symbols SYMBOLS' | ||
| 4260 | |||
| 4261 | SYMBOLS must be a list of pairs (NAME . COLOR), with NAME being the | ||
| 4262 | name of color as it appears in an XPM file, and COLOR being an X color | ||
| 4263 | name. | ||
| 4264 | |||
| 4265 | XPM images can be built from memory instead of files. In that case, | ||
| 4266 | add a `:data' property instead of a `:file' property. | ||
| 4267 | |||
| 4268 | The XPM library uses libz in its implementation so that it is able | ||
| 4269 | to display compressed images. | ||
| 4270 | |||
| 4271 | **** PBM, image type `pbm' | ||
| 4272 | |||
| 4273 | PBM images don't require an external library. Color, gray-scale and | ||
| 4274 | mono images are supported. Additional image properties supported for | ||
| 4275 | mono images are: | ||
| 4276 | |||
| 4277 | `:foreground FG' | ||
| 4278 | |||
| 4279 | FG must be a string specifying the image foreground color, or nil | ||
| 4280 | meaning to use the default. Default is the frame's foreground color. | ||
| 4281 | |||
| 4282 | `:background FG' | ||
| 4283 | |||
| 4284 | BG must be a string specifying the image background color, or nil | ||
| 4285 | meaning to use the default. Default is the frame's background color. | ||
| 4286 | |||
| 4287 | **** JPEG, image type `jpeg' | ||
| 4288 | |||
| 4289 | Support for JPEG images requires the external library `libjpeg', | ||
| 4290 | package `jpegsrc.v6a.tar.gz', or later. There are no additional image | ||
| 4291 | properties defined. | ||
| 4292 | |||
| 4293 | **** TIFF, image type `tiff' | ||
| 4294 | |||
| 4295 | Support for TIFF images requires the external library `libtiff', | ||
| 4296 | package `tiff-v3.4-tar.gz', or later. There are no additional image | ||
| 4297 | properties defined. | ||
| 4298 | |||
| 4299 | **** GIF, image type `gif' | ||
| 4300 | |||
| 4301 | Support for GIF images requires the external library `libungif', package | ||
| 4302 | `libungif-4.1.0', or later. | ||
| 4303 | |||
| 4304 | Additional image properties supported are: | ||
| 4305 | |||
| 4306 | `:index INDEX' | ||
| 4307 | |||
| 4308 | INDEX must be an integer >= 0. Load image number INDEX from a | ||
| 4309 | multi-image GIF file. If INDEX is too large, the image displays | ||
| 4310 | as a hollow box. | ||
| 4311 | |||
| 4312 | This could be used to implement limited support for animated GIFs. | ||
| 4313 | For example, the following function displays a multi-image GIF file | ||
| 4314 | at point-min in the current buffer, switching between sub-images | ||
| 4315 | every 0.1 seconds. | ||
| 4316 | |||
| 4317 | (defun show-anim (file max) | ||
| 4318 | "Display multi-image GIF file FILE which contains MAX subimages." | ||
| 4319 | (display-anim (current-buffer) file 0 max t)) | ||
| 4320 | |||
| 4321 | (defun display-anim (buffer file idx max first-time) | ||
| 4322 | (when (= idx max) | ||
| 4323 | (setq idx 0)) | ||
| 4324 | (let ((img (create-image file nil nil :index idx))) | ||
| 4325 | (save-excursion | ||
| 4326 | (set-buffer buffer) | ||
| 4327 | (goto-char (point-min)) | ||
| 4328 | (unless first-time (delete-char 1)) | ||
| 4329 | (insert-image img "x")) | ||
| 4330 | (run-with-timer 0.1 nil 'display-anim buffer file (1+ idx) max nil))) | ||
| 4331 | |||
| 4332 | **** PNG, image type `png' | ||
| 4333 | |||
| 4334 | Support for PNG images requires the external library `libpng', | ||
| 4335 | package `libpng-1.0.2.tar.gz', or later. There are no additional image | ||
| 4336 | properties defined. | ||
| 4337 | |||
| 4338 | **** Ghostscript, image type `postscript'. | ||
| 4339 | |||
| 4340 | Additional image properties supported are: | ||
| 4341 | |||
| 4342 | `:pt-width WIDTH' | ||
| 4343 | |||
| 4344 | WIDTH is width of the image in pt (1/72 inch). WIDTH must be an | ||
| 4345 | integer. This is a required property. | ||
| 4346 | |||
| 4347 | `:pt-height HEIGHT' | ||
| 4348 | |||
| 4349 | HEIGHT specifies the height of the image in pt (1/72 inch). HEIGHT | ||
| 4350 | must be a integer. This is an required property. | ||
| 4351 | |||
| 4352 | `:bounding-box BOX' | ||
| 4353 | |||
| 4354 | BOX must be a list or vector of 4 integers giving the bounding box of | ||
| 4355 | the PS image, analogous to the `BoundingBox' comment found in PS | ||
| 4356 | files. This is an required property. | ||
| 4357 | |||
| 4358 | Part of the Ghostscript interface is implemented in Lisp. See | ||
| 4359 | lisp/gs.el. | ||
| 4360 | |||
| 4361 | *** Lisp interface. | ||
| 4362 | |||
| 4363 | The variable `image-types' contains a list of those image types | ||
| 4364 | which are supported in the current configuration. | ||
| 4365 | |||
| 4366 | Images are stored in an image cache and removed from the cache when | ||
| 4367 | they haven't been displayed for `image-cache-eviction-delay seconds. | ||
| 4368 | The function `clear-image-cache' can be used to clear the image cache | ||
| 4369 | manually. Images in the cache are compared with `equal', i.e. all | ||
| 4370 | images with `equal' specifications share the same image. | ||
| 4371 | |||
| 4372 | *** Simplified image API, image.el | ||
| 4373 | |||
| 4374 | The new Lisp package image.el contains functions that simplify image | ||
| 4375 | creation and putting images into text. The function `create-image' | ||
| 4376 | can be used to create images. The macro `defimage' can be used to | ||
| 4377 | define an image based on available image types. The functions | ||
| 4378 | `put-image' and `insert-image' can be used to insert an image into a | ||
| 4379 | buffer. | ||
| 4380 | |||
| 4381 | ** Display margins. | ||
| 4382 | |||
| 4383 | Windows can now have margins which are used for special text | ||
| 4384 | and images. | ||
| 4385 | |||
| 4386 | To give a window margins, either set the buffer-local variables | ||
| 4387 | `left-margin-width' and `right-margin-width', or call | ||
| 4388 | `set-window-margins'. The function `window-margins' can be used to | ||
| 4389 | obtain the current settings. To make `left-margin-width' and | ||
| 4390 | `right-margin-width' take effect, you must set them before displaying | ||
| 4391 | the buffer in a window, or use `set-window-buffer' to force an update | ||
| 4392 | of the display margins. | ||
| 4393 | |||
| 4394 | You can put text in margins by giving it a `display' text property | ||
| 4395 | containing a pair of the form `(LOCATION . VALUE)', where LOCATION is | ||
| 4396 | one of `left-margin' or `right-margin' or nil. VALUE can be either a | ||
| 4397 | string, an image specification or a stretch specification (see later | ||
| 4398 | in this file). | ||
| 4399 | |||
| 4400 | ** Help display | ||
| 4401 | |||
| 4402 | Emacs displays short help messages in the echo area, when the mouse | ||
| 4403 | moves over a tool-bar item or a piece of text that has a text property | ||
| 4404 | `help-echo'. This feature also applies to strings in the mode line | ||
| 4405 | that have a `help-echo' property. | ||
| 4406 | |||
| 4407 | If the value of the `help-echo' property is a function, that function | ||
| 4408 | is called with three arguments WINDOW, OBJECT and POSITION. WINDOW is | ||
| 4409 | the window in which the help was found. | ||
| 4410 | |||
| 4411 | If OBJECT is a buffer, POS is the position in the buffer where the | ||
| 4412 | `help-echo' text property was found. | ||
| 4413 | |||
| 4414 | If OBJECT is an overlay, that overlay has a `help-echo' property, and | ||
| 4415 | POS is the position in the overlay's buffer under the mouse. | ||
| 4416 | |||
| 4417 | If OBJECT is a string (an overlay string or a string displayed with | ||
| 4418 | the `display' property), POS is the position in that string under the | ||
| 4419 | mouse. | ||
| 4420 | |||
| 4421 | If the value of the `help-echo' property is neither a function nor a | ||
| 4422 | string, it is evaluated to obtain a help string. | ||
| 4423 | |||
| 4424 | For tool-bar and menu-bar items, their key definition is used to | ||
| 4425 | determine the help to display. If their definition contains a | ||
| 4426 | property `:help FORM', FORM is evaluated to determine the help string. | ||
| 4427 | For tool-bar items without a help form, the caption of the item is | ||
| 4428 | used as help string. | ||
| 4429 | |||
| 4430 | The hook `show-help-function' can be set to a function that displays | ||
| 4431 | the help string differently. For example, enabling a tooltip window | ||
| 4432 | causes the help display to appear there instead of in the echo area. | ||
| 4433 | |||
| 4434 | ** Vertical fractional scrolling. | ||
| 4435 | |||
| 4436 | The display of text in windows can be scrolled smoothly in pixels. | ||
| 4437 | This is useful, for example, for making parts of large images visible. | ||
| 4438 | |||
| 4439 | The function `window-vscroll' returns the current value of vertical | ||
| 4440 | scrolling, a non-negative fraction of the canonical character height. | ||
| 4441 | The function `set-window-vscroll' can be used to set the vertical | ||
| 4442 | scrolling value. Here is an example of how these function might be | ||
| 4443 | used. | ||
| 4444 | |||
| 4445 | (global-set-key [A-down] | ||
| 4446 | #'(lambda () | ||
| 4447 | (interactive) | ||
| 4448 | (set-window-vscroll (selected-window) | ||
| 4449 | (+ 0.5 (window-vscroll))))) | ||
| 4450 | (global-set-key [A-up] | ||
| 4451 | #'(lambda () | ||
| 4452 | (interactive) | ||
| 4453 | (set-window-vscroll (selected-window) | ||
| 4454 | (- (window-vscroll) 0.5))))) | ||
| 4455 | |||
| 4456 | ** New hook `fontification-functions'. | ||
| 4457 | |||
| 4458 | Functions from `fontification-functions' are called from redisplay | ||
| 4459 | when it encounters a region of text that is not yet fontified. This | ||
| 4460 | variable automatically becomes buffer-local when set. Each function | ||
| 4461 | is called with one argument, POS. | ||
| 4462 | |||
| 4463 | At least one of the hook functions should fontify one or more | ||
| 4464 | characters starting at POS in the current buffer. It should mark them | ||
| 4465 | as fontified by giving them a non-nil value of the `fontified' text | ||
| 4466 | property. It may be reasonable for these functions to check for the | ||
| 4467 | `fontified' property and not put it back on, but they do not have to. | ||
| 4468 | |||
| 4469 | ** Tool bar support. | ||
| 4470 | |||
| 4471 | Emacs supports a tool bar at the top of a frame under X. The frame | ||
| 4472 | parameter `tool-bar-lines' (X resource "toolBar", class "ToolBar") | ||
| 4473 | controls how may lines to reserve for the tool bar. A zero value | ||
| 4474 | suppresses the tool bar. If the value is non-zero and | ||
| 4475 | `auto-resize-tool-bars' is non-nil the tool bar's size will be changed | ||
| 4476 | automatically so that all tool bar items are visible. | ||
| 4477 | |||
| 4478 | *** Tool bar item definitions | ||
| 4479 | |||
| 4480 | Tool bar items are defined using `define-key' with a prefix-key | ||
| 4481 | `tool-bar'. For example `(define-key global-map [tool-bar item1] ITEM)' | ||
| 4482 | where ITEM is a list `(menu-item CAPTION BINDING PROPS...)'. | ||
| 4483 | |||
| 4484 | CAPTION is the caption of the item, If it's not a string, it is | ||
| 4485 | evaluated to get a string. The caption is currently not displayed in | ||
| 4486 | the tool bar, but it is displayed if the item doesn't have a `:help' | ||
| 4487 | property (see below). | ||
| 4488 | |||
| 4489 | BINDING is the tool bar item's binding. Tool bar items with keymaps as | ||
| 4490 | binding are currently ignored. | ||
| 4491 | |||
| 4492 | The following properties are recognized: | ||
| 4493 | |||
| 4494 | `:enable FORM'. | ||
| 4495 | |||
| 4496 | FORM is evaluated and specifies whether the tool bar item is enabled | ||
| 4497 | or disabled. | ||
| 4498 | |||
| 4499 | `:visible FORM' | ||
| 4500 | |||
| 4501 | FORM is evaluated and specifies whether the tool bar item is displayed. | ||
| 4502 | |||
| 4503 | `:filter FUNCTION' | ||
| 4504 | |||
| 4505 | FUNCTION is called with one parameter, the same list BINDING in which | ||
| 4506 | FUNCTION is specified as the filter. The value FUNCTION returns is | ||
| 4507 | used instead of BINDING to display this item. | ||
| 4508 | |||
| 4509 | `:button (TYPE SELECTED)' | ||
| 4510 | |||
| 4511 | TYPE must be one of `:radio' or `:toggle'. SELECTED is evaluated | ||
| 4512 | and specifies whether the button is selected (pressed) or not. | ||
| 4513 | |||
| 4514 | `:image IMAGES' | ||
| 4515 | |||
| 4516 | IMAGES is either a single image specification or a vector of four | ||
| 4517 | image specifications. If it is a vector, this table lists the | ||
| 4518 | meaning of each of the four elements: | ||
| 4519 | |||
| 4520 | Index Use when item is | ||
| 4521 | ---------------------------------------- | ||
| 4522 | 0 enabled and selected | ||
| 4523 | 1 enabled and deselected | ||
| 4524 | 2 disabled and selected | ||
| 4525 | 3 disabled and deselected | ||
| 4526 | |||
| 4527 | If IMAGE is a single image specification, a Laplace edge-detection | ||
| 4528 | algorithm is used on that image to draw the image in disabled state. | ||
| 4529 | |||
| 4530 | `:help HELP-STRING'. | ||
| 4531 | |||
| 4532 | Gives a help string to display for the tool bar item. This help | ||
| 4533 | is displayed when the mouse is moved over the item. | ||
| 4534 | |||
| 4535 | The function `toolbar-add-item' is a convenience function for adding | ||
| 4536 | toolbar items generally, and `tool-bar-add-item-from-menu' can be used | ||
| 4537 | to define a toolbar item with a binding copied from an item on the | ||
| 4538 | menu bar. | ||
| 4539 | |||
| 4540 | The default bindings use a menu-item :filter to derive the tool-bar | ||
| 4541 | dynamically from variable `tool-bar-map' which may be set | ||
| 4542 | buffer-locally to override the global map. | ||
| 4543 | |||
| 4544 | *** Tool-bar-related variables. | ||
| 4545 | |||
| 4546 | If `auto-resize-tool-bar' is non-nil, the tool bar will automatically | ||
| 4547 | resize to show all defined tool bar items. It will never grow larger | ||
| 4548 | than 1/4 of the frame's size. | ||
| 4549 | |||
| 4550 | If `auto-raise-tool-bar-buttons' is non-nil, tool bar buttons will be | ||
| 4551 | raised when the mouse moves over them. | ||
| 4552 | |||
| 4553 | You can add extra space between tool bar items by setting | ||
| 4554 | `tool-bar-button-margin' to a positive integer specifying a number of | ||
| 4555 | pixels, or a pair of integers (X . Y) specifying horizontal and | ||
| 4556 | vertical margins . Default is 1. | ||
| 4557 | |||
| 4558 | You can change the shadow thickness of tool bar buttons by setting | ||
| 4559 | `tool-bar-button-relief' to an integer. Default is 3. | ||
| 4560 | |||
| 4561 | *** Tool-bar clicks with modifiers. | ||
| 4562 | |||
| 4563 | You can bind commands to clicks with control, shift, meta etc. on | ||
| 4564 | a tool bar item. If | ||
| 4565 | |||
| 4566 | (define-key global-map [tool-bar shell] | ||
| 4567 | '(menu-item "Shell" shell | ||
| 4568 | :image (image :type xpm :file "shell.xpm"))) | ||
| 4569 | |||
| 4570 | is the original tool bar item definition, then | ||
| 4571 | |||
| 4572 | (define-key global-map [tool-bar S-shell] 'some-command) | ||
| 4573 | |||
| 4574 | makes a binding to run `some-command' for a shifted click on the same | ||
| 4575 | item. | ||
| 4576 | |||
| 4577 | ** Mode line changes. | ||
| 4578 | |||
| 4579 | *** Mouse-sensitive mode line. | ||
| 4580 | |||
| 4581 | The mode line can be made mouse-sensitive by displaying strings there | ||
| 4582 | that have a `local-map' text property. There are three ways to display | ||
| 4583 | a string with a `local-map' property in the mode line. | ||
| 4584 | |||
| 4585 | 1. The mode line spec contains a variable whose string value has | ||
| 4586 | a `local-map' text property. | ||
| 4587 | |||
| 4588 | 2. The mode line spec contains a format specifier (e.g. `%12b'), and | ||
| 4589 | that format specifier has a `local-map' property. | ||
| 4590 | |||
| 4591 | 3. The mode line spec contains a list containing `:eval FORM'. FORM | ||
| 4592 | is evaluated. If the result is a string, and that string has a | ||
| 4593 | `local-map' property. | ||
| 4594 | |||
| 4595 | The same mechanism is used to determine the `face' and `help-echo' | ||
| 4596 | properties of strings in the mode line. See `bindings.el' for an | ||
| 4597 | example. | ||
| 4598 | |||
| 4599 | *** If a mode line element has the form `(:eval FORM)', FORM is | ||
| 4600 | evaluated and the result is used as mode line element. | ||
| 4601 | |||
| 4602 | *** You can suppress mode-line display by setting the buffer-local | ||
| 4603 | variable mode-line-format to nil. | ||
| 4604 | |||
| 4605 | *** A headerline can now be displayed at the top of a window. | ||
| 4606 | |||
| 4607 | This mode line's contents are controlled by the new variable | ||
| 4608 | `header-line-format' and `default-header-line-format' which are | ||
| 4609 | completely analogous to `mode-line-format' and | ||
| 4610 | `default-mode-line-format'. A value of nil means don't display a top | ||
| 4611 | line. | ||
| 4612 | |||
| 4613 | The appearance of top mode lines is controlled by the face | ||
| 4614 | `header-line'. | ||
| 4615 | |||
| 4616 | The function `coordinates-in-window-p' returns `header-line' for a | ||
| 4617 | position in the header-line. | ||
| 4618 | |||
| 4619 | ** Text property `display' | ||
| 4620 | |||
| 4621 | The `display' text property is used to insert images into text, | ||
| 4622 | replace text with other text, display text in marginal area, and it is | ||
| 4623 | also used to control other aspects of how text displays. The value of | ||
| 4624 | the `display' property should be a display specification, as described | ||
| 4625 | below, or a list or vector containing display specifications. | ||
| 4626 | |||
| 4627 | *** Replacing text, displaying text in marginal areas | ||
| 4628 | |||
| 4629 | To replace the text having the `display' property with some other | ||
| 4630 | text, use a display specification of the form `(LOCATION STRING)'. | ||
| 4631 | |||
| 4632 | If LOCATION is `(margin left-margin)', STRING is displayed in the left | ||
| 4633 | marginal area, if it is `(margin right-margin)', it is displayed in | ||
| 4634 | the right marginal area, and if LOCATION is `(margin nil)' STRING | ||
| 4635 | is displayed in the text. In the latter case you can also use the | ||
| 4636 | simpler form STRING as property value. | ||
| 4637 | |||
| 4638 | *** Variable width and height spaces | ||
| 4639 | |||
| 4640 | To display a space of fractional width or height, use a display | ||
| 4641 | specification of the form `(LOCATION STRECH)'. If LOCATION is | ||
| 4642 | `(margin left-margin)', the space is displayed in the left marginal | ||
| 4643 | area, if it is `(margin right-margin)', it is displayed in the right | ||
| 4644 | marginal area, and if LOCATION is `(margin nil)' the space is | ||
| 4645 | displayed in the text. In the latter case you can also use the | ||
| 4646 | simpler form STRETCH as property value. | ||
| 4647 | |||
| 4648 | The stretch specification STRETCH itself is a list of the form `(space | ||
| 4649 | PROPS)', where PROPS is a property list which can contain the | ||
| 4650 | properties described below. | ||
| 4651 | |||
| 4652 | The display of the fractional space replaces the display of the | ||
| 4653 | characters having the `display' property. | ||
| 4654 | |||
| 4655 | - :width WIDTH | ||
| 4656 | |||
| 4657 | Specifies that the space width should be WIDTH times the normal | ||
| 4658 | character width. WIDTH can be an integer or floating point number. | ||
| 4659 | |||
| 4660 | - :relative-width FACTOR | ||
| 4661 | |||
| 4662 | Specifies that the width of the stretch should be computed from the | ||
| 4663 | first character in a group of consecutive characters that have the | ||
| 4664 | same `display' property. The computation is done by multiplying the | ||
| 4665 | width of that character by FACTOR. | ||
| 4666 | |||
| 4667 | - :align-to HPOS | ||
| 4668 | |||
| 4669 | Specifies that the space should be wide enough to reach HPOS. The | ||
| 4670 | value HPOS is measured in units of the normal character width. | ||
| 4671 | |||
| 4672 | Exactly one of the above properties should be used. | ||
| 4673 | |||
| 4674 | - :height HEIGHT | ||
| 4675 | |||
| 4676 | Specifies the height of the space, as HEIGHT, measured in terms of the | ||
| 4677 | normal line height. | ||
| 4678 | |||
| 4679 | - :relative-height FACTOR | ||
| 4680 | |||
| 4681 | The height of the space is computed as the product of the height | ||
| 4682 | of the text having the `display' property and FACTOR. | ||
| 4683 | |||
| 4684 | - :ascent ASCENT | ||
| 4685 | |||
| 4686 | Specifies that ASCENT percent of the height of the stretch should be | ||
| 4687 | used for the ascent of the stretch, i.e. for the part above the | ||
| 4688 | baseline. The value of ASCENT must be a non-negative number less or | ||
| 4689 | equal to 100. | ||
| 4690 | |||
| 4691 | You should not use both `:height' and `:relative-height' together. | ||
| 4692 | |||
| 4693 | *** Images | ||
| 4694 | |||
| 4695 | A display specification for an image has the form `(LOCATION | ||
| 4696 | . IMAGE)', where IMAGE is an image specification. The image replaces, | ||
| 4697 | in the display, the characters having this display specification in | ||
| 4698 | their `display' text property. If LOCATION is `(margin left-margin)', | ||
| 4699 | the image will be displayed in the left marginal area, if it is | ||
| 4700 | `(margin right-margin)' it will be displayed in the right marginal | ||
| 4701 | area, and if LOCATION is `(margin nil)' the image will be displayed in | ||
| 4702 | the text. In the latter case you can also use the simpler form IMAGE | ||
| 4703 | as display specification. | ||
| 4704 | |||
| 4705 | *** Other display properties | ||
| 4706 | |||
| 4707 | - (space-width FACTOR) | ||
| 4708 | |||
| 4709 | Specifies that space characters in the text having that property | ||
| 4710 | should be displayed FACTOR times as wide as normal; FACTOR must be an | ||
| 4711 | integer or float. | ||
| 4712 | |||
| 4713 | - (height HEIGHT) | ||
| 4714 | |||
| 4715 | Display text having this property in a font that is smaller or larger. | ||
| 4716 | |||
| 4717 | If HEIGHT is a list of the form `(+ N)', where N is an integer, that | ||
| 4718 | means to use a font that is N steps larger. If HEIGHT is a list of | ||
| 4719 | the form `(- N)', that means to use a font that is N steps smaller. A | ||
| 4720 | ``step'' is defined by the set of available fonts; each size for which | ||
| 4721 | a font is available counts as a step. | ||
| 4722 | |||
| 4723 | If HEIGHT is a number, that means to use a font that is HEIGHT times | ||
| 4724 | as tall as the frame's default font. | ||
| 4725 | |||
| 4726 | If HEIGHT is a symbol, it is called as a function with the current | ||
| 4727 | height as argument. The function should return the new height to use. | ||
| 4728 | |||
| 4729 | Otherwise, HEIGHT is evaluated to get the new height, with the symbol | ||
| 4730 | `height' bound to the current specified font height. | ||
| 4731 | |||
| 4732 | - (raise FACTOR) | ||
| 4733 | |||
| 4734 | FACTOR must be a number, specifying a multiple of the current | ||
| 4735 | font's height. If it is positive, that means to display the characters | ||
| 4736 | raised. If it is negative, that means to display them lower down. The | ||
| 4737 | amount of raising or lowering is computed without taking account of the | ||
| 4738 | `height' subproperty. | ||
| 4739 | |||
| 4740 | *** Conditional display properties | ||
| 4741 | |||
| 4742 | All display specifications can be conditionalized. If a specification | ||
| 4743 | has the form `(when CONDITION . SPEC)', the specification SPEC applies | ||
| 4744 | only when CONDITION yields a non-nil value when evaluated. During the | ||
| 4745 | evaluation, `object' is bound to the string or buffer having the | ||
| 4746 | conditional display property; `position' and `buffer-position' are | ||
| 4747 | bound to the position within `object' and the buffer position where | ||
| 4748 | the display property was found, respectively. Both positions can be | ||
| 4749 | different when object is a string. | ||
| 4750 | |||
| 4751 | The normal specification consisting of SPEC only is equivalent to | ||
| 4752 | `(when t . SPEC)'. | ||
| 4753 | |||
| 4754 | ** New menu separator types. | ||
| 4755 | |||
| 4756 | Emacs now supports more than one menu separator type. Menu items with | ||
| 4757 | item names consisting of dashes only (including zero dashes) are | ||
| 4758 | treated like before. In addition, the following item names are used | ||
| 4759 | to specify other menu separator types. | ||
| 4760 | |||
| 4761 | - `--no-line' or `--space', or `--:space', or `--:noLine' | ||
| 4762 | |||
| 4763 | No separator lines are drawn, but a small space is inserted where the | ||
| 4764 | separator occurs. | ||
| 4765 | |||
| 4766 | - `--single-line' or `--:singleLine' | ||
| 4767 | |||
| 4768 | A single line in the menu's foreground color. | ||
| 4769 | |||
| 4770 | - `--double-line' or `--:doubleLine' | ||
| 4771 | |||
| 4772 | A double line in the menu's foreground color. | ||
| 4773 | |||
| 4774 | - `--single-dashed-line' or `--:singleDashedLine' | ||
| 4775 | |||
| 4776 | A single dashed line in the menu's foreground color. | ||
| 4777 | |||
| 4778 | - `--double-dashed-line' or `--:doubleDashedLine' | ||
| 4779 | |||
| 4780 | A double dashed line in the menu's foreground color. | ||
| 4781 | |||
| 4782 | - `--shadow-etched-in' or `--:shadowEtchedIn' | ||
| 4783 | |||
| 4784 | A single line with 3D sunken appearance. This is the form | ||
| 4785 | displayed for item names consisting of dashes only. | ||
| 4786 | |||
| 4787 | - `--shadow-etched-out' or `--:shadowEtchedOut' | ||
| 4788 | |||
| 4789 | A single line with 3D raised appearance. | ||
| 4790 | |||
| 4791 | - `--shadow-etched-in-dash' or `--:shadowEtchedInDash' | ||
| 4792 | |||
| 4793 | A single dashed line with 3D sunken appearance. | ||
| 4794 | |||
| 4795 | - `--shadow-etched-out-dash' or `--:shadowEtchedOutDash' | ||
| 4796 | |||
| 4797 | A single dashed line with 3D raise appearance. | ||
| 4798 | |||
| 4799 | - `--shadow-double-etched-in' or `--:shadowDoubleEtchedIn' | ||
| 4800 | |||
| 4801 | Two lines with 3D sunken appearance. | ||
| 4802 | |||
| 4803 | - `--shadow-double-etched-out' or `--:shadowDoubleEtchedOut' | ||
| 4804 | |||
| 4805 | Two lines with 3D raised appearance. | ||
| 4806 | |||
| 4807 | - `--shadow-double-etched-in-dash' or `--:shadowDoubleEtchedInDash' | ||
| 4808 | |||
| 4809 | Two dashed lines with 3D sunken appearance. | ||
| 4810 | |||
| 4811 | - `--shadow-double-etched-out-dash' or `--:shadowDoubleEtchedOutDash' | ||
| 4812 | |||
| 4813 | Two dashed lines with 3D raised appearance. | ||
| 4814 | |||
| 4815 | Under LessTif/Motif, the last four separator types are displayed like | ||
| 4816 | the corresponding single-line separators. | ||
| 4817 | |||
| 4818 | ** New frame parameters for scroll bar colors. | ||
| 4819 | |||
| 4820 | The new frame parameters `scroll-bar-foreground' and | ||
| 4821 | `scroll-bar-background' can be used to change scroll bar colors. | ||
| 4822 | Their value must be either a color name, a string, or nil to specify | ||
| 4823 | that scroll bars should use a default color. For toolkit scroll bars, | ||
| 4824 | default colors are toolkit specific. For non-toolkit scroll bars, the | ||
| 4825 | default background is the background color of the frame, and the | ||
| 4826 | default foreground is black. | ||
| 4827 | |||
| 4828 | The X resource name of these parameters are `scrollBarForeground' | ||
| 4829 | (class ScrollBarForeground) and `scrollBarBackground' (class | ||
| 4830 | `ScrollBarBackground'). | ||
| 4831 | |||
| 4832 | Setting these parameters overrides toolkit specific X resource | ||
| 4833 | settings for scroll bar colors. | ||
| 4834 | |||
| 4835 | ** You can set `redisplay-dont-pause' to a non-nil value to prevent | ||
| 4836 | display updates from being interrupted when input is pending. | ||
| 4837 | |||
| 4838 | ** Changing a window's width may now change its window start if it | ||
| 4839 | starts on a continuation line. The new window start is computed based | ||
| 4840 | on the window's new width, starting from the start of the continued | ||
| 4841 | line as the start of the screen line with the minimum distance from | ||
| 4842 | the original window start. | ||
| 4843 | |||
| 4844 | ** The variable `hscroll-step' and the functions | ||
| 4845 | `hscroll-point-visible' and `hscroll-window-column' have been removed | ||
| 4846 | now that proper horizontal scrolling is implemented. | ||
| 4847 | |||
| 4848 | ** Windows can now be made fixed-width and/or fixed-height. | ||
| 4849 | |||
| 4850 | A window is fixed-size if its buffer has a buffer-local variable | ||
| 4851 | `window-size-fixed' whose value is not nil. A value of `height' makes | ||
| 4852 | windows fixed-height, a value of `width' makes them fixed-width, any | ||
| 4853 | other non-nil value makes them both fixed-width and fixed-height. | ||
| 4854 | |||
| 4855 | The following code makes all windows displaying the current buffer | ||
| 4856 | fixed-width and fixed-height. | ||
| 4857 | |||
| 4858 | (set (make-local-variable 'window-size-fixed) t) | ||
| 4859 | |||
| 4860 | A call to enlarge-window on a window gives an error if that window is | ||
| 4861 | fixed-width and it is tried to change the window's width, or if the | ||
| 4862 | window is fixed-height, and it is tried to change its height. To | ||
| 4863 | change the size of a fixed-size window, bind `window-size-fixed' | ||
| 4864 | temporarily to nil, for example | ||
| 4865 | |||
| 4866 | (let ((window-size-fixed nil)) | ||
| 4867 | (enlarge-window 10)) | ||
| 4868 | |||
| 4869 | Likewise, an attempt to split a fixed-height window vertically, | ||
| 4870 | or a fixed-width window horizontally results in a error. | ||
| 4871 | |||
| 4872 | ** The cursor-type frame parameter is now supported on MS-DOS | ||
| 4873 | terminals. When Emacs starts, it by default changes the cursor shape | ||
| 4874 | to a solid box, as it does on Unix. The `cursor-type' frame parameter | ||
| 4875 | overrides this as it does on Unix, except that the bar cursor is | ||
| 4876 | horizontal rather than vertical (since the MS-DOS display doesn't | ||
| 4877 | support a vertical-bar cursor). | ||
| 4878 | |||
| 4879 | |||
| 4880 | |||
| 4881 | ---------------------------------------------------------------------- | ||
| 4882 | Copyright information: | ||
| 4883 | |||
| 4884 | Copyright (C) 2000, 2001, 2002, 2003, 2006 | ||
| 4885 | Free Software Foundation, Inc. | ||
| 4886 | |||
| 4887 | Permission is granted to anyone to make or distribute verbatim copies | ||
| 4888 | of this document as received, in any medium, provided that the | ||
| 4889 | copyright notice and this permission notice are preserved, | ||
| 4890 | thus giving the recipient permission to redistribute in turn. | ||
| 4891 | |||
| 4892 | Permission is granted to distribute modified versions | ||
| 4893 | of this document, or of portions of it, | ||
| 4894 | under the above conditions, provided also that they | ||
| 4895 | carry prominent notices stating who last changed them. | ||
| 4896 | |||
| 4897 | Local variables: | ||
| 4898 | mode: outline | ||
| 4899 | paragraph-separate: "[ ]*$" | ||
| 4900 | end: | ||
diff --git a/etc/ONEWS.1 b/etc/ONEWS.1 deleted file mode 100644 index 4f75a7bc6e0..00000000000 --- a/etc/ONEWS.1 +++ /dev/null | |||
| @@ -1,1167 +0,0 @@ | |||
| 1 | Old GNU Emacs NEWS -- history of user-visible changes thru version 15. | ||
| 2 | Copyright (C) 1985 Richard M. Stallman. | ||
| 3 | See the end for copying conditions. | ||
| 4 | |||
| 5 | Changes in Emacs 15 | ||
| 6 | |||
| 7 | * Emacs now runs on Sun and Megatest 68000 systems; | ||
| 8 | also on at least one 16000 system running 4.2. | ||
| 9 | |||
| 10 | * Emacs now alters the output-start and output-stop characters | ||
| 11 | to prevent C-s and C-q from being considered as flow control | ||
| 12 | by cretinous rlogin software in 4.2. | ||
| 13 | |||
| 14 | * It is now possible convert Mocklisp code (for Gosling Emacs) to Lisp code | ||
| 15 | that can run in GNU Emacs. M-x convert-mocklisp-buffer | ||
| 16 | converts the contents of the current buffer from Mocklisp to | ||
| 17 | GNU Emacs Lisp. You should then save the converted buffer with C-x C-w | ||
| 18 | under a name ending in ".el" | ||
| 19 | |||
| 20 | There are probably some Mocklisp constructs that are not handled. | ||
| 21 | If you encounter one, feel free to report the failure as a bug. | ||
| 22 | The construct will be handled in a future Emacs release, if that is not | ||
| 23 | not too hard to do. | ||
| 24 | |||
| 25 | Note that lisp code converted from Mocklisp code will not necessarily | ||
| 26 | run as fast as code specifically written for GNU Emacs, nor will it use | ||
| 27 | the many features of GNU Emacs which are not present in Gosling's emacs. | ||
| 28 | (In particular, the byte-compiler (m-x byte-compile-file) knows little | ||
| 29 | about compilation of code directly converted from mocklisp.) | ||
| 30 | It is envisaged that old mocklisp code will be incrementally converted | ||
| 31 | to GNU lisp code, with M-x convert-mocklisp-buffer being the first | ||
| 32 | step in this process. | ||
| 33 | |||
| 34 | * Control-x n (narrow-to-region) is now by default a disabled command. | ||
| 35 | |||
| 36 | This means that, if you issue this command, it will ask whether | ||
| 37 | you really mean it. You have the opportunity to enable the | ||
| 38 | command permanently at that time, so you will not be asked again. | ||
| 39 | This will place the form "(put 'narrow-to-region 'disabled nil)" in your | ||
| 40 | .emacs file. | ||
| 41 | |||
| 42 | * Tags now prompts for the tag table file name to use. | ||
| 43 | |||
| 44 | All the tags commands ask for the tag table file name | ||
| 45 | if you have not yet specified one. | ||
| 46 | |||
| 47 | Also, the command M-x visit-tag-table can now be used to | ||
| 48 | specify the tag table file name initially, or to switch | ||
| 49 | to a new tag table. | ||
| 50 | |||
| 51 | * If truncate-partial-width-windows is non-nil (as it intially is), | ||
| 52 | all windows less than the full screen width (that is, | ||
| 53 | made by side-by-side splitting) truncate lines rather than continuing | ||
| 54 | them. | ||
| 55 | |||
| 56 | * Emacs now checks for Lisp stack overflow to avoid fatal errors. | ||
| 57 | The depth in eval, apply and funcall may not exceed max-lisp-eval-depth. | ||
| 58 | The depth in variable bindings and unwind-protects may not exceed | ||
| 59 | max-specpdl-size. If either limit is exceeded, an error occurs. | ||
| 60 | You can set the limits to larger values if you wish, but if you make them | ||
| 61 | too large, you are vulnerable to a fatal error if you invoke | ||
| 62 | Lisp code that does infinite recursion. | ||
| 63 | |||
| 64 | * New hooks find-file-hook and write-file-hook. | ||
| 65 | Both of these variables if non-nil should be functions of no arguments. | ||
| 66 | At the time they are called (current-buffer) will be the buffer being | ||
| 67 | read or written respectively. | ||
| 68 | |||
| 69 | find-file-hook is called whenever a file is read into its own buffer, | ||
| 70 | such as by calling find-file, revert-buffer, etc. It is not called by | ||
| 71 | functions such as insert-file which do not read the file into a buffer of | ||
| 72 | its own. | ||
| 73 | find-file-hook is called after the file has been read in and its | ||
| 74 | local variables (if any) have been processed. | ||
| 75 | |||
| 76 | write-file-hook is called just before writing out a file from a buffer. | ||
| 77 | |||
| 78 | * The initial value of shell-prompt-pattern is now "^[^#$%>]*[#$%>] *" | ||
| 79 | |||
| 80 | * If the .emacs file sets inhibit-startup-message to non-nil, | ||
| 81 | the messages normally printed by Emacs at startup time | ||
| 82 | are inhibited. | ||
| 83 | |||
| 84 | * Facility for run-time conditionalization on the basis of emacs features. | ||
| 85 | |||
| 86 | The new variable features is a list of symbols which represent "features" | ||
| 87 | of the executing emacs, for use in run-time conditionalization. | ||
| 88 | |||
| 89 | The function featurep of one argument may be used to test for the | ||
| 90 | presence of a feature. It is just the same as | ||
| 91 | (not (null (memq FEATURE features))) where FEATURE is its argument. | ||
| 92 | For example, (if (featurep 'magic-window-hack) | ||
| 93 | (transmogrify-window 'vertical) | ||
| 94 | (split-window-vertically)) | ||
| 95 | |||
| 96 | The function provide of one argument "announces" that FEATURE is present. | ||
| 97 | It is much the same as (if (not (featurep FEATURE)) | ||
| 98 | (setq features (cons FEATURE features))) | ||
| 99 | |||
| 100 | The function require with arguments FEATURE and FILE-NAME loads FILE-NAME | ||
| 101 | (which should contain the form (provide FEATURE)) unless FEATURE is present. | ||
| 102 | It is much the same as (if (not (featurep FEATURE)) | ||
| 103 | (progn (load FILE-NAME) | ||
| 104 | (if (not featurep FEATURE) (error ...)))) | ||
| 105 | FILE-NAME is optional and defaults to FEATURE. | ||
| 106 | |||
| 107 | * New function load-average. | ||
| 108 | |||
| 109 | This returns a list of three integers, which are | ||
| 110 | the current 1 minute, 5 minute and 15 minute load averages, | ||
| 111 | each multiplied by a hundred (since normally they are floating | ||
| 112 | point numbers). | ||
| 113 | |||
| 114 | * Per-terminal libraries loaded automatically. | ||
| 115 | |||
| 116 | Emacs when starting up on terminal type T automatically loads | ||
| 117 | a library named term-T. T is the value of the TERM environment variable. | ||
| 118 | Thus, on terminal type vt100, Emacs would do (load "term-vt100" t t). | ||
| 119 | Such libraries are good places to set the character translation table. | ||
| 120 | |||
| 121 | It is a bad idea to redefine lots of commands in a per-terminal library, | ||
| 122 | since this affects all users. Instead, define a command to do the | ||
| 123 | redefinitions and let the user's init file, which is loaded later, | ||
| 124 | call that command or not, as the user prefers. | ||
| 125 | |||
| 126 | * Programmer's note: detecting killed buffers. | ||
| 127 | |||
| 128 | Buffers are eliminated by explicitly killing them, using | ||
| 129 | the function kill-buffer. This does not eliminate or affect | ||
| 130 | the pointers to the buffer which may exist in list structure. | ||
| 131 | If you have a pointer to a buffer and wish to tell whether | ||
| 132 | the buffer has been killed, use the function buffer-name. | ||
| 133 | It returns nil on a killed buffer, and a string on a live buffer. | ||
| 134 | |||
| 135 | * New ways to access the last command input character. | ||
| 136 | |||
| 137 | The function last-key-struck, which used to return the last | ||
| 138 | input character that was read by command input, is eliminated. | ||
| 139 | Instead, you can find this information as the value of the | ||
| 140 | variable last-command-char. (This variable used to be called | ||
| 141 | last-key). | ||
| 142 | |||
| 143 | Another new variable, last-input-char, holds the last character | ||
| 144 | read from the command input stream regardless of what it was | ||
| 145 | read for. last-input-char and last-command-char are different | ||
| 146 | only inside a command that has called read-char to read input. | ||
| 147 | |||
| 148 | * The new switch -kill causes Emacs to exit after processing the | ||
| 149 | preceding command line arguments. Thus, | ||
| 150 | emacs -l lib data -e do-it -kill | ||
| 151 | means to load lib, find file data, call do-it on no arguments, | ||
| 152 | and then exit. | ||
| 153 | |||
| 154 | * The config.h file has been modularized. | ||
| 155 | |||
| 156 | Options that depend on the machine you are running on are defined | ||
| 157 | in a file whose name starts with "m-", such as m-vax.h. | ||
| 158 | Options that depend on the operating system software version you are | ||
| 159 | running on are defined in a file whose name starts with "s-", | ||
| 160 | such as s-bsd4.2.h. | ||
| 161 | |||
| 162 | config.h includes one m- file and one s- file. It also defines a | ||
| 163 | few other options whose values do not follow from the machine type | ||
| 164 | and system type being used. Installers normally will have to | ||
| 165 | select the correct m- and s- files but will never have to change their | ||
| 166 | contents. | ||
| 167 | |||
| 168 | * Termcap AL and DL strings are understood. | ||
| 169 | |||
| 170 | If the termcap entry defines AL and DL strings, for insertion | ||
| 171 | and deletion of multiple lines in one blow, Emacs now uses them. | ||
| 172 | This matters most on certain bit map display terminals for which | ||
| 173 | scrolling is comparatively slow. | ||
| 174 | |||
| 175 | * Bias against scrolling screen far on fast terminals. | ||
| 176 | |||
| 177 | Emacs now prefers to redraw a few lines rather than | ||
| 178 | shift them a long distance on the screen, when the terminal is fast. | ||
| 179 | |||
| 180 | * New major mode, mim-mode. | ||
| 181 | |||
| 182 | This major mode is for editing MDL code. Perhaps a MDL | ||
| 183 | user can explain why it is not called mdl-mode. | ||
| 184 | You must load the library mim-mode explicitly to use this. | ||
| 185 | |||
| 186 | * GNU documentation formatter `texinfo'. | ||
| 187 | |||
| 188 | The `texinfo' library defines a format for documentation | ||
| 189 | files which can be passed through Tex to make a printed manual | ||
| 190 | or passed through texinfo to make an Info file. Texinfo is | ||
| 191 | documented fully by its own Info file; compare this file | ||
| 192 | with its source, texinfo.texinfo, for additional guidance. | ||
| 193 | |||
| 194 | All documentation files for GNU utilities should be written | ||
| 195 | in texinfo input format. | ||
| 196 | |||
| 197 | Tex processing of texinfo files requires the Botex macro package. | ||
| 198 | This is not ready for distribution yet, but will appear at | ||
| 199 | a later time. | ||
| 200 | |||
| 201 | * New function read-from-string (emacs 15.29) | ||
| 202 | |||
| 203 | read-from-string takes three arguments: a string to read from, | ||
| 204 | and optionally start and end indices which delimit a substring | ||
| 205 | from which to read. (They default to 0 and the length of the string, | ||
| 206 | respectively.) | ||
| 207 | |||
| 208 | This function returns a cons cell whose car is the object produced | ||
| 209 | by reading from the string and whose cdr is a number giving the | ||
| 210 | index in the string of the first character not read. That index may | ||
| 211 | be passed as the second argument to a later call to read-from-string | ||
| 212 | to read the next form represented by the string. | ||
| 213 | |||
| 214 | In addition, the function read now accepts a string as its argument. | ||
| 215 | In this case, it calls read-from-string on the whole string, and | ||
| 216 | returns the car of the result. (ie the actual object read.) | ||
| 217 | |||
| 218 | Changes in Emacs 14 | ||
| 219 | |||
| 220 | * Completion now prints various messages such as [Sole Completion] | ||
| 221 | or [Next Character Not Unique] to describe the results obtained. | ||
| 222 | These messages appear after the text in the minibuffer, and remain | ||
| 223 | on the screen until a few seconds go by or you type a key. | ||
| 224 | |||
| 225 | * The buffer-read-only flag is implemented. | ||
| 226 | Setting or binding this per-buffer variable to a non-nil value | ||
| 227 | makes illegal any operation which would modify the textual content of | ||
| 228 | the buffer. (Such operations signal a buffer-read-only error) | ||
| 229 | The read-only state of a buffer may be altered using toggle-read-only | ||
| 230 | (C-x C-q) | ||
| 231 | The buffers used by Rmail, Dired, Rnews, and Info are now read-only | ||
| 232 | by default to prevent accidental damage to the information in those | ||
| 233 | buffers. | ||
| 234 | |||
| 235 | * Functions car-safe and cdr-safe. | ||
| 236 | These functions are like car and cdr when the argument is a cons. | ||
| 237 | Given an argument not a cons, car-safe always returns nil, with | ||
| 238 | no error; the same for cdr-safe. | ||
| 239 | |||
| 240 | * The new function user-real-login-name returns the name corresponding | ||
| 241 | to the real uid of the Emacs process. This is usually the same | ||
| 242 | as what user-login-name returns; however, when Emacs is invoked | ||
| 243 | from su, user-real-login-name returns "root" but user-login-name | ||
| 244 | returns the name of the user who invoked su. | ||
| 245 | |||
| 246 | Changes in Emacs 13 | ||
| 247 | |||
| 248 | * There is a new version numbering scheme. | ||
| 249 | |||
| 250 | What used to be the first version number, which was 1, | ||
| 251 | has been discarded since it does not seem that I need three | ||
| 252 | levels of version number. | ||
| 253 | |||
| 254 | However, a new third version number has been added to represent | ||
| 255 | changes by user sites. This number will always be zero in | ||
| 256 | Emacs when I distribute it; it will be incremented each time | ||
| 257 | Emacs is built at another site. | ||
| 258 | |||
| 259 | * There is now a reader syntax for Meta characters: | ||
| 260 | \M-CHAR means CHAR or'ed with the Meta bit. For example: | ||
| 261 | |||
| 262 | ?\M-x is (+ ?x 128) | ||
| 263 | ?\M-\n is (+ ?\n 128) | ||
| 264 | ?\M-\^f is (+ ?\^f 128) | ||
| 265 | |||
| 266 | This syntax can be used in strings too. Note, however, that | ||
| 267 | Meta characters are not meaningful in key sequences being passed | ||
| 268 | to define-key or lookup-key; you must use ESC characters (\e) | ||
| 269 | in them instead. | ||
| 270 | |||
| 271 | ?\C- can be used likewise for control characters. (13.9) | ||
| 272 | |||
| 273 | * Installation change | ||
| 274 | The string "../lisp" now adds to the front of the load-path | ||
| 275 | used for searching for Lisp files during Emacs initialization. | ||
| 276 | It used to replace the path specified in paths.h entirely. | ||
| 277 | Now the directory ../lisp is searched first and the directoris | ||
| 278 | specified in paths.h are searched afterward. | ||
| 279 | |||
| 280 | Changes in Emacs 1.12 | ||
| 281 | |||
| 282 | * There is a new installation procedure. | ||
| 283 | See the file INSTALL that comes in the top level | ||
| 284 | directory in the tar file or tape. | ||
| 285 | |||
| 286 | * The Meta key is now supported on terminals that have it. | ||
| 287 | This is a shift key which causes the high bit to be turned on | ||
| 288 | in all input characters typed while it is held down. | ||
| 289 | |||
| 290 | read-char now returns a value in the range 128-255 if | ||
| 291 | a Meta character is typed. When interpreted as command | ||
| 292 | input, a Meta character is equivalent to a two character | ||
| 293 | sequence, the meta prefix character followed by the un-metized | ||
| 294 | character (Meta-G unmetized is G). | ||
| 295 | |||
| 296 | The meta prefix character | ||
| 297 | is specified by the value of the variable meta-prefix-char. | ||
| 298 | If this character (normally Escape) has been redefined locally | ||
| 299 | with a non-prefix definition (such as happens in completing | ||
| 300 | minibuffers) then the local redefinition is suppressed when | ||
| 301 | the character is not the last one in a key sequence. | ||
| 302 | So the local redefinition is effective if you type the character | ||
| 303 | explicitly, but not effective if the character comes from | ||
| 304 | the use of the Meta key. | ||
| 305 | |||
| 306 | * `-' is no longer a completion command in the minibuffer. | ||
| 307 | It is an ordinary self-inserting character. | ||
| 308 | |||
| 309 | * The list load-path of directories load to search for Lisp files | ||
| 310 | is now controlled by the EMACSLOADPATH environment variable | ||
| 311 | [[ Note this was originally EMACS-LOAD-PATH and has been changed | ||
| 312 | again; sh does not deal properly with hyphens in env variable names]] | ||
| 313 | rather than the EPATH environment variable. This is to avoid | ||
| 314 | conflicts with other Emacses. | ||
| 315 | |||
| 316 | While Emacs is being built initially, the load-path | ||
| 317 | is now just ("../lisp"), ignoring paths.h. It does not | ||
| 318 | ignore EMACSLOADPATH, however; you should avoid having | ||
| 319 | this variable set while building Emacs. | ||
| 320 | |||
| 321 | * You can now specify a translation table for keyboard | ||
| 322 | input characters, as a way of exchanging or substituting | ||
| 323 | keys on the keyboard. | ||
| 324 | |||
| 325 | If the value of keyboard-translate-table is a string, | ||
| 326 | every character received from the keyboard is used as an | ||
| 327 | index in that string, and the character at that index in | ||
| 328 | the string is used as input instead of what was actually | ||
| 329 | typed. If the actual input character is >= the length of | ||
| 330 | the string, it is used unchanged. | ||
| 331 | |||
| 332 | One way this feature can be used is to fix bad keyboard | ||
| 333 | designes. For example, on some terminals, Delete is | ||
| 334 | Shift-Underscore. Since Delete is a more useful character | ||
| 335 | than Underscore, it is an improvement to make the unshifted | ||
| 336 | character Delete and the shifted one Underscore. This can | ||
| 337 | be done with | ||
| 338 | |||
| 339 | ;; First make a translate table that does the identity translation. | ||
| 340 | (setq keyboard-translate-table (make-string 128 0)) | ||
| 341 | (let ((i 0)) | ||
| 342 | (while (< i 128) | ||
| 343 | (aset keyboard-translate-table i i) | ||
| 344 | (setq i (1+ i)))) | ||
| 345 | |||
| 346 | ;; Now alter translations of some characters. | ||
| 347 | (aset keyboard-translate-table ?\_ ?\^?) | ||
| 348 | (aset keyboard-translate-table ?\^? ?\_) | ||
| 349 | |||
| 350 | If your terminal has a Meta key and can therefore send | ||
| 351 | codes up to 255, Meta characters are translated through | ||
| 352 | elements 128 through 255 of the translate table, and therefore | ||
| 353 | are translated independently of the corresponding non-Meta | ||
| 354 | characters. You must therefore establish translations | ||
| 355 | independently for the Meta characters if you want them too: | ||
| 356 | |||
| 357 | ;; First make a translate table that does the identity translation. | ||
| 358 | (setq keyboard-translate-table (make-string 256 0)) | ||
| 359 | (let ((i 0)) | ||
| 360 | (while (< i 256) | ||
| 361 | (aset keyboard-translate-table i i) | ||
| 362 | (setq i (1+ i)))) | ||
| 363 | |||
| 364 | ;; Now alter translations of some characters. | ||
| 365 | (aset keyboard-translate-table ?\_ ?\^?) | ||
| 366 | (aset keyboard-translate-table ?\^? ?\_) | ||
| 367 | |||
| 368 | ;; Now alter translations of some Meta characters. | ||
| 369 | (aset keyboard-translate-table (+ 128 ?\_) (+ 128 ?\^?)) | ||
| 370 | (aset keyboard-translate-table (+ 128 ?\^?) (+ 128 ?\_)) | ||
| 371 | |||
| 372 | * (process-kill-without-query PROCESS) | ||
| 373 | |||
| 374 | This marks the process so that, when you kill Emacs, | ||
| 375 | you will not on its account be queried about active subprocesses. | ||
| 376 | |||
| 377 | Changes in Emacs 1.11 | ||
| 378 | |||
| 379 | * The commands C-c and C-z have been interchanged, | ||
| 380 | for greater compatibility with normal Unix usage. | ||
| 381 | C-z now runs suspend-emacs and C-c runs exit-recursive-edit. | ||
| 382 | |||
| 383 | * The value returned by file-name-directory now ends | ||
| 384 | with a slash. (file-name-directory "foo/bar") => "foo/". | ||
| 385 | This avoids confusing results when dealing with files | ||
| 386 | in the root directory. | ||
| 387 | |||
| 388 | The value of the per-buffer variable default-directory | ||
| 389 | is also supposed to have a final slash now. | ||
| 390 | |||
| 391 | * There are now variables to control the switches passed to | ||
| 392 | `ls' by the C-x C-d command (list-directory). | ||
| 393 | list-directory-brief-switches is a string, initially "-CF", | ||
| 394 | used for brief listings, and list-directory-verbose-switches | ||
| 395 | is a string, initially "-l", used for verbose ones. | ||
| 396 | |||
| 397 | * For Ann Arbor Ambassador terminals, the termcap "ti" string | ||
| 398 | is now used to initialize the screen geometry on entry to Emacs, | ||
| 399 | and the "te" string is used to set it back on exit. | ||
| 400 | If the termcap entry does not define the "ti" or "te" string, | ||
| 401 | Emacs does what it used to do. | ||
| 402 | |||
| 403 | Changes in Emacs 1.10 | ||
| 404 | |||
| 405 | * GNU Emacs has been made almost 1/3 smaller. | ||
| 406 | It now dumps out as only 530kbytes on Vax 4.2bsd. | ||
| 407 | |||
| 408 | * The term "checkpoint" has been replaced by "auto save" | ||
| 409 | throughout the function names, variable names and documentation | ||
| 410 | of GNU Emacs. | ||
| 411 | |||
| 412 | * The function load now tries appending ".elc" and ".el" | ||
| 413 | to the specified filename BEFORE it tries the filename | ||
| 414 | without change. | ||
| 415 | |||
| 416 | * rmail now makes the mode line display the total number | ||
| 417 | of messages and the current message number. | ||
| 418 | The "f" command now means forward a message to another user. | ||
| 419 | The command to search through all messages for a string is now "F". | ||
| 420 | The "u" command now means to move back to the previous | ||
| 421 | message and undelete it. To undelete the selected message, use Meta-u. | ||
| 422 | |||
| 423 | * The hyphen character is now equivalent to a Space while | ||
| 424 | in completing minibuffers. Both mean to complete an additional word. | ||
| 425 | |||
| 426 | * The Lisp function error now takes args like format | ||
| 427 | which are used to construct the error message. | ||
| 428 | |||
| 429 | * Redisplay will refuse to start its display at the end of the buffer. | ||
| 430 | It will pick a new place to display from, rather than use that. | ||
| 431 | |||
| 432 | * The value returned by garbage-collect has been changed. | ||
| 433 | Its first element is no longer a number but a cons, | ||
| 434 | whose car is the number of cons cells now in use, | ||
| 435 | and whose cdr is the number of cons cells that have been | ||
| 436 | made but are now free. | ||
| 437 | The second element is similar but describes symbols rather than cons cells. | ||
| 438 | The third element is similar but describes markers. | ||
| 439 | |||
| 440 | * The variable buffer-name has been eliminated. | ||
| 441 | The function buffer-name still exists. This is to prevent | ||
| 442 | user programs from changing buffer names without going | ||
| 443 | through the rename-buffer function. | ||
| 444 | |||
| 445 | Changes in Emacs 1.9 | ||
| 446 | |||
| 447 | * When a fill prefix is in effect, paragraphs are started | ||
| 448 | or separated by lines that do not start with the fill prefix. | ||
| 449 | Also, a line which consists of the fill prefix followed by | ||
| 450 | white space separates paragraphs. | ||
| 451 | |||
| 452 | * C-x C-v runs the new function find-alternate-file. | ||
| 453 | It finds the specified file, switches to that buffer, | ||
| 454 | and kills the previous current buffer. (It requires | ||
| 455 | confirmation if that buffer had changes.) This is | ||
| 456 | most useful after you find the wrong file due to a typo. | ||
| 457 | |||
| 458 | * Exiting the minibuffer moves the cursor to column 0, | ||
| 459 | to show you that it has really been exited. | ||
| 460 | |||
| 461 | * Meta-g (fill-region) now fills each paragraph in the | ||
| 462 | region individually. To fill the region as if it were | ||
| 463 | a single paragraph (for when the paragraph-delimiting mechanism | ||
| 464 | does the wrong thing), use fill-region-as-paragraph. | ||
| 465 | |||
| 466 | * Tab in text mode now runs the function tab-to-tab-stop. | ||
| 467 | A new mode called indented-text-mode is like text-mode | ||
| 468 | except that in it Tab runs the function indent-relative, | ||
| 469 | which indents the line under the previous line. | ||
| 470 | If auto fill is enabled while in indented-text-mode, | ||
| 471 | the new lines that it makes are indented. | ||
| 472 | |||
| 473 | * Functions kill-rectangle and yank-rectangle. | ||
| 474 | kill-rectangle deletes the rectangle specified by dot and mark | ||
| 475 | (or by two arguments) and saves it in the variable killed-rectangle. | ||
| 476 | yank-rectangle inserts the rectangle in that variable. | ||
| 477 | |||
| 478 | Tab characters in a rectangle being saved are replaced | ||
| 479 | by spaces in such a way that their appearance will | ||
| 480 | not be changed if the rectangle is later reinserted | ||
| 481 | at a different column position. | ||
| 482 | |||
| 483 | * `+' in a regular expression now means | ||
| 484 | to repeat the previous expression one or more times. | ||
| 485 | `?' means to repeat it zero or one time. | ||
| 486 | They are in all regards like `*' except for the | ||
| 487 | number of repetitions they match. | ||
| 488 | |||
| 489 | \< in a regular expression now matches the null string | ||
| 490 | when it is at the beginning of a word; \> matches | ||
| 491 | the null string at the end of a word. | ||
| 492 | |||
| 493 | * C-x p narrows the buffer so that only the current page | ||
| 494 | is visible. | ||
| 495 | |||
| 496 | * C-x ) with argument repeats the kbd macro just | ||
| 497 | defined that many times, counting the definition | ||
| 498 | as one repetition. | ||
| 499 | |||
| 500 | * C-x ( with argument begins defining a kbd macro | ||
| 501 | starting with the last one defined. It executes that | ||
| 502 | previous kbd macro initially, just as if you began | ||
| 503 | by typing it over again. | ||
| 504 | |||
| 505 | * C-x q command queries the user during kbd macro execution. | ||
| 506 | With prefix argument, enters recursive edit, | ||
| 507 | reading keyboard commands even within a kbd macro. | ||
| 508 | You can give different commands each time the macro executes. | ||
| 509 | Without prefix argument, reads a character. Your options are: | ||
| 510 | Space -- execute the rest of the macro. | ||
| 511 | Delete -- skip the rest of the macro; start next repetition. | ||
| 512 | C-d -- skip rest of the macro and don't repeat it any more. | ||
| 513 | C-r -- enter a recursive edit, then on exit ask again for a character | ||
| 514 | C-l -- redisplay screen and ask again." | ||
| 515 | |||
| 516 | * write-kbd-macro and append-kbd-macro are used to save | ||
| 517 | a kbd macro definition in a file (as Lisp code to | ||
| 518 | redefine the macro when the file is loaded). | ||
| 519 | These commands differ in that write-kbd-macro | ||
| 520 | discards the previous contents of the file. | ||
| 521 | If given a prefix argument, both commands | ||
| 522 | record the keys which invoke the macro as well as the | ||
| 523 | macro's definition. | ||
| 524 | |||
| 525 | * The variable global-minor-modes is used to display | ||
| 526 | strings in the mode line of all buffers. It should be | ||
| 527 | a list of elements thaht are conses whose cdrs are strings | ||
| 528 | to be displayed. This complements the variable | ||
| 529 | minor-modes, which has the same effect but has a separate | ||
| 530 | value in each buffer. | ||
| 531 | |||
| 532 | * C-x = describes horizontal scrolling in effect, if any. | ||
| 533 | |||
| 534 | * Return now auto-fills the line it is ending, in auto fill mode. | ||
| 535 | Space with zero as argument auto-fills the line before it | ||
| 536 | just like Space without an argument. | ||
| 537 | |||
| 538 | Changes in Emacs 1.8 | ||
| 539 | |||
| 540 | This release mostly fixes bugs. There are a few new features: | ||
| 541 | |||
| 542 | * apropos now sorts the symbols before displaying them. | ||
| 543 | Also, it returns a list of the symbols found. | ||
| 544 | |||
| 545 | apropos now accepts a second arg PRED which should be a function | ||
| 546 | of one argument; if PRED is non-nil, each symbol is tested | ||
| 547 | with PRED and only symbols for which PRED returns non-nil | ||
| 548 | appear in the output or the returned list. | ||
| 549 | |||
| 550 | If the third argument to apropos is non-nil, apropos does not | ||
| 551 | display anything; it merely returns the list of symbols found. | ||
| 552 | |||
| 553 | C-h a now runs the new function command-apropos rather than | ||
| 554 | apropos, and shows only symbols with definitions as commands. | ||
| 555 | |||
| 556 | * M-x shell sends the command | ||
| 557 | if (-f ~/.emacs_NAME)source ~/.emacs_NAME | ||
| 558 | invisibly to the shell when it starts. Here NAME | ||
| 559 | is replaced by the name of shell used, | ||
| 560 | as it came from your ESHELL or SHELL environment variable | ||
| 561 | but with directory name, if any, removed. | ||
| 562 | |||
| 563 | * M-, now runs the command tags-loop-continue, which is used | ||
| 564 | to resume a terminated tags-search or tags-query-replace. | ||
| 565 | |||
| 566 | Changes in Emacs 1.7 | ||
| 567 | |||
| 568 | It's Beat CCA Week. | ||
| 569 | |||
| 570 | * The initial buffer is now called "*scratch*" instead of "scratch", | ||
| 571 | so that all buffer names used automatically by Emacs now have *'s. | ||
| 572 | |||
| 573 | * Undo information is now stored separately for each buffer. | ||
| 574 | The Undo command (C-x u) always applies to the current | ||
| 575 | buffer only. | ||
| 576 | |||
| 577 | C-_ is now a synonym for C-x u. | ||
| 578 | |||
| 579 | (buffer-flush-undo BUFFER) causes undo information not to | ||
| 580 | be kept for BUFFER, and frees the space that would have | ||
| 581 | been used to hold it. In any case, no undo information is | ||
| 582 | kept for buffers whose names start with spaces. (These | ||
| 583 | buffers also do not appear in the C-x C-b display.) | ||
| 584 | |||
| 585 | * Rectangle operations are now implemented. | ||
| 586 | C-x r stores the rectangle described by dot and mark | ||
| 587 | into a register; it reads the register name from the keyboard. | ||
| 588 | C-x g, the command to insert the contents of a register, | ||
| 589 | can be used to reinsert the rectangle elsewhere. | ||
| 590 | |||
| 591 | Other rectangle commands include | ||
| 592 | open-rectangle: | ||
| 593 | insert a blank rectangle in the position and size | ||
| 594 | described by dot and mark, at its corners; | ||
| 595 | the existing text is pushed to the right. | ||
| 596 | clear-rectangle: | ||
| 597 | replace the rectangle described by dot ane mark | ||
| 598 | with blanks. The previous text is deleted. | ||
| 599 | delete-rectangle: | ||
| 600 | delete the text of the specified rectangle, | ||
| 601 | moving the text beyond it on each line leftward. | ||
| 602 | |||
| 603 | * Side-by-side windows are allowed. Use C-x 5 to split the | ||
| 604 | current window into two windows side by side. | ||
| 605 | C-x } makes the selected window ARG columns wider at the | ||
| 606 | expense of the windows at its sides. C-x { makes the selected | ||
| 607 | window ARG columns narrower. An argument to C-x 5 specifies | ||
| 608 | how many columns to give to the leftmost of the two windows made. | ||
| 609 | |||
| 610 | C-x 2 now accepts a numeric argument to specify the number of | ||
| 611 | lines to give to the uppermost of the two windows it makes. | ||
| 612 | |||
| 613 | * Horizontal scrolling of the lines in a window is now implemented. | ||
| 614 | C-x < (scroll-left) scrolls all displayed lines left, | ||
| 615 | with the numeric argument (default 1) saying how far to scroll. | ||
| 616 | When the window is scrolled left, some amount of the beginning | ||
| 617 | of each nonempty line is replaced by an "$". | ||
| 618 | C-x > scrolls right. If a window has no text hidden at the left | ||
| 619 | margin, it cannot be scrolled any farther right than that. | ||
| 620 | When nonzero leftwards scrolling is in effect in a window. | ||
| 621 | lines are automatically truncated at the window's right margin | ||
| 622 | regardless of the value of the variable truncate-lines in the | ||
| 623 | buffer being displayed. | ||
| 624 | |||
| 625 | * C-x C-d now uses the default output format of `ls', | ||
| 626 | which gives just file names in multiple columns. | ||
| 627 | C-u C-x C-d passes the -l switch to `ls'. | ||
| 628 | |||
| 629 | * C-t at the end of a line now exchanges the two preceding characters. | ||
| 630 | |||
| 631 | All the transpose commands now interpret zero as an argument | ||
| 632 | to mean to transpose the textual unit after or around dot | ||
| 633 | with the one after or around the mark. | ||
| 634 | |||
| 635 | * M-! executes a shell command in an inferior shell | ||
| 636 | and displays the output from it. With a prefix argument, | ||
| 637 | it inserts the output in the current buffer after dot | ||
| 638 | and sets the mark after the output. The shell command | ||
| 639 | gets /dev/null as its standard input. | ||
| 640 | |||
| 641 | M-| is like M-! but passes the contents of the region | ||
| 642 | as input to the shell command. A prefix argument makes | ||
| 643 | the output from the command replace the contents of the region. | ||
| 644 | |||
| 645 | * The mode line will now say "Def" after the major mode | ||
| 646 | while a keyboard macro is being defined. | ||
| 647 | |||
| 648 | * The variable fill-prefix is now used by Meta-q. | ||
| 649 | Meta-q removes the fill prefix from lines that start with it | ||
| 650 | before filling, and inserts the fill prefix on each line | ||
| 651 | after filling. | ||
| 652 | |||
| 653 | The command C-x . sets the fill prefix equal to the text | ||
| 654 | on the current line before dot. | ||
| 655 | |||
| 656 | * The new command Meta-j (indent-new-comment-line), | ||
| 657 | is like Linefeed (indent-new-line) except when dot is inside a comment; | ||
| 658 | in that case, Meta-j inserts a comment starter on the new line, | ||
| 659 | indented under the comment starter above. It also inserts | ||
| 660 | a comment terminator at the end of the line above, | ||
| 661 | if the language being edited calls for one. | ||
| 662 | |||
| 663 | * Rmail should work correctly now, and has some C-h m documentation. | ||
| 664 | |||
| 665 | Changes in Emacs 1.6 | ||
| 666 | |||
| 667 | * save-buffers-kill-emacs is now on C-x C-c | ||
| 668 | while C-x C-z does suspend-emacs. This is to make | ||
| 669 | C-x C-c like the normal Unix meaning of C-c | ||
| 670 | and C-x C-z linke the normal Unix meaning of C-z. | ||
| 671 | |||
| 672 | * M-ESC (eval-expression) is now a disabled command by default. | ||
| 673 | This prevents users who type ESC ESC accidentally from | ||
| 674 | getting confusing results. Put | ||
| 675 | (put 'eval-expression 'disabled nil) | ||
| 676 | in your ~/.emacs file to enable the command. | ||
| 677 | |||
| 678 | * Self-inserting text is grouped into bunches for undoing. | ||
| 679 | Each C-x u command undoes up to 20 consecutive self-inserting | ||
| 680 | characters. | ||
| 681 | |||
| 682 | * Help f now uses as a default the function being called | ||
| 683 | in the innermost Lisp expression that dot is in. | ||
| 684 | This makes it more convenient to use while writing | ||
| 685 | Lisp code to run in Emacs. | ||
| 686 | (If the text around dot does not appear to be a call | ||
| 687 | to a Lisp function, there is no default.) | ||
| 688 | |||
| 689 | Likewise, Help v uses the symbol around or before dot | ||
| 690 | as a default, if that is a variable name. | ||
| 691 | |||
| 692 | * Commands that read filenames now insert the default | ||
| 693 | directory in the minibuffer, to become part of your input. | ||
| 694 | This allows you to see what the default is. | ||
| 695 | You may type a filename which goes at the end of the | ||
| 696 | default directory, or you may edit the default directory | ||
| 697 | as you like to create the input you want to give. | ||
| 698 | You may also type an absolute pathname (starting with /) | ||
| 699 | or refer to a home directory (input starting with ~) | ||
| 700 | after the default; the presence of // or /~ causes | ||
| 701 | everything up through the slash that precedes your | ||
| 702 | type-in to be ignored. | ||
| 703 | |||
| 704 | Returning the default directory without change, | ||
| 705 | including the terminating slash, requests the use | ||
| 706 | of the default file name (usually the visited file's name). | ||
| 707 | |||
| 708 | Set the variable insert-default-directory to nil | ||
| 709 | to turn off this feature. | ||
| 710 | |||
| 711 | * M-x shell now uses the environment variable ESHELL, | ||
| 712 | if it exists, as the file name of the shell to run. | ||
| 713 | If there is no ESHELL variable, the SHELL variable is used. | ||
| 714 | This is because some shells do not work properly as inferiors | ||
| 715 | of Emacs (or anything like Emacs). | ||
| 716 | |||
| 717 | * A new variable minor-modes now exists, with a separate value | ||
| 718 | in each buffer. Its value should be an alist of elements | ||
| 719 | (MODE-FUNCTION-SYMBOL . PRETTY-NAME-STRING), one for each | ||
| 720 | minor mode that is turned on in the buffer. The pretty | ||
| 721 | name strings are displayed in the mode line after the name of the | ||
| 722 | major mode (with spaces between them). The mode function | ||
| 723 | symbols should be symbols whose function definitions will | ||
| 724 | turn on the minor mode if given 1 as an argument; they are present | ||
| 725 | so that Help m can find their documentation strings. | ||
| 726 | |||
| 727 | * The format of tag table files has been changed. | ||
| 728 | The new format enables Emacs to find tags much faster. | ||
| 729 | |||
| 730 | A new program, etags, exists to make the kind of | ||
| 731 | tag table that Emacs wants. etags is invoked just | ||
| 732 | like ctags; in fact, if you give it any switches, | ||
| 733 | it does exactly what ctags would do. Give it the | ||
| 734 | empty switch ("-") to make it act like ctags with no switches. | ||
| 735 | |||
| 736 | etags names the tag table file "TAGS" rather than "tags", | ||
| 737 | so that these tag tables and the standard Unix ones | ||
| 738 | can coexist. | ||
| 739 | |||
| 740 | The tags library can no longer use standard ctags-style | ||
| 741 | tag tables files. | ||
| 742 | |||
| 743 | * The file of Lisp code Emacs reads on startup is now | ||
| 744 | called ~/.emacs rather than ~/.emacs_pro. | ||
| 745 | |||
| 746 | * copy-file now gives the copied file the same mode bits | ||
| 747 | as the original file. | ||
| 748 | |||
| 749 | * Output from a process inserted into the process's buffer | ||
| 750 | no longer sets the buffer's mark. Instead it sets a | ||
| 751 | marker associated with the process to point to the end | ||
| 752 | of the inserted text. You can access this marker with | ||
| 753 | (process-mark PROCESS) | ||
| 754 | and then either examine its position with marker-position | ||
| 755 | or set its position with set-marker. | ||
| 756 | |||
| 757 | * completing-read takes a new optional fifth argument which, | ||
| 758 | if non-nil, should be a string of text to insert into | ||
| 759 | the minibuffer before reading user commands. | ||
| 760 | |||
| 761 | * The Lisp function elt now exists: | ||
| 762 | (elt ARRAY N) is like (aref ARRAY N), | ||
| 763 | (elt LIST N) is like (nth N LIST). | ||
| 764 | |||
| 765 | * rplaca is now a synonym for setcar, and rplacd for setcdr. | ||
| 766 | eql is now a synonym for eq; it turns out that the Common Lisp | ||
| 767 | distinction between eq and eql is insignificant in Emacs. | ||
| 768 | numberp is a new synonym for integerp. | ||
| 769 | |||
| 770 | * auto-save has been renamed to auto-save-mode. | ||
| 771 | |||
| 772 | * Auto save file names for buffers are now created by the | ||
| 773 | function make-auto-save-file-name. This is so you can | ||
| 774 | redefine that function to change the way auto save file names | ||
| 775 | are chosen. | ||
| 776 | |||
| 777 | * expand-file-name no longer discards a final slash. | ||
| 778 | (expand-file-name "foo" "/lose") => "/lose/foo" | ||
| 779 | (expand-file-name "foo/" "/lose") => "/lose/foo/" | ||
| 780 | |||
| 781 | Also, expand-file-name no longer substitutes $ constructs. | ||
| 782 | A new function substitute-in-file-name does this. Reading | ||
| 783 | a file name with read-file-name or the `f' or`F' option | ||
| 784 | of interactive calling uses substitute-in-file-name | ||
| 785 | on the file name that was read and returns the result. | ||
| 786 | |||
| 787 | All I/O primitives including insert-file-contents and | ||
| 788 | delete-file call expand-file-name on the file name supplied. | ||
| 789 | This change makes them considerably faster in the usual case. | ||
| 790 | |||
| 791 | * Interactive calling spec strings allow the new code letter 'D' | ||
| 792 | which means to read a directory name. It is like 'f' except | ||
| 793 | that the default if the user makes no change in the minibuffer | ||
| 794 | is to return the current default directory rather than the | ||
| 795 | current visited file name. | ||
| 796 | |||
| 797 | Changes in Emacs 1.5 | ||
| 798 | |||
| 799 | * suspend-emacs now accepts an optional argument | ||
| 800 | which is a string to be stuffed as terminal input | ||
| 801 | to be read by Emacs's superior shell after Emacs exits. | ||
| 802 | |||
| 803 | A library called ledit exists which uses this feature | ||
| 804 | to transmit text to a Lisp job running as a sibling of | ||
| 805 | Emacs. | ||
| 806 | |||
| 807 | * If find-file is given the name of a directory, | ||
| 808 | it automatically invokes dired on that directory | ||
| 809 | rather than reading in the binary data that make up | ||
| 810 | the actual contents of the directory according to Unix. | ||
| 811 | |||
| 812 | * Saving an Emacs buffer now preserves the file modes | ||
| 813 | of any previously existing file with the same name. | ||
| 814 | This works using new Lisp functions file-modes and | ||
| 815 | set-file-modes, which can be used to read or set the mode | ||
| 816 | bits of any file. | ||
| 817 | |||
| 818 | * The Lisp function cond now exists, with its traditional meaning. | ||
| 819 | |||
| 820 | * defvar and defconst now permit the documentation string | ||
| 821 | to be omitted. defvar also permits the initial value | ||
| 822 | to be omitted; then it acts only as a comment. | ||
| 823 | |||
| 824 | Changes in Emacs 1.4 | ||
| 825 | |||
| 826 | * Auto-filling now normally indents the new line it creates | ||
| 827 | by calling indent-according-to-mode. This function, meanwhile, | ||
| 828 | has in Fundamental and Text modes the effect of making the line | ||
| 829 | have an indentation of the value of left-margin, a per-buffer variable. | ||
| 830 | |||
| 831 | Tab no longer precisely does indent-according-to-mode; | ||
| 832 | it does that in all modes that supply their own indentation routine, | ||
| 833 | but in Fundamental, Text and allied modes it inserts a tab character. | ||
| 834 | |||
| 835 | * The command M-x grep now invokes grep (on arguments | ||
| 836 | supplied by the user) and reads the output from grep | ||
| 837 | asynchronously into a buffer. The command C-x ` can | ||
| 838 | be used to move to the lines that grep has found. | ||
| 839 | This is an adaptation of the mechanism used for | ||
| 840 | running compilations and finding the loci of error messages. | ||
| 841 | |||
| 842 | You can now use C-x ` even while grep or compilation | ||
| 843 | is proceeding; as more matches or error messages arrive, | ||
| 844 | C-x ` will parse them and be able to find them. | ||
| 845 | |||
| 846 | * M-x mail now provides a command to send the message | ||
| 847 | and "exit"--that is, return to the previously selected | ||
| 848 | buffer. It is C-z C-z. | ||
| 849 | |||
| 850 | * Tab in C mode now tries harder to adapt to all indentation styles. | ||
| 851 | If the line being indented is a statement that is not the first | ||
| 852 | one in the containing compound-statement, it is aligned under | ||
| 853 | the beginning of the first statement. | ||
| 854 | |||
| 855 | * The functions screen-width and screen-height return the | ||
| 856 | total width and height of the screen as it is now being used. | ||
| 857 | set-screen-width and set-screen-height tell Emacs how big | ||
| 858 | to assume the screen is; they each take one argument, | ||
| 859 | an integer. | ||
| 860 | |||
| 861 | * The Lisp function 'function' now exists. function is the | ||
| 862 | same as quote, except that it serves as a signal to the | ||
| 863 | Lisp compiler that the argument should be compiled as | ||
| 864 | a function. Example: | ||
| 865 | (mapcar (function (lambda (x) (+ x 5))) list) | ||
| 866 | |||
| 867 | * The function set-key has been renamed to global-set-key. | ||
| 868 | undefine-key and local-undefine-key has been renamed to | ||
| 869 | global-unset-key and local-unset-key. | ||
| 870 | |||
| 871 | * Emacs now collects input from asynchronous subprocesses | ||
| 872 | while waiting in the functions sleep-for and sit-for. | ||
| 873 | |||
| 874 | * Shell mode's Newline command attempts to distinguish subshell | ||
| 875 | prompts from user input when issued in the middle of the buffer. | ||
| 876 | It no longer reexecutes from dot to the end of the line; | ||
| 877 | it reeexecutes the entire line minus any prompt. | ||
| 878 | The prompt is recognized by searching for the value of | ||
| 879 | shell-prompt-pattern, starting from the beginning of the line. | ||
| 880 | Anything thus skipped is not reexecuted. | ||
| 881 | |||
| 882 | Changes in Emacs 1.3 | ||
| 883 | |||
| 884 | * An undo facility exists now. Type C-x u to undo a batch of | ||
| 885 | changes (usually one command's changes, but some commands | ||
| 886 | such as query-replace divide their changes into multiple | ||
| 887 | batches. You can repeat C-x u to undo further. As long | ||
| 888 | as no commands other than C-x u intervene, each one undoes | ||
| 889 | another batch. A numeric argument to C-x u acts as a repeat | ||
| 890 | count. | ||
| 891 | |||
| 892 | If you keep on undoing, eventually you may be told that | ||
| 893 | you have used up all the recorded undo information. | ||
| 894 | Some actions, such as reading in files, discard all | ||
| 895 | undo information. | ||
| 896 | |||
| 897 | The undo information is not currently stored separately | ||
| 898 | for each buffer, so it is mainly good if you do something | ||
| 899 | totally spastic. [This has since been fixed.] | ||
| 900 | |||
| 901 | * A learn-by-doing tutorial introduction to Emacs now exists. | ||
| 902 | Type C-h t to enter it. | ||
| 903 | |||
| 904 | * An Info documentation browser exists. Do M-x info to enter it. | ||
| 905 | It contains a tutorial introduction so that no more documentation | ||
| 906 | is needed here. As of now, the only documentation in it | ||
| 907 | is that of Info itself. | ||
| 908 | |||
| 909 | * Help k and Help c are now different. Help c prints just the | ||
| 910 | name of the function which the specified key invokes. Help k | ||
| 911 | prints the documentation of the function as well. | ||
| 912 | |||
| 913 | * A document of the differences between GNU Emacs and Twenex Emacs | ||
| 914 | now exists. It is called DIFF, in the same directory as this file. | ||
| 915 | |||
| 916 | * C mode can now indent comments better, including multi-line ones. | ||
| 917 | Meta-Control-q now reindents comment lines within the expression | ||
| 918 | being aligned. | ||
| 919 | |||
| 920 | * Insertion of a close-parenthesis now shows the matching open-parenthesis | ||
| 921 | even if it is off screen, by printing the text following it on its line | ||
| 922 | in the minibuffer. | ||
| 923 | |||
| 924 | * A file can now contain a list of local variable values | ||
| 925 | to be in effect when the file is edited. See the file DIFF | ||
| 926 | in the same directory as this file for full details. | ||
| 927 | |||
| 928 | * A function nth is defined. It means the same thing as in Common Lisp. | ||
| 929 | |||
| 930 | * The function install-command has been renamed to set-key. | ||
| 931 | It now takes the key sequence as the first argument | ||
| 932 | and the definition for it as the second argument. | ||
| 933 | Likewise, local-install-command has been renamed to local-set-key. | ||
| 934 | |||
| 935 | Changes in Emacs 1.2 | ||
| 936 | |||
| 937 | * A Lisp single-stepping and debugging facility exists. | ||
| 938 | To cause the debugger to be entered when an error | ||
| 939 | occurs, set the variable debug-on-error non-nil. | ||
| 940 | |||
| 941 | To cause the debugger to be entered whenever function foo | ||
| 942 | is called, do (debug-on-entry 'foo). To cancel this, | ||
| 943 | do (cancel-debug-on-entry 'foo). debug-on-entry does | ||
| 944 | not work for primitives (written in C), only functions | ||
| 945 | written in Lisp. Most standard Emacs commands are in Lisp. | ||
| 946 | |||
| 947 | When the debugger is entered, the selected window shows | ||
| 948 | a buffer called " *Backtrace" which displays a series | ||
| 949 | of stack frames, most recently entered first. For each | ||
| 950 | frame, the function name called is shown, usually followed | ||
| 951 | by the argument values unless arguments are still being | ||
| 952 | calculated. At the beginning of the buffer is a description | ||
| 953 | of why the debugger was entered: function entry, function exit, | ||
| 954 | error, or simply that the user called the function `debug'. | ||
| 955 | |||
| 956 | To exit the debugger and return to top level, type `q'. | ||
| 957 | |||
| 958 | In the debugger, you can evaluate Lisp expressions by | ||
| 959 | typing `e'. This is equivalent to `M-ESC'. | ||
| 960 | |||
| 961 | When the debugger is entered due to an error, that is | ||
| 962 | all you can do. When it is entered due to function entry | ||
| 963 | (such as, requested by debug-on-entry), you have two | ||
| 964 | options: | ||
| 965 | Continue execution and reenter debugger after the | ||
| 966 | completion of the function being entered. Type `c'. | ||
| 967 | Continue execution but enter the debugger before | ||
| 968 | the next subexpression. Type `d'. | ||
| 969 | |||
| 970 | You will see that some stack frames are marked with *. | ||
| 971 | This means the debugger will be entered when those | ||
| 972 | frames exit. You will see the value being returned | ||
| 973 | in the first line of the backtrace buffer. Your options: | ||
| 974 | Continue execution, and return that value. Type `c'. | ||
| 975 | Continue execution, and return a specified value. Type `r'. | ||
| 976 | |||
| 977 | You can mark a frame to enter the debugger on exit | ||
| 978 | with the `b' command, or clear such a mark with `u'. | ||
| 979 | |||
| 980 | * Lisp macros now exist. | ||
| 981 | For example, you can write | ||
| 982 | (defmacro cadr (arg) (list 'car (list 'cdr arg))) | ||
| 983 | and then the expression | ||
| 984 | (cadr foo) | ||
| 985 | will expand into | ||
| 986 | (car (cdr foo)) | ||
| 987 | |||
| 988 | Changes in Emacs 1.1 | ||
| 989 | |||
| 990 | * The initial buffer is now called "scratch" and is in a | ||
| 991 | new major mode, Lisp Interaction mode. This mode is | ||
| 992 | intended for typing Lisp expressions, evaluating them, | ||
| 993 | and having the values printed into the buffer. | ||
| 994 | |||
| 995 | Type Linefeed after a Lisp expression, to evaluate the | ||
| 996 | expression and have its value printed into the buffer, | ||
| 997 | advancing dot. | ||
| 998 | |||
| 999 | The other commands of Lisp mode are available. | ||
| 1000 | |||
| 1001 | * The C-x C-e command for evaluating the Lisp expression | ||
| 1002 | before dot has been changed to print the value in the | ||
| 1003 | minibuffer line rather than insert it in the buffer. | ||
| 1004 | A numeric argument causes the printed value to appear | ||
| 1005 | in the buffer instead. | ||
| 1006 | |||
| 1007 | * In Lisp mode, the command M-C-x evaluates the defun | ||
| 1008 | containing or following dot. The value is printed in | ||
| 1009 | the minibuffer. | ||
| 1010 | |||
| 1011 | * The value of a Lisp expression evaluated using M-ESC | ||
| 1012 | is now printed in the minibuffer. | ||
| 1013 | |||
| 1014 | * M-q now runs fill-paragraph, independent of major mode. | ||
| 1015 | |||
| 1016 | * C-h m now prints documentation on the current buffer's | ||
| 1017 | major mode. What it prints is the documentation of the | ||
| 1018 | major mode name as a function. All major modes have been | ||
| 1019 | equipped with documentation that describes all commands | ||
| 1020 | peculiar to the major mode, for this purpose. | ||
| 1021 | |||
| 1022 | * You can display a Unix manual entry with | ||
| 1023 | the M-x manual-entry command. | ||
| 1024 | |||
| 1025 | * You can run a shell, displaying its output in a buffer, | ||
| 1026 | with the M-x shell command. The Return key sends input | ||
| 1027 | to the subshell. Output is printed inserted automatically | ||
| 1028 | in the buffer. Commands C-c, C-d, C-u, C-w and C-z are redefined | ||
| 1029 | for controlling the subshell and its subjobs. | ||
| 1030 | "cd", "pushd" and "popd" commands are recognized as you | ||
| 1031 | enter them, so that the default directory of the Emacs buffer | ||
| 1032 | always remains the same as that of the subshell. | ||
| 1033 | |||
| 1034 | * C-x $ (that's a real dollar sign) controls line-hiding based | ||
| 1035 | on indentation. With a numeric arg N > 0, it causes all lines | ||
| 1036 | indented by N or more columns to become invisible. | ||
| 1037 | They are, effectively, tacked onto the preceding line, where | ||
| 1038 | they are represented by " ..." on the screen. | ||
| 1039 | (The end of the preceding visible line corresponds to a | ||
| 1040 | screen cursor position before the "...". Anywhere in the | ||
| 1041 | invisible lines that follow appears on the screen as a cursor | ||
| 1042 | position after the "...".) | ||
| 1043 | Currently, all editing commands treat invisible lines just | ||
| 1044 | like visible ones, except for C-n and C-p, which have special | ||
| 1045 | code to count visible lines only. | ||
| 1046 | C-x $ with no argument turns off this mode, which in any case | ||
| 1047 | is remembered separately for each buffer. | ||
| 1048 | |||
| 1049 | * Outline mode is another form of selective display. | ||
| 1050 | It is a major mode invoked with M-x outline-mode. | ||
| 1051 | It is intended for editing files that are structured as | ||
| 1052 | outlines, with heading lines (lines that begin with one | ||
| 1053 | or more asterisks) and text lines (all other lines). | ||
| 1054 | The number of asterisks in a heading line are its level; | ||
| 1055 | the subheadings of a heading line are all following heading | ||
| 1056 | lines at higher levels, until but not including the next | ||
| 1057 | heading line at the same or a lower level, regardless | ||
| 1058 | of intervening text lines. | ||
| 1059 | |||
| 1060 | In outline mode, you have commands to hide (remove from display) | ||
| 1061 | or show the text or subheadings under each heading line | ||
| 1062 | independently. Hidden text or subheadings are invisibly | ||
| 1063 | attached to the end of the preceding heading line, so that | ||
| 1064 | if you kill the hading line and yank it back elsewhere | ||
| 1065 | all the invisible lines accompany it. | ||
| 1066 | |||
| 1067 | All editing commands treat hidden outline-mode lines | ||
| 1068 | as part of the preceding visible line. | ||
| 1069 | |||
| 1070 | * C-x C-z runs save-buffers-kill-emacs | ||
| 1071 | offers to save each file buffer, then exits. | ||
| 1072 | |||
| 1073 | * C-c's function is now called suspend-emacs. | ||
| 1074 | |||
| 1075 | * The command C-x m runs mail, which switches to a buffer *mail* | ||
| 1076 | and lets you compose a message to send. C-x 4 m runs mail in | ||
| 1077 | another window. Type C-z C-s in the mail buffer to send the | ||
| 1078 | message according to what you have entered in the buffer. | ||
| 1079 | |||
| 1080 | You must separate the headers from the message text with | ||
| 1081 | an empty line. | ||
| 1082 | |||
| 1083 | * You can now dired partial directories (specified with names | ||
| 1084 | containing *'s, etc, all processed by the shell). Also, you | ||
| 1085 | can dired more than one directory; dired names the buffer | ||
| 1086 | according to the filespec or directory name. Reinvoking | ||
| 1087 | dired on a directory already direded just switches back to | ||
| 1088 | the same directory used last time; do M-x revert if you want | ||
| 1089 | to read in the current contents of the directory. | ||
| 1090 | |||
| 1091 | C-x d runs dired, and C-x 4 d runs dired in another window. | ||
| 1092 | |||
| 1093 | C-x C-d (list-directory) also allows partial directories now. | ||
| 1094 | |||
| 1095 | Lisp programming changes | ||
| 1096 | |||
| 1097 | * t as an output stream now means "print to the minibuffer". | ||
| 1098 | If there is already text in the minibuffer printed via t | ||
| 1099 | as an output stream, the new text is appended to the old | ||
| 1100 | (or is truncated and lost at the margin). If the minibuffer | ||
| 1101 | contains text put there for some other reason, it is cleared | ||
| 1102 | first. | ||
| 1103 | |||
| 1104 | t is now the top-level value of standard-output. | ||
| 1105 | |||
| 1106 | t as an input stream now means "read via the minibuffer". | ||
| 1107 | The minibuffer is used to read a line of input, with editing, | ||
| 1108 | and this line is then parsed. Any excess not used by `read' | ||
| 1109 | is ignored; each `read' from t reads fresh input. | ||
| 1110 | t is now the top-level value of standard-input. | ||
| 1111 | |||
| 1112 | * A marker may be used as an input stream or an output stream. | ||
| 1113 | The effect is to grab input from where the marker points, | ||
| 1114 | advancing it over the characters read, or to insert output | ||
| 1115 | at the marker and advance it. | ||
| 1116 | |||
| 1117 | * Output from an asynchronous subprocess is now inserted at | ||
| 1118 | the end of the associated buffer, not at the buffer's dot, | ||
| 1119 | and the buffer's mark is set to the end of the inserted output | ||
| 1120 | each time output is inserted. | ||
| 1121 | |||
| 1122 | * (pos-visible-in-window-p POS WINDOW) | ||
| 1123 | returns t if position POS in WINDOW's buffer is in the range | ||
| 1124 | that is being displayed in WINDOW; nil if it is scrolled | ||
| 1125 | vertically out of visibility. | ||
| 1126 | |||
| 1127 | If display in WINDOW is not currently up to date, this function | ||
| 1128 | calculates carefully whether POS would appear if display were | ||
| 1129 | done immediately based on the current (window-start WINDOW). | ||
| 1130 | |||
| 1131 | POS defaults to (dot), and WINDOW to (selected-window). | ||
| 1132 | |||
| 1133 | * Variable buffer-alist replaced by function (buffer-list). | ||
| 1134 | The actual alist of buffers used internally by Emacs is now | ||
| 1135 | no longer accessible, to prevent the user from crashing Emacs | ||
| 1136 | by modifying it. The function buffer-list returns a list | ||
| 1137 | of all existing buffers. Modifying this list cannot hurt anything | ||
| 1138 | as a new list is constructed by each call to buffer-list. | ||
| 1139 | |||
| 1140 | * load now takes an optional third argument NOMSG which, if non-nil, | ||
| 1141 | prevents load from printing a message when it starts and when | ||
| 1142 | it is done. | ||
| 1143 | |||
| 1144 | * byte-recompile-directory is a new function which finds all | ||
| 1145 | the .elc files in a directory, and regenerates each one which | ||
| 1146 | is older than the corresponding .el (Lisp source) file. | ||
| 1147 | |||
| 1148 | ---------------------------------------------------------------------- | ||
| 1149 | Copyright information: | ||
| 1150 | |||
| 1151 | Copyright (C) 1985 Richard M. Stallman | ||
| 1152 | |||
| 1153 | Permission is granted to anyone to make or distribute verbatim copies | ||
| 1154 | of this document as received, in any medium, provided that the | ||
| 1155 | copyright notice and this permission notice are preserved, | ||
| 1156 | thus giving the recipient permission to redistribute in turn. | ||
| 1157 | |||
| 1158 | Permission is granted to distribute modified versions | ||
| 1159 | of this document, or of portions of it, | ||
| 1160 | under the above conditions, provided also that they | ||
| 1161 | carry prominent notices stating who last changed them. | ||
| 1162 | |||
| 1163 | Local variables: | ||
| 1164 | mode: text | ||
| 1165 | end: | ||
| 1166 | |||
| 1167 | arch-tag: c006f958-d769-44c7-a9f4-e2faf070624d | ||
diff --git a/etc/ONEWS.4 b/etc/ONEWS.4 deleted file mode 100644 index f3da0d6e62b..00000000000 --- a/etc/ONEWS.4 +++ /dev/null | |||
| @@ -1,1693 +0,0 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. 1992. | ||
| 2 | Copyright (C) 1992 Free Software Foundation, Inc. | ||
| 3 | See the end for copying conditions. | ||
| 4 | |||
| 5 | For older news, see the file ONEWS.3. | ||
| 6 | |||
| 7 | Changes in version 18.58. | ||
| 8 | |||
| 9 | * RMAIL reply now properly parses nested comments in addesses. | ||
| 10 | |||
| 11 | * The "visual bell" feature when used with X windows | ||
| 12 | now flashes only 1/4 of the window's total area. This is because | ||
| 13 | flashing the whole window is too slow on some systems. | ||
| 14 | |||
| 15 | * `call-process' and `call-process-region' now return an indication | ||
| 16 | of the exit status of the subprocess: either a numeric exit code | ||
| 17 | or a string describing the signal which caused termination. | ||
| 18 | |||
| 19 | * It is possible for regular expression matching to overflow the stack | ||
| 20 | of failure points. In the past, such overflow was treated as simple | ||
| 21 | failure to match. Now it causes an error. | ||
| 22 | |||
| 23 | * You can use C-u to end a numeric argument. Thus, type C-u 1 0 0 C-u 1 | ||
| 24 | to insert 100 1's. | ||
| 25 | |||
| 26 | * Emacs now knows how to get resource values from the X server. | ||
| 27 | |||
| 28 | * Job control commands in shell mode work properly on more systems | ||
| 29 | because they now work by "typing" signal characters such as C-c. | ||
| 30 | |||
| 31 | * copy-keymap no longer recursively copies keymaps reached through | ||
| 32 | symbols' function definitions (i.e., those that have names). It does | ||
| 33 | copy nested keymaps that appear directly in the other copied keymaps. | ||
| 34 | |||
| 35 | Changes in version 18.56. | ||
| 36 | |||
| 37 | * C-g should now work to interrupt a running program | ||
| 38 | on all kinds of systems even when using X windows. | ||
| 39 | |||
| 40 | * Quitting is inhibited while a filter or sentinel is running. | ||
| 41 | Those functions can run asynchronously while Emacs is waiting | ||
| 42 | for keyboard input, and if they allow quitting, they | ||
| 43 | make the behavior of C-g unpredictable. | ||
| 44 | |||
| 45 | * Storing text into the X windows cut buffer | ||
| 46 | now clears out any selection. | ||
| 47 | |||
| 48 | * The undo facility is completely rewritten, and now | ||
| 49 | uses Lisp data structures. It can record much more | ||
| 50 | information. You can use the variables undo-threshold | ||
| 51 | and undo-high-threshold to control how much. | ||
| 52 | |||
| 53 | * There is no longer a maximum screen height or width. | ||
| 54 | |||
| 55 | Changes in version 18.52. | ||
| 56 | |||
| 57 | * X windows version 10 is supported under system V. | ||
| 58 | |||
| 59 | * Pop-up menus are now supported with the same Lisp interface in | ||
| 60 | both version 10 and 11 of X windows. | ||
| 61 | |||
| 62 | * C-x 4 a is a new command to edit a change-log entry in another window. | ||
| 63 | |||
| 64 | * The emacs client program now allows an option +NNN to specify the | ||
| 65 | line number to go to in the file whose name follows. Thus, | ||
| 66 | emacsclient foo.c +45 bar.c | ||
| 67 | will find the files `foo.c' and `bar.c', going to line 45 in `bar.c'. | ||
| 68 | |||
| 69 | * Dired allows empty directories to be deleted like files. | ||
| 70 | |||
| 71 | * When the terminal type is used to find a terminal-specific file to | ||
| 72 | run, Emacs now tries the entire terminal type first. If that doesn't | ||
| 73 | yield a file that exists, the last hyphen and what follows it is | ||
| 74 | stripped. If that doesn't yield a file that exists, the previous | ||
| 75 | hyphen is stripped, and so on until all hyphens are gone. For | ||
| 76 | example, if the terminal type is `aaa-48-foo', Emacs will try first | ||
| 77 | `term/aaa-48-foo.el', then `term/aaa-48.el' and finally `term/aaa.el'. | ||
| 78 | |||
| 79 | Underscores now receive the same treatment as hyphens. | ||
| 80 | |||
| 81 | * Texinfo features: @defun, etc. texinfo-show-structure. | ||
| 82 | New template commands. texinfo-format-region. | ||
| 83 | |||
| 84 | * The special "local variable" `eval' is now ignored if you are running | ||
| 85 | as root. | ||
| 86 | |||
| 87 | * New command `c-macro-expand' shows the result of C macro expansion | ||
| 88 | in the region. It works using the C preprocessor, so its results | ||
| 89 | are completely accurate. | ||
| 90 | |||
| 91 | * Errors in trying to auto save now flash error messages for a few seconds. | ||
| 92 | |||
| 93 | * Killing a buffer now sends SIGHUP to the buffer's process. | ||
| 94 | |||
| 95 | * New hooks. | ||
| 96 | |||
| 97 | ** `spell-region' now allows you to filter the text before spelling-checking. | ||
| 98 | If the value of `spell-filter' is non-nil, it is called, with no arguments, | ||
| 99 | looking at a temporary buffer containing a copy of the text to be checked. | ||
| 100 | It can alter the text freely before the spell program sees it. | ||
| 101 | |||
| 102 | ** The variable `lpr-command' now specifies the command to be used when | ||
| 103 | you use the commands to print text (such as M-x print-buffer). | ||
| 104 | |||
| 105 | ** Posting netnews now calls the value of `news-inews-hook' (if not nil) | ||
| 106 | as a function of no arguments before the actual posting. | ||
| 107 | |||
| 108 | ** Rmail now calls the value of `rmail-show-message-hook' (if not nil) | ||
| 109 | as a function of no arguments, each time a new message is selected. | ||
| 110 | |||
| 111 | ** `kill-emacs' calls the value of `kill-emacs-hook' as a function of no args | ||
| 112 | unless Emacs is running in batch mode. | ||
| 113 | |||
| 114 | * New libraries. | ||
| 115 | See the source code of each library for more information. | ||
| 116 | |||
| 117 | ** icon.el: a major mode for editing programs written in Icon. | ||
| 118 | |||
| 119 | ** life.el: a simulator for the cellular automaton "life". Load the | ||
| 120 | library and run M-x life. | ||
| 121 | |||
| 122 | ** doctex.el: a library for converting the Emacs `etc/DOC' file of | ||
| 123 | documentation strings into TeX input. | ||
| 124 | |||
| 125 | ** saveconf.el: a library which records the arrangement of windows and | ||
| 126 | buffers when you exit Emacs, and automatically recreates the same | ||
| 127 | setup the next time you start Emacs. | ||
| 128 | |||
| 129 | ** uncompress.el: a library that automatically uncompresses files | ||
| 130 | when you visit them. | ||
| 131 | |||
| 132 | ** c-fill.el: a mode for editing filled comments in C. | ||
| 133 | |||
| 134 | ** kermit.el: an extended version of shell-mode designed for running kermit. | ||
| 135 | |||
| 136 | ** spook.el: a library for adding some "distract the NSA" keywords to every | ||
| 137 | message you send. | ||
| 138 | |||
| 139 | ** hideif.el: a library for hiding parts of a C program based on preprocessor | ||
| 140 | conditionals. | ||
| 141 | |||
| 142 | ** autoinsert.el: a library to put in some initial text when you visit | ||
| 143 | a nonexistent file. The text used depends on the major mode, and | ||
| 144 | comes from a directory of files created by you. | ||
| 145 | |||
| 146 | * New programming features. | ||
| 147 | |||
| 148 | ** The variable `window-system-version' now contains the version number | ||
| 149 | of the window system you are using (if appropriate). When using X windows, | ||
| 150 | its value is either 10 or 11. | ||
| 151 | |||
| 152 | ** (interactive "N") uses the prefix argument if any; otherwise, it reads | ||
| 153 | a number using the minibuffer. | ||
| 154 | |||
| 155 | ** VMS: there are two new functions `vms-system-info' and `shrink-to-icon'. | ||
| 156 | The former allows you to get many kinds of system status information. | ||
| 157 | See its self-documentation for full details. | ||
| 158 | The second is used with the window system: it iconifies the Emacs window. | ||
| 159 | |||
| 160 | ** VMS: the new function `define-logical-name' allows you to create | ||
| 161 | job-wide logical names. The old function `define-dcl-symbol' has been | ||
| 162 | removed. | ||
| 163 | |||
| 164 | Changes in version 18.50. | ||
| 165 | |||
| 166 | * X windows version 11 is supported. | ||
| 167 | |||
| 168 | Define X11 in config.h if you want X version 11 instead of version 10. | ||
| 169 | |||
| 170 | * The command M-x gdb runs the GDB debugger as an inferior. | ||
| 171 | It asks for the filename of the executable you want to debug. | ||
| 172 | |||
| 173 | GDB runs as an inferior with I/O through an Emacs buffer. All the | ||
| 174 | facilities of Shell mode are available. In addition, each time your | ||
| 175 | program stops, and each time you select a new stack frame, the source | ||
| 176 | code is displayed in another window with an arrow added to the line | ||
| 177 | where the program is executing. | ||
| 178 | |||
| 179 | Special GDB-mode commands include M-s, M-n, M-i, M-u, M-d, and C-c C-f | ||
| 180 | which send the GDB commands `step', `next', `stepi', `up', `down' | ||
| 181 | and `finish'. | ||
| 182 | |||
| 183 | In any source file, the commands C-x SPC tells GDB to set a breakpoint | ||
| 184 | on the current line. | ||
| 185 | |||
| 186 | * M-x calendar displays a three-month calendar. | ||
| 187 | |||
| 188 | * C-u 0 C-x C-s never makes a backup file. | ||
| 189 | |||
| 190 | This is a way you can explicitly request not to make a backup. | ||
| 191 | |||
| 192 | * `term-setup-hook' is for users only. | ||
| 193 | |||
| 194 | Emacs never uses this variable for internal purposes, so you can freely | ||
| 195 | set it in your `.emacs' file to make Emacs do something special after | ||
| 196 | loading any terminal-specific setup file from `lisp/term'. | ||
| 197 | |||
| 198 | * `copy-keymap' now copies recursive submaps. | ||
| 199 | |||
| 200 | * New overlay-arrow feature. | ||
| 201 | |||
| 202 | If you set the variable `overlay-arrow-string' to a string | ||
| 203 | and `overlay-arrow-position' to a marker, that string is displayed on | ||
| 204 | the screen at the position of that marker, hiding whatever text would | ||
| 205 | have appeared there. If that position isn't on the screen, or if | ||
| 206 | the buffer the marker points into isn't displayed, there is no effect. | ||
| 207 | |||
| 208 | * -batch mode can read from the terminal. | ||
| 209 | |||
| 210 | It now works to use `read-char' to do terminal input in a noninteractive | ||
| 211 | Emacs run. End of file causes Emacs to exit. | ||
| 212 | |||
| 213 | * Variables `data-bytes-used' and `data-bytes-free' removed. | ||
| 214 | |||
| 215 | These variables cannot really work because the 24-bit range of an | ||
| 216 | integer in (most ports of) GNU Emacs is not large enough to hold their | ||
| 217 | values on many systems. | ||
| 218 | |||
| 219 | Changes in version 18.45, since version 18.41. | ||
| 220 | |||
| 221 | * C indentation parameter `c-continued-brace-offset'. | ||
| 222 | |||
| 223 | This parameter's value is added to the indentation of any | ||
| 224 | line that is in a continuation context and starts with an open-brace. | ||
| 225 | For example, it applies to the open brace shown here: | ||
| 226 | |||
| 227 | if (x) | ||
| 228 | { | ||
| 229 | |||
| 230 | The default value is zero. | ||
| 231 | |||
| 232 | * Dabbrev expansion (Meta-/) preserves case. | ||
| 233 | |||
| 234 | When you use Meta-/ to search the buffer for an expansion of an | ||
| 235 | abbreviation, if the expansion found is all lower case except perhaps | ||
| 236 | for its first letter, then the case pattern of the abbreviation | ||
| 237 | is carried over to the expansion that replaces it. | ||
| 238 | |||
| 239 | * TeX-mode syntax. | ||
| 240 | |||
| 241 | \ is no longer given "escape character" syntax in TeX mode. It now | ||
| 242 | has the syntax of an ordinary punctuation character. As a result, | ||
| 243 | \[...\] and such like are considered to balance each other. | ||
| 244 | |||
| 245 | * Mail-mode automatic Reply-to field. | ||
| 246 | |||
| 247 | If the variable `mail-default-reply-to' is non-`nil', then each time | ||
| 248 | you start to compose a message, a Reply-to field is inserted with | ||
| 249 | its contents taken from the value of `mail-default-reply-to'. | ||
| 250 | |||
| 251 | * Where is your .emacs file? | ||
| 252 | |||
| 253 | If you run Emacs under `su', so your real and effective uids are | ||
| 254 | different, Emacs uses the home directory associated with the real uid | ||
| 255 | (the name you actually logged in under) to find the .emacs file. | ||
| 256 | |||
| 257 | Otherwise, Emacs uses the environment variable HOME to find the .emacs | ||
| 258 | file. | ||
| 259 | |||
| 260 | The .emacs file is not loaded at all if -batch is specified. | ||
| 261 | |||
| 262 | * Prolog mode is the default for ".pl" files. | ||
| 263 | |||
| 264 | * File names are not case-sensitive on VMS. | ||
| 265 | |||
| 266 | On VMS systems, all file names that you specify are converted to upper | ||
| 267 | case. You can use either upper or lower case indiscriminately. | ||
| 268 | |||
| 269 | * VMS-only function 'define-dcl-symbol'. | ||
| 270 | |||
| 271 | This is a new name for the function formerly called | ||
| 272 | `define-logical-name'. | ||
| 273 | |||
| 274 | Editing Changes in Emacs 18 | ||
| 275 | |||
| 276 | * Additional systems and machines are supported. | ||
| 277 | |||
| 278 | GNU Emacs now runs on Vax VMS. However, many facilities that are normally | ||
| 279 | implemented by running subprocesses do not work yet. This includes listing | ||
| 280 | a directory and sending mail. There are features for running subprocesses | ||
| 281 | but they are incompatible with those on Unix. I hope that some of | ||
| 282 | the VMS users can reimplement these features for VMS (compatibly for | ||
| 283 | the user, if possible). | ||
| 284 | |||
| 285 | VMS wizards are also asked to work on making the subprocess facilities | ||
| 286 | more upward compatible with those on Unix, and also to rewrite their | ||
| 287 | internals to use the same Lisp objects that are used on Unix to | ||
| 288 | represent processes. | ||
| 289 | |||
| 290 | In addition, the TI Nu machine running Unix system V, the AT&T 3b, and | ||
| 291 | the Wicat, Masscomp, Integrated Solutions, Alliant, Amdahl uts, Mips, | ||
| 292 | Altos 3068 and Gould Unix systems are now supported. The IBM PC-RT is | ||
| 293 | supported under 4.2, but not yet under system V. The GEC 93 is close | ||
| 294 | to working. The port for the Elxsi is partly merged. See the file | ||
| 295 | MACHINES for full status information and machine-specific installation | ||
| 296 | advice. | ||
| 297 | |||
| 298 | * Searching is faster. | ||
| 299 | |||
| 300 | Forward search for a text string, or for a regexp that is equivalent | ||
| 301 | to a text string, is now several times faster. Motion by lines and | ||
| 302 | counting lines is also faster. | ||
| 303 | |||
| 304 | * Memory usage improvements. | ||
| 305 | |||
| 306 | It is no longer possible to run out of memory during garbage | ||
| 307 | collection. As a result, running out of memory is never fatal. This | ||
| 308 | is due to a new garbage collection algorithm which compactifies | ||
| 309 | strings in place rather than copying them. Another consequence of the | ||
| 310 | change is a reduction in total memory usage and a slight increase in | ||
| 311 | garbage collection speed. | ||
| 312 | |||
| 313 | * Display changes. | ||
| 314 | |||
| 315 | ** Editing above top of screen. | ||
| 316 | |||
| 317 | When you delete or kill or alter text that reaches to the top of the | ||
| 318 | screen or above it, so that display would start in the middle of a | ||
| 319 | line, Emacs will usually attempt to scroll the text so that display | ||
| 320 | starts at the beginning of a line again. | ||
| 321 | |||
| 322 | ** Yanking in the minibuffer. | ||
| 323 | |||
| 324 | The message "Mark Set" is no longer printed when the minibuffer is | ||
| 325 | active. This is convenient with many commands, including C-y, that | ||
| 326 | normally print such a message. | ||
| 327 | |||
| 328 | ** Cursor appears in last line during y-or-n questions. | ||
| 329 | |||
| 330 | Questions that want a `y' or `n' answer now move the cursor | ||
| 331 | to the last line, following the question. | ||
| 332 | |||
| 333 | * Library loading changes. | ||
| 334 | |||
| 335 | `load' now considers all possible suffixes (`.elc', `.el' and none) | ||
| 336 | for each directory in `load-path' before going on to the next directory. | ||
| 337 | It now accepts an optional fourth argument which, if non-nil, says to | ||
| 338 | use no suffixes; then the file name must be given in full. The search | ||
| 339 | of the directories in `load-path' goes on as usual in this case, but | ||
| 340 | it too can be prevented by passing an absolute file name. | ||
| 341 | |||
| 342 | The value of `load-path' no longer by default includes nil (meaning to | ||
| 343 | look in the current default directory). The idea is that `load' should | ||
| 344 | be used to search the path only for libraries to be found in the standard | ||
| 345 | places. If you want to override system libraries with your own, place | ||
| 346 | your own libraries in one special directory and add that directory to the | ||
| 347 | front of `load-path'. | ||
| 348 | |||
| 349 | The function `load' is no longer a command; that is to say, `M-x load' | ||
| 350 | is no longer allowed. Instead, there are two commands for loading files. | ||
| 351 | `M-x load-library' is equivalent to the old meaning of `M-x load'. | ||
| 352 | `M-x load-file' reads a file name with completion and defaulting | ||
| 353 | and then loads exactly that file, with no searching and no suffixes. | ||
| 354 | |||
| 355 | * Emulation of other editors. | ||
| 356 | |||
| 357 | ** `edt-emulation-on' starts emulating DEC's EDT editor. | ||
| 358 | |||
| 359 | Do `edt-emulation-off' to return Emacs to normal. | ||
| 360 | |||
| 361 | ** `vi-mode' and `vip-mode' starts emulating vi. | ||
| 362 | |||
| 363 | These are two different vi emulations provided by GNU Emacs users. | ||
| 364 | We are interested in feedback as to which emulation is preferable. | ||
| 365 | |||
| 366 | See the documentation and source code for these functions | ||
| 367 | for more information. | ||
| 368 | |||
| 369 | ** `set-gosmacs-bindings' emulates Gosling Emacs. | ||
| 370 | |||
| 371 | This command changes many global bindings to resemble those of | ||
| 372 | Gosling Emacs. The previous bindings are saved and can be restored using | ||
| 373 | `set-gnu-bindings'. | ||
| 374 | |||
| 375 | * Emulation of a display terminal. | ||
| 376 | |||
| 377 | Within Emacs it is now possible to run programs (such as emacs or | ||
| 378 | supdup) which expect to do output to a visual display terminal. | ||
| 379 | |||
| 380 | See the function `terminal-emulator' for more information. | ||
| 381 | |||
| 382 | * New support for keypads and function keys. | ||
| 383 | |||
| 384 | There is now a first attempt at terminal-independent support for | ||
| 385 | keypad and function keys. | ||
| 386 | |||
| 387 | Emacs now defines a standard set of key-names for function and keypad | ||
| 388 | keys, and provides standard hooks for defining them. Most of the | ||
| 389 | standard key-names have default definitions built into Emacs; you can | ||
| 390 | override these in a terminal-independent manner. The default definitions | ||
| 391 | and the conventions for redefining them are in the file `lisp/keypad.el'. | ||
| 392 | |||
| 393 | These keys on the terminal normally work by sending sequences of | ||
| 394 | characters starting with ESC. The exact sequences used vary from | ||
| 395 | terminal to terminal. Emacs interprets them in two stages: | ||
| 396 | in the first stage, terminal-dependent sequences are mapped into | ||
| 397 | the standard key-names; then second stage maps the standard key-names | ||
| 398 | into their definitions in a terminal-independent fashion. | ||
| 399 | |||
| 400 | The terminal-specific file `term/$TERM.el' now is responsible only for | ||
| 401 | establishing the mapping from the terminal's escape sequences into | ||
| 402 | standard key-names. It no longer knows what Emacs commands are | ||
| 403 | assigned to the standard key-names. | ||
| 404 | |||
| 405 | One other change in terminal-specific files: if the value of the TERM | ||
| 406 | variable contains a hyphen, only the part before the first hyphen is | ||
| 407 | used in forming the name of the terminal-specific file. Thus, for | ||
| 408 | terminal type `aaa-48', the file loaded is now `term/aaa.el' rather | ||
| 409 | than `term/aaa-48.el'. | ||
| 410 | |||
| 411 | * New startup command line options. | ||
| 412 | |||
| 413 | `-i FILE' or `-insert FILE' in the command line to Emacs tells Emacs to | ||
| 414 | insert the contents of FILE into the current buffer at that point in | ||
| 415 | command line processing. This is like using the command M-x insert-file. | ||
| 416 | |||
| 417 | `-funcall', `-load', `-user' and `-no-init-file' are new synonyms for | ||
| 418 | `-f', `-l', `-u' and `-q'. | ||
| 419 | |||
| 420 | `-nw' means don't use a window system. If you are using a terminal | ||
| 421 | emulator on the X window system and you want to run Emacs to work through | ||
| 422 | the terminal emulator instead of working directly with the window system, | ||
| 423 | use this switch. | ||
| 424 | |||
| 425 | * Buffer-sorting commands. | ||
| 426 | |||
| 427 | Various M-x commands whose names start with `sort-' sort parts of | ||
| 428 | the region: | ||
| 429 | |||
| 430 | sort-lines divides the region into lines and sorts them alphabetically. | ||
| 431 | sort-pages divides into pages and sorts them alphabetically. | ||
| 432 | sort-paragraphs divides into paragraphs and sorts them alphabetically. | ||
| 433 | sort-fields divides into lines and sorts them alphabetically | ||
| 434 | according to one field in the line. | ||
| 435 | The numeric argument specifies which field (counting | ||
| 436 | from field 1 at the beginning of the line). Fields in a line | ||
| 437 | are separated by whitespace. | ||
| 438 | sort-numeric-fields | ||
| 439 | is similar but converts the specified fields to numbers | ||
| 440 | and sorts them numerically. | ||
| 441 | sort-columns divides into lines and sorts them according to the contents | ||
| 442 | of a specified range of columns. | ||
| 443 | |||
| 444 | Refer to the self-documentation of these commands for full usage information. | ||
| 445 | |||
| 446 | * Changes in various commands. | ||
| 447 | |||
| 448 | ** `occur' output now serves as a menu. `occur-menu' command deleted. | ||
| 449 | |||
| 450 | `M-x occur' now allows you to move quickly to any of the occurrences | ||
| 451 | listed. Select the `*Occur*' buffer that contains the output of `occur', | ||
| 452 | move point to the occurrence you want, and type C-c C-c. | ||
| 453 | This will move point to the same occurrence in the buffer that the | ||
| 454 | occurrences were found in. | ||
| 455 | |||
| 456 | The command `occur-menu' is thus obsolete, and has been deleted. | ||
| 457 | |||
| 458 | One way to get a list of matching lines without line numbers is to | ||
| 459 | copy the text to another buffer and use the command `keep-lines'. | ||
| 460 | |||
| 461 | ** Incremental search changes. | ||
| 462 | |||
| 463 | Ordinary and regexp incremental searches now have distinct default | ||
| 464 | search strings. Thus, regexp searches recall only previous regexp | ||
| 465 | searches. | ||
| 466 | |||
| 467 | If you exit an incremental search when the search string is empty, | ||
| 468 | the old default search string is kept. The default does not become | ||
| 469 | empty. | ||
| 470 | |||
| 471 | Reversing the direction of an incremental search with C-s or C-r | ||
| 472 | when the search string is empty now does not get the default search | ||
| 473 | string. It leaves the search string empty. A second C-s or C-r | ||
| 474 | will get the default search string. As a result, you can do a reverse | ||
| 475 | incremental regexp search with C-M-s C-r. | ||
| 476 | |||
| 477 | If you add a `*', `?' or `\|' to an incremental search regexp, | ||
| 478 | point will back up if that is appropriate. For example, if | ||
| 479 | you have searched for `ab' and add a `*', point moves to the | ||
| 480 | first match for `ab*', which may be before the match for `ab' | ||
| 481 | that was previously found. | ||
| 482 | |||
| 483 | If an incremental search is failing and you ask to repeat it, | ||
| 484 | it will start again from the beginning of the buffer (or the end, | ||
| 485 | if it is a backward search). | ||
| 486 | |||
| 487 | The search-controlling parameters `isearch-slow-speed' and | ||
| 488 | `isearch-slow-window-lines' have now been renamed to start with | ||
| 489 | `search' instead of `isearch'. Now all the parameters' names start | ||
| 490 | with `search'. | ||
| 491 | |||
| 492 | If `search-slow-window-lines' is negative, the slow search window | ||
| 493 | is put at the top of the screen, and the absolute value or the | ||
| 494 | negative number specifies the height of it. | ||
| 495 | |||
| 496 | ** Undo changes | ||
| 497 | |||
| 498 | The undo command now will mark the buffer as unmodified only when it is | ||
| 499 | identical to the contents of the visited file. | ||
| 500 | |||
| 501 | ** C-M-v in minibuffer. | ||
| 502 | |||
| 503 | If while in the minibuffer you request help in a way that uses a | ||
| 504 | window to display something, then until you exit the minibuffer C-M-v | ||
| 505 | in the minibuffer window scrolls the window of help. | ||
| 506 | |||
| 507 | For example, if you request a list of possible completions, C-M-v can | ||
| 508 | be used reliably to scroll the completion list. | ||
| 509 | |||
| 510 | ** M-TAB command. | ||
| 511 | |||
| 512 | Meta-TAB performs completion on the Emacs Lisp symbol names. The sexp | ||
| 513 | in the buffer before point is compared against all existing nontrivial | ||
| 514 | Lisp symbols and completed as far as is uniquely determined by them. | ||
| 515 | Nontrivial symbols are those with either function definitions, values | ||
| 516 | or properties. | ||
| 517 | |||
| 518 | If there are multiple possibilities for the very next character, a | ||
| 519 | list of possible completions is displayed. | ||
| 520 | |||
| 521 | ** Dynamic abbreviation package. | ||
| 522 | |||
| 523 | The new command Meta-/ expands an abbreviation in the buffer before point | ||
| 524 | by searching the buffer for words that start with the abbreviation. | ||
| 525 | |||
| 526 | ** Changes in saving kbd macros. | ||
| 527 | |||
| 528 | The commands `write-kbd-macro' and `append-kbd-macro' have been | ||
| 529 | deleted. The way to save a keyboard macro is to use the new command | ||
| 530 | `insert-kbd-macro', which inserts Lisp code to define the macro as | ||
| 531 | it is currently defined into the buffer before point. Visit a Lisp | ||
| 532 | file such as your Emacs init file `~/.emacs', insert the macro | ||
| 533 | definition (perhaps deleting an old definition for the same macro) | ||
| 534 | and then save the file. | ||
| 535 | |||
| 536 | ** C-x ' command. | ||
| 537 | |||
| 538 | The new command C-x ' (expand-abbrev) expands the word before point as | ||
| 539 | an abbrev, even if abbrev-mode is not turned on. | ||
| 540 | |||
| 541 | ** Sending to inferior Lisp. | ||
| 542 | |||
| 543 | The command C-M-x in Lisp mode, which sends the current defun to | ||
| 544 | an inferior Lisp process, now works by writing the text into a temporary | ||
| 545 | file and actually sending only a `load'-form to load the file. | ||
| 546 | As a result, it avoids the Unix bugs that used to strike when the | ||
| 547 | text was above a certain length. | ||
| 548 | |||
| 549 | With a prefix argument, this command now makes the inferior Lisp buffer | ||
| 550 | appear on the screen and scrolls it so that the bottom is showing. | ||
| 551 | |||
| 552 | Two variables `inferior-lisp-load-command' and `inferior-lisp-prompt', | ||
| 553 | exist to customize these feature for different Lisp implementations. | ||
| 554 | |||
| 555 | ** C-x n p now disabled. | ||
| 556 | |||
| 557 | The command C-x n p, a nonrecomended command which narrows to the current | ||
| 558 | page, is now initially disabled like C-x n n. | ||
| 559 | |||
| 560 | * Dealing with files. | ||
| 561 | |||
| 562 | ** C-x C-v generalized | ||
| 563 | |||
| 564 | This command is now allowed even if the current buffer is not visiting | ||
| 565 | a file. As usual, it kills the current buffer and replaces it with a | ||
| 566 | newly found file. | ||
| 567 | |||
| 568 | ** M-x recover-file improved; auto save file names changed. | ||
| 569 | |||
| 570 | M-x recover-file now checks whether the last auto-save file is more | ||
| 571 | recent than the real visited file before offering to read in the | ||
| 572 | auto-save file. If the auto-save file is newer, a directory listing | ||
| 573 | containing the two files is displayed while you are asked whether you | ||
| 574 | want the auto save file. | ||
| 575 | |||
| 576 | Visiting a file also makes this check. If the auto-save file is more recent, | ||
| 577 | a message is printed suggesting that you consider using M-x recover file. | ||
| 578 | |||
| 579 | Auto save file names now by default have a `#' at the end as well | ||
| 580 | as at the beginning. This is so that `*.c' in a shell command | ||
| 581 | will never match auto save files. | ||
| 582 | |||
| 583 | On VMS, auto save file names are made by appending `_$' at the front | ||
| 584 | and `$' at the end. | ||
| 585 | |||
| 586 | When you change the visited file name of a buffer, the auto save file | ||
| 587 | is now renamed to belong to the new visited file name. | ||
| 588 | |||
| 589 | You can customize the way auto save file names are made by redefining | ||
| 590 | the two functions `make-auto-save-file-name' and `auto-save-file-name-p', | ||
| 591 | both of which are defined in `files.el'. | ||
| 592 | |||
| 593 | ** Modifying a buffer whose file is changed on disk is detected instantly. | ||
| 594 | |||
| 595 | On systems where clash detection (locking of files being edited) is | ||
| 596 | implemented, Emacs also checks the first time you modify a buffer | ||
| 597 | whether the file has changed on disk since it was last visited or saved. | ||
| 598 | If it has, you are asked to confirm that you want to change the buffer. | ||
| 599 | |||
| 600 | ** Exiting Emacs offers to save `*mail*'. | ||
| 601 | |||
| 602 | Emacs can now know about buffers that it should offer to save on exit | ||
| 603 | even though they are not visiting files. This is done for any buffer | ||
| 604 | which has a non-nil local value of `buffer-offer-save'. By default, | ||
| 605 | Mail mode provides such a local value. | ||
| 606 | |||
| 607 | ** Backup file changes. | ||
| 608 | |||
| 609 | If a backup file cannot be written in the directory of the visited file | ||
| 610 | due to fascist file protection, a backup file is now written in your home | ||
| 611 | directory as `~/%backup%~'. Only one such file is made, ever, so only | ||
| 612 | the most recently made such backup is available. | ||
| 613 | |||
| 614 | When backup files are made by copying, the last-modification time of the | ||
| 615 | original file is now preserved in the backup copy. | ||
| 616 | |||
| 617 | ** Visiting remote files. | ||
| 618 | |||
| 619 | On an internet host, you can now visit and save files on any other | ||
| 620 | internet host directly from Emacs with the commands M-x ftp-find-file | ||
| 621 | and M-x ftp-write-file. Specify an argument of the form HOST:FILENAME. | ||
| 622 | Since standard internet FTP is used, the other host may be any kind | ||
| 623 | of machine and is not required to have any special facilities. | ||
| 624 | |||
| 625 | The first time any one remote host is accessed, you will be asked to | ||
| 626 | give the user name and password for use on that host. FTP is reinvoked | ||
| 627 | each time you ask to use it, but previously specified user names and | ||
| 628 | passwords are remembered automatically. | ||
| 629 | |||
| 630 | ** Dired `g' command. | ||
| 631 | |||
| 632 | `g' in Dired mode is equivalent to M-x revert-buffer; it causes the | ||
| 633 | current contents of the same directory to be read in. | ||
| 634 | |||
| 635 | * Changes in major modes. | ||
| 636 | |||
| 637 | ** C mode indentation change. | ||
| 638 | |||
| 639 | The binding of Linefeed is no longer changed by C mode. It once again | ||
| 640 | has its normal meaning, which is to insert a newline and then indent | ||
| 641 | afterward. | ||
| 642 | |||
| 643 | The old definition did one additional thing: it reindented the line | ||
| 644 | before the new newline. This has been removed because it made the | ||
| 645 | command twice as slow. The only time it was really useful was after the | ||
| 646 | insertion of an `else', since the fact of starting with `else' may change | ||
| 647 | the way that line is indented. Now you will have to type TAB again | ||
| 648 | yourself to reindent the `else' properly. | ||
| 649 | |||
| 650 | If the variable `c-tab-always-indent' is set to `nil', the TAB command | ||
| 651 | in C mode, with no argument, will just insert a tab character if there | ||
| 652 | is non-whitespace preceding point on the current line. Giving it a | ||
| 653 | prefix argument will force reindentation of the line (as well as | ||
| 654 | of the compound statement that begins after point, if any). | ||
| 655 | |||
| 656 | ** Fortran mode now exists. | ||
| 657 | |||
| 658 | This mode provides commands for motion and indentation of Fortran code, | ||
| 659 | plus built-in abbrevs for Fortran keywords. For details, see the manual | ||
| 660 | or the on-line documentation of the command `fortran-mode'. | ||
| 661 | |||
| 662 | ** Scribe mode now exists. | ||
| 663 | |||
| 664 | This mode does something useful for editing files of Scribe input. | ||
| 665 | It is used automatically for files with names ending in ".mss". | ||
| 666 | |||
| 667 | ** Modula2 and Prolog modes now exist. | ||
| 668 | |||
| 669 | These modes are for editing programs in the languages of the same names. | ||
| 670 | They can be selected with M-x modula-2-mode and M-x prolog-mode. | ||
| 671 | |||
| 672 | ** Telnet mode changes. | ||
| 673 | |||
| 674 | The telnet mode special commands have now been assigned to C-c keys. | ||
| 675 | Most of them are the same as in Shell mode. | ||
| 676 | |||
| 677 | ** Picture mode changes. | ||
| 678 | |||
| 679 | The special picture-mode commands to specify the direction of cursor | ||
| 680 | motion after insertion have been moved to C-c keys. The commands to | ||
| 681 | specify diagonal motion were already C-c keys; they are unchanged. | ||
| 682 | The keys to specify horizontal or vertical motion are now | ||
| 683 | C-c < (left), C-c > (right), C-c ^ (up) and C-c . (down). | ||
| 684 | |||
| 685 | ** Nroff mode comments. | ||
| 686 | |||
| 687 | Comments are now supported in Nroff mode. The standard comment commands | ||
| 688 | such as M-; and C-x ; know how to insert, align and delete comments | ||
| 689 | that start with backslash-doublequote. | ||
| 690 | |||
| 691 | ** LaTeX mode. | ||
| 692 | |||
| 693 | LaTeX mode now exists. Use M-x latex-mode to select this mode, and | ||
| 694 | M-x plain-tex-mode to select the previously existing mode for Plain | ||
| 695 | TeX. M-x tex-mode attempts to examine the contents of the buffer and | ||
| 696 | choose between latex-mode and plain-tex-mode accordingly; if the | ||
| 697 | buffer is empty or it cannot tell, the variable `TeX-default-mode' | ||
| 698 | controls the choice. Its value should be the symbol for the mode to | ||
| 699 | be used. | ||
| 700 | |||
| 701 | The facilities for running TeX on all or part of the buffer | ||
| 702 | work with LaTeX as well. | ||
| 703 | |||
| 704 | Some new commands available in both modes: | ||
| 705 | |||
| 706 | C-c C-l recenter the window showing the TeX output buffer | ||
| 707 | so most recent line of output can be seen. | ||
| 708 | C-c C-k kill the TeX subprocess. | ||
| 709 | C-c C-q show the printer queue. | ||
| 710 | C-c C-f close a block (appropriate for LaTeX only). | ||
| 711 | If the current line contains a \begin{...}, | ||
| 712 | this inserts an \end{...} on the following line | ||
| 713 | and puts point on a blank line between them. | ||
| 714 | |||
| 715 | ** Outline mode changes. | ||
| 716 | |||
| 717 | Invisible lines in outline mode are now indicated by `...' at the | ||
| 718 | end of the previous visible line. | ||
| 719 | |||
| 720 | The special outline heading motion commands are now all on C-c keys. | ||
| 721 | A few new ones have been added. Here is a full list: | ||
| 722 | |||
| 723 | C-c C-n Move to next visible heading (formerly M-}) | ||
| 724 | C-c C-p Move to previous visible heading (formerly M-{) | ||
| 725 | C-c C-f Move to next visible heading at the same level. | ||
| 726 | Thus, if point is on a level-2 heading line, | ||
| 727 | this command moves to the next visible level-2 heading. | ||
| 728 | C-c C-b Move to previous visible heading at the same level. | ||
| 729 | C-c C-u Move up to previous visible heading at a higher level. | ||
| 730 | |||
| 731 | The variable `outline-regexp' now controls recognition of heading lines. | ||
| 732 | Any line whose beginning matches this regexp is a heading line. | ||
| 733 | The depth in outline structure is determined by the length of | ||
| 734 | the string that matches. | ||
| 735 | |||
| 736 | A line starting with a ^L (formfeed) is now by default considered | ||
| 737 | a header line. | ||
| 738 | |||
| 739 | * Mail reading and sending. | ||
| 740 | |||
| 741 | ** MH-E changes. | ||
| 742 | |||
| 743 | MH-E has been extensively modified and improved since the v17 release. | ||
| 744 | It contains many new features, including commands to: extracted failed | ||
| 745 | messages, kill a draft message, undo changes to a mail folder, monitor | ||
| 746 | delivery of a letter, print multiple messages, page digests backwards, | ||
| 747 | insert signatures, and burst digests. Also, many commands have been | ||
| 748 | made to able to deal with named sequences of messages, instead of | ||
| 749 | single messages. MH-E also has had numerous bugs fixed and commands | ||
| 750 | made to run faster. Furthermore, its keybindings have been changed to | ||
| 751 | be compatible with Rmail and the rest of GNU Emacs. | ||
| 752 | |||
| 753 | ** Mail mode changes. | ||
| 754 | |||
| 755 | The C-c commands of mail mode have been rearranged: | ||
| 756 | |||
| 757 | C-c s, C-c c, C-c t and C-c b (move point to various header fields) | ||
| 758 | have been reassigned as C-c C-f C-s, C-c C-f C-c, C-c C-f C-t and C-c | ||
| 759 | C-f C-b. C-c C-f is for "field". | ||
| 760 | |||
| 761 | C-c y, C-c w and C-c q have been changed to C-c C-y, C-c C-w and C-c C-q. | ||
| 762 | |||
| 763 | Thus, C-c LETTER is always unassigned. | ||
| 764 | |||
| 765 | ** Rmail C-r command changed to w. | ||
| 766 | |||
| 767 | The Rmail command to edit the current message is now `w'. This change | ||
| 768 | has been made because people frequently type C-r while in Rmail hoping | ||
| 769 | to do a reverse incremental search. That now works. | ||
| 770 | |||
| 771 | * Rnews changes. | ||
| 772 | |||
| 773 | ** Caesar rotation added. | ||
| 774 | |||
| 775 | The function news-caesar-buffer-body performs the rot13 code on the | ||
| 776 | body of a news message. You can also specify the number to rotate by, | ||
| 777 | as a prefix argument. The function is bound to C-c C-r in both | ||
| 778 | News mode and News Reply mode. | ||
| 779 | |||
| 780 | ** rmail-output command added. | ||
| 781 | |||
| 782 | The C-o command has been bound to rmail-output in news-mode. | ||
| 783 | This allows one to append an article to a file which is in either Unix | ||
| 784 | mail or RMAIL format. | ||
| 785 | |||
| 786 | ** news-reply-mode changes. | ||
| 787 | |||
| 788 | The C-c commands of news reply mode have been rearranged and changed, | ||
| 789 | so that C-c LETTER is always unassigned: | ||
| 790 | |||
| 791 | C-c y, C-c w and C-c q have been changed to C-c C-y, C-c C-w and C-c C-q. | ||
| 792 | |||
| 793 | C-c c, C-c t, and C-c b (move to various mail header fields) have been | ||
| 794 | deleted (they make no sense for posting and replying to USENET). | ||
| 795 | |||
| 796 | C-c s (move to Subject: header field) has been reassigned as C-c C-f | ||
| 797 | C-s. C-c C-f is for "field". Several additional move to news header | ||
| 798 | field commands have been added. | ||
| 799 | |||
| 800 | The local news-reply-mode bindings now look like this: | ||
| 801 | |||
| 802 | C-c C-s news-inews (post the message) C-c C-c news-inews | ||
| 803 | C-c C-f move to a header field (and create it if there isn't): | ||
| 804 | C-c C-f C-n move to Newsgroups: C-c C-f C-s move to Subj: | ||
| 805 | C-c C-f C-f move to Followup-To: C-c C-f C-k move to Keywords: | ||
| 806 | C-c C-f C-d move to Distribution: C-c C-f C-a move to Summary: | ||
| 807 | C-c C-y news-reply-yank-original (insert current message, in NEWS). | ||
| 808 | C-c C-q mail-fill-yanked-message (fill what was yanked). | ||
| 809 | C-c C-r caesar rotate all letters by 13 places in the article's body (rot13). | ||
| 810 | |||
| 811 | * Changes in tags handling. | ||
| 812 | |||
| 813 | ** M-. (`find-tag') and similar commands now look first for an exact | ||
| 814 | match in the tags table, and try substring matches only afterward. | ||
| 815 | |||
| 816 | ** The new command `find-tag-regexp' visits successively the tags that | ||
| 817 | match a specified regular expression. | ||
| 818 | |||
| 819 | ** You can now use more than one tags table. Using `visit-tags-table' | ||
| 820 | to load a new tags table does not discard the other tables previously | ||
| 821 | loaded. The other tags commands use all the tags tables that are loaded; | ||
| 822 | the first tags table used is the one that mentions the current visited file. | ||
| 823 | |||
| 824 | ** Tags tables can now be told to "include" other tags tables. This means | ||
| 825 | the tags table gives the file names of other tags tables. Tags command | ||
| 826 | then search included tags tables after the including table (but before any | ||
| 827 | other tags tables you have loaded). Included tags tables can make it much | ||
| 828 | easier and more efficient to maintain a tags table for a large package with | ||
| 829 | many subdirectories--there is one tags table for each subdirectory, and a | ||
| 830 | master tags table that includes each subdirectory table. You use `-i' | ||
| 831 | options to `etags' when creating the tags table to give the file names of | ||
| 832 | the included tables. | ||
| 833 | |||
| 834 | ** You can now use the tags table for completion of names during | ||
| 835 | ordinary editing. The command M-TAB (except in Emacs Lisp mode) | ||
| 836 | completes the identifier in the buffer before point, using the set of | ||
| 837 | all tags as the list of possible completions. | ||
| 838 | |||
| 839 | ** `tags-query-replace' and `tags-search' changes. | ||
| 840 | |||
| 841 | These functions no longer permanently create buffers for files that | ||
| 842 | are searched but that do not contain any matches for the search | ||
| 843 | pattern. | ||
| 844 | |||
| 845 | * Existing Emacs usable as a server. | ||
| 846 | |||
| 847 | Programs such as mailers that invoke "the editor" as an inferior | ||
| 848 | to edit some text can now be told to use an existing Emacs process | ||
| 849 | instead of creating a new editor. | ||
| 850 | |||
| 851 | To do this, you must have an Emacs process running and capable of | ||
| 852 | doing terminal I/O at the time you want to invoke it. This means that | ||
| 853 | either you are using a window system and give Emacs a separate window | ||
| 854 | or you run the other programs as inferiors of Emacs (such as, using | ||
| 855 | M-x shell). | ||
| 856 | |||
| 857 | First prepare the existing Emacs process by loading the `server' | ||
| 858 | library and executing M-x server-start. (Your .emacs can do this | ||
| 859 | automatically.) | ||
| 860 | |||
| 861 | Now tell the other programs to use, as "the editor", the Emacs client | ||
| 862 | program (etc/emacsclient, located in the same directory as this file). | ||
| 863 | This can be done by setting the environment variable EDITOR. | ||
| 864 | |||
| 865 | When another program invokes the emacsclient as "the editor", the | ||
| 866 | client actually transfers the file names to be edited to the existing | ||
| 867 | Emacs, which automatically visits the files. | ||
| 868 | |||
| 869 | When you are done editing a buffer for a client, do C-x # (server-edit). | ||
| 870 | This marks that buffer as done, and selects the next buffer that the client | ||
| 871 | asked for. When all the buffers requested by a client are marked in this | ||
| 872 | way, Emacs tells the client program to exit, so that the program that | ||
| 873 | invoked "the editor" will resume execution. | ||
| 874 | |||
| 875 | You can only have one server Emacs at a time, but multiple client programs | ||
| 876 | can put in requests at the same time. | ||
| 877 | |||
| 878 | The client/server work only on Berkeley Unix, since they use the Berkeley | ||
| 879 | sockets mechanism for their communication. | ||
| 880 | |||
| 881 | Changes in Lisp programming in Emacs version 18. | ||
| 882 | |||
| 883 | * Init file changes. | ||
| 884 | |||
| 885 | ** Suffixes no longer accepted on `.emacs'. | ||
| 886 | |||
| 887 | Emacs will no longer load a file named `.emacs.el' or `emacs.elc' | ||
| 888 | in place of `.emacs'. This is so that it will take less time to | ||
| 889 | find `.emacs'. If you want to compile your init file, give it another | ||
| 890 | name and make `.emacs' a link to the `.elc' file, or make it contain | ||
| 891 | a call to `load' to load the `.elc' file. | ||
| 892 | |||
| 893 | ** `default-profile' renamed to `default', and loaded after `.emacs'. | ||
| 894 | |||
| 895 | It used to be the case that the file `default-profile' was loaded if | ||
| 896 | and only if `.emacs' was not found. | ||
| 897 | |||
| 898 | Now the name `default-profile' is not used at all. Instead, a library | ||
| 899 | named `default' is loaded after the `.emacs' file. `default' is loaded | ||
| 900 | whether the `.emacs' file exists or not. However, loading of `default' | ||
| 901 | can be prevented if the `.emacs' file sets `inhibit-default-init' to non-nil. | ||
| 902 | |||
| 903 | In fact, you would call the default file `default.el' and probably would | ||
| 904 | byte-compile it to speed execution. | ||
| 905 | |||
| 906 | Note that for most purposes you are better off using a `site-init' library | ||
| 907 | since that will be loaded before the runnable Emacs is dumped. By using | ||
| 908 | a `site-init' library, you avoid taking up time each time Emacs is started. | ||
| 909 | |||
| 910 | ** inhibit-command-line has been eliminated. | ||
| 911 | |||
| 912 | This variable used to exist for .emacs files to set. It has been | ||
| 913 | eliminated because you can get the same effect by setting | ||
| 914 | command-line-args to nil and setting inhibit-startup-message to t. | ||
| 915 | |||
| 916 | * `apply' is more general. | ||
| 917 | |||
| 918 | `apply' now accepts any number of arguments. The first one is a function; | ||
| 919 | the rest are individual arguments to pass to that function, except for the | ||
| 920 | last, which is a list of arguments to pass. | ||
| 921 | |||
| 922 | Previously, `apply' required exactly two arguments. Its old behavior | ||
| 923 | follows as a special case of the new definition. | ||
| 924 | |||
| 925 | * New code-letter for `interactive'. | ||
| 926 | |||
| 927 | (interactive "NFoo: ") is like (interactive "nFoo: ") in reading | ||
| 928 | a number using the minibuffer to serve as the argument; however, | ||
| 929 | if a prefix argument was specified, it uses the prefix argument | ||
| 930 | value as the argument, and does not use the minibuffer at all. | ||
| 931 | |||
| 932 | This is used by the `goto-line' and `goto-char' commands. | ||
| 933 | |||
| 934 | * Semantics of variables. | ||
| 935 | |||
| 936 | ** Built-in per-buffer variables improved. | ||
| 937 | |||
| 938 | Several built-in variables which in the past had a different value in | ||
| 939 | each buffer now behave exactly as if `make-variable-buffer-local' had | ||
| 940 | been done to them. | ||
| 941 | |||
| 942 | These variables are `tab-width', `ctl-arrow', `truncate-lines', | ||
| 943 | `fill-column', `left-margin', `mode-line-format', `abbrev-mode', | ||
| 944 | `overwrite-mode', `case-fold-search', `auto-fill-hook', | ||
| 945 | `selective-display', `selective-display-ellipses'. | ||
| 946 | |||
| 947 | To be precise, each variable has a default value which shows through | ||
| 948 | in most buffers and can be accessed with `default-value' and set with | ||
| 949 | `set-default'. Setting the variable with `setq' makes the variable | ||
| 950 | local to the current buffer. Changing the default value has retroactive | ||
| 951 | effect on all buffers in which the variable is not local. | ||
| 952 | |||
| 953 | The variables `default-case-fold-search', etc., are now obsolete. | ||
| 954 | They now refer to the default value of the variable, which is not | ||
| 955 | quite the same behavior as before, but it should enable old init files | ||
| 956 | to continue to work. | ||
| 957 | |||
| 958 | ** New per-buffer variables. | ||
| 959 | |||
| 960 | The variables `fill-prefix', `comment-column' and `indent-tabs-mode' | ||
| 961 | are now per-buffer. They work just like `fill-column', etc. | ||
| 962 | |||
| 963 | ** New function `setq-default'. | ||
| 964 | |||
| 965 | `setq-default' sets the default value of a variable, and uses the | ||
| 966 | same syntax that `setq' accepts: the variable name is not evaluated | ||
| 967 | and need not be quoted. | ||
| 968 | |||
| 969 | `(setq-default case-fold-search nil)' would make searches case-sensitive | ||
| 970 | in all buffers that do not have local values for `case-fold-search'. | ||
| 971 | |||
| 972 | You can set multiple variables sequentially, each with its own value, | ||
| 973 | in `setq-default' just as in `setq'. | ||
| 974 | |||
| 975 | ** Functions `global-set' and `global-value' deleted. | ||
| 976 | |||
| 977 | These functions were never used except by mistake by users expecting | ||
| 978 | the functionality of `set-default' and `default-value'. | ||
| 979 | |||
| 980 | * Changes in defaulting of major modes. | ||
| 981 | |||
| 982 | When `default-major-mode' is `nil', new buffers are supposed to | ||
| 983 | get their major mode from the buffer that is current. However, | ||
| 984 | certain major modes (such as Dired mode, Rmail mode, Rmail Summary mode, | ||
| 985 | and others) are not reasonable to use in this way. | ||
| 986 | |||
| 987 | Now such modes' names have been given non-`nil' `mode-class' properties. | ||
| 988 | If the current buffer's mode has such a property, Fundamental mode is | ||
| 989 | used as the default for newly created buffers. | ||
| 990 | |||
| 991 | * `where-is-internal' requires additional arguments. | ||
| 992 | |||
| 993 | This function now accepts three arguments, two of them required: | ||
| 994 | DEFINITION, the definition to search for; LOCAL-KEYMAP, the keymap | ||
| 995 | to use as the local map when doing the searching, and FIRST-ONLY, | ||
| 996 | which is nonzero to return only the first key found. | ||
| 997 | |||
| 998 | This function returns a list of keys (strings) whose definitions | ||
| 999 | (in the LOCAL-KEYMAP or the current global map) are DEFINITION. | ||
| 1000 | |||
| 1001 | If FIRST-ONLY is non-nil, it returns a single key (string). | ||
| 1002 | |||
| 1003 | This function has changed incompatibly in that now two arguments | ||
| 1004 | are required when previously only one argument was allowed. To get | ||
| 1005 | the old behavior of this function, write `(current-local-map)' as | ||
| 1006 | the expression for the second argument. | ||
| 1007 | |||
| 1008 | The incompatibility is sad, but `nil' is a legitimate value for the | ||
| 1009 | second argument (it means there is no local keymap), so it cannot also | ||
| 1010 | serve as a default meaning to use the current local keymap. | ||
| 1011 | |||
| 1012 | * Abbrevs with hooks. | ||
| 1013 | |||
| 1014 | When an abbrev defined with a hook is expanded, it now performs the | ||
| 1015 | usual replacement of the abbrev with the expansion before running the | ||
| 1016 | hook. Previously the abbrev itself was deleted but the expansion was | ||
| 1017 | not inserted. | ||
| 1018 | |||
| 1019 | * Function `scan-buffer' deleted. | ||
| 1020 | |||
| 1021 | Use `search-forward' or `search-backward' in place of `scan-buffer'. | ||
| 1022 | You will have to rearrange the arguments. | ||
| 1023 | |||
| 1024 | * X window interface improvements. | ||
| 1025 | |||
| 1026 | ** Detect release of mouse buttons. | ||
| 1027 | |||
| 1028 | Button-up events can now be detected. See the file `lisp/x-mouse.el' | ||
| 1029 | for details. | ||
| 1030 | |||
| 1031 | ** New pop-up menu facility. | ||
| 1032 | |||
| 1033 | The new function `x-popup-menu' pops up a menu (in a X window) | ||
| 1034 | and returns an indication of which selection the user made. | ||
| 1035 | For more information, see its self-documentation. | ||
| 1036 | |||
| 1037 | * M-x disassemble. | ||
| 1038 | |||
| 1039 | This command prints the disassembly of a byte-compiled Emacs Lisp function. | ||
| 1040 | |||
| 1041 | Would anyone like to interface this to the debugger? | ||
| 1042 | |||
| 1043 | * `insert-buffer-substring' can insert part of the current buffer. | ||
| 1044 | |||
| 1045 | The old restriction that the text being inserted had to come from | ||
| 1046 | a different buffer is now lifted. | ||
| 1047 | |||
| 1048 | When inserting text from the current buffer, the text to be inserted | ||
| 1049 | is determined from the specified bounds before any copying takes place. | ||
| 1050 | |||
| 1051 | * New function `substitute-key-definition'. | ||
| 1052 | |||
| 1053 | This is a new way to replace one command with another command as the | ||
| 1054 | binding of whatever keys may happen to refer to it. | ||
| 1055 | |||
| 1056 | (substitute-key-definition OLDDEF NEWDEF KEYMAP) looks through KEYMAP | ||
| 1057 | for keys defined to run OLDDEF, and rebinds those keys to run NEWDEF | ||
| 1058 | instead. | ||
| 1059 | |||
| 1060 | * New function `insert-char'. | ||
| 1061 | |||
| 1062 | Insert a specified character, a specified number of times. | ||
| 1063 | |||
| 1064 | * `mark-marker' changed. | ||
| 1065 | |||
| 1066 | When there is no mark, this now returns a marker that points | ||
| 1067 | nowhere, rather than `nil'. | ||
| 1068 | |||
| 1069 | * `ding' accepts argument. | ||
| 1070 | |||
| 1071 | When given an argument, the function `ding' does not terminate | ||
| 1072 | execution of a keyboard macro. Normally, `ding' does terminate | ||
| 1073 | all macros that are currently executing. | ||
| 1074 | |||
| 1075 | * New function `minibuffer-depth'. | ||
| 1076 | |||
| 1077 | This function returns the current depth in minibuffer activations. | ||
| 1078 | The value is zero when the minibuffer is not in use. | ||
| 1079 | Values greater than one are possible if the user has entered the | ||
| 1080 | minibuffer recursively. | ||
| 1081 | |||
| 1082 | * New function `documentation-property'. | ||
| 1083 | |||
| 1084 | (documentation-property SYMBOL PROPNAME) is like (get SYMBOL PROPNAME), | ||
| 1085 | except that if the property value is a number `documentation-property' | ||
| 1086 | will take that number (or its absolute value) as a character position | ||
| 1087 | in the DOC file and return the string found there. | ||
| 1088 | |||
| 1089 | (documentation-property VAR 'variable-documentation) is the proper | ||
| 1090 | way for a Lisp program to get the documentation of variable VAR. | ||
| 1091 | |||
| 1092 | * New documentation-string expansion feature. | ||
| 1093 | |||
| 1094 | If a documentation string (for a variable or function) contains text | ||
| 1095 | of the form `\<FOO>', it means that all command names specified in | ||
| 1096 | `\[COMMAND]' construct from that point on should be turned into keys | ||
| 1097 | using the value of the variable FOO as the local keymap. Thus, for example, | ||
| 1098 | |||
| 1099 | `\<emacs-lisp-mode-map>\[eval-defun] evaluates the defun containing point.' | ||
| 1100 | |||
| 1101 | will expand into | ||
| 1102 | |||
| 1103 | "ESC C-x evaluates the defun containing point." | ||
| 1104 | |||
| 1105 | regardless of the current major mode, because ESC C-x is defined to | ||
| 1106 | run `eval-defun' in the keymap `emacs-lisp-mode-map'. The effect is | ||
| 1107 | to show the key for `eval-defun' in Emacs Lisp mode regardless of the | ||
| 1108 | current major mode. | ||
| 1109 | |||
| 1110 | The `\<...>' construct applies to all `\[...]' constructs that follow it, | ||
| 1111 | up to the end of the documentation string or the next `\<...>'. | ||
| 1112 | |||
| 1113 | Without `\<...>', the keys for commands specified in `\[...]' are found | ||
| 1114 | in the current buffer's local map. | ||
| 1115 | |||
| 1116 | The current global keymap is always searched second, whether `\<...>' | ||
| 1117 | has been used or not. | ||
| 1118 | |||
| 1119 | * Multiple hooks allowed in certain contexts. | ||
| 1120 | |||
| 1121 | The old hook variables `find-file-hook', `find-file-not-found-hook' and | ||
| 1122 | `write-file-hook' have been replaced. | ||
| 1123 | |||
| 1124 | The replacements are `find-file-hooks', `find-file-not-found-hooks' | ||
| 1125 | and `write-file-hooks'. Each holds a list of functions to be called; | ||
| 1126 | by default, `nil', for no functions. The functions are called in | ||
| 1127 | order of appearance in the list. | ||
| 1128 | |||
| 1129 | In the case of `find-file-hooks', all the functions are executed. | ||
| 1130 | |||
| 1131 | In the case of `find-file-not-found-hooks', if any of the functions | ||
| 1132 | returns non-`nil', the rest of the functions are not called. | ||
| 1133 | |||
| 1134 | In the case of `write-file-hooks', if any of the functions returns | ||
| 1135 | non-`nil', the rest of the functions are not called, and the file is | ||
| 1136 | considered to have been written already; so actual writing in the | ||
| 1137 | usual way is not done. If `write-file-hooks' is local to a buffer, | ||
| 1138 | it is set to its global value if `set-visited-file-name' is called | ||
| 1139 | (and thus by C-x C-w as well). | ||
| 1140 | |||
| 1141 | `find-file-not-found-hooks' and `write-file-hooks' can be used | ||
| 1142 | together to implement editing of files that are not stored as Unix | ||
| 1143 | files: stored in archives, or inside version control systems, or on | ||
| 1144 | other machines running other operating systems and accessible via ftp. | ||
| 1145 | |||
| 1146 | * New hooks for suspending Emacs. | ||
| 1147 | |||
| 1148 | Suspending Emacs runs the hook `suspend-hook' before suspending | ||
| 1149 | and the hook `suspend-resume-hook' if the suspended Emacs is resumed. | ||
| 1150 | Running a hook is done by applying the variable's value to no arguments | ||
| 1151 | if the variable has a non-`nil' value. If `suspend-hook' returns | ||
| 1152 | non-`nil', then suspending is inhibited and so is running the | ||
| 1153 | `suspend-resume-hook'. The non-`nil' value means that the `suspend-hook' | ||
| 1154 | has done whatever suspending is required. | ||
| 1155 | |||
| 1156 | * Disabling commands can print a special message. | ||
| 1157 | |||
| 1158 | A command is disabled by giving it a non-`nil' `disabled' property. | ||
| 1159 | Now, if this property is a string, it is included in the message | ||
| 1160 | printed when the user tries to run the command. | ||
| 1161 | |||
| 1162 | * Emacs can open TCP connections. | ||
| 1163 | |||
| 1164 | The function `open-network-stream' opens a TCP connection to | ||
| 1165 | a specified host and service. Its value is a Lisp object that represents | ||
| 1166 | the connection. The object is a kind of "subprocess", and I/O are | ||
| 1167 | done like I/O to subprocesses. | ||
| 1168 | |||
| 1169 | * Display-related changes. | ||
| 1170 | |||
| 1171 | ** New mode-line control features. | ||
| 1172 | |||
| 1173 | The display of the mode line used to be controlled by a format-string | ||
| 1174 | that was the value of the variable `mode-line-format'. | ||
| 1175 | |||
| 1176 | This variable still exists, but it now allows more general values, | ||
| 1177 | not just strings. Lists, cons cells and symbols are also meaningful. | ||
| 1178 | |||
| 1179 | The mode line contents are created by outputting various mode elements | ||
| 1180 | one after the other. Here are the kinds of objects that can be | ||
| 1181 | used as mode elements, and what they do in the display: | ||
| 1182 | |||
| 1183 | string the contents of the string are output to the mode line, | ||
| 1184 | and %-constructs are replaced by other text. | ||
| 1185 | |||
| 1186 | t or nil ignored; no output results. | ||
| 1187 | |||
| 1188 | symbol the symbol's value is used. If the value is a string, | ||
| 1189 | the string is output verbatim to the mode line | ||
| 1190 | (so %-constructs are not interpreted). Otherwise, | ||
| 1191 | the symbol's value is processed as a mode element. | ||
| 1192 | |||
| 1193 | list (whose first element is a string or list or cons cell) | ||
| 1194 | the elements of the list are treated as as mode elements, | ||
| 1195 | so that the output they generate is concatenated, | ||
| 1196 | |||
| 1197 | list (whose car is a symbol) | ||
| 1198 | if the symbol's value is non-nil, the second element of the | ||
| 1199 | list is treated as a mode element. Otherwise, the third | ||
| 1200 | element (if any) of the list is treated as a mode element. | ||
| 1201 | |||
| 1202 | cons (whose car is a positive integer) | ||
| 1203 | the cdr of the cons is used as a mode element, but | ||
| 1204 | the text it produces is padded, if necessary, to have | ||
| 1205 | at least the width specified by the integer. | ||
| 1206 | |||
| 1207 | cons (whose car is a negative integer) | ||
| 1208 | the cdr of the cons is used as a mode element, but | ||
| 1209 | the text it produces is truncated, if necessary, to have | ||
| 1210 | at most the width specified by the integer. | ||
| 1211 | |||
| 1212 | There is always one mode element to start with, that being the value of | ||
| 1213 | `mode-line-format', but if this value is a list then it leads to several | ||
| 1214 | more mode elements, which can lead to more, and so on. | ||
| 1215 | |||
| 1216 | There is one new %-construct for mode elements that are strings: | ||
| 1217 | `%n' displays ` Narrow' for a buffer that is narrowed. | ||
| 1218 | |||
| 1219 | The default value of `mode-line-format' refers to several other variables. | ||
| 1220 | These variables are `mode-name', `mode-line-buffer-identification', | ||
| 1221 | `mode-line-process', `mode-line-modified', `global-mode-string' and | ||
| 1222 | `minor-mode-alist'. The first four are local in every buffer in which they | ||
| 1223 | are changed from the default. | ||
| 1224 | |||
| 1225 | mode-name Name of buffer's major mode. Local in every buffer. | ||
| 1226 | |||
| 1227 | mode-line-buffer-identification | ||
| 1228 | Normally the list ("Emacs: %17b"), it is responsible | ||
| 1229 | for displaying text to indicate what buffer is being shown | ||
| 1230 | and what kind of editing it is doing. `Emacs' means | ||
| 1231 | that a file of characters is being edited. Major modes | ||
| 1232 | such as Info and Dired which edit or view other kinds | ||
| 1233 | of data often change this value. This variables becomes | ||
| 1234 | local to the current buffer if it is setq'd. | ||
| 1235 | |||
| 1236 | mode-line-process | ||
| 1237 | Normally nil, this variable is responsible for displaying | ||
| 1238 | information about the process running in the current buffer. | ||
| 1239 | M-x shell-mode and M-x compile alter this variable. | ||
| 1240 | |||
| 1241 | mode-line-modified | ||
| 1242 | This variable is responsible for displaying the indication | ||
| 1243 | of whether the current buffer is modified or read-only. | ||
| 1244 | By default its value is `("--%*%*-")'. | ||
| 1245 | |||
| 1246 | minor-mode-alist | ||
| 1247 | This variable is responsible for displaying text for those | ||
| 1248 | minor modes that are currently enabled. Its value | ||
| 1249 | is a list of elements of the form (VARIABLE STRING), | ||
| 1250 | where STRING is to be displayed if VARIABLE's value | ||
| 1251 | (in the buffer whose mode line is being displayed) | ||
| 1252 | is non-nil. This variable is not made local to particular | ||
| 1253 | buffers, but loading some libraries may add elements to it. | ||
| 1254 | |||
| 1255 | global-mode-string | ||
| 1256 | This variable is used to display the time, if you ask | ||
| 1257 | for that. | ||
| 1258 | |||
| 1259 | The idea of these variables is to eliminate the need for major modes | ||
| 1260 | to alter mode-line-format itself. | ||
| 1261 | |||
| 1262 | ** `window-point' valid for selected window. | ||
| 1263 | |||
| 1264 | The value returned by `window-point' used to be incorrect when its | ||
| 1265 | argument was the selected window. Now the value is correct. | ||
| 1266 | |||
| 1267 | ** Window configurations may be saved as Lisp objects. | ||
| 1268 | |||
| 1269 | The function `current-window-configuration' returns a special type of | ||
| 1270 | Lisp object that represents the current layout of windows: the | ||
| 1271 | sizes and positions of windows, which buffers appear in them, and | ||
| 1272 | which parts of the buffers appear on the screen. | ||
| 1273 | |||
| 1274 | The function `set-window-configuration' takes one argument, which must | ||
| 1275 | be a window configuration object, and restores that configuration. | ||
| 1276 | |||
| 1277 | ** New hook `temp-output-buffer-show-hook'. | ||
| 1278 | |||
| 1279 | This hook allows you to control how help buffers are displayed. | ||
| 1280 | Whenever `with-output-to-temp-buffer' has executed its body and wants | ||
| 1281 | to display the temp buffer, if this variable is bound and non-`nil' | ||
| 1282 | then its value is called with one argument, the temp buffer. | ||
| 1283 | The hook function is solely responsible for displaying the buffer. | ||
| 1284 | The standard manner of display--making the buffer appear in a window--is | ||
| 1285 | used only if there is no hook function. | ||
| 1286 | |||
| 1287 | ** New function `minibuffer-window'. | ||
| 1288 | |||
| 1289 | This function returns the window used (sometimes) for displaying | ||
| 1290 | the minibuffer. It can be used even when the minibuffer is not active. | ||
| 1291 | |||
| 1292 | ** New feature to `next-window'. | ||
| 1293 | |||
| 1294 | If the optional second argument is neither `nil' nor `t', the minibuffer | ||
| 1295 | window is omitted from consideration even when active; if the starting | ||
| 1296 | window was the last non-minibuffer window, the value will be the first | ||
| 1297 | non-minibuffer window. | ||
| 1298 | |||
| 1299 | ** New variable `minibuffer-scroll-window'. | ||
| 1300 | |||
| 1301 | When this variable is non-`nil', the command `scroll-other-window' | ||
| 1302 | uses it as the window to be scrolled. Displays of completion-lists | ||
| 1303 | set this variable to the window containing the display. | ||
| 1304 | |||
| 1305 | ** New argument to `sit-for'. | ||
| 1306 | |||
| 1307 | A non-nil second argument to `sit-for' means do not redisplay; | ||
| 1308 | just wait for the specified time or until input is available. | ||
| 1309 | |||
| 1310 | ** Deleted function `set-minor-mode'; minor modes must be changed. | ||
| 1311 | |||
| 1312 | The function `set-minor-mode' has been eliminated. The display | ||
| 1313 | of minor mode names in the mode line is now controlled by the | ||
| 1314 | variable `minor-mode-alist'. To specify display of a new minor | ||
| 1315 | mode, it is sufficient to add an element to this list. Once that | ||
| 1316 | is done, you can turn the mode on and off just by setting a variable, | ||
| 1317 | and the display will show its status automatically. | ||
| 1318 | |||
| 1319 | ** New variable `cursor-in-echo-area'. | ||
| 1320 | |||
| 1321 | If this variable is non-nil, the screen cursor appears on the | ||
| 1322 | last line of the screen, at the end of the text displayed there. | ||
| 1323 | |||
| 1324 | Binding this variable to t is useful at times when reading single | ||
| 1325 | characters of input with `read-char'. | ||
| 1326 | |||
| 1327 | ** New per-buffer variable `selective-display-ellipses'. | ||
| 1328 | |||
| 1329 | If this variable is non-nil, an ellipsis (`...') appears on the screen | ||
| 1330 | at the end of each text line that is followed by invisible text. | ||
| 1331 | |||
| 1332 | If this variable is nil, no ellipses appear. Then there is no sign | ||
| 1333 | on the screen that invisible text is present. | ||
| 1334 | |||
| 1335 | Text is made invisible under the control of the variable | ||
| 1336 | `selective-display'; this is how Outline mode and C-x $ work. | ||
| 1337 | |||
| 1338 | ** New variable `no-redraw-on-reenter'. | ||
| 1339 | |||
| 1340 | If you set this variable non-nil, Emacs will not clear the screen when | ||
| 1341 | you resume it after suspending it. This is for the sake of terminals | ||
| 1342 | with multiple screens of memory, where the termcap entry has been set | ||
| 1343 | up to switch between screens when Emacs is suspended and resumed. | ||
| 1344 | |||
| 1345 | ** New argument to `set-screen-height' or `set-screen-width'. | ||
| 1346 | |||
| 1347 | These functions now take an optional second argument which says | ||
| 1348 | what significance the newly specified height or width has. | ||
| 1349 | |||
| 1350 | If the argument is nil, or absent, it means that Emacs should | ||
| 1351 | believe that the terminal height or width really is as just specified. | ||
| 1352 | |||
| 1353 | If the argument is t, it means Emacs should not believe that the | ||
| 1354 | terminal really is this high or wide, but it should use the | ||
| 1355 | specific height or width as the number of lines or columns to display. | ||
| 1356 | Thus, you could display only 24 lines on a screen known to have 48 lines. | ||
| 1357 | |||
| 1358 | What practical difference is there between using only 24 lines for display | ||
| 1359 | and really believing that the terminal has 24 lines? | ||
| 1360 | |||
| 1361 | 1. The "real" height of the terminal says what the terminal command | ||
| 1362 | to move the cursor to the last line will do. | ||
| 1363 | |||
| 1364 | 2. The "real" height of the terminal determines how much padding is | ||
| 1365 | needed. | ||
| 1366 | |||
| 1367 | * File-related changes. | ||
| 1368 | |||
| 1369 | ** New parameter `backup-by-copying-when-mismatch'. | ||
| 1370 | |||
| 1371 | If this variable is non-`nil', then when Emacs is about to save a | ||
| 1372 | file, it will create the backup file by copying if that would avoid | ||
| 1373 | changing the file's uid or gid. | ||
| 1374 | |||
| 1375 | The default value of this variable is `nil', because usually it is | ||
| 1376 | useful to have the uid of a file change according to who edited it | ||
| 1377 | last. I recommend thet this variable be left normally `nil' and | ||
| 1378 | changed with a local variables list in those particular files where | ||
| 1379 | the uid needs to be preserved. | ||
| 1380 | |||
| 1381 | ** New parameter `file-precious-flag'. | ||
| 1382 | |||
| 1383 | If this variable is non-`nil', saving the buffer tries to avoid | ||
| 1384 | leaving an incomplete file due to disk full or other I/O errors. | ||
| 1385 | It renames the old file before saving. If saving is successful, | ||
| 1386 | the renamed file is deleted; if saving gets an error, the renamed | ||
| 1387 | file is renamed back to the name you visited. | ||
| 1388 | |||
| 1389 | Backups are always made by copying for such files. | ||
| 1390 | |||
| 1391 | ** New variable `buffer-offer-save'. | ||
| 1392 | |||
| 1393 | If the value of this variable is non-`nil' in a buffer then exiting | ||
| 1394 | Emacs will offer to save the buffer (if it is modified and nonempty) | ||
| 1395 | even if the buffer is not visiting a file. This variable is | ||
| 1396 | automatically made local to the current buffer whenever it is set. | ||
| 1397 | |||
| 1398 | ** `rename-file', `copy-file', `add-name-to-file' and `make-symbolic-link'. | ||
| 1399 | |||
| 1400 | The third argument to these functions used to be `t' or `nil'; `t' | ||
| 1401 | meaning go ahead even if the specified new file name already has a file, | ||
| 1402 | and `nil' meaning to get an error. | ||
| 1403 | |||
| 1404 | Now if the third argument is a number it means to ask the user for | ||
| 1405 | confirmation in this case. | ||
| 1406 | |||
| 1407 | ** New optional argument to `copy-file'. | ||
| 1408 | |||
| 1409 | If `copy-file' receives a non-nil fourth argument, it attempts | ||
| 1410 | to give the new copy the same time-of-last-modification that the | ||
| 1411 | original file has. | ||
| 1412 | |||
| 1413 | ** New function `file-newer-than-file-p'. | ||
| 1414 | |||
| 1415 | (file-newer-than-file-p FILE1 FILE2) returns non-nil if FILE1 has been | ||
| 1416 | modified more recently than FILE2. If FILE1 does not exist, the value | ||
| 1417 | is always nil; otherwise, if FILE2 does not exist, the value is t. | ||
| 1418 | This is meant for use when FILE2 depends on FILE1, to see if changes | ||
| 1419 | in FILE1 make it necessary to recompute FILE2 from it. | ||
| 1420 | |||
| 1421 | ** Changed function `file-exists-p'. | ||
| 1422 | |||
| 1423 | This function is no longer the same as `file-readable-p'. | ||
| 1424 | `file-exists-p' can now return t for a file that exists but which | ||
| 1425 | the fascists won't allow you to read. | ||
| 1426 | |||
| 1427 | ** New function `file-locked-p'. | ||
| 1428 | |||
| 1429 | This function receives a file name as argument and returns `nil' | ||
| 1430 | if the file is not locked, `t' if locked by this Emacs, or a | ||
| 1431 | string giving the name of the user who has locked it. | ||
| 1432 | |||
| 1433 | ** New function `file-name-sans-versions'. | ||
| 1434 | |||
| 1435 | (file-name-sans-versions NAME) returns a substring of NAME, with any | ||
| 1436 | version numbers or other backup suffixes deleted from the end. | ||
| 1437 | |||
| 1438 | ** New functions for directory names. | ||
| 1439 | |||
| 1440 | Although a directory is really a kind of file, specifying a directory | ||
| 1441 | uses a somewhat different syntax from specifying a file. | ||
| 1442 | In Emacs, a directory name is used as part of a file name. | ||
| 1443 | |||
| 1444 | On Unix, the difference is small: a directory name ends in a slash, | ||
| 1445 | while a file name does not: thus, `/usr/rms/' to name a directory, | ||
| 1446 | while `/usr/rms' names the file which holds that directory. | ||
| 1447 | |||
| 1448 | On VMS, the difference is considerable: `du:[rms.foo]' specifies a | ||
| 1449 | directory, but the name of the file that holds that directory is | ||
| 1450 | `du:[rms]foo.dir'. | ||
| 1451 | |||
| 1452 | There are two new functions for converting between directory names | ||
| 1453 | and file names. `directory-file-name' takes a directory name and | ||
| 1454 | returns the name of the file in which that directory's data is stored. | ||
| 1455 | `file-name-as-directory' takes the name of a file and returns | ||
| 1456 | the corresponding directory name. These always understand Unix file name | ||
| 1457 | syntax; on VMS, they understand VMS syntax as well. | ||
| 1458 | |||
| 1459 | For example, (file-name-as-directory "/usr/rms") returns "/usr/rms/" | ||
| 1460 | and (directory-file-name "/usr/rms/") returns "/usr/rms". | ||
| 1461 | On VMS, (file-name-as-directory "du:[rms]foo.dir") returns "du:[rms.foo]" | ||
| 1462 | and (directory-file-name "du:[rms.foo]") returns "du:[rms]foo.dir". | ||
| 1463 | |||
| 1464 | ** Value of `file-attributes' changed. | ||
| 1465 | |||
| 1466 | The function file-attributes returns a list containing many kinds of | ||
| 1467 | information about a file. Now the list has eleven elements. | ||
| 1468 | |||
| 1469 | The tenth element is `t' if deleting the file and creating another | ||
| 1470 | file of the same name would result in a change in the file's group; | ||
| 1471 | `nil' if there would be no change. You can also think of this as | ||
| 1472 | comparing the file's group with the default group for files created in | ||
| 1473 | the same directory by you. | ||
| 1474 | |||
| 1475 | The eleventh element is the inode number of the file. | ||
| 1476 | |||
| 1477 | ** VMS-only function `file-name-all-versions'. | ||
| 1478 | |||
| 1479 | This function returns a list of all the completions, including version | ||
| 1480 | number, of a specified version-number-less file name. This is like | ||
| 1481 | `file-name-all-completions', except that the latter returns values | ||
| 1482 | that do not include version numbers. | ||
| 1483 | |||
| 1484 | ** VMS-only variable `vms-stmlf-recfm'. | ||
| 1485 | |||
| 1486 | On a VMS system, if this variable is non-nil, Emacs will give newly | ||
| 1487 | created files the record format `stmlf'. This is necessary for files | ||
| 1488 | that must contain lines of arbitrary length, such as compiled Emacs | ||
| 1489 | Lisp. | ||
| 1490 | |||
| 1491 | When writing a new version of an existing file, Emacs always keeps | ||
| 1492 | the same record format as the previous version; so this variable has | ||
| 1493 | no effect. | ||
| 1494 | |||
| 1495 | This variable has no effect on Unix systems. | ||
| 1496 | |||
| 1497 | ** `insert-file-contents' on an empty file. | ||
| 1498 | |||
| 1499 | This no longer sets the buffer's "modified" flag. | ||
| 1500 | |||
| 1501 | ** New function (VMS only) `define-logical-name': | ||
| 1502 | |||
| 1503 | (define-logical-name LOGICAL TRANSLATION) defines a VMS logical name | ||
| 1504 | LOGICAL whose translation is TRANSLATION. The new name applies to | ||
| 1505 | the current process only. | ||
| 1506 | |||
| 1507 | ** Deleted variable `ask-about-buffer-names'. | ||
| 1508 | |||
| 1509 | If you want buffer names for files to be generated in a special way, | ||
| 1510 | you must redefine `create-file-buffer'. | ||
| 1511 | |||
| 1512 | * Subprocess-related changes. | ||
| 1513 | |||
| 1514 | ** New function `process-list'. | ||
| 1515 | |||
| 1516 | This function takes no arguments and returns a list of all | ||
| 1517 | of Emacs's asynchronous subprocesses. | ||
| 1518 | |||
| 1519 | ** New function `process-exit-status'. | ||
| 1520 | |||
| 1521 | This function, given a process, process name or buffer as argument, | ||
| 1522 | returns the exit status code or signal number of the process. | ||
| 1523 | If the process has not yet exited or died, this function returns 0. | ||
| 1524 | |||
| 1525 | ** Process output ignores `buffer-read-only'. | ||
| 1526 | |||
| 1527 | Output from a process will go into the process's buffer even if the | ||
| 1528 | buffer is read only. | ||
| 1529 | |||
| 1530 | ** Switching buffers in filter functions and sentinels. | ||
| 1531 | |||
| 1532 | Emacs no longer saves and restore the current buffer around calling | ||
| 1533 | the filter and sentinel functions, so these functions can now | ||
| 1534 | permanently alter the selected buffer in a straightforward manner. | ||
| 1535 | |||
| 1536 | ** Specifying environment variables for subprocesses. | ||
| 1537 | |||
| 1538 | When a subprocess is started with `start-process' or `call-process', | ||
| 1539 | the value of the variable `process-environment' is taken to | ||
| 1540 | specify the environment variables to give the subprocess. The | ||
| 1541 | value should be a list of strings, each of the form "VAR=VALUE". | ||
| 1542 | |||
| 1543 | `process-environment' is initialized when Emacs starts up | ||
| 1544 | based on Emacs's environment. | ||
| 1545 | |||
| 1546 | ** New variable `process-connection-type'. | ||
| 1547 | |||
| 1548 | If this variable is `nil', when a subprocess is created, Emacs uses | ||
| 1549 | a pipe rather than a pty to communicate with it. Normally this | ||
| 1550 | variable is `t', telling Emacs to use a pty if ptys are supported | ||
| 1551 | and one is available. | ||
| 1552 | |||
| 1553 | ** New function `waiting-for-user-input-p'. | ||
| 1554 | |||
| 1555 | This function, given a subprocess as argument, returns `t' if that | ||
| 1556 | subprocess appears to be waiting for input sent from Emacs, | ||
| 1557 | or `nil' otherwise. | ||
| 1558 | |||
| 1559 | ** New hook `shell-set-directory-error-hook'. | ||
| 1560 | |||
| 1561 | The value of this variable is called, with no arguments, whenever | ||
| 1562 | Shell mode gets an error trying to keep track of directory-setting | ||
| 1563 | commands (such as `cd' and `pushd') used in the shell buffer. | ||
| 1564 | |||
| 1565 | * New functions `user-uid' and `user-real-uid'. | ||
| 1566 | |||
| 1567 | These functions take no arguments and return, respectively, | ||
| 1568 | the effective uid and the real uid of the Emacs process. | ||
| 1569 | The value in each case is an integer. | ||
| 1570 | |||
| 1571 | * New variable `print-escape-newlines' controls string printing. | ||
| 1572 | |||
| 1573 | If this variable is non-`nil', then when a Lisp string is printed | ||
| 1574 | by the Lisp printing function `prin1' or `print', newline characters | ||
| 1575 | are printed as `\n' rather than as a literal newline. | ||
| 1576 | |||
| 1577 | * New function `sysnetunam' on HPUX. | ||
| 1578 | |||
| 1579 | This function takes two arguments, a network address PATH and a | ||
| 1580 | login string LOGIN, and executes the system call `netunam'. | ||
| 1581 | It returns `t' if the call succeeds, otherwise `nil'. | ||
| 1582 | |||
| 1583 | News regarding installation: | ||
| 1584 | |||
| 1585 | * Many `s-...' file names changed. | ||
| 1586 | |||
| 1587 | Many `s-...' files have been renamed. All periods in such names, | ||
| 1588 | except the ones just before the final `h', have been changed to | ||
| 1589 | hyphens. Thus, `s-bsd4.2.h' has been renamed to `s-bsd4-2.h'. | ||
| 1590 | |||
| 1591 | This is so a Unix distribution can be moved mechanically to VMS. | ||
| 1592 | |||
| 1593 | * `DOCSTR...' file now called `DOC-...'. | ||
| 1594 | |||
| 1595 | The file of on-line documentation strings, that used to be | ||
| 1596 | `DOCSTR.mm.nn.oo' in this directory, is now called `DOC-mm.nn.oo'. | ||
| 1597 | This is so that it can port to VMS using the standard conventions | ||
| 1598 | for translating filenames for VMS. | ||
| 1599 | |||
| 1600 | This file also now contains the doc strings for variables as | ||
| 1601 | well as functions. | ||
| 1602 | |||
| 1603 | * Emacs no longer uses floating point arithmetic. | ||
| 1604 | |||
| 1605 | This may make it easier to port to some machines. | ||
| 1606 | |||
| 1607 | * Macros `XPNTR' and `XSETPNTR'; flag `DATA_SEG_BITS'. | ||
| 1608 | |||
| 1609 | These macros exclusively are used to unpack a pointer from a Lisp_Object | ||
| 1610 | and to insert a pointer into a Lisp_Object. Redefining them may help | ||
| 1611 | port Emacs to machines in which all pointers to data objects have | ||
| 1612 | certain high bits set. | ||
| 1613 | |||
| 1614 | If `DATA_SEG_BITS' is defined, it should be a number which contains | ||
| 1615 | the high bits to be inclusive or'ed with pointers that are unpacked. | ||
| 1616 | |||
| 1617 | * New flag `HAVE_X_MENU'. | ||
| 1618 | |||
| 1619 | Define this flag in `config.h' in addition to `HAVE_X_WINDOWS' | ||
| 1620 | to enable use of the Emacs interface to X Menus. On some operating | ||
| 1621 | systems, the rest of the X interface works properly but X Menus | ||
| 1622 | do not work; hence this separate flag. See the file `src/xmenu.c' | ||
| 1623 | for more information. | ||
| 1624 | |||
| 1625 | * Macros `ARRAY_MARK_FLAG' and `DONT_COPY_FLAG'. | ||
| 1626 | |||
| 1627 | * `HAVE_ALLOCA' prevents assembly of `alloca.s'. | ||
| 1628 | |||
| 1629 | * `SYSTEM_MALLOC' prevents use of GNU `malloc.c'. | ||
| 1630 | |||
| 1631 | SYSTEM_MALLOC, if defined, means use the system's own `malloc' routines | ||
| 1632 | rather than those that come with Emacs. | ||
| 1633 | |||
| 1634 | Use this only if absolutely necessary, because if it is used you do | ||
| 1635 | not get warnings when space is getting low. | ||
| 1636 | |||
| 1637 | * New flags to control unexec. | ||
| 1638 | |||
| 1639 | See the file `unexec.c' for a long comment on the compilation | ||
| 1640 | switches that suffice to make it work on many machines. | ||
| 1641 | |||
| 1642 | * `PNTR_COMPARISON_TYPE' | ||
| 1643 | |||
| 1644 | Pointers that need to be compared for ordering are converted to this type | ||
| 1645 | first. Normally this is `unsigned int'. | ||
| 1646 | |||
| 1647 | * `HAVE_VFORK', `HAVE_DUP2' and `HAVE_GETTIMEOFDAY'. | ||
| 1648 | |||
| 1649 | These flags just say whether certain system calls are available. | ||
| 1650 | |||
| 1651 | * New macros control compiler switches, linker switches and libraries. | ||
| 1652 | |||
| 1653 | The m- and s- files can now control in a modular fashion the precise | ||
| 1654 | arguments passed to `cc' and `ld'. | ||
| 1655 | |||
| 1656 | LIBS_STANDARD defines the standard C libraries. Default is `-lc'. | ||
| 1657 | LIBS_DEBUG defines the extra libraries to use when debugging. Default `-lg'. | ||
| 1658 | LIBS_SYSTEM can be defined by the s- file to specify extra libraries. | ||
| 1659 | LIBS_MACHINE can be defined by the m- file to specify extra libraries. | ||
| 1660 | LIBS_TERMCAP defines the libraries for Termcap or Terminfo. | ||
| 1661 | It is defined by default in a complicated fashion but the m- or s- file | ||
| 1662 | can override it. | ||
| 1663 | |||
| 1664 | LD_SWITCH_SYSTEM can be defined by the s- file to specify extra `ld' switches. | ||
| 1665 | The default is `-X' on BSD systems except those few that use COFF object files. | ||
| 1666 | LD_SWITCH_MACHINE can be defined by the m- file to specify extra `ld' switches. | ||
| 1667 | |||
| 1668 | C_DEBUG_SWITCH defines the switches to give `cc' when debugging. Default `-g'. | ||
| 1669 | C_OPTIMIZE_SWITCH defines the switches to give `cc' to optimize. Default `-O'. | ||
| 1670 | C_SWITCH_MACHINE can be defined by the m- file to specify extra `cc' switches. | ||
| 1671 | |||
| 1672 | For older news, see the file ONEWS.3. | ||
| 1673 | |||
| 1674 | ---------------------------------------------------------------------- | ||
| 1675 | Copyright information: | ||
| 1676 | |||
| 1677 | Copyright (C) 1992 Free Software Foundation, Inc. | ||
| 1678 | |||
| 1679 | Permission is granted to anyone to make or distribute verbatim copies | ||
| 1680 | of this document as received, in any medium, provided that the | ||
| 1681 | copyright notice and this permission notice are preserved, | ||
| 1682 | thus giving the recipient permission to redistribute in turn. | ||
| 1683 | |||
| 1684 | Permission is granted to distribute modified versions | ||
| 1685 | of this document, or of portions of it, | ||
| 1686 | under the above conditions, provided also that they | ||
| 1687 | carry prominent notices stating who last changed them. | ||
| 1688 | |||
| 1689 | Local variables: | ||
| 1690 | mode: text | ||
| 1691 | end: | ||
| 1692 | |||
| 1693 | arch-tag: 373312be-99a8-46d5-bcb0-a62577ab5045 | ||
diff --git a/etc/ORDERS b/etc/ORDERS index c29e6b101f3..55d222c17cb 100644 --- a/etc/ORDERS +++ b/etc/ORDERS | |||
| @@ -7,3 +7,8 @@ further development of Emacs and other free software programs. You | |||
| 7 | can also make tax-deductable donations to the Free Software Foundation, | 7 | can also make tax-deductable donations to the Free Software Foundation, |
| 8 | a not-for-profit organization (assuming you pay US taxes) - see | 8 | a not-for-profit organization (assuming you pay US taxes) - see |
| 9 | <http://www.gnu.org/help/donate.html>. | 9 | <http://www.gnu.org/help/donate.html>. |
| 10 | |||
| 11 | Copyright (c) 2000, 2001, 2006 Free Software Foundation, Inc. | ||
| 12 | |||
| 13 | Verbatim copying and distribution is permitted in any medium | ||
| 14 | provided this notice is preserved. | ||
diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 6435bd2e673..f42f9565cf6 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS | |||
| @@ -1694,7 +1694,7 @@ keys can serve as Meta. | |||
| 1694 | The `xkeycaps' also shows a visual representation of the current | 1694 | The `xkeycaps' also shows a visual representation of the current |
| 1695 | keyboard settings. It also allows to modify them. | 1695 | keyboard settings. It also allows to modify them. |
| 1696 | 1696 | ||
| 1697 | *** GNU/Linux: low startup on Linux-based GNU systems. | 1697 | *** GNU/Linux: slow startup on Linux-based GNU systems. |
| 1698 | 1698 | ||
| 1699 | People using systems based on the Linux kernel sometimes report that | 1699 | People using systems based on the Linux kernel sometimes report that |
| 1700 | startup takes 10 to 15 seconds longer than `usual'. | 1700 | startup takes 10 to 15 seconds longer than `usual'. |
diff --git a/etc/README b/etc/README index 1d476a0620c..856f8cdfcd4 100644 --- a/etc/README +++ b/etc/README | |||
| @@ -11,3 +11,19 @@ without installing the modified TeX versions. | |||
| 11 | 11 | ||
| 12 | `termcap.src' is included mainly for VMS. It is a copy of the | 12 | `termcap.src' is included mainly for VMS. It is a copy of the |
| 13 | `/etc/termcap' file used on Unix. | 13 | `/etc/termcap' file used on Unix. |
| 14 | |||
| 15 | Copyright (c) 1992, 1995, 2001, 2006 | ||
| 16 | Free Software Foundation, Inc. | ||
| 17 | |||
| 18 | |||
| 19 | COPYING PERMISSIONS: | ||
| 20 | |||
| 21 | Permission is hereby granted, free of charge, to any person obtaining | ||
| 22 | a copy of this file, to deal in the file without restriction, including | ||
| 23 | without limitation the rights to use, copy, modify, merge, publish, | ||
| 24 | distribute, sublicense, and/or sell copies of the file, and to | ||
| 25 | permit persons to whom the file is furnished to do so, subject to | ||
| 26 | the following condition: | ||
| 27 | |||
| 28 | The above copyright notice and this permission notice shall be | ||
| 29 | included in all copies or substantial portions of the file. | ||
diff --git a/etc/SERVICE b/etc/SERVICE index 40b12ac4a01..e97196d7c95 100644 --- a/etc/SERVICE +++ b/etc/SERVICE | |||
| @@ -2,6 +2,8 @@ | |||
| 2 | GNU Service Directory | 2 | GNU Service Directory |
| 3 | --------------------- | 3 | --------------------- |
| 4 | 4 | ||
| 5 | See the end of file for copyright information. | ||
| 6 | |||
| 5 | This is a list of people who have asked to be listed as offering | 7 | This is a list of people who have asked to be listed as offering |
| 6 | support services for GNU software, including GNU Emacs, for a fee | 8 | support services for GNU software, including GNU Emacs, for a fee |
| 7 | or in some cases at no charge. | 9 | or in some cases at no charge. |
| @@ -1365,4 +1367,12 @@ A current version should be available on our web site at http://www.gnu.org. | |||
| 1365 | 1367 | ||
| 1366 | ** Please keep the entries in this file alphabetical ** | 1368 | ** Please keep the entries in this file alphabetical ** |
| 1367 | 1369 | ||
| 1370 | |||
| 1371 | Copyright (c) 2000, 2004, 2005, 2006 | ||
| 1372 | Free Software Foundation | ||
| 1373 | |||
| 1374 | Verbatim copying and distribution of this document are permitted | ||
| 1375 | worldwide, without royalty, in any medium, provided this notice is | ||
| 1376 | preserved. | ||
| 1377 | |||
| 1368 | arch-tag: 1253ce32-1cbd-428a-ac36-70ed9e3999fc | 1378 | arch-tag: 1253ce32-1cbd-428a-ac36-70ed9e3999fc |
| @@ -1,3 +1,7 @@ | |||
| 1 | Copyright (c) 1999, 2003, 2006 | ||
| 2 | Free software Foundation, Inc. | ||
| 3 | See the end of the file for copying permissions. | ||
| 4 | |||
| 1 | This file describes what you must or might want to do to termcap entries | 5 | This file describes what you must or might want to do to termcap entries |
| 2 | to make terminals work properly and efficiently with Emacs. Information | 6 | to make terminals work properly and efficiently with Emacs. Information |
| 3 | on likely problems with specific types of terminals appears at the end | 7 | on likely problems with specific types of terminals appears at the end |
| @@ -227,3 +231,20 @@ AT386|at386|386AT|386at|at/386 console, | |||
| 227 | AT386-UL|at386-ul|386AT-UL|386at-ul|at/386 console, | 231 | AT386-UL|at386-ul|386AT-UL|386at-ul|at/386 console, |
| 228 | is2=\E[0;10;38m, | 232 | is2=\E[0;10;38m, |
| 229 | use=at386, | 233 | use=at386, |
| 234 | |||
| 235 | |||
| 236 | COPYING PERMISSIONS: | ||
| 237 | |||
| 238 | This document is free software; you can redistribute it and/or modify | ||
| 239 | it under the terms of the GNU General Public License as published by | ||
| 240 | the Free Software Foundation; either version 2 of the License, or | ||
| 241 | (at your option) any later version. | ||
| 242 | |||
| 243 | This program is distributed in the hope that it will be useful, | ||
| 244 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 245 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 246 | GNU General Public License for more details. | ||
| 247 | |||
| 248 | You should have received a copy of the GNU General Public License | ||
| 249 | along with this program; if not, write to the Free Software | ||
| 250 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
| @@ -1,4 +1,8 @@ | |||
| 1 | -*-outline-*- | 1 | Emacs TODO List -*-outline-*- |
| 2 | |||
| 3 | Copyright (c) 2003, 2004, 2005, 2006 | ||
| 4 | Free software Foundation, Inc. | ||
| 5 | See the end of the file for copying permissions. | ||
| 2 | 6 | ||
| 3 | If you are ready to start working on any of these TODO items, we | 7 | If you are ready to start working on any of these TODO items, we |
| 4 | appreciate your help; please write to emacs-devel@gnu.org so we can be | 8 | appreciate your help; please write to emacs-devel@gnu.org so we can be |
| @@ -9,6 +13,10 @@ to the FSF. | |||
| 9 | 13 | ||
| 10 | * Small but important fixes needed in existing features: | 14 | * Small but important fixes needed in existing features: |
| 11 | 15 | ||
| 16 | ** In C-x d, the default if you type RET should be the directory name, | ||
| 17 | but if you type M-n you should get the visited file name of the | ||
| 18 | current buffer. | ||
| 19 | |||
| 12 | ** whitespace-cleanup should work only on the region if the region is active. | 20 | ** whitespace-cleanup should work only on the region if the region is active. |
| 13 | 21 | ||
| 14 | ** Distribute a bar cursor of width > 1 evenly between the two glyphs | 22 | ** Distribute a bar cursor of width > 1 evenly between the two glyphs |
| @@ -135,6 +143,8 @@ to the FSF. | |||
| 135 | 143 | ||
| 136 | * Other features we would like: | 144 | * Other features we would like: |
| 137 | 145 | ||
| 146 | ** Remove the default toggling behavior of minor modes when called from elisp | ||
| 147 | rather than interactively. This a trivial one-liner in easy-mode.el. | ||
| 138 | ** Create a category of errors called `user-error' for errors which are | 148 | ** Create a category of errors called `user-error' for errors which are |
| 139 | typically due to pilot errors and should thus be in debug-ignored-errors. | 149 | typically due to pilot errors and should thus be in debug-ignored-errors. |
| 140 | 150 | ||
| @@ -484,4 +494,16 @@ not be noticed if it appears within a word. | |||
| 484 | ** Fix unexelf.c to handle the .data.rel and .data.rel.local | 494 | ** Fix unexelf.c to handle the .data.rel and .data.rel.local |
| 485 | sections made by GCC 3.4 on IRIX. | 495 | sections made by GCC 3.4 on IRIX. |
| 486 | 496 | ||
| 497 | COPYING PERMISSIONS: | ||
| 498 | |||
| 499 | Permission is hereby granted, free of charge, to any person obtaining | ||
| 500 | a copy of this file, to deal in the file without restriction, including | ||
| 501 | without limitation the rights to use, copy, modify, merge, publish, | ||
| 502 | distribute, sublicense, and/or sell copies of the file, and to | ||
| 503 | permit persons to whom the file is furnished to do so, subject to | ||
| 504 | the following condition: | ||
| 505 | |||
| 506 | The above copyright notice and this permission notice shall be | ||
| 507 | included in all copies or substantial portions of the file. | ||
| 508 | |||
| 487 | ;;; arch-tag: b0a3e40b-726a-457d-9999-ba848321b036 | 509 | ;;; arch-tag: b0a3e40b-726a-457d-9999-ba848321b036 |
diff --git a/etc/Xkeymap.txt b/etc/Xkeymap.txt index fcdbbf43215..dca688bd701 100644 --- a/etc/Xkeymap.txt +++ b/etc/Xkeymap.txt | |||
| @@ -1,5 +1,10 @@ | |||
| 1 | # -*-Mode: Fundamental-*- | 1 | # -*-Mode: Fundamental-*- |
| 2 | # X keymap file for rlk with some emacsified bindings | 2 | # X keymap file for rlk with some emacsified bindings |
| 3 | # | ||
| 4 | # Copyright (c) 1999, 2003, 2006 | ||
| 5 | # Free software Foundation, Inc. | ||
| 6 | # See the end of the file for copying conditions. | ||
| 7 | # | ||
| 3 | # This file contains the default keyboard mapping. The first column contains a X keyboard code; the other | 8 | # This file contains the default keyboard mapping. The first column contains a X keyboard code; the other |
| 4 | # 16 columns contain the mapping of the keycode to a character string, with various combinations | 9 | # 16 columns contain the mapping of the keycode to a character string, with various combinations |
| 5 | # of the SHIFT, LOCK, META, and CONTROL keys down. See the man page for "keycomp" for more information. | 10 | # of the SHIFT, LOCK, META, and CONTROL keys down. See the man page for "keycomp" for more information. |
| @@ -96,5 +101,16 @@ | |||
| 96 | # local variables: | 101 | # local variables: |
| 97 | # tab-width: 4 | 102 | # tab-width: 4 |
| 98 | # End: | 103 | # End: |
| 104 | # | ||
| 105 | # COPYING CONDITIONS | ||
| 106 | # Permission is hereby granted, free of charge, to any person obtaining | ||
| 107 | # a copy of this file, to deal in the file without restriction, including | ||
| 108 | # without limitation the rights to use, copy, modify, merge, publish, | ||
| 109 | # distribute, sublicense, and/or sell copies of the file, and to | ||
| 110 | # permit persons to whom the file is furnished to do so, subject to | ||
| 111 | # the following condition: | ||
| 112 | # | ||
| 113 | # The above copyright notice and this permission notice shall be | ||
| 114 | # included in all copies or substantial portions of the file. | ||
| 99 | 115 | ||
| 100 | # arch-tag: cbaa71af-719b-4647-a2c1-cd4d36a4fc64 | 116 | # arch-tag: cbaa71af-719b-4647-a2c1-cd4d36a4fc64 |
diff --git a/etc/compilation.txt b/etc/compilation.txt index 72ff5ac5316..2e784000149 100644 --- a/etc/compilation.txt +++ b/etc/compilation.txt | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | * Introduction -*-compilation-*- | 1 | * Introduction -*-compilation-*- (Copyright information at end of file) |
| 2 | 2 | ||
| 3 | This shows the different kinds of messages compile recognizes by default and | 3 | This shows the different kinds of messages compile recognizes by default and |
| 4 | how they are rendered. It is intended both to help you decide which matchers | 4 | how they are rendered. It is intended both to help you decide which matchers |
| @@ -401,3 +401,23 @@ Compilation killed at Wed Jul 20 12:20:10 | |||
| 401 | Compilation terminated at Wed Jul 20 12:20:10 | 401 | Compilation terminated at Wed Jul 20 12:20:10 |
| 402 | Compilation exited abnormally with code 1 at Wed Jul 20 12:21:12 | 402 | Compilation exited abnormally with code 1 at Wed Jul 20 12:21:12 |
| 403 | Compilation finished at Thu Jul 21 15:02:15 | 403 | Compilation finished at Thu Jul 21 15:02:15 |
| 404 | |||
| 405 | |||
| 406 | Copyright (c) 2004, 2005, 2006 | ||
| 407 | Free software Foundation, Inc. | ||
| 408 | |||
| 409 | COPYING PERMISSIONS: | ||
| 410 | |||
| 411 | This document is free software; you can redistribute it and/or modify | ||
| 412 | it under the terms of the GNU General Public License as published by | ||
| 413 | the Free Software Foundation; either version 2 of the License, or | ||
| 414 | (at your option) any later version. | ||
| 415 | |||
| 416 | This program is distributed in the hope that it will be useful, | ||
| 417 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 418 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 419 | GNU General Public License for more details. | ||
| 420 | |||
| 421 | You should have received a copy of the GNU General Public License | ||
| 422 | along with this program; if not, write to the Free Software | ||
| 423 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
diff --git a/etc/cs-refcard.tex b/etc/cs-refcard.tex index be54da104ad..762b33f3d09 100644 --- a/etc/cs-refcard.tex +++ b/etc/cs-refcard.tex | |||
| @@ -591,8 +591,9 @@ Pohyb mezi uzly: | |||
| 591 | Dal¹í: | 591 | Dal¹í: |
| 592 | 592 | ||
| 593 | \key{spustit {\bf tutoriál} k~Info}{h} | 593 | \key{spustit {\bf tutoriál} k~Info}{h} |
| 594 | \key{{\bf ukonèit} Info}{q} | 594 | % \key{look up a subject in the indices}{i} % FIXME |
| 595 | \key{prohledat uzly na øetìzec}{M-s} | 595 | \key{prohledat uzly na øetìzec}{M-s} |
| 596 | \key{{\bf ukonèit} Info}{q} | ||
| 596 | 597 | ||
| 597 | \endindentedkeys | 598 | \endindentedkeys |
| 598 | 599 | ||
diff --git a/etc/de-refcard.tex b/etc/de-refcard.tex index 743e699fd76..7e0df6e378b 100644 --- a/etc/de-refcard.tex +++ b/etc/de-refcard.tex | |||
| @@ -1,12 +1,28 @@ | |||
| 1 | % Reference Card for GNU Emacs version 19 on Unix systems | 1 | % Reference Card for GNU Emacs version 22 on Unix systems |
| 2 | % | ||
| 3 | % Translation into German by Sven Joachim <svenjoac@gmx.de> | ||
| 4 | % | ||
| 2 | %**start of header | 5 | %**start of header |
| 3 | \newcount\columnsperpage | 6 | \newcount\columnsperpage |
| 7 | \newcount\letterpaper | ||
| 4 | 8 | ||
| 5 | % This file can be printed with 1, 2, or 3 columns per page (see below). | 9 | % This file can be printed with 1, 2, or 3 columns per page (see below). |
| 6 | % Specify how many you want here. Nothing else needs to be changed. | 10 | % Specify how many you want here. |
| 11 | |||
| 12 | \columnsperpage=3 | ||
| 13 | |||
| 14 | % Set letterpaper to 0 for A4 paper, 1 for letter (US) paper. Useful | ||
| 15 | % only when columnsperpage is 2 or 3. | ||
| 16 | |||
| 17 | \letterpaper=0 | ||
| 7 | 18 | ||
| 8 | \columnsperpage=2 | 19 | % If you don't have german.sty, you can either get it from CTAN or |
| 20 | % change the \glqq and \grqq commands below. | ||
| 9 | 21 | ||
| 22 | \input german.sty | ||
| 23 | \mdqoff % deactivates the "-char | ||
| 24 | |||
| 25 | % Nothing else needs to be changed below this line. | ||
| 10 | % Copyright (C) 1987, 1993, 1996, 2000, 2002, 2003, 2004, | 26 | % Copyright (C) 1987, 1993, 1996, 2000, 2002, 2003, 2004, |
| 11 | % 2005, 2006 Free Software Foundation, Inc. | 27 | % 2005, 2006 Free Software Foundation, Inc. |
| 12 | 28 | ||
| @@ -43,6 +59,10 @@ | |||
| 43 | % For this you need a dvi device driver that can print sideways. | 59 | % For this you need a dvi device driver that can print sideways. |
| 44 | % Which mode to use is controlled by setting \columnsperpage above. | 60 | % Which mode to use is controlled by setting \columnsperpage above. |
| 45 | % | 61 | % |
| 62 | % To compile and print this document: | ||
| 63 | % tex de-refcard.tex | ||
| 64 | % dvips -t landscape de-refcard.dvi | ||
| 65 | % | ||
| 46 | % Author: | 66 | % Author: |
| 47 | % Stephen Gildea | 67 | % Stephen Gildea |
| 48 | % Internet: gildea@stop.mail-abuse.org | 68 | % Internet: gildea@stop.mail-abuse.org |
| @@ -52,23 +72,26 @@ | |||
| 52 | 72 | ||
| 53 | % If there were room, it would be nice to see a section on Dired. | 73 | % If there were room, it would be nice to see a section on Dired. |
| 54 | 74 | ||
| 55 | \def\versionnumber{2.1} | 75 | \def\versionnumber{2.3} |
| 56 | \def\year{2006} | 76 | \def\year{2006} |
| 57 | \def\version{March \year\ v\versionnumber} | ||
| 58 | 77 | ||
| 59 | \def\shortcopyrightnotice{\vskip 1ex plus 2 fill | 78 | \def\shortcopyrightnotice{\vskip 1ex plus 2 fill |
| 60 | \centerline{\small \copyright\ \year\ Free Software Foundation, Inc. | 79 | \centerline{\small \copyright\ \year\ Free Software Foundation, Inc. |
| 61 | Permissions on back. v\versionnumber}} | 80 | Bedingungen auf der R\"uckseite. v\versionnumber}} |
| 62 | 81 | ||
| 63 | \def\copyrightnotice{\vskip 1ex plus 2 fill\begingroup\small | 82 | \def\copyrightnotice{\vskip 1ex plus 2 fill\begingroup\small |
| 64 | \centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.} | 83 | \centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.} |
| 65 | \centerline{designed by Stephen Gildea, \version} | 84 | \centerline{v\versionnumber{} f\"ur GNU Emacs Version 22, \year} |
| 66 | \centerline{for GNU Emacs version 19 on Unix systems} | 85 | \centerline{entworfen von Stephen Gildea} |
| 86 | % \centerline{deutsche \"Ubersetzung von Sven Joachim} | ||
| 67 | 87 | ||
| 68 | Permission is granted to make and distribute copies of | 88 | Es ist gestattet, diese Referenzkarte zu vervielf\"altigen und zu |
| 69 | this card provided the copyright notice and this permission notice | 89 | verbreiten, vorausgesetzt dass sich der Copyright-Hinweis und der |
| 70 | are preserved on all copies. | 90 | Hinweis auf diese Erlaubnis auf allen Kopien befinden. |
| 71 | 91 | ||
| 92 | F\"ur Kopien des Handbuchs zu GNU Emacs schreiben Sie an die Free | ||
| 93 | Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | ||
| 94 | 02110-1301 USA. | ||
| 72 | 95 | ||
| 73 | \endgroup} | 96 | \endgroup} |
| 74 | 97 | ||
| @@ -104,9 +127,9 @@ are preserved on all copies. | |||
| 104 | \hsize 3.2in | 127 | \hsize 3.2in |
| 105 | \vsize 7.95in | 128 | \vsize 7.95in |
| 106 | % \hoffset -.75in | 129 | % \hoffset -.75in |
| 107 | \hoffset -.82in | 130 | \hoffset -.49in |
| 108 | % \voffset -.745in | 131 | % \voffset -.745in |
| 109 | \voffset -.6in | 132 | \voffset -.84in |
| 110 | \font\titlefont=cmbx10 \scaledmag2 | 133 | \font\titlefont=cmbx10 \scaledmag2 |
| 111 | \font\headingfont=cmbx10 \scaledmag1 | 134 | \font\headingfont=cmbx10 \scaledmag1 |
| 112 | \font\smallfont=cmr6 | 135 | \font\smallfont=cmr6 |
| @@ -174,7 +197,7 @@ are preserved on all copies. | |||
| 174 | \chardef\{=`\{ | 197 | \chardef\{=`\{ |
| 175 | \chardef\}=`\} | 198 | \chardef\}=`\} |
| 176 | 199 | ||
| 177 | \hyphenation{mini-buf-fer} | 200 | \hyphenation{Mini-puf-fer} |
| 178 | 201 | ||
| 179 | \parindent 0pt | 202 | \parindent 0pt |
| 180 | \parskip 1ex plus .5ex minus .5ex | 203 | \parskip 1ex plus .5ex minus .5ex |
| @@ -190,8 +213,8 @@ are preserved on all copies. | |||
| 190 | 213 | ||
| 191 | % section - new major section. Argument is section name. | 214 | % section - new major section. Argument is section name. |
| 192 | \outer\def\section#1{\par\filbreak | 215 | \outer\def\section#1{\par\filbreak |
| 193 | \vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}% | 216 | \vskip 2ex plus 1.5ex minus 2.5ex {\headingfont #1}\mark{#1}% |
| 194 | \vskip 2ex plus 1ex minus 1.5ex} | 217 | \vskip 1.5ex plus 1ex minus 1.5ex} |
| 195 | 218 | ||
| 196 | \newdimen\keyindent | 219 | \newdimen\keyindent |
| 197 | 220 | ||
| @@ -250,142 +273,146 @@ are preserved on all copies. | |||
| 250 | %**end of header | 273 | %**end of header |
| 251 | 274 | ||
| 252 | 275 | ||
| 253 | \title{GNU Emacs Referenzkarte} | 276 | \title{Referenzkarte zu GNU Emacs} |
| 254 | 277 | ||
| 255 | %\centerline{(fuer version 19)} | 278 | \centerline{(f\"ur Version 22)} |
| 256 | 279 | ||
| 257 | \section{Emacs Starten} | 280 | \section{Emacs starten} |
| 258 | 281 | ||
| 259 | Um GNU Emacs 19 zu starten, tippen Sie ein: \kbd{emacs} | 282 | Um GNU Emacs 22 zu starten, geben Sie \kbd{emacs} ein. |
| 260 | 283 | ||
| 261 | Um eine Datei fuers Editieren zu laden, lesen Sie unten weiter. | 284 | % Um eine Datei f\"urs Editieren zu laden, lesen Sie unten weiter. |
| 262 | 285 | ||
| 263 | \section{Emacs Verlassen} | 286 | \section{Emacs verlassen} |
| 264 | 287 | ||
| 265 | \key{Emacs pausieren lassen}{C-z} | 288 | \key{Emacs unterbrechen (unter X: minimieren)}{C-z} |
| 266 | \key{Emacs beenden}{C-x C-c} | 289 | \key{Emacs beenden}{C-x C-c} |
| 267 | 290 | ||
| 268 | \section{Dateien} | 291 | \section{Dateien} |
| 269 | 292 | ||
| 270 | \key{Datei {\bf oeffnen} }{C-x C-f} | 293 | \key{Datei {\bf \"offnen} }{C-x C-f} |
| 271 | \key{Datei {\bf sichern} }{C-x C-s} | 294 | \key{Datei {\bf speichern} }{C-x C-s} |
| 272 | \key{{\bf alle} Dateien sichern}{C-x s} | 295 | \key{{\bf alle} Dateien speichern}{C-x s} |
| 273 | \key{den Inhalt einer anderen Datei {\bf einfuegen}}{C-x i} | 296 | \key{den Inhalt einer anderen Datei {\bf einf\"ugen}}{C-x i} |
| 274 | \key{diese Datei durch eine andere ersetzen}{C-x C-v} | 297 | \key{diese Datei durch eine andere ersetzen}{C-x C-v} |
| 275 | \key{Datei neu anlegen und speichern}{C-x C-w} | 298 | \key{Puffer in neuer Datei speichern}{C-x C-w} |
| 276 | \key{version control ein/auschecken}{C-x C-q} | 299 | \key{Nur-Lesen-Modus des Puffers wechseln}{C-x C-q} |
| 277 | 300 | ||
| 278 | \section{Hilfe} | 301 | \section{Hilfe} |
| 279 | 302 | ||
| 280 | Das Hilfesystem ist einfach zu bedienen. Tippen Sie \kbd{C-h} (oder \kbd{F1}). Neulinge tippen \kbd{C-h t} um ein {\bf tutorial} zu starten. | 303 | Das Hilfesystem ist einfach zu bedienen. Dr\"ucken Sie \kbd{C-h} (oder |
| 304 | \kbd{F1}). Neulinge dr\"ucken \kbd{C-h t}, um eine {\bf Einf\"uhrung} zu | ||
| 305 | starten. | ||
| 281 | 306 | ||
| 282 | \key{Hilfe Fenster entfernen}{C-x 1} | 307 | \key{Hilfefenster entfernen}{C-x 1} |
| 283 | \key{Hilfe Fenster scrollen}{C-M-v} | 308 | \key{Hilfefenster scrollen}{C-M-v} |
| 284 | 309 | ||
| 285 | \key{apropos: zeigt alle Befehle mit dem Muster}{C-h a} | 310 | \key{Befehle zeigen, die Zeichenkette enthalten}{C-h a} |
| 286 | \key{zeigt die Funktion mit dieser Tastenkomb.}{C-h c} | 311 | \key{Tastenkombination beschreiben}{C-h k} |
| 287 | \key{beschreibt die Funktion}{C-h f} | 312 | \key{eine Funktion beschreiben}{C-h f} |
| 288 | \key{modusspezifische Information}{C-h m} | 313 | \key{modusspezifische Informationen}{C-h m} |
| 289 | 314 | ||
| 290 | \section{Was tun wenn nichts mehr geht} | 315 | \section{Fehlerbehandlung} |
| 291 | 316 | ||
| 292 | \key{{\bf Abbrechen} eines Vorgangs}{C-g} | 317 | \key{{\bf Abbrechen} eines Vorgangs}{C-g} |
| 293 | \metax{{\bf Wiederherstellung} von Dateien}{M-x recover-file} | 318 | \metax{{\bf Wiederherstellung} von Dateien}{M-x recover-session} |
| 294 | \key{{\bf rueckgaengig} machen}{C-x u} | 319 | \metax{{\"Anderungen \bf r\"uckg\"angig} machen}{C-x u, C-_ {\rm oder} C-/} |
| 295 | \metax{Puffer in Ursprungszustand bringen}{M-x revert-buffer} | 320 | \metax{Puffer in Ursprungszustand bringen}{M-x revert-buffer} |
| 296 | \key{Bildschirmanzeige in Ordnung bringen}{C-l} | 321 | \key{Bildschirmanzeige in Ordnung bringen}{C-l} |
| 297 | 322 | ||
| 298 | \section{Inkrementelle Suche} | 323 | \section{Inkrementelle Suche} |
| 299 | 324 | ||
| 300 | \key{Suche vorwaerts}{C-s} | 325 | \key{Suche vorw\"arts}{C-s} |
| 301 | \key{Suche rueckwaerts}{C-r} | 326 | \key{Suche r\"uckw\"arts}{C-r} |
| 302 | \key{Suche mit regulaeren Ausdruecken}{C-M-s} | 327 | \key{Suche mit regul\"aren Ausdr\"ucken}{C-M-s} |
| 303 | \key{Rueckwaertssuche mit reg. Ausdruecken}{C-M-r} | 328 | \key{R\"uckw\"artssuche mit regul\"aren Ausdr\"ucken}{C-M-r} |
| 304 | \key{letzten Suchausdruck auswaehlen}{M-p} | 329 | |
| 305 | \key{spaeteren Suchausdruck auswaehlen}{M-n} | 330 | \key{fr\"uheren Suchausdruck ausw\"ahlen}{M-p} |
| 331 | \key{sp\"ateren Suchausdruck ausw\"ahlen}{M-n} | ||
| 306 | \key{inkrementelle Suche beenden}{RET} | 332 | \key{inkrementelle Suche beenden}{RET} |
| 307 | \key{ein Suchzeichen zurueckgehen}{DEL} | 333 | \key{ein Suchzeichen zur\"uckgehen}{DEL} |
| 308 | \key{Suche abbrechen}{C-g} | 334 | \key{Suche abbrechen}{C-g} |
| 309 | 335 | ||
| 310 | Wiederholtes Druecken von \kbd{C-s} oder \kbd{C-r} sucht weitere Treffer. | 336 | Wiederholtes Dr\"ucken von \kbd{C-s} oder \kbd{C-r} sucht weitere Treffer. |
| 311 | Wenn Emacs sucht, unterbricht \kbd{C-g} nur die jeweils letzte Suche. | 337 | Wenn Emacs sucht, unterbricht \kbd{C-g} nur die jeweils letzte Suche. |
| 312 | 338 | ||
| 313 | \shortcopyrightnotice | 339 | \shortcopyrightnotice |
| 314 | 340 | ||
| 315 | \section{Cursor Bewegung} | 341 | \section{Cursor-Bewegung} |
| 316 | 342 | ||
| 317 | \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr | 343 | \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr |
| 318 | \threecol{{\bf Textteile ueberspringen}}{{\bf rueckw.}}{{\bf vorw.}} | 344 | \threecol{{\bf Textteile \"uberspringen}}{{\bf r\"uckw.}}{{\bf vorw.}} |
| 319 | \threecol{Zeichen}{C-b}{C-f} | 345 | \threecol{Zeichen}{C-b}{C-f} |
| 320 | \threecol{Wort}{M-b}{M-f} | 346 | \threecol{Wort}{M-b}{M-f} |
| 321 | \threecol{Zeile}{C-p}{C-n} | 347 | \threecol{Zeile}{C-p}{C-n} |
| 322 | \threecol{zum Zeilenende springen}{C-a}{C-e} | 348 | \threecol{zum Zeilenanfang (oder -ende) springen}{C-a}{C-e} |
| 323 | \threecol{Satz}{M-a}{M-e} | 349 | \threecol{Satz}{M-a}{M-e} |
| 324 | \threecol{Paragraph}{M-\{}{M-\}} | 350 | \threecol{Paragraph}{M-\{}{M-\}} |
| 325 | \threecol{Seite}{C-x [}{C-x ]} | 351 | \threecol{Seite}{C-x [}{C-x ]} |
| 326 | \threecol{Lisp-s-expression}{C-M-b}{C-M-f} | 352 | \threecol{Lisp-s-expression}{C-M-b}{C-M-f} |
| 327 | \threecol{Funktion}{C-M-a}{C-M-e} | 353 | \threecol{Funktion}{C-M-a}{C-M-e} |
| 328 | \threecol{zum Pufferanfang (oder Ende)springen}{M-<}{M->} | 354 | \threecol{zum Pufferanfang (oder -ende) springen}{M-<}{M->} |
| 329 | } | 355 | } |
| 330 | 356 | ||
| 331 | \key{eine Bildschirmseite runter scrollen}{C-v} | 357 | \key{eine Bildschirmseite herunter scrollen}{C-v} |
| 332 | \key{eine Bildschirmseite hoch scrollen}{M-v} | 358 | \key{eine Bildschirmseite hoch scrollen}{M-v} |
| 333 | \key{nach links scrollen}{C-x <} | 359 | \key{nach links scrollen}{C-x <} |
| 334 | \key{nach rechts scrollen}{C-x >} | 360 | \key{nach rechts scrollen}{C-x >} |
| 335 | \key{Cursorzeile in die Bildschirmmitte scrollen}{C-u C-l} | 361 | \key{Cursor-Zeile in die Bildschirmmitte scrollen}{C-u C-l} |
| 336 | 362 | ||
| 337 | \section{Loeschen} | 363 | \section{L\"oschen und Ausschneiden} |
| 338 | 364 | ||
| 339 | \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr | 365 | \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr |
| 340 | \threecol{{\bf Textteile }}{{\bf rueckwaerts}}{{\bf vorwaerts}} | 366 | \threecol{{\bf Textteile ausschneiden}}{{\bf r\"uckw.}}{{\bf vorw.}} |
| 341 | \threecol{Zeichen (loeschen)}{DEL}{C-d} | 367 | \threecol{Zeichen (l\"oschen, nicht ausschneiden)}{DEL}{C-d} |
| 342 | \threecol{Wort}{M-DEL}{M-d} | 368 | \threecol{Wort}{M-DEL}{M-d} |
| 343 | \threecol{Zeile (bis zum Ende)}{M-0 C-k}{C-k} | 369 | \threecol{Zeile (bis zum Ende)}{M-0 C-k}{C-k} |
| 344 | \threecol{Satz}{C-x DEL}{M-k} | 370 | \threecol{Satz}{C-x DEL}{M-k} |
| 345 | \threecol{Lisp-s-expression}{M-- C-M-k}{C-M-k} | 371 | \threecol{Lisp-s-expression}{M-- C-M-k}{C-M-k} |
| 346 | } | 372 | } |
| 347 | \key{{\bf Bereiche} loeschen}{C-w} | 373 | \key{{\bf Bereich} ausschneiden}{C-w} |
| 348 | \key{Bereich in die Ablage kopieren}{M-w} | 374 | \key{Bereich in die Ablage kopieren}{M-w} |
| 349 | \key{Bis zum {\it Zeichen} loeschen }{M-z {\it Zeichen}} | 375 | \key{bis zum {\it Zeichen} ausschneiden }{M-z {\it Zeichen}} |
| 350 | \key{letztes geloeschtes Zeichen einsetzen}{C-y} | 376 | \key{zuletzt ausgeschnittenen Text einf\"ugen}{C-y} |
| 351 | \key{eins davor einsetzen}{M-y} | 377 | \key{vorher ausgeschnittenen Text einf\"ugen}{M-y} |
| 352 | 378 | ||
| 353 | \section{Markieren} | 379 | \section{Markieren} |
| 354 | 380 | ||
| 355 | \key{Marke setzen}{C-@ {\rm or} C-SPC} | 381 | \key{Marke setzen}{C-@ {\rm oder}\thinspace\thinspace{}C-SPC} % H\"asslich, aber |
| 356 | \key{zwischen Cursor und Marke wechseln}{C-x C-x} | 382 | % Leerzeichen statt \thinspace erzeugt overfull \hbox. @#$?*&! |
| 383 | \key{Cursor und Marke austauschen}{C-x C-x} | ||
| 357 | \key{Marke {\it Argument\/} {\bf Worte} entfernt setzen}{M-@} | 384 | \key{Marke {\it Argument\/} {\bf Worte} entfernt setzen}{M-@} |
| 358 | \key{{\bf Paragraph} markieren}{M-h} | 385 | \key{{\bf Paragraph} markieren}{M-h} |
| 359 | \key{{\bf Seite} markieren}{C-x C-p} | 386 | \key{{\bf Seite} markieren}{C-x C-p} |
| 360 | \key{{\bf Lisp-s-expression} markieren}{C-M-@} | 387 | \key{{\bf Lisp-s-expression} markieren}{C-M-@} |
| 361 | \key{{\bf Funktion} markiern}{C-M-h} | 388 | \key{{\bf Funktion} markieren}{C-M-h} |
| 362 | \key{den ganzen {\bf Puffer} markieren}{C-x h} | 389 | \key{den ganzen {\bf Puffer} markieren}{C-x h} |
| 363 | 390 | ||
| 364 | \section{Interaktives Ersetzen} | 391 | \section{Interaktives Ersetzen} |
| 365 | 392 | ||
| 366 | \key{Zeichenkette interaktiv ersetzen}{M-\%} | 393 | \key{Zeichenkette interaktiv ersetzen}{M-\%} |
| 367 | \metax{mit regulaeren Ausdruecken}{M-x query-replace-regexp} | 394 | \metax{mit regul\"aren Ausdr\"ucken}{M-x query-replace-regexp} |
| 368 | 395 | ||
| 369 | Moegliche Antworten in diesem Modus: | 396 | M\"ogliche Antworten in diesem Modus: |
| 370 | 397 | ||
| 371 | \key{dies {\bf ersetzten} und zum naechsten gehen}{SPC} | 398 | \key{dies {\bf ersetzen} und zum n\"achsten gehen}{SPC} |
| 372 | \key{dies ersetzen}{,} | 399 | \key{dies ersetzen und nicht weitergehen}{,} |
| 373 | \key{dies {\bf ueberspringen}, zum naechsten gehen}{DEL} | 400 | \key{dies {\bf \"uberspringen}, zum n\"achsten gehen}{DEL} |
| 374 | \key{alle verbleibenden Treffer ersetzen}{!} | 401 | \key{alle verbleibenden Treffer ersetzen}{!} |
| 375 | \key{eine Ersetzung{\bf rueckgaengig} machen }{^} | 402 | \key{zum vorherigen Treffer {\bf zur\"uckgehen} }{^} |
| 376 | \key{interaktiven Modus{\bf verlassen}}{RET} | 403 | \key{interaktives Ersetzen {\bf beenden}}{RET} |
| 377 | \key{rekursiven Modus starten (\kbd{C-M-c} verlassen)}{C-r} | 404 | \key{rekursives Editieren starten (\kbd{C-M-c} beendet)}{C-r} |
| 378 | 405 | ||
| 379 | \section{Mehrere Fenster} | 406 | \section{Mehrere Fenster} |
| 380 | 407 | ||
| 381 | Die zweite Tastenk. bezieht sich immer auf das andere Fenster: | 408 | Wenn zwei Befehle angezeigt werden, ist der zweite ein \"ahn\-li\-cher f\"ur |
| 382 | 409 | einen Rahmen statt eines Fensters. | |
| 383 | \key{alle anderen Fenster in den Hintergrund}{C-x 1} | ||
| 384 | 410 | ||
| 385 | {\setbox0=\hbox{\kbd{0}}\advance\hsize by 0\wd0 | 411 | {\setbox0=\hbox{\kbd{0}}\advance\hsize by 0\wd0 |
| 386 | \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr | 412 | \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr |
| 413 | \threecol{alle anderen Fenster schlie\ss{}en}{C-x 1\ \ \ \ }{C-x 5 1} | ||
| 387 | \threecol{Fenster vertikal teilen}{C-x 2\ \ \ \ }{C-x 5 2} | 414 | \threecol{Fenster vertikal teilen}{C-x 2\ \ \ \ }{C-x 5 2} |
| 388 | \threecol{dieses Fenster loeschen}{C-x 0\ \ \ \ }{C-x 5 0} | 415 | \threecol{dieses Fenster schlie\ss{}en}{C-x 0\ \ \ \ }{C-x 5 0} |
| 389 | }} | 416 | }} |
| 390 | \key{Fenster horizontal teilen}{C-x 3} | 417 | \key{Fenster horizontal teilen}{C-x 3} |
| 391 | 418 | ||
| @@ -393,252 +420,273 @@ Die zweite Tastenk. bezieht sich immer auf das andere Fenster: | |||
| 393 | 420 | ||
| 394 | {\setbox0=\hbox{\kbd{0}}\advance\hsize by 2\wd0 | 421 | {\setbox0=\hbox{\kbd{0}}\advance\hsize by 2\wd0 |
| 395 | \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr | 422 | \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr |
| 396 | \threecol{ins andere Fenster wechseln}{C-x o}{C-x 5 o} | 423 | \threecol{in anderes Fenster wechseln}{C-x o}{C-x 5 o} |
| 397 | 424 | ||
| 398 | \threecol{Puffer in ein anderes Fenster bringen}{C-x 4 b}{C-x 5 b} | 425 | \threecol{Puffer in and. Fenster ausw\"ahlen}{C-x 4 b}{C-x 5 b} |
| 399 | \threecol{Puffer in einem anderen Fenster darstellen}{C-x 4 C-o}{C-x 5 C-o} | 426 | \threecol{Puffer in anderem Fenster anzeigen}{C-x 4 C-o}{C-x 5 C-o} |
| 400 | \threecol{Datei in ein anderes Fenster oeffnen}{C-x 4 f}{C-x 5 f} | 427 | \threecol{Datei in anderem Fenster \"offnen}{C-x 4 f}{C-x 5 f} |
| 401 | \threecol{Datei im Ansichtmodus in anderem Fenster oeffnen}{C-x 4 r}{C-x 5 r} | 428 | \threecol{Datei in anderem Fenster anzeigen}{C-x 4 r}{C-x 5 r} |
| 402 | \threecol{Dired in einem anderen Fenster oeffnen}{C-x 4 d}{C-x 5 d} | 429 | \threecol{Dired in anderem Fenster starten}{C-x 4 d}{C-x 5 d} |
| 403 | \threecol{Tag in einem anderen Fenster finden}{C-x 4 .}{C-x 5 .} | 430 | \threecol{Tag in anderem Fenster finden}{C-x 4 .}{C-x 5 .} |
| 404 | }} | 431 | }} |
| 405 | 432 | ||
| 406 | \key{Fenster vergroessern}{C-x ^} | 433 | \key{Fenster vergr\"o\ss{}ern}{C-x ^} |
| 407 | \key{Fenster schmaler machen}{C-x \{} | 434 | \key{Fenster verengen}{C-x \{} |
| 408 | \key{Fenster breiter machen}{C-x \}} | 435 | \key{Fenster verbreitern}{C-x \}} |
| 409 | 436 | ||
| 410 | \section{Formattierung} | 437 | \section{Formatierung} |
| 411 | 438 | ||
| 412 | \key{{\bf Zeile} (modusabhaengig) einruecken}{TAB} | 439 | \key{{\bf Zeile} (modusabh\"angig) einr\"ucken}{TAB} |
| 413 | \key{{\bf Bereich} (modusabh.) einruecken}{C-M-\\} | 440 | \key{{\bf Bereich} (modusabh\"angig) einr\"ucken}{C-M-\\} |
| 414 | \key{{\bf Lisp-s-expression} (modusabh.) einruecken}{C-M-q} | 441 | \key{{\bf Lisp-s-expression} (modusabh.) einr\"ucken}{C-M-q} |
| 415 | \key{Bereich {\it Argument\/} Spalten einruecken}{C-x TAB} | 442 | \key{Bereich {\it Argument\/} Spalten einr\"ucken}{C-x TAB} |
| 416 | \key{Zeilenumbruch nach Cursor einfuegen}{C-o} | 443 | |
| 444 | \key{Zeilenumbruch nach Cursor einf\"ugen}{C-o} | ||
| 417 | \key{Zeilenrest vertikal nach unten verschieben}{C-M-o} | 445 | \key{Zeilenrest vertikal nach unten verschieben}{C-M-o} |
| 418 | \key{Leerzeilen um Cursorposition loeschen}{C-x C-o} | 446 | \key{Leerzeilen um Cursor-Position l\"oschen}{C-x C-o} |
| 419 | \key{Zeile mit letzter verbinden (Arg. naechster)}{M-^} | 447 | \key{Zeile mit voriger verbinden (Arg. n\"achste)}{M-^} |
| 420 | \key{Leerzeichen an Cursorposition loeschen}{M-\\} | 448 | \key{alle Leerzeichen um Cursor-Position l\"oschen}{M-\\} |
| 421 | \key{ein Leerzeichen an Cursorposition setzen}{M-SPC} | 449 | \key{genau ein Leerzeichen an Cursor-Position}{M-SPC} |
| 422 | \key{Paragraph auffuellen}{M-q} | 450 | |
| 423 | \key{Fuell Spalte setzen}{C-x f} | 451 | \key{Paragraph auff\"ullen}{M-q} |
| 424 | \key{Praefix setzen fuer jede Zeile}{C-x .} | 452 | \key{Spalte f\"ur Umbruch setzen}{C-x f} |
| 425 | \key{Zeichendarstellung setzen}{M-g} | 453 | \key{Pr\"afix f\"ur jede Zeile setzen}{C-x .} |
| 426 | 454 | ||
| 427 | \section{Gross-Kleinbuchstaben} | 455 | \key{Face setzen}{M-o} |
| 428 | 456 | ||
| 429 | \key{Wort in Grossbuchstaben}{M-u} | 457 | \section{Gro\ss{}- und Kleinschreibung} |
| 458 | |||
| 459 | \key{Wort in Gro\ss{}buchstaben}{M-u} | ||
| 430 | \key{Wort in Kleinbuchstaben}{M-l} | 460 | \key{Wort in Kleinbuchstaben}{M-l} |
| 431 | \key{Word mit grossen Anfangsbuchstaben}{M-c} | 461 | \key{Wort mit gro\ss{}em Anfangsbuchstaben}{M-c} |
| 432 | 462 | ||
| 433 | \key{Bereich in Grossbuchstaben}{C-x C-u} | 463 | \key{Bereich in Gro\ss{}buchstaben}{C-x C-u} |
| 434 | \key{Bereich in Kleinbuchstaben}{C-x C-l} | 464 | \key{Bereich in Kleinbuchstaben}{C-x C-l} |
| 435 | 465 | ||
| 436 | \section{Der Minipuffer} | 466 | \section{Der Minipuffer} |
| 437 | 467 | ||
| 438 | Die folgenden Tastenkombination gelten im Minipuffer: | 468 | Die folgenden Tastenkombinationen gelten im Minipuffer: |
| 439 | 469 | ||
| 440 | \key{so viel wie moeglich ergaenzen}{TAB} | 470 | \key{so weit wie m\"oglich erg\"anzen}{TAB} |
| 441 | \key{ein Wort ergaenzen}{SPC} | 471 | \key{ein Wort erg\"anzen}{SPC} |
| 442 | \key{ergaenzen und ausfuehren}{RET} | 472 | \key{erg\"anzen und ausf\"uhren}{RET} |
| 443 | \key{moegliche Ergaenzungen zeigen}{?} | 473 | \key{m\"ogliche Erg\"anzungen zeigen}{?} |
| 444 | \key{letzte Eingabe wiederanzeigen}{M-p} | 474 | \key{letzte Eingabe zur\"uckholen}{M-p} |
| 445 | \key{spaetere Eingabe wiederanzeigen}{M-n} | 475 | \key{sp\"atere Eingabe zur\"uckholen}{M-n} |
| 446 | \key{reg. Ausd. rueckwaerts in History suchen}{M-r} | 476 | \key{reg. Ausd. r\"uckw\"arts in History suchen}{M-r} |
| 447 | \key{reg. Ausd. vorwaerts in History suchen}{M-s} | 477 | \key{reg. Ausd. vorw\"arts in History suchen}{M-s} |
| 448 | \key{Vorgang unterbrechen}{C-g} | 478 | \key{Befehl abbrechen}{C-g} |
| 449 | 479 | ||
| 450 | Tippen Sie \kbd{C-x ESC ESC} um den letzten Befehl zu editieren und zu wiederholen der im Minipuffer ausgefuehrt wurde. | 480 | Dr\"ucken Sie \kbd{C-x ESC ESC}, um den letzten Befehl zu bearbeiten |
| 481 | und zu wiederholen, der im Minipuffer aus\-gef\"uhrt wurde. Dr\"u\-cken Sie | ||
| 482 | \kbd{F10}, um die Men\"u\-zei\-le im Minipuffer zu aktivieren. | ||
| 451 | 483 | ||
| 452 | \newcolumn | 484 | \newcolumn |
| 453 | \title{GNU Emacs Referenzkarte} | 485 | \title{Referenzkarte zu GNU Emacs} |
| 454 | 486 | ||
| 455 | \section{Puffer} | 487 | \section{Puffer} |
| 456 | 488 | ||
| 457 | \key{anderen Puffer auswaehlen}{C-x b} | 489 | \key{anderen Puffer ausw\"ahlen}{C-x b} |
| 458 | \key{alle Puffer anzeigen}{C-x C-b} | 490 | \key{Liste aller Puffer anzeigen}{C-x C-b} |
| 459 | \key{Puffer loeschen}{C-x k} | 491 | \key{einen Puffer schlie\ss{}en}{C-x k} |
| 460 | 492 | ||
| 461 | \section{Vertauschen} | 493 | \section{Vertauschen} |
| 462 | 494 | ||
| 463 | \key{ {\bf Zeichen} vertauschen}{C-t} | 495 | \key{{\bf Zeichen} vertauschen}{C-t} |
| 464 | \key{ {\bf Worte} vertauschen}{M-t} | 496 | \key{{\bf Worte} vertauschen}{M-t} |
| 465 | \key{ {\bf Zeilen} vertauschen}{C-x C-t} | 497 | \key{{\bf Zeilen} vertauschen}{C-x C-t} |
| 466 | \key{ {\bf Lisp-s-expressions} vertauschen}{C-M-t} | 498 | \key{{\bf Lisp-s-expressions} vertauschen}{C-M-t} |
| 467 | 499 | ||
| 468 | \section{Rechtschreibkorrrektur} | 500 | \section{Rechtschreibpr\"ufung} |
| 469 | 501 | ||
| 470 | \key{Ueberpruefe aktuelles Wort}{M-\$} | 502 | \key{aktuelles Wort \"uberpr\"ufen}{M-\$} |
| 471 | \metax{Ueberpruefe alle Woerter in Bereich}{M-x ispell-region} | 503 | \metax{alle W\"orter im Bereich \"uberpr\"ufen}{M-x ispell-region} |
| 472 | \metax{Ueberpruefe den gesamten Bereich}{M-x ispell-buffer} | 504 | \metax{gesamten Puffer \"uberpr\"ufen}{M-x ispell-buffer} |
| 473 | 505 | ||
| 474 | \section{Tags} | 506 | \section{Tags} |
| 475 | 507 | ||
| 476 | \key{Tag finden (Definition)}{M-.} | 508 | \key{Tag finden (Definition)}{M-.} |
| 477 | \key{Naechstes Vorkommen von Tag finden}{C-u M-.} | 509 | \key{n\"achstes Vorkommen von Tag finden}{C-u M-.} |
| 478 | \metax{Neue Tags Datei angeben}{M-x visit-tags-table} | 510 | \metax{neue Tagsdatei angeben}{M-x visit-tags-table} |
| 479 | \metax{Regulaere Ausdruck Suche in Dateien}{M-x tags-search} | 511 | |
| 480 | \metax{Interakt. Ersetzen in allen Dateien}{M-x tags-query-replace} | 512 | \metax{regul\"aren Ausdruck in Dateien suchen}{M-x tags-search} |
| 481 | \key{Letzte Tag Suche oder Ersetzen nochmal}{M-,} | 513 | \metax{interakt. Ersetzen in allen Dateien}{M-x tags-query-replace} |
| 514 | \key{letztes Suchen oder Ersetzen fortsetzen}{M-,} | ||
| 482 | 515 | ||
| 483 | \section{Shells} | 516 | \section{Shells} |
| 484 | 517 | ||
| 485 | \key{Shell Kommando ausfuehren}{M-!} | 518 | \key{Shellbefehl ausf\"uhren}{M-!} |
| 486 | \key{Shell Kommando fuer bereich ausfuehren}{M-|} | 519 | \key{Shellbefehl f\"ur Bereich ausf\"uhren}{M-|} |
| 487 | \key{Bereich durch Shell Kommando filtern}{C-u M-|} | 520 | \key{Bereich durch Shellbefehl filtern}{C-u M-|} |
| 488 | \metax{Shell im Fenster \kbd{*shell*} starten}{M-x shell} | 521 | \metax{eine Shell im Fenster \kbd{*shell*} starten}{M-x shell} |
| 489 | 522 | ||
| 490 | \section{Rechtecke} | 523 | \section{Rechtecke} |
| 491 | 524 | ||
| 492 | \key{Kopiere Rechteck in Register}{C-x r r} | 525 | \key{Rechteck in Register kopieren}{C-x r r} |
| 493 | \key{Loesche Rechteck}{C-x r k} | 526 | \key{Rechteck ausschneiden}{C-x r k} |
| 494 | \key{Rechteck einsetzen}{C-x r y} | 527 | \key{Rechteck einf\"ugen}{C-x r y} |
| 495 | \key{Rechteck aufmachen, Text nach rechts}{C-x r o} | 528 | \key{Rechteck \"offnen, Text nach rechts}{C-x r o} |
| 496 | \key{Rechteck mit Leerzeichen ueberschreiben}{C-x r c} | 529 | \key{Rechteck mit Leerzeichen \"uberschreiben}{C-x r c} |
| 497 | \key{Praefix vor jede Zeile setzen}{C-x r t} | 530 | \key{Pr\"afix vor jede Zeile setzen}{C-x r t} |
| 498 | 531 | ||
| 499 | \section{Abkuerzungen} | 532 | \section{Abk\"urzungen} |
| 500 | 533 | ||
| 501 | \key{globale Abkuerzung hinzufuegen}{C-x a g} | 534 | \key{globale Abk\"urzung hinzuf\"ugen}{C-x a g} |
| 502 | \key{modusabhaengige Abkuerzung hinzufuegen}{C-x a l} | 535 | \key{modusabh\"angige Abk\"urzung hinzuf\"ugen}{C-x a l} |
| 503 | \key{globale Expansion fuer Abk. definieren}{C-x a i g} | 536 | \key{globalen Ersetzungstext f\"ur Abk. definieren}{C-x a i g} |
| 504 | \key{modusabhaengige Abkuerzung definieren}{C-x a i l} | 537 | \key{modusabh. Ersetzungstext f\"ur Abk. def.}{C-x a i l} |
| 505 | \key{explizites Expandieren}{C-x a e} | 538 | \key{Abk\"urzung explizit ausschreiben}{C-x a e} |
| 506 | \key{letztes Wort dynamisch expandieren}{M-/} | 539 | |
| 507 | 540 | \key{letztes Wort dynamisch ausschreiben}{M-/} | |
| 508 | \section{Regulaere Ausdruecke} | 541 | |
| 509 | 542 | \section{Regul\"are Ausdr\"ucke} | |
| 510 | \key{jedes Zeichen ausser Zeilenumbruch}{. {\rm(Punkt)}} | 543 | |
| 511 | \key{Null oder mehr Wiederholungen}{*} | 544 | \key{jedes einzelne Zeichen au\ss{}er Zeilenumbruch}{. {\rm(Punkt)}} |
| 512 | \key{Eine oder mehr Wiederholungen}{+} | 545 | \key{null oder mehr Wiederholungen}{*} |
| 513 | \key{Null oder eine Wiederholung}{?} | 546 | \key{eine oder mehr Wiederholungen}{+} |
| 514 | \key{jedes Zeichen in der Menge}{[ {\rm$\ldots$} ]} | 547 | \key{null oder eine Wiederholung}{?} |
| 515 | \key{jedes Zeichen nicht in der Menge}{[^ {\rm$\ldots$} ]} | 548 | \key{Spezialzeichen {\it c\/} maskieren}{\\{\it c}} |
| 516 | \key{Zeilenanfang}{^} | 549 | \key{Alternative (\glqq oder\grqq )}{\\|} |
| 517 | \key{Zeilenende}{\$} | ||
| 518 | \key{spezielles Zeichen maskieren {\it c\/}}{\\{\it c}} | ||
| 519 | \key{Alternative (``oder'')}{\\|} | ||
| 520 | \key{Gruppe}{\\( {\rm$\ldots$} \\)} | 550 | \key{Gruppe}{\\( {\rm$\ldots$} \\)} |
| 521 | \key{{\it n\/}te Gruppe}{\\{\it n}} | 551 | \key{gleicher Text wie {\it n\/}te Gruppe}{\\{\it n}} |
| 522 | \key{Pufferanfang}{\\`} | 552 | \key{Anfang oder Ende eines Wortes}{\\b} |
| 523 | \key{Pufferende}{\\'} | 553 | \key{weder Anfang noch Ende eines Wortes}{\\B} |
| 524 | \key{Wortzwischenraum}{\\b} | 554 | |
| 525 | \key{Weder Anfang noch Ende eines Wortes}{\\B} | 555 | % \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr |
| 526 | \key{Wortanfang}{\\<} | 556 | % \threecol{{\bf Einheit}}{{\bf passt am Anfang}\hskip-1.5ex}{{\bf passt am Ende}} |
| 527 | \key{Wortende}{\\>} | 557 | % \threecol{Zeile}{^}{\$} |
| 528 | \key{jedes Wort-Syntax Zeichen}{\\w} | 558 | % \threecol{Wort}{\\<}{\\>} |
| 529 | \key{jedes Nicht-Wort-Syntax Zeichen}{\\W} | 559 | % \threecol{Puffer}{\\`}{\\'} |
| 530 | \key{Zeichen mit Syntax {\it c}}{\\s{\it c}} | 560 | |
| 531 | \key{Zeichen nicht mit Syntax {\it c}}{\\S{\it c}} | 561 | % \threecol{{\bf Zeichenklasse}}{{\bf passt auf diese}}{{\bf passt auf andere}} |
| 562 | % \threecol{Explizite Menge}{[ {\rm$\ldots$} ]}{[^ {\rm$\ldots$} ]} | ||
| 563 | % \threecol{Wortsyntax-Zeichen\hskip-10ex}{\\w}{\\W} | ||
| 564 | % \threecol{Zeichen mit Syntax {\it c}\hskip-2.5ex}{\\s{\it c}}{\\S{\it c}} | ||
| 565 | % } | ||
| 532 | 566 | ||
| 533 | \section{Register} | 567 | \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr |
| 568 | \threecol{{\bf Einheit}}{{\bf passt am Anf.}}{{\bf passt am Ende}} | ||
| 569 | \threecol{Zeile}{^}{\$} | ||
| 570 | \threecol{Wort}{\\<}{\\>} | ||
| 571 | \threecol{Puffer}{\\`}{\\'} | ||
| 572 | |||
| 573 | \threecol{{\bf Zeichenklasse}}{{\bf passt auf diese}}{{\bf passt auf and.}} | ||
| 574 | \threecol{Explizite Menge}{[ {\rm$\ldots$} ]}{[^ {\rm$\ldots$} ]} | ||
| 575 | \threecol{Wortsyntax-Zeichen}{\\w}{\\W} | ||
| 576 | \threecol{Zeichen mit Syntax {\it c}}{\\s{\it c}}{\\S{\it c}} | ||
| 577 | } | ||
| 534 | 578 | ||
| 535 | \key{Region in Register speichern}{C-x r s} | 579 | \section{Internationale Zeichens\"atze} |
| 536 | \key{Register Inhalt in Puffer einfuegen}{C-x r i} | 580 | |
| 537 | \key{Cursorposition in Register speichern}{C-x r SPC} | 581 | \key{Hauptsprache einstellen}{C-x RET l} |
| 538 | \key{Springe zur abgespeicherten Position}{C-x r j} | 582 | \metax{Alle Eingabemethoden anzeigen}{M-x list-input-methods} |
| 583 | \key{Eingabemethode in oder au\ss{}er Kraft setzen}{C-\\} | ||
| 584 | \key{Kodierung f\"ur n\"achsten Befehl setzen}{C-x RET c} | ||
| 585 | \metax{Alle Kodierungen anzeigen}{M-x list-coding-systems} | ||
| 586 | \metax{bevorzugte Kodierung ausw\"ahlen}{M-x prefer-coding-system} | ||
| 539 | 587 | ||
| 540 | \section{Info} | 588 | \section{Info} |
| 541 | 589 | ||
| 542 | \key{Info starten}{C-h i} | 590 | \key{Info-Betrachter starten}{C-h i} |
| 591 | \key{Funktion oder Variable in Info finden}{C-h S} | ||
| 543 | \beginindentedkeys | 592 | \beginindentedkeys |
| 544 | 593 | ||
| 545 | Bewegung innerhalb eines Knotens: | 594 | Bewegung innerhalb eines Knotens: |
| 546 | 595 | ||
| 547 | \key{vorwaerts scrollen}{SPC} | 596 | \key{vorw\"arts scrollen}{SPC} |
| 548 | \key{rueckwaerts scrollen}{DEL} | 597 | \key{r\"uckw\"arts scrollen}{DEL} |
| 549 | \key{zum Anfang eines Knotens}{. {\rm (dot)}} | 598 | \key{zum Anfang eines Knotens}{. {\rm (Punkt)}} |
| 550 | 599 | ||
| 551 | Bewegung zwischen Knoten: | 600 | Bewegung zwischen Knoten: |
| 552 | 601 | ||
| 553 | \key{{\bf naechster} Knoten}{n} | 602 | \key{{\bf n\"achster} Knoten}{n} |
| 554 | \key{{\bf vorheriger} Knoten}{p} | 603 | \key{{\bf vorheriger} Knoten}{p} |
| 555 | \key{nach {\bf oben}}{u} | 604 | \key{nach {\bf oben}}{u} |
| 556 | \key{Menue Element ueber Namen auswaehlen}{m} | 605 | \key{Men\"ueintrag \"uber Namen ausw\"ahlen}{m} |
| 557 | \key{{\it n\/}ten Menueeintrag auswaehlen (1--9)}{{\it n}} | 606 | \key{{\it n\/}ten Men\"ueintrag ausw\"ahlen (1--9)}{{\it n}} |
| 558 | \key{Kreuzverweis folgen (zurueck mit \kbd{l})}{f} | 607 | \key{Querverweis folgen (zur\"uck mit \kbd{l})}{f} |
| 559 | \key{zurueck zum letzten gesehenen Knoten}{l} | 608 | \key{zur\"uck zum letzten gesehenen Knoten}{l} |
| 560 | \key{zurueck zum Verzeichnisknoten}{d} | 609 | \key{zur\"uck zum Verzeichnisknoten}{d} |
| 561 | \key{Knoten ueber Namen auswaehlen}{g} | 610 | \key{zum Anfangsknoten der aktuellen Datei}{t} |
| 562 | 611 | \key{beliebigen Knoten \"uber Namen ausw\"ahlen}{g} | |
| 563 | Sonstige: | 612 | |
| 564 | 613 | Sonstiges: | |
| 565 | \key{Info {\bf Tutorial} starten}{h} | 614 | |
| 566 | \key{Info Befehle zeigen}{?} | 615 | \key{{\bf Einf\"uhrung} in Info starten}{h} |
| 616 | \key{Begriff in den Indizes suchen}{i} | ||
| 617 | \key{nach regul\"aren Ausdr\"ucken suchen}{s} | ||
| 567 | \key{Info {\bf verlassen} }{q} | 618 | \key{Info {\bf verlassen} }{q} |
| 568 | \key{Knoten nach reg. Ausd. durchsuchen}{M-s} | ||
| 569 | 619 | ||
| 570 | \endindentedkeys | 620 | \endindentedkeys |
| 571 | 621 | ||
| 572 | \section{Tastatur Makros} | 622 | \section{Register} |
| 623 | |||
| 624 | \key{Region in Register speichern}{C-x r s} | ||
| 625 | \key{Registerinhalt in Puffer einf\"ugen}{C-x r i} | ||
| 626 | \key{Cursor-Position in Register speichern}{C-x r SPC} | ||
| 627 | \key{zu abgespeicherter Position springen}{C-x r j} | ||
| 573 | 628 | ||
| 574 | \key{Tastatur Makro Definition {\bf starten} }{C-x (} | 629 | \section{Tastaturmakros} |
| 575 | \key{Tastatur Makro Definition {\bf beenden} }{C-x )} | ||
| 576 | \key{zuletzt definiertes Tast. Makro {\bf ausfuehren}}{C-x e} | ||
| 577 | \key{an letztes Tastatur Makro anhaengen}{C-u C-x (} | ||
| 578 | \metax{letztes Tastatur Makro benennen}{M-x name-last-kbd-macro} | ||
| 579 | \metax{Lisp Definition in Puffer einfuegen}{M-x insert-kbd-macro} | ||
| 580 | 630 | ||
| 581 | \section{Kommandos fuer Emacs Lisp} | 631 | \key{Makrodefinition {\bf starten} }{C-x (} |
| 632 | \key{Makrodefinition {\bf beenden} }{C-x )} | ||
| 633 | \key{zuletzt definiertes Makro {\bf ausf\"uhren}}{C-x e} | ||
| 634 | \key{an letztes Makro anh\"angen}{C-u C-x (} | ||
| 635 | \metax{letztes Makro benennen}{M-x name-last-kbd-macro} | ||
| 636 | \metax{Lispcode f\"ur Makro in Puffer einf\"ugen}{M-x insert-kbd-macro} | ||
| 582 | 637 | ||
| 583 | \key{{\bf Lisp-s-expression} vor Cursor laden}{C-x C-e} | 638 | \section{Befehle f\"ur Emacs-Lisp} |
| 639 | |||
| 640 | \key{{\bf Lisp-s-expression} vor Cursor auswerten}{C-x C-e} | ||
| 584 | \key{aktuelle {\bf Definition} auswerten}{C-M-x} | 641 | \key{aktuelle {\bf Definition} auswerten}{C-M-x} |
| 585 | \metax{{\bf Bereich} auswerten}{M-x eval-region} | 642 | \metax{{\bf Bereich} auswerten}{M-x eval-region} |
| 586 | \metax{gesamten {\bf Puffer} auswerten}{M-x eval-current-buffer} | 643 | \key{Lisp-Ausdruck im Minipuffer auswerten}{M-:} |
| 587 | \key{Lispausdruck im Minipuffer auswerten}{M-:} | 644 | \metax{Datei aus Standardverzeichnis laden}{M-x load-library} |
| 588 | \key{letztes Minipufferkommando auswerten}{C-x ESC ESC} | 645 | |
| 589 | \metax{Emacs Lisp Datei lesen und auswerten}{M-x load-file} | 646 | \section{Einfache Anpassungen} |
| 590 | \metax{aus Standard Systemverzeichnis laden}{M-x load-library} | ||
| 591 | 647 | ||
| 592 | \section{Einfaches Konfigurieren} | 648 | \metax{Variablen und Faces anpassen}{M-x customize} |
| 593 | 649 | ||
| 594 | % Das ist nur was fuer Leute die Lisp beherrschen | 650 | % Das ist nur was f\"ur Leute die Lisp beherrschen |
| 595 | 651 | ||
| 596 | Ein Beispiel dafuer, wie man Tastenkombinationen definiert: | 652 | Tastenkombinationen definieren (Beispiele): |
| 597 | 653 | ||
| 598 | \beginexample% | 654 | \beginexample% |
| 599 | (global-set-key "\\C-cg" 'goto-line) | 655 | (global-set-key "\\C-cg" 'goto-line) |
| 600 | (global-set-key "\\C-x\\C-k" 'kill-region) | ||
| 601 | (global-set-key "\\M-\#" 'query-replace-regexp) | 656 | (global-set-key "\\M-\#" 'query-replace-regexp) |
| 602 | \endexample | 657 | \endexample |
| 603 | 658 | ||
| 604 | So weist man in Emacs Lisp einer Variablen Werte zu: | 659 | \section{Eigene Befehle schreiben} |
| 605 | |||
| 606 | \beginexample% | ||
| 607 | (setq backup-by-copying-when-linked t) | ||
| 608 | \endexample | ||
| 609 | |||
| 610 | \section{Selbst Kommandos schreiben} | ||
| 611 | 660 | ||
| 612 | \beginexample% | 661 | \beginexample% |
| 613 | (defun \<Commando-Name> (\<args>) | 662 | (defun \<Befehlsname> (\<Argumente>) |
| 614 | "\<Documentation>" | 663 | "\<Dokumentation>" |
| 615 | (interactive "\<template>") | 664 | (interactive "\<Vorlage>") |
| 616 | \<body>) | 665 | \<Rumpf>) |
| 617 | \endexample | 666 | \endexample |
| 618 | 667 | ||
| 619 | Ein Beispiel: | 668 | Ein Beispiel: |
| 620 | 669 | ||
| 621 | \beginexample% | 670 | \beginexample% |
| 622 | (defun diese-Zeile-zum-Fensteranfang (Zeile) | 671 | (defun diese-Zeile-zum-Fensteranfang (Zeile) |
| 623 | "Zeile an Cursorposition zum Fensteranfang bewegen" | 672 | "Zeile an Cursor-Position zum Fensteranfang bewegen. |
| 624 | Mit numerischem Argument n, zur Zeile n | 673 | Mit ARGUMENT, Cursor in Zeile ARGUMENT bewegen." |
| 625 | Mit negativem Argument zum Fensterende | ||
| 626 | (interactive "P") | 674 | (interactive "P") |
| 627 | (recenter (if (null Zeile) | 675 | (recenter (if (null Zeile) |
| 628 | 0 | 676 | 0 |
| 629 | (prefix-numeric-value Zeile)))) | 677 | (prefix-numeric-value Zeile)))) |
| 630 | \endexample | 678 | \endexample |
| 631 | 679 | ||
| 632 | Das Argument fuer \kbd{interactive} ist eine Zeichenkette, die spe\-zi\-fi\-ziert, wie die | 680 | Die Spezifikation zu \kbd{interactive} gibt an, wie die Argumente |
| 633 | Ar\-gu\-men\-te be\-reit\-ge\-stellt wer\-den, wenn die Funktion inter\-aktiv auf\-ge\-ru\-fen wird. | 681 | gelesen werden, wenn die Funktion inter\-aktiv auf\-ge\-ru\-fen |
| 634 | \kbd{C-h f interactive} fuer mehr Informationen. | 682 | wird. F\"ur n\"ahere Details geben Sie \kbd{C-h f interactive} ein. |
| 635 | 683 | ||
| 636 | \copyrightnotice | 684 | \copyrightnotice |
| 637 | 685 | ||
| 638 | \bye | 686 | \bye |
| 639 | 687 | ||
| 640 | % Local variables: | 688 | % Local variables: |
| 641 | % compile-command: "tex refcard" | 689 | % compile-command: "tex de-refcard" |
| 642 | % End: | 690 | % End: |
| 643 | 691 | ||
| 644 | % arch-tag: af0a2666-f289-49f1-a9cc-cedab9783314 | 692 | % arch-tag: af0a2666-f289-49f1-a9cc-cedab9783314 |
diff --git a/etc/emacs.csh b/etc/emacs.csh index 411feedaef5..3de336b8075 100644 --- a/etc/emacs.csh +++ b/etc/emacs.csh | |||
| @@ -1,3 +1,6 @@ | |||
| 1 | # Copyright (c) 1999, 2003, 2006 | ||
| 2 | # Free software Foundation, Inc. | ||
| 3 | # | ||
| 1 | # This defines a csh command named `edit' which resumes an | 4 | # This defines a csh command named `edit' which resumes an |
| 2 | # existing Emacs or starts a new one if none exists. | 5 | # existing Emacs or starts a new one if none exists. |
| 3 | # One way or another, any arguments are passed to Emacs to specify files | 6 | # One way or another, any arguments are passed to Emacs to specify files |
| @@ -24,4 +27,17 @@ alias edit 'set emacs_command=("emacs -nw \!*" "fg %emacs" "emacs -i \!* &"\ | |||
| 24 | test -S ~/.emacs_server && emacsclient \!* \ | 27 | test -S ~/.emacs_server && emacsclient \!* \ |
| 25 | || echo `pwd` \!* >! ~/.emacs_args && eval $emacs_command[$whichjob]' | 28 | || echo `pwd` \!* >! ~/.emacs_args && eval $emacs_command[$whichjob]' |
| 26 | 29 | ||
| 30 | #COPYING PERMISSIONS: | ||
| 31 | # | ||
| 32 | # Permission is hereby granted, free of charge, to any person obtaining | ||
| 33 | # a copy of this file, to deal in the file without restriction, including | ||
| 34 | # without limitation the rights to use, copy, modify, merge, publish, | ||
| 35 | # distribute, sublicense, and/or sell copies of the file, and to | ||
| 36 | # permit persons to whom the file is furnished to do so, subject to | ||
| 37 | # the following condition: | ||
| 38 | # | ||
| 39 | # The above copyright notice and this permission notice shall be | ||
| 40 | # included in all copies or substantial portions of the file. | ||
| 41 | |||
| 42 | |||
| 27 | # arch-tag: 433d58df-15b9-446f-ad37-f0393e3a23d4 | 43 | # arch-tag: 433d58df-15b9-446f-ad37-f0393e3a23d4 |
diff --git a/etc/enriched.doc b/etc/enriched.doc index 122652f005a..0b83bbcabfe 100644 --- a/etc/enriched.doc +++ b/etc/enriched.doc | |||
| @@ -254,3 +254,24 @@ bug reports are welcome.</indent> | |||
| 254 | </x-color><x-bg-color><param>blue</param><x-color><param>white</param>April 1995; updated August 1997</x-color></x-bg-color> | 254 | </x-color><x-bg-color><param>blue</param><x-color><param>white</param>April 1995; updated August 1997</x-color></x-bg-color> |
| 255 | 255 | ||
| 256 | 256 | ||
| 257 | |||
| 258 | |||
| 259 | Copyright (c) 1995, 1997, 2006 | ||
| 260 | Free software Foundation, Inc. | ||
| 261 | |||
| 262 | COPYING PERMISSIONS: | ||
| 263 | |||
| 264 | This document is free software; you can redistribute it and/or modify | ||
| 265 | it under the terms of the GNU General Public License as published by | ||
| 266 | the Free Software Foundation; either version 2 of the License, or | ||
| 267 | (at your option) any later version. | ||
| 268 | |||
| 269 | This program is distributed in the hope that it will be useful, | ||
| 270 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 271 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 272 | GNU General Public License for more details. | ||
| 273 | |||
| 274 | You should have received a copy of the GNU General Public License | ||
| 275 | along with this program; if not, write to the Free Software | ||
| 276 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
| 277 | |||
diff --git a/etc/fr-refcard.tex b/etc/fr-refcard.tex index 54d73ca6312..c8c8fd8cd9a 100644 --- a/etc/fr-refcard.tex +++ b/etc/fr-refcard.tex | |||
| @@ -588,8 +588,9 @@ Passer de n\oe{}ud en n\oe{}ud : | |||
| 588 | Autres : | 588 | Autres : |
| 589 | 589 | ||
| 590 | \key{lancer le {\bf didacticiel} Info}{h} | 590 | \key{lancer le {\bf didacticiel} Info}{h} |
| 591 | \key{chercher dans l'index}{i} | ||
| 592 | \key{rechercher les n\oe{}uds avec une expression rationnelle}{s} | ||
| 591 | \key{{\bf quitter} Info}{q} | 593 | \key{{\bf quitter} Info}{q} |
| 592 | \key{rechercher les n\oe{}uds avec une expression rationnelle}{M-s} | ||
| 593 | 594 | ||
| 594 | \endindentedkeys | 595 | \endindentedkeys |
| 595 | 596 | ||
diff --git a/etc/grep.txt b/etc/grep.txt index 8acfc4fc644..d2a934fbeff 100644 --- a/etc/grep.txt +++ b/etc/grep.txt | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | * Introduction -*-grep-*- | 1 | * Introduction -*-grep-*- (See the end of file for copyright information) |
| 2 | 2 | ||
| 3 | This shows the different kinds of messages grep recognizes by default and | 3 | This shows the different kinds of messages grep recognizes by default and |
| 4 | how they are rendered. It is intended both to help you decide which matchers | 4 | how they are rendered. It is intended both to help you decide which matchers |
| @@ -85,3 +85,25 @@ grep -nH -e "xyzxyz" ../info/* | |||
| 85 | ;;; Local Variables: | 85 | ;;; Local Variables: |
| 86 | ;;; buffer-read-only: t | 86 | ;;; buffer-read-only: t |
| 87 | ;;; End: | 87 | ;;; End: |
| 88 | |||
| 89 | |||
| 90 | |||
| 91 | Copyright (c) 2005, 2006 | ||
| 92 | Free software Foundation, Inc. | ||
| 93 | |||
| 94 | COPYING PERMISSIONS: | ||
| 95 | |||
| 96 | This document is free software; you can redistribute it and/or modify | ||
| 97 | it under the terms of the GNU General Public License as published by | ||
| 98 | the Free Software Foundation; either version 2 of the License, or | ||
| 99 | (at your option) any later version. | ||
| 100 | |||
| 101 | This program is distributed in the hope that it will be useful, | ||
| 102 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 103 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 104 | GNU General Public License for more details. | ||
| 105 | |||
| 106 | You should have received a copy of the GNU General Public License | ||
| 107 | along with this program; if not, write to the Free Software | ||
| 108 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
| 109 | |||
diff --git a/etc/ledit.l b/etc/ledit.l deleted file mode 100644 index d53c5d26011..00000000000 --- a/etc/ledit.l +++ /dev/null | |||
| @@ -1,152 +0,0 @@ | |||
| 1 | ;;; -*- Mode: lisp -*- | ||
| 2 | |||
| 3 | ; load in the c functions | ||
| 4 | |||
| 5 | (removeaddress '_signal) | ||
| 6 | (removeaddress '_switch_to_proc) | ||
| 7 | (removeaddress '_set_proc_str) | ||
| 8 | |||
| 9 | (cfasl "/src/mdc/ledit/leditcfns.o" '_switch_to_proc 'emacs) | ||
| 10 | |||
| 11 | (getaddress '_set_proc_str 'set_proc_str) | ||
| 12 | |||
| 13 | (declare (special *ledit-infile* ; emacs->lisp tempfile | ||
| 14 | *ledit-outfile* ; lisp->emacs tempfile | ||
| 15 | *ledit-ppfile* ; pp->emacs tempfile | ||
| 16 | *ledit-lisztfile* ; compiler input | ||
| 17 | *ledit-objfile* ; compiler output | ||
| 18 | *ledit-initialized*) ; flag | ||
| 19 | ) | ||
| 20 | |||
| 21 | (setq *ledit-initialized* nil) | ||
| 22 | |||
| 23 | ;;; INIT-LEDIT | ||
| 24 | |||
| 25 | (defun init-ledit () | ||
| 26 | (let ((user (getenv '|USER|))) ;USER must be uppercase | ||
| 27 | (setq | ||
| 28 | *ledit-outfile* (concat "/tmp/" user ".l2") ; lisp -> emacs | ||
| 29 | *ledit-infile* (concat "/tmp/" user ".l1") ; emacs -> lisp | ||
| 30 | *ledit-ppfile* (concat "/tmp/" user ".l3") ; pp output to emacs. | ||
| 31 | *ledit-lisztfile* (concat "/tmp/" user ".l4") | ||
| 32 | *ledit-objfile* (concat "/tmp/" user ".o") | ||
| 33 | *ledit-initialized* t))) | ||
| 34 | |||
| 35 | ;;; LEDIT | ||
| 36 | ; if 1 arg, arg is taken as a tag name to pass to emacs. | ||
| 37 | ; if 2 args, second arg is a keyword. If 2nd arg is pp, | ||
| 38 | ; pp is applied to first arg, and result is sent to emacs | ||
| 39 | ; to put in a buffer called LEDIT (which is first erased.) | ||
| 40 | |||
| 41 | (defun ledit fexpr (args) | ||
| 42 | (apply #'ledit* args)) | ||
| 43 | |||
| 44 | ;;; LEDIT* | ||
| 45 | |||
| 46 | (defun ledit* n | ||
| 47 | (if (not *ledit-initialized*) (init-ledit)) | ||
| 48 | (ledit-output (listify n)) | ||
| 49 | (syscall 10. *ledit-infile*) ; syscall 10 is "delete" | ||
| 50 | (syscall 10. *ledit-lisztfile*) | ||
| 51 | (emacs) | ||
| 52 | (ledit-input) | ||
| 53 | (syscall 10. *ledit-outfile*) | ||
| 54 | (syscall 10. *ledit-ppfile*) | ||
| 55 | t) | ||
| 56 | |||
| 57 | ;;; LEDIT-OUTPUT | ||
| 58 | ;;; Egad, what a mess! Doesn't work for XEMACS yet. | ||
| 59 | ;;; Here's an example from Mocklisp: | ||
| 60 | ;;; -> (defun bar (nothing) (bar nothing)) | ||
| 61 | ;;; bar | ||
| 62 | ;;; -> (ledit bar) | ||
| 63 | ;;; should produce... | ||
| 64 | ;;; (progn) (progn tag (setq tag "bar") (&goto-tag)) | ||
| 65 | ;;; and | ||
| 66 | ;;; -> (ledit bar pp) | ||
| 67 | ;;; should stuff this to emacs... | ||
| 68 | ;;; (progn) (switch-to-buffer "LEDIT") (erase-buffer) | ||
| 69 | ;;; (insert-file "/tmp/walter.l3") (lisp-mode) | ||
| 70 | ;;; and this... | ||
| 71 | ;;; (def bar | ||
| 72 | ;;; (lambda (x) | ||
| 73 | ;;; (bar nothing))) | ||
| 74 | ;;; into *LEDIT* | ||
| 75 | |||
| 76 | (defun ledit-output (args) | ||
| 77 | (if args | ||
| 78 | (let ((ofile (outfile *ledit-outfile*))) | ||
| 79 | (format ofile "(progn)") ; this is necessary. | ||
| 80 | |||
| 81 | (cond ((null (cdr args)) ; no keyword -> arg is a tag. | ||
| 82 | (format ofile "(progn tag (setq tag \"~A\"~ | ||
| 83 | (&goto-tag))" | ||
| 84 | (car args))) | ||
| 85 | ((eq (cadr args) 'pp) ; pp-> pp first arg to emacs | ||
| 86 | (apply 'pp `((|F| ,*ledit-ppfile*) ,(car args))) | ||
| 87 | (format ofile "(switch-to-buffer \"LEDIT\")~ | ||
| 88 | (erase-buffer)") | ||
| 89 | (format ofile "(insert-file \"~A\")" | ||
| 90 | *ledit-ppfile*) | ||
| 91 | (format ofile "(lisp-mode)")) | ||
| 92 | |||
| 93 | (t (format t "~&~A -- unknown option~%" (cdr args)))) | ||
| 94 | (close ofile)))) | ||
| 95 | |||
| 96 | ;;; LISZT* | ||
| 97 | ;;; Need this guy to do compile-input. | ||
| 98 | ;;; Liszt returns 0 if all was well. | ||
| 99 | ;;; Note that in ordinary use the user will have to get used to looking | ||
| 100 | ;;; at "%Warning: ... Compiler declared *foo* special" messages, since | ||
| 101 | ;;; you don't usually want to hunt around in your file, zap in the | ||
| 102 | ;;; declarations, then go back to what you were doing. | ||
| 103 | ;;; Fortunately this doesn't cause the compiler to bomb. | ||
| 104 | ;;; Some sleepless night I will think of a way to get around this. | ||
| 105 | |||
| 106 | (defun liszt* (&rest args) | ||
| 107 | (apply #'liszt args)) | ||
| 108 | |||
| 109 | ;;; LEDIT-INPUT | ||
| 110 | ;;; Although there are two cases here, in practice | ||
| 111 | ;;; it is never the case that there is both input to be | ||
| 112 | ;;; interpreted and input to be compiled. | ||
| 113 | |||
| 114 | (defun ledit-input () | ||
| 115 | (if (probef *ledit-lisztfile*) | ||
| 116 | (cond ((getd #'liszt) | ||
| 117 | (format t ";Compiling LEDIT:") | ||
| 118 | (and (zerop (liszt* *ledit-lisztfile* '-o *ledit-objfile*)) | ||
| 119 | (load *ledit-objfile*))) | ||
| 120 | (t (format t ";Can't compile LEDIT: No liszt.~%;Reading instead:") | ||
| 121 | (let ((ifile (infile *ledit-lisztfile*))) | ||
| 122 | (ledit-load ifile) | ||
| 123 | (close ifile))))) | ||
| 124 | |||
| 125 | (if (probef *ledit-infile*) | ||
| 126 | (let ((ifile (infile *ledit-infile*))) | ||
| 127 | (format t ";Reading from LEDIT:~%") | ||
| 128 | (ledit-load ifile) | ||
| 129 | (close ifile)))) | ||
| 130 | |||
| 131 | ;;; LEDIT-LOAD | ||
| 132 | ;;; A generally useful form of load | ||
| 133 | |||
| 134 | (defun ledit-load (ifile) | ||
| 135 | (let ((eof-form (list 'eof-form))) | ||
| 136 | (do ((form (read ifile eof-form) (read ifile eof-form))) | ||
| 137 | ((eq form eof-form)) | ||
| 138 | (format t "; ~A~%" (eval form))))) | ||
| 139 | |||
| 140 | (setsyntax #/ 'macro 'ledit) ; make ^E = (ledit)<return> | ||
| 141 | |||
| 142 | ;; more robust version of the c function set_proc_str. Does argument checking. | ||
| 143 | ;; set_proc_str sets the string that is stuffed to the tty after franz pauses | ||
| 144 | ;; and the csh wakes up. It is usually "%emacs" or "%vemacs" or "%?emacs" | ||
| 145 | (defun set-proc-str (arg) | ||
| 146 | (if (stringp arg) | ||
| 147 | (set_proc_str arg) | ||
| 148 | (if (symbolp arg) | ||
| 149 | (set_proc_str (get-pname arg)) | ||
| 150 | (error arg " is illegal argument to set-proc-str")))) | ||
| 151 | |||
| 152 | ;;; arch-tag: 2e76c01f-8d6a-4d04-b9ab-0eaabec96aee | ||
diff --git a/etc/ms-7bkermit b/etc/ms-7bkermit index 28847b06136..b239e942293 100644 --- a/etc/ms-7bkermit +++ b/etc/ms-7bkermit | |||
| @@ -1,3 +1,6 @@ | |||
| 1 | ;;; Copyright (c) 1999, 2003, 2006 | ||
| 2 | ;;; Free Software Foundation, Inc. | ||
| 3 | |||
| 1 | ;;; This file is designed for 7-bit connections. | 4 | ;;; This file is designed for 7-bit connections. |
| 2 | ;;; Use the file ms-kermit if you have an 8-bit connection. | 5 | ;;; Use the file ms-kermit if you have an 8-bit connection. |
| 3 | 6 | ||
| @@ -311,4 +314,20 @@ set key \2463 \kendscn | |||
| 311 | set key \2457 \kupscn | 314 | set key \2457 \kupscn |
| 312 | set key \2465 \kdnscn | 315 | set key \2465 \kdnscn |
| 313 | 316 | ||
| 317 | ;;; COPYING PERMISSIONS: | ||
| 318 | ;;; | ||
| 319 | ;;; This document is free software; you can redistribute it and/or modify | ||
| 320 | ;;; it under the terms of the GNU General Public License as published by | ||
| 321 | ;;; the Free Software Foundation; either version 2 of the License, or | ||
| 322 | ;;; (at your option) any later version. | ||
| 323 | ;;; | ||
| 324 | ;;; This program is distributed in the hope that it will be useful, | ||
| 325 | ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 326 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 327 | ;;; GNU General Public License for more details. | ||
| 328 | ;;; | ||
| 329 | ;;; You should have received a copy of the GNU General Public License | ||
| 330 | ;;; along with this program; if not, write to the Free Software | ||
| 331 | ;;; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
| 332 | |||
| 314 | ;;; arch-tag: b066a884-e956-4f46-9d9c-13502f6cf7a6 | 333 | ;;; arch-tag: b066a884-e956-4f46-9d9c-13502f6cf7a6 |
diff --git a/etc/orgcard.tex b/etc/orgcard.tex index 45608ac1795..5a019328a1f 100644 --- a/etc/orgcard.tex +++ b/etc/orgcard.tex | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | % Reference Card for Org Mode | 1 | % Reference Card for Org Mode |
| 2 | \def\orgversionnumber{4.26} | 2 | \def\orgversionnumber{4.36} |
| 3 | \def\year{2006} | 3 | \def\year{2006} |
| 4 | % | 4 | % |
| 5 | %**start of header | 5 | %**start of header |
| @@ -269,19 +269,11 @@ are preserved on all copies. | |||
| 269 | 269 | ||
| 270 | \section{Getting Started} | 270 | \section{Getting Started} |
| 271 | % | 271 | % |
| 272 | %Put the following in your \kbd{~/.emacs}$^1$ | ||
| 273 | \vskip -1mm | 272 | \vskip -1mm |
| 274 | \beginexample% | 273 | \beginexample% |
| 275 | %(autoload 'org-mode "org" "Org mode" t) | ||
| 276 | %(autoload 'org-diary "org" "Org mode diary entries") | ||
| 277 | %(autoload 'org-agenda "org" "Agenda from Org files" t) | ||
| 278 | %(autoload 'org-todo-list "org" "Global TODO list" t) | ||
| 279 | %(autoload 'org-store-link "org" "Store org link" t) | ||
| 280 | %(autoload 'orgtbl-mode "org" "Orgtbl minor mode" t) | ||
| 281 | %(autoload 'turn-on-orgtbl "org" "Orgtbl minor mode") | ||
| 282 | (add-to-list 'auto-mode-alist '("\\\\.org\$" . org-mode)) | 274 | (add-to-list 'auto-mode-alist '("\\\\.org\$" . org-mode)) |
| 283 | (define-key global-map "\\C-cl" 'org-store-link)$^2$ | 275 | (define-key global-map "\\C-cl" 'org-store-link)$^1$ |
| 284 | (define-key global-map "\\C-ca" 'org-agenda)$^2$ | 276 | (define-key global-map "\\C-ca" 'org-agenda)$^1$ |
| 285 | \endexample | 277 | \endexample |
| 286 | % | 278 | % |
| 287 | \metax{For the many customization options try}{M-x org-customize} | 279 | \metax{For the many customization options try}{M-x org-customize} |
| @@ -302,6 +294,7 @@ are preserved on all copies. | |||
| 302 | \key{previous heading, same level}{C-c C-b} | 294 | \key{previous heading, same level}{C-c C-b} |
| 303 | \key{backward to higher level heading}{C-c C-u} | 295 | \key{backward to higher level heading}{C-c C-u} |
| 304 | \key{jump to another place in document}{C-c C-j} | 296 | \key{jump to another place in document}{C-c C-j} |
| 297 | \key{previous/next plain list item}{S-UP/DOWN$^3$} | ||
| 305 | 298 | ||
| 306 | \section{Structure Editing} | 299 | \section{Structure Editing} |
| 307 | 300 | ||
| @@ -320,7 +313,7 @@ are preserved on all copies. | |||
| 320 | \key{yank subtree}{C-c C-x C-y} | 313 | \key{yank subtree}{C-c C-x C-y} |
| 321 | 314 | ||
| 322 | \key{archive subtree}{C-c \$} | 315 | \key{archive subtree}{C-c \$} |
| 323 | To set archive location for current file, add a line like$^3$: | 316 | To set archive location for current file, add a line like$^2$: |
| 324 | \vskip -1mm | 317 | \vskip -1mm |
| 325 | \beginexample% | 318 | \beginexample% |
| 326 | \#+ARCHIVE: archfile::* Archived Tasks | 319 | \#+ARCHIVE: archfile::* Archived Tasks |
| @@ -330,10 +323,10 @@ To set archive location for current file, add a line like$^3$: | |||
| 330 | 323 | ||
| 331 | \key{show sparse tree for all matches of a regexp}{C-c /} | 324 | \key{show sparse tree for all matches of a regexp}{C-c /} |
| 332 | \key{view TODO's in sparse tree}{C-c C-v} | 325 | \key{view TODO's in sparse tree}{C-c C-v} |
| 333 | \key{global TODO list in agenda mode}{C-c t$^2$} | 326 | \key{global TODO list in agenda mode}{C-c t$^1$} |
| 334 | \key{create sparse tree with all deadlines due}{C-c C-w} | 327 | \key{create sparse tree with all deadlines due}{C-c C-w} |
| 335 | \key{time sorted view of current org file}{C-c C-r} | 328 | \key{time sorted view of current org file}{C-c C-r} |
| 336 | %\key{agenda for the week}{C-c a$^2$} | 329 | %\key{agenda for the week}{C-c a$^1$} |
| 337 | %\key{agenda for date at cursor}{C-c C-o} | 330 | %\key{agenda for date at cursor}{C-c C-o} |
| 338 | 331 | ||
| 339 | \section{Tags} | 332 | \section{Tags} |
| @@ -351,8 +344,8 @@ To set archive location for current file, add a line like$^3$: | |||
| 351 | 344 | ||
| 352 | \key{set the priority of the current item}{C-c , [ABC]} | 345 | \key{set the priority of the current item}{C-c , [ABC]} |
| 353 | \key{remove priority cookie from current item}{C-c , SPC} | 346 | \key{remove priority cookie from current item}{C-c , SPC} |
| 354 | \key{raise priority of current item}{S-UP$^4$} | 347 | \key{raise priority of current item}{S-UP$^3$} |
| 355 | \key{lower priority of current item}{S-DOWN$^4$} | 348 | \key{lower priority of current item}{S-DOWN$^3$} |
| 356 | 349 | ||
| 357 | \key{\kbd{\#+SEQ_TODO: TODO TRY BLUFF DONE}}{\rm todo workflow} | 350 | \key{\kbd{\#+SEQ_TODO: TODO TRY BLUFF DONE}}{\rm todo workflow} |
| 358 | \key{\kbd{\#+TYP_TODO: Phil home work DONE}}{\rm todo types} | 351 | \key{\kbd{\#+TYP_TODO: Phil home work DONE}}{\rm todo types} |
| @@ -366,8 +359,8 @@ To set archive location for current file, add a line like$^3$: | |||
| 366 | \key{insert SCHEDULED timestamp}{C-c C-s} | 359 | \key{insert SCHEDULED timestamp}{C-c C-s} |
| 367 | \key{create sparse tree with all deadlines due}{C-c C-w} | 360 | \key{create sparse tree with all deadlines due}{C-c C-w} |
| 368 | \key{the time between 2 dates in a time range}{C-c C-y} | 361 | \key{the time between 2 dates in a time range}{C-c C-y} |
| 369 | \key{change timestamp at cursor by $\pm 1$ day}{S-RIGHT/LEFT$^4$} | 362 | \key{change timestamp at cursor by $\pm 1$ day}{S-RIGHT/LEFT$^3$} |
| 370 | \key{change year/month/day at cursor by $\pm 1$}{S-UP/DOWN$^4$} | 363 | \key{change year/month/day at cursor by $\pm 1$}{S-UP/DOWN$^3$} |
| 371 | \key{access the calendar for the current date}{C-c >} | 364 | \key{access the calendar for the current date}{C-c >} |
| 372 | \key{insert timestamp matching date in calendar}{C-c <} | 365 | \key{insert timestamp matching date in calendar}{C-c <} |
| 373 | \key{access agenda for current date}{C-c C-o} | 366 | \key{access agenda for current date}{C-c C-o} |
| @@ -380,7 +373,7 @@ To set archive location for current file, add a line like$^3$: | |||
| 380 | 373 | ||
| 381 | \section{Links} | 374 | \section{Links} |
| 382 | 375 | ||
| 383 | \key{globally store link to the current location}{C-c l$^2$} | 376 | \key{globally store link to the current location}{C-c l$^1$} |
| 384 | \key{insert a link (TAB completes stored links)}{C-c C-l} | 377 | \key{insert a link (TAB completes stored links)}{C-c C-l} |
| 385 | \key{insert file link with file name completion}{C-u C-c C-l} | 378 | \key{insert file link with file name completion}{C-u C-c C-l} |
| 386 | \key{edit (also hidden part of) link at point}{C-c C-l} | 379 | \key{edit (also hidden part of) link at point}{C-c C-l} |
| @@ -388,13 +381,13 @@ To set archive location for current file, add a line like$^3$: | |||
| 388 | \key{open file links in emacs (\kbd{C-u} : in emacs)}{C-c C-o} | 381 | \key{open file links in emacs (\kbd{C-u} : in emacs)}{C-c C-o} |
| 389 | \key{open link at point (3: in emacs)}{mouse-2/3} | 382 | \key{open link at point (3: in emacs)}{mouse-2/3} |
| 390 | %\key{open file links in emacs}{mouse-3} | 383 | %\key{open file links in emacs}{mouse-3} |
| 391 | \key{record a position in mark ring}{C-c \%} | 384 | %\key{record a position in mark ring}{C-c \%} |
| 392 | \key{jump back to last followed link(s)}{C-c \&} | 385 | \key{jump back to last followed link(s)}{C-c \&} |
| 393 | 386 | ||
| 394 | {\bf Internal Links} | 387 | {\bf Internal Links} |
| 395 | 388 | ||
| 396 | \key{\kbd{<<My Target>>}}{\rm target} | 389 | \key{\kbd{<<My Target>>}}{\rm target} |
| 397 | \key{\kbd{<<<My Target>>>}}{\rm radio target$^3$} | 390 | \key{\kbd{<<<My Target>>>}}{\rm radio target$^2$} |
| 398 | \key{\kbd{[[*this text]]}}{\rm find headline} | 391 | \key{\kbd{[[*this text]]}}{\rm find headline} |
| 399 | \metax{\kbd{[[this text]]}}{\rm find target or text in buffer} | 392 | \metax{\kbd{[[this text]]}}{\rm find target or text in buffer} |
| 400 | \metax{\kbd{[[this text][description]]}}{\rm optional link text} | 393 | \metax{\kbd{[[this text][description]]}}{\rm optional link text} |
| @@ -405,16 +398,18 @@ To set archive location for current file, add a line like$^3$: | |||
| 405 | \key{\kbd{file:papers/last.pdf}}{\rm file, relative} | 398 | \key{\kbd{file:papers/last.pdf}}{\rm file, relative} |
| 406 | \key{\kbd{file:projects.org::*that text}}{\rm find headline} | 399 | \key{\kbd{file:projects.org::*that text}}{\rm find headline} |
| 407 | \key{\kbd{file:projects.org::find me}}{\rm find tgt/string} | 400 | \key{\kbd{file:projects.org::find me}}{\rm find tgt/string} |
| 408 | \key{\kbd{file:projects.org::/regexp/}}{\rm regexp search} | 401 | %\key{\kbd{file:projects.org::/regexp/}}{\rm regexp search} |
| 409 | \key{\kbd{http://www.astro.uva.nl/~dominik}}{\rm on the web} | 402 | \key{\kbd{http://www.astro.uva.nl/~dominik}}{\rm on the web} |
| 410 | \key{\kbd{mailto:adent@galaxy.net}}{\rm EMail address} | 403 | \key{\kbd{mailto:adent@galaxy.net}}{\rm EMail address} |
| 411 | \key{\kbd{news:comp.emacs}}{\rm Usenet group} | 404 | \key{\kbd{news:comp.emacs}}{\rm Usenet group} |
| 412 | \key{\kbd{bbdb:Richard Stallman}}{\rm BBDB person} | 405 | \key{\kbd{bbdb:Richard Stallman}}{\rm BBDB person} |
| 413 | \key{\kbd{shell:ls *.org}}{\rm shell command} | ||
| 414 | \key{\kbd{gnus:group}}{\rm GNUS group} | 406 | \key{\kbd{gnus:group}}{\rm GNUS group} |
| 415 | \key{\kbd{gnus:group\#id}}{\rm GNUS message} | 407 | \key{\kbd{gnus:group\#id}}{\rm GNUS message} |
| 416 | \key{\kbd{vm|wl|mhe|rmail:folder}}{\rm Mail folder} | 408 | \key{\kbd{vm|wl|mhe|rmail:folder}}{\rm Mail folder} |
| 417 | \key{\kbd{vm|wl|mhe|rmail:folder\#id}}{\rm Mail message} | 409 | \key{\kbd{vm|wl|mhe|rmail:folder\#id}}{\rm Mail message} |
| 410 | \key{\kbd{info:emacs:Regexps}}{\rm Info file:node} | ||
| 411 | \key{\kbd{shell:ls *.org}}{\rm shell command} | ||
| 412 | \key{\kbd{elisp:(calendar)}}{\rm elisp form} | ||
| 418 | \metax{\kbd{[[external link][description]]}}{\rm optional link text} | 413 | \metax{\kbd{[[external link][description]]}}{\rm optional link text} |
| 419 | %\key{\kbd{vm://myself@some.where.org/folder\#id}}{\rm VM remote} | 414 | %\key{\kbd{vm://myself@some.where.org/folder\#id}}{\rm VM remote} |
| 420 | 415 | ||
| @@ -479,7 +474,7 @@ Outside of tables, the same keys may have other functionality. | |||
| 479 | 474 | ||
| 480 | \key{display column number cursor is in}{C-c ?} | 475 | \key{display column number cursor is in}{C-c ?} |
| 481 | \key{sum numbers in current column/rectangle}{C-c +} | 476 | \key{sum numbers in current column/rectangle}{C-c +} |
| 482 | \key{copy down with increment}{S-RET$^4$} | 477 | \key{copy down with increment}{S-RET$^3$} |
| 483 | 478 | ||
| 484 | Formulas typed in field are executed by \kbd{TAB}, | 479 | Formulas typed in field are executed by \kbd{TAB}, |
| 485 | \kbd{RET} and \kbd{C-c C-c}. \kbd{=} introduces a column | 480 | \kbd{RET} and \kbd{C-c C-c}. \kbd{=} introduces a column |
| @@ -516,15 +511,15 @@ formula, \kbd{:=} a named-field formula. | |||
| 516 | \key{remove current file from your agenda}{C-c ]} | 511 | \key{remove current file from your agenda}{C-c ]} |
| 517 | \key{cycle through agenda file list}{C-,} | 512 | \key{cycle through agenda file list}{C-,} |
| 518 | 513 | ||
| 519 | \key{compile agenda for the current week}{C-c a a$^2$} | 514 | \key{compile agenda for the current week}{C-c a a$^1$} |
| 520 | \key{compile global TODO list}{C-c a t$^2$} | 515 | \key{compile global TODO list}{C-c a t$^1$} |
| 521 | \key{compile TODO list for specific keyword}{C-c a T$^2$} | 516 | \key{compile TODO list for specific keyword}{C-c a T$^1$} |
| 522 | \key{match tags in agenda files}{C-c a m$^2$} | 517 | \key{match tags in agenda files}{C-c a m$^1$} |
| 523 | \key{agenda for date at cursor}{C-c C-o} | 518 | \key{agenda for date at cursor}{C-c C-o} |
| 524 | \key{show timeline of current org file}{C-c C-r} | 519 | \key{show timeline of current org file}{C-c C-r} |
| 525 | 520 | ||
| 526 | \vskip 1mm | 521 | \vskip 1mm |
| 527 | To set categories, add lines like$^3$: | 522 | To set categories, add lines like$^2$: |
| 528 | \vskip -1mm | 523 | \vskip -1mm |
| 529 | \beginexample% | 524 | \beginexample% |
| 530 | \#+CATEGORY: MyCateg | 525 | \#+CATEGORY: MyCateg |
| @@ -561,12 +556,10 @@ To set categories, add lines like$^3$: | |||
| 561 | \key{show tags of current headline}{T} | 556 | \key{show tags of current headline}{T} |
| 562 | \key{set tags for current headline}{:} | 557 | \key{set tags for current headline}{:} |
| 563 | \key{set priority of current item}{p} | 558 | \key{set priority of current item}{p} |
| 564 | \key{raise/lower priority of current item}{S-UP/DOWN$^4$} | 559 | \key{raise/lower priority of current item}{S-UP/DOWN$^3$} |
| 565 | %\key{lower priority of current item}{S-DOWN$^4$} | ||
| 566 | \key{display weighted priority of current item}{P} | 560 | \key{display weighted priority of current item}{P} |
| 567 | \key{change timestamp to one day earlier/later}{S-LEFT/RIGHT$^4$} | 561 | \key{schedule/set deadline for this item}{C-c C-s/d} |
| 568 | %\key{change timestamp to one day earlier}{S-LEFT$^4$} | 562 | \key{change timestamp to one day earlier/later}{S-LEFT/RIGHT$^3$} |
| 569 | %\key{change timestamp to one day later}{S-RIGHT$^4$} | ||
| 570 | \key{change timestamp to today}{>} | 563 | \key{change timestamp to today}{>} |
| 571 | \key{insert new entry into diary}{i} | 564 | \key{insert new entry into diary}{i} |
| 572 | 565 | ||
| @@ -629,8 +622,6 @@ keywords. {\tt M-TAB} again just after keyword is complete inserts examples. | |||
| 629 | \key{... which can carry over multiple lines}{\#+TEXT:} | 622 | \key{... which can carry over multiple lines}{\#+TEXT:} |
| 630 | \key{settings for the export process - see below}{\#+OPTIONS:} | 623 | \key{settings for the export process - see below}{\#+OPTIONS:} |
| 631 | 624 | ||
| 632 | {\bf Settings for the OPTIONS line} | ||
| 633 | |||
| 634 | \key{set number of headline levels for export}{H:2} | 625 | \key{set number of headline levels for export}{H:2} |
| 635 | \key{turn on/off section numbers}{num:t} | 626 | \key{turn on/off section numbers}{num:t} |
| 636 | \key{turn on/off table of contents}{toc:t} | 627 | \key{turn on/off table of contents}{toc:t} |
| @@ -651,6 +642,13 @@ Subtrees whose header starts with COMMENT are never exported. | |||
| 651 | 642 | ||
| 652 | \key{toggle COMMENT keyword on entry}{C-c ;} | 643 | \key{toggle COMMENT keyword on entry}{C-c ;} |
| 653 | 644 | ||
| 645 | |||
| 646 | \section{Publishing (requires org-publish.el)} | ||
| 647 | \key{publishcurrent file}{C-c C-e C-f} | ||
| 648 | \key{publish current project}{C-c C-e C-p} | ||
| 649 | \key{publish project (prompted for)}{C-c C-e C-c} | ||
| 650 | \key{publish all projects}{C-c C-e C-a} | ||
| 651 | |||
| 654 | \section{Completion} | 652 | \section{Completion} |
| 655 | 653 | ||
| 656 | In-buffer completion completes TODO keywords at headline start, TeX | 654 | In-buffer completion completes TODO keywords at headline start, TeX |
| @@ -659,8 +657,6 @@ after ``{\tt :}'', and dictionary words elsewhere. | |||
| 659 | 657 | ||
| 660 | \key{Complete word at point}{M-TAB} | 658 | \key{Complete word at point}{M-TAB} |
| 661 | 659 | ||
| 662 | \newcolumn | ||
| 663 | |||
| 664 | \section{Calendar and Diary Integration} | 660 | \section{Calendar and Diary Integration} |
| 665 | 661 | ||
| 666 | To include entries from the Emacs diary in your Org-mode agenda: | 662 | To include entries from the Emacs diary in your Org-mode agenda: |
| @@ -668,26 +664,6 @@ To include entries from the Emacs diary in your Org-mode agenda: | |||
| 668 | (setq org-agenda-include-diary t) | 664 | (setq org-agenda-include-diary t) |
| 669 | \endexample | 665 | \endexample |
| 670 | 666 | ||
| 671 | To include the Org-mode agenda in the normal diary, make sure you're | ||
| 672 | using the fancy diary display | ||
| 673 | % | ||
| 674 | %\beginexample% | ||
| 675 | %(add-hook 'diary-display-hook 'fancy-diary-display) | ||
| 676 | %\endexample | ||
| 677 | % | ||
| 678 | and in the \kbd{~/diary} file add | ||
| 679 | |||
| 680 | \beginexample% | ||
| 681 | \&\%\%(org-diary) | ||
| 682 | \endexample | ||
| 683 | |||
| 684 | to include all the files listed in \kbd{org-agenda-files}. For more | ||
| 685 | selective file inclusion use a line for each file: | ||
| 686 | |||
| 687 | \beginexample% | ||
| 688 | \&\%\%(org-diary) ~/path/to/some/org-file.org | ||
| 689 | \endexample | ||
| 690 | |||
| 691 | \section{Remember-mode Integration} | 667 | \section{Remember-mode Integration} |
| 692 | 668 | ||
| 693 | See the manual for how to make remember.el use Org-mode links and | 669 | See the manual for how to make remember.el use Org-mode links and |
| @@ -712,7 +688,7 @@ Insert the note with one of the following: | |||
| 712 | Configure the variable {\tt org-CUA-compatibility} to make Org-mode | 688 | Configure the variable {\tt org-CUA-compatibility} to make Org-mode |
| 713 | avoid the \kbd{S-<cursor>} bindings used by these modes. When set, | 689 | avoid the \kbd{S-<cursor>} bindings used by these modes. When set, |
| 714 | Org-mode will change the following keybindings (also in the agenda | 690 | Org-mode will change the following keybindings (also in the agenda |
| 715 | buffer, but not during date selection). See note mark four$^4$ | 691 | buffer, but not during date selection). See note mark four$^3$ |
| 716 | throughout the reference card. | 692 | throughout the reference card. |
| 717 | %\vskip-mm | 693 | %\vskip-mm |
| 718 | \beginexample | 694 | \beginexample |
| @@ -722,16 +698,13 @@ S-RET $\to$ C-S-RET | |||
| 722 | \endexample | 698 | \endexample |
| 723 | 699 | ||
| 724 | \section{Notes} | 700 | \section{Notes} |
| 725 | $^1$ The six autoload forms are only needed if Org-mode is not part of | 701 | $^1$ This is only a suggestion for a binding of this command. Choose |
| 726 | Emacs, or an XEmacs package. | ||
| 727 | |||
| 728 | $^2$ This is only a suggestion for a binding of this command. Choose | ||
| 729 | you own key as shown under INSTALLATION. | 702 | you own key as shown under INSTALLATION. |
| 730 | 703 | ||
| 731 | $^3$ After changing a \kbd{\#+KEYWORD} or \kbd{<<<target>>>} line, | 704 | $^2$ After changing a \kbd{\#+KEYWORD} or \kbd{<<<target>>>} line, |
| 732 | press \kbd{C-c C-c} with the cursor still in the line to update. | 705 | press \kbd{C-c C-c} with the cursor still in the line to update. |
| 733 | 706 | ||
| 734 | $^4$ Keybinding affected by {\tt org-CUA-compatibility}. | 707 | $^3$ Keybinding affected by {\tt org-CUA-compatibility}. |
| 735 | 708 | ||
| 736 | \copyrightnotice | 709 | \copyrightnotice |
| 737 | 710 | ||
diff --git a/etc/pl-refcard.tex b/etc/pl-refcard.tex index 0d5f008378e..c0d242c01a3 100644 --- a/etc/pl-refcard.tex +++ b/etc/pl-refcard.tex | |||
| @@ -898,9 +898,10 @@ Pozosta/le polecenia: | |||
| 898 | %\key{{\bf quit} Info}{q} | 898 | %\key{{\bf quit} Info}{q} |
| 899 | %\key{search nodes for regexp}{M-s} | 899 | %\key{search nodes for regexp}{M-s} |
| 900 | \key{wywo/laj {\bf samouczek} Info}{h} | 900 | \key{wywo/laj {\bf samouczek} Info}{h} |
| 901 | \key{{\bf zako/ncz} Info}{q} | 901 | \key{wyszukaj zagadnienie w indeksach}{i} |
| 902 | \key{wyszukuj w~w/ez/lach tekst zgodny\newline | 902 | \key{wyszukuj w~w/ez/lach tekst zgodny\newline |
| 903 | z~podanym wyra/zeniem regularnym}{M-s} | 903 | z~podanym wyra/zeniem regularnym}{s} |
| 904 | \key{{\bf zako/ncz} Info}{q} | ||
| 904 | 905 | ||
| 905 | \endindentedkeys | 906 | \endindentedkeys |
| 906 | 907 | ||
| @@ -990,5 +991,9 @@ przez wywo/lanie \kbd{C-h f interactive}. | |||
| 990 | \copyrightnotice | 991 | \copyrightnotice |
| 991 | 992 | ||
| 992 | \bye | 993 | \bye |
| 994 | |||
| 995 | % Local variables: | ||
| 996 | % compile-command: "tex pl-refcard" | ||
| 997 | % End: | ||
| 993 | 998 | ||
| 994 | % arch-tag: 19d15a16-70be-40c8-ad91-88899aac32a9 | 999 | % arch-tag: 19d15a16-70be-40c8-ad91-88899aac32a9 |
diff --git a/etc/pt-br-refcard.ps b/etc/pt-br-refcard.ps new file mode 100644 index 00000000000..376315aa30b --- /dev/null +++ b/etc/pt-br-refcard.ps | |||
| @@ -0,0 +1,2527 @@ | |||
| 1 | %!PS-Adobe-2.0 | ||
| 2 | %%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software | ||
| 3 | %%Title: refcard.dvi | ||
| 4 | %%Pages: 2 | ||
| 5 | %%PageOrder: Ascend | ||
| 6 | %%Orientation: Landscape | ||
| 7 | %%BoundingBox: 0 0 596 842 | ||
| 8 | %%DocumentFonts: CMBX10 CMR8 CMTT8 CMBX8 CMR6 CMSY6 CMTI8 CMMI8 | ||
| 9 | %%EndComments | ||
| 10 | %DVIPSWebPage: (www.radicaleye.com) | ||
| 11 | %DVIPSCommandLine: dvips -t landscape refcard.dvi | ||
| 12 | %DVIPSParameters: dpi=600, compressed | ||
| 13 | %DVIPSSource: TeX output 2006.05.10:0849 | ||
| 14 | %%BeginProcSet: texc.pro | ||
| 15 | %! | ||
| 16 | /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S | ||
| 17 | N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 | ||
| 18 | mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 | ||
| 19 | 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ | ||
| 20 | landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize | ||
| 21 | mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ | ||
| 22 | matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round | ||
| 23 | exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ | ||
| 24 | statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] | ||
| 25 | N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin | ||
| 26 | /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array | ||
| 27 | /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 | ||
| 28 | array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N | ||
| 29 | df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A | ||
| 30 | definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get | ||
| 31 | }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} | ||
| 32 | B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr | ||
| 33 | 1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 | ||
| 34 | 1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx | ||
| 35 | 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx | ||
| 36 | sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ | ||
| 37 | rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp | ||
| 38 | gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B | ||
| 39 | /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ | ||
| 40 | /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ | ||
| 41 | A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy | ||
| 42 | get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} | ||
| 43 | ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp | ||
| 44 | fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 | ||
| 45 | {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add | ||
| 46 | chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ | ||
| 47 | 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} | ||
| 48 | forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn | ||
| 49 | /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put | ||
| 50 | }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ | ||
| 51 | bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A | ||
| 52 | mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ | ||
| 53 | SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ | ||
| 54 | userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X | ||
| 55 | 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 | ||
| 56 | index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N | ||
| 57 | /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ | ||
| 58 | /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) | ||
| 59 | (LaserWriter 16/600)]{A length product length le{A length product exch 0 | ||
| 60 | exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse | ||
| 61 | end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask | ||
| 62 | grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} | ||
| 63 | imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round | ||
| 64 | exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto | ||
| 65 | fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p | ||
| 66 | delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} | ||
| 67 | B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ | ||
| 68 | p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S | ||
| 69 | rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end | ||
| 70 | |||
| 71 | %%EndProcSet | ||
| 72 | %%BeginProcSet: f7b6d320.enc | ||
| 73 | % Thomas Esser, Dec 2002. public domain | ||
| 74 | % | ||
| 75 | % Encoding for: | ||
| 76 | % cmb10 cmbx10 cmbx12 cmbx5 cmbx6 cmbx7 cmbx8 cmbx9 cmbxsl10 | ||
| 77 | % cmdunh10 cmr10 cmr12 cmr17cmr6 cmr7 cmr8 cmr9 cmsl10 cmsl12 cmsl8 | ||
| 78 | % cmsl9 cmss10cmss12 cmss17 cmss8 cmss9 cmssbx10 cmssdc10 cmssi10 | ||
| 79 | % cmssi12 cmssi17 cmssi8cmssi9 cmssq8 cmssqi8 cmvtt10 | ||
| 80 | % | ||
| 81 | /TeXf7b6d320Encoding [ | ||
| 82 | /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega | ||
| 83 | /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve | ||
| 84 | /macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash | ||
| 85 | /suppress /exclam /quotedblright /numbersign /dollar /percent /ampersand | ||
| 86 | /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen | ||
| 87 | /period /slash /zero /one /two /three /four /five /six /seven /eight | ||
| 88 | /nine /colon /semicolon /exclamdown /equal /questiondown /question /at | ||
| 89 | /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X | ||
| 90 | /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent | ||
| 91 | /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u | ||
| 92 | /v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress | ||
| 93 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 94 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 95 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 96 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space | ||
| 97 | /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef | ||
| 98 | /.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute | ||
| 99 | /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE | ||
| 100 | /OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef | ||
| 101 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 102 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 103 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 104 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 105 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 106 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 107 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 108 | ] def | ||
| 109 | |||
| 110 | %%EndProcSet | ||
| 111 | %%BeginProcSet: 09fbbfac.enc | ||
| 112 | % Thomas Esser, Dec 2002. public domain | ||
| 113 | % | ||
| 114 | % Encoding for: | ||
| 115 | % cmsltt10 cmtt10 cmtt12 cmtt8 cmtt9 | ||
| 116 | /TeX09fbbfacEncoding [ | ||
| 117 | /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi | ||
| 118 | /Omega /arrowup /arrowdown /quotesingle /exclamdown /questiondown | ||
| 119 | /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla | ||
| 120 | /germandbls /ae /oe /oslash /AE /OE /Oslash /visiblespace /exclam | ||
| 121 | /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft | ||
| 122 | /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one | ||
| 123 | /two /three /four /five /six /seven /eight /nine /colon /semicolon /less | ||
| 124 | /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N | ||
| 125 | /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright | ||
| 126 | /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l | ||
| 127 | /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright | ||
| 128 | /asciitilde /dieresis /visiblespace /.notdef /.notdef /.notdef /.notdef | ||
| 129 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 130 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 131 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 132 | /.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda /Xi /Pi | ||
| 133 | /Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /arrowup /arrowdown | ||
| 134 | /quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute | ||
| 135 | /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE | ||
| 136 | /OE /Oslash /visiblespace /dieresis /.notdef /.notdef /.notdef /.notdef | ||
| 137 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 138 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 139 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 140 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 141 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 142 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 143 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 144 | ] def | ||
| 145 | |||
| 146 | %%EndProcSet | ||
| 147 | %%BeginProcSet: bbad153f.enc | ||
| 148 | % Thomas Esser, Dec 2002. public domain | ||
| 149 | % | ||
| 150 | % Encoding for: | ||
| 151 | % cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9 | ||
| 152 | % | ||
| 153 | /TeXbbad153fEncoding [ | ||
| 154 | /minus /periodcentered /multiply /asteriskmath /divide /diamondmath | ||
| 155 | /plusminus /minusplus /circleplus /circleminus /circlemultiply | ||
| 156 | /circledivide /circledot /circlecopyrt /openbullet /bullet | ||
| 157 | /equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal | ||
| 158 | /greaterequal /precedesequal /followsequal /similar /approxequal | ||
| 159 | /propersubset /propersuperset /lessmuch /greatermuch /precedes /follows | ||
| 160 | /arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast | ||
| 161 | /arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup | ||
| 162 | /arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional | ||
| 163 | /prime /infinity /element /owner /triangle /triangleinv /negationslash | ||
| 164 | /mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur | ||
| 165 | /latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K | ||
| 166 | /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection | ||
| 167 | /unionmulti /logicaland /logicalor /turnstileleft /turnstileright | ||
| 168 | /floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright | ||
| 169 | /angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv | ||
| 170 | /backslash /wreathproduct /radical /coproduct /nabla /integral | ||
| 171 | /unionsq /intersectionsq /subsetsqequal /supersetsqequal /section | ||
| 172 | /dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft | ||
| 173 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 174 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 175 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 176 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 177 | /minus /periodcentered /multiply /asteriskmath /divide /diamondmath | ||
| 178 | /plusminus /minusplus /circleplus /circleminus /.notdef /.notdef | ||
| 179 | /circlemultiply /circledivide /circledot /circlecopyrt /openbullet | ||
| 180 | /bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset | ||
| 181 | /lessequal /greaterequal /precedesequal /followsequal /similar | ||
| 182 | /approxequal /propersubset /propersuperset /lessmuch /greatermuch | ||
| 183 | /precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef | ||
| 184 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 185 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 186 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 187 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 188 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 189 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 190 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 191 | ] def | ||
| 192 | |||
| 193 | %%EndProcSet | ||
| 194 | %%BeginProcSet: 74afc74c.enc | ||
| 195 | % Thomas Esser, Dec 2002. public domain | ||
| 196 | % | ||
| 197 | % Encoding for: | ||
| 198 | % cmbxti10 cmff10 cmfi10 cmfib8 cmti10 cmti12 cmti7 cmti8cmti9 cmu10 | ||
| 199 | % | ||
| 200 | /TeX74afc74cEncoding [ | ||
| 201 | /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega | ||
| 202 | /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve | ||
| 203 | /macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash | ||
| 204 | /suppress /exclam /quotedblright /numbersign /sterling /percent | ||
| 205 | /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma | ||
| 206 | /hyphen /period /slash /zero /one /two /three /four /five /six /seven | ||
| 207 | /eight /nine /colon /semicolon /exclamdown /equal /questiondown /question | ||
| 208 | /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W | ||
| 209 | /X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent | ||
| 210 | /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u | ||
| 211 | /v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress | ||
| 212 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 213 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 214 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 215 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space | ||
| 216 | /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef | ||
| 217 | /.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute | ||
| 218 | /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE | ||
| 219 | /OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef | ||
| 220 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 221 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 222 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 223 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 224 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 225 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 226 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 227 | ] def | ||
| 228 | |||
| 229 | %%EndProcSet | ||
| 230 | %%BeginProcSet: aae443f0.enc | ||
| 231 | % Thomas Esser, Dec 2002. public domain | ||
| 232 | % | ||
| 233 | % Encoding for: | ||
| 234 | % cmmi10 cmmi12 cmmi5 cmmi6 cmmi7 cmmi8 cmmi9 cmmib10 | ||
| 235 | % | ||
| 236 | /TeXaae443f0Encoding [ | ||
| 237 | /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega | ||
| 238 | /alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa | ||
| 239 | /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi | ||
| 240 | /omega /epsilon /theta1 /pi1 /rho1 /sigma1 /phi1 /arrowlefttophalf | ||
| 241 | /arrowleftbothalf /arrowrighttophalf /arrowrightbothalf /arrowhookleft | ||
| 242 | /arrowhookright /triangleright /triangleleft /zerooldstyle /oneoldstyle | ||
| 243 | /twooldstyle /threeoldstyle /fouroldstyle /fiveoldstyle /sixoldstyle | ||
| 244 | /sevenoldstyle /eightoldstyle /nineoldstyle /period /comma /less /slash | ||
| 245 | /greater /star /partialdiff /A /B /C /D /E /F /G /H /I /J /K /L /M /N | ||
| 246 | /O /P /Q /R /S /T /U /V /W /X /Y /Z /flat /natural /sharp /slurbelow | ||
| 247 | /slurabove /lscript /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p | ||
| 248 | /q /r /s /t /u /v /w /x /y /z /dotlessi /dotlessj /weierstrass /vector | ||
| 249 | /tie /psi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 250 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 251 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 252 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 253 | /space /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi | ||
| 254 | /.notdef /.notdef /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta | ||
| 255 | /theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon | ||
| 256 | /phi /chi /psi /tie /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 257 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 258 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 259 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 260 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 261 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 262 | /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 263 | /.notdef /.notdef /.notdef /.notdef /.notdef | ||
| 264 | ] def | ||
| 265 | |||
| 266 | %%EndProcSet | ||
| 267 | %%BeginProcSet: texps.pro | ||
| 268 | %! | ||
| 269 | TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 | ||
| 270 | index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll | ||
| 271 | exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 | ||
| 272 | ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ | ||
| 273 | pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get | ||
| 274 | div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type | ||
| 275 | /nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end | ||
| 276 | definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup | ||
| 277 | sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll | ||
| 278 | mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ | ||
| 279 | exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} | ||
| 280 | forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def | ||
| 281 | end | ||
| 282 | |||
| 283 | %%EndProcSet | ||
| 284 | %%BeginFont: CMMI8 | ||
| 285 | %!PS-AdobeFont-1.1: CMMI8 1.100 | ||
| 286 | %%CreationDate: 1996 Jul 23 07:53:54 | ||
| 287 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 288 | 11 dict begin | ||
| 289 | /FontInfo 7 dict dup begin | ||
| 290 | /version (1.100) readonly def | ||
| 291 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 292 | /FullName (CMMI8) readonly def | ||
| 293 | /FamilyName (Computer Modern) readonly def | ||
| 294 | /Weight (Medium) readonly def | ||
| 295 | /ItalicAngle -14.04 def | ||
| 296 | /isFixedPitch false def | ||
| 297 | end readonly def | ||
| 298 | /FontName /CMMI8 def | ||
| 299 | /PaintType 0 def | ||
| 300 | /FontType 1 def | ||
| 301 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 302 | /Encoding 256 array | ||
| 303 | 0 1 255 {1 index exch /.notdef put} for | ||
| 304 | dup 0 /.notdef put | ||
| 305 | readonly def | ||
| 306 | /FontBBox{-24 -250 1110 750}readonly def | ||
| 307 | /UniqueID 5087383 def | ||
| 308 | currentdict end | ||
| 309 | currentfile eexec | ||
| 310 | D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE | ||
| 311 | 3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B | ||
| 312 | 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 | ||
| 313 | B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B | ||
| 314 | 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE | ||
| 315 | D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5 | ||
| 316 | 5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC | ||
| 317 | 4391C9DF440285B8FC159D0E98D4258FC57892DDF753642CD526A96ACEDA4120 | ||
| 318 | 788F22B1D09F149794E66DD1AC2C2B3BC6FEC59D626F427CD5AE9C54C7F78F62 | ||
| 319 | C36F49B3C2E5E62AFB56DCEE87445A12A942C14AE618D1FE1B11A9CF9FAA1F32 | ||
| 320 | 617B598CE5058715EF3051E228F72F651040AD99A741F247C68007E68C84E9D1 | ||
| 321 | D0BF99AA5D777D88A7D3CED2EA67F4AE61E8BC0495E7DA382E82DDB2B009DD63 | ||
| 322 | 532C74E3BE5EC555A014BCBB6AB31B8286D7712E0E926F8696830672B8214E9B | ||
| 323 | 5D0740C16ADF0AFD47C4938F373575C6CA91E46D88DE24E682DEC44B57EA8AF8 | ||
| 324 | 4E57D45646073250D82C4B50CBBB0B369932618301F3D4186277103B53B3C9E6 | ||
| 325 | DB42D6B30115F67B9D078220D5752644930643BDF9FACF684EBE13E39B65055E | ||
| 326 | B1BD054C324962025EC79E1D155936FE32D9F2224353F2A46C3558EF216F6BB2 | ||
| 327 | A304BAF752BEEC36C4440B556AEFECF454BA7CBBA7537BCB10EBC21047333A89 | ||
| 328 | 8936419D857CD9F59EBA20B0A3D9BA4A0D3395336B4CDA4BA6451B6E4D1370FA | ||
| 329 | D9BDABB7F271BC1C6C48D9DF1E5A6FAE788F5609DE3C48D47A67097C547D9817 | ||
| 330 | AD3A7CCE2B771843D69F860DA4059A71494281C0AD8D4BAB3F67BB6739723C04 | ||
| 331 | AE05F9E35B2B2CB9C7874C114F57A185C8563C0DCCA93F8096384D71A2994748 | ||
| 332 | A3C7C8B8AF54961A8838AD279441D9A5EB6C1FE26C98BD025F353124DA68A827 | ||
| 333 | AE2AF8D25CA48031C242AA433EEEBB8ABA4B96821786C38BACB5F58C3D5DA011 | ||
| 334 | 85B385124C2B6534F3CD1866AF92009D93B97F763AA3D16684AA65F029E776DA | ||
| 335 | 3BFB75EDD46D562E6A284DB4F2FDBF7CDE7C1F3772CD7B6FD372842A0E07E3EF | ||
| 336 | 68A98AB9278ADC2D35891543F57ED6DCFE8923368D556F1A8B3E35863112F409 | ||
| 337 | FBE67FC270328312BAA43A9A372C510717B50AAB01A1E02A9982113E2D7C601C | ||
| 338 | B0BDA1C0E081E546A97647B74EE5194C57ACD62502B329FED4D966BDEB4028F0 | ||
| 339 | F082EDD5DFC8387653D620E9E73FDCE3C155347D5929C3A24D6121AEA46BBF3A | ||
| 340 | B1C8A4793FB7F21C84400912C27D9AB0845537103553BF8F | ||
| 341 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 342 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 343 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 344 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 345 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 346 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 347 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 348 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 349 | cleartomark | ||
| 350 | %%EndFont | ||
| 351 | %%BeginFont: CMTI8 | ||
| 352 | %!PS-AdobeFont-1.1: CMTI8 1.0 | ||
| 353 | %%CreationDate: 1991 Aug 18 21:07:42 | ||
| 354 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 355 | 11 dict begin | ||
| 356 | /FontInfo 7 dict dup begin | ||
| 357 | /version (1.0) readonly def | ||
| 358 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 359 | /FullName (CMTI8) readonly def | ||
| 360 | /FamilyName (Computer Modern) readonly def | ||
| 361 | /Weight (Medium) readonly def | ||
| 362 | /ItalicAngle -14.04 def | ||
| 363 | /isFixedPitch false def | ||
| 364 | end readonly def | ||
| 365 | /FontName /CMTI8 def | ||
| 366 | /PaintType 0 def | ||
| 367 | /FontType 1 def | ||
| 368 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 369 | /Encoding 256 array | ||
| 370 | 0 1 255 {1 index exch /.notdef put} for | ||
| 371 | dup 0 /.notdef put | ||
| 372 | readonly def | ||
| 373 | /FontBBox{-35 -250 1190 750}readonly def | ||
| 374 | /UniqueID 5000826 def | ||
| 375 | currentdict end | ||
| 376 | currentfile eexec | ||
| 377 | D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE | ||
| 378 | 3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B | ||
| 379 | 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 | ||
| 380 | B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B | ||
| 381 | 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE | ||
| 382 | D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5 | ||
| 383 | 525003F3DAD7933EB57E7DB1462E9D906F6D8F5BF740206C1EC5F36E00AAFF68 | ||
| 384 | F3EF6F3A2540E5F9564D1C215BC1E7E69C7D04DA5DB1CF195613C9CBF4BAA360 | ||
| 385 | 84AEF3E10E24877FBE36AD731DC97305BDE6DB1F934909FAF60B8E28561FBC57 | ||
| 386 | 0F5B6225425BFDE8F0C71CD4507B82FF803E9A301397975E38A259DE1E1B4FC0 | ||
| 387 | 06BB1DC2D45B987A2268A77CE8DC025CB0D1B39788BBEE149103950650171C94 | ||
| 388 | 5FED1063050A90BD38605BD9365D1C2AE42A7DA3DDB9A263FE10BD487F63D908 | ||
| 389 | D4F02758BD9D7BE53E6353A25BEFA29E42B50C1D078A8B3A746EEDB381CCE36C | ||
| 390 | 93FC4BD1A8D1D6ACD0D355E948CFE397B74D243EB51597D251D0BAE6884D70E8 | ||
| 391 | FEE119462E1939A9783414DF59EEA5FF1529F13869D1FF0A44935C5198CC5DAA | ||
| 392 | E1FD2A17AEEBF4974052D06734A409E26C457C06700C55896C90BB33E044A737 | ||
| 393 | 46590D9FA242819B9527FD59818D8829D4EB2D26A34CC05A2CC063E66F2DF193 | ||
| 394 | 8E4F9670014BC243180E45B51DDB05AD1E6A7F619EE1CE09CFC1A4F02CB7270E | ||
| 395 | 4482FEDF673EDED38EF3173C475C34BFB3F6623C5E942A7797FEDDD0EF1D54E9 | ||
| 396 | 1D90D7076C0A9687E334907C22F2E7C603388D8D626B0E5A62B7543DCBB575D7 | ||
| 397 | 9A6BE1528EC9BC18570001092524E4FBB02F3B29293BCB4F0EF14A2DD9DB22A5 | ||
| 398 | BB33455799E8120D2A4862424AA4A382972E2845E042506FC8F6E201D11DD0F2 | ||
| 399 | 09FAD8DC29C3E12B66293ACBFB13FA0F26238981F2CD52B47A8CDE6DF5CDFAAF | ||
| 400 | 3113E1A6366B806EABA9C34E5D41167CD10D7B639021FB4CFDAE28CE72A93F3C | ||
| 401 | E8929A4813956AAB24BE7C20FCF9196E8E2F30816FE2279CE3E6067667A39E44 | ||
| 402 | 488D58BFD17606AE885FA06F478D359A6ECF5564C095FE0E5038425D8B152750 | ||
| 403 | F72F41B3D1E7420EE91CF4A9ED5BBE8C2275624AE257D2BDF5752E803B426F40 | ||
| 404 | 924CB5C29460BC09EC84F3F3A95F6900836F0ECCF6A7BB85A3F8D650017E5FE0 | ||
| 405 | 503A73644EC6C6B0254F0259F8DD4AB3945950974CEB34521881A2506E76EBB3 | ||
| 406 | 7DBA7812E0186DE2C0AD3E6D42BCA320014368DD738408C54AE2CAAA9C05612B | ||
| 407 | E7F33218F2FECCE8DB2E4B3A3BCD9D8D0BAD7EDDCCAE45F6A15FD2B8ED263E45 | ||
| 408 | 14AF0CC7B58EF52D5FE73023EE9DAB8249D1EB3B795C7B42BFD2A2852D2D16BF | ||
| 409 | CD71056F412571F41CF7EE80AA916EA4FF1630B1E226F474CC3195006043B1AB | ||
| 410 | 915DA8A9484B930F1F00028287EA3802DA3C3F99961952E04B736CDEC7768307 | ||
| 411 | 879B4D2D553518FBBA727266F94C3A607FFD5D85CD0FB802CA51E6A3792C80F9 | ||
| 412 | A637D47C13A787F5D9C5BAC24E843DA198B7CC898AD786DEAC0BA9B6EF955ECC | ||
| 413 | 72DA3A8CCCF7F3B69597A2F868AE359737A9714AE6D81989B4152DA33095DAB8 | ||
| 414 | 5759080AA156DF1F3767120018CE81D296D813DC52786586CF3F38EE3CE181D3 | ||
| 415 | 9D79439EE13D4E5799E03338E93315C3F6BA8ADC731A0D8282637E524C1E9736 | ||
| 416 | 29C594C6F19B49C859D7CCA98148215F7E6943637797641D44DC9FB8FA403FCA | ||
| 417 | BD581E477C7BBDBC84048141760B4EE0D181D585C519D02DEB7D1C650BB49874 | ||
| 418 | A75E95E6A17D8024346AF3288A32A7EDFFAE15BACD436CC76850F2EAC7EFF565 | ||
| 419 | C4273160FC5DC7434DB94BFA01D1648421FCFEF66D786CFF60F0031B649B6F14 | ||
| 420 | E9139B27185E6E9A70E439AA8D68C6535A42634FFDA55DE86BDEDDF3D6B73015 | ||
| 421 | 37C7437A96CDAC620A29942E834F714D82774AED0A83771A152EAC0CC043CB09 | ||
| 422 | 02574AFC4CA006FC0D24C3DAAF4D681CC1D2D7870F273773171A4977AD05A082 | ||
| 423 | 0DF3F50C8A36D7D8AA96E82387AAFB48D048CFAE2CBAA88F1865B84CFBBC1731 | ||
| 424 | A212A44EB98265A8D4A8C118E038A0C3503B27D8B58846C4F3E8112C8B05A41A | ||
| 425 | 9F8B0E1513528F5D7E509EE847F7224AA06819954974F8065AF49F21840E972D | ||
| 426 | C1B028B541BA1364045E814A9F8FB299B6B62CA150245D92588056992FE6D71B | ||
| 427 | FB16F2B42A3DE425B302051FCC4A2AA76F6146BAA385614913D2B11191CA6A09 | ||
| 428 | BAE8567DCAC342D013C7830A0F03D848397110F021C63C9D6AFA90ABBC2DE4C9 | ||
| 429 | 69EDFEE42C028640F9784E8CA11B83B4E7AB58F8335FA294DD68BA87FFFCC743 | ||
| 430 | 67239D7FF1C54B725D53581832F5307FF1995D8273EBA54372AC82B7D5EC5773 | ||
| 431 | 8F52B55255502008E0EDA0646D4D71137D822A57C0E9E05F3D61B91436B5FFE5 | ||
| 432 | CD90CABEA89420F4ADD844733B9B0F0C72688B9184A2EF69966411DF2B23A25A | ||
| 433 | 11F009C6F23E452854B77AA33129C531C2C7A8666D550A83CBA6F251CB016F0C | ||
| 434 | 940EC74FF62C721F3D854404F431DB39548F0785C5140A9D406C06306CBB0C99 | ||
| 435 | B7AA0E4680D8DE074B369A7481F0C12BCEDB787A1A9E4C71C869F5022447E317 | ||
| 436 | E6B851B8D89144BEE028D2352745CB0C081A7E806482F74E7EDDB5F1601A58D9 | ||
| 437 | EC5B92F7DAD1B462B0EB9DF22604BB2D617AC6056E723110CEBACFB0F6ADFC92 | ||
| 438 | F64C98F9910F91A8C4B39EF508A1AA01656C41247E1E8280A97089C515A1792B | ||
| 439 | 509D2DBD3C5B6972F6829B60135247B75DFA7C067675B7010FB2F116B5009B12 | ||
| 440 | 1F139A8A3E25FF52BE00D9C4AE67496958CA3D1D4568218542B77C865056E45A | ||
| 441 | 0A07947C4E7D16D24E07A77ED01F10226CBBC21E0DF75293CED54214149619A2 | ||
| 442 | 4A591F3F99EB14032AE840BEC7313CF1F24250BD8D6BDDBE85883D35D6907C77 | ||
| 443 | FCF01A7E8DAA9BF8E47DA3225623B645891455874BA99ABF9AC9CFABC083127E | ||
| 444 | CA636C8673A1ECF967BABDABF1A569319A4E382E7C593CB954522CC9DF04BEA6 | ||
| 445 | 57297331734B3959805B89F96DD23C38DC8CE17C7373EE5F7A9035557E40C310 | ||
| 446 | 7D1DA91F87F0CF45E54518B549DDC5F91851E2899E9756A069CBAE8E63A42974 | ||
| 447 | 299781A390072C7E59B9433F9D47111900DEF4E4F10913BAEE90794333454574 | ||
| 448 | 37B7A46664522983EADBAF6155C6A8624CC7FF1A850313072EF5B066059CC840 | ||
| 449 | C4A1DA2BAC6DD27D3D3BC9653003D5B25405492BB64FE4A1C294F06492093093 | ||
| 450 | A4B0175F6DBFE6C4C28C310F71010F97035774250EE0468E54A7CCF54465C7FE | ||
| 451 | 7A70ADA08BB5B6A4AEBB3F60FA39FB810E6D7B1FBF169DEF45FD7E7EEC4B273E | ||
| 452 | A11269ED5BC9F8250F8D29BCBB656105FF2D71FB624F7A67C899828D3A563491 | ||
| 453 | 9CCE8EF268F2A8986577C3A752F91B650DC9717A89F76DBAC254DF1BC705308B | ||
| 454 | 2E4C7C55A152ED1AE945337B93E411B46DF56DD8F0942DD8403ED15FA515079C | ||
| 455 | A1035F3C7A2648761792E241C6710503F7A6093FAD8BCA34C0378700928762E7 | ||
| 456 | FC371BDA7488C95F69518E1DB63068E740942234A79478DF18C5752490DF199F | ||
| 457 | 95C654423257DE301117F3C379DA5C90392A7BA173BA19BF2C35C9A0EE180098 | ||
| 458 | C228CED65FD5241B5DA3D318891994D363AE49E3B0FFDE091C82DB4BE7B240EB | ||
| 459 | 159050F74BD181337EE202011BC96EB74C68E8BBB26E46020355378E6EC2B9D8 | ||
| 460 | 89DB7907378B83FDC294B134E69D5AC1B2CBC821420EE28CEE8681EA3EC902F8 | ||
| 461 | 3E8503A833B675E21679D6C5B7041701FC553B95D2DB82987EB4A010C8DCD9A9 | ||
| 462 | C0FB4C048617716CEA638CE3A16C90E55DBF76408A71B3B7FB784820EC3971EF | ||
| 463 | 726DBE12A1098F350D9FF84E1846CD57B6DDAEF32C6B839644F57EE6B256090E | ||
| 464 | C711154CB95AB2910587E15E3F16D402943157E9CBA2174BE93B820951499A42 | ||
| 465 | F797664141F9F2698166395DF7116293B6557266C7DA28E2FC1F8BDA4B00C07B | ||
| 466 | 6F7FE6AD4937A694EA423A2B90F9EBD30B8D3710E7E6D7BE15BA631E6991EE2B | ||
| 467 | 1A28A02C4CC51889C37702E57F13F1E54295D77148C7EBB6B006DD232EF94D83 | ||
| 468 | 20FFCB794B221BDEB84DCD737D301A44B8414B4591BD1D184C85B09BC5E28A0D | ||
| 469 | 7DB0830419C1D92775DBFAD72F2D7E581EB08E516B0DE87BFF2DC167EBACE23B | ||
| 470 | 73A3E770832A7A22B28AD12CA07DD15D22FF5EE53C48C55CEE77BD2D429571F8 | ||
| 471 | 9DC52FC92A2D4F7BEDC0F27C39E7BFBBE38721E56234E9AF5FF1EFC753C8E281 | ||
| 472 | 4EAF702CA8F08D3407FEF7E177FDE6177F6604B47872CD9EC22A6644C5A78CDA | ||
| 473 | FE3C51033C45BC1BE224F09EAF923B058E13ACDC61A0E7CB5C999DB0C8543BFC | ||
| 474 | 4D65815338F65AA12BDDFC1EF5A249270D84BF1377FA064F62F41787F3D875D3 | ||
| 475 | 0E4EBD38E30D593389ED01180CA5AD540A89B31933BCEC4DEEA2CFA94C03FD0D | ||
| 476 | 290573BB3162C80FA9783A66AF33F11CD9437A7EE16812BBC32D80DC10057A97 | ||
| 477 | C83152905B954CBE464EF39D40056FF3047D9D57B9088A7FAD48E997B5096D20 | ||
| 478 | E21F9FF5858FC241EC16527F66DE8B403281A8FCA32AF1408D05387C3BFF79CF | ||
| 479 | 25C5E6EE231B17287ACC5643C94E54A6962CE33246F7D03060042B623CB80C2C | ||
| 480 | 2E2AC47CB431B64828D8D35426810074E1B98188A866406D24B8020D2082961A | ||
| 481 | A4AA27528B60C098CC0F8D34FF1DC6C5A4836C028B2295A4D8281278264283A9 | ||
| 482 | ABE23AC0A2EC42562FFD6F5FAFA72C8A029F333C26D8CC5B972073019BFB320A | ||
| 483 | 966156DEF26E9AE303FB4E20EEC86A48468755EB228C5BDAB00714F96797F5D7 | ||
| 484 | E099755C8F80F0E3331B038527D5743345DDB65784D8234292AEB642C74D95AB | ||
| 485 | 8927727F73AF12F8B189BDA6BE8BE6A08333ED0E2F6F95CE8367174E0280565A | ||
| 486 | 97E1F70518E142D658D2335C2FF8C7C401322D6405D0964966EAC8341F34BB5D | ||
| 487 | 1C654BD9D3489E6F730BB646EDE9F8607F401C5DD1B310D7D422703F305ADDE4 | ||
| 488 | BC45DD88E798C4F4286B117962E210BB9EFDC968BEE0A9C3EB6B35D1C2E8E50F | ||
| 489 | 9B9A8D965B63255791A17BF7E7596DDB15B617B98A8E838DE92775EE9338421C | ||
| 490 | 9A4C9BF5B8E78E475E814EB117719239075BA70DC806DCEF05ACC948AEB8378F | ||
| 491 | DBAFC9D998270678435EE7F8E262C2341B173AEE3F9A2EBC2C74CB158BE302D7 | ||
| 492 | A4FE57E744271A24F3714DF24DDC103687754CFC72ADDED342B5FD5CF9D13D98 | ||
| 493 | 1A13712D09148EF593050E8099035C6B9AE8CFD59948E786E3EC4E1F426FA3A7 | ||
| 494 | 9082E10E79CE44C2D9FA830113503944F8D23CDB9C27A3570907FEAEF76D3ED7 | ||
| 495 | C8E1F81DA7A51CF5B723F0E4C42E3ECAC298B3E1ACB9679A1250633C373805E5 | ||
| 496 | C9496CF87FA7A858656D4A663D3EE3218D9792CF705C361994B69461026D8CCC | ||
| 497 | 130FB9D34293701A137E393F5AE79DE677D13DF5AE9EDDC545496A8C5456A860 | ||
| 498 | B36397BCC78EF754B6965D22004B978B4A55409F73C44B9FF02801D524740B9C | ||
| 499 | E4F45750CD7E45235F376CC2CDCD3BC1B8C7658F52A5EB185EFDB6A0884FF0AF | ||
| 500 | 1958FAA5FDF4595D6EDFE28FB5249A40BDE8BA11AB0E997E9876CA0A0CD05A5B | ||
| 501 | A26F60316F61DBF6E65F43089BDA2D57F00EC72BA3666952E730B14C79FFADB5 | ||
| 502 | 7448ACE6463BD29995D6F6F571BF3D0B426897E457BD30FE76D6CDD6151A94D3 | ||
| 503 | 3D53801608A7E865A01A2FF3D915CAC2614DFDA0A931E009FD1CB63FCEFD0A3D | ||
| 504 | B26711BE84286E389805941573E02841C8E653FD3131316E768E2D096E5BA648 | ||
| 505 | 9F03F9825333B2DAC376A79850AC29CEABC8BB1E7D4E34F37D6E9F388124A9E1 | ||
| 506 | 9981131FE0F6718FFC580E678C9D8C1AED790D0C0D78407050D5FF315E605C73 | ||
| 507 | A16D6868E5DE5E8C1F63A88E159CC44DC0BB3E5CEC35CCBB7493975DC55F52BB | ||
| 508 | A33709E5AE3066894885728EE784142B492056EF876521DA69BE39FF4E2BB95E | ||
| 509 | C60688678B37692CD40A8BCD585240B0AA809328CEC0F954F0D50DA10DF61A21 | ||
| 510 | EADE286E22F67227CA286D9A0512EC909DC28518994C6D6E207D4D00514B0EF9 | ||
| 511 | 5DCDA5965D827642072E6DB4B23D1F6C3250081B4D8E66084AEFD663C5F26E7C | ||
| 512 | E19A4F3C9A100FC4AADA76F9E4AD474D033819801F7444B51203366CC709AD98 | ||
| 513 | F62722F700E13DB42D80041014AFCA8D12B23B85BB2302AB944C437FE0FAADF3 | ||
| 514 | E86291BA50463C32C29FC7D8E4B5EFED49EC40947016D0846AC79E3776E62388 | ||
| 515 | 372568D2AD0DAADAFECEFBC4F7E6A8B47C214A | ||
| 516 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 517 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 518 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 519 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 520 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 521 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 522 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 523 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 524 | cleartomark | ||
| 525 | %%EndFont | ||
| 526 | %%BeginFont: CMSY6 | ||
| 527 | %!PS-AdobeFont-1.1: CMSY6 1.0 | ||
| 528 | %%CreationDate: 1991 Aug 15 07:21:34 | ||
| 529 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 530 | 11 dict begin | ||
| 531 | /FontInfo 7 dict dup begin | ||
| 532 | /version (1.0) readonly def | ||
| 533 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 534 | /FullName (CMSY6) readonly def | ||
| 535 | /FamilyName (Computer Modern) readonly def | ||
| 536 | /Weight (Medium) readonly def | ||
| 537 | /ItalicAngle -14.035 def | ||
| 538 | /isFixedPitch false def | ||
| 539 | end readonly def | ||
| 540 | /FontName /CMSY6 def | ||
| 541 | /PaintType 0 def | ||
| 542 | /FontType 1 def | ||
| 543 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 544 | /Encoding 256 array | ||
| 545 | 0 1 255 {1 index exch /.notdef put} for | ||
| 546 | dup 0 /.notdef put | ||
| 547 | readonly def | ||
| 548 | /FontBBox{-4 -948 1329 786}readonly def | ||
| 549 | /UniqueID 5000816 def | ||
| 550 | currentdict end | ||
| 551 | currentfile eexec | ||
| 552 | D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 | ||
| 553 | 7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 | ||
| 554 | A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 | ||
| 555 | E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A | ||
| 556 | 221A37D9A807DD01161779DDE7D5FC1B2109839E5B52DFB7605D7BA557CC35D6 | ||
| 557 | 49F6EB651B83771034BA0C39DB8D426A24543EF4529E2D939125B5157482688E | ||
| 558 | 9045C2242F4AFA4C489D975C029177CD6497EACD181FF151A45F521A4C4043C2 | ||
| 559 | 1F3E76EF5B3291A941583E27DFC68B9211105827590393ABFB8AA4D1623D1761 | ||
| 560 | 6AC0DF1D3154B0277BE821712BE7B33385E7A4105E8F3370F981B8FE9E3CF3E0 | ||
| 561 | 007B8C9F2D934F24D591C330487DDF179CECEC5258C47E4B32538F948AB00673 | ||
| 562 | F9D549C971B0822056B339600FC1E3A5E51844CC8A75B857F15E7276260ED115 | ||
| 563 | C5FD550F53CE5583743B50B0F9B7C4F836DEF7499F439A6EBE9BF559D2EE0571 | ||
| 564 | CE54AEC461D354A32E69F39DD0C017BD6576F1E9500DC0328E8AF6EAB528FD7B | ||
| 565 | 85132A2A9995EB211FCE849216BF6D663AD649AE92DA953C4D520AB9A22D27B5 | ||
| 566 | 6C34121FD688F9E17FE39B939D8DCED9EDDE5AF6DD7DC2297F2A3E1287E5AF45 | ||
| 567 | 0306EDBA3C843FB8234D0DDEC7595CDE6657E499324DA260BACAE9D6DB126FD9 | ||
| 568 | AAA7368F7164F6BBBBE11EFFFB65660DA0961A97D51ADAF2136A085FDC16C199 | ||
| 569 | 72BC2CA210B330C03F4252A275FEAADC95CFBC79C3B7285C4C7B5C9665909A56 | ||
| 570 | 4176C37DCB569C8EED1B59C58B5EBD3ADD31010DCFD59411FC2020E238A07B83 | ||
| 571 | 2439DEB653AFF1CF197533724E45EDA9810B6793E27943CF51484A5BC7DC61C5 | ||
| 572 | E97F71E04BB623E0BC9C | ||
| 573 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 574 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 575 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 576 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 577 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 578 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 579 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 580 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 581 | cleartomark | ||
| 582 | %%EndFont | ||
| 583 | %%BeginFont: CMR6 | ||
| 584 | %!PS-AdobeFont-1.1: CMR6 1.0 | ||
| 585 | %%CreationDate: 1991 Aug 20 16:39:02 | ||
| 586 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 587 | 11 dict begin | ||
| 588 | /FontInfo 7 dict dup begin | ||
| 589 | /version (1.0) readonly def | ||
| 590 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 591 | /FullName (CMR6) readonly def | ||
| 592 | /FamilyName (Computer Modern) readonly def | ||
| 593 | /Weight (Medium) readonly def | ||
| 594 | /ItalicAngle 0 def | ||
| 595 | /isFixedPitch false def | ||
| 596 | end readonly def | ||
| 597 | /FontName /CMR6 def | ||
| 598 | /PaintType 0 def | ||
| 599 | /FontType 1 def | ||
| 600 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 601 | /Encoding 256 array | ||
| 602 | 0 1 255 {1 index exch /.notdef put} for | ||
| 603 | dup 0 /.notdef put | ||
| 604 | readonly def | ||
| 605 | /FontBBox{-20 -250 1193 750}readonly def | ||
| 606 | /UniqueID 5000789 def | ||
| 607 | currentdict end | ||
| 608 | currentfile eexec | ||
| 609 | D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 | ||
| 610 | 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 | ||
| 611 | 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F | ||
| 612 | D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 | ||
| 613 | 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 | ||
| 614 | 2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C | ||
| 615 | 68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 | ||
| 616 | 3645B82392D5CAE11A7CB49D7E2E82DCD485CBA17D1AFFF95F4224CF7ECEE45C | ||
| 617 | BFB7C8C77C22A01C345078D28D3ECBF804CDC2FE5025FA0D05CCC5EFC0C4F87E | ||
| 618 | CBED13DDDF8F34E404F471C6DD2E43331D73E89BBC71E7BF889F6293793FEF5A | ||
| 619 | C9DD3792F032E37A364C70914843F7AA314413D022AE3238730B420A7E9D0CF5 | ||
| 620 | D0E24F501451F9CDECE10AF7E14FF15C4F12F3FCA47DD9CD3C7AEA8D1551017D | ||
| 621 | 23131C09ED104C052054520268A4FA3C6338BA6CF14C3DE3BAF2EA35296EE3D8 | ||
| 622 | D6496277E11DFF6076FE64C8A8C3419FA774473D63223FFA41CBAE609C3D976B | ||
| 623 | 93DFB4079ADC7C4EF07303F93808DDA9F651F61BCCF79555059A44CBAF84A711 | ||
| 624 | 6D98083CEF58230D54AD486C74C4A257FC703ACF918219D0A597A5F680B606E4 | ||
| 625 | EF94ADF8BF91A5096A806DB64EC96636A98397D22A74932EB7346A9C4B5EE953 | ||
| 626 | CB3C80AA634BFC28AA938C704BDA8DC4D13551CCFE2B2784BE8BF54502EBA9AF | ||
| 627 | D49B79237B9C56310550BC30E9108BB06EAC755D6AA4E688EFE2A0AAB17F20FE | ||
| 628 | 00CD0BFF1B9CB6BDA0FA3A29A3117388B6686657A150CE6421FD5D420F4F7FB5 | ||
| 629 | B0DAA1BA19D638676E9CF159AC7325EF17B9F74E082BEF75E10A31C7011C0FFA | ||
| 630 | 99B797CE549B5C45238DD0FADD6B99D233AC69282DF0D91EA2DBD08CE0083904 | ||
| 631 | A6D968D5AE3BD159D01BDFF42D16111BC0A517C66B43972080D9DD4F3B9AE7FB | ||
| 632 | 11B035CE715C1218B2D779761D8D7E9DEBE277531BD58F313EBD27E33BEF9DC5 | ||
| 633 | 50C7821A8BBC3B9FDF899D7EAA0B94493B97AFEAC503EB5ED7A7AB600A22D03B | ||
| 634 | 86A088CED7AE528182D2EBF4D351FD835B5DAB2036F44604002D0E21510DDCEA | ||
| 635 | F8DD36174C2CFEBAE2D183407AAC7D4D52D51D5B2890CD3B23A88228089D26BD | ||
| 636 | 6E7ED4B31A60C45C7D8C00274A812ECF682228F241C13C41497BEAE1DB58C3B8 | ||
| 637 | 3EED1B4F48D1A4706D71EB098C4FD67CC7890957724C12067CA54A2140855928 | ||
| 638 | E6197231734CB46E3EF820A1C19A6AE55A2547EDAA9994B59311C2D02BAF4950 | ||
| 639 | 2A8739E2E60A1490884101F56392D67FBCB271783118B2568E2DD484465B899A | ||
| 640 | 8312F466470B4A490266852CA56F7F56991A746CCD5A365EAFD700D47D11860E | ||
| 641 | 2E2B21C90AA8B3F9915F81F0E2C2DF98D942F3CEA2300F2B9F6BC99FE21F2966 | ||
| 642 | AA932F222C35EECC2520F10C110D6FF9A32EF56A812D3760B54B451C79D6FE5F | ||
| 643 | 3F93D3E5F9E4D56096A92B9E953F160551BB6FE26206D6A317219222AA58FE76 | ||
| 644 | 6C758416537175D1F7DDA512DAE5A4794216C90B561F6C29C44FAAA5EB719F20 | ||
| 645 | 43333A0605C0A095D8AAC862DE53BFE3EA97A756193E9E74E7604AB5EEFC1E7C | ||
| 646 | 00888CF0F286073143ABD034A1BD66E81E588FF34930DA0421D01B48A71EF115 | ||
| 647 | BD68ECA6C15DB673CF17821A79484DA091B0FD42820B35ACBCC4E2873C3B4950 | ||
| 648 | F76EFCE8F0A80EAE5086450D76847F299FFEFAFB731C72B63DE42CDB342B1691 | ||
| 649 | 0CAF1AD419B1B3102894D78C3ADE69C39ACD063566B0118C0E127D4A7C013D93 | ||
| 650 | C3F3A8D55B3A6BCFA37FC6796CB40EA156958F27435A2832A5FE55A08B76E258 | ||
| 651 | 9440C4741B30E211BD4216DF1EDEE02D168A398B6769F8D165B7D7225D278BA8 | ||
| 652 | 994DDDE391F57EB890156023E6E3D56E22843F3DCC582F7E6C571EF2BB436631 | ||
| 653 | A7E7738ADDAE7A0433C43A8A3B90AD8952E976F348973F79797E5B68469542DE | ||
| 654 | D610798FAFF13B24AFA2574BF898DBD661417C41BD0FB6D448CE99BFABB91117 | ||
| 655 | E8CDCADFAD71D882E51DF28B7D04624615C826CBFA745CD903E2303337AAA886 | ||
| 656 | DF481C65C7D914DE22A026BA75D232481DC320B89A9A2F6DA1D9E54C48CDCDF3 | ||
| 657 | F657A66DFEEA1FEB0E98A71666F115BAC1286D5E0273BE8A67ECEDAA1BFA4921 | ||
| 658 | E96E67138F28919D708719107D48D8F0C4E4DDBDFE6DEC21C27F260DF7A46327 | ||
| 659 | D924F8918E2F0837760BEC3666C7D5D60A9F2A7EB0DFAECA1AE4A79C15CEBDA9 | ||
| 660 | 7592B665DFC923D1C6ECB7A3444016A1F9760493BA1D71232BF2576DB84CF966 | ||
| 661 | 7A7466A55FDF764D4BD7810541055B989E8A8189ACA63014CF403E3926C4F455 | ||
| 662 | 81E25361FE1339777B597EFF1CD63F007EE735B9049315DE035415170248B359 | ||
| 663 | EF4A0BD6960E23D3318A59E11190AFF749ECEBC81B0D3E26795B6369309ABA76 | ||
| 664 | C1E2EA4EC1DB3065E4618BFDE7729263920EFE5236EA355BC30C95C62718EDDC | ||
| 665 | 69C3824B6A450B37974FE23553D0E1ECA572155E53DFCAD1E4F7C40FCCEB42F0 | ||
| 666 | 8A41A4F516B5937D75FBB86BF290BB6548FF327853DC5A25D002A381A13DBAE8 | ||
| 667 | 6CFD76979CBD26A4F4D97A791BC1E65AC1B34F43AA12D9F5E66E85E368AC33DA | ||
| 668 | 2626EE4E399623D6449037D555E35E0A22E4AABC91B360D7A961FD335E37FAD1 | ||
| 669 | 46DB866561D431B05A65BE91077FEBAD52EA5587D5DB86CBD753EB270B4AFDA6 | ||
| 670 | 68C0F1232BDBC07B5D7E2B58AD4FCE8D004149EA212653A83BCA85A1BC8E5AD7 | ||
| 671 | D15D165521AB6377FA20A09413403C79B1266F49D983AD0BC50AB766F1CEC782 | ||
| 672 | 4609F22694540DBCF5FD113626C89BDCAA59F4905D07BABD08BA49F976C0A79F | ||
| 673 | 94A77AD26783AA9BC47B8A11CAA11090D09A88BA948844A45BCEDD3CDE0EF114 | ||
| 674 | 2E16ABAC0D90E7B7345C04B53577218009E67C7B7010AD8DB0FF1073DE31C770 | ||
| 675 | 670C6619622031490EA2A2D1A9FB80DD21A5ACC526C2BF0D999651B8E22A28FD | ||
| 676 | 47B4708B288F5BED8E5DFBE57FB3FB33F00657B8544CDF6CAFE1A3BBDA9F2296 | ||
| 677 | 3C5BEC4351412CCB9AB6F450188D307B9AC70CA7D9DD184414833868B27BCF62 | ||
| 678 | C8CDDF23A7D796D0A1F8155E66EC9D7B35BF0FBE185103A37EC12981EADBD16D | ||
| 679 | 70CDB2D685FC168F08AE39F375739ADFC915A63C6A7246D164A12569155B956D | ||
| 680 | A7A5795A6EA9D4FDB0AFE54C63CBC01D5C338B68DAC3D23B110527B91BC0527A | ||
| 681 | 30D7E8B7DB2A6CA19B7C71D78D71C41AE0557E0A9CF2F3285F53CEF69DC3C91A | ||
| 682 | B3EE632FC1416B4B36CD2FDB8BAE850FAC5E9E0B7B57534A8D86948074AB123B | ||
| 683 | B39EBA873F819AA42D36D4E07E2507EDBB3144337A743FB436545938E4DEABF7 | ||
| 684 | 03EF9E9752B4DF79396023282325AC3AD52F42430A97C54287C94C3C910D025E | ||
| 685 | B6C40DC9A11D864614393CE973DE186B99F4B3C0F33CA18E1D30F8E8EA70223A | ||
| 686 | 36853FEC29C0F96B59A6F59C0A33712B7053001FD554D23D0FF848FEB3C7EC9F | ||
| 687 | 7455645E42209FD5B8CC08A4A882E34275F6EEC5B16E7A7DE6C9D8941EB6BB46 | ||
| 688 | ABA35AA067E0439AFFF7DF7A660D66C8503BF35EC83C32270E04512FFA90618F | ||
| 689 | 6825695BB8ED9F97C4FA706BB84B66A9BB210628EBE19ADB36D679CF9E7B3BFA | ||
| 690 | 4D4764BBB31682A14FD537266E2CE1F4640131D324382542FF8B8CD9BB108B69 | ||
| 691 | 6655FE8FCFB277A88C58A7E2AFAC9B740D840EDF1DFC50747CD3EA1DC24B050F | ||
| 692 | B12404954E42E14DB6092B38F32CBAB9546A9784BFF7FB16FC0F3D2875A35A16 | ||
| 693 | 75EEEA82FDD3DE0BAFF2C26BD37D229CA06A002529D27EAB41E20818ADFBBB5F | ||
| 694 | 0AAA37BB95CAD96A3F700C2E5B7DD988E89049051077CBDC2DDA592E2B99C090 | ||
| 695 | 53C7D459D85A72B01880F10F9919777AAC2A3133B8A7CC5926ACB6C87B0552BE | ||
| 696 | D310D8E86E5F4B142850D45664F2CB087C0E7546DA66214DE18E67D1BF098A30 | ||
| 697 | 137068F9E9735933B96B4242E805B0D4E58FC9EDE7330D4217C9315BF6317608 | ||
| 698 | ECEE1BFED5BE0CBCDBE36119465AF20A6D7A3244652112A1E602C358D5271595 | ||
| 699 | 213FC19C6562678CA6B38A817C0E7CD65FE588A1D9307FACB838C6F5461C0ED0 | ||
| 700 | 888437043743899769E94B7EFD49B022E3A663EB0A00479B5C291937407B52DB | ||
| 701 | 36E71F524C1C6F4A91BB99E1A824A25C3917DDD42FC2F9DF16BB14C4D28CFFA3 | ||
| 702 | BBA2BD381C27AD1885F7DECA566B15C763B3B4B3F3EAF3806275D8600FBE4B42 | ||
| 703 | D1FEBC74147DB1CF64549C9C7DBEED10F44F4D585371BBA5357ACE0BF864231A | ||
| 704 | 436FEC2C90C94ED01324D5946B89CC05C087CEB96AF03E350BDF44683BDD566F | ||
| 705 | 0B2C48C4041411EF91A57119C9ADB0F2523477F46F72FEA57ADBB2AC25D3135F | ||
| 706 | 4F0BD460DC6D8E29830341C64BAB91275E9CA08B713955A5D344EDAEF871DCC1 | ||
| 707 | B50F30858C3C3666597B73A752E93DF128546D1A1812C5B916AE1F44CB36DBC5 | ||
| 708 | A26B5C3ECFE3A3E2A013B5BAD5722A8943BD678F651528ED340EBBF59FE47E0F | ||
| 709 | D7BC565E44C38FF7697C3F1569C241D339EBC685E7C4D7BBD318B74E6AAFC97C | ||
| 710 | 49EECA3B147E485F1F2475AE983A18395063BFDE981F51E6A2CDBF1906E499CE | ||
| 711 | 6C6403DBD85E65E44839011D7E3F62B7504A9CFBF6A5D3C9AFD6BA64E636D7AA | ||
| 712 | E43BD83ED14C6EFB36A5233A5D795622583AFAA09000C8557848705231B6ED8E | ||
| 713 | 5E3FA79173C172763C70AD176F4F3DB0054F144F661F9F028B596107DDA43168 | ||
| 714 | 11B6A56CE4D375EB9F3DACC6EC06F632CAD1D994217FA7DA1C56F681FE7CD0AC | ||
| 715 | 6CA60BCD21FF4950D20D4A3F11E0662BC1D3CBD8AFE2DFF3DA1C609E0B337B88 | ||
| 716 | 87B6FC6E735DDEFC00C491916F69D0478BA2C346608AECD337AA80031A269380 | ||
| 717 | 45E450ED7BEAADFCBED412595BAC771ED3C1BFA4459A6278EA1F00CF89C9EBDB | ||
| 718 | 0A43F9CDF70A0AF808CB329CE9907FD5B36C3AF5D1C475AC99A6D6F22596CD42 | ||
| 719 | 1CB7B14123D38D8FD9109438D9F49EC8AF29176204C0A776C60009AA148697B7 | ||
| 720 | F5496C6FA123F9ADAC59400E139A0B886E110425839B747241A0FD2DCA8621E4 | ||
| 721 | AC3B71FFB6FF1BD4FC5DF726DA5F383D573640774EC6327F772290930F2656C3 | ||
| 722 | 3D3B1FD3F6B321E0919720F03F3C6EC09D05629549549CAF621EF916071CB6F1 | ||
| 723 | 22625657C27985471E16B21714100F8B80A2C4035C5905C54FF95AB7358117C0 | ||
| 724 | DE70C0FDA8187FA316189D13A9176C1171A318A81D6A77F0E54D6DE37E5D81C2 | ||
| 725 | 5BF1C7EFFEB8D130DDEA4250C4FF4F1BD1B535A20C3FEF972323F114A9FE90D8 | ||
| 726 | 48162CD532AA3423FDA9AB00AD6754C8216253CE936DAD6AED5BAFAA64921186 | ||
| 727 | E217F709A73D6083A8D04F11FFF49D2D8AD5A55415043A8EFB32A478B9D70F95 | ||
| 728 | D9E63A92B53EFAABD9BE62461FEAA541F5CA67FC137E3AAEECB5BE50FF74DAB4 | ||
| 729 | 18BAAE0A7244F072B33F3AF7474EBC681DDB09F4A11663EDA56268CEE9E653D7 | ||
| 730 | 4C068E233BD3F142653DCAEB01E2825AFD6ACC54659F66B21AEE64F66727F033 | ||
| 731 | B3D7D17C051B17B4BF41DAC5D8FCAB88A36DEB62BCB5D248854EEB8A9EB2672A | ||
| 732 | 391013A66539BDAAD4189563B45C2FB57EBB9B02BA6845FE2E7D66CED6098014 | ||
| 733 | 2831ED864C366FD3D2A36D9823E84C686D401BF9F01B71CB9864AE245E34D554 | ||
| 734 | 4DE79FEE3B5C74846967D0512CC9FC103DCA3DF48D0D491E70C8A102AB9A92AD | ||
| 735 | E868509AEC8134C6587B505139FC438FA994819CD17F108C754DF744F31B0731 | ||
| 736 | E07BB4F12389EA058127E75F5AC024595CD8477F5FEC80AE9EF2109D0FF15326 | ||
| 737 | 808FC436888B98938234E93EBFB0BB009F8FACC9D0BC0058E37040CED69EDA45 | ||
| 738 | D08942E834665C0595737BD2C4B18CEF53BE576C03427D0EBD25D335ACCB2473 | ||
| 739 | 63B2FC3FF036BEF8DE2CAA9308E089C591C331DE41017E36914FBC5426358701 | ||
| 740 | 151572CE393FABA2C55D67E7CDC90C78CC6D58C3C6DF6524E5A9804D0D9A0E3B | ||
| 741 | DE85F7D0057D2ADBB04FC0077E0080DB404726A8AF5029FAFC05589D835F9ABF | ||
| 742 | ABAB4C3B3F66384368D4A2B6B3D6C1EC0FB4121C59D1C5C50CE8E65E988D06AD | ||
| 743 | 7D03BDC5B095F3BB54A1E4E7DE57601A28BDF6D1C8A26268FE2A8B510CC62B10 | ||
| 744 | A2F69EF9E8A766BE982C9D791B42C10502F3BE4516D103DE941633F021DDC99E | ||
| 745 | 4C6BB01CAFD7B886E677897C775485878943292F8592C4DED879058D96EF9F10 | ||
| 746 | B89C8BFB5567EB7D53B13F1C9893A60D22246DE121C993E9EA563EF972E433BD | ||
| 747 | DA1119607CEC7C89145164BBF82194A31932BFA6EA40A2466EF148E9EF09209B | ||
| 748 | 973714C0DADAD79BC4DC8F767D948AA227F9A12F46262ADC3FC80BD464EB3750 | ||
| 749 | 51CDE98239A728AFBA32DFCDF0E04F1364399121FBA23EA9660E71F1BD2BF976 | ||
| 750 | F6DB04FE31B3D89112C8EACEC00D8BC0834D63025580AA2A77588FEF5F95BE78 | ||
| 751 | 7AB5A9BBD218B94A7D7E14AE6FC65A615D39058DE4644A126ED9AA1EA03B0A90 | ||
| 752 | 9B8162D84A883D5BA85B83BE8E7EE7B3EFB9F50ACFBFDE4178C4D12D6054A046 | ||
| 753 | 7CC57C142E055B9B822422C9F6E3F2323278AD2299BF211302CAD720BD980980 | ||
| 754 | 4D4EBA8BCE79BC6613EB227A233BF4E0C5B73FD1C424689FECC8949C19E581B5 | ||
| 755 | 9B4534060BB017C315E46E102F9C54830C11CF867846427AFF0293B6EF11970F | ||
| 756 | A5E75BB89A8937512FAE083F1BA63BECF2B5ADCF9618F092F461096C565B55B8 | ||
| 757 | 714F9AEAB4F76920A80BB74538CAE55A617C3B265F64E1B1EB19D96DEE120581 | ||
| 758 | 7FDB28B9823C6F5241ED566AA02650CEEA40E6E1A2C6DB55590C5B5572D8F57B | ||
| 759 | 6AEB288D7869B6A7A50B27E496905CE770852E9BE460CD2D1C723FC7236F92DD | ||
| 760 | 727B27FAF82E9E7F32BADB7911ED3C6525D913BFA333EBDC18573F1441624892 | ||
| 761 | EB53FDBB6A945B38FC9C376C3D534127720420E20DF513EF381E2B6B5D5E5C23 | ||
| 762 | 83412BD67435CD6BCE407B8FDFCE4F0A0C35E5DF9DDBB2D1D5D7CB2A45D886DD | ||
| 763 | 58F908A07FC48C245DC31F28D30FFAD477A1D1AC593FFE8086D05B285C700996 | ||
| 764 | 2CB06125A817D4850B6D3DD246D671554AC1F513932BFACF92A15B75F87DB140 | ||
| 765 | F5225D5B066A913E6E3631F160CF60F54709FA0DECEBF1BB203F4D902B4351EA | ||
| 766 | 6369E4872617A98DDA8BFD29E8933D201A09149077EC934C0B082B92244DBBA5 | ||
| 767 | 0E70943FE5E1E8823E0620C857D8A3CE3F857FA05A0DE16D7673E9CF27C847A7 | ||
| 768 | C8A8DC1F7B8E80A652C47C0AD748A60D76724354AE6D98D37E164B8DF1AA36C3 | ||
| 769 | 04975386BD0C356DE67AF3AF9A2A7C5AB957994A588CD1BF864C64C2D00F8D07 | ||
| 770 | CCD30A5BEED0371BD23A4622BA3B8EFC35FF8A552E770FB899BFDD7A924F228B | ||
| 771 | 95B56FDDF795C0D469B399FD0DDC140CDCB61C6A6E30561CA594D7A7A0E86CE6 | ||
| 772 | B8B4A04D3651CEAF4D11F86CC71A66DA5D66555E27B1D3503E92E368352A0501 | ||
| 773 | FD045A7D79716CA26C601CA2888B9E57DED1163C821C10EAFE81CF0461A92413 | ||
| 774 | BB96D2CBD385D17430F3DD50B260F58DB83423E826B9F55FE96ADC290621D17C | ||
| 775 | 8E4BD1A39007D3EFFB5EC104D2FFC18DF08E16753C26836752BCA0F190882433 | ||
| 776 | 00D86B38E658215741C887494D161A56FDEC75FD5C4E3802318C3D2B72987F3C | ||
| 777 | 2DD3B75F669F2808F2A9C0880852A4A6236FE8A4AA4FFF753FB8E0403A9926F2 | ||
| 778 | 73A342837512D46102279CC3B105A959516C9CD4FF86C704BD81A2DB5FC1BA55 | ||
| 779 | 4798041822419EE5B201F48A1C182EEB9530D6205677136F81D3D911C98FB220 | ||
| 780 | C04E1532CBB717A68A5AE74FC5F6ACCFFE1ADBF194551F4E9E8C481C32345FDD | ||
| 781 | 4615B1EF62FB11C900DF204485616A9D37EA2B41E81EB1854570A07B76C7A064 | ||
| 782 | 2C897C81FF81F703AD989D304CF7AD99F9B900681C935A9FD79C0188B3E2B50F | ||
| 783 | 19B15C3D95D0319406F917A31676DB06839E0180EB5AF09ACB81A4493CEF52FE | ||
| 784 | F606841668FF02BBA4492216D789B6A3C4D9C3FA1310305E9878D7457D7791E2 | ||
| 785 | 4F4749102F501AFF64C3EAF5A90B7B85DF090316D74ACAC512B040C19BBC61CC | ||
| 786 | 2534597944221052369729EDFF43EDAB917F2117353A8E76A6ED790FAEFD58CD | ||
| 787 | 7B0F694B156BDCDA89DDF6DCF2B47B71CCC037111432C562AF9C6B6CA1D1BA78 | ||
| 788 | FCD24F49127731799F7A0C29786E2DAFBE0A24DBFBAE0E9A0DCD44E4649DCB7D | ||
| 789 | 2916659DB0C65232B5CDCB015827F31A5530489B79A6BB45D68E19E3ED13D3B5 | ||
| 790 | 31DC8454C68CF35E3E8FD307CB301884BDC0A03EDC4F08D4142E20494C59F6EA | ||
| 791 | 8CE8046D29869C7DDCA98EC906411C57957D1C8FC5404434250881714434B1A4 | ||
| 792 | 5E368208D33D37066855A8BA7318DBEAABC15A83F2E1E50362142A67E443CF03 | ||
| 793 | E31904E3AC02993022789C3A1638A2056A0D94EC8D64E2A13CED8014C4F4FA51 | ||
| 794 | 8F54801B2BDE7F9F2D0F656A09EB713E8A97793DC5E7F7005241AC5D45BF297E | ||
| 795 | 429C0CB733F1B86A28AE15CB627C98548AA0DFC81E7F62817989E325324AF65E | ||
| 796 | C44FB6A9E42A270D789463D125EEEAFDA57DFD09C94F1354D5FB7B10D8F9F47E | ||
| 797 | B6F581CFB243A6B634647EB496F2884CF4DEA98503F4EE906A38173D2A6BDADC | ||
| 798 | A21B3C206B15BC842DC7FFB7022AF0F963177F310E971319B9DD3BCE508D4B92 | ||
| 799 | AB9B051FDB2851502D383EE103C4B0B232E32642E305838BD2D3936387816961 | ||
| 800 | 762185C7152062F990585E9055F94BDBF7BCF46EE1E5D30558BCCB4C996F27B9 | ||
| 801 | 05F40807866C255B81A55D0739041B5275A66F58FC149778AF1D2D90BD83397A | ||
| 802 | 33AAE594FF0A34FE74F524FEB43A223F8E29D7ACEB1E8838EB0AEE7A5AA401CC | ||
| 803 | 9D93AA03026E0879E9B7C7BB3FED71492BDDBB28EEE6860FC9E453B0A73982DD | ||
| 804 | 7AEA950B45736DB924A67B8E88945C2FD9CD01AEAABDFA43D12083AF7D4EB987 | ||
| 805 | FCD27CA7EDE61E5707AB481BC4B566887884C33C89A2D0B234D6135BBE98ADD7 | ||
| 806 | 90BB22D3BCF19B4C69FAAF0F7946A8E3ACE5C933E2AB65511E861E3C5F9428B7 | ||
| 807 | B6B61DE712F224237AC705913D0C15E717D00F1913ACF411528D7A0BA81ECC2C | ||
| 808 | EE9C5A09F0414B01AA880EAF1776C3C4C965FDA4FF258C2C10ED0C0F894F67DC | ||
| 809 | 1EC0876ED390CE114D4635F1F7837381CC94F52F4DA12FB9C700B94D75E282BA | ||
| 810 | C68B284F09331DCA78387C2F262FFC436FFE0B62F304CBC8BA5C287736ED17EB | ||
| 811 | 7ACE389AC473AD84A72438FD57D3F8BC75E058F0ABCB016BE01ABC26E1F2EAF1 | ||
| 812 | 406809EE7F30883E006C5D62FE0D92AF0FF209B881537F7B5A34443B9A94A6D4 | ||
| 813 | 4C6749230716E53A28B429458A485D1C1530527C869EAC3DB8E0928515CA5370 | ||
| 814 | 83D760905152AE563F58CD82D46F80BBD9D6CA797FC8720CBE190D7264D4C754 | ||
| 815 | 4590D83891A2A01C4D43AE46AECFB938899BBFDD5A0719AB0B51BD705B33446F | ||
| 816 | 24DCFD6C9D7CEC05CBC7084CFC316B0370E9F9C5F3808822C8D29CF927C76BDC | ||
| 817 | E6C31B044951C7F455686689CF06E8138A7B19B7CE1DFDE3343136DE9287DF1E | ||
| 818 | 81778DDC3BCEF0D6DA8DBD4D56D3E06FD6AE0B51EABDB7B52024636DDC0A2396 | ||
| 819 | D34630D3E3F47889DB84CBEFB6270B85E448E02F6E81A338AE0230551D629FF4 | ||
| 820 | 94A5859462DCEBE89BA8E57E107F6AC587F79CF8B427C493A5C14AF7BB045176 | ||
| 821 | A9FEE5E34663AB3AF9A8CF714DD1DD50E18889D04110634B15674D68601C4ED3 | ||
| 822 | BC8B95B927E5B2E16880E1BC5CE1FE385A2D416973B52C1A2FE4332E964074E2 | ||
| 823 | 94A69FC4946F579CCBC12BD381A80B5F2B1C662CB98138B58EBB93BCA99564B0 | ||
| 824 | 98CF2EB381B04F005343633B163C4DDE8A98500B447D2BEB878AFE8982510794 | ||
| 825 | D276A4A6DF3D36B0ECF8CFE7D3ED4B364B08AF5012B5AD4BA29FF5886BDF1BB0 | ||
| 826 | 72378D823C1929FB02BF7C9E41B483EE3D18817B056E8FA98FB9863D79EAB517 | ||
| 827 | 54BECBF7579400AC5DF7EDE80E202AF75E66C48257A50390A9784BD6077C8FDB | ||
| 828 | CBE3D17F8BAD802E97087A8353D3412C24B0F886AFF91D101A5833CDADF898B6 | ||
| 829 | DE548E996DAFF04D6CF8668A5CFCE8400C2737D0124A97083CC808CB80B24BD5 | ||
| 830 | 0162448072D97FCD1FACC4146559DFFFA11BDDE0E2698D92A9733C10BFD23E38 | ||
| 831 | 73151FA9C0D030872CFA02208A31647E1A7DD2C182044D90F90D48A9C4C422A0 | ||
| 832 | FB5A3A88331168A296EEDFAA02AEAEBFCA1A698BF8A01F109EF2FB767B4F679D | ||
| 833 | 6A39AFF1972E93364E5FC5E52CCB76B06560A8FCEFEA58BE9893F9B20ED2CDA0 | ||
| 834 | F0A2EFF2C9142A50B73A1EB3547C2B7954BFA47C590FC35260C75BA557A36AD8 | ||
| 835 | 18CBBC03CC65C597F432FA0F0F27DB31EEE7F754781BFCD4EFF6570BE397BFFC | ||
| 836 | 35A7C0443A8172ED4FCB128DAA55D7A0AC14F9FFF97A43538C005ED8A1FB1760 | ||
| 837 | 8D01F3440420FFFDEE149F036E278E481C35007888431CA712097362CFA27134 | ||
| 838 | 36FCB600FD4C4541659571FC17B8136CF3860E2A41177C4E0B6B5E39B51ABC5D | ||
| 839 | 5B5D6D732DD3D122B956D4B4328F15252762249F5D50EE7E37FBBFCFE28B12ED | ||
| 840 | 48285FF811045768B7893A838F0E02536912157475D473DBB14CB666A00B400C | ||
| 841 | 276DB1129A8D68681CED61F7E21C5761AE13FC383F55BB6FF75579CC533AB682 | ||
| 842 | E2811BC342AD6E899EBB2B16632CCEDE09B05F9DEBD65591D8CE0B6EF0FEC4DA | ||
| 843 | 10A55429C85B679511962DB373C41EFAC813C0674DA0C2B02BFD0DC1CF82E26E | ||
| 844 | 15BD338FC3236CA8DA4FB3437442EFC077549ED51208497C6B074DFB6D386333 | ||
| 845 | C0DA4772232A367AC13665201336B291E8F08BB7B30F88A3959B21C0303EAC16 | ||
| 846 | BF5BA8B4F051B58028544D56A13B171BC76F3854974A0632E262C2B90763593C | ||
| 847 | D85BA7A24030561D968C05E641F3A72EB769B4 | ||
| 848 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 849 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 850 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 851 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 852 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 853 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 854 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 855 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 856 | cleartomark | ||
| 857 | %%EndFont | ||
| 858 | %%BeginFont: CMBX8 | ||
| 859 | %!PS-AdobeFont-1.1: CMBX8 1.0 | ||
| 860 | %%CreationDate: 1991 Aug 20 16:36:07 | ||
| 861 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 862 | 11 dict begin | ||
| 863 | /FontInfo 7 dict dup begin | ||
| 864 | /version (1.0) readonly def | ||
| 865 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 866 | /FullName (CMBX8) readonly def | ||
| 867 | /FamilyName (Computer Modern) readonly def | ||
| 868 | /Weight (Bold) readonly def | ||
| 869 | /ItalicAngle 0 def | ||
| 870 | /isFixedPitch false def | ||
| 871 | end readonly def | ||
| 872 | /FontName /CMBX8 def | ||
| 873 | /PaintType 0 def | ||
| 874 | /FontType 1 def | ||
| 875 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 876 | /Encoding 256 array | ||
| 877 | 0 1 255 {1 index exch /.notdef put} for | ||
| 878 | dup 0 /.notdef put | ||
| 879 | readonly def | ||
| 880 | /FontBBox{-59 -250 1235 750}readonly def | ||
| 881 | /UniqueID 5000766 def | ||
| 882 | currentdict end | ||
| 883 | currentfile eexec | ||
| 884 | D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 | ||
| 885 | 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 | ||
| 886 | 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F | ||
| 887 | D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 | ||
| 888 | 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 | ||
| 889 | 2BDBF16FBC7512FAA308A093FE5F05C11F9A72F5DA508C30BC4BF52C8B1EC5FB | ||
| 890 | 7F9DDDD0964A6D59193A389D490DAA6F6ACD02CF71C06802F3AE5A001F2B3A6D | ||
| 891 | EEB60E9DD26DBCE1D29C825A9BEFE3A6572E70DC7B60344C3E0C9C77ABE1804C | ||
| 892 | 7ED61C544F0B4A3D6C7662DE8575C07BED3F6DBA7D64A9C8613AA152B74A140E | ||
| 893 | AAD9B66E0FAEED6AF9D1820F361C1269A5E90519A3E6D40782E06778C0AFAA30 | ||
| 894 | E8CEAB87054C4D156C1B14B4E8471D78648FDAC70A3B8ED474FA356393A77420 | ||
| 895 | 4211F60E397D2FEFC6A8D91A80C84EB9E38E663249FB91D5C8A5CBA68BA04272 | ||
| 896 | 5D5D42497E1CF5CA1E62EC2B139F5CD4D6318EBBA7AE28614D2D88709C2A3762 | ||
| 897 | 611524B8A1FFC7B0FCBAF77AD8159C354F4887DB1A27781DE0A4BA7DF2CE2025 | ||
| 898 | D9278CED48584E8E6BDF30BFD24284BA1DF828B637BF84A02908BBCED67372C9 | ||
| 899 | EF44711BC2B1DA343C8D9D27A9745525C774F5D639B7AEC197CEEDD06FD27923 | ||
| 900 | 35ED0D402AEEB51134665A47847429D91CF419CA9B09DC905F610F8DFC54E606 | ||
| 901 | ADCDA19D5CC68A7BC7108EC9236C64205B23CE68B9BC38EF3E5BF9E0E6ADF404 | ||
| 902 | 7365C8D0436609438C82EEB2F356F79186DDF6C1C797D3C278108B1767D15178 | ||
| 903 | C4C3E8ADC2482BAB9536AE8419E5CF3EE1B6E53BDCE2A83E2E485F496A562C10 | ||
| 904 | B3F5A131BB19D1E5414C86C5F995521076340536E10613E42779FA15EFDB451F | ||
| 905 | 53495CE8EFF239E4EC442E1439594549D45F5276F93D496C9AC712D762D0B702 | ||
| 906 | E894290BA028837304AFDDD8BAA6564E9DC307A14A7A206550FADDC7784DE3BF | ||
| 907 | 3390188BBCDDD929C82B1D7B529553BA75ACF5B385D31EE3902D96B2B5DDFFF1 | ||
| 908 | 9F0F90FD791E54128C1717F313486896868A34FAFF22E23CEF046D02C1419BA3 | ||
| 909 | 4389DED48DFDE7F78F8ABE3DA17968B0FEE61D27AB43F61978CC300F2924EA14 | ||
| 910 | BA6FC2FB5CD4E01313B34CEC99B77A3D837EE53D274DC3BB04EBB9EF0EEC5A69 | ||
| 911 | 962A0F4F2A482166A52E809D5C4888EC688BD43E5A099D9FA7035129CA7C2722 | ||
| 912 | 844491DE966335021F4012ABC14F978ED81748F0538178EA4C9D7A0B35351EDE | ||
| 913 | 6807474C509D11DAB19B297536ABBC95CE452FB95A95A704B50458BFA68E30D8 | ||
| 914 | BC5CF97BCD247877760E3D6214BC148EC97E11DAF733750448223DAC2431D482 | ||
| 915 | 63AB82145EA5F9ABBDCC991DB40F5DD4D5F484954C2E595E477F986444F55AEE | ||
| 916 | 401B565D0FE39818DB83ED1702301ED4A36C26B64CBB6C061D6D0D15E5BBA146 | ||
| 917 | B302DD3E988B4A55409F36929DF832640D9E53100AA7ED1D1B256F255CCC0690 | ||
| 918 | C3CF605410317820B3E03ECB0B9EB0127613DD7816D649EF409EB9C1EDEA9D8B | ||
| 919 | 54F7AE88DD345B7E37076A9009EEF28BF01F3A1C854881D99A29D9034BAAFDD8 | ||
| 920 | C3F2FAD2A47CB69009B4352F69FDC78C225C69B3A637A26065954A38329AF9B5 | ||
| 921 | 29A7F6932FD992D80292F2CD1597FA436D0DE7C91407D1CC2AFEB98F55478094 | ||
| 922 | 2741CBAEB447D55DEFC2B7C49D020B6EB50616F4BF5063D30EE5838E4FC2E147 | ||
| 923 | 715C3B6416075E9AEB71E42569A9ECEFF9A2AE2AA55C500BED59B9C1F6A1F66F | ||
| 924 | 38AE40AA742517E379E65283EE626156AF35FE4A26E1CBA0073A738709F54B4D | ||
| 925 | B9BDAA4EE057E728D0B461687C9975DACDF3690605C2D98EE0B7BA127114E52C | ||
| 926 | 23C542E8D2EF39D2C9E4B793EA50A934110C51066DF92D7B38C3480777D07EAB | ||
| 927 | 49B84B4CEDEE7158CFE26EC882F1A5E4B28441561FD2D13647AB40792DD4A970 | ||
| 928 | 25B7F1A23EF4EBDCDFF405B122646895FB3E8E628027E34A72E67020D5E62A87 | ||
| 929 | 38C223A0F1BA730FB4FAC3112FEC9111997301529D41598F4A40249E083ACB42 | ||
| 930 | ADE41AC53ABBD8717429106AF10DE43B659A6BBA8A235107E1CB2FE299511AB7 | ||
| 931 | 6CFDA174E57BB46991370ADD818E0BC0C54A8C66E4C97AF12E038FDA89110237 | ||
| 932 | F214F4D582705CE5B3315FA281E35AE58953F8D70457CADDD552CDD364C90FBD | ||
| 933 | DA811ECABA00498EECC9094A28B5E198058D7E2D4D76EA6D75959FB832FB7034 | ||
| 934 | 989D3059DF980833CB801F53DB5E1117FF0BFF172BA5821D83A2A3D669F39A29 | ||
| 935 | B85B33884FD0240588A9894FC06E395193E97179B9DEC65AB5F823757547945D | ||
| 936 | 863733D848BF0FA705C52606455D8A3541ECD15C42A0FFA699FF350DB28EE378 | ||
| 937 | 3467202A90B7ABBDE00DB651874F6D60CC26909C7618D4C741ACE9180A572632 | ||
| 938 | BFCE0C6C9021E1ABCFAD7824095B19DF5B849A293E7F1795806DF7FC89A8A91B | ||
| 939 | 27E3908645DEE3E6468BE5356ED95832591900216DFF2BF9316A474B7BD36214 | ||
| 940 | 8EEB23E9AD6FC316076B051DD9C90C7D632120F972FC285632F12367C5ED1560 | ||
| 941 | 9B2918D03B72B9B551D2177E700EEEE3377B8CCC1AB270255D90A81C3183457E | ||
| 942 | 4358C0F074367D9A555149559B8A6038B2F3E740215847A92DB817B98DB070A4 | ||
| 943 | 6B92C8C8A0746319DF9E9FCF25E73789ECA755D28959F89621F315608ECE9029 | ||
| 944 | BB685128C8D22BED5500D1886C7A677C985DDF465869866E2F725F6BDE7FCE2C | ||
| 945 | C819498AE0DEA811D77FD1C7431BFA72BA2ACE9656A7B947B698B95EC35D9A1B | ||
| 946 | E9E908B2E47F213C7780BA017D3F52E3A65ECD58002A40B9BB01A7A9D9B05484 | ||
| 947 | AC1831899684A68B28CC9DE6C37514A815145B7B13990DCC49D8C28642496457 | ||
| 948 | B23819CDF607DBFD58F09E920CB72E0C971D883DBB5C8CB563BC09F096F20EAC | ||
| 949 | 4F2E6391A8736AEDF56B60A4FBAAD9E2126C42FD8C71B5AAEC21B6206E7547E7 | ||
| 950 | 0B0CECC2EFE5734F00EF5CFF7F35F4A49F2F5BB6E3B5260A9FF0C8FEBFDCD944 | ||
| 951 | F797069CE01E2CD7CAA31A8297142C8BEC67C912248931C6256BECE7D7EC08D8 | ||
| 952 | 2F81BE0558DC9C80E7E9B4E60BFD3ABB8F33BD62CDD74C78272833D88A13116F | ||
| 953 | 1999901D3D02A3AB6DBAB0059C475931B9C2C7A99CE5CDDB388D95B2682DF46C | ||
| 954 | AAB2DE828CC5A4D2F41B7689C83E30D4BD80B9909FEF97441664290119C8C36F | ||
| 955 | E3C16D55AC2E121675137F4BEAB59765CC5C85C1B7EB918ACA2CB44EB0B06CE9 | ||
| 956 | BE34C937A8AE8122BB93773F6F411F7A759AD4811874D72F7E3F75EA52109914 | ||
| 957 | 7D00EA70A4DBF354EEBCF2E8AE0CABEF155ACDC24E6797AC20B388675E8CB391 | ||
| 958 | FBA2122CB835176E241899C7F13F534DBF8DB886A6F83F126BF019DBF9FC5C8D | ||
| 959 | E4C95FACEADD7E7B6A1755C1CEF78D7AA92286BF4837EDA2E794EE2E2277D58F | ||
| 960 | E66DAE65897E32BF653F4AACBE2B17AB3AA7FE117E029436F8F6059069B74ACF | ||
| 961 | 1EC7B1302AFF42B38C72A96141B21FEEB4F4FFFAECEC4F2C2FC1068D831DA3D6 | ||
| 962 | 7BE531812DE4307FFFE8A98B6C4AB5F9E5A1F6956AE39807CD6A18A12AF22992 | ||
| 963 | 35D43F2A274D6D081E8D530C8BBA1CA5B5F8AA11E0E05036B272D9CD053C615A | ||
| 964 | 9DEA172685B70429A9A8308E9C16B95E6E06789B1E3DD22A7289F05D13BF0789 | ||
| 965 | F50D6608835CADDDA11676597736C41E7DA9A948C857439F0B6F39845FB1679D | ||
| 966 | 3C8C14F3C8C5131A469EAC144B44DD3F3DC1315FB627A80587F37A42B211064F | ||
| 967 | 9780A45ECEBB176CE484A8018D41896F6FDB4E4F4257A60E869F280DE1CAD45F | ||
| 968 | BB478526395FC993C9CA6A566D3FAB84B678D7E0F591A8E7D009DA0952A44632 | ||
| 969 | DC4277D08D56B5E81103DF31BF466629EA658C190EFC1DFADC75D272E7DCE4A0 | ||
| 970 | C6309F2563AB76640643CCF0A905614A3EED3426DC172A4FE55B76640B415A10 | ||
| 971 | 951883D8FCE87FFD8E1987E93475DA0435344EC33709FDEEA16D732B9BF323CB | ||
| 972 | FFDC2F308FAB7D76D431713478E922BD9CA32CF958B8E6B82B8ED9B81CB06BCB | ||
| 973 | 3AF17A9CB807F8FB2A963450667F7CD93E292E13916FC07B976E7FBD978D10EB | ||
| 974 | 685D7160102AA8359E260454D8C094C2BD04648FDC58E14A075B6EBE0E861E3D | ||
| 975 | 6117DA938A1215B0790E7F46B7EEC0AB98C37FF9A54A7D3A6DD83759FE9716D6 | ||
| 976 | 80F4AADC28AA151DC0E7916146343B2229FEBBE04E4650018BB3D3172C2E1455 | ||
| 977 | 3080E67ADF626201FECF58201BC5FAEE3C01E8EBF8781A4F8595CF80B013ABA7 | ||
| 978 | A2842C6AAC9BB76FCD645F0B5A081B69B5A641886826EEB75C8ABAE54E7FA7D4 | ||
| 979 | 39875A9ED06053C61A330ACBF818BE56FEC992BD5A30CEB78D8CA54FB1CABC63 | ||
| 980 | 02E052501B309D157571BB3BF7E27493D6C2BB197064E1E26DC2FF85D5549B03 | ||
| 981 | 5D53346C86588A0980DD26175314898BD7288FDFA33E44FC77AF2AF116D39543 | ||
| 982 | 13B45BCFFDC83E8B9E2C9AAA46AC3ECCFB07E17B35DE3070818B648E2A69D438 | ||
| 983 | FCCD284A6955A8D50CCA3C46ED33F8C3A3D686311BBEECBA3CCA1206D01B955B | ||
| 984 | A805244D4E5D4F02E346B408F838264C5A056413D25326FF1AADBD21C2130B87 | ||
| 985 | CB6F9C91420B9594309F002215ECA7A5BCE554CABBB1A43CBD3E76372A48D95A | ||
| 986 | 2F1237DAE67566A6BFF200E263345D4FBD5A1B7266BC04F85EAF6DEE32ED2D01 | ||
| 987 | D15F80DD5D8C1EF7E614BB629990C440C0B964B39104F82CD5D0CBB0BC376ACD | ||
| 988 | 0E2E75D06E65C92D163E7498EB7B0F9A7A6BD9C8483B0CC801C30A31A4DB8DFA | ||
| 989 | 2DDF2F1EF87634ACC600B066E017BDA91917569E9AD59F33D7564C875EF596AF | ||
| 990 | A953F2226C410FB2CEAB7A508A666CA3D94F2C25A931ED9518DF783AEF44DE3C | ||
| 991 | 733875511D5E6E4E06E3C430D979208B60445757CAF3EEB3B63C29751E3C5C34 | ||
| 992 | D120E62F4868D87828D191221FA26BF60F4DC9741991EE948B413587CBF50520 | ||
| 993 | FF5F296B9483EB0E056F548E82E9DFECC2B90DCD5D5EA0958C62A48B1784716A | ||
| 994 | 859C863592EC99195BEECEB6AA64C2A870D34903722AA7B19B1C7F5126BB74FF | ||
| 995 | 763EC2285CCB52F13A2D1E95D8875DEECF34DDFD5CC3F18F27E925C9BF9690C6 | ||
| 996 | 263CC22381F06042F0AC415A28EA5302DE6F35F1215B04C098AA18277F23EB63 | ||
| 997 | E08951EF3059C4A3C606E548DAC4CEF42D2A116C02EED4270D1334B3C7813820 | ||
| 998 | 054DC6639A3C4B25A398D5354F57B7C556A5A95D20FA6FBF3406E3CFA512648F | ||
| 999 | 6680ED47767E80A0F0F1EA0603CB441476A81B8BB278584E747369C88E4A9A27 | ||
| 1000 | 202C3688C3C2162AECCCB65FEF5314F81E0953BA98E833F84134502BA2C4F0DB | ||
| 1001 | CBCD65A0EB3DEADFD9584FFFC9948571038249749CE13A9FF0969100DB588B09 | ||
| 1002 | 901964577D93D0856FF3A078C4DC79FE5B6C1B5A5B35FD22B214BC16E2D7A5FE | ||
| 1003 | 9B34197D4A24A1DC48240C6CBEE2F4FF5A1353A1E8F83209B0310166B96FF31D | ||
| 1004 | 56CC9EB5BC1206BFAD846CD174304627F81638FDE11A6BDE75CA9F346859E578 | ||
| 1005 | 85F334A455BE91A56B9413EE7D8AA01FF35499934773CAEA0D32041B04933C9F | ||
| 1006 | 51AAC647AD00541885B774AD4D3634D409DADF2004D8EE731A3E6134D79F0954 | ||
| 1007 | CAE30C6A6CDD2BA4A9F93C10C94C1F9934917627E4FE44965AE2DDE0B415E0AB | ||
| 1008 | EB5D1624171C7D55769F616F73D7812DC4222C2E4D65DF04EFE406BC4835F746 | ||
| 1009 | BCF26D09314490CA27CA888713E8EA68C130EBB4CC5E23F2468220AA157D6803 | ||
| 1010 | 6811FC79435982D29E09A43F7707B821B3FD44738EC3993797469052AA9C0AAA | ||
| 1011 | F21AEC2E1D2DB7AF0F65B4C3736FAD9C3A4DE9E72CC92B53B74AD4343D244EA9 | ||
| 1012 | EC06AD54D945040A6F160A6E1D9F4B5902601647A2811F9D2312FAFEFBB31BD8 | ||
| 1013 | 0D0B39593E10DD94B862FF81B35649FB16178D80C9F6F027C2CC3BEEFB474A17 | ||
| 1014 | EF1C77A9247B0D550BD314240C2BCF0A37DDFF8BAB723B153970CE2849897844 | ||
| 1015 | 29D3C6ACC315198B15CD9D3FF34A8E283A5137C42474BFABD43B7C7181409831 | ||
| 1016 | 3BC0F8BF0506CC5FFE145289105E80854503FD574F37608D176B4F9B60B05222 | ||
| 1017 | 6F4D14D97B85F27066D0E19999AD9EF9B657B24136FDF9061411735629D48504 | ||
| 1018 | 1171A1A9186630275E705D61390E2BE3D33D0D97902096587FEA4E7DB365AD54 | ||
| 1019 | 0393E3A46D605A3B6EA413D14465B7B8E21106C8938A67E51FE9B1BE16637E15 | ||
| 1020 | 763DBE8BF1D9A10E28389421AE48C8D31A6F424350E7F10804F4626331AFC871 | ||
| 1021 | 69CAB26391A66A12BD07B8D761380F5717B207850257E97EA23ABEF5BB35BE49 | ||
| 1022 | A09FA8CE4B0C101F614AFB6C4EFEBF1254D3B86F55F8B56D9AECC8E381CF1421 | ||
| 1023 | FBE59AC373352296D8F33468BBCC19EB3185406A09528BEB811C190B99FA86E5 | ||
| 1024 | AFD86E94A12C600D267F5F43D0DCE259D6D191E425B1CA0DE9175FEF448C9F3D | ||
| 1025 | EA82033212ED917388CDBD31A6658960E6CB45B6D7F40653C4802BE6C26ED167 | ||
| 1026 | EDB3D361647B157A7AB0C0CED73DE07685BC674C59A7CE9CE049DE8DC1B5459F | ||
| 1027 | 8F9C54441B994483FE30A024CC33F093D6FE259626A436F4DD28F37B297295E3 | ||
| 1028 | 22AC3F9976E7ED86D6C3C7483971D456883A62A63BB59F3CDF5E1AD6BA381B9F | ||
| 1029 | B4D042F69B7B6415B641E569FBF1A127256CE296DBB5629CB8B37AC47C93804D | ||
| 1030 | FB58DF99F70611FB2631BB84BD7E34F671EBE84325C35C4529E75239339B09FA | ||
| 1031 | 313CFDF6AADA | ||
| 1032 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1033 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1034 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1035 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1036 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1037 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1038 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1039 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1040 | cleartomark | ||
| 1041 | %%EndFont | ||
| 1042 | %%BeginFont: CMTT8 | ||
| 1043 | %!PS-AdobeFont-1.1: CMTT8 1.0 | ||
| 1044 | %%CreationDate: 1991 Aug 20 16:46:05 | ||
| 1045 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 1046 | 11 dict begin | ||
| 1047 | /FontInfo 7 dict dup begin | ||
| 1048 | /version (1.0) readonly def | ||
| 1049 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 1050 | /FullName (CMTT8) readonly def | ||
| 1051 | /FamilyName (Computer Modern) readonly def | ||
| 1052 | /Weight (Medium) readonly def | ||
| 1053 | /ItalicAngle 0 def | ||
| 1054 | /isFixedPitch true def | ||
| 1055 | end readonly def | ||
| 1056 | /FontName /CMTT8 def | ||
| 1057 | /PaintType 0 def | ||
| 1058 | /FontType 1 def | ||
| 1059 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 1060 | /Encoding 256 array | ||
| 1061 | 0 1 255 {1 index exch /.notdef put} for | ||
| 1062 | dup 0 /.notdef put | ||
| 1063 | readonly def | ||
| 1064 | /FontBBox{-5 -232 545 699}readonly def | ||
| 1065 | /UniqueID 5000830 def | ||
| 1066 | currentdict end | ||
| 1067 | currentfile eexec | ||
| 1068 | D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 | ||
| 1069 | 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 | ||
| 1070 | 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F | ||
| 1071 | D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 | ||
| 1072 | 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 | ||
| 1073 | 2BDBF16FBC7512FAA308A093FE5F0187316F83DDE3E2D27FCDF6C5CE4F95B6EE | ||
| 1074 | 3317BD91B7921F3039DD35FEA387D5CFB6C6E9DC84C178F3432994FC7FAC6E5A | ||
| 1075 | ED41A1E2EBA350178FBFEB45944511731BA827167DDAC238FC69A5486B995477 | ||
| 1076 | C469E2E27493B0B711DF8E267D3D5613B450011921685147114106C9472580BD | ||
| 1077 | F531022F6DF5432B2A4EBC51A8032C7F9689B6FA942D849B29709631613DA68D | ||
| 1078 | 4DF7B6F059A19304F40A3C3580CE3B51D79D42984194D4F178801720892FB6E7 | ||
| 1079 | 61FF43C63F9256B5E9F4227B1378222BAAD4D52C77462DF01892220E11129C16 | ||
| 1080 | 6C9E45BB9F01ED7C1AD5D8B4D72BE0E12969AFEA90FEF170603CDB91CB243173 | ||
| 1081 | B19A56084D10293B80A35275F41BF78A054DDC98F4A1FFF592463D944960FB31 | ||
| 1082 | 6BE5F03960F9B1F213CBCC7FD448657FE388F10104D42B0715FC9571CC60CF23 | ||
| 1083 | C72560CBB8835A0CA208FE06676B3B48B093CB7FB2C0C53AF17EC5B372A9771B | ||
| 1084 | BFD52FFB7062B4FE0106A01A2A1A1DD4EF5C8C7623EC9324A2CB3B402FCC1FCE | ||
| 1085 | 52BFC8662F8A39D5F1B41C97E7CE34E16AC28A1E94007AEA7D4C519399F1B7A9 | ||
| 1086 | 48FA7DDB671067244F09C29F95DD60668223F45BBDA8B1C452E930A9F3F341C5 | ||
| 1087 | 351D59EA87462FFB30277D3B24E2104D4AAB873BB2B16DA5B23BEE25BE2C8128 | ||
| 1088 | C4CF2F4F438A4E520CD864F3EAFB5363753B82978F6FD664A14E5D6F3A929348 | ||
| 1089 | 5839EA752FD635619C4FABF1E1454510BD9D6B538A343BE748AE05B47F917367 | ||
| 1090 | 1BA5EDB15F1BDBE806E51B294257D7087334165419A6520462D794D670A1D6E1 | ||
| 1091 | 3BB03BF689391D056D55AD660D15A386E6D222C9572BDC4DC8A46EEC75124BB5 | ||
| 1092 | F0E8978FD6031A90E4768CCBF62A5ED8C8087FD66D2033011947634878BDC0AB | ||
| 1093 | 6501DA7E6D96E227068E993DBB0072F037CA4111CDD092DD0CAEC1DC6D0CEEC3 | ||
| 1094 | B291B4AF285DBA243A3457A855171EA0527DFBF10E34A60D3BE2092B3218365F | ||
| 1095 | 07271A0CFA3AD15205D0D0886AAE1C89807C74C6BB23F55F0405A522BE78D4C3 | ||
| 1096 | 0E6C7A2C17EF66CDDD65AB75D03526DBD692FF1557B689A200BB5A593E92DA77 | ||
| 1097 | 01E5A82004AEF4402C06C65B21971E8240F87BE60F5F7E0B56D3024B7D49B9A7 | ||
| 1098 | 724C55353C362CB35B720A5405B2B9301A1A0083802E8766ADB7856925D45001 | ||
| 1099 | 1FA451AA61F72022FF0419B1650CE94208DEEC7EE3B53ED7F9E995F883338936 | ||
| 1100 | EA6FCE2E2466BE5C04B46FC7DD9E80E6F1ECDF77599D3AB9E61C00D7E425636A | ||
| 1101 | E0AAD63D341CE31564C7882916EC35366208A3C06435BF1F55086D627E06B996 | ||
| 1102 | 7C49FF12CC6D0E793EB19C4972C3904ED0FA9FE0C4E05140CBAB2C41EC148B05 | ||
| 1103 | 43A9AD2CA401532FE0045933AE0B08BC1F16D94D85420A26A9D32A9F2486BD9F | ||
| 1104 | EA2553F2E8B6950F63A1102E9E8DE227BD756612412DB1520358DDB08CFFAEF4 | ||
| 1105 | AC3597978F43E982BEDBAD042738D05AD42348840F9D0122535E6CE711AB2898 | ||
| 1106 | 9F1003DB762D3B15BF35F3B7F593C40282FCDA0CFB1DD0B2B3A8DB68E326251A | ||
| 1107 | E4B6B6C559E735EEA2CB221ED8B8E2366B1BFAFAA234FCAB5F94F7134DB434C9 | ||
| 1108 | 7033F5ED902DE94FAB29392934E8DFFB00C5D27505CFDB2F1BDC7B10C9379B1B | ||
| 1109 | 8533F17A4369203D2C65B5C75975A65D20BF6880FFDF8043435779F26127B38E | ||
| 1110 | 09399EBB27BC2CC481594BEAF8A749445805A6EDA1DCDD02D7F23038B6EF99C3 | ||
| 1111 | 18918626F164B6F9FB32CFFB0D936C11AE7E2AC80543864A65EA8575DE49848B | ||
| 1112 | B09FDE687FA8AD27D0221315119A0EF7CB87E6C72A232B51E48F4AA67AB0FE6F | ||
| 1113 | 36C4BA99B3C0C343EEBF2C0E5905E71FB897C0E80C9A3B15A9CBE81994D24580 | ||
| 1114 | EC447198E94134154F103060C6CCEEC2006A2F7B8A01457493EDB59205B0194F | ||
| 1115 | F4859CB75EAF60F98B0A213864DD8407DE4DF86AE6EDC5147FBED02C022B26D4 | ||
| 1116 | 158A8313188C7BFA5F185AF65FA75F0A17DE6A5CA276DCBDB01CF410114E8B17 | ||
| 1117 | 5DCCB1486455DDA266A778A9EEB6B41B9DE0F79021D241FEB9E9496DDEEB6558 | ||
| 1118 | 7145D3540032DD2F1848CF4AD9F88E67C4B77339BFA9EE3CF75FD78A63ADB40E | ||
| 1119 | 68B3D693AEB0E7AA4E46B84BAF08CDC361A106C566D01FE63AF40D245B717B92 | ||
| 1120 | FD7391F92B159830ACA6303C8E96AFA4780DCD4963BD98AF67D8511E4E6C6E7A | ||
| 1121 | 32616CE5F6CB270F01B6AC4EE342610E0CA1AF1DFE51CECFF133AD714F5EE89E | ||
| 1122 | 978C4BF5EA08125733CFE4B0C3853429E910677D568EA9A4A0800AA5D391A772 | ||
| 1123 | E8114BC600B2D6B2651BBF987CC3509B00CEEBDDBDD82330A9181D209271073F | ||
| 1124 | B37241398D70D049B9FF607A41AC70E64B928DEAB1A0B4745D98ADEFB18F2D04 | ||
| 1125 | 0C44BD18F8687967984B9D48A5BF27E09CEFFD7953E6D9881A197CD09B8C75AE | ||
| 1126 | 31C9ED0FEF539E4D71E4DE6E65D106975A0F9C57966D50E678AE5EA9FB83EC80 | ||
| 1127 | 0020420E2FDB7F4234A3DF285B9D761E1F0A21018BDD9EB84934B808E345BF4E | ||
| 1128 | 91556AE5779EADC1BD02E198C73D1D10A56A0F09F01302BB91879DBB084C488C | ||
| 1129 | 972D39D4212AAD28F9B24C164F18CAAF595BB6F9EA9DB90C3AC98D0F37C36830 | ||
| 1130 | F28A9DDAFBD9E3C84928E9EA230FBC0F3C3D05DE4084621B65D26AF4F07F74E6 | ||
| 1131 | 183E59EAAE390C8AC834DC662B06E83A9CADC8B891B3EDB56FCA7252600082BB | ||
| 1132 | DCE150610319A3861811339A621DEEAD6D619D475BA86984561F489D052BAA18 | ||
| 1133 | 7AF5FF29298168AC79B1626F882CB19F6AF7DCC4E28124ECE52599C51890E580 | ||
| 1134 | 132273798D3013CF390A8569A8618258D3570D2F1E538E96793E4A939293BCAB | ||
| 1135 | A9EAB62579E456B5C80CB9B79A70EB36080A6AAECB786FBDC7F19E6543F67B8B | ||
| 1136 | 39D24FF379D8C6C257C2E361FDB384C822DB095DA0F10211D6572E4DE6D4E8BD | ||
| 1137 | 1770868E2752631376DEDD29CC784ECD374D72232026BDF4650B9E2712190D39 | ||
| 1138 | 4C0748743D7EE4706B7B31C90E5743E85DAB062B01DA4960E0314D9D51293BEA | ||
| 1139 | 9DC2DA2C67DF7186F9346CA769A0C7C6E6DE1BD9B48709EB87C6E6139BDFB245 | ||
| 1140 | 69A02887DF104549CFDDD7FFD86E9822FFFD2DF186512BB81BEE95253FB15FEA | ||
| 1141 | 01E04ED643D2C7ED7B43AF1919ED54C69908A87FEF3C46BE979787C79F885451 | ||
| 1142 | 3C658541A8E388297ACE1CE31AF3DC7DE205B72F27EA432387A609D9401C0FA7 | ||
| 1143 | B53EF719D0BA60B400DD9D02C7D9626799D39C51039B3D0408CBCFEBB0B2EF81 | ||
| 1144 | 220B69B2953E00666BB31C73F11F1E6108C62F4F54138631B9FAAC2C9F92935C | ||
| 1145 | 2B3D9989D3D78AE5CB66BB48F669178200ECEECAAF28DC0D5378238DFB8C4DEE | ||
| 1146 | D337C8F28BBAC0840F950DF373EE8C3A59568D95648E33802210A3A563B5819B | ||
| 1147 | 14C059E7F4AC6F426CD4E7B3F1A2F6F4C2FC19C2C3E9DA7D2C8F950D7564C282 | ||
| 1148 | 860C60EADC8F9B71B90DAAD27095804884289E914F0BF17C555A91FD07B13DA0 | ||
| 1149 | 66232C27711289C4D5E20A39A4660BFC00566BB31FA6511B763EFBF1CF95AC91 | ||
| 1150 | CCC63FB618BB886C3B7318CC8301E323EDB4E016F0F7889C4FEDE858094C23E2 | ||
| 1151 | 8429D32F5C52CAA03CFD74820F2B956E61560B64CCA58607B300CA9166864F66 | ||
| 1152 | 49FC01C8848EE25857AD731386858093E9F87299D452D9C13D06F90E9FEF2C9C | ||
| 1153 | B9B78EA3D3F31785364D36B1650A567AE8CF30A7A5E5C6686B614DFFF65EE9E1 | ||
| 1154 | 04211CFDD13B3F021E5D9C965BB56FA136C0B14761ADEB5C8092088990E8D0D6 | ||
| 1155 | B92F39F4E85E71FA38904C93EFB4D7FFA8012920C2445339BEEFC621CD4765D7 | ||
| 1156 | 01A9C397BDA9C3C0D0E6B15297BA0BBF6169BF10162524EA71D7CA539FC209BF | ||
| 1157 | 375314A88500ECFB9C7363C5AE0D7FB44D0D1AFA09F34E57AAEA2EA67E2888A0 | ||
| 1158 | 1B202C2FC4017AB742D5437E8BC89CB24A4A1B0DF2453026E69B60AD3AC8EEAF | ||
| 1159 | ABCC24A1F4C628D67BBC03985396C05E5DFFDD98A0CD615D37EE0FC2C9173D91 | ||
| 1160 | 7F20B0964E1FACA7FEF48DDF1ABD76716E06B403998530C15C434F1FD2BBB250 | ||
| 1161 | 4B95E75486B54604D3687C2320FDF083A23C01A79363A225733925DBB954D366 | ||
| 1162 | 3C535E17565ACB00D3ACB5116996A172743511888EAA2D69B180A4C4FECCF034 | ||
| 1163 | BBB539DCD94510B84AB82E9154C93F025FE50BF00B325A6CC4B6974BC3B67596 | ||
| 1164 | CF605CC04A14625DB25A6EB9E9F9BE93066E34A285CDC45ED330AD2073A9DDF4 | ||
| 1165 | 8D3A6739CBF4E846C3BB01B9DC7F01055BD43AA0022FFFB2B93DC850419B4BF7 | ||
| 1166 | 97451F057CC0BC68C208DF288E8A1310A015BDD1019C17EBDB42CDCA2509CE3C | ||
| 1167 | E74D55C55630B10A7F042F260D0B285DE8399D11D079E91F348317AA3DDE0CC2 | ||
| 1168 | A8DAC75318B5FEA8A6359EE3765E6F75E58D354B9607034F6A8BF0B22C9F770A | ||
| 1169 | F537347806E5FB7C0A6A9325D0519B02A0E7CA47946561B848BFB1C00B5AC67F | ||
| 1170 | BE25853D147950FB70854C7F4C8D7C503850F1748DDA6210DDA2BDA36DE9AF9E | ||
| 1171 | 7D4DD3152165C9AFE4CAD15D146B71F0B7F2DEAA5EB3E1637A9CB5C3CF60ACB0 | ||
| 1172 | 7E6A11244B3FE758DF42E346A847B6FDCA6B6FCD7F02BE7D467CDC4AA2435E5E | ||
| 1173 | 34647FB8C7EFCBFD144895C0AECD5E0F2AA6375C005C75535C0833FCC123A07A | ||
| 1174 | C841157D68C80ED5341FBCA8C83274C751016C40FB73A5EA4C6ABE1ADB730CC5 | ||
| 1175 | 1CD781A616C79C2B99EB1F13115FB00A8994DF8017791E23CCC269D90D49B402 | ||
| 1176 | E1AEEF2326CB2AB44079CE18A1FFA08195CA2AFAD0ED73D907F4FC6422B882BE | ||
| 1177 | F7CE67E17EE720B1767BB925E432CDE667B4D3F0483DBCA9EEF9A41A786DBC81 | ||
| 1178 | AC9A52114892FB6D2FA892B6FDD27DDDB9E173AB1DB7FD612506E2D0338D1747 | ||
| 1179 | 1ABEB8BA78BF7127FEBBA18A70DAEEB612B7E48885C76CBB9DB5786C17B286C8 | ||
| 1180 | A955C89B3DC4FBC16C3DA027D10148F5A2C685255F2D165570BF8BB7EF72A0C9 | ||
| 1181 | F90C740E57BA036C38B3FD04BDE1119FD3582FAF9F254220CC20532D8C839CCD | ||
| 1182 | ADB7ED9483CB784126475CDE0E8B2C602A14D13486C214AD6B53E14779E7DCD0 | ||
| 1183 | 59A4C4D62A704B4EFA896439CB66B953822B492265FFA6BE2367DE24DA97CD5E | ||
| 1184 | 31D715A3320B7D0E1EEC35EA1828A218BF3B2B4EFDADCF91DDF152D4E4F92155 | ||
| 1185 | 757446DD8D122A22AC3C02D9FB49D31732A03F9AAC36B0494F234466B3C239AB | ||
| 1186 | 4D41488FFB5EE503F69942287348E09637CCE28F1A6671B06E8F700A2276B2E9 | ||
| 1187 | 60BCDD1CBAECFE816F6A4A1277569D6EF85BB49503708F56A8411F76E53148F8 | ||
| 1188 | A49C0623E3EC3DE32B280F5BD47AE3F759589C2E4DF29ED5DFC587E8241F559B | ||
| 1189 | 4B6A1F8646D292D966CBCF651D751E5C92751B289BB75A8058E9B19C375013AC | ||
| 1190 | 5B810252BF23FF9C7A0A568C6B4E329F5B71003118F3DE19F99760B525AC3D51 | ||
| 1191 | AC85F6E4E47F1EB7589AC39379C35DE27F4FC5B79B8F5D33049D4BF72A8FAD0D | ||
| 1192 | 04A1C77795B44EDC59FEC22A5843F86D18FD4415FAC8AD44AA7520392D57B7B6 | ||
| 1193 | 2C755EF3AE81A83D965E65EE8583F575AE1CC4F50A37F0B3C007771A5B60B01C | ||
| 1194 | 19FF8858951E0E7CAC7D157D3F5BC7F0E453738DC33EB390F31D38781CDA8578 | ||
| 1195 | F9555EA83FA8BF8BDF55740882D9140C9596ABD438E903B366ADF71304E81E58 | ||
| 1196 | FF9B51BA19FE3EB5599C6D1787569B44BF26D4E14FE79C1D47F3FD4E573CCECC | ||
| 1197 | BA3F8FD36B608D87CAAC3686BE994B252287AEFD9A14AB3051CD4D751F27DB18 | ||
| 1198 | BED214064F065F20D3FE097DF160C63EA5CD01B3C27788A927C79A21C4F2164C | ||
| 1199 | EEE8F38C79A7C68B1C1958F7B6F0F696A203C93918B3C23DBBEECCCB2EF2D96A | ||
| 1200 | EF6BA2A7AE40979ACEEFF78FC82EA9B34F6126F515C307783045FE80587D0FD4 | ||
| 1201 | D0F81422E0B82CCC82BEE3D4189536E2C08B35AFAF3FAE2D5D009DE9BB99598A | ||
| 1202 | A91B9B58964B4CC7CB625084C0DC42ED14D685C25C85181A8735C4EA6BA9CFD2 | ||
| 1203 | B7C8E67977D047470C7A778166FF42BC4B9A8F33C5451FD16878F6D65A47617C | ||
| 1204 | 543A1E51AC939FB97235FDCD67962AD3CB5985DFA5737B28AD2E24DFA5921B3A | ||
| 1205 | CF2CF5FF6687C7EC9C66C4DF80C039DD5965CB1B49D0091ACAC40AA078DF781E | ||
| 1206 | 55A2457EE55B1E0422C5F8074A9D475E194E5742857BD6544A636AE573FD8E68 | ||
| 1207 | 70BF3858E463E94E5F5D956B9859DCF1917516005364779BB9DDB66F5DA107E4 | ||
| 1208 | 2B5BC512D0F9C32FDC34794BA631A0731CED84706E2FB9AF7CBD4ECD53B6157F | ||
| 1209 | 7B01BFFB519C87689E2A489833D22F3C1D812849B656E6C91088880F135DEE39 | ||
| 1210 | FBE71EB03E6B5AD77280112F6C3E2636D22A38AD1D34F33B7C327122B9F4BE2E | ||
| 1211 | 791FED7545D52ABF2ACBDFCF770F8F874806DE0D1977776B330FB8D84A52834B | ||
| 1212 | 0D2BC3FC18BC1885959B65A2B395202A8BE49350C1E133EBAEDF41D36345C24F | ||
| 1213 | 86E4576E68E81EB707EEFED92F6F09FA46F2F54BA766E3B20F1CFBD6677B59EB | ||
| 1214 | 73778BADEBB3783A5CFA9138815187A86694E8965FABF1DF6960865AE363D418 | ||
| 1215 | 4C3401F3854DD5C241F3667E2CB34EBBE9A74D890283DCA529E1B63DEA16898E | ||
| 1216 | FD241DAA19EECE2869780A8A03BE546819B3C82762F5757E72C0FA749F90050B | ||
| 1217 | BDDE78E6D01685F6DCEB9A6F45E7EC9D253ED34D2EBCB98FDE257FE1AE7D39C7 | ||
| 1218 | 1171F5425F3604B93531EBD0DFF691A905ACAB90F760AF4A674C500119B91549 | ||
| 1219 | 0566246482F9454E3D3927239AD8DEEE6D4E9ECB56748D2965D7D4C59E358307 | ||
| 1220 | F936122ECCF570568F9C8C8FE5F135AAE916CED51041840BC4B1F403FA632FD1 | ||
| 1221 | E694065B7F48EE00FE1E6ACAD8B86A11F3ECCA19B5ADB114D0980766991F8AC1 | ||
| 1222 | 573EA9B5C8FB5669574CC0426377764CF911BD316C8A7D772F78F47524112BB2 | ||
| 1223 | A32F11FA6A6D1B295D96456A0D621C2B8F284DBD8FEA152D9EDE6A68B9CE8CED | ||
| 1224 | 65E380ADEA02DD9C06733A4984AB4F7F8C5E87E58C9AEC65CD3490C87C04DCA3 | ||
| 1225 | 42AC5CFFDAF21995432D0115B425B20DFC3AF8206354267FD0A8242BE0B23B24 | ||
| 1226 | 7B8BFE5CB5A2340838F3BD77B6ED26A6E43D2F732F5036807505B5E8C155D194 | ||
| 1227 | 03E57F31DB974254F3CE52708587825117D646942431DC4A29E99E7DF8193B3F | ||
| 1228 | 2C9FA9049DF511A48E405A3B798F0855493AA0A2777BF1F9F55B6797F27B8711 | ||
| 1229 | 5B34A0C897B7B13543477D159232939A052E46DF470936A8479BCA8ED9F97F88 | ||
| 1230 | A9D77E43F19DBDD737EA504D94AC6DDAF29AF0DFB73AF8B7681E501AE88A6264 | ||
| 1231 | B879436A69BD0DCF3465BE9D480A31B9702B2BDDB87D647E5A03B7E931505CD6 | ||
| 1232 | 7FF4595F44DA7EC3B1BE6C3E713AB806A1737D026A890E77AD137A9317779D08 | ||
| 1233 | B84026855E4D84BFF2B50ACD7E4E23A50B888916681BE1FFD83128E9C36029BB | ||
| 1234 | AB6225DECF2F6DFE22E12A084C27F809F53074A272735FA977D783ADFA5555C5 | ||
| 1235 | F2FF03C670E2018C9388CA3034414402C60E0D49E121FA06B54E649E73E65E2E | ||
| 1236 | 3376B59F3E3221FF238488418E7B969795938996B506C9CCAE529C1AD10CBCBD | ||
| 1237 | B2DC727D9722C198F7BAA1BF583AEE1B88740668CC1E9EC960B33820981700CC | ||
| 1238 | 01F5AB0586DEA46B96A72EBA2568E8A3774935B4A17BB2DF361B4E4D30814CAE | ||
| 1239 | 7C6BABE324FE7FCC67E32F773924E8C995A025948E253CA14FD35DB48A4C9869 | ||
| 1240 | 10ADFBFEA18E729FE71A53584FF7CC8E50D04A3700181E0218558C262873C7D8 | ||
| 1241 | DF424F5457D76FE99ACDF797E542433AAF9E811516AC28698A179E17915BB3E1 | ||
| 1242 | 368DC25C96394147D0483ECB7EC5543595AD8903BEBFB250C76ACC782BBA59DD | ||
| 1243 | 36D393AB25D84A09E19F7788CAA4A9110997581DCA6EA82B149660101B9DA10C | ||
| 1244 | 66A13ACB601596B68CBDEB3F8AAAB3DE33874C0B07B71BCB6E4BF05CA47A7AD0 | ||
| 1245 | 69B6F516E4ED20D017CE5D324FE97D7FD2412A73B92D8601B8D716AD4C87891B | ||
| 1246 | 53D9E95DFAC1F27A582CCA123096B12BC1BFD68F432956606CAAD9752102B925 | ||
| 1247 | 555EB728A26DCB480AFA1E87F2990585E477E5E83C045A72FB2DD04D0AFC8512 | ||
| 1248 | 640086008CD6989676719D94E4646EA41508A6A4C25E93E84B3928E9F875186D | ||
| 1249 | B2C6079FA73A221FADDED66AA88F5B49208D10C2E1E91E25DB3818D69E69F10D | ||
| 1250 | 197A16CF687E74CDE885CB876C185F19D120D916E66F88D03B308ECD3BF2010C | ||
| 1251 | 7530AC389495B4E63B70999149C463F46DC3FBB0E77E74ACA0E0CE17172AEFB5 | ||
| 1252 | F3D559DA122B384EC940CD845E8B5271D2859A12F5E913BA6CCF8576ED7F5C04 | ||
| 1253 | 9C4FE5B7DF849BBD08DB1B44A71A59CD1769853CF9E49A3425D48D19233988AC | ||
| 1254 | 3263BD7D1861EE4E99C9D33FCDE02854B0A9CCC24F337F04F9AA4F0292F5613B | ||
| 1255 | 0DC69AFFD972B2EA03B018057A588936F7868AC2FF5474B9A9584F2AB70A6813 | ||
| 1256 | 23571813A6B3B48ABA4CB44F6C14E9DD5EBC97D9A705F215B31352711E6DDC25 | ||
| 1257 | 27B5CF2AB2C4A1B2310A91711D39A4BB8EDC93361A18A38487F8D2E3C91E5D80 | ||
| 1258 | 53C2B713BB837DE72556FA3D1E797EB6A90D83DA02DE424D074B6A8EFF11BE23 | ||
| 1259 | D9E905B15C4860FEC665B2182CA30293A86B5D1BB1F7230D7ACF88D7C53317F2 | ||
| 1260 | 57FABDDDC049CA2CF03E8F0FE9FD160736418DDAD7809A85D3F3CAE9F7C51E3D | ||
| 1261 | 2238449F781D61AE69614F0B307558D4423C86EE67C353E9B49DBEB7B060D7F5 | ||
| 1262 | 25AE5A7F64F20D22B4932E86D5F70632334D3F08F22B81472545ADD27C389FAE | ||
| 1263 | F619E9FF87185F0F54BDDD40430CC44576CA2A2F3F4C115D3C82E53689203F93 | ||
| 1264 | 36421BCAEB7FE999BF2EA19D3B126C073EEEEDE1E841BA512B2A4D8E1BFB3A8C | ||
| 1265 | B2272496B09DD88CC7C37EE8E06BB92797FEA48E4845D7EDB60A61206C581894 | ||
| 1266 | 1FB3FFFFA610E81026A7AFF8D400EF068D1797F8512F05223DDA51FE18DFDD7D | ||
| 1267 | 79FA8754A79D501826F705CC5450BE63C2390764D2AF32BDEF3E45940774C9AF | ||
| 1268 | E869BCF5D5C028278DA373F0B0B6ADA106DBF419FFD5ECA3C60A6C1AD46C6C25 | ||
| 1269 | 5C3DC971BB07A23E3F3180DD9DEAEDFC2A96DF506424C5EFA695150D5B550AF8 | ||
| 1270 | E60CDEA33876B075EF693883F6FB70EF5676B4552318E1EBBD4050B2BAD9273B | ||
| 1271 | FA895B3DAB65E4202AB0EBBC633A0810F852824D3FA83865E505F0A226A85D26 | ||
| 1272 | C7D69739B671A64FDAA895F7C98660E43B18923702C6E02C3B0806BC375AC535 | ||
| 1273 | 527265D76CAB05110C7854CB477F1ED55D0B876CF2421E3FD0F21337AFBEC2BD | ||
| 1274 | 24E8E304B141B878DDF0A9F692E1481FCE9FE8734E6FE9CC2114F0F341AB9E03 | ||
| 1275 | 8E4118316EEA0985914711F52F7D2CA2FF11FD9D79C5CBC12807B5992B8485DC | ||
| 1276 | 494FC91F87A7A8731CE88752D02E4527597BD7485D4B88BADA367D516EE4069E | ||
| 1277 | 12625CD755DE031815AE82EEABBFF8563BD74A2A5430F4B084D7F10CAB27224B | ||
| 1278 | 8A8ACAB00DD8B88D7A3B9F05D769D8328E46C1345B7BA0DAD75302227CE54C2C | ||
| 1279 | AB035F296ADF6F7F7E7CDE3EA657F1244C2370C6D95EE876257AD318A92D90D9 | ||
| 1280 | 4249B2EF5F001B88C41BF9C9424E9904A28951038318B55BEDDD504F111622D0 | ||
| 1281 | 0F9D23CDB090D27E1A7B0B7DEF03C71D5F90523852FB2530A4832382EC10EDDD | ||
| 1282 | EAA73D2C1CC08A53F1262BF636D56748631DEBE79B173EBF76B6E2334BF0D855 | ||
| 1283 | 74430668E6E49160A25FDE5DB59FE6320B10D00AFDAA328324572B6F767D98D5 | ||
| 1284 | ABFF8B9418D51864EAAAAAA2872BEDBA9ADDD7F24012DDCD6200E5B322B2FBF2 | ||
| 1285 | 3A37639CBD9918FBAC813DDFF7A330CEAF3BBEC787D6B404C88E22F2EA4B0F88 | ||
| 1286 | 1260BC45253FDDB713D260F72F074FF766A841C7B258F281C092CF643013ED6D | ||
| 1287 | F4C3DB7750E93E405958FD2DFB84FE26FB582A61A029088B6193560370751546 | ||
| 1288 | 230789365755CF9412EE72731564C80661E5D607DB15823CFD57DC71DB65996A | ||
| 1289 | 3093A3328998FC86ED7E2214BDAA5D70F0DF0D54D0E2380B71B9E321131F247D | ||
| 1290 | 37AB1EE17FEC0ABCFC5906695B15B21CF44DE062BDBC4B9088844D4F0E39E071 | ||
| 1291 | 0B33110F36C709E62F7129C3089F2C235F2EFCB1820B54FFA88F157C0CE08271 | ||
| 1292 | AF58E9BEDEEB16F461B77596D9FCA92F3ED5B751FC0C0312769C23E85DB83BA1 | ||
| 1293 | A1F8D74BC27276BD842D5856664582B3F5414E2213E382DDD8EC2EEF31E79B95 | ||
| 1294 | C2497A33906574377E7FAF03CE9131A925189213E7BA883D30BDA2D03A696FDC | ||
| 1295 | E62DC5B68FC604FC6E612BCDB18482FDAD3EE1E2E0ED7F93C91C81176D33BA53 | ||
| 1296 | 6CEBA5D8ECDF838640ED67372D1B2943A94D82DC93AC338C57CDE651DAE7C234 | ||
| 1297 | 03630634D5C816277DBC9EC71DC0A862F19B1756A11703DF5DB91E110FDC7271 | ||
| 1298 | C2EBBC42F233B575752573E7C3DDC8EFC73A6B8DE7E6B8D48352C3733CB9635C | ||
| 1299 | ECAD66C97F2DD346865CF018F46B4565883834D989216E3CA25556E1F9E98930 | ||
| 1300 | 394B985ECF798743D8277C2AB8DCAC16B483610DB7C3C90F71680D807BFD5493 | ||
| 1301 | FBEA7F3FA4293659AE976D036FAD43D509C2DBA3992DD24DE8A99BF1FEEE7431 | ||
| 1302 | 31705015A098AD47A51E6D955DAA1A4B03CEA003E0273BA5671F7F1998238D88 | ||
| 1303 | D0DA4262B134AC9003BCE375A75AC93715F8F2F8A628409CAE9FF9D119301B3E | ||
| 1304 | E8147F1DE16649984430EC4BA948BF5C74111D0F8056383D444F6524C7FAD4F8 | ||
| 1305 | 6A4FDF445CF8EEDFED560A6C262E24C0444B2AF705926A9E0805A1911F0230ED | ||
| 1306 | 5B2030D956CEC14A102CF4F8E8C3DAC74ADC16C169BC4A4DE75DB3CE82376254 | ||
| 1307 | 00FA86DB89265200CEB4CC133B2A993AD95C5AE5A695DEBB05624CEE6DDA6B5E | ||
| 1308 | A089344AFA90ACA83A413762F0153EAF7DE15333BF9AF6E75EFEB3964D59E183 | ||
| 1309 | 42C5E52A77C87E85E2B3049508C00ADA5D6F0A8EEB2A4D71DF16F3DACD580DD5 | ||
| 1310 | 68C68834C0778B469ED2F8C833A1BA9CD0DB2D6AD88C506F5BB23CFEF461D30C | ||
| 1311 | ABF3164B702B433E0156590C1FD699268144766D3AE1F8E582ADC19B2D4FEC59 | ||
| 1312 | 0DDC8270512D3318D854BE1BA7F545AF9D9A0F3B59710609AD7A624CDCE04DAB | ||
| 1313 | 095A54E8FBBBB1987D01EB7CD1B6BEDCCAA46A07077655A73707D6902BE02565 | ||
| 1314 | EC7C6145AF4E52D1073E3DAC7C087A14E9631570901BEE1FF3255B8D501384A4 | ||
| 1315 | 0658B67909EC2F6B90A1BCEFFA9D74C1CF5570D7EA96391CAB7CA4E0CFDDB3FB | ||
| 1316 | C3591EEB49AB7B154973F0EEB9879D53DE90351F0F76BD90764ADE187C68FEB5 | ||
| 1317 | AF1B4B290F2F0AA66E1D138B21C1D4EE491ED26EE44CE490F326A0407B0FA267 | ||
| 1318 | 1707218CA4EE1FDE220835476614DD67C7845DFB243FD2C5D856ABC7E97671AD | ||
| 1319 | B85BCAABD214B9D9BA81B4E925A726A122F1FFF11F9581A3F08645BBC4197B27 | ||
| 1320 | D40D2A95EE1DAFA9C8A6157E0E79866BA40C0702B26210725AA2239785D9D9F5 | ||
| 1321 | 017047AB62B57F6744B2D4A5D642E971074A2FB1F8809AB65A52E96C51415FC1 | ||
| 1322 | A5286427DE8C81BBFB5A218090595CC14A86A40ED9709D5752157EA673A4084A | ||
| 1323 | 93BD7E215DBD1148BC140DDC68FF8F3C1AE10894D8BA9C4A3AE55992F88429C8 | ||
| 1324 | DD9B8247EB0D653FFE69165BE6827825C1F88FB36E69F2A8A3CDB6D72FF96DDA | ||
| 1325 | 072C65F51A898EE82590678C43FC184B532ABBEEB801F0143111C9941F2B1C3A | ||
| 1326 | 484DF4C0AA7E738EB2063278EB7B70E1BAAA88C50BC462ED449B66E4E0978C1F | ||
| 1327 | 7DB04568AF5EB412C3E41BA22E8273C1996042DFF01F9702B676E858F4FDD430 | ||
| 1328 | F6B417197D8999945E9A82DA43969580863825D31F9D59A0D87D0F313FE2C28B | ||
| 1329 | C6B97A98DB142B88A45943DD49471C3424BEB1DB482E9650B0B92AC70FE8845C | ||
| 1330 | DA7716D68C9C2A14BD68F379E2C9DBFF92DBACFA705F328AC2D196F472A24ACA | ||
| 1331 | 244A17F00C82EF653DCB067E0F3762CA52E58A5604D29EB1D56B2EB40417E2E7 | ||
| 1332 | 9406035A253BC2F539D5B09ACABB048EF1D689A5889B9C5FA6B2E0E2EDB9599B | ||
| 1333 | F6F4B355E3733E6BF9B21DBF7580E52526F2900F980B3C28062A33A25CE7F6A7 | ||
| 1334 | 4F13D6AAD9327ECC7F3F97BF15C3BEDE1A0DE042E749F648354D061C3E52E7D9 | ||
| 1335 | F376216E4BD2B782A5AA0D9FDC5551CF660285E4CA7363858C51DCC79F66072A | ||
| 1336 | 2FFD59D6799BC84EDC0C5DC09D9E40056A4608B235F1357D454ED3028322AB8F | ||
| 1337 | DAF5CC60F8B5EF4E01A8ECE97C491D828A87CB85D50CD56E4A7BB6DE2315CB0B | ||
| 1338 | D0113AE20B4EF27FC486B648C3C0E6F69C1FFAE0C766DFB8B16611CB504FCAD3 | ||
| 1339 | 06B8169190CC5F836CB68D7CC34A8434BDDBBEF33E2B778884A8070654378FB3 | ||
| 1340 | 744459C9FFD348B2059652D47335D7C864619700681D45A39F068430F8DBC4F0 | ||
| 1341 | D1122FCC17182216F62C82A2800FEAB2247A07413B3809DBAD5A03E1F1968BBD | ||
| 1342 | B41B98142B9B0403D882A3A70B334F0365353E51A7FE4309DE4EA9BE3B695601 | ||
| 1343 | 3CF86249952A437666BDFACB7D272F200A64B9C09A125287FE2779E950687EBB | ||
| 1344 | 3EB747653C8D95758407DC3AD8C95AC3D2E18994156FD13CC03A6653EC7A2993 | ||
| 1345 | F9893778089FA63708B0E3942A226A5289090412CBED2CD71BE93DD4CC56F095 | ||
| 1346 | 2E41EB41DE3CA0F8953C28C3285C57B75C13CB8A7E588054BDBF3B5AD6E86965 | ||
| 1347 | 4BAC32C54CC88E2BA882A887BD84BBC8F15DE986DC2118D2DD0A0E154EE11815 | ||
| 1348 | 65B18565F5C97BA8F5753324CCB5CD8D40463D909E832CAD28E62AA2250D8DC3 | ||
| 1349 | 120252A10404200CEA8A2B67CF44676E6003B7FC2AC00ADDE1227724B9E8999E | ||
| 1350 | B5A4E94223504B52575111E828E4AC03833844683B64101AB5D91EFB4CC8A822 | ||
| 1351 | 72C394436D8930F1541359194EAB8F44403958F415678D3EACC777022271EBA2 | ||
| 1352 | 2A76DC2E2E833B426A15D5AE648101CDB8116D353A837D466E4311DD86F1D921 | ||
| 1353 | 64EF76C5CB35B5B0E4B8B1B93861E03C1B635391276D77ECFCF247E714CC67EF | ||
| 1354 | 72209891C418D1472541D68A6761EBB440E360881E993D3FA4E29CADBFE733AA | ||
| 1355 | 7C260797DFE27403E70F6B1D2E493A1C55B2381AF9A815808B5081231FDF30D7 | ||
| 1356 | CB3A1D091A4B6887F9EF692C736AB5770BA5921D48DB3F196A4515FEFD4317D5 | ||
| 1357 | BCBE5394CB5EFDB4C4A972B669C294966E5D76171CE5B903E4D8E6AE50C5C075 | ||
| 1358 | 37C42B59E74CF491556B618191C3489D11288587FF05713B18529C7C7DE1B9FC | ||
| 1359 | CEA7667AA32EC4F02F452F9F20E54C89E071ABFC4155ACDB4DF3900EAEC25386 | ||
| 1360 | E14C88BB174890A966703ABE3B6EE4E229882DD0543C3E33025F072EECAC34A7 | ||
| 1361 | 7945C2D58A721E42FE71F1A2CBC59EE8278EE39F6BFDAE2AABA5562E0970991B | ||
| 1362 | 75A3AE1B2B0CE3B8BA0E32F6D281990054BB095B9E9B128D54E3492C08380208 | ||
| 1363 | B6FD878894DE6F487363C826F26F5B810314E48E86C933B885D21887ECFC7FA7 | ||
| 1364 | 711F256D819274209A0E08AB6E147F7642D07C97F92E70699D88ADDFFC941A17 | ||
| 1365 | E521A3D5E3596491CF5D9BB95E483C353441CC4748A59F9E49C79968AAD58F19 | ||
| 1366 | 38FE5E275EA22403CC4A287A30F7B616CD4B31519AAB4DD7237916906B59CBCB | ||
| 1367 | C275E1E993B33AD6F76E945DD4CFC3CAC1BA88E5CF9D15F03212207182AA054E | ||
| 1368 | 9B53A2469E76F128006747A7E3E95720EC90B43BAF6E016205435EA4AC8C8303 | ||
| 1369 | E1E41BF20358CDA809B88C72AB0C2011A6C91A884D542D92971327564E175217 | ||
| 1370 | A40ED9EDA6B45192C46B648215A556591A5C8AFB8468947B8BEBFAB854983A44 | ||
| 1371 | CB88DD24D3C8920383944E2FE13C18A45D4A5507110C61FBA11945DDE8F0E5C6 | ||
| 1372 | 265F450C30BDF5D3C95F40573B139857539F01E8C804BDC8DA9306C133E7FC0B | ||
| 1373 | 66F52013A1D7C4BBF2B2E1EBF80EC769D802C7117C06AE917206ED17D13A3E95 | ||
| 1374 | 5C987FBAFDF8B1B49E00376E8B4D60E9F2B140267A587BE8D14B1A0249C2B1DF | ||
| 1375 | 003533FDA36B565ED493CD1A807E139F6C2CE7148B6FE62615731CDFF1EFD40A | ||
| 1376 | A79DCDDD7F4F4CA0D00DF277E7A38556B684A32AC4A8B6998EF6C1693F043E31 | ||
| 1377 | 374B86213BF7CAEE905D239D358FFCF91EF2F34DF7E0A1A16832A54640D42610 | ||
| 1378 | 8C77E6BDB82B862426F153B0C87170D31DA509ADAC29EE7A614EF359D584CA36 | ||
| 1379 | 787DA85840A14036378E25A53F907D10F7416D5334705DB9A111553FAF2EE20F | ||
| 1380 | 9C3A0BFE2D3BE88C28899043C8293D012CD8E2752F30A883C2287D5AE64D00D7 | ||
| 1381 | 443218C7F45449B4C9B2BCEBCEEBAE0AC8934549F5E27BC01AED860754AB4962 | ||
| 1382 | 12C42C1E066CE0B5726331F64A1B6A738F4D79388076AF52C46CE481988B5341 | ||
| 1383 | 85A8CFC7F9ACB1F0647D33B762CCC7C34F91BF607940DFC09040775AFC3FAF6A | ||
| 1384 | 41E89010D5700942F78D5F6E159CD13806F1F62C28EC0BD6F40E4E812B50F088 | ||
| 1385 | A20C82231D47C911A9F4213077793947F6C8EA53BF2763F75779BBFA65A75E27 | ||
| 1386 | 791959727522E48FC28B9C649BB0AA1DFF96D7681CE5C8A42632EEC5CB7405FC | ||
| 1387 | 167DAB24900FF3CDFA2FADEB8829283B73CBA2B1A95B483CD3E6F02C693AAFF9 | ||
| 1388 | 9C09D3D2DC196A6EAF720FDFE7C060FECB0392610B17EC0AE65C72D89D892694 | ||
| 1389 | 99CADF5E3F60F6571E29EBA897831B8AB7253557713BA2529465C615D848A1CB | ||
| 1390 | 57633090AF2993CF37E19A97094B8686238056F22AAAC0CD81034661B9BFF73B | ||
| 1391 | 18151C4DDCFCBA332283CB1970BF1830DB778E626626DE94E0A8004E5FD830CA | ||
| 1392 | 93E4BC3607809BD56C75B558196999C92E7325ECDF73AA32B49C49C3C5FE4B95 | ||
| 1393 | 7F50AC40FD642A52CF12F3547ACAC754EB8F7164FE5624BEF7160B14258EDAD8 | ||
| 1394 | E26A181219321F2AA523CFCA7B2E12878A5E242BB7BA5C9F22D0C5722766C564 | ||
| 1395 | 306F713ED39E883D2A7ED68A0D7C7EFD64EB39FC189A0C7FF8111660A188E19C | ||
| 1396 | DE642C8F2B0D284AC2B52405206A5E1A449319D94B3DFA20DBCBC522B5D67431 | ||
| 1397 | E3A072463B59BF356F924434B5AEA53BD49298D25738AA79AB1E274F0A7E9330 | ||
| 1398 | 2982789B56EE39AEE8DF359C968C704C7D3B8FCB09FFC69587EEFA7E39DD5370 | ||
| 1399 | FF513753E7518954525B083BFA191115CF310A98EF5CF0C2540265031BCC9694 | ||
| 1400 | 8C6A3F1A053753838516389F26ED5D57BE285F92938D59B0DBC6047C0439E127 | ||
| 1401 | 55CF071FE044451EC5C557F6CC29D8C5256EB48AFB23A0CCA88307B7E8EE1E45 | ||
| 1402 | 91B46854300FF369C6D84072D4D1625A0613CD330AB55B0B326554909D57C7DD | ||
| 1403 | 73422A8588FAEA378B917785E75F25E4F4183A36AE15C7FC2C3E2C6E890B113E | ||
| 1404 | 0B3FEACB2A3C5ED2F7E5BFF91E8E273869D4143A954E6A5C1012A2FC7839A878 | ||
| 1405 | B86D878370EF71ED0A7555E8858C68B1468E130C1CE3A6199D93FAD963AC0877 | ||
| 1406 | 1981237BF431B598966143C8DC7F3B802729DF288A39EDD5B06F0F808741C6AC | ||
| 1407 | 4D59EEDEE8655A6CB5FFFD911D8A942590E4BA2709403D0741C70B0FF9FBFA7C | ||
| 1408 | C3FD928B5B265DEE100172E5E917F273918C7941AB9071E1C3EC631AC555CE9F | ||
| 1409 | 35F88068E213C0F9A4BA7D133755EFB674717B4FF225AA16BB0B7A930D7F4474 | ||
| 1410 | F2C9C784CB7C8C0A2F2201B57541D25DB2C2C8EB11D172306F7F912149C2E61B | ||
| 1411 | 40B0A570CF8A47F792860E4CDCBEB9A05B511E4903921CB80EAEB5A3B6567E14 | ||
| 1412 | 71229E7AE16210B7F307E1FEB739554261547BFF5B559B88CB5BDD64124817D1 | ||
| 1413 | AAE0DEDA95D830BBCFE0AE34A90A70E42BE5E9A54D420B7F15D678425F1F7408 | ||
| 1414 | B0A45ED88BBC61FFF2433D65AEBC21CC21A454F416913AF8B4272F7E20CAE1E6 | ||
| 1415 | 0AFB2D16F862DFB2861CCDFE73BA66BA95636004349740C2E9292EA3C326F077 | ||
| 1416 | 1A69BE963D955A35B72920D063127E3C8DB8655C089312F094231517A9198B70 | ||
| 1417 | CEB0F01B22DD451966D72B2152947AE928D38F39C34EA1A6DCAA758EE660700E | ||
| 1418 | 351A8E433028CD6ACD63B6745E0F501E72E3E3A001696B500F83B67E027E47C4 | ||
| 1419 | 36B251893D87A5B646C1BFCC94F2516C5A82CA364FCD3F128289F1DBBD0E1BD2 | ||
| 1420 | 8D641FBA92924ECDB132C1F89BA3650DAE6E68BAD856CDAC195A70FBB0D9ADD4 | ||
| 1421 | BFE9194C5C2C525337AC29B8A55D56BB2BF90C004F1B5B3842DB2581E728BFE7 | ||
| 1422 | 4112D349EF2FD56CD145DC9CCE9F8364830E466E60F6F437EEE13DFC07D8009C | ||
| 1423 | ECF876BCF50BF9C60CC60544EBD3BC42EE61F0DB1ED1EB920CD367149B52B2FD | ||
| 1424 | 353B4ADB2C18A087AA670E492BA5FAB513AFBE786F2A729D93F28D282A2A1945 | ||
| 1425 | 3A0D2565D395FB4A07E97F04E1A50AEA7EBCAB7D5DABA2603BDCA8FE770A4012 | ||
| 1426 | 114B736C19E1649153A74C74E7218A0A031EAAFD8420A712DEB1233036455045 | ||
| 1427 | 18F9902DB6390E82EF280BF3C104B4E25EDAD22880D74EE456D1E5225D683D5F | ||
| 1428 | 13E8DA2C4D1A8A1F456D9A3887EB3D9ED71BBE682C7FA3AD06CE4F2C554DBB72 | ||
| 1429 | 71FCCF5A8D945387E9FA42BE9D774C44FD296270FB67B1004273051EFB74C2AC | ||
| 1430 | 2E215CCEA6F18AADA4EE6B94915242B113F094ACC5D837566D5B49C51FA2012A | ||
| 1431 | 792357BA0162EA6D04C7106B60E25EDC02CC4FDDC90FA314E4D9DD972536C486 | ||
| 1432 | 7A772B06B55C1545C98E90E8104FD7AA76B0DC12C7331859B6DFD01FF9022F05 | ||
| 1433 | 34FCF3DB906EDDF0E8 | ||
| 1434 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1435 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1436 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1437 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1438 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1439 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1440 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1441 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1442 | cleartomark | ||
| 1443 | %%EndFont | ||
| 1444 | %%BeginFont: CMBX10 | ||
| 1445 | %!PS-AdobeFont-1.1: CMBX10 1.00B | ||
| 1446 | %%CreationDate: 1992 Feb 19 19:54:06 | ||
| 1447 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 1448 | 11 dict begin | ||
| 1449 | /FontInfo 7 dict dup begin | ||
| 1450 | /version (1.00B) readonly def | ||
| 1451 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 1452 | /FullName (CMBX10) readonly def | ||
| 1453 | /FamilyName (Computer Modern) readonly def | ||
| 1454 | /Weight (Bold) readonly def | ||
| 1455 | /ItalicAngle 0 def | ||
| 1456 | /isFixedPitch false def | ||
| 1457 | end readonly def | ||
| 1458 | /FontName /CMBX10 def | ||
| 1459 | /PaintType 0 def | ||
| 1460 | /FontType 1 def | ||
| 1461 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 1462 | /Encoding 256 array | ||
| 1463 | 0 1 255 {1 index exch /.notdef put} for | ||
| 1464 | dup 0 /.notdef put | ||
| 1465 | readonly def | ||
| 1466 | /FontBBox{-301 -250 1164 946}readonly def | ||
| 1467 | /UniqueID 5000768 def | ||
| 1468 | currentdict end | ||
| 1469 | currentfile eexec | ||
| 1470 | D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 | ||
| 1471 | 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 | ||
| 1472 | 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F | ||
| 1473 | D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 | ||
| 1474 | 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 | ||
| 1475 | 2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82 | ||
| 1476 | 7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378 | ||
| 1477 | 77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18 | ||
| 1478 | 2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91 | ||
| 1479 | FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F | ||
| 1480 | DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68 | ||
| 1481 | 7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4 | ||
| 1482 | 9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176 | ||
| 1483 | CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D | ||
| 1484 | 6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6 | ||
| 1485 | E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E | ||
| 1486 | 8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E | ||
| 1487 | 3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99 | ||
| 1488 | EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4 | ||
| 1489 | 0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9 | ||
| 1490 | 4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF | ||
| 1491 | 1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910 | ||
| 1492 | 757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E | ||
| 1493 | 0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665 | ||
| 1494 | 6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED | ||
| 1495 | E067598E1B8B78188FA4BCFB0B51692D07B0BEBB930C6F0997B437E2C51B876B | ||
| 1496 | 61A563A2673932C2045833FAA35DB22ADE12102335D5DC734AE3AC5EEE6658D7 | ||
| 1497 | 92EB62131E1DFBA441F53EFF9021D9D4C491F26BE8F54C61165CAD778CE8695C | ||
| 1498 | EEAF70E3B20C64D4C2B34A084B5770BAB2A974E898F62BFE90F132A37E2DCA4F | ||
| 1499 | 43E13DB13C94DFA8ECE2B7374827AE168634FA007F8981ADA046CED3448BF453 | ||
| 1500 | FCD9A4F194FA648F9FC0971734BB69CB75348A88CC361FF06E984C86AF0EA429 | ||
| 1501 | DAA5808CCE3583664AEFE0C59EDA04A147FB51227A5AB0C13942323E9B3733DD | ||
| 1502 | 3EE7DF7F774DE5D0D0980DA8C0192983F1E3EF18481EAF1EFEDA0068BCBDB28A | ||
| 1503 | 7FC7D9191EFFC574588DEC1E180341DC959F8EF56ED5B19F50AA82A4653649B7 | ||
| 1504 | CDCA11A1FF27AFA7FF189A7E8A7C099AEEE0CAF3E121798B2721ABE8808D20A4 | ||
| 1505 | AB6E704C0C376BD242C4966325D4C939669E28B55BC335405C400A9983B89EBB | ||
| 1506 | B13D8C5F3A148E38E9ABD86D0171C927F1051266CBBD5C5D12522AF7CC17918F | ||
| 1507 | 410BABDD5FDD279338E8B17434DBF20B8E06B58D9E13B731E3C07E4CC350C431 | ||
| 1508 | CE2034CB23828A19AE93124011BF053A3C5705D9BEF6D95205FB8360391C84B3 | ||
| 1509 | 7C6D719C0FB459A312AAC3C4256EAB293B6DC729CC5070524D1BDA41091E8B42 | ||
| 1510 | 2B6C4A092995AFB40CCF35730350CBA197F3D5BC5BB83CEDDBC6FBDE23A885CE | ||
| 1511 | 61D416B3A6CEC46474A0F42D5B923A61832262F234001DBCED9A7A00F5511F3D | ||
| 1512 | C2178422A46CA5494AA8C37F51C40339CF9392A7098DF8596EA97C440989CA06 | ||
| 1513 | EEEB5025B29EBF6038EFDDFD6F70989D63440E9C14E2A1040FAF427EB41259E3 | ||
| 1514 | FF3BA255BD4C04BAAC47326181EC7CA1FFB32CBCAB92B1F8CDE6ED0DD3FE6D5F | ||
| 1515 | EE14B739FC25BB13CD94A0C0DD7CEDD886AAC62248C64B8439064D1038886DB3 | ||
| 1516 | 187F017A79318B69963296B4812128EACEFBAAE983646E021F24BDAA2B78E8FE | ||
| 1517 | 2BCD5BFB302103D7DD28668DA7A60C446A27BFF8D6C66F4FBC61D271B91F0470 | ||
| 1518 | 16F567DABCD1E8B04CFBEF602BD9CE44B724B3EB8D30CE573EBB13BAA047F947 | ||
| 1519 | 90B24F2E49C20E2474EE9D019565E6FF25BDB3F74DF05BB9E148E1C5883A9EA1 | ||
| 1520 | 53AD383463F47D6C1077CB8D8DE48F71A5D42C54BEF4C0058EDAA735809798FB | ||
| 1521 | 356002E6B41BC6D5E3D3027540168761334720113FF02B2C734749091BE71BE4 | ||
| 1522 | 5DA61AC33554AF15E6F60EBECDED2ED271C80B5C4F943ECFCDA66DB6165620AB | ||
| 1523 | 0360CF8DD672B0C03DF892BD397923C6855938CB739FE4B3815D76DBCB1C8A22 | ||
| 1524 | EE4A86AB55FF7994EB31BA410DE548B6276C354EEE51D5BBDBBEF76E9DA42C02 | ||
| 1525 | CCB3729DB2F52BFC06A5A030F32927E2215BC0C86F99D9F39C0C4E342DD816A3 | ||
| 1526 | B51AB73808F2545F9C55CC3D352B263E37D3D6E47854D7508D29BF6B52CDA83B | ||
| 1527 | 45C36FD67DCAA7BD22745B1AA86908ADE52BB14B55498AFFB5892A6BC9256571 | ||
| 1528 | 575183D73B178FB7B67307222F6165175519E7CF674964F2131FF44528D21025 | ||
| 1529 | 3A624A5AB5BD4411386573C91A067186318F266B2EF29918160A5F5AFC3AD9C4 | ||
| 1530 | 68F5C559617D890FABCDDDEEAD20FE6658231877FF9B545C2042681D7FE55EE1 | ||
| 1531 | BA15672861CDEAD8D8912E54EC0E7220590889C891E619704210F18E1DDAFECE | ||
| 1532 | E923F177F11CB40633F4B9760709DF4B36D503CB983B2F03F3AFEBC0555EBE77 | ||
| 1533 | 6EA688CD50AAE49D66E039C732580CB40AB9DBBB0CF90031855AA61170350429 | ||
| 1534 | 4745F6356B0E41CDD4032CAD246852114729067E2304AD100A1A93068EC4CB7C | ||
| 1535 | D607190F2FF5BBFB344D34907EC5240F250807DA5AB47E80F790590286049653 | ||
| 1536 | 88286A3CAD9FD12BE3F5D0547A166A0AD59C1EFB41C0093B04737319A2ADF9B0 | ||
| 1537 | 312841786B47E9DE8A534A26ACE8E47429430BE234FACC6B012D459D8F204150 | ||
| 1538 | E2CA96A46FBCDBC271639C57D38B0FEBCF6C152369A73FCAB8FF6411585A0CED | ||
| 1539 | B410973B3C0E800320CEF2181F8FFE5FB711464FA52C6D98511C4B33FB9BF5EB | ||
| 1540 | 800E3346C8591E5B941F4A20E3266804D728939CF653CF9BB16CE22E987BDA2C | ||
| 1541 | 0EE6C0D9E9D1E81392F5E8A5499E97C0105B0F5411809652D406AC8AB76FBE20 | ||
| 1542 | 366AB998234BEC5C8BB66ABE2AEADE28BEF7FA5B9C628A7F2C315F5013D15264 | ||
| 1543 | A3EBDD6C1739B3F0B3BB3371B9140AE771AB86CFA74695EB191F81788594F6E2 | ||
| 1544 | C953003ECC01331A8044C1A925FC8B79CC48ABB9609FA9626886AB2AC449A171 | ||
| 1545 | 325D08A1B286B46119AD1E2BAAE747D8CAA562ADDF6F432DD9071DBA9645DC59 | ||
| 1546 | 09D3903F39A2712AD1BE871D18B8AF9BD38AFAD32B216AEA13BEFD9A0A5D185B | ||
| 1547 | 3385DA10D2D42C32E6806826E8947C3E177172ECDD4FA9380AE4F09B23BFB954 | ||
| 1548 | FCFED455EC8BF93CCF7628BADEAD05250F7380EA2AE79A191E65183E7A901FAC | ||
| 1549 | DF333A1D645118CA7FDD838BF35598FA055189A93F3EA6D0AA6AF3F89889725C | ||
| 1550 | 845FBE53DF1DDAAA1D67679AF697A570763E122FBA174697A0DBAE2ED8C66637 | ||
| 1551 | 248397F01AF8AB4CFD80DCE9F29E0064542F4DE88A2AD15B0FFFD02FA09D8F5C | ||
| 1552 | 09DAADD0FF16F547AA17F5DA9768416A4B66887F2B8F39ACAC89743A3A06AAAD | ||
| 1553 | 1B1720B5DAD72C09D75AA6F4B78425624500913BDD175204B9647997099AD757 | ||
| 1554 | FC19EBEE8B0E6C40EFEDCEE15D6B5FB820EF4A889B11AE989A23BF390D2D1D96 | ||
| 1555 | A230BA563188B911F17447E331E1AD1D6F2FB13E1B83CADCF22EA3650C94E9F8 | ||
| 1556 | 504D1F24E22EDE0A65737C22528FB52072B21759BBA80D390E87A53595AF6899 | ||
| 1557 | 98426CA645A7894A60EE88B52F9B55FFB1EE2B0896A421E929B0AB47A5F4A72C | ||
| 1558 | 6F4A4C5EB84A5CCE13BE620F7E109C72A196CA073B8192B3980F27D2C4461BB6 | ||
| 1559 | 360C074C3BCE043A3DE64024F038835536AF5DC58C1EE004DE6CC7DB1AF7A216 | ||
| 1560 | A85A082CD0522D8E0C896AB309B6BA98E83780B9967BCA5C8BA0D5AF2D7AEB88 | ||
| 1561 | A6C69B01680461A2DC4073F549EC9118212B8125FB2BD5289B4C57B1ABF5B26C | ||
| 1562 | 1214D50D335996FED213215561E44C2257B4464A887F333D466E492E44D25584 | ||
| 1563 | 83A269EC5F51F5C407E700052B9C349B37B3B6A7E93C1B9B9C3B32F3993DE385 | ||
| 1564 | 636D496BE8781D22DE0031F98D6B7FAAEFE76B49460D2CE096AB03878F1EF424 | ||
| 1565 | 0A5A160BAC37379476C178884BD55A841F000652A430560610DD781E63C51AE1 | ||
| 1566 | 8648A4A3459194B7FC456906DB1177EF405289C2EC496BBD4ABF1A913F31876C | ||
| 1567 | 380D3C4A436B3D7CE97E2E538E8837D379D16232F292C7425763AE75482D1372 | ||
| 1568 | 68A8160E6A70DF891EB308FD3AB9ABCA346E4FAD5F5CF78A4E3DE21E558ECA72 | ||
| 1569 | 098F147E6F87F0F9535C9DD793B5A3C3570A303B9E4A73B4B41A1BFBAD5E8BC5 | ||
| 1570 | E5A9DDB8C63BAA30E474DB44C78FC1F022B54DF5650E71F60FAA8332C9A77FF2 | ||
| 1571 | F31FF3D589D9D39A98A4B454B67D64CA43A8C86207CA3BCE340E65A5113AB662 | ||
| 1572 | 10581682ADE7B1599C14E7B4A882A602B031728027EBE6FD135B99CBB5AC2687 | ||
| 1573 | E49228F18BA68C72E325BDBD2861236FBA49358A8B3EA5CB54A8EC2E8ED54A7B | ||
| 1574 | 4D66838E41AA8768DBABD5890A70FC402C8682CB4C40959C523CEC82B1555A80 | ||
| 1575 | 235EEA1BD2DC28761071BC767A2DE1927973300D5035BB879B56C8C64236201B | ||
| 1576 | ECB15AB9181EFD6A50F96BAAC35A8901F070D9251CBA2EB826994AC95EDAA8E7 | ||
| 1577 | 058A702B707C261A1E3700343BFE3585DD1D8DF4863564976F74D16426D44278 | ||
| 1578 | C4DF38CB2ACB8314CF66EA8153610CB4A3A14CADF596EC875105C860D15E06D5 | ||
| 1579 | FAFA54636C90D409EF8E0DAB451DBB2778F9FBEC581BC7E6BFBBADF12E9B239A | ||
| 1580 | F56C5020C05B5399B480BE3FD9B0AACF0AC7B346B48AD3A2EF170C7DEDFDCE06 | ||
| 1581 | 45587A0BE775573AB2E57EAA3786CDD2C9861D1226CFF342DC2E5138A629B6CF | ||
| 1582 | 0B75FF5C6FD8DB85C547F46EA878F7700903EC8AE67F5907F8397A8A61901574 | ||
| 1583 | 4329D8F79C56565FA7DF824BA44E6C22760FDF9DE3107D8883141DB3CEEFC28C | ||
| 1584 | 770C9930E982389F2EF279566B2096CA205001CA3E045854C3750E67AB8BFF43 | ||
| 1585 | F8B07F2EE55BCEC65351BC2B085F803FB9BF5D7FABF3401F5B364F83BC8A97AD | ||
| 1586 | B74B10868CA83F97017925021B8F919A1F50AF8CA08753D760D410245DC30E9F | ||
| 1587 | A7E9A19C073E7C9BC7D7FEED4A6B2CBBD781214BEA20BD72A07B701C2066FCA0 | ||
| 1588 | 1DF7389F8159596F96778902346D0F40EB3C024372307BB97AE619E42B5C3DA4 | ||
| 1589 | F836F926EC44617B3935C58A28CD67D0E3A438954E915E0BF6172D1CF1F00539 | ||
| 1590 | 27AE36704D5B4C1BB7565DE82625267ECFE71FDF2F78E5E083AA64A79BFD5DF8 | ||
| 1591 | 017C6BF7D4A991CDFBBC6483BA8DF4DFD414B121B01FDF6F068980D30CC635C3 | ||
| 1592 | 36418A8CDA06D1CBE330E751AD061376331BF1F30AB81DC9C673172DABCA64F2 | ||
| 1593 | 6DD69606A9B91587B8B57707B36A1C1E734E4C9C738B0F7B430FDBE5919926AF | ||
| 1594 | 2E464A8B621898EF381022F04FBAAAD5184B5868B56F105D1DBEE45AADCC3D80 | ||
| 1595 | 2C22EBCE143F63E5BA24CFCF22A05ADF1F35DA88C03A759FA9FF867A8E37A821 | ||
| 1596 | AD7089706B432AD35BBFF303D738C5C9654205D95DAC3936AE8363F6C26FF08B | ||
| 1597 | C87C803729A0F44C7A65E0BB3CF2E7A33B7CCC1EF51558D8FC80981B922BE986 | ||
| 1598 | 87A641241B0A0BE8D9F09881208EC7D62AB094D00E9F572AE27D536325FD421E | ||
| 1599 | D010EC7684F097E4AEF2E6D203AED5E0D7C42E11FCBC051E56D25DFF8130579A | ||
| 1600 | 8D745EB13E6C7AF76C10E81F68471315DCB58E6155A9614F8F0BDD64D37B8456 | ||
| 1601 | 7CF46A233A62F1DB9309E29E21660F9648DD1BB14BDDFF43693C1DA4E3B302E9 | ||
| 1602 | 15CEB125750544926E0AF982A38A3A4B082C421C0FDF6ECC39C569F97BA229CA | ||
| 1603 | 43329F348329BE708C97B98B189CBCB2960D71F1CA73CA1EEB832713E627F870 | ||
| 1604 | 69B0DCC3CCD8482EA3EA7FEE339E0566108E46BE17B52C8389E300A41BDEB1F2 | ||
| 1605 | 4D9FEEDE1C077A5EF20D8F80AE83BAF2F632D0E4B44AD0D0BAAA968F2B3D2168 | ||
| 1606 | 75F939ECEB31D2E7811FA0A73A519FF0CA08992D4FD40E7A2BD53BF94733F41E | ||
| 1607 | 789BC5A7008B72255236B3D042996C45E4E1200B314418AA4EEDE6D718567526 | ||
| 1608 | 7BC1B992974BA3A8057E2298952B0385D7DD5089E9D7C5B8FACE9B09AA441594 | ||
| 1609 | CE6501B80E7CFBB0DA29C2014AE02080D8D423EDF27FF4328135CF4D494EA175 | ||
| 1610 | 9CEE197C2CA22519AB42AFD301E9637FE98A19485F8A2B6D24E05FB13E66A9A2 | ||
| 1611 | C602FF16147AAB158E8DF5A1FF820D8B7ED5A3F387CCDF247252C3D68A5E37BE | ||
| 1612 | 3BC5DC42F28C8F776E9ABF518407B2975ED2647B3949B4E199D2F6E174971828 | ||
| 1613 | C7D3BF0FEE47A33C97C98ABFE47E87813722BF3F9B809F6F98D2771B8537A541 | ||
| 1614 | EBBB8405B38BE6865F4E6B7A3D2BB0C783B1B73BA5FDC9EB65065EDA3E1C32F2 | ||
| 1615 | 8748BADDE0DCF35BEE32CA8B537DA99007625EC906F8F407912655DA1A05F01E | ||
| 1616 | F6EB582FF37089852921EC8AEEEC1BADD79428965097B82577772E53F18D8B79 | ||
| 1617 | 0CBFDAE9F71CB9D66FCBEC1313D7BAE572743C0253470B42805ED77B125BA5A0 | ||
| 1618 | EF873BE7490A3B23231CE6907327E93DDC90B656BD6D089C6DEBA6E0937CD89C | ||
| 1619 | 1C831543C9C882E1D6A67AE45E2DEFF0A01EC9FC670F4942192862BEC7247F19 | ||
| 1620 | 59D87F0834EF21A434C8E9E9876797A94FA6E8AC226376F822D07CAE909A6FD5 | ||
| 1621 | 8630BDE38D97097E32FF6119728D50F88960F740DD78D73B291885748957D025 | ||
| 1622 | 219DC96237FE9B64D514EE7C6BF47DC4B49E4F4AD10AEE0D3A779F2D977BE792 | ||
| 1623 | 8E15199C8983284D3F6E6824BEA40662EE2289BC4CD6198C8BE88788AE7373B7 | ||
| 1624 | 63ADAF8E4D8B78AE39773AA8DDFE87AD7C2059B9D72AFEFD73B85DA2586545D0 | ||
| 1625 | 8733C2E16495B7B1F51B31268887EFD3D47DFC5CC038A46ABC88A627DA32BD4E | ||
| 1626 | BA3FC33EC0D95C42609DA3B413001139881D68D5E6693295EADB4C6D56CA04F9 | ||
| 1627 | 656774723158F04CF91A963BE122701B89714087D03F331996F4E0F98D758E4B | ||
| 1628 | AA6B3DE1BACFC6C277EBC7CA9DCB09B4D741ACAB3792DB72C8D7AA2553980E0A | ||
| 1629 | 39713FD6D3800D82C7003013951E35DC5442A52819F5D2C5EB718D42B1B393D2 | ||
| 1630 | 867260222949356C2B1B8CF43D249A5B535089CA0883BC998D7BFBB398926D1C | ||
| 1631 | FE753DDECCF869EB97182F3EBF918197A1BC28448F690E6B0942602D6486DFAA | ||
| 1632 | 7EC1D10DA996C972A3E0E0A258F096687DB95BE9376ACAA49C70810C1447FC50 | ||
| 1633 | 6213CD7284772C95455283F2A5EBFD4D910AB726B832480A95D156F7313F35F8 | ||
| 1634 | 0AEC649B0D6FD7C776D24F3DF345209D80B9BAAE127CAD607E11D199FC8B833C | ||
| 1635 | C6C254388C6FD46D2E8BB6D8D5F186E700457B1842775BF1CA7A1C1F225181EE | ||
| 1636 | ADA71EB7B0491BF23D3D324C3F8265B485906F6D767E2CF449CCD50BC0377B7A | ||
| 1637 | F9618B7C6A52BD93859FE594AB6D4C1ED7D30F8E6D0341E6F49397288A254E5B | ||
| 1638 | 0AFC33846C581D2DBAFB8358A3CD88CA1BAE004512EFCB89D726B8A4AAA78925 | ||
| 1639 | 67E69B122A7CE8A86C1EEB4B0678AE1CBC2F31F0D033E529A8503AFACCE19D73 | ||
| 1640 | 1244EDBC161CC6730009B023DE1AB46A323D4C03E5562410A6B6DC15B97D6AC2 | ||
| 1641 | 258C10FDFC17AA4668BCCAEA7392463DBCE1F26430CA44A53680B42A7197800B | ||
| 1642 | 574ECF1C1E496429E37DE2C7717A304753BE4E443D6D8B482D2610252C42AA21 | ||
| 1643 | 08F9358BC6F57F4840641B2616D3F758AC5B0FD3C69A077B5D8268A11D535915 | ||
| 1644 | 5EC3F3E303DD241D5876BDDAA1BE799711AA04EDDADA0353CFFF3E9836DAB250 | ||
| 1645 | 325F865FC146CF262039A33F346B18E4AA1641F2B4CCC073492F73F8346268BD | ||
| 1646 | 7145ED165FAA332554CA84A82913A259EDD0FC5DFB10959F0E80B6E3F4840668 | ||
| 1647 | 4F4EBAE2EE71C942006CA58F45D947ECEBBAAF002098946CB2258E6E71CF0C3A | ||
| 1648 | 2A2709CC262C80CA18D2AE777FDD00224BE90CA60D12C6778EE48C6A258885D2 | ||
| 1649 | 2698F97B7ACA2142A06AB50131F3C565739D8523E6D0A9CEA0B18B1593764129 | ||
| 1650 | 626FD058020E5BBA72468B644AB847A13A87E71907C9F753B41CE36D5670B8A2 | ||
| 1651 | 6AA29599751E337387E63FB5099068C876E6AE81D47EF59BB82AF772BDF99948 | ||
| 1652 | 14F3E8D90005F6D095AED8C3C47D6F136B888B53CF4341BB1A18DBBE2C155A4B | ||
| 1653 | FAA06FDA4BCEFFE8C2E77782FB062C2FF89FA77C07BF3F39E45DE3EEC32A932E | ||
| 1654 | 8AD72191B7A6268726CFCE67A0E7B74D1D105AAD8F6EB5F518FDDC27A218789E | ||
| 1655 | 10C6D56B2469C8E9D724075D494FB49FCFA6B1EF250DF13599BBA5B8194197D3 | ||
| 1656 | 0F17F383ACAB237905466228CF4DA095671A66012C871480313558E60F40A36B | ||
| 1657 | 1C206152EAF398F8DFD8EC7FF80FFFF7A426D335CAB6589CB823D8BE6ED4E5BD | ||
| 1658 | 18F60101BC8C85B29A9677F8715F6BF5861E20B0BB8A2C9C12EC0E6A20566777 | ||
| 1659 | A8B1C23A1C1AD7B4705330C254D9F4DB7E2B00B56A93A2ECEED51EF7ABCFF15C | ||
| 1660 | 22A92196EED3F0BBEF2ED110152510272026FE777198C3F9406419D92584A7F9 | ||
| 1661 | BCD1DC02148236693B48EED88CDDCFFBEAF7BB26A9983DDDA5A7DFC3B4C1A6D5 | ||
| 1662 | 2560BD180419ACFD74D5F66DD31BF1B934E7B64E748CC95151252AD15FAF2005 | ||
| 1663 | 6C734D30D26DFC23718D00C9FBE113A40A9DC5685F07A0201FA748A4116D69DD | ||
| 1664 | 65E10AF83FA4AD53C4130846C703EAC6748EBA15ECC44BB4E9402CC4C4B75B78 | ||
| 1665 | C0CFD428CD377867C74EDE17833D69F8840F2CFE5A1817A41AEE75C7FF288EBB | ||
| 1666 | 31012604E066F8F3E1783A94D81AA9F5F64A749D457A008DB5AB146114221258 | ||
| 1667 | B314DC5738630CDFB4827F9AECCEADD888ECB3A7DF47022A6C629452FF54E360 | ||
| 1668 | 70E38E72E4AEB4F4660B3DFF80BBC43F3562BB7B254FA86606E7F83868F9A0D1 | ||
| 1669 | A9B2DCF267B8696F5C70AD811F88A7F16417B3D958AC1DC5AAAB1EEFE04F6FD2 | ||
| 1670 | 228DB732D1B4FF62C5C27956C2AC4D9D8664A07B9CD71493D78A3C0F157DEEFB | ||
| 1671 | 04E12BFA1A2F4CC6CBB02E4CC5CA3E8BCC3E0E2E1A64A7B1942E95022BDB34E6 | ||
| 1672 | 157DEFE50E41C785CF9AC73684BF49A3541FAD59A1A22F17EB6B6523E9397506 | ||
| 1673 | F5DE864EC40EF1EDCDAC5683F0025A2F9ECEC40DB69E03F39C09833162FEEED1 | ||
| 1674 | 50211931877DFAFD1AD95FB8B05847AB51C95338DEFF5AE18EB3DDCF2A786F6C | ||
| 1675 | 4D38ADCEEB944ECE60B82BB068318306F7598B166962800DFA7CD3518C1EA0D6 | ||
| 1676 | 4F5AD48208EEB8F60DD5799203342229E9DE9688DF1AC8B199C5BD8AFACB732A | ||
| 1677 | 79081866ED73082CDC6E391F618F36545F59BBE9DECA4BF5BBA8572A66308222 | ||
| 1678 | F3AB21A2FD400E1D5F5AB897307340A274606D15657EA5D19FCB932F9F037F05 | ||
| 1679 | 03C9CCD4D9A79339A1157B2D725810E21031FF0B07319666F4154787BE88089C | ||
| 1680 | D08551FF4D7FCBC31E1B1C33585D62D185F0146FEC998E2A16DBFEE0C1C60E5B | ||
| 1681 | E196969E68B35BD6B41CFDF8065B8D483C9797E2F847E81E44ED315EAF1D3C22 | ||
| 1682 | 0B61209F1F56A22C1694AD16CE228305986E55661485A005935657DDA8DB7B2E | ||
| 1683 | A5CC38CB5583C0DD1DF29DEBB277B4705BA3BF5391AB57909E8888123AB72080 | ||
| 1684 | CD050ABDA976F4232ED10FFB2D1B321EB14DF3BC16BD3B3B09C763E8AE443859 | ||
| 1685 | 80B4F62D888CB482AE32D3C8D81B166107AE507B53B8679DAAE558151FA9B010 | ||
| 1686 | A45CE34B88BD4EB95E7DE41277F03A343114E904AB0827CE9E3ED93E95318BF7 | ||
| 1687 | CF51B3E32AFA4B84249074D7071F5268FE3C8F4A8B58AAA63494CC1CBFA4D7D9 | ||
| 1688 | 999251A76D99D261EB8AF8C0D5E9AA59284DCE0C9B6E150662A18F0F601E2519 | ||
| 1689 | 6204EBBD240955811392FC1099F5B4DB0782AF4E33F8A2CD594C0A7CF2CCEFD9 | ||
| 1690 | 73CF5A6661BFB1F2F437AA86B89BA67B999CF90A38BCF64BDC76276A09F93537 | ||
| 1691 | A288B0898D7E361F90919D272246D4B0C09DBB9960FAA0CC2DC39A14B8282E58 | ||
| 1692 | B1F7243B1AE573C7CBD74A9CDE09A1921F8CF7BE00297D286BC2FD3AA11CB06E | ||
| 1693 | 3D7A2C52D10F878E51C9AFE8F16668C0E1FD7F90E2743A65C382B91F4D76AFA7 | ||
| 1694 | AF041C9DE7A83B48D89B770FFB53C1B066682D6A9A1E48E5CDA32A46F8F8B085 | ||
| 1695 | DD0ED34438161EF33711496CC2B8E640793E1E9BFFAABDAC89DCE6833EAA71F7 | ||
| 1696 | 578E20D43D3739FF58D41C1EB8C63414CAAE2FC534D677134D218DAA40A13E36 | ||
| 1697 | 59EAED3B3648BD7A3607868F43E0C85B2E04B67FB07F564FB9D14CE479B9763E | ||
| 1698 | B0FEA84500D86F75517670F03715A50AC0AFD0B71090E530F6CFBF3E6226C609 | ||
| 1699 | 2AC4726F8D1C6C1362524D9F658F7FB532BE1C05D74A3A46CA935EAFC5CD9828 | ||
| 1700 | 3511C71910A24B326E2C994A9ECCDA2C4879802B5A2651449E7445E84A9D50D1 | ||
| 1701 | 4968CDA95450FE448EEDBD06FD1FE20178A752B95E59CD5729353FD982FDB318 | ||
| 1702 | 2DCC5254DF36CC72B4758CBAC3267723627796AB2C3048BA3422679BF381C838 | ||
| 1703 | 76F0EFA03CDA22FCA4E6C19D08C849CC1005859796FE8A17E0278CB0D04E6CAE | ||
| 1704 | CDF828F23397B59BF7511624EE4A27730A79250C2B094995660C43230995E255 | ||
| 1705 | 02C65BC6C853C981A5EF9EA9A5A5E455477D996005167153638EED63F55B08DB | ||
| 1706 | 218C65137F17B871E0F75D9128484A64FD8290BF50914BD98BFEBDF8D689AB0C | ||
| 1707 | D011ACA2B89EFA51396CE71097ABD82EEA261A4E592AEB824DB9E444D25ABA68 | ||
| 1708 | F4B65D5526A6B70A7CC23AE476AB155B0903CECDB2AEDB1BED5537E291F215A2 | ||
| 1709 | 2C69E73C4B09A6108A0A1E16A218C1790CF5B4D2E6199F0269DBE62199F9166B | ||
| 1710 | 96D6610E3F42F573F9EBF70145A5D0D2D87F7599A56974284F5F92B274F249C4 | ||
| 1711 | 3801B3B138140C78ECFC061AA8844A41A029FB1A90CD09222BD9971F9B8C7488 | ||
| 1712 | 9A448CDE2D62C2270B34068F87AF5C5CE86A443D5F2F0F9C78D84EDADFC1CAB3 | ||
| 1713 | 119F7D3897D89D6D95A2F72DB6AE9D17FDABC7B3D9F1E1EC514EFD82D912569A | ||
| 1714 | 7DFF257929A5D0B3B88D7253E11FEEC431C73B9A1D56BB87A2C73B45AE345026 | ||
| 1715 | CC27558FB4A4D34FE528060CE0425C77EFFF57FC6C9C8E9CEE24B78CA06F052B | ||
| 1716 | 540BCDB2F118F9A06F708BEC473274C882313BF600050BB6CF36C58F9AB8A701 | ||
| 1717 | 502CB618F0FE530A7AFBE9DFAB8B150C787540968A68A5EE07123969C884D7D4 | ||
| 1718 | BC48CE82C27B3B192442508420176E10107EF453B20FF400C12A980C7246B12D | ||
| 1719 | 290EBBC3DCDCDF25ACEF0E6470C40890EBDB4285B9A03C7566B45578AC4906C0 | ||
| 1720 | E15029A768A2FD07F7FE0FAE46C92F2BD601BAD9BF06EE83083568BF2F7CE09F | ||
| 1721 | 14FDF7394E7CCD99E9D8930FAC99D14AC9FA211A02D4739F48F6541259192098 | ||
| 1722 | 3C15DDA136869EBA347F33818A24CC2BBE88FFB74DF8D3BFBC190E191ED351C5 | ||
| 1723 | 4B3CAAD0CDA1B9986DABED2991CEB775F51FF106A35647B6FDDAB142705A2113 | ||
| 1724 | 14DB6066929B20CC11242374A0833E5208962C9C079E44E9F5FDC6DE87F70DFF | ||
| 1725 | CBA137C67BD1EC78D08C73D0FA138339E5F28363BC3B96351A7BD115958BF4F4 | ||
| 1726 | 47DB8EDBDD35B2806B741D1CD31FCE5BDA1BE899AB94B520D8A7749F1B1DA579 | ||
| 1727 | 3C408B11BD15075B04E99589D9F6327EC85F1862A754D4FC13C49A82043E9FFE | ||
| 1728 | B5A257C6A87B45386A7125071BF7CD6B3409CDFA9C2BA0DBD61627F9E9160163 | ||
| 1729 | 67A8389FC9BE20E1854FCC35C3252E96E687BB0DF1F4CAF4ED4C61FDDB5A3B51 | ||
| 1730 | 05213CF547186987D447194A5FEA3243D947B02E80DFF12370FFFC3CC5696371 | ||
| 1731 | B6F1C23A9CD0F6A64E4A019CF6CBAB1FDF44AF866EE19BF59D78BB375280B9CD | ||
| 1732 | A74E328753A560A20A977934E6B58C905DB51AA3C35EFB6B3B49152C288D6683 | ||
| 1733 | 535DD175A81F1DAA1F1EEF1007AB605B822B09CCAD1DF39D016A84D8C603200D | ||
| 1734 | 086F358D55FCA0EACAAFFC1D76EF864541E519D2DD5BDB7D1EE6C7066C7B42B4 | ||
| 1735 | 346A0A3042B354824D0C7EFB4E9DD6D6B4BA7E10694901FE227C7EB9B9615855 | ||
| 1736 | 59D6A8FACEC963D2F9A93305FE995A3A83055DB229166826641BCDC83740EF7F | ||
| 1737 | B50AE8171CCD22B230E2784C8CFC1ED22C9C3F5EC90A16603322E2A889CC4DD4 | ||
| 1738 | 0FEE8D0DB78FD9B74E2A7FA196AC0AF888A36CE05A899943188920A6DB719076 | ||
| 1739 | CD4B39D3559C992A02DD5B3C47AA1B859F8E6DFAB5F26947A0AB3F30E35FBDE7 | ||
| 1740 | 7BC63991C716A54738AFC85A7FC259A874F7619AE7BAE01C1C59A97D595F0AA0 | ||
| 1741 | 9CF737C6795EFC15858C11BBA24442B5EE5C6E279C25F022E5D8FA458FE8FDC5 | ||
| 1742 | 3FC1C7583963E300B86586F88F42972FC0C56232FC394ED64E275D9889E6FEEC | ||
| 1743 | 13F0F853D1D6C390F1242FF327E23370D8D4BFDD2312415FBB25C759DFEBC763 | ||
| 1744 | 34C45C85E0E82108F790215F5CCAEC481BF451C34EE685E85270702194A740BC | ||
| 1745 | 6697B6BCBFB850E7727D3104702988326DF435C7127C3645E3307C877191955C | ||
| 1746 | 84D52B3DBD402013610A3D6EB523C4D98100AC761FF5D8D7081371CBB4235215 | ||
| 1747 | D0507160B45196DFC9C390029D883363DA88226787415541E8CA99A7EA1899CD | ||
| 1748 | B4FB6F6AFEBA08358E7A978AE7E8FC054FD729B735C60BD29C5DEAA39E6CF5BA | ||
| 1749 | 01074B51351E0AFB5B9185B7033AA1E410613284DB9299A3B3986E60A2E9C178 | ||
| 1750 | 88DDF8444A6C8CD7A140E1E4A84C33F25D184EC3DA1BE13CC019825C19D246EC | ||
| 1751 | 7D55C87B8685707E3BCEECA0D6BA729C045B3DF4AAC711C019FF2E8F80CF7BE9 | ||
| 1752 | 37BCB4852BEDD366103A4C73C4CDF0F495D9A07E005E98696B863C25BB79086F | ||
| 1753 | 281865CEF0EA2E1D8E48FC3966B93C2FC3854AF80225F9CEEDF97F0254F2B419 | ||
| 1754 | DB4BFB43BC0D392E17BFDD433A18F11478D955873277FF45E00DC49C5B7F2DB2 | ||
| 1755 | 02E129C246C31320FCA3428D185C0E8F413D4566EEDD044A87D68E75F9FA9A87 | ||
| 1756 | 156FC6E2C9223DDD57548508AFBCE5F9D429D156D06D9140954511656027BE45 | ||
| 1757 | F8658279BD85EB6EA1BF7E760226D750C5C6BCEA47D8E5648014431946877B59 | ||
| 1758 | 0804F03058E80FB624970E85C40DC80E265DF761CA2646579FC5BF43B706260B | ||
| 1759 | 67B0D308A04F0E5950A4BC8A635E1263A60743F59B124E726AEB9F39B44EE7D4 | ||
| 1760 | ECCEDEBA0031272A266E69B90F24403662B09DFB5C6CB855E553B38EED88742E | ||
| 1761 | 114A0B159D1A3C41D782818842F567C616EA6751408F89CA8177D1E625D8B2CF | ||
| 1762 | 2B6F0EA9DD7003D93ECF7C9665FF1F8ABDAF859D04D208481217300DA1DDFFB7 | ||
| 1763 | 654FCE01FA87539AF944F27A9F833D4DD166582850BDC8A54296EB7707DB578C | ||
| 1764 | 854FDE7CA891F11B9C82415BA4A4FB9B123D043E86C390576DB5E86EFB220D24 | ||
| 1765 | 741EE8A174D30D462700AF8D22083B91167410876185A11FA32469A0B807E249 | ||
| 1766 | B59CE0DC5E01BD846B32575371F4C1308C7229DCAE0849B680D4AA30CC7B8769 | ||
| 1767 | DAA9B72BD93B32D26F11BA8BA05410B57F9A103F941B1170B36E5DB60548FE51 | ||
| 1768 | 3369FC3F55785EC754C8A1800414B9E8114601996042AD4F4CEC7CD0AAC679B5 | ||
| 1769 | B5D6D321CDFC4AC16BBC3FE44652767533973DAA76786228A8D0B835F7BDF74E | ||
| 1770 | FCF2F2025E2C4EB5B4009E7965A4DEB180129065FB47A093BAC368BB1FB2766D | ||
| 1771 | 0D97AA715BD2C2D692FFC56C18E2333DDDF66FE21E87255B7B50DBB7D79CE1 | ||
| 1772 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1773 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1774 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1775 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1776 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1777 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1778 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1779 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1780 | cleartomark | ||
| 1781 | %%EndFont | ||
| 1782 | %%BeginFont: CMR8 | ||
| 1783 | %!PS-AdobeFont-1.1: CMR8 1.0 | ||
| 1784 | %%CreationDate: 1991 Aug 20 16:39:40 | ||
| 1785 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 1786 | 11 dict begin | ||
| 1787 | /FontInfo 7 dict dup begin | ||
| 1788 | /version (1.0) readonly def | ||
| 1789 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 1790 | /FullName (CMR8) readonly def | ||
| 1791 | /FamilyName (Computer Modern) readonly def | ||
| 1792 | /Weight (Medium) readonly def | ||
| 1793 | /ItalicAngle 0 def | ||
| 1794 | /isFixedPitch false def | ||
| 1795 | end readonly def | ||
| 1796 | /FontName /CMR8 def | ||
| 1797 | /PaintType 0 def | ||
| 1798 | /FontType 1 def | ||
| 1799 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 1800 | /Encoding 256 array | ||
| 1801 | 0 1 255 {1 index exch /.notdef put} for | ||
| 1802 | dup 0 /.notdef put | ||
| 1803 | readonly def | ||
| 1804 | /FontBBox{-36 -250 1070 750}readonly def | ||
| 1805 | /UniqueID 5000791 def | ||
| 1806 | currentdict end | ||
| 1807 | currentfile eexec | ||
| 1808 | D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 | ||
| 1809 | 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 | ||
| 1810 | 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F | ||
| 1811 | D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 | ||
| 1812 | 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 | ||
| 1813 | 2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C | ||
| 1814 | 68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 | ||
| 1815 | 3645B82392D5CAE11A7CB49D7E2E82DCD485CBA1772CE422BB1D7283AD675B65 | ||
| 1816 | 48A7EA0069A883EC1DAA3E1F9ECE7586D6CF0A128CD557C7E5D7AA3EA97EBAD3 | ||
| 1817 | 9619D1BFCF4A6D64768741EDEA0A5B0EFBBF347CDCBE2E03D756967A16B613DB | ||
| 1818 | 0FC45FA2A3312E0C46A5FD0466AB097C58FFEEC40601B8395E52775D0AFCD7DB | ||
| 1819 | 8AB317333110531E5C44A4CB4B5ACD571A1A60960B15E450948A5EEA14DD330F | ||
| 1820 | EA209265DB8E1A1FC80DCD3860323FD26C113B041A88C88A21655878680A4466 | ||
| 1821 | FA10403D24BB97152A49B842C180E4D258C9D48F21D057782D90623116830BA3 | ||
| 1822 | 9902B3C5F2F2DD01433B0D7099C07DBDE268D0FFED5169BCD03D48B2F058AD62 | ||
| 1823 | D8678C626DC7A3F352152C99BA963EF95F8AD11DB8B0D351210A17E4C2C55AD8 | ||
| 1824 | 9EB64172935D3C20A398F3EEEEC31551966A7438EF3FEE422C6D4E05337620D5 | ||
| 1825 | ACC7B52BED984BFAAD36EF9D20748B05D07BE4414A63975125D272FAD83F76E6 | ||
| 1826 | 10FFF8363014BE526D580873C5A42B70FA911EC7B86905F13AFE55EB0273F582 | ||
| 1827 | 83158793B8CC296B8DE1DCCF1250FD57CB0E035C7EDA3B0092ED940D37A05493 | ||
| 1828 | 2EC54E09B984FCA4AB7D2EA182BCF1263AA244B07EC0EA912A2BCC6CA6105B29 | ||
| 1829 | 044005DDBEAF88E0F05541BBD233977A447B469F013D8535A9D7023CC0FB7B49 | ||
| 1830 | A95CD2B6F18935C37F49E9A73E97A8602C5C26EE13D7A04A188336FCAB4CDEE0 | ||
| 1831 | 23DE9D803FD6E8D846B3F729BD36137E834E016242CD2F7BF048959DD45AD413 | ||
| 1832 | 19B985D05E5D422F3D0968375EA6A90FBEBF8B42B15F15280469D69629C08A42 | ||
| 1833 | 1C298CC027CC288B9C984239ABB96B6A891C1360D08F9ECC22202861E4CE9B39 | ||
| 1834 | 8BF147F0B2D22726583618BBD081A7CBB0F10ACEFC161043760929406853BF52 | ||
| 1835 | 3EC809222FB195795F19F76FF7541EE3E7A0ABD4F0D9ACD5039881353B0964DE | ||
| 1836 | AA5F4BF19DAC50B2AB87AF57E4384D8E8CA2E26121C778BA9DB6AF926C29B3EC | ||
| 1837 | C51DCAEC6811F219E002EF7EBA102BC5B409BBA3EA06FF63321D004D0FDF986A | ||
| 1838 | 4ABA9BF9171846319418EC2DA26255ACEB6B4869FF71CC9027A3F36EE4B98837 | ||
| 1839 | 58AEBC43692F20B492410BDD93F6817C48DE242FDF30AD76568E792C3A665C58 | ||
| 1840 | 44C54E752A1A87728330533622720E65799B3ED33230FEA1D4C22BC367D9F547 | ||
| 1841 | F667E5A90597799D54BF50BB11337A7DDF67A7FB6F52B15A2876973A8352650C | ||
| 1842 | CF74C4575B0A43BCD33DF8D7961642B509468FB6E92B23263E8FB5615E223AB3 | ||
| 1843 | 6CCFD05B612CDE7B555B7FA92AF3E5E7DFF8D973FC3791C97D145D4EA72946AA | ||
| 1844 | 89AC3CC4016DD03878383BD5906C224CE197E8126D217114547E4D96E0AD8E65 | ||
| 1845 | A4DC61A106F023AAF1BC47E496F9C9DF8C42DBDAE44E33FB910984F73E5949E9 | ||
| 1846 | 99DBE07EF7825C060BFEA997291B25FDAA70B09BB13CD8CF4A480A232E21919A | ||
| 1847 | E9887FD8BC9EF086AA85F50AD7C889DF09696A34CEF35D8CBFABFCD8CF6776E3 | ||
| 1848 | 76EE2342139FBC0133E18F11B2F0C6679FF971775F67F937CAB200820AFE75EF | ||
| 1849 | 9A589A8FC9E20AC601FA521E3D7915D50FB94F3B39BF46EEE1928A09BA1A6442 | ||
| 1850 | F924B2C1B490A622F67917273E141EDCBE6945244F5A671B8BC2F92AE560EEE0 | ||
| 1851 | 975E335B484214FF4F5B15D4700D3208F4844D6AA4B5D67C05D5BDA16C5F1D84 | ||
| 1852 | 63E49D9DA5443D596106C094583A83704DAF474505F9EEE80CACDD901BFC8571 | ||
| 1853 | 56846DF88902B435C79681E8A508F9CC42C7809A975EB756747E700B28485E1F | ||
| 1854 | FD7E6D86EC9285A095DB0DDE4FC086D5C7AAFAE10A145AF9E3D1E7CAA2AFAC08 | ||
| 1855 | 88A23EBDC79670AA8CFFE38DDD204BE3224C4609757633C029BE2509391B80F3 | ||
| 1856 | 19FEE5F3AB163506FD274929767D3D3FBC06B5A7DFE7ED1D4A93C3E41689C5AE | ||
| 1857 | A84A914904CDB6D2A60F1ACFE5001268F67DC07634E2F52164C4ACB0BBD16F1A | ||
| 1858 | 87E9428A3FAE4A0207C8A1860D8E0696C748A8457403EE1A801CABA8E2D2203C | ||
| 1859 | B8F565B065C449EEE679AB1C1BB241DC14CD367557EE8BAFC76383B7E30F353B | ||
| 1860 | 2A1695F7FE392192514F9DF81564C81E282DFE6502C213ECA87A66A5057B72D5 | ||
| 1861 | 73A3A848C2BC2FF6A0E0AFB313EA45D7FE2E328AC3016FD8802EE4538AAEA5E8 | ||
| 1862 | 947B2DD12CC78E53D47423EBAAA312035B1E6BCD86FF619796B170BF834BDD99 | ||
| 1863 | 90169BE96C0EBD84B97C244705525D1D60E88231B825D93B1D700728D8919CA1 | ||
| 1864 | 6518CCFA5C2768068D76EDCD7A22A6D4C42FD4CCD3E28C61D3B46C3510B78931 | ||
| 1865 | DB7655923FB7E94062A8955859B0C5A9180F54972CDEC0661D1B6F4DC58EA397 | ||
| 1866 | CD341EE81EB212CE34580EF988CAD9477B119766FFB7D1CB2F1376CCB238C6E8 | ||
| 1867 | EA3C9313F8018CB60DCE502378BB3F49EAA6C680B62E73A01DF8C4347D00D2F5 | ||
| 1868 | 863114D3D9B00E9A7E8E6EB7D6F6FA6C10103A641174A6131DCF49CFE1D641C3 | ||
| 1869 | F61B89CC6B2A69C55B691934E1E4B0E8D67E592EC7BFFF841BFF3A4A574EB3E9 | ||
| 1870 | 9C3FC6A9B177E2AFCE1D7BAE9AB6B361DA451E88F493702A6A34764D5120BBB9 | ||
| 1871 | 210A43932754B18409AA1B5EEA960F3D9EB27FE9D70430DF93ABB6F4B91FC467 | ||
| 1872 | 2F5BBA217AA35DBCC7F3E752D847DCA8B85FA0FDC8DCD6825777899CA8FE22BE | ||
| 1873 | BBEF9C8D1A1C8B44DF3016948B9C28B66A287D4410C9650F95607DBECF0BA8FE | ||
| 1874 | FABD6676D359E9552C5BEB2FB2889F5E3D5232B2B5353616EBFC2309B6D4959E | ||
| 1875 | 6EF07CB014A149AE040CB5865A9BD3EB34588C9850A93060AF4A056BD4717142 | ||
| 1876 | 7F8B25A5ADBD8FFC26701BF936CBF17306B831756D88435DF01B2B875BEE18C3 | ||
| 1877 | 456728338AEFE6C9A7CED1384319FA59A743D25C5AA157F7A0D3477A362A0BE4 | ||
| 1878 | 17CD9297CE707258B89B88C6C826EA26700A58AE1F5164995EC4DC0E8E1281C4 | ||
| 1879 | 000230B6AA110BB6CA46B754E6F8AD09B5355BB515ECB328239362BAD7C59272 | ||
| 1880 | E6932894CBDA403725C583A1009D4996310FDB839BF9B4AEC033E1BE2D35110F | ||
| 1881 | 683A33913C2AA953369BE268EDCDAD6C50E38DF26AC3BCA358CDA00F540A1A49 | ||
| 1882 | CE2D47C55DDAF4C24B3B8759238D5D4F9AD4B771D2A33AD905092A95F83B0FB2 | ||
| 1883 | 734A420FD1AD12DA80DA11BC469634B6AE4D6F66BB1636384A8C47010E53C401 | ||
| 1884 | E628BA3659089E4921C080C7E05858193D0C40E0C9B05D6DAC0F74B1834925ED | ||
| 1885 | 46A45A6983943E2B12E0A8A1CED859BCBC46350968514823198443693CE806DD | ||
| 1886 | 28C71ED2E71AFCD8E418E1B2D13B82299D2FFDF346AD454EE37340CE52684FC8 | ||
| 1887 | 615AD8E9D2BE0EEA0B8B079C5E48EDB4CA82D2FB1D8684CAC5089379BD833E2F | ||
| 1888 | 14F4A81AA27B49EA54DE490D19AE2281BB39474C8AF6A1B9EABE8D9B09E284C8 | ||
| 1889 | 483EF3A6F0CAEA501F62799CF1E6DC4B637D02E99FB51E328DC2AE144B3F715C | ||
| 1890 | 7A16F9C0F1B6C97A4464C87AA4D113A54A3FC1AF77B5D4CB4EAB75CD9BF22A29 | ||
| 1891 | 1A24AA5EA470B632B04984501C4028C197E5E1D1C402284C6B2100DE79FBE6BA | ||
| 1892 | 51404E105F0F86F8940E4ABE72B534DA426AD0A8DE5D35B84966C4E99DF0082A | ||
| 1893 | E44F82EBEC804D7ADEA1CBEB134527433A075B2ABB7598D04B673D442874B0DB | ||
| 1894 | 9AC93C9FDA219F1D91A1EC35CDD6B3272E1C32539EC6046EE0EA6DD3E4A48987 | ||
| 1895 | 162B3AEABA2A42845320CB9E12EFC8E17A72701C38FF5759A2B8592C7935A88C | ||
| 1896 | C7384FC3A9B60CBB3E9E70E49CCFC7F3A116F9903583F51B385FC7DDC0E9A9B9 | ||
| 1897 | CD0B5C38F0D89D490809D449FB3755B8EC83A4DD979EB995376600BFF7F38A0C | ||
| 1898 | 604E6BD6A7F033D92400E988725116A2B364ECEBD706FA978315735499EA0C9C | ||
| 1899 | 990C15B6B70C2A74960F1FC37B448D61B768E8235BE90A19F9D7DDD3C7135B94 | ||
| 1900 | 40B107F1CCBFB04656920E01413C5128B0AB583A26398D82526492583EDFAED9 | ||
| 1901 | B1B953655EF05FA42547467F072E229D7135228A0DBBA87708D07BEA319C6409 | ||
| 1902 | 7D48C3CC8BC7B4B1F6D04E3915D79FE4167CC462F2598F1F1606C785FD1E9538 | ||
| 1903 | 717B45099C35C3B3894506F898D83C838FD4530A1EE0C11335D74828BEF6E111 | ||
| 1904 | B041AE57F24722ECECABBEB1CCCC9C8AF3BA599688694A8C35581E29D503F089 | ||
| 1905 | B98E96529FC4B1058B8E23782D2F9AF14E7C4105298638A5E29847640A7486D1 | ||
| 1906 | 3BB1A79F86FB2DFE5A03C1371E4D7B95B388515DF5A5E50887CF3B29F1984D84 | ||
| 1907 | F75C9EA0D77A925492CE608E90A96C280F7E86AFFC852B058937C948C6BE22A1 | ||
| 1908 | 0E28FBDC6167ECD6BF9547135FA62C46B21341EF230079684FE18D96984790ED | ||
| 1909 | 908D58AACFBD0830C5D8D3220F2EEEA0FA6B21CE7433B5FC517E64303F7145C4 | ||
| 1910 | 22D09ED0758B40F1DAD62DEF3C201BEAA94AA345D0002B809D602E2F89CE8CBA | ||
| 1911 | 5DBF38FB7B09EB01A508E655A068E83AD44EF21FB94BF63B017D86F85B3D5BD3 | ||
| 1912 | F2B6BEFCB4E51F264991DD7C60931B55BCA29BCBDE2850333CDD069AAD68E630 | ||
| 1913 | 741E8FEA3C880D4D06E2E1BE457FD5CB53432A4A967870C8BCF142821F20E506 | ||
| 1914 | F7A998D034E608CFA62DE8C3B9CA4358DAE3B848F0D437F8A8159B54B4115E07 | ||
| 1915 | 22A279338EA0A3C85B72257F0CB7BB210925AC87CDD912959ECDBE86D27336C1 | ||
| 1916 | F6D5A21457DCE672F20358A65A3E40DB43821FECD679131891D89B8B3DC6CDCC | ||
| 1917 | EC6FD74D1ED22D3793E1633A735C20B257C591855F0EB703612C1ECCB179FB15 | ||
| 1918 | A313CB0834F6D16CBDA8B6993C477E765C786AB86E3089E01C4918F2ED9AA149 | ||
| 1919 | 694B62BB249E654E2C592CDE345C7D898531EFDBBC95DC95B90DA35A7C1F49B8 | ||
| 1920 | 72012676DEAF762E8BA52F2A79B877FA34EBC0D332C9B38930CF47C769F6381B | ||
| 1921 | 41BC928EDF77085C3726D0F980EAC0D7E0A32BF70A21AFB4B4A214054A3B9A48 | ||
| 1922 | BF8321ABA58373C6697BCE4D3028BE2F8D8D31A50731A84A09543835422F01EB | ||
| 1923 | CF74436F6C9C8592DB8D9BCCF3674D393F0915DA10F1D8DC218B55ADA7349584 | ||
| 1924 | AF31B0B60BD69047BAA7456571F846FBB7E5E094080E7653ABB8AA29E890085C | ||
| 1925 | 38AE13B004E54E1E1B922B08D6D07A086CC533E7ED87FF44B402009098A4D9AA | ||
| 1926 | E4F3930F459AF1A400A7BA85F5F7E0E3AD3E514D29222463DC18DCFBD444E106 | ||
| 1927 | 8B335C699B5BCDF254E170CDE093357483E18482DC80E0A54CD500F14F0E7249 | ||
| 1928 | F603D1B462CA94C71B46B6B1FA9D5091E34B8CC2CF599F7435297FB66F5D48FA | ||
| 1929 | 7572A000A16E444A83772BF2B05688CE41029FBFA0B17AE1C7CF6D361F257E21 | ||
| 1930 | 23CEB2DF1FF2111765E2B34D27800A7349BCABAB2C080F816AFF76CEE128401B | ||
| 1931 | C43F1BEDAF5794DEB1A298ED61633ECC24969169D021FA32EEDB5055226E399A | ||
| 1932 | A7BAFB70A624A7AD76608416ABE23C450D7E70C6959DCBF03B845168C2839166 | ||
| 1933 | 493D3355FBC4FB00B96C9B8AE6583D02A1999AE46BC882AA85D66B526F207E5E | ||
| 1934 | 0AD5FD3EF0ABA378D56562E9DCD1263D78F8BBADF9EAAEBB52AFB72F348D822B | ||
| 1935 | B82303C874FD3E6187C25990EC297DA7806D2CDF2C1030F137D333CEC7FA4DE8 | ||
| 1936 | 41DD9114E582EF366A6DFFC2E01A16F0122718736BF9B1A2D50A3EBD48F0561D | ||
| 1937 | 4A391E7FDA3727422F521476E7DBB76FC4AE557D4CB7040C8917A61C17211D68 | ||
| 1938 | 2176A97B3B8DC4F6F8A95031B68D00F7D0CBFA6684B5BB7D8A357F5AB6639858 | ||
| 1939 | D730FD5FA1C02E9F97301E42A6CE735435B3BBA80C1B53AC645D2C1F351153FF | ||
| 1940 | D4E4A0EBC453314CA575D5B151A9AA1ADC1A1A5AA79664397F3217E24CD81B3A | ||
| 1941 | ECE0BA0D6F4A6427FBE37320726A841980070C1159C3901E3E8F1C07F7EC7A8B | ||
| 1942 | 428FB4423E598ADBD4E22E137D6529C588ACDE86B869B914A1A95318F9B089CD | ||
| 1943 | BA2652842C8AD3E63EEFE546B2F09A3CC465933F8F4FD9882CFFF650DEB06658 | ||
| 1944 | A20B633B3290005B1C1EAD65723A4E6F690311705FD1B0CFDA227D7E7D3B0DEF | ||
| 1945 | 59AC88DE4D22D7AEE169F2455C7EB0209D4DAD5CBB9860BA701AB526E4C7FBA7 | ||
| 1946 | FD9B1662E3DE2DCD193EEE7BD18D68EF0328C46D023A7C7AF34FA60D43308F4B | ||
| 1947 | 0554F7043C1833B13094C7C72BFEC5108CAB7FF8B65EDDFA0EE11881F3554E29 | ||
| 1948 | 583F7CF64267BC470B5C1F170D31E8C7BCAAAEE41586E3BDE7CEB625F4B04120 | ||
| 1949 | 76083615F281D011357BFBE006315B2D821F05754FA853C710F459EDCF1F346D | ||
| 1950 | 22B569FA4B373962FA2C659196317632B962C84B98BEF32141BC60ABE433459F | ||
| 1951 | 920620A5D02631E384B86BDBE056185E5D66C3567715709B905E2A06ABEF89A4 | ||
| 1952 | 7C0E2ECC7EA17CDDBC0035AD01A1DE89CB6CA97FC14C3BA6B693120CC6BF8CF9 | ||
| 1953 | 44F50B63E69681B859C38ACD3683B2C619E39FCA40E5C12274ACBDCDFE8CC111 | ||
| 1954 | DCA3FB07C11E52D39B3E0394B01723969E0CBF1F104772670363A09F29D7EE87 | ||
| 1955 | 77BB82420FA3CCCADC9516F5439D570279F035CBD0B3962BAF7B635965401636 | ||
| 1956 | 9EFCDC2FF1B04382DBF5BD2CD19CEC9F3B51CFD446D242454803EB8EBBF1F134 | ||
| 1957 | C8EF82414B204BA307433A05AC5DD19ED2AFF67211193DC6819F10FA9318B157 | ||
| 1958 | C9CB661248C02FE2673D4CABE69A20EB2820283C08DB0922BEE054306748E4B8 | ||
| 1959 | 91946D5DF12F3D30EEAAE38F79A65319209B2158837E0D1D39D42DB06444C8CA | ||
| 1960 | 5A40F3FD7F42EF6B74765B9D6866AC87D76AC1D1C040D17D3E905AFADFBAF0F8 | ||
| 1961 | 7F3978A9A8395979EC07D0BDE80E3D42AE312310247E78446697DB0D3840A51F | ||
| 1962 | 3C8F3B529CB8F26AB863CDBDE1E30F97F42A05F58B3E91C4709050674097E01F | ||
| 1963 | 21B99F98090288B857675EF4264C36932BD56B99CB22DF90016DC8A69C210B5C | ||
| 1964 | 4C34333E2B58014CDA465D73B0ECC2F971D1348751B271167C6BD624917AF015 | ||
| 1965 | 213C1AE4EB4D6CD8DDBD0C0BCCEAF3F3E883E4A526DA548E3AE665FC54315436 | ||
| 1966 | EF05026950C500C3ECC1F6064725FD5602F0E892695A6993FC6A87B2ACB96907 | ||
| 1967 | 3E44F141A7F55B4964AA281B6E09EAD3D17CA9D5FEC455D0F86AE5BD008751F7 | ||
| 1968 | 0D63C9A8627F492E2FD1483370BCD0DF33DDE857E9F8433CDEFCE4B02C60AE1C | ||
| 1969 | 3EED2F7BDC50AA172E2FA00291DC71AC2695AC12AC797FF7D15D0E8C5B21FB55 | ||
| 1970 | DC3E109C1AFA49E6D3F30B1C8AEC3CED7B210E9179B57DD5FA9FAA3DE9950C69 | ||
| 1971 | 1A7ADD7A9FCD6C17719CF70A0D427F8070229DE9E2894F8759DD71821238816D | ||
| 1972 | 594544573EB6C30530DBD16539427A829FE98E711CA5B2740095B9FD36276FD1 | ||
| 1973 | 3FDD540ABB094D03ACC45FA9AD01D892FE8CE30FA613DD4FA754880C646DAD8B | ||
| 1974 | 93372472D897CA32B84A58164B20BD322FC29594D0930C9406E7B736B74E8766 | ||
| 1975 | CC4DCA58487AF93351E4C0078B38CF7E31B4CB8C223C339D4DA42571119856D2 | ||
| 1976 | F0C68DA2CB254FD6CBEF4FDE3E309B5F6FE8A6D7B44E4AC065C1B79D2B16DAC7 | ||
| 1977 | 02E597D73088DFFF688EA96D9E72E3E5419AC7A99D7B58AF8587CB6E853B6131 | ||
| 1978 | 95BA5AE058809E32A3D072F50C8FBF4D0DFADD6E992BFEF5CBCF1039A2A7E689 | ||
| 1979 | 1BEFDFB04EC241C34629F5AAFC06EEAC05637E2E4792FE142F48CC5145FDDB73 | ||
| 1980 | 52708B00611BECB47B94BCB55AFEB796E3E4D3F06EFDB0CE6450F12863E4DD5A | ||
| 1981 | 0935240700CAE9B81E4D3D0A5AAF17D0C1A279F6F11742C9FBBA6FFFBA168C55 | ||
| 1982 | 735ED654ED3FA24A565DC0B1A9AFA9A44130E5CBF92B82FCCAF73DEDAACFD669 | ||
| 1983 | 0605D02EDCCABEA4A227F28A576FEA5B5318B68053E539E86CC18FC55727536E | ||
| 1984 | 1CF8B1A7C40291044C17C5C2D8E18C5922887120704B819587B5A33C4528287E | ||
| 1985 | F0A2F9527B997854CD877FDAB96903F4BA8803C9C7D61E724993A0E7BDBCB496 | ||
| 1986 | 4F5AD996B519F86009254B081E32E93F282CE95FB0DD281A4973D4D0BFFE68A8 | ||
| 1987 | 3F0E199DF122754A557E7B6D73B67E1EFE2E1B219D80B6F2C2AC4C373CA73DFA | ||
| 1988 | B4A993E71143DCFC8CC84C661C672CFE83B8CDB7E28BAB9F230C822682964C5D | ||
| 1989 | 2B54037976CED27FABBA43042B38DD96D692E98F6E7A20C435A469EAE880FDAD | ||
| 1990 | 768016E39A51B902518F131DB096259CB222AEFC0FDF9CBD82531B34B8295CB3 | ||
| 1991 | B1ECE0F397DB6B4B1D1F2C1ECAEBD71B97CD5B510341611AB5BE4A5EF9CE300F | ||
| 1992 | BD691EAAEDF57B6D585B27345D03147555DF906976C1AC2F95ED3A35853BED76 | ||
| 1993 | 554192A5BE7ED25898D8C9728A39CDE39D5E02DD02E9E719A4689AA59FF39B1F | ||
| 1994 | C9D89032E09E5AD8A64EB24BBDFD79AA6BE4659DC05A0568FD808BA7895B4C05 | ||
| 1995 | 6C511B8CAC8FFEB08CA271264D61D5C894315055CA842E50710273023EF5D489 | ||
| 1996 | C3BAFDFB601FEE2DA54FA552B2878A0AD8EB5D7E812437F4650F7170F809575E | ||
| 1997 | 8D038E35B29C32F707B1BFE57D2AA5DA2AF23FE8B3D8C533B8518CEBEF534E15 | ||
| 1998 | 69A01E4D8D69F262B9DC2D15CCE7372C3A76FBE5183106E1036705BCC83F3C3A | ||
| 1999 | FC8AFE4A96C06D0C7781ACB721721B980B87A4C481BB4A656535D9F51C0ED3DD | ||
| 2000 | 9854247C788789B9E6341E1BC43BE6B62A8D2D7976BAFEDAAF618DA03C14C961 | ||
| 2001 | 77104F6CF1F9D3231BAB1460CBEF935F5FF42B65967702DECED0D02179E9B646 | ||
| 2002 | 43BDB7AC41E2316C8D720C15963DC7832454C717A2388EA42127EB01AB80186E | ||
| 2003 | 556998759E200CD7FAEE373FD3618435143B198257B9F35BC40E33C3BAF6022A | ||
| 2004 | BEB9D17122C09AA7EE7F58C32160B43E03934ECC65FDED1C3B9BF21858FB7920 | ||
| 2005 | 236C832457D298800438531822E1772849E67987B35158F6DA1FD3A3F5A3E564 | ||
| 2006 | B88F98155B678E39BBB8083E8B71E0D4CC0B5FC2B707FE47379FDC040CD5C5CA | ||
| 2007 | D8D730CF6920E772231AA1AA0F1647E6DB488B8721B8D788AFE95CB0C1D461F2 | ||
| 2008 | F47B8E69CB327090A741773714739B898E8831F2476201A345F828C4B4B7861A | ||
| 2009 | C6898325965DBB1F5EAF82D0D76B3B0FD34F2C26AB975AE793B8E442608EEA59 | ||
| 2010 | 4FDCE8508CCBC90385ADCB98DDB926E14F5B0E6753A7918A9DBFED088DA9805A | ||
| 2011 | 6DE843148B384756AC4A04E2509E290BC9C1C75350799E8917D7D09B922C62E5 | ||
| 2012 | B2F6DB234C0CEB92753C7D4BDA4E146D0B71064BA773969F816ED9B8EB71DB47 | ||
| 2013 | 1812AA97E08444EBBF8B365DF86E06747A222A9BF26C72347EC77A24D594D9C2 | ||
| 2014 | 1A612033B071CE656D0BAD462322DAAD74083FD761C0EAE10A03620AA6DDB154 | ||
| 2015 | A0CEC3F8987A2FED9F4BFC02D90DDA261885E738771C81DD918A03D633D9003A | ||
| 2016 | 3AC8F1337CD0A0AECB63121C76F840F7D9BBF7AF1BBB3678D6C9764CD85E72B6 | ||
| 2017 | 14E5E388D616559D2694499FA80D61F5053AEB5E4B55BEB697008D5404497B8F | ||
| 2018 | CC69652DC03A76237FA23D10CB68E5880A7ADE2575B31B54F10C268813F4B0C9 | ||
| 2019 | 1FC1E54CC5C37BB4053536C14453CAE6990AE22D3E74E82BB2608D6B4CDB369D | ||
| 2020 | 065D18D2813026453CF911CF7C2333230F466C74C87728273F38C2EB6C3FB9E3 | ||
| 2021 | D17634C0C28A76889AC3A2C5693060A5F0AEE214B090C055D52776A53E632404 | ||
| 2022 | 0772D2DB1269AF13430C25F51692FF6392137B142D1C3094F53F5AB9FE4CE32B | ||
| 2023 | E758D3AD09FBC4976AD60C457B290874FE7B6ABE54AFCC4F56AED40DDA532465 | ||
| 2024 | AF22CAE2F3EF1CC4B689364F39255AA5BACB5120D8EE8F39D58AB98FB489669A | ||
| 2025 | 7800A1B5D13B36FDA95B8053C15C9B66E8B5622174B4D6B01D49888A73BB9DBA | ||
| 2026 | 22A3AE699D725021F052B96D2B76E2FF25C61095CA21A1800820183A16D4E2B0 | ||
| 2027 | 1968F422C761CF59770D75355811914419E6B9A624C114FC53CED7DD80C92BA3 | ||
| 2028 | 267BFDF01CD2D33540F5DB420388EE1EA536F7FB7619D3B00A34AF9ACE09BF60 | ||
| 2029 | BFFCB3EE98F8E751231A94E70F49495BCB5AEC508041FE26F9FCFC38DFB7B7F4 | ||
| 2030 | CAE3D60AF6C656D62F90BA6ABAC3CA1ADBDE709782366475D50ED30F67D9BF2B | ||
| 2031 | EC7105CA22A743D5A7BA4B7B16C0871AC38CDFE9A165920AB712E992BF1F0838 | ||
| 2032 | 46BBA68353AA0EB2A3B7851938B5C0BD617A91B47BE536EEE1CF4C9542D184C4 | ||
| 2033 | 92A798FAC3452075EC6F931C724EE15C18587F1EEC9EE90DD5F3670E7ADE9B72 | ||
| 2034 | 828813D0BC116CD5B39031A20CF5453FAB9B77C40BB9E3401433E9E494E9047E | ||
| 2035 | 0E8E2F36B5E8DCB181375CF98506928FDD6F907769D83794E9B663FA26808BFB | ||
| 2036 | A5486D2036DF0283765C35A848E10972A70E0C8DA0A6CDB3224A15C74A9F0A09 | ||
| 2037 | AD75C5807E2CD5BB82E94EDFAF8E4946A60BB63ECC3FD0B03A3B4DA73A875FFD | ||
| 2038 | 84590E796DA58AAC47F05DD6BD99986FCCA6EC80985015CC720BAD6DBAF21EA8 | ||
| 2039 | 729FB5AA85D91C9AE221DE7C65DD537701F6ECDDEBF4DC7F3E6F8E8A1A917DCE | ||
| 2040 | D53E6BD03C9F9053A3AB7F41B3F152F975D8D55307170C9C61D6EEE56A2D47F3 | ||
| 2041 | 8B97728F98B958F2CCF21C86A5765C5FCF1C78B020174628BFA439BBEC241906 | ||
| 2042 | C37520DA9BEC389A3F2F30E19F44EFCEA08B13CD33B5337EE434220EA836F314 | ||
| 2043 | 8BB7AD4474A1986F6BD74878198266DA13C489A6D995AA96D7C6D52B0FB3CD7D | ||
| 2044 | CEEF2D2D5823052D675C1B5615E794BB08B01A2B81B49C4D1F56AA31C9B4FEBD | ||
| 2045 | 0B26B30E3591B06C3939D57B89698ACEF90AA629138D8CF8914D554462B578A3 | ||
| 2046 | 30EF36AFE4E54DA09CBC28E1FA269739E85585B649F2F92F9D8BA67C21BAB667 | ||
| 2047 | 9D229DFAFFDAD907F911DA8D92A889CD4EF143DC9C3663135AD73AE2958AAB4E | ||
| 2048 | 2ED4C642ADB1D4752077FE0A4D9EFD9BA4FEE0CF063F0825823D9D0625FD8AD6 | ||
| 2049 | 693B2DF499255F85C4A927AD9EDC46E1E3E7F9607B689BD1AAB7893B2B0B6BB5 | ||
| 2050 | 5D0A3B0DAD7D09117F75B9D149DCE9E139D424F3BAF7051F33F1B7C687BC7CA9 | ||
| 2051 | F18EFE617ECCE79C7D028C7DE780179FCFC26430C46553D378596D7A2ECEC876 | ||
| 2052 | 6245F7DAB2DC3303279BC8D48B29C1987586EF5D0ED2380BFC775C39EEEF4AC3 | ||
| 2053 | D37FFD79FBFEF28B59104A06720A04A95CDD63FF80D6BE6580F51D1AA9A5C150 | ||
| 2054 | B7919E0070AE5FD51D0913868F094B0B72E402405EAF9E1B4A5E0F12C694C0B3 | ||
| 2055 | 0C27A34DDD703B50BF20E0596163B68BAF57201BFAFC0003CEF86C345670EAF8 | ||
| 2056 | 3747D7800ACA9775AF17E86C6934E1839C7DBEFA9B5643A14469CB4D7E899A3D | ||
| 2057 | 16990A484A44E6104F075628D26FA0E9D860557D92D700EEB3B0A65EE5CD1608 | ||
| 2058 | 60168DD6A7D124608DAEF0E1EA9CF48C9B41DC24FE1AEABD582CF6608D45D3BE | ||
| 2059 | B5E5457520FB95AEBCD716E38C317B8BE48066260EE2E6B2A10FACF46507629A | ||
| 2060 | 50C3C81E322FFA26F4110A0799A6AB0C7EF1B7779E295938F4551C715E44B0BD | ||
| 2061 | 4969C5B710F510F476FB15ED0CD1D854D3ABE782667066111E0225B0A1C44F59 | ||
| 2062 | 47F73C7DCFF60B275CF8537C06DBFE629ACD0C0F3F48D574D388CC2F95B4EF18 | ||
| 2063 | 961588BC15842347A1676C7C7F55538967454E065BFEF5C2E270DCB36D80A5D6 | ||
| 2064 | 2E1529A9890AF8DFB474B354F39804F48063830587EA4E271079780E84F76860 | ||
| 2065 | B8D4159F8897579A70B4503329979A6EA0FE4B199ACF509363FF184DE28452B8 | ||
| 2066 | 7311E849ACE4132ED733B25719DDE36CEF7B29B5707C09927BEAB25FEF52C71D | ||
| 2067 | 0C9F7F39F2D08E6669B86EB5CB8D90BC1E7566FBDE0EE87A55D50E733008D457 | ||
| 2068 | 2D81631F3599E93C776EB59C620BF118AF3010777B0240CE7DB42A6786723ACE | ||
| 2069 | E54B0AD66D257261041968F88B386126501B16005730CBC68ACDE21B73D16F0A | ||
| 2070 | F15D90BF1ABFEE94F8B862362AF2E36D323F28C2665C57D22F5A718930B14B1E | ||
| 2071 | D8943E10FB9AA3AADC4930A6E78C1FC15F1F1DDA7C832E2163F6CD70FFAC04D2 | ||
| 2072 | 8B04C206384BB66E96320C8559452968967EEAB10E9E579C87DCED7AF394F93E | ||
| 2073 | A5F0E9EC82825F2FA364E33040B1B1F294FA4C5E536D012EC0209B72E08FED9C | ||
| 2074 | 4948761E0AD756DB78EB1C9E6DE99761BDBDD8BE8CB042112299DF825F68C53E | ||
| 2075 | 300EE1AFA59C7FA408092CAB515AEDC9D3873948A4B4B6D78A799DBA9FD3628B | ||
| 2076 | D1947AB0AD9D594DDDD16997BCBFD44DE3F68D556EA982823FB851B381527276 | ||
| 2077 | D0C68AA3EB370BA46F93AF52580932534AB73D609021411A9E0F0009E7821FCF | ||
| 2078 | 27181278CB75E994318E0C1B4C84DDA3C52291D2CDE0C45A509DD29518083AF2 | ||
| 2079 | E3EFB3271BBB843080671C2ADD01A0D956EB48FB1166AEB5E8FC92A2D988BA5C | ||
| 2080 | 698131A1A6E4C51ABC3CD6D8D7BFE390A70838454BB6AB2CA40B1110575C3AA1 | ||
| 2081 | 73523DAF9BCD863A0708854890A24E63A05B272873A1323B00DF14759F78AA5D | ||
| 2082 | 453670FD92756E8654D0ED19883758D1B00E78CCE7DECD064907E27CD4167625 | ||
| 2083 | 27A0BA98448069C7B3D21FF1F53412ED84364526C3DA1574B175D68BA7626EE5 | ||
| 2084 | 6323C7E472614B86D77E2FD6E47C2D01A2F4D755F3307CFC06C094E233FCE72E | ||
| 2085 | 4845F7E31652A90B1DC8B940AA48A402281486F2200DE05BDDB5B69DDB965FAB | ||
| 2086 | 7BF0CBA38A2E5A7E91084ABE9B12A855F8747400561FD5C368D1997D3411227A | ||
| 2087 | 96AADDABF8E558826E73B474FE9E51A967DBE0C44133193EE765B8B224373A32 | ||
| 2088 | 7564FBF11B80986534A81D033ED05EE15A77B79493A6D69496D71ECDCFBF1731 | ||
| 2089 | 8E2FF0FF0125E3D186A4DDC597E478D525FA8E8058C3F131BC525EFD8B840CDB | ||
| 2090 | EA2A792DF2AD54C513762859E34C3589DE590AE441804FBA07CB25BDA09EA7CF | ||
| 2091 | 40AFFEA627E46B1A461E2E5AB9C6B611B7E45C008EA5BC6EABADCC2541786210 | ||
| 2092 | B319320D086BA982E7F6520E8EC957174D159CEB2CF3B858A4B903D9F47F2B8F | ||
| 2093 | 7ADCA2C5645447871D264E7FA1C8414CDB12B163C7BAA7533B25536E6DBB68F2 | ||
| 2094 | 7C215B25F3CD02163D3F5A562057083F3078F25708A62F627B0BFFF7A5221E6D | ||
| 2095 | 46A032EDEA888F00E6A23E59020B2C0A2BDC06322AC1F324D88CFD3B8FF74AE6 | ||
| 2096 | 084574963B4A3B06CD39F9CD0403D2D20D5EF4CE271CB18F792E3EFDAEA66B3C | ||
| 2097 | CD2A4FB743E9D8E2DB995125D1F18BDEC5CAD402F4D90B2F8DB7ABC6841664E4 | ||
| 2098 | 1486BC2332C4E8F4A6F5B7A20AF10D041C8AA138B5F16EB1778A7485F003287D | ||
| 2099 | 01465EC47D5DE48546B13529A708CFAADEA60BFCC6EB1D6EC3DC36B512788BB3 | ||
| 2100 | 038125961302DB9761403C3B8016344897C590FC99CE273F2B224C799980FFD2 | ||
| 2101 | 3CEFD589FFBDA045E65ED55B9E3FAF327B4818FF9D49518B63EDEDFE31549146 | ||
| 2102 | D971BEC326ED65033E8F | ||
| 2103 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2104 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2105 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2106 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2107 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2108 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2109 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2110 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2111 | cleartomark | ||
| 2112 | %%EndFont | ||
| 2113 | TeXDict begin 55380996 39158280 1000 600 600 (refcard.dvi) | ||
| 2114 | @start /Fa 197[20 58[{ TeXaae443f0Encoding ReEncodeFont }1 | ||
| 2115 | 66.4176 /CMMI8 rf /Fb 134[35 3[38 24 29 30 1[36 36 40 | ||
| 2116 | 58 18 2[22 36 33 1[33 36 33 33 36 51[26 45[{ | ||
| 2117 | TeX74afc74cEncoding ReEncodeFont }19 66.4176 /CMTI8 | ||
| 2118 | rf /Fc 242[61 13[{ TeXbbad153fEncoding ReEncodeFont }1 | ||
| 2119 | 49.8132 /CMSY6 rf /Fd 134[32 1[43 32 34 24 24 24 1[34 | ||
| 2120 | 30 34 50 18 32 1[18 34 30 19 27 34 27 34 30 11[45 1[34 | ||
| 2121 | 2[41 1[45 54 3[22 1[47 39 41 1[43 42 45 10[30 30 1[30 | ||
| 2122 | 30 30 30 1[18 21 18 44[{ TeXf7b6d320Encoding ReEncodeFont }43 | ||
| 2123 | 49.8132 /CMR6 rf /Fe 129[41 5[43 1[43 45 32 32 34 1[45 | ||
| 2124 | 41 45 68 23 2[23 45 41 25 37 45 36 45 40 72[36 4[41 2[23 | ||
| 2125 | 3[45 47 11[{ TeXf7b6d320Encoding ReEncodeFont }26 66.4176 | ||
| 2126 | /CMBX8 rf /Ff 130[35 35 35 35 35 35 35 35 35 35 35 35 | ||
| 2127 | 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 | ||
| 2128 | 35 35 35 35 35 3[35 2[35 35 35 1[35 2[35 35 4[35 35 35 | ||
| 2129 | 35 35 35 35 35 35 35 1[35 1[35 4[35 35 35 35 35 35 35 | ||
| 2130 | 35 35 35 35 35 35 35 35 1[35 35 35 35 35 33[{ | ||
| 2131 | TeX09fbbfacEncoding ReEncodeFont }74 66.4176 /CMTT8 | ||
| 2132 | rf /Fg 129[57 3[51 1[60 1[60 64 45 45 47 60 64 57 64 | ||
| 2133 | 95 32 1[35 32 64 57 35 53 64 51 64 56 2[57 9[80 64 86 | ||
| 2134 | 1[78 86 1[109 69 1[59 43 90 1[72 75 1[83 81 87 18[32 | ||
| 2135 | 38 3[45 45 15[51 4[57 6[64 67 11[{ TeXf7b6d320Encoding ReEncodeFont }48 | ||
| 2136 | 99.6264 /CMBX10 rf /Fh 129[35 3[31 1[37 51 37 39 27 28 | ||
| 2137 | 28 37 39 35 39 59 20 1[22 20 39 35 22 31 39 31 39 35 | ||
| 2138 | 2[35 1[35 6[53 51 39 52 55 48 55 53 65 44 2[25 1[55 46 | ||
| 2139 | 48 54 2[53 6[20 7[35 2[35 20 24 20 2[27 27 5[35 9[31 | ||
| 2140 | 4[35 2[20 3[39 41 11[{ TeXf7b6d320Encoding ReEncodeFont }57 | ||
| 2141 | 66.4176 /CMR8 rf /Fi 129[69 9[53 54 57 2[69 76 115 3[38 | ||
| 2142 | 2[42 63 76 61 1[67 2[69 8[106 2[103 3[108 6[108 1[90 | ||
| 2143 | 1[99 8[38 58[{ TeXf7b6d320Encoding ReEncodeFont }21 119.552 | ||
| 2144 | /CMBX10 rf end | ||
| 2145 | %%EndProlog | ||
| 2146 | %%BeginSetup | ||
| 2147 | %%Feature: *Resolution 600dpi | ||
| 2148 | TeXDict begin | ||
| 2149 | %%PaperSize: A4 | ||
| 2150 | @landscape end | ||
| 2151 | %%EndSetup | ||
| 2152 | %%Page: 1 1 | ||
| 2153 | TeXDict begin @landscape 1 0 bop -555 -364 a Fi(GNU)45 | ||
| 2154 | b(Emacs:)62 b(Cart)o(~)-68 b(ao)45 b(de)i(Refer)m(^)-66 | ||
| 2155 | b(encia)259 -266 y Fh(\(para)24 b(v)n(ers~)-35 b(ao)24 | ||
| 2156 | b(22\))-450 -59 y Fg(Iniciando)37 b(o)i(Emacs)-450 97 | ||
| 2157 | y Fh(P)n(ara)24 b(en)n(trar)f(no)i(GNU)e(Emacs,)h(digite:)31 | ||
| 2158 | b Ff(emacs)-450 300 y Fg(Saindo)37 b(do)h(Emacs)-450 | ||
| 2159 | 455 y Fh(susp)r(ende)25 b(ou)f(minimiza)f(o)g(Emacs)476 | ||
| 2160 | b Ff(C-z)-450 525 y Fh(encerra)24 b(o)g(Emacs)933 b Ff(C-x)36 | ||
| 2161 | b(C-c)-450 709 y Fg(Arquiv)m(os)-450 865 y Fe(abre)23 | ||
| 2162 | b Fh(um)h(arquiv)n(o)910 b Ff(C-x)36 b(C-f)-450 934 y | ||
| 2163 | Fe(salv)-5 b(a)23 b Fh(um)g(arquiv)n(o)h(em)g(disco)603 | ||
| 2164 | b Ff(C-x)36 b(C-s)-450 1004 y Fh(salv)l(a)24 b Fe(to)r(dos)f | ||
| 2165 | Fh(arquiv)n(os)h(ab)r(ertos)543 b Ff(C-x)36 b(s)-450 | ||
| 2166 | 1074 y Fe(insere)24 b Fh(outro)g(arquiv)n(o)g(neste)g(bu\013er)409 | ||
| 2167 | b Ff(C-x)36 b(i)-450 1144 y Fh(substitui)24 b(este)g(arquiv)n(o)g(p)r | ||
| 2168 | (or)g(outro)463 b Ff(C-x)36 b(C-v)-450 1213 y Fh(salv)l(a)24 | ||
| 2169 | b(o)g(bu\013er)g(em)f(um)h(arquiv)n(o)g(esp)r(eci\014cado)155 | ||
| 2170 | b Ff(C-x)36 b(C-w)-450 1283 y Fh(alterna)22 b(o)g(estado)g(de)g(somen)n | ||
| 2171 | (te)h(leitura)e(do)h(bu\013er)71 b Ff(C-x)36 b(C-q)-450 | ||
| 2172 | 1494 y Fg(Ajuda)h(\(Help\))-450 1661 y Fh(T)-6 b(ecle)24 | ||
| 2173 | b Ff(C-h)h Fh(\(ou)f Ff(F1)p Fh(\))h(e)f(siga)f(as)h(instru\030)-31 | ||
| 2174 | b(c~)c(oes.)-450 1759 y(remo)n(v)n(e)24 b(a)g(janela)g(de)g(a)t(juda) | ||
| 2175 | 666 b Ff(C-x)36 b(1)-450 1829 y Fh(rola)23 b(a)h(janela)g(de)g(a)t | ||
| 2176 | (juda)766 b Ff(C-M-v)-450 1927 y Fh(aprop)r(os:)30 b(mostra)22 | ||
| 2177 | b(comandos)g(que)h(casam)e(com)h(a)-450 1997 y(string)990 | ||
| 2178 | 1927 y Ff(C-h)36 b(a)-450 2063 y Fh(descrev)n(e)25 b(fun\030)-31 | ||
| 2179 | b(c~)c(ao)24 b(asso)r(ciada)h(a)f(teclas)392 b Ff(C-h)36 | ||
| 2180 | b(k)-450 2132 y Fh(descrev)n(e)25 b(uma)f(fun\030)-31 | ||
| 2181 | b(c~)c(ao)803 b Ff(C-h)36 b(f)-450 2202 y Fh(busca)24 | ||
| 2182 | b(informa\030)-31 b(c~)c(oes)24 b(esp)r(ec)-8 b(\023)-27 | ||
| 2183 | b(\020\014cas)25 b(do)f(mo)r(do)249 b Ff(C-h)36 b(m)-450 | ||
| 2184 | 2405 y Fg(Recup)s(erando-se)g(de)h(Erros)-450 2561 y | ||
| 2185 | Fe(ab)r(orta)22 b Fh(uma)i(op)r(era\030)-31 b(c~)c(ao)756 | ||
| 2186 | b Ff(C-g)-450 2631 y Fe(recup)r(era)24 b Fh(arquiv)n(os)f(ap\023)-35 | ||
| 2187 | b(os)25 b(crash)313 b Ff(M-x)36 b(recover-session)-450 | ||
| 2188 | 2700 y Fh(desfaz)24 b(uma)g(altera\030)-31 b(c~)c(ao)25 | ||
| 2189 | b(\()p Fe(undo)p Fh(\))400 b Ff(C-x)36 b(u,)g(C-_)g Fh(or)f | ||
| 2190 | Ff(C-/)-450 2770 y Fh(restaura)24 b(um)f(bu\013er)h(para)g(o)g(arquiv)n | ||
| 2191 | (o)252 b Ff(M-x)36 b(revert-buffer)-450 2840 y Fh(redesenha)25 | ||
| 2192 | b(a)f(tela)942 b Ff(C-l)-450 3024 y Fg(Busca)38 b(Incremen)m(tal)-450 | ||
| 2193 | 3179 y Fh(busca)24 b(para)g(fren)n(te)907 b Ff(C-s)-450 | ||
| 2194 | 3249 y Fh(busca)24 b(para)g(tr\023)-35 b(as)965 b Ff(C-r)-450 | ||
| 2195 | 3319 y Fh(busca)24 b(p)r(or)g(express~)-35 b(ao)24 b(regular)584 | ||
| 2196 | b Ff(C-M-s)-450 3389 y Fh(busca)24 b(p)r(or)g(express~)-35 | ||
| 2197 | b(ao)24 b(regular)g(para)f(tr\023)-35 b(as)282 b Ff(C-M-r)-450 | ||
| 2198 | 3487 y Fh(seleciona)24 b(a)g(string)g(de)g(p)r(esquisa)g(an)n(terior) | ||
| 2199 | 268 b Ff(M-p)-450 3557 y Fh(seleciona)24 b(a)g(string)g(seguin)n(te)h | ||
| 2200 | (de)f(p)r(esquisa)260 b Ff(M-n)-450 3626 y Fh(sai)23 | ||
| 2201 | b(da)h(busca)h(incremen)n(tal)681 b Ff(RET)-450 3696 | ||
| 2202 | y Fh(desfaz)24 b(o)g(efeito)g(do)i(\023)-37 b(ultimo)24 | ||
| 2203 | b(caracter)413 b Ff(DEL)-450 3766 y Fh(encerra)24 b(a)g(busca)962 | ||
| 2204 | b Ff(C-g)-450 3864 y Fh(Use)28 b Ff(C-s)g Fh(ou)h Ff(C-r)f | ||
| 2205 | Fh(no)n(v)l(amen)n(te)i(para)f(rep)r(etir)e(a)h(busca.)45 | ||
| 2206 | b Ff(C-g)29 b Fh(cancela)-450 3934 y(ap)r(enas)c(o)e(que)i(ainda)f(n~) | ||
| 2207 | -35 b(ao)24 b(foi)f(feito.)-358 4131 y Fd(c)-375 4133 | ||
| 2208 | y Fc(\015)e Fd(2006)h(F)-5 b(ree)22 b(Soft)n(w)n(are)g(F)-5 | ||
| 2209 | b(oundation,)20 b(Inc.)27 b(P)n(ermissions)21 b(on)g(bac)n(k.)28 | ||
| 2210 | b(v2.3)1860 -364 y Fg(Mo)m(vimen)m(ta\030)-51 b(c)o(~)-56 | ||
| 2211 | b(ao)1860 -208 y Fe(a)n(v)-5 b(an\030)-36 b(car)1124 | ||
| 2212 | b(tr)o(\023)-40 b(as)109 b(fren)n(te)1860 -139 y Fh(um)24 | ||
| 2213 | b(caracter)1027 b Ff(C-b)142 b(C-f)1860 -69 y Fh(uma)24 | ||
| 2214 | b(pala)n(vra)1011 b Ff(M-b)142 b(M-f)1860 1 y Fh(uma)24 | ||
| 2215 | b(linha)1085 b Ff(C-p)142 b(C-n)1860 71 y Fh(para)24 | ||
| 2216 | b(in)-8 b(\023)-27 b(\020cio)23 b(ou)h(\014m)g(de)g(linha)579 | ||
| 2217 | b Ff(C-a)142 b(C-e)1860 140 y Fh(sen)n(ten\030)-31 b(ca)1136 | ||
| 2218 | b Ff(M-a)142 b(M-e)1860 210 y Fh(par\023)-35 b(agrafo)1103 | ||
| 2219 | b Ff(M-{)142 b(M-})1860 280 y Fh(p\023)-35 b(agina)1192 | ||
| 2220 | b Ff(C-x)36 b([)71 b(C-x)36 b(])1860 349 y Fh(sexp)1260 | ||
| 2221 | b Ff(C-M-b)72 b(C-M-f)1860 419 y Fh(fun\030)-31 b(c~)c(ao)1194 | ||
| 2222 | b Ff(C-M-a)72 b(C-M-e)1860 489 y Fh(para)24 b(in)-8 b(\023)-27 | ||
| 2223 | b(\020cio)23 b(ou)h(\014m)g(do)g(bu\013er)550 b Ff(M-<)142 | ||
| 2224 | b(M->)1860 587 y Fh(rolar)23 b(para)g(pr\023)-35 b(oxima)24 | ||
| 2225 | b(tela)721 b Ff(C-v)1860 657 y Fh(rolar)23 b(para)g(tela)i(an)n(terior) | ||
| 2226 | 732 b Ff(M-v)1860 727 y Fh(rolar)23 b(para)g(esquerda)843 | ||
| 2227 | b Ff(C-x)36 b(<)1860 796 y Fh(rolar)23 b(para)g(direita)911 | ||
| 2228 | b Ff(C-x)36 b(>)1860 866 y Fh(rolar)23 b(a)h(linha)f(corren)n(te)i | ||
| 2229 | (para)e(o)h(cen)n(tro)h(da)f(tela)119 b Ff(C-u)36 b(C-l)1860 | ||
| 2230 | 1069 y Fg(Cortando)h(e)h(Apagando)1860 1225 y Fe(en)n(tidade)27 | ||
| 2231 | b(a)f(cortar)642 b(tr)o(\023)-40 b(as)250 b(fren)n(te)1860 | ||
| 2232 | 1295 y Fh(caracter)25 b(\(apaga,)g(n~)-35 b(ao)24 b(corta\))416 | ||
| 2233 | b Ff(DEL)283 b(C-d)1860 1364 y Fh(pala)n(vra)1027 b Ff(M-DEL)213 | ||
| 2234 | b(M-d)1860 1434 y Fh(linha)23 b(\(at)n(\023)-33 b(e)25 | ||
| 2235 | b(o)f(\014nal\))714 b Ff(M-0)36 b(C-k)142 b(C-k)1860 | ||
| 2236 | 1504 y Fh(sen)n(ten\030)-31 b(ca)995 b Ff(C-x)36 b(DEL)142 | ||
| 2237 | b(M-k)1860 1574 y Fh(sexp)1119 b Ff(M--)36 b(C-M-k)72 | ||
| 2238 | b(C-M-k)1860 1672 y Fh(corta)24 b Fe(regi)o(~)-40 b(ao)1044 | ||
| 2239 | b Ff(C-w)1860 1742 y Fh(copia)24 b(a)g Fe(regi)o(~)-40 | ||
| 2240 | b(ao)981 b Ff(M-w)1860 1811 y Fh(cortar)24 b(at)n(\023)-33 | ||
| 2241 | b(e)25 b(a)e(pr\023)-35 b(oxima)24 b(o)r(corr)n(^)-33 | ||
| 2242 | b(encia)24 b(de)g Fb(char)211 b Ff(M-z)36 b Fb(char)1860 | ||
| 2243 | 1910 y Fh(colar)24 b(a)h(\023)-37 b(ultima)24 b(coisa)g(cortada)582 | ||
| 2244 | b Ff(C-y)1860 1979 y Fh(substitui)24 b(a)i(\023)-37 b(ult.)31 | ||
| 2245 | b(colagem)24 b(p)r(ela)g(c\023)-35 b(opia)25 b(an)n(terior)106 | ||
| 2246 | b Ff(M-y)1860 2184 y Fg(Marcando)1860 2340 y Fh(p)r(osiciona)24 | ||
| 2247 | b(a)g(marca)g(aqui)730 b Ff(C-@)36 b Fh(or)f Ff(C-SPC)1860 | ||
| 2248 | 2410 y Fh(tro)r(ca)24 b(a)g(marca)g(p)r(elo)g(p)r(on)n(to)h(e)f(vice-v) | ||
| 2249 | n(ersa)281 b Ff(C-x)36 b(C-x)1860 2508 y Fh(colo)r(ca)25 | ||
| 2250 | b(a)e(marca)h Fb(ar)l(g)30 b Fe(pala)n(vras)22 b Fh(adian)n(te)290 | ||
| 2251 | b Ff(M-@)1860 2578 y Fh(marca)24 b(o)g Fe(par)o(\023)-40 | ||
| 2252 | b(agrafo)829 b Ff(M-h)1860 2647 y Fh(marca)24 b(a)g Fe(p)o(\023)-40 | ||
| 2253 | b(agina)935 b Ff(C-x)36 b(C-p)1860 2717 y Fh(marca)24 | ||
| 2254 | b(a)g Fe(sexp)1012 b Ff(C-M-@)1860 2787 y Fh(marca)24 | ||
| 2255 | b(uma)g Fe(fun\030)-36 b(c)o(~)c(ao)839 b Ff(C-M-h)1860 | ||
| 2256 | 2857 y Fh(marca)24 b(to)r(do)g Fe(bu\013er)858 b Ff(C-x)36 | ||
| 2257 | b(h)1860 3041 y Fg(Busca)i(e)g(Substitui\030)-51 b(c)o(~)-56 | ||
| 2258 | b(ao)1860 3196 y Fh(Substitui)24 b(in)n(terativ)l(amen)n(te)i(uma)e | ||
| 2259 | (string)300 b Ff(M-\045)1860 3266 y Fh(usando)25 b(express~)-35 | ||
| 2260 | b(ao)24 b(regular)301 b Ff(M-x)36 b(query-replace-regexp)1860 | ||
| 2261 | 3364 y Fh(Resp)r(ostas)24 b(v\023)-35 b(alidas)24 b(no)g(mo)r(do)g(de)g | ||
| 2262 | (busca)h(e)f(substitui\030)-31 b(c~)c(ao)1860 3463 y | ||
| 2263 | Fe(substitui)23 b Fh(esta,)h(e)g(prossegue)594 b Ff(SPC)1860 | ||
| 2264 | 3533 y Fh(substitui)24 b(esta)g(e)g(en)n(trada)h(e)f(n~)-35 | ||
| 2265 | b(ao)24 b(a)n(v)l(an\030)-31 b(ca)298 b Ff(,)1860 3602 | ||
| 2266 | y Fe(pula)23 b Fh(para)h(a)g(pr\023)-35 b(oxima)23 b(sem)h(substituir) | ||
| 2267 | 331 b Ff(DEL)1860 3672 y Fh(substitui)24 b(em)g(to)r(do)g(o)g(texto)h | ||
| 2268 | (restan)n(te)388 b Ff(!)1860 3742 y Fe(v)n(olta)22 b | ||
| 2269 | Fh(para)h(a)h(pala)n(vra)g(an)n(terior)530 b Ff(^)1860 | ||
| 2270 | 3811 y Fe(encerra)1177 b Ff(RET)1860 3881 y Fh(en)n(tra)24 | ||
| 2271 | b(na)g(edi\030)-31 b(c~)c(ao)25 b(recursiv)l(a)f(\()p | ||
| 2272 | Ff(C-M-c)h Fh(para)f(sair\))121 b Ff(C-r)4241 -364 y | ||
| 2273 | Fg(M)s(\023)-60 b(ultiplas)36 b(Janelas)4241 -223 y Fh(Quando)23 | ||
| 2274 | b(forem)e(mostrados)i(2)g(comandos,)g(o)f(segundo)i(tem)f(comp)r(or-) | ||
| 2275 | 4241 -153 y(tamen)n(to)i(similar)d(para)i(frame.)4241 | ||
| 2276 | -59 y(elimina)f(to)r(das)h(outras)g(janelas)351 b Ff(C-x)36 | ||
| 2277 | b(1)212 b(C-x)36 b(5)g(1)4241 11 y Fh(divide)23 b(a)h(janela,)g(acima)f | ||
| 2278 | (e)h(abaixo)261 b Ff(C-x)36 b(2)212 b(C-x)36 b(5)g(2)4241 | ||
| 2279 | 81 y Fh(elimina)23 b(esta)h(janela)640 b Ff(C-x)36 b(0)212 | ||
| 2280 | b(C-x)36 b(5)g(0)4241 175 y Fh(divide)23 b(a)h(janela,)g(lado)f(a)h | ||
| 2281 | (lado)606 b Ff(C-x)36 b(3)4241 270 y Fh(rola)23 b(a)h(outra)g(janela) | ||
| 2282 | 870 b Ff(C-M-v)4241 365 y Fh(lev)l(a)24 b(o)f(cursor)h(para)f(outra)i | ||
| 2283 | (janela)269 b Ff(C-x)36 b(o)212 b(C-x)36 b(5)g(o)4241 | ||
| 2284 | 434 y Fh(seleciona)24 b(um)g(bu\013er)f(em)h(outra)g(janela)113 | ||
| 2285 | b Ff(C-x)36 b(4)g(b)141 b(C-x)36 b(5)g(b)4241 504 y Fh(mostra)23 | ||
| 2286 | b(um)h(bu\013er)g(em)f(outra)i(janela)171 b Ff(C-x)36 | ||
| 2287 | b(4)g(C-o)71 b(C-x)36 b(5)g(C-o)4241 574 y Fh(busca)24 | ||
| 2288 | b(um)g(arquiv)n(o)f(em)h(outra)g(janela)160 b Ff(C-x)36 | ||
| 2289 | b(4)g(f)141 b(C-x)36 b(5)g(f)4241 644 y Fh(busca)24 b(arquiv)n(o)g | ||
| 2290 | (\(ro\))g(em)g(outra)g(janela)140 b Ff(C-x)36 b(4)g(r)141 | ||
| 2291 | b(C-x)36 b(5)g(r)4241 713 y Fh(executa)25 b(Dired)e(em)h(outra)g | ||
| 2292 | (janela)279 b Ff(C-x)36 b(4)g(d)141 b(C-x)36 b(5)g(d)4241 | ||
| 2293 | 783 y Fh(busca)24 b(tag)h(em)e(outra)h(janela)413 b Ff(C-x)36 | ||
| 2294 | b(4)g(.)141 b(C-x)36 b(5)g(.)4241 878 y Fh(aumen)n(ta)25 | ||
| 2295 | b(a)f(janela)f(na)h(v)n(ertical)563 b Ff(C-x)36 b(^)4241 | ||
| 2296 | 948 y Fh(estreita)24 b(a)g(janela)948 b Ff(C-x)36 b({)4241 | ||
| 2297 | 1017 y Fh(alarga)23 b(a)h(janela)988 b Ff(C-x)36 b(})4241 | ||
| 2298 | 1202 y Fg(F)-10 b(ormatando)4241 1343 y Fh(iden)n(ta)24 | ||
| 2299 | b(a)g Fe(linha)f Fh(corren)n(te)h(\(mo)r(do\))473 b Ff(TAB)4241 | ||
| 2300 | 1413 y Fh(iden)n(ta)24 b(a)g Fe(regi)o(~)-40 b(ao)22 | ||
| 2301 | b Fh(\(mo)r(do\))706 b Ff(C-M-\\)4241 1482 y Fh(iden)n(ta)24 | ||
| 2302 | b(a)g Fe(sexp)g Fh(\(mo)r(do\))763 b Ff(C-M-q)4241 1552 | ||
| 2303 | y Fh(iden)n(ta)24 b(regi~)-35 b(ao)24 b(rigidamen)n(te)g | ||
| 2304 | Fb(ar)l(g)30 b Fh(colunas)281 b Ff(C-x)36 b(TAB)4241 | ||
| 2305 | 1647 y Fh(insere)23 b(uma)h(no)n(v)l(a)g(linha)g(ap\023)-35 | ||
| 2306 | b(os)24 b(o)g(p)r(on)n(to)347 b Ff(C-o)4241 1717 y Fh(mo)n(v)n(e)24 | ||
| 2307 | b(o)g(restan)n(te)h(da)f(linha)f(para)h(baixo)329 b Ff(C-M-o)4241 | ||
| 2308 | 1786 y Fh(apaga)24 b(linhas)g(em)f(branco)i(em)e(torno)i(do)f(p)r(on)n | ||
| 2309 | (to)112 b Ff(C-x)36 b(C-o)4241 1856 y Fh(jun)n(ta)24 | ||
| 2310 | b(a)g(linha)f(com)h(a)g(an)n(terior)572 b Ff(M-^)4241 | ||
| 2311 | 1926 y Fh(apaga)24 b(to)r(dos)h(brancos)f(em)g(torno)g(do)g(p)r(on)n | ||
| 2312 | (to)212 b Ff(M-\\)4241 1995 y Fh(insere)23 b(um)g(espa\030)-31 | ||
| 2313 | b(co)25 b(em)f(branco)574 b Ff(M-SPC)4241 2090 y Fh(preenc)n(he)25 | ||
| 2314 | b(o)f(par\023)-35 b(agrafo)797 b Ff(M-q)4241 2160 y Fh(de\014ne)24 | ||
| 2315 | b(a)g(coluna)h(limite)e(de)h(preenc)n(himen)n(to)215 | ||
| 2316 | b Ff(C-x)36 b(f)4241 2230 y Fh(de\014ne)24 b(um)g(pre\014xo)g(para)g | ||
| 2317 | (cada)h(linha)403 b Ff(C-x)36 b(.)4241 2324 y Fh(formata)23 | ||
| 2318 | b(fon)n(te)1024 b Ff(M-o)4241 2490 y Fg(Mai)s(\023)-60 | ||
| 2319 | b(usculas)36 b(e)i(Min)s(\023)-60 b(usculas)4241 2631 | ||
| 2320 | y Fh(P)n(ala)n(vra)23 b(para)h(mai)r(\023)-37 b(usculas)688 | ||
| 2321 | b Ff(M-u)4241 2701 y Fh(P)n(ala)n(vra)23 b(para)h(min)r(\023)-37 | ||
| 2322 | b(usculas)684 b Ff(M-l)4241 2770 y Fh(Primeira)22 b(letra)h(mai)r(\023) | ||
| 2323 | -37 b(uscula)24 b(\(capitalize\))312 b Ff(M-c)4241 2865 | ||
| 2324 | y Fh(Regi~)-35 b(ao)24 b(para)g(mai)r(\023)-37 b(usculas)713 | ||
| 2325 | b Ff(C-x)36 b(C-u)4241 2935 y Fh(Regi~)-35 b(ao)24 b(para)g(min)r(\023) | ||
| 2326 | -37 b(usculas)709 b Ff(C-x)36 b(C-l)4241 3120 y Fg(O)i(Minibu\013er) | ||
| 2327 | 4241 3260 y Fh(As)23 b(teclas)h(seguin)n(tes)h(s~)-35 | ||
| 2328 | b(ao)24 b(de\014nidas)g(no)g(minibu\013er.)4241 3355 | ||
| 2329 | y(complete)h(o)e(m\023)-35 b(aximo)24 b(p)r(ossi)-8 b(\023)-27 | ||
| 2330 | b(\020v)n(el)557 b Ff(TAB)4241 3425 y Fh(complete)25 | ||
| 2331 | b(at)n(\023)-33 b(e)24 b(uma)g(pala)n(vra)641 b Ff(SPC)4241 | ||
| 2332 | 3494 y Fh(complete)25 b(e)e(execute)861 b Ff(RET)4241 | ||
| 2333 | 3564 y Fh(mostre)23 b(as)h(op\030)-31 b(c~)c(oes)25 b(para)f(completar) | ||
| 2334 | 432 b Ff(?)4241 3634 y Fh(busca)24 b(a)g(en)n(trada)h(an)n(terior)e(no) | ||
| 2335 | h(minibu\013er)250 b Ff(M-p)4241 3704 y Fh(busca)25 b(a)h(pr\023)-35 | ||
| 2336 | b(oxima)25 b(en)n(trada)h(no)g(minibu\013er)e(ou)i(o)4241 | ||
| 2337 | 3773 y(default)5681 3704 y Ff(M-n)4241 3826 y Fh(busca)e(regexp)g(no)g | ||
| 2338 | (hist\023)-35 b(orico)24 b(para)g(tr\023)-35 b(as)355 | ||
| 2339 | b Ff(M-r)4241 3896 y Fh(busca)24 b(regexp)g(no)g(hist\023)-35 | ||
| 2340 | b(orico)24 b(para)g(fren)n(te)297 b Ff(M-s)4241 3966 | ||
| 2341 | y Fh(encerra)24 b(o)f(comando)862 b Ff(C-g)4241 4060 | ||
| 2342 | y Fh(T)-6 b(ecle)22 b Ff(C-x)37 b(ESC)f(ESC)23 b Fh(para)f(editar)g(e)h | ||
| 2343 | (rep)r(etir)f(o)i(\023)-37 b(ultimo)22 b(comando)i(uti-)4241 | ||
| 2344 | 4130 y(lizado.)31 b(T)-6 b(ecle)24 b Ff(F10)h Fh(para)e(ativ)l(ar)h(o)g | ||
| 2345 | (men)n(u.)p eop end | ||
| 2346 | %%Page: 2 2 | ||
| 2347 | TeXDict begin @landscape 2 1 bop -555 -364 a Fi(GNU)45 | ||
| 2348 | b(Emacs:)62 b(Cart)o(~)-68 b(ao)45 b(de)i(Refer)m(^)-66 | ||
| 2349 | b(encia)259 -266 y Fh(\(para)24 b(v)n(ers~)-35 b(ao)24 | ||
| 2350 | b(22\))-450 -61 y Fg(Bu\013ers)-450 93 y Fh(seleciona)g(outro)h | ||
| 2351 | (bu\013er)779 b Ff(C-x)36 b(b)-450 163 y Fh(lista)23 | ||
| 2352 | b(to)r(dos)i(bu\013ers)890 b Ff(C-x)36 b(C-b)-450 233 | ||
| 2353 | y Fh(mata)24 b(um)g(bu\013er)960 b Ff(C-x)36 b(k)-450 | ||
| 2354 | 415 y Fg(T)-10 b(ransp)s(osi\030)-51 b(c)o(~)-56 b(ao)-450 | ||
| 2355 | 569 y Fh(transp~)-35 b(oe)25 b Fe(caracteres)795 b Ff(C-t)-450 | ||
| 2356 | 638 y Fh(transp~)-35 b(oe)25 b Fe(pala)n(vras)858 b Ff(M-t)-450 | ||
| 2357 | 708 y Fh(transp~)-35 b(oe)25 b Fe(linhas)945 b Ff(C-x)36 | ||
| 2358 | b(C-t)-450 778 y Fh(transp~)-35 b(oe)25 b Fe(sexps)964 | ||
| 2359 | b Ff(C-M-t)-450 979 y Fg(Corre\030)-51 b(c)o(~)-56 b(ao)38 | ||
| 2360 | b(Ortogr)o(\023)-56 b(a\014ca)-450 1133 y Fh(v)n(eri\014ca)24 | ||
| 2361 | b(a)g(pala)n(vra)g(corren)n(te)639 b Ff(M-$)-450 1203 | ||
| 2362 | y Fh(v)n(eri\014ca)24 b(to)r(das)h(pala)n(vras)e(de)i(uma)e(regi~)-35 | ||
| 2363 | b(ao)152 b Ff(M-x)36 b(ispell-region)-450 1272 y Fh(v)n(eri\014ca)24 | ||
| 2364 | b(to)r(do)h(o)f(bu\013er)656 b Ff(M-x)36 b(ispell-buffer)-450 | ||
| 2365 | 1474 y Fg(T)-10 b(ags)-450 1628 y Fh(busca)24 b(uma)g(tag)h(\(uma)f | ||
| 2366 | (de\014ni\030)-31 b(c~)c(ao\))485 b Ff(M-.)-450 1698 | ||
| 2367 | y Fh(encon)n(tra)25 b(a)f(pr\023)-35 b(oxima)23 b(o)r(corr)n(^)-33 | ||
| 2368 | b(encia)25 b(da)f(tag)282 b Ff(C-u)36 b(M-.)-450 1768 | ||
| 2369 | y Fh(esp)r(eci\014ca)25 b(um)f(no)n(v)n(o)g(arquiv)n(o)g(de)g(tags)142 | ||
| 2370 | b Ff(M-x)36 b(visit-tags-table)-450 1866 y Fh(busca)24 | ||
| 2371 | b(p)r(or)g(regexp)g(em)g(to)r(dos)h(arquiv)n(os)188 b | ||
| 2372 | Ff(M-x)36 b(tags-search)-450 1936 y Fh(busca)24 b(e)g(subst.)32 | ||
| 2373 | b(em)23 b(to)r(dos)i(arquiv)n(os)119 b Ff(M-x)36 b(tags-query-replace) | ||
| 2374 | -450 2005 y Fh(con)n(tin)n(ua)c(a)h(\023)-37 b(ultima)31 | ||
| 2375 | b(busca)h(ou)f(busca)h(e)f(substi-)-450 2075 y(tui\030)-31 | ||
| 2376 | b(c~)c(ao)990 2005 y Ff(M-,)-450 2274 y Fg(Shells)-450 | ||
| 2377 | 2428 y Fh(executa)26 b(um)d(comando)i(do)f(shell)528 | ||
| 2378 | b Ff(M-!)-450 2498 y Fh(executa)26 b(um)d(comando)i(do)f(shell)f(na)h | ||
| 2379 | (regi~)-35 b(ao)223 b Ff(M-|)-450 2568 y Fh(\014ltra)24 | ||
| 2380 | b(uma)f(regi~)-35 b(ao)24 b(p)r(or)g(um)f(comando)i(do)f(shell)120 | ||
| 2381 | b Ff(C-u)36 b(M-|)-450 2638 y Fh(inicia)23 b(um)h(shell)f(na)h(janela)g | ||
| 2382 | Ff(*shell*)420 b(M-x)36 b(shell)-450 2839 y Fg(Ret)o(^)-56 | ||
| 2383 | b(angulos)-450 2993 y Fh(copia)24 b(o)g(ret^)-35 b(angulo)25 | ||
| 2384 | b(para)f(o)f(registrador)330 b Ff(C-x)36 b(r)g(r)-450 | ||
| 2385 | 3062 y Fh(corta)24 b(o)g(ret^)-35 b(angulo)912 b Ff(C-x)36 | ||
| 2386 | b(r)g(k)-450 3132 y Fh(cola)24 b(o)g(ret^)-35 b(angulo)947 | ||
| 2387 | b Ff(C-x)36 b(r)g(y)-450 3202 y Fh(abre)24 b(o)g(ret^)-35 | ||
| 2388 | b(angulo,)24 b(mo)n(v)n(e)g(o)g(texto)h(para)f(direita)107 | ||
| 2389 | b Ff(C-x)36 b(r)g(o)-450 3272 y Fh(tro)r(ca)24 b(p)r(or)g(espa\030)-31 | ||
| 2390 | b(cos)25 b(o)e(con)n(te)r(\023)-37 b(udo)26 b(do)e(ret^)-35 | ||
| 2391 | b(angulo)133 b Ff(C-x)36 b(r)g(c)-450 3341 y Fh(an)n(tep~)-35 | ||
| 2392 | b(oe)26 b(uma)e(linha)f(a)h(string)610 b Ff(C-x)36 b(r)g(t)-450 | ||
| 2393 | 3542 y Fg(Abreviaturas)-450 3696 y Fh(adiciona)24 b(uma)g(abreviatura)h | ||
| 2394 | (global)442 b Ff(C-x)36 b(a)g(g)-450 3766 y Fh(adiciona)24 | ||
| 2395 | b(abreviatura)h(ao)f(mo)r(do)g(lo)r(cal)352 b Ff(C-x)36 | ||
| 2396 | b(a)g(l)-450 3836 y Fh(adiciona)24 b(globalmen)n(te)h(expans~)-35 | ||
| 2397 | b(ao)26 b(de)e(abrev.)179 b Ff(C-x)36 b(a)g(i)f(g)-450 | ||
| 2398 | 3906 y Fh(adiciona)24 b(lo)r(calmen)n(te)h(expans~)-35 | ||
| 2399 | b(ao)25 b(de)g(abrev.)220 b Ff(C-x)36 b(a)g(i)f(l)-450 | ||
| 2400 | 3975 y Fh(explicitamen)n(te)25 b(expande)h(uma)e(abrev)366 | ||
| 2401 | b Ff(C-x)36 b(a)g(e)-450 4073 y Fh(completa)24 b(pala)n(vras)e(com)h | ||
| 2402 | (base)g(em)f(pala)n(vras)g(an-)-450 4143 y(teriores)990 | ||
| 2403 | 4073 y Ff(M-/)1860 -364 y Fg(Express~)-57 b(oes)39 b(Regulares)1860 | ||
| 2404 | -208 y Fh(qualquer)24 b(caracter)h(menos)f(no)n(v)l(a)g(linha)346 | ||
| 2405 | b Ff(.)71 b Fh(\(dot\))1860 -139 y(zero)24 b(ou)g(mais)f(rep)r(eti\030) | ||
| 2406 | -31 b(c~)c(oes)725 b Ff(*)1860 -69 y Fh(uma)24 b(ou)g(mais)f(rep)r | ||
| 2407 | (eti\030)-31 b(c~)c(oes)717 b Ff(+)1860 1 y Fh(zero)24 | ||
| 2408 | b(ou)g(uma)g(rep)r(eti\030)-31 b(c~)c(ao)757 b Ff(?)1860 | ||
| 2409 | 71 y Fh(protege)25 b(o)f(caracter)g(esp)r(ecial)h Fb(c)565 | ||
| 2410 | b Ff(\\)p Fb(c)1860 140 y Fh(\(\\or"\))1253 b Ff(\\|)1860 | ||
| 2411 | 210 y Fh(agrupamen)n(to)1040 b Ff(\\\()36 b Fa(:)11 b(:)h(:)34 | ||
| 2412 | b Ff(\\\))1860 280 y Fh(mesmo)24 b(texto)h(que)f Fb(n)5 | ||
| 2413 | b Fh(-)n(\023)-33 b(esimo)24 b(grup)r(o)447 b Ff(\\)p | ||
| 2414 | Fb(n)1860 349 y Fh(quebra)24 b(de)g(pala)n(vra)886 b | ||
| 2415 | Ff(\\b)1860 419 y Fh(sem)24 b(quebra)g(de)g(pala)n(vra)744 | ||
| 2416 | b Ff(\\B)1860 518 y Fe(en)n(tidade)707 b(casa)26 b(in)-9 | ||
| 2417 | b(\023)-32 b(\020cio)70 b(casa)26 b(\014m)1860 587 y | ||
| 2418 | Fh(linha)856 b Ff(^)400 b($)1860 657 y Fh(pala)n(vra)782 | ||
| 2419 | b Ff(\\<)365 b(\\>)1860 727 y Fh(bu\013er)831 b Ff(\\`)365 | ||
| 2420 | b(\\')1860 796 y Fe(classe)27 b(de)g(caracteres)315 b(casa)26 | ||
| 2421 | b(esses)91 b(casa)26 b(os)h(outros)1860 866 y Fh(conjun)n(to)e(expl)-8 | ||
| 2422 | b(\023)-27 b(\020cito)459 b Ff([)35 b Fa(:)12 b(:)f(:)35 | ||
| 2423 | b Ff(])212 b([^)36 b Fa(:)11 b(:)g(:)35 b Ff(])1860 936 | ||
| 2424 | y Fh(caracter)25 b(de)f(sin)n(taxe)g(de)g(pala)n(vra)84 | ||
| 2425 | b Ff(\\w)365 b(\\W)1860 1006 y Fh(caracter)25 b(de)f(sin)n(taxe)g(de)g | ||
| 2426 | Fb(c)278 b Ff(\\s)p Fb(c)332 b Ff(\\S)p Fb(c)1860 1201 | ||
| 2427 | y Fg(Conjun)m(tos)37 b(de)g(Carac.)50 b(In)m(ternacionais)1860 | ||
| 2428 | 1357 y Fh(esp)r(eci\014ca)25 b(uma)f(l)-8 b(\023)-27 | ||
| 2429 | b(\020ngua)24 b(principal)488 b Ff(C-x)36 b(RET)g(l)1860 | ||
| 2430 | 1427 y Fh(mostra)24 b(to)r(dos)g(m)n(\023)-33 b(eto)r(dos)25 | ||
| 2431 | b(de)f(inser\030)-31 b(c~)c(ao)96 b Ff(M-x)36 b(list-input-methods)1860 | ||
| 2432 | 1496 y Fh(habilita/desabilita)24 b(um)g(m)n(\023)-33 | ||
| 2433 | b(eto)r(do)25 b(de)f(inser\030)-31 b(c~)c(ao)136 b Ff(C-\\)1860 | ||
| 2434 | 1566 y Fh(determina)24 b(o)g(sistema)g(de)g(co)r(di\014ca\030)-31 | ||
| 2435 | b(c~)c(ao)369 b Ff(C-x)36 b(RET)g(c)1860 1636 y Fh(mostra)24 | ||
| 2436 | b(sistemas)f(de)h(co)r(di\014ca\030)-31 b(c~)c(ao)166 | ||
| 2437 | b Ff(M-x)37 b(list-coding-systems)1860 1706 y Fh(escolhe)25 | ||
| 2438 | b(a)e(co)r(di\014ca\030)-31 b(c~)c(ao)26 b(preferida)143 | ||
| 2439 | b Ff(M-x)36 b(prefer-coding-system)1860 1911 y Fg(Info)1860 | ||
| 2440 | 2066 y Fh(en)n(tra)24 b(no)g(leitor)g(de)g(Info)760 b | ||
| 2441 | Ff(C-h)36 b(i)1860 2136 y Fh(busca)24 b(fun\030)-31 b(c~)c(ao)25 | ||
| 2442 | b(ou)f(arquiv)n(o)g(no)g(Info)448 b Ff(C-h)36 b(S)1860 | ||
| 2443 | 2234 y Fh(Mo)n(vimen)n(ta\030)-31 b(c~)c(ao)25 b(em)f(um)g(no)r(do:) | ||
| 2444 | 1931 2333 y(rola)f(para)h(fren)n(te)891 b Ff(SPC)1931 | ||
| 2445 | 2402 y Fh(rola)23 b(para)h(tr\023)-35 b(as)949 b Ff(DEL)1931 | ||
| 2446 | 2472 y Fh(in)-8 b(\023)-27 b(\020cio)23 b(do)h(no)r(do)933 | ||
| 2447 | b Ff(.)71 b Fh(\(dot\))1860 2570 y(Mo)n(vimen)n(ta\030)-31 | ||
| 2448 | b(c~)c(ao)25 b(en)n(tre)g(no)r(dos:)1931 2669 y Fe(pr\023)-41 | ||
| 2449 | b(oximo)22 b Fh(no)r(do)902 b Ff(n)1931 2738 y Fh(no)r(do)24 | ||
| 2450 | b Fe(an)n(terior)911 b Ff(p)1931 2808 y Fh(mo)n(v)n(er)23 | ||
| 2451 | b(cima)h Fe(cima)824 b Ff(u)1931 2878 y Fh(seleciona)24 | ||
| 2452 | b(item)g(do)g(men)n(u)g(p)r(elo)g(nome)311 b Ff(m)1931 | ||
| 2453 | 2948 y Fh(seleciona)24 b Fb(n)5 b Fh(-)n(\023)-33 b(esimo)23 | ||
| 2454 | b(item)h(do)g(men)n(u)385 b Fb(n)1931 3017 y Fh(segue)24 | ||
| 2455 | b(refer)n(^)-33 b(encia)24 b(cruzada)h(\(return)f(with)f | ||
| 2456 | Ff(l)p Fh(\))133 b Ff(f)1931 3087 y Fh(retorna)26 b(\023)-37 | ||
| 2457 | b(ultimo)23 b(no)r(do)i(visitado)483 b Ff(l)1931 3157 | ||
| 2458 | y Fh(retorna)24 b(ao)g(diret\023)-35 b(orio)23 b(de)h(no)r(dos)470 | ||
| 2459 | b Ff(d)1931 3227 y Fh(ir)22 b(para)i(o)g(top)r(o)h(do)f(arquiv)n(o)f | ||
| 2460 | (Info)445 b Ff(t)1931 3296 y Fh(ir)22 b(para)i(qualquer)g(no)r(do)h(p)r | ||
| 2461 | (or)e(nome)382 b Ff(g)1860 3395 y Fh(Outros:)1931 3493 | ||
| 2462 | y(executar)25 b Fe(tutorial)c Fh(do)j(Info)575 b Ff(h)1931 | ||
| 2463 | 3563 y Fe(sair)22 b Fh(Info)1097 b Ff(q)1931 3633 y Fh(busca)24 | ||
| 2464 | b(p)r(or)f(express~)-35 b(ao)25 b(regular)513 b Ff(M-s)4170 | ||
| 2465 | -364 y Fg(Registrador)4170 -208 y Fh(salv)l(a)24 b(regi~)-35 | ||
| 2466 | b(ao)24 b(em)f(um)h(registrador)488 b Ff(C-x)36 b(r)g(s)4170 | ||
| 2467 | -139 y Fh(insere)23 b(o)h(con)n(te)r(\023)-37 b(udo)26 | ||
| 2468 | b(do)e(registrador)f(no)h(bu\013er)150 b Ff(C-x)36 b(r)g(i)4170 | ||
| 2469 | -40 y Fh(salv)l(a)24 b(v)l(alor)f(do)h(p)r(on)n(to)h(no)f(registrador) | ||
| 2470 | 361 b Ff(C-x)36 b(r)g(SPC)4170 29 y Fh(salta)24 b(para)g(o)g(p)r(on)n | ||
| 2471 | (to)h(salv)n(o)e(no)h(registrador)243 b Ff(C-x)36 b(r)g(j)4170 | ||
| 2472 | 234 y Fg(Macros)i(de)g(T)-10 b(eclado)4170 390 y Fe(inicia)22 | ||
| 2473 | b Fh(a)i(de\014ni\030)-31 b(c~)c(ao)25 b(de)f(uma)g(macro)436 | ||
| 2474 | b Ff(C-x)36 b(\()4170 460 y Fe(encerra)23 b Fh(a)h(de\014ni\030)-31 | ||
| 2475 | b(c~)c(ao)25 b(de)f(uma)g(macro)362 b Ff(C-x)36 b(\))4170 | ||
| 2476 | 529 y Fe(executa)24 b Fh(a)h(\023)-37 b(ultima)24 b(macro)g(de\014nida) | ||
| 2477 | 410 b Ff(C-x)36 b(e)4170 599 y Fh(adiciona)24 b(a)i(\023)-37 | ||
| 2478 | b(ultima)24 b(macro)f(de\014nida)426 b Ff(C-u)36 b(C-x)g(\()4170 | ||
| 2479 | 669 y Fh(nomeia)24 b(a)i(\023)-37 b(ultima)23 b(macro)h(de\014nida)129 | ||
| 2480 | b Ff(M-x)37 b(name-last-kbd-macro)4170 739 y Fh(insere)23 | ||
| 2481 | b(uma)h(de\014ni\030)-31 b(c~)c(ao)25 b(em)f(Lisp)318 | ||
| 2482 | b Ff(M-x)36 b(insert-kbd-macro)4170 942 y Fg(Lidando)h(com)i(Emacs)f | ||
| 2483 | (Lisp)4170 1097 y Fh(a)n(v)l(alia)24 b Fe(sexp)g Fh(an)n(tes)h(do)f(p)r | ||
| 2484 | (on)n(to)603 b Ff(C-x)36 b(C-e)4170 1167 y Fh(a)n(v)l(alia)24 | ||
| 2485 | b(a)g Fe(defun)g Fh(corren)n(te)712 b Ff(C-M-x)4170 1237 | ||
| 2486 | y Fh(a)n(v)l(alia)24 b(a)g Fe(regi)o(~)-40 b(ao)824 b | ||
| 2487 | Ff(M-x)36 b(eval-region)4170 1306 y Fh(l)n(^)-33 b(e)23 | ||
| 2488 | b(e)h(a)n(v)l(alia)g(o)g(minibu\013er)736 b Ff(M-:)4170 | ||
| 2489 | 1376 y Fh(carrega)24 b(do)g(diret\023)-35 b(orio)23 b(padr~)-35 | ||
| 2490 | b(ao)25 b(do)f(sistema)106 b Ff(M-x)36 b(load-library)4170 | ||
| 2491 | 1581 y Fg(P)m(ersonaliza\030)-51 b(c)o(~)-56 b(ao)37 | ||
| 2492 | b(Simples)4170 1737 y Fh(p)r(ersonaliza)24 b(v)l(ari\023)-35 | ||
| 2493 | b(av)n(eis)24 b(e)g(fon)n(tes)408 b Ff(M-x)36 b(customize)4170 | ||
| 2494 | 1835 y Fh(F)-6 b(azendo)25 b(teclas)g(de)f(atalho)h(globais)e(em)h | ||
| 2495 | (Emacs)g(Lisp)f(\(exemplos\):)4170 1933 y Ff(\(global-set-key)40 | ||
| 2496 | b("\\C-cg")d('goto-line\))4170 2003 y(\(global-set-key)j("\\M-#")d | ||
| 2497 | ('query-replace-regexp\))4170 2208 y Fg(Escrev)m(endo)h(Comandos)4170 | ||
| 2498 | 2364 y Ff(\(defun)f Fb(c)l(ommand-name)43 b Ff(\()p Fb(ar)l(gs)5 | ||
| 2499 | b Ff(\))4241 2433 y(")p Fb(do)l(cumentation)g Ff(")38 | ||
| 2500 | b(\(interactive)g(")p Fb(template)5 b Ff("\))4241 2503 | ||
| 2501 | y Fb(b)l(o)l(dy)h Ff(\))4170 2601 y Fh(Um)23 b(exemplo:)4170 | ||
| 2502 | 2700 y Ff(\(defun)37 b(this-line-to-top-of-win)q(dow)42 | ||
| 2503 | b(\(line\))4241 2769 y("Reposition)c(line)e(point)h(is)f(on)g(to)g(top) | ||
| 2504 | g(of)g(window.)4170 2839 y(With)g(ARG,)h(put)f(point)h(on)f(line)g | ||
| 2505 | (ARG.")4241 2909 y(\(interactive)i("P"\))4241 2979 y(\(recenter)f(\(if) | ||
| 2506 | g(\(null)f(line\))4735 3048 y(0)4664 3118 y(\(prefix-numeric-value)41 | ||
| 2507 | b(line\)\)\)\))4170 3216 y Fh(A)19 b(esp)r(eci\014cao)i | ||
| 2508 | Ff(interactive)i Fh(explica)d(como)g(in)n(terativ)l(amen)n(te)i(ler)d | ||
| 2509 | (ar-)4170 3286 y(gumen)n(tos.)32 b(T)-6 b(ecle)25 b Ff(C-h)36 | ||
| 2510 | b(f)f(interactive)27 b Fh(para)d(mais)f(detalhes.)4463 | ||
| 2511 | 3550 y Fd(Cop)n(yrigh)n(t)4766 3548 y(c)4749 3550 y Fc(\015)e | ||
| 2512 | Fd(2006)h(F)-5 b(ree)22 b(Soft)n(w)n(are)h(F)-5 b(oundation,)20 | ||
| 2513 | b(Inc.)4627 3606 y(v2.3)i(for)f(GNU)f(Emacs)h(v)n(ersion)h(22,)f(2006) | ||
| 2514 | 4760 3661 y(designed)f(b)n(y)h(Stephen)f(Gildea)4170 | ||
| 2515 | 3746 y(P)n(ermission)28 b(is)f(gran)n(ted)i(to)f(mak)n(e)h(and)e | ||
| 2516 | (distribute)f(copies)j(of)f(this)f(card)h(pro-)4170 3802 | ||
| 2517 | y(vided)23 b(the)h(cop)n(yrigh)n(t)h(notice)g(and)f(this)f(p)r | ||
| 2518 | (ermission)h(notice)g(are)h(preserv)n(ed)g(on)4170 3857 | ||
| 2519 | y(all)20 b(copies.)4170 3942 y(F)-5 b(or)21 b(copies)g(of)g(the)g(GNU)e | ||
| 2520 | (Emacs)i(man)n(ual,)f(write)h(to)g(the)f(F)-5 b(ree)22 | ||
| 2521 | b(Soft)n(w)n(are)g(F)-5 b(oun-)4170 3998 y(dation,)29 | ||
| 2522 | b(Inc.,)g(51)g(F)-5 b(ranklin)28 b(Street,)h(Fifth)f(Flo)r(or,)h | ||
| 2523 | (Boston,)i(MA)d(02110-1301)4170 4053 y(USA)p eop end | ||
| 2524 | %%Trailer | ||
| 2525 | |||
| 2526 | userdict /end-hook known{end-hook}if | ||
| 2527 | %%EOF | ||
diff --git a/etc/pt-br-refcard.tex b/etc/pt-br-refcard.tex new file mode 100644 index 00000000000..900855911d7 --- /dev/null +++ b/etc/pt-br-refcard.tex | |||
| @@ -0,0 +1,686 @@ | |||
| 1 | % Reference Card for GNU Emacs version 22 on Unix systems | ||
| 2 | %**start of header | ||
| 3 | \newcount\columnsperpage | ||
| 4 | \newcount\letterpaper | ||
| 5 | |||
| 6 | % This file can be printed with 1, 2, or 3 columns per page (see below). | ||
| 7 | % Specify how many you want here. | ||
| 8 | |||
| 9 | \columnsperpage=3 | ||
| 10 | |||
| 11 | % Set letterpapaer to 0 for A4 paper, 1 for letter (US) paper. Useful | ||
| 12 | % only when columnsperpage is 2 or 3. | ||
| 13 | |||
| 14 | \letterpaper=0 | ||
| 15 | |||
| 16 | % Nothing else needs to be changed below this line. | ||
| 17 | % Copyright (C) 1987, 1993, 1996, 1997, 2002, 2003, 2004, | ||
| 18 | % 2006 Free Software Foundation, Inc. | ||
| 19 | |||
| 20 | % This file is part of GNU Emacs. | ||
| 21 | |||
| 22 | % GNU Emacs is free software; you can redistribute it and/or modify | ||
| 23 | % it under the terms of the GNU General Public License as published by | ||
| 24 | % the Free Software Foundation; either version 2, or (at your option) | ||
| 25 | % any later version. | ||
| 26 | |||
| 27 | % GNU Emacs is distributed in the hope that it will be useful, | ||
| 28 | % but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 29 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 30 | % GNU General Public License for more details. | ||
| 31 | |||
| 32 | % You should have received a copy of the GNU General Public License | ||
| 33 | % along with GNU Emacs; see the file COPYING. If not, write to | ||
| 34 | % the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 35 | % Boston, MA 02110-1301, USA. | ||
| 36 | |||
| 37 | % This file is intended to be processed by plain TeX (TeX82). | ||
| 38 | % | ||
| 39 | % The final reference card has six columns, three on each side. | ||
| 40 | % This file can be used to produce it in any of three ways: | ||
| 41 | % 1 column per page | ||
| 42 | % produces six separate pages, each of which needs to be reduced to 80%. | ||
| 43 | % This gives the best resolution. | ||
| 44 | % 2 columns per page | ||
| 45 | % produces three already-reduced pages. | ||
| 46 | % You will still need to cut and paste. | ||
| 47 | % 3 columns per page | ||
| 48 | % produces two pages which must be printed sideways to make a | ||
| 49 | % ready-to-use 8.5 x 11 inch reference card. | ||
| 50 | % For this you need a dvi device driver that can print sideways. | ||
| 51 | % Which mode to use is controlled by setting \columnsperpage above. | ||
| 52 | % | ||
| 53 | % To compile and print this document: | ||
| 54 | % tex refcard.tex | ||
| 55 | % dvips -t landscape refcard.dvi | ||
| 56 | % | ||
| 57 | % Author: | ||
| 58 | % Stephen Gildea | ||
| 59 | % Internet: gildea@stop.mail-abuse.org | ||
| 60 | % | ||
| 61 | % Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik | ||
| 62 | % for their many good ideas. | ||
| 63 | |||
| 64 | % If there were room, it would be nice to see a section on Dired. | ||
| 65 | |||
| 66 | % Translated from English to Portuguese by Rodrigo Real, send comments | ||
| 67 | % and suggestions to rreal@ucpel.tche.br. Thanks to Mario Goulart for | ||
| 68 | % the opinions. | ||
| 69 | |||
| 70 | |||
| 71 | \def\versionnumber{2.3} | ||
| 72 | \def\year{2006} | ||
| 73 | |||
| 74 | \def\shortcopyrightnotice{\vskip 1ex plus 2 fill | ||
| 75 | \centerline{\small \copyright\ \year\ Free Software Foundation, Inc. | ||
| 76 | Permissions on back. v\versionnumber}} | ||
| 77 | |||
| 78 | \def\copyrightnotice{ | ||
| 79 | \vskip 1ex plus 2 fill\begingroup\small | ||
| 80 | \centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.} | ||
| 81 | \centerline{v\versionnumber{} for GNU Emacs version 22, \year} | ||
| 82 | \centerline{designed by Stephen Gildea} | ||
| 83 | |||
| 84 | Permission is granted to make and distribute copies of | ||
| 85 | this card provided the copyright notice and this permission notice | ||
| 86 | are preserved on all copies. | ||
| 87 | |||
| 88 | For copies of the GNU Emacs manual, write to the Free Software | ||
| 89 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
| 90 | |||
| 91 | \endgroup} | ||
| 92 | |||
| 93 | % make \bye not \outer so that the \def\bye in the \else clause below | ||
| 94 | % can be scanned without complaint. | ||
| 95 | \def\bye{\par\vfill\supereject\end} | ||
| 96 | |||
| 97 | \newdimen\intercolumnskip %horizontal space between columns | ||
| 98 | \newbox\columna %boxes to hold columns already built | ||
| 99 | \newbox\columnb | ||
| 100 | |||
| 101 | \def\ncolumns{\the\columnsperpage} | ||
| 102 | |||
| 103 | \message{[\ncolumns\space | ||
| 104 | column\if 1\ncolumns\else s\fi\space per page]} | ||
| 105 | |||
| 106 | \def\scaledmag#1{ scaled \magstep #1} | ||
| 107 | |||
| 108 | % This multi-way format was designed by Stephen Gildea October 1986. | ||
| 109 | % Note that the 1-column format is fontfamily-independent. | ||
| 110 | \if 1\ncolumns %one-column format uses normal size | ||
| 111 | \hsize 4in | ||
| 112 | \vsize 10in | ||
| 113 | \voffset -.7in | ||
| 114 | \font\titlefont=\fontname\tenbf \scaledmag3 | ||
| 115 | \font\headingfont=\fontname\tenbf \scaledmag2 | ||
| 116 | \font\smallfont=\fontname\sevenrm | ||
| 117 | \font\smallsy=\fontname\sevensy | ||
| 118 | |||
| 119 | \footline{\hss\folio} | ||
| 120 | \def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}} | ||
| 121 | \else %2 or 3 columns uses prereduced size | ||
| 122 | \hsize 3.2in | ||
| 123 | \if 1\the\letterpaper | ||
| 124 | \vsize 7.95in | ||
| 125 | \else | ||
| 126 | \vsize 7.65in | ||
| 127 | \fi | ||
| 128 | \hoffset -.75in | ||
| 129 | \voffset -.745in | ||
| 130 | \font\titlefont=cmbx10 \scaledmag2 | ||
| 131 | \font\headingfont=cmbx10 \scaledmag1 | ||
| 132 | \font\smallfont=cmr6 | ||
| 133 | \font\smallsy=cmsy6 | ||
| 134 | \font\eightrm=cmr8 | ||
| 135 | \font\eightbf=cmbx8 | ||
| 136 | \font\eightit=cmti8 | ||
| 137 | \font\eighttt=cmtt8 | ||
| 138 | \font\eightmi=cmmi8 | ||
| 139 | \font\eightsy=cmsy8 | ||
| 140 | \textfont0=\eightrm | ||
| 141 | \textfont1=\eightmi | ||
| 142 | \textfont2=\eightsy | ||
| 143 | \def\rm{\eightrm} | ||
| 144 | \def\bf{\eightbf} | ||
| 145 | \def\it{\eightit} | ||
| 146 | \def\tt{\eighttt} | ||
| 147 | \if 1\the\letterpaper | ||
| 148 | \normalbaselineskip=.8\normalbaselineskip | ||
| 149 | \else | ||
| 150 | \normalbaselineskip=.7\normalbaselineskip | ||
| 151 | \fi | ||
| 152 | \normallineskip=.8\normallineskip | ||
| 153 | \normallineskiplimit=.8\normallineskiplimit | ||
| 154 | \normalbaselines\rm %make definitions take effect | ||
| 155 | |||
| 156 | \if 2\ncolumns | ||
| 157 | \let\maxcolumn=b | ||
| 158 | \footline{\hss\rm\folio\hss} | ||
| 159 | \def\makefootline{\vskip 2in \hsize=6.86in\line{\the\footline}} | ||
| 160 | \else \if 3\ncolumns | ||
| 161 | \let\maxcolumn=c | ||
| 162 | \nopagenumbers | ||
| 163 | \else | ||
| 164 | \errhelp{You must set \columnsperpage equal to 1, 2, or 3.} | ||
| 165 | \errmessage{Illegal number of columns per page} | ||
| 166 | \fi\fi | ||
| 167 | |||
| 168 | %% \intercolumnskip=.46in | ||
| 169 | \intercolumnskip=.65in | ||
| 170 | \def\abc{a} | ||
| 171 | \output={% %see The TeXbook page 257 | ||
| 172 | % This next line is useful when designing the layout. | ||
| 173 | %\immediate\write16{Column \folio\abc\space starts with \firstmark} | ||
| 174 | \if \maxcolumn\abc \multicolumnformat \global\def\abc{a} | ||
| 175 | \else\if a\abc | ||
| 176 | \global\setbox\columna\columnbox \global\def\abc{b} | ||
| 177 | %% in case we never use \columnb (two-column mode) | ||
| 178 | \global\setbox\columnb\hbox to -\intercolumnskip{} | ||
| 179 | \else | ||
| 180 | \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi} | ||
| 181 | \def\multicolumnformat{\shipout\vbox{\makeheadline | ||
| 182 | \hbox{\box\columna\hskip\intercolumnskip | ||
| 183 | \box\columnb\hskip\intercolumnskip\columnbox} | ||
| 184 | \makefootline}\advancepageno} | ||
| 185 | \def\columnbox{\leftline{\pagebody}} | ||
| 186 | |||
| 187 | \def\bye{\par\vfill\supereject | ||
| 188 | \if a\abc \else\null\vfill\eject\fi | ||
| 189 | \if a\abc \else\null\vfill\eject\fi | ||
| 190 | \end} | ||
| 191 | \fi | ||
| 192 | |||
| 193 | % we won't be using math mode much, so redefine some of the characters | ||
| 194 | % we might want to talk about | ||
| 195 | \catcode`\^=12 | ||
| 196 | \catcode`\_=12 | ||
| 197 | |||
| 198 | \chardef\\=`\\ | ||
| 199 | \chardef\{=`\{ | ||
| 200 | \chardef\}=`\} | ||
| 201 | |||
| 202 | \hyphenation{mini-buf-fer} | ||
| 203 | |||
| 204 | \parindent 0pt | ||
| 205 | \parskip 1ex plus .5ex minus .5ex | ||
| 206 | |||
| 207 | \def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip} | ||
| 208 | |||
| 209 | % newcolumn - force a new column. Use sparingly, probably only for | ||
| 210 | % the first column of a page, which should have a title anyway. | ||
| 211 | \outer\def\newcolumn{\vfill\eject} | ||
| 212 | |||
| 213 | % title - page title. Argument is title text. | ||
| 214 | \outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex} | ||
| 215 | |||
| 216 | % section - new major section. Argument is section name. | ||
| 217 | \outer\def\section#1{\par\filbreak | ||
| 218 | \vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}% | ||
| 219 | \vskip 2ex plus 1ex minus 1.5ex} | ||
| 220 | |||
| 221 | \newdimen\keyindent | ||
| 222 | |||
| 223 | % beginindentedkeys...endindentedkeys - key definitions will be | ||
| 224 | % indented, but running text, typically used as headings to group | ||
| 225 | % definitions, will not. | ||
| 226 | \def\beginindentedkeys{\keyindent=1em} | ||
| 227 | \def\endindentedkeys{\keyindent=0em} | ||
| 228 | \endindentedkeys | ||
| 229 | |||
| 230 | % paralign - begin paragraph containing an alignment. | ||
| 231 | % If an \halign is entered while in vertical mode, a parskip is never | ||
| 232 | % inserted. Using \paralign instead of \halign solves this problem. | ||
| 233 | \def\paralign{\vskip\parskip\halign} | ||
| 234 | |||
| 235 | % \<...> - surrounds a variable name in a code example | ||
| 236 | \def\<#1>{{\it #1\/}} | ||
| 237 | |||
| 238 | % kbd - argument is characters typed literally. Like the Texinfo command. | ||
| 239 | \def\kbd#1{{\tt#1}\null} %\null so not an abbrev even if period follows | ||
| 240 | |||
| 241 | % beginexample...endexample - surrounds literal text, such a code example. | ||
| 242 | % typeset in a typewriter font with line breaks preserved | ||
| 243 | \def\beginexample{\par\leavevmode\begingroup | ||
| 244 | \obeylines\obeyspaces\parskip0pt\tt} | ||
| 245 | {\obeyspaces\global\let =\ } | ||
| 246 | \def\endexample{\endgroup} | ||
| 247 | |||
| 248 | % key - definition of a key. | ||
| 249 | % \key{description of key}{key-name} | ||
| 250 | % prints the description left-justified, and the key-name in a \kbd | ||
| 251 | % form near the right margin. | ||
| 252 | \def\key#1#2{\leavevmode\hbox to \hsize{\vtop | ||
| 253 | {\hsize=.75\hsize\rightskip=1em | ||
| 254 | \hskip\keyindent\relax#1}\kbd{#2}\hfil}} | ||
| 255 | |||
| 256 | \newbox\metaxbox | ||
| 257 | \setbox\metaxbox\hbox{\kbd{M-x }} | ||
| 258 | \newdimen\metaxwidth | ||
| 259 | \metaxwidth=\wd\metaxbox | ||
| 260 | |||
| 261 | % metax - definition of a M-x command. | ||
| 262 | % \metax{description of command}{M-x command-name} | ||
| 263 | % Tries to justify the beginning of the command name at the same place | ||
| 264 | % as \key starts the key name. (The "M-x " sticks out to the left.) | ||
| 265 | \def\metax#1#2{\leavevmode\hbox to \hsize{\hbox to .75\hsize | ||
| 266 | {\hskip\keyindent\relax#1\hfil}% | ||
| 267 | \hskip -\metaxwidth minus 1fil | ||
| 268 | \kbd{#2}\hfil}} | ||
| 269 | |||
| 270 | % threecol - like "key" but with two key names. | ||
| 271 | % for example, one for doing the action backward, and one for forward. | ||
| 272 | \def\threecol#1#2#3{\hskip\keyindent\relax#1\hfil&\kbd{#2}\hfil\quad | ||
| 273 | &\kbd{#3}\hfil\quad\cr} | ||
| 274 | |||
| 275 | |||
| 276 | %**end of header | ||
| 277 | |||
| 278 | |||
| 279 | \title{GNU Emacs: Cart\~ao de Refer\^encia} | ||
| 280 | \centerline{(para vers\~ao 22)} | ||
| 281 | |||
| 282 | \section{Iniciando o Emacs} | ||
| 283 | |||
| 284 | Para entrar no GNU Emacs, digite: \kbd{emacs} | ||
| 285 | |||
| 286 | \section{Saindo do Emacs} | ||
| 287 | |||
| 288 | \key{suspende ou minimiza o Emacs}{C-z} | ||
| 289 | \key{encerra o Emacs}{C-x C-c} | ||
| 290 | |||
| 291 | \section{Arquivos} | ||
| 292 | |||
| 293 | \key{{\bf abre} um arquivo}{C-x C-f} | ||
| 294 | \key{{\bf salva} um arquivo em disco}{C-x C-s} | ||
| 295 | \key{salva {\bf todos} arquivos abertos}{C-x s} | ||
| 296 | \key{{\bf insere} outro arquivo neste buffer}{C-x i} | ||
| 297 | \key{substitui este arquivo por outro}{C-x C-v} | ||
| 298 | \key{salva o buffer em um arquivo especificado}{C-x C-w} | ||
| 299 | \key{alterna o estado de somente leitura do buffer}{C-x C-q} | ||
| 300 | |||
| 301 | \section{Ajuda (Help)} | ||
| 302 | |||
| 303 | Tecle \kbd{C-h} (ou \kbd{F1}) e siga as instru{\c{c}}{\~o}es. | ||
| 304 | |||
| 305 | \key{remove a janela de ajuda}{C-x 1} | ||
| 306 | \key{rola a janela de ajuda}{C-M-v} | ||
| 307 | |||
| 308 | \key{apropos: mostra comandos que casam com a string}{C-h a} | ||
| 309 | \key{descreve fun{\c{c}}{\~a}o associada a teclas}{C-h k} | ||
| 310 | \key{descreve uma fun{\c{c}}{\~a}o}{C-h f} | ||
| 311 | \key{busca informa{\c{c}}{\~o}es espec{\'\i}ficas do modo}{C-h m} | ||
| 312 | |||
| 313 | \section{Recuperando-se de Erros} | ||
| 314 | |||
| 315 | \key{{\bf aborta} uma opera{\c{c}}{\~a}o}{C-g} | ||
| 316 | \metax{{\bf recupera} arquivos ap{\'o}s crash}{M-x recover-session} | ||
| 317 | \metax{desfaz uma altera{\c{c}}{\~a}o ({\bf undo})}{C-x u, C-_ {\rm or} C-/} | ||
| 318 | \metax{restaura um buffer para o arquivo}{M-x revert-buffer} | ||
| 319 | \key{redesenha a tela}{C-l} | ||
| 320 | |||
| 321 | \section{Busca Incremental} | ||
| 322 | |||
| 323 | \key{busca para frente}{C-s} | ||
| 324 | \key{busca para tr{\'a}s}{C-r} | ||
| 325 | \key{busca por express{\~a}o regular}{C-M-s} | ||
| 326 | \key{busca por express{\~a}o regular para tr{\'a}s}{C-M-r} | ||
| 327 | |||
| 328 | \key{seleciona a string de pesquisa anterior}{M-p} | ||
| 329 | \key{seleciona a string seguinte de pesquisa}{M-n} | ||
| 330 | \key{sai da busca incremental}{RET} | ||
| 331 | \key{desfaz o efeito do {\'u}ltimo caracter}{DEL} | ||
| 332 | \key{encerra a busca}{C-g} | ||
| 333 | |||
| 334 | Use \kbd{C-s} ou \kbd{C-r} novamente para repetir a busca. | ||
| 335 | \kbd{C-g} cancela apenas o que ainda n{\~a}o foi feito. | ||
| 336 | |||
| 337 | \shortcopyrightnotice | ||
| 338 | |||
| 339 | \section{Movimenta{\c{c}}{\~a}o} | ||
| 340 | |||
| 341 | \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr | ||
| 342 | \threecol{{\bf avan{\c{c}}ar}}{{\bf tr{\'a}s}}{{\bf frente}} | ||
| 343 | \threecol{um caracter}{C-b}{C-f} | ||
| 344 | \threecol{uma palavra}{M-b}{M-f} | ||
| 345 | \threecol{uma linha}{C-p}{C-n} | ||
| 346 | \threecol{para in{\'\i}cio ou fim de linha}{C-a}{C-e} | ||
| 347 | \threecol{senten{\c{c}}a}{M-a}{M-e} | ||
| 348 | \threecol{par{\'a}grafo}{M-\{}{M-\}} | ||
| 349 | \threecol{p{\'a}gina}{C-x [}{C-x ]} | ||
| 350 | \threecol{sexp}{C-M-b}{C-M-f} | ||
| 351 | \threecol{fun{\c{c}}{\~a}o}{C-M-a}{C-M-e} | ||
| 352 | \threecol{para in{\'\i}cio ou fim do buffer}{M-<}{M->} | ||
| 353 | } | ||
| 354 | |||
| 355 | \key{rolar para pr{\'o}xima tela}{C-v} | ||
| 356 | \key{rolar para tela anterior}{M-v} | ||
| 357 | \key{rolar para esquerda}{C-x <} | ||
| 358 | \key{rolar para direita}{C-x >} | ||
| 359 | \key{rolar a linha corrente para o centro da tela}{C-u C-l} | ||
| 360 | |||
| 361 | \section{Cortando e Apagando} | ||
| 362 | |||
| 363 | \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr | ||
| 364 | \threecol{{\bf entidade a cortar}}{{\bf tr{\'a}s}}{{\bf frente}} | ||
| 365 | \threecol{caracter (apaga, n{\~a}o corta)}{DEL}{C-d} | ||
| 366 | \threecol{palavra}{M-DEL}{M-d} | ||
| 367 | \threecol{linha (at{\'e} o final)}{M-0 C-k}{C-k} | ||
| 368 | \threecol{senten{\c{c}}a}{C-x DEL}{M-k} | ||
| 369 | \threecol{sexp}{M-- C-M-k}{C-M-k} | ||
| 370 | } | ||
| 371 | |||
| 372 | \key{corta {\bf regi{\~a}o}}{C-w} | ||
| 373 | \key{copia a {\bf regi{\~a}o}}{M-w} | ||
| 374 | \key{cortar at{\'e} a pr{\'o}xima ocorr{\^e}ncia de {\it char}}{M-z {\it char}} | ||
| 375 | |||
| 376 | \key{colar a {\'u}ltima coisa cortada}{C-y} | ||
| 377 | \key{substitui a {\'u}lt. colagem pela c{\'o}pia anterior}{M-y} | ||
| 378 | |||
| 379 | \section{Marcando} | ||
| 380 | |||
| 381 | \key{posiciona a marca aqui}{C-@ {\rm or} C-SPC} | ||
| 382 | \key{troca a marca pelo ponto e vice-versa}{C-x C-x} | ||
| 383 | |||
| 384 | \key{coloca a marca {\it arg\/} {\bf palavras} adiante}{M-@} | ||
| 385 | \key{marca o {\bf par{\'a}grafo}}{M-h} | ||
| 386 | \key{marca a {\bf p{\'a}gina}}{C-x C-p} | ||
| 387 | \key{marca a {\bf sexp}}{C-M-@} | ||
| 388 | \key{marca uma {\bf fun{\c{c}}{\~a}o}}{C-M-h} | ||
| 389 | \key{marca todo {\bf buffer}}{C-x h} | ||
| 390 | |||
| 391 | \section{Busca e Substitui{\c{c}}{\~a}o} | ||
| 392 | |||
| 393 | \key{Substitui interativamente uma string}{M-\%} | ||
| 394 | % query-replace-regexp is bound to C-M-% but that can't be typed on | ||
| 395 | % consoles. | ||
| 396 | \metax{usando express{\~a}o regular}{M-x query-replace-regexp} | ||
| 397 | |||
| 398 | Respostas v{\'a}lidas no modo de busca e substitui{\c{c}}{\~a}o | ||
| 399 | |||
| 400 | \key{{\bf substitui} esta, e prossegue}{SPC} | ||
| 401 | \key{substitui esta e entrada e n{\~a}o avan{\c{c}}a}{,} | ||
| 402 | \key{{\bf pula} para a pr{\'o}xima sem substituir}{DEL} | ||
| 403 | \key{substitui em todo o texto restante}{!} | ||
| 404 | \key{{\bf volta} para a palavra anterior}{^} | ||
| 405 | \key{{\bf encerra}}{RET} | ||
| 406 | \key{entra na edi{\c{c}}{\~a}o recursiva (\kbd{C-M-c} para sair)}{C-r} | ||
| 407 | |||
| 408 | |||
| 409 | \section{M{\'u}ltiplas Janelas} | ||
| 410 | |||
| 411 | Quando forem mostrados 2 comandos, o segundo tem comportamento similar | ||
| 412 | para frame. | ||
| 413 | |||
| 414 | {\setbox0=\hbox{\kbd{0}}\advance\hsize by 0\wd0 | ||
| 415 | \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr | ||
| 416 | \threecol{elimina todas outras janelas}{C-x 1\ \ \ \ }{C-x 5 1} | ||
| 417 | \threecol{divide a janela, acima e abaixo}{C-x 2\ \ \ \ }{C-x 5 2} | ||
| 418 | \threecol{elimina esta janela}{C-x 0\ \ \ \ }{C-x 5 0} | ||
| 419 | }} | ||
| 420 | \key{divide a janela, lado a lado}{C-x 3} | ||
| 421 | |||
| 422 | \key{rola a outra janela}{C-M-v} | ||
| 423 | |||
| 424 | {\setbox0=\hbox{\kbd{0}}\advance\hsize by 2\wd0 | ||
| 425 | \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr | ||
| 426 | \threecol{leva o cursor para outra janela}{C-x o}{C-x 5 o} | ||
| 427 | |||
| 428 | \threecol{seleciona um buffer em outra janela}{C-x 4 b}{C-x 5 b} | ||
| 429 | \threecol{mostra um buffer em outra janela}{C-x 4 C-o}{C-x 5 C-o} | ||
| 430 | \threecol{busca um arquivo em outra janela}{C-x 4 f}{C-x 5 f} | ||
| 431 | \threecol{busca arquivo (ro) em outra janela}{C-x 4 r}{C-x 5 r} | ||
| 432 | \threecol{executa Dired em outra janela}{C-x 4 d}{C-x 5 d} | ||
| 433 | \threecol{busca tag em outra janela}{C-x 4 .}{C-x 5 .} | ||
| 434 | }} | ||
| 435 | |||
| 436 | \key{aumenta a janela na vertical}{C-x ^} | ||
| 437 | \key{estreita a janela}{C-x \{} | ||
| 438 | \key{alarga a janela}{C-x \}} | ||
| 439 | |||
| 440 | \section{Formatando} | ||
| 441 | |||
| 442 | \key{identa a {\bf linha} corrente (modo)}{TAB} | ||
| 443 | \key{identa a {\bf regi{\~a}o} (modo)}{C-M-\\} | ||
| 444 | \key{identa a {\bf sexp} (modo)}{C-M-q} | ||
| 445 | \key{identa regi{\~a}o rigidamente {\it arg\/} colunas}{C-x TAB} | ||
| 446 | |||
| 447 | \key{insere uma nova linha ap{\'o}s o ponto}{C-o} | ||
| 448 | \key{move o restante da linha para baixo}{C-M-o} | ||
| 449 | \key{apaga linhas em branco em torno do ponto}{C-x C-o} | ||
| 450 | \key{junta a linha com a anterior}{M-^} | ||
| 451 | \key{apaga todos brancos em torno do ponto}{M-\\} | ||
| 452 | \key{insere um espa{\c{c}}o em branco}{M-SPC} | ||
| 453 | |||
| 454 | \key{preenche o par{\'a}grafo}{M-q} | ||
| 455 | \key{define a coluna limite de preenchimento}{C-x f} | ||
| 456 | \key{define um prefixo para cada linha}{C-x .} | ||
| 457 | |||
| 458 | \key{formata fonte}{M-o} | ||
| 459 | |||
| 460 | \section{Mai{\'u}sculas e Min{\'u}sculas} | ||
| 461 | |||
| 462 | \key{Palavra para mai{\'u}sculas}{M-u} | ||
| 463 | \key{Palavra para min{\'u}sculas}{M-l} | ||
| 464 | \key{Primeira letra mai{\'u}scula (capitalize)}{M-c} | ||
| 465 | |||
| 466 | \key{Regi{\~a}o para mai{\'u}sculas}{C-x C-u} | ||
| 467 | \key{Regi{\~a}o para min{\'u}sculas}{C-x C-l} | ||
| 468 | |||
| 469 | \section{O Minibuffer} | ||
| 470 | |||
| 471 | As teclas seguintes s{\~a}o definidas no minibuffer. | ||
| 472 | |||
| 473 | \key{complete o m{\'a}ximo possi{\'\i}vel}{TAB} | ||
| 474 | \key{complete at{\'e} uma palavra}{SPC} | ||
| 475 | \key{complete e execute}{RET} | ||
| 476 | \key{mostre as op{\c{c}}{\~o}es para completar}{?} | ||
| 477 | \key{busca a entrada anterior no minibuffer}{M-p} | ||
| 478 | \key{busca a pr{\'o}xima entrada no minibuffer ou o default}{M-n} | ||
| 479 | \key{busca regexp no hist{\'o}rico para tr{\'a}s}{M-r} | ||
| 480 | \key{busca regexp no hist{\'o}rico para frente}{M-s} | ||
| 481 | \key{encerra o comando}{C-g} | ||
| 482 | |||
| 483 | Tecle \kbd{C-x ESC ESC} para editar e repetir o {\'u}ltimo comando | ||
| 484 | utilizado. Tecle \kbd{F10} para ativar o menu. | ||
| 485 | |||
| 486 | \newcolumn | ||
| 487 | \title{GNU Emacs: Cart\~ao de Refer\^encia} | ||
| 488 | \centerline{(para vers\~ao 22)} | ||
| 489 | |||
| 490 | \section{Buffers} | ||
| 491 | |||
| 492 | \key{seleciona outro buffer}{C-x b} | ||
| 493 | \key{lista todos buffers}{C-x C-b} | ||
| 494 | \key{mata um buffer}{C-x k} | ||
| 495 | |||
| 496 | \section{Transposi{\c{c}}{\~a}o} | ||
| 497 | |||
| 498 | \key{transp{\~o}e {\bf caracteres}}{C-t} | ||
| 499 | \key{transp{\~o}e {\bf palavras}}{M-t} | ||
| 500 | \key{transp{\~o}e {\bf linhas}}{C-x C-t} | ||
| 501 | \key{transp{\~o}e {\bf sexps}}{C-M-t} | ||
| 502 | |||
| 503 | \section{Verifica{\c{c}}{\~a}o Ortogr{\'a}fica} | ||
| 504 | |||
| 505 | \key{verifica a palavra corrente}{M-\$} | ||
| 506 | \metax{verifica todas palavras de uma regi{\~a}o}{M-x ispell-region} | ||
| 507 | \metax{verifica todo o buffer}{M-x ispell-buffer} | ||
| 508 | |||
| 509 | \section{Tags} | ||
| 510 | |||
| 511 | \key{busca uma tag (uma defini{\c{c}}{\~a}o)}{M-.} | ||
| 512 | \key{encontra a pr{\'o}xima ocorr{\^e}ncia da tag}{C-u M-.} | ||
| 513 | \metax{especifica um novo arquivo de tags}{M-x visit-tags-table} | ||
| 514 | |||
| 515 | \metax{busca por regexp em todos arquivos}{M-x tags-search} | ||
| 516 | \metax{busca e subst. em todos arquivos}{M-x tags-query-replace} | ||
| 517 | \key{continua a {\'u}ltima busca ou busca e substitui{\c{c}}{\~a}o}{M-,} | ||
| 518 | |||
| 519 | \section{Shells} | ||
| 520 | |||
| 521 | \key{executa um comando do shell}{M-!} | ||
| 522 | \key{executa um comando do shell na regi{\~a}o}{M-|} | ||
| 523 | \key{filtra uma regi{\~a}o por um comando do shell}{C-u M-|} | ||
| 524 | \key{inicia um shell na janela \kbd{*shell*}}{M-x shell} | ||
| 525 | |||
| 526 | \section{Ret{\^a}ngulos} | ||
| 527 | |||
| 528 | \key{copia o ret{\^a}ngulo para o registrador}{C-x r r} | ||
| 529 | \key{corta o ret{\^a}ngulo}{C-x r k} | ||
| 530 | \key{cola o ret{\^a}ngulo}{C-x r y} | ||
| 531 | \key{abre o ret{\^a}ngulo, move o texto para direita}{C-x r o} | ||
| 532 | \key{troca por espa{\c{c}}os o conte{\'u}do do ret{\^a}ngulo}{C-x r c} | ||
| 533 | \key{antep{\~o}e uma linha a string}{C-x r t} | ||
| 534 | |||
| 535 | \section{Abreviaturas} | ||
| 536 | |||
| 537 | \key{adiciona uma abreviatura global}{C-x a g} | ||
| 538 | \key{adiciona abreviatura ao modo local}{C-x a l} | ||
| 539 | \key{adiciona globalmente expans{\~a}o de abrev.}{C-x a i g} | ||
| 540 | \key{adiciona localmente expans{\~a}o de abrev.}{C-x a i l} | ||
| 541 | \key{explicitamente expande uma abrev}{C-x a e} | ||
| 542 | |||
| 543 | \key{completa com base em palavras anteriores}{M-/} | ||
| 544 | |||
| 545 | |||
| 546 | \section{Express{\~o}es Regulares} | ||
| 547 | |||
| 548 | \key{qualquer caracter exceto nova linha}{. {\rm(dot)}} | ||
| 549 | \key{zero ou mais repeti{\c{c}}{\~o}es}{*} | ||
| 550 | \key{uma ou mais repeti{\c{c}}{\~o}es}{+} | ||
| 551 | \key{zero ou uma repeti{\c{c}}{\~a}o}{?} | ||
| 552 | \key{protege o caracter especial {\it c\/}}{\\{\it c}} | ||
| 553 | \key{(``or'')}{\\|} | ||
| 554 | \key{agrupamento}{\\( {\rm$\ldots$} \\)} | ||
| 555 | \key{mesmo texto que {\it n\/}-{\'e}simo grupo}{\\{\it n}} | ||
| 556 | \key{quebra de palavra}{\\b} | ||
| 557 | \key{sem quebra de palavra}{\\B} | ||
| 558 | |||
| 559 | \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr | ||
| 560 | \threecol{{\bf entidade}}{{\bf casa in{\'\i}cio}}{{\bf casa fim}} | ||
| 561 | \threecol{linha}{^}{\$} | ||
| 562 | \threecol{palavra}{\\<}{\\>} | ||
| 563 | \threecol{buffer}{\\`}{\\'} | ||
| 564 | |||
| 565 | \threecol{{\bf classe de caracteres}}{{\bf casa esses}}{{\bf casa os outros}} | ||
| 566 | \threecol{conjunto expl{\'\i}cito}{[ {\rm$\ldots$} ]}{[^ {\rm$\ldots$} ]} | ||
| 567 | \threecol{caracter de sintaxe de palavra}{\\w}{\\W} | ||
| 568 | \threecol{caracter de sintaxe de {\it c}}{\\s{\it c}}{\\S{\it c}} | ||
| 569 | } | ||
| 570 | |||
| 571 | \section{Conjuntos de Carac. Internacionais} | ||
| 572 | |||
| 573 | \key{especifica uma l{\'\i}ngua principal}{C-x RET l} | ||
| 574 | \metax{mostra todos m{\'e}todos de inser{\c{c}}{\~a}o}{M-x list-input-methods} | ||
| 575 | \key{habilita/desabilita um m{\'e}todo de inser{\c{c}}{\~a}o}{C-\\} | ||
| 576 | \key{determina o sistema de codifica{\c{c}}{\~a}o}{C-x RET c} | ||
| 577 | \metax{mostra sistemas de codifica{\c{c}}{\~a}o}{M-x list-coding-systems} | ||
| 578 | \metax{escolhe a codifica{\c{c}}{\~a}o preferida}{M-x prefer-coding-system} | ||
| 579 | |||
| 580 | \section{Info} | ||
| 581 | |||
| 582 | \key{entra no leitor de Info}{C-h i} | ||
| 583 | \key{busca fun{\c{c}}{\~a}o ou arquivo no Info}{C-h S} | ||
| 584 | \beginindentedkeys | ||
| 585 | |||
| 586 | Movimenta{\c{c}}{\~a}o em um nodo: | ||
| 587 | |||
| 588 | \key{rola para frente}{SPC} | ||
| 589 | \key{rola para tr{\'a}s}{DEL} | ||
| 590 | \key{in{\'\i}cio do nodo}{. {\rm (dot)}} | ||
| 591 | |||
| 592 | Movimenta{\c{c}}{\~a}o entre nodos: | ||
| 593 | |||
| 594 | \key{{\bf pr{\'o}ximo} nodo}{n} | ||
| 595 | \key{nodo {\bf anterior}}{p} | ||
| 596 | \key{mover cima {\bf cima}}{u} | ||
| 597 | \key{seleciona item do menu pelo nome}{m} | ||
| 598 | \key{seleciona {\it n\/}-{\'e}simo item do menu}{{\it n}} | ||
| 599 | \key{segue refer{\^e}ncia cruzada (retorna com \kbd{l})}{f} | ||
| 600 | \key{retorna {\'u}ltimo nodo visitado}{l} | ||
| 601 | \key{retorna ao diret{\'o}rio de nodos}{d} | ||
| 602 | \key{ir para o topo do arquivo Info}{t} | ||
| 603 | \key{ir para qualquer nodo por nome}{g} | ||
| 604 | |||
| 605 | Outros: | ||
| 606 | |||
| 607 | \key{executar {\bf tutorial} do Info}{h} | ||
| 608 | \key{busca pelo assunto no {\'\i}ndice}{i} | ||
| 609 | \key{busca por express{\~a}o regular}{s} | ||
| 610 | \key{{\bf sair} Info}{q} | ||
| 611 | |||
| 612 | \endindentedkeys | ||
| 613 | |||
| 614 | \section{Registrador} | ||
| 615 | |||
| 616 | \key{salva regi{\~a}o em um registrador}{C-x r s} | ||
| 617 | \key{insere o conte{\'u}do do registrador no buffer}{C-x r i} | ||
| 618 | |||
| 619 | \key{salva valor do ponto no registrador}{C-x r SPC} | ||
| 620 | \key{salta para o ponto salvo no registrador}{C-x r j} | ||
| 621 | |||
| 622 | \section{Macros de Teclado} | ||
| 623 | |||
| 624 | \key{{\bf inicia} a defini{\c{c}}{\~a}o de uma macro}{C-x (} | ||
| 625 | \key{{\bf encerra} a defini{\c{c}}{\~a}o de uma macro}{C-x )} | ||
| 626 | \key{{\bf executa} a {\'u}ltima macro definida}{C-x e} | ||
| 627 | \key{adiciona a {\'u}ltima macro definida}{C-u C-x (} | ||
| 628 | \metax{nomeia a {\'u}ltima macro definida}{M-x name-last-kbd-macro} | ||
| 629 | \metax{insere uma defini{\c{c}}{\~a}o em Lisp}{M-x insert-kbd-macro} | ||
| 630 | |||
| 631 | \section{Lidando com Emacs Lisp} | ||
| 632 | |||
| 633 | \key{avalia {\bf sexp} antes do ponto}{C-x C-e} | ||
| 634 | \key{avalia a {\bf defun} corrente}{C-M-x} | ||
| 635 | \metax{avalia a {\bf regi{\~a}o}}{M-x eval-region} | ||
| 636 | \key{l{\^e} e avalia o minibuffer}{M-:} | ||
| 637 | \metax{carrega do diret{\'o}rio padr{\~a}o do sistema}{M-x load-library} | ||
| 638 | |||
| 639 | \section{Personaliza{\c{c}}{\~a}o Simples} | ||
| 640 | |||
| 641 | \metax{personaliza vari{\'a}veis e fontes}{M-x customize} | ||
| 642 | |||
| 643 | % The intended audience here is the person who wants to make simple | ||
| 644 | % customizations and knows Lisp syntax. | ||
| 645 | |||
| 646 | Fazendo teclas de atalho globais em Emacs Lisp (exemplos): | ||
| 647 | |||
| 648 | \beginexample% | ||
| 649 | (global-set-key "\\C-cg" 'goto-line) | ||
| 650 | (global-set-key "\\M-\#" 'query-replace-regexp) | ||
| 651 | \endexample | ||
| 652 | |||
| 653 | \section{Escrevendo Comandos} | ||
| 654 | |||
| 655 | \beginexample% | ||
| 656 | (defun \<command-name> (\<args>) | ||
| 657 | "\<documentation>" (interactive "\<template>") | ||
| 658 | \<body>) | ||
| 659 | \endexample | ||
| 660 | |||
| 661 | Um exemplo: | ||
| 662 | |||
| 663 | \beginexample% | ||
| 664 | (defun this-line-to-top-of-window (line) | ||
| 665 | "Reposition line point is on to top of window. | ||
| 666 | With ARG, put point on line ARG." | ||
| 667 | (interactive "P") | ||
| 668 | (recenter (if (null line) | ||
| 669 | 0 | ||
| 670 | (prefix-numeric-value line)))) | ||
| 671 | \endexample | ||
| 672 | |||
| 673 | A especifica{\c{c}}{\~a}o \kbd{interactive} explica como ler | ||
| 674 | interativamente argumentos. Tecle \kbd{C-h f interactive} para mais | ||
| 675 | detalhes. | ||
| 676 | |||
| 677 | \copyrightnotice | ||
| 678 | |||
| 679 | \bye | ||
| 680 | |||
| 681 | % Local variables: | ||
| 682 | % compile-command: "tex pt-br-refcard" | ||
| 683 | % coding: iso-latin-1 | ||
| 684 | % End: | ||
| 685 | |||
| 686 | % arch-tag: 56bf248c-a1f3-443d-93f7-02d7aea67d94 | ||
diff --git a/etc/refcard.tex b/etc/refcard.tex index 218a6cc8e36..42a2cba4456 100644 --- a/etc/refcard.tex +++ b/etc/refcard.tex | |||
| @@ -598,8 +598,9 @@ Moving between nodes: | |||
| 598 | Other: | 598 | Other: |
| 599 | 599 | ||
| 600 | \key{run Info {\bf tutorial}}{h} | 600 | \key{run Info {\bf tutorial}}{h} |
| 601 | \key{look up a subject in the indices}{i} | ||
| 602 | \key{search nodes for regexp}{s} | ||
| 601 | \key{{\bf quit} Info}{q} | 603 | \key{{\bf quit} Info}{q} |
| 602 | \key{search nodes for regexp}{M-s} | ||
| 603 | 604 | ||
| 604 | \endindentedkeys | 605 | \endindentedkeys |
| 605 | 606 | ||
diff --git a/etc/ru-refcard.tex b/etc/ru-refcard.tex index 72fbe28e86f..b2057f6c884 100644 --- a/etc/ru-refcard.tex +++ b/etc/ru-refcard.tex | |||
| @@ -436,8 +436,9 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\ | |||
| 436 | 436 | ||
| 437 | \begin{tabular}{p{\ColWidth}l} | 437 | \begin{tabular}{p{\ColWidth}l} |
| 438 | ÚÁÐÕÓÔÉÔØ {\bf ÕÞÅÂÎÉË} ÐÏ ÓÉÓÔÅÍÅ ÄÏËÕÍÅÎÔÁÃÉÉ & \kbd{h} \\ | 438 | ÚÁÐÕÓÔÉÔØ {\bf ÕÞÅÂÎÉË} ÐÏ ÓÉÓÔÅÍÅ ÄÏËÕÍÅÎÔÁÃÉÉ & \kbd{h} \\ |
| 439 | ÐÏÉÓË × ÕÚÌÁÈ Ó ÐÏÍÏÝØÀ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ & \kbd{s} \\ | ||
| 440 | % look up a subject in the indices & \kbd{i} % FIXME | ||
| 439 | {\bf ÐÒÅËÒÁÔÉÔØ ÒÁÂÏÔÕ} Ó ÄÏËÕÍÅÎÔÁÃÉÅÊ & \kbd{q} \\ | 441 | {\bf ÐÒÅËÒÁÔÉÔØ ÒÁÂÏÔÕ} Ó ÄÏËÕÍÅÎÔÁÃÉÅÊ & \kbd{q} \\ |
| 440 | ÐÏÉÓË × ÕÚÌÁÈ Ó ÐÏÍÏÝØÀ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ & \kbd{M-s} \\ | ||
| 441 | \end{tabular} | 442 | \end{tabular} |
| 442 | 443 | ||
| 443 | \section{òÅÇÉÓÔÒÙ} | 444 | \section{òÅÇÉÓÔÒÙ} |
| @@ -515,5 +516,10 @@ With ARG, put point on line ARG." | |||
| 515 | %\end{multicols} | 516 | %\end{multicols} |
| 516 | 517 | ||
| 517 | \end{document} | 518 | \end{document} |
| 519 | |||
| 520 | % Local variables: | ||
| 521 | % compile-command: "latex ru-refcard" | ||
| 522 | % coding: cyrillic-koi8 | ||
| 523 | % End: | ||
| 518 | 524 | ||
| 519 | % arch-tag: 868a12f6-4339-4a14-a56e-4a3937277a9e | 525 | % arch-tag: 868a12f6-4339-4a14-a56e-4a3937277a9e |
diff --git a/etc/ses-example.ses b/etc/ses-example.ses index fdbdb0cfca2..d0fb9198e20 100644 --- a/etc/ses-example.ses +++ b/etc/ses-example.ses | |||
| @@ -206,4 +206,24 @@ Sales summary - Acme fundraising | |||
| 206 | ;;; symbolic-formulas: (("Eastern area") ("West-district") ("North&South") ("Other")) | 206 | ;;; symbolic-formulas: (("Eastern area") ("West-district") ("North&South") ("Other")) |
| 207 | ;;; End: | 207 | ;;; End: |
| 208 | 208 | ||
| 209 | ;;; Copyright (c) 2002, 2006 | ||
| 210 | ;;; Free Software Foundation, Inc. | ||
| 211 | |||
| 212 | ;;; COPYING PERMISSIONS: | ||
| 213 | ;;; | ||
| 214 | ;;; This document is free software; you can redistribute it and/or modify | ||
| 215 | ;;; it under the terms of the GNU General Public License as published by | ||
| 216 | ;;; the Free Software Foundation; either version 2 of the License, or | ||
| 217 | ;;; (at your option) any later version. | ||
| 218 | ;;; | ||
| 219 | ;;; This program is distributed in the hope that it will be useful, | ||
| 220 | ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 221 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 222 | ;;; GNU General Public License for more details. | ||
| 223 | ;;; | ||
| 224 | ;;; You should have received a copy of the GNU General Public License | ||
| 225 | ;;; along with this program; if not, write to the Free Software | ||
| 226 | ;;; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
| 227 | |||
| 228 | |||
| 209 | ;;; arch-tag: 4fcb0843-e3f9-4270-b8fb-998129190765 | 229 | ;;; arch-tag: 4fcb0843-e3f9-4270-b8fb-998129190765 |
diff --git a/etc/sk-refcard.tex b/etc/sk-refcard.tex index 6bc8edb9378..353451ecc27 100644 --- a/etc/sk-refcard.tex +++ b/etc/sk-refcard.tex | |||
| @@ -592,8 +592,9 @@ Pohyb medzi uzlami: | |||
| 592 | Ïal¹ie: | 592 | Ïal¹ie: |
| 593 | 593 | ||
| 594 | \key{spusti» {\bf tútorial} k~Infu}{h} | 594 | \key{spusti» {\bf tútorial} k~Infu}{h} |
| 595 | \key{{\bf skonèi»} Info}{q} | 595 | % \key{look up a subject in the indices}{i} % FIXME |
| 596 | \key{vyhµada» re»azec v uzloch}{M-s} | 596 | \key{vyhµada» re»azec v uzloch}{M-s} |
| 597 | \key{{\bf skonèi»} Info}{q} | ||
| 597 | 598 | ||
| 598 | \endindentedkeys | 599 | \endindentedkeys |
| 599 | 600 | ||
diff --git a/etc/spook.lines b/etc/spook.lines index 9f1f05900a2..d0bda6d12ef 100644 --- a/etc/spook.lines +++ b/etc/spook.lines | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/default/close.png b/etc/tree-widget/default/close.png index 0725def3dee..1c3f6083992 100644 --- a/etc/tree-widget/default/close.png +++ b/etc/tree-widget/default/close.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/default/close.xpm b/etc/tree-widget/default/close.xpm index 63a7930fe34..6b0315aa75d 100644 --- a/etc/tree-widget/default/close.xpm +++ b/etc/tree-widget/default/close.xpm | |||
| @@ -1,284 +1,33 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *close[] = { | 2 | static char * close_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "16 21 9 1", |
| 4 | " 16 21 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | ". c #840000", |
| 6 | "`` c #840000", | 6 | "+ c #942929", |
| 7 | "`. c #942929", | 7 | "@ c #9C3131", |
| 8 | "`# c #9c3131", | 8 | "# c #9C3939", |
| 9 | "`a c #9c3939", | 9 | "$ c #A54242", |
| 10 | "`b c #a54242", | 10 | "% c #A54A4A", |
| 11 | "`c c #a54a4a", | 11 | "& c #AD5252", |
| 12 | "`d c #ad4a4a", | 12 | "* c #AD5A5A", |
| 13 | "`e c #ad5252", | 13 | " ", |
| 14 | "`f c #ad5a5a", | 14 | " ", |
| 15 | "`g c None", | 15 | " ", |
| 16 | "`h c #ffffff", | 16 | " ", |
| 17 | "`i c #ffffff", | 17 | " ", |
| 18 | "`j c #ffffff", | 18 | " ... ", |
| 19 | "`k c #ffffff", | 19 | " ..+.. ", |
| 20 | "`l c #ffffff", | 20 | " ..+@#.. ", |
| 21 | "`m c #ffffff", | 21 | " ..+@##$.. ", |
| 22 | "`n c #ffffff", | 22 | "..+@##$%&.. ", |
| 23 | "`o c #ffffff", | 23 | ".+@##$%&&*. ", |
| 24 | "`p c #ffffff", | 24 | "..##$%&&*.. ", |
| 25 | "`q c #ffffff", | 25 | " ..$%&&*.. ", |
| 26 | "`r c #ffffff", | 26 | " ..&&*.. ", |
| 27 | "`s c #ffffff", | 27 | " ..*.. ", |
| 28 | "`t c #ffffff", | 28 | " ... ", |
| 29 | "`u c #ffffff", | 29 | " ", |
| 30 | "`v c #ffffff", | 30 | " ", |
| 31 | "`w c #ffffff", | 31 | " ", |
| 32 | "`x c #ffffff", | 32 | " ", |
| 33 | "`y c #ffffff", | 33 | " "}; |
| 34 | "`z c #ffffff", | ||
| 35 | "`A c #ffffff", | ||
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #ffffff", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 264 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 265 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 266 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 267 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 268 | "`g`g`g`g```````g`g`g`g`g`g`g`g`g", | ||
| 269 | "`g`g`g`````.`````g`g`g`g`g`g`g`g", | ||
| 270 | "`g`g`````.`#`a`````g`g`g`g`g`g`g", | ||
| 271 | "`g`````.`#`a`a`b`````g`g`g`g`g`g", | ||
| 272 | "`````.`#`a`a`b`c`e`````g`g`g`g`g", | ||
| 273 | "```.`#`a`a`b`c`e`e`f```g`g`g`g`g", | ||
| 274 | "`````a`a`b`c`e`e`f`````g`g`g`g`g", | ||
| 275 | "`g`````b`c`e`e`f`````g`g`g`g`g`g", | ||
| 276 | "`g`g`````e`e`f`````g`g`g`g`g`g`g", | ||
| 277 | "`g`g`g`````f`````g`g`g`g`g`g`g`g", | ||
| 278 | "`g`g`g`g```````g`g`g`g`g`g`g`g`g", | ||
| 279 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 280 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 281 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 282 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 283 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g" | ||
| 284 | }; | ||
diff --git a/etc/tree-widget/default/empty.png b/etc/tree-widget/default/empty.png index 45f464836cc..9837936f3cc 100644 --- a/etc/tree-widget/default/empty.png +++ b/etc/tree-widget/default/empty.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/default/empty.xpm b/etc/tree-widget/default/empty.xpm index 6bb0a285dd8..8af9f2f23e1 100644 --- a/etc/tree-widget/default/empty.xpm +++ b/etc/tree-widget/default/empty.xpm | |||
| @@ -1,284 +1,33 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *empty[] = { | 2 | static char * empty_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "16 21 9 1", |
| 4 | " 16 21 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | ". c #848400", |
| 6 | "`` c #848400", | 6 | "+ c #949429", |
| 7 | "`. c #949429", | 7 | "@ c #9C9C31", |
| 8 | "`# c #9c9c31", | 8 | "# c #9C9C39", |
| 9 | "`a c #9c9c39", | 9 | "$ c #A5A542", |
| 10 | "`b c #a5a542", | 10 | "% c #A5A54A", |
| 11 | "`c c #a5a54a", | 11 | "& c #ADAD52", |
| 12 | "`d c #adad4a", | 12 | "* c #ADAD5A", |
| 13 | "`e c #adad52", | 13 | " ", |
| 14 | "`f c #adad5a", | 14 | " ", |
| 15 | "`g c None", | 15 | " ", |
| 16 | "`h c #ffffff", | 16 | " ", |
| 17 | "`i c #ffffff", | 17 | " ", |
| 18 | "`j c #ffffff", | 18 | " ... ", |
| 19 | "`k c #ffffff", | 19 | " ..+.. ", |
| 20 | "`l c #ffffff", | 20 | " ..+@#.. ", |
| 21 | "`m c #ffffff", | 21 | " ..+@##$.. ", |
| 22 | "`n c #ffffff", | 22 | "..+@##$%%.. ", |
| 23 | "`o c #ffffff", | 23 | ".+@##$%%&*. ", |
| 24 | "`p c #ffffff", | 24 | "..##$%%&*.. ", |
| 25 | "`q c #ffffff", | 25 | " ..$%%&*.. ", |
| 26 | "`r c #ffffff", | 26 | " ..%&*.. ", |
| 27 | "`s c #ffffff", | 27 | " ..*.. ", |
| 28 | "`t c #ffffff", | 28 | " ... ", |
| 29 | "`u c #ffffff", | 29 | " ", |
| 30 | "`v c #ffffff", | 30 | " ", |
| 31 | "`w c #ffffff", | 31 | " ", |
| 32 | "`x c #ffffff", | 32 | " ", |
| 33 | "`y c #ffffff", | 33 | " "}; |
| 34 | "`z c #ffffff", | ||
| 35 | "`A c #ffffff", | ||
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #ffffff", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 264 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 265 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 266 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 267 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 268 | "`g`g`g`g```````g`g`g`g`g`g`g`g`g", | ||
| 269 | "`g`g`g`````.`````g`g`g`g`g`g`g`g", | ||
| 270 | "`g`g`````.`#`a`````g`g`g`g`g`g`g", | ||
| 271 | "`g`````.`#`a`a`b`````g`g`g`g`g`g", | ||
| 272 | "`````.`#`a`a`b`c`c`````g`g`g`g`g", | ||
| 273 | "```.`#`a`a`b`c`c`e`f```g`g`g`g`g", | ||
| 274 | "`````a`a`b`c`c`e`f`````g`g`g`g`g", | ||
| 275 | "`g`````b`c`c`e`f`````g`g`g`g`g`g", | ||
| 276 | "`g`g`````c`e`f`````g`g`g`g`g`g`g", | ||
| 277 | "`g`g`g`````f`````g`g`g`g`g`g`g`g", | ||
| 278 | "`g`g`g`g```````g`g`g`g`g`g`g`g`g", | ||
| 279 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 280 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 281 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 282 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g", | ||
| 283 | "`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g`g" | ||
| 284 | }; | ||
diff --git a/etc/tree-widget/default/end-guide.png b/etc/tree-widget/default/end-guide.png index 908048c4293..72bb67a4513 100644 --- a/etc/tree-widget/default/end-guide.png +++ b/etc/tree-widget/default/end-guide.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/default/end-guide.xpm b/etc/tree-widget/default/end-guide.xpm index 8e5d727b440..a8e684ac406 100644 --- a/etc/tree-widget/default/end-guide.xpm +++ b/etc/tree-widget/default/end-guide.xpm | |||
| @@ -1,284 +1,26 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *end-guide[] = { | 2 | static char * end_guide_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "6 21 2 1", |
| 4 | " 6 21 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | ". c #ADA5C6", |
| 6 | "`` c #000000", | 6 | " .", |
| 7 | "`. c #a5a5c6", | 7 | " .", |
| 8 | "`# c #ada5c6", | 8 | " .", |
| 9 | "`a c #cecee7", | 9 | " .", |
| 10 | "`b c #ceceff", | 10 | " .", |
| 11 | "`c c None", | 11 | " .", |
| 12 | "`d c #ffffff", | 12 | " .", |
| 13 | "`e c #ffffff", | 13 | " .", |
| 14 | "`f c #ffffff", | 14 | " .", |
| 15 | "`g c #ffffff", | 15 | " .", |
| 16 | "`h c #ffffff", | 16 | " .", |
| 17 | "`i c #ffffff", | 17 | " ", |
| 18 | "`j c #ffffff", | 18 | " ", |
| 19 | "`k c #ffffff", | 19 | " ", |
| 20 | "`l c #ffffff", | 20 | " ", |
| 21 | "`m c #ffffff", | 21 | " ", |
| 22 | "`n c #ffffff", | 22 | " ", |
| 23 | "`o c #ffffff", | 23 | " ", |
| 24 | "`p c #ffffff", | 24 | " ", |
| 25 | "`q c #ffffff", | 25 | " ", |
| 26 | "`r c #ffffff", | 26 | " "}; |
| 27 | "`s c #ffffff", | ||
| 28 | "`t c #ffffff", | ||
| 29 | "`u c #ffffff", | ||
| 30 | "`v c #ffffff", | ||
| 31 | "`w c #ffffff", | ||
| 32 | "`x c #ffffff", | ||
| 33 | "`y c #ffffff", | ||
| 34 | "`z c #ffffff", | ||
| 35 | "`A c #ffffff", | ||
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #808000", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`c`c`c`c`c`#", | ||
| 264 | "`c`c`c`c`c`#", | ||
| 265 | "`c`c`c`c`c`#", | ||
| 266 | "`c`c`c`c`c`#", | ||
| 267 | "`c`c`c`c`c`#", | ||
| 268 | "`c`c`c`c`c`#", | ||
| 269 | "`c`c`c`c`c`#", | ||
| 270 | "`c`c`c`c`c`#", | ||
| 271 | "`c`c`c`c`c`#", | ||
| 272 | "`c`c`c`c`c`#", | ||
| 273 | "`c`c`c`c`c`#", | ||
| 274 | "`c`c`c`c`c`c", | ||
| 275 | "`c`c`c`c`c`c", | ||
| 276 | "`c`c`c`c`c`c", | ||
| 277 | "`c`c`c`c`c`c", | ||
| 278 | "`c`c`c`c`c`c", | ||
| 279 | "`c`c`c`c`c`c", | ||
| 280 | "`c`c`c`c`c`c", | ||
| 281 | "`c`c`c`c`c`c", | ||
| 282 | "`c`c`c`c`c`c", | ||
| 283 | "`c`c`c`c`c`c" | ||
| 284 | }; | ||
diff --git a/etc/tree-widget/default/guide.png b/etc/tree-widget/default/guide.png index c93b71ef073..85fa0c87b7b 100644 --- a/etc/tree-widget/default/guide.png +++ b/etc/tree-widget/default/guide.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/default/guide.xpm b/etc/tree-widget/default/guide.xpm index 56006ee48e0..85b3cec00ce 100644 --- a/etc/tree-widget/default/guide.xpm +++ b/etc/tree-widget/default/guide.xpm | |||
| @@ -1,284 +1,26 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *guide[] = { | 2 | static char * guide_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "6 21 2 1", |
| 4 | " 6 21 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | ". c #ADA5C6", |
| 6 | "`` c #000000", | 6 | " .", |
| 7 | "`. c #a5a5c6", | 7 | " .", |
| 8 | "`# c #ada5c6", | 8 | " .", |
| 9 | "`a c #cecee7", | 9 | " .", |
| 10 | "`b c #ceceff", | 10 | " .", |
| 11 | "`c c None", | 11 | " .", |
| 12 | "`d c #ffffff", | 12 | " .", |
| 13 | "`e c #ffffff", | 13 | " .", |
| 14 | "`f c #ffffff", | 14 | " .", |
| 15 | "`g c #ffffff", | 15 | " .", |
| 16 | "`h c #ffffff", | 16 | " .", |
| 17 | "`i c #ffffff", | 17 | " .", |
| 18 | "`j c #ffffff", | 18 | " .", |
| 19 | "`k c #ffffff", | 19 | " .", |
| 20 | "`l c #ffffff", | 20 | " .", |
| 21 | "`m c #ffffff", | 21 | " .", |
| 22 | "`n c #ffffff", | 22 | " .", |
| 23 | "`o c #ffffff", | 23 | " .", |
| 24 | "`p c #ffffff", | 24 | " .", |
| 25 | "`q c #ffffff", | 25 | " .", |
| 26 | "`r c #ffffff", | 26 | " ."}; |
| 27 | "`s c #ffffff", | ||
| 28 | "`t c #ffffff", | ||
| 29 | "`u c #ffffff", | ||
| 30 | "`v c #ffffff", | ||
| 31 | "`w c #ffffff", | ||
| 32 | "`x c #ffffff", | ||
| 33 | "`y c #ffffff", | ||
| 34 | "`z c #ffffff", | ||
| 35 | "`A c #ffffff", | ||
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #808000", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`c`c`c`c`c`#", | ||
| 264 | "`c`c`c`c`c`#", | ||
| 265 | "`c`c`c`c`c`#", | ||
| 266 | "`c`c`c`c`c`#", | ||
| 267 | "`c`c`c`c`c`#", | ||
| 268 | "`c`c`c`c`c`#", | ||
| 269 | "`c`c`c`c`c`#", | ||
| 270 | "`c`c`c`c`c`#", | ||
| 271 | "`c`c`c`c`c`#", | ||
| 272 | "`c`c`c`c`c`#", | ||
| 273 | "`c`c`c`c`c`#", | ||
| 274 | "`c`c`c`c`c`#", | ||
| 275 | "`c`c`c`c`c`#", | ||
| 276 | "`c`c`c`c`c`#", | ||
| 277 | "`c`c`c`c`c`#", | ||
| 278 | "`c`c`c`c`c`#", | ||
| 279 | "`c`c`c`c`c`#", | ||
| 280 | "`c`c`c`c`c`#", | ||
| 281 | "`c`c`c`c`c`#", | ||
| 282 | "`c`c`c`c`c`#", | ||
| 283 | "`c`c`c`c`c`#" | ||
| 284 | }; | ||
diff --git a/etc/tree-widget/default/handle.png b/etc/tree-widget/default/handle.png index 8411624adaa..8a00d7b3f24 100644 --- a/etc/tree-widget/default/handle.png +++ b/etc/tree-widget/default/handle.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/default/handle.xpm b/etc/tree-widget/default/handle.xpm index 11f618b4b25..fcdf2b40920 100644 --- a/etc/tree-widget/default/handle.xpm +++ b/etc/tree-widget/default/handle.xpm | |||
| @@ -1,284 +1,26 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *handle[] = { | 2 | static char * handle_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "10 21 2 1", |
| 4 | " 10 21 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | ". c #ADA5C6", |
| 6 | "`` c #000000", | 6 | " ", |
| 7 | "`. c #a5a5c6", | 7 | " ", |
| 8 | "`# c #ada5c6", | 8 | " ", |
| 9 | "`a c #cecee7", | 9 | " ", |
| 10 | "`b c #ceceff", | 10 | " ", |
| 11 | "`c c None", | 11 | " ", |
| 12 | "`d c #ffffff", | 12 | " ", |
| 13 | "`e c #ffffff", | 13 | " ", |
| 14 | "`f c #ffffff", | 14 | " ", |
| 15 | "`g c #ffffff", | 15 | " ", |
| 16 | "`h c #ffffff", | 16 | "..........", |
| 17 | "`i c #ffffff", | 17 | " ", |
| 18 | "`j c #ffffff", | 18 | " ", |
| 19 | "`k c #ffffff", | 19 | " ", |
| 20 | "`l c #ffffff", | 20 | " ", |
| 21 | "`m c #ffffff", | 21 | " ", |
| 22 | "`n c #ffffff", | 22 | " ", |
| 23 | "`o c #ffffff", | 23 | " ", |
| 24 | "`p c #ffffff", | 24 | " ", |
| 25 | "`q c #ffffff", | 25 | " ", |
| 26 | "`r c #ffffff", | 26 | " "}; |
| 27 | "`s c #ffffff", | ||
| 28 | "`t c #ffffff", | ||
| 29 | "`u c #ffffff", | ||
| 30 | "`v c #ffffff", | ||
| 31 | "`w c #ffffff", | ||
| 32 | "`x c #ffffff", | ||
| 33 | "`y c #ffffff", | ||
| 34 | "`z c #ffffff", | ||
| 35 | "`A c #ffffff", | ||
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #808000", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 264 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 265 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 266 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 267 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 268 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 269 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 270 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 271 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 272 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 273 | "`#`#`#`#`#`#`#`#`#`#", | ||
| 274 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 275 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 276 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 277 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 278 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 279 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 280 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 281 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 282 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 283 | "`c`c`c`c`c`c`c`c`c`c" | ||
| 284 | }; | ||
diff --git a/etc/tree-widget/default/leaf.png b/etc/tree-widget/default/leaf.png index 0408f38bd5e..ef8cee2c787 100644 --- a/etc/tree-widget/default/leaf.png +++ b/etc/tree-widget/default/leaf.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/default/leaf.xpm b/etc/tree-widget/default/leaf.xpm index 8b5db38784a..58d90f2d7ef 100644 --- a/etc/tree-widget/default/leaf.xpm +++ b/etc/tree-widget/default/leaf.xpm | |||
| @@ -1,284 +1,33 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *leaf[] = { | 2 | static char * leaf_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "16 21 9 1", |
| 4 | " 16 21 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | ". c #424242", |
| 6 | "`` c #424242", | 6 | "+ c #737373", |
| 7 | "`. c #737373", | 7 | "@ c #7B7B7B", |
| 8 | "`# c #7b7b7b", | 8 | "# c #848484", |
| 9 | "`a c #848484", | 9 | "$ c #8C8C8C", |
| 10 | "`b c #8c8c8c", | 10 | "% c #949494", |
| 11 | "`c c #949494", | 11 | "& c #9C9C9C", |
| 12 | "`d c #9c9c9c", | 12 | "* c #A5A5A5", |
| 13 | "`e c #a5a5a5", | 13 | " ", |
| 14 | "`f c None", | 14 | " ", |
| 15 | "`g c #ffffff", | 15 | " ", |
| 16 | "`h c #ffffff", | 16 | " ", |
| 17 | "`i c #ffffff", | 17 | " ", |
| 18 | "`j c #ffffff", | 18 | " ", |
| 19 | "`k c #ffffff", | 19 | " ..... ", |
| 20 | "`l c #ffffff", | 20 | " .+@@##. ", |
| 21 | "`m c #ffffff", | 21 | " .+@@##$$. ", |
| 22 | "`n c #ffffff", | 22 | ".+@@##$$%%. ", |
| 23 | "`o c #ffffff", | 23 | ".@@##$$%%&. ", |
| 24 | "`p c #ffffff", | 24 | ".@##$$%%&*. ", |
| 25 | "`q c #ffffff", | 25 | " .#$$%%&*. ", |
| 26 | "`r c #ffffff", | 26 | " .$%%&*. ", |
| 27 | "`s c #ffffff", | 27 | " ..... ", |
| 28 | "`t c #ffffff", | 28 | " ", |
| 29 | "`u c #ffffff", | 29 | " ", |
| 30 | "`v c #ffffff", | 30 | " ", |
| 31 | "`w c #ffffff", | 31 | " ", |
| 32 | "`x c #ffffff", | 32 | " ", |
| 33 | "`y c #ffffff", | 33 | " "}; |
| 34 | "`z c #ffffff", | ||
| 35 | "`A c #ffffff", | ||
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #ffffff", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f", | ||
| 264 | "`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f", | ||
| 265 | "`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f", | ||
| 266 | "`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f", | ||
| 267 | "`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f", | ||
| 268 | "`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f", | ||
| 269 | "`f`f`f```````````f`f`f`f`f`f`f`f", | ||
| 270 | "`f`f```.`#`#`a`a```f`f`f`f`f`f`f", | ||
| 271 | "`f```.`#`#`a`a`b`b```f`f`f`f`f`f", | ||
| 272 | "```.`#`#`a`a`b`b`c`c```f`f`f`f`f", | ||
| 273 | "```#`#`a`a`b`b`c`c`d```f`f`f`f`f", | ||
| 274 | "```#`a`a`b`b`c`c`d`e```f`f`f`f`f", | ||
| 275 | "`f```a`b`b`c`c`d`e```f`f`f`f`f`f", | ||
| 276 | "`f`f```b`c`c`d`e```f`f`f`f`f`f`f", | ||
| 277 | "`f`f`f```````````f`f`f`f`f`f`f`f", | ||
| 278 | "`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f", | ||
| 279 | "`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f", | ||
| 280 | "`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f", | ||
| 281 | "`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f", | ||
| 282 | "`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f", | ||
| 283 | "`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f`f" | ||
| 284 | }; | ||
diff --git a/etc/tree-widget/default/no-guide.png b/etc/tree-widget/default/no-guide.png index dc4292ea98f..a063d3f2555 100644 --- a/etc/tree-widget/default/no-guide.png +++ b/etc/tree-widget/default/no-guide.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/default/no-guide.xpm b/etc/tree-widget/default/no-guide.xpm index 82729cf59b0..d9d93ea7294 100644 --- a/etc/tree-widget/default/no-guide.xpm +++ b/etc/tree-widget/default/no-guide.xpm | |||
| @@ -1,284 +1,25 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *no-guide[] = { | 2 | static char * no_guide_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "6 21 1 1", |
| 4 | " 6 21 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | " ", |
| 6 | "`` c #000000", | 6 | " ", |
| 7 | "`. c #84849c", | 7 | " ", |
| 8 | "`# c #8c8ca5", | 8 | " ", |
| 9 | "`a c #a5a5c6", | 9 | " ", |
| 10 | "`b c #ada5c6", | 10 | " ", |
| 11 | "`c c #b5b5ce", | 11 | " ", |
| 12 | "`d c #cecee7", | 12 | " ", |
| 13 | "`e c #ceceff", | 13 | " ", |
| 14 | "`f c #e7e7ff", | 14 | " ", |
| 15 | "`g c None", | 15 | " ", |
| 16 | "`h c #808000", | 16 | " ", |
| 17 | "`i c #ffffff", | 17 | " ", |
| 18 | "`j c #ffffff", | 18 | " ", |
| 19 | "`k c #ffffff", | 19 | " ", |
| 20 | "`l c #ffffff", | 20 | " ", |
| 21 | "`m c #ffffff", | 21 | " ", |
| 22 | "`n c #ffffff", | 22 | " ", |
| 23 | "`o c #ffffff", | 23 | " ", |
| 24 | "`p c #ffffff", | 24 | " ", |
| 25 | "`q c #ffffff", | 25 | " "}; |
| 26 | "`r c #ffffff", | ||
| 27 | "`s c #ffffff", | ||
| 28 | "`t c #ffffff", | ||
| 29 | "`u c #ffffff", | ||
| 30 | "`v c #ffffff", | ||
| 31 | "`w c #ffffff", | ||
| 32 | "`x c #ffffff", | ||
| 33 | "`y c #ffffff", | ||
| 34 | "`z c #ffffff", | ||
| 35 | "`A c #ffffff", | ||
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #ffffff", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`g`g`g`g`g`g", | ||
| 264 | "`g`g`g`g`g`g", | ||
| 265 | "`g`g`g`g`g`g", | ||
| 266 | "`g`g`g`g`g`g", | ||
| 267 | "`g`g`g`g`g`g", | ||
| 268 | "`g`g`g`g`g`g", | ||
| 269 | "`g`g`g`g`g`g", | ||
| 270 | "`g`g`g`g`g`g", | ||
| 271 | "`g`g`g`g`g`g", | ||
| 272 | "`g`g`g`g`g`g", | ||
| 273 | "`g`g`g`g`g`g", | ||
| 274 | "`g`g`g`g`g`g", | ||
| 275 | "`g`g`g`g`g`g", | ||
| 276 | "`g`g`g`g`g`g", | ||
| 277 | "`g`g`g`g`g`g", | ||
| 278 | "`g`g`g`g`g`g", | ||
| 279 | "`g`g`g`g`g`g", | ||
| 280 | "`g`g`g`g`g`g", | ||
| 281 | "`g`g`g`g`g`g", | ||
| 282 | "`g`g`g`g`g`g", | ||
| 283 | "`g`g`g`g`g`g" | ||
| 284 | }; | ||
diff --git a/etc/tree-widget/default/no-handle.png b/etc/tree-widget/default/no-handle.png index 00de3c09c26..123cf45fa97 100644 --- a/etc/tree-widget/default/no-handle.png +++ b/etc/tree-widget/default/no-handle.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/default/no-handle.xpm b/etc/tree-widget/default/no-handle.xpm index 7ce048c91ea..3eaa2daee32 100644 --- a/etc/tree-widget/default/no-handle.xpm +++ b/etc/tree-widget/default/no-handle.xpm | |||
| @@ -1,284 +1,25 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *no-handle[] = { | 2 | static char * no_handle_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "10 21 1 1", |
| 4 | " 10 21 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | " ", |
| 6 | "`` c #000000", | 6 | " ", |
| 7 | "`. c #84849c", | 7 | " ", |
| 8 | "`# c #8c8ca5", | 8 | " ", |
| 9 | "`a c #a5a5c6", | 9 | " ", |
| 10 | "`b c #ada5c6", | 10 | " ", |
| 11 | "`c c #b5b5ce", | 11 | " ", |
| 12 | "`d c #cecee7", | 12 | " ", |
| 13 | "`e c #ceceff", | 13 | " ", |
| 14 | "`f c #e7e7ff", | 14 | " ", |
| 15 | "`g c None", | 15 | " ", |
| 16 | "`h c #808000", | 16 | " ", |
| 17 | "`i c #ffffff", | 17 | " ", |
| 18 | "`j c #ffffff", | 18 | " ", |
| 19 | "`k c #ffffff", | 19 | " ", |
| 20 | "`l c #ffffff", | 20 | " ", |
| 21 | "`m c #ffffff", | 21 | " ", |
| 22 | "`n c #ffffff", | 22 | " ", |
| 23 | "`o c #ffffff", | 23 | " ", |
| 24 | "`p c #ffffff", | 24 | " ", |
| 25 | "`q c #ffffff", | 25 | " "}; |
| 26 | "`r c #ffffff", | ||
| 27 | "`s c #ffffff", | ||
| 28 | "`t c #ffffff", | ||
| 29 | "`u c #ffffff", | ||
| 30 | "`v c #ffffff", | ||
| 31 | "`w c #ffffff", | ||
| 32 | "`x c #ffffff", | ||
| 33 | "`y c #ffffff", | ||
| 34 | "`z c #ffffff", | ||
| 35 | "`A c #ffffff", | ||
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #ffffff", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 264 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 265 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 266 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 267 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 268 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 269 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 270 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 271 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 272 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 273 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 274 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 275 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 276 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 277 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 278 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 279 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 280 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 281 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 282 | "`g`g`g`g`g`g`g`g`g`g", | ||
| 283 | "`g`g`g`g`g`g`g`g`g`g" | ||
| 284 | }; | ||
diff --git a/etc/tree-widget/default/open.png b/etc/tree-widget/default/open.png index d234ecadf39..ea2a8dba00d 100644 --- a/etc/tree-widget/default/open.png +++ b/etc/tree-widget/default/open.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/default/open.xpm b/etc/tree-widget/default/open.xpm index 4c5c7b065b8..a216a3f5ab4 100644 --- a/etc/tree-widget/default/open.xpm +++ b/etc/tree-widget/default/open.xpm | |||
| @@ -1,284 +1,35 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *open[] = { | 2 | static char * open_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "16 21 11 1", |
| 4 | " 16 21 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | ". c #004200", |
| 6 | "`` c #004200", | 6 | "+ c #296329", |
| 7 | "`. c #296329", | 7 | "@ c #316331", |
| 8 | "`# c #316331", | 8 | "# c #396B39", |
| 9 | "`a c #316b31", | 9 | "$ c #427342", |
| 10 | "`b c #396b39", | 10 | "% c #4A734A", |
| 11 | "`c c #427342", | 11 | "& c #4A7B4A", |
| 12 | "`d c #4a734a", | 12 | "* c #528452", |
| 13 | "`e c #4a7b4a", | 13 | "= c #5A845A", |
| 14 | "`f c #528452", | 14 | "- c #A5A5C6", |
| 15 | "`g c #5a845a", | 15 | " ", |
| 16 | "`h c #a5a5c6", | 16 | " ", |
| 17 | "`i c None", | 17 | " ", |
| 18 | "`j c #ffffff", | 18 | " ", |
| 19 | "`k c #ffffff", | 19 | " ", |
| 20 | "`l c #ffffff", | 20 | " ... ", |
| 21 | "`m c #ffffff", | 21 | " ..+.. ", |
| 22 | "`n c #ffffff", | 22 | " ..+@#.. ", |
| 23 | "`o c #ffffff", | 23 | " ..+@##$.. ", |
| 24 | "`p c #ffffff", | 24 | "..+@##$%&.. ", |
| 25 | "`q c #ffffff", | 25 | ".+@##$%&*=. ", |
| 26 | "`r c #ffffff", | 26 | "..##$%&*=.. ", |
| 27 | "`s c #ffffff", | 27 | " ..$%&*=.. ", |
| 28 | "`t c #ffffff", | 28 | " ..&*=.. ", |
| 29 | "`u c #ffffff", | 29 | " ..=.. ", |
| 30 | "`v c #ffffff", | 30 | " ... ", |
| 31 | "`w c #ffffff", | 31 | " - ", |
| 32 | "`x c #ffffff", | 32 | " - ", |
| 33 | "`y c #ffffff", | 33 | " - ", |
| 34 | "`z c #ffffff", | 34 | " - ", |
| 35 | "`A c #ffffff", | 35 | " - "}; |
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #ffffff", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`i`i`i`i`i`i`i`i`i`i`i`i`i`i`i`i", | ||
| 264 | "`i`i`i`i`i`i`i`i`i`i`i`i`i`i`i`i", | ||
| 265 | "`i`i`i`i`i`i`i`i`i`i`i`i`i`i`i`i", | ||
| 266 | "`i`i`i`i`i`i`i`i`i`i`i`i`i`i`i`i", | ||
| 267 | "`i`i`i`i`i`i`i`i`i`i`i`i`i`i`i`i", | ||
| 268 | "`i`i`i`i```````i`i`i`i`i`i`i`i`i", | ||
| 269 | "`i`i`i`````.`````i`i`i`i`i`i`i`i", | ||
| 270 | "`i`i`````.`#`b`````i`i`i`i`i`i`i", | ||
| 271 | "`i`````.`#`b`b`c`````i`i`i`i`i`i", | ||
| 272 | "`````.`#`b`b`c`d`e`````i`i`i`i`i", | ||
| 273 | "```.`#`b`b`c`d`e`f`g```i`i`i`i`i", | ||
| 274 | "`````b`b`c`d`e`f`g`````i`i`i`i`i", | ||
| 275 | "`i`````c`d`e`f`g`````i`i`i`i`i`i", | ||
| 276 | "`i`i`````e`f`g`````i`i`i`i`i`i`i", | ||
| 277 | "`i`i`i`````g`````i`i`i`i`i`i`i`i", | ||
| 278 | "`i`i`i`i```````i`i`i`i`i`i`i`i`i", | ||
| 279 | "`i`i`i`i`i`h`i`i`i`i`i`i`i`i`i`i", | ||
| 280 | "`i`i`i`i`i`h`i`i`i`i`i`i`i`i`i`i", | ||
| 281 | "`i`i`i`i`i`h`i`i`i`i`i`i`i`i`i`i", | ||
| 282 | "`i`i`i`i`i`h`i`i`i`i`i`i`i`i`i`i", | ||
| 283 | "`i`i`i`i`i`h`i`i`i`i`i`i`i`i`i`i" | ||
| 284 | }; | ||
diff --git a/etc/tree-widget/folder/close.png b/etc/tree-widget/folder/close.png index f840ba89a4e..3a509b095f8 100644 --- a/etc/tree-widget/folder/close.png +++ b/etc/tree-widget/folder/close.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/folder/close.xpm b/etc/tree-widget/folder/close.xpm index 1bd40ae6e94..116c1db37d8 100644 --- a/etc/tree-widget/folder/close.xpm +++ b/etc/tree-widget/folder/close.xpm | |||
| @@ -1,285 +1,40 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *close[] = { | 2 | static char * close_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "16 22 15 1", |
| 4 | " 16 22 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | ". c #848400", |
| 6 | "`` c #848400", | 6 | "+ c #E7E79C", |
| 7 | "`. c #9c9c29", | 7 | "@ c #E7E794", |
| 8 | "`# c #a5a531", | 8 | "# c #DEDE8C", |
| 9 | "`a c #adad39", | 9 | "$ c #ADAD39", |
| 10 | "`b c #adad42", | 10 | "% c #ADAD42", |
| 11 | "`c c #b5b54a", | 11 | "& c #B5B54A", |
| 12 | "`d c #b5b552", | 12 | "* c #B5B552", |
| 13 | "`e c #bdbd52", | 13 | "= c #BDBD5A", |
| 14 | "`f c #bdbd5a", | 14 | "- c #9C9C29", |
| 15 | "`g c #c6c663", | 15 | "; c #A5A531", |
| 16 | "`h c #c6c66b", | 16 | "> c #C6C663", |
| 17 | "`i c #cece6b", | 17 | ", c #C6C66B", |
| 18 | "`j c #cece73", | 18 | "' c #CECE73", |
| 19 | "`k c #dede8c", | 19 | " ", |
| 20 | "`l c #e7e794", | 20 | " ", |
| 21 | "`m c #e7e79c", | 21 | " ", |
| 22 | "`n c #efef9c", | 22 | " ", |
| 23 | "`o c None", | 23 | " ", |
| 24 | "`p c #ffffff", | 24 | " ", |
| 25 | "`q c #ffffff", | 25 | " .... ", |
| 26 | "`r c #ffffff", | 26 | ".+@@#....... ", |
| 27 | "`s c #ffffff", | 27 | ".....$%%&&*=. ", |
| 28 | "`t c #ffffff", | 28 | ".-;;$%%&&*==. ", |
| 29 | "`u c #ffffff", | 29 | ".;;$%%&&*===. ", |
| 30 | "`v c #ffffff", | 30 | ".;$%%&&*===>. ", |
| 31 | "`w c #ffffff", | 31 | ".$%%&&*===>,. ", |
| 32 | "`x c #ffffff", | 32 | ".%%&&*===>,,. ", |
| 33 | "`y c #ffffff", | 33 | ".%&&*===>,,'. ", |
| 34 | "`z c #ffffff", | 34 | "............. ", |
| 35 | "`A c #ffffff", | 35 | " ", |
| 36 | "`B c #ffffff", | 36 | " ", |
| 37 | "`C c #ffffff", | 37 | " ", |
| 38 | "`D c #ffffff", | 38 | " ", |
| 39 | "`E c #ffffff", | 39 | " ", |
| 40 | "`F c #ffffff", | 40 | " "}; |
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o", | ||
| 264 | "`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o", | ||
| 265 | "`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o", | ||
| 266 | "`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o", | ||
| 267 | "`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o", | ||
| 268 | "`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o", | ||
| 269 | "`o`````````o`o`o`o`o`o`o`o`o`o`o", | ||
| 270 | "```m`l`l`k```````````````o`o`o`o", | ||
| 271 | "```````````a`b`b`c`c`d`f```o`o`o", | ||
| 272 | "```.`#`#`a`b`b`c`c`d`f`f```o`o`o", | ||
| 273 | "```#`#`a`b`b`c`c`d`f`f`f```o`o`o", | ||
| 274 | "```#`a`b`b`c`c`d`f`f`f`g```o`o`o", | ||
| 275 | "```a`b`b`c`c`d`f`f`f`g`h```o`o`o", | ||
| 276 | "```b`b`c`c`d`f`f`f`g`h`h```o`o`o", | ||
| 277 | "```b`c`c`d`f`f`f`g`h`h`j```o`o`o", | ||
| 278 | "```````````````````````````o`o`o", | ||
| 279 | "`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o", | ||
| 280 | "`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o", | ||
| 281 | "`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o", | ||
| 282 | "`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o", | ||
| 283 | "`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o", | ||
| 284 | "`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o`o" | ||
| 285 | }; | ||
diff --git a/etc/tree-widget/folder/empty.png b/etc/tree-widget/folder/empty.png index 712af9747c6..3f89471828d 100644 --- a/etc/tree-widget/folder/empty.png +++ b/etc/tree-widget/folder/empty.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/folder/empty.xpm b/etc/tree-widget/folder/empty.xpm index df92fd22008..598401ab413 100644 --- a/etc/tree-widget/folder/empty.xpm +++ b/etc/tree-widget/folder/empty.xpm | |||
| @@ -1,285 +1,35 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *empty[] = { | 2 | static char * empty_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "16 22 10 1", |
| 4 | " 16 22 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | ". c #424242", |
| 6 | "`` c #424242", | 6 | "+ c #A5A5A5", |
| 7 | "`. c #6b6b6b", | 7 | "@ c #9C9C9C", |
| 8 | "`# c #737373", | 8 | "# c #949494", |
| 9 | "`a c #7b7b7b", | 9 | "$ c #8C8C8C", |
| 10 | "`b c #848484", | 10 | "% c #6B6B6B", |
| 11 | "`c c #8c8c8c", | 11 | "& c #737373", |
| 12 | "`d c #949494", | 12 | "* c #7B7B7B", |
| 13 | "`e c #9c9c9c", | 13 | "= c #848484", |
| 14 | "`f c #a5a5a5", | 14 | " ", |
| 15 | "`g c #adadad", | 15 | " ", |
| 16 | "`h c None", | 16 | " ", |
| 17 | "`i c #ffffff", | 17 | " ", |
| 18 | "`j c #ffffff", | 18 | " ", |
| 19 | "`k c #ffffff", | 19 | " ", |
| 20 | "`l c #ffffff", | 20 | " .... ", |
| 21 | "`m c #ffffff", | 21 | ".+++@..... ", |
| 22 | "`n c #ffffff", | 22 | ".++@@@##$$. ", |
| 23 | "`o c #ffffff", | 23 | ".+@.......... ", |
| 24 | "`p c #ffffff", | 24 | ".@.%%%&&&**==. ", |
| 25 | "`q c #ffffff", | 25 | ".@.%%&&&**==. ", |
| 26 | "`r c #ffffff", | 26 | "..%%&&&**===. ", |
| 27 | "`s c #ffffff", | 27 | "..%&&&**===. ", |
| 28 | "`t c #ffffff", | 28 | ".%&&&**===$. ", |
| 29 | "`u c #ffffff", | 29 | "........... ", |
| 30 | "`v c #ffffff", | 30 | " ", |
| 31 | "`w c #ffffff", | 31 | " ", |
| 32 | "`x c #ffffff", | 32 | " ", |
| 33 | "`y c #ffffff", | 33 | " ", |
| 34 | "`z c #ffffff", | 34 | " ", |
| 35 | "`A c #ffffff", | 35 | " "}; |
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #ffffff", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 264 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 265 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 266 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 267 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 268 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 269 | "`h`````````h`h`h`h`h`h`h`h`h`h`h", | ||
| 270 | "```f`f`f`e```````````h`h`h`h`h`h", | ||
| 271 | "```f`f`e`e`e`d`d`c`c```h`h`h`h`h", | ||
| 272 | "```f`e`````````````````````h`h`h", | ||
| 273 | "```e```.`.`.`#`#`#`a`a`b`b```h`h", | ||
| 274 | "```e```.`.`#`#`#`a`a`b`b```h`h`h", | ||
| 275 | "`````.`.`#`#`#`a`a`b`b`b```h`h`h", | ||
| 276 | "`````.`#`#`#`a`a`b`b`b```h`h`h`h", | ||
| 277 | "```.`#`#`#`a`a`b`b`b`c```h`h`h`h", | ||
| 278 | "```````````````````````h`h`h`h`h", | ||
| 279 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 280 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 281 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 282 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 283 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 284 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h" | ||
| 285 | }; | ||
diff --git a/etc/tree-widget/folder/end-guide.png b/etc/tree-widget/folder/end-guide.png index 994c8bbf10a..b1290f31e6f 100644 --- a/etc/tree-widget/folder/end-guide.png +++ b/etc/tree-widget/folder/end-guide.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/folder/end-guide.xpm b/etc/tree-widget/folder/end-guide.xpm index 3cdb2332c55..6788538c7ab 100644 --- a/etc/tree-widget/folder/end-guide.xpm +++ b/etc/tree-widget/folder/end-guide.xpm | |||
| @@ -1,285 +1,27 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *end-guide[] = { | 2 | static char * end_guide_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "6 22 2 1", |
| 4 | " 6 22 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | ". c #ADA5C6", |
| 6 | "`` c #ada5c6", | 6 | " ", |
| 7 | "`. c None", | 7 | " .", |
| 8 | "`# c #ffffff", | 8 | " ", |
| 9 | "`a c #ffffff", | 9 | " .", |
| 10 | "`b c #ffffff", | 10 | " ", |
| 11 | "`c c #ffffff", | 11 | " .", |
| 12 | "`d c #ffffff", | 12 | " ", |
| 13 | "`e c #ffffff", | 13 | " .", |
| 14 | "`f c #ffffff", | 14 | " ", |
| 15 | "`g c #ffffff", | 15 | " .", |
| 16 | "`h c #ffffff", | 16 | " ", |
| 17 | "`i c #ffffff", | 17 | " .", |
| 18 | "`j c #ffffff", | 18 | " ", |
| 19 | "`k c #ffffff", | 19 | " ", |
| 20 | "`l c #ffffff", | 20 | " ", |
| 21 | "`m c #ffffff", | 21 | " ", |
| 22 | "`n c #ffffff", | 22 | " ", |
| 23 | "`o c #ffffff", | 23 | " ", |
| 24 | "`p c #ffffff", | 24 | " ", |
| 25 | "`q c #ffffff", | 25 | " ", |
| 26 | "`r c #ffffff", | 26 | " ", |
| 27 | "`s c #ffffff", | 27 | " "}; |
| 28 | "`t c #ffffff", | ||
| 29 | "`u c #ffffff", | ||
| 30 | "`v c #ffffff", | ||
| 31 | "`w c #ffffff", | ||
| 32 | "`x c #ffffff", | ||
| 33 | "`y c #ffffff", | ||
| 34 | "`z c #ffffff", | ||
| 35 | "`A c #ffffff", | ||
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #ffffff", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`.`.`.`.`.`.", | ||
| 264 | "`.`.`.`.`.``", | ||
| 265 | "`.`.`.`.`.`.", | ||
| 266 | "`.`.`.`.`.``", | ||
| 267 | "`.`.`.`.`.`.", | ||
| 268 | "`.`.`.`.`.``", | ||
| 269 | "`.`.`.`.`.`.", | ||
| 270 | "`.`.`.`.`.``", | ||
| 271 | "`.`.`.`.`.`.", | ||
| 272 | "`.`.`.`.`.``", | ||
| 273 | "`.`.`.`.`.`.", | ||
| 274 | "`.`.`.`.`.``", | ||
| 275 | "`.`.`.`.`.`.", | ||
| 276 | "`.`.`.`.`.`.", | ||
| 277 | "`.`.`.`.`.`.", | ||
| 278 | "`.`.`.`.`.`.", | ||
| 279 | "`.`.`.`.`.`.", | ||
| 280 | "`.`.`.`.`.`.", | ||
| 281 | "`.`.`.`.`.`.", | ||
| 282 | "`.`.`.`.`.`.", | ||
| 283 | "`.`.`.`.`.`.", | ||
| 284 | "`.`.`.`.`.`." | ||
| 285 | }; | ||
diff --git a/etc/tree-widget/folder/guide.png b/etc/tree-widget/folder/guide.png index 5a4d4f0b751..8535f86f3bf 100644 --- a/etc/tree-widget/folder/guide.png +++ b/etc/tree-widget/folder/guide.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/folder/guide.xpm b/etc/tree-widget/folder/guide.xpm index 5d23ef64eeb..647d0590173 100644 --- a/etc/tree-widget/folder/guide.xpm +++ b/etc/tree-widget/folder/guide.xpm | |||
| @@ -1,285 +1,27 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *guide[] = { | 2 | static char * guide_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "6 22 2 1", |
| 4 | " 6 22 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | ". c #ADA5C6", |
| 6 | "`` c #ada5c6", | 6 | " ", |
| 7 | "`. c None", | 7 | " .", |
| 8 | "`# c #ffffff", | 8 | " ", |
| 9 | "`a c #ffffff", | 9 | " .", |
| 10 | "`b c #ffffff", | 10 | " ", |
| 11 | "`c c #ffffff", | 11 | " .", |
| 12 | "`d c #ffffff", | 12 | " ", |
| 13 | "`e c #ffffff", | 13 | " .", |
| 14 | "`f c #ffffff", | 14 | " ", |
| 15 | "`g c #ffffff", | 15 | " .", |
| 16 | "`h c #ffffff", | 16 | " ", |
| 17 | "`i c #ffffff", | 17 | " .", |
| 18 | "`j c #ffffff", | 18 | " ", |
| 19 | "`k c #ffffff", | 19 | " .", |
| 20 | "`l c #ffffff", | 20 | " ", |
| 21 | "`m c #ffffff", | 21 | " .", |
| 22 | "`n c #ffffff", | 22 | " ", |
| 23 | "`o c #ffffff", | 23 | " .", |
| 24 | "`p c #ffffff", | 24 | " ", |
| 25 | "`q c #ffffff", | 25 | " .", |
| 26 | "`r c #ffffff", | 26 | " ", |
| 27 | "`s c #ffffff", | 27 | " ."}; |
| 28 | "`t c #ffffff", | ||
| 29 | "`u c #ffffff", | ||
| 30 | "`v c #ffffff", | ||
| 31 | "`w c #ffffff", | ||
| 32 | "`x c #ffffff", | ||
| 33 | "`y c #ffffff", | ||
| 34 | "`z c #ffffff", | ||
| 35 | "`A c #ffffff", | ||
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #ffffff", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`.`.`.`.`.`.", | ||
| 264 | "`.`.`.`.`.``", | ||
| 265 | "`.`.`.`.`.`.", | ||
| 266 | "`.`.`.`.`.``", | ||
| 267 | "`.`.`.`.`.`.", | ||
| 268 | "`.`.`.`.`.``", | ||
| 269 | "`.`.`.`.`.`.", | ||
| 270 | "`.`.`.`.`.``", | ||
| 271 | "`.`.`.`.`.`.", | ||
| 272 | "`.`.`.`.`.``", | ||
| 273 | "`.`.`.`.`.`.", | ||
| 274 | "`.`.`.`.`.``", | ||
| 275 | "`.`.`.`.`.`.", | ||
| 276 | "`.`.`.`.`.``", | ||
| 277 | "`.`.`.`.`.`.", | ||
| 278 | "`.`.`.`.`.``", | ||
| 279 | "`.`.`.`.`.`.", | ||
| 280 | "`.`.`.`.`.``", | ||
| 281 | "`.`.`.`.`.`.", | ||
| 282 | "`.`.`.`.`.``", | ||
| 283 | "`.`.`.`.`.`.", | ||
| 284 | "`.`.`.`.`.``" | ||
| 285 | }; | ||
diff --git a/etc/tree-widget/folder/handle.png b/etc/tree-widget/folder/handle.png index 87058b7cc4d..cc5aa61b860 100644 --- a/etc/tree-widget/folder/handle.png +++ b/etc/tree-widget/folder/handle.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/folder/handle.xpm b/etc/tree-widget/folder/handle.xpm index 40d0ca417e9..d3eb5f387b3 100644 --- a/etc/tree-widget/folder/handle.xpm +++ b/etc/tree-widget/folder/handle.xpm | |||
| @@ -1,285 +1,27 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *handle[] = { | 2 | static char * handle_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "10 22 2 1", |
| 4 | " 10 22 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | ". c #ADA5C6", |
| 6 | "`` c #000000", | 6 | " ", |
| 7 | "`. c #a5a5c6", | 7 | " ", |
| 8 | "`# c #ada5c6", | 8 | " ", |
| 9 | "`a c #cecee7", | 9 | " ", |
| 10 | "`b c #ceceff", | 10 | " ", |
| 11 | "`c c None", | 11 | " ", |
| 12 | "`d c #ffffff", | 12 | " ", |
| 13 | "`e c #ffffff", | 13 | " ", |
| 14 | "`f c #ffffff", | 14 | " ", |
| 15 | "`g c #ffffff", | 15 | " ", |
| 16 | "`h c #ffffff", | 16 | " ", |
| 17 | "`i c #ffffff", | 17 | " . . . . .", |
| 18 | "`j c #ffffff", | 18 | " ", |
| 19 | "`k c #ffffff", | 19 | " ", |
| 20 | "`l c #ffffff", | 20 | " ", |
| 21 | "`m c #ffffff", | 21 | " ", |
| 22 | "`n c #ffffff", | 22 | " ", |
| 23 | "`o c #ffffff", | 23 | " ", |
| 24 | "`p c #ffffff", | 24 | " ", |
| 25 | "`q c #ffffff", | 25 | " ", |
| 26 | "`r c #ffffff", | 26 | " ", |
| 27 | "`s c #ffffff", | 27 | " "}; |
| 28 | "`t c #ffffff", | ||
| 29 | "`u c #ffffff", | ||
| 30 | "`v c #ffffff", | ||
| 31 | "`w c #ffffff", | ||
| 32 | "`x c #ffffff", | ||
| 33 | "`y c #ffffff", | ||
| 34 | "`z c #ffffff", | ||
| 35 | "`A c #ffffff", | ||
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #808000", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 264 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 265 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 266 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 267 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 268 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 269 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 270 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 271 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 272 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 273 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 274 | "`c`#`c`#`c`#`c`#`c`#", | ||
| 275 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 276 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 277 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 278 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 279 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 280 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 281 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 282 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 283 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 284 | "`c`c`c`c`c`c`c`c`c`c" | ||
| 285 | }; | ||
diff --git a/etc/tree-widget/folder/leaf.png b/etc/tree-widget/folder/leaf.png index 6abb6036f52..c15762b6570 100644 --- a/etc/tree-widget/folder/leaf.png +++ b/etc/tree-widget/folder/leaf.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/folder/leaf.xpm b/etc/tree-widget/folder/leaf.xpm index c353cb2cdf8..53a86c75d64 100644 --- a/etc/tree-widget/folder/leaf.xpm +++ b/etc/tree-widget/folder/leaf.xpm | |||
| @@ -1,285 +1,34 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *leaf[] = { | 2 | static char * leaf_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "16 22 9 1", |
| 4 | " 16 22 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | ". c #424242", |
| 6 | "`` c #000000", | 6 | "+ c #949494", |
| 7 | "`. c #424242", | 7 | "@ c #9C9C9C", |
| 8 | "`# c #848484", | 8 | "# c #A5A5A5", |
| 9 | "`a c #949494", | 9 | "$ c #ADADAD", |
| 10 | "`b c #9c9c9c", | 10 | "% c #848484", |
| 11 | "`c c #a5a5a5", | 11 | "& c #B5B5B5", |
| 12 | "`d c #adadad", | 12 | "* c #BDBDBD", |
| 13 | "`e c #b5b5b5", | 13 | " ", |
| 14 | "`f c #bdbdbd", | 14 | " ", |
| 15 | "`g c #c6c6c6", | 15 | " ", |
| 16 | "`h c None", | 16 | " ", |
| 17 | "`i c #ffffff", | 17 | " ", |
| 18 | "`j c #ffffff", | 18 | "....... ", |
| 19 | "`k c #ffffff", | 19 | ".++@@#.. ", |
| 20 | "`l c #ffffff", | 20 | ".+@@##.$. ", |
| 21 | "`m c #ffffff", | 21 | ".@@###.... ", |
| 22 | "`n c #ffffff", | 22 | ".@%%%+%$&. ", |
| 23 | "`o c #ffffff", | 23 | ".###$$$&&. ", |
| 24 | "`p c #ffffff", | 24 | ".#%+%%%&*. ", |
| 25 | "`q c #ffffff", | 25 | ".#$$$&&**. ", |
| 26 | "`r c #ffffff", | 26 | ".$%%+%%**. ", |
| 27 | "`s c #ffffff", | 27 | ".$$&&****. ", |
| 28 | "`t c #ffffff", | 28 | ".$&&*****. ", |
| 29 | "`u c #ffffff", | 29 | ".......... ", |
| 30 | "`v c #ffffff", | 30 | " ", |
| 31 | "`w c #ffffff", | 31 | " ", |
| 32 | "`x c #ffffff", | 32 | " ", |
| 33 | "`y c #ffffff", | 33 | " ", |
| 34 | "`z c #ffffff", | 34 | " "}; |
| 35 | "`A c #ffffff", | ||
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #ffffff", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 264 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 265 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 266 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 267 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 268 | "`.`.`.`.`.`.`.`h`h`h`h`h`h`h`h`h", | ||
| 269 | "`.`a`a`b`b`c`.`.`h`h`h`h`h`h`h`h", | ||
| 270 | "`.`a`b`b`c`c`.`d`.`h`h`h`h`h`h`h", | ||
| 271 | "`.`b`b`c`c`c`.`.`.`.`h`h`h`h`h`h", | ||
| 272 | "`.`b`#`#`#`a`#`d`e`.`h`h`h`h`h`h", | ||
| 273 | "`.`c`c`c`d`d`d`e`e`.`h`h`h`h`h`h", | ||
| 274 | "`.`c`#`a`#`#`#`e`f`.`h`h`h`h`h`h", | ||
| 275 | "`.`c`d`d`d`e`e`f`f`.`h`h`h`h`h`h", | ||
| 276 | "`.`d`#`#`a`#`#`f`f`.`h`h`h`h`h`h", | ||
| 277 | "`.`d`d`e`e`f`f`f`f`.`h`h`h`h`h`h", | ||
| 278 | "`.`d`e`e`f`f`f`f`f`.`h`h`h`h`h`h", | ||
| 279 | "`.`.`.`.`.`.`.`.`.`.`h`h`h`h`h`h", | ||
| 280 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 281 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 282 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 283 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h", | ||
| 284 | "`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h" | ||
| 285 | }; | ||
diff --git a/etc/tree-widget/folder/no-guide.png b/etc/tree-widget/folder/no-guide.png index 5705cc83cf4..81999263b2c 100644 --- a/etc/tree-widget/folder/no-guide.png +++ b/etc/tree-widget/folder/no-guide.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/folder/no-guide.xpm b/etc/tree-widget/folder/no-guide.xpm index 2d3e1e7c099..a74b84061ca 100644 --- a/etc/tree-widget/folder/no-guide.xpm +++ b/etc/tree-widget/folder/no-guide.xpm | |||
| @@ -1,285 +1,26 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *no-guide[] = { | 2 | static char * no_guide_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "6 22 1 1", |
| 4 | " 6 22 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | " ", |
| 6 | "`` c None", | 6 | " ", |
| 7 | "`. c #ffffff", | 7 | " ", |
| 8 | "`# c #ffffff", | 8 | " ", |
| 9 | "`a c #ffffff", | 9 | " ", |
| 10 | "`b c #ffffff", | 10 | " ", |
| 11 | "`c c #ffffff", | 11 | " ", |
| 12 | "`d c #ffffff", | 12 | " ", |
| 13 | "`e c #ffffff", | 13 | " ", |
| 14 | "`f c #ffffff", | 14 | " ", |
| 15 | "`g c #ffffff", | 15 | " ", |
| 16 | "`h c #ffffff", | 16 | " ", |
| 17 | "`i c #ffffff", | 17 | " ", |
| 18 | "`j c #ffffff", | 18 | " ", |
| 19 | "`k c #ffffff", | 19 | " ", |
| 20 | "`l c #ffffff", | 20 | " ", |
| 21 | "`m c #ffffff", | 21 | " ", |
| 22 | "`n c #ffffff", | 22 | " ", |
| 23 | "`o c #ffffff", | 23 | " ", |
| 24 | "`p c #ffffff", | 24 | " ", |
| 25 | "`q c #ffffff", | 25 | " ", |
| 26 | "`r c #ffffff", | 26 | " "}; |
| 27 | "`s c #ffffff", | ||
| 28 | "`t c #ffffff", | ||
| 29 | "`u c #ffffff", | ||
| 30 | "`v c #ffffff", | ||
| 31 | "`w c #ffffff", | ||
| 32 | "`x c #ffffff", | ||
| 33 | "`y c #ffffff", | ||
| 34 | "`z c #ffffff", | ||
| 35 | "`A c #ffffff", | ||
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #ffffff", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "````````````", | ||
| 264 | "````````````", | ||
| 265 | "````````````", | ||
| 266 | "````````````", | ||
| 267 | "````````````", | ||
| 268 | "````````````", | ||
| 269 | "````````````", | ||
| 270 | "````````````", | ||
| 271 | "````````````", | ||
| 272 | "````````````", | ||
| 273 | "````````````", | ||
| 274 | "````````````", | ||
| 275 | "````````````", | ||
| 276 | "````````````", | ||
| 277 | "````````````", | ||
| 278 | "````````````", | ||
| 279 | "````````````", | ||
| 280 | "````````````", | ||
| 281 | "````````````", | ||
| 282 | "````````````", | ||
| 283 | "````````````", | ||
| 284 | "````````````" | ||
| 285 | }; | ||
diff --git a/etc/tree-widget/folder/no-handle.png b/etc/tree-widget/folder/no-handle.png index c335dd938ac..3055803a595 100644 --- a/etc/tree-widget/folder/no-handle.png +++ b/etc/tree-widget/folder/no-handle.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/folder/no-handle.xpm b/etc/tree-widget/folder/no-handle.xpm index fa3e4c5874b..cea559fd763 100644 --- a/etc/tree-widget/folder/no-handle.xpm +++ b/etc/tree-widget/folder/no-handle.xpm | |||
| @@ -1,285 +1,26 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *no-handle[] = { | 2 | static char * no_handle_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "10 22 1 1", |
| 4 | " 10 22 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | " ", |
| 6 | "`` c #000000", | 6 | " ", |
| 7 | "`. c #a5a5c6", | 7 | " ", |
| 8 | "`# c #ada5c6", | 8 | " ", |
| 9 | "`a c #cecee7", | 9 | " ", |
| 10 | "`b c #ceceff", | 10 | " ", |
| 11 | "`c c None", | 11 | " ", |
| 12 | "`d c #ffffff", | 12 | " ", |
| 13 | "`e c #ffffff", | 13 | " ", |
| 14 | "`f c #ffffff", | 14 | " ", |
| 15 | "`g c #ffffff", | 15 | " ", |
| 16 | "`h c #ffffff", | 16 | " ", |
| 17 | "`i c #ffffff", | 17 | " ", |
| 18 | "`j c #ffffff", | 18 | " ", |
| 19 | "`k c #ffffff", | 19 | " ", |
| 20 | "`l c #ffffff", | 20 | " ", |
| 21 | "`m c #ffffff", | 21 | " ", |
| 22 | "`n c #ffffff", | 22 | " ", |
| 23 | "`o c #ffffff", | 23 | " ", |
| 24 | "`p c #ffffff", | 24 | " ", |
| 25 | "`q c #ffffff", | 25 | " ", |
| 26 | "`r c #ffffff", | 26 | " "}; |
| 27 | "`s c #ffffff", | ||
| 28 | "`t c #ffffff", | ||
| 29 | "`u c #ffffff", | ||
| 30 | "`v c #ffffff", | ||
| 31 | "`w c #ffffff", | ||
| 32 | "`x c #ffffff", | ||
| 33 | "`y c #ffffff", | ||
| 34 | "`z c #ffffff", | ||
| 35 | "`A c #ffffff", | ||
| 36 | "`B c #ffffff", | ||
| 37 | "`C c #ffffff", | ||
| 38 | "`D c #808000", | ||
| 39 | "`E c #ffffff", | ||
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 264 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 265 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 266 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 267 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 268 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 269 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 270 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 271 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 272 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 273 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 274 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 275 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 276 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 277 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 278 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 279 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 280 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 281 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 282 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 283 | "`c`c`c`c`c`c`c`c`c`c", | ||
| 284 | "`c`c`c`c`c`c`c`c`c`c" | ||
| 285 | }; | ||
diff --git a/etc/tree-widget/folder/open.png b/etc/tree-widget/folder/open.png index 4237d3aa648..6696a43c09c 100644 --- a/etc/tree-widget/folder/open.png +++ b/etc/tree-widget/folder/open.png | |||
| Binary files differ | |||
diff --git a/etc/tree-widget/folder/open.xpm b/etc/tree-widget/folder/open.xpm index 720f79fa94b..dfbf758dd8f 100644 --- a/etc/tree-widget/folder/open.xpm +++ b/etc/tree-widget/folder/open.xpm | |||
| @@ -1,285 +1,39 @@ | |||
| 1 | /* XPM */ | 1 | /* XPM */ |
| 2 | static char *open[] = { | 2 | static char * open_xpm[] = { |
| 3 | /* width height num_colors chars_per_pixel */ | 3 | "16 22 14 1", |
| 4 | " 16 22 256 2", | 4 | " c None", |
| 5 | /* colors */ | 5 | ". c #848400", |
| 6 | "`` c #848400", | 6 | "+ c #D6D67B", |
| 7 | "`. c #a5a5c6", | 7 | "@ c #CECE7B", |
| 8 | "`# c #adad39", | 8 | "# c #CECE73", |
| 9 | "`a c #adad42", | 9 | "$ c #C6C66B", |
| 10 | "`b c #b5b54a", | 10 | "% c #BDBD5A", |
| 11 | "`c c #bdbd52", | 11 | "& c #BDBD52", |
| 12 | "`d c #bdbd5a", | 12 | "* c #ADAD39", |
| 13 | "`e c #c6c663", | 13 | "= c #ADAD42", |
| 14 | "`f c #c6c66b", | 14 | "- c #B5B54A", |
| 15 | "`g c #cece6b", | 15 | "; c #C6C663", |
| 16 | "`h c #cece73", | 16 | "> c #CECE6B", |
| 17 | "`i c #cece7b", | 17 | ", c #A5A5C6", |
| 18 | "`j c #d6d67b", | 18 | " ", |
| 19 | "`k c None", | 19 | " ", |
| 20 | "`l c #ffffff", | 20 | " ", |
| 21 | "`m c #ffffff", | 21 | " ", |
| 22 | "`n c #ffffff", | 22 | " ", |
| 23 | "`o c #ffffff", | 23 | " ", |
| 24 | "`p c #ffffff", | 24 | " .... ", |
| 25 | "`q c #ffffff", | 25 | ".+@@#..... ", |
| 26 | "`r c #ffffff", | 26 | ".@@##$$%%&. ", |
| 27 | "`s c #ffffff", | 27 | ".@#.......... ", |
| 28 | "`t c #ffffff", | 28 | ".#.*==--&%%;;. ", |
| 29 | "`u c #ffffff", | 29 | ".#.==--&%%;;. ", |
| 30 | "`v c #ffffff", | 30 | "..==--&%%;;$. ", |
| 31 | "`w c #ffffff", | 31 | "..=--&%%;;$. ", |
| 32 | "`x c #ffffff", | 32 | ".=--&%%;;$>. ", |
| 33 | "`y c #ffffff", | 33 | "........... ", |
| 34 | "`z c #ffffff", | 34 | " ", |
| 35 | "`A c #ffffff", | 35 | " , ", |
| 36 | "`B c #ffffff", | 36 | " ", |
| 37 | "`C c #ffffff", | 37 | " , ", |
| 38 | "`D c #ffffff", | 38 | " ", |
| 39 | "`E c #ffffff", | 39 | " , "}; |
| 40 | "`F c #ffffff", | ||
| 41 | "`G c #ffffff", | ||
| 42 | "`H c #ffffff", | ||
| 43 | "`I c #ffffff", | ||
| 44 | "`J c #ffffff", | ||
| 45 | "`K c #ffffff", | ||
| 46 | "`L c #ffffff", | ||
| 47 | "`M c #ffffff", | ||
| 48 | "`N c #ffffff", | ||
| 49 | "`O c #ffffff", | ||
| 50 | "`P c #ffffff", | ||
| 51 | "`Q c #ffffff", | ||
| 52 | "`R c #ffffff", | ||
| 53 | "`S c #ffffff", | ||
| 54 | "`T c #ffffff", | ||
| 55 | "`U c #ffffff", | ||
| 56 | "`V c #ffffff", | ||
| 57 | "`W c #ffffff", | ||
| 58 | "`X c #ffffff", | ||
| 59 | "`Y c #ffffff", | ||
| 60 | "`Z c #ffffff", | ||
| 61 | "`0 c #ffffff", | ||
| 62 | "`1 c #ffffff", | ||
| 63 | "`2 c #ffffff", | ||
| 64 | "`3 c #ffffff", | ||
| 65 | "`4 c #ffffff", | ||
| 66 | "`5 c #ffffff", | ||
| 67 | "`6 c #ffffff", | ||
| 68 | "`7 c #ffffff", | ||
| 69 | "`8 c #ffffff", | ||
| 70 | ".` c #ffffff", | ||
| 71 | ".. c #ffffff", | ||
| 72 | ".# c #ffffff", | ||
| 73 | ".a c #ffffff", | ||
| 74 | ".b c #ffffff", | ||
| 75 | ".c c #ffffff", | ||
| 76 | ".d c #ffffff", | ||
| 77 | ".e c #ffffff", | ||
| 78 | ".f c #ffffff", | ||
| 79 | ".g c #ffffff", | ||
| 80 | ".h c #ffffff", | ||
| 81 | ".i c #ffffff", | ||
| 82 | ".j c #ffffff", | ||
| 83 | ".k c #ffffff", | ||
| 84 | ".l c #ffffff", | ||
| 85 | ".m c #ffffff", | ||
| 86 | ".n c #ffffff", | ||
| 87 | ".o c #ffffff", | ||
| 88 | ".p c #ffffff", | ||
| 89 | ".q c #ffffff", | ||
| 90 | ".r c #ffffff", | ||
| 91 | ".s c #ffffff", | ||
| 92 | ".t c #ffffff", | ||
| 93 | ".u c #ffffff", | ||
| 94 | ".v c #ffffff", | ||
| 95 | ".w c #ffffff", | ||
| 96 | ".x c #ffffff", | ||
| 97 | ".y c #ffffff", | ||
| 98 | ".z c #ffffff", | ||
| 99 | ".A c #ffffff", | ||
| 100 | ".B c #ffffff", | ||
| 101 | ".C c #ffffff", | ||
| 102 | ".D c #ffffff", | ||
| 103 | ".E c #ffffff", | ||
| 104 | ".F c #ffffff", | ||
| 105 | ".G c #ffffff", | ||
| 106 | ".H c #ffffff", | ||
| 107 | ".I c #ffffff", | ||
| 108 | ".J c #ffffff", | ||
| 109 | ".K c #ffffff", | ||
| 110 | ".L c #ffffff", | ||
| 111 | ".M c #ffffff", | ||
| 112 | ".N c #ffffff", | ||
| 113 | ".O c #ffffff", | ||
| 114 | ".P c #ffffff", | ||
| 115 | ".Q c #ffffff", | ||
| 116 | ".R c #ffffff", | ||
| 117 | ".S c #ffffff", | ||
| 118 | ".T c #ffffff", | ||
| 119 | ".U c #ffffff", | ||
| 120 | ".V c #ffffff", | ||
| 121 | ".W c #ffffff", | ||
| 122 | ".X c #ffffff", | ||
| 123 | ".Y c #ffffff", | ||
| 124 | ".Z c #ffffff", | ||
| 125 | ".0 c #ffffff", | ||
| 126 | ".1 c #ffffff", | ||
| 127 | ".2 c #ffffff", | ||
| 128 | ".3 c #ffffff", | ||
| 129 | ".4 c #ffffff", | ||
| 130 | ".5 c #ffffff", | ||
| 131 | ".6 c #ffffff", | ||
| 132 | ".7 c #ffffff", | ||
| 133 | ".8 c #ffffff", | ||
| 134 | "#` c #ffffff", | ||
| 135 | "#. c #ffffff", | ||
| 136 | "## c #ffffff", | ||
| 137 | "#a c #ffffff", | ||
| 138 | "#b c #ffffff", | ||
| 139 | "#c c #ffffff", | ||
| 140 | "#d c #ffffff", | ||
| 141 | "#e c #ffffff", | ||
| 142 | "#f c #ffffff", | ||
| 143 | "#g c #ffffff", | ||
| 144 | "#h c #ffffff", | ||
| 145 | "#i c #ffffff", | ||
| 146 | "#j c #ffffff", | ||
| 147 | "#k c #ffffff", | ||
| 148 | "#l c #ffffff", | ||
| 149 | "#m c #ffffff", | ||
| 150 | "#n c #ffffff", | ||
| 151 | "#o c #ffffff", | ||
| 152 | "#p c #ffffff", | ||
| 153 | "#q c #ffffff", | ||
| 154 | "#r c #ffffff", | ||
| 155 | "#s c #ffffff", | ||
| 156 | "#t c #ffffff", | ||
| 157 | "#u c #ffffff", | ||
| 158 | "#v c #ffffff", | ||
| 159 | "#w c #ffffff", | ||
| 160 | "#x c #ffffff", | ||
| 161 | "#y c #ffffff", | ||
| 162 | "#z c #ffffff", | ||
| 163 | "#A c #ffffff", | ||
| 164 | "#B c #ffffff", | ||
| 165 | "#C c #ffffff", | ||
| 166 | "#D c #ffffff", | ||
| 167 | "#E c #ffffff", | ||
| 168 | "#F c #ffffff", | ||
| 169 | "#G c #ffffff", | ||
| 170 | "#H c #ffffff", | ||
| 171 | "#I c #ffffff", | ||
| 172 | "#J c #ffffff", | ||
| 173 | "#K c #ffffff", | ||
| 174 | "#L c #ffffff", | ||
| 175 | "#M c #ffffff", | ||
| 176 | "#N c #ffffff", | ||
| 177 | "#O c #ffffff", | ||
| 178 | "#P c #ffffff", | ||
| 179 | "#Q c #ffffff", | ||
| 180 | "#R c #ffffff", | ||
| 181 | "#S c #ffffff", | ||
| 182 | "#T c #ffffff", | ||
| 183 | "#U c #ffffff", | ||
| 184 | "#V c #ffffff", | ||
| 185 | "#W c #ffffff", | ||
| 186 | "#X c #ffffff", | ||
| 187 | "#Y c #ffffff", | ||
| 188 | "#Z c #ffffff", | ||
| 189 | "#0 c #ffffff", | ||
| 190 | "#1 c #ffffff", | ||
| 191 | "#2 c #ffffff", | ||
| 192 | "#3 c #ffffff", | ||
| 193 | "#4 c #ffffff", | ||
| 194 | "#5 c #ffffff", | ||
| 195 | "#6 c #ffffff", | ||
| 196 | "#7 c #ffffff", | ||
| 197 | "#8 c #ffffff", | ||
| 198 | "a` c #ffffff", | ||
| 199 | "a. c #ffffff", | ||
| 200 | "a# c #ffffff", | ||
| 201 | "aa c #ffffff", | ||
| 202 | "ab c #ffffff", | ||
| 203 | "ac c #ffffff", | ||
| 204 | "ad c #ffffff", | ||
| 205 | "ae c #ffffff", | ||
| 206 | "af c #ffffff", | ||
| 207 | "ag c #ffffff", | ||
| 208 | "ah c #ffffff", | ||
| 209 | "ai c #ffffff", | ||
| 210 | "aj c #ffffff", | ||
| 211 | "ak c #ffffff", | ||
| 212 | "al c #ffffff", | ||
| 213 | "am c #ffffff", | ||
| 214 | "an c #ffffff", | ||
| 215 | "ao c #ffffff", | ||
| 216 | "ap c #ffffff", | ||
| 217 | "aq c #ffffff", | ||
| 218 | "ar c #ffffff", | ||
| 219 | "as c #ffffff", | ||
| 220 | "at c #ffffff", | ||
| 221 | "au c #ffffff", | ||
| 222 | "av c #ffffff", | ||
| 223 | "aw c #ffffff", | ||
| 224 | "ax c #ffffff", | ||
| 225 | "ay c #ffffff", | ||
| 226 | "az c #ffffff", | ||
| 227 | "aA c #ffffff", | ||
| 228 | "aB c #ffffff", | ||
| 229 | "aC c #ffffff", | ||
| 230 | "aD c #ffffff", | ||
| 231 | "aE c #ffffff", | ||
| 232 | "aF c #ffffff", | ||
| 233 | "aG c #ffffff", | ||
| 234 | "aH c #ffffff", | ||
| 235 | "aI c #ffffff", | ||
| 236 | "aJ c #ffffff", | ||
| 237 | "aK c #ffffff", | ||
| 238 | "aL c #ffffff", | ||
| 239 | "aM c #ffffff", | ||
| 240 | "aN c #ffffff", | ||
| 241 | "aO c #ffffff", | ||
| 242 | "aP c #ffffff", | ||
| 243 | "aQ c #ffffff", | ||
| 244 | "aR c #ffffff", | ||
| 245 | "aS c #ffffff", | ||
| 246 | "aT c #ffffff", | ||
| 247 | "aU c #ffffff", | ||
| 248 | "aV c #ffffff", | ||
| 249 | "aW c #ffffff", | ||
| 250 | "aX c #ffffff", | ||
| 251 | "aY c #ffffff", | ||
| 252 | "aZ c #ffffff", | ||
| 253 | "a0 c #ffffff", | ||
| 254 | "a1 c #ffffff", | ||
| 255 | "a2 c #ffffff", | ||
| 256 | "a3 c #ffffff", | ||
| 257 | "a4 c #ffffff", | ||
| 258 | "a5 c #ffffff", | ||
| 259 | "a6 c #ffffff", | ||
| 260 | "a7 c #ffffff", | ||
| 261 | "a8 c #ffffff", | ||
| 262 | /* pixels */ | ||
| 263 | "`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k", | ||
| 264 | "`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k", | ||
| 265 | "`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k", | ||
| 266 | "`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k", | ||
| 267 | "`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k", | ||
| 268 | "`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k", | ||
| 269 | "`k`````````k`k`k`k`k`k`k`k`k`k`k", | ||
| 270 | "```j`i`i`h```````````k`k`k`k`k`k", | ||
| 271 | "```i`i`h`h`f`f`d`d`c```k`k`k`k`k", | ||
| 272 | "```i`h`````````````````````k`k`k", | ||
| 273 | "```h```#`a`a`b`b`c`d`d`e`e```k`k", | ||
| 274 | "```h```a`a`b`b`c`d`d`e`e```k`k`k", | ||
| 275 | "`````a`a`b`b`c`d`d`e`e`f```k`k`k", | ||
| 276 | "`````a`b`b`c`d`d`e`e`f```k`k`k`k", | ||
| 277 | "```a`b`b`c`d`d`e`e`f`g```k`k`k`k", | ||
| 278 | "```````````````````````k`k`k`k`k", | ||
| 279 | "`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k", | ||
| 280 | "`k`k`k`k`k`.`k`k`k`k`k`k`k`k`k`k", | ||
| 281 | "`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k", | ||
| 282 | "`k`k`k`k`k`.`k`k`k`k`k`k`k`k`k`k", | ||
| 283 | "`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k`k", | ||
| 284 | "`k`k`k`k`k`.`k`k`k`k`k`k`k`k`k`k" | ||
| 285 | }; | ||
diff --git a/etc/ulimit.hack b/etc/ulimit.hack index 17105158c42..d804459ba0b 100644 --- a/etc/ulimit.hack +++ b/etc/ulimit.hack | |||
| @@ -37,4 +37,23 @@ exit 0 | |||
| 37 | # | 37 | # |
| 38 | # Upon system reboot, all processes will inherit the new large ulimit. | 38 | # Upon system reboot, all processes will inherit the new large ulimit. |
| 39 | 39 | ||
| 40 | # Copyright (c) 1999, 2003, 2006 | ||
| 41 | # Free Software Foundation, Inc. | ||
| 42 | |||
| 43 | # COPYING PERMISSIONS: | ||
| 44 | # | ||
| 45 | # This document is free software; you can redistribute it and/or modify | ||
| 46 | # it under the terms of the GNU General Public License as published by | ||
| 47 | # the Free Software Foundation; either version 2 of the License, or | ||
| 48 | # (at your option) any later version. | ||
| 49 | # | ||
| 50 | # This program is distributed in the hope that it will be useful, | ||
| 51 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 52 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 53 | # GNU General Public License for more details. | ||
| 54 | # | ||
| 55 | # You should have received a copy of the GNU General Public License | ||
| 56 | # along with this program; if not, write to the Free Software | ||
| 57 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
| 58 | |||
| 40 | # arch-tag: 6f9a7072-9d07-4431-b0bb-e867648ad0b4 | 59 | # arch-tag: 6f9a7072-9d07-4431-b0bb-e867648ad0b4 |