diff options
| author | Karoly Lorentey | 2005-07-05 22:12:55 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2005-07-05 22:12:55 +0000 |
| commit | 41be4f66fd33b17eba3e3ed4b8f8828c77f18517 (patch) | |
| tree | 23558632ba5eac56317f1df9fac514f439e7f82d | |
| parent | 2f98e6e37b5870a644a178d4d6998c6c7f1f68dd (diff) | |
| parent | 41700b79db6e52aee51d9d57c453b5f6fbd61e6e (diff) | |
| download | emacs-41be4f66fd33b17eba3e3ed4b8f8828c77f18517.tar.gz emacs-41be4f66fd33b17eba3e3ed4b8f8828c77f18517.zip | |
Merged from miles@gnu.org--gnu-2005 (patch 83-87, 449-468)
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-449
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-450
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-451
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-452
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-453
Update from CVS: lisp/subr.el (add-to-ordered-list): Doc fix.
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-454
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-455
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-456
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-457
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-458
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-459
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-460
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-461
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-462
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-463
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-464
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-465
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-466
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-467
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-468
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-83
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-84
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-85
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-86
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-87
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-371
187 files changed, 8756 insertions, 2762 deletions
| @@ -2,7 +2,7 @@ | |||
| 2 | Version 2, June 1991 | 2 | Version 2, June 1991 |
| 3 | 3 | ||
| 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
| 5 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 5 | 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 6 | Everyone is permitted to copy and distribute verbatim copies | 6 | Everyone is permitted to copy and distribute verbatim copies |
| 7 | of this license document, but changing it is not allowed. | 7 | of this license document, but changing it is not allowed. |
| 8 | 8 | ||
| @@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found. | |||
| 305 | 305 | ||
| 306 | You should have received a copy of the GNU General Public License | 306 | You should have received a copy of the GNU General Public License |
| 307 | along with this program; if not, write to the Free Software | 307 | along with this program; if not, write to the Free Software |
| 308 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 308 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 309 | 309 | ||
| 310 | 310 | ||
| 311 | Also add information on how to contact you by electronic and paper mail. | 311 | Also add information on how to contact you by electronic and paper mail. |
| @@ -313,7 +313,7 @@ Also add information on how to contact you by electronic and paper mail. | |||
| 313 | If the program is interactive, make it output a short notice like this | 313 | If the program is interactive, make it output a short notice like this |
| 314 | when it starts in an interactive mode: | 314 | when it starts in an interactive mode: |
| 315 | 315 | ||
| 316 | Gnomovision version 69, Copyright (C) year name of author | 316 | Gnomovision version 69, Copyright (C) year name of author |
| 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
| 318 | This is free software, and you are welcome to redistribute it | 318 | This is free software, and you are welcome to redistribute it |
| 319 | under certain conditions; type `show c' for details. | 319 | under certain conditions; type `show c' for details. |
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index c28608068ba..7e13df74375 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -23,20 +23,15 @@ face name prefixes should be in it for good results. | |||
| 23 | gracefully if something isn't supported over Tramp. | 23 | gracefully if something isn't supported over Tramp. |
| 24 | To be done by Andre Spiegel <spiegel@gnu.org>. | 24 | To be done by Andre Spiegel <spiegel@gnu.org>. |
| 25 | 25 | ||
| 26 | ** define-minor-mode should not put :require into defcustom. | ||
| 27 | See msg from rms to emacs-devel on 21 Dec. | ||
| 28 | |||
| 29 | ** Update Speedbar. | 26 | ** Update Speedbar. |
| 30 | 27 | ||
| 31 | ** Update vhdl-mode.el based on changes in | 28 | ** Update vhdl-mode.el based on changes in |
| 32 | http://opensource.ethz.ch/emacs/vhdl-mode.html. | 29 | http://opensource.ethz.ch/emacs/vhdl-mode.html. |
| 33 | 30 | ||
| 31 | ** Debug custom themes. | ||
| 34 | 32 | ||
| 35 | * FATAL ERRORS | 33 | * FATAL ERRORS |
| 36 | 34 | ||
| 37 | ** Make unexec handle memory mapping policy of the latest versions of Linux. | ||
| 38 | This includes exec_shield and a memory-layout randomization feature. | ||
| 39 | |||
| 40 | ** Investigate reported crashes in compact_small_strings. | 35 | ** Investigate reported crashes in compact_small_strings. |
| 41 | 36 | ||
| 42 | ** Investigate reported crashes related to using an | 37 | ** Investigate reported crashes related to using an |
| @@ -45,6 +40,8 @@ invalid pointer from string_free_list. | |||
| 45 | 40 | ||
| 46 | * BUGS | 41 | * BUGS |
| 47 | 42 | ||
| 43 | ** Fix those modes that still use compile-internal, to not use it. | ||
| 44 | |||
| 48 | ** Bug in ebrowse | 45 | ** Bug in ebrowse |
| 49 | 46 | ||
| 50 | Date: Fri, 27 May 2005 17:35:48 +0200 | 47 | Date: Fri, 27 May 2005 17:35:48 +0200 |
| @@ -102,6 +99,12 @@ I think in the near future we will see more of this problem, so it might be | |||
| 102 | time to make anfe-ftp more intelligent. | 99 | time to make anfe-ftp more intelligent. |
| 103 | 100 | ||
| 104 | 101 | ||
| 102 | * FSF's ADDRESS | ||
| 103 | |||
| 104 | ** Update the FSF's address in all files. | ||
| 105 | Lute Kamstra is working on this. | ||
| 106 | |||
| 107 | |||
| 105 | * DOCUMENTATION | 108 | * DOCUMENTATION |
| 106 | 109 | ||
| 107 | ** Document Custom Themes. | 110 | ** Document Custom Themes. |
diff --git a/etc/COPYING b/etc/COPYING index d60c31a97a5..3912109b5cd 100644 --- a/etc/COPYING +++ b/etc/COPYING | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | Version 2, June 1991 | 2 | Version 2, June 1991 |
| 3 | 3 | ||
| 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
| 5 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 5 | 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 6 | Everyone is permitted to copy and distribute verbatim copies | 6 | Everyone is permitted to copy and distribute verbatim copies |
| 7 | of this license document, but changing it is not allowed. | 7 | of this license document, but changing it is not allowed. |
| 8 | 8 | ||
| @@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found. | |||
| 305 | 305 | ||
| 306 | You should have received a copy of the GNU General Public License | 306 | You should have received a copy of the GNU General Public License |
| 307 | along with this program; if not, write to the Free Software | 307 | along with this program; if not, write to the Free Software |
| 308 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 308 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 309 | 309 | ||
| 310 | 310 | ||
| 311 | Also add information on how to contact you by electronic and paper mail. | 311 | Also add information on how to contact you by electronic and paper mail. |
| @@ -313,7 +313,7 @@ Also add information on how to contact you by electronic and paper mail. | |||
| 313 | If the program is interactive, make it output a short notice like this | 313 | If the program is interactive, make it output a short notice like this |
| 314 | when it starts in an interactive mode: | 314 | when it starts in an interactive mode: |
| 315 | 315 | ||
| 316 | Gnomovision version 69, Copyright (C) year name of author | 316 | Gnomovision version 69, Copyright (C) year name of author |
| 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
| 318 | This is free software, and you are welcome to redistribute it | 318 | This is free software, and you are welcome to redistribute it |
| 319 | under certain conditions; type `show c' for details. | 319 | under certain conditions; type `show c' for details. |
diff --git a/etc/ChangeLog b/etc/ChangeLog index 9fb41788feb..18ec12243c4 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,17 @@ | |||
| 1 | 2005-07-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * PROBLEMS (Fedora Core 4 GNU/Linux: Segfault during dumping): | ||
| 4 | Added it again. | ||
| 5 | |||
| 6 | 2005-06-29 Carsten Dominik <dominik@science.uva.nl> | ||
| 7 | |||
| 8 | * NEWS: Added an entry for Org-mode, and a change entry for | ||
| 9 | reftex-mode. | ||
| 10 | |||
| 11 | 2005-06-28 Richard M. Stallman <rms@gnu.org> | ||
| 12 | |||
| 13 | * PROBLEMS (Fedora Core 4 GNU/Linux: Segfault during dumping): New. | ||
| 14 | |||
| 1 | 2005-06-11 Eli Zaretskii <eliz@gnu.org> | 15 | 2005-06-11 Eli Zaretskii <eliz@gnu.org> |
| 2 | 16 | ||
| 3 | * DEBUG: Mention emacs-buffer.gdb. | 17 | * DEBUG: Mention emacs-buffer.gdb. |
| @@ -58,7 +72,7 @@ | |||
| 58 | 72 | ||
| 59 | 2005-05-05 Slawomir Nowaczyk <slawek@cs.lth.se> (tiny change) | 73 | 2005-05-05 Slawomir Nowaczyk <slawek@cs.lth.se> (tiny change) |
| 60 | 74 | ||
| 61 | * TUTORIAL.pl: Updated header. | 75 | * TUTORIAL.pl: Updated header. |
| 62 | 76 | ||
| 63 | 2005-05-02 Richard M. Stallman <rms@gnu.org> | 77 | 2005-05-02 Richard M. Stallman <rms@gnu.org> |
| 64 | 78 | ||
| @@ -101,8 +115,8 @@ | |||
| 101 | 115 | ||
| 102 | 2005-04-10 Masatake YAMATO <jet@gyve.org> | 116 | 2005-04-10 Masatake YAMATO <jet@gyve.org> |
| 103 | 117 | ||
| 104 | * compilation.txt (symbol): Added gcov-file | 118 | * compilation.txt (symbol): Add gcov-file |
| 105 | gcov-bb-file gcov-never-called-line gcov-called-line . | 119 | gcov-bb-file gcov-never-called-line gcov-called-line. |
| 106 | 120 | ||
| 107 | 2005-04-08 Kenichi Handa <handa@m17n.org> | 121 | 2005-04-08 Kenichi Handa <handa@m17n.org> |
| 108 | 122 | ||
| @@ -119,7 +133,7 @@ | |||
| 119 | 133 | ||
| 120 | 2005-04-05 Marcelo Toledo <marcelo@gnu.org> | 134 | 2005-04-05 Marcelo Toledo <marcelo@gnu.org> |
| 121 | 135 | ||
| 122 | * TUTORIAL.translators: Added the field Maintainer. | 136 | * TUTORIAL.translators: Added the field Maintainer. |
| 123 | 137 | ||
| 124 | 2005-04-04 Thien-Thi Nguyen <ttn@gnu.org> | 138 | 2005-04-04 Thien-Thi Nguyen <ttn@gnu.org> |
| 125 | 139 | ||
| @@ -140,22 +154,21 @@ | |||
| 140 | 154 | ||
| 141 | 2005-04-01 Marcelo Toledo <marcelo@gnu.org> | 155 | 2005-04-01 Marcelo Toledo <marcelo@gnu.org> |
| 142 | 156 | ||
| 143 | * TUTORIAL.pt_BR, TUTORIAL.cn, TUTORIAL.cs, TUTORIAL.de, | 157 | * TUTORIAL.pt_BR, TUTORIAL.cn, TUTORIAL.cs, TUTORIAL.de, |
| 144 | * TUTORIAL.es, TUTORIAL.fr, TUTORIAL.it, TUTORIAL.ja, TUTORIAL.ko, | 158 | * TUTORIAL.es, TUTORIAL.fr, TUTORIAL.it, TUTORIAL.ja, TUTORIAL.ko, |
| 145 | * TUTORIAL.pl, TUTORIAL.pt_BR, TUTORIAL.ro, TUTORIAL.ru, | 159 | * TUTORIAL.pl, TUTORIAL.pt_BR, TUTORIAL.ro, TUTORIAL.ru, |
| 146 | * TUTORIAL.sk, TUTORIAL.sl, TUTORIAL.th, TUTORIAL.zh: Fix title | 160 | * TUTORIAL.sk, TUTORIAL.sl, TUTORIAL.th, TUTORIAL.zh: Fix title line. |
| 147 | line. | ||
| 148 | 161 | ||
| 149 | 2005-04-01 Ognyan Kulev <ogi@fmi.uni-sofia.bg> | 162 | 2005-04-01 Ognyan Kulev <ogi@fmi.uni-sofia.bg> |
| 150 | 163 | ||
| 151 | * TUTORIAL.bg: Fix title line; Applied TUTORIAL changes in | 164 | * TUTORIAL.bg: Fix title line; Applied TUTORIAL changes in |
| 152 | 2005-02-08T14:20:54Z!lute@gnu.org, "Emacs" is not transliterated to cyrillic anymore; | 165 | 2005-02-08T14:20:54Z!lute@gnu.org, "Emacs" is not transliterated to cyrillic anymore; |
| 153 | Minor fixes. | 166 | Minor fixes. |
| 154 | 167 | ||
| 155 | 2005-04-01 Mats Lidell <matsl@contactor.se> | 168 | 2005-04-01 Mats Lidell <matsl@contactor.se> |
| 156 | 169 | ||
| 157 | * TUTORIAL.sv: Sync some other changes with the TUTORIAL version | 170 | * TUTORIAL.sv: Sync some other changes with the TUTORIAL version |
| 158 | 2005-04-01T00:31:25Z!rms@gnu.org. | 171 | 2005-04-01T00:31:25Z!rms@gnu.org. |
| 159 | 172 | ||
| 160 | 2005-04-01 Lute Kamstra <lute@gnu.org> | 173 | 2005-04-01 Lute Kamstra <lute@gnu.org> |
| 161 | 174 | ||
| @@ -289,7 +302,7 @@ | |||
| 289 | 302 | ||
| 290 | * e/eterm.ti: Comment out smcup, rmcup. Add kbs, kdch1, rc, sc. | 303 | * e/eterm.ti: Comment out smcup, rmcup. Add kbs, kdch1, rc, sc. |
| 291 | Reformat. | 304 | Reformat. |
| 292 | * e/eterm: Regenerate. | 305 | * e/eterm: Regenerate. |
| 293 | 306 | ||
| 294 | 2004-09-25 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 307 | 2004-09-25 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 295 | 308 | ||
| @@ -298,7 +311,7 @@ | |||
| 298 | 2004-09-16 Dan Nicolaescu <dann@ics.uci.edu> | 311 | 2004-09-16 Dan Nicolaescu <dann@ics.uci.edu> |
| 299 | 312 | ||
| 300 | * e/eterm.ti: Change the strings for smso and rmso. | 313 | * e/eterm.ti: Change the strings for smso and rmso. |
| 301 | e/eterm: Regenerate. | 314 | e/eterm: Regenerate. |
| 302 | 315 | ||
| 303 | 2004-09-09 Thien-Thi Nguyen <ttn@gnu.org> | 316 | 2004-09-09 Thien-Thi Nguyen <ttn@gnu.org> |
| 304 | 317 | ||
| @@ -307,7 +320,7 @@ | |||
| 307 | 2004-09-07 Dan Nicolaescu <dann@ics.uci.edu> | 320 | 2004-09-07 Dan Nicolaescu <dann@ics.uci.edu> |
| 308 | 321 | ||
| 309 | * e/eterm.ti: Add `op' entry to enable colors in term. | 322 | * e/eterm.ti: Add `op' entry to enable colors in term. |
| 310 | * e/eterm: Regenerate. | 323 | * e/eterm: Regenerate. |
| 311 | 324 | ||
| 312 | 2004-09-04 Eric S. Raymond <esr@thyrsus.com> | 325 | 2004-09-04 Eric S. Raymond <esr@thyrsus.com> |
| 313 | 326 | ||
| @@ -379,7 +392,7 @@ | |||
| 379 | 392 | ||
| 380 | 2004-07-08 David Kastrup <dak@gnu.org> | 393 | 2004-07-08 David Kastrup <dak@gnu.org> |
| 381 | 394 | ||
| 382 | * NEWS (Lisp changes in 21.4): document (match-data t) change. | 395 | * NEWS (Lisp changes in 21.4): Document (match-data t) change. |
| 383 | 396 | ||
| 384 | 2002-06-26 Eli Zaretskii <eliz@is.elta.co.il> | 397 | 2002-06-26 Eli Zaretskii <eliz@is.elta.co.il> |
| 385 | 398 | ||
| @@ -389,8 +402,8 @@ | |||
| 389 | 402 | ||
| 390 | * NEWS: Move description from new paragraph-start and | 403 | * NEWS: Move description from new paragraph-start and |
| 391 | indent-line-function defaults to general news instead of new | 404 | indent-line-function defaults to general news instead of new |
| 392 | packages. Same for query-replace-skip-read-only. Add | 405 | packages. Same for query-replace-skip-read-only. |
| 393 | description of new `\,' and `\?' replacement string features. | 406 | Add description of new `\,' and `\?' replacement string features. |
| 394 | 407 | ||
| 395 | 2004-06-23 Luc Teirlinck <teirllm@auburn.edu> | 408 | 2004-06-23 Luc Teirlinck <teirllm@auburn.edu> |
| 396 | 409 | ||
| @@ -417,8 +430,7 @@ | |||
| 417 | 430 | ||
| 418 | 2004-05-14 David Ponce <david@dponce.com> | 431 | 2004-05-14 David Ponce <david@dponce.com> |
| 419 | 432 | ||
| 420 | * tree-widget: New directory containing tree-widget themes and | 433 | * tree-widget: New directory containing tree-widget themes and images. |
| 421 | images. | ||
| 422 | 434 | ||
| 423 | 2004-04-13 Marcelo Toledo <marcelo@gnu.org> | 435 | 2004-04-13 Marcelo Toledo <marcelo@gnu.org> |
| 424 | 436 | ||
| @@ -1548,6 +1548,21 @@ must remove older versions of cua.el or cua-mode.el as well as the | |||
| 1548 | loading and customization of those packages from the .emacs file. | 1548 | loading and customization of those packages from the .emacs file. |
| 1549 | 1549 | ||
| 1550 | +++ | 1550 | +++ |
| 1551 | ** Org mode is now part of the Emacs distribution | ||
| 1552 | |||
| 1553 | Org mode is a mode for keeping notes, maintaining ToDo lists, and | ||
| 1554 | doing project planning with a fast and effective plain-text system. | ||
| 1555 | It also contains a plain-text table editor with spreadsheet-like | ||
| 1556 | capabilities. | ||
| 1557 | |||
| 1558 | The Org mode table editor can be integrated into any major mode by | ||
| 1559 | activating the minor Orgtbl-mode. | ||
| 1560 | |||
| 1561 | The documentation for org-mode is in a separate manual; within Emacs, | ||
| 1562 | type "C-h i m org RET" to read that manual. A reference card is | ||
| 1563 | available in `etc/orgcard.tex' and `etc/orgcard.ps'. | ||
| 1564 | |||
| 1565 | +++ | ||
| 1551 | ** The new package dns-mode.el add syntax highlight of DNS master files. | 1566 | ** The new package dns-mode.el add syntax highlight of DNS master files. |
| 1552 | The key binding C-c C-s (`dns-mode-soa-increment-serial') can be used | 1567 | The key binding C-c C-s (`dns-mode-soa-increment-serial') can be used |
| 1553 | to increment the SOA serial. | 1568 | to increment the SOA serial. |
| @@ -2202,6 +2217,80 @@ majority. | |||
| 2202 | the syntax of backslashes in F90 buffers. | 2217 | the syntax of backslashes in F90 buffers. |
| 2203 | 2218 | ||
| 2204 | --- | 2219 | --- |
| 2220 | ** Reftex mode changes | ||
| 2221 | +++ | ||
| 2222 | *** Changes to RefTeX's table of contents | ||
| 2223 | |||
| 2224 | The new command keys "<" and ">" in the TOC buffer promote/demote the | ||
| 2225 | section at point or all sections in the current region, with full | ||
| 2226 | support for multifile documents. | ||
| 2227 | |||
| 2228 | The new command `reftex-toc-recenter' (`C-c -') shows the current | ||
| 2229 | section in the TOC buffer without selecting the TOC window. | ||
| 2230 | Recentering can happen automatically in idle time when the option | ||
| 2231 | `reftex-auto-recenter-toc' is turned on. The highlight in the TOC | ||
| 2232 | buffer stays when the focus moves to a different window. A dedicated | ||
| 2233 | frame can show the TOC with the current section always automatically | ||
| 2234 | highlighted. The frame is created and deleted from the toc buffer | ||
| 2235 | with the `d' key. | ||
| 2236 | |||
| 2237 | The toc window can be split off horizontally instead of vertically. | ||
| 2238 | See new option `reftex-toc-split-windows-horizontally'. | ||
| 2239 | |||
| 2240 | Labels can be renamed globally from the table of contents using the | ||
| 2241 | key `M-%'. | ||
| 2242 | |||
| 2243 | The new command `reftex-goto-label' jumps directly to a label | ||
| 2244 | location. | ||
| 2245 | |||
| 2246 | +++ | ||
| 2247 | *** Changes related to citations and BibTeX database files | ||
| 2248 | |||
| 2249 | Commands that insert a citation now prompt for optional arguments when | ||
| 2250 | called with a prefix argument. Related new options are | ||
| 2251 | `reftex-cite-prompt-optional-args' and `reftex-cite-cleanup-optional-args'. | ||
| 2252 | |||
| 2253 | The new command `reftex-create-bibtex-file' creates a BibTeX database | ||
| 2254 | with all entries referenced in the current document. The keys "e" and | ||
| 2255 | "E" allow to produce a BibTeX database file from entries marked in a | ||
| 2256 | citation selection buffer. | ||
| 2257 | |||
| 2258 | The command `reftex-citation' uses the word in the buffer before the | ||
| 2259 | cursor as a default search string. | ||
| 2260 | |||
| 2261 | The support for chapterbib has been improved. Different chapters can | ||
| 2262 | now use BibTeX or an explicit `thebibliography' environment. | ||
| 2263 | |||
| 2264 | The macros which specify the bibliography file (like \bibliography) | ||
| 2265 | can be configured with the new option `reftex-bibliography-commands'. | ||
| 2266 | |||
| 2267 | Support for jurabib has been added. | ||
| 2268 | |||
| 2269 | +++ | ||
| 2270 | *** Global index matched may be verified with a user function | ||
| 2271 | |||
| 2272 | During global indexing, a user function can verify an index match. | ||
| 2273 | See new option `reftex-index-verify-function'. | ||
| 2274 | |||
| 2275 | +++ | ||
| 2276 | *** Parsing documents with many labels can be sped up. | ||
| 2277 | |||
| 2278 | Operating in a document with thousands of labels can be sped up | ||
| 2279 | considerably by allowing RefTeX to derive the type of a label directly | ||
| 2280 | from the label prefix like `eq:' or `fig:'. The option | ||
| 2281 | `reftex-trust-label-prefix' needs to be configured in order to enable | ||
| 2282 | this feature. While the speed-up is significant, this may reduce the | ||
| 2283 | quality of the context offered by RefTeX to describe a label. | ||
| 2284 | |||
| 2285 | +++ | ||
| 2286 | *** Miscellaneous changes | ||
| 2287 | |||
| 2288 | The macros which input a file in LaTeX (like \input, \include) can be | ||
| 2289 | configured in the new option `reftex-include-file-commands'. | ||
| 2290 | |||
| 2291 | RefTeX supports global incremental search. | ||
| 2292 | |||
| 2293 | +++ | ||
| 2205 | ** Prolog mode has a new variable `prolog-font-lock-keywords' | 2294 | ** Prolog mode has a new variable `prolog-font-lock-keywords' |
| 2206 | to support use of font-lock. | 2295 | to support use of font-lock. |
| 2207 | 2296 | ||
diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 5b0c4e5eee7..db8840d3d15 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS | |||
| @@ -2376,8 +2376,12 @@ The fix is to install a newer version of ncurses, such as version 4.2. | |||
| 2376 | *** Linux: Segfault during `make bootstrap' under certain recent versions of the Linux kernel. | 2376 | *** Linux: Segfault during `make bootstrap' under certain recent versions of the Linux kernel. |
| 2377 | 2377 | ||
| 2378 | With certain recent Linux kernels (like the one of Redhat Fedora Core | 2378 | With certain recent Linux kernels (like the one of Redhat Fedora Core |
| 2379 | 1 and 2), the new "Exec-shield" functionality is enabled by default, which | 2379 | 1 and newer), the new "Exec-shield" functionality is enabled by default, which |
| 2380 | creates a different memory layout that breaks the emacs dumper. | 2380 | creates a different memory layout that breaks the emacs dumper. Emacs tries |
| 2381 | to handle this at build time, but if the workaround used fails, these | ||
| 2382 | instructions can be useful. | ||
| 2383 | The work-around explained here is not enough on Fedora Core 4 (and possible | ||
| 2384 | newer). Read the next item. | ||
| 2381 | 2385 | ||
| 2382 | Configure can overcome the problem of exec-shield if the architecture is | 2386 | Configure can overcome the problem of exec-shield if the architecture is |
| 2383 | x86 and the program setarch is present. On other architectures no | 2387 | x86 and the program setarch is present. On other architectures no |
| @@ -2404,6 +2408,21 @@ command when running temacs like this: | |||
| 2404 | 2408 | ||
| 2405 | setarch i386 ./temacs --batch --load loadup [dump|bootstrap] | 2409 | setarch i386 ./temacs --batch --load loadup [dump|bootstrap] |
| 2406 | 2410 | ||
| 2411 | |||
| 2412 | *** Fedora Core 4 GNU/Linux: Segfault during dumping. | ||
| 2413 | |||
| 2414 | In addition to exec-shield explained above "Linux: Segfault during | ||
| 2415 | `make bootstrap' under certain recent versions of the Linux kernel" | ||
| 2416 | item, Linux kernel shipped with Fedora Core 4 randomizes the virtual | ||
| 2417 | address space of a process. As the result dumping may fail even if | ||
| 2418 | you turn off exec-shield. In this case, use the -R option to the setarch | ||
| 2419 | command: | ||
| 2420 | |||
| 2421 | setarch -R i386 ./temacs --batch --load loadup [dump|bootstrap] | ||
| 2422 | |||
| 2423 | or | ||
| 2424 | |||
| 2425 | setarch -R i386 make bootstrap | ||
| 2407 | 2426 | ||
| 2408 | *** Fatal signal in the command temacs -l loadup inc dump. | 2427 | *** Fatal signal in the command temacs -l loadup inc dump. |
| 2409 | 2428 | ||
diff --git a/etc/TUTORIAL.translators b/etc/TUTORIAL.translators index 671c52e0b1e..dfda17bedb7 100644 --- a/etc/TUTORIAL.translators +++ b/etc/TUTORIAL.translators | |||
| @@ -48,8 +48,7 @@ Maintainer: Pieter Schoenmakers <tiggr@tiggr.net> | |||
| 48 | * TUTORIAL.pl: | 48 | * TUTORIAL.pl: |
| 49 | Author: Beatę Wierzchołowską <beataw@orient.uw.edu.pl> | 49 | Author: Beatę Wierzchołowską <beataw@orient.uw.edu.pl> |
| 50 | Janusz S. Bien <jsbien@mail.uw.edu.pl> | 50 | Janusz S. Bien <jsbien@mail.uw.edu.pl> |
| 51 | Maintainer: Beatę Wierzchołowską <beataw@orient.uw.edu.pl> | 51 | Maintainer: Radoslaw Moszczynski <rm@banita.pl> |
| 52 | Janusz S. Bien <jsbien@mail.uw.edu.pl> | ||
| 53 | 52 | ||
| 54 | * TUTORIAL.pt_BR: | 53 | * TUTORIAL.pt_BR: |
| 55 | Author: Marcelo Toledo <marcelo@gnu.org> | 54 | Author: Marcelo Toledo <marcelo@gnu.org> |
diff --git a/etc/orgcard.ps b/etc/orgcard.ps new file mode 100644 index 00000000000..298ba03da35 --- /dev/null +++ b/etc/orgcard.ps | |||
| @@ -0,0 +1,2752 @@ | |||
| 1 | %!PS-Adobe-2.0 | ||
| 2 | %%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software | ||
| 3 | %%Title: org-ref.dvi | ||
| 4 | %%Pages: 2 | ||
| 5 | %%PageOrder: Ascend | ||
| 6 | %%Orientation: Landscape | ||
| 7 | %%BoundingBox: 0 0 596 842 | ||
| 8 | %%DocumentFonts: CMBX10 CMR8 CMTT8 CMR7 CMSY8 CMBX8 CMTI8 CMR6 CMSY6 | ||
| 9 | %%EndComments | ||
| 10 | %DVIPSWebPage: (www.radicaleye.com) | ||
| 11 | %DVIPSCommandLine: dvips -t landscape -o org-ref.ps org-ref.dvi | ||
| 12 | %DVIPSParameters: dpi=600, compressed | ||
| 13 | %DVIPSSource: TeX output 2005.07.04:0825 | ||
| 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: texps.pro | ||
| 231 | %! | ||
| 232 | TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 | ||
| 233 | index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll | ||
| 234 | exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 | ||
| 235 | ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ | ||
| 236 | pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get | ||
| 237 | div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type | ||
| 238 | /nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end | ||
| 239 | definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup | ||
| 240 | sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll | ||
| 241 | mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ | ||
| 242 | exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} | ||
| 243 | forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def | ||
| 244 | end | ||
| 245 | |||
| 246 | %%EndProcSet | ||
| 247 | %%BeginFont: CMSY6 | ||
| 248 | %!PS-AdobeFont-1.1: CMSY6 1.0 | ||
| 249 | %%CreationDate: 1991 Aug 15 07:21:34 | ||
| 250 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 251 | 11 dict begin | ||
| 252 | /FontInfo 7 dict dup begin | ||
| 253 | /version (1.0) readonly def | ||
| 254 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 255 | /FullName (CMSY6) readonly def | ||
| 256 | /FamilyName (Computer Modern) readonly def | ||
| 257 | /Weight (Medium) readonly def | ||
| 258 | /ItalicAngle -14.035 def | ||
| 259 | /isFixedPitch false def | ||
| 260 | end readonly def | ||
| 261 | /FontName /CMSY6 def | ||
| 262 | /PaintType 0 def | ||
| 263 | /FontType 1 def | ||
| 264 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 265 | /Encoding 256 array | ||
| 266 | 0 1 255 {1 index exch /.notdef put} for | ||
| 267 | dup 0 /.notdef put | ||
| 268 | readonly def | ||
| 269 | /FontBBox{-4 -948 1329 786}readonly def | ||
| 270 | /UniqueID 5000816 def | ||
| 271 | currentdict end | ||
| 272 | currentfile eexec | ||
| 273 | D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 | ||
| 274 | 7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 | ||
| 275 | A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 | ||
| 276 | E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A | ||
| 277 | 221A37D9A807DD01161779DDE7D5FC1B2109839E5B52DFB7605D7BA557CC35D6 | ||
| 278 | 49F6EB651B83771034BA0C39DB8D426A24543EF4529E2D939125B5157482688E | ||
| 279 | 9045C2242F4AFA4C489D975C029177CD6497EACD181FF151A45F521A4C4043C2 | ||
| 280 | 1F3E76EF5B3291A941583E27DFC68B9211105827590393ABFB8AA4D1623D1761 | ||
| 281 | 6AC0DF1D3154B0277BE821712BE7B33385E7A4105E8F3370F981B8FE9E3CF3E0 | ||
| 282 | 007B8C9F2D934F24D591C330487DDF179CECEC5258C47E4B32538F948AB00673 | ||
| 283 | F9D549C971B0822056B339600FC1E3A5E51844CC8A75B857F15E7276260ED115 | ||
| 284 | C5FD550F53CE5583743B50B0F9B7C4F836DEF7499F439A6EBE9BF559D2EE0571 | ||
| 285 | CE54AEC461D354A32E69F39DD0C017BD6576F1E9500DC0328E8AF6EAB528FD7B | ||
| 286 | 85132A2A9995EB211FCE849216BF6D663AD649AE92DA953C4D520AB9A22D27B5 | ||
| 287 | 6C34121FD688F9E17FE39B939D8DCED9EDDE5AF6DD7DC2297F2A3E1287E5AF45 | ||
| 288 | 0306EDBA3C843FB8234D0DDEC7595CDE6657E499324DA260BACAE9D6DB126FD9 | ||
| 289 | AAA7368F7164F6BBBBE11EFFFB65660DA0961A97D51ADAF2136A085FDC16C199 | ||
| 290 | 72BC2CA210B330C03F4252A275FEAADC95CFBC79C3B7285C4C7B5C9665909A56 | ||
| 291 | 4176C37DCB569C8EED1B59C58B5EBD3ADD31010DCFD59411FC2020E238A07B83 | ||
| 292 | 2439DEB653AFF1CF197533724E45EDA9810B6793E27943CF51484A5BC7DC61C5 | ||
| 293 | E97F71E04BB623E0BC9C | ||
| 294 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 295 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 296 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 297 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 298 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 299 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 300 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 301 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 302 | cleartomark | ||
| 303 | %%EndFont | ||
| 304 | %%BeginFont: CMR6 | ||
| 305 | %!PS-AdobeFont-1.1: CMR6 1.0 | ||
| 306 | %%CreationDate: 1991 Aug 20 16:39:02 | ||
| 307 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 308 | 11 dict begin | ||
| 309 | /FontInfo 7 dict dup begin | ||
| 310 | /version (1.0) readonly def | ||
| 311 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 312 | /FullName (CMR6) readonly def | ||
| 313 | /FamilyName (Computer Modern) readonly def | ||
| 314 | /Weight (Medium) readonly def | ||
| 315 | /ItalicAngle 0 def | ||
| 316 | /isFixedPitch false def | ||
| 317 | end readonly def | ||
| 318 | /FontName /CMR6 def | ||
| 319 | /PaintType 0 def | ||
| 320 | /FontType 1 def | ||
| 321 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 322 | /Encoding 256 array | ||
| 323 | 0 1 255 {1 index exch /.notdef put} for | ||
| 324 | dup 0 /.notdef put | ||
| 325 | readonly def | ||
| 326 | /FontBBox{-20 -250 1193 750}readonly def | ||
| 327 | /UniqueID 5000789 def | ||
| 328 | currentdict end | ||
| 329 | currentfile eexec | ||
| 330 | D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 | ||
| 331 | 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 | ||
| 332 | 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F | ||
| 333 | D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 | ||
| 334 | 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 | ||
| 335 | 2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C | ||
| 336 | 68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 | ||
| 337 | 3645B82392D5CAE11A7CB49D7E2E82DCD485CBA17D1AFFF95F4224CF7ECEE45C | ||
| 338 | BFB7C8C77C22A01C345078D28D3ECBF804CDC2FE5025FA0D05CCC5EFC0C4F87E | ||
| 339 | CBED13DDDF8F34E404F471C6DD2E43331D73E89BBC71E7BF889F6293793FEF5A | ||
| 340 | C9DD3792F032E37A364C70914843F7AA314413D022AE3238730B420A7E9D0CF5 | ||
| 341 | D0E24F501451F9CDECE10AF7E14FF15C4F12F3FCA47DD9CD3C7AEA8D1551017D | ||
| 342 | 23131C09ED104C052054520268A4FA3C6338BA6CF14C3DE3BAF2EA35296EE3D8 | ||
| 343 | D6496277E11DFF6076FE64C8A8C3419FA774473D63223FFA41CBAE609C3D976B | ||
| 344 | 93DFB4079ADC7C4EF07303F93808DDA9F651F61BCCF79555059A44CBAF84A711 | ||
| 345 | 6D98083CEF58230D54AD486C74C4A257FC703ACF918219D0A597A5F680B606E4 | ||
| 346 | EF94ADF8BF91A5096A806DB64EC96636A98397D22A74932EB7346A9C4B5EE953 | ||
| 347 | CB3C80AA634BFC28AA938C704BDA8DC4D13551CCFE2B2784BE8BF54502EBA9AF | ||
| 348 | D49B79237B9C56310550BC30E9108BB06EAC755D6AA4E688EFE2A0AAB17F20FE | ||
| 349 | 00CD0BFF1B9CB6BDA0FA3A29A3117388B6686657A150CE6421FD5D420F4F7FB5 | ||
| 350 | B0DAA1BA19D638676E9CF159AC7325EF17B9F74E082BEF75E07BB563C96C0A3E | ||
| 351 | 6D4DF600BB73729BC4A5B134928F1370B9F07C587F79388B1D9AC62BFB1566DD | ||
| 352 | CCBD1F58ABBF1F53AD21E3BFF25EEEB046F66A924E5F431EBD7228050BE2DF43 | ||
| 353 | 0B9B538DAAD511EED97630CD9A9C05CC49DC251325A93EA842C6D07B44BE620F | ||
| 354 | 08E66B611F54314B0177E299304F2294F8DEDE9914736944F125A50B5007373E | ||
| 355 | 588AD80D9983CE7824DA30CEE5DC3114D69D7ACEC0758D8201805B82925EF3C2 | ||
| 356 | C87A1A169C5ADE44B561EC1660E617FB39D1B1547B33C0FEB33C3A1D7340A62A | ||
| 357 | CD9CEFA49481F19B39A704A53A0B98A11744143CDDA0E668E6325935C6497A9F | ||
| 358 | AFF471194932AFECBF25B441AD55A43751FBAB76F3E544C4254AEC4BEB5CFE4C | ||
| 359 | C1318C3A0FAD0E8C1BABEE20B203E1DD9412E66BC55BEBD6FBBEBA84F56604FD | ||
| 360 | 85D50F733D9794611F4137EC10ACB4C4ECA5A81CAACC45213E92ED3C26726BBE | ||
| 361 | 91430E7633A2BDB8EA3D0C55259D7DBE468AC0964A63728C9B8EA4E15CF0EEA3 | ||
| 362 | 2E754B9170EAE6B8818DCCDDAD643B9F6C91C3C5B245CD442358C60AF390DC76 | ||
| 363 | 342E659D4EC45552626F069F346F46B18062CE26D5912336C6B29FCBFA5C3113 | ||
| 364 | ED86E44B529CD95B7B5B934D899762C4F3457F56ACCC763BCCD5BD08975EB5F1 | ||
| 365 | C5216DA4CBF3409EC71054B0145183F7DFB31517D199EB16D4C6DB0AF05E5720 | ||
| 366 | 10B06F395BE3C8C59CEEBCEA1E00F9EA3FD880AC197508CEC11E33B6B6EABE3C | ||
| 367 | 0FAEBF246743F62D280875D052656696AA88DABB918F793CB2994A1ACCFA0CAE | ||
| 368 | AF6FDDF489109DEF07F93B5B0078FC5FD9829DD296F62F23400F5DD6CB096557 | ||
| 369 | EDA737413C744FDBB0615BD40A79EA2929EB7AC767E58D886B310700733D2895 | ||
| 370 | 3925911133631F28291974294AACF4A35F92A5E5262DCF33810A6F9C51E9D141 | ||
| 371 | F84B0C26B5ADECB44B646C79DD1C656529B7122739C0459B2B47A2C357EF9A36 | ||
| 372 | 2B376DDF54F1F4F133419EF14CCC6010D360DFA8A7B122FFC5A4C560ED184F16 | ||
| 373 | 057D3F76B6B2E935B31B17FC4066916FFBA0B9AFF287D251985AB3FC3D0D7E9A | ||
| 374 | 91F094356B3D6CDBCB2D74A3FDE23526B22C223EA35C9E5054053B23AF004324 | ||
| 375 | 80F023FCDFDFA6B8F0E03A799D87FC2690C5D1ABB9C52B03402E37309091A1FC | ||
| 376 | 1D66EB48FE3E4BD326AA65839A9A7276C876F8079C11F2F3A7CBFDAB5AD3D4A3 | ||
| 377 | 8377AE4862F390039E3FBE5D79B5318774B0A9B1321AAFCE8E87568C0AD0E82F | ||
| 378 | D4DCEEA5DD4EFDB2E89D336174E76036DA08DE4A26FC63560057B87FDE9E060A | ||
| 379 | 3AA30E1B447B1E8EF31762C0998DF24B2860CF8B589FCE1050CC259171420306 | ||
| 380 | F4DAC090E032E4C3E0DD43305541155C1EB135B2093F7E23106387AB7A3DA0E6 | ||
| 381 | 1A835F6D058227003A8C974907CC073F2ADE33AA774165BB24381E65DF19FD6E | ||
| 382 | F15BB66BBAB0129C79A80CF32E542B68FFAD1BCBF6A4D867933FBBFA82771E7F | ||
| 383 | 1B2E677040596B7872A038FF8F23511C33E23D362CED5E303736D1CA28D78AA2 | ||
| 384 | 20701B83020AE62003DC59413C6A2413C593CDC819644742F8CDF60D541710C6 | ||
| 385 | 5A23FFCE6F6CF6AE26953CA4F01A62D6F7DB8F122B30506891DA023D16E56BE4 | ||
| 386 | 84D72EC9DE3B16197B3BF97EB8A840BD2C17861583477317DEA062693B2EA959 | ||
| 387 | 5F5233B416B4E1D63C6014BB96D0718DD9D81A885793F315402E91C274122E5D | ||
| 388 | 96AF9A05E10DA6276A33E861C006807BBA6B005583CD961491D5F183B62EA558 | ||
| 389 | C50F25F2F6B211BD3723FF98E01167C48C0A6CCEA0477895D21519AE86FEB4D7 | ||
| 390 | 47C77202688775B4C86882C20D24EBF7AC98A3B9BCBFF750433E17824A4425C5 | ||
| 391 | 7444E5201F1313A4C9FF361FCD9ECB1597C1F0605FEA98DD109C636433920603 | ||
| 392 | 6671529E0E7AE2EC8A7D196FCA784D3CD2F88190B3F150533BAF3CFE15247D01 | ||
| 393 | 864A2552F602D65088AA7F0D87C02768D8FA62930E18702F98558982C5A202AC | ||
| 394 | 111C6B0359273116F1DF9E5610AC46B99995425144D1352A881C79D9E0042850 | ||
| 395 | B51B2375DA55C34A47510C7D7435FAE7D391BAEC1F8BC0C93B866E7CE261384C | ||
| 396 | 6B277C66E817BF006B636AB133309384FE0985DBC34190E1E1ABB3A63892361C | ||
| 397 | 9970FC5732C7A4259809EEF348E6D3BC6AAB5BB012A098A02E33F9BDDA250A8A | ||
| 398 | 421EE4EBA46B82C10A5A6ADB2390A7B363CF16A0FFEFAAD7F6D2A80FE4720095 | ||
| 399 | BD78A6E4B95D6FC7DA4196E61C5FD0F9F37537E6BA581496E38625EF0B7826DF | ||
| 400 | F021663E6D5DF3C93C5EC2C5B510867ABFC5404F490C683337EE7B22D3CBE7DC | ||
| 401 | 8EB4F9F2C25034C8779010A6835ACED2B05B9CF9753760A803073509C71A6372 | ||
| 402 | 3634DB39F894B6EBAA9A34511357F3C106E42E9A6A592C1B49BB0AF668C95448 | ||
| 403 | 9E0968CE39754452648068F82C53CA2ABE392713979634E7DD66819E7B3FF5D3 | ||
| 404 | A8890FA876857F4560A44029389A6E425ED8DBB25BFDDCFB510C071414760191 | ||
| 405 | A36723D251F10830B03E21B6FD61C1E92BD630B5EFD283AF248DA69C537D6F0C | ||
| 406 | 1CDC58032A7A91E836FF66810D886A73453A28044F55F754CD70A9B3EB5D27DF | ||
| 407 | 51D6E57085AC4487C5D015FC51F840F7DBB1733500062C608802C556F8A4623D | ||
| 408 | 0F94B67BC91E07FC2AD7E067F3C033E53216804B7371498113125A8CFC63D450 | ||
| 409 | 4760B98ED1397A8862A8FA5D13923D22ABDF48B7F502916EF7C7D6BC52EBA5F7 | ||
| 410 | AD95E37E4979B7417C8C0E2599E4BB85883AF9E9A3C9DA432859AF9C909DDA53 | ||
| 411 | 8ED9C0B3DC6BF49C5FB81780078209D21E6B54A8E669212B6E3569B615502ECA | ||
| 412 | D67BC610E59409178B640ECD0A125371ECAA360FDD5843892BCBD22BF4D640EB | ||
| 413 | 99515496E12E2C68567610FC8F6E03C176D14B692A9A23BE3B50C2EB30BCE5F4 | ||
| 414 | 481500B293CA54AAE5CA0A85C221493792B967423418E870C4DC7344E07A7E52 | ||
| 415 | 1B2DED4C2FED4C602DCF37065FEE9BDE6D1FD95FEC1F30A5E3A1833B09E6B1DA | ||
| 416 | D6A41C57493D4C1D8D87C8BE2443D2B917A0E3D26C324CA101E84369AFA73586 | ||
| 417 | E499C3627661DCFABF7478DCEF651E33C666957BE759F9DCB9F263AD3FA48BBF | ||
| 418 | B47A84A914CFD8297141FF5AD0186753DADAD79315D14C68C19305D73DE6E4DB | ||
| 419 | 56BDDF037DA982E956F9C3B554E0746178294ABF6F46D1669D1675AEB8C924EB | ||
| 420 | F9966956C8AC25940640B8C9DE9A76B36D04806A918FB4F7160503031AEB7DD4 | ||
| 421 | 61C04BD3F6711F09EC71FEB6EA3904FD8AF75054659ECE0DAAEA1A614AAC6574 | ||
| 422 | 9098FB7BD891E65552583AA519C7E4F9E6B5531B2215300CB262F42763BFDF5D | ||
| 423 | FA2E6EB7E7F6585C80CD880ABAE340087A781C7EABD56C59A14EC17920FA7AE3 | ||
| 424 | 049BA2DE8D5BB77ADECA23767F842642B7C0CC9AA177990CF0DD00A9DD8458CA | ||
| 425 | 5506DD3A5E5BCF2329047F560F0E30FCA7CA304594B738A0C7C70D8FE364AF59 | ||
| 426 | 620E6527C061B6FECEBEEF0841969656F1A7A27731338B640A3AF243F58FBBF8 | ||
| 427 | E8ADA1CCD8DE701243EBA2E1F44C732143BFC4FA89B24B3B473CDC022111D477 | ||
| 428 | ADDB77AAA600B6C6948133D05EF0838BD1E1EA1C747BDBA8A0BBF92DADE753EE | ||
| 429 | 9F556D938E16961C2D13E7534B2B5F9EFEB2AFD65FADA831E81237BEDE73F7FA | ||
| 430 | B076E562E08D57555B3830834B64E4C1E0E1F89D9A5BFB959032106B1EFEE431 | ||
| 431 | DC828EB4EF66DEA434DAF191E92F1EFDC31954D055DDD87B1A2762DAD6AE5994 | ||
| 432 | 322DC4FA2FCA4AADC293158C75900C540BC85384340B29A4B25F486145C311D0 | ||
| 433 | 4296CA91BB16569CDAFDC9047D9FC8C26792828DD3CA18E045A2F9B473491501 | ||
| 434 | CD3ADB57FB1D94C1A0353861EAC98E1630E14BEA6DFB04A5B3FAE97F4EA3C792 | ||
| 435 | 2C9ACBF61A5C14605AC9D0DA7E4D9904C6C6FDFF564723FDE4E72413067055C7 | ||
| 436 | 22946CD598266AE7FBC63FF62068CA4F40B80C8EF9961503F7894AF2A392B595 | ||
| 437 | 376F0CA48B4B23AB7112453DA02274095741C7102733C553B6EFB43A6E1DB0AC | ||
| 438 | C320C44357C4C7E98B96B30D9FEE86B7083080F0B6262FD69E07557FD018C1E4 | ||
| 439 | 2CF6A276E789A63A9CEBCC8867E12C60D78B81F7C1AB5592E4AFE1AB1C8ADF1C | ||
| 440 | FE8A4773FDC6FC01BF698E5D46B4282983FF16F028D14104423D07047AC7003E | ||
| 441 | 6B5CD6FC2D30DD0E6162498FF67D4091D68AC65A4658215B845AF706F4B74262 | ||
| 442 | C3A28732A7E1E786006F544853CCCED8B530ECE3460B11E11CC87B22DC0AB93A | ||
| 443 | AB7EC47BCE2BAEF0FC23C9A15C0D421D75AD13D931B8669F1018A207D8C57228 | ||
| 444 | 028FEBB6453827DE33B1CDD0527CC4815CA2CF05CDF4735A1EFB79DED9AA8AC5 | ||
| 445 | A074DA91B9B860EE88F5269AC4C604DE488C269959A108FC5175637DFFB08DBD | ||
| 446 | 2AE093CFF20E15AA2624D8E2A141EC3290852E27FBAC6BE21B65CD8036221193 | ||
| 447 | 9967C4A6AD631F2374582F8DA277621961DE7EA41FA110782DD3E1E7CFC51058 | ||
| 448 | C961948FDBF02A2E7BF0A299EE696F0B98A0C4ABB7CB67AB28A2EF50D3D212AC | ||
| 449 | 1C51DF3909E484FC3430FF1AB2CD9CE667A9EB489A981A9A02F8F999D9215F5A | ||
| 450 | DD609F5DF9519DA3410867680942AAFF2275D255709997653E88CB23D16A110D | ||
| 451 | C5C65DC18750D868C8F60E64265C81DD7CD7C2036D13532E3DC7D12600FAAFDE | ||
| 452 | EC32EB7989458A220339D451A25E3C4B2D52D265875F06465C913FD75BA30285 | ||
| 453 | AC61B32BD2C307FCBAF38E14FF6A64C6A5C874A2D7DFE3025E3CD30BA9C60D89 | ||
| 454 | 00BE5411544E97D9791949722F76A99D549D344BC1EB88C9B8BFEB74EC94D190 | ||
| 455 | F5DE00D2EA0003DECDD4FDEDC0834053AFE3EFF04193E360460A286794D02FDD | ||
| 456 | A174E3CE72C69D32C7C4EF33B97CAB2929A26662E4E3C2313469ACB6BD21CAFD | ||
| 457 | 8C81FBAB0EE7C26BC5B40AC9880623CB5D595A4351BF7848CA3212D74AE449CB | ||
| 458 | 35BE1BE2C6C795B56D2731C0BC9C5DBCC652F025212C35C50B3937212871472C | ||
| 459 | 7B6AA7AA075FCE6068BCF7474EE3FCA088733439E5AB06D78F62A574157DFCDC | ||
| 460 | 43990D8A9673300AF0D2450C2B9B9000BDC9C4A5CE57764A7236370458E8A0D5 | ||
| 461 | 0D777DC1156A9D82D070FFE0DEA2DED3854CB7A09FD34F1B3513821C26FB6F6E | ||
| 462 | F3BA660EBB0C08D8B976CB89B4E05C95A20EB2F74F4C1DA67E783E9C936A749A | ||
| 463 | E20866E646774E132A0A12BD5907BA8D7FCBACC83004895110BD65223C4A2821 | ||
| 464 | 02C709F5A8E1E9EE3C0C2430D6CDD4AAC32F45093EEB1AE961B1BCAA823E7F55 | ||
| 465 | 0B9E5614DF4B2703532E2260B70062E33F40463B176D7645168DD4AF226B39E5 | ||
| 466 | 8B74BCA01988FCF9475B9935412016704A09A331365D2E745E778331ACAED5E9 | ||
| 467 | AF662A9D5C7A5FECE76F73EE20E2BBD0647304E75161347291906E7ADB3F2446 | ||
| 468 | 9769F36EEBCEC59167199793122D96428A44A2D8C9B704802543B0569C140134 | ||
| 469 | 8F180AFAAEDC8550B566E6D460544DB84402A9AF79D8A315C53FAFA3A5898B26 | ||
| 470 | CF8D7EAEF6B7E19B9DDF927B7DAEA9249FFF69872A6C3F4289546E6969D29360 | ||
| 471 | 0A8684B1D5025DDEBF2554248AF53EE9D53F9412CA89F004911834BE96221C1E | ||
| 472 | 8582F51F1A345ADAD0537938A96E73E35063A2207FF7FFCC55C9F7AEF734D089 | ||
| 473 | A0693D41848236FCE67E85AD5372C73B61BF5B58CC2D9616FB78144198E65267 | ||
| 474 | 6940C7E3E3381C91C877B7F78B4747F46D12CF347E20C1A2A78BFAF96C42D81F | ||
| 475 | 16715D7E1FE7E671242791DA7D84D5D885F905093969F3836299BF6874A8B12E | ||
| 476 | 9E1F3A05D940BFABFDD7D3085AF8A4FD01092C88CB75F4060BD85F2F958DB0A6 | ||
| 477 | 64145DC3DCA6903E0E018A7594BD7114F336D12C61AE4E29138A0165FE21BE5C | ||
| 478 | C2F4B9D496ACE81861919BB69DC06E5AEABD3F5E5BDFF3F507BDA4E366BDD481 | ||
| 479 | 05558CE1213A6D28CC2D5D2E5265A754141E312F42B64EA2D51C79C71DA5BC92 | ||
| 480 | 920821C437120A19F9EA3BC48F16073251D458BA53C4C7DDF0035ABB32939C11 | ||
| 481 | 4842DA0E489C7C2025B432B66352C56D78BB8391DA79E75DDEC29588C596BB4D | ||
| 482 | 67EDF9492B91B83D9F1F26444094D60329A5D3F1BDE976DB2E71B6E4CA9B8EA4 | ||
| 483 | BF43C91A16A2D9D23E5448C2FA38B8D24D142549E45572A29655C9BD31755718 | ||
| 484 | A58C3DC4964C0B49791F36809863835CD8E4B196CE8D18D714B2B3AE2BE90C4D | ||
| 485 | 65C1210B9E3A8F248BAFB0CC5579302F6FC26FC3E197076891FB758B0595DC4E | ||
| 486 | 7F1EEC99FFB654D46736BCE43BF37DB7681CF7655DF55592B7A494EA541AFFC5 | ||
| 487 | CE5815E1D989D9E1CE87E116DA4BCB7E16AFAD2327C434AC71EC756B96476BBC | ||
| 488 | 0C997DC8C439E839EC939B55BEA698E3435BD911258234B6993B3890077DADCA | ||
| 489 | 4DE92B37E94166A24DABCEAC3BB808557FE09FAAFD6DD316F44952A6710B4824 | ||
| 490 | 6F5B5D4AE9F8A14DD207DFB697D5DC67FC3EBAE49A1A339525ED5ADBFFE58333 | ||
| 491 | 43E8AAD4030869427226950AEEBD11A07815D9C3BBF2570A51D6C0249CCE9026 | ||
| 492 | B12ECEBAF112069547DBD47B7C8869523AFA7177F6E87F534A5425693DB8AD79 | ||
| 493 | 497B95A90B056F61B6B4A89A7BB23B4F93BF5DAF637D71DDF4F48E34CF347EB4 | ||
| 494 | 12173D9A72526C9B561F6CB2C3D43B0487E09B2C7B1822E9CF5D2D3836553AE5 | ||
| 495 | 5A71793EFB52216CAA4948C203E1EA410B3BA72B6E2059AD04B5ADF54B6A5BD6 | ||
| 496 | 33EDE67267334D9170FF9E7F9802516295D91F1A63EA8433F696E3565EBDDB1F | ||
| 497 | 1055025C16B5EB6708479CBDE2188D8371EE8863CBCD8533DE37E0242842C0AD | ||
| 498 | 114045C8B131BA3790146335EE07690C8DCAFE2F61824BE4F109F33486663D45 | ||
| 499 | 24391006E700052BC8E90098BE7B5F13EF5412DAF6BDF0DFE9775FDC185369B1 | ||
| 500 | C53AAAEB34A9727AF997415595F8EED263C0B1B9448119E705396F6143E8276C | ||
| 501 | C6C586E5FA8FF1C6B701578D1399211EA9398DB2A6397F68C7B7E0B6434DD516 | ||
| 502 | E4F039207D1BE48AD5F63C3E804C2DCEB39E97DA8D1D6E8C73180A916D8923FB | ||
| 503 | 5EA2430412C28ADEE42F3B6390ADD6159BE501FE3252B6EDE96AAD8035E2C8DA | ||
| 504 | B00C25B07488F2BCD84508719DA8D309F8191B86CDC22E73730C9C91B7CD6062 | ||
| 505 | 86032E22F92B948647A3351A31DABAD5F5F8D2C9911892C359471026AC047E49 | ||
| 506 | BFCC10C17712C6B7123EC9FE3BDF0ADFBA2BEC0A69B18DA231B43BE20694139C | ||
| 507 | D6C856E3B7C6907F8BFEAFD753BDD5B50F8B25ACC61C778FE96B229CA7F891C6 | ||
| 508 | 07EAA8551B790D6CAB23C80436A3E2A7F24FE4CDA84AB81AF8D4105E2386F3EF | ||
| 509 | D77DD83730332F0F4B176E0C4ABF39ACC995CE3EECCE76C6363557C08F0DC723 | ||
| 510 | 5E2B680D852174AF6BADB73DAF19EB4F921AC61E1FCE16EACABEB591173F687A | ||
| 511 | DDD0909654D7A243F4105F8201B6343221DAA1589DB4C496C1F702E0BD3CE68D | ||
| 512 | 75071205B4D8ED2DF85276A3E53AAA46573771E0868482A2BC805C6A9D6C5480 | ||
| 513 | E23F690D6FA9CA9600A9F42F7F0EC92853C8FF64E2F137DB193543F78356EC5D | ||
| 514 | A090542039B0501650B6184093DDA5CDD52B6F8CE4460AC781C2F93EA339F10C | ||
| 515 | 4921774575EDAB301E387C5A9200679ED86127611043364A319CB0C68B6FE176 | ||
| 516 | B0BA672AB3DE3F2B14A9E7C8CEA1DF76C716FD53CBFE583D1D0D20D0062A3DE2 | ||
| 517 | 689408AE3D527703C591BA8C9982607CC08384A1049A1B328846A719FCA05D38 | ||
| 518 | 087619AE510325FBDC54307AA468827EC8D84A19376740210EE95E5844872259 | ||
| 519 | 7E2A055BFDC40D3C12946ACFE8CF26095719C3E10670A10417679DA5639B4175 | ||
| 520 | 9DF86246392C78E114D745B9FCBE5D4D33E4E5935E6D4EB9F00F408045AAAB98 | ||
| 521 | 47E445AE32BFAFF24107A37EDE0E9BA08934370E212F39035BA2AA51E2D711F4 | ||
| 522 | 6D7215A05F5AD11422C9E8F65B80405D29CCDEE79165F59EBED93F9EB264792D | ||
| 523 | 35F8C1FD095F18511EB516DB40AC15B6045D2A24A2B910EF3A632278208A0D66 | ||
| 524 | E19963591F45FD61AC0183CD5D4C5C1C8D69020874EF6079376801145636901B | ||
| 525 | D9EA1E35EF1E6B37D257D5B90862CED7C0D1F1B32C5324A28716EAC93B556BE4 | ||
| 526 | C2716C85ACD7AF85D52DA2E33312C42A6B7F28797BE80102E37B7F9C933BBE85 | ||
| 527 | 121C64FCA542C6D5B7FA7FCB7CD0C41295625FA2D99E6FFC4D08450EE7C1EE81 | ||
| 528 | BC356927FF6F5AB869D083929EC1A643515702F602AB140A410378A65A721DE8 | ||
| 529 | 1BE9F270589F468D5D2003FAC662A907296302C873DE919466A128FBECF122AE | ||
| 530 | 6259456457D21A217D359EFFF23758BB537BD97472F22EC4EBE932F762884EAB | ||
| 531 | 5D59AAC0097E2EE5A9EF77B1E0376AECE3AA529E5E518A24569007F5DB2F27BB | ||
| 532 | 776BFF2348E9B2E9AB0B07B9BDBCA49E37E11E2980754CEF43ADCBBF32B9575A | ||
| 533 | C611F4AEBEB5A718524AB25FEA08E9E913E24FD94AB4E2E4FEFEF29C7A70055B | ||
| 534 | 5FA0FA771D485CADF65EFFDD9B6897F675598532D8E974CB042BC7DD6B5A4B99 | ||
| 535 | F5D36E27D80AAA8417465223649E44E28D5AFABE693265DED4FE7711BB4BA083 | ||
| 536 | DC71244042798FE7E1965A469B8F8202DEB7C563F43A7E17A088FA36180AEDDE | ||
| 537 | 345A2D7705A5ECEE8E305218791D9956DB2E848E422291D7E2E249329246BE92 | ||
| 538 | 892554EBAC59949D310F38819EDCCAB09F4DCB80144604F8F1F43447138B311C | ||
| 539 | FCA400AD225FEF31D3B0F6A5E8DF91E4FBC39C93DDD11A2E54D1B8ECF5F386B8 | ||
| 540 | FD0DA95AE3E981FB36D9FA0344D6D41CCBE8F2320539411FA23360B88ECB4D38 | ||
| 541 | FADCAABE8049B06887D053FBF3ECC8A89BDE4A9F1ED7F6629866FA14ABAA2924 | ||
| 542 | 9BDB9D6C93F6080593A4BBC0CE2567813B2AD04C99FB09443A684E644BA51B9E | ||
| 543 | 9480AE4AB2148A081F6BCE154261D4B0F03864C6F79DBD622EF471A844048766 | ||
| 544 | 6A872C8E99A82CB468B6FA50260CDD90B81CCB48A6F3BCE3865AE56A86569E23 | ||
| 545 | 16B13DD6114D98293C0DF2585F4E2D01E5EC8E43DD6FFE027E2F0C9CC360BE2B | ||
| 546 | 823DAB713978E73D7AA80DF69CADA74D8E23D902B9DA35EA2BC9D03AEF265D54 | ||
| 547 | 79E86089AC4E8312FB9CE325D8DC9E4DB22BC048CD1F0EFCD64E62B785D97685 | ||
| 548 | 6A34EB62E657BB2F3658B1EA87B4C07C45C8D8283BD35634EC67399AB00AA2F4 | ||
| 549 | A15A723E8EF9AD000007ADE862D7ADFF32A907D40BF9491FE05BCEADFDB83187 | ||
| 550 | 2825ABF2EF18608411F9E31C3306B37E245F1571155D5651BA291AE16EBC0390 | ||
| 551 | FEEF8EDA9B9EAB02F1D3BABA0C4DE4FD20FEBC2DDA743FA0C32F7A746FBFAB22 | ||
| 552 | 27B2B8547359B5EC413F98024A5574F48349213502D0F1C71093EF2AF2A7EE88 | ||
| 553 | 67332DDCB9D9652B705E9D2ED1BEF1B9699D84F9B8520DDE2609F752E8D77F8D | ||
| 554 | ECF010C2F18EA526B4E2EAE1694834494990A4AFAF57286E171E4053788F3B2A | ||
| 555 | B7A2DDF04308E47448A06C66E987C2BEE43B5FD8890A1E11FCF4E0548E201941 | ||
| 556 | 8437B4BC7A92174B7D5D8F4E9E98F48779968F00803F2FF59B1764EE197873EE | ||
| 557 | D1DFF6B12B54459FB5A6864CA9D73B89ADCBDBCA2DAAD3B42C4A9175F503F21D | ||
| 558 | C48D5145E2C6AA7D7FD787BC0D | ||
| 559 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 560 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 561 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 562 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 563 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 564 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 565 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 566 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 567 | cleartomark | ||
| 568 | %%EndFont | ||
| 569 | %%BeginFont: CMTI8 | ||
| 570 | %!PS-AdobeFont-1.1: CMTI8 1.0 | ||
| 571 | %%CreationDate: 1991 Aug 18 21:07:42 | ||
| 572 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 573 | 11 dict begin | ||
| 574 | /FontInfo 7 dict dup begin | ||
| 575 | /version (1.0) readonly def | ||
| 576 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 577 | /FullName (CMTI8) readonly def | ||
| 578 | /FamilyName (Computer Modern) readonly def | ||
| 579 | /Weight (Medium) readonly def | ||
| 580 | /ItalicAngle -14.04 def | ||
| 581 | /isFixedPitch false def | ||
| 582 | end readonly def | ||
| 583 | /FontName /CMTI8 def | ||
| 584 | /PaintType 0 def | ||
| 585 | /FontType 1 def | ||
| 586 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 587 | /Encoding 256 array | ||
| 588 | 0 1 255 {1 index exch /.notdef put} for | ||
| 589 | dup 0 /.notdef put | ||
| 590 | readonly def | ||
| 591 | /FontBBox{-35 -250 1190 750}readonly def | ||
| 592 | /UniqueID 5000826 def | ||
| 593 | currentdict end | ||
| 594 | currentfile eexec | ||
| 595 | D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE | ||
| 596 | 3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B | ||
| 597 | 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 | ||
| 598 | B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B | ||
| 599 | 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE | ||
| 600 | D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5 | ||
| 601 | 525003F3DAD7933EB57E7DB1462E9D906F6D8F5BF740206C1EC5F36E00AAFF68 | ||
| 602 | F3EF6F3A2540E5F9564D1C215BC1E7E69C7D04DA5DB1CF195613C9CBF4BAA360 | ||
| 603 | 84AEF3E10E24877FBE36AD731DC97305BDE6DB1F934909FAF60B8E28561FBC57 | ||
| 604 | 0F5B6225425BFDE8F0C71CD4507B82FF803E9A301397975E38A259DE1E1B4FC0 | ||
| 605 | 06BB1DC2D45B987A2268A77CE8DC025CB0D1B39788BBEE149103950650171C94 | ||
| 606 | 5FED1063050A90BD38605BD9365D1C2AE42A7DA3DDB9A263FE10BD487F63D908 | ||
| 607 | D4F02758BD9D7BE53E6353A25BEFA29E42B50C1D078A8B3A746EEDB381CCE36C | ||
| 608 | 93FC4BD1A8D1D6ACD0D355E948CFE397B74D243EB51597D251D0BAE6884D70E8 | ||
| 609 | FEE119462E1939A9783414DF59EEA5FF1529F13869D1FF0A44935C5198CC5DAA | ||
| 610 | E1FD2A17AEEBF4974052D06734A409E26C457C06700C55896C90BB33E044A737 | ||
| 611 | 46590D9FA242819B9527FD59818D8829D4EB2D26A34CC05A2CC063E66F2DF193 | ||
| 612 | 8E4F9670014BC243180E45B51DDB05AD1E6A7F619EE1CE09CFC1A4F02CB7270E | ||
| 613 | 4482FEDF673EDED38EF3173C475C34BFB3F6623C5E942A7797FEDDD0EF1D54E9 | ||
| 614 | 1D90D7076C0A9687E334907C22F2E7C603388D8D626B0E5A62B7543DCBB575D7 | ||
| 615 | 9A6BE1528EC9BC18570001092524E4FBB02F3B29293BCB4F0EF14A2DD9DB22A5 | ||
| 616 | BB33455799E8120D2A4862424AA4A382972E2845E042506FC8F6E201D11DD0F2 | ||
| 617 | 09FAD8DC29C3E12B66293ACBFB13FA0F26238981F2CD52B47A8CDE6DF5CDFAAF | ||
| 618 | 3113E1A6366B806EABA9C34E5D41167CD10D7B639021FB4CFDAE28CE72A93F3C | ||
| 619 | E8929A4BBA0EC700D5662AAD9EB38047C6C7C63EB3FA03B5EA9E56DF0E30B3AC | ||
| 620 | 058198429E22081FFD4CCC1F3A7A88AB8A22C7C6C6448934DEC2212E89998259 | ||
| 621 | 653D779091F4F7F6C0A76024363A9001817B1D572847779F98F02FF9A1B45270 | ||
| 622 | 2F7E42A25C687D6E56C89BBB580DE865D7372A02F329E71E0BDDA2CC8CEE41B7 | ||
| 623 | FE95846B78982FAF79E544CEF8D72A94FA73E69ED3A5F834BBE082CE0E8D4EA0 | ||
| 624 | 2F619CF8441B5E057482D71D834BC6D93BF9F7777FDD2A5216911D31D34CDD76 | ||
| 625 | 8D0F805FF6A71D77AED0D540ABF995DC77C30ACB207DB2513D691105199B2555 | ||
| 626 | CA9418777932A54E99E56E5171261B3708D8646A28803DEC8EABB44E80F3132A | ||
| 627 | B273B74A56B5770C09508637BE122DEFA8A0B3438403DF67AD2FE9641009CF03 | ||
| 628 | 44E39E8A56E244C56B8777F486C958C5196286F36761F2568FE1A8A6E74D6891 | ||
| 629 | 19F7E393FB94388DE651E078D4D40DFD141A0FC074ACB3384BE70073C08E2EE6 | ||
| 630 | 065EEF9768D260C08E40B2461EB226D820BC43EBCC49A943528B8E5FFA474300 | ||
| 631 | BEE3AE339C2E0C4B247A4F8F9CE588AC67CB6FF85ABAE18AE0F77219E44DBBF0 | ||
| 632 | C6B5958D89EA19BCA780BEBC7C29EC8919CB9754753DCF4781F34FF4F75FB52D | ||
| 633 | C00A65650B9AEA0411B117D2DB6A813F17569F8D0BD600FF94F063EED10A9F10 | ||
| 634 | 72B6FF606A4778CD73CE7A03EC5F31B6B4C9D93B80921FB7109C1E9926C77113 | ||
| 635 | 5AAF1CA527E5D262674D0B05681E38FE2F14916248E81C52079AE46C4AA3C1F6 | ||
| 636 | 9BDE6B8A497600BF36E594079AD3637D27E2F4FB0E89F80CD10A1991CDFABF46 | ||
| 637 | C36D32D5309D24024BF22F920D954E50EF667272BFB5CAAD0824641634CA4CB5 | ||
| 638 | E7491D66A5ADE670AEF9C5B1F1B45497FF99C2361EDB1FB5C8F5D9EDAE288C68 | ||
| 639 | EA3337F3AC1EC76037252B7107C3F96746EB0A6BB2DD05F1D372B0ED5C3F56B9 | ||
| 640 | CD6BB3EE200D9A60372D4EFAC7739E2629151FDB2BC336A95260119FCE6A9511 | ||
| 641 | 2937DC9F522CC0CC6DDFDDF5673A962E2DFE6EA3923A5CFE9C4EC0C69BD1DEE6 | ||
| 642 | 9F56420E6E8F972A3B7462F4DFACDE97B4F821E1109099298C77FC831E6837D0 | ||
| 643 | 5BEA4AE2D59CBD525A79C96E491C20EFE0138F1F9A9AA1B30367982357719380 | ||
| 644 | EDDD75F4547F1997BEADCB8B7FA9227DD211433CC05C0B804E8BAAE95171EAEC | ||
| 645 | EFB60DBB8399E83709895D5B4DC11E11FF91E2A39861B12FFA587E8D752D74F8 | ||
| 646 | 71456FE15C7B6A885F2BE67C63B2D9CDC1EE5688CE99156821183B552DF78DAD | ||
| 647 | 64F178CDF98390D8C1967CE7D9BDBA99AFD5A9908A950A11FBED22FF6A61D0B9 | ||
| 648 | 3BF4842A22E2295DD259B0DCE2773F9D672B217B7F19A4D22BACD2DF929FFDED | ||
| 649 | EEF43C052D515BF739EB5B397F9B8762083965A85F96E6BD48E0402C85FA03CC | ||
| 650 | 5CBB51BF4CDD01B891BDF1959AB822E9E6A8B9CD914EC25E861DAB64C443641C | ||
| 651 | BC2F1ECFDF4C3966E11F137787AAE702564B3EC4754982726AD67DB2A98E2EA6 | ||
| 652 | 3B843D824EE3FB92888AF133ED29CA1B92A87C50E71640E418A5ABFFF469F972 | ||
| 653 | 8AAE580B2E255272870AF5BBF923F9805104847880113BBFEA1FFED8B19915E0 | ||
| 654 | A0F0436BBE20C7E3FA1DCECFF072B8FBE3A100A33B181C0816CD4E28A8E432AF | ||
| 655 | BF308B89336A8710EE740E1583A9ED41C97F96D546DD7613CC7B214501E14087 | ||
| 656 | 1E8F1002BDBDC12DBC8F4CDB5D2E62EEC19007B3D89407B865721C28C7579845 | ||
| 657 | 04CB6EE7A3AD6032D3DCF9D01F83DE750BC8F0DFDFF13FD400AACEC35690983F | ||
| 658 | B5E04373CCBF469472B8AA0FA6A398BEBEFA8D914D548D0BB5589E1C40D7F625 | ||
| 659 | 4F8E0FC08108C2288DECAC258D819FF92AFCB63954960A5B194934FAB5F4E757 | ||
| 660 | FAB4AF44176447EFE9E20B44F0E8BDCCC0925DD4703F6DA0B2E61E3121CB737E | ||
| 661 | 9E5FAE5B899987C8851CCE11408B5B12D5F67DE0552ABEAC69596F377AC65A83 | ||
| 662 | 25E8ED90ACA8DD09D0D9AC984C2EB9A01F3502CC81422C68456A9B15796C8B08 | ||
| 663 | 0060EDCACA5CAA76549D613EE7CFF973E9091B2B8EE4B1DD0117DC140C16527B | ||
| 664 | 47B335576E75C4E558E3777AA9EEDD3DA21B63E7DDDC10CBA609090099118E86 | ||
| 665 | 37A4AAA5300E6DCB887E36A60601D4A02E98A547AE834960BFE45F644A23211A | ||
| 666 | 3D039D63BE8A49BC421B19E6FCD8132DD37D65E88C685B1775B1D05FEB41C705 | ||
| 667 | E3DEEA6307A5B44AF3153407B8042099128F867D3924B477FE258B3A23A47757 | ||
| 668 | B8F09B52A747698DD84E7EE65C4B30ADC97F7D6A63BB621E9EA9CD76BF8F3408 | ||
| 669 | 0FF1D4AAB7A5F1417EDD399AD210F59E06B606A26C69368CC896616E802BFBB1 | ||
| 670 | 613B4CD2AC76FB267B7EB1178B703F33B8D199BFB0968A82B193A1A32325442D | ||
| 671 | C4FEA2BB70F971AACFB0722724724FEE9041A3232BEA3A9870939C5F0A5C00D2 | ||
| 672 | B292BEB07201BA6FF9B43D887E7F18A28AC2B9C998419378DCFFD57DAA9A88BB | ||
| 673 | B97758828F0CFD6B810FF4D2A0B2D62D06110F2C804EB4E555E1B2E0E316E503 | ||
| 674 | D30F7878704FD816B6F19D49A1F9B37CAFCEDBA771421CE1C43DF0BCF2B2912C | ||
| 675 | 2E9F1105A4A91EB3BE467C8D4B3312D204915C237E09327BEBE496031CA2BD42 | ||
| 676 | EEF53F0ED5CE1F9D6496624A97042B0B45B3E59D01D41ED3DD16399C6279A9A3 | ||
| 677 | 491272AE972C2F332CA37E1D074B97C62E7308EC803C251DD44A2B9B2317FC72 | ||
| 678 | 345F338F335BA8A1C0F4E6BCFF7DA5CEEC539C08B26384F70724118E3D6BFC45 | ||
| 679 | 608966E2FAAEA78A14234FE7547DA9C2D02EB4EA39835064BA994175B8BEFB61 | ||
| 680 | D0450C331985D54E2B1602D85EFE3A09FDA2346D13E203F3A52C2AF678ACBC01 | ||
| 681 | 3980E95BDC04F2BC968C1341FCD4463783167C3361AF4777333EA568DA52D2FD | ||
| 682 | A2B34B7064477C2B455385ABCC88BCDF277A1B33C90D3A6A431DEC8BB5863B70 | ||
| 683 | E1C769932C49EC1540B1139F1300003F59042EF79953930CC90C087370B46999 | ||
| 684 | 0CCA827C1F1AE29E1CE29098CB4B3CCB91A61052071A550DC52284DA71169D75 | ||
| 685 | EB5B418A7CAB2DD4D9245615DAF8D846D45EF49C331E11EF875B2C62E470B0F2 | ||
| 686 | 01BA91B2141C4380CCF5773C0C7B90B4447DBA415A2372B2DA4AB109D13DA0C0 | ||
| 687 | 6E5E54C9DBA4FC967F0350E655425D1A896A2E6FF676657F4241A76F9F018190 | ||
| 688 | 6AC7B8F53052B8DCD54168874304FCF0530E38EA0A422D292DC6E310495B5AF2 | ||
| 689 | E2F54210227F0FE30576CD6EC8E8BA26A398BE076716C20F0972F153C404D539 | ||
| 690 | ABDFE8BCB69D8E9A7D7733A7123BDB6E7755E35B10C233DE30BCB34227D7E550 | ||
| 691 | 56DAF2DC5ED812C1127B1EECE52E1485FF2DD092984B0DC1E58F13115E939B3C | ||
| 692 | 9639DD3B13604CE8DCD603A13E8DCB7520461CFD6EC06F7B0B729CBDDDBB89CC | ||
| 693 | 9A70CDA0840B9098C39A01DFD556E3DF37966F07921067DE045A80D5716C8F11 | ||
| 694 | BDACA5F2AF25C7527440BAACA8C5F211A3C30FE38DDF87F34FE9E3DA9BD3ADB1 | ||
| 695 | 7C151D5AD23BE78FB5672C9339F8BD904AFAD6674453A3BB589C1AF295358C1E | ||
| 696 | 4F6F89BB020E1A146B5855B46A366773B65CC0C449319CCDBE75B3D8AED76104 | ||
| 697 | E4C4ECC307FBAD006E98A40268DA58CFB135869C0DF12F3D9F96AE010BBD2AFA | ||
| 698 | 5297D587D5C599DB3687EDFE865BF7AB530C8396A7DCBF84D196D65055E078FF | ||
| 699 | CF1BA51EDE702BCDE009D9903EA7658E906887C4BD16E91D9FD49FCA8F75517A | ||
| 700 | 332077D8284E564D84789C561E93E27CA36D32DF337713FF2E91861683F6DA40 | ||
| 701 | C5E8F505640B8CE65895FACF142565AAB691F7C9376978F98B679CBE1C163029 | ||
| 702 | 1E49797740BF747243A3A569811EBAC9119E7FDE8026E752C198D116BEA29A14 | ||
| 703 | 03F40F6C30C571146C72E6AB8F581AA24D24B639BE55E925DB8640CCEEBF1277 | ||
| 704 | C5628599AAF6D1858ACBDA07C56A7AA9009221D0DA3B | ||
| 705 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 706 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 707 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 708 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 709 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 710 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 711 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 712 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 713 | cleartomark | ||
| 714 | %%EndFont | ||
| 715 | %%BeginFont: CMBX8 | ||
| 716 | %!PS-AdobeFont-1.1: CMBX8 1.0 | ||
| 717 | %%CreationDate: 1991 Aug 20 16:36:07 | ||
| 718 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 719 | 11 dict begin | ||
| 720 | /FontInfo 7 dict dup begin | ||
| 721 | /version (1.0) readonly def | ||
| 722 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 723 | /FullName (CMBX8) readonly def | ||
| 724 | /FamilyName (Computer Modern) readonly def | ||
| 725 | /Weight (Bold) readonly def | ||
| 726 | /ItalicAngle 0 def | ||
| 727 | /isFixedPitch false def | ||
| 728 | end readonly def | ||
| 729 | /FontName /CMBX8 def | ||
| 730 | /PaintType 0 def | ||
| 731 | /FontType 1 def | ||
| 732 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 733 | /Encoding 256 array | ||
| 734 | 0 1 255 {1 index exch /.notdef put} for | ||
| 735 | dup 0 /.notdef put | ||
| 736 | readonly def | ||
| 737 | /FontBBox{-59 -250 1235 750}readonly def | ||
| 738 | /UniqueID 5000766 def | ||
| 739 | currentdict end | ||
| 740 | currentfile eexec | ||
| 741 | D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 | ||
| 742 | 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 | ||
| 743 | 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F | ||
| 744 | D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 | ||
| 745 | 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 | ||
| 746 | 2BDBF16FBC7512FAA308A093FE5F05C11F9A72F5DA508C30BC4BF52C8B1EC5FB | ||
| 747 | 7F9DDDD0964A6D59193A389D490DAA6F6ACD02CF71C06802F3AE5A001F2B3A6D | ||
| 748 | EEB60E9DD26DBCE1D29C825A9BEFE3A6572E70DC7B60344C3E0C9C77ABE1804C | ||
| 749 | 7ED61C544F0B4A3D6C7662DE8575C07BED3F6DBA7D64A9C8613AA152B74A140E | ||
| 750 | AAD9B66E0FAEED6AF9D1820F361C1269A5E90519A3E6D40782E06778C0AFAA30 | ||
| 751 | E8CEAB87054C4D156C1B14B4E8471D78648FDAC70A3B8ED474FA356393A77420 | ||
| 752 | 4211F60E397D2FEFC6A8D91A80C84EB9E38E663249FB91D5C8A5CBA68BA04272 | ||
| 753 | 5D5D42497E1CF5CA1E62EC2B139F5CD4D6318EBBA7AE28614D2D88709C2A3762 | ||
| 754 | 611524B8A1FFC7B0FCBAF77AD8159C354F4887DB1A27781DE0A4BA7DF2CE2025 | ||
| 755 | D9278CED48584E8E6BDF30BFD24284BA1DF828B637BF84A02908BBCED67372C9 | ||
| 756 | EF44711BC2B1DA343C8D9D27A9745525C774F5D639B7AEC197CEEDD06FD27923 | ||
| 757 | 35ED0D402AEEB51134665A47847429D91CF419CA9B09DC905F610F8DFC54E606 | ||
| 758 | ADCDA19D5CC68A7BC7108EC9236C64205B23CE68B9BC38EF3E5BF9E0E6ADF404 | ||
| 759 | 7365C8D0436609438C82EEB2F356F79186DDF6C1C797D3C278108B1767D15178 | ||
| 760 | C4C3E8ADC2482BAB9536AE8419E5CF3EE1B6E53BDCE2A83E2E485F496A562C10 | ||
| 761 | B3F5A131BB19D1E5414C86C5F995521076340536E10613E427782B91F1098562 | ||
| 762 | 3E22288F48ADE6EFA58CAEBE7C070A920C3A85F4327940DBD99179C26E3ABF17 | ||
| 763 | 64E9CC6A45F17F19F3EC1C53B17485B813CB01915D55CA2034552666D5E44A96 | ||
| 764 | A0FAE064F599AEF095CA1816F7066EF0AFB220FE1DF11FAFD503505C5E6793A2 | ||
| 765 | 6475E95FB467E2F3B5E7C6663A70B15698A1D158E23D3ABE3B6942B24832AC3C | ||
| 766 | 13F258038DDF209525C4124806A369ADB0423C2FD0F823AE3056F380B7128089 | ||
| 767 | 689FD4E84B455C7EC6C5BFEEBEB422E156C67D7E56B8267EA704318ECE801014 | ||
| 768 | D563FBF79D9AE4F8C41CC649EFA07C8FF9FDF6109E05FE58B92CCA7E26204CE8 | ||
| 769 | 05A20B86CE43C9EF809DCCC2E28021EF11EDBF36F6EF75E9AEF7FA793CB81E47 | ||
| 770 | E2618947764B7CE6C3B94321D6FB8B824794362CC8CB6BE9EB3FE6C601820830 | ||
| 771 | E7C6F16E48574F329A642AF235347CD0017155299B70CD489095443A726C89B2 | ||
| 772 | 7F7110D2C8643B1FA3A938D53C087EA3491B9EC4E5B213815A281C03E8936424 | ||
| 773 | 614FF39012545B995E60E3FDCB92E45F51BB69F8683F62668FED702AED16E709 | ||
| 774 | 8FAAD0CD9355995820FE80C4496D133F1714114FC89E871E2F6A994A4CFE14A0 | ||
| 775 | 0CB974E2ADCDD20F11FAC0101A90C215E40234B027DAFD9D31530B96239816B3 | ||
| 776 | 6006A6A69E800D7EC779FD10C721F7A476C02BFE5FFFB04DDF1B12D0779080A0 | ||
| 777 | 0279EFC2D4BD5A8F224083C15008218EADFD8D6089E79A4BD0EFAC995EEFECE0 | ||
| 778 | 83ACF32C0790A54F6D04C945ACDF739E06690A00AE579B5DB9C91D21731DD420 | ||
| 779 | 5E2891FE9E43F0F78B797C299F8C6EB6B0AA2808E28E5A01A2BA1FCFCB54598A | ||
| 780 | E5C49FB68DEE2A0101CA67B827122072AD6E53E0DD6B62AA4A41EDF0A3C13DBB | ||
| 781 | B42D8C0FB4BED03ED493F38EFDBD7157D84183E726CA215005699ADF49B6A5EA | ||
| 782 | 2A2F0B7599A783CBE0FFA0AA965969AA222977A13F88EBFB3C134B4445EED5AB | ||
| 783 | 80C9882E54A5E1DDB9014DB04FAD3D159857FEBC2CD56EAC237BAC2177E02C74 | ||
| 784 | 0AB0C3195B3847D5D21EAC3AA0F3B916664370D6B366F877DA0BFE4A282E96AA | ||
| 785 | F804B144DF7DE52415E39877B8D85D55D40E3B8BE0809BD5AA0E58278A9F5EE3 | ||
| 786 | 33FCB97E79EDA72DF08A258DD09E18D69E8B2EA33E4E1131D58EE27B80FBE72C | ||
| 787 | 3F513A556AB5A7A4C00C6332D373E96BD0B9F037BF86ADCE6481C7CD44A0141B | ||
| 788 | 419DE72F671FAD0C4041A819F9313FC7357F775FA341F290FA4F15DD9F5742CF | ||
| 789 | B969D56DB370C3A8F94818A1728B00B44FF035CCF32AA1F31BCCFCE4FF49FEA6 | ||
| 790 | 813943645ABA47BC8E8E51A709EF55D7125156925FF994974EFA2E9BF696B153 | ||
| 791 | B5189911933C09246BA6AA23282496C2551C4F879D2A556217DCAB15EE185070 | ||
| 792 | 840051E3F27BC72676B39817AB3A2AF8824151395B50DBC3999549F9AE1B6D90 | ||
| 793 | 47EE409A7E1816B588A4864C783FFE112D73928193B1DD3359D9FF1ABC73C3A8 | ||
| 794 | B29027ED24B04E3AA855DC1F719AC8746BA11FA5B676BC09DBC80574114F4290 | ||
| 795 | 65C30DE7F659BC1A2E5FBFB5286624B1AC8767508B0F178B3665B53BAD6363C4 | ||
| 796 | 816D94B542F6AEE1E824420080AA591D66F6348A7C1225C098309DC1C491E80B | ||
| 797 | 5B1EDC8B75DD42A89BE2C598E58A3E4DC4B0B8944318006D207699E492031E15 | ||
| 798 | FBA791B235D7F677D14AC516B76700859974FB8820438F7BCD3D3B3D7D7D008F | ||
| 799 | 3880F72358A882ECB76BFAE04C1B8E0977155AB62D07D7AE038C00C267C6D9C8 | ||
| 800 | FB31C40D91A6371C0A3B0A8B7E4C92242A924D48BF3335E80C33EAB8B8B11571 | ||
| 801 | A817D8993A9C238DD5D8A6B91BDD18223B0C21A864F190E012AFB44216A9983E | ||
| 802 | 5191F4D77F7A6EE8E2967438C8975EEF92E6A436717FE2B13B2B65B1D4BA6E58 | ||
| 803 | 48F4E97D41910B3C79E72B84B23D446B96EA9E74A502049A6A670F40BA362A74 | ||
| 804 | 8920731738746163937EC778B249AFFC20603A6BC546E139DEA7F5FAC96723F8 | ||
| 805 | 6544F0BF630B274977966135115497C1AFF7E581AA7B1B4C456CB15474929C2A | ||
| 806 | 796E752106F068D3B232D3979B27BB4C28098A657E1D4C76CB470D42BFA072A3 | ||
| 807 | 1E0A1952C2DD97FAF260EA58C755DBFDC679E0CB0F20B8A25C8DCC86BA990031 | ||
| 808 | F16B1F3AF1714386545B42ED4F0CEDB0B3935D3BF86FA4D884A58A56A0737792 | ||
| 809 | 094F830BD1255B695BD756987CFA4AE5030E1B24E9565289AF240C76D78D7E6E | ||
| 810 | 6299436C5853BC086D5F22A5CCEF4234E2FFAFBAF3F4F0B4B5299D47A2C6DF9C | ||
| 811 | 22EFA43E822B6140EB66BAB6268F66DF737764E84134DB9AA6BAF0663BC73421 | ||
| 812 | B7888BE30321CF239AD0AEE6B1803EF817F8B6B6A6F274D87E88EA67135BF116 | ||
| 813 | B2BBB8E8C9EFCD757A6ABCD2F799CA0CB381628507118D1082904B728534C129 | ||
| 814 | 07DC200EF69A137D09D5B31A8E3EEF61C1AAA3DAAC733CDABBEA7577201938EC | ||
| 815 | 8C58115FDE70557319A6E6F7B3A746CE653AD77660FCA75ADCD1FE75C1D42DB4 | ||
| 816 | FF0CCF21DCB92274CAEEAE47782B0033BE1A5F08F98427C38FD7D337BA2DBEB0 | ||
| 817 | 473157DF41B432B3859823FC2EB912C3B10FBD381CE5F4B7712B1FCE8D9AF5C3 | ||
| 818 | 9FD44A255163880A8104069DAE3199515D813BDC58B0348BE7C1BBEB4105B1E8 | ||
| 819 | D33431E5F536FD5FA5C60ECB139F47402BF42E1228C2E08C7CAE985C9EB7E3D5 | ||
| 820 | 1A98D830DF57DE98548ACA2C748C18FD938F30CE93F112410CC35C8D76690715 | ||
| 821 | 7A0D8F4726F2E31A722E8F76DFAF3A88AE7969FAE1EDEF99EA90A19A9692899F | ||
| 822 | A4A6F4E9C5724B5D8688A0EFA7D2FE4565B05FF5906046BD1AEDE1E992C84289 | ||
| 823 | E9BDD813EA9E87791229ED1E267A3023B53F808F1F96EE21049F02E6703A22EB | ||
| 824 | A1ACA6DBB4310D15DC12192150BAE79EC915281ECBEC904A49301438F53986DF | ||
| 825 | E7EB0EFC44985266EC846A4A12AA7B9A90E3799FFFF4110D311643B2E2EF8961 | ||
| 826 | A61CBA357C947A91056C798B23641C2CF30FB4B38BD53E7DB9AFB0B8F69F1074 | ||
| 827 | 7CB154A179B796DF230D1ECD4E6569EE80190C6361593946BCC005EE3732D343 | ||
| 828 | 16935D2FE49856756B9F87DD6B8DE288AA3A3201FC7E77F75A42CD95BFB42236 | ||
| 829 | 0C1DE3177DA2B50F1C68DC36BFC189EAFE388116160F65EA2626D9B7CE44C375 | ||
| 830 | 7D5FD83F8E9B8E9609A9B46777932A21B73ED98B8C714A954EEB2DD9FA3937A3 | ||
| 831 | DF41FE76D214E9C9D8DB712B275E91F9E32F31D98E30A7D0B3CF718A52134F86 | ||
| 832 | D1E088F91FF3D86490EE0852AF23D9856F271A1617F6B06E0CE1C163D7886908 | ||
| 833 | 77E5C0C522E0F0AF8E7B05205FEBB92C68FF99DA858BE00E6C7CBFDEF8ACCC60 | ||
| 834 | FF9E48E4F5B1FB95DDB11AB4CB09D9E59E4B981E2A59F77881E2CB31057A6416 | ||
| 835 | 5208B180D301DC13F842CEBBF97AE7A3523EA8C6FEB5DBC96437EDBA53F78730 | ||
| 836 | 93EAE0A81715E303894E12977EA37DA3559AE4B5AC49B84E44B71DA99F487A55 | ||
| 837 | CF35FD75E5EDAC5397F373B018CBFF45E00F704D3AD2CBA79F1119C31EA1475E | ||
| 838 | 3289FF427407ACC5F516CF88F3F762543D765609CB618ECD786425F54CC509F7 | ||
| 839 | 7734B0E217F638A61D169706EEA92A552766FC0ADB2D87AD46D8EEA079CC96FE | ||
| 840 | 8CEC5B7E61A87FD26BDA35F8508177C74B42B694A6BAA8BE7A906B30C5CECCD5 | ||
| 841 | C0CC4857450612B69DAB66EDD6BE13E9B106A26DAFF419095859D5D1D01641B5 | ||
| 842 | B34155887DB441C5ED0BCE1A7B9E12497F681BD03FAD87AFC6BAAFE23B406427 | ||
| 843 | 763455BB4B9DA86CEFA6484BE30BEA1E43FF8C3007147745A35F283CEEFE1866 | ||
| 844 | 26DAD4A22200F50E638BBA2EFF73C1DC358CB9C1D377E6EE9E9A18B8ADCCA028 | ||
| 845 | FDD4BB09DDB37C0DE0E56512AF00C57D4FD02B6DB966ECFD0BC122A55BB9FE05 | ||
| 846 | F20D682CF3FE2954F32BE305CAA9E50BD652D52460152B9149E891D419FCC078 | ||
| 847 | E9EBC6A940048EA2173C0CA463D7DE339CCAB9A86467CD1548066788C54FCF5D | ||
| 848 | 8C87CC51FAF946C75EDA7F6A9165D42E5F5BD629B84F298D790523D5AFB2FE10 | ||
| 849 | C2B9D578FAF1748BC0EB868D498BA46999F36722A7C38A6A7B34B85238F4A640 | ||
| 850 | ED5327411CA5D44E22219BE1157F163C145DA6E93ABC5D0DE2B3A7AB01EA33F1 | ||
| 851 | 2B46502148336F06D6501AAC93717117BCE587FA86DA114DD9E264F5B1120A08 | ||
| 852 | AC1CF7C42992AFE0DBEA926A731FDB4996BC9405BD35245A6D08FAD20D3FBB49 | ||
| 853 | 3075948A25C1634F0290D5AAFFCD7ABBEDDD607A7250D3023BCF2D2002395BBA | ||
| 854 | B252F6D039EF1FBA7C71C94F45029FD935F5CC48F6277B5C843881569C5C4AD3 | ||
| 855 | 7B54E2248A81B42FAE507F105CFEB1C3EA4D99C9451A05829733D2AB14F26B26 | ||
| 856 | C02D1496C8EBB12425A2B90E94E76C507C14673665DDBAB34668C44BD1834992 | ||
| 857 | 3542D09B76604E40F61B2869D09E568E03003F15752B066E4CE03836F49E699D | ||
| 858 | 9A4AE3C95AA7C73CDB829E7384288A696CFBB0169BD6A38AFA1D514CA7F1145A | ||
| 859 | 9ABA828991D7C553A30F340FD31ED6C6FBE5403E983ED3792A3B4BD34BAEA85B | ||
| 860 | 2171D8C91E3B6D8C44E9B464B1723D035BD38F65561AD340C1396CF2153E166D | ||
| 861 | EC384FDF9BEEFC97CD9542FC26601AC4CFF9AD232AAC0C2E36FBBA289DF156F8 | ||
| 862 | B5872E75BA8D7947433A935387F49100C80213EE8F55622A7BDA1531FF68E5E3 | ||
| 863 | 6810922DCEAEA6D335021087F623FC7FFCF401C40D848AB54951788FBD03D87D | ||
| 864 | 6CB419871FCB786D3E9B3C67A0F9473D1437B207904ABC36532D01FEFD1CE90D | ||
| 865 | 45E201D5A119F18F22A820A28D74FDA3B36D4560AAA27C7DB2881BE51D8B9D5F | ||
| 866 | D8BB25D3CDF776CA9EFD032B9EA3D4337A393289B02EBFF68727F8511CADB4A8 | ||
| 867 | 82C08DB25B1193AE786E9AAD1A929519A93CCD44D1FED5C82D5FC461A9B19852 | ||
| 868 | 48E075C46A8C00A10CC95F32B2E63367F95971CD81B60CB3D5820E7C0A14E2B0 | ||
| 869 | 00681E53305C074E6DCF4F2C0E4D7F5468868ED3ED09C1CF7D19ABBDF904D2B2 | ||
| 870 | 5250126EB91E19F24EFF107D86BD4D5AA7BE3B23E2782C7EB3018D1E23E11526 | ||
| 871 | 03B929656A4ABF84CBD36304951204FA43CCD202225B59E6EEAB55BE99894501 | ||
| 872 | 6FCB70F8F01113CBD194AADC48250D1DC39C07D578D3B883796D2AA489D197F0 | ||
| 873 | CB13E7BCF91121B7019F92431786E58CDBDD29E46463DFBC06BC43254E7D5EF6 | ||
| 874 | 8377EAADD1F4B6C80C6CEFED86924F4B9BC4FFB42250ABB944862C39E9498CBC | ||
| 875 | 744E6838E7AC0BFC57B1857898D586C3D1CC2F5C344A39CCF0955D95649962B3 | ||
| 876 | 9B2FE61EB993FC2A0FD2DAE84F26CE93489B12B921ED8F7B06F08BD1D3967366 | ||
| 877 | 255B1E5C01D7E1999EFEB6D5522901650DAE91AF9179787DE84D036469ADA85B | ||
| 878 | 8A4BC32248E176EEEE808C72D095F941BE5E6BD14D1C82D5402FE177C6EC2069 | ||
| 879 | 842B7073935BA15F5C49F275F878C344BE880F01DE28C735B1B30424F63D8670 | ||
| 880 | C4CF154CC98F030B2259798F9E62F14B5FF3DF856B7BFF262B88F0EB12C7AD29 | ||
| 881 | 03D0C3AA02A3D51011057FA9C1D06D56BE593137A8532A60B6DEB05BCAE23DF5 | ||
| 882 | 02F05CE14181B7F00ED410ADE26B070C1FA51C22562698CC442BB5BC1E2007E5 | ||
| 883 | BA70DA947C0D4613C0B1925E7BB88A7B82383D165B3D8A045EBD8DF273F5E174 | ||
| 884 | E7F66051FDD55E9560102CFCC1D5523BCD843038A46C8BBD7142AA2BE7B22A11 | ||
| 885 | D822E93F01F25DF7F1F89833B166F3CD0B1631EF2B15DE9E33F4220AD53D7291 | ||
| 886 | E43FE0BD7B47CD0B89199E206B36FEDA5B471BB5F4B14D96529FA3B053DBD9AC | ||
| 887 | 3F0D45357F2008EC4A4194A6EA0497E1977D6F4E5C35C013DAC1281CB16307FE | ||
| 888 | 2888BE19CC22892556C9D8B1B2BAB7DEDE89F39F00AB6C6B1AB3C6C61FD98009 | ||
| 889 | A8DD8E2BD378B724B72D866CDB1C497EB3A270C6BC423BAAEB11BECD4079F28D | ||
| 890 | 5111F14CBE73EDB6F327316641BEB1E987779D42C71F95E8E00BD3E205427215 | ||
| 891 | E2EA543A83124CBAC0F79347F9C801E255D553EEC4A62B718D4AC2F54EBF31BA | ||
| 892 | 5522AF73E9680E62B122390743D879CF0E69DE4F4C3DE374EE3CEFF1E3759407 | ||
| 893 | 2CED877D736F939D30774F24A24C9F83473F9BE23AC56BC67BCF3D29A18D28F8 | ||
| 894 | 5BA0C2AE83A41DC4C3EF4F74A4AA78787D0B9146BB375F3322FE40E994C0E12E | ||
| 895 | CD0AE0A276911061FD23186374BE6EC5833E6ABC09E1AB5C46B098B1A1AF33FF | ||
| 896 | E11B1E730819A27A2C768C003D7E5E3325AC3D51AC9DFD993F74DA68CD1A7698 | ||
| 897 | D4BA04DA1A690A595FE3340D702D57678187ED6459A8C8128F164F7851871D91 | ||
| 898 | B922F2F30A99286EBB3EC8E1501599109B4575096B89AB5D86201FE35E193295 | ||
| 899 | 886322EF4F72623A7903FC8AD577C70D80ADEA4570DE5BF89455CF407275F7ED | ||
| 900 | 7265752232EF39EB140725C03B25B832EED91CFBED42042CD6482B161A649891 | ||
| 901 | F12A097ED1A99B77B42459A69017D113E14788ED463571086D293EB9A29762C9 | ||
| 902 | CC304629324B48E67631AC2A56D246B4A77746029DF182DEB8DA0D9D2D845CAC | ||
| 903 | 69FB6D6CC03C0C1C021F6BD8838520008882C2FF0D7D5B5AD98D3869E5C263E9 | ||
| 904 | A4E83BDB6C1074CF2501247498DF02449A1215F4345E1024F9877FF86D441F17 | ||
| 905 | 7C3487D6B2B7D07BFD0B33EBB519ACC3E7411DD4D2C096CB9BAFADEC8EFDC904 | ||
| 906 | 0ED54AEEFECF1E96D0614784B1B9DC8F1D856F390D2C0273FE99FCC892763317 | ||
| 907 | A26940B09B46D79342E159D2B5B4B307C5BC1523EFB1968504B2FD69AFB37B20 | ||
| 908 | A787F7295B6586626D9D0F480E34D366011E99FB01F44C45CCEABF9F24B52502 | ||
| 909 | C4FBDE3790BBC0B9A4B8579294E692363B4A496EB236F77F319C0B661C42FB4C | ||
| 910 | 3849B8E338AE185E904AE8922341CC0CC18604290526483394D43947F34F534E | ||
| 911 | 8A1A0C028771267B757EC2E356BEEA3C0C42C19CFC53F84D9C81D03CAFFB8944 | ||
| 912 | 0AE6B68D15CDADE9FE4B31F9DCF7999EA3D70A3EB09E20D2DD5119A4425E83D0 | ||
| 913 | 825BF77EF18C6CB6A134D513FB9B6E623CCC3482B52DCE326C6AA77BC464B8C9 | ||
| 914 | AE0D7A0E9D9D96838B2612A1C56DD1DC475A146DCC08918537F7D7D8CFB4C632 | ||
| 915 | 384F9591649CCD36887163FCAFAD51207D00C7567C81C72EF4FD7079C322BDB4 | ||
| 916 | 9F92D883A7230B55AE2B7CB33224843B8080A748CBA3338038E3CAFE39759254 | ||
| 917 | 8C25295A497199F99F66DE767BA520FA0889CA2947FA4E28AE74FDF80472D5B1 | ||
| 918 | 5047D83CD272ADE577283B6FB785FB10043E7BCE5090912D544CABE81A784EE9 | ||
| 919 | 27CB0525FB5461D84A221C8A66432D8C0F3D11801B08B5A0A6E81BB30567D0CA | ||
| 920 | B58D2C33D90C300B03D494008433071BA6A245EFA16EE229CE4A94DE6DFC1A41 | ||
| 921 | AF69154DD23AEA4972EA5067E894ECF9EEF3E4671D00B947BEA81DBAB8CC01DB | ||
| 922 | 37AF810B5DE58EF5B0089C6AB06E8DAB6A71887741C0CBE58F9864B7E4FF3013 | ||
| 923 | D6CE6A489DC5729AE9E21863FA566A00F573E63F172748D8F6231C0F211947FB | ||
| 924 | 8DE5AC7D3C4397A24974BECAD814F9FCCE56B89CA779F39B5C73242B0D6BC5FF | ||
| 925 | 0DF7FF155DE8180122FFD2C2ADA2689DBADD7D26C78586DD0310C838923EF309 | ||
| 926 | 7429A96FCBCCF22F968875B92AD7FE9716823C54D50CE987DE5F487342BF69D5 | ||
| 927 | EDE136B7E2C92C55B3A378298225A525C1D04E187997302B4F75D0672547F227 | ||
| 928 | 06F9A21C16B40CB112B3D1E0E02B701E657666E4A16E227578B68A9DED734A1C | ||
| 929 | 32AEC59EE64DEC565BB123C481AB0AB941A14FB66667148F1C13BA3C48817735 | ||
| 930 | 207D0A17F0860C7A2E82C5F4E1201635BFA79AC0E6CC7A77071D32DEB1E35EA7 | ||
| 931 | 5CBB675DF5D68E4A88CD8DF04DA8D6CE1156BA93967E4DD90A5C1E72E3A228BA | ||
| 932 | 50BD4A3AC049E501F76E76F55909368A8F76E0EB8D85741F8CD9B9D5C6BD424B | ||
| 933 | C25889D930B3A6EC36170A4CEF7E3E274DE7616000C14BDFDC726F323B4E3429 | ||
| 934 | 74B7280C12FE3332FAFEF006A7BD47E97134EF23D3E83DE9A8E04D3E914F3510 | ||
| 935 | 15016B4489959321E320E0BBA88D58B2732EF3655703C58B64CF71C1D5A2723D | ||
| 936 | AB7C59AF13AB1ED12A39ED877BD06E1748FDC97300976CBBD128BB054CCD8405 | ||
| 937 | 6F495791F69588AF6298279D065341A47CC018CB76EF3A1F7B78C16450E06D1F | ||
| 938 | 879107BA9926202B55FA95FF7F685D7BDF1D893FEC66DF13CBCB1FF992D0998D | ||
| 939 | 87B62C35DC4991014E64F9BDBF5D47A64949EFE4F076C5F5610EA4A743378116 | ||
| 940 | A6739DCF540EFF064EAB053B9ED34743C724E7D2C6CA542D150EF887CA78D53C | ||
| 941 | A96ED7F1340B2ED6D5A67F5513DA63D4909E1F8CBC25ACC24B743A3B49058633 | ||
| 942 | B605A132FE9F9B01EB75243BFB248FDCE25E82FA7B589E5403B8C1B822931D03 | ||
| 943 | ADEC24EBFA8AE740E7692AB5418E71ED25885FDB38087E3755227BF9D7D14CE0 | ||
| 944 | 9DDF48A7CE11128AB6B0A53A75C0AB7B9CD68FDD2A4B29217443CEC5C8680222 | ||
| 945 | CBFE6EC20F17193ADBAACD485D8333A95276C071B0A8385E43E9D7CAAECDD39A | ||
| 946 | D649CFB1EC72212C5296D1AACB75EDE6D4360F2EC9F441A73AA7BC2AA04ED028 | ||
| 947 | 4B95F1264DF0F21A969494A1E959372937C624058A1B37414254BB718BBE99E8 | ||
| 948 | 5DEFA7C0EC0D741D7612F73044AC37BA46564ED2307CBA6E22264B3539020A93 | ||
| 949 | E2685648B95216CBBD4B22EDFE51F4BD6C91F41828A00F844660B32A5BF9C5C7 | ||
| 950 | D68A46412DABD78659AA24A4D6BF67D2147972C47AC2C3217C55F95A992205E0 | ||
| 951 | 68199AF701DB276C7A53D7104560A645E89EE2CABE14B5DBA333859D81C20293 | ||
| 952 | 84EA8DF06BA4AA429FFA34E5C87CCA5525D360C5848AD2CE6051564B9FD6B454 | ||
| 953 | A2E4C1913E0EA6F7B5E4119026CF2C8488D5DDB905C64D5F07378B05B9DCF5F7 | ||
| 954 | 552EDE447A018DA29A677BE310D0B6B22469F97353ED39C6BF5526605EE7941B | ||
| 955 | 9773DA131070B75AC8F50177659EB138A07DECE0524EB34DA9F3EAAFC01C0374 | ||
| 956 | 728B0202ABACCD138A1E7F1A4B3C006D794A19596641959CE10A5E83F848A919 | ||
| 957 | E6C0101EC00465563F1BB028A0882D619CC2D923E9CC4B1C85BDCA479F188E52 | ||
| 958 | 2A90133B45626B6623D039B471F9D9FC144E5228207DF1A8035BFC0301CD173A | ||
| 959 | 7A7B828D27CDAD2A0B4BCAF8C99C62310B04F72EBBBC458C785E5F23BE9D1459 | ||
| 960 | 8773C9C0648E11D92B73D49BC7D587E4E1CE1C0E93FDB67B432C35A21253775F | ||
| 961 | 754EFA2148EC95CE33B6686BEA49224E818533235E8493364C6078513FCFB982 | ||
| 962 | 4155EFAA41B59986DADBE962285C9E842AD3DF0DF9E9075D28E1B45BE27A2AFE | ||
| 963 | 2CF48B90ED76F75C4D40A48649177285FD19340660BB45564D70D179772CEB69 | ||
| 964 | D701FD356CF5A551CB8B36EA1E30DAECED401294B7715509417F08BF1CB7277E | ||
| 965 | C73392AE92C0DEA0E8D08E0E4ECE92334ECED69508B32C565F1E54B227F57B9A | ||
| 966 | BC49EFA298E8364979C63AAF76F1129836C32F04286271DFD85C5EB08BA45FB9 | ||
| 967 | 097409B5491F3FD6A921E5385EE763B6F9867EF2BBA496AA64529CBBCC534AB9 | ||
| 968 | 165C59BE8A43CB0BC47DDF1F6127A9A9DE5E69126B5B1C54B396C9EFA01BE602 | ||
| 969 | 3A7165A39E8F80E58EE14E6AB9A8EAC5EEEED389ED027319E66974B710E887C3 | ||
| 970 | 9EE4AF6AA8387E81CF302D8D | ||
| 971 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 972 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 973 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 974 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 975 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 976 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 977 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 978 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 979 | cleartomark | ||
| 980 | %%EndFont | ||
| 981 | %%BeginFont: CMSY8 | ||
| 982 | %!PS-AdobeFont-1.1: CMSY8 1.0 | ||
| 983 | %%CreationDate: 1991 Aug 15 07:22:10 | ||
| 984 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 985 | 11 dict begin | ||
| 986 | /FontInfo 7 dict dup begin | ||
| 987 | /version (1.0) readonly def | ||
| 988 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 989 | /FullName (CMSY8) readonly def | ||
| 990 | /FamilyName (Computer Modern) readonly def | ||
| 991 | /Weight (Medium) readonly def | ||
| 992 | /ItalicAngle -14.035 def | ||
| 993 | /isFixedPitch false def | ||
| 994 | end readonly def | ||
| 995 | /FontName /CMSY8 def | ||
| 996 | /PaintType 0 def | ||
| 997 | /FontType 1 def | ||
| 998 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 999 | /Encoding 256 array | ||
| 1000 | 0 1 255 {1 index exch /.notdef put} for | ||
| 1001 | dup 0 /.notdef put | ||
| 1002 | readonly def | ||
| 1003 | /FontBBox{-30 -955 1185 779}readonly def | ||
| 1004 | /UniqueID 5000818 def | ||
| 1005 | currentdict end | ||
| 1006 | currentfile eexec | ||
| 1007 | D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 | ||
| 1008 | 7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 | ||
| 1009 | A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 | ||
| 1010 | E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A | ||
| 1011 | 221A37D9A807DD01161779DDE7D5FC1B2109839E5B52DFBB2A7C1B5D8E7E8AA0 | ||
| 1012 | 5B10EA43D6A8ED61AF5B23D49920D8F79DAB6A59062134D84AC0100187A6CD1F | ||
| 1013 | 80F5DDD9D222ACB1C23326A7656A635C4A241CCD32CBFDF8363206B8AA36E107 | ||
| 1014 | 1477F5496111E055C7491002AFF272E46ECC46422F0380D093284870022523FB | ||
| 1015 | DA1716CC4F2E2CCAD5F173FCBE6EDDB874AD255CD5E5C0F86214393FCB5F5C20 | ||
| 1016 | 9C3C2BB5886E36FC3CCC21483C3AC193485A46E9D22BD7201894E4D45ADD9BF1 | ||
| 1017 | CC5CF6A5010B5654AC0BE0DA903DB563B13840BA3015F72E51E3BC80156388BA | ||
| 1018 | F83C7D393392BCBC227771CDCB976E933025375FFCDD9E2FD073678A57A333F9 | ||
| 1019 | 6BDA68191ED103DB904FC6A75017A9939B1F14A711BC0B140F6C4E6C217EEADC | ||
| 1020 | 2B649171318049FC272C351B1417B517204D5DBE34FA6D6B93E1E6086F880CF6 | ||
| 1021 | 401E7F67B5A91AD4822EF4FFFBB79015651EAAF84024DFD7A74045CA18515E88 | ||
| 1022 | 7EE363BCB8BF9D97ED631D5C1CD97006AB3AC94DA76099C945488544974B0FE8 | ||
| 1023 | A3F15D97A0BE56338625A0D0CFE8566B8FB3A70AE8CEC759E7B52084939014AC | ||
| 1024 | 604115957B2FB7E97BAFEE38905AA81476D225B96F0379A68BF3270503F3B605 | ||
| 1025 | A77CCFC93318E4C44A1C17F011F4BB61E95E82A0FB39A886C2CABDCD59D5A7A4 | ||
| 1026 | 02936AD8819B50869E5B3080E67ACB7DF8FAA4DE4F95E8679063A8A442696EF4 | ||
| 1027 | E0F13F9F966B536A4BF33A36A9A43B025255B682726E76504D03A6724E62BAD6 | ||
| 1028 | 63F90049D953A490976D70C6B1E9B8EB268C452EE5DE8387D12C679EE0BD9CA7 | ||
| 1029 | FD250629BC87CB357480E70C655668AD8DB83DD15E4D4FD79FE1B857D70F2B36 | ||
| 1030 | D49659715E1985E9945F4C694D004220D03FF36AA87F37F403654BEFFF0730C4 | ||
| 1031 | FF9D5D6D172B12C72B56F4EF01F647E79C2C2FF41D8D8209CB316FE7CFF71F6E | ||
| 1032 | 5200D1F92FD7928FB8E90B3B0D6C51F2757B30DB38C12874628ABF1159B244A8 | ||
| 1033 | 0957D756FE6AF818421A7D15AFBB29D24FDCB4BF305BF5C7D2AB5ECD83E3E1C0 | ||
| 1034 | 1C2AF2321C8B497AC074CBD0EC5879AC61E5F0549F39BF447A4B6A88870FAEF8 | ||
| 1035 | 3F4BD675FF5F0901E3B88DB5C6BD3F6BAAF9A842C2724D007121E63F33CE21D5 | ||
| 1036 | 37D3F50B33FBB92C371BCC73C7071D4EC40C8E0E5F | ||
| 1037 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1038 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1039 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1040 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1041 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1042 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1043 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1044 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1045 | cleartomark | ||
| 1046 | %%EndFont | ||
| 1047 | %%BeginFont: CMR7 | ||
| 1048 | %!PS-AdobeFont-1.1: CMR7 1.0 | ||
| 1049 | %%CreationDate: 1991 Aug 20 16:39:21 | ||
| 1050 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 1051 | 11 dict begin | ||
| 1052 | /FontInfo 7 dict dup begin | ||
| 1053 | /version (1.0) readonly def | ||
| 1054 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 1055 | /FullName (CMR7) readonly def | ||
| 1056 | /FamilyName (Computer Modern) readonly def | ||
| 1057 | /Weight (Medium) readonly def | ||
| 1058 | /ItalicAngle 0 def | ||
| 1059 | /isFixedPitch false def | ||
| 1060 | end readonly def | ||
| 1061 | /FontName /CMR7 def | ||
| 1062 | /PaintType 0 def | ||
| 1063 | /FontType 1 def | ||
| 1064 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 1065 | /Encoding 256 array | ||
| 1066 | 0 1 255 {1 index exch /.notdef put} for | ||
| 1067 | dup 0 /.notdef put | ||
| 1068 | readonly def | ||
| 1069 | /FontBBox{-27 -250 1122 750}readonly def | ||
| 1070 | /UniqueID 5000790 def | ||
| 1071 | currentdict end | ||
| 1072 | currentfile eexec | ||
| 1073 | D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 | ||
| 1074 | 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 | ||
| 1075 | 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F | ||
| 1076 | D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 | ||
| 1077 | 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 | ||
| 1078 | 2BDBF16FBC7512FAA308A093FE5CF5B8CABB9FFC6CC3F1E9AE32F234EB60FE7D | ||
| 1079 | E34995B1ACFF52428EA20C8ED4FD73E3935CEBD40E0EAD70C0887A451E1B1AC8 | ||
| 1080 | 47AEDE4191CCDB8B61345FD070FD30C4F375D8418DDD454729A251B3F61DAE7C | ||
| 1081 | 8882384282FDD6102AE8EEFEDE6447576AFA181F27A48216A9CAD730561469E4 | ||
| 1082 | 78B286F22328F2AE84EF183DE4119C402771A249AAC1FA5435690A28D1B47486 | ||
| 1083 | 1060C8000D3FE1BF45133CF847A24B4F8464A63CEA01EC84AA22FD005E74847E | ||
| 1084 | 01426B6890951A7DD1F50A5F3285E1F958F11FC7F00EE26FEE7C63998EA1328B | ||
| 1085 | C9841C57C80946D2C2FC81346249A664ECFB08A2CE075036CEA7359FCA1E90C0 | ||
| 1086 | F686C3BB27EEFA45D548F7BD074CE60E626A4F83C69FE93A5324133A78362F30 | ||
| 1087 | 8E8DCC80DD0C49E137CDC9AC08BAE39282E26A7A4D8C159B95F227BDA2A281AF | ||
| 1088 | A9DAEBF31F504380B20812A211CF9FEB112EC29A3FB3BD3E81809FC6293487A7 | ||
| 1089 | 455EB3B879D2B4BD46942BB1243896264722CB59146C3F65BD59B96A74B12BB2 | ||
| 1090 | 9A1354AF174932210C6E19FE584B1B14C00E746089CBB17E68845D7B3EA05105 | ||
| 1091 | EEE461E3697FCF835CBE6D46C75523478E766832751CF6D96EC338BDAD57D53B | ||
| 1092 | 52F5340FAC9FE0456AD13101824234B262AC0CABA43B62EBDA39795BAE6CFE97 | ||
| 1093 | 563A50AAE1F195888739F2676086A9811E5C9A4A7E0BF34F3E25568930ADF80F | ||
| 1094 | 0BDDAC3B634AD4BA6A59720EA4749236CF0F79ABA4716C340F98517F6F06D9AB | ||
| 1095 | 7ED8F46FC1868B5F3D3678DF71AA772CF1F7DD222C6BF19D8EF0CFB7A76FC6D1 | ||
| 1096 | 0AD323C176134907AB375F20CFCD667AB094E2C7CB2179C4283329C9E435E7A4 | ||
| 1097 | 1E042AD0BAA059B3F862236180B34D3FCED833472577BACD472A4A78141CA32C | ||
| 1098 | B3C74E1A0AE0520B950B826B0ABD81766035058ED1654D00FE541CAD1D246C0E | ||
| 1099 | DE85FCD3C0BF7A70B913487B1A527EA823C00C39DB61FD6641B140FCED8580D8 | ||
| 1100 | 046741D2494B4E7CA1F120CBB0A532BE049CABEB70A39018E8212F8178E93C98 | ||
| 1101 | B377AE2880FE39BA0EE29451857DB34964DA26ACA4CD23CE284ACE37D89571FF | ||
| 1102 | CB67DE7AE379B74B32ECACC5F3DE0566CE9EE820E96F27653C75935851CD9360 | ||
| 1103 | A83C7EE8270383CB8A80715BC2B62B1F709235A5A73D99710D7665182D461095 | ||
| 1104 | B98C8A0FEA44F0F1959055D50BABC7880E7BA1CA4CD72531A240A622663A0A1F | ||
| 1105 | DBE4FB907F97515CB1100282C9A0241F65F84EBAB1701FC105BD25F82807F4CB | ||
| 1106 | 6A5EDB5CB156A7D55F64146818245C112DB0FEE9E0AC96B4B2AEB27F89FE0560 | ||
| 1107 | 727D85FE6CFF5C457EB1EE5D7E2A09979684E2611BA57A1BC7BA4E37DC4BA761 | ||
| 1108 | 557D986F9A8B495CB7212507AA79C297B0665CB5883F2332DF5CB088A92E24BD | ||
| 1109 | 1EBADCAA515B567FAA9E15E7B8DA60C1BBEEF5A2E0D4C0C67EDAD822B5E8D81C | ||
| 1110 | 6D29928726D36EF0A9238476FE54D4990E8D75FE0109C0336DD50F9021307213 | ||
| 1111 | F69C700D2291C546007CF3A5DF3BF5ABEEB640D3AEF585055A65EB2CA7AD7F11 | ||
| 1112 | 22182523EAA8FCF029C604212529C03F179566E6B731FFE2283D6402A350EAB9 | ||
| 1113 | 3C7FFF41383A9398B33C48FB2F9A8241D65425FC5E49DC9BB97521D91E44B3C8 | ||
| 1114 | B2EB1BA8D532BBF175486D1DDB914BCB92968D342B5C1FD6FC72DA462FF68992 | ||
| 1115 | 464BF0E00D05C2AC3729E598991C6EE7354F0C400296356ABAB37A16FA504DC9 | ||
| 1116 | B6369F88BDB7061D5EEB761527E588B4A6C83169B517991789D664BB543A0E57 | ||
| 1117 | 6F2529BDC7838AFB93D53D5794E57B65A7DB00584492C046F72CE19E4D1B177D | ||
| 1118 | 1D951362B2F7CE2B720B305D45B7FC74183C1DE46073D8E20FDF8027FBFCDF40 | ||
| 1119 | 5F0950F5AAC19AC8E8D9A57A271C0BB212822798DCD068B4F05DBAC2AF7BB25F | ||
| 1120 | 5DFBFBFB5A51ED26ACB22541E1971002A5D97B5E148F8F087A3229C4 | ||
| 1121 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1122 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1123 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1124 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1125 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1126 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1127 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1128 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1129 | cleartomark | ||
| 1130 | %%EndFont | ||
| 1131 | %%BeginFont: CMTT8 | ||
| 1132 | %!PS-AdobeFont-1.1: CMTT8 1.0 | ||
| 1133 | %%CreationDate: 1991 Aug 20 16:46:05 | ||
| 1134 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 1135 | 11 dict begin | ||
| 1136 | /FontInfo 7 dict dup begin | ||
| 1137 | /version (1.0) readonly def | ||
| 1138 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 1139 | /FullName (CMTT8) readonly def | ||
| 1140 | /FamilyName (Computer Modern) readonly def | ||
| 1141 | /Weight (Medium) readonly def | ||
| 1142 | /ItalicAngle 0 def | ||
| 1143 | /isFixedPitch true def | ||
| 1144 | end readonly def | ||
| 1145 | /FontName /CMTT8 def | ||
| 1146 | /PaintType 0 def | ||
| 1147 | /FontType 1 def | ||
| 1148 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 1149 | /Encoding 256 array | ||
| 1150 | 0 1 255 {1 index exch /.notdef put} for | ||
| 1151 | dup 0 /.notdef put | ||
| 1152 | readonly def | ||
| 1153 | /FontBBox{-5 -232 545 699}readonly def | ||
| 1154 | /UniqueID 5000830 def | ||
| 1155 | currentdict end | ||
| 1156 | currentfile eexec | ||
| 1157 | D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 | ||
| 1158 | 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 | ||
| 1159 | 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F | ||
| 1160 | D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 | ||
| 1161 | 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 | ||
| 1162 | 2BDBF16FBC7512FAA308A093FE5F0187316F83DDE3E2D27FCDF6C5CE4F95B6EE | ||
| 1163 | 3317BD91B7921F3039DD35FEA387D5CFB6C6E9DC84C178F3432994FC7FAC6E5A | ||
| 1164 | ED41A1E2EBA350178FBFEB45944511731BA827167DDAC238FC69A5486B995477 | ||
| 1165 | C469E2E27493B0B711DF8E267D3D5613B450011921685147114106C9472580BD | ||
| 1166 | F531022F6DF5432B2A4EBC51A8032C7F9689B6FA942D849B29709631613DA68D | ||
| 1167 | 4DF7B6F059A19304F40A3C3580CE3B51D79D42984194D4F178801720892FB6E7 | ||
| 1168 | 61FF43C63F9256B5E9F4227B1378222BAAD4D52C77462DF01892220E11129C16 | ||
| 1169 | 6C9E45BB9F01ED7C1AD5D8B4D72BE0E12969AFEA90FEF170603CDB91CB243173 | ||
| 1170 | B19A56084D10293B80A35275F41BF78A054DDC98F4A1FFF592463D944960FB31 | ||
| 1171 | 6BE5F03960F9B1F213CBCC7FD448657FE388F10104D42B0715FC9571CC60CF23 | ||
| 1172 | C72560CBB8835A0CA208FE06676B3B48B093CB7FB2C0C53AF17EC5B372A9771B | ||
| 1173 | BFD52FFB7062B4FE0106A01A2A1A1DD4EF5C8C7623EC9324A2CB3B402FCC1FCE | ||
| 1174 | 52BFC8662F8A39D5F1B41C97E7CE34E16AC28A1E94007AEA7D4C519399F1B7A9 | ||
| 1175 | 48FA7DDB671067244F09C29F95DD60668223F45BBDA8B1C452E930A9F3F341C5 | ||
| 1176 | 351D59EA87462FFB30277D3B24E2104D4AAB873BB2B16DA5B23BEE25BE2C8128 | ||
| 1177 | C4CF2F4F438A4E520CD864F3EAFB5363753B82978F6FD664A14E5D6F3A929348 | ||
| 1178 | 5839EA752FD635619C4FABF1E1454510BD9D6B538A343BE748AE05B47F917367 | ||
| 1179 | 1BA5EDB15F1BDBE806E51B294257D7087334165419A6520462D794D670A1D6E1 | ||
| 1180 | 3BB03BF689391D056D55AD660D15A386E6D222C9572BDC4DC8A46EEC75124BB5 | ||
| 1181 | F0E8978FD6031A90E4768CCBF62A5ED8C8087FD66D2033011947634878BDC0AB | ||
| 1182 | 6501DA7E6D96E227068E993DBB0072F037CA411E429252586CA153360490EC5E | ||
| 1183 | 2AA8727E9605FB75714E22C232C05DA77FE4B12630E21C745889A8ADC706FD27 | ||
| 1184 | 831F980EAC18330D5D2E46563316C36CB25F50875F7848978142575A3D2784BD | ||
| 1185 | C9C3A029D9600CA3E9D7A26A5DDB8567F8BF48DA2B08CBE7B76EA261CD180CF3 | ||
| 1186 | 3385CDAD915A90244C5660C6F9E32E6027D730681B88FC02E6C9B401E93072DD | ||
| 1187 | 6E018048D22EE65F0A03018F444194BDEA833D8EAE56C2E5E03FBC7558684C32 | ||
| 1188 | C1353169FC072C0A217D2CD18C4FEF6F6EE2E1D687939244014B09DDD8CF6193 | ||
| 1189 | 034D71F007EC89B97005E00A81721503C87B875A6BA33B4D6B2D65AE32141AD4 | ||
| 1190 | 160293043FC5425EECEA875CE6F87E7C6F6200B9D52C0E285891C0FF88A0E361 | ||
| 1191 | E7A51574CEE3918B9CBC83B37DEE303859B4545A7F1EEA33C7A4459E6EF15953 | ||
| 1192 | A57D7DE99C7BD953B7DE84BC5C0A60A1768EFBA317849A4A8436F6364BE2F323 | ||
| 1193 | 4C99478E2B7C83BFF1AEB394C489CD87D7606181C61D15C85760761DC7F3A81F | ||
| 1194 | AB9F63366378809931F10710C8A595966590AE5A85DFE5DF86D59853546C87D9 | ||
| 1195 | 957992FF7C0D11FBA2193EAF02356A1D08F2C8A7AB2FE92001E0EE2AEC0ACD52 | ||
| 1196 | E52D961E65B79F613F0F9B51EB31F244087B484697C3D4DC28550B173BA7E4CD | ||
| 1197 | 8D0B0FBE866090BEAF95403D5D03D90AEB48688A8BDDA8AA0E8AB89DD3EB27F0 | ||
| 1198 | 99622F21C77FFAA3A8A5A67DD6F16AFF35C2B96957216B0021F2D6415A0F5730 | ||
| 1199 | D179FACB55678F5976010A20EF3C0B4EF5CADEE4C4DDE59A3DD93A87881DAD14 | ||
| 1200 | 5E9438F095C9970B2DE2AA6CC85D26471A93BF7D9ABF0253FACFAEC66AC40563 | ||
| 1201 | 24CE6C4DEF61D3855985116CCDB53A70AA7B5F941DD21A2DE52FE42AD35E08CD | ||
| 1202 | 0FDED28B65290948030C5F40DCFAC51F51E4AA828CDBC114060B7370DA18F7C9 | ||
| 1203 | 12378ED10D192F3BDD11375603EC90EE421E4781A41549555F35021C57813161 | ||
| 1204 | 145511117E96E829386BF43423099250C8695DB2B891D68B4DB7D949F481CBBA | ||
| 1205 | 1DDE08680F7FBC05F9F00FF10ABD21032FC71E7EE2EB4BD97F48842FBCB00E73 | ||
| 1206 | BA581330A21BEEF313BA3E5B8729459393B15B5FF7B63D985F6B0DDF3C90F3D0 | ||
| 1207 | 75691B2628BB9D93049A634FABC67137F727E13CA04481820112D953881ACBD7 | ||
| 1208 | 9A85175D2394FE355A4A6E485F3B1D69D8C06EE532CB2508D8F3F1E65C0369F5 | ||
| 1209 | F10B3D86E8333AA1228560C37614F8F924585323FF0AA91465B288F5BA39AB56 | ||
| 1210 | 27CB01ED906DF594DF3BDE610AE97315B6E0C0786691CA63CD16F32C883B5FB6 | ||
| 1211 | DAE4A1C028BF5D935A377C317C2AC0F738BF2F5001BB6347B1EE4E851B7D4264 | ||
| 1212 | 20EAA262FF69C8C01A4361C9CD7558F4D57E14C0F631D4576C0754191CEBAD26 | ||
| 1213 | 2598FA77F1B5F8C511953EAD4A92ECE452C5EC23065C812C7C355AA448F429D5 | ||
| 1214 | 99D4B28A65F539333EFBC3CADD3F0824F8D04368A12F309A71917FFD1CB30364 | ||
| 1215 | CF98DCC3BD50B0B30CB8E07348267B834EA740352F90312B24BBC22D30D28C0D | ||
| 1216 | 2E571EB8C6B7BD316C311D84B168CB4E95C4AB2D6A1351EDD204696C2D728E73 | ||
| 1217 | 5352F0CF2504B6A32D07F207AB5207E465239EB916A77EB60ABA8D3BB42A207C | ||
| 1218 | 468068A6E9820747D8F4DA73D8352B70F1284545A66D4A5128B96F48AD7F24E4 | ||
| 1219 | 5978B267C2E65E0EA8BCE8A8CC397F50C5E0946842F0AFAC4D058D93D5125836 | ||
| 1220 | 0FF4BCCA05CB3C4AE932E73878A04D07D431B8940466E58690DB3824BA18AB19 | ||
| 1221 | 6A4154392C85B170BFB08A4E2B20A22971BB62BB54BC5476B70FB2A36D319917 | ||
| 1222 | 49A7138FCBD505B64FE319DB6B160B1C55450F7C3EB1AE1C1E1596B9FB4601B0 | ||
| 1223 | 8293C6D340C9A301F0B3A16BEA8EE0B593E1442E802AAC63BB90B7069D758E9D | ||
| 1224 | 183E3B753D8872EF6F584673E41838C891DA7B2931FCB41C2AABA22CDEC44AA5 | ||
| 1225 | 23646E86239A2A638EC8E0D7AF8A060F6932C10C7C933FE4C3B8FD2FE068CF15 | ||
| 1226 | B0A0D71564C70C420B3443D8038A2D42EAD34FA04B405970223376E59B8A6DEA | ||
| 1227 | 314520BFA5ED90353E0A8DF082478ABAD2AB826BF12EEF1918C1BADC6AA043E0 | ||
| 1228 | 90A8DA3A412917629A1CBBF535C2E0DC90929DE932CC286CEE95228B73031E77 | ||
| 1229 | 3B0B87E4BA3E539FC92A2730B03E6DF5F947C09B9E99400D5E081BA931FE79E2 | ||
| 1230 | 306FE667D7C94545C0311F3D9939F315A586BDF6AE2FEDE5F32861DF838567F7 | ||
| 1231 | 530FF07F5A3210373C39C6A63B03CDF708EAF7229ACF271D0C78E02550B0A51F | ||
| 1232 | 68B9235465D181CAA18607B10F23597AF69510A74EEA27ACE4EB74EDFDE2DEF1 | ||
| 1233 | 93A0DC2E47252E4CEA86790164EF264EFF54519DA5AD87A12177B15776140E86 | ||
| 1234 | D5CE9F213FF3E3ADFD8CD77FAEFEDB903761EC61BBFB2D4E04DBCE5E2A25EB81 | ||
| 1235 | 973F8158177C0DCA0426E27E048FF3726702B4ED43053B1ABBFF23DF91720A8F | ||
| 1236 | 2233266ACB4850A51F94644F90BFBB9573DCA298C47E77D111489D8B8DA44DAF | ||
| 1237 | 4B943A5373AC74CD66A0572A173F85B959A511D0C3EC4A2C339A0157255C8DF8 | ||
| 1238 | 7F6E8C1DCB677CC115006ABBF37E4DF57E67F1B6E2D061995F31DADF8618E596 | ||
| 1239 | FBE25F8E0E89EBDD6456E4CC212F0BBE2DEB6E67F64B599D810680DCB4F1AB73 | ||
| 1240 | 87016A9ACBCBE0F369DC9E5FFB1E10D6972BCCB70B708DFF31D680AC7440658A | ||
| 1241 | 23A460F7AE49361DB66264638C63DFAAE5FD596B78D5B67366694FBD5E0F5D46 | ||
| 1242 | 23BE41CFBF87BB1516F1292F4C0CD729C65BA9CA1CDDC19E3B61B015024C21AF | ||
| 1243 | 751DE2EBC67F4C2C3141B0356D0143C7A980AF68FF61C30DB9CAA9D037D880A4 | ||
| 1244 | 1B456B6811B6FE5E452DBE16ABC3FECD679DFAB214951C5E77581BD007BCDD6B | ||
| 1245 | 1E266FED7A65200B8AA2950E73A061775385A6E519A53BCEA85193EAB87D286F | ||
| 1246 | 751457CBA382189086E34FE5714F4899E38ECBD456F243D235B9E8472DD8F40D | ||
| 1247 | 14D5B68BEDBA0E21DF657524EDAC18DE0B09CF7876E0408F69851B98717754A6 | ||
| 1248 | 4B2C1957EE4370920647A67C66B95DE345D6D5718C05132A86BC3256425493C4 | ||
| 1249 | C83E23014A7988E89F223B2A123041BFDB762BE64061DF119440A1256FC72AD4 | ||
| 1250 | 2F4F3F979042288CE008E1BDF144FDCCD0BB26F467BBA9E8B2ACE438E4EB7F2D | ||
| 1251 | 98B82CA0E129CBE7E21453AD0EE151C4D9D09AE6B32E29CF82F64E2DE3C76827 | ||
| 1252 | 099B86E2B64F1B4A2705A259301B221C6C5A1ADE04BE8A1F8022A0D3C1E4F601 | ||
| 1253 | 37AFB8D973ADE45BA343DEC97919298B12DAF45D41A36C886A1573071A30A0F8 | ||
| 1254 | 0FACAA8F25D8B3035EFC3C1C6A2BEF12A387368C790FC900FC9F74A61C7D4C3D | ||
| 1255 | 23400F710573A56685325CA26B23461BF8D1123E16A9A2C107B9EE8DCD39E138 | ||
| 1256 | 0E10E36A6467BD5046B6BC967D981B598BFBE2AD90FDCBA7015609344924544A | ||
| 1257 | 11E86E02FC9727B2770B732E60C21A7C60EAA31C14DF51BAF8A525041D15D1AB | ||
| 1258 | 685B03E7B74A1B97F2D77448F02B3BE93316C49C07B4EE31E7195043D05D7C10 | ||
| 1259 | 88C1847E54896977A09E3A1BAD475A3F812EC64FC99A1E86EB3CFC01391E5C7D | ||
| 1260 | 8696BA362A7DA2172FB0EF99185C01741F97D66FF795B10E84385B6C9E996853 | ||
| 1261 | 5C72B3A226E18AB4EE7FAC1D4C5141C716BCA627E3305245A04D7EE11A7AC97F | ||
| 1262 | 59862F5577EAC9D9976FA5F6C3514D296454AFFAB78EB568DB11DDCB1AC4BCDC | ||
| 1263 | 0CB0CE0A02AE97380F9978FF55B10C9882279AD6314FBDC587FD9A7E6E443773 | ||
| 1264 | 72EB7C52A118F79EB4CE3FDB2F666D43227B3059999CA25DC06ACD657F4768D8 | ||
| 1265 | C82CE400837C08A2935F430987348A27CAD51AC8639CDBDC4C911ECE62CFE94F | ||
| 1266 | 2A1F28F10EC80A3946566FB09F6B8731EEC4571522ABB2A90792339331F3FB1E | ||
| 1267 | EF0BB328C57D30E5B1849B6937698E49ACA84FFF48F716EC81025091EEE4CD06 | ||
| 1268 | A3404843DF013CCDFE867C7CF2A29C1DFE96DFDC47B65E916070E6D019C0A62E | ||
| 1269 | 3A1D5EA282B3702B1B20729F4791D90E6968342C440622EB34D774BEA2339FBE | ||
| 1270 | F52C4655ADA9515B0A79A2C4E628E6539E57D2BEE0D7084F74BFC2B3C4B36F55 | ||
| 1271 | 7B9003ECFDAA58BC265C1E8ECDC78CD47038ACF5F0C37E7A076A8B16F9F712BF | ||
| 1272 | E16240917C281C41EA3CE87CE4C1C976711D83374974D37A00FFA7B280D76FDF | ||
| 1273 | 79D1BF415CE8686414CAEE79D2FDE623D40A789A98DC2A6B88255A67717EBE54 | ||
| 1274 | 8E0FABA8082EDC2AEAA66F509CDCB5E73BDA6E20CA603B83446213A967B77C99 | ||
| 1275 | 2D6A58FBBE0159CBF46E368A28956E45816173719983CD1B775C940CDC769E71 | ||
| 1276 | 3331680DEAC9FCE0C9FC2B1CFCBC6C6638E02F93B4F51219A6FD277024F8A61F | ||
| 1277 | 1641A540CCDAF1CC25EF0429A0C9D403F6A31852249D3ACCCF14E4110A58399F | ||
| 1278 | 12FF0DCB0B4FA1AAE66F52C9A6C6718FEFBA51292F2D48A762197034B06FE1C6 | ||
| 1279 | B784B4DC6AD9578BE38A33896B6C528208C33BB5482E1D2DE4217743A4DE46E4 | ||
| 1280 | 1C2F02BC25B4BD8F2037D362E9DC6F7878B77AB6D3DEDA9C7E1EDCFF9257C7EA | ||
| 1281 | B42065CC8BC029FA1AE9570B17811DFCFA0E23A12B9C7A42444A02A8A2CFF5C4 | ||
| 1282 | 5013A984668C3BAA0B4186182054E8CE7EEB9B09DFE7A4F081BF16A57D26169B | ||
| 1283 | EFA22E7BA38AAE8D01B1A894904AAE56B79DC018E63030B58849FFF875A675D8 | ||
| 1284 | A52F9606650450A452EC0C0D3B494506903DB65BF4BFC8BF6C8B79033737BD1C | ||
| 1285 | 1915A4451B10CA2C5195458B4E6D193CB1AC7386730AEECD1184A69B07B418FF | ||
| 1286 | B0E5620F8D2ADFF93CEA7F5DD4E71FC497FA6F64AB31D16BC00EC5F8A01FE192 | ||
| 1287 | 4E7EF5104EEB6D098D617268E79A4A2B9F4869EC952B4D6887FE9BDB61D26397 | ||
| 1288 | 69AB66F43996DFE771736F081719B6987C5DFA86B91F07CF1FADEA6390AA9B4D | ||
| 1289 | 53093D427DA39F08096161E1742740639C332FCC40DF91A295A671782CF8C713 | ||
| 1290 | 0FA36B95A55406BD18FDCBE9D1AF9492CC5C3DB7DCCDACC1DA5D40F2CC2C365E | ||
| 1291 | F99EDC21B3EDC564D282029AAF62A49B6BA5C6937DD1BB15E68BFA698549EDFF | ||
| 1292 | BF0D4FB2645885BEC5B79E8475C43E5DABA6B60E72E31174054724F711FF3884 | ||
| 1293 | 36B27B2DB7677F04A704E7427B00FBF8880C0482E98893E23AE0ABB7CE35F2B0 | ||
| 1294 | 3662B322718BFFE777F395D551E13CDB3179756FD85B1F132E62C44A11340E7D | ||
| 1295 | B8B274D22D0493F70E8D587356B84D4238439F2E816D589B04831E8F8CF691B5 | ||
| 1296 | 98DF446720310D929B1C8E29C51F2FD1C70AB8F8FF4AF21A05D3A520D44554DF | ||
| 1297 | 736DFD865EF1B73A0C06BC9E2ED21C9D1444D3F41CADC2A666045ABE51203C6E | ||
| 1298 | BAE3CC3C3F6A482868951970747C45270070D2FF52C5C9B1953F845AEA12C02A | ||
| 1299 | DB5AE7B1E9ECEEC8B533182B46B8ABA08D587806E88B87C1272877C3DDC6B14A | ||
| 1300 | 2CDD31A1F0B8555F59C5CF6A73244B70F5022683A789F7E0BAE3457337B709AB | ||
| 1301 | CA88BE9ECA5D0389275946CEE8BCA349889E64D8240FF5AF76EE020223AE5E25 | ||
| 1302 | 59A007E200CE8576C2A5646F0B1F35E4004D132A123CBCAB8522F2E0CDDF17F3 | ||
| 1303 | 4BAF1FCC0BA38648EEEBAA38C1A783033951C59F5D52F3262DFE4C6E9E6D8E16 | ||
| 1304 | F23015385A1C4E06ED360BD33579A6B1D1B119665B24294A69B4ACD82B5C801B | ||
| 1305 | 5162AFDA181F01C80AE0148867FC419C7D536D3ADB336780838F34CAF311279A | ||
| 1306 | E4FFBF6809892F0BB1D090C678C1254A9C10DDF87B3DAC22305907C982AEDA69 | ||
| 1307 | 32366E4F2AC672D65A2F71A842C3D6694640DD821BD4D9C4E96E49799322EDC5 | ||
| 1308 | 4FFCC0D50EE4FFF6F09C935542FFFB8D8B7EA6B647BAAF44BCABA88520DE7AAC | ||
| 1309 | 2A4001008C5CD2A973129B418D800F9B8BC24675C800713195C4C2DD36DF73CF | ||
| 1310 | 35D69E71B10D31C8DCD84A0E2FD96EE6CC79F08F4DE10E04B7F2E6145C2B7409 | ||
| 1311 | D52C6E3089D6DE31BA5062113DE1063F954A03B80540EF62D4F9F41A957A90A5 | ||
| 1312 | E2E64323671EAFF01D2A5B93928F6346C41B99B866B08AB6420396EDC8320DB1 | ||
| 1313 | ADA75B667AF93D1CCFA9EEFC5BC0C889ABEF879138A86EBB2D5620E8621B924C | ||
| 1314 | F60AC2456F0FE9E6762330CE743DA37D2CD9EC859A61521D6BF6D3B3FBABE3C4 | ||
| 1315 | E7EFBAB21F0694697B87FFCF6089E585B8CD57F4D7C22A5E1A2AAEEFA4FD8623 | ||
| 1316 | 333F90E77DCA57BFF970D593B3EDCD64B40EE3C27326661B4413BEB7714F152A | ||
| 1317 | 935427525E08E248193142B91CEEDB3B0209C70ED9FFF57971F524026EB4A194 | ||
| 1318 | 5622DCBA91A6BC854B3B3272769AFCC4D2B64B7D71619FC1F39F435835C0AA10 | ||
| 1319 | 0FF412ED58C0CCC0BB1888A883C56864912E693441902E66DB83C56956C2E7BC | ||
| 1320 | F98621BBAD7F5117FEE6CF287A5BEEFE3F5959108A88B76365A5ED6039B6A798 | ||
| 1321 | 408FCDE095A872463F33D417EDE584D34B721118D3C29D22E6AFA7BE5D141139 | ||
| 1322 | 46F3E6BBC0AF1CAB844822AF1AB941681481F4E763AE6A1F7CCE0CBFE337364B | ||
| 1323 | 3174464E6C21DAD8F3BCFA5CFCDD2F5FBE00394C6BEB1157580707CCE8A81DD0 | ||
| 1324 | 9E3D37025413C47F77BFF4B275EB40FF05F3EAAF70AF8D4B9420AE2E1DD66A46 | ||
| 1325 | A44BA9C7E6991DAA7CFFB406AD98CBB1177775A1D6629FCBB6F60C3942199455 | ||
| 1326 | 70B3B93579338C424AD1642B9109502B232B42E50A58A7055068E43F56B9BB78 | ||
| 1327 | 5D387FEEE382A33A97A3A7C29DA4DAD8CE9F503FBB85893E7FCF18238A83525D | ||
| 1328 | 1958B38A24817BDC440EDEB913BC3C61EB2022A71E7F1D8D683A36FC1D84C570 | ||
| 1329 | 2BCFC3A3218C9C6FA9657980BFD482DE8DC4867959CA93B46F2887B1329DB496 | ||
| 1330 | F69C4A43641ED3842145BB868A430E03EAFBE786B98355527882CCC8B4EF734E | ||
| 1331 | BD0DAAD6CAA8B36A4405E5CA9FDB69FAB8C5D85480D81A83EF6038AA3FA8D687 | ||
| 1332 | 017741F80B94CE67F86A1C4DE3E3C197320568238C7A7A1056520646A674C3B0 | ||
| 1333 | BBA0CAF9413FC95E938F46D8588A94FF77079DB1698082601DE0D71003C74392 | ||
| 1334 | 68D48A8BDAEECDCD2138BAA3CC43F83532F27F4B20AFD658109BC2A26D8B6C07 | ||
| 1335 | 5DF873C2114531AE6E98753DFED7214D634A453239990329F08B6F22C32D097F | ||
| 1336 | 85FB45CBCC189ED8FFA918DF0EF2B81CE018B93374A5BEE3653336C68AFC21C5 | ||
| 1337 | 77BF87F75199D869B68DC72A22274D883D836974E0AE8A74FA8BA55EBB024688 | ||
| 1338 | 3EFFFE119F54B75E5BBBBB66B46B7E77227E680870DE9EA2BC4B7867AD7F3512 | ||
| 1339 | AA3DC6E37E89E420CF097F26C7CD717869DD8CA401DDE7375FFF18A35CADDBEF | ||
| 1340 | DD027E352DD8B99893C37F1F84C5920EF3B3B2CC254EC794FCE1C8B154866B5E | ||
| 1341 | E3ECA7870521BA860031931B924E082AF12DED9962E5E9E59C1FC08DF1258462 | ||
| 1342 | 6A5BD8BF23648D1131C67BAD67F17E5276E82EF31C44A5A9A5CD664EE85F9CA3 | ||
| 1343 | FFEB95982ED1FCC1EE9DBC11368EFFF6C53AE3AC805D78D3EE4BED7DBE490920 | ||
| 1344 | C5542128E68F9A6CF46D1693345C9822C77303397822C3B3F7CF5B7C39A9B606 | ||
| 1345 | C5C57B4723A3B9F15C4B4B1BBB4D7267EEE3098285772B1D4CF1E15277EAFA84 | ||
| 1346 | 3B54EDC3753F347AD7EFD7BD292539FAD422EA17240A8377D894475E6ED70094 | ||
| 1347 | 7648F9850E1F8F2BD5F7C3AB23BF64C692762DB1727E10CE0E6AE83295B91349 | ||
| 1348 | 28617E2F90124BD97F19951C55E895767AC141C421380AE9C311D41E7CFF7DEC | ||
| 1349 | 880263507BBF160AFC57F931995CA3CD773DFA34654899BF1FB5FACB5D39E67B | ||
| 1350 | FCF44618A2F553ABB7707FCA8C118001D9A541D0FBAE34DD4978FD40362E03EA | ||
| 1351 | F9C9AC0A6B23E3911F8E869E06271640C2E9A0F6F810E1E8E6F35099EB5D238E | ||
| 1352 | 78CF6CDD08B6CA7895BEAA8A3F42546B7BBD19E99518E94D83CBC5AD2028487E | ||
| 1353 | FC3E8037D954767EA744A08388A946BF6B48399BAC6552DD0D6D81C4639D4E4D | ||
| 1354 | FB3AF3F09AEFE96C24D5A73B839AA47AF5C2B6A1C2ADA3B5299B59C4D39FC3E4 | ||
| 1355 | F537A1D9739BE21DDA12247DD50EC83A24B335BFBE60A307583DE9EDC6A4B41E | ||
| 1356 | F95306F407890B11FF762DB110C81F1C40558E23FB49ABB698CD00AFE090F590 | ||
| 1357 | BD55F31056D5499B2C5D8B838421291EF18646A5791164ED41061DB6B44744C1 | ||
| 1358 | BCDFEE00A092033DEDB0CCFEFDCC484A08C7AE206821883BF5EC194FDD158C18 | ||
| 1359 | EC56D2891C5517D274303F10AACA8524C43E88108FB59626DAC8252A30AA3A63 | ||
| 1360 | CCDAF5D7F2BD922EDBE80B219706E22E6F4EA6C6ED2BDA5FDBA42C3C7E615F7E | ||
| 1361 | 85A9CE4784CE32BCC4FF9F14EC3233E7728DEDFE0A65F36B43CD100DFC0D9257 | ||
| 1362 | F027C0F1D42B79ADCC90FDD53C50B092CCB89BC737A0212AA7C7B2F1E234D97B | ||
| 1363 | 7CD5651919685521D8799FBC97CDB2E6718E4840A88CC6BA5CCC9F8BB4DC2B7F | ||
| 1364 | 13EF9948947FF035E9DD4CC81994F22CC588A08E3DB3BF1808B1B8ACD5DEC501 | ||
| 1365 | DFEBF7B9F0C1E9098710F18BB28324A09730F819D2A1346962011E3325A06EC5 | ||
| 1366 | 0CDE3B13A2B2AFC1E88AD6AE109841216AE9C0E34BD4180D31D500C22A2A4D56 | ||
| 1367 | 15F720C054CBC6FC0CCB252010B9D1B30995A9DCB50F3F15FC4A2ED963279754 | ||
| 1368 | A51603672403C6143D57E5FC97CB977C9B561F50F73F2A17365A12FB5606D75C | ||
| 1369 | F85679CE7A4CA183915EEB79008942DDEDF0CB51FD786C7F4EF8AD0DBE291D8B | ||
| 1370 | 235160320998FF12783922D32C29244763F9B7B5894BED6B5C7793AE22AC11B5 | ||
| 1371 | 1E5D1F3BCC402237B9506589E6B8DB0638E730958A8F9517D051FA07D98882E0 | ||
| 1372 | 4E4C3AA9E031515DE0F413B9ACF75685ED1D8CDFE44B21FF5ADB57FE6D109E63 | ||
| 1373 | F201F8FF8734B60FDA2275BEDC077308652AF9EE34674455D9C5FBEC15363D30 | ||
| 1374 | 973F411544C35F6581D7F135BB3A2B2DE6B286DCBC29AD9B1F28A9B25934DC4C | ||
| 1375 | 2DB7BBC6D6B4D1B4459370E29A15A7728061DE3070205FB5D6524521995DC28F | ||
| 1376 | AA9514F37FA6D55DA2482E56C995E5063755123D151959DEC4E406C18ED4B052 | ||
| 1377 | A8992EF41208C4F6AC5539380EFD70240CB1F6A46B451690B32A91757EBEF5DB | ||
| 1378 | 4A94DCC49AD7EF038E87BB6F3DAC2B4D2707BEE805BDDBE96D0249C55BD4C140 | ||
| 1379 | 77173BADFEF9F85BB4D0E2194BC65483EE34CAAC79530023369275768BB8846E | ||
| 1380 | CDD21414F0FCA20913EDEF6160623E28B6CB22EBD429778E7AA44D20EE944DF0 | ||
| 1381 | D0047258E71110ED3A398DF018009C92D3B694337CB5FA99071B9B1DA40CF5DD | ||
| 1382 | DD478551634ED561834104A01B7F6E49529237262080A001D121DACA8B5FE018 | ||
| 1383 | B8C3565E1292A66B341CB33B1B30BC9A8E6B9682B0598B4AAEB34F080D58E008 | ||
| 1384 | 242D14D34AC61F925D0208EB26E47985FC45B1B870AD1AA618DBC877A4947F97 | ||
| 1385 | 0BC57C1A9A8816072B36222FB66F29B54BAE35BDE6809ED17CB6440DD4FA6F70 | ||
| 1386 | 7679B10C2BED86B468DB104141A1837665E512DC97F592550E85AF86BFFF3F99 | ||
| 1387 | AC12ACB75B2ED3336B1D17EEADDB4ABE03D0F1658A57EA4861F041346EE2CA40 | ||
| 1388 | A729730123EC61186295ABA4134F1DF5722DF186546D2906ECBC3430E7E3BD03 | ||
| 1389 | CA0D6159091024728783D68001DE7187171E28DB5907F084A94D2462E703EDE9 | ||
| 1390 | 590583BBA61BEA4B1161BD4C41FE39BFC93B0FBCC5EC9FF4AFB5939F0CEEE032 | ||
| 1391 | FE5AEE66D56547CF94D88C2EA7BE5C78D4BF227A02AA229FEED9BC5DB1340B02 | ||
| 1392 | 1B9E8FB9729564C3EFAF35411B7B28941960E5DD45C9DB122AE3DE1076E5AA31 | ||
| 1393 | F7C6DEA00FC2E4E72059547CD89389E8C7C980829C896FBFC2DDF77EB3206BC3 | ||
| 1394 | F1E21347942EA591DC3FB59BC8E2BBC4C3C657305F30A2D18DF93CFC0F0F0216 | ||
| 1395 | 4F19A938BCF2A4BB8FD1F1B965F22C9729E94D040585936C020B24289066E742 | ||
| 1396 | D1DD955A35056402B40B3EEAB83A29F47EF3B229EB5EC517177862FC86EF08C8 | ||
| 1397 | BC4D9FD57A0D8FECE71A4439DB8954D836071130964105DA82607FBF2C9A1810 | ||
| 1398 | 3BB2D7EBA820809E677FC5952AADECADE3AF4AA90BC15F40BC86F071875E0C2B | ||
| 1399 | 0BE47794B817AE5FEADE9E4092425312A71087A7CAFD886CD39069BE426671B7 | ||
| 1400 | CE8E4FC97F7C16A702C6F8FB677483D7299BB4BB06EFC04B7A32DC93075B79F1 | ||
| 1401 | BDF4470621FF49D372AB3C5213E5A070E27BFAF7169FB18582BB796671D539D7 | ||
| 1402 | CA7F0E072B5A394FC2B6587187E1349F69848D5DCF048E71531B13F73895CD7B | ||
| 1403 | 7D81B338AD6D445C27EB4C4D76C0B5E64A07D03BD7D8CD3A3DB491C2794CB031 | ||
| 1404 | E56618C5E0D65F562ED857B81FB384228FF762CD2718C723B7B261750E25D0D0 | ||
| 1405 | D26060723382911F867F46AE73AD67C943C44196997F574FB36D1FBA79E61A32 | ||
| 1406 | D53145364DAB0E0C6922CB21CC3B03418747546E48397A7DBCE9AD89193709A6 | ||
| 1407 | B85AC7F6167D7DF1A6B72D876C4AFF990CFB68B83B0C4C494C7F8CBC60B1E7A6 | ||
| 1408 | 7B3695A2CC0FA011FADD2527FF4D47726782C19CDBBE2D55BADAE4350B053B8A | ||
| 1409 | 1EF6B385ED4A0A00E1D0DE7E4F74BDE3497F13D80A6C30E833DC6FCB3E597454 | ||
| 1410 | 68EFAE3D397D4C8817EB082DCE98A0F4BBE0F39C79F22021C84270AACE7E2E12 | ||
| 1411 | 617F4FD655B9F5BBA5D4F8AC935F6E2F5007DEC58A1929188A9D5FE5F4C4AB03 | ||
| 1412 | 662ECD86676D7CCB50C0546426C8B92864019A2DBCD4247BFB904D8559F2A9D2 | ||
| 1413 | 0993D260CF293B40550AC6DB3A93EEEFDDF7D8EF947E1B487104E0D0E4365BC3 | ||
| 1414 | 62FCE7CCF52930C429532AA2E3FE62AAE9425A97EFC23EFAF6DA75C98CDDFB18 | ||
| 1415 | 175006EFFDC2A6ADC9B8A8B1D343FCA0155D476E5AA2362F404B00F493D97DCB | ||
| 1416 | 3AB5CC9ED868D00939AA1B55E0824C09A1B7D8B38B98ABD0966E73B5019504EE | ||
| 1417 | 7C3A6EB0F094A3760C96658CACDAC422442B04957FE7A61544A5F99C6F7BC695 | ||
| 1418 | 4658AC5403D3395CEDAE6ABADCE9F4EC6311FD92B340952DCC23AA72B514E163 | ||
| 1419 | 2E87B7F5588F4EC9DC915BC3E6BD8994BD380F0ED79C4E47DC0DD89828D65709 | ||
| 1420 | 29F085518387CF2EAC62D2505DF0CB47D307E1DE4F0A147979C6D5B93327B7DA | ||
| 1421 | 4BA34DD209946E8022C11A4E0767FD809A2F628C73B0A79201C40281BE044CDD | ||
| 1422 | 5F9130EDAD2CB86B1A324B824C8A1A60D34FD32558089C4FC8E70AAF7AAEAD06 | ||
| 1423 | 48C7F711B33C7A421C1B4C0FDA2392ACF4C850315283E86B0DCCE689AC9AD3B5 | ||
| 1424 | 91E91329B5CC58DC2CB4466D669E956488262A12DEAD838577743D7867030F25 | ||
| 1425 | BD5B2B0A04C9DDB6C904E40AAA82B54542321711ED1D80348797F35A093D3D77 | ||
| 1426 | 3560B459F177D388F4855C82C277179834A94D5B9F4C974DFDF3929A1BA0B301 | ||
| 1427 | CB3558D6BA4BE0B1EFFDC2101352FDAEEAC17D60BBDADE15FC093161B872F98D | ||
| 1428 | 71BCE512AE88BF012B3F96E02EED08A7CE8802D409A07C27F1F3AB40589CDEAC | ||
| 1429 | 99642D6C6133BFD2F6B1B86A80CBA0CC62347644D25BA14C9E24A53DA2DCCD1E | ||
| 1430 | 8B0EABC4B0500D18AAAF3D634D5D1E3D23775FC02C91B1D5C600986E72185A65 | ||
| 1431 | F6C926A5E48E4EDBB4862D9CEA4F491C0FE2DE07B9055975A6FAF60B692D5310 | ||
| 1432 | B6EFE781BF90EED228709404DAF22172D7CA8B050EC477B6ABDE89E6A53CA72C | ||
| 1433 | 5B6FE5A099DC209AF9DE1318FC114ED28E871B705DA184114CDEC65EF79D489E | ||
| 1434 | 347718519EBEB40CE19D3CAA1288413FFF08D1D6B42A8B24E5B00E259BF2EF56 | ||
| 1435 | 600EC9C721981559BD0A443F1EDB12DD99401AC2C5F84593FDBBB1C1DD654A84 | ||
| 1436 | 562D8ECED1A1E456D56D47D60DE039639ADD3FB1A342F4C3A5071ACC35CBC60E | ||
| 1437 | F6F10ED429606609B68BD3B3D19F02F652B2DA1EB2884C4246BFC49108D3B95B | ||
| 1438 | 62102EE49D5FB31929C0DF59F98F5F36F07C5C7E9D0244991D2A1BF8ADBF158D | ||
| 1439 | 9D21B928B484102F7882D8A0DD1B66B9C0DF4C95A6ACDDB70619FE403AF8AB12 | ||
| 1440 | 56334E17E1E4CDA7E4E006CD042D9FC9F83694B83D45C9C34CC0B945E13ECBBB | ||
| 1441 | 1C74BD8E12558E49A5875A64012B7B5F9C2EB2D50B51C21B9645BE62CF32FA34 | ||
| 1442 | 72E85AC778705A888355E9DF59DE3CA815264513E20B9F211D5CFF80C39A3DBB | ||
| 1443 | D4602AA4C81461514E74AEBE92E88B8DF861465ADB524AEC40C630CD7DCE9A54 | ||
| 1444 | 22FF67D94F13612679717BD4012C52A614BFC5E7D6D067A478BD19B6B25BA513 | ||
| 1445 | 2589E8B402A4DF511A3239B1E657FD93B3918F05D6AEDE1A27B640F4CF54E698 | ||
| 1446 | 820368D069F5376EB9E9486288FEF0F64683096850A6305B648A527E10BAEB5C | ||
| 1447 | D1660D266731950CC130D634AED2CC2031CF18A9E29E1D1AE56F6A449EC3C4C5 | ||
| 1448 | 54EB55F42637D974407202438467C45808958670D5A597883591F81F69B9AAE7 | ||
| 1449 | F95ABD2C94F0F233ECFDEB7CB4C876E2B0279F07786686E1D55652011495C4FF | ||
| 1450 | 5C09DD11E6AC3419E53E778FC951592E6871964CF182963CD3E2E2ED54B0387D | ||
| 1451 | A65CBF4C3786B9FFB4FC9BE817BA5ADF7C56904E49D76C050F739D8269A0F367 | ||
| 1452 | C07D29ECE96EE7EC9409A5F815F8BB27CD8ABA52DD41D8406271C2BA96F9AD78 | ||
| 1453 | 039042C71ECC942D7898AF8DFEECEF2B7D93230FF418B589EABE2CA606B24263 | ||
| 1454 | AF595EA9A092FA271102B6B4A5C2A67E5B06CE6691D36B49A07F1616C79DC6D6 | ||
| 1455 | E86D6734E7C3C50F5D879606627A8F22D92661567C0EF73A1A67657C09493699 | ||
| 1456 | 49C7A748B0DE88E6C99528AC4D6BAC414EB025B58CBE163B38308BAC4E08B9C2 | ||
| 1457 | BE464858A6F6450954DA2E5782B78BCC63A28795E07D2C60C10806E21B90B2CD | ||
| 1458 | CFB625AA73BF95A30AB31EE4172EE9976B307C002BE02BF9955F0193507E5071 | ||
| 1459 | 316AD5A467DEAE1A1AEF879C7DAC1B5205EC133DDEB5DD6A9E41D9BA6FE56C88 | ||
| 1460 | CC865D56E2F305979AEB7FCDA4A3C98EA941B09A0AABF4AE5EADC62F1B0B92FF | ||
| 1461 | 0D856E7EB38F355A30B38F39872813261E71A3D1338A8A5BBCE26B874993AA09 | ||
| 1462 | DEB4FF1D4C3F43FCB1972F703BB7140C348A64FB02B5E29A07CDE55883E4F2C5 | ||
| 1463 | 702D5D9FD05EACBB3411584715ADAFC54DC38155A17FE2C4D471EBEF717482D2 | ||
| 1464 | 10DF613440926BE3DCC427CB106727B12B04464E3A50A49575321F84F64B708E | ||
| 1465 | 86FCFA5921A52B2D459240AD0DB45300715069CFA36E6FB4BA47CCE6856E8B93 | ||
| 1466 | D6A2A43BCFD748872304AC3BE3D905A54A47D303CC1A087B03A33C0763010F56 | ||
| 1467 | AB46520CEDF84F146EE5FB86BE086A472D5C0684FE9A1A633DCFACB6E79CD0C3 | ||
| 1468 | 0B1A3B29611306F024F34AFAEBBAD8C18631A68C49FAD20E9DFEE55D14EC95E5 | ||
| 1469 | B5B4A5089A2ED0EF848F88B421857631FA651DD99D87706F4F0FF196ABAC6BC8 | ||
| 1470 | 8F7CF1268BE748CAD300D6298BD43283C487D0D6E340E5ADA956498D28AB457B | ||
| 1471 | 46F2DF314922B58CBFDA49200F47676319039A68899BE5D2C78EA7A507640402 | ||
| 1472 | 418C8A6F8ABD38723F19E856774316EE90E92C3AF1677D083398D640DD20AE37 | ||
| 1473 | C88DF64010339DB844B5BD2A61B298BBE52B0B2251F16668F8E94D6A95DB778F | ||
| 1474 | 9B4BF7654EA0CA2A418893E8CA6B6BBEE0BBB1347D3F3B56577C5AB1E76AB97A | ||
| 1475 | E48BC675922974A24E0A75122F5ED8CB912B883A949E9535D41AB4426AEAFAA7 | ||
| 1476 | 4CDB413079D7D5C72D9433B8DF1C046E1157849FF78D2C1FD45BC4B4E2927154 | ||
| 1477 | D168E4E33323D2703300F7991165B48F1F95B419B0DC01764F0BE63D861E0E77 | ||
| 1478 | D339CE777BD531C527DDF660AE1AB5E7DD90C430F66E8584BF40D5DF54AF911B | ||
| 1479 | B39EAFB983AA0D038D227B66021DD587EB51FE1DB18858BC362C438F51774198 | ||
| 1480 | 10F1EE25B8896097AC44B0E56AB1B341EC95AB570BE4700DCFD82DEA4664BCBA | ||
| 1481 | 46E0A9E7C7C99C397E97EA27A5AAE8F6260158235A148C849D9992563F401019 | ||
| 1482 | 6460B3526AED81B45B9932700C0D1270689EFB94A5E47A6AA094D9F7F2FC581B | ||
| 1483 | D164CBCBC08CE9A04DB525224D2731265E6E54E278D2BA3E91C3AE6DE2BECC5C | ||
| 1484 | 8FBF58627D29CC1662704DC08735F36038E54D783CED5E60DC2CC7D731CCE092 | ||
| 1485 | DED3F30E3B363E588E714F8A3FD537EB4C95B00FED97F9265114181ECFB39A00 | ||
| 1486 | 8E060643C6D238C0F8806D9C8810A545620F7AFB5CF3B504CAA7EC13B13BA1EB | ||
| 1487 | 04F754834D150B942FEC94DD8A5A6E3AC6ED86E1681BA52E9D910D68E31C0FE9 | ||
| 1488 | 6E28DBC93BB5A6111E524D04DDC2B49B8DB82883028CEE5EA40C65CC5ED0D886 | ||
| 1489 | 1AFB444D05B58E67408321EBE3D4D17905459D71712F81C6BD43F46D11EF6AF9 | ||
| 1490 | 5046036ECA41AC72338AEFB1B6F0EF3CBCF089655C12F564451C605B2DBC0E08 | ||
| 1491 | F3235BB3DEC9322BD75A9928A53DA829647DDB8F2795D9CCD76E764EAA2202F6 | ||
| 1492 | 01D1C65FF46D5C8B1044B6860D22BE8B98B56B56F3B54EE8A9C2169DD2DDC73F | ||
| 1493 | 94EF440A000DCE60581E409C49165D676E6A32CF9D1B23299991493DBA38614F | ||
| 1494 | 76B6A5703FC9C27ED286B5897DD5539FFA1979915D1A768A6D0C40EEA679C048 | ||
| 1495 | D9D870879EE9C46E1575E815E3842D1F1150ECED41F60A30BCC20D53E8629799 | ||
| 1496 | 04B60E21FEA41F1D3084E7A26FE0ABC0555C5AD4A92F2B3F691D60D0424BC7B6 | ||
| 1497 | 13CF40D7C615FB767A9DA0AC4582AE0C1B67D62E20F3C698D66D7BAC2592E9A7 | ||
| 1498 | F38F683804AA0052527C0D3889E21D6E9DFD8600A3257F80DCCE0D128CE442F7 | ||
| 1499 | 0CF351B360DB45B7D04CCEB3457E444E0C54FC5D337531E4131866D6836F33EF | ||
| 1500 | 066937C7706617311CE8E1BC54D3195B4CE7B1EDAF7EF57DCE8BF17FEC2F3157 | ||
| 1501 | BCC8A5751EA89F5F9578299504D344C1A5951083609B60C8C83FA67F5F44154D | ||
| 1502 | 862DBECFF7016083BDBAA480CFD5C63ABFADB534A7CC8691C40DAB5EDF4331A5 | ||
| 1503 | A3F055929456774257BF44BC31C383E43C3C8E37E18A4E7C499F72FB29A63A23 | ||
| 1504 | 9662649680CD9009B1CF9D5A38322832AC98BCBA05C4351007CB2549B8008576 | ||
| 1505 | 4B496AC8487B43F3702D58834F0A0477340C9FAC8C4FF9D7D4C20CBCBFD915F5 | ||
| 1506 | F55617D851317330636B302D38140E465F3782F45561C18875BCB2FDA48CA6EA | ||
| 1507 | 71B88FA9A87918A343E1F2E0E759884C1DF5FF3E7A51069FC427D7DCB3CB162C | ||
| 1508 | 2AE28D41F5CE96FCFA37A5E5750CB88FEE027F97E978EAB9326C64B87FF19626 | ||
| 1509 | 9EA9B6A7316CF6FAB3A49AEA2433FFBDC202F6564953AD3546101E295C2CBDFE | ||
| 1510 | A758DFD9912E8096C22C0308AD6705F7807F151628CA9D66FD36B48D49860F53 | ||
| 1511 | 064096525B0028D3D6279306872A42BCEE965FD73F9F41FAD18ACC569BA23F3A | ||
| 1512 | F72CCF9A09A69F49A1AD5EE5A8B62360E363E0B1113E008B16D94AAD5551DD1D | ||
| 1513 | E689CD903DB992FE50775033CC10A091FCEB9692D875F7DC7BD179BA5E8FC955 | ||
| 1514 | ED7F6B3A08453B03F75D825C5815815915EA89276251D1D03787EE0ADD5B7144 | ||
| 1515 | 4076D29801085C7B128C5491C7A2DDEAC62B54330DEC660403FDB73A8B267094 | ||
| 1516 | DA5BCC57E428FF59EA99900E59A4296C676CBCD11C3EDBCE68077224D7715999 | ||
| 1517 | 36F3D3FC2240BC2CB58A5EB06C5BA59EBF9823AF6FCDBDE93CE2E1A5A16B02D6 | ||
| 1518 | F5ECB676FFE824061B02FBA31FE7FB7B9E9E065B9AC4CB23C96DD0764A6C568A | ||
| 1519 | D858FE44B23F04284F9009BB75751D98BFE5147A1F7184FF8D36AA1CA978D694 | ||
| 1520 | F72DBA10074ED7A82B322387A91E1A4F0070B8426074A584ACC462D284860457 | ||
| 1521 | C9BF4790C5FA7941183F4D9C6D0C7017F3C288A8E2DD5367499B1DA0D2A88925 | ||
| 1522 | 3F2A2E5AA0FF572681B1C92E2589DA97AA2FB527285ED3633C6F289C67B0390D | ||
| 1523 | 50B884BD5759E7EA412F75592791848B2D9F3CD06497440B1093EC93095A7C86 | ||
| 1524 | 6AB1E8752CAD96C0076B0F9EB4CE2220B630EED701D1A3796A4BD3FF35293934 | ||
| 1525 | A69CBB8A74CF22836CE5200DC14E5295D6DA56A3AA44A004357F575E5547ACED | ||
| 1526 | A1982AE3CE7EB7A59840DF825F970A11E563AAF3974F547F806AFDFC6F0F4BAD | ||
| 1527 | 88F56A4F8510E0AE842B9BF551230FAE47803AC5A959DB6B62F291C6A040584E | ||
| 1528 | 2C4A02D41EC7DDE254F21D6091D62D8598B6697744966BFF5E86CCE46D9AF24B | ||
| 1529 | 6C9AA017F944D42AA02F6775CAC2671BF2D4EFAFD3E529EFE3A5595F01D66408 | ||
| 1530 | 9513C728725B3CF6211808898E4C28A3F643B6E537D883A738CFC13B97FB3D23 | ||
| 1531 | 9AAD448F38C6267D36C0FA594AB6FBB577ADFDA1722A9E0B598432C8B4E2AFF0 | ||
| 1532 | 38DEE9F21CB910657C1AD8BA2C821767C0158D7AE3DEEC883372DEAC9CE7A2DD | ||
| 1533 | C440B233FE7093E2B03E702F57A082F438EDACE37F29FE29849958C5079DEABD | ||
| 1534 | 7954EEA31EC67B0CAF068FF58C731AE5A77607D6FE13472C5A70C111177C1E99 | ||
| 1535 | 2657B20BB0D01C7C638A1E588CFAE59CB3171B685522FCFBD4330C941079C9C3 | ||
| 1536 | AB5D5FACCC98BF9691DA89AF9691D20154B1805AED841931700A3F7F25924981 | ||
| 1537 | F6521B0C6E55C98AD91ADEB1174786A6412671C602DFBD482462AE2F1DFCFE28 | ||
| 1538 | 7AD206FD98F5238665DFA789A4EDCC298C64B4E72C0C1B457BD64B4479413356 | ||
| 1539 | 2DB85E29E862C2AD57F150E1CA943D85D71E82219E735C7D8EBACFEF4DA9C725 | ||
| 1540 | EF436AEC25D36C9E9D32C67A062605E963BD036886CD9688F7EFE6434A29A2C7 | ||
| 1541 | 730F1C610F3DBD29A4A71EBC3D179E3BC1F48657E2DD6800E5B1EA7508A8D439 | ||
| 1542 | 11C3CB84980DCBFC33875E20784CA711B061AB5957CA59B43AE4E4A44B361349 | ||
| 1543 | 823D45AA26B51ADE783ABF1C32E49DACEC7DEDBDCF2648ACD5A0DF02BF7256F5 | ||
| 1544 | FA2F054B79A548996442DF9205F4F3F2C27607D11B5EB4080B3FC1BBAAF8CFE7 | ||
| 1545 | 5FBB35B87B540546203FBD90341CF38AEC32B6BB46ABA368EA42C69BC9834A8D | ||
| 1546 | E915C163692174A5D51136308383FA693024DBE6552DC525BAD6CFBF9B61D2B3 | ||
| 1547 | 61FBB94AF1507EC144591C621B8DAD5452BD53B0BFEF03F6B9D53736FDA5689B | ||
| 1548 | A9FF78255396DF20AEE452D5D3D2978B2D681BC60506ED10145ABE6B719CA44B | ||
| 1549 | 6535DF1E593498F8C6742B84BE204883ED8D8D624D52F0FDC9C8AFE1B7808519 | ||
| 1550 | 1E056CB591B6A2DFC4AA44604AFC512151FB0D3A3187FE57F409F04092035DC6 | ||
| 1551 | 1164C06205083E54B6036D9AAB673FEE23A3688591DA15FF698B25C5B8890540 | ||
| 1552 | 17869CDEC5D3B4F12E83F75C164F26FB41A0919A412A447E6DBED19843A0581D | ||
| 1553 | B73610113FD75D28EAA34F2A47D99C13EBCACF96DBDB867D83EEB53488E3478A | ||
| 1554 | 63A2EC583536A3FB63CB406078595F220F5BF53956116F9FDB05A226FE01EE4D | ||
| 1555 | C28A48A250CED2AFE801BE10029013C9685D60F6F74628A5F5961E4708EBF3F7 | ||
| 1556 | 1EB5DF7837356E20C075DFBD15D9891A1A9934A585C0F881D104BA927A70B832 | ||
| 1557 | 5CD9EDC7E9CDADAC7BBC4DB1ABAF6547C3BC08C6AC73CA345AB18A9651151CF7 | ||
| 1558 | 4752C8E74157D3A3575D4D81FB937D0061192D1643741CEF3E218272FCDA17BA | ||
| 1559 | 2B9FB73A7A008F91248F5C57C91266CFD1E7119ED0BBB80D009330DC501CD8FF | ||
| 1560 | 423AC58BC8E1AD0813D11354BCE3DD1F511115C9F571E25A58E1A42D4B2F5C6B | ||
| 1561 | F39BBD15B1CCAB68D7C8E75634C69BAC05D3DA6A2D54976CC3BDC370F3274326 | ||
| 1562 | 98CB0EF0B999032718381A4BA16220F8088E87F3B0282C8011BF2A8BE5B0624F | ||
| 1563 | 10C83F79C1623AB3D1D62F1A030DBDD3B400D64BD7D1EE88695B5EA257094B71 | ||
| 1564 | 38806AE74E3CBB7615710E2D75428930EAB82417B11008D3278C035152B527B4 | ||
| 1565 | 44DFDA85769635DB0650CFFFC6650ACF0E7873A53464C5BD41889A2A89F3ED47 | ||
| 1566 | 0C4DEB5AE511FE61870B9EAC40952E531FB6216E8D6CAC1A480774C0EDBDE9C0 | ||
| 1567 | B7C880E28F9FC77F853183B4444EB15880E8EE0AA9BFC908CD9CAF6E16921BB5 | ||
| 1568 | 8675F3B3A4FCE2B60EA3A11CEAE4D0512F383998001BFDB48EEC41A6767B55B5 | ||
| 1569 | 2786A2D2A35A1CE437A29B023AE6301D85B5773A31348976AD970556AA208158 | ||
| 1570 | 970360327DB5F65E210A9D76525E44FE9051E71C0262B84F2C54E0EF4F280FA7 | ||
| 1571 | 69511C576842AFE25D4FDD651E286A94728CB56DE3C79FEB6B4727A11502F876 | ||
| 1572 | FAABD8DDB97AC18F3F19B272C4541D1807DED62466389F92AFAFAB9FED162630 | ||
| 1573 | 6104796F4B2C9F26BF46F94100BF569BD3755C35CDC08A1C5F03A4324EBA28DA | ||
| 1574 | B2A41FB6562BBB85B6444B98C90DBAD78D79FF7293280894AD326FC95E28B435 | ||
| 1575 | BB74C1B7DC963D201F2CC9B5C224023D77C0B2C69A497C5314DC418B6519E25A | ||
| 1576 | 197D85EF1430FEB760478E29AF6D9530817F777384D3EA17FD4AC22AB1F81B5A | ||
| 1577 | 19C853EDCDE39174062A4A6D0DD5A0206D6C577D148E103EB5BC30890110367D | ||
| 1578 | 537186A9E8D70AFD70 | ||
| 1579 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1580 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1581 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1582 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1583 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1584 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1585 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1586 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1587 | cleartomark | ||
| 1588 | %%EndFont | ||
| 1589 | %%BeginFont: CMBX10 | ||
| 1590 | %!PS-AdobeFont-1.1: CMBX10 1.00B | ||
| 1591 | %%CreationDate: 1992 Feb 19 19:54:06 | ||
| 1592 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 1593 | 11 dict begin | ||
| 1594 | /FontInfo 7 dict dup begin | ||
| 1595 | /version (1.00B) readonly def | ||
| 1596 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 1597 | /FullName (CMBX10) readonly def | ||
| 1598 | /FamilyName (Computer Modern) readonly def | ||
| 1599 | /Weight (Bold) readonly def | ||
| 1600 | /ItalicAngle 0 def | ||
| 1601 | /isFixedPitch false def | ||
| 1602 | end readonly def | ||
| 1603 | /FontName /CMBX10 def | ||
| 1604 | /PaintType 0 def | ||
| 1605 | /FontType 1 def | ||
| 1606 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 1607 | /Encoding 256 array | ||
| 1608 | 0 1 255 {1 index exch /.notdef put} for | ||
| 1609 | dup 0 /.notdef put | ||
| 1610 | readonly def | ||
| 1611 | /FontBBox{-301 -250 1164 946}readonly def | ||
| 1612 | /UniqueID 5000768 def | ||
| 1613 | currentdict end | ||
| 1614 | currentfile eexec | ||
| 1615 | D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 | ||
| 1616 | 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 | ||
| 1617 | 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F | ||
| 1618 | D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 | ||
| 1619 | 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 | ||
| 1620 | 2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82 | ||
| 1621 | 7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378 | ||
| 1622 | 77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18 | ||
| 1623 | 2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91 | ||
| 1624 | FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F | ||
| 1625 | DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68 | ||
| 1626 | 7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4 | ||
| 1627 | 9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176 | ||
| 1628 | CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D | ||
| 1629 | 6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6 | ||
| 1630 | E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E | ||
| 1631 | 8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E | ||
| 1632 | 3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99 | ||
| 1633 | EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4 | ||
| 1634 | 0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9 | ||
| 1635 | 4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF | ||
| 1636 | 1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910 | ||
| 1637 | 757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E | ||
| 1638 | 0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665 | ||
| 1639 | 6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED | ||
| 1640 | E067598E1B8B781EB59569E3D0D54D8EFAE0F3EDE26279776ABA15341E42E636 | ||
| 1641 | 6E02817082BE6FE0B04249A4840C11F95F8ADEFF72173E9A5F2AB2F62C427E5B | ||
| 1642 | DC010E18641EAC906A5EF0F9BC2108062134A7F10956219C5847C0D82F0E8663 | ||
| 1643 | 12D963E012DF0DD899911EC5D8096F80B49CA3444CF1294FBFAB57DFACC9D01C | ||
| 1644 | 46F3BA2F3D1C14EC30CBF83E5729F1C074D4F1665405CF54722827FBC24AEF08 | ||
| 1645 | F6DD0BC6A79A2DB1FF539454E8F5D1A42D40CCFBC093AFD3E57973A009095CEA | ||
| 1646 | B91FAFD236C47F453B38DB0067907A28EB5E9ADE87A2181F1D6DE4E183631716 | ||
| 1647 | C21F0F952E0666AC74371F8B5C888DC44FBA5607435A619684F502CF625663C7 | ||
| 1648 | 94B0DAA79BE8E129E7F5C5AD1B7495C1BC9B1C759FD67200DFF251DB7C95C09E | ||
| 1649 | 89EA1F66EADC3439C7234E50DEE5F62AD67768C3A5127E31DC8BEACE15EB5666 | ||
| 1650 | 437B94525E34FA2D35B51730CB8CC9D763F1A56F65B8FC21FEC40F4059C2EA3D | ||
| 1651 | EE94D79A8E322FA0DAEAE3B82721F771106F21B7497099A15DADD8CDAF70AB71 | ||
| 1652 | 7FC1A9CE6AA0E05ACF6E210DE1CA0418BA7012183FD6BEA93DD38776C68CEF54 | ||
| 1653 | 75145C4C0AAFD684964295D68EF8E7CE0AAF272EAB35BE26334C6A2F63D89425 | ||
| 1654 | F6DC7F49F63A53152DA883E46105D8F21F7368F9CA04B7F4BFB67ED9FD13987E | ||
| 1655 | 816BC3741FAE1D8630479927F6636F084ACE881372BF695E55747B9354674443 | ||
| 1656 | AC79EF734025EB13E3336B807B6D75D86A801BCF860EF78BFE0C76227875AD31 | ||
| 1657 | 49638E7070152E16CFF32B2DE735F7BD089186F1FF68A2CC558B26C7D3416AD6 | ||
| 1658 | 0FD3E8929011C8635279CB1D64F3C8FECAF89DF0469DD890E8CD6EF325DCAE4E | ||
| 1659 | 8804DAADC647BA4F6A96E27D5F1716A800104777374DFB8AFEFA19F230BE8C1E | ||
| 1660 | 2B1DA5B9F504BED3487D1FC3E2A11BBD869AD3E2131253789C00651A03320D8C | ||
| 1661 | F3B2844347AC9860ABA40A83030FB4F567761548607BB01FBE2086AC1BEF4F61 | ||
| 1662 | 48AA7B421BFEFE6EBCBA9042FA4AD9530EE7A9A7E11D9BD9AE3FB217F2A9B5D5 | ||
| 1663 | 1FA941494B11A4CDE8973C1CED5062F6CB666FD32E4CEC15CA9DE1721D4E6E10 | ||
| 1664 | D78756DFCACD3A41E50C6BAE9A9A5F044BA599F1EDFAE61CFB8B7B0DF5BCCE17 | ||
| 1665 | 4D88512A8506E97204457F2D12533BAE1B552F23340D4AD7AF3029FB6C6583B2 | ||
| 1666 | 67A9B299882EBEDE6696B97D7E89B0C397D61D4417079D426B29246910F4DE84 | ||
| 1667 | 7C5D48C72126F80CB5B135D6D2CC719968C1924EA4BD6E305B7FCB06520983CC | ||
| 1668 | 6741DE803E5B6EB1E7F5517A8600491A4957645949701EBFEB42716542EABF2C | ||
| 1669 | 16B955D4A1EB29BAD152EC888572C3D4E2F02309DC60E94272D2F2EBCFE32969 | ||
| 1670 | 5180EDCE322BDD38E3B34D24819E03ED61C913A9FAFE2DA1822A660C246B1132 | ||
| 1671 | D2C18F76CC413D4AD1BB8F7A6719FDC7C7E54307495BC0E671CC6F4257C82574 | ||
| 1672 | 5FFC9C7EACE612207FC80AD04F0CE33A9308DD615A4307677F9ADF6B98D66A77 | ||
| 1673 | 2510BB8B5C985DA4658F7637BB4C7643AC9CC424E2571EE4CF5C15C7EDD306DA | ||
| 1674 | C41DED0B1339553A5F8265DBD9DA06374B37D77A9C9E4AEBCB4ACA8B909E9C48 | ||
| 1675 | 70C16A5A042CBC8825CF675BF574B16254541B69E203D5E3CE29C339C907D11B | ||
| 1676 | 28F9AD8DF700C945FF11B0C99172FE6B25D131526C31E19D5637FF4249440651 | ||
| 1677 | 86C1D4C8A7B60CCA184FAA3E27F7244698A99CCF94E9135769C726307F940449 | ||
| 1678 | 48239486ED7BA4B8DCAF87EB1D2A8D1753E7EFA9468924DC0BEEA33484830DF0 | ||
| 1679 | 2CC726EB379B5668550B61B2D401C5D1012B16B9E2BF0A336073544F65124481 | ||
| 1680 | F23611E8675B40FB28F393A1A8DFFDC13AD08A67AF396D454E3CCE141925D9A7 | ||
| 1681 | 9CCCA2D829E4DB2467F2F8CA1BE3FDC5E13120BFCDD7F0DDCA66E65FA69CC475 | ||
| 1682 | 866C8A62DBD00D09D867D0040BD804A1D7F17F3B8AAAB21FD48B11BD96C13774 | ||
| 1683 | 0BCB85CBA1E12A459B221ABEA106D74BC0EAED03ACBC0120CD47294D9D0F3B96 | ||
| 1684 | CB570779E46519DA8854697AB48089B56025D3787243666855333F0AF2625DAC | ||
| 1685 | 502DEDFD5529924E50B1740A93E8B58C54DE09BEDA69B4FDA8A37AA6E32F1ED9 | ||
| 1686 | B323763F9DA9A59BD9F179A567BAD612B8634FB8463FFB073184294038307E22 | ||
| 1687 | BD0D05B160331B848E7D7243DC7EFAF26F8E6518855F679372B94938E90E7D40 | ||
| 1688 | 9A45E12A3203ED0047D4E2CBAF8D5AF2191EAE42CCF2E2939022FAA57FA90CEE | ||
| 1689 | 1FAE7BE6E23C4E32D372908E149B2096D480B82C143A26C604AF950FFACF596E | ||
| 1690 | 3CBD6C5C86EDE699622F50FF70D278E11741D18CBC6EC804F7803FA00BB693CE | ||
| 1691 | 2CBA9437C5041EE62CDDA5B5E4DA501C6841614AB271633E748AEEF52AB40E2E | ||
| 1692 | 245080043BF749542EDA7FF6B74C41FA8B61640E4DBA1C44226785F2E3DDC7D3 | ||
| 1693 | B6B33B44E511C0152B679FADE241F0857C3CFDA8FF5E0FA4A7BA26A1A428387E | ||
| 1694 | 1CE83E956CD8AC28EE4F4A818B2F64C72FC65D4D5054781B6177E54C75AE1396 | ||
| 1695 | 505E5562B7F6CABC9515CAC5670A69AB00668ED859DFDB673378080BB5539A18 | ||
| 1696 | 8D347ED0D06DF019859CED07566B5B51376C5AF5876D3232DE8DADE7909B13CC | ||
| 1697 | 8086DAA5B7AC78759D0998A0AC451CB7B9491A681A58D4FC3CD45555B20EB170 | ||
| 1698 | 31466D6B09ED870E735606D2E91201F85809A24027035B2BC5761B71FDF655B2 | ||
| 1699 | 63FA45D0633E9A8D6890B6C4CE4A5E237CB48B72A2A2BD8D2176408BD8F6B2E5 | ||
| 1700 | A39668D92EF921178190DB989A5C6E3FE318A56D799CC42B6B58DCF3FE6E8ABC | ||
| 1701 | 7662CAC717B368F886D44F0ACACCC4AB8E8C24D35869D9BAA91C64917796D2CF | ||
| 1702 | DEB05E44A43074F1A53ABDE558457687B2D9FFF1AD7A33E64625B35E994FC613 | ||
| 1703 | 5F66CE83ECFE45777AFDF7C9DE3284C06670B8BE2C7CA2DC73244378FA73CDFB | ||
| 1704 | 02C7DA8AE1E57FD5FB6F41707D4D90C2A4E3D0E77D78867976FC53589FE4D0B7 | ||
| 1705 | DD6AC71C010C15B3A8FEC1E5673EA53D928D9A90040FF6E3C30BABAC5CF8BBAC | ||
| 1706 | 5BBF3814E9709FF2C8B59C7C732B0C7BA597E00E61232B4B433A74646203F260 | ||
| 1707 | CF694D67E878159FB571D766C398AC5755082BBA1B2A5E71546FCC94999E4262 | ||
| 1708 | F18BE1A41E919FA7A53013621A6399A39C74181FEE13D4003468C7A343BDD085 | ||
| 1709 | FFCF2E1EFEC20119FD923E97CE26A66780BD8BF09D66DAD588ED91DC369B0863 | ||
| 1710 | C22BB347374EF5FD616A70CA07C91E5F48849D09F4823C8A02A6D80E4DA5DCEB | ||
| 1711 | 33D190D72702A78FBF7328A7D5ECC822D907B7908CA44BAB4A959F21ACD2A1C4 | ||
| 1712 | 6C6069DEE6B2F208628DF65FC40A05ECD8956505D43F883E7992A2B7621551FD | ||
| 1713 | 34C580D14136445DB52C9843BBF00F92537A65704B0DD575B1BA7863F971F2EE | ||
| 1714 | 479A9657AAE6627A321309A4A12DEAFA0C0B2EF5EE8C0F75ECACDD58E610938A | ||
| 1715 | 5907433061E78FC48581B87AFDA9226ED79555ADF9F0443D60996A1084B0B4B4 | ||
| 1716 | C9E01EC092279E300CED0D34EDFD946C5660ED85CC0512F8A8982A7DF771E24A | ||
| 1717 | D57B07A67D2745521178BE4C259EB3DEE7D6F820C40A2D939A4A484559207C1E | ||
| 1718 | 0719083EACBA076020776AF7C45DA52CB7173B54237942CC063E5491B8527185 | ||
| 1719 | 15E7B30ECAAA49124B9915D9AFEDDB98513CC30EFC161C9D1F2371D8E0BAAAD7 | ||
| 1720 | 44AD4BA2CE425A0B8ADDE7A5056645F9FF0F305E43E8CCB0869E03F0F510FC75 | ||
| 1721 | EDA9CA416F5E14E6FF577CEA44706C2BDBCE79E7C692DDB097BD6A852A33925C | ||
| 1722 | 8A30E83FC93CA7FF3D60062F06DCBDC9AB390622768B7F2370D4FBCAD40CFC1F | ||
| 1723 | 061899B30F760D58E9787EA232AF7305F2E178BB101FE1C172D5011378B93437 | ||
| 1724 | D19B7F3505A8A758C9B0C2E395EB48F13A5DE5B81C085344E3E57EE6FDC6BF35 | ||
| 1725 | 6CE8B2B48A59AAA519D2014818724948FDE669EFA9DD4BFA76319E84B6928C00 | ||
| 1726 | CCCF36793E1A533E3E9822684C4F0B1A60297EAF24D79FD1B728145C2F2EB2D7 | ||
| 1727 | 7F0CEA0F72B6ADE7E8AB02501EF56772DA610E1A6D855AE4BC828BFB3F36E5DF | ||
| 1728 | E1087B9732BADC3DCF7B72C1FA15A1517DE3DB6360630E55952A0DE142EC11C7 | ||
| 1729 | 0DA0B033C405457DE4F619647B623EDEDA588A29D9D457C835320A1FE2E879AA | ||
| 1730 | 18E5125E95D48EA5E1886C7C8B353CC3B5C3C91333E48EE9E6866E23107C24D7 | ||
| 1731 | 738BA7F34A9B9AE25C3DF1DDB072AF68202EE17413929E4B39C0F165441BA9CE | ||
| 1732 | 7587D7C6F181EDC1F55C51B7D8D04FFC47CB79038680FA609360A9BDD44F3787 | ||
| 1733 | 14CFBDB4F730BECB4876871DCF0811991151113C3C8F27BE0651F0B97FA21B6F | ||
| 1734 | CCD040F39A945AA4549C0327A380F6F2D498CD074168EE3180DC205D18EEA359 | ||
| 1735 | C24E06EEAA49F08474F7E441F4A2C7B11C6BE15FF0777661064B66A33DD45EAC | ||
| 1736 | 63B97B312E4B93C10F8E583D3827E6CB814EF8B73A6AABF11D638C707750A765 | ||
| 1737 | 92D5BF3C59B961569D9BC007DA19AC308EB09045F79D29BD970C4943E4ECBD7C | ||
| 1738 | 0C9148378BFC202102B297A6511E956BDDAF5A64B84BCC16BB6C4C747BA8D422 | ||
| 1739 | 508DF34DBB3F36B9EC0188EBE1A1288C1E3AA548B0D799D73DBD6584FC4F795E | ||
| 1740 | 1A4B0DE9D930B4ABFC9CB303CC0380C8664F21595EB9EA9983B21A4F3FB46D1B | ||
| 1741 | E5A16D5C58C12323CBE9CA9AB79DF7A2776E1993CF3AB4A6177BCCF147117DEA | ||
| 1742 | 5304FEEC5903A4982A77793C4B360453F865540F5B0EADD4FDD40F85C72712C5 | ||
| 1743 | 07A6F447BE494A85494BA59B241540E84510B3BDF3B6927E69B006567C04BA6F | ||
| 1744 | AC056E315F53971769687A314C874D8E62A383394A8C1359C9254432CE771A3A | ||
| 1745 | 61655E881B22D7FA0BCBE24C46EAC022992FD5904555D84612A168BDED0B365C | ||
| 1746 | EE54FD4CDB9DBD9AFBC3EB392400446D3A125D3C375EDAB7D551876345FF6343 | ||
| 1747 | 1D31E6A4E82AC340B16B1266D9E90418E8F3796F1A43DDB762F03F828981CA31 | ||
| 1748 | 2DFB4BE9ACCEB2FBAA4882520B01D36B1A7A98602E9D3951B23D3E5634EFB973 | ||
| 1749 | 485C863847E780463B29F61C4FAA11250331A5C0D4A2E03A1FDA25D8FB40E464 | ||
| 1750 | 5384691A0CF3B929561C6F3E225DFE52C651B541B719FD7D60F1D23C8405741A | ||
| 1751 | 70FA5024A86039E1B2BC64DC37AD27464ADA20B980ADF292B0F53BC7E5E2F9D3 | ||
| 1752 | C40C4D5FF6EB094A1CA0159EC547F0A19020E580A94A4833F4CA7B94190D5DB2 | ||
| 1753 | 20530215E33B34AC25C7BB38158C9369EA2EEA2EAB6A29499DEABDAFE5243255 | ||
| 1754 | CDE450920F62BCD0C8B6455C3EF9BB44D987A2754B8D5253D1E02DBBF3A740D9 | ||
| 1755 | A502CDADF38BDC4ED9CBF33E966CA6D81CD9DDE1DBA86A768EA720868AE9FEFA | ||
| 1756 | 3586048721720633D9B73F16A5E0BA13644A44D64C8C7F2E7B22E488D77B9177 | ||
| 1757 | F27E7A960A65DB9674C9471175F136E436E908D10DE577F8E318769DE0934EB5 | ||
| 1758 | 15C9AC907F2799A2123A745D3813FD5CFBC260A454797E8EDAABC2A727B23DE8 | ||
| 1759 | 96026CE2CD0FD891197D1751AD87F1DD61F2B5406B3390E67AA7A942FE0F746D | ||
| 1760 | 0444E21D51A6A103FECFE2FD2863EB1BF9FB55BC75EDE6D3192FCEB8267C656D | ||
| 1761 | 7186ADE66BA749E1AE37BCF784A1E467D0B83C73ABE2550510AA57007771DE91 | ||
| 1762 | 04485B4601D14ACBD97C4BE879FDDF748AF1429ACBF3D41FD918A4D238D26F95 | ||
| 1763 | 9F86669789C9D03A04FAB2308419482DAAA77C47EE164B276257F0114D370F41 | ||
| 1764 | 82D109A24A95107695F87C6459A7EA5A28A83CA6F45029E32DE497E76DA7F99B | ||
| 1765 | 2A87C4936275DE2DFD7DA865B8FF52668493ACCBA80AD419443D1B2C0659EA69 | ||
| 1766 | D16680F63A27DB05409EAA1E94613A6100E0CC78F8EA507144C9BB13E29CB482 | ||
| 1767 | 5A813BDA35C973616778E273A01943FD5FDDDF7489FA4D49C50396B07A06C86C | ||
| 1768 | F2CDA26CEDB033B50E06F817A4F0631E0659E49726DC4A88F6A4D3A355F9966F | ||
| 1769 | AAF445EA2B16C547B1EFF050879B3EABAF2B868613E9B47AF1AE7E90847123A9 | ||
| 1770 | F4E09E7D25D6778A87011AF3E42B8F05AAA2989AE67FD8DB9A560D4C75E79196 | ||
| 1771 | 602996F939A0121A321DD323706068FE1CB46B0E95DC45845F14C06D9437EE31 | ||
| 1772 | 2BCE925B8742D0A1A226F225D7EC6A7A807DC1977C9195D91771BF8A5B2BE31A | ||
| 1773 | 15D4D206107421213AD41CA456E3025F069432F21C4AB291D9A548C65A49EC2F | ||
| 1774 | 7A1C5A640FF17D8BC4C04487D0CAD2E08DF0F0524B67CE49379A1E81DA971A8C | ||
| 1775 | CC237FBBA08A90BD4A882DA93F915C7F3248569BA03794B9C2F12D51691B4CFB | ||
| 1776 | CA5AA67E71599B33585E21593CA83ECB9CFDD5C547DD87694206B0AE32372B06 | ||
| 1777 | 8825223E060F1BECE3FCF5E76B5C0F963B7637EF59EB389F12B5B0CC5DD91286 | ||
| 1778 | 0673258290FDD422C4450B4A9329D0017FC2105E09DC969232489507B76CF9F7 | ||
| 1779 | E18550397EAF067B3A9E0347970994A6507C177EDB973A69EF7C382A941E69DD | ||
| 1780 | BFDB14F5B3299BDFAE7CCC331CFB83FCCEEA55026AAF4757121A2F577F2EF618 | ||
| 1781 | ED54EF62FADDB76D4FBCE11FBDDB7F4FD6B919E046B5A0346A0539C598CD9A22 | ||
| 1782 | BD414EA34E25FAB77D3769E05EEB5A0FD51EA9C7A2433DB5AE9955127C403910 | ||
| 1783 | 2B6A66262BC8B0657A3973F1482138AF77E9F8774C2658F15645660C90973B23 | ||
| 1784 | 9C30EA7DA830BA0C55671AEDFAF0FD96AD60098E768EAD067F0A63E06B0CEA3B | ||
| 1785 | B7E6B4F2D00F575DB0A6B078962B4CB9709A343EA520E57E826C9E89375D7F4C | ||
| 1786 | 1231463A236751F69E097A994E4043DBA8692D7E9B16E214575D0F2978518E66 | ||
| 1787 | 397FCA66BEFE1F4A7A1B7CB123DD85A90E1A0E88185EED105D7995D0EBB936A5 | ||
| 1788 | 76CDD7B4791AE48A7368912404F3A34A2AD049E694CE9B3F3C648143C7C2D6C6 | ||
| 1789 | E78B173E08B7129A1C443B6D4A307341184919EC3FACAA11B3DE39B10E855749 | ||
| 1790 | 99FF4ABB58030091CE8F975FF327D2A824B95437D993702700EDD7850A7A01EE | ||
| 1791 | 3DDC985BE66619EEADDCD13B328CA490DE02087FDC35C1290C2F5D58E1ECE85D | ||
| 1792 | 2BF79955108608606229028ADDC9EB448CCC54D7381C7EA8F9590E1BE3551FD8 | ||
| 1793 | 8D8BEF116597CD277E1A6DA692F84C83513E4E671D6F48EE46A78B7BD2056948 | ||
| 1794 | CFA4DD257747BFD38E6813A3D83FAF54FE128ADCCAE38D74CD0486ACFA15A6B0 | ||
| 1795 | 1D8469984101347A4F34DE18417F089C197DAE1E9E3CD5D8D8FF7A09DB77BD00 | ||
| 1796 | 986359424222FFA593449F7CE00221DAD4731B341B11066FD3DB5138D163EC82 | ||
| 1797 | 9D89F5CEA8EBD5B9BC2FF6A7577E696A3787B6A07A8562648EBF9C1435B0272D | ||
| 1798 | 995814A9B100631205ED935D0A50866E74A8E332E31654A57C031541B0DA849D | ||
| 1799 | 9B8221773B03527FC9B32F327842CC6285BDC49350501D8F7B728CCA5AE742CF | ||
| 1800 | 010F8A859E411DEA98F1ACEEB0F27890157F804AC9CD2B3DF5BBD1EA4C72BB26 | ||
| 1801 | 0133A4E0B21D07277D7792E076D7F11EBE47E673972DF8A2AB1DC562B0CBD324 | ||
| 1802 | 712A40198D448E0E5AC50F6AF123DDA23DF6AD4587030AE9AB358A64E3D175F7 | ||
| 1803 | D278603073AA2DCB65626788B2919F675A5D41432DB8DC56B946D2EAD7D29B7F | ||
| 1804 | A564E0CA7E8D37EE506C87D574B56E32503734D1A8B90BB97E47CB057FE58799 | ||
| 1805 | 603EC3F828B7A5AC3863CC169C0D8B40C204716528F4FF3BB206DA9CF7A0C325 | ||
| 1806 | 176939038B142297A349CB7BFD48022CD351FB7C99D2827A5F51F4772C437B6D | ||
| 1807 | 8BC7DFFF5A46DCAC13BBF46CF14A5D8F1E9CE23FF35614F408BFC9DE7F36EE5F | ||
| 1808 | 4947F4F664D5CF47E53377A4F9179C83D62EB8BD87F133BF2E4DA3E4443D8BE1 | ||
| 1809 | 2F206585D371003CEFC9BADC4547C28D21773D2853459EA4E7790743E1D0A144 | ||
| 1810 | 56C80938A89879D0724B79C8F883896099B9399BA2D7696225332A1EAF8C1365 | ||
| 1811 | D582481D1F93A28459D60DA6220F602CF121CE16F62C22B4F98F379CA401ABB6 | ||
| 1812 | 1843F2A4E7096D3982CCB6DB6DDB9ABE784EE9B2762D3A8E5768558755C63698 | ||
| 1813 | 7F02DECF75D2FCC99CD93494E8C5021D3B48F10E153020A5E1EB547311E3265F | ||
| 1814 | 109263954E7DB3409462351B6311ACF63053ED32904B98701A6B99F59915E9B6 | ||
| 1815 | 2AD813EDA9523A4BF3E430D8793D10E830E6E620892CCBA72BF9D437EBBDAC7B | ||
| 1816 | B237AC58DDF7A684F5A338713C78396FFD6B92816647444BE9BCDD8CA0BB2E56 | ||
| 1817 | 4531639B3D74D2C2B369A79AE166109F5FE26A55AC2E4F7FB25A0D4FABD0FE99 | ||
| 1818 | 621A447278BE95EE1D72D60B5B5572CD302B01989DBA8056CF701E4C59FAE8A8 | ||
| 1819 | D8853CD5E21952882001BC6CEDD8E195DE5EFEAD54C7CD2B4D1E0AE4893BFED3 | ||
| 1820 | 6F5A4E156D3B4415EB827F7515405C825CA42C75B9E9761FD797078A81997863 | ||
| 1821 | 99D1A40F45A65BEADEFF5B1818C8DF726B7129E984C33516CE9DC16547C158CD | ||
| 1822 | 9DBDA49082C9693C10A08C3B623ED921EA5F4BF064CA812607AD44B779C9ADBF | ||
| 1823 | 5C7EA8BD6F0DBA23B2F8505EE65D2DC384ACFF2D1ACEA8E6C6B6F18149D48D19 | ||
| 1824 | 96B365FA505B474B7C9292701736A0D48EDFA11152F622178EB33156291EB6B9 | ||
| 1825 | BA958F5ECB78F96BCEA8D7DAC90803001513FF64E4251C48FA3F4AECB8CECA8F | ||
| 1826 | A3247EE067044CF459EE80D7DAD8F02BD6608C27A6FD5BB9880514A7B1FDB33A | ||
| 1827 | 9AB70A3700CC5DE44973D1103EAAC669DE3B41E53F9D6F40F65580FC1365E0A9 | ||
| 1828 | 6303A8545B34A00A20AFC15851942FE866CC3F1FCEBB71C9673B5B5A086108A8 | ||
| 1829 | FFE0B0B51DB22813E11BBBC2EA53383DCF2D7B719680795E05541B026B41B6C9 | ||
| 1830 | CDE5B88522A362C908D0E65A1FE1073068507C63AB8FF157832AEE7228BDCF26 | ||
| 1831 | 7207EFB3A82CED3A2411064B24C50A24579A2A66A6FC70B7AE48E544B790D375 | ||
| 1832 | 7317DA0432E4893F70087D68F8B382FAF770C3B0AE74119A7474265BD6356FEF | ||
| 1833 | CF9AB053E9F2F53E49E800969C7D6F128C69DBFABE01D464494CA06C24E0DDD6 | ||
| 1834 | 93FC8E0C026D68DFD3FF29A6F6D5D40928E1DE1351D457A6750F1A75DDBB0B13 | ||
| 1835 | 343B3EA6791AC35A8D72E685073B01C0DDBCA8E07D8ED48EBA8E6EA2CB380118 | ||
| 1836 | 6D65D5C3D1C081058FC9CC54E9F49EA02A8FAB4CC126CF85E51960C402CD7A55 | ||
| 1837 | E8FFE2F22EDB8D6458F97E48A901CDB89BBCA78AC0DC93C1AF4D4A91D730FDA0 | ||
| 1838 | 577B7F5E5540528E36DC29A5EA4E99C3D8A3D95B2E9926CFE3B29FEF6D55333E | ||
| 1839 | B87C4B28FFA9A582203ACC9528DACF226E78041B2E675AFCB823ED7B01619F5C | ||
| 1840 | 7E5EE4F4B800040F96F2693CB79F41A375D8C502E1253D74210ACC226BDE60CA | ||
| 1841 | F7431720D00720D3C900098D13D9775A4E94A91801C5D460DFF396319F49AC57 | ||
| 1842 | D9318CD4DA5B30FE4A2AF67CFC34961EEA35B985D02F41B4AF51679CF1131327 | ||
| 1843 | 78C0A045D5D259494F86B486767B0835259C9976314CDB29F0E70DA314611903 | ||
| 1844 | BB43B448C7E0FDDCE42BD623D2919B0EB1B0D5C92C0C6D44FF220B12612A6E9D | ||
| 1845 | 087D4EC32DC0164C3C1EEBB4D42C24403DDFA87BD9397B34F4129BBC1F5DCED2 | ||
| 1846 | EC698ABBBCD76137BA92DC8FF989299B5AE9B0C9FE7A7C4C6AB9A98BB4D9F86B | ||
| 1847 | EBB1A5ECCBA6633459814589DB7BEE88CEC1C1C4BE0792027C736C74AE0ABBA9 | ||
| 1848 | B7AB5AD51FAEADA4A53684D2BC12E6F60C3C19899D6DA7A0691CAE19306FEE5E | ||
| 1849 | C3E3AF07D6D6D1921DC57C02DF25F3CEFFC56AA2A284FA26C99C467A603F410C | ||
| 1850 | 38642DDBDA66623FD2FCF0A3BF49252E1F3B1EDCA0C39D6466998A06ED2D59D6 | ||
| 1851 | 33984620E4C5190365AC6A15852E9F114B7C6BE44631184E620CFC547B061DC1 | ||
| 1852 | B0F28EA6198560D45E951FE8CC2F375B3F29954C14E7DC2F1804218C28AFF3A8 | ||
| 1853 | B01643302DA4D47DD87E5C54BC270A012E3109526E5E78406DAEF9D91F410B7B | ||
| 1854 | 06400A2A08E2096A391AA15D3863A7D276AC17FD6936833A707395DADB969E29 | ||
| 1855 | ADD9E78E54BDD88E66292953ED2783010B32CCF920349E866428533680CCE907 | ||
| 1856 | F6F0E92F2747FB8A090F33B2ABE187D25DFE64B65B333CC84D730A58DD47BD30 | ||
| 1857 | D55755AF60625D867503C5E5E5AE2B2526E7CFC602754DD6AC4CB2BA2B81F160 | ||
| 1858 | 10147BE356D1F8DCAF71FBBCE217456605FC236B8CD696B617E4091889DD5481 | ||
| 1859 | FD861F9571C92DF7B4BDBA694A36B23FECCBBB8D44E51FBF37ACED02CA5C9409 | ||
| 1860 | 2E8ED9A632E1DC490D7166A23F71572EE8670C8A718DFC74ACA4A28409EE1A67 | ||
| 1861 | FE3CEFA903307D670CE1C938D2958E26ED0497F4BFBA845EF1EC62A3C97AFAC9 | ||
| 1862 | D37A9785B4F9C6CA19BD85D5166C4035FB1806A7480451D6AEAFA0D64803792C | ||
| 1863 | E0B184FAC3BF110C337218585C4EA31D4E76E292328A93194BA54AE22515FCF4 | ||
| 1864 | EFCCD3A6BB35164AE4DAFFF7CCC786D9E90BFA2478566F41A5ECCD277DA32B7A | ||
| 1865 | 10ED094F6E7F054393986B8B7E1A08179F6FA3935BEA925CC8C7EB0661105B64 | ||
| 1866 | 07F9A35DD203B9D5688A1DBE7E4F52A57F439EB54401D191F0AF6F9B73E45FC7 | ||
| 1867 | 0409361F3A7608C499DE7BDDDF831D4FC1C7442E1E713AB71A4D38210B3612B6 | ||
| 1868 | 15F9AB3921999286C3CE9271F36D738EF691E06468B06E3FFD19CA3181CF5693 | ||
| 1869 | A0E7C2CCE9B01724AB154D6510343784B3EF0DA3316E65CB37EEE337BA295447 | ||
| 1870 | 7ADFA6BE5D314DB0F596999279BD833E280FF84A94EFA52030033023A42F932E | ||
| 1871 | CA1F9A2177C83A6E9F7ED2FB89D4AAE5BE8F2C4175FFA039B8DD7FD9604DA38F | ||
| 1872 | 8F1A2D98B7143D09A27CB1AE73E58DC9FF4CE1971E6ACB3FE713D3DFA13E7C53 | ||
| 1873 | B2454417A5DAFDAFB094C0811D9A12AD6B212A4FA2DE5A09E4FEC5D99BEC5222 | ||
| 1874 | F8BE9EB2B7 | ||
| 1875 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1876 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1877 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1878 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1879 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1880 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1881 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1882 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 1883 | cleartomark | ||
| 1884 | %%EndFont | ||
| 1885 | %%BeginFont: CMR8 | ||
| 1886 | %!PS-AdobeFont-1.1: CMR8 1.0 | ||
| 1887 | %%CreationDate: 1991 Aug 20 16:39:40 | ||
| 1888 | % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. | ||
| 1889 | 11 dict begin | ||
| 1890 | /FontInfo 7 dict dup begin | ||
| 1891 | /version (1.0) readonly def | ||
| 1892 | /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def | ||
| 1893 | /FullName (CMR8) readonly def | ||
| 1894 | /FamilyName (Computer Modern) readonly def | ||
| 1895 | /Weight (Medium) readonly def | ||
| 1896 | /ItalicAngle 0 def | ||
| 1897 | /isFixedPitch false def | ||
| 1898 | end readonly def | ||
| 1899 | /FontName /CMR8 def | ||
| 1900 | /PaintType 0 def | ||
| 1901 | /FontType 1 def | ||
| 1902 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def | ||
| 1903 | /Encoding 256 array | ||
| 1904 | 0 1 255 {1 index exch /.notdef put} for | ||
| 1905 | dup 0 /.notdef put | ||
| 1906 | readonly def | ||
| 1907 | /FontBBox{-36 -250 1070 750}readonly def | ||
| 1908 | /UniqueID 5000791 def | ||
| 1909 | currentdict end | ||
| 1910 | currentfile eexec | ||
| 1911 | D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 | ||
| 1912 | 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 | ||
| 1913 | 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F | ||
| 1914 | D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 | ||
| 1915 | 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 | ||
| 1916 | 2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C | ||
| 1917 | 68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 | ||
| 1918 | 3645B82392D5CAE11A7CB49D7E2E82DCD485CBA1772CE422BB1D7283AD675B65 | ||
| 1919 | 48A7EA0069A883EC1DAA3E1F9ECE7586D6CF0A128CD557C7E5D7AA3EA97EBAD3 | ||
| 1920 | 9619D1BFCF4A6D64768741EDEA0A5B0EFBBF347CDCBE2E03D756967A16B613DB | ||
| 1921 | 0FC45FA2A3312E0C46A5FD0466AB097C58FFEEC40601B8395E52775D0AFCD7DB | ||
| 1922 | 8AB317333110531E5C44A4CB4B5ACD571A1A60960B15E450948A5EEA14DD330F | ||
| 1923 | EA209265DB8E1A1FC80DCD3860323FD26C113B041A88C88A21655878680A4466 | ||
| 1924 | FA10403D24BB97152A49B842C180E4D258C9D48F21D057782D90623116830BA3 | ||
| 1925 | 9902B3C5F2F2DD01433B0D7099C07DBDE268D0FFED5169BCD03D48B2F058AD62 | ||
| 1926 | D8678C626DC7A3F352152C99BA963EF95F8AD11DB8B0D351210A17E4C2C55AD8 | ||
| 1927 | 9EB64172935D3C20A398F3EEEEC31551966A7438EF3FEE422C6D4E05337620D5 | ||
| 1928 | ACC7B52BED984BFAAD36EF9D20748B05D07BE4414A63975125D272FAD83F76E6 | ||
| 1929 | 10FFF8363014BE526D580873C5A42B70FA911EC7B86905F13AFE55EB0273F582 | ||
| 1930 | 83158793B8CC296B8DE1DCCF1250FD57CB0E035C7EDA3B0092ED940D37A05493 | ||
| 1931 | 2EC54E09B984FCA4AB7D2EA182BCF1263AA244B07EC0EA912A2BCC6CA6105B29 | ||
| 1932 | 044005DDBEAF88E0F05541BBD233977A447B469F013D8535A9D7023CC0FB7B49 | ||
| 1933 | A95CD2B6F18935C37F49E9A73E97A8602C5C26EE13D7A04A188336FCAB4CDEE0 | ||
| 1934 | 23DE9D803FD6E8D846B3F729BD36137E834E016242CD2F7BF048959DD45AD413 | ||
| 1935 | 19B985D05E5D422F3D0968375EA6A90FBEBF8B42B15F15280469D69629C08A42 | ||
| 1936 | 1C298CC027CC288B9C984239ABB96B6A891C1360D08F9ECC22202861E4CE9B39 | ||
| 1937 | 8BF32D2E5635B6583D04BC0AA187D10FE773067ACF3B528CD412ED96902B0056 | ||
| 1938 | 567103E3FD911A099ADDB9EAEB3C08F1B36A918FE865B7DAE1C49F21650E65F0 | ||
| 1939 | C6845C15740631BCB7618A3266D83E54976BCDC707883E531F3F833AD0DE88A0 | ||
| 1940 | CDB84D8384602B992263C3C223D1B5393DC98C75EFF9AD8D98A764228C70A303 | ||
| 1941 | 28D87B1A5510A579D01088C26D9667DB86F72FA302A3A8EEF7E05DD1835E72C0 | ||
| 1942 | 66A0728CB0DD8C34BA1D772886333BC78C79374026347FAC9CED39B7FBA84DEC | ||
| 1943 | E70EABA29B80B4E813C0E6D5ECA5E9ECDF0413AF7556EA458C3C3B49A4B14A05 | ||
| 1944 | 3034C04E1F8665532D053F810683C957050FCF44C5D4040CF09893DBF641D68C | ||
| 1945 | 0969D67BEBBA6DA451D446DCF87B8243365E7158D89332FB33CA28F0A83A7A63 | ||
| 1946 | D22A0948A46F0AB9B2CDECECDA40FA75B046CED41C017FF79FBD7380CF33D726 | ||
| 1947 | B03304BF8EE1EE450C065BC8B83643AA74F8D45924181D1D0C52CE78C36DFE66 | ||
| 1948 | 99CFBD08406AB9FDCC61242472612AF009F8625C966AC9A7228B85912CA77A9C | ||
| 1949 | 832F9D14190A1DC798D4E99B5D067A020FAD7E13E2E5A155A94E46853CB93619 | ||
| 1950 | 39183DAAB590F1BE12C3C4B0209A93CB015E58EEA72C0F71E68EDF1CAD4CA776 | ||
| 1951 | 9320076D70BD2874A166F2CF735BD5154F9FBB219C868A568A7C176060F78092 | ||
| 1952 | 1E3661E66B7E0A8DCF294E09D487AD7F7D1ABEF83E7E0E5BDC60D672A4D8F5A2 | ||
| 1953 | 4C33479DB4FB7105158E19C62FB0E1B9749E6A9D4BFDF7884B1922C4C48265FB | ||
| 1954 | 7851C1116696C02337B64F1A0445396102B541EE1CA10D8311F79CC58F2106D0 | ||
| 1955 | 12FF6B1D274B810AF318BEF04467B5066889896BBF019F63DD5DAC53EDB1CD7F | ||
| 1956 | AD10D90B2D3CE615546860B11AFD0D6B705DAC7545579DDD3ED867F31615CF4E | ||
| 1957 | F3E4BBD8527C9C3CB4DEBE71F1AC965A69A1C6E244BD5A49FC81135A587EA904 | ||
| 1958 | A863FF7D421C407EDE08825D78924635E6968CAC4399D231C785C9048FD8C916 | ||
| 1959 | 0B2676DB4D91487B862B25F68DBBD03B604BD875420565855CCBEF9AF0793964 | ||
| 1960 | 4FD45E490EFE697A470FA3C60192E660C45083E27B9E569DD1DBE07706975B9C | ||
| 1961 | 9AF2851279A7630999C92E9867F55D56CBBA0CA13A0F041CD0F3ADB318A0D298 | ||
| 1962 | ED48F8288691BB2CE08B6A73E9FA89DAF661F201947BD64C1EB769EA3A0C6FC0 | ||
| 1963 | 3DC343AEF2379881E46627AD2F653B4C6BC37E8D8452C3A7E399C0B6B3D93671 | ||
| 1964 | F51A92EEA7712A872D0BEBEBB071C83D9254A24C8799CCB5D2FF4DB31075483F | ||
| 1965 | 3743AE4BD1CEECE6B9432BB89399FE62B87DAB3B19FA924FCC1F6C3DCA1B0049 | ||
| 1966 | 51024011B8670DCE537387069A8732AC4ADDD77B2A0D5D97105810854595C4E8 | ||
| 1967 | 0663FD917B5B587B8ADA22351D79F5E5AD494FADE90336AFC27FF9FE8BC770D6 | ||
| 1968 | 0A8D6FBE6E45B3D4DB20E91A53D84C8B100813CEB9A81B03E142748475EEE77A | ||
| 1969 | 892B3458A3AAD744A20ACD28C7AA6C5A996C9A9900F2D6B3C1169DF3BF2B1A9A | ||
| 1970 | 56EF83195431EE89A89CCA5A0EB6A59D7D89179B6C127BA0981FE0122E4184A8 | ||
| 1971 | FA9094D9C3D54BB7CBA31FD03C7048A09AE67C956A5363F5D51ABB19CA264D9D | ||
| 1972 | 5D515F61DBD9C35D259950530A95350A313CFA8CF06413ABEF844771BF99590E | ||
| 1973 | F9A2F28975AFD00D700E83A59A3F0B7238CC74A8C1C9DB059C84DD91F1E07580 | ||
| 1974 | C4C1311FF1C4AF2AFAA07CDCE72B0928663109CB31DE1548C72EA321F0EAFE9A | ||
| 1975 | ACE0E0BBD840254E30D9A46162DACC79A07F21BA056BD90AD312A2D728CB94F5 | ||
| 1976 | FDD65516843523741D2430C5338FDB4274162B8C0409ABF94581C1A3D8636BCB | ||
| 1977 | 78A98069466C0C869BA08047E9C154DC6FF00A1DDCC2C4AF4D5DA5437BD02616 | ||
| 1978 | C0139731CAA7817984BE614D6D41E9C21AEA1CBC9E56C783F68364023CB95387 | ||
| 1979 | C71A72D9DCD59222964D04650181988D140295091175DD985F5B53B070D20B89 | ||
| 1980 | 5E4B621C848C9370E0687B45EB1070A688A94BE949D242AA6266ED2D64C2518C | ||
| 1981 | 4A5E75442F030E137D2E3BD654C4E4EDAFF7B46EEDCC9090D537B6CE01DD6D0F | ||
| 1982 | 1872A47A04ECDED2421B511118B0628148D2289B74B79B3A68CA7A2547D644B5 | ||
| 1983 | 2ABB83CBBFFE319957FD2189E272DA2C2E35DACA8EE229F37EB4C94C920A65C7 | ||
| 1984 | 165A2ACFF7B92CE4338F3030E157CC75281E1F33AF00386FBE6003C4C8CDB57C | ||
| 1985 | 4EA70A31E2CD15FE6732F98BE47354C2F92AF632B5BA1C7ACCA3633ED13919BA | ||
| 1986 | 106E6ABCBDC11006BA4560AFB17C7091BC1A632E7870B65717656A89EE550576 | ||
| 1987 | B5D3BD5DD829886BA59D186770871C3D293EBED70D66EE3AEA926F2AE6AC6CEE | ||
| 1988 | 30CE46B99DCEA2D15384C53D08C6F1A083A24C025D92832E16E816B893B3F2F6 | ||
| 1989 | 68BDF430788D1167B14633E0AD0FD74951C5826BE0F4B8CDD23CFAA88907C43D | ||
| 1990 | 1678FB2C4053E0E2056BC4B33F36A896D1BC212B0262B6CB59AB3A5ADCC027C9 | ||
| 1991 | EA6A2C0F1EA2DC6B88517BF08AF54C9B1A4A7B0A4BB9A66ABECB539BB6BA1F9F | ||
| 1992 | 313F2A5619949D0FEF977DFB87ABB8B8DD420F3097B2B8BEC00EA5A3E8C207CF | ||
| 1993 | 508C7CA5133CA63B98A14E11FB57BB7C461D7C8C767DB10E68BCEA1D5A4B7F29 | ||
| 1994 | 7AE639BFD660B1CFC78DEF00CD1278833E48A65BE281C9438976BBB475AC6818 | ||
| 1995 | C533FB4D2F4D3727B68F533D03554393D66FEFDAD1A3BE79FCEF05B98A5D9EF3 | ||
| 1996 | 71F4D16E531408B2D866286CB89B50DAAE9978B96C8BEA869F9E90B780F0C98C | ||
| 1997 | 1618C4F6FDDA21820BBA795B0AF3D00F96635FC5062544317A62A37060F965CF | ||
| 1998 | 3BF8A9C7B5C3D74914E0AF04AFFDA0FB1D1E644E2FB8125E94C480B4ED41FF6B | ||
| 1999 | DE326A771B82A9C44B4DAA194D3C2A8855CA293787D7D5F466A2587860B64408 | ||
| 2000 | 6F14F78C085F63E6B63AC41FE7574E5E22C723202B7D42A1BE0D14A299231F75 | ||
| 2001 | 66FB900C2A030D0E09EF5107F9905A5C66E6A5648FBA2B8E80217160EB797496 | ||
| 2002 | FE3D4904C8E3B6FDE528D1B931C369AE5115114B3701CD40B57457341D735576 | ||
| 2003 | ABE1907500771C3EC5F562B63DCA85FAF5769ABF0F8F74A678E508A59802F1E1 | ||
| 2004 | B11545E6C8697D1A7FBD4ED7A5DE57778DF66E04AD354E5A45E199615C6CBFC7 | ||
| 2005 | 7F6C232D710E8CD5F9953DDFE922B2CF50F02F65A96E1BEF0C1FE6B5C52415B9 | ||
| 2006 | 052B9C062B532A6B83260D13AB6D3B2A48D780E03B4519F4A2152B82D1A90359 | ||
| 2007 | 7CC62EBC5F26608232CDB89D2CD44F0E889AF80B1A9F8C0B9DE0EED9787D70AA | ||
| 2008 | AFE3DEF464503D9E56674C9BCD0BC65876F2F455C83412E8FCAC08ADE7F8E2AE | ||
| 2009 | CDA7A57425C7ACEF0D58CC85F71D8512B32D9C06AC001382A4095FEA02E2BF2B | ||
| 2010 | A7EB6C298B10CD398780A7120CE9A31DE391C349AA273C890F620172CC434C23 | ||
| 2011 | 33265359372A5451C4DACF0C859BA6D37AAAADD08D2F85DCDA2399D894840D7D | ||
| 2012 | AD9870DD307B9D602661D7ACA2F84FAFDFFABF5A89AFA9973161DC1CF3A3943D | ||
| 2013 | CB84A9C241C8B6D6CBAFD2DDC75166C3C2D5994DF4D2C60739F34E7805582A15 | ||
| 2014 | 76191F4150309E55FA04EF8A59C4DF8EF1C95E57F0C255B63C82A7775D4CF3BD | ||
| 2015 | A3C56600BB869D411A5ABE7EC6C67437B328DFF2F2BD6267A43D69B6788802B9 | ||
| 2016 | 249DAE42336C2A3DE75816951644C742C36C51F120943DE8B75052EE4405A346 | ||
| 2017 | E157546DCB7D845D81AEB84E70B857B9152C3FA6D5F3BAEC8611C14F67B54DAC | ||
| 2018 | F58BBDBAD4C473C0DA872330902A46610865EB0EF8F97078841AF74758F0E6E6 | ||
| 2019 | 3DBA2B1659FB937AADD1C8A612C61F0C1A9636F0624E64D6D92966D892F44F09 | ||
| 2020 | 48A4BDFC9A83C267ACEF143585C51ED45F59126AF7EBCEC2B9584B0FC6C1E670 | ||
| 2021 | FC382E476B6C33071A9FD3FC2D0F943DBE055BAEDAD6702DC0F474F9B2DAFFFB | ||
| 2022 | C0AF48B326EC447E31210586B7DCD517FB61F4D4870A5E467492F40CCEAA4F2D | ||
| 2023 | B06BF4FD8B31D9650D032A0A28E1D413162C649352784A0414C474A82DC471FF | ||
| 2024 | 1FFBDAE7795DDB8BF3DF22C393E939F5634C540DFE2590D71BC1444BBD79A9D9 | ||
| 2025 | 7261CAC5207814AAA58D8B135A52A3D3174110FAE364257A6F79AB3B73B52A0A | ||
| 2026 | EF08DC05593BD0327BEA4697339E45996E5D6812D166165790D8E4543C130DC5 | ||
| 2027 | 34725E44BB037555803390CAF9F94FD6BC08AFC3ACE747B9728D8CF0128D5B4E | ||
| 2028 | 1275C4BD7E50AB5F980DB3C3281E3FC4A500FC6DD0038D35F4F5589679647238 | ||
| 2029 | FD7EE68BFA9AE20EB140B7277073E6F26C7EF556FD311D510C92E89B70762F42 | ||
| 2030 | 410ED318AFD46F66F605E98D1EF12F00727B3B3F21F695241B4B5863FB1C27E9 | ||
| 2031 | 6BBD4365B9AEEFE8A18AFE350731AAA0ED817498539433027D50C8D38284E888 | ||
| 2032 | 1E6A1E6CD54F851B264E2FC4597A6A4FE03C7CFFF7D1F75CEF43E97B22096A1B | ||
| 2033 | D8BE2DC4A899E64492359B346D9C0051361B6AE9DF079BDF21FBD274597B3C02 | ||
| 2034 | 4D0FB1C66B8AE0AAFCE0C1CAC54BEFE069C0BE9505EB0B1AE60869B63C396698 | ||
| 2035 | EF594E1C8E5995AD22DAD027BDBA4BF2FA9B570E8F0FA3CAEECEF6DB8C4819E4 | ||
| 2036 | AEBD7165A655F1B7828527DCA9D01324FBFEEDD6797C8E3E9E17B760C70D7AF8 | ||
| 2037 | 8EC0AEBBB2C448DFDA6B6B4BEB43291772174F1C369DBD1C4183C8E00A4DB46F | ||
| 2038 | 208C324163E0BDE572A84B85393892545249DB26457AF5FB311CD5EAA11D7F9C | ||
| 2039 | 3E491B0D49C77898AD873381077DF84EF4498C012D7752B22F0660810B6EC0F8 | ||
| 2040 | B66D447775AD659C51D3893CD2B4509E8B9D1413A99527F720571784E7B9302B | ||
| 2041 | 92175F1FCA726E8AD6D82B9B7E853FFA5739D0DE0A02BB115DABF83B1E4DE706 | ||
| 2042 | C23532EE82BD57109F9A7A4E6A87DB4FF5C698B04003312F1BA23AEEE22162EF | ||
| 2043 | F22F7D338554AB08625B26D74F7D23772532A371AEDA9CC2962B0B665393FF04 | ||
| 2044 | 0B032502628AC491E593D0D450757AB016B2C74C6AD44594E0FEC2F880B578CB | ||
| 2045 | 5C4D6A409FD6B64B9F1BD7CD8B69676814D169609D2ADB2F1E98F6C8F1A16D90 | ||
| 2046 | 63FEB3C8FC663DE0CCA1C5CFF03828FD1DF28678492DA710EA61B9096A173CA5 | ||
| 2047 | FA8A85DCE00EA42ACCA03EF856F3F17FA32A69DF9F73C46944705C5DC20A7535 | ||
| 2048 | 34CCC3878E878A0BAC55B7D56CE2C43C102D0AB841BD4A3C5EA0379D321413C8 | ||
| 2049 | 6C2DF639D4EEA521E0A1C68D8B60319EB999707001795562E8AED4ABFAA486FD | ||
| 2050 | C11D4F12ED45A04DC72264A882C97510C91F2DD77E3D5685DB2CE52C4746F613 | ||
| 2051 | AD98EF16AA9773CB00735151B7D4B9315441BC3B8BDDA5ACF619F49B6052AFAB | ||
| 2052 | 0F19D9ACFC8D6E0CA79A25A8360F9749EF39FB60404E318BB1A98EEAD98FA0E8 | ||
| 2053 | 40DFD76BC3A84404F7D3904BFB2EE3597D8364EA556E4F7D18F32F1D86D10287 | ||
| 2054 | 8AE46984461ED91AE22B6EFE0CE5511921B539122DA3EB48707B8ABFCCF2E6F3 | ||
| 2055 | 9408D626EBD0C2A1A87827ABAAF02873B675AB54BC6CB5B40E697471320BB686 | ||
| 2056 | 9D845AD686DCA663AB31B4C2A1915C55A814FBA82E77736F7F258C1AE7B42449 | ||
| 2057 | FD341CE08D65E648A3FB4DE280353F79FD70578A0C38C963461BE98100EE4084 | ||
| 2058 | CC1DEF4E35B10BB81C632FF1AB4511B80C881A729EAB34C9E9D217E3A57EFC52 | ||
| 2059 | 6B73AAB4911830A00BA599013AD3BB83BD3DBC7445C316172B3B8A22B8148ADC | ||
| 2060 | FF33379CBA195094D2C2CCAE0E260D8DFEC35153BB3533BE014F456A108C9D62 | ||
| 2061 | 5C21C1BCD3CB9D7AA0DB74AE571A88AF6BEDDB6DE3DAF92AE60187819E8EB8A6 | ||
| 2062 | 7CC1CCBB5F23E63A107EC8143F0F69B62CFC95605231FE605A989407218AE464 | ||
| 2063 | C2B566EB86E1075B0D8FF788B726FDA5F5F2D8743C39224C2231A46426F3B6AC | ||
| 2064 | 747E69C46AC322733DC052641526E775F10924F0AF404C37BD47369986746AEE | ||
| 2065 | ECC7CAAC1B2CF6E5D86A46F4F6AAA2BB7707BA4D89F1B46DA3024A84228E1A5C | ||
| 2066 | BA5EDB68205AE6971A255381FC06BC03644D67B082FD503F502B28141D437C84 | ||
| 2067 | E809F5C78BA5FBD5B8D51C012C3EFCA915505897C8099F0938EC15464FF4EAAD | ||
| 2068 | 2012A1239E0251BB126F4E400C170BD1C47656CC010235236733633CE22A43D6 | ||
| 2069 | 3E043B687B32BAC9EDB90DEA0D0B0015E8C1DE4EE0B0E0C10F2F50F4E35B31BC | ||
| 2070 | 915A1D984614AC0B10AF2FF1B28FC135D07072C0530C50FB6ABEBC1592CAB0C7 | ||
| 2071 | 2FF36245ECB609DD787852E5509AA57B3EC5F6186B16A4EF52ADF58D7ECD1D34 | ||
| 2072 | B2BDC2BA556F7915F5293A8CB3F44E707A57F6CDBD91E90F9146874311F25B80 | ||
| 2073 | A7348FA90D09459843F842FCCECFE4025D12B2BF2B61CA32E6F72B8618390560 | ||
| 2074 | 0157F80C82BC6A54B9F0289215D94C662CCFA55EFD0650B0ED761D98C65BD47C | ||
| 2075 | F7CD595FEF1C7DA57F3B79FD55ABBCE8D30B1D0DE32994D52F8885A87F0C109B | ||
| 2076 | D90052BCEF87DE36DB4A852E910C792C094D0D0228C53D20ADA83280C79E9100 | ||
| 2077 | 8AF8888CAB9835D6CE65D7FE36B18F365C4F6324DD5670157B37AF55B205F460 | ||
| 2078 | D10A0D16CDCDA78539CF166ACECEF425A1740B7C8F02D13F2A86070416AD9AF7 | ||
| 2079 | BD30314C6DC920E3CB78117564ABB1195397CD66FC92F54B5F1535C15E02F763 | ||
| 2080 | C92A2F3F4CD1FEAD965306DF3614D0362B0191492905777B75D8D1C6F5064A1F | ||
| 2081 | 111B7EFE43756B4F0996030C00503EFC5351D388C150BEC0FDA5AB0E218423E5 | ||
| 2082 | 78F87F1B7684AFA6DC450EF115ACF8AC2C8DFF33AD39FEA1008A46EA9D6BABBF | ||
| 2083 | B5F220B209770EF010154C87A4BC067315192ACEECE255BC6A5896C2F4963170 | ||
| 2084 | 576E250C3F8520E1E413A30A1C17F50F6E8D2DD87EC02320176F355709D75320 | ||
| 2085 | D1747ABB9EA215793CAF3BDAC8F5C0812A630FE85D7FFC3AD199E5D83B068C44 | ||
| 2086 | B757C8A127C3993C01E25FD94725415298FCFA762ED456DD7DBEDDA2F7AB71E6 | ||
| 2087 | A289E0F59FAF62E3A2CB6A0995CC06838C8F9A6E19226B0E0953E2BA3764BBDC | ||
| 2088 | 257212FA3143D2B67D308AD49A0B245F0A97B09919C307B326D575F1F865ADBC | ||
| 2089 | E292206795305174C193A4CABB0044936E51BF95D0B13E81F2C64248F1D9749E | ||
| 2090 | CEC22448489B2AC1D766933B570E3471B4917ECB1D66E0A4779B084B1D22074D | ||
| 2091 | 108867FEC1329F5B30FA344C19FABB7C09A50F49A5B0A1C42413B3ED9FC39B36 | ||
| 2092 | 500AD32B07AEE4A5C0DFE29DAC2C6FEC431842A473EB710293F23774FB448E51 | ||
| 2093 | 3EB6B4A27D98078B2A4DF3A5F0F41308374765C86C0A879641FAD025EB77D7BC | ||
| 2094 | 9328E717E2EE4AEF31A3FD23573DDB8E81F20F6499FC2BB4C94D3F1054785E0E | ||
| 2095 | 6F3B8D6176EDA6E386FCBB034F6E82F6FE43CB83AA1147B05D51BBB03C477F54 | ||
| 2096 | 38FC98086DE0E04722C5F0CBF9270E0DFB928EC7387710118513A3C97C0D6A9C | ||
| 2097 | D67BBC5AA5DA3A33BB0F534096582355E0B3BFF7E6536FBF496FE4E05F006F88 | ||
| 2098 | C7C28672CC58838790821AA48534FCFB8DFD4EBA9C94E4F50E0B9E046651F779 | ||
| 2099 | E11B8915503682E7FDD90F05DFFCC5A009CE64FBBD223E2634DC95803805F4D1 | ||
| 2100 | C27B4D543FA3EF2B222DAAACF40C526B2A1563C0968E7F2FB22489810A530519 | ||
| 2101 | 100FB442B5F972F960FF6BD86A19A1F297F93DDFF83CE2347EA3F861596B961D | ||
| 2102 | 4FEDC423B8262ED0F0352DA19F07ED09117CA72EFF0CA7B666EA45493D1E1317 | ||
| 2103 | 559D4B5D278F107042D276C9AFA6A093ED696867BC1041E5F25B11C1687C8C1A | ||
| 2104 | 72DB2FCD4B632FC212D774785F2D3579BC0DBDDBC8CCFBCF7B686ED3BD92D4F5 | ||
| 2105 | 378CDE86406399B059198B66E88BB9EF7E572C6460C36B0F2FA3E19AC56F93EE | ||
| 2106 | 60F1F7BCE76F0AF284C3F41C8BB69F7D34B4644AECA4E9324CE2EE4E4044F4EE | ||
| 2107 | 7B9C28E8B454D894445AB47B05F7B4B94529808A007A5E3A7D323F661F9D9C0B | ||
| 2108 | B5BF1C24FAE9D951AF26493C3C9302C4C040A33E94E6596246511185628C7A02 | ||
| 2109 | 15D33184493337E2543B1D82FD5ABF4F47E894E809C51DE0ABE163D378910FF1 | ||
| 2110 | 717FA82AD420E076611F5559AA027F1F82433B4B103CC1541D342330D9BE4592 | ||
| 2111 | 9B9112E1FAACB0FFD59326ABB3A352C54D097E0B79A91A0CB39B77AABC40D191 | ||
| 2112 | C895ECDE7E9439DD2098E2D81E56F13F178CB8DFDCA5759C4580BF1DCF7AA3AE | ||
| 2113 | 83F2D998FF3B9789DDD4B2A3E1F5CEEEAB48CB410F5C07DD3FBB4C362BE0D32B | ||
| 2114 | 5BEA9A428692EC6585A20F11A5C73FA22D023131B1B416AC0B2F4A4C801863BB | ||
| 2115 | D43B180F82391830064FBCC5A233E3ABC5B30C1FF8155C61E589604EC6C16E48 | ||
| 2116 | F3C676C95C57B8E9D4305C1B1C7ECD75B3A5C7F8B8849AA1B46FDDD928D92B21 | ||
| 2117 | D0B6FFBAD0B71D101EC153669E32324C497CD26093D0D2E4AA197F9D5E459C50 | ||
| 2118 | 709C64D20552A3B9DA9475D3658C302B5E7EAE0DAD3F9270A327A6644AF5C3FB | ||
| 2119 | 8338C062F33478E38E82C09510F27C2FD1FB2D304355F28B35C9EDFA0AAED925 | ||
| 2120 | F2D1493BECA291483EB47FF0442C3692D29D10FA92ADF3C9AD85D5AC09D35949 | ||
| 2121 | 166DBEBAF7D425DBDF179F8BCF21912C5A2123E869DE9A9CEB4803F2C04414BE | ||
| 2122 | 45DF573DB40F5B9E42406F49862C7B23826CCCB05E76BA23BAA5A17CDA93D4EB | ||
| 2123 | 59569951158FC068E32ABDD8930D6C4C58A7DE1D39030E3B818E3382938F466E | ||
| 2124 | 47E8189A6B902AEE4798286CF0C032E0F2AD018380C904C2F4EC61ED98CCDF25 | ||
| 2125 | 9E2C691BE9812FD5E0CE01F2C94134C9F0C05F4B7F1260DEC20B9907E1B5D372 | ||
| 2126 | 8677FB4F0485ED87A3F6EA1A647072D635F7E2838649CFE37A4FF8182882BF7E | ||
| 2127 | 9474583F4E9D3548795E0A63D4859BD27B662D156DD893B3799371DB1BC75A38 | ||
| 2128 | 0F454EBF825D683CF2CBC8B308AEE9D8FF8EBB8A7DEA067AEFE8CC77331156CB | ||
| 2129 | 20210ADE2B5DD0A9F77BB6E98F3630800BF33915E73E515B34E58516D1AD87B5 | ||
| 2130 | 00A8969EE2595D2365AD69FA4F67CCAA7D243B8D03FB39CA136DC1E5FD434750 | ||
| 2131 | 8A329F7D11DC4D33F6A0BEC9A23E5EE1A18FD5C3640E3F30FC2D8CCE5630E618 | ||
| 2132 | A273CACED00DA6F094148C5D6751DD983A2823418223E715DBE8ED167B2D1999 | ||
| 2133 | 650D0FD8685884BCF1D6147C162BDBBB6597DCEAED3B5CAA75F301D46F2F770A | ||
| 2134 | CA1C8997E99D16CC0A58572FE1D68383D87335A38AF8C27556FF19CC421B8BE1 | ||
| 2135 | 8AF89CDBB98273BF4E43025A710B4ACB5D7F2C77249CF1756282B74CE43F037B | ||
| 2136 | F62DEC52EA41330A2783B5E64F72392EE25FCE9A7E872F4A9AA7BB41E5368888 | ||
| 2137 | 6DC531A2E602696EDA1CD3DCF808F62176E9198AAE9CA8925038D41E17570FD2 | ||
| 2138 | E976F627F7213AC8EE1B2BC240871B7CC1C61B81BAA031B8396536AA62A67DE7 | ||
| 2139 | 63FBDFCFD363DB5CE786230B302B786A859C48BBA8CC27EADB1FBC84F1059FA1 | ||
| 2140 | 3A02148B4CEF5DA6D90664E72DC6F3EA267E4102102F18D79FFBE4E2A642E94E | ||
| 2141 | F3D9376838236476B1030A0C47D28F4E7EF6358D213AC0A95391659FE736010D | ||
| 2142 | 355826A83F7FBEDF3164FF177C16C41789E84F375C6FEFEA767DF654B0533E98 | ||
| 2143 | A1430FEE50F41D39D41DC2ED6EA7EE1FCAB31FCE526D5556E89D36F3B402C5E1 | ||
| 2144 | C0CCEAFA157772B77556AAC8F874A019EAE0A797BCF85655A7834D4DC32D388F | ||
| 2145 | F3E48C0F7B338BBA1C9E949C5C0BC1A727A77FEBE57E1421FF81FE4AA81869FE | ||
| 2146 | 86EF313CAD75613726AB3F7508BC904A7E55F092A16D605802D36509525EE2E0 | ||
| 2147 | 18B8CE25A0BEC74D167F9E766E30C4EB0D7914F4DA044FD895F3A9C196E23256 | ||
| 2148 | 9033CF1E352E82193458B6CFD32238CC93CCBB0E05E8E6AED8CB27157BB148C5 | ||
| 2149 | C644977C16D7F4FC50DA22A28CF8F945B5E0209C8D715E8E7D9D80F32FEACD13 | ||
| 2150 | E6928F4BB60E9684C0F865C9D0C2EEA5EDB0A355FB16426A2405D124F3A01977 | ||
| 2151 | 1DE108F66E30EE01ECAA74FE0DEC9A6D485B084FA8A38EC3A59B23FD35B72F87 | ||
| 2152 | ABC6B7D73EDA44DEAC4AA7285D15339EAC0B54B52FEC5B7EA723622704A3DE1C | ||
| 2153 | AAD548509991E18B3AD4CAC7FCBA320ED3989A185CAFA4E22A42E1B5C209F774 | ||
| 2154 | F5FDE4CF0FD23978F3C37BC3EB97A0AA9B9CBC66538FF705F8F7E2C3CD58A359 | ||
| 2155 | 40958DC811EBBD7F16902417BC1C97C3D409E4039E0569C6826D22923806BBCA | ||
| 2156 | E601CFEB9B249597BF69BB74FA9607EA9CAC2DE0C8B958574B715D64D5E2AE19 | ||
| 2157 | DF262825913DE26CB598B36E6F8168F7641A58018B9ADBF73237113B9FBB958F | ||
| 2158 | 1A3CF592672A51EE2463CD7F22F058597DB9C7316CCD49EFAEFB6A20646E0DDF | ||
| 2159 | 794C0A9DFB62A42FC95483D7F578BA3163317AEB14561F49F6E2A909B7C92370 | ||
| 2160 | 2592FF0614A1AAB9AC39E93A2DE2D38330AA56BD51D1FD225D0DDA8E91B94267 | ||
| 2161 | 127CADEC25E9769512EE28557E051F516329445C31D75E19711CEFDF77224F25 | ||
| 2162 | 8B590ABB3BCACF4C3620142B0401F7218BA00C67A748A2DA5F784EF53521F536 | ||
| 2163 | 7110D64B659B7BCD26E03F6D35A6EA3452A8F33B4A4E580AEDBC83E7D882BF65 | ||
| 2164 | AACBDB77189BD88AD8A0CAB62EA74CD673A9B37AD1C40065C309BB399045594D | ||
| 2165 | 7BCACB882630E12489BD5E049F217C8498287D768B4D0BF904BF0BE1C6340D18 | ||
| 2166 | C14229DE0AC87C1FB28EAF752A2C88FB5B80A4EA1066F11DD918A2FB2E18DBD8 | ||
| 2167 | 384E38D2B645EB843A019723C71FEA7C4D02621308D92FD72A10522EFB409D8B | ||
| 2168 | 9A5E51F4AA9D768ED428750A6F34FBFEF6FDBF163B13F6FF96450BC2DE22D65D | ||
| 2169 | F7F0F5223CFD29524C61D0070228ED1113C58F48FA3154E53E67567B46F7040F | ||
| 2170 | B03DAD476D4B4A2705ED9521BD22F48AE00AD101CD53BD79B7172ADBB6D4C4CD | ||
| 2171 | 951D9CB787F957A1177A7F967A3B867D48A74A0EFF9ACB491BAAB6C997896895 | ||
| 2172 | 2F3A1DCFFDC2D71659F916C1630ECE089BF7318201DAEE72972A8AFD0C69D5BE | ||
| 2173 | B5DBBF85ACF39AEEEB8CD634A58D4AD84A49E75E39A5799D53DDAACB7CC08310 | ||
| 2174 | 23D44AEEC34D256B1C6C208CF20E986B5F52A866FBE4221FF02A77459AA91933 | ||
| 2175 | 4DDA62FD7070BBA306D113FFE2F96090AD748C09470FEB4FFD0CF8C72EA68FB9 | ||
| 2176 | 3F00F3F93A56DE5659A40ECAFEDF5E3CF327CBF8DAC7DF31F0F02EC416863D12 | ||
| 2177 | 2787C56399B9BE4AB5DEF7D7E185FF02521844F75C48D1ADEA4C0D8436B3A780 | ||
| 2178 | 8A55EB846C5CFFFC5D207B0F269DB3DAA7E06FFFAD34ED5A49BFFE73CAA09B6D | ||
| 2179 | AF0C693F71CE69B77FC1378A3C4790CBE8B5546FFF134AE8CB103DD6376EF16E | ||
| 2180 | 03501532E3F725E58F36089E3718C635EF95FE9921EEDB08F0CFAEDDFBFB3336 | ||
| 2181 | 517AE8ECA540F6918563EAB9D1B5E5BFFAAADC83D0867125E2050A05EF871ED8 | ||
| 2182 | CD0AAACE7D95D37065EA0C92E46115A732F468AA43FF12337839C206157A96BF | ||
| 2183 | A8DFD01BFDF8E2D76E4D46C5B9AEF23193156FE4B535C6155F79149384737DB6 | ||
| 2184 | BAFDB4DC69A64056EEE87A1186B137B6D9D394EB8811AADAE996D67EC403083A | ||
| 2185 | 86771A4CDF9AC65678A65DCF46CD1EA9CBE4C1D839CD7F166BA2CA8521F698FD | ||
| 2186 | 4CDEF798D360867ADC4C8FD100DC3AB3B62C5BF2527A688D3DB498AB5F407879 | ||
| 2187 | 970F2EF1EEBDBC4521CFCBC3E621F992F3EAD3E9737976CDB56596E661129545 | ||
| 2188 | 2EBE036A72F668E809D454DACA709F2C0531CCB26910652CCBF94EFC3A4B3852 | ||
| 2189 | B144EB820877E7A55B33B3E9B2B1786729B0643517AD956A7A4779334D0A342A | ||
| 2190 | 3DD38F70100854C0B3032397BCDA640CD12C985BB2B5835AA83D442166613350 | ||
| 2191 | BACB4CA9F706141A9E9EB3DFF314B1A82113CA28B74B6603D67AA2D15A36972B | ||
| 2192 | 1D8B0057D3D8EB92A1809023EB95762577BD753193DCAF7021366943AFF53A8B | ||
| 2193 | A9ECCB74BF27EE70B1D0B73078CA5CB5AACC1BEE0A61A75981F8A0A3253035FA | ||
| 2194 | 1D5D6A1D47DF111693DD9A1D35D9B865C06BD05A688B0D9BC285C0EBB1DF7B2F | ||
| 2195 | 2CEA26CFF7583EFED470D4BF02CAE6E4CCFE5347F61F669BF8E82ECD2112E672 | ||
| 2196 | 86D10C529DDB600B5237C11BEE28BC3120A0E212E2ED4F52BDF6980675D7DE7C | ||
| 2197 | 89FBE11E19865B1C163EE5F4D410F95A434056202DB1BDD10B3A75FA3C091D5B | ||
| 2198 | E3E2F888A6509E1755BFB39F9EE35AEACEDE970EAF42BBFB0D441BED621A8E20 | ||
| 2199 | F504AAB0F511661754B03BFBDEE9E5D704B1FFC70E429E97B8C5651C90044269 | ||
| 2200 | 58BB39683838446D49507DCB70AB0DEDEFB73F05E621BC7371D21465AC659AA8 | ||
| 2201 | 90786F8CF2A0B0ECA4B40774D7143F92F2B0A95417C475DA5308B5BDCEC67A74 | ||
| 2202 | A425CD76801FF2E115FA3A95818D088392C84FCBC00D3B3C7D683253414D4C5D | ||
| 2203 | 74446BBFD130AC89A0C9B68BB1CD772A1BFE8776D0772ED8C00C13C8D0412D7B | ||
| 2204 | 526A73A0E38885B79551DAC3E1060537C0EE8FFE574C4B9E8155E2CD83FD85BE | ||
| 2205 | 191BDD6ACAEE898A02717A9725196FA59E41FB45D2733CE77289FD178AF07D7A | ||
| 2206 | FEF8D6BABC7DA5425A45AB8EF3C2E369432252E497B172A6FFD4D3DD957C0E26 | ||
| 2207 | 0D3D402EAD21FB3E404DB8082DF2ED2C300A0AEC0DA12B7FB571F415017D44E2 | ||
| 2208 | 57509A41CFC2284455635F50F06937D23699B43084728FCA9DD25A7264B9D1F4 | ||
| 2209 | 2E086976B56237887470653AC62DE323911A64507B40DBF281BB060AE635F37D | ||
| 2210 | BB4F9EF7456EF62EAACAB52F0606DFA777D2965BF03D7CDA312AE654EBFA92C7 | ||
| 2211 | 580B7C2A2E604389152704BDF3008ED2F58200D825D0F60C7BF39AF14816B2DA | ||
| 2212 | 5738DE7338132B7E7E92424B7FDFB15D8E1EC176CBB7E15F3FA064CF04E357DC | ||
| 2213 | 72FDD1E8AF8079B1134EAE3E5CB6A7262994C71714691E8BD7CFF2676EA4D0C2 | ||
| 2214 | A5FCD6C622B3B34469E3B2FCD810AE0252B2814EB02C544B0458CF12DAACAC5F | ||
| 2215 | 4A2E078844AC2AC74543F4763CDC6FC081073CD60E276AA6E7F1D948EFA02C23 | ||
| 2216 | 2FC1567CD952C837AA1ABD3E3077F5AA7F9986F01B0A9EE91C0EEA3895260CB6 | ||
| 2217 | 3B4EA5F58F8C8C23D42C81764E72399D2EDF40C8F18EFAF113AD16E753263943 | ||
| 2218 | 55EEC4F01AA885DCBCDB7C9E251210AB2B9382EE45050CC1184F592BBD65D6FD | ||
| 2219 | 44D9EA6BC7583CA725A1DCD28EA77A085B0A47CFCF5A847C5D29C4F64F2A17DB | ||
| 2220 | BEAD7B3BA43BAF8548B65DFB4814135A2A789E7E76C978DEAE0138AF8A0AE4BD | ||
| 2221 | B4D22A02C169BB0DA5215B2B91A10ED3A2A9797E5C5FBD11BB295B02C7498B13 | ||
| 2222 | 6D90D8CD79D4606007D408E8D336D75D42519BACFB7164C2797F0E9FCD98F178 | ||
| 2223 | D82372F263BAF8B2D1F185E549BA63428E2B8DBCCDD243AD605DD10666F367C2 | ||
| 2224 | 3EB98C9157E068FCAB8D91AF9683EEE87A1158A562C911574136CFC172D50C4F | ||
| 2225 | 70BC388C728E821395579A081CC946F528CE6F3471B7615F67623F9138DF8FD0 | ||
| 2226 | CAADC4E42AEBF892B36AC169C716DDA724300E9378B809DC6739929C3108A812 | ||
| 2227 | F9C116118E9AE1B066E1928A4A442CE02B2D3BFE18D406AAAC1603E754224AEE | ||
| 2228 | 1B802E92CCDCDEF94BAA8955F389B7565AB67D73CED601FA7BFF438717EAD65B | ||
| 2229 | 449941F0C87F048B9186C9C78A3D43A3D4C372B5F8DA74DAE6DD2A2816E44303 | ||
| 2230 | 790F04C13F08E0815B43FCD837A67BF4A2A86FECB6ED6FFA56018961A0C528FB | ||
| 2231 | 472971A8E4C47C974DE12133616F3CBBFA20CE57B572F751649D9AE64A61F271 | ||
| 2232 | 0DDE783CF2509DFC2ED2CE7467574AAF79101D56D3D2664DDA30FC7DD5B5C6B7 | ||
| 2233 | 0BD084CA516A72E6D3F8B7FEDF0F11EF9CA594C2318EEA3CC266A2F4C2F2AC2C | ||
| 2234 | AB1ABDC5F7419F46308865F1FA63CF2AF4AEBB8319372B3305AA052477ACD838 | ||
| 2235 | 7A35218A6CD4A7C0ADE0C3F8B005D6E30C8A208A3518C1134DC34D0E64F804A4 | ||
| 2236 | 258A995097F17642E97FE9CC38A34C250B8828B4FBA1840EECBD06D427FE7E10 | ||
| 2237 | 4EFAFEBBC934AA295E12F25D6FA3D277C7C88DA60D818A8A303364BD6B2C0288 | ||
| 2238 | 6E94BD8E474F28BFB951BE4ABC493AB0EA6EFF110193105DF8E9CEAE1CE549D0 | ||
| 2239 | A907F7A7CF1AD20E121FA6547F93CC10D7957B36ACAF213EE436C92A00AB1A24 | ||
| 2240 | 540E535440938E748DAA6401133235D1CC74EC8FF80F9E297FB6C56C12B4E0A4 | ||
| 2241 | D53AB28F11618F2C793F6EACB593E56B8370ED5CFF467B5FFF04AD11BC5A3AF0 | ||
| 2242 | A6EF110B540CD2C87070FFCA3AA0776FF070C384BCDACB0FBD4921C06E24C8F0 | ||
| 2243 | CE590D788FB8C1BCF9E083B4778818F92269C274B0CC6565E2D70FFFA2480381 | ||
| 2244 | 040C5CA012341D51427A59C3FC9B5121956B4323872E67BA499876052131B266 | ||
| 2245 | C21F0B8B37902C7C3156FAEB668AE6A7851BC7AA62FE60D792B35B6A38183B23 | ||
| 2246 | E5FB11DBBAF1E60B0D9DF0E84B9EA6F1EA6C37B84736FE657F4A29E92F7DD89D | ||
| 2247 | 3473C81FD7F595770BA69C91DAA3154425278D323C3E50A14FF72A02BF3820D6 | ||
| 2248 | 6621B91A96A1D2F76710143D41C8305E02810780D868D822DC6056DFA4690F24 | ||
| 2249 | 90BE5BB4F14902B97F5FB4CF31A6C8B346A76B95D82EEF610AAFF9F6B88E782C | ||
| 2250 | F0E46DD18BD1CD53C92075AFEA0C1F0870DA52455847B22A638DABEA04C90ACF | ||
| 2251 | 0D89E8345F118E5E26A3934AC0C0C9F1269946E17F1AF5759123CE2359B60ED6 | ||
| 2252 | 3FB22A23380A34DF818CDA8570B36B92C4634A80AA4ABEFFFE36865AFB384DA8 | ||
| 2253 | 70E5CB4829052F8BEB962841C2030BBBF874EDEFE149EB8A38DE0ED59903FCBC | ||
| 2254 | 25788EFBB825265AFD7FF2F8D5F9A947EA94A368C52986E8640A6D6A11B14DFD | ||
| 2255 | CF435B2F1F7C168D1E9C7B84B2C2D9E235DC59799B99971FE9E6D9780EAC653C | ||
| 2256 | 981FBDF083B949310FF20F7B383BD10737136E88B9D294677C7C63CC50A41AC1 | ||
| 2257 | B4649631134034DB9FF76E0B19799396A232809A5BE397B63B528A0E860D38AD | ||
| 2258 | A90BF0D4246F012E19CEABC74F21E2BD46FACF96D5F033B6023A98DA51653D59 | ||
| 2259 | C306875AA02EDC3DB78060D72B0A00596BE36367A1681ECFEEFA447DB8DE6879 | ||
| 2260 | 18962C974B55038A8F67AA553ECD27C6C72D46CEADA75D68D7DACB40B063F9F7 | ||
| 2261 | 464401B0AE4CC61A1F55A7E40FBD0FEB890DD2FE36D9641E40BD2F6D20C54353 | ||
| 2262 | C3B282E7F46D61EF3A41F8BCB31FA38EE2B99B671841DA2FAD644C11AE20B6F8 | ||
| 2263 | C7D5D99806643412273F874273FBD04C65F048D76086EA1156F07A47CA0FE349 | ||
| 2264 | 391E906747C833320E84E18781C61DEA8FACB8D9DDF08D29E5983F2E1FDC8C72 | ||
| 2265 | C200B63415529A45978010EA5C150BA9D70CF4F5799DA551A1CF7041A17DD5F4 | ||
| 2266 | 153A868BD4B81A25551784E2A6EE42996F4D6CFAED97725C940C0FE9FFE0AA31 | ||
| 2267 | FB2A32941E6C555FCF33B4B8E802C40B423599C8E88C6DF1AEEC28938FCF3BAB | ||
| 2268 | B6846C20D7EC7278A909073BD15BA75F470F82237BBFF6E7287A3771378A944C | ||
| 2269 | 8CA6215F95437DCC9EA67F7A8721FA63614CA7BC5054EF5E5716FD4B7DEFDE48 | ||
| 2270 | FA8D2AF9F0B3BD92BF5F48A0DCC8406B0A940FBB5D35B56A49B7D4605A00F82D | ||
| 2271 | 495AEBF2B413F19FE37AECED8060D5C32E9FE0EE9C0FB14045AE87D04B92A734 | ||
| 2272 | 0A35DBFFE12CB1ED64C924E4ADEE0AD635BFC70CCEC92FB07B1DE13E3D14B09C | ||
| 2273 | 94590CE5F2F4B7D0C697F6F30E217ED09B35917714712B1182D687302770C205 | ||
| 2274 | C3D17944AC1CC6AE2A023707E13DC1299256DB1211650F76A969D74F940CA580 | ||
| 2275 | 6B499C40B76BA77D12688A8CF75E90A19AA3E368D6C99FCF8163450CAD6EA028 | ||
| 2276 | 84D4E9A5279013354D9C8D7FB8BCF3FD31433C822F0A412A3115B0E5E71079F6 | ||
| 2277 | 60C6BBE10380872D5D75F1BE9BB6DE755103E4B376458B97E0B50BF8932940AE | ||
| 2278 | F95D4002737966FF15A0B67C5B717AFF0E95B9F8F3498D7CCB538FF133A977EF | ||
| 2279 | 3471FCE3B83D5395F282D1982B2A6CDBD1C0DE44B3CA286E7E3F3E82B3561635 | ||
| 2280 | 6E462A4ABFAE8DE9331FEABA97AE7E7C93F0A30F4E3FDF4DFD66E5CBE234ADD8 | ||
| 2281 | 0AEFB354B80ADBDC128EAE328AF10FFDEF587B462A88F62F463D640C4F8898D4 | ||
| 2282 | 1AAECA8EAE36639F6CC17B68BC1F1202F462BF7CB20CBD42FF2DEC420B4A7001 | ||
| 2283 | 90A1F1499D49731DBC0C5DD4AADC4C32A7349219F25150117D733A0D51A7E51D | ||
| 2284 | 88712AF2AC91D73A906CCFFAEA98C68DB967D96DA69E38A0406F2DD149B3E771 | ||
| 2285 | 68D65EF65F99A4AD33BB5B15672E57433BC84C9023BA77997E82473C557D18A9 | ||
| 2286 | 60F7064934EDDA12E614186A092930690D2DF97E1955FA75CA3CA077EC39A561 | ||
| 2287 | 27FC8DCBF13DC183774AF61C2B1B65E5E4 | ||
| 2288 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2289 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2290 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2291 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2292 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2293 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2294 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2295 | 0000000000000000000000000000000000000000000000000000000000000000 | ||
| 2296 | cleartomark | ||
| 2297 | %%EndFont | ||
| 2298 | TeXDict begin 55380996 39158280 1000 600 600 (org-ref.dvi) | ||
| 2299 | @start /Fa 242[61 13[{ TeXbbad153fEncoding ReEncodeFont }1 | ||
| 2300 | 49.8132 /CMSY6 rf /Fb 134[32 1[43 32 34 24 24 24 1[34 | ||
| 2301 | 30 34 50 18 32 1[18 34 30 19 27 34 27 34 30 13[34 44 | ||
| 2302 | 1[41 47 1[54 3[22 1[47 39 2[43 1[45 6[18 4[30 1[30 30 | ||
| 2303 | 30 30 1[18 21 18 44[{ TeXf7b6d320Encoding ReEncodeFont }41 | ||
| 2304 | 49.8132 /CMR6 rf /Fc 135[33 3[24 29 4[40 58 18 2[22 36 | ||
| 2305 | 2[33 36 33 33 36 50[22 46[{ TeX74afc74cEncoding ReEncodeFont }14 | ||
| 2306 | 66.4176 /CMTI8 rf /Fd 134[43 43 59 43 45 32 32 34 1[45 | ||
| 2307 | 41 45 68 23 43 1[23 45 41 25 37 45 36 45 40 10[61 1[57 | ||
| 2308 | 45 61 61 55 61 63 77 49 2[30 63 2[53 1[59 8[23 12[27 | ||
| 2309 | 32[45 47 11[{ TeXf7b6d320Encoding ReEncodeFont }41 66.4176 | ||
| 2310 | /CMBX8 rf /Fe 219[71 2[71 32[55{ TeXbbad153fEncoding ReEncodeFont }3 | ||
| 2311 | 66.4176 /CMSY8 rf /Ff 203[33 33 33 33 49[{ | ||
| 2312 | TeXf7b6d320Encoding ReEncodeFont }4 58.1154 /CMR7 rf | ||
| 2313 | /Fg 129[35 1[35 1[35 35 35 35 35 35 35 35 35 35 35 35 | ||
| 2314 | 35 35 35 35 35 35 35 35 35 35 35 35 35 35 1[35 35 35 | ||
| 2315 | 35 35 1[35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 | ||
| 2316 | 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 | ||
| 2317 | 3[35 1[35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 | ||
| 2318 | 35 35 34[{ TeX09fbbfacEncoding ReEncodeFont }85 66.4176 | ||
| 2319 | /CMTT8 rf /Fh 134[60 60 2[64 45 45 47 1[64 57 64 95 32 | ||
| 2320 | 60 1[32 1[57 1[53 64 51 64 56 10[87 88 80 64 86 2[86 | ||
| 2321 | 90 109 69 2[43 1[90 72 75 88 83 1[87 19[38 45[{ | ||
| 2322 | TeXf7b6d320Encoding ReEncodeFont }36 99.6264 /CMBX10 | ||
| 2323 | rf /Fi 133[31 37 37 51 37 39 27 28 28 37 39 35 39 59 | ||
| 2324 | 20 37 22 20 39 35 22 31 39 31 39 35 2[35 1[35 3[53 72 | ||
| 2325 | 53 53 51 39 52 1[48 55 53 65 44 55 1[25 53 55 46 48 54 | ||
| 2326 | 51 50 53 6[20 6[35 35 35 1[35 20 24 20 55 35 27 27 20 | ||
| 2327 | 2[35 59 35 20 19[39 39 41 11[{ TeXf7b6d320Encoding ReEncodeFont }70 | ||
| 2328 | 66.4176 /CMR8 rf /Fj 141[57 2[69 76 6[69 42 63 76 61 | ||
| 2329 | 1[67 14[103 2[103 1[131 9[99 16[69 69 1[69 1[46 3[53 | ||
| 2330 | 53 40[{ TeXf7b6d320Encoding ReEncodeFont }19 119.552 | ||
| 2331 | /CMBX10 rf end | ||
| 2332 | %%EndProlog | ||
| 2333 | %%BeginSetup | ||
| 2334 | %%Feature: *Resolution 600dpi | ||
| 2335 | TeXDict begin | ||
| 2336 | %%PaperSize: A4 | ||
| 2337 | @landscape end | ||
| 2338 | %%EndSetup | ||
| 2339 | %%Page: 1 1 | ||
| 2340 | TeXDict begin @landscape 1 0 bop -169 -357 a Fj(Org-Mo)t(de)45 | ||
| 2341 | b(Reference)h(Card)g(\(1/2\))546 -242 y Fi(\(for)23 b(v)n(ersion)h | ||
| 2342 | (3.13\))-150 -42 y Fh(Getting)37 b(Started)-150 125 y | ||
| 2343 | Fi(Put)24 b(the)h(follo)n(wing)e(in)g(y)n(our)h Fg(~/.emacs)931 | ||
| 2344 | 102 y Ff(1)-150 199 y Fg(\(autoload)38 b('org-mode)g("org")e("Org)h | ||
| 2345 | (mode")g(t\))-150 268 y(\(autoload)h('org-diary)g("org")f("Org)f(mode)h | ||
| 2346 | (diary)f(entries"\))-150 338 y(\(autoload)i('org-agenda)g("org")f | ||
| 2347 | ("Agenda)g(from)g(Org)f(files")h(t\))-150 408 y(\(autoload)h | ||
| 2348 | ('org-store-link)h("org")e("Store)g(org)f(link")h(t\))-150 | ||
| 2349 | 478 y(\(autoload)h('orgtbl-mode)h("org")d("Orgtbl)i(minor)e(mode")h | ||
| 2350 | (t\))-150 547 y(\(autoload)h('turn-on-orgtbl)h("org")e("Orgtbl)g(minor) | ||
| 2351 | g(mode"\))-150 617 y(\(add-to-list)i('auto-mode-alist)h('\("\\\\.org$") | ||
| 2352 | e(.)e(org-mode\)\))-150 699 y(\(define-key)i(global-map)h("\\C-cl")e | ||
| 2353 | ('org-store-link\))1504 676 y Ff(2)-150 782 y Fg(\(define-key)h | ||
| 2354 | (global-map)h("\\C-ca")e('org-agenda\))1364 758 y Ff(2)-150 | ||
| 2355 | 879 y Fi(F)-6 b(or)23 b(the)i(man)n(y)f(customization)h(options)g(try) | ||
| 2356 | 68 b Fg(M-x)36 b(org-customize)-150 948 y Fi(T)-6 b(o)24 | ||
| 2357 | b(read)g(the)g(on-line)g(do)r(cumen)n(tation)i(try)111 | ||
| 2358 | b Fg(M-x)36 b(org-info)-150 1147 y Fh(Visibilit)m(y)h(Cycling)-150 | ||
| 2359 | 1297 y Fi(rotate)25 b(curren)n(t)f(subtree)g(b)r(et)n(w)n(een)i(states) | ||
| 2360 | 291 b Fg(TAB)-150 1367 y Fi(rotate)25 b(en)n(tire)f(bu\013er)g(b)r(et)n | ||
| 2361 | (w)n(een)h(states)384 b Fg(S-TAB)-150 1436 y Fi(sho)n(w)24 | ||
| 2362 | b(the)g(whole)g(\014le)854 b Fg(C-c)36 b(C-a)-150 1614 | ||
| 2363 | y Fh(Motion)-150 1764 y Fi(next)25 b(heading)1043 b Fg(C-c)36 | ||
| 2364 | b(C-n)-150 1834 y Fi(previous)24 b(heading)921 b Fg(C-c)36 | ||
| 2365 | b(C-p)-150 1904 y Fi(next)25 b(heading,)f(same)g(lev)n(el)685 | ||
| 2366 | b Fg(C-c)36 b(C-f)-150 1973 y Fi(previous)24 b(heading,)g(same)g(lev)n | ||
| 2367 | (el)563 b Fg(C-c)36 b(C-b)-150 2043 y Fi(bac)n(kw)n(ard)25 | ||
| 2368 | b(to)f(higher)g(lev)n(el)f(heading)424 b Fg(C-c)36 b(C-u)-150 | ||
| 2369 | 2113 y Fi(jump)23 b(to)i(another)f(place)h(in)e(do)r(cumen)n(t)350 | ||
| 2370 | b Fg(C-c)36 b(C-j)-150 2311 y Fh(Structure)g(Editing)-150 | ||
| 2371 | 2462 y Fi(insert)23 b(new)i(heading)f(at)g(same)g(lev)n(el)g(as)g | ||
| 2372 | (curren)n(t)104 b Fg(M-RET)-150 2531 y Fi(insert)23 b(new)i(TODO)e(en)n | ||
| 2373 | (try)700 b Fg(M-S-RET)-150 2628 y Fi(promote)24 b(curren)n(t)h(heading) | ||
| 2374 | f(up)g(one)h(lev)n(el)285 b Fg(M-LEFT)-150 2698 y Fi(demote)25 | ||
| 2375 | b(curren)n(t)f(heading)h(do)n(wn)f(one)g(lev)n(el)233 | ||
| 2376 | b Fg(M-RIGHT)-150 2768 y Fi(promote)24 b(curren)n(t)h(subtree)f(up)g | ||
| 2377 | (one)g(lev)n(el)301 b Fg(M-S-LEFT)-150 2838 y Fi(demote)25 | ||
| 2378 | b(curren)n(t)f(subtree)h(do)n(wn)f(one)g(lev)n(el)248 | ||
| 2379 | b Fg(M-S-RIGHT)-150 2935 y Fi(mo)n(v)n(e)24 b(subtree)h(up)932 | ||
| 2380 | b Fg(M-S-UP)-150 3004 y Fi(mo)n(v)n(e)24 b(subtree)h(do)n(wn)848 | ||
| 2381 | b Fg(M-S-DOWN)-150 3074 y Fi(kill)23 b(subtree)1097 b | ||
| 2382 | Fg(C-c)36 b(C-h)g(C-w)-150 3144 y Fi(cop)n(y)25 b(subtree)1052 | ||
| 2383 | b Fg(C-c)36 b(C-h)g(M-w)-150 3213 y Fi(y)n(ank)25 b(subtree)1046 | ||
| 2384 | b Fg(C-c)36 b(C-h)g(C-y)-150 3310 y Fi(arc)n(hiv)n(e)24 | ||
| 2385 | b(subtree)976 b Fg(C-c)36 b($)-150 3380 y Fi(T)-6 b(o)24 | ||
| 2386 | b(set)g(arc)n(hiv)n(e)g(lo)r(cation)h(for)e(curren)n(t)h(\014le,)f(add) | ||
| 2387 | h(a)g(line)f(lik)n(e)1495 3357 y Ff(3)1533 3380 y Fi(:)-150 | ||
| 2388 | 3454 y Fg(#+ARCHIVE:)38 b(archfile::*)h(Archived)e(Tasks)-150 | ||
| 2389 | 3631 y Fh(Filtering)g(and)g(Sparse)g(T)-10 b(rees)-150 | ||
| 2390 | 3781 y Fi(sho)n(w)24 b(sparse)f(tree)i(for)d(all)h(matc)n(hes)i(of)f(a) | ||
| 2391 | g(regexp)92 b Fg(C-c)36 b(/)-150 3851 y Fi(view)24 b(TODO's)e(in)i | ||
| 2392 | (sparse)f(tree)580 b Fg(C-c)36 b(C-v)-150 3921 y Fi(create)25 | ||
| 2393 | b(sparse)e(tree)i(with)e(all)g(deadlines)i(due)204 b | ||
| 2394 | Fg(C-c)36 b(C-w)-150 3991 y Fi(time)24 b(sorted)g(view)g(of)f(curren)n | ||
| 2395 | (t)h(org)g(\014le)367 b Fg(C-c)36 b(C-r)-150 4060 y Fi(agenda)25 | ||
| 2396 | b(for)e(the)i(w)n(eek)823 b Fg(C-c)36 b(a)p Fi(1)-150 | ||
| 2397 | 4130 y(agenda)25 b(for)e(date)i(at)f(cursor)661 b Fg(C-c)36 | ||
| 2398 | b(C-o)2046 -364 y Fh(TODO)i(Items)2046 -216 y Fi(rotate)25 | ||
| 2399 | b(the)f(state)h(of)f(the)g(curren)n(t)g(item)354 b Fg(C-c)36 | ||
| 2400 | b(C-t)2046 -147 y Fi(view)24 b(TODO)f(items)g(in)h(a)g(sparse)f(tree) | ||
| 2401 | 380 b Fg(C-c)36 b(C-v)2046 -50 y Fi(set)24 b(the)h(priorit)n(y)e(of)g | ||
| 2402 | (the)i(curren)n(t)f(item)369 b Fg(C-c)36 b(,)g([ABC])2046 | ||
| 2403 | 19 y Fi(remo)n(v)n(e)24 b(priorit)n(y)f(co)r(okie)i(from)d(curren)n(t)j | ||
| 2404 | (item)179 b Fg(C-c)36 b(,)g(SPC)2046 100 y Fi(raise)23 | ||
| 2405 | b(priorit)n(y)g(of)g(curren)n(t)i(item)557 b Fg(S-UP)3626 | ||
| 2406 | 76 y Ff(4)2046 180 y Fi(lo)n(w)n(er)23 b(priorit)n(y)g(of)h(curren)n(t) | ||
| 2407 | g(item)538 b Fg(S-DOWN)3696 157 y Ff(4)2046 311 y Fi(p)r(er-\014le)23 | ||
| 2408 | b(TODO)g(w)n(ork\015o)n(w)h(states:)33 b(add)24 b(line\(s\))g(lik)n(e) | ||
| 2409 | 3505 288 y Ff(3)3542 311 y Fi(:)2046 384 y Fg(#+SEQ_TODO:)38 | ||
| 2410 | b(TODO)f(PROCRASTINATE)i(BLUFF)e(DONE)2046 464 y Fi(p)r(er-\014le)23 | ||
| 2411 | b(TODO)g(k)n(eyw)n(ords:)32 b(add)24 b(line\(s\))g(lik)n(e)3314 | ||
| 2412 | 440 y Ff(3)3351 464 y Fi(:)2046 536 y Fg(#+TYP_TODO:)38 | ||
| 2413 | b(Phil)f(home)f(work)h(DONE)2046 723 y Fh(Timestamps)2046 | ||
| 2414 | 871 y Fi(prompt)24 b(for)f(date)i(and)f(insert)f(timestamp)266 | ||
| 2415 | b Fg(C-c)36 b(.)2046 940 y Fi(lik)n(e)23 b Fg(C-c)i Fi(.)31 | ||
| 2416 | b(but)24 b(insert)g(date)g(and)h(time)e(format)144 b | ||
| 2417 | Fg(C-u)36 b(C-c)g(.)2046 1010 y Fi(insert)23 b(DEADLINE)h(timestamp)516 | ||
| 2418 | b Fg(C-c)36 b(C-d)2046 1080 y Fi(insert)23 b(SCHEDULED)h(timestamp)451 | ||
| 2419 | b Fg(C-c)36 b(C-s)2046 1150 y Fi(create)25 b(sparse)e(tree)i(with)e | ||
| 2420 | (all)g(deadlines)i(due)204 b Fg(C-c)36 b(C-w)2046 1219 | ||
| 2421 | y Fi(the)25 b(time)e(b)r(et)n(w)n(een)j(2)e(dates)g(in)g(a)f(time)h | ||
| 2422 | (range)172 b Fg(C-c)36 b(C-y)2046 1328 y Fi(c)n(hange)25 | ||
| 2423 | b(timestamp)g(at)f(cursor)f(b)n(y)h Fe(\000)p Fi(1)g(da)n(y)238 | ||
| 2424 | b Fg(S-LEFT)3696 1305 y Ff(4)2046 1409 y Fi(c)n(hange)25 | ||
| 2425 | b(timestamp)g(at)f(cursor)f(b)n(y)h(+1)g(da)n(y)238 b | ||
| 2426 | Fg(S-RIGHT)3731 1385 y Ff(4)2046 1489 y Fi(c)n(hange)25 | ||
| 2427 | b(y)n(ear/mon)n(th/da)n(y)i(at)d(cursor)f(b)n(y)h Fe(\000)p | ||
| 2428 | Fi(1)189 b Fg(S-DOWN)3696 1466 y Ff(4)2046 1573 y Fi(c)n(hange)25 | ||
| 2429 | b(y)n(ear/mon)n(th/da)n(y)i(at)d(cursor)f(b)n(y)h(+1)189 | ||
| 2430 | b Fg(S-UP)3626 1550 y Ff(4)2046 1670 y Fi(access)25 b(the)f(calendar)g | ||
| 2431 | (for)f(the)i(curren)n(t)f(date)221 b Fg(C-c)36 b(>)2046 | ||
| 2432 | 1739 y Fi(insert)23 b(timestamp)i(matc)n(hing)g(date)f(in)g(calendar)89 | ||
| 2433 | b Fg(C-c)36 b(<)2046 1809 y Fi(access)25 b(agenda)g(for)e(curren)n(t)h | ||
| 2434 | (date)507 b Fg(C-c)36 b(C-o)2046 1905 y Fi(While)24 b(prompted)g(for)f | ||
| 2435 | (a)h(date:)2046 1975 y(...)30 b(select)25 b(date)f(in)g(calendar)660 | ||
| 2436 | b Fg(mouse-1/RET)2046 2045 y Fi(...)30 b(scroll)23 b(calendar)h(bac)n | ||
| 2437 | (k/forw)n(ard)h(one)f(mon)n(th)121 b Fg(<)36 b(/)f(>)2046 | ||
| 2438 | 2115 y Fi(...)30 b(forw)n(ard/bac)n(kw)n(ard)24 b(one)h(da)n(y)525 | ||
| 2439 | b Fg(S-LEFT/RIGHT)2046 2184 y Fi(...)30 b(forw)n(ard/bac)n(kw)n(ard)24 | ||
| 2440 | b(one)h(w)n(eek)486 b Fg(S-UP/DOWN)2046 2254 y Fi(...)30 | ||
| 2441 | b(forw)n(ard/bac)n(kw)n(ard)24 b(one)h(mon)n(th)437 b | ||
| 2442 | Fg(M-S-LEFT/RIGT)2046 2451 y Fh(Links)2046 2599 y Fi(globally)24 | ||
| 2443 | b(store)g(link)f(to)h(the)h(curren)n(t)f(lo)r(cation)166 | ||
| 2444 | b Fg(C-c)36 b(l)3662 2575 y Ff(2)2046 2668 y Fi(insert)23 | ||
| 2445 | b(a)h(link)f(\(T)-6 b(AB)24 b(completes)h(stored)f(links\))138 | ||
| 2446 | b Fg(C-c)36 b(C-l)2046 2738 y Fi(insert)23 b(\014le)h(link)f(with)h | ||
| 2447 | (\014le)g(name)g(completion)192 b Fg(C-u)36 b(C-c)g(C-l)2046 | ||
| 2448 | 2834 y Fi(op)r(en)25 b(link)e(at)h(p)r(oin)n(t)884 b | ||
| 2449 | Fg(C-c)36 b(C-o)2046 2904 y Fi(op)r(en)25 b(\014le)e(links)g(in)h | ||
| 2450 | (emacs)722 b Fg(C-u)36 b(C-c)g(C-o)2046 2974 y Fi(op)r(en)25 | ||
| 2451 | b(link)e(at)h(p)r(oin)n(t)884 b Fg(mouse-2)2046 3044 | ||
| 2452 | y Fi(op)r(en)25 b(\014le)e(links)g(in)h(emacs)722 b Fg(mouse-3)2046 | ||
| 2453 | 3140 y Fd(Link)27 b(t)n(yp)r(es)2046 3236 y Fg(<http://www.astro.uva.n) | ||
| 2454 | q(l/~d)q(omi)q(nik>)247 b Fi(on)24 b(the)h(w)n(eb)2046 | ||
| 2455 | 3306 y Fg(<mailto:adent@galaxy.ne)q(t>)564 b Fi(EMail)23 | ||
| 2456 | b(address)2046 3376 y Fg(<news:comp.emacs>)845 b Fi(Usenet)25 | ||
| 2457 | b(group)2046 3446 y Fg(<file:/home/dominik/img)q(/mar)q(s.j)q(pg>)282 | ||
| 2458 | b Fi(\014le,)23 b(absolute)2046 3515 y Fg(<file:papers/last.pdf>)670 | ||
| 2459 | b Fi(\014le,)23 b(relativ)n(e)2046 3585 y Fg(<file:~/code/main.c:255)q | ||
| 2460 | (>)599 b Fi(\014le)19 b(with)g(line)g(nr.)2046 3655 y | ||
| 2461 | Fg(<bbdb:Richard)39 b(Stallman>)631 b Fi(BBDB)23 b(p)r(erson)2046 | ||
| 2462 | 3725 y Fg(<shell:ls)38 b(*.org>)877 b Fi(shell)23 b(command)2046 | ||
| 2463 | 3794 y Fg(<gnus:group>)1020 b Fi(GNUS)24 b(group)2046 | ||
| 2464 | 3864 y Fg(<gnus:group#id>)915 b Fi(GNUS)24 b(message)2046 | ||
| 2465 | 3934 y Fg(<vm:folder>)1055 b Fi(VM)23 b(folder)2046 4004 | ||
| 2466 | y Fg(<vm:folder#id>)950 b Fi(VM)23 b(message)2046 4073 | ||
| 2467 | y Fg(<vm://myself@some.where)q(.org)q(/fo)q(lder)q(#id)q(>)105 | ||
| 2468 | b Fi(VM)23 b(remote)2046 4143 y(W)-6 b(anderlust)25 b | ||
| 2469 | Fg(<wl:...>)h Fi(and)e(RMAIL)f Fg(<rmail:...>)k Fi(lik)n(e)c(VM)4242 | ||
| 2470 | -364 y Fh(T)-10 b(ables)4242 -255 y Fd(Creating)25 b(a)i(table)4242 | ||
| 2471 | -168 y Fi(insert)c(a)h(new)g(Org-mo)r(de)g(table)330 | ||
| 2472 | b Fg(M-x)36 b(org-table-create)4242 -98 y Fi(...)30 b(or)23 | ||
| 2473 | b(just)h(start)g(t)n(yping,)g(e.g.)173 b Fg(|Name|Phone|Age)39 | ||
| 2474 | b(RET)d(|-)g(TAB)4242 -28 y Fi(con)n(v)n(ert)25 b(region)f(to)g(table) | ||
| 2475 | 741 b Fg(C-c)36 b(C-c)4242 41 y Fi(...)30 b(separator)24 | ||
| 2476 | b(at)h(least)f(3)g(spaces)537 b Fg(C-3)36 b(C-c)g(C-c)4242 | ||
| 2477 | 128 y Fd(Commands)26 b(a)n(v)-5 b(ailable)25 b(inside)j(tables)4242 | ||
| 2478 | 215 y Fi(The)17 b(follo)n(wing)f(commands)i(w)n(ork)f(when)g(the)h | ||
| 2479 | (cursor)e(is)g Fc(inside)k(a)f(table)p Fi(.)4242 285 | ||
| 2480 | y(Outside)24 b(of)e(tables,)i(the)g(same)f(k)n(eys)h(ma)n(y)f(ha)n(v)n | ||
| 2481 | (e)h(other)g(functionalit)n(y)-6 b(.)4242 371 y Fd(Re-aligning)25 | ||
| 2482 | b(and)i(\014eld)h(motion)4242 458 y Fi(re-align)22 b(the)i(table)g | ||
| 2483 | (without)g(mo)n(ving)g(the)g(cursor)70 b Fg(C-c)36 b(C-c)4242 | ||
| 2484 | 528 y Fi(re-align)23 b(the)h(table,)g(mo)n(v)n(e)h(to)f(next)h(\014eld) | ||
| 2485 | 311 b Fg(TAB)4242 598 y Fi(mo)n(v)n(e)24 b(to)h(previous)e(\014eld)762 | ||
| 2486 | b Fg(S-TAB)4242 667 y Fi(re-align)23 b(the)h(table,)g(mo)n(v)n(e)h(to)f | ||
| 2487 | (next)h(ro)n(w)328 b Fg(RET)4242 754 y Fd(Ro)n(w)26 b(and)h(column)g | ||
| 2488 | (editing)4242 841 y Fi(mo)n(v)n(e)d(the)h(curren)n(t)f(column)g(left) | ||
| 2489 | 544 b Fg(M-LEFT)4242 911 y Fi(mo)n(v)n(e)24 b(the)h(curren)n(t)f | ||
| 2490 | (column)g(righ)n(t)497 b Fg(M-RIGHT)4242 980 y Fi(kill)23 | ||
| 2491 | b(the)h(curren)n(t)g(column)731 b Fg(M-S-LEFT)4242 1050 | ||
| 2492 | y Fi(insert)23 b(new)i(column)f(to)g(left)f(of)h(cursor)f(p)r(osition) | ||
| 2493 | 104 b Fg(M-S-RIGHT)4242 1137 y Fi(mo)n(v)n(e)24 b(the)h(curren)n(t)f | ||
| 2494 | (ro)n(w)f(up)678 b Fg(M-UP)4242 1207 y Fi(mo)n(v)n(e)24 | ||
| 2495 | b(the)h(curren)n(t)f(ro)n(w)f(do)n(wn)594 b Fg(M-DOWN)4242 | ||
| 2496 | 1276 y Fi(kill)23 b(the)h(curren)n(t)g(ro)n(w)g(or)f(horizon)n(tal)h | ||
| 2497 | (line)291 b Fg(M-S-UP)4242 1346 y Fi(insert)23 b(new)i(ro)n(w)e(ab)r(o) | ||
| 2498 | n(v)n(e)i(the)f(curren)n(t)g(ro)n(w)285 b Fg(M-S-DOWN)4242 | ||
| 2499 | 1433 y Fi(insert)23 b(horizon)n(tal)i(line)e(b)r(elo)n(w)h(the)h | ||
| 2500 | (curren)n(t)f(ro)n(w)100 b Fg(C-c)36 b(-)4242 1503 y | ||
| 2501 | Fi(insert)23 b(horizon)n(tal)i(line)e(ab)r(o)n(v)n(e)i(the)g(curren)n | ||
| 2502 | (t)f(ro)n(w)100 b Fg(C-u)36 b(C-c)g(-)4242 1589 y Fd(Regions)4242 | ||
| 2503 | 1676 y Fi(cut)25 b(rectangular)f(region)758 b Fg(C-c)36 | ||
| 2504 | b(C-h)g(C-w)4242 1746 y Fi(cop)n(y)25 b(rectangular)f(region)715 | ||
| 2505 | b Fg(C-c)36 b(C-h)g(M-w)4242 1816 y Fi(paste)25 b(rectangular)f(region) | ||
| 2506 | 695 b Fg(C-c)36 b(C-h)g(C-y)4242 1885 y Fi(\014ll)23 | ||
| 2507 | b(paragraph)h(across)g(selected)h(cells)399 b Fg(C-c)36 | ||
| 2508 | b(C-q)4242 1972 y Fd(Calculations)4242 2059 y Fi(Except)31 | ||
| 2509 | b(for)e(the)i(summation)f(commands,)h(these)g(need)g(the)g(Emacs)4242 | ||
| 2510 | 2129 y(calc)24 b(pac)n(k)l(age)i(installed.)4242 2215 | ||
| 2511 | y(replace)e(curren)n(t)g(\014eld)g(with)g(result)f(of)h(form)n(ula)129 | ||
| 2512 | b Fg(C-c)36 b(=)4242 2285 y Fi(...)30 b(same)24 b(calculation)h(for)e | ||
| 2513 | (rest)g(of)h(column)267 b Fg(C-u)36 b(C-c)g(=)4242 2355 | ||
| 2514 | y Fi(re-apply)23 b(all)g(stored)i(equations)g(to)f(curren)n(t)g(line)96 | ||
| 2515 | b Fg(C-c)36 b(*)4242 2425 y Fi(re-apply)23 b(all)g(stored)i(equations)g | ||
| 2516 | (to)f(en)n(tire)g(table)101 b Fg(C-u)36 b(C-c)g(*)4242 | ||
| 2517 | 2511 y(TAB)p Fi(,)30 b Fg(RET)f Fi(and)f Fg(C-c)37 b(C-c)28 | ||
| 2518 | b Fi(trigger)h(automatic)g(recalculation)h(in)d(lines)4242 | ||
| 2519 | 2581 y(starting)d(with:)31 b Fg(|)36 b(#)f(|)p Fi(.)4242 | ||
| 2520 | 2668 y(rotate)23 b(recalculation)f(mark)g(through)g(#)g(*)g(!)30 | ||
| 2521 | b(^)p 5533 2668 22 4 v 47 w($)71 b Fg(C-#)4242 2755 y | ||
| 2522 | Fi(displa)n(y)24 b(column)g(n)n(um)n(b)r(er)f(cursor)h(is)f(in)354 | ||
| 2523 | b Fg(C-c)36 b(?)4242 2824 y Fi(sum)23 b(n)n(um)n(b)r(ers)h(in)f(curren) | ||
| 2524 | n(t)i(column/rectangle)143 b Fg(C-c)36 b(+)4242 2908 | ||
| 2525 | y Fi(cop)n(y)25 b(do)n(wn)f(with)g(incremen)n(t)625 b | ||
| 2526 | Fg(S-RET)5857 2885 y Ff(4)4242 2995 y Fi(A)27 b(form)n(ula)g(can)h | ||
| 2527 | (also)f(b)r(e)h(t)n(yp)r(ed)g(directly)g(in)n(to)g(in)n(to)f(a)h | ||
| 2528 | (\014eld.)42 b(It)28 b(will)4242 3065 y(b)r(e)c(executed)i(b)n(y)e | ||
| 2529 | Fg(TAB)p Fi(,)g Fg(RET)h Fi(and)f Fg(C-c)36 b(C-c)p Fi(:)4242 | ||
| 2530 | 3152 y(Example:)31 b(Add)24 b(Col1)g(and)g(Col2)522 b | ||
| 2531 | Fg(=$1+$2)4242 3221 y Fi(...)30 b(with)24 b(prin)n(tf)f(format)g(sp)r | ||
| 2532 | (eci\014cation)387 b Fg(=$1+$2;\045.2f)4242 3291 y Fi(...)30 | ||
| 2533 | b(with)24 b(constan)n(ts)h(from)e(constan)n(ts.el)352 | ||
| 2534 | b Fg(=$1/$c/$cm)4242 3361 y Fi(Apply)24 b(curren)n(t)g(\(for)f(this)h | ||
| 2535 | (column\))g(form)n(ula)200 b Fg(=)4242 3431 y Fi(Sum)24 | ||
| 2536 | b(all)f(n)n(um)n(b)r(ers)g(ab)r(o)n(v)n(e/left)j(of)d(cursor)292 | ||
| 2537 | b Fg(=sum)36 b(/)g(=sumh)4242 3500 y Fi(Sum)24 b(just)f(the)i(3)f | ||
| 2538 | (\014elds)f(closest)i(to)f(cursor)279 b Fg(=sum3/=sumh3)4242 | ||
| 2539 | 3587 y Fd(Miscellaneous)4242 3674 y Fi(toggle)25 b(visibilit)n(y)d(of)i | ||
| 2540 | (v)n(ertical)g(lines)474 b Fg(C-c)36 b(|)4242 3744 y | ||
| 2541 | Fi(exp)r(ort)25 b(as)e(tab-separated)j(\014le)370 b Fg(M-x)36 | ||
| 2542 | b(org-table-export)4242 3813 y Fi(imp)r(ort)23 b(tab-separated)j | ||
| 2543 | (\014le)447 b Fg(M-x)36 b(org-table-import)4242 3900 | ||
| 2544 | y Fd(T)-7 b(ables)27 b(created)f(with)h(the)g Fg(table.el)i | ||
| 2545 | Fd(pac)n(k)-5 b(age)4242 3987 y Fi(insert)23 b(a)h(new)g | ||
| 2546 | Fg(table.el)i Fi(table)582 b Fg(C-c)36 b(~)4242 4057 | ||
| 2547 | y Fi(recognize)25 b(existing)f(table.el)g(table)474 b | ||
| 2548 | Fg(C-c)36 b(C-c)4242 4126 y Fi(con)n(v)n(ert)25 b(table)f(\(Org-mo)r | ||
| 2549 | (de)g Fe($)f Fi(table.el\))312 b Fg(C-c)36 b(~)p eop | ||
| 2550 | end | ||
| 2551 | %%Page: 2 2 | ||
| 2552 | TeXDict begin @landscape 2 1 bop -169 -357 a Fj(Org-Mo)t(de)45 | ||
| 2553 | b(Reference)h(Card)g(\(2/2\))546 -242 y Fi(\(for)23 b(v)n(ersion)h | ||
| 2554 | (3.13\))-150 -36 y Fh(Timeline)37 b(and)g(Agenda)-150 | ||
| 2555 | 120 y Fi(sho)n(w)24 b(timeline)f(of)h(curren)n(t)g(org)f(\014le)458 | ||
| 2556 | b Fg(C-c)36 b(C-r)-150 190 y Fi(...)30 b(include)24 b(past)h(dates)793 | ||
| 2557 | b Fg(C-u)36 b(C-c)g(C-r)-150 288 y Fi(add)24 b(curren)n(t)g(\014le)g | ||
| 2558 | (to)g(y)n(our)g(agenda)483 b Fg(C-c)36 b([)-150 358 y | ||
| 2559 | Fi(remo)n(v)n(e)24 b(curren)n(t)g(\014le)g(from)f(y)n(our)g(agenda)299 | ||
| 2560 | b Fg(C-c)36 b(])-150 438 y Fi(compile)24 b(agenda)h(for)e(the)h(curren) | ||
| 2561 | n(t)g(w)n(eek)320 b Fg(C-c)36 b(a)1466 415 y Ff(2)-150 | ||
| 2562 | 508 y Fi(agenda)25 b(for)e(date)i(at)f(cursor)661 b Fg(C-c)36 | ||
| 2563 | b(C-o)-150 641 y Fi(T)-6 b(o)24 b(set)g(category)h(for)e(curren)n(t)h | ||
| 2564 | (\014le,)g(add)g(line)1082 617 y Ff(3)1119 641 y Fi(:)-150 | ||
| 2565 | 715 y Fg(#+CATEGORY:)38 b(MyCateg)-150 814 y Fd(Commands)26 | ||
| 2566 | b(a)n(v)-5 b(ailable)25 b(in)i(an)g(agenda)g(bu\013er)-150 | ||
| 2567 | 912 y Fi(The)g(agenda)h(bu\013er)f(is)f(electric:)38 | ||
| 2568 | b(single)26 b(k)n(ey)i(presses)e(execute)j(com-)-150 | ||
| 2569 | 982 y(mands.)-150 1080 y Fd(View)e(org)f(\014le)-150 | ||
| 2570 | 1178 y Fi(sho)n(w)e(original)f(lo)r(cation)h(of)g(item)524 | ||
| 2571 | b Fg(SPC)-150 1248 y Fi(...)30 b(also)24 b(a)n(v)l(ailable)g(with)781 | ||
| 2572 | b Fg(mouse-3)-150 1318 y Fi(sho)n(w)24 b(and)g(recen)n(ter)h(windo)n(w) | ||
| 2573 | 626 b Fg(l)-150 1388 y Fi(goto)25 b(original)e(lo)r(cation)h(in)g | ||
| 2574 | (other)g(windo)n(w)260 b Fg(TAB)-150 1457 y Fi(...)30 | ||
| 2575 | b(also)24 b(a)n(v)l(ailable)g(with)781 b Fg(mouse-2)-150 | ||
| 2576 | 1527 y Fi(goto)25 b(original)e(lo)r(cation,)h(delete)h(other)f(windo)n | ||
| 2577 | (ws)91 b Fg(RET)-150 1597 y Fi(toggle)25 b(follo)n(w-mo)r(de)861 | ||
| 2578 | b Fg(f)-150 1695 y Fd(Change)27 b(displa)n(y)-150 1794 | ||
| 2579 | y Fi(delete)e(other)f(windo)n(ws)791 b Fg(o)-150 1863 | ||
| 2580 | y Fi(switc)n(h)24 b(to)g(w)n(eekly)h(view)767 b Fg(w)-150 | ||
| 2581 | 1933 y Fi(switc)n(h)24 b(to)g(daily)g(view)822 b Fg(d)-150 | ||
| 2582 | 2003 y Fi(toggle)25 b(inclusion)e(of)h(diary)f(en)n(tries)473 | ||
| 2583 | b Fg(D)-150 2072 y Fi(toggle)25 b(time)f(grid)f(for)g(daily)g(sc)n | ||
| 2584 | (hedule)388 b Fg(g)-150 2142 y Fi(refresh)23 b(agenda)i(bu\013er)f | ||
| 2585 | (with)g(an)n(y)g(c)n(hanges)239 b Fg(r)-150 2212 y Fi(displa)n(y)24 | ||
| 2586 | b(the)g(follo)n(wing)f Fg(org-agenda-ndays)221 b(RIGHT)-150 | ||
| 2587 | 2282 y Fi(displa)n(y)24 b(the)g(previous)g Fg(org-agenda-ndays)238 | ||
| 2588 | b(LEFT)-150 2351 y Fi(goto)25 b(to)r(da)n(y)1110 b Fg(.)-150 | ||
| 2589 | 2450 y Fd(Remote)27 b(editing)-150 2548 y Fi(digit)d(argumen)n(t)984 | ||
| 2590 | b Fg(0-9)-150 2646 y Fi(c)n(hange)25 b(state)g(of)f(curren)n(t)g(TODO)f | ||
| 2591 | (item)333 b Fg(t)-150 2716 y Fi(set)24 b(priorit)n(y)f(of)g(curren)n(t) | ||
| 2592 | i(item)612 b Fg(p)-150 2798 y Fi(raise)23 b(priorit)n(y)g(of)g(curren)n | ||
| 2593 | (t)i(item)557 b Fg(S-UP)1430 2775 y Ff(4)-150 2879 y | ||
| 2594 | Fi(lo)n(w)n(er)23 b(priorit)n(y)g(of)h(curren)n(t)g(item)538 | ||
| 2595 | b Fg(S-DOWN)1500 2855 y Ff(4)-150 2949 y Fi(displa)n(y)24 | ||
| 2596 | b(w)n(eigh)n(ted)h(priorit)n(y)e(of)g(curren)n(t)h(item)189 | ||
| 2597 | b Fg(P)-150 3058 y Fi(c)n(hange)25 b(timestamp)g(to)f(one)g(da)n(y)h | ||
| 2598 | (earlier)315 b Fg(S-LEFT)1500 3034 y Ff(4)-150 3138 y | ||
| 2599 | Fi(c)n(hange)25 b(timestamp)g(to)f(one)g(da)n(y)h(later)367 | ||
| 2600 | b Fg(S-RIGHT)1535 3115 y Ff(4)-150 3208 y Fi(c)n(hange)25 | ||
| 2601 | b(timestamp)g(to)f(to)r(da)n(y)598 b Fg(>)-150 3306 y | ||
| 2602 | Fi(insert)23 b(new)i(en)n(try)f(in)n(to)g(diary)612 b | ||
| 2603 | Fg(i)-150 3405 y Fd(Calendar)26 b(commands)-150 3503 | ||
| 2604 | y Fi(\014nd)e(agenda)h(cursor)f(date)g(in)g(calendar)350 | ||
| 2605 | b Fg(c)-150 3573 y Fi(compute)25 b(agenda)g(for)e(calendar)i(cursor)e | ||
| 2606 | (date)180 b Fg(c)-150 3642 y Fi(sho)n(w)24 b(phases)g(of)f(the)i(mo)r | ||
| 2607 | (on)669 b Fg(M)-150 3712 y Fi(sho)n(w)24 b(sunrise/sunset)g(times)636 | ||
| 2608 | b Fg(S)-150 3782 y Fi(sho)n(w)24 b(holida)n(ys)1014 b | ||
| 2609 | Fg(H)-150 3852 y Fi(con)n(v)n(ert)25 b(date)g(to)f(other)g(calendars) | ||
| 2610 | 478 b Fg(C)-150 3950 y Fd(Quit)27 b(and)g(Exit)-150 4048 | ||
| 2611 | y Fi(quit)d(agenda,)h(remo)n(v)n(e)f(agenda)h(bu\013er)376 | ||
| 2612 | b Fg(q)-150 4118 y Fi(exit)24 b(agenda,)h(remo)n(v)n(e)f(all)f(agenda)i | ||
| 2613 | (bu\013ers)258 b Fg(x)2046 -364 y Fh(Exp)s(orting)2046 | ||
| 2614 | -208 y Fi(Exp)r(orting)32 b(creates)g(\014les)g(with)f(extensions)i | ||
| 2615 | Fc(.txt)k Fi(and)32 b Fc(.html)38 b Fi(in)31 b(the)2046 | ||
| 2616 | -139 y(curren)n(t)24 b(directory)-6 b(.)2046 -40 y(exp)r(ort)25 | ||
| 2617 | b(as)e(ASCI)r(I)i(\014le)820 b Fg(C-c)36 b(C-x)g(a)2046 | ||
| 2618 | 29 y Fi(exp)r(ort)25 b(visible)e(text)i(only)e(\(e.g.)32 | ||
| 2619 | b(for)23 b(prin)n(ting\))152 b Fg(C-c)36 b(C-x)g(v)2046 | ||
| 2620 | 99 y Fi(exp)r(ort)25 b(as)e(HTML)g(\014le)804 b Fg(C-c)36 | ||
| 2621 | b(C-x)g(h)2046 169 y Fi(exp)r(ort)25 b(as)e(HTML)g(and)h(op)r(en)h(in)e | ||
| 2622 | (bro)n(wser)266 b Fg(C-c)36 b(C-x)g(C-h)2046 239 y Fi(pre\014x)24 | ||
| 2623 | b(arg)g(sets)g(n)n(b.)31 b(of)23 b(headline)i(lev)n(els,)e(e.g.)182 | ||
| 2624 | b Fg(C-3)36 b(C-c)g(C-x)g(h)2046 337 y Fi(insert)23 b(template)j(of)d | ||
| 2625 | (exp)r(ort)h(options)423 b Fg(C-c)36 b(C-x)g(t)2046 435 | ||
| 2626 | y Fi(toggle)25 b(\014xed)f(width)g(for)f(line)g(or)h(region)346 | ||
| 2627 | b Fg(C-c)36 b(:)2046 534 y Fd(HTML)27 b(formatting)2046 | ||
| 2628 | 632 y Fi(mak)n(e)d(w)n(ords)g Fd(b)r(old)897 b Fg(*bold*)2046 | ||
| 2629 | 702 y Fi(mak)n(e)24 b(w)n(ords)g Fc(italic)898 b Fg(/italic/)2046 | ||
| 2630 | 771 y Fi(mak)n(e)24 b(w)n(ords)g(underlined)p 2433 784 | ||
| 2631 | 326 4 v 728 w Fg(_underlined_)2046 841 y Fi(sub-)f(and)i(sup)r | ||
| 2632 | (erscripts)781 b Fg(x^3,)36 b(J_dust)2046 911 y Fi(T)2085 | ||
| 2633 | 925 y(E)2124 911 y(X-lik)n(e)23 b(macros)940 b Fg(\\alpha,)37 | ||
| 2634 | b(\\to)2046 981 y Fi(t)n(yp)r(eset)25 b(lines)f(in)f(\014xed)h(width)g | ||
| 2635 | (fon)n(t)460 b Fg(start)37 b(with)f(:)2046 1050 y Fi(tables)24 | ||
| 2636 | b(are)g(exp)r(orted)h(as)f(HTML)f(tables)321 b Fg(start)37 | ||
| 2637 | b(with)f(|)2046 1120 y Fi(links)23 b(b)r(ecome)i(HTML)e(links)640 | ||
| 2638 | b Fg(http:...)73 b(etc)2046 1190 y Fi(include)24 b(h)n(tml)g(tags)905 | ||
| 2639 | b Fg(@<b>...@</b>)2046 1288 y Fd(Exp)r(ort)27 b(options)2046 | ||
| 2640 | 1386 y Fi(Include)20 b(additional)f(information)g(for)f(exp)r(ort)i(b)n | ||
| 2641 | (y)f(putting)h(these)g(an)n(y-)2046 1456 y(where)g(in)f(the)h(org)g | ||
| 2642 | (\014le.)30 b(Use)19 b Fg(M-TAB)i Fi(completion)f(to)g(mak)n(e)h(sure)e | ||
| 2643 | (to)h(get)2046 1526 y(the)i(righ)n(t)e(k)n(eyw)n(ords.)31 | ||
| 2644 | b Fg(M-TAB)22 b Fi(again)f(just)g(after)g(k)n(eyw)n(ord)g(is)g | ||
| 2645 | (complete)2046 1596 y(inserts)i(examples.)2046 1694 y(the)i(title)f(to) | ||
| 2646 | g(b)r(e)g(sho)n(wn)797 b Fg(#+TITLE:)2046 1764 y Fi(the)25 | ||
| 2647 | b(author)1115 b Fg(#+AUTHOR:)2046 1834 y Fi(authors)24 | ||
| 2648 | b(email)f(address)769 b Fg(#+EMAIL:)2046 1903 y Fi(language)25 | ||
| 2649 | b(co)r(de)g(for)e(h)n(tml)732 b Fg(#+LANGUAGE:)2046 1973 | ||
| 2650 | y Fi(free)23 b(text)i(description)f(of)g(\014le)626 b | ||
| 2651 | Fg(#+TEXT:)2046 2043 y Fi(...)30 b(whic)n(h)24 b(can)g(carry)g(o)n(v)n | ||
| 2652 | (er)g(m)n(ultiple)f(lines)271 b Fg(#+TEXT:)2046 2112 | ||
| 2653 | y Fi(settings)25 b(for)d(the)j(exp)r(ort)f(pro)r(cess)g(-)f(see)h(b)r | ||
| 2654 | (elo)n(w)145 b Fg(#+OPTIONS:)2046 2211 y Fd(Settings)26 | ||
| 2655 | b(for)h(the)g(OPTIONS)i(line)2046 2309 y Fi(set)24 b(n)n(um)n(b)r(er)g | ||
| 2656 | (of)f(headline)i(lev)n(els)e(for)g(exp)r(ort)219 b Fg(H:2)2046 | ||
| 2657 | 2379 y Fi(turn)24 b(on/o\013)h(section)f(n)n(um)n(b)r(ers)577 | ||
| 2658 | b Fg(num:t)2046 2449 y Fi(turn)24 b(on/o\013)h(table)f(of)f(con)n(ten)n | ||
| 2659 | (ts)564 b Fg(toc:t)2046 2518 y Fi(turn)24 b(on/o\013)h(linebreak)f | ||
| 2660 | (preserv)l(ation)395 b Fg(\\n:nil)2046 2588 y Fi(turn)24 | ||
| 2661 | b(on/o\013)h(quoted)g(h)n(tml)f(tags)548 b Fg(@:t)2046 | ||
| 2662 | 2658 y Fi(turn)24 b(on/o\013)h(\014xed)f(width)g(sections)464 | ||
| 2663 | b Fg(::t)2046 2728 y Fi(turn)24 b(on/o\013)h(tables)893 | ||
| 2664 | b Fg(|:t)2046 2797 y Fi(turn)20 b(on/o\013)h(T)2444 2811 | ||
| 2665 | y(E)2484 2797 y(X)e(syn)n(tax)i(for)f(sub/sup)r(er-scripts)70 | ||
| 2666 | b Fg(^:t)2046 2867 y Fi(turn)24 b(on/o\013)h(emphasised)f(text)578 | ||
| 2667 | b Fg(*:nil)2046 2937 y Fi(turn)24 b(on/o\013)h(T)2452 | ||
| 2668 | 2951 y(E)2491 2937 y(X)e(macros)703 b Fg(TeX:t)2046 3035 | ||
| 2669 | y Fd(Commen)n(ts:)35 b(T)-7 b(ext)27 b(not)f(b)r(eing)i(exp)r(orted) | ||
| 2670 | 2046 3133 y Fi(T)-6 b(ext)22 b(b)r(efore)f(the)h(\014rst)f(headline)g | ||
| 2671 | (is)f(not)i(considered)g(part)f(of)g(the)h(do)r(c-)2046 | ||
| 2672 | 3203 y(umen)n(t)29 b(and)f(is)f(therefore)h(nev)n(er)g(exp)r(orted.)44 | ||
| 2673 | b(Lines)28 b(starting)g(with)g Fg(#)2046 3273 y Fi(are)j(commen)n(ts)g | ||
| 2674 | (and)h(are)e(not)i(exp)r(orted.)53 b(Subtrees)32 b(whose)f(header)2046 | ||
| 2675 | 3343 y(starts)24 b(with)g(COMMENT)e(are)i(nev)n(er)g(exp)r(orted.)2046 | ||
| 2676 | 3441 y(toggle)h(COMMENT)d(k)n(eyw)n(ord)j(on)f(en)n(try)285 | ||
| 2677 | b Fg(C-c)36 b(;)2046 3644 y Fh(Completion)2046 3800 y | ||
| 2678 | Fi(In-bu\013er)e(completion)g(completes)h(TODO)d(k)n(eyw)n(ords)i(at)g | ||
| 2679 | (headline)2046 3869 y(start,)26 b(T)-6 b(eX)26 b(macros)f(after)h(\\)p | ||
| 2680 | Fg(\\)p Fi(",)h(option)f(k)n(eyw)n(ords)g(after)g(\\)p | ||
| 2681 | Fg(#-)p Fi(",)h(k)n(ey-)2046 3939 y(w)n(ord)d(form)n(ulas)e(after)i(\\) | ||
| 2682 | p Fg(=)p Fi(",)g(and)g(dictionary)g(w)n(ords)g(elsewhere.)2046 | ||
| 2683 | 4037 y(Complete)h(w)n(ord)e(at)h(p)r(oin)n(t)702 b Fg(M-TAB)4242 | ||
| 2684 | -364 y Fh(Calendar)36 b(and)h(Diary)i(In)m(tegration)4242 | ||
| 2685 | -208 y Fi(T)-6 b(o)35 b(include)g(en)n(tries)g(from)f(the)i(Emacs)f | ||
| 2686 | (diary)g(in)f(y)n(our)h(Org-mo)r(de)4242 -139 y(agenda:)4242 | ||
| 2687 | -40 y Fg(\(setq)i(org-agenda-include-diary)42 b(t\))4242 | ||
| 2688 | 58 y Fi(T)-6 b(o)24 b(include)h(y)n(our)f(Org-mo)r(de)f(agenda)j(in)d | ||
| 2689 | (y)n(our)h(normal)g(diary)-6 b(,)23 b(mak)n(e)4242 128 | ||
| 2690 | y(sure)i(y)n(ou're)g(using)g(the)h(fancy)g(diary)f(displa)n(y)g(and)h | ||
| 2691 | (in)f(y)n(our)g Fg(~/diary)4242 197 y Fi(\014le)f(add)4242 | ||
| 2692 | 296 y Fg(&\045\045\(org-diary\))4242 394 y Fi(to)30 b(include)g(all)f | ||
| 2693 | (the)h(\014les)f(listed)h(in)f Fg(org-agenda-files)p | ||
| 2694 | Fi(.)53 b(F)-6 b(or)29 b(more)4242 464 y(selectiv)n(e)c(\014le)e | ||
| 2695 | (inclusion)h(use)g(a)g(line)f(for)g(eac)n(h)i(\014le:)4242 | ||
| 2696 | 562 y Fg(&\045\045\(org-diary\))39 b(~/path/to/some/org-fil)q(e.or)q(g) | ||
| 2697 | 4242 767 y Fh(Remem)m(b)s(er-mo)s(de)f(In)m(tegration)4242 | ||
| 2698 | 923 y Fi(See)32 b(the)g(man)n(ual)g(for)e(ho)n(w)i(to)g(mak)n(e)g | ||
| 2699 | (remem)n(b)r(er.el)f(use)g(Org-mo)r(de)4242 992 y(links)25 | ||
| 2700 | b(and)g(\014les.)36 b(The)25 b(note-\014nishing)h(command)g | ||
| 2701 | Fg(C-c)36 b(C-c)26 b Fi(will)e(\014rst)4242 1062 y(prompt)g(for)f(an)h | ||
| 2702 | (org)f(\014le.)32 b(In)24 b(the)g(\014le,)g(\014nd)g(a)g(lo)r(cation)g | ||
| 2703 | (with:)4242 1160 y(rotate)h(subtree)f(visibilit)n(y)719 | ||
| 2704 | b Fg(TAB)4242 1230 y Fi(next)25 b(heading)1043 b Fg(DOWN)4242 | ||
| 2705 | 1300 y Fi(previous)24 b(heading)921 b Fg(UP)4242 1398 | ||
| 2706 | y Fi(Insert)24 b(the)h(note)g(with)e(one)i(of)e(the)i(follo)n(wing:) | ||
| 2707 | 4242 1497 y(as)f(sublev)n(el)g(of)f(heading)i(at)f(cursor)468 | ||
| 2708 | b Fg(RET)4242 1566 y Fi(righ)n(t)24 b(here)g(\(cursor)f(not)i(on)f | ||
| 2709 | (heading\))388 b Fg(RET)4242 1636 y Fi(b)r(efore)24 b(curren)n(t)g | ||
| 2710 | (heading)745 b Fg(LEFT)4242 1706 y Fi(after)24 b(curren)n(t)g(heading) | ||
| 2711 | 790 b Fg(RIGHT)4242 1776 y Fi(shortcut)20 b(to)f(end)h(of)f(bu\013er)g | ||
| 2712 | (\(cursor)g(at)g(buf-start\))71 b Fg(RET)4242 1845 y | ||
| 2713 | Fi(Ab)r(ort)1256 b Fg(q)4242 2050 y Fh(CUA)38 b(and)f(p)s(c-select)g | ||
| 2714 | (compatibilit)m(y)4242 2206 y Fi(Con\014gure)31 b(the)f(v)l(ariable)g | ||
| 2715 | Fg(org-CUA-compatibility)35 b Fi(to)c(mak)n(e)f(Org-)4242 | ||
| 2716 | 2276 y(mo)r(de)38 b(a)n(v)n(oid)g(the)g Fg(S-<cursor>)i | ||
| 2717 | Fi(bindings)d(used)h(b)n(y)g(these)g(mo)r(des.)4242 2345 | ||
| 2718 | y(When)h(set,)j(Org-mo)r(de)c(will)e(c)n(hange)k(the)f(follo)n(wing)e | ||
| 2719 | (k)n(eybindings)4242 2415 y(\(also)25 b(in)f(the)h(agenda)h(bu\013er,)e | ||
| 2720 | (but)h(not)g(during)f(date)i(selection\).)34 b(See)4242 | ||
| 2721 | 2499 y(note)25 b(mark)e(four)4705 2476 y Ff(4)4766 2499 | ||
| 2722 | y Fi(throughout)i(the)g(reference)f(card.)4242 2667 y | ||
| 2723 | Fg(S-UP)142 b Fe(!)35 b Fg(M-p)460 b(S-DOWN)72 b Fe(!)35 | ||
| 2724 | b Fg(M-n)4242 2737 y(S-LEFT)72 b Fe(!)35 b Fg(M--)460 | ||
| 2725 | b(S-RIGHT)37 b Fe(!)e Fg(M-+)4242 2807 y(S-RET)107 b | ||
| 2726 | Fe(!)35 b Fg(C-S-RET)4242 2991 y Fh(Notes)4242 3123 y | ||
| 2727 | Ff(1)4307 3146 y Fi(The)28 b(six)f(autoload)i(forms)e(are)h(only)g | ||
| 2728 | (needed)h(if)e(Org-mo)r(de)g(is)g(not)4242 3216 y(part)d(of)f(Emacs,)h | ||
| 2729 | (or)f(an)h(XEmacs)g(pac)n(k)l(age.)4242 3302 y Ff(2)4313 | ||
| 2730 | 3325 y Fi(This)34 b(is)f(only)h(a)h(suggestion)g(for)e(a)h(binding)h | ||
| 2731 | (of)e(this)h(command.)4242 3395 y(Cho)r(ose)24 b(y)n(ou)h(o)n(wn)f(k)n | ||
| 2732 | (ey)g(as)g(sho)n(wn)g(under)g(INST)-6 b(ALLA)g(TION.)4242 | ||
| 2733 | 3481 y Ff(3)4300 3504 y Fi(After)21 b(c)n(hanging)h(a)f | ||
| 2734 | Fg(#+KEYWORD)j Fi(line,)d(press)f Fg(C-c)37 b(C-c)21 | ||
| 2735 | b Fi(with)g(the)h(cur-)4242 3574 y(sor)h(still)g(in)g(a)h(line)f(to)h | ||
| 2736 | (mak)n(e)h(Org-mo)r(de)e(notice)i(the)f(c)n(hange.)4242 | ||
| 2737 | 3659 y Ff(4)4303 3683 y Fi(Keybinding)g(a\013ected)i(b)n(y)e | ||
| 2738 | Fg(org-CUA-compatibility)p Fi(.)4535 3770 y Fb(Cop)n(yrigh)n(t)4838 | ||
| 2739 | 3768 y(c)4821 3770 y Fa(\015)d Fb(2005)i(F)-5 b(ree)21 | ||
| 2740 | b(Soft)n(w)n(are)i(F)-5 b(oundation,)20 b(Inc.)4795 3826 | ||
| 2741 | y(v3.13)h(for)h(Org-Mo)r(de)e(3.13,)i(2005)4912 3882 | ||
| 2742 | y(Author:)k(Philip)18 b(Ro)r(ok)n(e)4473 3937 y(based)j(on)g(refcard)g | ||
| 2743 | (design)g(and)f(format)i(b)n(y)f(Stephen)f(Gildea)4242 | ||
| 2744 | 4022 y(P)n(ermission)28 b(is)f(gran)n(ted)i(to)f(mak)n(e)h(and)e | ||
| 2745 | (distribute)f(copies)j(of)f(this)f(card)h(pro-)4242 4077 | ||
| 2746 | y(vided)23 b(the)h(cop)n(yrigh)n(t)h(notice)g(and)f(this)f(p)r | ||
| 2747 | (ermission)h(notice)g(are)h(preserv)n(ed)g(on)4242 4133 | ||
| 2748 | y(all)20 b(copies.)p eop end | ||
| 2749 | %%Trailer | ||
| 2750 | |||
| 2751 | userdict /end-hook known{end-hook}if | ||
| 2752 | %%EOF | ||
diff --git a/etc/orgcard.tex b/etc/orgcard.tex new file mode 100644 index 00000000000..77aa5ade836 --- /dev/null +++ b/etc/orgcard.tex | |||
| @@ -0,0 +1,737 @@ | |||
| 1 | % Reference Card for Org Mode 3.13 | ||
| 2 | % | ||
| 3 | %**start of header | ||
| 4 | \newcount\columnsperpage | ||
| 5 | |||
| 6 | % This file can be printed with 1, 2, or 3 columns per page (see below). | ||
| 7 | % At the moment this card works quite nicely in 3 column format and | ||
| 8 | % currently takes most of 2 pages. It is thus suited to producing one | ||
| 9 | % double-side page when printed. | ||
| 10 | |||
| 11 | % There are a couple of tweaks in the format of this card which make it work | ||
| 12 | % slightly better on A4 paper. The changes due, I think, to Stephen Eglen, | ||
| 13 | % are commented below. Revert the changes if you want letter sized paper. | ||
| 14 | |||
| 15 | % Try running something like | ||
| 16 | % tex org-mode-ref.tex; dvips -t landscape org-mode-ref.dvi | ||
| 17 | % to print the card | ||
| 18 | |||
| 19 | \columnsperpage=3 | ||
| 20 | |||
| 21 | % Copyright (c) 2004 Philip Rooke, 2005 Free Software Foundation | ||
| 22 | |||
| 23 | % GNU Emacs is free software; you can redistribute it and/or modify | ||
| 24 | % it under the terms of the GNU General Public License as published by | ||
| 25 | % the Free Software Foundation; either version 2, or (at your option) | ||
| 26 | % any later version. | ||
| 27 | |||
| 28 | % GNU Emacs is distributed in the hope that it will be useful, | ||
| 29 | % but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 30 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 31 | % GNU General Public License for more details. | ||
| 32 | |||
| 33 | % You should have received a copy of the GNU General Public License | ||
| 34 | % along with GNU Emacs; see the file COPYING. If not, write to | ||
| 35 | % the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
| 36 | % Boston, MA 02111-1307, USA. | ||
| 37 | |||
| 38 | % This file is intended to be processed by plain TeX (TeX82). | ||
| 39 | % | ||
| 40 | % The final reference card has six columns, three on each side. | ||
| 41 | % This file can be used to produce it in any of three ways: | ||
| 42 | % 1 column per page | ||
| 43 | % produces six separate pages, each of which needs to be reduced to 80%. | ||
| 44 | % This gives the best resolution. | ||
| 45 | % 2 columns per page | ||
| 46 | % produces three already-reduced pages. | ||
| 47 | % You will still need to cut and paste. | ||
| 48 | % 3 columns per page | ||
| 49 | % produces two pages which must be printed sideways to make a | ||
| 50 | % ready-to-use 8.5 x 11 inch reference card. | ||
| 51 | % For this you need a dvi device driver that can print sideways. | ||
| 52 | % Which mode to use is controlled by setting \columnsperpage above. | ||
| 53 | % | ||
| 54 | % Author: | ||
| 55 | % Stephen Gildea | ||
| 56 | % Internet: gildea@stop.mail-abuse.org | ||
| 57 | % | ||
| 58 | % Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik | ||
| 59 | % for their many good ideas. | ||
| 60 | |||
| 61 | \def\orgversionnumber{3.13} | ||
| 62 | \def\year{2005} | ||
| 63 | |||
| 64 | \def\shortcopyrightnotice{\vskip 1ex plus 2 fill | ||
| 65 | \centerline{\small \copyright\ 2004, 2005\ Free Software Foundation, Inc. | ||
| 66 | Permissions on back. v\orgversionnumber}} | ||
| 67 | |||
| 68 | \def\copyrightnotice{ | ||
| 69 | \vskip 1ex plus 100 fill\begingroup\small | ||
| 70 | \centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.} | ||
| 71 | \centerline{v\orgversionnumber{} for Org-Mode \orgversionnumber{}, \year} | ||
| 72 | \centerline{Author: Philip Rooke} | ||
| 73 | \centerline{based on refcard design and format by Stephen Gildea} | ||
| 74 | |||
| 75 | Permission is granted to make and distribute copies of | ||
| 76 | this card provided the copyright notice and this permission notice | ||
| 77 | are preserved on all copies. | ||
| 78 | |||
| 79 | \endgroup} | ||
| 80 | |||
| 81 | % make \bye not \outer so that the \def\bye in the \else clause below | ||
| 82 | % can be scanned without complaint. | ||
| 83 | \def\bye{\par\vfill\supereject\end} | ||
| 84 | |||
| 85 | \newdimen\intercolumnskip %horizontal space between columns | ||
| 86 | \newbox\columna %boxes to hold columns already built | ||
| 87 | \newbox\columnb | ||
| 88 | |||
| 89 | \def\ncolumns{\the\columnsperpage} | ||
| 90 | |||
| 91 | \message{[\ncolumns\space | ||
| 92 | column\if 1\ncolumns\else s\fi\space per page]} | ||
| 93 | |||
| 94 | \def\scaledmag#1{ scaled \magstep #1} | ||
| 95 | |||
| 96 | % This multi-way format was designed by Stephen Gildea October 1986. | ||
| 97 | % Note that the 1-column format is fontfamily-independent. | ||
| 98 | \if 1\ncolumns %one-column format uses normal size | ||
| 99 | \hsize 4in | ||
| 100 | \vsize 10in | ||
| 101 | \voffset -.7in | ||
| 102 | \font\titlefont=\fontname\tenbf \scaledmag3 | ||
| 103 | \font\headingfont=\fontname\tenbf \scaledmag2 | ||
| 104 | \font\smallfont=\fontname\sevenrm | ||
| 105 | \font\smallsy=\fontname\sevensy | ||
| 106 | |||
| 107 | \footline{\hss\folio} | ||
| 108 | \def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}} | ||
| 109 | \else %2 or 3 columns uses prereduced size | ||
| 110 | \hsize 3.2in | ||
| 111 | |||
| 112 | % FIXME - Try to make things more A4 friendly | ||
| 113 | % \vsize 7.95in | ||
| 114 | \vsize 7.65in | ||
| 115 | % \hoffset -.75in | ||
| 116 | \hoffset -.25in | ||
| 117 | \voffset -.745in | ||
| 118 | \font\titlefont=cmbx10 \scaledmag2 | ||
| 119 | \font\headingfont=cmbx10 \scaledmag1 | ||
| 120 | \font\smallfont=cmr6 | ||
| 121 | \font\smallsy=cmsy6 | ||
| 122 | \font\eightrm=cmr8 | ||
| 123 | \font\eightbf=cmbx8 | ||
| 124 | \font\eightit=cmti8 | ||
| 125 | \font\eighttt=cmtt8 | ||
| 126 | \font\eightmi=cmmi8 | ||
| 127 | \font\eightsy=cmsy8 | ||
| 128 | \textfont0=\eightrm | ||
| 129 | \textfont1=\eightmi | ||
| 130 | \textfont2=\eightsy | ||
| 131 | \def\rm{\eightrm} | ||
| 132 | \def\bf{\eightbf} | ||
| 133 | \def\it{\eightit} | ||
| 134 | \def\tt{\eighttt} | ||
| 135 | |||
| 136 | % FIXME - Try to make things more A4 friendly | ||
| 137 | % \normalbaselineskip=.8\normalbaselineskip | ||
| 138 | \normalbaselineskip=.7\normalbaselineskip | ||
| 139 | \normallineskip=.8\normallineskip | ||
| 140 | \normallineskiplimit=.8\normallineskiplimit | ||
| 141 | \normalbaselines\rm %make definitions take effect | ||
| 142 | |||
| 143 | \if 2\ncolumns | ||
| 144 | \let\maxcolumn=b | ||
| 145 | \footline{\hss\rm\folio\hss} | ||
| 146 | \def\makefootline{\vskip 2in \hsize=6.86in\line{\the\footline}} | ||
| 147 | \else \if 3\ncolumns | ||
| 148 | \let\maxcolumn=c | ||
| 149 | \nopagenumbers | ||
| 150 | \else | ||
| 151 | \errhelp{You must set \columnsperpage equal to 1, 2, or 3.} | ||
| 152 | \errmessage{Illegal number of columns per page} | ||
| 153 | \fi\fi | ||
| 154 | |||
| 155 | \intercolumnskip=.46in | ||
| 156 | \def\abc{a} | ||
| 157 | \output={% %see The TeXbook page 257 | ||
| 158 | % This next line is useful when designing the layout. | ||
| 159 | %\immediate\write16{Column \folio\abc\space starts with \firstmark} | ||
| 160 | \if \maxcolumn\abc \multicolumnformat \global\def\abc{a} | ||
| 161 | \else\if a\abc | ||
| 162 | \global\setbox\columna\columnbox \global\def\abc{b} | ||
| 163 | %% in case we never use \columnb (two-column mode) | ||
| 164 | \global\setbox\columnb\hbox to -\intercolumnskip{} | ||
| 165 | \else | ||
| 166 | \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi} | ||
| 167 | \def\multicolumnformat{\shipout\vbox{\makeheadline | ||
| 168 | \hbox{\box\columna\hskip\intercolumnskip | ||
| 169 | \box\columnb\hskip\intercolumnskip\columnbox} | ||
| 170 | \makefootline}\advancepageno} | ||
| 171 | \def\columnbox{\leftline{\pagebody}} | ||
| 172 | |||
| 173 | \def\bye{\par\vfill\supereject | ||
| 174 | \if a\abc \else\null\vfill\eject\fi | ||
| 175 | \if a\abc \else\null\vfill\eject\fi | ||
| 176 | \end} | ||
| 177 | \fi | ||
| 178 | |||
| 179 | % we won't be using math mode much, so redefine some of the characters | ||
| 180 | % we might want to talk about | ||
| 181 | %\catcode`\^=12 | ||
| 182 | \catcode`\_=12 | ||
| 183 | |||
| 184 | % we also need the tilde, for file names. | ||
| 185 | \catcode`\~=12 | ||
| 186 | |||
| 187 | \chardef\\=`\\ | ||
| 188 | \chardef\{=`\{ | ||
| 189 | \chardef\}=`\} | ||
| 190 | |||
| 191 | \hyphenation{mini-buf-fer} | ||
| 192 | |||
| 193 | \parindent 0pt | ||
| 194 | \parskip 1ex plus .5ex minus .5ex | ||
| 195 | |||
| 196 | \def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip} | ||
| 197 | |||
| 198 | % newcolumn - force a new column. Use sparingly, probably only for | ||
| 199 | % the first column of a page, which should have a title anyway. | ||
| 200 | \outer\def\newcolumn{\vfill\eject} | ||
| 201 | |||
| 202 | % title - page title. Argument is title text. | ||
| 203 | \outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex} | ||
| 204 | |||
| 205 | % section - new major section. Argument is section name. | ||
| 206 | \outer\def\section#1{\par\filbreak | ||
| 207 | \vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}% | ||
| 208 | \vskip 2ex plus 1ex minus 1.5ex} | ||
| 209 | |||
| 210 | \newdimen\keyindent | ||
| 211 | |||
| 212 | % beginindentedkeys...endindentedkeys - key definitions will be | ||
| 213 | % indented, but running text, typically used as headings to group | ||
| 214 | % definitions, will not. | ||
| 215 | \def\beginindentedkeys{\keyindent=1em} | ||
| 216 | \def\endindentedkeys{\keyindent=0em} | ||
| 217 | \endindentedkeys | ||
| 218 | |||
| 219 | % paralign - begin paragraph containing an alignment. | ||
| 220 | % If an \halign is entered while in vertical mode, a parskip is never | ||
| 221 | % inserted. Using \paralign instead of \halign solves this problem. | ||
| 222 | \def\paralign{\vskip\parskip\halign} | ||
| 223 | |||
| 224 | % \<...> - surrounds a variable name in a code example | ||
| 225 | \def\<#1>{{\it #1\/}} | ||
| 226 | |||
| 227 | % kbd - argument is characters typed literally. Like the Texinfo command. | ||
| 228 | \def\kbd#1{{\tt#1}\null} %\null so not an abbrev even if period follows | ||
| 229 | |||
| 230 | % beginexample...endexample - surrounds literal text, such a code example. | ||
| 231 | % typeset in a typewriter font with line breaks preserved | ||
| 232 | \def\beginexample{\par\leavevmode\begingroup | ||
| 233 | \obeylines\obeyspaces\parskip0pt\tt} | ||
| 234 | {\obeyspaces\global\let =\ } | ||
| 235 | \def\endexample{\endgroup} | ||
| 236 | |||
| 237 | % key - definition of a key. | ||
| 238 | % \key{description of key}{key-name} | ||
| 239 | % prints the description left-justified, and the key-name in a \kbd | ||
| 240 | % form near the right margin. | ||
| 241 | \def\key#1#2{\leavevmode\hbox to \hsize{\vtop | ||
| 242 | {\hsize=.75\hsize\rightskip=1em | ||
| 243 | \hskip\keyindent\relax#1}\kbd{#2}\hfil}} | ||
| 244 | |||
| 245 | \newbox\metaxbox | ||
| 246 | \setbox\metaxbox\hbox{\kbd{M-x }} | ||
| 247 | \newdimen\metaxwidth | ||
| 248 | \metaxwidth=\wd\metaxbox | ||
| 249 | |||
| 250 | % metax - definition of a M-x command. | ||
| 251 | % \metax{description of command}{M-x command-name} | ||
| 252 | % Tries to justify the beginning of the command name at the same place | ||
| 253 | % as \key starts the key name. (The "M-x " sticks out to the left.) | ||
| 254 | \def\metax#1#2{\leavevmode\hbox to \hsize{\hbox to .75\hsize | ||
| 255 | {\hskip\keyindent\relax#1\hfil}% | ||
| 256 | \hskip -\metaxwidth minus 1fil | ||
| 257 | \kbd{#2}\hfil}} | ||
| 258 | |||
| 259 | % threecol - like "key" but with two key names. | ||
| 260 | % for example, one for doing the action backward, and one for forward. | ||
| 261 | \def\threecol#1#2#3{\hskip\keyindent\relax#1\hfil&\kbd{#2}\hfil\quad | ||
| 262 | &\kbd{#3}\hfil\quad\cr} | ||
| 263 | |||
| 264 | %**end of header | ||
| 265 | |||
| 266 | |||
| 267 | \title{Org-Mode Reference Card (1/2)} | ||
| 268 | |||
| 269 | \centerline{(for version \orgversionnumber)} | ||
| 270 | |||
| 271 | \section{Getting Started} | ||
| 272 | % | ||
| 273 | Put the following in your \kbd{~/.emacs}$^1$ | ||
| 274 | \vskip -1mm | ||
| 275 | \beginexample% | ||
| 276 | (autoload 'org-mode "org" "Org mode" t) | ||
| 277 | (autoload 'org-diary "org" "Org mode diary entries") | ||
| 278 | (autoload 'org-agenda "org" "Agenda from Org files" 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)) | ||
| 283 | (define-key global-map "\\C-cl" 'org-store-link)$^2$ | ||
| 284 | (define-key global-map "\\C-ca" 'org-agenda)$^2$ | ||
| 285 | \endexample | ||
| 286 | % | ||
| 287 | \metax{For the many customization options try}{M-x org-customize} | ||
| 288 | \metax{To read the on-line documentation try}{M-x org-info} | ||
| 289 | |||
| 290 | \section{Visibility Cycling} | ||
| 291 | |||
| 292 | \key{rotate current subtree between states}{TAB} | ||
| 293 | \key{rotate entire buffer between states}{S-TAB} | ||
| 294 | \key{show the whole file}{C-c C-a} | ||
| 295 | %\key{show branches}{C-c C-k} | ||
| 296 | |||
| 297 | \section{Motion} | ||
| 298 | |||
| 299 | \key{next heading}{C-c C-n} | ||
| 300 | \key{previous heading}{C-c C-p} | ||
| 301 | \key{next heading, same level}{C-c C-f} | ||
| 302 | \key{previous heading, same level}{C-c C-b} | ||
| 303 | \key{backward to higher level heading}{C-c C-u} | ||
| 304 | \key{jump to another place in document}{C-c C-j} | ||
| 305 | |||
| 306 | \section{Structure Editing} | ||
| 307 | |||
| 308 | \key{insert new heading at same level as current}{M-RET} | ||
| 309 | \key{insert new TODO entry}{M-S-RET} | ||
| 310 | |||
| 311 | \key{promote current heading up one level}{M-LEFT} | ||
| 312 | \key{demote current heading down one level}{M-RIGHT} | ||
| 313 | \key{promote current subtree up one level}{M-S-LEFT} | ||
| 314 | \key{demote current subtree down one level}{M-S-RIGHT} | ||
| 315 | |||
| 316 | \key{move subtree up}{M-S-UP} | ||
| 317 | \key{move subtree down}{M-S-DOWN} | ||
| 318 | \key{kill subtree}{C-c C-h C-w} | ||
| 319 | \key{copy subtree}{C-c C-h M-w} | ||
| 320 | \key{yank subtree}{C-c C-h C-y} | ||
| 321 | |||
| 322 | \key{archive subtree}{C-c \$} | ||
| 323 | To set archive location for current file, add a line like$^3$: | ||
| 324 | \vskip -1mm | ||
| 325 | \beginexample% | ||
| 326 | \#+ARCHIVE: archfile::* Archived Tasks | ||
| 327 | \endexample | ||
| 328 | |||
| 329 | \section{Filtering and Sparse Trees} | ||
| 330 | |||
| 331 | \key{show sparse tree for all matches of a regexp}{C-c /} | ||
| 332 | \key{view TODO's in sparse tree}{C-c C-v} | ||
| 333 | \key{create sparse tree with all deadlines due}{C-c C-w} | ||
| 334 | \key{time sorted view of current org file}{C-c C-r} | ||
| 335 | \key{agenda for the week}{C-c a$1$} | ||
| 336 | \key{agenda for date at cursor}{C-c C-o} | ||
| 337 | |||
| 338 | \section{TODO Items} | ||
| 339 | |||
| 340 | \key{rotate the state of the current item}{C-c C-t} | ||
| 341 | \key{view TODO items in a sparse tree}{C-c C-v} | ||
| 342 | |||
| 343 | \key{set the priority of the current item}{C-c , [ABC]} | ||
| 344 | \key{remove priority cookie from current item}{C-c , SPC} | ||
| 345 | \key{raise priority of current item}{S-UP$^4$} | ||
| 346 | \key{lower priority of current item}{S-DOWN$^4$} | ||
| 347 | |||
| 348 | \vskip 1mm | ||
| 349 | per-file TODO workflow states: add line(s) like$^3$: | ||
| 350 | \vskip -1mm | ||
| 351 | \beginexample% | ||
| 352 | \#+SEQ_TODO: TODO PROCRASTINATE BLUFF DONE | ||
| 353 | \endexample | ||
| 354 | \vskip -1mm | ||
| 355 | per-file TODO keywords: add line(s) like$^3$: | ||
| 356 | \vskip -1mm | ||
| 357 | \beginexample% | ||
| 358 | \#+TYP_TODO: Phil home work DONE | ||
| 359 | \endexample | ||
| 360 | |||
| 361 | \section{Timestamps} | ||
| 362 | |||
| 363 | \key{prompt for date and insert timestamp}{C-c .} | ||
| 364 | \key{like \kbd{C-c} . but insert date and time format}{C-u C-c .} | ||
| 365 | \key{insert DEADLINE timestamp}{C-c C-d} | ||
| 366 | \key{insert SCHEDULED timestamp}{C-c C-s} | ||
| 367 | \key{create sparse tree with all deadlines due}{C-c C-w} | ||
| 368 | \key{the time between 2 dates in a time range}{C-c C-y} | ||
| 369 | |||
| 370 | \key{change timestamp at cursor by $-1$ day}{S-LEFT$^4$} | ||
| 371 | \key{change timestamp at cursor by $+1$ day}{S-RIGHT$^4$} | ||
| 372 | \key{change year/month/day at cursor by $-1$}{S-DOWN$^4$} | ||
| 373 | \key{change year/month/day at cursor by $+1$}{S-UP$^4$} | ||
| 374 | |||
| 375 | \key{access the calendar for the current date}{C-c >} | ||
| 376 | \key{insert timestamp matching date in calendar}{C-c <} | ||
| 377 | \key{access agenda for current date}{C-c C-o} | ||
| 378 | |||
| 379 | \key{While prompted for a date:}{} | ||
| 380 | \key{... select date in calendar}{mouse-1/RET} | ||
| 381 | \key{... scroll calendar back/forward one month}{< / >} | ||
| 382 | \key{... forward/backward one day}{S-LEFT/RIGHT} | ||
| 383 | \key{... forward/backward one week}{S-UP/DOWN} | ||
| 384 | \key{... forward/backward one month}{M-S-LEFT/RIGT} | ||
| 385 | |||
| 386 | \section{Links} | ||
| 387 | |||
| 388 | \key{globally store link to the current location}{C-c l$^2$} | ||
| 389 | \key{insert a link (TAB completes stored links)}{C-c C-l} | ||
| 390 | \key{insert file link with file name completion}{C-u C-c C-l} | ||
| 391 | |||
| 392 | \key{open link at point}{C-c C-o} | ||
| 393 | \key{open file links in emacs}{C-u C-c C-o} | ||
| 394 | \key{open link at point}{mouse-2} | ||
| 395 | \key{open file links in emacs}{mouse-3} | ||
| 396 | |||
| 397 | {\bf Link types} | ||
| 398 | |||
| 399 | \key{\kbd{<http://www.astro.uva.nl/~dominik>}}{\rm on the web} | ||
| 400 | \key{\kbd{<mailto:adent@galaxy.net>}}{\rm EMail address} | ||
| 401 | \key{\kbd{<news:comp.emacs>}}{\rm Usenet group} | ||
| 402 | \key{\kbd{<file:/home/dominik/img/mars.jpg>}}{\rm file, absolute} | ||
| 403 | \key{\kbd{<file:papers/last.pdf>}}{\rm file, relative} | ||
| 404 | \key{\kbd{<file:~/code/main.c:255>}}{\rm file with line nr.} | ||
| 405 | \key{\kbd{<bbdb:Richard Stallman>}}{\rm BBDB person} | ||
| 406 | \key{\kbd{<shell:ls *.org>}}{\rm shell command} | ||
| 407 | \key{\kbd{<gnus:group>}}{\rm GNUS group} | ||
| 408 | \key{\kbd{<gnus:group\#id>}}{\rm GNUS message} | ||
| 409 | \key{\kbd{<vm:folder>}}{\rm VM folder} | ||
| 410 | \key{\kbd{<vm:folder\#id>}}{\rm VM message} | ||
| 411 | \key{\kbd{<vm://myself@some.where.org/folder\#id>}}{\rm VM remote} | ||
| 412 | Wanderlust \kbd{<wl:...>} and RMAIL \kbd{<rmail:...>} like VM | ||
| 413 | %\key{\kbd{<wl:folder>}}{\rm Wanderlust f.} | ||
| 414 | %\key{\kbd{<wl:folder\#id>}}{\rm Wanderlust m.} | ||
| 415 | %\key{\kbd{<rmail:folder>}}{\rm RMAIL folder} | ||
| 416 | %\key{\kbd{<rmail:folder\#id>}}{\rm RMAIL msg} | ||
| 417 | |||
| 418 | \section{Tables} | ||
| 419 | |||
| 420 | %Org-mode has its own built-in intuitive table editor with unique | ||
| 421 | %capabilities. | ||
| 422 | |||
| 423 | {\bf Creating a table} | ||
| 424 | |||
| 425 | \metax{insert a new Org-mode table}{M-x org-table-create} | ||
| 426 | \metax{... or just start typing, e.g.}{|Name|Phone|Age RET |- TAB} | ||
| 427 | \key{convert region to table}{C-c C-c} | ||
| 428 | \key{... separator at least 3 spaces}{C-3 C-c C-c} | ||
| 429 | %\key{... prompt for separator regexp}{C-u C-c C-c} | ||
| 430 | |||
| 431 | {\bf Commands available inside tables} | ||
| 432 | |||
| 433 | The following commands work when the cursor is {\it inside a table}. | ||
| 434 | Outside of tables, the same keys may have other functionality. | ||
| 435 | |||
| 436 | {\bf Re-aligning and field motion} | ||
| 437 | |||
| 438 | \key{re-align the table without moving the cursor}{C-c C-c} | ||
| 439 | \key{re-align the table, move to next field}{TAB} | ||
| 440 | \key{move to previous field}{S-TAB} | ||
| 441 | \key{re-align the table, move to next row}{RET} | ||
| 442 | |||
| 443 | {\bf Row and column editing} | ||
| 444 | |||
| 445 | \key{move the current column left}{M-LEFT} | ||
| 446 | \key{move the current column right}{M-RIGHT} | ||
| 447 | \key{kill the current column}{M-S-LEFT} | ||
| 448 | \key{insert new column to left of cursor position}{M-S-RIGHT} | ||
| 449 | |||
| 450 | \key{move the current row up}{M-UP} | ||
| 451 | \key{move the current row down}{M-DOWN} | ||
| 452 | \key{kill the current row or horizontal line}{M-S-UP} | ||
| 453 | \key{insert new row above the current row}{M-S-DOWN} | ||
| 454 | |||
| 455 | \key{insert horizontal line below the current row}{C-c -} | ||
| 456 | \key{insert horizontal line above the current row}{C-u C-c -} | ||
| 457 | |||
| 458 | {\bf Regions} | ||
| 459 | |||
| 460 | \key{cut rectangular region}{C-c C-h C-w} | ||
| 461 | \key{copy rectangular region}{C-c C-h M-w} | ||
| 462 | \key{paste rectangular region}{C-c C-h C-y} | ||
| 463 | \key{fill paragraph across selected cells}{C-c C-q} | ||
| 464 | |||
| 465 | {\bf Calculations} | ||
| 466 | |||
| 467 | Except for the summation commands, these need the Emacs calc package | ||
| 468 | installed. | ||
| 469 | |||
| 470 | \key{replace current field with result of formula}{C-c =} | ||
| 471 | \key{... same calculation for rest of column}{C-u C-c =} | ||
| 472 | \key{re-apply all stored equations to current line}{C-c *} | ||
| 473 | \key{re-apply all stored equations to entire table}{C-u C-c *} | ||
| 474 | |||
| 475 | \kbd{TAB}, \kbd{RET} and \kbd{C-c C-c} trigger automatic recalculation | ||
| 476 | in lines starting with: {\tt | \# |}. | ||
| 477 | |||
| 478 | \key{rotate recalculation mark through \# * ! \^ \_ \$}{C-\#} | ||
| 479 | |||
| 480 | \key{display column number cursor is in}{C-c ?} | ||
| 481 | \key{sum numbers in current column/rectangle}{C-c +} | ||
| 482 | \key{copy down with increment}{S-RET$^4$} | ||
| 483 | |||
| 484 | A formula can also be typed directly into into a field. It will be | ||
| 485 | executed by \kbd{TAB}, \kbd{RET} and \kbd{C-c C-c}: | ||
| 486 | |||
| 487 | \key{Example: Add Col1 and Col2}{=\$1+\$2} | ||
| 488 | \key{... with printf format specification}{=\$1+\$2;\%.2f} | ||
| 489 | \key{... with constants from constants.el}{=\$1/\$c/\$cm} | ||
| 490 | \key{Apply current (for this column) formula}{=} | ||
| 491 | \key{Sum all numbers above/left of cursor}{=sum / =sumh} | ||
| 492 | \key{Sum just the 3 fields closest to cursor}{=sum3/=sumh3} | ||
| 493 | |||
| 494 | {\bf Miscellaneous} | ||
| 495 | |||
| 496 | \key{toggle visibility of vertical lines}{C-c |} | ||
| 497 | \metax{export as tab-separated file}{M-x org-table-export} | ||
| 498 | \metax{import tab-separated file}{M-x org-table-import} | ||
| 499 | |||
| 500 | {\bf Tables created with the \kbd{table.el} package} | ||
| 501 | |||
| 502 | \key{insert a new \kbd{table.el} table}{C-c ~} | ||
| 503 | \key{recognize existing table.el table}{C-c C-c} | ||
| 504 | \key{convert table (Org-mode $\leftrightarrow$ table.el)}{C-c ~} | ||
| 505 | |||
| 506 | \newcolumn | ||
| 507 | \title{Org-Mode Reference Card (2/2)} | ||
| 508 | |||
| 509 | \centerline{(for version \orgversionnumber)} | ||
| 510 | |||
| 511 | \section{Timeline and Agenda} | ||
| 512 | |||
| 513 | \key{show timeline of current org file}{C-c C-r} | ||
| 514 | \key{... include past dates}{C-u C-c C-r} | ||
| 515 | |||
| 516 | \key{add current file to your agenda}{C-c [} | ||
| 517 | \key{remove current file from your agenda}{C-c ]} | ||
| 518 | \key{compile agenda for the current week}{C-c a$^2$} | ||
| 519 | \key{agenda for date at cursor}{C-c C-o} | ||
| 520 | \vskip 1mm | ||
| 521 | To set category for current file, add line$^3$: | ||
| 522 | \vskip -1mm | ||
| 523 | \beginexample% | ||
| 524 | \#+CATEGORY: MyCateg | ||
| 525 | \endexample | ||
| 526 | |||
| 527 | {\bf Commands available in an agenda buffer} | ||
| 528 | |||
| 529 | The agenda buffer is electric: single key presses execute commands. | ||
| 530 | |||
| 531 | {\bf View org file} | ||
| 532 | |||
| 533 | \key{show original location of item}{SPC} | ||
| 534 | \key{... also available with}{mouse-3} | ||
| 535 | \key{show and recenter window}{l} | ||
| 536 | \key{goto original location in other window}{TAB} | ||
| 537 | \key{... also available with}{mouse-2} | ||
| 538 | \key{goto original location, delete other windows}{RET} | ||
| 539 | \key{toggle follow-mode}{f} | ||
| 540 | |||
| 541 | {\bf Change display} | ||
| 542 | |||
| 543 | \key{delete other windows}{o} | ||
| 544 | \key{switch to weekly view}{w} | ||
| 545 | \key{switch to daily view}{d} | ||
| 546 | \key{toggle inclusion of diary entries}{D} | ||
| 547 | \key{toggle time grid for daily schedule}{g} | ||
| 548 | \key{refresh agenda buffer with any changes}{r} | ||
| 549 | \key{display the following \kbd{org-agenda-ndays}}{RIGHT} | ||
| 550 | \key{display the previous \kbd{org-agenda-ndays}}{LEFT} | ||
| 551 | \key{goto today}{.} | ||
| 552 | |||
| 553 | {\bf Remote editing} | ||
| 554 | |||
| 555 | \key{digit argument}{0-9} | ||
| 556 | |||
| 557 | \key{change state of current TODO item}{t} | ||
| 558 | \key{set priority of current item}{p} | ||
| 559 | \key{raise priority of current item}{S-UP$^4$} | ||
| 560 | \key{lower priority of current item}{S-DOWN$^4$} | ||
| 561 | \key{display weighted priority of current item}{P} | ||
| 562 | |||
| 563 | \key{change timestamp to one day earlier}{S-LEFT$^4$} | ||
| 564 | \key{change timestamp to one day later}{S-RIGHT$^4$} | ||
| 565 | \key{change timestamp to today}{>} | ||
| 566 | |||
| 567 | \key{insert new entry into diary}{i} | ||
| 568 | |||
| 569 | {\bf Calendar commands} | ||
| 570 | |||
| 571 | \key{find agenda cursor date in calendar}{c} | ||
| 572 | \key{compute agenda for calendar cursor date}{c} | ||
| 573 | \key{show phases of the moon}{M} | ||
| 574 | \key{show sunrise/sunset times}{S} | ||
| 575 | \key{show holidays}{H} | ||
| 576 | \key{convert date to other calendars}{C} | ||
| 577 | |||
| 578 | {\bf Quit and Exit} | ||
| 579 | |||
| 580 | \key{quit agenda, remove agenda buffer}{q} | ||
| 581 | \key{exit agenda, remove all agenda buffers}{x} | ||
| 582 | |||
| 583 | \section{Exporting} | ||
| 584 | |||
| 585 | Exporting creates files with extensions {\it .txt\/} and {\it .html\/} | ||
| 586 | in the current directory. | ||
| 587 | |||
| 588 | \key{export as ASCII file}{C-c C-x a} | ||
| 589 | \key{export visible text only (e.g. for printing)}{C-c C-x v} | ||
| 590 | \key{export as HTML file}{C-c C-x h} | ||
| 591 | \key{export as HTML and open in browser}{C-c C-x C-h} | ||
| 592 | \key{prefix arg sets nb. of headline levels, e.g.}{C-3 C-c C-x h} | ||
| 593 | |||
| 594 | \key{insert template of export options}{C-c C-x t} | ||
| 595 | |||
| 596 | \key{toggle fixed width for line or region}{C-c :} | ||
| 597 | |||
| 598 | {\bf HTML formatting} | ||
| 599 | |||
| 600 | \key{make words {\bf bold}}{*bold*} | ||
| 601 | \key{make words {\it italic}}{/italic/} | ||
| 602 | \key{make words \underbar{underlined}}{_underlined_} | ||
| 603 | \key{sub- and superscripts}{x\^{}3, J_dust} | ||
| 604 | \key{\TeX{}-like macros}{\\alpha, \\to} | ||
| 605 | \key{typeset lines in fixed width font}{start with :} | ||
| 606 | \key{tables are exported as HTML tables}{start with |} | ||
| 607 | \key{links become HTML links}{http:... etc} | ||
| 608 | \key{include html tags}{@<b>...@</b>} | ||
| 609 | |||
| 610 | {\bf Export options} | ||
| 611 | |||
| 612 | Include additional information for export by putting these anywhere in the | ||
| 613 | org file. Use {\tt M-TAB} completion to make sure to get the right | ||
| 614 | keywords. {\tt M-TAB} again just after keyword is complete inserts examples. | ||
| 615 | |||
| 616 | \key{the title to be shown}{\#+TITLE:} | ||
| 617 | \key{the author}{\#+AUTHOR:} | ||
| 618 | \key{authors email address}{\#+EMAIL:} | ||
| 619 | \key{language code for html}{\#+LANGUAGE:} | ||
| 620 | \key{free text description of file}{\#+TEXT:} | ||
| 621 | \key{... which can carry over multiple lines}{\#+TEXT:} | ||
| 622 | \key{settings for the export process - see below}{\#+OPTIONS:} | ||
| 623 | |||
| 624 | {\bf Settings for the OPTIONS line} | ||
| 625 | |||
| 626 | \key{set number of headline levels for export}{H:2} | ||
| 627 | \key{turn on/off section numbers}{num:t} | ||
| 628 | \key{turn on/off table of contents}{toc:t} | ||
| 629 | \key{turn on/off linebreak preservation}{\\n:nil} | ||
| 630 | \key{turn on/off quoted html tags}{@:t} | ||
| 631 | \key{turn on/off fixed width sections}{::t} | ||
| 632 | \key{turn on/off tables}{|:t} | ||
| 633 | \key{turn on/off \TeX\ syntax for sub/super-scripts}{\^{}:t} | ||
| 634 | \key{turn on/off emphasised text}{*:nil} | ||
| 635 | \key{turn on/off \TeX\ macros}{TeX:t} | ||
| 636 | |||
| 637 | {\bf Comments: Text not being exported} | ||
| 638 | |||
| 639 | Text before the first headline is not considered part of the document | ||
| 640 | and is therefore never exported. | ||
| 641 | Lines starting with \kbd{\#} are comments and are not exported. | ||
| 642 | Subtrees whose header starts with COMMENT are never exported. | ||
| 643 | |||
| 644 | \key{toggle COMMENT keyword on entry}{C-c ;} | ||
| 645 | |||
| 646 | \section{Completion} | ||
| 647 | |||
| 648 | In-buffer completion completes TODO keywords at headline start, TeX | ||
| 649 | macros after ``{\tt \\}'', option keywords after ``{\tt \#-}'', | ||
| 650 | keyword formulas after ``{\tt =}'', and dictionary words elsewhere. | ||
| 651 | |||
| 652 | \key{Complete word at point}{M-TAB} | ||
| 653 | |||
| 654 | \newcolumn | ||
| 655 | |||
| 656 | \section{Calendar and Diary Integration} | ||
| 657 | |||
| 658 | To include entries from the Emacs diary in your Org-mode agenda: | ||
| 659 | \beginexample% | ||
| 660 | (setq org-agenda-include-diary t) | ||
| 661 | \endexample | ||
| 662 | |||
| 663 | To include your Org-mode agenda in your normal diary, make sure you're | ||
| 664 | using the fancy diary display | ||
| 665 | % | ||
| 666 | %\beginexample% | ||
| 667 | %(add-hook 'diary-display-hook 'fancy-diary-display) | ||
| 668 | %\endexample | ||
| 669 | % | ||
| 670 | and in your \kbd{~/diary} file add | ||
| 671 | |||
| 672 | \beginexample% | ||
| 673 | \&\%\%(org-diary) | ||
| 674 | \endexample | ||
| 675 | |||
| 676 | to include all the files listed in \kbd{org-agenda-files}. For more | ||
| 677 | selective file inclusion use a line for each file: | ||
| 678 | |||
| 679 | \beginexample% | ||
| 680 | \&\%\%(org-diary) ~/path/to/some/org-file.org | ||
| 681 | \endexample | ||
| 682 | |||
| 683 | \section{Remember-mode Integration} | ||
| 684 | |||
| 685 | See the manual for how to make remember.el use Org-mode links and | ||
| 686 | files. The note-finishing command \kbd{C-c C-c} will first prompt for | ||
| 687 | an org file. In the file, find a location with: | ||
| 688 | |||
| 689 | \key{rotate subtree visibility}{TAB} | ||
| 690 | \key{next heading}{DOWN} | ||
| 691 | \key{previous heading}{UP} | ||
| 692 | |||
| 693 | Insert the note with one of the following: | ||
| 694 | |||
| 695 | \key{as sublevel of heading at cursor}{RET} | ||
| 696 | \key{right here (cursor not on heading)}{RET} | ||
| 697 | \key{before current heading}{LEFT} | ||
| 698 | \key{after current heading}{RIGHT} | ||
| 699 | \key{shortcut to end of buffer (cursor at buf-start)}{RET} | ||
| 700 | \key{Abort}{q} | ||
| 701 | |||
| 702 | \section{CUA and pc-select compatibility} | ||
| 703 | |||
| 704 | Configure the variable {\tt org-CUA-compatibility} to make Org-mode | ||
| 705 | avoid the \kbd{S-<cursor>} bindings used by these modes. When set, | ||
| 706 | Org-mode will change the following keybindings (also in the agenda | ||
| 707 | buffer, but not during date selection). See note mark four$^4$ | ||
| 708 | throughout the reference card. | ||
| 709 | %\vskip-mm | ||
| 710 | \beginexample | ||
| 711 | S-UP $\to$ M-p S-DOWN $\to$ M-n | ||
| 712 | S-LEFT $\to$ M-- S-RIGHT $\to$ M-+ | ||
| 713 | S-RET $\to$ C-S-RET | ||
| 714 | \endexample | ||
| 715 | |||
| 716 | \section{Notes} | ||
| 717 | $^1$ The six autoload forms are only needed if Org-mode is not part of | ||
| 718 | Emacs, or an XEmacs package. | ||
| 719 | |||
| 720 | $^2$ This is only a suggestion for a binding of this command. Choose | ||
| 721 | you own key as shown under INSTALLATION. | ||
| 722 | |||
| 723 | $^3$ After changing a \kbd{\#+KEYWORD} line, press \kbd{C-c C-c} with | ||
| 724 | the cursor still in a line to make Org-mode notice the change. | ||
| 725 | |||
| 726 | $^4$ Keybinding affected by {\tt org-CUA-compatibility}. | ||
| 727 | |||
| 728 | \copyrightnotice | ||
| 729 | |||
| 730 | \bye | ||
| 731 | |||
| 732 | % Local variables: | ||
| 733 | % compile-command: "tex ord-mode-ref" | ||
| 734 | % TeX-master: t | ||
| 735 | % End: | ||
| 736 | |||
| 737 | % arch-tag: 139f6750-5cfc-49ca-92b5-237fe5795290 | ||
diff --git a/leim/COPYING b/leim/COPYING index d60c31a97a5..3912109b5cd 100644 --- a/leim/COPYING +++ b/leim/COPYING | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | Version 2, June 1991 | 2 | Version 2, June 1991 |
| 3 | 3 | ||
| 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
| 5 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 5 | 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 6 | Everyone is permitted to copy and distribute verbatim copies | 6 | Everyone is permitted to copy and distribute verbatim copies |
| 7 | of this license document, but changing it is not allowed. | 7 | of this license document, but changing it is not allowed. |
| 8 | 8 | ||
| @@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found. | |||
| 305 | 305 | ||
| 306 | You should have received a copy of the GNU General Public License | 306 | You should have received a copy of the GNU General Public License |
| 307 | along with this program; if not, write to the Free Software | 307 | along with this program; if not, write to the Free Software |
| 308 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 308 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 309 | 309 | ||
| 310 | 310 | ||
| 311 | Also add information on how to contact you by electronic and paper mail. | 311 | Also add information on how to contact you by electronic and paper mail. |
| @@ -313,7 +313,7 @@ Also add information on how to contact you by electronic and paper mail. | |||
| 313 | If the program is interactive, make it output a short notice like this | 313 | If the program is interactive, make it output a short notice like this |
| 314 | when it starts in an interactive mode: | 314 | when it starts in an interactive mode: |
| 315 | 315 | ||
| 316 | Gnomovision version 69, Copyright (C) year name of author | 316 | Gnomovision version 69, Copyright (C) year name of author |
| 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
| 318 | This is free software, and you are welcome to redistribute it | 318 | This is free software, and you are welcome to redistribute it |
| 319 | under certain conditions; type `show c' for details. | 319 | under certain conditions; type `show c' for details. |
diff --git a/leim/ChangeLog b/leim/ChangeLog index 551d7e1cfda..f3cfd9f7bba 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2005-06-28 Kenichi Handa <handa@m17n.org> | ||
| 2 | |||
| 3 | * leim-ext.el: Add rules for inserting full-width space for | ||
| 4 | quail/Punct and quail/Punct-b5. | ||
| 5 | |||
| 1 | 2005-06-04 Eli Zaretskii <eliz@gnu.org> | 6 | 2005-06-04 Eli Zaretskii <eliz@gnu.org> |
| 2 | 7 | ||
| 3 | * makefile.w32-in (distclean): Fix a typo (colon was after | 8 | * makefile.w32-in (distclean): Fix a typo (colon was after |
diff --git a/leim/leim-ext.el b/leim/leim-ext.el index ad5d22281d8..c15bfaa09e0 100644 --- a/leim/leim-ext.el +++ b/leim/leim-ext.el | |||
| @@ -34,6 +34,12 @@ | |||
| 34 | (eval-after-load "quail/PY-b5" | 34 | (eval-after-load "quail/PY-b5" |
| 35 | '(quail-defrule "ling2" ?$(0!r(B nil t)) | 35 | '(quail-defrule "ling2" ?$(0!r(B nil t)) |
| 36 | 36 | ||
| 37 | ;; Enable inputting full-width space (U+3000). | ||
| 38 | (eval-after-load "quail/Punct" | ||
| 39 | '(quail-defrule " " ?$A!!(B nil t)) | ||
| 40 | (eval-after-load "quail/Punct-b5" | ||
| 41 | '(quail-defrule " " ?$(0!!(B nil t)) | ||
| 42 | |||
| 37 | (autoload 'ucs-input-activate "quail/uni-input" | 43 | (autoload 'ucs-input-activate "quail/uni-input" |
| 38 | "Activate UCS input method. | 44 | "Activate UCS input method. |
| 39 | With arg, activate UCS input method if and only if arg is positive. | 45 | With arg, activate UCS input method if and only if arg is positive. |
diff --git a/lib-src/COPYING b/lib-src/COPYING index d60c31a97a5..3912109b5cd 100644 --- a/lib-src/COPYING +++ b/lib-src/COPYING | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | Version 2, June 1991 | 2 | Version 2, June 1991 |
| 3 | 3 | ||
| 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
| 5 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 5 | 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 6 | Everyone is permitted to copy and distribute verbatim copies | 6 | Everyone is permitted to copy and distribute verbatim copies |
| 7 | of this license document, but changing it is not allowed. | 7 | of this license document, but changing it is not allowed. |
| 8 | 8 | ||
| @@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found. | |||
| 305 | 305 | ||
| 306 | You should have received a copy of the GNU General Public License | 306 | You should have received a copy of the GNU General Public License |
| 307 | along with this program; if not, write to the Free Software | 307 | along with this program; if not, write to the Free Software |
| 308 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 308 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 309 | 309 | ||
| 310 | 310 | ||
| 311 | Also add information on how to contact you by electronic and paper mail. | 311 | Also add information on how to contact you by electronic and paper mail. |
| @@ -313,7 +313,7 @@ Also add information on how to contact you by electronic and paper mail. | |||
| 313 | If the program is interactive, make it output a short notice like this | 313 | If the program is interactive, make it output a short notice like this |
| 314 | when it starts in an interactive mode: | 314 | when it starts in an interactive mode: |
| 315 | 315 | ||
| 316 | Gnomovision version 69, Copyright (C) year name of author | 316 | Gnomovision version 69, Copyright (C) year name of author |
| 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
| 318 | This is free software, and you are welcome to redistribute it | 318 | This is free software, and you are welcome to redistribute it |
| 319 | under certain conditions; type `show c' for details. | 319 | under certain conditions; type `show c' for details. |
diff --git a/lisp/COPYING b/lisp/COPYING index d60c31a97a5..3912109b5cd 100644 --- a/lisp/COPYING +++ b/lisp/COPYING | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | Version 2, June 1991 | 2 | Version 2, June 1991 |
| 3 | 3 | ||
| 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
| 5 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 5 | 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 6 | Everyone is permitted to copy and distribute verbatim copies | 6 | Everyone is permitted to copy and distribute verbatim copies |
| 7 | of this license document, but changing it is not allowed. | 7 | of this license document, but changing it is not allowed. |
| 8 | 8 | ||
| @@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found. | |||
| 305 | 305 | ||
| 306 | You should have received a copy of the GNU General Public License | 306 | You should have received a copy of the GNU General Public License |
| 307 | along with this program; if not, write to the Free Software | 307 | along with this program; if not, write to the Free Software |
| 308 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 308 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 309 | 309 | ||
| 310 | 310 | ||
| 311 | Also add information on how to contact you by electronic and paper mail. | 311 | Also add information on how to contact you by electronic and paper mail. |
| @@ -313,7 +313,7 @@ Also add information on how to contact you by electronic and paper mail. | |||
| 313 | If the program is interactive, make it output a short notice like this | 313 | If the program is interactive, make it output a short notice like this |
| 314 | when it starts in an interactive mode: | 314 | when it starts in an interactive mode: |
| 315 | 315 | ||
| 316 | Gnomovision version 69, Copyright (C) year name of author | 316 | Gnomovision version 69, Copyright (C) year name of author |
| 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
| 318 | This is free software, and you are welcome to redistribute it | 318 | This is free software, and you are welcome to redistribute it |
| 319 | under certain conditions; type `show c' for details. | 319 | under certain conditions; type `show c' for details. |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4efa62aa2c3..2c566f3fb1f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,641 @@ | |||
| 1 | 2005-07-04 Carsten Dominik <dominik@science.uva.nl> | ||
| 2 | |||
| 3 | * textmodes/org.el: Leading space replaced by TABS. | ||
| 4 | (org-recalc-marks, org-table-rotate-recalc-marks) | ||
| 5 | (org-table-get-specials): Treat "^" and "_" marks. | ||
| 6 | (org-table-justify-field-maybe): Optional argument NEW. | ||
| 7 | (org-table-eval-formula): Parsing of the format simplified. New | ||
| 8 | modes C,I. Honor the %= parameter in the current table. Avoid | ||
| 9 | unnecessary re-align by using the NEW argument to | ||
| 10 | `org-table-justify-field-maybe'. | ||
| 11 | (org-calc-default-modes): Default for date-format mimicks | ||
| 12 | org-mode. | ||
| 13 | (org-agenda, org-timeline): Quote argument in | ||
| 14 | `org-agenda-redo-command'. | ||
| 15 | |||
| 16 | 2005-07-03 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17 | |||
| 18 | * cus-face.el (custom-theme-set-faces): Make it handle face | ||
| 19 | aliases whose alias declarations are pre- or autoloaded. | ||
| 20 | |||
| 21 | 2005-07-04 Juri Linkov <juri@jurta.org> | ||
| 22 | |||
| 23 | * faces.el (read-face-name): Put the code for getting a face name | ||
| 24 | from the buffer before adding the faces from the `face' property. | ||
| 25 | Use `completing-read-multiple' instead of `completing-read'. | ||
| 26 | Require `crm'. Add default value and post-process the returned | ||
| 27 | list of faces. | ||
| 28 | |||
| 29 | * emacs-lisp/crm.el (crm-find-current-element) | ||
| 30 | (crm-minibuffer-complete-and-exit): Handle minibuffer prompt. | ||
| 31 | |||
| 32 | * emacs-lisp/lisp-mode.el (eval-defun-1): | ||
| 33 | * emacs-lisp/edebug.el (edebug-eval-defun): | ||
| 34 | Remove unnecessary quotes. | ||
| 35 | |||
| 36 | 2005-07-04 Juanma Barranquero <lekktu@gmail.com> | ||
| 37 | |||
| 38 | * add-log.el (add-change-log-entry): | ||
| 39 | * comint.el (comint-dynamic-list-input-ring) | ||
| 40 | (comint-dynamic-list-completions): | ||
| 41 | * dabbrev.el (dabbrev-expand): | ||
| 42 | * delim-col.el (delimit-columns-rectangle-line): | ||
| 43 | * diff-mode.el (diff-context->unified, diff-reverse-direction) | ||
| 44 | (diff-unified->context): | ||
| 45 | * ediff-init.el (ediff-abbrev-jobname): | ||
| 46 | * ediff-mult.el (ediff-replace-session-status-in-meta-buffer) | ||
| 47 | (ediff-replace-session-activity-marker-in-meta-buffer): | ||
| 48 | * info.el (Info-summary): | ||
| 49 | * lpr.el (printify-region): | ||
| 50 | * printing.el (pr-create-interface): | ||
| 51 | * ps-print.el (ps-print-quote): | ||
| 52 | * ses.el (ses-column-widths, ses-print-cell) | ||
| 53 | (ses-adjust-print-width, ses-center): | ||
| 54 | * shell.el (shell-file-name-quote-list): | ||
| 55 | * strokes.el (strokes-read-stroke, strokes-read-complex-stroke) | ||
| 56 | (strokes-fill-current-buffer-with-whitespace) | ||
| 57 | (strokes-xpm-for-stroke, strokes-list-strokes) | ||
| 58 | (strokes-xpm-char-bit-p, strokes-xpm-for-compressed-string): | ||
| 59 | * term.el (term-dynamic-list-input-ring) | ||
| 60 | (term-dynamic-list-completions): | ||
| 61 | * calc/calc.el (math-format-stack-value): | ||
| 62 | * emacs-lisp/edebug.el (edebug-display-freq-count): | ||
| 63 | * progmodes/delphi.el (delphi-indent-line, delphi-fill-comment) | ||
| 64 | (delphi-new-comment-line): | ||
| 65 | * progmodes/ebnf2ps.el (ebnf-eps-filename, ebnf-trim-right): | ||
| 66 | * progmodes/executable.el (executable-set-magic): | ||
| 67 | * progmodes/python.el (inferior-python-mode): | ||
| 68 | * progmodes/scheme.el (scheme-mode-syntax-table): | ||
| 69 | * progmodes/sh-script.el (sh-maybe-here-document): | ||
| 70 | * progmodes/sql.el (sql-copy-column): | ||
| 71 | * progmodes/tcl.el (tcl-comment-indent, tcl-quote): | ||
| 72 | * textmodes/bibtex.el (bibtex-mode): | ||
| 73 | * textmodes/sgml-mode.el (html-imenu-index, sgml-attributes) | ||
| 74 | (sgml-auto-attributes): | ||
| 75 | * textmodes/table.el (table-insert, table-shorten-cell) | ||
| 76 | (table--generate-source-scan-lines, table-delete-row) | ||
| 77 | (*table--cell-delete-char, table--spacify-frame) | ||
| 78 | (table--horizontally-shift-above-and-below) | ||
| 79 | (table--cell-insert-char, table--cell-blank-str) | ||
| 80 | (table--fill-region-strictly): | ||
| 81 | * textmodes/tex-mode.el (tex-insert-quote, latex-find-indent): | ||
| 82 | * textmodes/texinfo.el (texinfo-insert-quote): "?\ " -> "?\s". | ||
| 83 | |||
| 84 | * add-log.el (change-log): | ||
| 85 | * apropos.el (apropos): | ||
| 86 | * comint.el (comint-completion, comint-source): | ||
| 87 | * dabbrev.el (dabbrev): | ||
| 88 | * delim-col.el (columns): | ||
| 89 | * diff-mode.el (diff-mode): | ||
| 90 | * ediff.el (ediff): | ||
| 91 | * ediff-diff.el (ediff-diff): | ||
| 92 | * ediff-init.el (ediff-highlighting, ediff-merge, ediff-hook): | ||
| 93 | * ediff-mult.el (ediff-mult): | ||
| 94 | * ediff-ptch.el (ediff-ptch): | ||
| 95 | * ediff-wind.el (ediff-window): | ||
| 96 | * facemenu.el (facemenu): | ||
| 97 | * indent.el (indent): | ||
| 98 | * info.el (info): | ||
| 99 | * jka-cmpr-hook.el (compression, jka-compr): | ||
| 100 | * lpr.el (lpr): | ||
| 101 | * outline.el (outlines): | ||
| 102 | * pcmpl-cvs.el (pcmpl-cvs): | ||
| 103 | * pcmpl-rpm.el (pcmpl-rpm): | ||
| 104 | * printing.el (printing): | ||
| 105 | * ps-print.el (postscript, ps-print, ps-print-horizontal) | ||
| 106 | (ps-print-vertical, ps-print-headers, ps-print-font) | ||
| 107 | (ps-print-color, ps-print-face, ps-print-n-up, ps-print-zebra) | ||
| 108 | (ps-print-background, ps-print-printer, ps-print-page) | ||
| 109 | (ps-print-miscellany): | ||
| 110 | * ses.el (ses): | ||
| 111 | * shell.el (shell, shell-directories, shell-faces): | ||
| 112 | * startup.el (initialization): | ||
| 113 | * strokes.el (strokes): | ||
| 114 | * term.el (term): | ||
| 115 | * uniquify.el (uniquify): | ||
| 116 | * w32-vars.el (w32): | ||
| 117 | * calc/calc.el (calc): | ||
| 118 | * emacs-lisp/bytecomp.el (bytecomp): | ||
| 119 | * emacs-lisp/cl-indent.el (lisp-indent): | ||
| 120 | * emacs-lisp/edebug.el (edebug): | ||
| 121 | * emacs-lisp/elp.el (elp): | ||
| 122 | * emacs-lisp/testcover.el (testcover): | ||
| 123 | * emacs-lisp/trace.el (trace): | ||
| 124 | * emulation/viper-ex.el (viper-ex): | ||
| 125 | * emulation/viper-mous.el (viper-mouse): | ||
| 126 | * mail/mailalias.el (mailalias): | ||
| 127 | * mail/supercite.el (supercite, supercite-frames) | ||
| 128 | (supercite-attr, supercite-cite, supercite-hooks): | ||
| 129 | * net/rcompile.el (remote-compile): | ||
| 130 | * net/rlogin.el (rlogin): | ||
| 131 | * obsolete/ooutline.el (outlines): | ||
| 132 | * progmodes/delphi.el (delphi): | ||
| 133 | * progmodes/ebnf2ps.el (postscript, ebnf2ps, ebnf-special) | ||
| 134 | (ebnf-except, ebnf-repeat, ebnf-terminal, ebnf-non-terminal) | ||
| 135 | (ebnf-production, ebnf-shape, ebnf-displacement, ebnf-syntactic) | ||
| 136 | (ebnf-optimization): | ||
| 137 | * progmodes/etags.el (etags): | ||
| 138 | * progmodes/executable.el (executable): | ||
| 139 | * progmodes/idlwave.el (idlwave): | ||
| 140 | * progmodes/pascal.el (pascal): | ||
| 141 | * progmodes/prolog.el (prolog): | ||
| 142 | * progmodes/python.el (python): | ||
| 143 | * progmodes/scheme.el (scheme): | ||
| 144 | * progmodes/sh-script.el (sh, sh-script): | ||
| 145 | * progmodes/sql.el (SQL): | ||
| 146 | * progmodes/tcl.el (tcl): | ||
| 147 | * textmodes/bibtex.el (bibtex, bibtex-autokey): | ||
| 148 | * textmodes/enriched.el (enriched): | ||
| 149 | * textmodes/makeinfo.el (makeinfo): | ||
| 150 | * textmodes/sgml-mode.el (sgml): | ||
| 151 | * textmodes/table.el (table-hooks): | ||
| 152 | * textmodes/tex-mode.el (tex-file, tex-run, tex-view): | ||
| 153 | * textmodes/texinfo.el (texinfo): | ||
| 154 | * textmodes/two-column.el (two-column): | ||
| 155 | Finish `defgroup' description with period. | ||
| 156 | |||
| 157 | * emacs-lisp/cl-indent.el (lisp-indent-maximum-backtracking): | ||
| 158 | * eshell/esh-var.el (eshell-var): | ||
| 159 | * progmodes/vhdl-mode.el (vhdl-testbench): | ||
| 160 | * textmodes/org.el (org): Fix typos in docstrings. | ||
| 161 | |||
| 162 | * emacs-lisp/timer.el (with-timeout): Improve argument/docstring | ||
| 163 | consistency. | ||
| 164 | |||
| 165 | * progmodes/flymake.el (flymake-find-file): Remove. | ||
| 166 | (flymake-float-time): Use `with-no-warnings'. | ||
| 167 | (flymake-check-start-time, flymake-check-was-interrupted) | ||
| 168 | (flymake-err-info, flymake-is-running, flymake-last-change-time) | ||
| 169 | (flymake-new-err-info): `defvar' at compile time. | ||
| 170 | |||
| 171 | 2005-07-03 Juanma Barranquero <lekktu@gmail.com> | ||
| 172 | |||
| 173 | * replace.el (occur-hook): Doc fix. | ||
| 174 | (occur-1): Don't call `occur-hook' if there are no matches. | ||
| 175 | |||
| 176 | 2005-07-03 Richard M. Stallman <rms@gnu.org> | ||
| 177 | |||
| 178 | * emulation/tpu-edt.el (tpu-original-global-map): Don't copy | ||
| 179 | global-map, save the same map. | ||
| 180 | (global-map): Don't alter it at top level. | ||
| 181 | (tpu-edt-on): Save global map in tpu-original-global-map, then copy. | ||
| 182 | Then alter it here instead. | ||
| 183 | (tpu-edt-off): Set global-map to the saved one. | ||
| 184 | |||
| 185 | * emulation/tpu-edt.el (tpu-emacs19-p): Var deleted. | ||
| 186 | All references simplified. | ||
| 187 | (tpu-lucid-emacs-p): Renamed from tpu-lucid-emacs19-p. Uses changed. | ||
| 188 | (zmacs-regions): Add defvar. | ||
| 189 | (repeat-complex-command-map): Everything about that deleted. | ||
| 190 | |||
| 191 | * textmodes/artist.el (artist-key-is-drawing) | ||
| 192 | (artist-key-endpoint1, artist-key-poly-point-list) | ||
| 193 | (artist-key-shape, artist-key-draw-how, artist-popup-menu-table) | ||
| 194 | (artist-key-compl-table, artist-rb-save-data) | ||
| 195 | (artist-arrow-point-1, artist-arrow-point-2): Move defvars up. | ||
| 196 | Don't put them in eval-when-compile. | ||
| 197 | (artist-set-arrow-points-for-poly): Use `last', not `artist-last'. | ||
| 198 | |||
| 199 | * progmodes/ebrowse.el (ebrowse-revert-tree-buffer-from-file): | ||
| 200 | Use with-no-warnings. | ||
| 201 | |||
| 202 | * net/browse-url.el (dos-windows-version): Add defvar. | ||
| 203 | |||
| 204 | * mail/supercite.el (filladapt-prefix-table): Add defvar. | ||
| 205 | |||
| 206 | * mail/rmailsum.el (rmail-summary-redo): Add defvar. | ||
| 207 | (rmail-summary-mode-map, rmail-summary-overlay): Defvars moved up. | ||
| 208 | (rmail-new-summary-line-count): Renamed from new-summary-line-count. | ||
| 209 | Add defvar. | ||
| 210 | (rmail-summary-beginning-of-message): Use with-no-warnings. | ||
| 211 | (rmail-summary-first-message, rmail-summary-last-message): Likewise. | ||
| 212 | |||
| 213 | * emulation/vip.el (vip-replace-string, ex-map, ex-read): | ||
| 214 | Use with-no-warnings. | ||
| 215 | |||
| 216 | * emulation/vi.el (vi-mark-region): Use c-mark-function. | ||
| 217 | (c-mark-function): Add point-moving-unit property. | ||
| 218 | (vi-goto-line): Use with-no-warnings. | ||
| 219 | |||
| 220 | * emulation/edt.el (edt-last-copied-word): Add defvar. | ||
| 221 | (zmacs-region-stays): Likewise. | ||
| 222 | (edt-mark-section-wisely): Use c-mark-function for C. | ||
| 223 | Use makr-defun for Fortran. | ||
| 224 | (time-string): defvar deleted. | ||
| 225 | (edt-display-the-time): Don't set time-string. | ||
| 226 | |||
| 227 | * emacs-lisp/macroexp.el (macroexp-accumulate): Rename arg to var+list. | ||
| 228 | |||
| 229 | * emacs-lisp/bytecomp.el (byte-compile-nogroup-warn): | ||
| 230 | Don't warn when name is not constant | ||
| 231 | or for defining the group `emacs'. | ||
| 232 | |||
| 233 | * tooltip.el (gud-tooltip-mode): Add defvar. | ||
| 234 | |||
| 235 | * startup.el (default-frame-background-mode): Add defvar. | ||
| 236 | |||
| 237 | * smerge-mode.el (smerge-mode): Add duplicate defvar near top. | ||
| 238 | |||
| 239 | * info.el (tool-bar-map): Add defvar. | ||
| 240 | |||
| 241 | * dired.el (dnd-protocol-alist): Add defvar. | ||
| 242 | |||
| 243 | * dired-aux.el (dired-query): Display question with answer, when | ||
| 244 | the user answers. | ||
| 245 | |||
| 246 | * custom.el (custom-add-option): Doc fix. | ||
| 247 | |||
| 248 | * bookmark.el (Info-current-node, Info-suffix-list): Add defvars. | ||
| 249 | |||
| 250 | 2005-07-03 Eli Zaretskii <eliz@gnu.org> | ||
| 251 | |||
| 252 | * font-lock.el (font-lock-regexp-grouping-construct): Fix the | ||
| 253 | bogus name from the last change. | ||
| 254 | |||
| 255 | 2005-07-02 Luc Teirlinck <teirllm@auburn.edu> | ||
| 256 | |||
| 257 | * custom.el (custom-declare-variable): Fix typos in comment. | ||
| 258 | (custom-known-themes): Doc fix. | ||
| 259 | (custom-theme-directory): New defcustom. | ||
| 260 | (require-theme): Make it check `custom-theme-directory'. | ||
| 261 | |||
| 262 | * cus-theme.el (custom-new-theme-mode): New function. | ||
| 263 | (custom-theme-name, custom-theme-variables, custom-theme-faces) | ||
| 264 | (custom-theme-description): Add compiler defvars. | ||
| 265 | (customize-create-theme): Add doc to the "*New Custom Theme*" | ||
| 266 | buffer. Use `custom-new-theme-mode'. | ||
| 267 | (custom-theme-write): Put the created buffer in emacs-lisp-mode | ||
| 268 | and save it to the `custom-theme-directory'. Make this the | ||
| 269 | default directory of the buffer. | ||
| 270 | |||
| 271 | 2005-07-02 David Hunter <hunterd_42@comcast.net> (tiny change) | ||
| 272 | |||
| 273 | * progmodes/flymake.el (flymake-mode, flymake-mode-off): | ||
| 274 | Fix unbalanced parentheses. | ||
| 275 | |||
| 276 | 2005-07-02 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 277 | |||
| 278 | * progmodes/flymake.el (flymake-mode-on, flymake-mode-off): Move body | ||
| 279 | into flymake-mode and delegate to flymake-mode. | ||
| 280 | |||
| 281 | * find-file.el (ff-which-function-are-we-in): Clean up. | ||
| 282 | |||
| 283 | 2005-07-02 Juanma Barranquero <lekktu@gmail.com> | ||
| 284 | |||
| 285 | * replace.el (occur-rename-buffer): Fix docstring. | ||
| 286 | |||
| 287 | * emulation/edt.el (*EDT-keys*, edt-default-global-map) | ||
| 288 | (edt-last-copied-word, edt-learn-macro-count) | ||
| 289 | (edt-orig-page-delimiter, edt-orig-transient-mark-mode) | ||
| 290 | (edt-rect-start-point, edt-user-global-map, rect-start-point) | ||
| 291 | (time-string, zmacs-region-stays): | ||
| 292 | * emulation/edt-mapper.el (edt-save-function-key-map) | ||
| 293 | (EDT-key-name): `defvar' to silence the byte-compiler. | ||
| 294 | |||
| 295 | 2005-07-02 Martin Rudalics <rudalics@gmx.at> (tiny change) | ||
| 296 | |||
| 297 | * font-lock.el (font-lock-regexp-grouping-backslash): Rename from | ||
| 298 | font-lock-regexp-backslash. Doc fix. | ||
| 299 | (font-lock-regexp-backslash-grouping-construct): Rename from | ||
| 300 | font-lock-regexp-backslash-construct. Doc fix. | ||
| 301 | (lisp-font-lock-keywords-2): Fix highlighting of ELisp regexp | ||
| 302 | grouping constructs. | ||
| 303 | |||
| 304 | 2005-07-02 Eli Zaretskii <eliz@gnu.org> | ||
| 305 | |||
| 306 | * makefile.w32-in (bootstrap): Remove the $(EMACS) binary after | ||
| 307 | updating all the prerequisites. | ||
| 308 | |||
| 309 | 2005-07-01 Juanma Barranquero <lekktu@gmail.com> | ||
| 310 | |||
| 311 | * textmodes/org.el (org-agenda-start-on-weekday) | ||
| 312 | (org-calendar-to-agenda-key, org-agenda-sorting-strategy) | ||
| 313 | (org-agenda-use-time-grid, org-archive-location) | ||
| 314 | (org-allow-space-in-links, org-usenet-links-prefer-google) | ||
| 315 | (org-enable-table-editor, org-export-default-language) | ||
| 316 | (org-export-html-show-new-buffer, org-fill-paragraph) | ||
| 317 | (org-cycle, org-goto-ret, org-goto-left, org-goto-right) | ||
| 318 | (org-goto-quit, org-occur, org-eval-in-calendar) | ||
| 319 | (org-agenda-cleanup-fancy-diary, org-agenda-no-heading-message) | ||
| 320 | (org-agenda-diary-entry, org-remember-help) | ||
| 321 | (org-table-convert-region, org-at-table-p) | ||
| 322 | (org-table-move-row-down, org-table-move-row-up) | ||
| 323 | (org-table-copy-region, org-table-toggle-vline-visibility) | ||
| 324 | (org-table-get-stored-formulas, org-table-get-specials) | ||
| 325 | (org-recalc-commands, org-table-eval-formula) | ||
| 326 | (org-table-formula-substitute-names, orgtbl-make-binding) | ||
| 327 | (org-format-org-table-html, org-format-table-table-html) | ||
| 328 | (org-format-table-table-html-using-table-generate-source) | ||
| 329 | (org-customize): Fix typos in docstrings. | ||
| 330 | (org-level-2, org-at-timestamp-p, org-agenda-day-view) | ||
| 331 | (org-agenda-toggle-diary, org-agenda-toggle-time-grid) | ||
| 332 | (org-back-to-heading): Doc fixes. | ||
| 333 | (org-agenda-toggle-time-grid, org-cmp-category, org-cmp-time) | ||
| 334 | (org-agenda-change-all-lines, org-get-header): | ||
| 335 | Improve argument/docstring consistency. | ||
| 336 | (orgtbl-error): Fix error message. | ||
| 337 | |||
| 338 | * progmodes/flymake.el (flymake-find-possible-master-files) | ||
| 339 | (flymake-master-file-compare, flymake-get-line-err-count) | ||
| 340 | (flymake-highlight-line, flymake-gui-warnings-enabled): | ||
| 341 | Fix typos in docstrings. | ||
| 342 | (flymake-parse-line, flymake-get-project-include-dirs-function) | ||
| 343 | (flymake-get-prev-err-line-no, flymake-goto-prev-error): | ||
| 344 | Doc fixes. | ||
| 345 | (flymake-get-project-include-dirs-function) | ||
| 346 | (flymake-make-err-menu-data): | ||
| 347 | Improve argument/docstring consistency. | ||
| 348 | |||
| 349 | 2005-07-01 Lute Kamstra <lute@gnu.org> | ||
| 350 | |||
| 351 | * battery.el (battery-linux-proc-apm): Fix typo in docstring. | ||
| 352 | Catch errors with ignore-errors. Use temporary buffer. | ||
| 353 | (battery-linux-proc-acpi): Fix typo in docstring. Document `%r'. | ||
| 354 | |||
| 355 | * facemenu.el (facemenu-unlisted-faces): Delete foreground and | ||
| 356 | background color faces. | ||
| 357 | (facemenu-set-foreground, facemenu-set-background): | ||
| 358 | Use facemenu-set-face-from-menu. | ||
| 359 | (facemenu-set-face-from-menu): Treat face names that start with | ||
| 360 | "fg:" or "bg:" as special. | ||
| 361 | (facemenu-add-new-color): Don't create faces. Simplify. | ||
| 362 | |||
| 363 | 2005-06-30 Richard M. Stallman <rms@gnu.org> | ||
| 364 | |||
| 365 | * emacs-lisp/crm.el (crm-do-completion): Handle minibuffer prompt. | ||
| 366 | (crm-find-current-element): Likewise. | ||
| 367 | |||
| 368 | 2005-06-30 Johan Bockg,Ae(Brd <bojohan@users.sourceforge.net> | ||
| 369 | |||
| 370 | * help-fns.el (help-do-arg-highlight): Regexp-quote argument names. | ||
| 371 | |||
| 372 | 2005-06-30 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 373 | |||
| 374 | * arc-mode.el (archive-extract): Make it work as a mouse binding. | ||
| 375 | (archive-mouse-extract): Make it an obsolete alias. | ||
| 376 | (archive-mode-map): Don't use archive-mouse-extract any more. | ||
| 377 | (archive-mode, archive-extract): write-contents-hooks -> | ||
| 378 | write-contents-functions. | ||
| 379 | (archive-arc-rename-entry, archive-lzh-rename-entry): Remove unused | ||
| 380 | first arg. | ||
| 381 | (archive-rename-entry): Update the call. | ||
| 382 | (archive-zip-summarize): Remove unused var `method'. | ||
| 383 | (archive-lzh-summarize): Remove unused var `creator'. | ||
| 384 | |||
| 385 | * emacs-lisp/debug.el (debug): Quieten Drew Adams by killing the | ||
| 386 | dedicated frame upon exit. | ||
| 387 | |||
| 388 | * arc-mode.el: Bind inhibit-read-only rather than buffer-read-only. | ||
| 389 | (archive-zip-extract, archive-zip-expunge) | ||
| 390 | (archive-zip-update, archive-zip-update-case): Use executable-find. | ||
| 391 | (archive-resummarize, archive-flag-deleted, archive-unmark-all-files): | ||
| 392 | Use restore-buffer-modified-p. | ||
| 393 | (archive-extract, archive-add-new-member, archive-write-file-member): | ||
| 394 | Use with-current-buffer. | ||
| 395 | (archive-lzh-ogm, archive-zip-chmod-entry): Use dolist. | ||
| 396 | |||
| 397 | 2005-06-30 Andreas Schwab <schwab@suse.de> | ||
| 398 | |||
| 399 | * progmodes/gud.el (gud-filter): Remove unneeded progn. | ||
| 400 | |||
| 401 | 2005-06-30 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 402 | |||
| 403 | * progmodes/sh-script.el (sh-get-kw): `&' also separates words. | ||
| 404 | |||
| 405 | 2005-06-30 Juri Linkov <juri@jurta.org> | ||
| 406 | |||
| 407 | * faces.el (vertical-border): Inherit from mode-line-inactive | ||
| 408 | only on tty. | ||
| 409 | |||
| 410 | 2005-06-30 Juanma Barranquero <lekktu@gmail.com> | ||
| 411 | |||
| 412 | * help-fns.el (help-do-arg-highlight): Highlight also -ARG (for | ||
| 413 | example, -NLINES in the `occur' docstring). | ||
| 414 | |||
| 415 | * replace.el (occur-1): When no matches are found, do not set the | ||
| 416 | `buffer-read-only' and modified flags for the occur buffer, | ||
| 417 | because it is deleted. | ||
| 418 | |||
| 419 | * emulation/cua-base.el (cua-check-pending-input) | ||
| 420 | (cua-repeat-replace-region, cua-mode, cua-debug) | ||
| 421 | (cua-auto-tabify-rectangles, cua-inhibit-cua-keys): | ||
| 422 | Fix typos in docstrings. | ||
| 423 | |||
| 424 | * emulation/cua-gmrk.el (cua-toggle-global-mark) | ||
| 425 | (cua-cut-region-to-global-mark) | ||
| 426 | (cua--cut-rectangle-to-global-mark): | ||
| 427 | Remove period from end of messages. | ||
| 428 | |||
| 429 | * emulation/cua-rect.el (cua-do-rectangle-padding): | ||
| 430 | Remove period from end of messages. | ||
| 431 | (cua--rectangle-seq-format): Fix typo in docstring. | ||
| 432 | (cua-sequence-rectangle, cua-fill-char-rectangle): | ||
| 433 | Improve argument/docstring consistency. | ||
| 434 | |||
| 435 | 2005-06-29 Juri Linkov <juri@jurta.org> | ||
| 436 | |||
| 437 | * faces.el (default-frame-background-mode): New internal variable. | ||
| 438 | (frame-set-background-mode): Use it. | ||
| 439 | |||
| 440 | * startup.el (normal-top-level): Set default-frame-background-mode | ||
| 441 | instead of frame-background-mode. Before setting it, test for its | ||
| 442 | nil value. Remove tests for frame-background-mode and frame | ||
| 443 | parameter `reverse'. Add test for "unspecified-fg". | ||
| 444 | |||
| 445 | * term/xterm.el (xterm-rxvt-set-background-mode): | ||
| 446 | * term/rxvt.el (rxvt-set-background-mode): | ||
| 447 | Set default-frame-background-mode instead of frame-background-mode. | ||
| 448 | |||
| 449 | 2005-06-29 Juanma Barranquero <lekktu@gmail.com> | ||
| 450 | |||
| 451 | * simple.el (set-variable): Warn about obsolete user variables. | ||
| 452 | |||
| 453 | * imenu.el (imenu--completion-buffer): | ||
| 454 | * mouse.el (mouse-buffer-menu-alist): | ||
| 455 | * msb.el (msb-invisible-buffer-p): | ||
| 456 | * calendar/diary-lib.el (diary-header-line-format): | ||
| 457 | * emacs-lisp/pp.el (pp-buffer): | ||
| 458 | * progmodes/cperl-mode.el (cperl-do-auto-fill): | ||
| 459 | * textmodes/picture.el (picture-replace-match): | ||
| 460 | Change space constants followed by a sexp to "?\s ". | ||
| 461 | |||
| 462 | * play/decipher.el (decipher-loop-with-breaks): | ||
| 463 | * textmodes/texinfo.el (texinfo-insert-@item): Change space | ||
| 464 | constants "protected" from end of line by a comment to "?\s". | ||
| 465 | |||
| 466 | 2005-06-29 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 467 | |||
| 468 | * font-lock.el (save-buffer-state): Use `declare'. | ||
| 469 | |||
| 470 | * progmodes/cperl-mode.el (cperl-find-pods-heres): Don't gratuitously | ||
| 471 | reset the syntax-table to cperl-mode-syntax-table. | ||
| 472 | (cperl-mode): Make _ into word-syntax during font-locking so "print" in | ||
| 473 | "foo_print_bar" is not matched as a reserved keyword. | ||
| 474 | |||
| 475 | 2005-06-29 Carsten Dominik <dominik@science.uva.nl> | ||
| 476 | |||
| 477 | * textmodes/org.el (orgtbl-setup): New function, for delayed | ||
| 478 | setup for the orgtbl commands. | ||
| 479 | (org-calc-default-modes): New option. | ||
| 480 | (orgtbl-make-binding): Use `defun' to get better help display. | ||
| 481 | (org-diary): Call `org-compile-prefix-format'. | ||
| 482 | (org-table-formula-substitute-names): New function. | ||
| 483 | (org-agenda-day-view, org-agenda-week-view): New commands. | ||
| 484 | (org-agenda-toggle-week-view): Command removed. | ||
| 485 | (org-tbl-menu): Split off from org-org-menu. | ||
| 486 | (org-mode): Move removal of outline-mode menus to here. | ||
| 487 | (org-table-formula-debug): New option. | ||
| 488 | (org-table-insert-row): Keep first field if just "#" or "*". | ||
| 489 | (org-mode): Paragraph regexps fixed. | ||
| 490 | (org-table-recalculate-regexp): New constant. | ||
| 491 | (org-table-justify-field-maybe): Avoid replace if not necessary. | ||
| 492 | (org-copy-special, org-cut-special): Use `call-interactively'. | ||
| 493 | (org-table-copy-region): Take region from `interactive' call. | ||
| 494 | (org-trim): Return string even if no match. | ||
| 495 | (org-formula): New face. | ||
| 496 | (org-set-font-lock-defaults): No longer highlight "FIXME". | ||
| 497 | But highlight formula-related fields in table. | ||
| 498 | (org-table-p): Use regexp, not fontification. | ||
| 499 | (org-table-align): Handle white space at end of line. | ||
| 500 | (org-table-formula-evaluate-inline): New option. | ||
| 501 | (org-mode): Auto-wrapping in comment lines turned off. | ||
| 502 | (org-table-copy-down): Evaluate only in copied field, not in | ||
| 503 | destination. | ||
| 504 | (org-table-current-formula): Variable removed. | ||
| 505 | (org-table-store-formulas, org-table-get-stored-formulas) | ||
| 506 | (org-table-modify-formulas, org-table-replace-in-formulas) | ||
| 507 | (org-table-maybe-eval-formula): New functions. | ||
| 508 | (org-table-get-formula): Modify to use stored formulas. | ||
| 509 | (org-table-insert-column, org-table-delete-column) | ||
| 510 | (org-table-move-column): Call `org-table-modify-formulas'. | ||
| 511 | (org-complete): Add completion for keyword formulas. | ||
| 512 | (orgtbl-mode): Pull orgtbl-mode-map to start of | ||
| 513 | minor-mode-map-alist. | ||
| 514 | |||
| 515 | 2005-06-29 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 516 | |||
| 517 | * progmodes/python.el (python-check): Require `compile' before | ||
| 518 | modifying its variables. | ||
| 519 | |||
| 520 | * newcomment.el (comment-indent-default): Don't get fooled by an early | ||
| 521 | end of buffer. | ||
| 522 | |||
| 523 | 2005-06-28 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 524 | |||
| 525 | * ps-print.el (ps-print-version): Fix version number. | ||
| 526 | |||
| 527 | 2005-06-28 Luc Teirlinck <teirllm@auburn.edu> | ||
| 528 | |||
| 529 | * textmodes/ispell.el (ispell-word): Remove stray parenthesis. | ||
| 530 | |||
| 531 | 2005-06-28 Richard M. Stallman <rms@gnu.org> | ||
| 532 | |||
| 533 | * textmodes/flyspell.el (flyspell-use-local-map): Variable deleted. | ||
| 534 | (flyspell-local-mouse-map): Declaration deleted. | ||
| 535 | (flyspell-mouse-map): Bind only mouse-2. | ||
| 536 | (flyspell-mode-map): Don't test flyspell-use-local-map. | ||
| 537 | (flyspell-overlay-keymap-property-name): Var deleted. | ||
| 538 | (flyspell-mode-on): Don't make local bindings for | ||
| 539 | flyspell-mouse-map and flyspell-mode-map. | ||
| 540 | (make-flyspell-overlay): Unconditionally put on `keymap' text prop. | ||
| 541 | |||
| 542 | * textmodes/ispell.el (ispell-word): Do not ignore short words. | ||
| 543 | |||
| 544 | * progmodes/compile.el (compilation-next-error-function): | ||
| 545 | Don't switch buffers; operate on the current buffer. | ||
| 546 | |||
| 547 | * facemenu.el (facemenu-add-face): Warn when font-lock is active. | ||
| 548 | |||
| 549 | * comint.el (comint-password-prompt-regexp): Accept ", try again". | ||
| 550 | |||
| 551 | * bindings.el (global-map): Bind insertchar and its variants. | ||
| 552 | |||
| 553 | 2005-06-27 Richard M. Stallman <rms@gnu.org> | ||
| 554 | |||
| 555 | * textmodes/artist.el (artist-text-overwrite) | ||
| 556 | (artist-figlet-get-extra-args, artist-text-see-thru): Use read-string. | ||
| 557 | |||
| 558 | 2005-06-27 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 559 | |||
| 560 | * ps-print.el: It was not working the page selection for printing. | ||
| 561 | Reported by Sebastian Tennant <sebyte@smolny.plus.com>. | ||
| 562 | (ps-print-version): New version 6.6.7. | ||
| 563 | (ps-end-sheet): New fun. | ||
| 564 | (ps-header-sheet, ps-end-job): Call it. | ||
| 565 | |||
| 566 | 2005-06-27 Luc Teirlinck <teirllm@auburn.edu> | ||
| 567 | |||
| 568 | * subr.el (add-to-list, add-to-ordered-list): Doc fixes. | ||
| 569 | |||
| 570 | 2005-06-27 Lute Kamstra <lute@gnu.org> | ||
| 571 | |||
| 572 | * facemenu.el (facemenu-unlisted-faces): Add foreground and | ||
| 573 | background color faces. | ||
| 574 | (facemenu-get-face): Delete function. | ||
| 575 | (facemenu-set-face-from-menu): Don't call facemenu-get-face. | ||
| 576 | (facemenu-add-new-color): Make second argument mandatory. | ||
| 577 | Create the approprate face and return it. Simplify. | ||
| 578 | (facemenu-set-foreground, facemenu-set-background): Don't check if | ||
| 579 | color is defined. Use return value of facemenu-add-new-color. | ||
| 580 | |||
| 581 | 2005-06-26 Nick Roberts <nickrob@snap.net.nz> | ||
| 582 | |||
| 583 | * progmodes/gud.el (gud-filter): Add missing argument to | ||
| 584 | with-selected-window. | ||
| 585 | |||
| 586 | 2005-06-26 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 587 | |||
| 588 | * emacs-lisp/easy-mmode.el (define-minor-mode): Don't automatically add | ||
| 589 | a :require to the defcustom. | ||
| 590 | |||
| 591 | * emacs-lisp/autoload.el (make-autoload): Add the :setter for | ||
| 592 | defcustoms corresponding to minor modes. | ||
| 593 | |||
| 594 | 2005-06-26 David Ponce <david@dponce.com> | ||
| 595 | |||
| 596 | * recentf.el: Require tree-widget instead of wid-edit. | ||
| 597 | (recentf-filename-handler): Fix widget :type. | ||
| 598 | (recentf-cancel-dialog, recentf-open-more-files) | ||
| 599 | (recentf-open-files-action): Doc fix. | ||
| 600 | (recentf-dialog-goto-first): New function. | ||
| 601 | (recentf-dialog-mode-map): Set parent keymap first. | ||
| 602 | (recentf-dialog-mode): Define with define-derived-mode. | ||
| 603 | Don't display continuation lines in dialogs. | ||
| 604 | (recentf-edit-list): Rename from recentf-edit-selected-items. | ||
| 605 | (recentf-edit-list-select): Rename from recentf-edit-list-action. | ||
| 606 | Simplify. | ||
| 607 | (recentf-edit-list-validate): New function. | ||
| 608 | (recentf-edit-list): Update accordingly. | ||
| 609 | (recentf-open-files-item-shift): Remove. | ||
| 610 | (recentf-open-files-item): Convert menu elements into tree and | ||
| 611 | link widgets. Don't create the widgets. | ||
| 612 | (recentf-open-files): Update accordingly. | ||
| 613 | (recentf-save-list): Untabify. | ||
| 614 | |||
| 1 | 2005-06-25 Luc Teirlinck <teirllm@auburn.edu> | 615 | 2005-06-25 Luc Teirlinck <teirllm@auburn.edu> |
| 2 | 616 | ||
| 617 | * replace.el (keep-lines-read-args): Add INTERACTIVE arg. | ||
| 618 | (keep-lines): Add INTERACTIVE arg. Never delete lines only | ||
| 619 | partially contained in the active region. Do not take active | ||
| 620 | region into account when called from Lisp, unless INTERACTIVE arg | ||
| 621 | is non-nil. Use `forward-line' instead of `beginning-of-line' to | ||
| 622 | avoid trouble with fields. Make marker point nowhere when no | ||
| 623 | longer used. Always return nil. Doc fix. | ||
| 624 | (flush-lines): Add INTERACTIVE arg. Do not take active region | ||
| 625 | into account when called from Lisp, unless INTERACTIVE arg is | ||
| 626 | non-nil. Use `forward-line' instead of `beginning-of-line' to | ||
| 627 | avoid trouble with fields. Make marker point nowhere when no | ||
| 628 | longer used. Always return nil. Doc fix. | ||
| 629 | (how-many): Add INTERACTIVE arg. Make RSTART and REND args | ||
| 630 | interchangeable. Do not take active region into account when | ||
| 631 | called from Lisp, unless INTERACTIVE arg is non-nil. Do not print | ||
| 632 | message in echo area when called from Lisp, unless INTERACTIVE arg | ||
| 633 | is non-nil. Avoid saying "1 occurrences". Do not use markers. | ||
| 634 | Return the number of matches. Doc fix. | ||
| 635 | (occur): Doc fix. | ||
| 636 | (perform-replace): Make comment follow double space convention for | ||
| 637 | the sake of `outline-minor-mode'. | ||
| 638 | |||
| 3 | * faces.el (facep): Doc fix. | 639 | * faces.el (facep): Doc fix. |
| 4 | 640 | ||
| 5 | 2005-06-25 Richard M. Stallman <rms@gnu.org> | 641 | 2005-06-25 Richard M. Stallman <rms@gnu.org> |
| @@ -54,7 +690,7 @@ | |||
| 54 | (line-move-1): When there are overlays around, use vertical-motion. | 690 | (line-move-1): When there are overlays around, use vertical-motion. |
| 55 | 691 | ||
| 56 | * faces.el (escape-glyph): Use brown against light background. | 692 | * faces.el (escape-glyph): Use brown against light background. |
| 57 | (nobreak-space): Renamed from no-break-space. | 693 | (nobreak-space): Rename from no-break-space. |
| 58 | Fix previous change. | 694 | Fix previous change. |
| 59 | 695 | ||
| 60 | * dired-aux.el (dired-do-copy): Fix arg prompt. | 696 | * dired-aux.el (dired-do-copy): Fix arg prompt. |
| @@ -108,7 +744,7 @@ | |||
| 108 | * bindings.el (propertized-buffer-identification): Use renamed | 744 | * bindings.el (propertized-buffer-identification): Use renamed |
| 109 | `Buffer-menu-buffer' face. | 745 | `Buffer-menu-buffer' face. |
| 110 | 746 | ||
| 111 | * faces.el (vertical-border): Renamed from `vertical-divider'. | 747 | * faces.el (vertical-border): Rename from `vertical-divider'. |
| 112 | (escape-glyph): Change dark-background color back to `cyan'. | 748 | (escape-glyph): Change dark-background color back to `cyan'. |
| 113 | 749 | ||
| 114 | 2005-06-21 Juri Linkov <juri@jurta.org> | 750 | 2005-06-21 Juri Linkov <juri@jurta.org> |
| @@ -194,8 +830,7 @@ | |||
| 194 | 830 | ||
| 195 | 2005-06-18 Peter Kleiweg <p.c.j.kleiweg@rug.nl> | 831 | 2005-06-18 Peter Kleiweg <p.c.j.kleiweg@rug.nl> |
| 196 | 832 | ||
| 197 | * progmodes/ps-mode.el: Update version and maintainer's email | 833 | * progmodes/ps-mode.el: Update version and maintainer's email address. |
| 198 | address. | ||
| 199 | 834 | ||
| 200 | 2005-06-18 Steve Youngs <steve@xemacs.org> | 835 | 2005-06-18 Steve Youngs <steve@xemacs.org> |
| 201 | 836 | ||
| @@ -283,8 +918,8 @@ | |||
| 283 | New backward-compatibility aliases for renamed faces. | 918 | New backward-compatibility aliases for renamed faces. |
| 284 | (eshell-ls-decorated-name): Use renamed eshell-ls faces. | 919 | (eshell-ls-decorated-name): Use renamed eshell-ls faces. |
| 285 | 920 | ||
| 286 | * progmodes/cc-fonts.el (c-nonbreakable-space-face): Remove | 921 | * progmodes/cc-fonts.el (c-nonbreakable-space-face): |
| 287 | "-face" suffix from face name. | 922 | Remove "-face" suffix from face name. |
| 288 | (c-cpp-matchers): Use the variable `c-nonbreakable-space-face' | 923 | (c-cpp-matchers): Use the variable `c-nonbreakable-space-face' |
| 289 | instead of literal face. | 924 | instead of literal face. |
| 290 | 925 | ||
| @@ -412,8 +1047,8 @@ | |||
| 412 | ido-incomplete-regexp. | 1047 | ido-incomplete-regexp. |
| 413 | (ido-incomplete-regexp): New face. | 1048 | (ido-incomplete-regexp): New face. |
| 414 | (ido-completions): Use it. | 1049 | (ido-completions): Use it. |
| 415 | (ido-complete, ido-exit-minibuffer, ido-completions): Handle | 1050 | (ido-complete, ido-exit-minibuffer, ido-completions): |
| 416 | incomplete regexps. | 1051 | Handle incomplete regexps. |
| 417 | (ido-completions): Add check for complete match when entering a regexp. | 1052 | (ido-completions): Add check for complete match when entering a regexp. |
| 418 | 1053 | ||
| 419 | 2005-06-15 Stefan Monnier <monnier@iro.umontreal.ca> | 1054 | 2005-06-15 Stefan Monnier <monnier@iro.umontreal.ca> |
| @@ -442,6 +1077,11 @@ | |||
| 442 | * progmodes/cperl-mode.el (cperl-init-faces): Use literal cperl | 1077 | * progmodes/cperl-mode.el (cperl-init-faces): Use literal cperl |
| 443 | faces instead of (non-existent) variables. | 1078 | faces instead of (non-existent) variables. |
| 444 | 1079 | ||
| 1080 | 2005-06-14 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 1081 | |||
| 1082 | * iswitchb.el (iswitchb-to-end): Replace mapcar with dolist. | ||
| 1083 | (iswitchb-get-matched-buffers): Likewise. Simplify. | ||
| 1084 | |||
| 445 | 2005-06-14 Miles Bader <miles@gnu.org> | 1085 | 2005-06-14 Miles Bader <miles@gnu.org> |
| 446 | 1086 | ||
| 447 | * progmodes/ld-script.el (ld-script-location-counter): | 1087 | * progmodes/ld-script.el (ld-script-location-counter): |
diff --git a/lisp/add-log.el b/lisp/add-log.el index 03f44976760..72eda86f131 100644 --- a/lisp/add-log.el +++ b/lisp/add-log.el | |||
| @@ -33,7 +33,7 @@ | |||
| 33 | (require 'timezone)) | 33 | (require 'timezone)) |
| 34 | 34 | ||
| 35 | (defgroup change-log nil | 35 | (defgroup change-log nil |
| 36 | "Change log maintenance" | 36 | "Change log maintenance." |
| 37 | :group 'tools | 37 | :group 'tools |
| 38 | :link '(custom-manual "(emacs)Change Log") | 38 | :link '(custom-manual "(emacs)Change Log") |
| 39 | :prefix "change-log-" | 39 | :prefix "change-log-" |
| @@ -607,13 +607,13 @@ non-nil, otherwise in local time." | |||
| 607 | (beginning-of-line 1) | 607 | (beginning-of-line 1) |
| 608 | (looking-at "\\s *\\(\\*\\s *\\)?$")) | 608 | (looking-at "\\s *\\(\\*\\s *\\)?$")) |
| 609 | (insert ": ") | 609 | (insert ": ") |
| 610 | (if version (insert version ?\ ))) | 610 | (if version (insert version ?\s))) |
| 611 | ;; Make it easy to get rid of the function name. | 611 | ;; Make it easy to get rid of the function name. |
| 612 | (undo-boundary) | 612 | (undo-boundary) |
| 613 | (unless (save-excursion | 613 | (unless (save-excursion |
| 614 | (beginning-of-line 1) | 614 | (beginning-of-line 1) |
| 615 | (looking-at "\\s *$")) | 615 | (looking-at "\\s *$")) |
| 616 | (insert ?\ )) | 616 | (insert ?\s)) |
| 617 | ;; See if the prev function name has a message yet or not. | 617 | ;; See if the prev function name has a message yet or not. |
| 618 | ;; If not, merge the two items. | 618 | ;; If not, merge the two items. |
| 619 | (let ((pos (point-marker))) | 619 | (let ((pos (point-marker))) |
| @@ -633,7 +633,7 @@ non-nil, otherwise in local time." | |||
| 633 | (insert "(")) | 633 | (insert "(")) |
| 634 | (set-marker pos nil)) | 634 | (set-marker pos nil)) |
| 635 | (insert defun "): ") | 635 | (insert defun "): ") |
| 636 | (if version (insert version ?\ ))))) | 636 | (if version (insert version ?\s))))) |
| 637 | 637 | ||
| 638 | ;;;###autoload | 638 | ;;;###autoload |
| 639 | (defun add-change-log-entry-other-window (&optional whoami file-name) | 639 | (defun add-change-log-entry-other-window (&optional whoami file-name) |
diff --git a/lisp/apropos.el b/lisp/apropos.el index b9d7e3ff41d..9ac6d32300d 100644 --- a/lisp/apropos.el +++ b/lisp/apropos.el | |||
| @@ -61,7 +61,7 @@ | |||
| 61 | (eval-when-compile (require 'cl)) | 61 | (eval-when-compile (require 'cl)) |
| 62 | 62 | ||
| 63 | (defgroup apropos nil | 63 | (defgroup apropos nil |
| 64 | "Apropos commands for users and programmers" | 64 | "Apropos commands for users and programmers." |
| 65 | :group 'help | 65 | :group 'help |
| 66 | :prefix "apropos") | 66 | :prefix "apropos") |
| 67 | 67 | ||
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el index 13f4559cfaf..ce2100c4f08 100644 --- a/lisp/arc-mode.el +++ b/lisp/arc-mode.el | |||
| @@ -131,7 +131,7 @@ | |||
| 131 | (make-temp-name | 131 | (make-temp-name |
| 132 | (expand-file-name (if (eq system-type 'ms-dos) "ar" "archive.tmp") | 132 | (expand-file-name (if (eq system-type 'ms-dos) "ar" "archive.tmp") |
| 133 | temporary-file-directory)) | 133 | temporary-file-directory)) |
| 134 | "*Directory for temporary files made by arc-mode.el" | 134 | "Directory for temporary files made by arc-mode.el." |
| 135 | :type 'directory | 135 | :type 'directory |
| 136 | :group 'archive) | 136 | :group 'archive) |
| 137 | 137 | ||
| @@ -218,11 +218,10 @@ Archive and member name will be added." | |||
| 218 | ;; Zip archive configuration | 218 | ;; Zip archive configuration |
| 219 | 219 | ||
| 220 | (defcustom archive-zip-extract | 220 | (defcustom archive-zip-extract |
| 221 | (if (locate-file "unzip" nil 'file-executable-p) | 221 | (if (and (not (executable-find "unzip")) |
| 222 | '("unzip" "-qq" "-c") | 222 | (executable-find "pkunzip")) |
| 223 | (if (locate-file "pkunzip" nil 'file-executable-p) | 223 | '("pkunzip" "-e" "-o-") |
| 224 | '("pkunzip" "-e" "-o-") | 224 | '("unzip" "-qq" "-c")) |
| 225 | '("unzip" "-qq" "-c"))) | ||
| 226 | "*Program and its options to run in order to extract a zip file member. | 225 | "*Program and its options to run in order to extract a zip file member. |
| 227 | Extraction should happen to standard output. Archive and member name will | 226 | Extraction should happen to standard output. Archive and member name will |
| 228 | be added. If `archive-zip-use-pkzip' is non-nil then this program is | 227 | be added. If `archive-zip-use-pkzip' is non-nil then this program is |
| @@ -239,11 +238,10 @@ expected to extract to a file junking the directory part of the name." | |||
| 239 | ;; names. | 238 | ;; names. |
| 240 | 239 | ||
| 241 | (defcustom archive-zip-expunge | 240 | (defcustom archive-zip-expunge |
| 242 | (if (locate-file "zip" nil 'file-executable-p) | 241 | (if (and (not (executable-find "zip")) |
| 243 | '("zip" "-d" "-q") | 242 | (executable-find "pkzip")) |
| 244 | (if (locate-file "pkzip" nil 'file-executable-p) | 243 | '("pkzip" "-d") |
| 245 | '("pkzip" "-d") | 244 | '("zip" "-d" "-q")) |
| 246 | '("zip" "-d" "-q"))) | ||
| 247 | "*Program and its options to run in order to delete zip file members. | 245 | "*Program and its options to run in order to delete zip file members. |
| 248 | Archive and member names will be added." | 246 | Archive and member names will be added." |
| 249 | :type '(list (string :tag "Program") | 247 | :type '(list (string :tag "Program") |
| @@ -253,11 +251,10 @@ Archive and member names will be added." | |||
| 253 | :group 'archive-zip) | 251 | :group 'archive-zip) |
| 254 | 252 | ||
| 255 | (defcustom archive-zip-update | 253 | (defcustom archive-zip-update |
| 256 | (if (locate-file "zip" nil 'file-executable-p) | 254 | (if (and (not (executable-find "zip")) |
| 257 | '("zip" "-q") | 255 | (executable-find "pkzip")) |
| 258 | (if (locate-file "pkzip" nil 'file-executable-p) | 256 | '("pkzip" "-u" "-P") |
| 259 | '("pkzip" "-u" "-P") | 257 | '("zip" "-q")) |
| 260 | '("zip" "-q"))) | ||
| 261 | "*Program and its options to run in order to update a zip file member. | 258 | "*Program and its options to run in order to update a zip file member. |
| 262 | Options should ensure that specified directory will be put into the zip | 259 | Options should ensure that specified directory will be put into the zip |
| 263 | file. Archive and member name will be added." | 260 | file. Archive and member name will be added." |
| @@ -268,11 +265,10 @@ file. Archive and member name will be added." | |||
| 268 | :group 'archive-zip) | 265 | :group 'archive-zip) |
| 269 | 266 | ||
| 270 | (defcustom archive-zip-update-case | 267 | (defcustom archive-zip-update-case |
| 271 | (if (locate-file "zip" nil 'file-executable-p) | 268 | (if (and (not (executable-find "zip")) |
| 272 | '("zip" "-q" "-k") | 269 | (executable-find "pkzip")) |
| 273 | (if (locate-file "pkzip" nil 'file-executable-p) | 270 | '("pkzip" "-u" "-P") |
| 274 | '("pkzip" "-u" "-P") | 271 | '("zip" "-q" "-k")) |
| 275 | '("zip" "-q" "-k"))) | ||
| 276 | "*Program and its options to run in order to update a case fiddled zip member. | 272 | "*Program and its options to run in order to update a case fiddled zip member. |
| 277 | Options should ensure that specified directory will be put into the zip file. | 273 | Options should ensure that specified directory will be put into the zip file. |
| 278 | Archive and member name will be added." | 274 | Archive and member name will be added." |
| @@ -371,7 +367,7 @@ Archive and member name will be added." | |||
| 371 | (substitute-key-definition 'undo 'archive-undo map global-map)) | 367 | (substitute-key-definition 'undo 'archive-undo map global-map)) |
| 372 | 368 | ||
| 373 | (define-key map | 369 | (define-key map |
| 374 | (if (featurep 'xemacs) 'button2 [mouse-2]) 'archive-mouse-extract) | 370 | (if (featurep 'xemacs) 'button2 [mouse-2]) 'archive-extract) |
| 375 | 371 | ||
| 376 | (if (featurep 'xemacs) | 372 | (if (featurep 'xemacs) |
| 377 | () ; out of luck | 373 | () ; out of luck |
| @@ -637,8 +633,7 @@ archive. | |||
| 637 | 633 | ||
| 638 | ;; Remote archives are not written by a hook. | 634 | ;; Remote archives are not written by a hook. |
| 639 | (if archive-remote nil | 635 | (if archive-remote nil |
| 640 | (make-local-variable 'write-contents-hooks) | 636 | (add-hook 'write-contents-functions 'archive-write-file nil t)) |
| 641 | (add-hook 'write-contents-hooks 'archive-write-file)) | ||
| 642 | 637 | ||
| 643 | (make-local-variable 'require-final-newline) | 638 | (make-local-variable 'require-final-newline) |
| 644 | (setq require-final-newline nil) | 639 | (setq require-final-newline nil) |
| @@ -715,7 +710,7 @@ Optional argument SHUT-UP, if non-nil, means don't print messages | |||
| 715 | when parsing the archive." | 710 | when parsing the archive." |
| 716 | (widen) | 711 | (widen) |
| 717 | (set-buffer-multibyte nil) | 712 | (set-buffer-multibyte nil) |
| 718 | (let (buffer-read-only) | 713 | (let ((inhibit-read-only t)) |
| 719 | (or shut-up | 714 | (or shut-up |
| 720 | (message "Parsing archive file...")) | 715 | (message "Parsing archive file...")) |
| 721 | (buffer-disable-undo (current-buffer)) | 716 | (buffer-disable-undo (current-buffer)) |
| @@ -733,11 +728,11 @@ when parsing the archive." | |||
| 733 | "Recreate the contents listing of an archive." | 728 | "Recreate the contents listing of an archive." |
| 734 | (let ((modified (buffer-modified-p)) | 729 | (let ((modified (buffer-modified-p)) |
| 735 | (no (archive-get-lineno)) | 730 | (no (archive-get-lineno)) |
| 736 | buffer-read-only) | 731 | (inhibit-read-only t)) |
| 737 | (widen) | 732 | (widen) |
| 738 | (delete-region (point-min) archive-proper-file-start) | 733 | (delete-region (point-min) archive-proper-file-start) |
| 739 | (archive-summarize t) | 734 | (archive-summarize t) |
| 740 | (set-buffer-modified-p modified) | 735 | (restore-buffer-modified-p modified) |
| 741 | (goto-char archive-file-list-start) | 736 | (goto-char archive-file-list-start) |
| 742 | (archive-next-line no))) | 737 | (archive-next-line no))) |
| 743 | 738 | ||
| @@ -751,19 +746,18 @@ when parsing the archive." | |||
| 751 | (apply | 746 | (apply |
| 752 | (function concat) | 747 | (function concat) |
| 753 | (mapcar | 748 | (mapcar |
| 754 | (function | 749 | (lambda (fil) |
| 755 | (lambda (fil) | 750 | ;; Using `concat' here copies the text also, so we can add |
| 756 | ;; Using `concat' here copies the text also, so we can add | 751 | ;; properties without problems. |
| 757 | ;; properties without problems. | 752 | (let ((text (concat (aref fil 0) "\n"))) |
| 758 | (let ((text (concat (aref fil 0) "\n"))) | 753 | (if (featurep 'xemacs) |
| 759 | (if (featurep 'xemacs) | 754 | () ; out of luck |
| 760 | () ; out of luck | 755 | (add-text-properties |
| 761 | (add-text-properties | 756 | (aref fil 1) (aref fil 2) |
| 762 | (aref fil 1) (aref fil 2) | 757 | '(mouse-face highlight |
| 763 | '(mouse-face highlight | 758 | help-echo "mouse-2: extract this file into a buffer") |
| 764 | help-echo "mouse-2: extract this file into a buffer") | 759 | text)) |
| 765 | text)) | 760 | text)) |
| 766 | text))) | ||
| 767 | files))) | 761 | files))) |
| 768 | (setq archive-file-list-end (point-marker))) | 762 | (setq archive-file-list-end (point-marker))) |
| 769 | 763 | ||
| @@ -832,7 +826,7 @@ using `make-temp-file', and the generated name is returned." | |||
| 832 | (modified (buffer-modified-p)) | 826 | (modified (buffer-modified-p)) |
| 833 | (coding-system-for-read 'no-conversion) | 827 | (coding-system-for-read 'no-conversion) |
| 834 | (lno (archive-get-lineno)) | 828 | (lno (archive-get-lineno)) |
| 835 | buffer-read-only) | 829 | (inhibit-read-only t)) |
| 836 | (if unchanged nil | 830 | (if unchanged nil |
| 837 | (setq archive-files nil) | 831 | (setq archive-files nil) |
| 838 | (erase-buffer) | 832 | (erase-buffer) |
| @@ -898,18 +892,12 @@ using `make-temp-file', and the generated name is returned." | |||
| 898 | (kill-local-variable 'buffer-file-coding-system) | 892 | (kill-local-variable 'buffer-file-coding-system) |
| 899 | (after-insert-file-set-coding (- (point-max) (point-min)))))) | 893 | (after-insert-file-set-coding (- (point-max) (point-min)))))) |
| 900 | 894 | ||
| 901 | (defun archive-mouse-extract (event) | 895 | (define-obsolete-function-alias 'archive-mouse-extract 'archive-extract "22.1") |
| 902 | "Extract a file whose name you click on." | ||
| 903 | (interactive "e") | ||
| 904 | (mouse-set-point event) | ||
| 905 | (switch-to-buffer | ||
| 906 | (save-excursion | ||
| 907 | (archive-extract) | ||
| 908 | (current-buffer)))) | ||
| 909 | 896 | ||
| 910 | (defun archive-extract (&optional other-window-p) | 897 | (defun archive-extract (&optional other-window-p event) |
| 911 | "In archive mode, extract this entry of the archive into its own buffer." | 898 | "In archive mode, extract this entry of the archive into its own buffer." |
| 912 | (interactive) | 899 | (interactive (list nil last-input-event)) |
| 900 | (if event (mouse-set-point event)) | ||
| 913 | (let* ((view-p (eq other-window-p 'view)) | 901 | (let* ((view-p (eq other-window-p 'view)) |
| 914 | (descr (archive-get-descr)) | 902 | (descr (archive-get-descr)) |
| 915 | (ename (aref descr 0)) | 903 | (ename (aref descr 0)) |
| @@ -932,8 +920,7 @@ using `make-temp-file', and the generated name is returned." | |||
| 932 | (setq archive (archive-maybe-copy archive)) | 920 | (setq archive (archive-maybe-copy archive)) |
| 933 | (setq buffer (get-buffer-create bufname)) | 921 | (setq buffer (get-buffer-create bufname)) |
| 934 | (setq just-created t) | 922 | (setq just-created t) |
| 935 | (save-excursion | 923 | (with-current-buffer buffer |
| 936 | (set-buffer buffer) | ||
| 937 | (setq buffer-file-name | 924 | (setq buffer-file-name |
| 938 | (expand-file-name (concat arcname ":" iname))) | 925 | (expand-file-name (concat arcname ":" iname))) |
| 939 | (setq buffer-file-truename | 926 | (setq buffer-file-truename |
| @@ -942,8 +929,7 @@ using `make-temp-file', and the generated name is returned." | |||
| 942 | (setq default-directory arcdir) | 929 | (setq default-directory arcdir) |
| 943 | (make-local-variable 'archive-superior-buffer) | 930 | (make-local-variable 'archive-superior-buffer) |
| 944 | (setq archive-superior-buffer archive-buffer) | 931 | (setq archive-superior-buffer archive-buffer) |
| 945 | (make-local-variable 'local-write-file-hooks) | 932 | (add-hook 'write-file-functions 'archive-write-file-member nil t) |
| 946 | (add-hook 'local-write-file-hooks 'archive-write-file-member) | ||
| 947 | (setq archive-subfile-mode descr) | 933 | (setq archive-subfile-mode descr) |
| 948 | (if (and | 934 | (if (and |
| 949 | (null | 935 | (null |
| @@ -977,26 +963,22 @@ using `make-temp-file', and the generated name is returned." | |||
| 977 | (setq buffer-saved-size (buffer-size)) | 963 | (setq buffer-saved-size (buffer-size)) |
| 978 | (normal-mode) | 964 | (normal-mode) |
| 979 | ;; Just in case an archive occurs inside another archive. | 965 | ;; Just in case an archive occurs inside another archive. |
| 980 | (if (eq major-mode 'archive-mode) | 966 | (when (derived-mode-p 'archive-mode) |
| 981 | (progn | 967 | (setq archive-remote t) |
| 982 | (setq archive-remote t) | 968 | (if read-only-p (setq archive-read-only t)) |
| 983 | (if read-only-p (setq archive-read-only t)) | 969 | ;; We will write out the archive ourselves if it is |
| 984 | ;; We will write out the archive ourselves if it is | 970 | ;; part of another archive. |
| 985 | ;; part of another archive. | 971 | (remove-hook 'write-contents-functions 'archive-write-file t)) |
| 986 | (remove-hook 'write-contents-hooks 'archive-write-file t))) | 972 | (run-hooks 'archive-extract-hooks) |
| 987 | (run-hooks 'archive-extract-hooks) | ||
| 988 | (if archive-read-only | 973 | (if archive-read-only |
| 989 | (message "Note: altering this archive is not implemented.")))) | 974 | (message "Note: altering this archive is not implemented.")))) |
| 990 | (archive-maybe-update t)) | 975 | (archive-maybe-update t)) |
| 991 | (or (not (buffer-name buffer)) | 976 | (or (not (buffer-name buffer)) |
| 992 | (progn | 977 | (cond |
| 993 | (if view-p | 978 | (view-p (view-buffer buffer (and just-created 'kill-buffer))) |
| 994 | (view-buffer buffer (and just-created 'kill-buffer)) | 979 | ((eq other-window-p 'display) (display-buffer buffer)) |
| 995 | (if (eq other-window-p 'display) | 980 | (other-window-p (switch-to-buffer-other-window buffer)) |
| 996 | (display-buffer buffer) | 981 | (t (switch-to-buffer buffer)))))) |
| 997 | (if other-window-p | ||
| 998 | (switch-to-buffer-other-window buffer) | ||
| 999 | (switch-to-buffer buffer)))))))) | ||
| 1000 | 982 | ||
| 1001 | (defun archive-*-extract (archive name command) | 983 | (defun archive-*-extract (archive name command) |
| 1002 | (let* ((default-directory (file-name-as-directory archive-tmpdir)) | 984 | (let* ((default-directory (file-name-as-directory archive-tmpdir)) |
| @@ -1056,11 +1038,10 @@ using `make-temp-file', and the generated name is returned." | |||
| 1056 | (read-buffer "Buffer containing archive: " | 1038 | (read-buffer "Buffer containing archive: " |
| 1057 | ;; Find first archive buffer and suggest that | 1039 | ;; Find first archive buffer and suggest that |
| 1058 | (let ((bufs (buffer-list))) | 1040 | (let ((bufs (buffer-list))) |
| 1059 | (while (and bufs (not (eq (save-excursion | 1041 | (while (and bufs |
| 1060 | (set-buffer (car bufs)) | 1042 | (not (with-current-buffer (car bufs) |
| 1061 | major-mode) | 1043 | (derived-mode-p 'archive-mode)))) |
| 1062 | 'archive-mode))) | 1044 | (setq bufs (cdr bufs))) |
| 1063 | (setq bufs (cdr bufs))) | ||
| 1064 | (if bufs | 1045 | (if bufs |
| 1065 | (car bufs) | 1046 | (car bufs) |
| 1066 | (error "There are no archive buffers"))) | 1047 | (error "There are no archive buffers"))) |
| @@ -1069,8 +1050,7 @@ using `make-temp-file', and the generated name is returned." | |||
| 1069 | (if buffer-file-name | 1050 | (if buffer-file-name |
| 1070 | (file-name-nondirectory buffer-file-name) | 1051 | (file-name-nondirectory buffer-file-name) |
| 1071 | "")))) | 1052 | "")))) |
| 1072 | (save-excursion | 1053 | (with-current-buffer arcbuf |
| 1073 | (set-buffer arcbuf) | ||
| 1074 | (or (eq major-mode 'archive-mode) | 1054 | (or (eq major-mode 'archive-mode) |
| 1075 | (error "Buffer is not an archive buffer")) | 1055 | (error "Buffer is not an archive buffer")) |
| 1076 | (if archive-read-only | 1056 | (if archive-read-only |
| @@ -1079,12 +1059,11 @@ using `make-temp-file', and the generated name is returned." | |||
| 1079 | (error "An archive buffer cannot be added to itself")) | 1059 | (error "An archive buffer cannot be added to itself")) |
| 1080 | (if (string= name "") | 1060 | (if (string= name "") |
| 1081 | (error "Archive members may not be given empty names")) | 1061 | (error "Archive members may not be given empty names")) |
| 1082 | (let ((func (save-excursion (set-buffer arcbuf) | 1062 | (let ((func (with-current-buffer arcbuf |
| 1083 | (archive-name "add-new-member"))) | 1063 | (archive-name "add-new-member"))) |
| 1084 | (membuf (current-buffer))) | 1064 | (membuf (current-buffer))) |
| 1085 | (if (fboundp func) | 1065 | (if (fboundp func) |
| 1086 | (save-excursion | 1066 | (with-current-buffer arcbuf |
| 1087 | (set-buffer arcbuf) | ||
| 1088 | (funcall func buffer-file-name membuf name)) | 1067 | (funcall func buffer-file-name membuf name)) |
| 1089 | (error "Adding a new member is not supported for this archive type")))) | 1068 | (error "Adding a new member is not supported for this archive type")))) |
| 1090 | ;; ------------------------------------------------------------------------- | 1069 | ;; ------------------------------------------------------------------------- |
| @@ -1095,10 +1074,10 @@ using `make-temp-file', and the generated name is returned." | |||
| 1095 | (save-restriction | 1074 | (save-restriction |
| 1096 | (message "Updating archive...") | 1075 | (message "Updating archive...") |
| 1097 | (widen) | 1076 | (widen) |
| 1098 | (let ((writer (save-excursion (set-buffer archive-superior-buffer) | 1077 | (let ((writer (with-current-buffer archive-superior-buffer |
| 1099 | (archive-name "write-file-member"))) | 1078 | (archive-name "write-file-member"))) |
| 1100 | (archive (save-excursion (set-buffer archive-superior-buffer) | 1079 | (archive (with-current-buffer archive-superior-buffer |
| 1101 | (archive-maybe-copy (buffer-file-name))))) | 1080 | (archive-maybe-copy (buffer-file-name))))) |
| 1102 | (if (fboundp writer) | 1081 | (if (fboundp writer) |
| 1103 | (funcall writer archive archive-subfile-mode) | 1082 | (funcall writer archive archive-subfile-mode) |
| 1104 | (archive-*-write-file-member archive | 1083 | (archive-*-write-file-member archive |
| @@ -1167,7 +1146,7 @@ With a prefix argument, mark that many files." | |||
| 1167 | (beginning-of-line) | 1146 | (beginning-of-line) |
| 1168 | (let ((sign (if (>= p 0) +1 -1)) | 1147 | (let ((sign (if (>= p 0) +1 -1)) |
| 1169 | (modified (buffer-modified-p)) | 1148 | (modified (buffer-modified-p)) |
| 1170 | buffer-read-only) | 1149 | (inhibit-read-only t)) |
| 1171 | (while (not (zerop p)) | 1150 | (while (not (zerop p)) |
| 1172 | (if (archive-get-descr t) | 1151 | (if (archive-get-descr t) |
| 1173 | (progn | 1152 | (progn |
| @@ -1175,7 +1154,7 @@ With a prefix argument, mark that many files." | |||
| 1175 | (insert type))) | 1154 | (insert type))) |
| 1176 | (forward-line sign) | 1155 | (forward-line sign) |
| 1177 | (setq p (- p sign))) | 1156 | (setq p (- p sign))) |
| 1178 | (set-buffer-modified-p modified)) | 1157 | (restore-buffer-modified-p modified)) |
| 1179 | (archive-next-line 0)) | 1158 | (archive-next-line 0)) |
| 1180 | 1159 | ||
| 1181 | (defun archive-unflag (p) | 1160 | (defun archive-unflag (p) |
| @@ -1194,14 +1173,14 @@ With a prefix argument, un-mark that many members backward." | |||
| 1194 | "Remove all marks." | 1173 | "Remove all marks." |
| 1195 | (interactive) | 1174 | (interactive) |
| 1196 | (let ((modified (buffer-modified-p)) | 1175 | (let ((modified (buffer-modified-p)) |
| 1197 | buffer-read-only) | 1176 | (inhibit-read-only t)) |
| 1198 | (save-excursion | 1177 | (save-excursion |
| 1199 | (goto-char archive-file-list-start) | 1178 | (goto-char archive-file-list-start) |
| 1200 | (while (< (point) archive-file-list-end) | 1179 | (while (< (point) archive-file-list-end) |
| 1201 | (or (= (following-char) ? ) | 1180 | (or (= (following-char) ? ) |
| 1202 | (progn (delete-char 1) (insert ? ))) | 1181 | (progn (delete-char 1) (insert ? ))) |
| 1203 | (forward-line 1))) | 1182 | (forward-line 1))) |
| 1204 | (set-buffer-modified-p modified))) | 1183 | (restore-buffer-modified-p modified))) |
| 1205 | 1184 | ||
| 1206 | (defun archive-mark (p) | 1185 | (defun archive-mark (p) |
| 1207 | "In archive mode, mark this member for group operations. | 1186 | "In archive mode, mark this member for group operations. |
| @@ -1306,7 +1285,7 @@ as a relative change like \"g+rw\" as for chmod(2)" | |||
| 1306 | (append (cdr command) (cons archive files)))) | 1285 | (append (cdr command) (cons archive files)))) |
| 1307 | 1286 | ||
| 1308 | (defun archive-rename-entry (newname) | 1287 | (defun archive-rename-entry (newname) |
| 1309 | "Change the name associated with this entry in the tar file." | 1288 | "Change the name associated with this entry in the archive file." |
| 1310 | (interactive "sNew name: ") | 1289 | (interactive "sNew name: ") |
| 1311 | (if archive-read-only (error "Archive is read-only")) | 1290 | (if archive-read-only (error "Archive is read-only")) |
| 1312 | (if (string= newname "") | 1291 | (if (string= newname "") |
| @@ -1315,7 +1294,7 @@ as a relative change like \"g+rw\" as for chmod(2)" | |||
| 1315 | (descr (archive-get-descr))) | 1294 | (descr (archive-get-descr))) |
| 1316 | (if (fboundp func) | 1295 | (if (fboundp func) |
| 1317 | (progn | 1296 | (progn |
| 1318 | (funcall func (buffer-file-name) | 1297 | (funcall func |
| 1319 | (if enable-multibyte-characters | 1298 | (if enable-multibyte-characters |
| 1320 | (encode-coding-string newname file-name-coding-system) | 1299 | (encode-coding-string newname file-name-coding-system) |
| 1321 | newname) | 1300 | newname) |
| @@ -1339,7 +1318,7 @@ as a relative change like \"g+rw\" as for chmod(2)" | |||
| 1339 | "Undo in an archive buffer. | 1318 | "Undo in an archive buffer. |
| 1340 | This doesn't recover lost files, it just undoes changes in the buffer itself." | 1319 | This doesn't recover lost files, it just undoes changes in the buffer itself." |
| 1341 | (interactive) | 1320 | (interactive) |
| 1342 | (let (buffer-read-only) | 1321 | (let ((inhibit-read-only t)) |
| 1343 | (undo))) | 1322 | (undo))) |
| 1344 | ;; ------------------------------------------------------------------------- | 1323 | ;; ------------------------------------------------------------------------- |
| 1345 | ;; Section: Arc Archives | 1324 | ;; Section: Arc Archives |
| @@ -1391,14 +1370,14 @@ This doesn't recover lost files, it just undoes changes in the buffer itself." | |||
| 1391 | "\n")) | 1370 | "\n")) |
| 1392 | (apply 'vector (nreverse files)))) | 1371 | (apply 'vector (nreverse files)))) |
| 1393 | 1372 | ||
| 1394 | (defun archive-arc-rename-entry (archive newname descr) | 1373 | (defun archive-arc-rename-entry (newname descr) |
| 1395 | (if (string-match "[:\\\\/]" newname) | 1374 | (if (string-match "[:\\\\/]" newname) |
| 1396 | (error "File names in arc files must not contain a directory component")) | 1375 | (error "File names in arc files must not contain a directory component")) |
| 1397 | (if (> (length newname) 12) | 1376 | (if (> (length newname) 12) |
| 1398 | (error "File names in arc files are limited to 12 characters")) | 1377 | (error "File names in arc files are limited to 12 characters")) |
| 1399 | (let ((name (concat newname (substring "\0\0\0\0\0\0\0\0\0\0\0\0\0" | 1378 | (let ((name (concat newname (substring "\0\0\0\0\0\0\0\0\0\0\0\0\0" |
| 1400 | (length newname)))) | 1379 | (length newname)))) |
| 1401 | buffer-read-only) | 1380 | (inhibit-read-only t)) |
| 1402 | (save-restriction | 1381 | (save-restriction |
| 1403 | (save-excursion | 1382 | (save-excursion |
| 1404 | (widen) | 1383 | (widen) |
| @@ -1425,7 +1404,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself." | |||
| 1425 | (time2 (archive-l-e (+ p 17) 2)) ;and UNIX format in level 2 header.) | 1404 | (time2 (archive-l-e (+ p 17) 2)) ;and UNIX format in level 2 header.) |
| 1426 | (hdrlvl (char-after (+ p 20))) ;header level | 1405 | (hdrlvl (char-after (+ p 20))) ;header level |
| 1427 | thsize ;total header size (base + extensions) | 1406 | thsize ;total header size (base + extensions) |
| 1428 | fnlen efnname fiddle ifnname width p2 creator | 1407 | fnlen efnname fiddle ifnname width p2 |
| 1429 | neh ;beginning of next extension header (level 1 and 2) | 1408 | neh ;beginning of next extension header (level 1 and 2) |
| 1430 | mode modestr uid gid text dir prname | 1409 | mode modestr uid gid text dir prname |
| 1431 | gname uname modtime moddate) | 1410 | gname uname modtime moddate) |
| @@ -1438,13 +1417,9 @@ This doesn't recover lost files, it just undoes changes in the buffer itself." | |||
| 1438 | (string-as-multibyte str)))) | 1417 | (string-as-multibyte str)))) |
| 1439 | (setq p2 (+ p 22 fnlen))) ; | 1418 | (setq p2 (+ p 22 fnlen))) ; |
| 1440 | (if (= hdrlvl 1) | 1419 | (if (= hdrlvl 1) |
| 1441 | (progn ;specific to level 1 header | 1420 | (setq neh (+ p2 3)) ;specific to level 1 header |
| 1442 | (setq creator (if (>= (- hsize fnlen) 24) (char-after (+ p2 2)) 0)) | ||
| 1443 | (setq neh (+ p2 3))) | ||
| 1444 | (if (= hdrlvl 2) | 1421 | (if (= hdrlvl 2) |
| 1445 | (progn ;specific to level 2 header | 1422 | (setq neh (+ p 24)))) ;specific to level 2 header |
| 1446 | (setq creator (char-after (+ p 23)) ) | ||
| 1447 | (setq neh (+ p 24))))) | ||
| 1448 | (if neh ;if level 1 or 2 we expect extension headers to follow | 1423 | (if neh ;if level 1 or 2 we expect extension headers to follow |
| 1449 | (let* ((ehsize (archive-l-e neh 2)) ;size of the extension header | 1424 | (let* ((ehsize (archive-l-e neh 2)) ;size of the extension header |
| 1450 | (etype (char-after (+ neh 2)))) ;extension type | 1425 | (etype (char-after (+ neh 2)))) ;extension type |
| @@ -1560,7 +1535,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself." | |||
| 1560 | p (1+ p))) | 1535 | p (1+ p))) |
| 1561 | (logand sum 255))) | 1536 | (logand sum 255))) |
| 1562 | 1537 | ||
| 1563 | (defun archive-lzh-rename-entry (archive newname descr) | 1538 | (defun archive-lzh-rename-entry (newname descr) |
| 1564 | (save-restriction | 1539 | (save-restriction |
| 1565 | (save-excursion | 1540 | (save-excursion |
| 1566 | (widen) | 1541 | (widen) |
| @@ -1570,7 +1545,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself." | |||
| 1570 | (oldfnlen (char-after (+ p 21))) | 1545 | (oldfnlen (char-after (+ p 21))) |
| 1571 | (newfnlen (length newname)) | 1546 | (newfnlen (length newname)) |
| 1572 | (newhsize (+ oldhsize newfnlen (- oldfnlen))) | 1547 | (newhsize (+ oldhsize newfnlen (- oldfnlen))) |
| 1573 | buffer-read-only) | 1548 | (inhibit-read-only t)) |
| 1574 | (if (> newhsize 255) | 1549 | (if (> newhsize 255) |
| 1575 | (error "The file name is too long")) | 1550 | (error "The file name is too long")) |
| 1576 | (goto-char (+ p 21)) | 1551 | (goto-char (+ p 21)) |
| @@ -1585,14 +1560,13 @@ This doesn't recover lost files, it just undoes changes in the buffer itself." | |||
| 1585 | (save-excursion | 1560 | (save-excursion |
| 1586 | (widen) | 1561 | (widen) |
| 1587 | (set-buffer-multibyte nil) | 1562 | (set-buffer-multibyte nil) |
| 1588 | (while files | 1563 | (dolist (fil files) |
| 1589 | (let* ((fil (car files)) | 1564 | (let* ((p (+ archive-proper-file-start (aref fil 4))) |
| 1590 | (p (+ archive-proper-file-start (aref fil 4))) | ||
| 1591 | (hsize (char-after p)) | 1565 | (hsize (char-after p)) |
| 1592 | (fnlen (char-after (+ p 21))) | 1566 | (fnlen (char-after (+ p 21))) |
| 1593 | (p2 (+ p 22 fnlen)) | 1567 | (p2 (+ p 22 fnlen)) |
| 1594 | (creator (if (>= (- hsize fnlen) 24) (char-after (+ p2 2)) 0)) | 1568 | (creator (if (>= (- hsize fnlen) 24) (char-after (+ p2 2)) 0)) |
| 1595 | buffer-read-only) | 1569 | (inhibit-read-only t)) |
| 1596 | (if (= creator ?U) | 1570 | (if (= creator ?U) |
| 1597 | (progn | 1571 | (progn |
| 1598 | (or (numberp newval) | 1572 | (or (numberp newval) |
| @@ -1604,8 +1578,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself." | |||
| 1604 | (delete-char 1) | 1578 | (delete-char 1) |
| 1605 | (insert (archive-lzh-resum (1+ p) hsize))) | 1579 | (insert (archive-lzh-resum (1+ p) hsize))) |
| 1606 | (message "Member %s does not have %s field" | 1580 | (message "Member %s does not have %s field" |
| 1607 | (aref fil 1) errtxt))) | 1581 | (aref fil 1) errtxt))))))) |
| 1608 | (setq files (cdr files)))))) | ||
| 1609 | 1582 | ||
| 1610 | (defun archive-lzh-chown-entry (newuid files) | 1583 | (defun archive-lzh-chown-entry (newuid files) |
| 1611 | (archive-lzh-ogm newuid files "an uid" 10)) | 1584 | (archive-lzh-ogm newuid files "an uid" 10)) |
| @@ -1616,7 +1589,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself." | |||
| 1616 | (defun archive-lzh-chmod-entry (newmode files) | 1589 | (defun archive-lzh-chmod-entry (newmode files) |
| 1617 | (archive-lzh-ogm | 1590 | (archive-lzh-ogm |
| 1618 | ;; This should work even though newmode will be dynamically accessed. | 1591 | ;; This should work even though newmode will be dynamically accessed. |
| 1619 | (function (lambda (old) (archive-calc-mode old newmode t))) | 1592 | (lambda (old) (archive-calc-mode old newmode t)) |
| 1620 | files "a unix-style mode" 8)) | 1593 | files "a unix-style mode" 8)) |
| 1621 | ;; ------------------------------------------------------------------------- | 1594 | ;; ------------------------------------------------------------------------- |
| 1622 | ;; Section: Zip Archives | 1595 | ;; Section: Zip Archives |
| @@ -1631,7 +1604,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself." | |||
| 1631 | visual) | 1604 | visual) |
| 1632 | (while (string= "PK\001\002" (buffer-substring p (+ p 4))) | 1605 | (while (string= "PK\001\002" (buffer-substring p (+ p 4))) |
| 1633 | (let* ((creator (char-after (+ p 5))) | 1606 | (let* ((creator (char-after (+ p 5))) |
| 1634 | (method (archive-l-e (+ p 10) 2)) | 1607 | ;; (method (archive-l-e (+ p 10) 2)) |
| 1635 | (modtime (archive-l-e (+ p 12) 2)) | 1608 | (modtime (archive-l-e (+ p 12) 2)) |
| 1636 | (moddate (archive-l-e (+ p 14) 2)) | 1609 | (moddate (archive-l-e (+ p 14) 2)) |
| 1637 | (ucsize (archive-l-e (+ p 24) 4)) | 1610 | (ucsize (archive-l-e (+ p 24) 4)) |
| @@ -1709,13 +1682,12 @@ This doesn't recover lost files, it just undoes changes in the buffer itself." | |||
| 1709 | (save-excursion | 1682 | (save-excursion |
| 1710 | (widen) | 1683 | (widen) |
| 1711 | (set-buffer-multibyte nil) | 1684 | (set-buffer-multibyte nil) |
| 1712 | (while files | 1685 | (dolist (fil files) |
| 1713 | (let* ((fil (car files)) | 1686 | (let* ((p (+ archive-proper-file-start (car (aref fil 4)))) |
| 1714 | (p (+ archive-proper-file-start (car (aref fil 4)))) | ||
| 1715 | (creator (char-after (+ p 5))) | 1687 | (creator (char-after (+ p 5))) |
| 1716 | (oldmode (aref fil 3)) | 1688 | (oldmode (aref fil 3)) |
| 1717 | (newval (archive-calc-mode oldmode newmode t)) | 1689 | (newval (archive-calc-mode oldmode newmode t)) |
| 1718 | buffer-read-only) | 1690 | (inhibit-read-only t)) |
| 1719 | (cond ((memq creator '(2 3)) ; Unix + VMS | 1691 | (cond ((memq creator '(2 3)) ; Unix + VMS |
| 1720 | (goto-char (+ p 40)) | 1692 | (goto-char (+ p 40)) |
| 1721 | (delete-char 2) | 1693 | (delete-char 2) |
| @@ -1726,7 +1698,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself." | |||
| 1726 | (logand (logxor 1 (lsh newval -7)) 1))) | 1698 | (logand (logxor 1 (lsh newval -7)) 1))) |
| 1727 | (delete-char 1)) | 1699 | (delete-char 1)) |
| 1728 | (t (message "Don't know how to change mode for this member")))) | 1700 | (t (message "Don't know how to change mode for this member")))) |
| 1729 | (setq files (cdr files)))))) | 1701 | )))) |
| 1730 | ;; ------------------------------------------------------------------------- | 1702 | ;; ------------------------------------------------------------------------- |
| 1731 | ;; Section: Zoo Archives | 1703 | ;; Section: Zoo Archives |
| 1732 | 1704 | ||
diff --git a/lisp/battery.el b/lisp/battery.el index 42ceec0c90c..6e94c176513 100644 --- a/lisp/battery.el +++ b/lisp/battery.el | |||
| @@ -171,53 +171,49 @@ The following %-sequences are provided: | |||
| 171 | %B Battery status (verbose) | 171 | %B Battery status (verbose) |
| 172 | %b Battery status, empty means high, `-' means low, | 172 | %b Battery status, empty means high, `-' means low, |
| 173 | `!' means critical, and `+' means charging | 173 | `!' means critical, and `+' means charging |
| 174 | %p battery load percentage | 174 | %p Battery load percentage |
| 175 | %s Remaining time in seconds | 175 | %s Remaining time in seconds |
| 176 | %m Remaining time in minutes | 176 | %m Remaining time in minutes |
| 177 | %h Remaining time in hours | 177 | %h Remaining time in hours |
| 178 | %t Remaining time in the form `h:min'" | 178 | %t Remaining time in the form `h:min'" |
| 179 | (let (driver-version bios-version bios-interface line-status | 179 | (let (driver-version bios-version bios-interface line-status |
| 180 | battery-status battery-status-symbol load-percentage | 180 | battery-status battery-status-symbol load-percentage |
| 181 | seconds minutes hours remaining-time buffer tem) | 181 | seconds minutes hours remaining-time tem) |
| 182 | (unwind-protect | 182 | (with-temp-buffer |
| 183 | (save-excursion | 183 | (ignore-errors (insert-file-contents "/proc/apm")) |
| 184 | (setq buffer (get-buffer-create " *battery*")) | 184 | (when (re-search-forward battery-linux-proc-apm-regexp) |
| 185 | (set-buffer buffer) | 185 | (setq driver-version (match-string 1)) |
| 186 | (erase-buffer) | 186 | (setq bios-version (match-string 2)) |
| 187 | (insert-file-contents "/proc/apm") | 187 | (setq tem (string-to-number (match-string 3) 16)) |
| 188 | (re-search-forward battery-linux-proc-apm-regexp) | 188 | (if (not (logand tem 2)) |
| 189 | (setq driver-version (match-string 1)) | 189 | (setq bios-interface "not supported") |
| 190 | (setq bios-version (match-string 2)) | 190 | (setq bios-interface "enabled") |
| 191 | (setq tem (string-to-number (match-string 3) 16)) | 191 | (cond ((logand tem 16) (setq bios-interface "disabled")) |
| 192 | (if (not (logand tem 2)) | 192 | ((logand tem 32) (setq bios-interface "disengaged"))) |
| 193 | (setq bios-interface "not supported") | 193 | (setq tem (string-to-number (match-string 4) 16)) |
| 194 | (setq bios-interface "enabled") | 194 | (cond ((= tem 0) (setq line-status "off-line")) |
| 195 | (cond ((logand tem 16) (setq bios-interface "disabled")) | 195 | ((= tem 1) (setq line-status "on-line")) |
| 196 | ((logand tem 32) (setq bios-interface "disengaged"))) | 196 | ((= tem 2) (setq line-status "on backup"))) |
| 197 | (setq tem (string-to-number (match-string 4) 16)) | 197 | (setq tem (string-to-number (match-string 6) 16)) |
| 198 | (cond ((= tem 0) (setq line-status "off-line")) | 198 | (if (= tem 255) |
| 199 | ((= tem 1) (setq line-status "on-line")) | 199 | (setq battery-status "N/A") |
| 200 | ((= tem 2) (setq line-status "on backup"))) | 200 | (setq tem (string-to-number (match-string 5) 16)) |
| 201 | (setq tem (string-to-number (match-string 6) 16)) | 201 | (cond ((= tem 0) (setq battery-status "high" |
| 202 | (if (= tem 255) | 202 | battery-status-symbol "")) |
| 203 | (setq battery-status "N/A") | 203 | ((= tem 1) (setq battery-status "low" |
| 204 | (setq tem (string-to-number (match-string 5) 16)) | 204 | battery-status-symbol "-")) |
| 205 | (cond ((= tem 0) (setq battery-status "high" | 205 | ((= tem 2) (setq battery-status "critical" |
| 206 | battery-status-symbol "")) | 206 | battery-status-symbol "!")) |
| 207 | ((= tem 1) (setq battery-status "low" | 207 | ((= tem 3) (setq battery-status "charging" |
| 208 | battery-status-symbol "-")) | 208 | battery-status-symbol "+"))) |
| 209 | ((= tem 2) (setq battery-status "critical" | 209 | (setq load-percentage (match-string 7)) |
| 210 | battery-status-symbol "!")) | 210 | (setq seconds (string-to-number (match-string 8))) |
| 211 | ((= tem 3) (setq battery-status "charging" | 211 | (and (string-equal (match-string 9) "min") |
| 212 | battery-status-symbol "+"))) | 212 | (setq seconds (* 60 seconds))) |
| 213 | (setq load-percentage (match-string 7)) | 213 | (setq minutes (/ seconds 60) |
| 214 | (setq seconds (string-to-number (match-string 8))) | 214 | hours (/ seconds 3600)) |
| 215 | (and (string-equal (match-string 9) "min") | 215 | (setq remaining-time |
| 216 | (setq seconds (* 60 seconds))) | 216 | (format "%d:%02d" hours (- minutes (* 60 hours)))))))) |
| 217 | (setq minutes (/ seconds 60) | ||
| 218 | hours (/ seconds 3600)) | ||
| 219 | (setq remaining-time | ||
| 220 | (format "%d:%02d" hours (- minutes (* 60 hours)))))))) | ||
| 221 | (list (cons ?v (or driver-version "N/A")) | 217 | (list (cons ?v (or driver-version "N/A")) |
| 222 | (cons ?V (or bios-version "N/A")) | 218 | (cons ?V (or bios-version "N/A")) |
| 223 | (cons ?I (or bios-interface "N/A")) | 219 | (cons ?I (or bios-interface "N/A")) |
| @@ -240,12 +236,13 @@ in Linux version 2.4.20 and 2.6.0. | |||
| 240 | 236 | ||
| 241 | The following %-sequences are provided: | 237 | The following %-sequences are provided: |
| 242 | %c Current capacity (mAh) | 238 | %c Current capacity (mAh) |
| 239 | %r Current rate | ||
| 243 | %B Battery status (verbose) | 240 | %B Battery status (verbose) |
| 244 | %b Battery status, empty means high, `-' means low, | 241 | %b Battery status, empty means high, `-' means low, |
| 245 | `!' means critical, and `+' means charging | 242 | `!' means critical, and `+' means charging |
| 246 | %d Temperature (in degrees Celsius) | 243 | %d Temperature (in degrees Celsius) |
| 247 | %L AC line status (verbose) | 244 | %L AC line status (verbose) |
| 248 | %p battery load percentage | 245 | %p Battery load percentage |
| 249 | %m Remaining time in minutes | 246 | %m Remaining time in minutes |
| 250 | %h Remaining time in hours | 247 | %h Remaining time in hours |
| 251 | %t Remaining time in the form `h:min'" | 248 | %t Remaining time in the form `h:min'" |
diff --git a/lisp/bindings.el b/lisp/bindings.el index 89c2cca9045..d077fcb479f 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el | |||
| @@ -781,6 +781,11 @@ language you are using." | |||
| 781 | (define-key global-map [insert] 'overwrite-mode) | 781 | (define-key global-map [insert] 'overwrite-mode) |
| 782 | (define-key global-map [C-insert] 'kill-ring-save) | 782 | (define-key global-map [C-insert] 'kill-ring-save) |
| 783 | (define-key global-map [S-insert] 'yank) | 783 | (define-key global-map [S-insert] 'yank) |
| 784 | ;; `insertchar' is what term.c produces. Should we change term.c | ||
| 785 | ;; to produce `insert' instead? | ||
| 786 | (define-key global-map [insertchar] 'overwrite-mode) | ||
| 787 | (define-key global-map [C-insertchar] 'kill-ring-save) | ||
| 788 | (define-key global-map [S-insertchar] 'yank) | ||
| 784 | (define-key global-map [undo] 'undo) | 789 | (define-key global-map [undo] 'undo) |
| 785 | (define-key global-map [redo] 'repeat-complex-command) | 790 | (define-key global-map [redo] 'repeat-complex-command) |
| 786 | (define-key global-map [again] 'repeat-complex-command) ; Sun keyboard | 791 | (define-key global-map [again] 'repeat-complex-command) ; Sun keyboard |
| @@ -791,7 +796,6 @@ language you are using." | |||
| 791 | ;; (define-key global-map [clearline] 'function-key-error) | 796 | ;; (define-key global-map [clearline] 'function-key-error) |
| 792 | (define-key global-map [insertline] 'open-line) | 797 | (define-key global-map [insertline] 'open-line) |
| 793 | (define-key global-map [deleteline] 'kill-line) | 798 | (define-key global-map [deleteline] 'kill-line) |
| 794 | ;; (define-key global-map [insertchar] 'function-key-error) | ||
| 795 | (define-key global-map [deletechar] 'delete-char) | 799 | (define-key global-map [deletechar] 'delete-char) |
| 796 | ;; (define-key global-map [backtab] 'function-key-error) | 800 | ;; (define-key global-map [backtab] 'function-key-error) |
| 797 | ;; (define-key global-map [f1] 'function-key-error) | 801 | ;; (define-key global-map [f1] 'function-key-error) |
diff --git a/lisp/bookmark.el b/lisp/bookmark.el index bbf9b3bcce4..b89773d12c7 100644 --- a/lisp/bookmark.el +++ b/lisp/bookmark.el | |||
| @@ -309,7 +309,8 @@ through a file easier.") | |||
| 309 | (defvar bookmark-yank-point 0) | 309 | (defvar bookmark-yank-point 0) |
| 310 | (defvar bookmark-current-buffer nil) | 310 | (defvar bookmark-current-buffer nil) |
| 311 | 311 | ||
| 312 | 312 | (defvar Info-current-node) | |
| 313 | (defvar Info-suffix-list) | ||
| 313 | 314 | ||
| 314 | ;; Helper functions. | 315 | ;; Helper functions. |
| 315 | 316 | ||
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el index 3a99291fdef..7317c2a7b9a 100644 --- a/lisp/calc/calc.el +++ b/lisp/calc/calc.el | |||
| @@ -207,7 +207,7 @@ | |||
| 207 | (require 'calc-macs) | 207 | (require 'calc-macs) |
| 208 | 208 | ||
| 209 | (defgroup calc nil | 209 | (defgroup calc nil |
| 210 | "GNU Calc" | 210 | "GNU Calc." |
| 211 | :prefix "calc-" | 211 | :prefix "calc-" |
| 212 | :tag "Calc" | 212 | :tag "Calc" |
| 213 | :group 'applications) | 213 | :group 'applications) |
| @@ -3026,10 +3026,10 @@ See calc-keypad for details." | |||
| 3026 | (setq w (cdr off) | 3026 | (setq w (cdr off) |
| 3027 | off (car off)) | 3027 | off (car off)) |
| 3028 | (when (> off 0) | 3028 | (when (> off 0) |
| 3029 | (setq c (math-comp-concat (make-string off ? ) c))) | 3029 | (setq c (math-comp-concat (make-string off ?\s) c))) |
| 3030 | (or (equal calc-left-label "") | 3030 | (or (equal calc-left-label "") |
| 3031 | (setq c (math-comp-concat (if (eq a 'top-of-stack) | 3031 | (setq c (math-comp-concat (if (eq a 'top-of-stack) |
| 3032 | (make-string (length calc-left-label) ? ) | 3032 | (make-string (length calc-left-label) ?\s) |
| 3033 | calc-left-label) | 3033 | calc-left-label) |
| 3034 | c))) | 3034 | c))) |
| 3035 | (when calc-line-numbering | 3035 | (when calc-line-numbering |
| @@ -3044,7 +3044,7 @@ See calc-keypad for details." | |||
| 3044 | (require 'calc-ext) | 3044 | (require 'calc-ext) |
| 3045 | (setq c (list 'horiz c | 3045 | (setq c (list 'horiz c |
| 3046 | (make-string (max (- w (math-comp-width c) | 3046 | (make-string (max (- w (math-comp-width c) |
| 3047 | (length calc-right-label)) 0) ? ) | 3047 | (length calc-right-label)) 0) ?\s) |
| 3048 | '(break -1) | 3048 | '(break -1) |
| 3049 | calc-right-label))) | 3049 | calc-right-label))) |
| 3050 | (setq s (if (stringp c) | 3050 | (setq s (if (stringp c) |
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el index a0e9d1f90b7..851459fe574 100644 --- a/lisp/calendar/diary-lib.el +++ b/lisp/calendar/diary-lib.el | |||
| @@ -290,7 +290,7 @@ The format of the header is specified by `diary-header-line-format'." | |||
| 290 | "Selective display active - press \"s\" in calendar \ | 290 | "Selective display active - press \"s\" in calendar \ |
| 291 | before edit/copy" | 291 | before edit/copy" |
| 292 | "Diary")) | 292 | "Diary")) |
| 293 | ?\ (frame-width))) | 293 | ?\s (frame-width))) |
| 294 | "*Format of the header line displayed by `simple-diary-display'. | 294 | "*Format of the header line displayed by `simple-diary-display'. |
| 295 | Only used if `diary-header-line-flag' is non-nil." | 295 | Only used if `diary-header-line-flag' is non-nil." |
| 296 | :group 'diary | 296 | :group 'diary |
diff --git a/lisp/comint.el b/lisp/comint.el index 29208d6379c..e751926912f 100644 --- a/lisp/comint.el +++ b/lisp/comint.el | |||
| @@ -146,11 +146,11 @@ | |||
| 146 | :group 'processes) | 146 | :group 'processes) |
| 147 | 147 | ||
| 148 | (defgroup comint-completion nil | 148 | (defgroup comint-completion nil |
| 149 | "Completion facilities in comint" | 149 | "Completion facilities in comint." |
| 150 | :group 'comint) | 150 | :group 'comint) |
| 151 | 151 | ||
| 152 | (defgroup comint-source nil | 152 | (defgroup comint-source nil |
| 153 | "Source finding facilities in comint" | 153 | "Source finding facilities in comint." |
| 154 | :prefix "comint-" | 154 | :prefix "comint-" |
| 155 | :group 'comint) | 155 | :group 'comint) |
| 156 | 156 | ||
| @@ -338,8 +338,8 @@ This variable is buffer-local." | |||
| 338 | "\\(\\([Oo]ld \\|[Nn]ew \\|'s \\|login \\|\ | 338 | "\\(\\([Oo]ld \\|[Nn]ew \\|'s \\|login \\|\ |
| 339 | Kerberos \\|CVS \\|UNIX \\| SMB \\|^\\)\ | 339 | Kerberos \\|CVS \\|UNIX \\| SMB \\|^\\)\ |
| 340 | \[Pp]assword\\( (again)\\)?\\|\ | 340 | \[Pp]assword\\( (again)\\)?\\|\ |
| 341 | pass phrase\\|\\(Enter\\|Repeat\\) passphrase\\)\ | 341 | pass phrase\\|\\(Enter\\|Repeat\\|Bad\\) passphrase\\)\ |
| 342 | \\( for [^:]+\\)?:\\s *\\'" | 342 | \\(?:, try again\\)?\\(?: for [^:]+\\)?:\\s *\\'" |
| 343 | "*Regexp matching prompts for passwords in the inferior process. | 343 | "*Regexp matching prompts for passwords in the inferior process. |
| 344 | This is used by `comint-watch-for-password-prompt'." | 344 | This is used by `comint-watch-for-password-prompt'." |
| 345 | :type 'regexp | 345 | :type 'regexp |
| @@ -986,7 +986,7 @@ See also `comint-read-input-ring'." | |||
| 986 | (message "Hit space to flush") | 986 | (message "Hit space to flush") |
| 987 | (setq comint-dynamic-list-input-ring-window-conf conf) | 987 | (setq comint-dynamic-list-input-ring-window-conf conf) |
| 988 | (let ((ch (read-event))) | 988 | (let ((ch (read-event))) |
| 989 | (if (eq ch ?\ ) | 989 | (if (eq ch ?\s) |
| 990 | (set-window-configuration conf) | 990 | (set-window-configuration conf) |
| 991 | (setq unread-command-events (list ch))))))) | 991 | (setq unread-command-events (list ch))))))) |
| 992 | 992 | ||
| @@ -2930,7 +2930,7 @@ Typing SPC flushes the help buffer." | |||
| 2930 | (progn | 2930 | (progn |
| 2931 | (mouse-choose-completion first) | 2931 | (mouse-choose-completion first) |
| 2932 | (set-window-configuration comint-dynamic-list-completions-config)) | 2932 | (set-window-configuration comint-dynamic-list-completions-config)) |
| 2933 | (unless (eq first ?\ ) | 2933 | (unless (eq first ?\s) |
| 2934 | (setq unread-command-events (listify-key-sequence key))) | 2934 | (setq unread-command-events (listify-key-sequence key))) |
| 2935 | (unless (eq first ?\t) | 2935 | (unless (eq first ?\t) |
| 2936 | (set-window-configuration comint-dynamic-list-completions-config)))))) | 2936 | (set-window-configuration comint-dynamic-list-completions-config)))))) |
diff --git a/lisp/cus-face.el b/lisp/cus-face.el index 3a3631cdd7e..ac56892e8a0 100644 --- a/lisp/cus-face.el +++ b/lisp/cus-face.el | |||
| @@ -323,6 +323,10 @@ FACE's list property `theme-face' \(using `custom-push-theme')." | |||
| 323 | (spec (nth 1 entry)) | 323 | (spec (nth 1 entry)) |
| 324 | (now (nth 2 entry)) | 324 | (now (nth 2 entry)) |
| 325 | (comment (nth 3 entry))) | 325 | (comment (nth 3 entry))) |
| 326 | ;; If FACE is actually an alias, customize the face it | ||
| 327 | ;; is aliased to. | ||
| 328 | (if (get face 'face-alias) | ||
| 329 | (setq face (get face 'face-alias))) | ||
| 326 | (put face 'saved-face spec) | 330 | (put face 'saved-face spec) |
| 327 | (put face 'saved-face-comment comment) | 331 | (put face 'saved-face-comment comment) |
| 328 | (custom-push-theme 'theme-face face theme 'set spec) | 332 | (custom-push-theme 'theme-face face theme 'set spec) |
| @@ -337,6 +341,8 @@ FACE's list property `theme-face' \(using `custom-push-theme')." | |||
| 337 | ;; Old format, a plist of FACE SPEC pairs. | 341 | ;; Old format, a plist of FACE SPEC pairs. |
| 338 | (let ((face (nth 0 args)) | 342 | (let ((face (nth 0 args)) |
| 339 | (spec (nth 1 args))) | 343 | (spec (nth 1 args))) |
| 344 | (if (get face 'face-alias) | ||
| 345 | (setq face (get face 'face-alias))) | ||
| 340 | (put face 'saved-face spec) | 346 | (put face 'saved-face spec) |
| 341 | (custom-push-theme 'theme-face face theme 'set spec)) | 347 | (custom-push-theme 'theme-face face theme 'set spec)) |
| 342 | (setq args (cdr (cdr args)))))))) | 348 | (setq args (cdr (cdr args)))))))) |
diff --git a/lisp/cus-theme.el b/lisp/cus-theme.el index 41240303037..480743e70f2 100644 --- a/lisp/cus-theme.el +++ b/lisp/cus-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; cus-theme.el -- custom theme creation user interface | 1 | ;;; cus-theme.el -- custom theme creation user interface |
| 2 | ;; | 2 | ;; |
| 3 | ;; Copyright (C) 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2001, 2005 Free Software Foundation, Inc. |
| 4 | ;; | 4 | ;; |
| 5 | ;; Author: Alex Schroeder <alex@gnu.org> | 5 | ;; Author: Alex Schroeder <alex@gnu.org> |
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
| @@ -31,6 +31,18 @@ | |||
| 31 | (eval-when-compile | 31 | (eval-when-compile |
| 32 | (require 'wid-edit)) | 32 | (require 'wid-edit)) |
| 33 | 33 | ||
| 34 | (define-derived-mode custom-new-theme-mode nil "New-Theme" | ||
| 35 | "Major mode for the buffer created by `customize-create-theme'. | ||
| 36 | Do not call this mode function yourself. It is only meant for internal | ||
| 37 | use by `customize-create-theme'." | ||
| 38 | (set-keymap-parent custom-new-theme-mode-map widget-keymap)) | ||
| 39 | (put 'custom-new-theme-mode 'mode-class 'special) | ||
| 40 | |||
| 41 | (defvar custom-theme-name) | ||
| 42 | (defvar custom-theme-variables) | ||
| 43 | (defvar custom-theme-faces) | ||
| 44 | (defvar custom-theme-description) | ||
| 45 | |||
| 34 | ;;;###autoload | 46 | ;;;###autoload |
| 35 | (defun customize-create-theme () | 47 | (defun customize-create-theme () |
| 36 | "Create a custom theme." | 48 | "Create a custom theme." |
| @@ -38,15 +50,23 @@ | |||
| 38 | (if (get-buffer "*New Custom Theme*") | 50 | (if (get-buffer "*New Custom Theme*") |
| 39 | (kill-buffer "*New Custom Theme*")) | 51 | (kill-buffer "*New Custom Theme*")) |
| 40 | (switch-to-buffer "*New Custom Theme*") | 52 | (switch-to-buffer "*New Custom Theme*") |
| 41 | (kill-all-local-variables) | 53 | (let ((inhibit-read-only t)) |
| 54 | (erase-buffer)) | ||
| 55 | (custom-new-theme-mode) | ||
| 42 | (make-local-variable 'custom-theme-name) | 56 | (make-local-variable 'custom-theme-name) |
| 43 | (make-local-variable 'custom-theme-variables) | 57 | (make-local-variable 'custom-theme-variables) |
| 44 | (make-local-variable 'custom-theme-faces) | 58 | (make-local-variable 'custom-theme-faces) |
| 45 | (make-local-variable 'custom-theme-description) | 59 | (make-local-variable 'custom-theme-description) |
| 46 | (let ((inhibit-read-only t)) | ||
| 47 | (erase-buffer)) | ||
| 48 | (widget-insert "This buffer helps you write a custom theme elisp file. | 60 | (widget-insert "This buffer helps you write a custom theme elisp file. |
| 49 | This will help you share your customizations with other people.\n\n") | 61 | This will help you share your customizations with other people. |
| 62 | |||
| 63 | Just insert the names of all variables and faces you want the theme | ||
| 64 | to include. Then clicking mouse-2 or pressing RET on the [Done] button | ||
| 65 | will write a theme file that sets all these variables and faces to their | ||
| 66 | current global values. It will write that file into the directory given | ||
| 67 | by the variable `custom-theme-directory', usually \"~/.emacs.d/\". | ||
| 68 | |||
| 69 | To undo all your edits to the buffer, use the [Reset] button.\n\n") | ||
| 50 | (widget-insert "Theme name: ") | 70 | (widget-insert "Theme name: ") |
| 51 | (setq custom-theme-name | 71 | (setq custom-theme-name |
| 52 | (widget-create 'editable-field | 72 | (widget-create 'editable-field |
| @@ -81,7 +101,6 @@ This will help you share your customizations with other people.\n\n") | |||
| 81 | (bury-buffer)) | 101 | (bury-buffer)) |
| 82 | "Bury Buffer") | 102 | "Bury Buffer") |
| 83 | (widget-insert "\n") | 103 | (widget-insert "\n") |
| 84 | (use-local-map widget-keymap) | ||
| 85 | (widget-setup)) | 104 | (widget-setup)) |
| 86 | 105 | ||
| 87 | (defun custom-theme-write (&rest ignore) | 106 | (defun custom-theme-write (&rest ignore) |
| @@ -90,6 +109,10 @@ This will help you share your customizations with other people.\n\n") | |||
| 90 | (variables (widget-value custom-theme-variables)) | 109 | (variables (widget-value custom-theme-variables)) |
| 91 | (faces (widget-value custom-theme-faces))) | 110 | (faces (widget-value custom-theme-faces))) |
| 92 | (switch-to-buffer (concat name "-theme.el")) | 111 | (switch-to-buffer (concat name "-theme.el")) |
| 112 | (emacs-lisp-mode) | ||
| 113 | (unless (file-exists-p custom-theme-directory) | ||
| 114 | (make-directory (file-name-as-directory custom-theme-directory) t)) | ||
| 115 | (setq default-directory custom-theme-directory) | ||
| 93 | (setq buffer-file-name (expand-file-name (concat name "-theme.el"))) | 116 | (setq buffer-file-name (expand-file-name (concat name "-theme.el"))) |
| 94 | (let ((inhibit-read-only t)) | 117 | (let ((inhibit-read-only t)) |
| 95 | (erase-buffer)) | 118 | (erase-buffer)) |
| @@ -100,7 +123,8 @@ This will help you share your customizations with other people.\n\n") | |||
| 100 | (insert ")\n") | 123 | (insert ")\n") |
| 101 | (custom-theme-write-variables name variables) | 124 | (custom-theme-write-variables name variables) |
| 102 | (custom-theme-write-faces name faces) | 125 | (custom-theme-write-faces name faces) |
| 103 | (insert "\n(provide-theme '" name ")\n"))) | 126 | (insert "\n(provide-theme '" name ")\n") |
| 127 | (save-buffer))) | ||
| 104 | 128 | ||
| 105 | (defun custom-theme-write-variables (theme vars) | 129 | (defun custom-theme-write-variables (theme vars) |
| 106 | "Write a `custom-theme-set-variables' command for THEME. | 130 | "Write a `custom-theme-set-variables' command for THEME. |
diff --git a/lisp/custom.el b/lisp/custom.el index f3cbd1404e9..cb4e76dd65a 100644 --- a/lisp/custom.el +++ b/lisp/custom.el | |||
| @@ -121,7 +121,7 @@ compatibility, DEFAULT is also stored in SYMBOL's property | |||
| 121 | `standard-value'. At the same time, SYMBOL's property `force-value' is | 121 | `standard-value'. At the same time, SYMBOL's property `force-value' is |
| 122 | set to nil, as the value is no longer rogue." | 122 | set to nil, as the value is no longer rogue." |
| 123 | ;; Remember the standard setting. The value should be in the standard | 123 | ;; Remember the standard setting. The value should be in the standard |
| 124 | ;; theme, not in this property. However, his would require changeing | 124 | ;; theme, not in this property. However, this would require changing |
| 125 | ;; the C source of defvar and others as well... | 125 | ;; the C source of defvar and others as well... |
| 126 | (put symbol 'standard-value (list default)) | 126 | (put symbol 'standard-value (list default)) |
| 127 | ;; Maybe this option was rogue in an earlier version. It no longer is. | 127 | ;; Maybe this option was rogue in an earlier version. It no longer is. |
| @@ -486,8 +486,10 @@ both appear in constructs like `custom-set-variables'." | |||
| 486 | (defun custom-add-option (symbol option) | 486 | (defun custom-add-option (symbol option) |
| 487 | "To the variable SYMBOL add OPTION. | 487 | "To the variable SYMBOL add OPTION. |
| 488 | 488 | ||
| 489 | If SYMBOL is a hook variable, OPTION should be a hook member. | 489 | If SYMBOL's custom type is a hook, OPTION should be a hook member. |
| 490 | For other types variables, the effect is undefined." | 490 | If SYMBOL's custom type is an alist, OPTION specifies a symbol |
| 491 | to offer to the user as a possible key in the alist. | ||
| 492 | For other custom types, this has no effect." | ||
| 491 | (let ((options (get symbol 'custom-options))) | 493 | (let ((options (get symbol 'custom-options))) |
| 492 | (unless (member option options) | 494 | (unless (member option options) |
| 493 | (put symbol 'custom-options (cons option options))))) | 495 | (put symbol 'custom-options (cons option options))))) |
| @@ -560,7 +562,7 @@ LOAD should be either a library file name, or a feature name." | |||
| 560 | (t (condition-case nil (load load) (error nil)))))))) | 562 | (t (condition-case nil (load load) (error nil)))))))) |
| 561 | 563 | ||
| 562 | (defvar custom-known-themes '(user standard) | 564 | (defvar custom-known-themes '(user standard) |
| 563 | "Themes that have been define with `deftheme'. | 565 | "Themes that have been defined with `deftheme'. |
| 564 | The default value is the list (user standard). The theme `standard' | 566 | The default value is the list (user standard). The theme `standard' |
| 565 | contains the Emacs standard settings from the original Lisp files. The | 567 | contains the Emacs standard settings from the original Lisp files. The |
| 566 | theme `user' contains all the the settings the user customized and saved. | 568 | theme `user' contains all the the settings the user customized and saved. |
| @@ -926,6 +928,19 @@ Return non-nil iff the `customized-value' property actually changed." | |||
| 926 | (defvar custom-loaded-themes nil | 928 | (defvar custom-loaded-themes nil |
| 927 | "Themes in the order they are loaded.") | 929 | "Themes in the order they are loaded.") |
| 928 | 930 | ||
| 931 | (defcustom custom-theme-directory | ||
| 932 | (if (eq system-type 'ms-dos) | ||
| 933 | ;; MS-DOS cannot have initial dot. | ||
| 934 | "~/_emacs.d/" | ||
| 935 | "~/.emacs.d/") | ||
| 936 | "Directory in which Custom theme files should be written. | ||
| 937 | `require-theme' searches this directory in addition to load-path. | ||
| 938 | The command `customize-create-theme' writes the files it produces | ||
| 939 | into this directory." | ||
| 940 | :type 'string | ||
| 941 | :group 'customize | ||
| 942 | :version "22.1") | ||
| 943 | |||
| 929 | (defun custom-theme-loaded-p (theme) | 944 | (defun custom-theme-loaded-p (theme) |
| 930 | "Return non-nil when THEME has been loaded." | 945 | "Return non-nil when THEME has been loaded." |
| 931 | (memq theme custom-loaded-themes)) | 946 | (memq theme custom-loaded-themes)) |
| @@ -949,8 +964,11 @@ Usually the `theme-feature' property contains a symbol created | |||
| 949 | by `custom-make-theme-feature'." | 964 | by `custom-make-theme-feature'." |
| 950 | ;; Note we do no check for validity of the theme here. | 965 | ;; Note we do no check for validity of the theme here. |
| 951 | ;; This allows to pull in themes by a file-name convention | 966 | ;; This allows to pull in themes by a file-name convention |
| 952 | (require (or (get theme 'theme-feature) | 967 | (let ((load-path (if (file-directory-p custom-theme-directory) |
| 953 | (custom-make-theme-feature theme)))) | 968 | (cons custom-theme-directory load-path) |
| 969 | load-path))) | ||
| 970 | (require (or (get theme 'theme-feature) | ||
| 971 | (custom-make-theme-feature theme))))) | ||
| 954 | 972 | ||
| 955 | (defun custom-remove-theme (spec-alist theme) | 973 | (defun custom-remove-theme (spec-alist theme) |
| 956 | "Delete all elements from SPEC-ALIST whose car is THEME." | 974 | "Delete all elements from SPEC-ALIST whose car is THEME." |
diff --git a/lisp/dabbrev.el b/lisp/dabbrev.el index 5dea9892115..cbb2526c852 100644 --- a/lisp/dabbrev.el +++ b/lisp/dabbrev.el | |||
| @@ -100,7 +100,7 @@ | |||
| 100 | ;;---------------------------------------------------------------- | 100 | ;;---------------------------------------------------------------- |
| 101 | 101 | ||
| 102 | (defgroup dabbrev nil | 102 | (defgroup dabbrev nil |
| 103 | "Dynamic Abbreviations" | 103 | "Dynamic Abbreviations." |
| 104 | :tag "Dynamic Abbreviations" | 104 | :tag "Dynamic Abbreviations" |
| 105 | :group 'abbrev | 105 | :group 'abbrev |
| 106 | :group 'convenience) | 106 | :group 'convenience) |
| @@ -509,7 +509,7 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion]." | |||
| 509 | (setq direction dabbrev--last-direction)) | 509 | (setq direction dabbrev--last-direction)) |
| 510 | ;; If the user inserts a space after expanding | 510 | ;; If the user inserts a space after expanding |
| 511 | ;; and then asks to expand again, always fetch the next word. | 511 | ;; and then asks to expand again, always fetch the next word. |
| 512 | (if (and (eq (preceding-char) ?\ ) | 512 | (if (and (eq (preceding-char) ?\s) |
| 513 | (markerp dabbrev--last-abbrev-location) | 513 | (markerp dabbrev--last-abbrev-location) |
| 514 | (marker-position dabbrev--last-abbrev-location) | 514 | (marker-position dabbrev--last-abbrev-location) |
| 515 | (= (point) (1+ dabbrev--last-abbrev-location))) | 515 | (= (point) (1+ dabbrev--last-abbrev-location))) |
diff --git a/lisp/delim-col.el b/lisp/delim-col.el index b5be7ff4ebc..04cd90961a1 100644 --- a/lisp/delim-col.el +++ b/lisp/delim-col.el | |||
| @@ -125,7 +125,7 @@ | |||
| 125 | ;; User Options: | 125 | ;; User Options: |
| 126 | 126 | ||
| 127 | (defgroup columns nil | 127 | (defgroup columns nil |
| 128 | "Prettify columns" | 128 | "Prettify columns." |
| 129 | :link '(emacs-library-link :tag "Source Lisp File" "delim-col.el") | 129 | :link '(emacs-library-link :tag "Source Lisp File" "delim-col.el") |
| 130 | :prefix "delimit-columns-" | 130 | :prefix "delimit-columns-" |
| 131 | :group 'internal) | 131 | :group 'internal) |
| @@ -424,13 +424,13 @@ START and END delimits the corners of text rectangle." | |||
| 424 | (and delimit-columns-format | 424 | (and delimit-columns-format |
| 425 | (make-string (- (aref delimit-columns-max ncol) | 425 | (make-string (- (aref delimit-columns-max ncol) |
| 426 | (- (current-column) origin)) | 426 | (- (current-column) origin)) |
| 427 | ?\ ))) | 427 | ?\s))) |
| 428 | (setq ncol (1+ ncol))) | 428 | (setq ncol (1+ ncol))) |
| 429 | ;; Prepare last column spaces | 429 | ;; Prepare last column spaces |
| 430 | (let ((spaces (and delimit-columns-format | 430 | (let ((spaces (and delimit-columns-format |
| 431 | (make-string (- (aref delimit-columns-max ncol) | 431 | (make-string (- (aref delimit-columns-max ncol) |
| 432 | (- (current-column) origin)) | 432 | (- (current-column) origin)) |
| 433 | ?\ )))) | 433 | ?\s)))) |
| 434 | ;; Adjust extra columns, if needed | 434 | ;; Adjust extra columns, if needed |
| 435 | (and delimit-columns-extra | 435 | (and delimit-columns-extra |
| 436 | (while (and (< (setq ncol (1+ ncol)) len) | 436 | (while (and (< (setq ncol (1+ ncol)) len) |
| @@ -438,7 +438,7 @@ START and END delimits the corners of text rectangle." | |||
| 438 | (delimit-columns-format spaces) | 438 | (delimit-columns-format spaces) |
| 439 | (setq spaces (and delimit-columns-format | 439 | (setq spaces (and delimit-columns-format |
| 440 | (make-string (aref delimit-columns-max ncol) | 440 | (make-string (aref delimit-columns-max ncol) |
| 441 | ?\ ))))) | 441 | ?\s))))) |
| 442 | ;; insert last formating | 442 | ;; insert last formating |
| 443 | (cond ((null delimit-columns-format) | 443 | (cond ((null delimit-columns-format) |
| 444 | (insert delimit-columns-after delimit-columns-str-after)) | 444 | (insert delimit-columns-after delimit-columns-str-after)) |
diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el index 1cb5111dcfb..b9c9e338388 100644 --- a/lisp/diff-mode.el +++ b/lisp/diff-mode.el | |||
| @@ -57,7 +57,7 @@ | |||
| 57 | 57 | ||
| 58 | 58 | ||
| 59 | (defgroup diff-mode () | 59 | (defgroup diff-mode () |
| 60 | "Major mode for viewing/editing diffs" | 60 | "Major mode for viewing/editing diffs." |
| 61 | :version "21.1" | 61 | :version "21.1" |
| 62 | :group 'tools | 62 | :group 'tools |
| 63 | :group 'diff) | 63 | :group 'diff) |
| @@ -640,7 +640,7 @@ else cover the whole bufer." | |||
| 640 | (while (progn (setq last-pt (point)) | 640 | (while (progn (setq last-pt (point)) |
| 641 | (= (forward-line -1) 0)) | 641 | (= (forward-line -1) 0)) |
| 642 | (case (char-after) | 642 | (case (char-after) |
| 643 | (? (insert " ") (setq modif nil) (backward-char 1)) | 643 | (?\s (insert " ") (setq modif nil) (backward-char 1)) |
| 644 | (?+ (delete-region (point) last-pt) (setq modif t)) | 644 | (?+ (delete-region (point) last-pt) (setq modif t)) |
| 645 | (?- (if (not modif) | 645 | (?- (if (not modif) |
| 646 | (progn (forward-char 1) | 646 | (progn (forward-char 1) |
| @@ -665,7 +665,7 @@ else cover the whole bufer." | |||
| 665 | (let ((modif nil) (delete nil)) | 665 | (let ((modif nil) (delete nil)) |
| 666 | (while (not (eobp)) | 666 | (while (not (eobp)) |
| 667 | (case (char-after) | 667 | (case (char-after) |
| 668 | (? (insert " ") (setq modif nil) (backward-char 1)) | 668 | (?\s (insert " ") (setq modif nil) (backward-char 1)) |
| 669 | (?- (setq delete t) (setq modif t)) | 669 | (?- (setq delete t) (setq modif t)) |
| 670 | (?+ (if (not modif) | 670 | (?+ (if (not modif) |
| 671 | (progn (forward-char 1) | 671 | (progn (forward-char 1) |
| @@ -723,7 +723,7 @@ else cover the whole bufer." | |||
| 723 | (while (< (point) pt2) | 723 | (while (< (point) pt2) |
| 724 | (case (char-after) | 724 | (case (char-after) |
| 725 | ((?! ?-) (delete-char 2) (insert "-") (forward-line 1)) | 725 | ((?! ?-) (delete-char 2) (insert "-") (forward-line 1)) |
| 726 | (?\ ;merge with the other half of the chunk | 726 | (?\s ;merge with the other half of the chunk |
| 727 | (let* ((endline2 | 727 | (let* ((endline2 |
| 728 | (save-excursion | 728 | (save-excursion |
| 729 | (goto-char pt2) (forward-line 1) (point))) | 729 | (goto-char pt2) (forward-line 1) (point))) |
| @@ -733,7 +733,7 @@ else cover the whole bufer." | |||
| 733 | (insert "+" | 733 | (insert "+" |
| 734 | (prog1 (buffer-substring (+ pt2 2) endline2) | 734 | (prog1 (buffer-substring (+ pt2 2) endline2) |
| 735 | (delete-region pt2 endline2)))) | 735 | (delete-region pt2 endline2)))) |
| 736 | (?\ ;FIXME: check consistency | 736 | (?\s ;FIXME: check consistency |
| 737 | (delete-region pt2 endline2) | 737 | (delete-region pt2 endline2) |
| 738 | (delete-char 1) | 738 | (delete-char 1) |
| 739 | (forward-line 1)) | 739 | (forward-line 1)) |
| @@ -814,7 +814,7 @@ else cover the whole bufer." | |||
| 814 | (t (when (and first last (< first last)) | 814 | (t (when (and first last (< first last)) |
| 815 | (insert (delete-and-extract-region first last))) | 815 | (insert (delete-and-extract-region first last))) |
| 816 | (setq first nil last nil) | 816 | (setq first nil last nil) |
| 817 | (equal ?\ c))) | 817 | (equal ?\s c))) |
| 818 | (forward-line 1)))))))))) | 818 | (forward-line 1)))))))))) |
| 819 | 819 | ||
| 820 | (defun diff-fixup-modifs (start end) | 820 | (defun diff-fixup-modifs (start end) |
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 963866b3554..b517dffe9f7 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el | |||
| @@ -839,6 +839,9 @@ Otherwise, the rule is a compression rule, and compression is done with gzip.") | |||
| 839 | (sit-for 1) | 839 | (sit-for 1) |
| 840 | (apply 'message qprompt qs-args) | 840 | (apply 'message qprompt qs-args) |
| 841 | (setq char (set qs-var (read-char)))) | 841 | (setq char (set qs-var (read-char)))) |
| 842 | ;; Display the question with the answer. | ||
| 843 | (message (concat (apply 'format qprompt qs-args) | ||
| 844 | (char-to-string char))) | ||
| 842 | (memq (cdr elt) '(t y yes))))))) | 845 | (memq (cdr elt) '(t y yes))))))) |
| 843 | 846 | ||
| 844 | ;;;###autoload | 847 | ;;;###autoload |
diff --git a/lisp/dired.el b/lisp/dired.el index 61aca72db5b..a13a9e54ebe 100644 --- a/lisp/dired.el +++ b/lisp/dired.el | |||
| @@ -437,6 +437,8 @@ Subexpression 2 must end right before the \\n or \\r.") | |||
| 437 | nil (0 dired-ignored-face)))) | 437 | nil (0 dired-ignored-face)))) |
| 438 | ) | 438 | ) |
| 439 | "Additional expressions to highlight in Dired mode.") | 439 | "Additional expressions to highlight in Dired mode.") |
| 440 | |||
| 441 | (defvar dnd-protocol-alist) | ||
| 440 | 442 | ||
| 441 | ;;; Macros must be defined before they are used, for the byte compiler. | 443 | ;;; Macros must be defined before they are used, for the byte compiler. |
| 442 | 444 | ||
diff --git a/lisp/ediff-diff.el b/lisp/ediff-diff.el index ec496301405..4e495d6d32b 100644 --- a/lisp/ediff-diff.el +++ b/lisp/ediff-diff.el | |||
| @@ -43,7 +43,7 @@ | |||
| 43 | (require 'ediff-init) | 43 | (require 'ediff-init) |
| 44 | 44 | ||
| 45 | (defgroup ediff-diff nil | 45 | (defgroup ediff-diff nil |
| 46 | "Diff related utilities" | 46 | "Diff related utilities." |
| 47 | :prefix "ediff-" | 47 | :prefix "ediff-" |
| 48 | :group 'ediff) | 48 | :group 'ediff) |
| 49 | 49 | ||
diff --git a/lisp/ediff-init.el b/lisp/ediff-init.el index 3933fd760d2..4863c255830 100644 --- a/lisp/ediff-init.el +++ b/lisp/ediff-init.el | |||
| @@ -393,17 +393,17 @@ It needs to be killed when we quit the session.") | |||
| 393 | this-command))) | 393 | this-command))) |
| 394 | 394 | ||
| 395 | (defgroup ediff-highlighting nil | 395 | (defgroup ediff-highlighting nil |
| 396 | "Hilighting of difference regions in Ediff" | 396 | "Hilighting of difference regions in Ediff." |
| 397 | :prefix "ediff-" | 397 | :prefix "ediff-" |
| 398 | :group 'ediff) | 398 | :group 'ediff) |
| 399 | 399 | ||
| 400 | (defgroup ediff-merge nil | 400 | (defgroup ediff-merge nil |
| 401 | "Merging utilities" | 401 | "Merging utilities." |
| 402 | :prefix "ediff-" | 402 | :prefix "ediff-" |
| 403 | :group 'ediff) | 403 | :group 'ediff) |
| 404 | 404 | ||
| 405 | (defgroup ediff-hook nil | 405 | (defgroup ediff-hook nil |
| 406 | "Hooks run by Ediff" | 406 | "Hooks run by Ediff." |
| 407 | :prefix "ediff-" | 407 | :prefix "ediff-" |
| 408 | :group 'ediff) | 408 | :group 'ediff) |
| 409 | 409 | ||
| @@ -1840,7 +1840,7 @@ Unless optional argument INPLACE is non-nil, return a new string." | |||
| 1840 | "Merge dir versions via ancestors") | 1840 | "Merge dir versions via ancestors") |
| 1841 | (t | 1841 | (t |
| 1842 | (capitalize | 1842 | (capitalize |
| 1843 | (subst-char-in-string ?- ?\ (substring (symbol-name jobname) 6)))) | 1843 | (subst-char-in-string ?- ?\s (substring (symbol-name jobname) 6)))) |
| 1844 | )) | 1844 | )) |
| 1845 | 1845 | ||
| 1846 | 1846 | ||
diff --git a/lisp/ediff-mult.el b/lisp/ediff-mult.el index d3710258d24..3616bb267ce 100644 --- a/lisp/ediff-mult.el +++ b/lisp/ediff-mult.el | |||
| @@ -106,7 +106,7 @@ | |||
| 106 | (provide 'ediff-mult) | 106 | (provide 'ediff-mult) |
| 107 | 107 | ||
| 108 | (defgroup ediff-mult nil | 108 | (defgroup ediff-mult nil |
| 109 | "Multi-file and multi-buffer processing in Ediff" | 109 | "Multi-file and multi-buffer processing in Ediff." |
| 110 | :prefix "ediff-" | 110 | :prefix "ediff-" |
| 111 | :group 'ediff) | 111 | :group 'ediff) |
| 112 | 112 | ||
| @@ -857,7 +857,7 @@ behavior." | |||
| 857 | (session-info (ediff-overlay-get overl 'ediff-meta-info)) | 857 | (session-info (ediff-overlay-get overl 'ediff-meta-info)) |
| 858 | (activity-marker (ediff-get-session-activity-marker session-info)) | 858 | (activity-marker (ediff-get-session-activity-marker session-info)) |
| 859 | buffer-read-only) | 859 | buffer-read-only) |
| 860 | (or new-marker activity-marker (setq new-marker ?\ )) | 860 | (or new-marker activity-marker (setq new-marker ?\s)) |
| 861 | (goto-char (ediff-overlay-start overl)) | 861 | (goto-char (ediff-overlay-start overl)) |
| 862 | (if (eq (char-after (point)) new-marker) | 862 | (if (eq (char-after (point)) new-marker) |
| 863 | () ; if marker shown in buffer is the same as new-marker, do nothing | 863 | () ; if marker shown in buffer is the same as new-marker, do nothing |
| @@ -872,7 +872,7 @@ behavior." | |||
| 872 | (session-info (ediff-overlay-get overl 'ediff-meta-info)) | 872 | (session-info (ediff-overlay-get overl 'ediff-meta-info)) |
| 873 | (status (ediff-get-session-status session-info)) | 873 | (status (ediff-get-session-status session-info)) |
| 874 | buffer-read-only) | 874 | buffer-read-only) |
| 875 | (setq new-status (or new-status status ?\ )) | 875 | (setq new-status (or new-status status ?\s)) |
| 876 | (goto-char (ediff-overlay-start overl)) | 876 | (goto-char (ediff-overlay-start overl)) |
| 877 | (forward-char 1) ; status is the second char in session record | 877 | (forward-char 1) ; status is the second char in session record |
| 878 | (if (eq (char-after (point)) new-status) | 878 | (if (eq (char-after (point)) new-status) |
diff --git a/lisp/ediff-ptch.el b/lisp/ediff-ptch.el index 342f75fd1e0..4040985d1c8 100644 --- a/lisp/ediff-ptch.el +++ b/lisp/ediff-ptch.el | |||
| @@ -28,7 +28,7 @@ | |||
| 28 | (provide 'ediff-ptch) | 28 | (provide 'ediff-ptch) |
| 29 | 29 | ||
| 30 | (defgroup ediff-ptch nil | 30 | (defgroup ediff-ptch nil |
| 31 | "Ediff patch support" | 31 | "Ediff patch support." |
| 32 | :tag "Patch" | 32 | :tag "Patch" |
| 33 | :prefix "ediff-" | 33 | :prefix "ediff-" |
| 34 | :group 'ediff) | 34 | :group 'ediff) |
diff --git a/lisp/ediff-wind.el b/lisp/ediff-wind.el index dde306a3857..c43307938fc 100644 --- a/lisp/ediff-wind.el +++ b/lisp/ediff-wind.el | |||
| @@ -66,7 +66,7 @@ | |||
| 66 | (defun ediff-compute-toolbar-width () 0)) | 66 | (defun ediff-compute-toolbar-width () 0)) |
| 67 | 67 | ||
| 68 | (defgroup ediff-window nil | 68 | (defgroup ediff-window nil |
| 69 | "Ediff window manipulation" | 69 | "Ediff window manipulation." |
| 70 | :prefix "ediff-" | 70 | :prefix "ediff-" |
| 71 | :group 'ediff | 71 | :group 'ediff |
| 72 | :group 'frames) | 72 | :group 'frames) |
diff --git a/lisp/ediff.el b/lisp/ediff.el index 00a7e2f512a..3a40aafda55 100644 --- a/lisp/ediff.el +++ b/lisp/ediff.el | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | ;; Keywords: comparing, merging, patching, tools, unix | 7 | ;; Keywords: comparing, merging, patching, tools, unix |
| 8 | 8 | ||
| 9 | (defconst ediff-version "2.80" "The current version of Ediff") | 9 | (defconst ediff-version "2.80" "The current version of Ediff") |
| 10 | (defconst ediff-date "June 3, 2005" "Date of last update") | 10 | (defconst ediff-date "June 3, 2005" "Date of last update") |
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | ;; This file is part of GNU Emacs. | 13 | ;; This file is part of GNU Emacs. |
| @@ -135,7 +135,7 @@ | |||
| 135 | (require 'ediff-mult) ; required because of the registry stuff | 135 | (require 'ediff-mult) ; required because of the registry stuff |
| 136 | 136 | ||
| 137 | (defgroup ediff nil | 137 | (defgroup ediff nil |
| 138 | "A comprehensive visual interface to diff & patch" | 138 | "A comprehensive visual interface to diff & patch." |
| 139 | :tag "Ediff" | 139 | :tag "Ediff" |
| 140 | :group 'tools) | 140 | :group 'tools) |
| 141 | 141 | ||
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index 68d1287d98c..7dbf61c5bf3 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;; autoload.el --- maintain autoloads in loaddefs.el | 1 | ;; autoload.el --- maintain autoloads in loaddefs.el |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1991,92,93,94,95,96,97, 2001,02,03,04 | 3 | ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2001, 2002, 2003, |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; 2004, 2005 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Roland McGrath <roland@gnu.org> | 6 | ;; Author: Roland McGrath <roland@gnu.org> |
| 7 | ;; Keywords: maint | 7 | ;; Keywords: maint |
| @@ -123,7 +123,17 @@ or macro definition or a defcustom)." | |||
| 123 | ) | 123 | ) |
| 124 | `(progn | 124 | `(progn |
| 125 | (defvar ,varname ,init ,doc) | 125 | (defvar ,varname ,init ,doc) |
| 126 | (custom-autoload ',varname ,file)))) | 126 | (custom-autoload ',varname ,file) |
| 127 | ;; The use of :require in a defcustom can be annoying, especially | ||
| 128 | ;; when defcustoms are moved from one file to another between | ||
| 129 | ;; releases because the :require arg gets placed in the user's | ||
| 130 | ;; .emacs. In order for autoloaded minor modes not to need the | ||
| 131 | ;; use of :require, we arrange to store their :setter. | ||
| 132 | ,(let ((setter (condition-case nil | ||
| 133 | (cadr (memq :set form)) | ||
| 134 | (error nil)))) | ||
| 135 | (if (equal setter ''custom-set-minor-mode) | ||
| 136 | `(put ',varname 'custom-set 'custom-set-minor-mode)))))) | ||
| 127 | 137 | ||
| 128 | ;; nil here indicates that this is not a special autoload form. | 138 | ;; nil here indicates that this is not a special autoload form. |
| 129 | (t nil)))) | 139 | (t nil)))) |
| @@ -566,5 +576,5 @@ Calls `update-directory-autoloads' on the command line arguments." | |||
| 566 | 576 | ||
| 567 | (provide 'autoload) | 577 | (provide 'autoload) |
| 568 | 578 | ||
| 569 | ;;; arch-tag: 00244766-98f4-4767-bf42-8a22103441c6 | 579 | ;; arch-tag: 00244766-98f4-4767-bf42-8a22103441c6 |
| 570 | ;;; autoload.el ends here | 580 | ;;; autoload.el ends here |
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 3948dae610b..cc472a00a30 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el | |||
| @@ -193,7 +193,7 @@ | |||
| 193 | 193 | ||
| 194 | 194 | ||
| 195 | (defgroup bytecomp nil | 195 | (defgroup bytecomp nil |
| 196 | "Emacs Lisp byte-compiler" | 196 | "Emacs Lisp byte-compiler." |
| 197 | :group 'lisp) | 197 | :group 'lisp) |
| 198 | 198 | ||
| 199 | (defcustom emacs-lisp-file-regexp (if (eq system-type 'vax-vms) | 199 | (defcustom emacs-lisp-file-regexp (if (eq system-type 'vax-vms) |
| @@ -1248,7 +1248,10 @@ extra args." | |||
| 1248 | (defun byte-compile-nogroup-warn (form) | 1248 | (defun byte-compile-nogroup-warn (form) |
| 1249 | (let ((keyword-args (cdr (cdr (cdr (cdr form))))) | 1249 | (let ((keyword-args (cdr (cdr (cdr (cdr form))))) |
| 1250 | (name (cadr form))) | 1250 | (name (cadr form))) |
| 1251 | (or (plist-get keyword-args :group) | 1251 | (or (not (eq (car-safe name) 'quote)) |
| 1252 | (and (eq (car form) 'custom-declare-group) | ||
| 1253 | (equal name ''emacs)) | ||
| 1254 | (plist-get keyword-args :group) | ||
| 1252 | (not (and (consp name) (eq (car name) 'quote))) | 1255 | (not (and (consp name) (eq (car name) 'quote))) |
| 1253 | (byte-compile-warn | 1256 | (byte-compile-warn |
| 1254 | "%s for `%s' fails to specify containing group" | 1257 | "%s for `%s' fails to specify containing group" |
diff --git a/lisp/emacs-lisp/cl-indent.el b/lisp/emacs-lisp/cl-indent.el index a203155673c..22c2460c16f 100644 --- a/lisp/emacs-lisp/cl-indent.el +++ b/lisp/emacs-lisp/cl-indent.el | |||
| @@ -49,13 +49,13 @@ | |||
| 49 | ;;; Code: | 49 | ;;; Code: |
| 50 | 50 | ||
| 51 | (defgroup lisp-indent nil | 51 | (defgroup lisp-indent nil |
| 52 | "Indentation in Lisp" | 52 | "Indentation in Lisp." |
| 53 | :group 'lisp) | 53 | :group 'lisp) |
| 54 | 54 | ||
| 55 | 55 | ||
| 56 | (defcustom lisp-indent-maximum-backtracking 3 | 56 | (defcustom lisp-indent-maximum-backtracking 3 |
| 57 | "*Maximum depth to backtrack out from a sublist for structured indentation. | 57 | "*Maximum depth to backtrack out from a sublist for structured indentation. |
| 58 | If this variable is 0, no backtracking will occur and forms such as flet | 58 | If this variable is 0, no backtracking will occur and forms such as `flet' |
| 59 | may not be correctly indented." | 59 | may not be correctly indented." |
| 60 | :type 'integer | 60 | :type 'integer |
| 61 | :group 'lisp-indent) | 61 | :group 'lisp-indent) |
diff --git a/lisp/emacs-lisp/crm.el b/lisp/emacs-lisp/crm.el index 572c658d0fc..d5d385c2c7b 100644 --- a/lisp/emacs-lisp/crm.el +++ b/lisp/emacs-lisp/crm.el | |||
| @@ -197,9 +197,10 @@ If an element is found, bind: | |||
| 197 | respectively, | 197 | respectively, |
| 198 | 198 | ||
| 199 | and return t." | 199 | and return t." |
| 200 | (let* ((minibuffer-string (buffer-string)) | 200 | (let* ((prompt-end (minibuffer-prompt-end)) |
| 201 | (end-index (or (string-match "," minibuffer-string (1- (point))) | 201 | (minibuffer-string (buffer-substring prompt-end (point-max))) |
| 202 | (1- (point-max)))) | 202 | (end-index (or (string-match "," minibuffer-string (- (point) prompt-end)) |
| 203 | (- (point-max) prompt-end))) | ||
| 203 | (target-string (substring minibuffer-string 0 end-index)) | 204 | (target-string (substring minibuffer-string 0 end-index)) |
| 204 | (index (or (string-match | 205 | (index (or (string-match |
| 205 | (concat crm-separator "\\([^" crm-separator "]*\\)$") | 206 | (concat crm-separator "\\([^" crm-separator "]*\\)$") |
| @@ -213,9 +214,10 @@ and return t." | |||
| 213 | (progn | 214 | (progn |
| 214 | ;; | 215 | ;; |
| 215 | (setq crm-beginning-of-element (match-beginning 1)) | 216 | (setq crm-beginning-of-element (match-beginning 1)) |
| 216 | (setq crm-end-of-element end-index) | 217 | (setq crm-end-of-element (+ end-index prompt-end)) |
| 217 | ;; string to the left of the current element | 218 | ;; string to the left of the current element |
| 218 | (setq crm-left-of-element (substring target-string 0 (match-beginning 1))) | 219 | (setq crm-left-of-element |
| 220 | (substring target-string 0 (match-beginning 1))) | ||
| 219 | ;; the current element | 221 | ;; the current element |
| 220 | (setq crm-current-element (match-string 1 target-string)) | 222 | (setq crm-current-element (match-string 1 target-string)) |
| 221 | ;; string to the right of the current element | 223 | ;; string to the right of the current element |
| @@ -287,7 +289,7 @@ The meanings of the return values are: | |||
| 287 | 289 | ||
| 288 | (if completedp | 290 | (if completedp |
| 289 | (progn | 291 | (progn |
| 290 | (erase-buffer) | 292 | (delete-region (minibuffer-prompt-end) (point-max)) |
| 291 | (insert crm-left-of-element completion) | 293 | (insert crm-left-of-element completion) |
| 292 | ;; (if crm-complete-up-to-point | 294 | ;; (if crm-complete-up-to-point |
| 293 | ;; (insert crm-separator)) | 295 | ;; (insert crm-separator)) |
| @@ -480,7 +482,7 @@ This function is modeled after `minibuffer_complete_and_exit' in src/minibuf.c" | |||
| 480 | (setq result | 482 | (setq result |
| 481 | (catch 'crm-exit | 483 | (catch 'crm-exit |
| 482 | 484 | ||
| 483 | (if (eq (point-min) (point-max)) | 485 | (if (eq (minibuffer-prompt-end) (point-max)) |
| 484 | (throw 'crm-exit t)) | 486 | (throw 'crm-exit t)) |
| 485 | 487 | ||
| 486 | ;; TODO: this test is suspect? | 488 | ;; TODO: this test is suspect? |
| @@ -506,7 +508,8 @@ This function is modeled after `minibuffer_complete_and_exit' in src/minibuf.c" | |||
| 506 | nil | 508 | nil |
| 507 | (if (equal result "check") | 509 | (if (equal result "check") |
| 508 | (let ((check-strings | 510 | (let ((check-strings |
| 509 | (crm-strings-completed-p (buffer-string)))) | 511 | (crm-strings-completed-p |
| 512 | (buffer-substring (minibuffer-prompt-end) (point-max))))) | ||
| 510 | ;; check all of minibuffer | 513 | ;; check all of minibuffer |
| 511 | (if (eq check-strings t) | 514 | (if (eq check-strings t) |
| 512 | (throw 'exit nil) | 515 | (throw 'exit nil) |
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el index e543932d8b4..45b6e810ca1 100644 --- a/lisp/emacs-lisp/debug.el +++ b/lisp/emacs-lisp/debug.el | |||
| @@ -231,7 +231,9 @@ first will be printed into the backtrace buffer." | |||
| 231 | ;; would need to be de-iconified anyway immediately | 231 | ;; would need to be de-iconified anyway immediately |
| 232 | ;; after when we re-enter the debugger, so iconifying it | 232 | ;; after when we re-enter the debugger, so iconifying it |
| 233 | ;; here would cause flashing. | 233 | ;; here would cause flashing. |
| 234 | (bury-buffer)))) | 234 | ;; Use quit-window rather than bury-buffer to quieten |
| 235 | ;; Drew Adams. --Stef | ||
| 236 | (quit-window)))) | ||
| 235 | (kill-buffer debugger-buffer)) | 237 | (kill-buffer debugger-buffer)) |
| 236 | (set-match-data debugger-outer-match-data))) | 238 | (set-match-data debugger-outer-match-data))) |
| 237 | ;; Put into effect the modified values of these variables | 239 | ;; Put into effect the modified values of these variables |
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el index a342f8a5530..6ee87919d38 100644 --- a/lisp/emacs-lisp/easy-mmode.el +++ b/lisp/emacs-lisp/easy-mmode.el | |||
| @@ -201,10 +201,7 @@ See the command `%s' for a description of this minor-mode.")) | |||
| 201 | :type 'boolean | 201 | :type 'boolean |
| 202 | ,@(cond | 202 | ,@(cond |
| 203 | ((not (and curfile require)) nil) | 203 | ((not (and curfile require)) nil) |
| 204 | ((not (eq require t)) `(:require ,require)) | 204 | ((not (eq require t)) `(:require ,require))) |
| 205 | (t `(:require | ||
| 206 | ',(intern (file-name-nondirectory | ||
| 207 | (file-name-sans-extension curfile)))))) | ||
| 208 | ,@(nreverse extra-keywords)))) | 205 | ,@(nreverse extra-keywords)))) |
| 209 | 206 | ||
| 210 | ;; The actual function. | 207 | ;; The actual function. |
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index ebe375088a3..55fa93775db 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el | |||
| @@ -61,7 +61,7 @@ | |||
| 61 | ;;; Options | 61 | ;;; Options |
| 62 | 62 | ||
| 63 | (defgroup edebug nil | 63 | (defgroup edebug nil |
| 64 | "A source-level debugger for Emacs Lisp" | 64 | "A source-level debugger for Emacs Lisp." |
| 65 | :group 'lisp) | 65 | :group 'lisp) |
| 66 | 66 | ||
| 67 | 67 | ||
| @@ -519,7 +519,7 @@ the minibuffer." | |||
| 519 | (put ',(nth 1 form) 'saved-face | 519 | (put ',(nth 1 form) 'saved-face |
| 520 | ',(get (nth 1 form) 'saved-face)) | 520 | ',(get (nth 1 form) 'saved-face)) |
| 521 | (put ',(nth 1 form) 'customized-face | 521 | (put ',(nth 1 form) 'customized-face |
| 522 | ',(nth 2 form))) | 522 | ,(nth 2 form))) |
| 523 | (put (nth 1 form) 'saved-face nil))))) | 523 | (put (nth 1 form) 'saved-face nil))))) |
| 524 | (setq edebug-result (eval form)) | 524 | (setq edebug-result (eval form)) |
| 525 | (if (not edebugging) | 525 | (if (not edebugging) |
| @@ -4224,7 +4224,7 @@ reinstrument it." | |||
| 4224 | (- (current-column) | 4224 | (- (current-column) |
| 4225 | (if (= ?\( (following-char)) 0 1))))) | 4225 | (if (= ?\( (following-char)) 0 1))))) |
| 4226 | (insert (make-string | 4226 | (insert (make-string |
| 4227 | (max 0 (- col (- (point) start-of-count-line))) ?\ ) | 4227 | (max 0 (- col (- (point) start-of-count-line))) ?\s) |
| 4228 | (if (and (< 0 count) | 4228 | (if (and (< 0 count) |
| 4229 | (not (memq coverage | 4229 | (not (memq coverage |
| 4230 | '(unknown ok-coverage)))) | 4230 | '(unknown ok-coverage)))) |
diff --git a/lisp/emacs-lisp/elp.el b/lisp/emacs-lisp/elp.el index 82ce6f404f7..feaeb2898ce 100644 --- a/lisp/emacs-lisp/elp.el +++ b/lisp/emacs-lisp/elp.el | |||
| @@ -130,7 +130,7 @@ | |||
| 130 | ;; vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv | 130 | ;; vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv |
| 131 | 131 | ||
| 132 | (defgroup elp nil | 132 | (defgroup elp nil |
| 133 | "Emacs Lisp Profiler" | 133 | "Emacs Lisp Profiler." |
| 134 | :group 'lisp) | 134 | :group 'lisp) |
| 135 | 135 | ||
| 136 | (defcustom elp-function-list nil | 136 | (defcustom elp-function-list nil |
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 972fe6bafc8..1ee4665005a 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el | |||
| @@ -631,10 +631,10 @@ Reinitialize the face according to the `defface' specification." | |||
| 631 | ;; Resetting `saved-face' temporarily to nil is needed to let | 631 | ;; Resetting `saved-face' temporarily to nil is needed to let |
| 632 | ;; `defface' change the spec, regardless of a saved spec. | 632 | ;; `defface' change the spec, regardless of a saved spec. |
| 633 | (prog1 `(prog1 ,form | 633 | (prog1 `(prog1 ,form |
| 634 | (put ',(eval (nth 1 form)) 'saved-face | 634 | (put ,(nth 1 form) 'saved-face |
| 635 | ',(get (eval (nth 1 form)) 'saved-face)) | 635 | ',(get (eval (nth 1 form)) 'saved-face)) |
| 636 | (put ',(eval (nth 1 form)) 'customized-face | 636 | (put ,(nth 1 form) 'customized-face |
| 637 | ',(eval (nth 2 form)))) | 637 | ,(nth 2 form))) |
| 638 | (put (eval (nth 1 form)) 'saved-face nil))) | 638 | (put (eval (nth 1 form)) 'saved-face nil))) |
| 639 | ((eq (car form) 'progn) | 639 | ((eq (car form) 'progn) |
| 640 | (cons 'progn (mapcar 'eval-defun-1 (cdr form)))) | 640 | (cons 'progn (mapcar 'eval-defun-1 (cdr form)))) |
diff --git a/lisp/emacs-lisp/macroexp.el b/lisp/emacs-lisp/macroexp.el index b5a279bbbf4..b3573d0f3b5 100644 --- a/lisp/emacs-lisp/macroexp.el +++ b/lisp/emacs-lisp/macroexp.el | |||
| @@ -45,15 +45,17 @@ | |||
| 45 | ;; structure of the result with the input. Doing so recursively using | 45 | ;; structure of the result with the input. Doing so recursively using |
| 46 | ;; `maybe-cons' results in excessively deep recursion for very long | 46 | ;; `maybe-cons' results in excessively deep recursion for very long |
| 47 | ;; input forms. | 47 | ;; input forms. |
| 48 | (defmacro macroexp-accumulate (#1=#:\(var\ list\) &rest body) | 48 | (defmacro macroexp-accumulate (var+list &rest body) |
| 49 | "Return a list of the results of evaluating BODY for each element of LIST. | 49 | "Return a list of the results of evaluating BODY for each element of LIST. |
| 50 | Evaluate BODY with VAR bound to each `car' from LIST, in turn. | 50 | Evaluate BODY with VAR bound to each `car' from LIST, in turn. |
| 51 | Return a list of the values of the final form in BODY. | 51 | Return a list of the values of the final form in BODY. |
| 52 | The list structure of the result will share as much with LIST as | 52 | The list structure of the result will share as much with LIST as |
| 53 | possible (for instance, when BODY just returns VAR unchanged, the | 53 | possible (for instance, when BODY just returns VAR unchanged, the |
| 54 | result will be eq to LIST)." | 54 | result will be eq to LIST). |
| 55 | (let ((var (car #1#)) | 55 | |
| 56 | (list (cadr #1#)) | 56 | \(fn (VAR LIST) BODY...)" |
| 57 | (let ((var (car var+list)) | ||
| 58 | (list (cadr var+list)) | ||
| 57 | (shared (make-symbol "shared")) | 59 | (shared (make-symbol "shared")) |
| 58 | (unshared (make-symbol "unshared")) | 60 | (unshared (make-symbol "unshared")) |
| 59 | (tail (make-symbol "tail")) | 61 | (tail (make-symbol "tail")) |
diff --git a/lisp/emacs-lisp/pp.el b/lisp/emacs-lisp/pp.el index 93e30fb0f55..d9f3df99bae 100644 --- a/lisp/emacs-lisp/pp.el +++ b/lisp/emacs-lisp/pp.el | |||
| @@ -67,7 +67,7 @@ to make output that `read' can handle, whenever this is possible." | |||
| 67 | (save-excursion | 67 | (save-excursion |
| 68 | (backward-char 1) | 68 | (backward-char 1) |
| 69 | (skip-chars-backward "'`#^") | 69 | (skip-chars-backward "'`#^") |
| 70 | (when (and (not (bobp)) (memq (char-before) '(?\ ?\t ?\n))) | 70 | (when (and (not (bobp)) (memq (char-before) '(?\s ?\t ?\n))) |
| 71 | (delete-region | 71 | (delete-region |
| 72 | (point) | 72 | (point) |
| 73 | (progn (skip-chars-backward " \t\n") (point))) | 73 | (progn (skip-chars-backward " \t\n") (point))) |
diff --git a/lisp/emacs-lisp/testcover.el b/lisp/emacs-lisp/testcover.el index 6b87d06cb0e..950c9e251be 100644 --- a/lisp/emacs-lisp/testcover.el +++ b/lisp/emacs-lisp/testcover.el | |||
| @@ -73,7 +73,7 @@ | |||
| 73 | ;;;========================================================================== | 73 | ;;;========================================================================== |
| 74 | 74 | ||
| 75 | (defgroup testcover nil | 75 | (defgroup testcover nil |
| 76 | "Code-coverage tester" | 76 | "Code-coverage tester." |
| 77 | :group 'lisp | 77 | :group 'lisp |
| 78 | :prefix "testcover-" | 78 | :prefix "testcover-" |
| 79 | :version "21.1") | 79 | :version "21.1") |
diff --git a/lisp/emacs-lisp/timer.el b/lisp/emacs-lisp/timer.el index 79aad8bd121..d9662f91c7f 100644 --- a/lisp/emacs-lisp/timer.el +++ b/lisp/emacs-lisp/timer.el | |||
| @@ -408,12 +408,11 @@ This function returns a timer object which you can use in `cancel-timer'." | |||
| 408 | (defmacro with-timeout (list &rest body) | 408 | (defmacro with-timeout (list &rest body) |
| 409 | "Run BODY, but if it doesn't finish in SECONDS seconds, give up. | 409 | "Run BODY, but if it doesn't finish in SECONDS seconds, give up. |
| 410 | If we give up, we run the TIMEOUT-FORMS and return the value of the last one. | 410 | If we give up, we run the TIMEOUT-FORMS and return the value of the last one. |
| 411 | The call should look like: | ||
| 412 | (with-timeout (SECONDS TIMEOUT-FORMS...) BODY...) | ||
| 413 | The timeout is checked whenever Emacs waits for some kind of external | 411 | The timeout is checked whenever Emacs waits for some kind of external |
| 414 | event \(such as keyboard input, input from subprocesses, or a certain time); | 412 | event (such as keyboard input, input from subprocesses, or a certain time); |
| 415 | if the program loops without waiting in any way, the timeout will not | 413 | if the program loops without waiting in any way, the timeout will not |
| 416 | be detected." | 414 | be detected. |
| 415 | \n(fn (SECONDS TIMEOUT-FORMS...) BODY)" | ||
| 417 | (let ((seconds (car list)) | 416 | (let ((seconds (car list)) |
| 418 | (timeout-forms (cdr list))) | 417 | (timeout-forms (cdr list))) |
| 419 | `(let ((with-timeout-tag (cons nil nil)) | 418 | `(let ((with-timeout-tag (cons nil nil)) |
diff --git a/lisp/emacs-lisp/trace.el b/lisp/emacs-lisp/trace.el index e3d3e9e645e..31ff8b993c3 100644 --- a/lisp/emacs-lisp/trace.el +++ b/lisp/emacs-lisp/trace.el | |||
| @@ -156,7 +156,7 @@ | |||
| 156 | (require 'advice) | 156 | (require 'advice) |
| 157 | 157 | ||
| 158 | (defgroup trace nil | 158 | (defgroup trace nil |
| 159 | "Tracing facility for Emacs Lisp functions" | 159 | "Tracing facility for Emacs Lisp functions." |
| 160 | :prefix "trace-" | 160 | :prefix "trace-" |
| 161 | :group 'lisp) | 161 | :group 'lisp) |
| 162 | 162 | ||
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el index c6d479b173f..9aa6650810c 100644 --- a/lisp/emulation/cua-base.el +++ b/lisp/emulation/cua-base.el | |||
| @@ -350,7 +350,7 @@ Must be set prior to enabling CUA." | |||
| 350 | 350 | ||
| 351 | (defcustom cua-check-pending-input t | 351 | (defcustom cua-check-pending-input t |
| 352 | "*If non-nil, don't override prefix key if input pending. | 352 | "*If non-nil, don't override prefix key if input pending. |
| 353 | It is rumoured that input-pending-p is unreliable under some window | 353 | It is rumoured that `input-pending-p' is unreliable under some window |
| 354 | managers, so try setting this to nil, if prefix override doesn't work." | 354 | managers, so try setting this to nil, if prefix override doesn't work." |
| 355 | :type 'boolean | 355 | :type 'boolean |
| 356 | :group 'cua) | 356 | :group 'cua) |
| @@ -370,7 +370,7 @@ buffer is NOT modified, until you execute a command that actually modifies it. | |||
| 370 | "*If non-nil, automatically tabify after rectangle commands. | 370 | "*If non-nil, automatically tabify after rectangle commands. |
| 371 | This basically means that `tabify' is applied to all lines that | 371 | This basically means that `tabify' is applied to all lines that |
| 372 | are modified by inserting or deleting a rectangle. If value is | 372 | are modified by inserting or deleting a rectangle. If value is |
| 373 | an integer, cua will look for existing tabs in a region around | 373 | an integer, CUA will look for existing tabs in a region around |
| 374 | the rectangle, and only do the conversion if any tabs are already | 374 | the rectangle, and only do the conversion if any tabs are already |
| 375 | present. The number specifies then number of characters before | 375 | present. The number specifies then number of characters before |
| 376 | and after the region marked by the rectangle to search." | 376 | and after the region marked by the rectangle to search." |
| @@ -568,7 +568,7 @@ a cons (TYPE . COLOR), then both properties are affected." | |||
| 568 | ;;; Low-level Interface | 568 | ;;; Low-level Interface |
| 569 | 569 | ||
| 570 | (defvar cua-inhibit-cua-keys nil | 570 | (defvar cua-inhibit-cua-keys nil |
| 571 | "Buffer-local variable that may disable the cua keymappings.") | 571 | "Buffer-local variable that may disable the CUA keymappings.") |
| 572 | (make-variable-buffer-local 'cua-inhibit-cua-keys) | 572 | (make-variable-buffer-local 'cua-inhibit-cua-keys) |
| 573 | 573 | ||
| 574 | ;;; Aux. variables | 574 | ;;; Aux. variables |
| @@ -902,8 +902,8 @@ Activates the mark if a prefix argument is given." | |||
| 902 | 902 | ||
| 903 | (defun cua-repeat-replace-region (arg) | 903 | (defun cua-repeat-replace-region (arg) |
| 904 | "Repeat replacing text of highlighted region with typed text. | 904 | "Repeat replacing text of highlighted region with typed text. |
| 905 | Searches for the next streach of text identical to the region last | 905 | Searches for the next stretch of text identical to the region last |
| 906 | replaced by typing text over it and replaces it with the same streach | 906 | replaced by typing text over it and replaces it with the same stretch |
| 907 | of text." | 907 | of text." |
| 908 | (interactive "P") | 908 | (interactive "P") |
| 909 | (when cua--last-deleted-region-pos | 909 | (when cua--last-deleted-region-pos |
| @@ -1331,7 +1331,7 @@ If ARG is the atom `-', scroll upward by nearly full screen." | |||
| 1331 | When enabled, using shifted movement keys will activate the region (and | 1331 | When enabled, using shifted movement keys will activate the region (and |
| 1332 | highlight the region using `transient-mark-mode'), and typed text replaces | 1332 | highlight the region using `transient-mark-mode'), and typed text replaces |
| 1333 | the active selection. C-z, C-x, C-c, and C-v will undo, cut, copy, and | 1333 | the active selection. C-z, C-x, C-c, and C-v will undo, cut, copy, and |
| 1334 | paste (in addition to the normal emacs bindings)." | 1334 | paste (in addition to the normal Emacs bindings)." |
| 1335 | :global t | 1335 | :global t |
| 1336 | :group 'cua | 1336 | :group 'cua |
| 1337 | :set-after '(cua-enable-modeline-indications cua-use-hyper-key) | 1337 | :set-after '(cua-enable-modeline-indications cua-use-hyper-key) |
| @@ -1394,7 +1394,7 @@ paste (in addition to the normal emacs bindings)." | |||
| 1394 | (setq cua--saved-state nil)))) | 1394 | (setq cua--saved-state nil)))) |
| 1395 | 1395 | ||
| 1396 | (defun cua-debug () | 1396 | (defun cua-debug () |
| 1397 | "Toggle cua debugging." | 1397 | "Toggle CUA debugging." |
| 1398 | (interactive) | 1398 | (interactive) |
| 1399 | (setq cua--debug (not cua--debug))) | 1399 | (setq cua--debug (not cua--debug))) |
| 1400 | 1400 | ||
diff --git a/lisp/emulation/cua-gmrk.el b/lisp/emulation/cua-gmrk.el index b8874df0f34..68a28e1637a 100644 --- a/lisp/emulation/cua-gmrk.el +++ b/lisp/emulation/cua-gmrk.el | |||
| @@ -96,7 +96,7 @@ When the global marker is set, CUA cut and copy commands will automatically | |||
| 96 | insert the deleted or copied text before the global marker, even when the | 96 | insert the deleted or copied text before the global marker, even when the |
| 97 | global marker is in another buffer. | 97 | global marker is in another buffer. |
| 98 | If the global marker isn't set, set the global marker at point in the current | 98 | If the global marker isn't set, set the global marker at point in the current |
| 99 | buffer. Otherwise jump to the global marker position and cancel it. | 99 | buffer. Otherwise jump to the global marker position and cancel it. |
| 100 | With prefix argument, don't jump to global mark when cancelling it." | 100 | With prefix argument, don't jump to global mark when cancelling it." |
| 101 | (interactive "P") | 101 | (interactive "P") |
| 102 | (unless cua--global-mark-initialized | 102 | (unless cua--global-mark-initialized |
| @@ -105,7 +105,7 @@ With prefix argument, don't jump to global mark when cancelling it." | |||
| 105 | (if (not buffer-read-only) | 105 | (if (not buffer-read-only) |
| 106 | (cua--activate-global-mark t) | 106 | (cua--activate-global-mark t) |
| 107 | (ding) | 107 | (ding) |
| 108 | (message "Cannot set global mark in read-only buffer.")) | 108 | (message "Cannot set global mark in read-only buffer")) |
| 109 | (when (not stay) | 109 | (when (not stay) |
| 110 | (pop-to-buffer (marker-buffer cua--global-mark-marker)) | 110 | (pop-to-buffer (marker-buffer cua--global-mark-marker)) |
| 111 | (goto-char cua--global-mark-marker)) | 111 | (goto-char cua--global-mark-marker)) |
| @@ -165,7 +165,7 @@ With prefix argument, don't jump to global mark when cancelling it." | |||
| 165 | (if (equal (marker-buffer cua--global-mark-marker) src-buf) | 165 | (if (equal (marker-buffer cua--global-mark-marker) src-buf) |
| 166 | (if (and (< start (marker-position cua--global-mark-marker)) | 166 | (if (and (< start (marker-position cua--global-mark-marker)) |
| 167 | (< (marker-position cua--global-mark-marker) end)) | 167 | (< (marker-position cua--global-mark-marker) end)) |
| 168 | (message "Can't move region into itself.") | 168 | (message "Can't move region into itself") |
| 169 | (let ((text (buffer-substring-no-properties start end)) | 169 | (let ((text (buffer-substring-no-properties start end)) |
| 170 | (p1 (copy-marker start)) | 170 | (p1 (copy-marker start)) |
| 171 | (p2 (copy-marker end))) | 171 | (p2 (copy-marker end))) |
| @@ -222,7 +222,7 @@ With prefix argument, don't jump to global mark when cancelling it." | |||
| 222 | (setq in-rect t olist nil) | 222 | (setq in-rect t olist nil) |
| 223 | (setq olist (cdr olist)))) | 223 | (setq olist (cdr olist)))) |
| 224 | (if in-rect | 224 | (if in-rect |
| 225 | (message "Can't move rectangle into itself.") | 225 | (message "Can't move rectangle into itself") |
| 226 | (let ((text (cua--extract-rectangle))) | 226 | (let ((text (cua--extract-rectangle))) |
| 227 | (cua--delete-rectangle) | 227 | (cua--delete-rectangle) |
| 228 | (goto-char (marker-position cua--global-mark-marker)) | 228 | (goto-char (marker-position cua--global-mark-marker)) |
diff --git a/lisp/emulation/cua-rect.el b/lisp/emulation/cua-rect.el index 72fd9195850..19360ac6845 100644 --- a/lisp/emulation/cua-rect.el +++ b/lisp/emulation/cua-rect.el | |||
| @@ -992,7 +992,7 @@ With prefix argument, the toggle restriction." | |||
| 992 | (defun cua-do-rectangle-padding () | 992 | (defun cua-do-rectangle-padding () |
| 993 | (interactive) | 993 | (interactive) |
| 994 | (if buffer-read-only | 994 | (if buffer-read-only |
| 995 | (message "Cannot do padding in read-only buffer.") | 995 | (message "Cannot do padding in read-only buffer") |
| 996 | (cua--rectangle-operation nil nil t t t) | 996 | (cua--rectangle-operation nil nil t t t) |
| 997 | (cua--rectangle-set-corners)) | 997 | (cua--rectangle-set-corners)) |
| 998 | (cua--keep-active)) | 998 | (cua--keep-active)) |
| @@ -1098,14 +1098,14 @@ The length of STRING need not be the same as the rectangle width." | |||
| 1098 | '(lambda (l r) | 1098 | '(lambda (l r) |
| 1099 | (cua--rectangle-right (max l (+ l (length string) -1))))))) | 1099 | (cua--rectangle-right (max l (+ l (length string) -1))))))) |
| 1100 | 1100 | ||
| 1101 | (defun cua-fill-char-rectangle (ch) | 1101 | (defun cua-fill-char-rectangle (character) |
| 1102 | "Replace CUA rectangle contents with CHARACTER." | 1102 | "Replace CUA rectangle contents with CHARACTER." |
| 1103 | (interactive "cFill rectangle with character: ") | 1103 | (interactive "cFill rectangle with character: ") |
| 1104 | (cua--rectangle-operation 'clear nil t 1 nil | 1104 | (cua--rectangle-operation 'clear nil t 1 nil |
| 1105 | '(lambda (s e l r) | 1105 | '(lambda (s e l r) |
| 1106 | (delete-region s e) | 1106 | (delete-region s e) |
| 1107 | (move-to-column l t) | 1107 | (move-to-column l t) |
| 1108 | (insert-char ch (- r l))))) | 1108 | (insert-char character (- r l))))) |
| 1109 | 1109 | ||
| 1110 | (defun cua-replace-in-rectangle (regexp newtext) | 1110 | (defun cua-replace-in-rectangle (regexp newtext) |
| 1111 | "Replace REGEXP with NEWTEXT in each line of CUA rectangle." | 1111 | "Replace REGEXP with NEWTEXT in each line of CUA rectangle." |
| @@ -1137,9 +1137,9 @@ The length of STRING need not be the same as the rectangle width." | |||
| 1137 | (t nil))))) | 1137 | (t nil))))) |
| 1138 | 1138 | ||
| 1139 | (defvar cua--rectangle-seq-format "%d" | 1139 | (defvar cua--rectangle-seq-format "%d" |
| 1140 | "Last format used by cua-sequence-rectangle.") | 1140 | "Last format used by `cua-sequence-rectangle'.") |
| 1141 | 1141 | ||
| 1142 | (defun cua-sequence-rectangle (first incr fmt) | 1142 | (defun cua-sequence-rectangle (first incr format) |
| 1143 | "Resequence each line of CUA rectangle starting from FIRST. | 1143 | "Resequence each line of CUA rectangle starting from FIRST. |
| 1144 | The numbers are formatted according to the FORMAT string." | 1144 | The numbers are formatted according to the FORMAT string." |
| 1145 | (interactive | 1145 | (interactive |
| @@ -1150,13 +1150,13 @@ The numbers are formatted according to the FORMAT string." | |||
| 1150 | (string-to-number | 1150 | (string-to-number |
| 1151 | (read-string "Increment: (1) " nil nil "1")) | 1151 | (read-string "Increment: (1) " nil nil "1")) |
| 1152 | (read-string (concat "Format: (" cua--rectangle-seq-format ") ")))) | 1152 | (read-string (concat "Format: (" cua--rectangle-seq-format ") ")))) |
| 1153 | (if (= (length fmt) 0) | 1153 | (if (= (length format) 0) |
| 1154 | (setq fmt cua--rectangle-seq-format) | 1154 | (setq format cua--rectangle-seq-format) |
| 1155 | (setq cua--rectangle-seq-format fmt)) | 1155 | (setq cua--rectangle-seq-format format)) |
| 1156 | (cua--rectangle-operation 'clear nil t 1 nil | 1156 | (cua--rectangle-operation 'clear nil t 1 nil |
| 1157 | '(lambda (s e l r) | 1157 | '(lambda (s e l r) |
| 1158 | (delete-region s e) | 1158 | (delete-region s e) |
| 1159 | (insert (format fmt first)) | 1159 | (insert (format format first)) |
| 1160 | (setq first (+ first incr))))) | 1160 | (setq first (+ first incr))))) |
| 1161 | 1161 | ||
| 1162 | (defmacro cua--convert-rectangle-as (command tabify) | 1162 | (defmacro cua--convert-rectangle-as (command tabify) |
diff --git a/lisp/emulation/edt-mapper.el b/lisp/emulation/edt-mapper.el index e4943ff4a0a..5f824162676 100644 --- a/lisp/emulation/edt-mapper.el +++ b/lisp/emulation/edt-mapper.el | |||
| @@ -113,7 +113,6 @@ | |||
| 113 | (sit-for 600) | 113 | (sit-for 600) |
| 114 | (kill-emacs t))) | 114 | (kill-emacs t))) |
| 115 | 115 | ||
| 116 | |||
| 117 | ;;; | 116 | ;;; |
| 118 | ;;; Decide Emacs Variant, GNU Emacs or XEmacs (aka Lucid Emacs). | 117 | ;;; Decide Emacs Variant, GNU Emacs or XEmacs (aka Lucid Emacs). |
| 119 | ;;; Determine Window System, and X Server Vendor (if appropriate). | 118 | ;;; Determine Window System, and X Server Vendor (if appropriate). |
| @@ -146,6 +145,11 @@ | |||
| 146 | (defvar edt-return-seq nil) | 145 | (defvar edt-return-seq nil) |
| 147 | (defvar edt-term nil) | 146 | (defvar edt-term nil) |
| 148 | 147 | ||
| 148 | ;; To silence the byte-compiler | ||
| 149 | (eval-when-compile | ||
| 150 | (defvar EDT-key-name) | ||
| 151 | (defvar edt-save-function-key-map)) | ||
| 152 | |||
| 149 | ;;; | 153 | ;;; |
| 150 | ;;; Determine Terminal Type (if appropriate). | 154 | ;;; Determine Terminal Type (if appropriate). |
| 151 | ;;; | 155 | ;;; |
diff --git a/lisp/emulation/edt.el b/lisp/emulation/edt.el index 01f0af6f307..2b9a1118603 100644 --- a/lisp/emulation/edt.el +++ b/lisp/emulation/edt.el | |||
| @@ -175,6 +175,20 @@ | |||
| 175 | :prefix "edt-" | 175 | :prefix "edt-" |
| 176 | :group 'emulations) | 176 | :group 'emulations) |
| 177 | 177 | ||
| 178 | ;; To silence the byte-compiler | ||
| 179 | (eval-when-compile | ||
| 180 | (defvar *EDT-keys*) | ||
| 181 | (defvar edt-default-global-map) | ||
| 182 | (defvar edt-last-copied-word) | ||
| 183 | (defvar edt-learn-macro-count) | ||
| 184 | (defvar edt-orig-page-delimiter) | ||
| 185 | (defvar edt-orig-transient-mark-mode) | ||
| 186 | (defvar edt-rect-start-point) | ||
| 187 | (defvar edt-user-global-map) | ||
| 188 | (defvar rect-start-point) | ||
| 189 | (defvar time-string) | ||
| 190 | (defvar zmacs-region-stays)) | ||
| 191 | |||
| 178 | ;;; | 192 | ;;; |
| 179 | ;;; Version Information | 193 | ;;; Version Information |
| 180 | ;;; | 194 | ;;; |
| @@ -332,6 +346,11 @@ This means that an edt-user.el file was found in the user's `load-path'.") | |||
| 332 | 346 | ||
| 333 | (defvar edt-keys-file nil | 347 | (defvar edt-keys-file nil |
| 334 | "User's custom keypad and function keys mappings to emulate LK-201 keyboard.") | 348 | "User's custom keypad and function keys mappings to emulate LK-201 keyboard.") |
| 349 | |||
| 350 | (defvar edt-last-copied-word nil | ||
| 351 | "Last word that the user copied.") | ||
| 352 | |||
| 353 | (defvar zmacs-region-stays) | ||
| 335 | 354 | ||
| 336 | ;;;; | 355 | ;;;; |
| 337 | ;;;; EDT Emulation Commands | 356 | ;;;; EDT Emulation Commands |
| @@ -1621,9 +1640,8 @@ Argument NUM is the percentage into the buffer to move." | |||
| 1621 | 1640 | ||
| 1622 | (defun edt-mark-section-wisely () | 1641 | (defun edt-mark-section-wisely () |
| 1623 | "Mark the section in a manner consistent with the `major-mode'. | 1642 | "Mark the section in a manner consistent with the `major-mode'. |
| 1624 | Uses `mark-defun' for emacs-lisp and Lisp, | 1643 | Uses `mark-defun' for Emacs-Lisp and Lisp, and for Fortran, |
| 1625 | mark-c-function for C, | 1644 | `c-mark-function' for C, |
| 1626 | mark-fortran-subsystem for fortran, | ||
| 1627 | and `mark-paragraph' for other modes." | 1645 | and `mark-paragraph' for other modes." |
| 1628 | (interactive) | 1646 | (interactive) |
| 1629 | (if edt-select-mode | 1647 | (if edt-select-mode |
| @@ -1631,15 +1649,13 @@ and `mark-paragraph' for other modes." | |||
| 1631 | (edt-reset)) | 1649 | (edt-reset)) |
| 1632 | (progn | 1650 | (progn |
| 1633 | (cond ((or (eq major-mode 'emacs-lisp-mode) | 1651 | (cond ((or (eq major-mode 'emacs-lisp-mode) |
| 1652 | (eq major-mode 'fortran-mode) | ||
| 1634 | (eq major-mode 'lisp-mode)) | 1653 | (eq major-mode 'lisp-mode)) |
| 1635 | (mark-defun) | 1654 | (mark-defun) |
| 1636 | (message "Lisp defun selected")) | 1655 | (message "Lisp defun selected")) |
| 1637 | ((eq major-mode 'c-mode) | 1656 | ((eq major-mode 'c-mode) |
| 1638 | (mark-c-function) | 1657 | (c-mark-function) |
| 1639 | (message "C function selected")) | 1658 | (message "C function selected")) |
| 1640 | ((eq major-mode 'fortran-mode) | ||
| 1641 | (mark-fortran-subprogram) | ||
| 1642 | (message "Fortran subprogram selected")) | ||
| 1643 | (t (mark-paragraph) | 1659 | (t (mark-paragraph) |
| 1644 | (message "Paragraph selected")))))) | 1660 | (message "Paragraph selected")))))) |
| 1645 | 1661 | ||
| @@ -1766,8 +1782,7 @@ Argument NUM is the number of times to duplicate the line." | |||
| 1766 | "Display the current time." | 1782 | "Display the current time." |
| 1767 | (interactive) | 1783 | (interactive) |
| 1768 | (if edt-x-emacs19-p (setq zmacs-region-stays t)) | 1784 | (if edt-x-emacs19-p (setq zmacs-region-stays t)) |
| 1769 | (set 'time-string (current-time-string)) | 1785 | (message "%s" (current-time-string))) |
| 1770 | (message "%s" time-string)) | ||
| 1771 | 1786 | ||
| 1772 | ;;; | 1787 | ;;; |
| 1773 | ;;; LEARN | 1788 | ;;; LEARN |
diff --git a/lisp/emulation/tpu-edt.el b/lisp/emulation/tpu-edt.el index ec0eef05321..d685bec1e65 100644 --- a/lisp/emulation/tpu-edt.el +++ b/lisp/emulation/tpu-edt.el | |||
| @@ -307,17 +307,11 @@ | |||
| 307 | ;;; Emacs version identifiers - currently referenced by | 307 | ;;; Emacs version identifiers - currently referenced by |
| 308 | ;;; | 308 | ;;; |
| 309 | ;;; o tpu-mark o tpu-set-mark | 309 | ;;; o tpu-mark o tpu-set-mark |
| 310 | ;;; o tpu-string-prompt o tpu-regexp-prompt | 310 | ;;; o mode line section o tpu-load-xkeys |
| 311 | ;;; o tpu-edt-on o tpu-load-xkeys | ||
| 312 | ;;; o tpu-update-mode-line o mode line section | ||
| 313 | ;;; | 311 | ;;; |
| 314 | (defconst tpu-emacs19-p (not (string-lessp emacs-version "19")) | 312 | (defconst tpu-lucid-emacs-p |
| 315 | "Non-nil if we are running Lucid Emacs or version 19.") | 313 | (string-match "Lucid" emacs-version) |
| 316 | 314 | "Non-nil if we are running Lucid Emacs.") | |
| 317 | (defconst tpu-lucid-emacs19-p | ||
| 318 | (and tpu-emacs19-p (string-match "Lucid" emacs-version)) | ||
| 319 | "Non-nil if we are running Lucid Emacs version 19.") | ||
| 320 | |||
| 321 | 315 | ||
| 322 | ;;; | 316 | ;;; |
| 323 | ;;; Global Keymaps | 317 | ;;; Global Keymaps |
| @@ -341,10 +335,10 @@ GOLD is the ASCII 7-bit escape sequence <ESC>OP.") | |||
| 341 | "Maps the function keys on the VT100 keyboard preceded by GOLD-SS3.") | 335 | "Maps the function keys on the VT100 keyboard preceded by GOLD-SS3.") |
| 342 | 336 | ||
| 343 | (defvar tpu-global-map nil "TPU-edt global keymap.") | 337 | (defvar tpu-global-map nil "TPU-edt global keymap.") |
| 344 | (defvar tpu-original-global-map (copy-keymap global-map) | 338 | (defvar tpu-original-global-map global-map |
| 345 | "Original global keymap.") | 339 | "Original global keymap.") |
| 346 | 340 | ||
| 347 | (and tpu-lucid-emacs19-p | 341 | (and tpu-lucid-emacs-p |
| 348 | (defvar minibuffer-local-ns-map (make-sparse-keymap) | 342 | (defvar minibuffer-local-ns-map (make-sparse-keymap) |
| 349 | "Hack to give Lucid Emacs the same maps as ordinary Emacs.")) | 343 | "Hack to give Lucid Emacs the same maps as ordinary Emacs.")) |
| 350 | 344 | ||
| @@ -463,13 +457,12 @@ GOLD is the ASCII 7-bit escape sequence <ESC>OP.") | |||
| 463 | (defun tpu-update-mode-line nil | 457 | (defun tpu-update-mode-line nil |
| 464 | "Make sure mode-line in the current buffer reflects all changes." | 458 | "Make sure mode-line in the current buffer reflects all changes." |
| 465 | (setq tpu-mark-flag (if transient-mark-mode "" (if (tpu-mark) " @" " "))) | 459 | (setq tpu-mark-flag (if transient-mark-mode "" (if (tpu-mark) " @" " "))) |
| 466 | (cond (tpu-emacs19-p (force-mode-line-update)) | 460 | (force-mode-line-update)) |
| 467 | (t (set-buffer-modified-p (buffer-modified-p)) (sit-for 0)))) | ||
| 468 | 461 | ||
| 469 | (cond (tpu-lucid-emacs19-p | 462 | (cond (tpu-lucid-emacs-p |
| 470 | (add-hook 'zmacs-deactivate-region-hook 'tpu-update-mode-line) | 463 | (add-hook 'zmacs-deactivate-region-hook 'tpu-update-mode-line) |
| 471 | (add-hook 'zmacs-activate-region-hook 'tpu-update-mode-line)) | 464 | (add-hook 'zmacs-activate-region-hook 'tpu-update-mode-line)) |
| 472 | (tpu-emacs19-p | 465 | (t |
| 473 | (add-hook 'activate-mark-hook 'tpu-update-mode-line) | 466 | (add-hook 'activate-mark-hook 'tpu-update-mode-line) |
| 474 | (add-hook 'deactivate-mark-hook 'tpu-update-mode-line))) | 467 | (add-hook 'deactivate-mark-hook 'tpu-update-mode-line))) |
| 475 | 468 | ||
| @@ -542,26 +535,25 @@ Otherwise sets the tpu-match markers to nil and returns nil." | |||
| 542 | (defun tpu-caar (thingy) (car (car thingy))) | 535 | (defun tpu-caar (thingy) (car (car thingy))) |
| 543 | (defun tpu-cadr (thingy) (car (cdr thingy))) | 536 | (defun tpu-cadr (thingy) (car (cdr thingy))) |
| 544 | 537 | ||
| 538 | (defvar zmacs-regions) | ||
| 539 | |||
| 545 | (defun tpu-mark nil | 540 | (defun tpu-mark nil |
| 546 | "TPU-edt version of the mark function. | 541 | "TPU-edt version of the mark function. |
| 547 | Return the appropriate value of the mark for the current | 542 | Return the appropriate value of the mark for the current |
| 548 | version of Emacs." | 543 | version of Emacs." |
| 549 | (cond (tpu-lucid-emacs19-p (mark (not zmacs-regions))) | 544 | (cond (tpu-lucid-emacs-p (mark (not zmacs-regions))) |
| 550 | (tpu-emacs19-p (and mark-active (mark (not transient-mark-mode)))) | 545 | (t (and mark-active (mark (not transient-mark-mode)))))) |
| 551 | (t (mark)))) | ||
| 552 | 546 | ||
| 553 | (defun tpu-set-mark (pos) | 547 | (defun tpu-set-mark (pos) |
| 554 | "TPU-edt version of the `set-mark' function. | 548 | "TPU-edt version of the `set-mark' function. |
| 555 | Sets the mark at POS and activates the region according to the | 549 | Sets the mark at POS and activates the region according to the |
| 556 | current version of Emacs." | 550 | current version of Emacs." |
| 557 | (set-mark pos) | 551 | (set-mark pos) |
| 558 | (and tpu-lucid-emacs19-p pos (zmacs-activate-region))) | 552 | (and tpu-lucid-emacs-p pos (zmacs-activate-region))) |
| 559 | 553 | ||
| 560 | (defun tpu-string-prompt (prompt history-symbol) | 554 | (defun tpu-string-prompt (prompt history-symbol) |
| 561 | "Read a string with PROMPT." | 555 | "Read a string with PROMPT." |
| 562 | (if tpu-emacs19-p | 556 | (read-from-minibuffer prompt nil nil nil history-symbol)) |
| 563 | (read-from-minibuffer prompt nil nil nil history-symbol) | ||
| 564 | (read-string prompt))) | ||
| 565 | 557 | ||
| 566 | (defvar tpu-last-answer nil "Most recent response to tpu-y-or-n-p.") | 558 | (defvar tpu-last-answer nil "Most recent response to tpu-y-or-n-p.") |
| 567 | 559 | ||
| @@ -1118,9 +1110,7 @@ kills modified buffers without asking." | |||
| 1118 | (defun tpu-regexp-prompt (prompt) | 1110 | (defun tpu-regexp-prompt (prompt) |
| 1119 | "Read a string, adding 'RE' to the prompt if tpu-regexp-p is set." | 1111 | "Read a string, adding 'RE' to the prompt if tpu-regexp-p is set." |
| 1120 | (let ((re-prompt (concat (if tpu-regexp-p "RE ") prompt))) | 1112 | (let ((re-prompt (concat (if tpu-regexp-p "RE ") prompt))) |
| 1121 | (if tpu-emacs19-p | 1113 | (read-from-minibuffer re-prompt nil nil nil 'tpu-regexp-prompt-hist))) |
| 1122 | (read-from-minibuffer re-prompt nil nil nil 'tpu-regexp-prompt-hist) | ||
| 1123 | (read-string re-prompt)))) | ||
| 1124 | 1114 | ||
| 1125 | (defun tpu-search-highlight nil | 1115 | (defun tpu-search-highlight nil |
| 1126 | (if (tpu-check-match) | 1116 | (if (tpu-check-match) |
| @@ -2017,8 +2007,6 @@ Accepts a prefix argument for the number of tpu-pan-columns to scroll." | |||
| 2017 | ;;; | 2007 | ;;; |
| 2018 | ;;; Define keymaps | 2008 | ;;; Define keymaps |
| 2019 | ;;; | 2009 | ;;; |
| 2020 | (define-key global-map "\e[" CSI-map) ; CSI map | ||
| 2021 | (define-key global-map "\eO" SS3-map) ; SS3 map | ||
| 2022 | (define-key SS3-map "P" GOLD-map) ; GOLD map | 2010 | (define-key SS3-map "P" GOLD-map) ; GOLD map |
| 2023 | (define-key GOLD-map "\e[" GOLD-CSI-map) ; GOLD-CSI map | 2011 | (define-key GOLD-map "\e[" GOLD-CSI-map) ; GOLD-CSI map |
| 2024 | (define-key GOLD-map "\eO" GOLD-SS3-map) ; GOLD-SS3 map | 2012 | (define-key GOLD-map "\eO" GOLD-SS3-map) ; GOLD-SS3 map |
| @@ -2276,24 +2264,12 @@ Accepts a prefix argument for the number of tpu-pan-columns to scroll." | |||
| 2276 | 2264 | ||
| 2277 | 2265 | ||
| 2278 | ;;; | 2266 | ;;; |
| 2279 | ;;; Repeat complex command map additions to make arrows work | ||
| 2280 | ;;; | ||
| 2281 | (cond ((boundp 'repeat-complex-command-map) | ||
| 2282 | (define-key repeat-complex-command-map "\e[A" 'previous-complex-command) | ||
| 2283 | (define-key repeat-complex-command-map "\e[B" 'next-complex-command) | ||
| 2284 | (define-key repeat-complex-command-map "\eOA" 'previous-complex-command) | ||
| 2285 | (define-key repeat-complex-command-map "\eOB" 'next-complex-command))) | ||
| 2286 | |||
| 2287 | |||
| 2288 | ;;; | ||
| 2289 | ;;; Minibuffer map additions to make KP_enter = RET | 2267 | ;;; Minibuffer map additions to make KP_enter = RET |
| 2290 | ;;; | 2268 | ;;; |
| 2291 | (define-key minibuffer-local-map "\eOM" 'exit-minibuffer) | 2269 | (define-key minibuffer-local-map "\eOM" 'exit-minibuffer) |
| 2292 | (define-key minibuffer-local-ns-map "\eOM" 'exit-minibuffer) | 2270 | (define-key minibuffer-local-ns-map "\eOM" 'exit-minibuffer) |
| 2293 | (define-key minibuffer-local-completion-map "\eOM" 'exit-minibuffer) | 2271 | (define-key minibuffer-local-completion-map "\eOM" 'exit-minibuffer) |
| 2294 | (define-key minibuffer-local-must-match-map "\eOM" 'minibuffer-complete-and-exit) | 2272 | (define-key minibuffer-local-must-match-map "\eOM" 'minibuffer-complete-and-exit) |
| 2295 | (and (boundp 'repeat-complex-command-map) | ||
| 2296 | (define-key repeat-complex-command-map "\eOM" 'exit-minibuffer)) | ||
| 2297 | 2273 | ||
| 2298 | 2274 | ||
| 2299 | ;;; | 2275 | ;;; |
| @@ -2407,10 +2383,10 @@ If FILE is nil, try to load a default file. The default file names are | |||
| 2407 | (setq file (expand-file-name file))) | 2383 | (setq file (expand-file-name file))) |
| 2408 | (tpu-xkeys-file | 2384 | (tpu-xkeys-file |
| 2409 | (setq file (expand-file-name tpu-xkeys-file))) | 2385 | (setq file (expand-file-name tpu-xkeys-file))) |
| 2410 | (tpu-lucid-emacs19-p | 2386 | (tpu-lucid-emacs-p |
| 2411 | (setq file (convert-standard-filename | 2387 | (setq file (convert-standard-filename |
| 2412 | (expand-file-name "~/.tpu-lucid-keys")))) | 2388 | (expand-file-name "~/.tpu-lucid-keys")))) |
| 2413 | (tpu-emacs19-p | 2389 | (t |
| 2414 | (setq file (convert-standard-filename | 2390 | (setq file (convert-standard-filename |
| 2415 | (expand-file-name "~/.tpu-keys"))) | 2391 | (expand-file-name "~/.tpu-keys"))) |
| 2416 | (and (not (file-exists-p file)) | 2392 | (and (not (file-exists-p file)) |
| @@ -2503,6 +2479,10 @@ If FILE is nil, try to load a default file. The default file names are | |||
| 2503 | (setq-default page-delimiter "\f") | 2479 | (setq-default page-delimiter "\f") |
| 2504 | (setq-default truncate-lines t) | 2480 | (setq-default truncate-lines t) |
| 2505 | (setq scroll-step 1) | 2481 | (setq scroll-step 1) |
| 2482 | (setq tpu-original-global-map global-map) | ||
| 2483 | (setq global-map (copy-keymap global-map)) | ||
| 2484 | (define-key global-map "\e[" CSI-map) | ||
| 2485 | (define-key global-map "\eO" SS3-map) | ||
| 2506 | (setq tpu-edt-mode t)))) | 2486 | (setq tpu-edt-mode t)))) |
| 2507 | 2487 | ||
| 2508 | (defun tpu-edt-off nil | 2488 | (defun tpu-edt-off nil |
| @@ -2516,7 +2496,7 @@ If FILE is nil, try to load a default file. The default file names are | |||
| 2516 | (setq-default page-delimiter "^\f") | 2496 | (setq-default page-delimiter "^\f") |
| 2517 | (setq-default truncate-lines nil) | 2497 | (setq-default truncate-lines nil) |
| 2518 | (setq scroll-step 0) | 2498 | (setq scroll-step 0) |
| 2519 | (setq global-map (copy-keymap tpu-original-global-map)) | 2499 | (setq global-map tpu-original-global-map) |
| 2520 | (use-global-map global-map) | 2500 | (use-global-map global-map) |
| 2521 | (setq tpu-edt-mode nil)))) | 2501 | (setq tpu-edt-mode nil)))) |
| 2522 | 2502 | ||
diff --git a/lisp/emulation/vi.el b/lisp/emulation/vi.el index d6b7c2728b2..559d1677347 100644 --- a/lisp/emulation/vi.el +++ b/lisp/emulation/vi.el | |||
| @@ -314,7 +314,7 @@ command extensions.") | |||
| 314 | (put 'mark-defun 'point-moving-unit 'region) | 314 | (put 'mark-defun 'point-moving-unit 'region) |
| 315 | (put 'mark-whole-buffer 'point-moving-unit 'region) | 315 | (put 'mark-whole-buffer 'point-moving-unit 'region) |
| 316 | (put 'mark-end-of-sentence 'point-moving-unit 'region) | 316 | (put 'mark-end-of-sentence 'point-moving-unit 'region) |
| 317 | (put 'mark-c-function 'point-moving-unit 'region) | 317 | (put 'c-mark-function 'point-moving-unit 'region) |
| 318 | ;;; | 318 | ;;; |
| 319 | 319 | ||
| 320 | (defvar vi-mark-alist nil | 320 | (defvar vi-mark-alist nil |
| @@ -637,7 +637,8 @@ insert state." | |||
| 637 | "Go to ARGth line." | 637 | "Go to ARGth line." |
| 638 | (interactive "P") | 638 | (interactive "P") |
| 639 | (if (null (vi-raw-numeric-prefix arg)) | 639 | (if (null (vi-raw-numeric-prefix arg)) |
| 640 | (end-of-buffer) | 640 | (with-no-warnings |
| 641 | (end-of-buffer)) | ||
| 641 | (goto-line (vi-prefix-numeric-value arg)))) | 642 | (goto-line (vi-prefix-numeric-value arg)))) |
| 642 | 643 | ||
| 643 | (defun vi-beginning-of-buffer () | 644 | (defun vi-beginning-of-buffer () |
| @@ -1384,7 +1385,7 @@ l(ines)." | |||
| 1384 | ((char-equal region ?b) (mark-whole-buffer)) | 1385 | ((char-equal region ?b) (mark-whole-buffer)) |
| 1385 | ((char-equal region ?p) (mark-paragraph)) | 1386 | ((char-equal region ?p) (mark-paragraph)) |
| 1386 | ((char-equal region ?P) (mark-page arg)) | 1387 | ((char-equal region ?P) (mark-page arg)) |
| 1387 | ((char-equal region ?f) (mark-c-function)) | 1388 | ((char-equal region ?f) (c-mark-function)) |
| 1388 | ((char-equal region ?w) (mark-word arg)) | 1389 | ((char-equal region ?w) (mark-word arg)) |
| 1389 | ((char-equal region ?e) (mark-end-of-sentence arg)) | 1390 | ((char-equal region ?e) (mark-end-of-sentence arg)) |
| 1390 | ((char-equal region ?l) (vi-mark-lines arg)) | 1391 | ((char-equal region ?l) (vi-mark-lines arg)) |
diff --git a/lisp/emulation/vip.el b/lisp/emulation/vip.el index 7584436e20a..6caa12179c0 100644 --- a/lisp/emulation/vip.el +++ b/lisp/emulation/vip.el | |||
| @@ -1112,9 +1112,10 @@ the query replace mode will toggle between string replace and regexp replace." | |||
| 1112 | (replace-match (vip-read-string | 1112 | (replace-match (vip-read-string |
| 1113 | (format "Replace regexp \"%s\" with: " str)) | 1113 | (format "Replace regexp \"%s\" with: " str)) |
| 1114 | nil nil)) | 1114 | nil nil)) |
| 1115 | (replace-string | 1115 | (with-no-warnings |
| 1116 | str | 1116 | (replace-string |
| 1117 | (vip-read-string (format "Replace \"%s\" with: " str))))))) | 1117 | str |
| 1118 | (vip-read-string (format "Replace \"%s\" with: " str)))))))) | ||
| 1118 | 1119 | ||
| 1119 | 1120 | ||
| 1120 | ;; basic cursor movement. j, k, l, m commands. | 1121 | ;; basic cursor movement. j, k, l, m commands. |
| @@ -2830,7 +2831,8 @@ a token has type \(command, address, end-mark\) and value." | |||
| 2830 | (skip-chars-forward " \t") | 2831 | (skip-chars-forward " \t") |
| 2831 | (if (looking-at "[\n|]") (error "Missing rhs")) | 2832 | (if (looking-at "[\n|]") (error "Missing rhs")) |
| 2832 | (set-mark (point)) | 2833 | (set-mark (point)) |
| 2833 | (end-of-buffer) | 2834 | (with-no-warnings |
| 2835 | (end-of-buffer)) | ||
| 2834 | (backward-char 1) | 2836 | (backward-char 1) |
| 2835 | (setq string (buffer-substring (mark) (point)))) | 2837 | (setq string (buffer-substring (mark) (point)))) |
| 2836 | (if (not (lookup-key ex-map char)) | 2838 | (if (not (lookup-key ex-map char)) |
| @@ -2900,7 +2902,8 @@ a token has type \(command, address, end-mark\) and value." | |||
| 2900 | (setq file (buffer-substring (point) (mark))))) | 2902 | (setq file (buffer-substring (point) (mark))))) |
| 2901 | (if variant | 2903 | (if variant |
| 2902 | (shell-command command t) | 2904 | (shell-command command t) |
| 2903 | (insert-file file)))) | 2905 | (with-no-warnings |
| 2906 | (insert-file file))))) | ||
| 2904 | 2907 | ||
| 2905 | (defun ex-set () | 2908 | (defun ex-set () |
| 2906 | (eval (list 'setq | 2909 | (eval (list 'setq |
diff --git a/lisp/emulation/viper-ex.el b/lisp/emulation/viper-ex.el index c29e0e26ba5..4b1f06f1e9a 100644 --- a/lisp/emulation/viper-ex.el +++ b/lisp/emulation/viper-ex.el | |||
| @@ -58,7 +58,7 @@ | |||
| 58 | (require 'viper-util) | 58 | (require 'viper-util) |
| 59 | 59 | ||
| 60 | (defgroup viper-ex nil | 60 | (defgroup viper-ex nil |
| 61 | "Viper support for Ex commands" | 61 | "Viper support for Ex commands." |
| 62 | :prefix "ex-" | 62 | :prefix "ex-" |
| 63 | :group 'viper) | 63 | :group 'viper) |
| 64 | 64 | ||
diff --git a/lisp/emulation/viper-mous.el b/lisp/emulation/viper-mous.el index 250f7cf5a53..ec3f3ee8225 100644 --- a/lisp/emulation/viper-mous.el +++ b/lisp/emulation/viper-mous.el | |||
| @@ -52,7 +52,7 @@ | |||
| 52 | 52 | ||
| 53 | 53 | ||
| 54 | (defgroup viper-mouse nil | 54 | (defgroup viper-mouse nil |
| 55 | "Support for Viper special mouse-bound commands" | 55 | "Support for Viper special mouse-bound commands." |
| 56 | :prefix "viper-" | 56 | :prefix "viper-" |
| 57 | :group 'viper) | 57 | :group 'viper) |
| 58 | 58 | ||
diff --git a/lisp/eshell/esh-var.el b/lisp/eshell/esh-var.el index f1bd94baabf..10d2100fd00 100644 --- a/lisp/eshell/esh-var.el +++ b/lisp/eshell/esh-var.el | |||
| @@ -28,7 +28,7 @@ | |||
| 28 | (defgroup eshell-var nil | 28 | (defgroup eshell-var nil |
| 29 | "Variable interpolation is introduced whenever the '$' character | 29 | "Variable interpolation is introduced whenever the '$' character |
| 30 | appears unquoted in any argument (except when that argument is | 30 | appears unquoted in any argument (except when that argument is |
| 31 | surrounded by single quotes) . It may be used to interpolate a | 31 | surrounded by single quotes). It may be used to interpolate a |
| 32 | variable value, a subcommand, or even the result of a Lisp form." | 32 | variable value, a subcommand, or even the result of a Lisp form." |
| 33 | :tag "Variable handling" | 33 | :tag "Variable handling" |
| 34 | :group 'eshell) | 34 | :group 'eshell) |
diff --git a/lisp/facemenu.el b/lisp/facemenu.el index 57dea40266a..6dc6124af5d 100644 --- a/lisp/facemenu.el +++ b/lisp/facemenu.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; facemenu.el --- create a face menu for interactively adding fonts to text | 1 | ;;; facemenu.el --- create a face menu for interactively adding fonts to text |
| 2 | 2 | ||
| 3 | ;; Copyright (c) 1994, 1995, 1996, 2001, 2002 Free Software Foundation, Inc. | 3 | ;; Copyright (c) 1994, 1995, 1996, 2001, 2002, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Boris Goldowsky <boris@gnu.org> | 5 | ;; Author: Boris Goldowsky <boris@gnu.org> |
| 6 | ;; Keywords: faces | 6 | ;; Keywords: faces |
| @@ -99,7 +99,7 @@ | |||
| 99 | (define-key global-map "\M-o" 'facemenu-keymap) | 99 | (define-key global-map "\M-o" 'facemenu-keymap) |
| 100 | 100 | ||
| 101 | (defgroup facemenu nil | 101 | (defgroup facemenu nil |
| 102 | "Create a face menu for interactively adding fonts to text" | 102 | "Create a face menu for interactively adding fonts to text." |
| 103 | :group 'faces | 103 | :group 'faces |
| 104 | :prefix "facemenu-") | 104 | :prefix "facemenu-") |
| 105 | 105 | ||
| @@ -365,10 +365,9 @@ typing a character to insert cancels the specification." | |||
| 365 | (region-beginning)) | 365 | (region-beginning)) |
| 366 | (if (and mark-active (not current-prefix-arg)) | 366 | (if (and mark-active (not current-prefix-arg)) |
| 367 | (region-end)))) | 367 | (region-end)))) |
| 368 | (unless (color-defined-p color) | 368 | (facemenu-set-face-from-menu |
| 369 | (message "Color `%s' undefined" color)) | 369 | (facemenu-add-new-color color 'facemenu-foreground-menu) |
| 370 | (facemenu-add-new-color color 'facemenu-foreground-menu) | 370 | start end)) |
| 371 | (facemenu-add-face (list (list :foreground color)) start end)) | ||
| 372 | 371 | ||
| 373 | ;;;###autoload | 372 | ;;;###autoload |
| 374 | (defun facemenu-set-background (color &optional start end) | 373 | (defun facemenu-set-background (color &optional start end) |
| @@ -389,34 +388,41 @@ typing a character to insert cancels the specification." | |||
| 389 | (region-beginning)) | 388 | (region-beginning)) |
| 390 | (if (and mark-active (not current-prefix-arg)) | 389 | (if (and mark-active (not current-prefix-arg)) |
| 391 | (region-end)))) | 390 | (region-end)))) |
| 392 | (unless (color-defined-p color) | 391 | (facemenu-set-face-from-menu |
| 393 | (message "Color `%s' undefined" color)) | 392 | (facemenu-add-new-color color 'facemenu-background-menu) |
| 394 | (facemenu-add-new-color color 'facemenu-background-menu) | 393 | start end)) |
| 395 | (facemenu-add-face (list (list :background color)) start end)) | ||
| 396 | 394 | ||
| 397 | ;;;###autoload | 395 | ;;;###autoload |
| 398 | (defun facemenu-set-face-from-menu (face start end) | 396 | (defun facemenu-set-face-from-menu (face start end) |
| 399 | "Set the FACE of the region or next character typed. | 397 | "Set the FACE of the region or next character typed. |
| 400 | This function is designed to be called from a menu; the face to use | 398 | This function is designed to be called from a menu; FACE is determined |
| 401 | is the menu item's name. | 399 | using the event type of the menu entry. If FACE is a symbol whose |
| 400 | name starts with \"fg:\" or \"bg:\", then this functions sets the | ||
| 401 | foreground or background to the color specified by the rest of the | ||
| 402 | symbol's name. Any other symbol is considered the name of a face. | ||
| 402 | 403 | ||
| 403 | If the region is active (normally true except in Transient Mark mode) | 404 | If the region is active (normally true except in Transient Mark mode) |
| 404 | and there is no prefix argument, this command sets the region to the | 405 | and there is no prefix argument, this command sets the region to the |
| 405 | requested face. | 406 | requested face. |
| 406 | 407 | ||
| 407 | Otherwise, this command specifies the face for the next character | 408 | Otherwise, this command specifies the face for the next character |
| 408 | inserted. Moving point or switching buffers before | 409 | inserted. Moving point or switching buffers before typing a character |
| 409 | typing a character to insert cancels the specification." | 410 | to insert cancels the specification." |
| 410 | (interactive (list last-command-event | 411 | (interactive (list last-command-event |
| 411 | (if (and mark-active (not current-prefix-arg)) | 412 | (if (and mark-active (not current-prefix-arg)) |
| 412 | (region-beginning)) | 413 | (region-beginning)) |
| 413 | (if (and mark-active (not current-prefix-arg)) | 414 | (if (and mark-active (not current-prefix-arg)) |
| 414 | (region-end)))) | 415 | (region-end)))) |
| 415 | (barf-if-buffer-read-only) | 416 | (barf-if-buffer-read-only) |
| 416 | (facemenu-get-face face) | 417 | (facemenu-add-face |
| 417 | (if start | 418 | (let ((fn (symbol-name face))) |
| 418 | (facemenu-add-face face start end) | 419 | (if (string-match "\\`\\([fb]\\)g:\\(.+\\)" fn) |
| 419 | (facemenu-add-face face))) | 420 | (list (list (if (string= (match-string 1 fn) "f") |
| 421 | :foreground | ||
| 422 | :background) | ||
| 423 | (match-string 2 fn))) | ||
| 424 | face)) | ||
| 425 | start end)) | ||
| 420 | 426 | ||
| 421 | ;;;###autoload | 427 | ;;;###autoload |
| 422 | (defun facemenu-set-invisible (start end) | 428 | (defun facemenu-set-invisible (start end) |
| @@ -615,7 +621,9 @@ effect. See `facemenu-remove-face-function'." | |||
| 615 | self-insert-face | 621 | self-insert-face |
| 616 | (list self-insert-face))) | 622 | (list self-insert-face))) |
| 617 | face) | 623 | face) |
| 618 | self-insert-face-command this-command))))) | 624 | self-insert-face-command this-command)))) |
| 625 | (unless (facemenu-enable-faces-p) | ||
| 626 | (message "Font-lock mode will override any faces you set in this buffer"))) | ||
| 619 | 627 | ||
| 620 | (defun facemenu-active-faces (face-list &optional frame) | 628 | (defun facemenu-active-faces (face-list &optional frame) |
| 621 | "Return from FACE-LIST those faces that would be used for display. | 629 | "Return from FACE-LIST those faces that would be used for display. |
| @@ -648,14 +656,6 @@ use the selected frame. If t, then the global, non-frame faces are used." | |||
| 648 | (setq face-list (cdr face-list))) | 656 | (setq face-list (cdr face-list))) |
| 649 | (nreverse active-list))) | 657 | (nreverse active-list))) |
| 650 | 658 | ||
| 651 | (defun facemenu-get-face (symbol) | ||
| 652 | "Make sure FACE exists. | ||
| 653 | If not, create it and add it to the appropriate menu. Return the SYMBOL." | ||
| 654 | (let ((name (symbol-name symbol))) | ||
| 655 | (cond ((facep symbol)) | ||
| 656 | (t (make-face symbol)))) | ||
| 657 | symbol) | ||
| 658 | |||
| 659 | (defun facemenu-add-new-face (face) | 659 | (defun facemenu-add-new-face (face) |
| 660 | "Add FACE (a face) to the Face menu. | 660 | "Add FACE (a face) to the Face menu. |
| 661 | 661 | ||
| @@ -715,47 +715,40 @@ This is called whenever you create a new face." | |||
| 715 | (define-key menu key (cons name function)))))) | 715 | (define-key menu key (cons name function)))))) |
| 716 | nil) ; Return nil for facemenu-iterate | 716 | nil) ; Return nil for facemenu-iterate |
| 717 | 717 | ||
| 718 | (defun facemenu-add-new-color (color &optional menu) | 718 | (defun facemenu-add-new-color (color menu) |
| 719 | "Add COLOR (a color name string) to the appropriate Face menu. | 719 | "Add COLOR (a color name string) to the appropriate Face menu. |
| 720 | MENU should be `facemenu-foreground-menu' or | 720 | MENU should be `facemenu-foreground-menu' or `facemenu-background-menu'. |
| 721 | `facemenu-background-menu'. | 721 | Return the event type (a symbol) of the added menu entry. |
| 722 | 722 | ||
| 723 | This is called whenever you use a new color." | 723 | This is called whenever you use a new color." |
| 724 | (let* (name | 724 | (let (symbol docstring) |
| 725 | symbol | 725 | (unless (color-defined-p color) |
| 726 | docstring | 726 | (error "Color `%s' undefined" color)) |
| 727 | function menu-val key | ||
| 728 | (color-p (memq menu '(facemenu-foreground-menu | ||
| 729 | facemenu-background-menu)))) | ||
| 730 | (unless (stringp color) | ||
| 731 | (error "%s is not a color" color)) | ||
| 732 | (setq name color | ||
| 733 | symbol (intern name)) | ||
| 734 | |||
| 735 | (cond ((eq menu 'facemenu-foreground-menu) | 727 | (cond ((eq menu 'facemenu-foreground-menu) |
| 736 | (setq docstring | 728 | (setq docstring |
| 737 | (format "Select foreground color %s for subsequent insertion." | 729 | (format "Select foreground color %s for subsequent insertion." |
| 738 | name))) | 730 | color) |
| 731 | symbol (intern (concat "fg:" color)))) | ||
| 739 | ((eq menu 'facemenu-background-menu) | 732 | ((eq menu 'facemenu-background-menu) |
| 740 | (setq docstring | 733 | (setq docstring |
| 741 | (format "Select background color %s for subsequent insertion." | 734 | (format "Select background color %s for subsequent insertion." |
| 742 | name)))) | 735 | color) |
| 743 | (cond ((facemenu-iterate ; check if equivalent face is already in the menu | 736 | symbol (intern (concat "bg:" color)))) |
| 744 | (lambda (m) (and (listp m) | 737 | (t (error "MENU should be `facemenu-foreground-menu' or `facemenu-background-menu'"))) |
| 745 | (symbolp (car m)) | 738 | (unless (facemenu-iterate ; Check if color is already in the menu. |
| 746 | (stringp (cadr m)) | 739 | (lambda (m) (and (listp m) |
| 747 | (string-equal (cadr m) color))) | 740 | (eq (car m) symbol))) |
| 748 | (cdr (symbol-function menu)))) | 741 | (cdr (symbol-function menu))) |
| 749 | (t ; No keyboard equivalent. Figure out where to put it: | 742 | ;; Color is not in the menu. Figure out where to put it. |
| 750 | (setq key (vector symbol) | 743 | (let ((key (vector symbol)) |
| 751 | function 'facemenu-set-face-from-menu | 744 | (function 'facemenu-set-face-from-menu) |
| 752 | menu-val (symbol-function menu)) | 745 | (menu-val (symbol-function menu))) |
| 753 | (if (and facemenu-new-faces-at-end | 746 | (if (and facemenu-new-faces-at-end |
| 754 | (> (length menu-val) 3)) | 747 | (> (length menu-val) 3)) |
| 755 | (define-key-after menu-val key (cons name function) | 748 | (define-key-after menu-val key (cons color function) |
| 756 | (car (nth (- (length menu-val) 3) menu-val))) | 749 | (car (nth (- (length menu-val) 3) menu-val))) |
| 757 | (define-key menu key (cons name function)))))) | 750 | (define-key menu key (cons color function))))) |
| 758 | nil) ; Return nil for facemenu-iterate | 751 | symbol)) |
| 759 | 752 | ||
| 760 | (defun facemenu-complete-face-list (&optional oldlist) | 753 | (defun facemenu-complete-face-list (&optional oldlist) |
| 761 | "Return list of all faces that look different. | 754 | "Return list of all faces that look different. |
diff --git a/lisp/faces.el b/lisp/faces.el index 4f577d7ff2e..8211b0ff8e4 100644 --- a/lisp/faces.el +++ b/lisp/faces.el | |||
| @@ -869,7 +869,10 @@ Otherwise, return a single face." | |||
| 869 | (aliasfaces nil) | 869 | (aliasfaces nil) |
| 870 | (nonaliasfaces nil) | 870 | (nonaliasfaces nil) |
| 871 | faces) | 871 | faces) |
| 872 | ;; Make a list of the named faces that the `face' property uses. | 872 | ;; Try to get a face name from the buffer. |
| 873 | (if (memq (intern-soft (thing-at-point 'symbol)) (face-list)) | ||
| 874 | (setq faces (list (intern-soft (thing-at-point 'symbol))))) | ||
| 875 | ;; Add the named faces that the `face' property uses. | ||
| 873 | (if (and (listp faceprop) | 876 | (if (and (listp faceprop) |
| 874 | ;; Don't treat an attribute spec as a list of faces. | 877 | ;; Don't treat an attribute spec as a list of faces. |
| 875 | (not (keywordp (car faceprop))) | 878 | (not (keywordp (car faceprop))) |
| @@ -879,10 +882,6 @@ Otherwise, return a single face." | |||
| 879 | (push f faces))) | 882 | (push f faces))) |
| 880 | (if (symbolp faceprop) | 883 | (if (symbolp faceprop) |
| 881 | (push faceprop faces))) | 884 | (push faceprop faces))) |
| 882 | ;; If there are none, try to get a face name from the buffer. | ||
| 883 | (if (and (null faces) | ||
| 884 | (memq (intern-soft (thing-at-point 'symbol)) (face-list))) | ||
| 885 | (setq faces (list (intern-soft (thing-at-point 'symbol))))) | ||
| 886 | 885 | ||
| 887 | ;; Build up the completion tables. | 886 | ;; Build up the completion tables. |
| 888 | (mapatoms (lambda (s) | 887 | (mapatoms (lambda (s) |
| @@ -896,22 +895,27 @@ Otherwise, return a single face." | |||
| 896 | (unless multiple | 895 | (unless multiple |
| 897 | (if faces | 896 | (if faces |
| 898 | (setq faces (list (car faces))))) | 897 | (setq faces (list (car faces))))) |
| 898 | (require 'crm) | ||
| 899 | (let* ((input | 899 | (let* ((input |
| 900 | ;; Read the input. | 900 | ;; Read the input. |
| 901 | (completing-read | 901 | (completing-read-multiple |
| 902 | (if (or faces string-describing-default) | 902 | (if (or faces string-describing-default) |
| 903 | (format "%s (default %s): " prompt | 903 | (format "%s (default %s): " prompt |
| 904 | (if faces (mapconcat 'symbol-name faces ", ") | 904 | (if faces (mapconcat 'symbol-name faces ",") |
| 905 | string-describing-default)) | 905 | string-describing-default)) |
| 906 | (format "%s: " prompt)) | 906 | (format "%s: " prompt)) |
| 907 | (complete-in-turn nonaliasfaces aliasfaces) nil t)) | 907 | (complete-in-turn nonaliasfaces aliasfaces) |
| 908 | nil t nil nil | ||
| 909 | (if faces (mapconcat 'symbol-name faces ",")))) | ||
| 908 | ;; Canonicalize the output. | 910 | ;; Canonicalize the output. |
| 909 | (output | 911 | (output |
| 910 | (if (equal input "") | 912 | (cond ((or (equal input "") (equal input '(""))) |
| 911 | faces | 913 | faces) |
| 912 | (if (stringp input) | 914 | ((stringp input) |
| 913 | (list (intern input)) | 915 | (mapcar 'intern (split-string input ", *" t))) |
| 914 | input)))) | 916 | ((listp input) |
| 917 | (mapcar 'intern input)) | ||
| 918 | (input)))) | ||
| 915 | ;; Return either a list of faces or just one face. | 919 | ;; Return either a list of faces or just one face. |
| 916 | (if multiple | 920 | (if multiple |
| 917 | output | 921 | output |
| @@ -1915,7 +1919,7 @@ created." | |||
| 1915 | :group 'basic-faces) | 1919 | :group 'basic-faces) |
| 1916 | 1920 | ||
| 1917 | (defface vertical-border | 1921 | (defface vertical-border |
| 1918 | '((default :inherit mode-line-inactive)) | 1922 | '((((type tty)) :inherit mode-line-inactive)) |
| 1919 | "Face used for vertical window dividers on ttys." | 1923 | "Face used for vertical window dividers on ttys." |
| 1920 | :version "22.1" | 1924 | :version "22.1" |
| 1921 | :group 'modeline | 1925 | :group 'modeline |
diff --git a/lisp/find-file.el b/lisp/find-file.el index 26c5cccf8e5..69cafbc75b1 100644 --- a/lisp/find-file.el +++ b/lisp/find-file.el | |||
| @@ -946,18 +946,11 @@ and the name of the file passed in." | |||
| 946 | (defun ff-which-function-are-we-in () | 946 | (defun ff-which-function-are-we-in () |
| 947 | "Return the name of the function whose definition/declaration point is in. | 947 | "Return the name of the function whose definition/declaration point is in. |
| 948 | Also remember that name in `ff-function-name'." | 948 | Also remember that name in `ff-function-name'." |
| 949 | 949 | (setq ff-function-name | |
| 950 | (setq ff-function-name nil) | 950 | (save-excursion |
| 951 | 951 | (if (or (re-search-backward ada-procedure-start-regexp nil t) | |
| 952 | (save-excursion | 952 | (re-search-backward ada-package-start-regexp nil t)) |
| 953 | (if (re-search-backward ada-procedure-start-regexp nil t) | 953 | (match-string 0))))) |
| 954 | (setq ff-function-name (buffer-substring (match-beginning 0) | ||
| 955 | (match-end 0))) | ||
| 956 | ; we didn't find a procedure start, perhaps there is a package | ||
| 957 | (if (re-search-backward ada-package-start-regexp nil t) | ||
| 958 | (setq ff-function-name (buffer-substring (match-beginning 0) | ||
| 959 | (match-end 0))) | ||
| 960 | )))) | ||
| 961 | 954 | ||
| 962 | ;; bind with (setq ff-post-load-hook 'ff-set-point-accordingly) | 955 | ;; bind with (setq ff-post-load-hook 'ff-set-point-accordingly) |
| 963 | ;; | 956 | ;; |
| @@ -971,5 +964,5 @@ That name was previously determined by `ff-which-function-are-we-in'." | |||
| 971 | 964 | ||
| 972 | (provide 'find-file) | 965 | (provide 'find-file) |
| 973 | 966 | ||
| 974 | ;;; arch-tag: 5a2fc49e-3b0a-4708-9acf-fb14e471a97a | 967 | ;; arch-tag: 5a2fc49e-3b0a-4708-9acf-fb14e471a97a |
| 975 | ;;; find-file.el ends here | 968 | ;;; find-file.el ends here |
diff --git a/lisp/font-lock.el b/lisp/font-lock.el index cf15a7d8f87..b70e345e983 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el | |||
| @@ -620,6 +620,7 @@ Major/minor modes can set this variable if they know which option applies.") | |||
| 620 | ;; We use this to preserve or protect things when modifying text properties. | 620 | ;; We use this to preserve or protect things when modifying text properties. |
| 621 | (defmacro save-buffer-state (varlist &rest body) | 621 | (defmacro save-buffer-state (varlist &rest body) |
| 622 | "Bind variables according to VARLIST and eval BODY restoring buffer state." | 622 | "Bind variables according to VARLIST and eval BODY restoring buffer state." |
| 623 | (declare (indent 1) (debug let)) | ||
| 623 | (let ((modified (make-symbol "modified"))) | 624 | (let ((modified (make-symbol "modified"))) |
| 624 | `(let* ,(append varlist | 625 | `(let* ,(append varlist |
| 625 | `((,modified (buffer-modified-p)) | 626 | `((,modified (buffer-modified-p)) |
| @@ -634,8 +635,6 @@ Major/minor modes can set this variable if they know which option applies.") | |||
| 634 | ,@body) | 635 | ,@body) |
| 635 | (unless ,modified | 636 | (unless ,modified |
| 636 | (restore-buffer-modified-p nil))))) | 637 | (restore-buffer-modified-p nil))))) |
| 637 | (put 'save-buffer-state 'lisp-indent-function 1) | ||
| 638 | (def-edebug-spec save-buffer-state let) | ||
| 639 | ;; | 638 | ;; |
| 640 | ;; Shut up the byte compiler. | 639 | ;; Shut up the byte compiler. |
| 641 | (defvar font-lock-face-attributes)) ; Obsolete but respected if set. | 640 | (defvar font-lock-face-attributes)) ; Obsolete but respected if set. |
| @@ -1826,15 +1825,15 @@ Sets various variables using `font-lock-defaults' (or, if nil, using | |||
| 1826 | "Font Lock mode face used to highlight preprocessor directives." | 1825 | "Font Lock mode face used to highlight preprocessor directives." |
| 1827 | :group 'font-lock-highlighting-faces) | 1826 | :group 'font-lock-highlighting-faces) |
| 1828 | 1827 | ||
| 1829 | (defface font-lock-regexp-backslash | 1828 | (defface font-lock-regexp-grouping-backslash |
| 1830 | '((((class color) (min-colors 16)) :inherit escape-glyph) | 1829 | '((((class color) (min-colors 16)) :inherit escape-glyph) |
| 1831 | (t :inherit bold)) | 1830 | (t :inherit bold)) |
| 1832 | "Font Lock mode face used to highlight a backslash in Lisp regexps." | 1831 | "Font Lock mode face for backslashes in Lisp regexp grouping constructs." |
| 1833 | :group 'font-lock-highlighting-faces) | 1832 | :group 'font-lock-highlighting-faces) |
| 1834 | 1833 | ||
| 1835 | (defface font-lock-regexp-backslash-construct | 1834 | (defface font-lock-regexp-grouping-construct |
| 1836 | '((t :inherit bold)) | 1835 | '((t :inherit bold)) |
| 1837 | "Font Lock mode face used to highlight `\' constructs in Lisp regexps." | 1836 | "Font Lock mode face used to highlight grouping constructs in Lisp regexps." |
| 1838 | :group 'font-lock-highlighting-faces) | 1837 | :group 'font-lock-highlighting-faces) |
| 1839 | 1838 | ||
| 1840 | ;;; End of Colour etc. support. | 1839 | ;;; End of Colour etc. support. |
| @@ -2083,22 +2082,22 @@ This function could be MATCHER in a MATCH-ANCHORED `font-lock-keywords' item." | |||
| 2083 | ("\\<:\\sw+\\>" 0 font-lock-builtin-face) | 2082 | ("\\<:\\sw+\\>" 0 font-lock-builtin-face) |
| 2084 | ;; ELisp and CLisp `&' keywords as types. | 2083 | ;; ELisp and CLisp `&' keywords as types. |
| 2085 | ("\\&\\sw+\\>" . font-lock-type-face) | 2084 | ("\\&\\sw+\\>" . font-lock-type-face) |
| 2086 | ;; Make regexp grouping constructs bold, so they stand out, but only | 2085 | ;; ELisp regexp grouping constructs |
| 2087 | ;; in strings. | ||
| 2088 | ((lambda (bound) | 2086 | ((lambda (bound) |
| 2089 | (if (re-search-forward "\\(\\\\\\\\\\)\\((\\(?:?:\\)?\\|[|)]\\)" bound t) | 2087 | (catch 'found |
| 2090 | (let ((face (get-text-property (1- (point)) 'face))) | 2088 | ;; The following loop is needed to continue searching after matches |
| 2091 | (if (listp face) | 2089 | ;; that do not occur in strings. The associated regexp matches one |
| 2092 | (memq 'font-lock-string-face face) | 2090 | ;; of `\\\\' `\\(' `\\(?:' `\\|' `\\)'. `\\\\' has been included to |
| 2093 | (eq 'font-lock-string-face face))))) | 2091 | ;; avoid highlighting, for example, `\\(' in `\\\\('. |
| 2094 | (1 'font-lock-regexp-backslash prepend) | 2092 | (while (re-search-forward "\\(\\\\\\\\\\)\\(?:\\(\\\\\\\\\\)\\|\\((\\(?:\\?:\\)?\\|[|)]\\)\\)" bound t) |
| 2095 | (2 'font-lock-regexp-backslash-construct prepend)) | 2093 | (unless (match-beginning 2) |
| 2096 | 2094 | (let ((face (get-text-property (1- (point)) 'face))) | |
| 2097 | ;; Underline innermost grouping, so that you can more easily see what | 2095 | (when (or (and (listp face) |
| 2098 | ;; belongs together. 2005-05-12: Font-lock can go into an | 2096 | (memq 'font-lock-string-face face)) |
| 2099 | ;; unbreakable endless loop on this -- something's broken. | 2097 | (eq 'font-lock-string-face face)) |
| 2100 | ;;("[\\][\\][(]\\(?:\\?:\\)?\\(\\(?:[^\\\"]+\\|[\\]\\(?:[^\\]\\|[\\][^(]\\)\\)+?\\)[\\][\\][)]" | 2098 | (throw 'found t))))))) |
| 2101 | ;;1 'underline prepend) | 2099 | (1 'font-lock-regexp-grouping-backslash prepend) |
| 2100 | (3 'font-lock-regexp-grouping-construct prepend)) | ||
| 2102 | ;;; This is too general -- rms. | 2101 | ;;; This is too general -- rms. |
| 2103 | ;;; A user complained that he has functions whose names start with `do' | 2102 | ;;; A user complained that he has functions whose names start with `do' |
| 2104 | ;;; and that they get the wrong color. | 2103 | ;;; and that they get the wrong color. |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index b7698350efb..5ffcbb0810b 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,44 @@ | |||
| 1 | 2005-07-04 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * gnus.el (gnus-exit): | ||
| 4 | * gnus-group.el (gnus-group-icons): | ||
| 5 | * nnmail.el (nnmail-prepare): Fix typos in docstrings. | ||
| 6 | |||
| 7 | * gnus-nocem.el (gnus-nocem): | ||
| 8 | * message.el (message-various, message-buffers, message-sending) | ||
| 9 | (message-interface, message-forwarding, message-insertion) | ||
| 10 | (message-headers, message-news, message-mail): | ||
| 11 | * pgg-gpg.el (pgg-gpg): | ||
| 12 | * pgg-parse.el (pgg-parse): | ||
| 13 | * pgg-pgp.el (pgg-pgp): | ||
| 14 | * pgg-pgp5.el (pgg-pgp5): | ||
| 15 | * pop3.el (pop3): Finish `defgroup' description with period. | ||
| 16 | |||
| 17 | 2005-07-01 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 18 | |||
| 19 | * gnus-art.el (article-display-face): Improve the efficiency. | ||
| 20 | (article-display-x-face): Ditto; remove grey x-face stuff. | ||
| 21 | |||
| 22 | 2005-06-30 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 23 | |||
| 24 | * gnus-art.el (article-display-face): Correct the position in | ||
| 25 | which Faces are inserted; use dolist. | ||
| 26 | |||
| 27 | 2005-06-29 Didier Verna <didier@xemacs.org> | ||
| 28 | |||
| 29 | * gnus-art.el (article-display-face): Display faces in correct | ||
| 30 | order. | ||
| 31 | |||
| 32 | 2005-06-29 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 33 | |||
| 34 | * gnus-nocem.el (gnus-nocem-verifyer): Default to pgg-verify. | ||
| 35 | (gnus-nocem-check-article): Fetch the Type header. | ||
| 36 | (gnus-nocem-message-wanted-p): Fix the way to examine types. | ||
| 37 | (gnus-nocem-verify-issuer): Use functionp instead of fboundp. | ||
| 38 | (gnus-nocem-enter-article): Make sure gnus-nocem-hashtb is initialized. | ||
| 39 | |||
| 40 | * pgg.el (pgg-verify): Return the verification result. | ||
| 41 | |||
| 1 | 2005-06-24 Juanma Barranquero <lekktu@gmail.com> | 42 | 2005-06-24 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 43 | ||
| 3 | * gnus-art.el (gnus-article-mode): Set `nobreak-char-display', not | 44 | * gnus-art.el (gnus-article-mode): Set `nobreak-char-display', not |
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index b92ce8616d5..ba2c3ff9618 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -2123,31 +2123,31 @@ unfolded." | |||
| 2123 | ;; read-only. | 2123 | ;; read-only. |
| 2124 | (if (and wash-face-p (memq 'face gnus-article-wash-types)) | 2124 | (if (and wash-face-p (memq 'face gnus-article-wash-types)) |
| 2125 | (gnus-delete-images 'face) | 2125 | (gnus-delete-images 'face) |
| 2126 | (let (face faces) | 2126 | (let (face faces from) |
| 2127 | (save-excursion | 2127 | (save-current-buffer |
| 2128 | (when (and wash-face-p | 2128 | (when (and wash-face-p |
| 2129 | (progn | 2129 | (gnus-buffer-live-p gnus-original-article-buffer) |
| 2130 | (goto-char (point-min)) | 2130 | (not (re-search-forward "^Face:[\t ]*" nil t))) |
| 2131 | (not (re-search-forward "^Face:[\t ]*" nil t))) | ||
| 2132 | (gnus-buffer-live-p gnus-original-article-buffer)) | ||
| 2133 | (set-buffer gnus-original-article-buffer)) | 2131 | (set-buffer gnus-original-article-buffer)) |
| 2134 | (save-restriction | 2132 | (save-restriction |
| 2135 | (mail-narrow-to-head) | 2133 | (mail-narrow-to-head) |
| 2136 | (while (gnus-article-goto-header "Face") | 2134 | (while (gnus-article-goto-header "Face") |
| 2137 | (push (mail-header-field-value) faces)))) | 2135 | (push (mail-header-field-value) faces)))) |
| 2138 | (while (setq face (pop faces)) | 2136 | (when faces |
| 2139 | (let ((png (gnus-convert-face-to-png face)) | 2137 | (goto-char (point-min)) |
| 2140 | image) | 2138 | (let ((from (gnus-article-goto-header "from")) |
| 2141 | (when png | 2139 | png image) |
| 2142 | (setq image (gnus-create-image png 'png t)) | 2140 | (unless from |
| 2143 | (gnus-article-goto-header "from") | 2141 | (insert "From:") |
| 2144 | (when (bobp) | 2142 | (setq from (point)) |
| 2145 | (insert "From: [no `from' set]\n") | 2143 | (insert "[no `from' set]\n")) |
| 2146 | (forward-char -17)) | 2144 | (while faces |
| 2147 | (gnus-add-wash-type 'face) | 2145 | (when (setq png (gnus-convert-face-to-png (pop faces))) |
| 2148 | (gnus-add-image 'face image) | 2146 | (setq image (gnus-create-image png 'png t)) |
| 2149 | (gnus-put-image image nil 'face)))))) | 2147 | (goto-char from) |
| 2150 | ))) | 2148 | (gnus-add-wash-type 'face) |
| 2149 | (gnus-add-image 'face image) | ||
| 2150 | (gnus-put-image image nil 'face)))))))))) | ||
| 2151 | 2151 | ||
| 2152 | (defun article-display-x-face (&optional force) | 2152 | (defun article-display-x-face (&optional force) |
| 2153 | "Look for an X-Face header and display it if present." | 2153 | "Look for an X-Face header and display it if present." |
| @@ -2164,13 +2164,10 @@ unfolded." | |||
| 2164 | (gnus-delete-images 'xface) | 2164 | (gnus-delete-images 'xface) |
| 2165 | ;; Display X-Faces. | 2165 | ;; Display X-Faces. |
| 2166 | (let (x-faces from face) | 2166 | (let (x-faces from face) |
| 2167 | (save-excursion | 2167 | (save-current-buffer |
| 2168 | (when (and wash-face-p | 2168 | (when (and wash-face-p |
| 2169 | (progn | 2169 | (gnus-buffer-live-p gnus-original-article-buffer) |
| 2170 | (goto-char (point-min)) | 2170 | (not (re-search-forward "^X-Face:[\t ]*" nil t))) |
| 2171 | (not (re-search-forward | ||
| 2172 | "^X-Face\\(-[0-9]+\\)?:[\t ]*" nil t))) | ||
| 2173 | (gnus-buffer-live-p gnus-original-article-buffer)) | ||
| 2174 | ;; If type `W f', use gnus-original-article-buffer, | 2171 | ;; If type `W f', use gnus-original-article-buffer, |
| 2175 | ;; otherwise use the current buffer because displaying | 2172 | ;; otherwise use the current buffer because displaying |
| 2176 | ;; RFC822 parts calls this function too. | 2173 | ;; RFC822 parts calls this function too. |
| @@ -2184,35 +2181,36 @@ unfolded." | |||
| 2184 | ;; single external face. | 2181 | ;; single external face. |
| 2185 | (when (stringp gnus-article-x-face-command) | 2182 | (when (stringp gnus-article-x-face-command) |
| 2186 | (setq x-faces (list (car x-faces)))) | 2183 | (setq x-faces (list (car x-faces)))) |
| 2187 | (while (and (setq face (pop x-faces)) | 2184 | (when (and x-faces |
| 2188 | gnus-article-x-face-command | 2185 | gnus-article-x-face-command |
| 2189 | (or force | 2186 | (or force |
| 2190 | ;; Check whether this face is censored. | 2187 | ;; Check whether this face is censored. |
| 2191 | (not gnus-article-x-face-too-ugly) | 2188 | (not gnus-article-x-face-too-ugly) |
| 2192 | (and gnus-article-x-face-too-ugly from | 2189 | (and from |
| 2193 | (not (string-match gnus-article-x-face-too-ugly | 2190 | (not (string-match gnus-article-x-face-too-ugly |
| 2194 | from))))) | 2191 | from))))) |
| 2195 | ;; We display the face. | 2192 | (while (setq face (pop x-faces)) |
| 2196 | (cond ((stringp gnus-article-x-face-command) | 2193 | ;; We display the face. |
| 2197 | ;; The command is a string, so we interpret the command | 2194 | (cond ((stringp gnus-article-x-face-command) |
| 2198 | ;; as a, well, command, and fork it off. | 2195 | ;; The command is a string, so we interpret the command |
| 2199 | (let ((process-connection-type nil)) | 2196 | ;; as a, well, command, and fork it off. |
| 2200 | (gnus-set-process-query-on-exit-flag | 2197 | (let ((process-connection-type nil)) |
| 2201 | (start-process | 2198 | (gnus-set-process-query-on-exit-flag |
| 2202 | "article-x-face" nil shell-file-name | 2199 | (start-process |
| 2203 | shell-command-switch gnus-article-x-face-command) | 2200 | "article-x-face" nil shell-file-name |
| 2204 | nil) | 2201 | shell-command-switch gnus-article-x-face-command) |
| 2205 | (with-temp-buffer | 2202 | nil) |
| 2206 | (insert face) | 2203 | (with-temp-buffer |
| 2207 | (process-send-region "article-x-face" | 2204 | (insert face) |
| 2208 | (point-min) (point-max))) | 2205 | (process-send-region "article-x-face" |
| 2209 | (process-send-eof "article-x-face"))) | 2206 | (point-min) (point-max))) |
| 2210 | ((functionp gnus-article-x-face-command) | 2207 | (process-send-eof "article-x-face"))) |
| 2211 | ;; The command is a lisp function, so we call it. | 2208 | ((functionp gnus-article-x-face-command) |
| 2212 | (funcall gnus-article-x-face-command face)) | 2209 | ;; The command is a lisp function, so we call it. |
| 2213 | (t | 2210 | (funcall gnus-article-x-face-command face)) |
| 2214 | (error "%s is not a function" | 2211 | (t |
| 2215 | gnus-article-x-face-command))))))))) | 2212 | (error "%s is not a function" |
| 2213 | gnus-article-x-face-command)))))))))) | ||
| 2216 | 2214 | ||
| 2217 | (defun article-decode-mime-words () | 2215 | (defun article-decode-mime-words () |
| 2218 | "Decode all MIME-encoded words in the article." | 2216 | "Decode all MIME-encoded words in the article." |
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index 45597b60e88..db45e86ad2c 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el | |||
| @@ -382,7 +382,7 @@ ticked: The number of ticked articles." | |||
| 382 | :type 'character) | 382 | :type 'character) |
| 383 | 383 | ||
| 384 | (defgroup gnus-group-icons nil | 384 | (defgroup gnus-group-icons nil |
| 385 | "Add Icons to your group buffer. " | 385 | "Add Icons to your group buffer." |
| 386 | :group 'gnus-group-visual) | 386 | :group 'gnus-group-visual) |
| 387 | 387 | ||
| 388 | (defcustom gnus-group-icon-list | 388 | (defcustom gnus-group-icon-list |
diff --git a/lisp/gnus/gnus-nocem.el b/lisp/gnus/gnus-nocem.el index 5a5f779b732..0b9d90d8036 100644 --- a/lisp/gnus/gnus-nocem.el +++ b/lisp/gnus/gnus-nocem.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; gnus-nocem.el --- NoCeM pseudo-cancellation treatment | 1 | ;;; gnus-nocem.el --- NoCeM pseudo-cancellation treatment |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2004 | 3 | ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2004, 2005 |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | 6 | ||
| @@ -37,7 +37,7 @@ | |||
| 37 | (require 'gnus-range) | 37 | (require 'gnus-range) |
| 38 | 38 | ||
| 39 | (defgroup gnus-nocem nil | 39 | (defgroup gnus-nocem nil |
| 40 | "NoCeM pseudo-cancellation treatment" | 40 | "NoCeM pseudo-cancellation treatment." |
| 41 | :group 'gnus-score) | 41 | :group 'gnus-score) |
| 42 | 42 | ||
| 43 | (defcustom gnus-nocem-groups | 43 | (defcustom gnus-nocem-groups |
| @@ -74,12 +74,13 @@ issuer registry." | |||
| 74 | :group 'gnus-nocem | 74 | :group 'gnus-nocem |
| 75 | :type 'integer) | 75 | :type 'integer) |
| 76 | 76 | ||
| 77 | (defcustom gnus-nocem-verifyer 'mc-verify | 77 | (defcustom gnus-nocem-verifyer 'pgg-verify |
| 78 | "*Function called to verify that the NoCeM message is valid. | 78 | "*Function called to verify that the NoCeM message is valid. |
| 79 | One likely value is `mc-verify'. If the function in this variable | 79 | One likely value is `pgg-verify'. If the function in this variable |
| 80 | isn't bound, the message will be used unconditionally." | 80 | isn't bound, the message will be used unconditionally." |
| 81 | :group 'gnus-nocem | 81 | :group 'gnus-nocem |
| 82 | :type '(radio (function-item mc-verify) | 82 | :type '(radio (function-item pgg-verify) |
| 83 | (function-item mc-verify) | ||
| 83 | (function :tag "other"))) | 84 | (function :tag "other"))) |
| 84 | 85 | ||
| 85 | (defcustom gnus-nocem-liberal-fetch nil | 86 | (defcustom gnus-nocem-liberal-fetch nil |
| @@ -246,7 +247,7 @@ valid issuer, which is much faster if you are selective about the issuers." | |||
| 246 | ;; We get the name of the issuer. | 247 | ;; We get the name of the issuer. |
| 247 | (narrow-to-region b e) | 248 | (narrow-to-region b e) |
| 248 | (setq issuer (mail-fetch-field "issuer") | 249 | (setq issuer (mail-fetch-field "issuer") |
| 249 | type (mail-fetch-field "issuer")) | 250 | type (mail-fetch-field "type")) |
| 250 | (widen) | 251 | (widen) |
| 251 | (if (not (gnus-nocem-message-wanted-p issuer type)) | 252 | (if (not (gnus-nocem-message-wanted-p issuer type)) |
| 252 | (message "invalid NoCeM issuer: %s" issuer) | 253 | (message "invalid NoCeM issuer: %s" issuer) |
| @@ -267,18 +268,20 @@ valid issuer, which is much faster if you are selective about the issuers." | |||
| 267 | (while (setq condition (pop conditions)) | 268 | (while (setq condition (pop conditions)) |
| 268 | (cond | 269 | (cond |
| 269 | ((stringp condition) | 270 | ((stringp condition) |
| 270 | (setq wanted (string-match condition type))) | 271 | (when (string-match condition type) |
| 272 | (setq wanted t))) | ||
| 271 | ((and (consp condition) | 273 | ((and (consp condition) |
| 272 | (eq (car condition) 'not) | 274 | (eq (car condition) 'not) |
| 273 | (stringp (cadr condition))) | 275 | (stringp (cadr condition))) |
| 274 | (setq wanted (not (string-match (cadr condition) type)))) | 276 | (when (string-match (cadr condition) type) |
| 277 | (setq wanted nil))) | ||
| 275 | (t | 278 | (t |
| 276 | (error "Invalid NoCeM condition: %S" condition)))) | 279 | (error "Invalid NoCeM condition: %S" condition)))) |
| 277 | wanted)))) | 280 | wanted)))) |
| 278 | 281 | ||
| 279 | (defun gnus-nocem-verify-issuer (person) | 282 | (defun gnus-nocem-verify-issuer (person) |
| 280 | "Verify using PGP that the canceler is who she says she is." | 283 | "Verify using PGP that the canceler is who she says she is." |
| 281 | (if (fboundp gnus-nocem-verifyer) | 284 | (if (functionp gnus-nocem-verifyer) |
| 282 | (ignore-errors | 285 | (ignore-errors |
| 283 | (funcall gnus-nocem-verifyer)) | 286 | (funcall gnus-nocem-verifyer)) |
| 284 | ;; If we don't have Mailcrypt, then we use the message anyway. | 287 | ;; If we don't have Mailcrypt, then we use the message anyway. |
| @@ -315,7 +318,10 @@ valid issuer, which is much faster if you are selective about the issuers." | |||
| 315 | (while (eq (char-after) ?\t) | 318 | (while (eq (char-after) ?\t) |
| 316 | (forward-line -1)) | 319 | (forward-line -1)) |
| 317 | (setq id (buffer-substring (point) (1- (search-forward "\t")))) | 320 | (setq id (buffer-substring (point) (1- (search-forward "\t")))) |
| 318 | (unless (gnus-gethash id gnus-nocem-hashtb) | 321 | (unless (if gnus-nocem-hashtb |
| 322 | (gnus-gethash id gnus-nocem-hashtb) | ||
| 323 | (setq gnus-nocem-hashtb (gnus-make-hashtable)) | ||
| 324 | nil) | ||
| 319 | ;; only store if not already present | 325 | ;; only store if not already present |
| 320 | (gnus-sethash id t gnus-nocem-hashtb) | 326 | (gnus-sethash id t gnus-nocem-hashtb) |
| 321 | (push id ncm)) | 327 | (push id ncm)) |
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el index afba1ea427e..629240b9e90 100644 --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el | |||
| @@ -273,7 +273,7 @@ is restarted, and sometimes reloaded." | |||
| 273 | :group 'gnus) | 273 | :group 'gnus) |
| 274 | 274 | ||
| 275 | (defgroup gnus-exit nil | 275 | (defgroup gnus-exit nil |
| 276 | "Exiting gnus." | 276 | "Exiting Gnus." |
| 277 | :link '(custom-manual "(gnus)Exiting Gnus") | 277 | :link '(custom-manual "(gnus)Exiting Gnus") |
| 278 | :group 'gnus) | 278 | :group 'gnus) |
| 279 | 279 | ||
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 7b8a289a4e4..a38c3d1f1c2 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -62,46 +62,46 @@ | |||
| 62 | (put 'user-full-name 'custom-type 'string) | 62 | (put 'user-full-name 'custom-type 'string) |
| 63 | 63 | ||
| 64 | (defgroup message-various nil | 64 | (defgroup message-various nil |
| 65 | "Various Message Variables" | 65 | "Various Message Variables." |
| 66 | :link '(custom-manual "(message)Various Message Variables") | 66 | :link '(custom-manual "(message)Various Message Variables") |
| 67 | :group 'message) | 67 | :group 'message) |
| 68 | 68 | ||
| 69 | (defgroup message-buffers nil | 69 | (defgroup message-buffers nil |
| 70 | "Message Buffers" | 70 | "Message Buffers." |
| 71 | :link '(custom-manual "(message)Message Buffers") | 71 | :link '(custom-manual "(message)Message Buffers") |
| 72 | :group 'message) | 72 | :group 'message) |
| 73 | 73 | ||
| 74 | (defgroup message-sending nil | 74 | (defgroup message-sending nil |
| 75 | "Message Sending" | 75 | "Message Sending." |
| 76 | :link '(custom-manual "(message)Sending Variables") | 76 | :link '(custom-manual "(message)Sending Variables") |
| 77 | :group 'message) | 77 | :group 'message) |
| 78 | 78 | ||
| 79 | (defgroup message-interface nil | 79 | (defgroup message-interface nil |
| 80 | "Message Interface" | 80 | "Message Interface." |
| 81 | :link '(custom-manual "(message)Interface") | 81 | :link '(custom-manual "(message)Interface") |
| 82 | :group 'message) | 82 | :group 'message) |
| 83 | 83 | ||
| 84 | (defgroup message-forwarding nil | 84 | (defgroup message-forwarding nil |
| 85 | "Message Forwarding" | 85 | "Message Forwarding." |
| 86 | :link '(custom-manual "(message)Forwarding") | 86 | :link '(custom-manual "(message)Forwarding") |
| 87 | :group 'message-interface) | 87 | :group 'message-interface) |
| 88 | 88 | ||
| 89 | (defgroup message-insertion nil | 89 | (defgroup message-insertion nil |
| 90 | "Message Insertion" | 90 | "Message Insertion." |
| 91 | :link '(custom-manual "(message)Insertion") | 91 | :link '(custom-manual "(message)Insertion") |
| 92 | :group 'message) | 92 | :group 'message) |
| 93 | 93 | ||
| 94 | (defgroup message-headers nil | 94 | (defgroup message-headers nil |
| 95 | "Message Headers" | 95 | "Message Headers." |
| 96 | :link '(custom-manual "(message)Message Headers") | 96 | :link '(custom-manual "(message)Message Headers") |
| 97 | :group 'message) | 97 | :group 'message) |
| 98 | 98 | ||
| 99 | (defgroup message-news nil | 99 | (defgroup message-news nil |
| 100 | "Composing News Messages" | 100 | "Composing News Messages." |
| 101 | :group 'message) | 101 | :group 'message) |
| 102 | 102 | ||
| 103 | (defgroup message-mail nil | 103 | (defgroup message-mail nil |
| 104 | "Composing Mail Messages" | 104 | "Composing Mail Messages." |
| 105 | :group 'message) | 105 | :group 'message) |
| 106 | 106 | ||
| 107 | (defgroup message-faces nil | 107 | (defgroup message-faces nil |
diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el index affe72c75c8..da8c148373c 100644 --- a/lisp/gnus/nnmail.el +++ b/lisp/gnus/nnmail.el | |||
| @@ -49,7 +49,7 @@ | |||
| 49 | :group 'nnmail) | 49 | :group 'nnmail) |
| 50 | 50 | ||
| 51 | (defgroup nnmail-prepare nil | 51 | (defgroup nnmail-prepare nil |
| 52 | "Preparing (or mangling) new mail after retrival." | 52 | "Preparing (or mangling) new mail after retrieval." |
| 53 | :group 'nnmail) | 53 | :group 'nnmail) |
| 54 | 54 | ||
| 55 | (defgroup nnmail-duplicate nil | 55 | (defgroup nnmail-duplicate nil |
diff --git a/lisp/gnus/pgg-gpg.el b/lisp/gnus/pgg-gpg.el index 463020838c9..d419a4b9310 100644 --- a/lisp/gnus/pgg-gpg.el +++ b/lisp/gnus/pgg-gpg.el | |||
| @@ -30,7 +30,7 @@ | |||
| 30 | (require 'pgg)) | 30 | (require 'pgg)) |
| 31 | 31 | ||
| 32 | (defgroup pgg-gpg () | 32 | (defgroup pgg-gpg () |
| 33 | "GnuPG interface" | 33 | "GnuPG interface." |
| 34 | :group 'pgg) | 34 | :group 'pgg) |
| 35 | 35 | ||
| 36 | (defcustom pgg-gpg-program "gpg" | 36 | (defcustom pgg-gpg-program "gpg" |
diff --git a/lisp/gnus/pgg-parse.el b/lisp/gnus/pgg-parse.el index 7929b54010d..bd62510e838 100644 --- a/lisp/gnus/pgg-parse.el +++ b/lisp/gnus/pgg-parse.el | |||
| @@ -40,7 +40,7 @@ | |||
| 40 | (require 'custom) | 40 | (require 'custom) |
| 41 | 41 | ||
| 42 | (defgroup pgg-parse () | 42 | (defgroup pgg-parse () |
| 43 | "OpenPGP packet parsing" | 43 | "OpenPGP packet parsing." |
| 44 | :group 'pgg) | 44 | :group 'pgg) |
| 45 | 45 | ||
| 46 | (defcustom pgg-parse-public-key-algorithm-alist | 46 | (defcustom pgg-parse-public-key-algorithm-alist |
diff --git a/lisp/gnus/pgg-pgp.el b/lisp/gnus/pgg-pgp.el index ca686e9f1a6..2f552401215 100644 --- a/lisp/gnus/pgg-pgp.el +++ b/lisp/gnus/pgg-pgp.el | |||
| @@ -30,7 +30,7 @@ | |||
| 30 | (require 'pgg)) | 30 | (require 'pgg)) |
| 31 | 31 | ||
| 32 | (defgroup pgg-pgp () | 32 | (defgroup pgg-pgp () |
| 33 | "PGP 2.* and 6.* interface" | 33 | "PGP 2.* and 6.* interface." |
| 34 | :group 'pgg) | 34 | :group 'pgg) |
| 35 | 35 | ||
| 36 | (defcustom pgg-pgp-program "pgp" | 36 | (defcustom pgg-pgp-program "pgp" |
diff --git a/lisp/gnus/pgg-pgp5.el b/lisp/gnus/pgg-pgp5.el index 372cf48c473..2cd6bf08815 100644 --- a/lisp/gnus/pgg-pgp5.el +++ b/lisp/gnus/pgg-pgp5.el | |||
| @@ -30,7 +30,7 @@ | |||
| 30 | (require 'pgg)) | 30 | (require 'pgg)) |
| 31 | 31 | ||
| 32 | (defgroup pgg-pgp5 () | 32 | (defgroup pgg-pgp5 () |
| 33 | "PGP 5.* interface" | 33 | "PGP 5.* interface." |
| 34 | :group 'pgg) | 34 | :group 'pgg) |
| 35 | 35 | ||
| 36 | (defcustom pgg-pgp5-pgpe-program "pgpe" | 36 | (defcustom pgg-pgp5-pgpe-program "pgpe" |
diff --git a/lisp/gnus/pgg.el b/lisp/gnus/pgg.el index eff02a1c32a..ca351c90cd2 100644 --- a/lisp/gnus/pgg.el +++ b/lisp/gnus/pgg.el | |||
| @@ -380,7 +380,8 @@ within the region." | |||
| 380 | (with-output-to-temp-buffer pgg-echo-buffer | 380 | (with-output-to-temp-buffer pgg-echo-buffer |
| 381 | (set-buffer standard-output) | 381 | (set-buffer standard-output) |
| 382 | (insert-buffer-substring (if status pgg-output-buffer | 382 | (insert-buffer-substring (if status pgg-output-buffer |
| 383 | pgg-errors-buffer))))))) | 383 | pgg-errors-buffer))))) |
| 384 | status)) | ||
| 384 | 385 | ||
| 385 | ;;;###autoload | 386 | ;;;###autoload |
| 386 | (defun pgg-insert-key () | 387 | (defun pgg-insert-key () |
diff --git a/lisp/gnus/pop3.el b/lisp/gnus/pop3.el index b8d827e7d9a..94a6cf8c0ab 100644 --- a/lisp/gnus/pop3.el +++ b/lisp/gnus/pop3.el | |||
| @@ -39,7 +39,7 @@ | |||
| 39 | (require 'mail-utils) | 39 | (require 'mail-utils) |
| 40 | 40 | ||
| 41 | (defgroup pop3 nil | 41 | (defgroup pop3 nil |
| 42 | "Post Office Protocol" | 42 | "Post Office Protocol." |
| 43 | :group 'mail | 43 | :group 'mail |
| 44 | :group 'mail-source) | 44 | :group 'mail-source) |
| 45 | 45 | ||
diff --git a/lisp/help-fns.el b/lisp/help-fns.el index d36695faa74..c62447316b9 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el | |||
| @@ -275,9 +275,9 @@ face (according to `face-differs-from-default-p')." | |||
| 275 | ;; This is heuristic, but covers all common cases | 275 | ;; This is heuristic, but covers all common cases |
| 276 | ;; except ARG1-ARG2 | 276 | ;; except ARG1-ARG2 |
| 277 | (concat "\\<" ; beginning of word | 277 | (concat "\\<" ; beginning of word |
| 278 | "\\(?:[a-z-]+-\\)?" ; for xxx-ARG | 278 | "\\(?:[a-z-]*-\\)?" ; for xxx-ARG |
| 279 | "\\(" | 279 | "\\(" |
| 280 | arg | 280 | (regexp-quote arg) |
| 281 | "\\)" | 281 | "\\)" |
| 282 | "\\(?:es\\|s\\|th\\)?" ; for ARGth, ARGs | 282 | "\\(?:es\\|s\\|th\\)?" ; for ARGth, ARGs |
| 283 | "\\(?:-[a-z-]+\\)?" ; for ARG-xxx | 283 | "\\(?:-[a-z-]+\\)?" ; for ARG-xxx |
diff --git a/lisp/imenu.el b/lisp/imenu.el index 0ebdbc4b5f3..2248ece3dbd 100644 --- a/lisp/imenu.el +++ b/lisp/imenu.el | |||
| @@ -877,7 +877,7 @@ Return one of the entries in index-alist or nil." | |||
| 877 | (if (not imenu-space-replacement) index-alist | 877 | (if (not imenu-space-replacement) index-alist |
| 878 | (mapcar | 878 | (mapcar |
| 879 | (lambda (item) | 879 | (lambda (item) |
| 880 | (cons (subst-char-in-string ?\ (aref imenu-space-replacement 0) | 880 | (cons (subst-char-in-string ?\s (aref imenu-space-replacement 0) |
| 881 | (car item)) | 881 | (car item)) |
| 882 | (cdr item))) | 882 | (cdr item))) |
| 883 | index-alist)))) | 883 | index-alist)))) |
diff --git a/lisp/indent.el b/lisp/indent.el index 9713268f03b..11f01068397 100644 --- a/lisp/indent.el +++ b/lisp/indent.el | |||
| @@ -29,7 +29,7 @@ | |||
| 29 | ;;; Code: | 29 | ;;; Code: |
| 30 | 30 | ||
| 31 | (defgroup indent nil | 31 | (defgroup indent nil |
| 32 | "Indentation commands" | 32 | "Indentation commands." |
| 33 | :group 'editing) | 33 | :group 'editing) |
| 34 | 34 | ||
| 35 | (defcustom standard-indent 4 | 35 | (defcustom standard-indent 4 |
diff --git a/lisp/info.el b/lisp/info.el index 20e031c1347..2f9ec3c4f0f 100644 --- a/lisp/info.el +++ b/lisp/info.el | |||
| @@ -38,7 +38,7 @@ | |||
| 38 | (eval-when-compile (require 'jka-compr)) | 38 | (eval-when-compile (require 'jka-compr)) |
| 39 | 39 | ||
| 40 | (defgroup info nil | 40 | (defgroup info nil |
| 41 | "Info subsystem" | 41 | "Info subsystem." |
| 42 | :group 'help | 42 | :group 'help |
| 43 | :group 'docs) | 43 | :group 'docs) |
| 44 | 44 | ||
| @@ -2868,7 +2868,7 @@ Build a menu of the possible matches." | |||
| 2868 | (while (progn (setq flag (not (pos-visible-in-window-p (point-max)))) | 2868 | (while (progn (setq flag (not (pos-visible-in-window-p (point-max)))) |
| 2869 | (message (if flag "Type Space to see more" | 2869 | (message (if flag "Type Space to see more" |
| 2870 | "Type Space to return to Info")) | 2870 | "Type Space to return to Info")) |
| 2871 | (if (not (eq ?\ (setq ch (read-event)))) | 2871 | (if (not (eq ?\s (setq ch (read-event)))) |
| 2872 | (progn (setq unread-command-events (list ch)) nil) | 2872 | (progn (setq unread-command-events (list ch)) nil) |
| 2873 | flag)) | 2873 | flag)) |
| 2874 | (scroll-up))) | 2874 | (scroll-up))) |
| @@ -3196,6 +3196,8 @@ With a zero prefix arg, put the name inside a function call to `info'." | |||
| 3196 | (put 'Info-mode 'mode-class 'special) | 3196 | (put 'Info-mode 'mode-class 'special) |
| 3197 | (put 'Info-mode 'no-clone-indirect t) | 3197 | (put 'Info-mode 'no-clone-indirect t) |
| 3198 | 3198 | ||
| 3199 | (defvar tool-bar-map) | ||
| 3200 | |||
| 3199 | (defun Info-mode () | 3201 | (defun Info-mode () |
| 3200 | "Info mode provides commands for browsing through the Info documentation tree. | 3202 | "Info mode provides commands for browsing through the Info documentation tree. |
| 3201 | Documentation in Info is divided into \"nodes\", each of which discusses | 3203 | Documentation in Info is divided into \"nodes\", each of which discusses |
diff --git a/lisp/jka-cmpr-hook.el b/lisp/jka-cmpr-hook.el index 79b47130baf..62d83f9e93e 100644 --- a/lisp/jka-cmpr-hook.el +++ b/lisp/jka-cmpr-hook.el | |||
| @@ -32,11 +32,11 @@ | |||
| 32 | ;;; Code: | 32 | ;;; Code: |
| 33 | 33 | ||
| 34 | (defgroup compression nil | 34 | (defgroup compression nil |
| 35 | "Data compression utilities" | 35 | "Data compression utilities." |
| 36 | :group 'data) | 36 | :group 'data) |
| 37 | 37 | ||
| 38 | (defgroup jka-compr nil | 38 | (defgroup jka-compr nil |
| 39 | "jka-compr customization" | 39 | "jka-compr customization." |
| 40 | :group 'compression) | 40 | :group 'compression) |
| 41 | 41 | ||
| 42 | ;;; I have this defined so that .Z files are assumed to be in unix | 42 | ;;; I have this defined so that .Z files are assumed to be in unix |
diff --git a/lisp/lpr.el b/lisp/lpr.el index 0eac7b7ba31..445c793fcdd 100644 --- a/lisp/lpr.el +++ b/lisp/lpr.el | |||
| @@ -41,7 +41,7 @@ | |||
| 41 | 41 | ||
| 42 | 42 | ||
| 43 | (defgroup lpr nil | 43 | (defgroup lpr nil |
| 44 | "Print Emacs buffer on line printer" | 44 | "Print Emacs buffer on line printer." |
| 45 | :group 'wp) | 45 | :group 'wp) |
| 46 | 46 | ||
| 47 | 47 | ||
| @@ -291,7 +291,7 @@ The characters tab, linefeed, space, return and formfeed are not affected." | |||
| 291 | (while (re-search-forward "[\^@-\^h\^k\^n-\^_\177-\377]" nil t) | 291 | (while (re-search-forward "[\^@-\^h\^k\^n-\^_\177-\377]" nil t) |
| 292 | (setq c (preceding-char)) | 292 | (setq c (preceding-char)) |
| 293 | (delete-backward-char 1) | 293 | (delete-backward-char 1) |
| 294 | (insert (if (< c ?\ ) | 294 | (insert (if (< c ?\s) |
| 295 | (format "\\^%c" (+ c ?@)) | 295 | (format "\\^%c" (+ c ?@)) |
| 296 | (format "\\%02x" c)))))))) | 296 | (format "\\%02x" c)))))))) |
| 297 | 297 | ||
diff --git a/lisp/mail/mailalias.el b/lisp/mail/mailalias.el index d4c5c2c3261..db904277ab5 100644 --- a/lisp/mail/mailalias.el +++ b/lisp/mail/mailalias.el | |||
| @@ -33,7 +33,7 @@ | |||
| 33 | (require 'sendmail) | 33 | (require 'sendmail) |
| 34 | 34 | ||
| 35 | (defgroup mailalias nil | 35 | (defgroup mailalias nil |
| 36 | "Expanding mail aliases" | 36 | "Expanding mail aliases." |
| 37 | :group 'mail) | 37 | :group 'mail) |
| 38 | 38 | ||
| 39 | (defcustom mail-passwd-files '("/etc/passwd") | 39 | (defcustom mail-passwd-files '("/etc/passwd") |
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el index 9c647126d5c..5bf6af743b3 100644 --- a/lisp/mail/rmailsum.el +++ b/lisp/mail/rmailsum.el | |||
| @@ -54,6 +54,14 @@ | |||
| 54 | ("{ \\([^\n}]+\\) }" 1 font-lock-comment-face)) ; Labels. | 54 | ("{ \\([^\n}]+\\) }" 1 font-lock-comment-face)) ; Labels. |
| 55 | "Additional expressions to highlight in Rmail Summary mode.") | 55 | "Additional expressions to highlight in Rmail Summary mode.") |
| 56 | 56 | ||
| 57 | (defvar rmail-summary-redo | ||
| 58 | "(FUNCTION . ARGS) to regenerate this Rmail summary buffer.") | ||
| 59 | |||
| 60 | (defvar rmail-summary-overlay nil) | ||
| 61 | (put 'rmail-summary-overlay 'permanent-local t) | ||
| 62 | |||
| 63 | (defvar rmail-summary-mode-map nil) | ||
| 64 | |||
| 57 | ;; Entry points for making a summary buffer. | 65 | ;; Entry points for making a summary buffer. |
| 58 | 66 | ||
| 59 | ;; Regenerate the contents of the summary | 67 | ;; Regenerate the contents of the summary |
| @@ -165,6 +173,8 @@ SENDERS is a string of names separated by commas." | |||
| 165 | 173 | ||
| 166 | (defvar rmail-summary-symbol-number 0) | 174 | (defvar rmail-summary-symbol-number 0) |
| 167 | 175 | ||
| 176 | (defvar rmail-new-summary-line-count) | ||
| 177 | |||
| 168 | (defun rmail-new-summary (description redo-form function &rest args) | 178 | (defun rmail-new-summary (description redo-form function &rest args) |
| 169 | "Create a summary of selected messages. | 179 | "Create a summary of selected messages. |
| 170 | DESCRIPTION makes part of the mode line of the summary buffer. | 180 | DESCRIPTION makes part of the mode line of the summary buffer. |
| @@ -187,7 +197,7 @@ nil for FUNCTION means all messages." | |||
| 187 | (setq mesg rmail-current-message) | 197 | (setq mesg rmail-current-message) |
| 188 | ;; Filter the messages; make or get their summary lines. | 198 | ;; Filter the messages; make or get their summary lines. |
| 189 | (let ((summary-msgs ()) | 199 | (let ((summary-msgs ()) |
| 190 | (new-summary-line-count 0)) | 200 | (rmail-new-summary-line-count 0)) |
| 191 | (let ((msgnum 1) | 201 | (let ((msgnum 1) |
| 192 | (buffer-read-only nil) | 202 | (buffer-read-only nil) |
| 193 | (old-min (point-min-marker)) | 203 | (old-min (point-min-marker)) |
| @@ -263,11 +273,11 @@ nil for FUNCTION means all messages." | |||
| 263 | (defun rmail-make-summary-line (msg) | 273 | (defun rmail-make-summary-line (msg) |
| 264 | (let ((line (or (aref rmail-summary-vector (1- msg)) | 274 | (let ((line (or (aref rmail-summary-vector (1- msg)) |
| 265 | (progn | 275 | (progn |
| 266 | (setq new-summary-line-count | 276 | (setq rmail-new-summary-line-count |
| 267 | (1+ new-summary-line-count)) | 277 | (1+ rmail-new-summary-line-count)) |
| 268 | (if (zerop (% new-summary-line-count 10)) | 278 | (if (zerop (% rmail-new-summary-line-count 10)) |
| 269 | (message "Computing summary lines...%d" | 279 | (message "Computing summary lines...%d" |
| 270 | new-summary-line-count)) | 280 | rmail-new-summary-line-count)) |
| 271 | (rmail-make-summary-line-1 msg))))) | 281 | (rmail-make-summary-line-1 msg))))) |
| 272 | ;; Fix up the part of the summary that says "deleted" or "unseen". | 282 | ;; Fix up the part of the summary that says "deleted" or "unseen". |
| 273 | (aset line 5 | 283 | (aset line 5 |
| @@ -842,8 +852,6 @@ Search, the `unseen' attribute is restored.") | |||
| 842 | (rmail-show-message msg-num t)))))) | 852 | (rmail-show-message msg-num t)))))) |
| 843 | (rmail-summary-update-highlight nil))))) | 853 | (rmail-summary-update-highlight nil))))) |
| 844 | 854 | ||
| 845 | (defvar rmail-summary-mode-map nil) | ||
| 846 | |||
| 847 | (if rmail-summary-mode-map | 855 | (if rmail-summary-mode-map |
| 848 | nil | 856 | nil |
| 849 | (setq rmail-summary-mode-map (make-keymap)) | 857 | (setq rmail-summary-mode-map (make-keymap)) |
| @@ -1037,9 +1045,6 @@ Search, the `unseen' attribute is restored.") | |||
| 1037 | (define-key rmail-summary-mode-map [menu-bar move next] | 1045 | (define-key rmail-summary-mode-map [menu-bar move next] |
| 1038 | '("Next" . rmail-summary-next-all)) | 1046 | '("Next" . rmail-summary-next-all)) |
| 1039 | 1047 | ||
| 1040 | (defvar rmail-summary-overlay nil) | ||
| 1041 | (put 'rmail-summary-overlay 'permanent-local t) | ||
| 1042 | |||
| 1043 | (defun rmail-summary-mouse-goto-message (event) | 1048 | (defun rmail-summary-mouse-goto-message (event) |
| 1044 | "Select the message whose summary line you click on." | 1049 | "Select the message whose summary line you click on." |
| 1045 | (interactive "@e") | 1050 | (interactive "@e") |
| @@ -1191,7 +1196,8 @@ move to the previous message." | |||
| 1191 | (or (eq buffer (window-buffer (next-window (frame-first-window)))) | 1196 | (or (eq buffer (window-buffer (next-window (frame-first-window)))) |
| 1192 | (delete-other-windows))) | 1197 | (delete-other-windows))) |
| 1193 | (pop-to-buffer rmail-view-buffer)) | 1198 | (pop-to-buffer rmail-view-buffer)) |
| 1194 | (beginning-of-buffer) | 1199 | (with-no-warnings |
| 1200 | (beginning-of-buffer)) | ||
| 1195 | (pop-to-buffer rmail-summary-buffer)) | 1201 | (pop-to-buffer rmail-summary-buffer)) |
| 1196 | 1202 | ||
| 1197 | (defun rmail-summary-bury () | 1203 | (defun rmail-summary-bury () |
| @@ -1275,12 +1281,14 @@ argument says to read a file name and use that file as the inbox." | |||
| 1275 | (defun rmail-summary-first-message () | 1281 | (defun rmail-summary-first-message () |
| 1276 | "Show first message in Rmail file from summary buffer." | 1282 | "Show first message in Rmail file from summary buffer." |
| 1277 | (interactive) | 1283 | (interactive) |
| 1278 | (beginning-of-buffer)) | 1284 | (with-no-warnings |
| 1285 | (beginning-of-buffer))) | ||
| 1279 | 1286 | ||
| 1280 | (defun rmail-summary-last-message () | 1287 | (defun rmail-summary-last-message () |
| 1281 | "Show last message in Rmail file from summary buffer." | 1288 | "Show last message in Rmail file from summary buffer." |
| 1282 | (interactive) | 1289 | (interactive) |
| 1283 | (end-of-buffer) | 1290 | (with-no-warnings |
| 1291 | (end-of-buffer)) | ||
| 1284 | (forward-line -1)) | 1292 | (forward-line -1)) |
| 1285 | 1293 | ||
| 1286 | (defvar rmail-summary-edit-map nil) | 1294 | (defvar rmail-summary-edit-map nil) |
diff --git a/lisp/mail/supercite.el b/lisp/mail/supercite.el index 593f46cad40..137d7d51b53 100644 --- a/lisp/mail/supercite.el +++ b/lisp/mail/supercite.el | |||
| @@ -44,28 +44,28 @@ | |||
| 44 | ;; vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv | 44 | ;; vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv |
| 45 | 45 | ||
| 46 | (defgroup supercite nil | 46 | (defgroup supercite nil |
| 47 | "Supercite package" | 47 | "Supercite package." |
| 48 | :prefix "sc-" | 48 | :prefix "sc-" |
| 49 | :group 'mail | 49 | :group 'mail |
| 50 | :group 'news) | 50 | :group 'news) |
| 51 | 51 | ||
| 52 | (defgroup supercite-frames nil | 52 | (defgroup supercite-frames nil |
| 53 | "Supercite (regi) frames" | 53 | "Supercite (regi) frames." |
| 54 | :prefix "sc-" | 54 | :prefix "sc-" |
| 55 | :group 'supercite) | 55 | :group 'supercite) |
| 56 | 56 | ||
| 57 | (defgroup supercite-attr nil | 57 | (defgroup supercite-attr nil |
| 58 | "Supercite attributions" | 58 | "Supercite attributions." |
| 59 | :prefix "sc-" | 59 | :prefix "sc-" |
| 60 | :group 'supercite) | 60 | :group 'supercite) |
| 61 | 61 | ||
| 62 | (defgroup supercite-cite nil | 62 | (defgroup supercite-cite nil |
| 63 | "Supercite citings" | 63 | "Supercite citings." |
| 64 | :prefix "sc-" | 64 | :prefix "sc-" |
| 65 | :group 'supercite) | 65 | :group 'supercite) |
| 66 | 66 | ||
| 67 | (defgroup supercite-hooks nil | 67 | (defgroup supercite-hooks nil |
| 68 | "Hooking into supercite" | 68 | "Hooking into supercite." |
| 69 | :prefix "sc-" | 69 | :prefix "sc-" |
| 70 | :group 'supercite) | 70 | :group 'supercite) |
| 71 | 71 | ||
| @@ -1317,6 +1317,8 @@ use it instead of `sc-citation-root-regexp'." | |||
| 1317 | sc-citation-delimiter | 1317 | sc-citation-delimiter |
| 1318 | sc-citation-separator)) | 1318 | sc-citation-separator)) |
| 1319 | 1319 | ||
| 1320 | (defvar filladapt-prefix-table) | ||
| 1321 | |||
| 1320 | (defun sc-setup-filladapt () | 1322 | (defun sc-setup-filladapt () |
| 1321 | "Setup `filladapt-prefix-table' to handle Supercited paragraphs." | 1323 | "Setup `filladapt-prefix-table' to handle Supercited paragraphs." |
| 1322 | (let* ((fa-sc-elt 'filladapt-supercite-included-text) | 1324 | (let* ((fa-sc-elt 'filladapt-supercite-included-text) |
diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in index b4569c26140..ce451560bc4 100644 --- a/lisp/makefile.w32-in +++ b/lisp/makefile.w32-in | |||
| @@ -312,8 +312,11 @@ bootstrap-clean-SH: | |||
| 312 | -for dir in . $(WINS); do rm -f $$dir/*.elc; done | 312 | -for dir in . $(WINS); do rm -f $$dir/*.elc; done |
| 313 | 313 | ||
| 314 | # Generate/update files for the bootstrap process. | 314 | # Generate/update files for the bootstrap process. |
| 315 | # When done, remove bootstrap-emacs from ../bin, so that | ||
| 316 | # it will not be mistaken for an installed binary. | ||
| 315 | 317 | ||
| 316 | bootstrap: update-subdirs autoloads compile finder-data custom-deps | 318 | bootstrap: update-subdirs autoloads compile finder-data custom-deps |
| 319 | - $(DEL) $(EMACS) | ||
| 317 | 320 | ||
| 318 | # | 321 | # |
| 319 | # Assuming INSTALL_DIR is defined, copy the elisp files to it | 322 | # Assuming INSTALL_DIR is defined, copy the elisp files to it |
diff --git a/lisp/mouse.el b/lisp/mouse.el index 07e593a70c1..03740e780d5 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el | |||
| @@ -1857,7 +1857,7 @@ and selects that window." | |||
| 1857 | (string< (buffer-name elt1) (buffer-name elt2)))))) | 1857 | (string< (buffer-name elt1) (buffer-name elt2)))))) |
| 1858 | (setq tail buffers) | 1858 | (setq tail buffers) |
| 1859 | (while tail | 1859 | (while tail |
| 1860 | (or (eq ?\ (aref (buffer-name (car tail)) 0)) | 1860 | (or (eq ?\s (aref (buffer-name (car tail)) 0)) |
| 1861 | (setq maxlen | 1861 | (setq maxlen |
| 1862 | (max maxlen | 1862 | (max maxlen |
| 1863 | (length (buffer-name (car tail)))))) | 1863 | (length (buffer-name (car tail)))))) |
diff --git a/lisp/msb.el b/lisp/msb.el index 0bcdad314a6..02ab487bc69 100644 --- a/lisp/msb.el +++ b/lisp/msb.el | |||
| @@ -489,7 +489,7 @@ See the function `mouse-select-buffer' and the variable | |||
| 489 | "Return t if optional BUFFER is an \"invisible\" buffer. | 489 | "Return t if optional BUFFER is an \"invisible\" buffer. |
| 490 | If the argument is left out or nil, then the current buffer is considered." | 490 | If the argument is left out or nil, then the current buffer is considered." |
| 491 | (and (> (length (buffer-name buffer)) 0) | 491 | (and (> (length (buffer-name buffer)) 0) |
| 492 | (eq ?\ (aref (buffer-name buffer) 0)))) | 492 | (eq ?\s (aref (buffer-name buffer) 0)))) |
| 493 | 493 | ||
| 494 | (defun msb--strip-dir (dir) | 494 | (defun msb--strip-dir (dir) |
| 495 | "Strip one hierarchy level from the end of DIR." | 495 | "Strip one hierarchy level from the end of DIR." |
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index cd5c2d41f98..87e3dcab5a3 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el | |||
| @@ -799,6 +799,8 @@ to use." | |||
| 799 | 799 | ||
| 800 | ;; --- Default MS-Windows browser --- | 800 | ;; --- Default MS-Windows browser --- |
| 801 | 801 | ||
| 802 | (defvar dos-windows-version) | ||
| 803 | |||
| 802 | (defun browse-url-default-windows-browser (url &optional new-window) | 804 | (defun browse-url-default-windows-browser (url &optional new-window) |
| 803 | (interactive (browse-url-interactive-arg "URL: ")) | 805 | (interactive (browse-url-interactive-arg "URL: ")) |
| 804 | (if (eq system-type 'ms-dos) | 806 | (if (eq system-type 'ms-dos) |
diff --git a/lisp/net/rcompile.el b/lisp/net/rcompile.el index 6928b2f4943..aab6430a839 100644 --- a/lisp/net/rcompile.el +++ b/lisp/net/rcompile.el | |||
| @@ -70,7 +70,7 @@ | |||
| 70 | ;;;; user defined variables | 70 | ;;;; user defined variables |
| 71 | 71 | ||
| 72 | (defgroup remote-compile nil | 72 | (defgroup remote-compile nil |
| 73 | "Run a compilation on a remote machine" | 73 | "Run a compilation on a remote machine." |
| 74 | :group 'processes | 74 | :group 'processes |
| 75 | :group 'tools) | 75 | :group 'tools) |
| 76 | 76 | ||
diff --git a/lisp/net/rlogin.el b/lisp/net/rlogin.el index 3ad66166ece..c0f7b619142 100644 --- a/lisp/net/rlogin.el +++ b/lisp/net/rlogin.el | |||
| @@ -41,7 +41,7 @@ | |||
| 41 | (require 'shell) | 41 | (require 'shell) |
| 42 | 42 | ||
| 43 | (defgroup rlogin nil | 43 | (defgroup rlogin nil |
| 44 | "Remote login interface" | 44 | "Remote login interface." |
| 45 | :group 'processes | 45 | :group 'processes |
| 46 | :group 'unix) | 46 | :group 'unix) |
| 47 | 47 | ||
diff --git a/lisp/newcomment.el b/lisp/newcomment.el index 59044da6ef9..590e6ce37ba 100644 --- a/lisp/newcomment.el +++ b/lisp/newcomment.el | |||
| @@ -502,7 +502,7 @@ Point is assumed to be just at the end of a comment." | |||
| 502 | (or (match-end 1) (/= (current-column) (current-indentation)))) | 502 | (or (match-end 1) (/= (current-column) (current-indentation)))) |
| 503 | 0 | 503 | 0 |
| 504 | (when (or (/= (current-column) (current-indentation)) | 504 | (when (or (/= (current-column) (current-indentation)) |
| 505 | (and (> comment-add 0) (looking-at "\\s<\\S<"))) | 505 | (and (> comment-add 0) (looking-at "\\s<\\(\\S<\\|\\'\\)"))) |
| 506 | comment-column))) | 506 | comment-column))) |
| 507 | 507 | ||
| 508 | ;;;###autoload | 508 | ;;;###autoload |
diff --git a/lisp/obsolete/ooutline.el b/lisp/obsolete/ooutline.el index 0218d097b64..588770f7e75 100644 --- a/lisp/obsolete/ooutline.el +++ b/lisp/obsolete/ooutline.el | |||
| @@ -33,7 +33,7 @@ | |||
| 33 | ;; Jan '86, Some new features added by Peter Desnoyers and rewritten by RMS. | 33 | ;; Jan '86, Some new features added by Peter Desnoyers and rewritten by RMS. |
| 34 | 34 | ||
| 35 | (defgroup outlines nil | 35 | (defgroup outlines nil |
| 36 | "Support for hierarchical outlining" | 36 | "Support for hierarchical outlining." |
| 37 | :prefix "outline-" | 37 | :prefix "outline-" |
| 38 | :group 'editing) | 38 | :group 'editing) |
| 39 | 39 | ||
diff --git a/lisp/outline.el b/lisp/outline.el index b807365f733..62d2e57933f 100644 --- a/lisp/outline.el +++ b/lisp/outline.el | |||
| @@ -38,7 +38,7 @@ | |||
| 38 | ;;; Code: | 38 | ;;; Code: |
| 39 | 39 | ||
| 40 | (defgroup outlines nil | 40 | (defgroup outlines nil |
| 41 | "Support for hierarchical outlining" | 41 | "Support for hierarchical outlining." |
| 42 | :prefix "outline-" | 42 | :prefix "outline-" |
| 43 | :group 'editing) | 43 | :group 'editing) |
| 44 | 44 | ||
diff --git a/lisp/pcmpl-cvs.el b/lisp/pcmpl-cvs.el index d5003d5de08..805f42ea41a 100644 --- a/lisp/pcmpl-cvs.el +++ b/lisp/pcmpl-cvs.el | |||
| @@ -33,7 +33,7 @@ | |||
| 33 | (require 'executable) | 33 | (require 'executable) |
| 34 | 34 | ||
| 35 | (defgroup pcmpl-cvs nil | 35 | (defgroup pcmpl-cvs nil |
| 36 | "Functions for dealing with CVS completions" | 36 | "Functions for dealing with CVS completions." |
| 37 | :group 'pcomplete) | 37 | :group 'pcomplete) |
| 38 | 38 | ||
| 39 | ;; User Variables: | 39 | ;; User Variables: |
diff --git a/lisp/pcmpl-rpm.el b/lisp/pcmpl-rpm.el index 683819b54ff..e4d6ebc1a80 100644 --- a/lisp/pcmpl-rpm.el +++ b/lisp/pcmpl-rpm.el | |||
| @@ -30,7 +30,7 @@ | |||
| 30 | (require 'pcomplete) | 30 | (require 'pcomplete) |
| 31 | 31 | ||
| 32 | (defgroup pcmpl-rpm nil | 32 | (defgroup pcmpl-rpm nil |
| 33 | "Functions for dealing with CVS completions" | 33 | "Functions for dealing with CVS completions." |
| 34 | :group 'pcomplete) | 34 | :group 'pcomplete) |
| 35 | 35 | ||
| 36 | ;; Functions: | 36 | ;; Functions: |
diff --git a/lisp/play/decipher.el b/lisp/play/decipher.el index 9ef8d0fd01f..86e6a35b646 100644 --- a/lisp/play/decipher.el +++ b/lisp/play/decipher.el | |||
| @@ -772,7 +772,7 @@ See `decipher-loop-no-breaks' if you do not care about word divisions." | |||
| 772 | (forward-char)) | 772 | (forward-char)) |
| 773 | (or (equal decipher-char ?\ ) | 773 | (or (equal decipher-char ?\ ) |
| 774 | (progn | 774 | (progn |
| 775 | (setq decipher-char ?\ ; | 775 | (setq decipher-char ?\s |
| 776 | decipher--loop-prev-char ?\ ) | 776 | decipher--loop-prev-char ?\ ) |
| 777 | (funcall func))))))) | 777 | (funcall func))))))) |
| 778 | 778 | ||
diff --git a/lisp/printing.el b/lisp/printing.el index 868ea3fddf3..2dbe460c0cc 100644 --- a/lisp/printing.el +++ b/lisp/printing.el | |||
| @@ -1179,7 +1179,7 @@ If SUFFIX is non-nil, add that at the end of the file name." | |||
| 1179 | 1179 | ||
| 1180 | 1180 | ||
| 1181 | (defgroup printing nil | 1181 | (defgroup printing nil |
| 1182 | "Printing Utilities group" | 1182 | "Printing Utilities group." |
| 1183 | :tag "Printing Utilities" | 1183 | :tag "Printing Utilities" |
| 1184 | :link '(emacs-library-link :tag "Source Lisp File" "printing.el") | 1184 | :link '(emacs-library-link :tag "Source Lisp File" "printing.el") |
| 1185 | :prefix "pr-" | 1185 | :prefix "pr-" |
| @@ -6058,7 +6058,7 @@ COMMAND.exe, COMMAND.bat and COMMAND.com in this order." | |||
| 6058 | ;; header | 6058 | ;; header |
| 6059 | (let ((versions (concat "printing v" pr-version | 6059 | (let ((versions (concat "printing v" pr-version |
| 6060 | " ps-print v" ps-print-version))) | 6060 | " ps-print v" ps-print-version))) |
| 6061 | (widget-insert (make-string (- 79 (length versions)) ?\ ) versions)) | 6061 | (widget-insert (make-string (- 79 (length versions)) ?\s) versions)) |
| 6062 | (pr-insert-italic "\nCurrent Directory : " 1) | 6062 | (pr-insert-italic "\nCurrent Directory : " 1) |
| 6063 | (pr-insert-italic default-directory) | 6063 | (pr-insert-italic default-directory) |
| 6064 | 6064 | ||
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 3f3b385c5ed..f8da248535b 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el | |||
| @@ -493,25 +493,60 @@ starting the compilation process.") | |||
| 493 | ;; backward-compatibility alias | 493 | ;; backward-compatibility alias |
| 494 | (put 'compilation-info-face 'face-alias 'compilation-info) | 494 | (put 'compilation-info-face 'face-alias 'compilation-info) |
| 495 | 495 | ||
| 496 | (defface compilation-error-file-name | ||
| 497 | '((default :inherit font-lock-warning-face) | ||
| 498 | (((supports :underline t)) :underline t)) | ||
| 499 | "Face for displaying file names in compilation errors." | ||
| 500 | :group 'font-lock-highlighting-faces | ||
| 501 | :version "22.1") | ||
| 502 | |||
| 503 | (defface compilation-warning-file-name | ||
| 504 | '((default :inherit font-lock-warning-face) | ||
| 505 | (((supports :underline t)) :underline t)) | ||
| 506 | "Face for displaying file names in compilation errors." | ||
| 507 | :group 'font-lock-highlighting-faces | ||
| 508 | :version "22.1") | ||
| 509 | |||
| 510 | (defface compilation-info-file-name | ||
| 511 | '((default :inherit compilation-info) | ||
| 512 | (((supports :underline t)) :underline t)) | ||
| 513 | "Face for displaying file names in compilation errors." | ||
| 514 | :group 'font-lock-highlighting-faces | ||
| 515 | :version "22.1") | ||
| 516 | |||
| 517 | (defface compilation-line-number | ||
| 518 | '((default :inherit font-lock-variable-name-face) | ||
| 519 | (((supports :underline t)) :underline t)) | ||
| 520 | "Face for displaying file names in compilation errors." | ||
| 521 | :group 'font-lock-highlighting-faces | ||
| 522 | :version "22.1") | ||
| 523 | |||
| 524 | (defface compilation-column-number | ||
| 525 | '((default :inherit font-lock-type-face) | ||
| 526 | (((supports :underline t)) :underline t)) | ||
| 527 | "Face for displaying file names in compilation errors." | ||
| 528 | :group 'font-lock-highlighting-faces | ||
| 529 | :version "22.1") | ||
| 530 | |||
| 496 | (defvar compilation-message-face nil | 531 | (defvar compilation-message-face nil |
| 497 | "Face name to use for whole messages. | 532 | "Face name to use for whole messages. |
| 498 | Faces `compilation-error-face', `compilation-warning-face', | 533 | Faces `compilation-error-face', `compilation-warning-face', |
| 499 | `compilation-info-face', `compilation-line-face' and | 534 | `compilation-info-face', `compilation-line-face' and |
| 500 | `compilation-column-face' get prepended to this, when applicable.") | 535 | `compilation-column-face' get prepended to this, when applicable.") |
| 501 | 536 | ||
| 502 | (defvar compilation-error-face 'font-lock-warning-face | 537 | (defvar compilation-error-face 'compilation-error-file-name |
| 503 | "Face name to use for file name in error messages.") | 538 | "Face name to use for file name in error messages.") |
| 504 | 539 | ||
| 505 | (defvar compilation-warning-face 'compilation-warning | 540 | (defvar compilation-warning-face 'compilation-warning-file-name |
| 506 | "Face name to use for file name in warning messages.") | 541 | "Face name to use for file name in warning messages.") |
| 507 | 542 | ||
| 508 | (defvar compilation-info-face 'compilation-info | 543 | (defvar compilation-info-face 'compilation-info-file-name |
| 509 | "Face name to use for file name in informational messages.") | 544 | "Face name to use for file name in informational messages.") |
| 510 | 545 | ||
| 511 | (defvar compilation-line-face 'font-lock-variable-name-face | 546 | (defvar compilation-line-face 'compilation-line-number |
| 512 | "Face name to use for line number in message.") | 547 | "Face name to use for line number in message.") |
| 513 | 548 | ||
| 514 | (defvar compilation-column-face 'font-lock-type-face | 549 | (defvar compilation-column-face 'compilation-column-number |
| 515 | "Face name to use for column number in message.") | 550 | "Face name to use for column number in message.") |
| 516 | 551 | ||
| 517 | ;; same faces as dired uses | 552 | ;; same faces as dired uses |
| @@ -1342,8 +1377,9 @@ Turning the mode on runs the normal hook `compilation-minor-mode-hook'." | |||
| 1342 | (force-mode-line-update) | 1377 | (force-mode-line-update) |
| 1343 | (if (and opoint (< opoint omax)) | 1378 | (if (and opoint (< opoint omax)) |
| 1344 | (goto-char opoint)) | 1379 | (goto-char opoint)) |
| 1345 | (if compilation-finish-function | 1380 | (with-no-warnings |
| 1346 | (funcall compilation-finish-function (current-buffer) msg)) | 1381 | (if compilation-finish-function |
| 1382 | (funcall compilation-finish-function (current-buffer) msg))) | ||
| 1347 | (let ((functions compilation-finish-functions)) | 1383 | (let ((functions compilation-finish-functions)) |
| 1348 | (while functions | 1384 | (while functions |
| 1349 | (funcall (car functions) (current-buffer) msg) | 1385 | (funcall (car functions) (current-buffer) msg) |
| @@ -1501,8 +1537,9 @@ Use this command in a compilation log buffer. Sets the mark at point there." | |||
| 1501 | 1537 | ||
| 1502 | ;;;###autoload | 1538 | ;;;###autoload |
| 1503 | (defun compilation-next-error-function (n &optional reset) | 1539 | (defun compilation-next-error-function (n &optional reset) |
| 1540 | "Advance to the next error message and visit the file where the error was. | ||
| 1541 | This is the value of `next-error-function' in Compilation buffers." | ||
| 1504 | (interactive "p") | 1542 | (interactive "p") |
| 1505 | (set-buffer (compilation-find-buffer)) | ||
| 1506 | (when reset | 1543 | (when reset |
| 1507 | (setq compilation-current-error nil)) | 1544 | (setq compilation-current-error nil)) |
| 1508 | (let* ((columns compilation-error-screen-columns) ; buffer's local value | 1545 | (let* ((columns compilation-error-screen-columns) ; buffer's local value |
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index d95c0294c4d..052df4eedda 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el | |||
| @@ -1516,7 +1516,8 @@ or as help on variables `cperl-tips', `cperl-problems', | |||
| 1516 | (t | 1516 | (t |
| 1517 | '((cperl-load-font-lock-keywords | 1517 | '((cperl-load-font-lock-keywords |
| 1518 | cperl-load-font-lock-keywords-1 | 1518 | cperl-load-font-lock-keywords-1 |
| 1519 | cperl-load-font-lock-keywords-2))))) | 1519 | cperl-load-font-lock-keywords-2) |
| 1520 | nil nil ((?_ . "w")))))) | ||
| 1520 | (make-local-variable 'cperl-syntax-state) | 1521 | (make-local-variable 'cperl-syntax-state) |
| 1521 | (if cperl-use-syntax-table-text-property | 1522 | (if cperl-use-syntax-table-text-property |
| 1522 | (progn | 1523 | (progn |
| @@ -3840,7 +3841,11 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', | |||
| 3840 | (and (buffer-modified-p) | 3841 | (and (buffer-modified-p) |
| 3841 | (not modified) | 3842 | (not modified) |
| 3842 | (set-buffer-modified-p nil)) | 3843 | (set-buffer-modified-p nil)) |
| 3843 | (set-syntax-table cperl-mode-syntax-table)) | 3844 | ;; I do not understand what this is doing here. It breaks font-locking |
| 3845 | ;; because it resets the syntax-table from font-lock-syntax-table to | ||
| 3846 | ;; cperl-mode-syntax-table. | ||
| 3847 | ;; (set-syntax-table cperl-mode-syntax-table) | ||
| 3848 | ) | ||
| 3844 | (car err-l))) | 3849 | (car err-l))) |
| 3845 | 3850 | ||
| 3846 | (defun cperl-backward-to-noncomment (lim) | 3851 | (defun cperl-backward-to-noncomment (lim) |
| @@ -4350,7 +4355,7 @@ indentation and initial hashes. Behaves usually outside of comment." | |||
| 4350 | fill-column) | 4355 | fill-column) |
| 4351 | (let ((c (save-excursion (beginning-of-line) | 4356 | (let ((c (save-excursion (beginning-of-line) |
| 4352 | (cperl-to-comment-or-eol) (point))) | 4357 | (cperl-to-comment-or-eol) (point))) |
| 4353 | (s (memq (following-char) '(?\ ?\t))) marker) | 4358 | (s (memq (following-char) '(?\s ?\t))) marker) |
| 4354 | (if (>= c (point)) | 4359 | (if (>= c (point)) |
| 4355 | ;; Don't break line inside code: only inside comment. | 4360 | ;; Don't break line inside code: only inside comment. |
| 4356 | nil | 4361 | nil |
| @@ -4361,11 +4366,11 @@ indentation and initial hashes. Behaves usually outside of comment." | |||
| 4361 | (if (bolp) (progn (re-search-forward "#+[ \t]*") | 4366 | (if (bolp) (progn (re-search-forward "#+[ \t]*") |
| 4362 | (goto-char (match-end 0)))) | 4367 | (goto-char (match-end 0)))) |
| 4363 | ;; Following space could have gone: | 4368 | ;; Following space could have gone: |
| 4364 | (if (or (not s) (memq (following-char) '(?\ ?\t))) nil | 4369 | (if (or (not s) (memq (following-char) '(?\s ?\t))) nil |
| 4365 | (insert " ") | 4370 | (insert " ") |
| 4366 | (backward-char 1)) | 4371 | (backward-char 1)) |
| 4367 | ;; Previous space could have gone: | 4372 | ;; Previous space could have gone: |
| 4368 | (or (memq (preceding-char) '(?\ ?\t)) (insert " ")))))) | 4373 | (or (memq (preceding-char) '(?\s ?\t)) (insert " ")))))) |
| 4369 | 4374 | ||
| 4370 | (defun cperl-imenu-addback (lst &optional isback name) | 4375 | (defun cperl-imenu-addback (lst &optional isback name) |
| 4371 | ;; We suppose that the lst is a DAG, unless the first element only | 4376 | ;; We suppose that the lst is a DAG, unless the first element only |
diff --git a/lisp/progmodes/delphi.el b/lisp/progmodes/delphi.el index 166e5b8984e..00ed882c852 100644 --- a/lisp/progmodes/delphi.el +++ b/lisp/progmodes/delphi.el | |||
| @@ -88,7 +88,7 @@ | |||
| 88 | ) | 88 | ) |
| 89 | 89 | ||
| 90 | (defgroup delphi nil | 90 | (defgroup delphi nil |
| 91 | "Major mode for editing Delphi source in Emacs" | 91 | "Major mode for editing Delphi source in Emacs." |
| 92 | :version "21.1" | 92 | :version "21.1" |
| 93 | :group 'languages) | 93 | :group 'languages) |
| 94 | 94 | ||
| @@ -1510,7 +1510,7 @@ before the indent, the point is moved to the indent." | |||
| 1510 | (set-marker-insertion-type marked-point t) | 1510 | (set-marker-insertion-type marked-point t) |
| 1511 | (when (/= old-indent new-indent) | 1511 | (when (/= old-indent new-indent) |
| 1512 | (delete-region line-start (point)) | 1512 | (delete-region line-start (point)) |
| 1513 | (insert (make-string new-indent ?\ ))) | 1513 | (insert (make-string new-indent ?\s))) |
| 1514 | (goto-char marked-point) | 1514 | (goto-char marked-point) |
| 1515 | (set-marker marked-point nil)))) | 1515 | (set-marker marked-point nil)))) |
| 1516 | 1516 | ||
| @@ -1775,7 +1775,7 @@ An error is raised if not in a comment." | |||
| 1775 | (comment-end (delphi-token-end end-comment)) | 1775 | (comment-end (delphi-token-end end-comment)) |
| 1776 | (content-start (delphi-comment-content-start start-comment)) | 1776 | (content-start (delphi-comment-content-start start-comment)) |
| 1777 | (content-indent (delphi-column-of content-start)) | 1777 | (content-indent (delphi-column-of content-start)) |
| 1778 | (content-prefix (make-string content-indent ?\ )) | 1778 | (content-prefix (make-string content-indent ?\s)) |
| 1779 | (content-prefix-re delphi-leading-spaces-re) | 1779 | (content-prefix-re delphi-leading-spaces-re) |
| 1780 | (p nil) | 1780 | (p nil) |
| 1781 | (marked-point (point-marker))) ; Maintain our position reliably. | 1781 | (marked-point (point-marker))) ; Maintain our position reliably. |
| @@ -1783,9 +1783,9 @@ An error is raised if not in a comment." | |||
| 1783 | ;; // style comments need more work. | 1783 | ;; // style comments need more work. |
| 1784 | (setq content-prefix | 1784 | (setq content-prefix |
| 1785 | (let ((comment-indent (delphi-column-of comment-start))) | 1785 | (let ((comment-indent (delphi-column-of comment-start))) |
| 1786 | (concat (make-string comment-indent ?\ ) "//" | 1786 | (concat (make-string comment-indent ?\s) "//" |
| 1787 | (make-string (- content-indent comment-indent 2) | 1787 | (make-string (- content-indent comment-indent 2) |
| 1788 | ?\ ))) | 1788 | ?\s))) |
| 1789 | content-prefix-re (concat delphi-leading-spaces-re | 1789 | content-prefix-re (concat delphi-leading-spaces-re |
| 1790 | "//" | 1790 | "//" |
| 1791 | delphi-spaces-re) | 1791 | delphi-spaces-re) |
| @@ -1857,8 +1857,8 @@ comment block. If not in a // comment, just does a normal newline." | |||
| 1857 | (comment-start (delphi-token-start start-comment)) | 1857 | (comment-start (delphi-token-start start-comment)) |
| 1858 | (content-start (delphi-comment-content-start start-comment)) | 1858 | (content-start (delphi-comment-content-start start-comment)) |
| 1859 | (prefix | 1859 | (prefix |
| 1860 | (concat (make-string (delphi-column-of comment-start) ?\ ) "//" | 1860 | (concat (make-string (delphi-column-of comment-start) ?\s) "//" |
| 1861 | (make-string (- content-start comment-start 2) ?\ )))) | 1861 | (make-string (- content-start comment-start 2) ?\s)))) |
| 1862 | (delete-horizontal-space) | 1862 | (delete-horizontal-space) |
| 1863 | (newline) | 1863 | (newline) |
| 1864 | (insert prefix))))) | 1864 | (insert prefix))))) |
diff --git a/lisp/progmodes/ebnf2ps.el b/lisp/progmodes/ebnf2ps.el index 1a680ffa077..22240a3a205 100644 --- a/lisp/progmodes/ebnf2ps.el +++ b/lisp/progmodes/ebnf2ps.el | |||
| @@ -1135,14 +1135,14 @@ Elements of ALIST that are not conses are ignored." | |||
| 1135 | ;;; Interface to the command system | 1135 | ;;; Interface to the command system |
| 1136 | 1136 | ||
| 1137 | (defgroup postscript nil | 1137 | (defgroup postscript nil |
| 1138 | "PostScript Group" | 1138 | "PostScript Group." |
| 1139 | :tag "PostScript" | 1139 | :tag "PostScript" |
| 1140 | :version "20" | 1140 | :version "20" |
| 1141 | :group 'emacs) | 1141 | :group 'emacs) |
| 1142 | 1142 | ||
| 1143 | 1143 | ||
| 1144 | (defgroup ebnf2ps nil | 1144 | (defgroup ebnf2ps nil |
| 1145 | "Translate an EBNF to a syntactic chart on PostScript" | 1145 | "Translate an EBNF to a syntactic chart on PostScript." |
| 1146 | :prefix "ebnf-" | 1146 | :prefix "ebnf-" |
| 1147 | :version "20" | 1147 | :version "20" |
| 1148 | :group 'wp | 1148 | :group 'wp |
| @@ -1150,7 +1150,7 @@ Elements of ALIST that are not conses are ignored." | |||
| 1150 | 1150 | ||
| 1151 | 1151 | ||
| 1152 | (defgroup ebnf-special nil | 1152 | (defgroup ebnf-special nil |
| 1153 | "Special customization" | 1153 | "Special customization." |
| 1154 | :prefix "ebnf-" | 1154 | :prefix "ebnf-" |
| 1155 | :tag "Special" | 1155 | :tag "Special" |
| 1156 | :version "20" | 1156 | :version "20" |
| @@ -1158,7 +1158,7 @@ Elements of ALIST that are not conses are ignored." | |||
| 1158 | 1158 | ||
| 1159 | 1159 | ||
| 1160 | (defgroup ebnf-except nil | 1160 | (defgroup ebnf-except nil |
| 1161 | "Except customization" | 1161 | "Except customization." |
| 1162 | :prefix "ebnf-" | 1162 | :prefix "ebnf-" |
| 1163 | :tag "Except" | 1163 | :tag "Except" |
| 1164 | :version "20" | 1164 | :version "20" |
| @@ -1166,7 +1166,7 @@ Elements of ALIST that are not conses are ignored." | |||
| 1166 | 1166 | ||
| 1167 | 1167 | ||
| 1168 | (defgroup ebnf-repeat nil | 1168 | (defgroup ebnf-repeat nil |
| 1169 | "Repeat customization" | 1169 | "Repeat customization." |
| 1170 | :prefix "ebnf-" | 1170 | :prefix "ebnf-" |
| 1171 | :tag "Repeat" | 1171 | :tag "Repeat" |
| 1172 | :version "20" | 1172 | :version "20" |
| @@ -1174,7 +1174,7 @@ Elements of ALIST that are not conses are ignored." | |||
| 1174 | 1174 | ||
| 1175 | 1175 | ||
| 1176 | (defgroup ebnf-terminal nil | 1176 | (defgroup ebnf-terminal nil |
| 1177 | "Terminal customization" | 1177 | "Terminal customization." |
| 1178 | :prefix "ebnf-" | 1178 | :prefix "ebnf-" |
| 1179 | :tag "Terminal" | 1179 | :tag "Terminal" |
| 1180 | :version "20" | 1180 | :version "20" |
| @@ -1182,7 +1182,7 @@ Elements of ALIST that are not conses are ignored." | |||
| 1182 | 1182 | ||
| 1183 | 1183 | ||
| 1184 | (defgroup ebnf-non-terminal nil | 1184 | (defgroup ebnf-non-terminal nil |
| 1185 | "Non-Terminal customization" | 1185 | "Non-Terminal customization." |
| 1186 | :prefix "ebnf-" | 1186 | :prefix "ebnf-" |
| 1187 | :tag "Non-Terminal" | 1187 | :tag "Non-Terminal" |
| 1188 | :version "20" | 1188 | :version "20" |
| @@ -1190,7 +1190,7 @@ Elements of ALIST that are not conses are ignored." | |||
| 1190 | 1190 | ||
| 1191 | 1191 | ||
| 1192 | (defgroup ebnf-production nil | 1192 | (defgroup ebnf-production nil |
| 1193 | "Production customization" | 1193 | "Production customization." |
| 1194 | :prefix "ebnf-" | 1194 | :prefix "ebnf-" |
| 1195 | :tag "Production" | 1195 | :tag "Production" |
| 1196 | :version "20" | 1196 | :version "20" |
| @@ -1198,7 +1198,7 @@ Elements of ALIST that are not conses are ignored." | |||
| 1198 | 1198 | ||
| 1199 | 1199 | ||
| 1200 | (defgroup ebnf-shape nil | 1200 | (defgroup ebnf-shape nil |
| 1201 | "Shapes customization" | 1201 | "Shapes customization." |
| 1202 | :prefix "ebnf-" | 1202 | :prefix "ebnf-" |
| 1203 | :tag "Shape" | 1203 | :tag "Shape" |
| 1204 | :version "20" | 1204 | :version "20" |
| @@ -1206,7 +1206,7 @@ Elements of ALIST that are not conses are ignored." | |||
| 1206 | 1206 | ||
| 1207 | 1207 | ||
| 1208 | (defgroup ebnf-displacement nil | 1208 | (defgroup ebnf-displacement nil |
| 1209 | "Displacement customization" | 1209 | "Displacement customization." |
| 1210 | :prefix "ebnf-" | 1210 | :prefix "ebnf-" |
| 1211 | :tag "Displacement" | 1211 | :tag "Displacement" |
| 1212 | :version "20" | 1212 | :version "20" |
| @@ -1214,7 +1214,7 @@ Elements of ALIST that are not conses are ignored." | |||
| 1214 | 1214 | ||
| 1215 | 1215 | ||
| 1216 | (defgroup ebnf-syntactic nil | 1216 | (defgroup ebnf-syntactic nil |
| 1217 | "Syntactic customization" | 1217 | "Syntactic customization." |
| 1218 | :prefix "ebnf-" | 1218 | :prefix "ebnf-" |
| 1219 | :tag "Syntactic" | 1219 | :tag "Syntactic" |
| 1220 | :version "20" | 1220 | :version "20" |
| @@ -1222,7 +1222,7 @@ Elements of ALIST that are not conses are ignored." | |||
| 1222 | 1222 | ||
| 1223 | 1223 | ||
| 1224 | (defgroup ebnf-optimization nil | 1224 | (defgroup ebnf-optimization nil |
| 1225 | "Optimization customization" | 1225 | "Optimization customization." |
| 1226 | :prefix "ebnf-" | 1226 | :prefix "ebnf-" |
| 1227 | :tag "Optimization" | 1227 | :tag "Optimization" |
| 1228 | :version "20" | 1228 | :version "20" |
| @@ -4623,7 +4623,7 @@ killed after process termination." | |||
| 4623 | (defun ebnf-eps-filename (str) | 4623 | (defun ebnf-eps-filename (str) |
| 4624 | (let* ((len (length str)) | 4624 | (let* ((len (length str)) |
| 4625 | (stri 0) | 4625 | (stri 0) |
| 4626 | (new (make-string len ?\ ))) | 4626 | (new (make-string len ?\s))) |
| 4627 | (while (< stri len) | 4627 | (while (< stri len) |
| 4628 | (aset new stri (aref ebnf-map-name (aref str stri))) | 4628 | (aset new stri (aref ebnf-map-name (aref str stri))) |
| 4629 | (setq stri (1+ stri))) | 4629 | (setq stri (1+ stri))) |
| @@ -5523,7 +5523,7 @@ killed after process termination." | |||
| 5523 | (defun ebnf-trim-right (str) | 5523 | (defun ebnf-trim-right (str) |
| 5524 | (let* ((len (1- (length str))) | 5524 | (let* ((len (1- (length str))) |
| 5525 | (index len)) | 5525 | (index len)) |
| 5526 | (while (and (> index 0) (= (aref str index) ?\ )) | 5526 | (while (and (> index 0) (= (aref str index) ?\s)) |
| 5527 | (setq index (1- index))) | 5527 | (setq index (1- index))) |
| 5528 | (if (= index len) | 5528 | (if (= index len) |
| 5529 | str | 5529 | str |
diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el index 5f8ea5ae70a..04e8b2fc52a 100644 --- a/lisp/progmodes/ebrowse.el +++ b/lisp/progmodes/ebrowse.el | |||
| @@ -938,7 +938,8 @@ NOCONFIRM." | |||
| 938 | (loop for member-buffer in (ebrowse-same-tree-member-buffer-list) | 938 | (loop for member-buffer in (ebrowse-same-tree-member-buffer-list) |
| 939 | do (kill-buffer member-buffer)) | 939 | do (kill-buffer member-buffer)) |
| 940 | (erase-buffer) | 940 | (erase-buffer) |
| 941 | (insert-file (or buffer-file-name ebrowse--tags-file-name)) | 941 | (with-no-warnings |
| 942 | (insert-file (or buffer-file-name ebrowse--tags-file-name))) | ||
| 942 | (ebrowse-tree-mode) | 943 | (ebrowse-tree-mode) |
| 943 | (current-buffer))) | 944 | (current-buffer))) |
| 944 | 945 | ||
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index b119b03f0bf..590fe4991f5 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el | |||
| @@ -40,7 +40,7 @@ Use the `etags' program to make a tags table file.") | |||
| 40 | ;; Make M-x set-variable tags-file-name like M-x visit-tags-table. | 40 | ;; Make M-x set-variable tags-file-name like M-x visit-tags-table. |
| 41 | ;;;###autoload (put 'tags-file-name 'variable-interactive "fVisit tags table: ") | 41 | ;;;###autoload (put 'tags-file-name 'variable-interactive "fVisit tags table: ") |
| 42 | 42 | ||
| 43 | (defgroup etags nil "Tags tables" | 43 | (defgroup etags nil "Tags tables." |
| 44 | :group 'tools) | 44 | :group 'tools) |
| 45 | 45 | ||
| 46 | ;;;###autoload | 46 | ;;;###autoload |
diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el index d278b10ba0c..3fff4c04038 100644 --- a/lisp/progmodes/executable.el +++ b/lisp/progmodes/executable.el | |||
| @@ -53,7 +53,7 @@ | |||
| 53 | ;;; Code: | 53 | ;;; Code: |
| 54 | 54 | ||
| 55 | (defgroup executable nil | 55 | (defgroup executable nil |
| 56 | "Base functionality for executable interpreter scripts" | 56 | "Base functionality for executable interpreter scripts." |
| 57 | :group 'processes) | 57 | :group 'processes) |
| 58 | 58 | ||
| 59 | ;; This used to default to `other', but that doesn't seem to have any | 59 | ;; This used to default to `other', but that doesn't seem to have any |
| @@ -230,7 +230,7 @@ executable." | |||
| 230 | (and (goto-char (match-beginning 1)) | 230 | (and (goto-char (match-beginning 1)) |
| 231 | ;; If the line ends in a space, | 231 | ;; If the line ends in a space, |
| 232 | ;; don't offer to change it. | 232 | ;; don't offer to change it. |
| 233 | (not (= (char-after (1- (match-end 1))) ?\ )) | 233 | (not (= (char-after (1- (match-end 1))) ?\s)) |
| 234 | (not (string= argument | 234 | (not (string= argument |
| 235 | (buffer-substring (point) (match-end 1)))) | 235 | (buffer-substring (point) (match-end 1)))) |
| 236 | (if (or (not executable-query) no-query-flag | 236 | (if (or (not executable-query) no-query-flag |
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el index c47f2e34cd2..96bff481e30 100644 --- a/lisp/progmodes/flymake.el +++ b/lisp/progmodes/flymake.el | |||
| @@ -32,6 +32,18 @@ | |||
| 32 | 32 | ||
| 33 | ;;; Code: | 33 | ;;; Code: |
| 34 | 34 | ||
| 35 | ;;;; [[ Silence the byte-compiler | ||
| 36 | |||
| 37 | (eval-when-compile | ||
| 38 | (defvar flymake-check-start-time) | ||
| 39 | (defvar flymake-check-was-interrupted) | ||
| 40 | (defvar flymake-err-info) | ||
| 41 | (defvar flymake-is-running) | ||
| 42 | (defvar flymake-last-change-time) | ||
| 43 | (defvar flymake-new-err-info)) | ||
| 44 | |||
| 45 | ;;;; ]] | ||
| 46 | |||
| 35 | ;;;; [[ Xemacs overlay compatibility | 47 | ;;;; [[ Xemacs overlay compatibility |
| 36 | (if (featurep 'xemacs) (progn | 48 | (if (featurep 'xemacs) (progn |
| 37 | (autoload 'make-overlay "overlay" "Overlay compatibility kit." t) | 49 | (autoload 'make-overlay "overlay" "Overlay compatibility kit." t) |
| @@ -53,9 +65,10 @@ | |||
| 53 | (defalias 'flymake-float-time | 65 | (defalias 'flymake-float-time |
| 54 | (if (fboundp 'float-time) | 66 | (if (fboundp 'float-time) |
| 55 | 'float-time | 67 | 'float-time |
| 56 | (lambda () | 68 | (with-no-warnings |
| 57 | (multiple-value-bind (s0 s1 s2) (current-time) | 69 | (lambda () |
| 58 | (+ (* (float (ash 1 16)) s0) (float s1) (* 0.0000001 s2)))))) | 70 | (multiple-value-bind (s0 s1 s2) (current-time) |
| 71 | (+ (* (float (ash 1 16)) s0) (float s1) (* 0.0000001 s2))))))) | ||
| 59 | 72 | ||
| 60 | (defsubst flymake-replace-regexp-in-string (regexp rep str) | 73 | (defsubst flymake-replace-regexp-in-string (regexp rep str) |
| 61 | (if (fboundp 'replace-regexp-in-string) | 74 | (if (fboundp 'replace-regexp-in-string) |
| @@ -390,7 +403,7 @@ Return t if so, nil if not." | |||
| 390 | 403 | ||
| 391 | (defun flymake-find-possible-master-files (file-name master-file-dirs masks) | 404 | (defun flymake-find-possible-master-files (file-name master-file-dirs masks) |
| 392 | "Find (by name and location) all possible master files. | 405 | "Find (by name and location) all possible master files. |
| 393 | Master files are .cpp and .c for and .h. Files are searched for | 406 | Master files are .cpp and .c for and .h. Files are searched for |
| 394 | starting from the .h directory and max max-level parent dirs. | 407 | starting from the .h directory and max max-level parent dirs. |
| 395 | File contents are not checked." | 408 | File contents are not checked." |
| 396 | (let* ((dirs master-file-dirs) | 409 | (let* ((dirs master-file-dirs) |
| @@ -423,9 +436,9 @@ File contents are not checked." | |||
| 423 | files)) | 436 | files)) |
| 424 | 437 | ||
| 425 | (defun flymake-master-file-compare (file-one file-two) | 438 | (defun flymake-master-file-compare (file-one file-two) |
| 426 | "Compare two files speccified by FILE-ONE and FILE-TWO. | 439 | "Compare two files specified by FILE-ONE and FILE-TWO. |
| 427 | This function is used in sort to move most possible file names | 440 | This function is used in sort to move most possible file names |
| 428 | to the beginning of the list (File.h -> File.cpp moved to top." | 441 | to the beginning of the list (File.h -> File.cpp moved to top)." |
| 429 | (and (equal (file-name-sans-extension flymake-included-file-name) | 442 | (and (equal (file-name-sans-extension flymake-included-file-name) |
| 430 | (file-name-sans-extension (file-name-nondirectory file-one))) | 443 | (file-name-sans-extension (file-name-nondirectory file-one))) |
| 431 | (not (equal file-one file-two)))) | 444 | (not (equal file-one file-two)))) |
| @@ -750,7 +763,7 @@ It's flymake process filter." | |||
| 750 | 763 | ||
| 751 | (defun flymake-get-line-err-count (line-err-info-list type) | 764 | (defun flymake-get-line-err-count (line-err-info-list type) |
| 752 | "Return number of errors of specified TYPE. | 765 | "Return number of errors of specified TYPE. |
| 753 | Value of TYPE is eigher e or w." | 766 | Value of TYPE is either \"e\" or \"w\"." |
| 754 | (let* ((idx 0) | 767 | (let* ((idx 0) |
| 755 | (count (length line-err-info-list)) | 768 | (count (length line-err-info-list)) |
| 756 | (err-count 0)) | 769 | (err-count 0)) |
| @@ -859,7 +872,7 @@ Return t if it has at least one flymake overlay, nil if no overlay." | |||
| 859 | 872 | ||
| 860 | (defun flymake-highlight-line (line-no line-err-info-list) | 873 | (defun flymake-highlight-line (line-no line-err-info-list) |
| 861 | "Highlight line LINE-NO in current buffer. | 874 | "Highlight line LINE-NO in current buffer. |
| 862 | Perhaps use text from LINE-ERR-INFO-ILST to enhance highlighting." | 875 | Perhaps use text from LINE-ERR-INFO-LIST to enhance highlighting." |
| 863 | (goto-line line-no) | 876 | (goto-line line-no) |
| 864 | (let* ((line-beg (flymake-line-beginning-position)) | 877 | (let* ((line-beg (flymake-line-beginning-position)) |
| 865 | (line-end (flymake-line-end-position)) | 878 | (line-end (flymake-line-end-position)) |
| @@ -995,8 +1008,8 @@ from compile.el") | |||
| 995 | ;;) | 1008 | ;;) |
| 996 | 1009 | ||
| 997 | (defun flymake-parse-line (line) | 1010 | (defun flymake-parse-line (line) |
| 998 | "Parse LINE to see if it is an error of warning. | 1011 | "Parse LINE to see if it is an error or warning. |
| 999 | Return its components if so, nil if no." | 1012 | Return its components if so, nil otherwise." |
| 1000 | (let ((raw-file-name nil) | 1013 | (let ((raw-file-name nil) |
| 1001 | (line-no 0) | 1014 | (line-no 0) |
| 1002 | (err-type "e") | 1015 | (err-type "e") |
| @@ -1110,7 +1123,7 @@ For the format of LINE-ERR-INFO, see `flymake-ler-make-ler'." | |||
| 1110 | inc-dirs))) | 1123 | inc-dirs))) |
| 1111 | 1124 | ||
| 1112 | (defcustom flymake-get-project-include-dirs-function 'flymake-get-project-include-dirs-imp | 1125 | (defcustom flymake-get-project-include-dirs-function 'flymake-get-project-include-dirs-imp |
| 1113 | "Function used to get project inc dirs, one paramater: basedir name." | 1126 | "Function used to get project include dirs, one parameter: basedir name." |
| 1114 | :group 'flymake | 1127 | :group 'flymake |
| 1115 | :type 'function) | 1128 | :type 'function) |
| 1116 | 1129 | ||
| @@ -1138,24 +1151,6 @@ For the format of LINE-ERR-INFO, see `flymake-ler-make-ler'." | |||
| 1138 | (let* ((include-dirs (append '(".") (flymake-get-project-include-dirs base-dir) (flymake-get-system-include-dirs)))) | 1151 | (let* ((include-dirs (append '(".") (flymake-get-project-include-dirs base-dir) (flymake-get-system-include-dirs)))) |
| 1139 | include-dirs)) | 1152 | include-dirs)) |
| 1140 | 1153 | ||
| 1141 | (defun flymake-find-file (rel-file-name include-dirs) | ||
| 1142 | "Iterate through include-dirs to find file REL-FILE-NAME. | ||
| 1143 | Return first 'INCLUDE-DIRS/REL-FILE-NAME' that exists, or just REL-FILE-NAME if not." | ||
| 1144 | (let* ((count (length include-dirs)) | ||
| 1145 | (idx 0) | ||
| 1146 | (found nil) | ||
| 1147 | (full-file-name rel-file-name)) | ||
| 1148 | |||
| 1149 | (while (and (not found) (< idx count)) | ||
| 1150 | (let* ((dir (nth idx include-dirs))) | ||
| 1151 | (setq full-file-name (concat dir "/" rel-file-name)) | ||
| 1152 | (when (file-exists-p full-file-name) | ||
| 1153 | (setq found t))) | ||
| 1154 | (setq idx (1+ idx))) | ||
| 1155 | (if found | ||
| 1156 | full-file-name | ||
| 1157 | rel-file-name))) | ||
| 1158 | |||
| 1159 | (defun flymake-restore-formatting (source-buffer) | 1154 | (defun flymake-restore-formatting (source-buffer) |
| 1160 | "Remove any formatting made by flymake." | 1155 | "Remove any formatting made by flymake." |
| 1161 | ) | 1156 | ) |
| @@ -1366,7 +1361,7 @@ Return first 'INCLUDE-DIRS/REL-FILE-NAME' that exists, or just REL-FILE-NAME if | |||
| 1366 | (flymake-log 1 "no errors for line %d" line-no)))) | 1361 | (flymake-log 1 "no errors for line %d" line-no)))) |
| 1367 | 1362 | ||
| 1368 | (defun flymake-make-err-menu-data (line-no line-err-info-list) | 1363 | (defun flymake-make-err-menu-data (line-no line-err-info-list) |
| 1369 | "Make a (menu-title (item-title item-action)*) list with errors/warnings from line-err-info." | 1364 | "Make a (menu-title (item-title item-action)*) list with errors/warnings from LINE-ERR-INFO-LIST." |
| 1370 | (let* ((menu-items nil)) | 1365 | (let* ((menu-items nil)) |
| 1371 | (when line-err-info-list | 1366 | (when line-err-info-list |
| 1372 | (let* ((count (length line-err-info-list)) | 1367 | (let* ((count (length line-err-info-list)) |
| @@ -1431,7 +1426,7 @@ Return first 'INCLUDE-DIRS/REL-FILE-NAME' that exists, or just REL-FILE-NAME if | |||
| 1431 | (message-box warning)) | 1426 | (message-box warning)) |
| 1432 | 1427 | ||
| 1433 | (defcustom flymake-gui-warnings-enabled t | 1428 | (defcustom flymake-gui-warnings-enabled t |
| 1434 | "Enables/disables gui warnings." | 1429 | "Enables/disables GUI warnings." |
| 1435 | :group 'flymake | 1430 | :group 'flymake |
| 1436 | :type 'boolean) | 1431 | :type 'boolean) |
| 1437 | 1432 | ||
| @@ -1445,61 +1440,62 @@ Return first 'INCLUDE-DIRS/REL-FILE-NAME' that exists, or just REL-FILE-NAME if | |||
| 1445 | (flymake-log 0 "switched OFF Flymake mode for buffer %s due to fatal status %s, warning %s" | 1440 | (flymake-log 0 "switched OFF Flymake mode for buffer %s due to fatal status %s, warning %s" |
| 1446 | (buffer-name buffer) status warning))) | 1441 | (buffer-name buffer) status warning))) |
| 1447 | 1442 | ||
| 1443 | (defcustom flymake-start-syntax-check-on-find-file t | ||
| 1444 | "Start syntax check on find file." | ||
| 1445 | :group 'flymake | ||
| 1446 | :type 'boolean) | ||
| 1447 | |||
| 1448 | ;;;###autoload | 1448 | ;;;###autoload |
| 1449 | (define-minor-mode flymake-mode | 1449 | (define-minor-mode flymake-mode |
| 1450 | "Minor mode to do on-the-fly syntax checking. | 1450 | "Minor mode to do on-the-fly syntax checking. |
| 1451 | When called interactively, toggles the minor mode. | 1451 | When called interactively, toggles the minor mode. |
| 1452 | With arg, turn Flymake mode on if and only if arg is positive." | 1452 | With arg, turn Flymake mode on if and only if arg is positive." |
| 1453 | :group 'flymake :lighter flymake-mode-line | 1453 | :group 'flymake :lighter flymake-mode-line |
| 1454 | (if flymake-mode | 1454 | (cond |
| 1455 | (if (flymake-can-syntax-check-file (buffer-file-name)) | 1455 | |
| 1456 | (flymake-mode-on) | 1456 | ;; Turning the mode ON. |
| 1457 | (flymake-log 2 "flymake cannot check syntax in buffer %s" (buffer-name))) | 1457 | (flymake-mode |
| 1458 | (flymake-mode-off))) | 1458 | (if (not (flymake-can-syntax-check-file buffer-file-name)) |
| 1459 | (flymake-log 2 "flymake cannot check syntax in buffer %s" (buffer-name)) | ||
| 1460 | (add-hook 'after-change-functions 'flymake-after-change-function nil t) | ||
| 1461 | (add-hook 'after-save-hook 'flymake-after-save-hook nil t) | ||
| 1462 | (add-hook 'kill-buffer-hook 'flymake-kill-buffer-hook nil t) | ||
| 1463 | ;;+(add-hook 'find-file-hook 'flymake-find-file-hook) | ||
| 1464 | |||
| 1465 | (flymake-report-status (current-buffer) "" "") | ||
| 1466 | |||
| 1467 | (setq flymake-timer | ||
| 1468 | (run-at-time nil 1 'flymake-on-timer-event (current-buffer))) | ||
| 1469 | |||
| 1470 | (when flymake-start-syntax-check-on-find-file | ||
| 1471 | (flymake-start-syntax-check-for-current-buffer)))) | ||
| 1472 | |||
| 1473 | ;; Turning the mode OFF. | ||
| 1474 | (t | ||
| 1475 | (remove-hook 'after-change-functions 'flymake-after-change-function t) | ||
| 1476 | (remove-hook 'after-save-hook 'flymake-after-save-hook t) | ||
| 1477 | (remove-hook 'kill-buffer-hook 'flymake-kill-buffer-hook t) | ||
| 1478 | ;;+(remove-hook 'find-file-hook (function flymake-find-file-hook) t) | ||
| 1459 | 1479 | ||
| 1460 | (defcustom flymake-start-syntax-check-on-find-file t | 1480 | (flymake-delete-own-overlays (current-buffer)) |
| 1461 | "Start syntax check on find file." | 1481 | |
| 1462 | :group 'flymake | 1482 | (when flymake-timer |
| 1463 | :type 'boolean) | 1483 | (cancel-timer flymake-timer) |
| 1484 | (setq flymake-timer nil)) | ||
| 1485 | |||
| 1486 | (setq flymake-is-running nil)))) | ||
| 1464 | 1487 | ||
| 1465 | ;;;###autoload | 1488 | ;;;###autoload |
| 1466 | (defun flymake-mode-on () | 1489 | (defun flymake-mode-on () |
| 1467 | "Turn flymake mode on." | 1490 | "Turn flymake mode on." |
| 1468 | (when (not flymake-mode) | 1491 | (flymake-mode 1) |
| 1469 | (make-local-variable 'after-change-functions) | 1492 | (flymake-log 1 "flymake mode turned ON for buffer %s" (buffer-name))) |
| 1470 | (setq after-change-functions (cons 'flymake-after-change-function after-change-functions)) | ||
| 1471 | (add-hook 'after-save-hook 'flymake-after-save-hook) | ||
| 1472 | (add-hook 'kill-buffer-hook 'flymake-kill-buffer-hook) | ||
| 1473 | ;;+(add-hook 'find-file-hook 'flymake-find-file-hook) | ||
| 1474 | |||
| 1475 | (flymake-report-status (current-buffer) "" "") | ||
| 1476 | |||
| 1477 | (setq flymake-timer | ||
| 1478 | (run-at-time nil 1 'flymake-on-timer-event (current-buffer))) | ||
| 1479 | |||
| 1480 | (setq flymake-mode t) | ||
| 1481 | (flymake-log 1 "flymake mode turned ON for buffer %s" (buffer-name (current-buffer))) | ||
| 1482 | (when flymake-start-syntax-check-on-find-file | ||
| 1483 | (flymake-start-syntax-check-for-current-buffer)))) ; will be started by on-load hook | ||
| 1484 | 1493 | ||
| 1485 | ;;;###autoload | 1494 | ;;;###autoload |
| 1486 | (defun flymake-mode-off () | 1495 | (defun flymake-mode-off () |
| 1487 | "Turn flymake mode off." | 1496 | "Turn flymake mode off." |
| 1488 | (when flymake-mode | 1497 | (flymake-mode 0) |
| 1489 | (setq after-change-functions (delq 'flymake-after-change-function after-change-functions)) | 1498 | (flymake-log 1 "flymake mode turned OFF for buffer %s" (buffer-name))) |
| 1490 | (remove-hook 'after-save-hook (function flymake-after-save-hook) t) | ||
| 1491 | (remove-hook 'kill-buffer-hook (function flymake-kill-buffer-hook) t) | ||
| 1492 | ;;+(remove-hook 'find-file-hook (function flymake-find-file-hook) t) | ||
| 1493 | |||
| 1494 | (flymake-delete-own-overlays (current-buffer)) | ||
| 1495 | |||
| 1496 | (when flymake-timer | ||
| 1497 | (cancel-timer flymake-timer) | ||
| 1498 | (setq flymake-timer nil)) | ||
| 1499 | |||
| 1500 | (setq flymake-is-running nil) | ||
| 1501 | (setq flymake-mode nil) | ||
| 1502 | (flymake-log 1 "flymake mode turned OFF for buffer %s" (buffer-name (current-buffer))))) | ||
| 1503 | 1499 | ||
| 1504 | (defcustom flymake-start-syntax-check-on-newline t | 1500 | (defcustom flymake-start-syntax-check-on-newline t |
| 1505 | "Start syntax check if newline char was added/removed from the buffer." | 1501 | "Start syntax check if newline char was added/removed from the buffer." |
| @@ -1532,7 +1528,7 @@ With arg, turn Flymake mode on if and only if arg is positive." | |||
| 1532 | ;;+ (flymake-start-syntax-check-for-current-buffer) | 1528 | ;;+ (flymake-start-syntax-check-for-current-buffer) |
| 1533 | ;;+) | 1529 | ;;+) |
| 1534 | (when (and (not (local-variable-p 'flymake-mode (current-buffer))) | 1530 | (when (and (not (local-variable-p 'flymake-mode (current-buffer))) |
| 1535 | (flymake-can-syntax-check-file (buffer-file-name (current-buffer)))) | 1531 | (flymake-can-syntax-check-file buffer-file-name)) |
| 1536 | (flymake-mode) | 1532 | (flymake-mode) |
| 1537 | (flymake-log 3 "automatically turned ON flymake mode"))) | 1533 | (flymake-log 3 "automatically turned ON flymake mode"))) |
| 1538 | 1534 | ||
| @@ -1557,7 +1553,7 @@ With arg, turn Flymake mode on if and only if arg is positive." | |||
| 1557 | (flymake-er-get-line (nth idx err-info-list)))))) | 1553 | (flymake-er-get-line (nth idx err-info-list)))))) |
| 1558 | 1554 | ||
| 1559 | (defun flymake-get-prev-err-line-no (err-info-list line-no) | 1555 | (defun flymake-get-prev-err-line-no (err-info-list line-no) |
| 1560 | "Return prev line with error." | 1556 | "Return previous line with error." |
| 1561 | (when err-info-list | 1557 | (when err-info-list |
| 1562 | (let* ((count (length err-info-list))) | 1558 | (let* ((count (length err-info-list))) |
| 1563 | (while (and (> count 0) (<= line-no (flymake-er-get-line (nth (1- count) err-info-list)))) | 1559 | (while (and (> count 0) (<= line-no (flymake-er-get-line (nth (1- count) err-info-list)))) |
| @@ -1587,7 +1583,7 @@ With arg, turn Flymake mode on if and only if arg is positive." | |||
| 1587 | (flymake-log 1 "no errors in current buffer")))) | 1583 | (flymake-log 1 "no errors in current buffer")))) |
| 1588 | 1584 | ||
| 1589 | (defun flymake-goto-prev-error () | 1585 | (defun flymake-goto-prev-error () |
| 1590 | "Go to prev error in err ring." | 1586 | "Go to previous error in err ring." |
| 1591 | (interactive) | 1587 | (interactive) |
| 1592 | (let ((line-no (flymake-get-prev-err-line-no flymake-err-info (flymake-current-line-no)))) | 1588 | (let ((line-no (flymake-get-prev-err-line-no flymake-err-info (flymake-current-line-no)))) |
| 1593 | (when (not line-no) | 1589 | (when (not line-no) |
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index 471d3b308ec..fd8bfeb5d72 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | ;; Maintainer: FSF | 4 | ;; Maintainer: FSF |
| 5 | ;; Keywords: unix, tools | 5 | ;; Keywords: unix, tools |
| 6 | 6 | ||
| 7 | ;; Copyright (C) 1992,93,94,95,96,1998,2000,02,03,04 Free Software Foundation, Inc. | 7 | ;; Copyright (C) 1992,93,94,95,96,1998,2000,02,03,04,05 Free Software Foundation, Inc. |
| 8 | 8 | ||
| 9 | ;; This file is part of GNU Emacs. | 9 | ;; This file is part of GNU Emacs. |
| 10 | 10 | ||
| @@ -2534,7 +2534,7 @@ It is saved for when this flag is not set.") | |||
| 2534 | ;; This must be outside of the save-excursion | 2534 | ;; This must be outside of the save-excursion |
| 2535 | ;; in case the source file is our current buffer. | 2535 | ;; in case the source file is our current buffer. |
| 2536 | (if process-window | 2536 | (if process-window |
| 2537 | (with-selected-window | 2537 | (with-selected-window process-window |
| 2538 | (gud-display-frame)) | 2538 | (gud-display-frame)) |
| 2539 | ;; We have to be in the proper buffer, (process-buffer proc), | 2539 | ;; We have to be in the proper buffer, (process-buffer proc), |
| 2540 | ;; but not in a save-excursion, because that would restore point. | 2540 | ;; but not in a save-excursion, because that would restore point. |
diff --git a/lisp/progmodes/idlw-complete-structtag.el b/lisp/progmodes/idlw-complete-structtag.el new file mode 100644 index 00000000000..39f40d887f6 --- /dev/null +++ b/lisp/progmodes/idlw-complete-structtag.el | |||
| @@ -0,0 +1,243 @@ | |||
| 1 | ;;; idlw-complete-structtag.el --- Completion of structure tags. | ||
| 2 | ;; Copyright (c) 2001,2002 Free Software Foundation | ||
| 3 | |||
| 4 | ;; Author: Carsten Dominik <dominik@science.uva.nl> | ||
| 5 | ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu> | ||
| 6 | ;; Version: 1.2 | ||
| 7 | ;; Keywords: languages | ||
| 8 | |||
| 9 | ;; This file is part of GNU Emacs. | ||
| 10 | |||
| 11 | ;; GNU Emacs is free software; you can redistribute it and/or modify | ||
| 12 | ;; it under the terms of the GNU General Public License as published by | ||
| 13 | ;; the Free Software Foundation; either version 2, or (at your option) | ||
| 14 | ;; any later version. | ||
| 15 | |||
| 16 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 19 | ;; GNU General Public License for more details. | ||
| 20 | |||
| 21 | ;; You should have received a copy of the GNU General Public License | ||
| 22 | ;; along with GNU Emacs; see the file COPYING. If not, write to the | ||
| 23 | ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
| 24 | ;; Boston, MA 02111-1307, USA. | ||
| 25 | |||
| 26 | ;;; Commentary: | ||
| 27 | |||
| 28 | ;; Completion of structure tags can be done automatically in the | ||
| 29 | ;; shell, since the list of tags can be determined dynamically through | ||
| 30 | ;; interaction with IDL. | ||
| 31 | |||
| 32 | ;; Completion of structure tags in a source buffer is highly ambiguous | ||
| 33 | ;; since you never know what kind of structure a variable will hold at | ||
| 34 | ;; runtime. To make this feature useful in source buffers, we need a | ||
| 35 | ;; special assumption/convention. We will assume that the structure is | ||
| 36 | ;; defined in the same buffer and directly assigned to the correct | ||
| 37 | ;; variable. This is mainly useful for applications in which there is one | ||
| 38 | ;; main structure which contains a large amount of information (and many | ||
| 39 | ;; tags). For example, many widget applications define a "state" structure | ||
| 40 | ;; that contains all important data about the application. The different | ||
| 41 | ;; routines called by the event handler then use this structure. If you | ||
| 42 | ;; use the same variable name for this structure throughout your | ||
| 43 | ;; application (a good idea for many reasons), IDLWAVE can support | ||
| 44 | ;; completion for its tags. | ||
| 45 | ;; | ||
| 46 | ;; This file is a completion plugin which implements this kind of | ||
| 47 | ;; completion. It is also an example which shows how completion plugins | ||
| 48 | ;; should be programmed. | ||
| 49 | ;; | ||
| 50 | ;; New versions of IDLWAVE, documentation, and more information available | ||
| 51 | ;; from: | ||
| 52 | ;; http://idlwave.org | ||
| 53 | ;; | ||
| 54 | ;; INSTALLATION | ||
| 55 | ;; ============ | ||
| 56 | ;; Put this file on the emacs load path and load it with the following | ||
| 57 | ;; line in your .emacs file: | ||
| 58 | ;; | ||
| 59 | ;; (add-hook 'idlwave-load-hook | ||
| 60 | ;; (lambda () (require 'idlw-complete-structtag))) | ||
| 61 | ;; | ||
| 62 | ;; DESCRIPTION | ||
| 63 | ;; =========== | ||
| 64 | ;; Suppose your IDL program contains something like | ||
| 65 | ;; | ||
| 66 | ;; myvar = state.a* | ||
| 67 | ;; | ||
| 68 | ;; where the star marks the cursor position. If you now press the | ||
| 69 | ;; completion key M-TAB, IDLWAVE searches the current file for a | ||
| 70 | ;; structure definition | ||
| 71 | ;; | ||
| 72 | ;; state = {tag1:val1, tag2:val2, ...} | ||
| 73 | ;; | ||
| 74 | ;; and offers the tags for completion. | ||
| 75 | ;; | ||
| 76 | ;; In the idlwave shell, idlwave sends a "print,tag_names()" for the | ||
| 77 | ;; variable to idl and determines the current tag list dynamically. | ||
| 78 | ;; | ||
| 79 | ;; Notes | ||
| 80 | ;; ----- | ||
| 81 | ;; - The structure definition assignment "state = {...}" must use the | ||
| 82 | ;; same variable name as the the completion location "state.*". | ||
| 83 | ;; - The structure definition must be in the same file. | ||
| 84 | ;; - The structure definition is searched backwards and then forward | ||
| 85 | ;; from the current position, until a definition with tags is found. | ||
| 86 | ;; - The file is parsed again for each new completion variable and location. | ||
| 87 | ;; - You can force an update of the tag list with the usual command | ||
| 88 | ;; to update routine info in IDLWAVE: C-c C-i | ||
| 89 | |||
| 90 | |||
| 91 | ;; Some variables to identify the previously used structure | ||
| 92 | (defvar idlwave-current-tags-var nil) | ||
| 93 | (defvar idlwave-current-tags-buffer nil) | ||
| 94 | (defvar idlwave-current-tags-completion-pos nil) | ||
| 95 | |||
| 96 | ;; The tag list used for completion will be stored in the following vars | ||
| 97 | (defvar idlwave-current-struct-tags nil) | ||
| 98 | (defvar idlwave-sint-structtags nil) | ||
| 99 | |||
| 100 | ;; Create the sintern type for structure talks | ||
| 101 | (idlwave-new-sintern-type 'structtag) | ||
| 102 | |||
| 103 | ;; Hook the plugin into idlwave | ||
| 104 | (add-to-list 'idlwave-complete-special 'idlwave-complete-structure-tag) | ||
| 105 | (add-hook 'idlwave-update-rinfo-hook 'idlwave-structtag-reset) | ||
| 106 | |||
| 107 | ;;; The main code follows below | ||
| 108 | |||
| 109 | (defun idlwave-complete-structure-tag () | ||
| 110 | "Complete a structure tag. | ||
| 111 | This works by looking in the current file for a structure assignment to a | ||
| 112 | variable with the same name and takes the tags from there. Quite useful | ||
| 113 | for big structures like the state variables of a widget application. | ||
| 114 | |||
| 115 | In the idlwave shell, the current content of the variable is used to get | ||
| 116 | an up-to-date completion list." | ||
| 117 | (interactive) | ||
| 118 | (let ((pos (point)) | ||
| 119 | start | ||
| 120 | (case-fold-search t)) | ||
| 121 | (if (save-excursion | ||
| 122 | ;; Check if the context is right. | ||
| 123 | ;; In the shell, this could be extended to expressions like | ||
| 124 | ;; x[i+4].name.g*. But it is complicated because we would have | ||
| 125 | ;; to really parse this expression. For now, we allow only | ||
| 126 | ;; substructures, like "aaa.bbb.ccc.ddd" | ||
| 127 | (skip-chars-backward "[a-zA-Z0-9._$]") | ||
| 128 | (setq start (point)) ;; remember the start of the completion pos. | ||
| 129 | (and (< (point) pos) | ||
| 130 | (not (equal (char-before) ?!)) ; no sysvars | ||
| 131 | (looking-at "\\([a-zA-Z][.a-zA-Z0-9_]*\\)\\.") | ||
| 132 | (>= pos (match-end 0)) | ||
| 133 | (not (string= (downcase (match-string 1)) "self")))) | ||
| 134 | (let* ((var (downcase (match-string 1)))) | ||
| 135 | ;; Check if we need to update the "current" structure. Basically we | ||
| 136 | ;; do it always, except for subsequent completions at the same | ||
| 137 | ;; spot, to save a bit of time. Implementation: We require | ||
| 138 | ;; an update if | ||
| 139 | ;; - the variable is different or | ||
| 140 | ;; - the buffer is different or | ||
| 141 | ;; - we are completing at a different position | ||
| 142 | (if (or (not (string= var (or idlwave-current-tags-var "@"))) | ||
| 143 | (not (eq (current-buffer) idlwave-current-tags-buffer)) | ||
| 144 | (not (equal start idlwave-current-tags-completion-pos))) | ||
| 145 | (idlwave-prepare-structure-tag-completion var)) | ||
| 146 | (setq idlwave-current-tags-completion-pos start) | ||
| 147 | (setq idlwave-completion-help-info | ||
| 148 | (list 'idlwave-complete-structure-tag-help)) | ||
| 149 | (idlwave-complete-in-buffer 'structtag 'structtag | ||
| 150 | idlwave-current-struct-tags nil | ||
| 151 | "Select a structure tag" "structure tag") | ||
| 152 | t) ; we did the completion: return t to skip other completions | ||
| 153 | nil))) ; return nil to allow looking for other ways to complete | ||
| 154 | |||
| 155 | (defun idlwave-structtag-reset () | ||
| 156 | "Force an update of the current structure tag list upon next use." | ||
| 157 | (setq idlwave-current-tags-buffer nil)) | ||
| 158 | |||
| 159 | (defvar idlwave-structtag-struct-location nil | ||
| 160 | "The location of the structure definition, for help display.") | ||
| 161 | |||
| 162 | (defun idlwave-prepare-structure-tag-completion (var) | ||
| 163 | "Find and parse the tag list for structure tag completion." | ||
| 164 | ;; This works differently in source buffers and in the shell | ||
| 165 | (if (eq major-mode 'idlwave-shell-mode) | ||
| 166 | ;; OK, we are in the shell, do it dynamically | ||
| 167 | (progn | ||
| 168 | (message "preparing shell tags") | ||
| 169 | ;; The following call puts the tags into `idlwave-current-struct-tags' | ||
| 170 | (idlwave-complete-structure-tag-query-shell var) | ||
| 171 | ;; initialize | ||
| 172 | (setq idlwave-sint-structtags nil | ||
| 173 | idlwave-current-tags-buffer (current-buffer) | ||
| 174 | idlwave-current-tags-var var | ||
| 175 | idlwave-structtag-struct-location (point) | ||
| 176 | idlwave-current-struct-tags | ||
| 177 | (mapcar (lambda (x) | ||
| 178 | (list (idlwave-sintern-structtag x 'set))) | ||
| 179 | idlwave-current-struct-tags)) | ||
| 180 | (if (not idlwave-current-struct-tags) | ||
| 181 | (error "Cannot complete structure tags of variable %s" var))) | ||
| 182 | ;; Not the shell, so probably a source buffer. | ||
| 183 | (unless | ||
| 184 | (catch 'exit | ||
| 185 | (save-excursion | ||
| 186 | (goto-char (point-max)) | ||
| 187 | ;; Find possible definitions of the structure. | ||
| 188 | (while (idlwave-find-structure-definition var nil 'all) | ||
| 189 | (let ((tags (idlwave-struct-tags))) | ||
| 190 | (when tags | ||
| 191 | ;; initialize | ||
| 192 | (setq idlwave-sint-structtags nil | ||
| 193 | idlwave-current-tags-buffer (current-buffer) | ||
| 194 | idlwave-current-tags-var var | ||
| 195 | idlwave-structtag-struct-location (point) | ||
| 196 | idlwave-current-struct-tags | ||
| 197 | (mapcar (lambda (x) | ||
| 198 | (list (idlwave-sintern-structtag x 'set))) | ||
| 199 | tags)) | ||
| 200 | (throw 'exit t)))))) | ||
| 201 | (error "Cannot complete structure tags of variable %s" var)))) | ||
| 202 | |||
| 203 | (defun idlwave-complete-structure-tag-query-shell (var) | ||
| 204 | "Ask the shell for the tags of the structure in variable or expression VAR." | ||
| 205 | (idlwave-shell-send-command | ||
| 206 | (format "if size(%s,/TYPE) eq 8 then print,tag_names(%s)" var var) | ||
| 207 | 'idlwave-complete-structure-tag-get-tags-from-help | ||
| 208 | 'hide 'wait)) | ||
| 209 | |||
| 210 | (defvar idlwave-shell-prompt-pattern) | ||
| 211 | (defvar idlwave-shell-command-output) | ||
| 212 | (defun idlwave-complete-structure-tag-get-tags-from-help () | ||
| 213 | "Filter structure tag name output, result to `idlwave-current-struct-tags'." | ||
| 214 | (setq idlwave-current-struct-tags | ||
| 215 | (if (string-match (concat "tag_names(.*) *\n" | ||
| 216 | "\\(\\(.*[\r\n]?\\)*\\)" | ||
| 217 | "\\(" idlwave-shell-prompt-pattern "\\)") | ||
| 218 | idlwave-shell-command-output) | ||
| 219 | (split-string (match-string 1 idlwave-shell-command-output))))) | ||
| 220 | |||
| 221 | |||
| 222 | ;; Fake help in the source buffer for structure tags. | ||
| 223 | ;; kwd and name are global-variables here. | ||
| 224 | (defvar name) | ||
| 225 | (defvar kwd) | ||
| 226 | (defvar idlwave-help-do-struct-tag) | ||
| 227 | (defun idlwave-complete-structure-tag-help (mode word) | ||
| 228 | (cond | ||
| 229 | ((eq mode 'test) | ||
| 230 | ;; fontify only in source buffers, not in the shell. | ||
| 231 | (not (equal idlwave-current-tags-buffer | ||
| 232 | (get-buffer (idlwave-shell-buffer))))) | ||
| 233 | ((eq mode 'set) | ||
| 234 | (setq kwd word | ||
| 235 | idlwave-help-do-struct-tag idlwave-structtag-struct-location)) | ||
| 236 | (t (error "This should not happen")))) | ||
| 237 | |||
| 238 | (provide 'idlw-complete-structtag) | ||
| 239 | |||
| 240 | ;;; idlw-complete-structtag.el ends here | ||
| 241 | |||
| 242 | |||
| 243 | ;; arch-tag: d1f9e55c-e504-4187-9c31-3c3651fa4bfa | ||
diff --git a/lisp/progmodes/idlw-help.el b/lisp/progmodes/idlw-help.el index ba31e6e0ef8..5ed4c23d592 100644 --- a/lisp/progmodes/idlw-help.el +++ b/lisp/progmodes/idlw-help.el | |||
| @@ -4,9 +4,9 @@ | |||
| 4 | ;; Copyright (c) 2003,2004,2005 Free Software Foundation | 4 | ;; Copyright (c) 2003,2004,2005 Free Software Foundation |
| 5 | ;; | 5 | ;; |
| 6 | ;; Authors: J.D. Smith <jdsmith@as.arizona.edu> | 6 | ;; Authors: J.D. Smith <jdsmith@as.arizona.edu> |
| 7 | ;; Carsten Dominik <dominik@astro.uva.nl> | 7 | ;; Carsten Dominik <dominik@science.uva.nl> |
| 8 | ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu> | 8 | ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu> |
| 9 | ;; Version: 5.5 | 9 | ;; Version: 5.7_22 |
| 10 | 10 | ||
| 11 | ;; This file is part of GNU Emacs. | 11 | ;; This file is part of GNU Emacs. |
| 12 | 12 | ||
| @@ -36,12 +36,18 @@ | |||
| 36 | ;; information, at: | 36 | ;; information, at: |
| 37 | ;; | 37 | ;; |
| 38 | ;; http://idlwave.org | 38 | ;; http://idlwave.org |
| 39 | ;; | 39 | ;; |
| 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 41 | 41 | ||
| 42 | 42 | ||
| 43 | ;;; Code: | 43 | ;;; Code: |
| 44 | (require 'browse-url) | 44 | (defvar idlwave-help-browse-url-available nil |
| 45 | "Whether browse-url is available") | ||
| 46 | |||
| 47 | (setq idlwave-help-browse-url-available | ||
| 48 | (condition-case nil | ||
| 49 | (require 'browse-url) | ||
| 50 | (error nil))) | ||
| 45 | 51 | ||
| 46 | (defgroup idlwave-online-help nil | 52 | (defgroup idlwave-online-help nil |
| 47 | "Online Help options for IDLWAVE mode." | 53 | "Online Help options for IDLWAVE mode." |
| @@ -52,10 +58,10 @@ | |||
| 52 | :group 'idlwave-online-help | 58 | :group 'idlwave-online-help |
| 53 | :type 'boolean) | 59 | :type 'boolean) |
| 54 | 60 | ||
| 55 | (defvar idlwave-html-link-sep | 61 | (defvar idlwave-html-link-sep |
| 56 | (if idlwave-html-help-pre-v6 "#" "#wp")) | 62 | (if idlwave-html-help-pre-v6 "#" "#wp")) |
| 57 | 63 | ||
| 58 | (defcustom idlwave-html-help-location | 64 | (defcustom idlwave-html-help-location |
| 59 | (if (memq system-type '(ms-dos windows-nt)) | 65 | (if (memq system-type '(ms-dos windows-nt)) |
| 60 | nil | 66 | nil |
| 61 | "/usr/local/etc/") | 67 | "/usr/local/etc/") |
| @@ -83,7 +89,7 @@ Defaults to `browse-url-browser-function', which see." | |||
| 83 | :group 'idlwave-online-help | 89 | :group 'idlwave-online-help |
| 84 | :type 'string) | 90 | :type 'string) |
| 85 | 91 | ||
| 86 | (defcustom idlwave-help-browser-generic-args | 92 | (defcustom idlwave-help-browser-generic-args |
| 87 | (if (boundp 'browse-url-generic-args) | 93 | (if (boundp 'browse-url-generic-args) |
| 88 | browse-url-generic-args "") | 94 | browse-url-generic-args "") |
| 89 | "Program args to use if using browse-url-generic-program." | 95 | "Program args to use if using browse-url-generic-program." |
| @@ -183,8 +189,7 @@ support." | |||
| 183 | :type 'string) | 189 | :type 'string) |
| 184 | 190 | ||
| 185 | (defface idlwave-help-link | 191 | (defface idlwave-help-link |
| 186 | '((((min-colors 88) (class color)) (:foreground "Blue1")) | 192 | '((((class color)) (:foreground "Blue")) |
| 187 | (((class color)) (:foreground "Blue")) | ||
| 188 | (t (:weight bold))) | 193 | (t (:weight bold))) |
| 189 | "Face for highlighting links into IDLWAVE online help." | 194 | "Face for highlighting links into IDLWAVE online help." |
| 190 | :group 'idlwave-online-help) | 195 | :group 'idlwave-online-help) |
| @@ -193,7 +198,7 @@ support." | |||
| 193 | 198 | ||
| 194 | (defvar idlwave-help-activate-links-aggressively nil | 199 | (defvar idlwave-help-activate-links-aggressively nil |
| 195 | "Obsolete variable.") | 200 | "Obsolete variable.") |
| 196 | 201 | ||
| 197 | (defvar idlwave-completion-help-info) | 202 | (defvar idlwave-completion-help-info) |
| 198 | 203 | ||
| 199 | (defvar idlwave-help-frame nil | 204 | (defvar idlwave-help-frame nil |
| @@ -242,6 +247,10 @@ support." | |||
| 242 | "--" | 247 | "--" |
| 243 | ["Quit" idlwave-help-quit t])) | 248 | ["Quit" idlwave-help-quit t])) |
| 244 | 249 | ||
| 250 | (defvar idlwave-help-def-pos) | ||
| 251 | (defvar idlwave-help-args) | ||
| 252 | (defvar idlwave-help-in-header) | ||
| 253 | |||
| 245 | (defun idlwave-help-mode () | 254 | (defun idlwave-help-mode () |
| 246 | "Major mode for displaying IDL Help. | 255 | "Major mode for displaying IDL Help. |
| 247 | 256 | ||
| @@ -282,6 +291,7 @@ Here are all keybindings. | |||
| 282 | (set (make-local-variable 'idlwave-help-in-header) nil) | 291 | (set (make-local-variable 'idlwave-help-in-header) nil) |
| 283 | (run-mode-hooks 'idlwave-help-mode-hook)) | 292 | (run-mode-hooks 'idlwave-help-mode-hook)) |
| 284 | 293 | ||
| 294 | (defvar idlwave-system-directory) | ||
| 285 | (defun idlwave-html-help-location () | 295 | (defun idlwave-html-help-location () |
| 286 | "Return the help directory where HTML files are, or nil if that is unknown." | 296 | "Return the help directory where HTML files are, or nil if that is unknown." |
| 287 | (or (and (stringp idlwave-html-help-location) | 297 | (or (and (stringp idlwave-html-help-location) |
| @@ -316,16 +326,20 @@ It collects and prints the diagnostics messages." | |||
| 316 | (setq idlwave-last-context-help-pos marker) | 326 | (setq idlwave-last-context-help-pos marker) |
| 317 | (idlwave-do-context-help1 arg) | 327 | (idlwave-do-context-help1 arg) |
| 318 | (if idlwave-help-diagnostics | 328 | (if idlwave-help-diagnostics |
| 319 | (message "%s" (mapconcat 'identity | 329 | (message "%s" (mapconcat 'identity |
| 320 | (nreverse idlwave-help-diagnostics) | 330 | (nreverse idlwave-help-diagnostics) |
| 321 | "; ")))))) | 331 | "; ")))))) |
| 322 | 332 | ||
| 323 | (defvar idlwave-help-do-class-struct-tag nil) | 333 | (defvar idlwave-help-do-class-struct-tag nil) |
| 334 | (defvar idlwave-structtag-struct-location) | ||
| 324 | (defvar idlwave-help-do-struct-tag nil) | 335 | (defvar idlwave-help-do-struct-tag nil) |
| 336 | (defvar idlwave-system-variables-alist) | ||
| 337 | (defvar idlwave-executive-commands-alist) | ||
| 338 | (defvar idlwave-system-class-info) | ||
| 325 | (defun idlwave-do-context-help1 (&optional arg) | 339 | (defun idlwave-do-context-help1 (&optional arg) |
| 326 | "The work-horse version of `idlwave-context-help', which see." | 340 | "The work-horse version of `idlwave-context-help', which see." |
| 327 | (save-excursion | 341 | (save-excursion |
| 328 | (if (equal (char-after) ?/) | 342 | (if (equal (char-after) ?/) |
| 329 | (forward-char 1) | 343 | (forward-char 1) |
| 330 | (if (equal (char-before) ?=) | 344 | (if (equal (char-before) ?=) |
| 331 | (backward-char 1))) | 345 | (backward-char 1))) |
| @@ -335,7 +349,7 @@ It collects and prints the diagnostics messages." | |||
| 335 | (beg (save-excursion (skip-chars-backward chars) (point))) | 349 | (beg (save-excursion (skip-chars-backward chars) (point))) |
| 336 | (end (save-excursion (skip-chars-forward chars) (point))) | 350 | (end (save-excursion (skip-chars-forward chars) (point))) |
| 337 | (this-word (buffer-substring-no-properties beg end)) | 351 | (this-word (buffer-substring-no-properties beg end)) |
| 338 | (st-ass (assoc (downcase this-word) | 352 | (st-ass (assoc (downcase this-word) |
| 339 | idlwave-help-special-topic-words)) | 353 | idlwave-help-special-topic-words)) |
| 340 | (classtag (and (string-match "self\\." this-word) | 354 | (classtag (and (string-match "self\\." this-word) |
| 341 | (< beg (- end 4)))) | 355 | (< beg (- end 4)))) |
| @@ -343,7 +357,7 @@ It collects and prints the diagnostics messages." | |||
| 343 | (string-match "\\`\\([^.]+\\)\\." this-word) | 357 | (string-match "\\`\\([^.]+\\)\\." this-word) |
| 344 | (< beg (- end 4)))) | 358 | (< beg (- end 4)))) |
| 345 | module keyword cw mod1 mod2 mod3) | 359 | module keyword cw mod1 mod2 mod3) |
| 346 | (if (or arg | 360 | (if (or arg |
| 347 | (and (not st-ass) | 361 | (and (not st-ass) |
| 348 | (not classtag) | 362 | (not classtag) |
| 349 | (not structtag) | 363 | (not structtag) |
| @@ -362,15 +376,15 @@ It collects and prints the diagnostics messages." | |||
| 362 | (setq module (list "init" 'fun (match-string 1 str)) | 376 | (setq module (list "init" 'fun (match-string 1 str)) |
| 363 | idlwave-current-obj_new-class (match-string 1 str)) | 377 | idlwave-current-obj_new-class (match-string 1 str)) |
| 364 | ))))) | 378 | ))))) |
| 365 | (cond | 379 | (cond |
| 366 | (arg (setq mod1 module)) | 380 | (arg (setq mod1 module)) |
| 367 | 381 | ||
| 368 | ;; A special topic -- only system help | 382 | ;; A special topic -- only system help |
| 369 | (st-ass (setq mod1 (list (cdr st-ass)))) | 383 | (st-ass (setq mod1 (list (cdr st-ass)))) |
| 370 | 384 | ||
| 371 | ;; A system variable -- only system help | 385 | ;; A system variable -- only system help |
| 372 | ((string-match | 386 | ((string-match |
| 373 | "\\`!\\([a-zA-Z0-9_]+\\)\\(\.\\([A-Za-z0-9_]+\\)\\)?" | 387 | "\\`!\\([a-zA-Z0-9_]+\\)\\(\.\\([A-Za-z0-9_]+\\)\\)?" |
| 374 | this-word) | 388 | this-word) |
| 375 | (let* ((word (match-string-no-properties 1 this-word)) | 389 | (let* ((word (match-string-no-properties 1 this-word)) |
| 376 | (entry (assq (idlwave-sintern-sysvar word) | 390 | (entry (assq (idlwave-sintern-sysvar word) |
| @@ -382,19 +396,18 @@ It collects and prints the diagnostics messages." | |||
| 382 | (cdr (assq 'tags entry)))))) | 396 | (cdr (assq 'tags entry)))))) |
| 383 | (link (nth 1 (assq 'link entry)))) | 397 | (link (nth 1 (assq 'link entry)))) |
| 384 | (if tag-target | 398 | (if tag-target |
| 385 | (setq link (idlwave-substitute-link-target link | 399 | (setq link (idlwave-substitute-link-target link |
| 386 | tag-target))) | 400 | tag-target))) |
| 387 | (setq mod1 (list link)))) | 401 | (setq mod1 (list link)))) |
| 388 | 402 | ||
| 389 | ;; An executive command -- only system help | 403 | ;; An executive command -- only system help |
| 390 | ((string-match "^\\.\\([A-Z_]+\\)" this-word) | 404 | ((string-match "^\\.\\([A-Z_]+\\)" this-word) |
| 391 | (let* ((word (match-string 1 this-word)) | 405 | (let* ((word (match-string 1 this-word)) |
| 392 | (link (cdr (assoc-string | 406 | (link (cdr (assoc-string |
| 393 | word | 407 | word |
| 394 | idlwave-executive-commands-alist | 408 | idlwave-executive-commands-alist t)))) |
| 395 | t)))) | ||
| 396 | (setq mod1 (list link)))) | 409 | (setq mod1 (list link)))) |
| 397 | 410 | ||
| 398 | ;; A class -- system OR in-text help (via class__define). | 411 | ;; A class -- system OR in-text help (via class__define). |
| 399 | ((and (eq cw 'class) | 412 | ((and (eq cw 'class) |
| 400 | (or (idlwave-in-quote) ; e.g. obj_new | 413 | (or (idlwave-in-quote) ; e.g. obj_new |
| @@ -408,28 +421,28 @@ It collects and prints the diagnostics messages." | |||
| 408 | (name (concat (downcase this-word) "__define")) | 421 | (name (concat (downcase this-word) "__define")) |
| 409 | (link (nth 1 (assq 'link entry)))) | 422 | (link (nth 1 (assq 'link entry)))) |
| 410 | (setq mod1 (list link name 'pro)))) | 423 | (setq mod1 (list link name 'pro)))) |
| 411 | 424 | ||
| 412 | ;; A class structure tag (self.BLAH) -- only in-text help available | 425 | ;; A class structure tag (self.BLAH) -- only in-text help available |
| 413 | (classtag | 426 | (classtag |
| 414 | (let ((tag (substring this-word (match-end 0))) | 427 | (let ((tag (substring this-word (match-end 0))) |
| 415 | class-with found-in) | 428 | class-with found-in) |
| 416 | (when (setq class-with | 429 | (when (setq class-with |
| 417 | (idlwave-class-or-superclass-with-tag | 430 | (idlwave-class-or-superclass-with-tag |
| 418 | (nth 2 (idlwave-current-routine)) | 431 | (nth 2 (idlwave-current-routine)) |
| 419 | tag)) | 432 | tag)) |
| 420 | (setq found-in (idlwave-class-found-in class-with)) | 433 | (setq found-in (idlwave-class-found-in class-with)) |
| 421 | (if (assq (idlwave-sintern-class class-with) | 434 | (if (assq (idlwave-sintern-class class-with) |
| 422 | idlwave-system-class-info) | 435 | idlwave-system-class-info) |
| 423 | (error "No help available for system class tags")) | 436 | (error "No help available for system class tags")) |
| 424 | (setq idlwave-help-do-class-struct-tag t) | 437 | (setq idlwave-help-do-class-struct-tag t) |
| 425 | (setq mod1 (list nil | 438 | (setq mod1 (list nil |
| 426 | (if found-in | 439 | (if found-in |
| 427 | (cons (concat found-in "__define") class-with) | 440 | (cons (concat found-in "__define") class-with) |
| 428 | (concat class-with "__define")) | 441 | (concat class-with "__define")) |
| 429 | 'pro | 442 | 'pro |
| 430 | nil ; no class.... it's a procedure! | 443 | nil ; no class.... it's a procedure! |
| 431 | tag))))) | 444 | tag))))) |
| 432 | 445 | ||
| 433 | ;; A regular structure tag -- only in text, and if | 446 | ;; A regular structure tag -- only in text, and if |
| 434 | ;; optional `complete-structtag' loaded. | 447 | ;; optional `complete-structtag' loaded. |
| 435 | (structtag | 448 | (structtag |
| @@ -440,7 +453,7 @@ It collects and prints the diagnostics messages." | |||
| 440 | (setq idlwave-help-do-struct-tag | 453 | (setq idlwave-help-do-struct-tag |
| 441 | idlwave-structtag-struct-location | 454 | idlwave-structtag-struct-location |
| 442 | mod1 (list nil nil nil nil tag)))) | 455 | mod1 (list nil nil nil nil tag)))) |
| 443 | 456 | ||
| 444 | ;; A routine keyword -- in text or system help | 457 | ;; A routine keyword -- in text or system help |
| 445 | ((and (memq cw '(function-keyword procedure-keyword)) | 458 | ((and (memq cw '(function-keyword procedure-keyword)) |
| 446 | (stringp this-word) | 459 | (stringp this-word) |
| @@ -482,7 +495,7 @@ It collects and prints the diagnostics messages." | |||
| 482 | (setq mod1 (append (list t) module (list keyword)) | 495 | (setq mod1 (append (list t) module (list keyword)) |
| 483 | mod2 (list t this-word 'fun nil) | 496 | mod2 (list t this-word 'fun nil) |
| 484 | mod3 (append (list t) module))))) | 497 | mod3 (append (list t) module))))) |
| 485 | 498 | ||
| 486 | ;; Everything else | 499 | ;; Everything else |
| 487 | (t | 500 | (t |
| 488 | (setq mod1 (append (list t) module)))) | 501 | (setq mod1 (append (list t) module)))) |
| @@ -515,14 +528,14 @@ Needs additional info stored in global `idlwave-completion-help-info'." | |||
| 515 | word link) | 528 | word link) |
| 516 | (mouse-set-point ev) | 529 | (mouse-set-point ev) |
| 517 | 530 | ||
| 518 | 531 | ||
| 519 | ;; See if we can also find help somewhere, e.g. for multiple classes | 532 | ;; See if we can also find help somewhere, e.g. for multiple classes |
| 520 | (setq word (idlwave-this-word)) | 533 | (setq word (idlwave-this-word)) |
| 521 | (if (string= word "") | 534 | (if (string= word "") |
| 522 | (error "No help item selected")) | 535 | (error "No help item selected")) |
| 523 | (setq link (get-text-property 0 'link word)) | 536 | (setq link (get-text-property 0 'link word)) |
| 524 | (select-window cw) | 537 | (select-window cw) |
| 525 | (cond | 538 | (cond |
| 526 | ;; Routine name | 539 | ;; Routine name |
| 527 | ((memq what '(procedure function routine)) | 540 | ((memq what '(procedure function routine)) |
| 528 | (setq name word) | 541 | (setq name word) |
| @@ -533,9 +546,9 @@ Needs additional info stored in global `idlwave-completion-help-info'." | |||
| 533 | type))) | 546 | type))) |
| 534 | (setq link t) ; No specific link valid yet | 547 | (setq link t) ; No specific link valid yet |
| 535 | (if sclasses | 548 | (if sclasses |
| 536 | (setq classes (idlwave-members-only | 549 | (setq classes (idlwave-members-only |
| 537 | classes (cons class sclasses)))) | 550 | classes (cons class sclasses)))) |
| 538 | (setq class (idlwave-popup-select ev classes | 551 | (setq class (idlwave-popup-select ev classes |
| 539 | "Select Class" 'sort)))) | 552 | "Select Class" 'sort)))) |
| 540 | 553 | ||
| 541 | ;; XXX is this necessary, given all-method-classes? | 554 | ;; XXX is this necessary, given all-method-classes? |
| @@ -555,7 +568,7 @@ Needs additional info stored in global `idlwave-completion-help-info'." | |||
| 555 | type))) | 568 | type))) |
| 556 | (setq link t) ; Link can't be correct yet | 569 | (setq link t) ; Link can't be correct yet |
| 557 | (if sclasses | 570 | (if sclasses |
| 558 | (setq classes (idlwave-members-only | 571 | (setq classes (idlwave-members-only |
| 559 | classes (cons class sclasses)))) | 572 | classes (cons class sclasses)))) |
| 560 | (setq class (idlwave-popup-select ev classes | 573 | (setq class (idlwave-popup-select ev classes |
| 561 | "Select Class" 'sort)) | 574 | "Select Class" 'sort)) |
| @@ -567,14 +580,14 @@ Needs additional info stored in global `idlwave-completion-help-info'." | |||
| 567 | (if (string= (downcase name) "obj_new") | 580 | (if (string= (downcase name) "obj_new") |
| 568 | (setq class idlwave-current-obj_new-class | 581 | (setq class idlwave-current-obj_new-class |
| 569 | name "Init")))) | 582 | name "Init")))) |
| 570 | 583 | ||
| 571 | ;; Class name | 584 | ;; Class name |
| 572 | ((eq what 'class) | 585 | ((eq what 'class) |
| 573 | (setq class word | 586 | (setq class word |
| 574 | word nil)) | 587 | word nil)) |
| 575 | 588 | ||
| 576 | ;; A special named function to call which sets some of our variables | 589 | ;; A special named function to call which sets some of our variables |
| 577 | ((and (symbolp what) | 590 | ((and (symbolp what) |
| 578 | (fboundp what)) | 591 | (fboundp what)) |
| 579 | (funcall what 'set word)) | 592 | (funcall what 'set word)) |
| 580 | 593 | ||
| @@ -589,7 +602,7 @@ Needs additional info stored in global `idlwave-completion-help-info'." | |||
| 589 | "Highlight all completions for which help is available and attach link. | 602 | "Highlight all completions for which help is available and attach link. |
| 590 | Those words in `idlwave-completion-help-links' have links. The | 603 | Those words in `idlwave-completion-help-links' have links. The |
| 591 | `idlwave-help-link' face is used for this." | 604 | `idlwave-help-link' face is used for this." |
| 592 | (if idlwave-highlight-help-links-in-completion | 605 | (if idlwave-highlight-help-links-in-completion |
| 593 | (with-current-buffer (get-buffer "*Completions*") | 606 | (with-current-buffer (get-buffer "*Completions*") |
| 594 | (save-excursion | 607 | (save-excursion |
| 595 | (let* ((case-fold-search t) | 608 | (let* ((case-fold-search t) |
| @@ -605,7 +618,7 @@ Those words in `idlwave-completion-help-links' have links. The | |||
| 605 | (setq beg (match-beginning 1) end (match-end 1) | 618 | (setq beg (match-beginning 1) end (match-end 1) |
| 606 | word (match-string 1) doit nil) | 619 | word (match-string 1) doit nil) |
| 607 | ;; Call special completion function test | 620 | ;; Call special completion function test |
| 608 | (if (and (symbolp what) | 621 | (if (and (symbolp what) |
| 609 | (fboundp what)) | 622 | (fboundp what)) |
| 610 | (setq doit (funcall what 'test word)) | 623 | (setq doit (funcall what 'test word)) |
| 611 | ;; Look for special link property passed in help-links | 624 | ;; Look for special link property passed in help-links |
| @@ -636,13 +649,13 @@ Those words in `idlwave-completion-help-links' have links. The | |||
| 636 | ;; Try to select the return frame. | 649 | ;; Try to select the return frame. |
| 637 | ;; This can crash on slow network connections, obviously when | 650 | ;; This can crash on slow network connections, obviously when |
| 638 | ;; we kill the help frame before the return-frame is selected. | 651 | ;; we kill the help frame before the return-frame is selected. |
| 639 | ;; To protect the workings, we wait for up to one second | 652 | ;; To protect the workings, we wait for up to one second |
| 640 | ;; and check if the return-frame *is* now selected. | 653 | ;; and check if the return-frame *is* now selected. |
| 641 | ;; This is marked "eperimental" since we are not sure when its OK. | 654 | ;; This is marked "eperimental" since we are not sure when its OK. |
| 642 | (let ((maxtime 1.0) (time 0.) (step 0.1)) | 655 | (let ((maxtime 1.0) (time 0.) (step 0.1)) |
| 643 | (select-frame idlwave-help-return-frame) | 656 | (select-frame idlwave-help-return-frame) |
| 644 | (while (and (sit-for step) | 657 | (while (and (sit-for step) |
| 645 | (not (eq (selected-frame) | 658 | (not (eq (selected-frame) |
| 646 | idlwave-help-return-frame)) | 659 | idlwave-help-return-frame)) |
| 647 | (< (setq time (+ time step)) maxtime))))) | 660 | (< (setq time (+ time step)) maxtime))))) |
| 648 | (delete-frame idlwave-help-frame)) | 661 | (delete-frame idlwave-help-frame)) |
| @@ -655,7 +668,7 @@ Those words in `idlwave-completion-help-links' have links. The | |||
| 655 | (defvar default-toolbar-visible-p) | 668 | (defvar default-toolbar-visible-p) |
| 656 | 669 | ||
| 657 | (defun idlwave-help-display-help-window (&optional pos-or-func) | 670 | (defun idlwave-help-display-help-window (&optional pos-or-func) |
| 658 | "Display the help window. | 671 | "Display the help window. |
| 659 | Move window start to POS-OR-FUNC, if passed as a position, or call it | 672 | Move window start to POS-OR-FUNC, if passed as a position, or call it |
| 660 | if passed as a function. See `idlwave-help-use-dedicated-frame'." | 673 | if passed as a function. See `idlwave-help-use-dedicated-frame'." |
| 661 | (let ((cw (selected-window)) | 674 | (let ((cw (selected-window)) |
| @@ -666,13 +679,13 @@ if passed as a function. See `idlwave-help-use-dedicated-frame'." | |||
| 666 | (switch-to-buffer buf)) | 679 | (switch-to-buffer buf)) |
| 667 | ;; Do it in this frame and save the window configuration | 680 | ;; Do it in this frame and save the window configuration |
| 668 | (if (not (get-buffer-window buf nil)) | 681 | (if (not (get-buffer-window buf nil)) |
| 669 | (setq idlwave-help-window-configuration | 682 | (setq idlwave-help-window-configuration |
| 670 | (current-window-configuration))) | 683 | (current-window-configuration))) |
| 671 | (display-buffer buf nil (selected-frame)) | 684 | (display-buffer buf nil (selected-frame)) |
| 672 | (select-window (get-buffer-window buf))) | 685 | (select-window (get-buffer-window buf))) |
| 673 | (raise-frame) | 686 | (raise-frame) |
| 674 | (if pos-or-func | 687 | (if pos-or-func |
| 675 | (if (functionp pos-or-func) | 688 | (if (functionp pos-or-func) |
| 676 | (funcall pos-or-func) | 689 | (funcall pos-or-func) |
| 677 | (goto-char pos-or-func) | 690 | (goto-char pos-or-func) |
| 678 | (recenter 0))) | 691 | (recenter 0))) |
| @@ -694,31 +707,31 @@ if passed as a function. See `idlwave-help-use-dedicated-frame'." | |||
| 694 | (select-frame idlwave-help-return-frame))) | 707 | (select-frame idlwave-help-return-frame))) |
| 695 | 708 | ||
| 696 | (defun idlwave-online-help (link &optional name type class keyword) | 709 | (defun idlwave-online-help (link &optional name type class keyword) |
| 697 | "Display HTML or other special help on a certain topic. | 710 | "Display HTML or other special help on a certain topic. |
| 698 | Either loads an HTML link, if LINK is non-nil, or gets special-help on | 711 | Either loads an HTML link, if LINK is non-nil, or gets special-help on |
| 699 | the optional arguments, if any special help is defined. If LINK is | 712 | the optional arguments, if any special help is defined. If LINK is |
| 700 | `t', first look up the optional arguments in the routine info list to | 713 | `t', first look up the optional arguments in the routine info list to |
| 701 | see if a link is set for it. Try extra help functions if necessary." | 714 | see if a link is set for it. Try extra help functions if necessary." |
| 702 | ;; Lookup link | 715 | ;; Lookup link |
| 703 | (if (eq link t) | 716 | (if (eq link t) |
| 704 | (let ((entry (idlwave-best-rinfo-assoc name type class | 717 | (let ((entry (idlwave-best-rinfo-assoc name type class |
| 705 | (idlwave-routines) nil t))) | 718 | (idlwave-routines) nil t))) |
| 706 | (cond | 719 | (cond |
| 707 | ;; Try keyword link | 720 | ;; Try keyword link |
| 708 | ((and keyword | 721 | ((and keyword |
| 709 | (setq link (cdr (idlwave-entry-find-keyword entry keyword))))) | 722 | (setq link (cdr (idlwave-entry-find-keyword entry keyword))))) |
| 710 | ;; Default, regular entry link | 723 | ;; Default, regular entry link |
| 711 | (t (setq link (idlwave-entry-has-help entry)))))) | 724 | (t (setq link (idlwave-entry-has-help entry)))))) |
| 712 | 725 | ||
| 713 | (cond | 726 | (cond |
| 714 | ;; An explicit link | 727 | ;; An explicit link |
| 715 | ((stringp link) | 728 | ((stringp link) |
| 716 | (idlwave-help-html-link link)) | 729 | (idlwave-help-html-link link)) |
| 717 | 730 | ||
| 718 | ;; Any extra help | 731 | ;; Any extra help |
| 719 | (idlwave-extra-help-function | 732 | (idlwave-extra-help-function |
| 720 | (idlwave-help-get-special-help name type class keyword)) | 733 | (idlwave-help-get-special-help name type class keyword)) |
| 721 | 734 | ||
| 722 | ;; Nothing worked | 735 | ;; Nothing worked |
| 723 | (t (idlwave-help-error name type class keyword)))) | 736 | (t (idlwave-help-error name type class keyword)))) |
| 724 | 737 | ||
| @@ -729,7 +742,7 @@ see if a link is set for it. Try extra help functions if necessary." | |||
| 729 | (help-pos (save-excursion | 742 | (help-pos (save-excursion |
| 730 | (set-buffer (idlwave-help-get-help-buffer)) | 743 | (set-buffer (idlwave-help-get-help-buffer)) |
| 731 | (let ((buffer-read-only nil)) | 744 | (let ((buffer-read-only nil)) |
| 732 | (funcall idlwave-extra-help-function | 745 | (funcall idlwave-extra-help-function |
| 733 | name type class keyword))))) | 746 | name type class keyword))))) |
| 734 | (if help-pos | 747 | (if help-pos |
| 735 | (idlwave-help-display-help-window help-pos) | 748 | (idlwave-help-display-help-window help-pos) |
| @@ -743,6 +756,9 @@ see if a link is set for it. Try extra help functions if necessary." | |||
| 743 | (browse-url-generic-program idlwave-help-browser-generic-program) | 756 | (browse-url-generic-program idlwave-help-browser-generic-program) |
| 744 | ;(browse-url-generic-args idlwave-help-browser-generic-args) | 757 | ;(browse-url-generic-args idlwave-help-browser-generic-args) |
| 745 | full-link) | 758 | full-link) |
| 759 | |||
| 760 | (unless idlwave-help-browse-url-available | ||
| 761 | (error "browse-url is not available -- install it to use HTML help.")) | ||
| 746 | 762 | ||
| 747 | (if (and (memq system-type '(ms-dos windows-nt)) | 763 | (if (and (memq system-type '(ms-dos windows-nt)) |
| 748 | idlwave-help-use-hh) | 764 | idlwave-help-use-hh) |
| @@ -758,12 +774,12 @@ see if a link is set for it. Try extra help functions if necessary." | |||
| 758 | ;; Just a regular file name (+ anchor name) | 774 | ;; Just a regular file name (+ anchor name) |
| 759 | (unless (and (stringp help-loc) | 775 | (unless (and (stringp help-loc) |
| 760 | (file-directory-p help-loc)) | 776 | (file-directory-p help-loc)) |
| 761 | (error | 777 | (error |
| 762 | "Invalid help location; customize `idlwave-html-help-location'.")) | 778 | "Invalid help location; customize `idlwave-html-help-location'.")) |
| 763 | (setq full-link (concat | 779 | (setq full-link (concat |
| 764 | "file://" | 780 | "file://" |
| 765 | (expand-file-name | 781 | (expand-file-name |
| 766 | link | 782 | link |
| 767 | (expand-file-name "idl_html_help" help-loc))))) | 783 | (expand-file-name "idl_html_help" help-loc))))) |
| 768 | 784 | ||
| 769 | ;; Check for a local browser | 785 | ;; Check for a local browser |
| @@ -773,11 +789,10 @@ see if a link is set for it. Try extra help functions if necessary." | |||
| 773 | (browse-url full-link)))) | 789 | (browse-url full-link)))) |
| 774 | 790 | ||
| 775 | ;; A special help routine for source-level syntax help in files. | 791 | ;; A special help routine for source-level syntax help in files. |
| 776 | (defvar idlwave-help-def-pos) | ||
| 777 | (defvar idlwave-help-args) | ||
| 778 | (defvar idlwave-help-in-header) | ||
| 779 | (defvar idlwave-help-fontify-source-code) | 792 | (defvar idlwave-help-fontify-source-code) |
| 780 | (defvar idlwave-help-source-try-header) | 793 | (defvar idlwave-help-source-try-header) |
| 794 | (defvar idlwave-current-tags-buffer) | ||
| 795 | (defvar idlwave-current-tags-class) | ||
| 781 | (defun idlwave-help-with-source (name type class keyword) | 796 | (defun idlwave-help-with-source (name type class keyword) |
| 782 | "Provide help for routines not documented in the IDL manuals. Works | 797 | "Provide help for routines not documented in the IDL manuals. Works |
| 783 | by loading the routine source file into the help buffer. Depending on | 798 | by loading the routine source file into the help buffer. Depending on |
| @@ -799,7 +814,7 @@ This function can be used as `idlwave-extra-help-function'." | |||
| 799 | (if class-only ;Help with class? Using "Init" as source. | 814 | (if class-only ;Help with class? Using "Init" as source. |
| 800 | (setq name "Init" | 815 | (setq name "Init" |
| 801 | type 'fun)) | 816 | type 'fun)) |
| 802 | (if (not struct-tag) | 817 | (if (not struct-tag) |
| 803 | (setq file | 818 | (setq file |
| 804 | (idlwave-routine-source-file | 819 | (idlwave-routine-source-file |
| 805 | (nth 3 (idlwave-best-rinfo-assoc | 820 | (nth 3 (idlwave-best-rinfo-assoc |
| @@ -812,7 +827,7 @@ This function can be used as `idlwave-extra-help-function'." | |||
| 812 | (if (or struct-tag (stringp file)) | 827 | (if (or struct-tag (stringp file)) |
| 813 | (progn | 828 | (progn |
| 814 | (setq in-buf ; structure-tag completion is always in current buffer | 829 | (setq in-buf ; structure-tag completion is always in current buffer |
| 815 | (if struct-tag | 830 | (if struct-tag |
| 816 | idlwave-current-tags-buffer | 831 | idlwave-current-tags-buffer |
| 817 | (idlwave-get-buffer-visiting file))) | 832 | (idlwave-get-buffer-visiting file))) |
| 818 | ;; see if file is in a visited buffer, insert those contents | 833 | ;; see if file is in a visited buffer, insert those contents |
| @@ -834,19 +849,19 @@ This function can be used as `idlwave-extra-help-function'." | |||
| 834 | ;; Try to find a good place to display | 849 | ;; Try to find a good place to display |
| 835 | (setq def-pos | 850 | (setq def-pos |
| 836 | ;; Find the class structure tag if that's what we're after | 851 | ;; Find the class structure tag if that's what we're after |
| 837 | (cond | 852 | (cond |
| 838 | ;; Class structure tags: find the class or named structure | 853 | ;; Class structure tags: find the class or named structure |
| 839 | ;; definition | 854 | ;; definition |
| 840 | (class-struct-tag | 855 | (class-struct-tag |
| 841 | (save-excursion | 856 | (save-excursion |
| 842 | (setq class | 857 | (setq class |
| 843 | (if (string-match "[a-zA-Z0-9]\\(__\\)" name) | 858 | (if (string-match "[a-zA-Z0-9]\\(__\\)" name) |
| 844 | (substring name 0 (match-beginning 1)) | 859 | (substring name 0 (match-beginning 1)) |
| 845 | idlwave-current-tags-class)) | 860 | idlwave-current-tags-class)) |
| 846 | (and | 861 | (and |
| 847 | (idlwave-find-class-definition class nil real-class) | 862 | (idlwave-find-class-definition class nil real-class) |
| 848 | (idlwave-find-struct-tag keyword)))) | 863 | (idlwave-find-struct-tag keyword)))) |
| 849 | 864 | ||
| 850 | ;; Generic structure tags: the structure definition | 865 | ;; Generic structure tags: the structure definition |
| 851 | ;; location within the file has been recorded in | 866 | ;; location within the file has been recorded in |
| 852 | ;; `struct-tag' | 867 | ;; `struct-tag' |
| @@ -856,14 +871,14 @@ This function can be used as `idlwave-extra-help-function'." | |||
| 856 | (integerp struct-tag) | 871 | (integerp struct-tag) |
| 857 | (goto-char struct-tag) | 872 | (goto-char struct-tag) |
| 858 | (idlwave-find-struct-tag keyword)))) | 873 | (idlwave-find-struct-tag keyword)))) |
| 859 | 874 | ||
| 860 | ;; Just find the routine definition | 875 | ;; Just find the routine definition |
| 861 | (t | 876 | (t |
| 862 | (if class-only (point-min) | 877 | (if class-only (point-min) |
| 863 | (idlwave-help-find-routine-definition name type class keyword)))) | 878 | (idlwave-help-find-routine-definition name type class keyword)))) |
| 864 | idlwave-help-def-pos def-pos) | 879 | idlwave-help-def-pos def-pos) |
| 865 | 880 | ||
| 866 | (if (and idlwave-help-source-try-header | 881 | (if (and idlwave-help-source-try-header |
| 867 | (not (or struct-tag class-struct-tag))) | 882 | (not (or struct-tag class-struct-tag))) |
| 868 | ;; Check if we can find the header | 883 | ;; Check if we can find the header |
| 869 | (save-excursion | 884 | (save-excursion |
| @@ -873,7 +888,7 @@ This function can be used as `idlwave-extra-help-function'." | |||
| 873 | idlwave-help-in-header header-pos))) | 888 | idlwave-help-in-header header-pos))) |
| 874 | 889 | ||
| 875 | (if (or header-pos def-pos) | 890 | (if (or header-pos def-pos) |
| 876 | (progn | 891 | (progn |
| 877 | (if (boundp 'idlwave-help-min-frame-width) | 892 | (if (boundp 'idlwave-help-min-frame-width) |
| 878 | (setq idlwave-help-min-frame-width 80)) | 893 | (setq idlwave-help-min-frame-width 80)) |
| 879 | (goto-char (or header-pos def-pos))) | 894 | (goto-char (or header-pos def-pos))) |
| @@ -887,7 +902,7 @@ This function can be used as `idlwave-extra-help-function'." | |||
| 887 | KEYWORD is ignored. Returns the point of match if successful, nil otherwise." | 902 | KEYWORD is ignored. Returns the point of match if successful, nil otherwise." |
| 888 | (save-excursion | 903 | (save-excursion |
| 889 | (goto-char (point-max)) | 904 | (goto-char (point-max)) |
| 890 | (if (re-search-backward | 905 | (if (re-search-backward |
| 891 | (concat "^[ \t]*" | 906 | (concat "^[ \t]*" |
| 892 | (if (eq type 'pro) "pro" | 907 | (if (eq type 'pro) "pro" |
| 893 | (if (eq type 'fun) "function" | 908 | (if (eq type 'fun) "function" |
| @@ -933,22 +948,22 @@ with spaces allowed between the keyword and the following dash or equal sign. | |||
| 933 | If there is a match, we assume it is the keyword description." | 948 | If there is a match, we assume it is the keyword description." |
| 934 | (let* ((case-fold-search t) | 949 | (let* ((case-fold-search t) |
| 935 | (rname (if (stringp class) | 950 | (rname (if (stringp class) |
| 936 | (concat | 951 | (concat |
| 937 | "\\(" | 952 | "\\(" |
| 938 | ;; Traditional name or class::name | 953 | ;; Traditional name or class::name |
| 939 | "\\(" | 954 | "\\(" |
| 940 | "\\(" (regexp-quote (downcase class)) "::\\)?" | 955 | "\\(" (regexp-quote (downcase class)) "::\\)?" |
| 941 | (regexp-quote (downcase name)) | 956 | (regexp-quote (downcase name)) |
| 942 | "\\>\\)" | 957 | "\\>\\)" |
| 943 | (concat | 958 | (concat |
| 944 | "\\|" | 959 | "\\|" |
| 945 | ;; class__define or just class | 960 | ;; class__define or just class |
| 946 | (regexp-quote (downcase class)) "\\(__define\\)?") | 961 | (regexp-quote (downcase class)) "\\(__define\\)?") |
| 947 | "\\)") | 962 | "\\)") |
| 948 | (regexp-quote (downcase name)))) | 963 | (regexp-quote (downcase name)))) |
| 949 | 964 | ||
| 950 | ;; NAME tag plus the routine name. The new version is from JD. | 965 | ;; NAME tag plus the routine name. The new version is from JD. |
| 951 | (name-re (concat | 966 | (name-re (concat |
| 952 | "\\(^;+\\*?[ \t]*" | 967 | "\\(^;+\\*?[ \t]*" |
| 953 | idlwave-help-doclib-name | 968 | idlwave-help-doclib-name |
| 954 | "\\([ \t]*:\\|[ \t]*$\\)[ \t]*\\(\n;+[ \t]*\\)*" | 969 | "\\([ \t]*:\\|[ \t]*$\\)[ \t]*\\(\n;+[ \t]*\\)*" |
| @@ -983,7 +998,7 @@ If there is a match, we assume it is the keyword description." | |||
| 983 | (regexp-quote (upcase keyword)) | 998 | (regexp-quote (upcase keyword)) |
| 984 | "\\>"))) | 999 | "\\>"))) |
| 985 | dstart dend name-pos kwds-pos kwd-pos) | 1000 | dstart dend name-pos kwds-pos kwd-pos) |
| 986 | (catch 'exit | 1001 | (catch 'exit |
| 987 | (save-excursion | 1002 | (save-excursion |
| 988 | (goto-char (point-min)) | 1003 | (goto-char (point-min)) |
| 989 | (while (and (setq dstart (re-search-forward idlwave-doclib-start nil t)) | 1004 | (while (and (setq dstart (re-search-forward idlwave-doclib-start nil t)) |
| @@ -991,7 +1006,7 @@ If there is a match, we assume it is the keyword description." | |||
| 991 | ;; found a routine header | 1006 | ;; found a routine header |
| 992 | (goto-char dstart) | 1007 | (goto-char dstart) |
| 993 | (if (setq name-pos (re-search-forward name-re dend t)) | 1008 | (if (setq name-pos (re-search-forward name-re dend t)) |
| 994 | (progn | 1009 | (progn |
| 995 | (if keyword | 1010 | (if keyword |
| 996 | ;; We do need a keyword | 1011 | ;; We do need a keyword |
| 997 | (progn | 1012 | (progn |
| @@ -1073,7 +1088,7 @@ When DING is non-nil, ring the bell as well." | |||
| 1073 | (idlwave-help-find-first-header nil) | 1088 | (idlwave-help-find-first-header nil) |
| 1074 | (setq idlwave-help-in-header nil) | 1089 | (setq idlwave-help-in-header nil) |
| 1075 | (idlwave-help-toggle-header-match-and-def arg 'top))) | 1090 | (idlwave-help-toggle-header-match-and-def arg 'top))) |
| 1076 | 1091 | ||
| 1077 | (defun idlwave-help-toggle-header-match-and-def (arg &optional top) | 1092 | (defun idlwave-help-toggle-header-match-and-def (arg &optional top) |
| 1078 | (interactive "P") | 1093 | (interactive "P") |
| 1079 | (let ((args idlwave-help-args) | 1094 | (let ((args idlwave-help-args) |
| @@ -1085,7 +1100,7 @@ When DING is non-nil, ring the bell as well." | |||
| 1085 | (setq pos idlwave-help-def-pos)) | 1100 | (setq pos idlwave-help-def-pos)) |
| 1086 | ;; Try to display header | 1101 | ;; Try to display header |
| 1087 | (setq pos (apply 'idlwave-help-find-in-doc-header | 1102 | (setq pos (apply 'idlwave-help-find-in-doc-header |
| 1088 | (if top | 1103 | (if top |
| 1089 | (list (car args) (nth 1 args) (nth 2 args) nil) | 1104 | (list (car args) (nth 1 args) (nth 2 args) nil) |
| 1090 | args))) | 1105 | args))) |
| 1091 | (if pos | 1106 | (if pos |
| @@ -1119,7 +1134,7 @@ Useful when source code is displayed as help. See the option | |||
| 1119 | (font-lock-fontify-buffer)) | 1134 | (font-lock-fontify-buffer)) |
| 1120 | (set-syntax-table syntax-table))))) | 1135 | (set-syntax-table syntax-table))))) |
| 1121 | 1136 | ||
| 1122 | 1137 | ||
| 1123 | (defun idlwave-help-error (name type class keyword) | 1138 | (defun idlwave-help-error (name type class keyword) |
| 1124 | (error "Can't find help on %s%s %s" | 1139 | (error "Can't find help on %s%s %s" |
| 1125 | (or (and (or class name) (idlwave-make-full-name class name)) | 1140 | (or (and (or class name) (idlwave-make-full-name class name)) |
diff --git a/lisp/progmodes/idlw-rinfo.el b/lisp/progmodes/idlw-rinfo.el index 9f95f8e6a5b..01888922cfe 100644 --- a/lisp/progmodes/idlw-rinfo.el +++ b/lisp/progmodes/idlw-rinfo.el | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | ;;; idlw-rinfo.el --- Routine Information for IDLWAVE | 1 | ;;; idlw-rinfo.el --- Routine Information for IDLWAVE |
| 2 | ;; Copyright (c) 1999 Carsten Dominik | 2 | ;; Copyright (c) 1999 Carsten Dominik |
| 3 | ;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation | 3 | ;; Copyright (c) 1999, 2000, 2001,2002,2003,2004,2005 Free Software Foundation |
| 4 | 4 | ||
| 5 | ;; Author: J.D. Smith <jdsmith@as.arizona.edu> | 5 | ;; Author: J.D. Smith <jdsmith@as.arizona.edu> |
| 6 | ;; Version: 5.5 | 6 | ;; Version: 5.7_22 |
| 7 | ;; Keywords: languages | 7 | ;; Keywords: languages |
| 8 | 8 | ||
| 9 | ;; This file is part of GNU Emacs. | 9 | ;; This file is part of GNU Emacs. |
| @@ -30,7 +30,7 @@ | |||
| 30 | ;; information is extracted automatically from the IDL documentation | 30 | ;; information is extracted automatically from the IDL documentation |
| 31 | ;; and by talking to IDL. | 31 | ;; and by talking to IDL. |
| 32 | ;; | 32 | ;; |
| 33 | ;; Created by get_html_rinfo on Sun Oct 10 16:06:07 2004 | 33 | ;; Created by get_html_rinfo on Wed May 11 14:52:40 2005 |
| 34 | ;; IDL version: 6.1 | 34 | ;; IDL version: 6.1 |
| 35 | ;; Number of files scanned: 3393 | 35 | ;; Number of files scanned: 3393 |
| 36 | ;; Number of routines found: 1850 | 36 | ;; Number of routines found: 1850 |
| @@ -1242,7 +1242,7 @@ | |||
| 1242 | ("Init" fun "IDLanROI" (system) "Result = Obj->[%s::]%s([, X [, Y [, Z]]])" ("objects_an11.html" ) ("objects_an4.html" ("BLOCK_SIZE" . 1011320) ("DATA" . 1011322) ("DOUBLE" . 1011324) ("INTERIOR" . 1011326) ("TYPE" . 1011328))) | 1242 | ("Init" fun "IDLanROI" (system) "Result = Obj->[%s::]%s([, X [, Y [, Z]]])" ("objects_an11.html" ) ("objects_an4.html" ("BLOCK_SIZE" . 1011320) ("DATA" . 1011322) ("DOUBLE" . 1011324) ("INTERIOR" . 1011326) ("TYPE" . 1011328))) |
| 1243 | ("Add" pro "IDLanROIGroup" (system) "Obj->[%s::]%s, ROI" ("objects_an20.html")) | 1243 | ("Add" pro "IDLanROIGroup" (system) "Obj->[%s::]%s, ROI" ("objects_an20.html")) |
| 1244 | ("Cleanup" pro "IDLanROIGroup" (system) "Obj->[%s::]%s" ("objects_an21.html")) | 1244 | ("Cleanup" pro "IDLanROIGroup" (system) "Obj->[%s::]%s" ("objects_an21.html")) |
| 1245 | ("GetProperty" pro "IDLanROIGroup" (system) "Obj->[%s::]%s" ("objects_an25.html" ) ("objects_an19.html" ("ALL" . 1011995) ("ROIGROUP_XRANGE " . 1011998) ("ROIGROUP_YRANGE " . 1012000) ("ROIGROUP_ZRANGE " . 1012002))) | 1245 | ("GetProperty" pro "IDLanROIGroup" (system) "Obj->[%s::]%s" ("objects_an25.html" ) ("objects_an19.html" ("ALL" . 1011995) ("ROIGROUP_XRANGE" . 1011998) ("ROIGROUP_YRANGE" . 1012000) ("ROIGROUP_ZRANGE" . 1012002))) |
| 1246 | ("Rotate" pro "IDLanROIGroup" (system) "Obj->[%s::]%s, Axis, Angle" ("objects_an27.html" ("CENTER" . 1004731))) | 1246 | ("Rotate" pro "IDLanROIGroup" (system) "Obj->[%s::]%s, Axis, Angle" ("objects_an27.html" ("CENTER" . 1004731))) |
| 1247 | ("Scale" pro "IDLanROIGroup" (system) "Obj->[%s::]%s, Sx[, Sy[, Sz]]" ("objects_an28.html")) | 1247 | ("Scale" pro "IDLanROIGroup" (system) "Obj->[%s::]%s, Sx[, Sy[, Sz]]" ("objects_an28.html")) |
| 1248 | ("Translate" pro "IDLanROIGroup" (system) "Obj->[%s::]%s, Tx[, Ty[, Tz]]" ("objects_an29.html")) | 1248 | ("Translate" pro "IDLanROIGroup" (system) "Obj->[%s::]%s, Tx[, Ty[, Tz]]" ("objects_an29.html")) |
| @@ -1433,120 +1433,120 @@ | |||
| 1433 | ("Draw" pro "IDLgrBuffer" (system) "Obj->[%s::]%s [, Picture]" ("objects_gr13.html" ("CREATE_INSTANCE" . 1007844) ("DRAW_INSTANCE" . 1007846))) | 1433 | ("Draw" pro "IDLgrBuffer" (system) "Obj->[%s::]%s [, Picture]" ("objects_gr13.html" ("CREATE_INSTANCE" . 1007844) ("DRAW_INSTANCE" . 1007846))) |
| 1434 | ("Erase" pro "IDLgrBuffer" (system) "Obj->[%s::]%s" ("objects_gr14.html" ("COLOR" . 1007879))) | 1434 | ("Erase" pro "IDLgrBuffer" (system) "Obj->[%s::]%s" ("objects_gr14.html" ("COLOR" . 1007879))) |
| 1435 | ("GetDeviceInfo" pro "IDLgrBuffer" (system) "Obj->[%s::]%s" ("objects_gr16.html" ("ALL" . 1007957) ("MAX_NUM_CLIP_PLANES" . 1007959) ("MAX_TEXTURE_DIMENSIONS" . 1007961) ("MAX_VIEWPORT_DIMENSIONS" . 1007963) ("NAME" . 1007965) ("NUM_CPUS" . 1007967) ("VENDOR" . 1007970) ("VERSION" . 1007972))) | 1435 | ("GetDeviceInfo" pro "IDLgrBuffer" (system) "Obj->[%s::]%s" ("objects_gr16.html" ("ALL" . 1007957) ("MAX_NUM_CLIP_PLANES" . 1007959) ("MAX_TEXTURE_DIMENSIONS" . 1007961) ("MAX_VIEWPORT_DIMENSIONS" . 1007963) ("NAME" . 1007965) ("NUM_CPUS" . 1007967) ("VENDOR" . 1007970) ("VERSION" . 1007972))) |
| 1436 | ("GetProperty" pro "IDLgrBuffer" (system) "Obj->[%s::]%s" ("objects_gr18.html" ) ("objects_gr11.html" ("ALL" . 1050118) ("COLOR_MODEL" . 1050137) ("DIMENSIONS" . 1050141) ("GRAPHICS_TREE" . 1050143) ("IMAGE_DATA" . 1050202) ("N_COLORS" . 1092707) ("PALETTE" . 1050147) ("QUALITY" . 1050149) ("RESOLUTION " . 1093499) ("SCREEN_DIMENSIONS" . 1050191) ("UNITS " . 1050189) ("ZBUFFER_DATA" . 1050181))) | 1436 | ("GetProperty" pro "IDLgrBuffer" (system) "Obj->[%s::]%s" ("objects_gr18.html" ) ("objects_gr11.html" ("ALL" . 1050118) ("COLOR_MODEL" . 1050137) ("DIMENSIONS" . 1050141) ("GRAPHICS_TREE" . 1050143) ("IMAGE_DATA" . 1050202) ("N_COLORS" . 1092707) ("PALETTE" . 1050147) ("QUALITY" . 1050149) ("RESOLUTION" . 1093499) ("SCREEN_DIMENSIONS" . 1050191) ("UNITS" . 1050189) ("ZBUFFER_DATA" . 1050181))) |
| 1437 | ("SetProperty" pro "IDLgrBuffer" (system) "Obj->[%s::]%s" ("objects_gr24.html" ) ("objects_gr11.html" ("COLOR_MODEL" . 1050137) ("DIMENSIONS" . 1050141) ("GRAPHICS_TREE" . 1050143) ("PALETTE" . 1050147) ("QUALITY" . 1050149) ("RESOLUTION " . 1093499) ("UNITS " . 1050189))) | 1437 | ("SetProperty" pro "IDLgrBuffer" (system) "Obj->[%s::]%s" ("objects_gr24.html" ) ("objects_gr11.html" ("COLOR_MODEL" . 1050137) ("DIMENSIONS" . 1050141) ("GRAPHICS_TREE" . 1050143) ("PALETTE" . 1050147) ("QUALITY" . 1050149) ("RESOLUTION" . 1093499) ("UNITS" . 1050189))) |
| 1438 | ("GetContiguousPixels" fun "IDLgrBuffer" (system) "Result = Obj->[%s::]%s()" ("objects_gr15.html")) | 1438 | ("GetContiguousPixels" fun "IDLgrBuffer" (system) "Result = Obj->[%s::]%s()" ("objects_gr15.html")) |
| 1439 | ("GetFontnames" fun "IDLgrBuffer" (system) "Result = Obj->[%s::]%s( FamilyName)" ("objects_gr17.html" ("IDL_FONTS" . 1008013) ("STYLES" . 1008015))) | 1439 | ("GetFontnames" fun "IDLgrBuffer" (system) "Result = Obj->[%s::]%s( FamilyName)" ("objects_gr17.html" ("IDL_FONTS" . 1008013) ("STYLES" . 1008015))) |
| 1440 | ("GetTextDimensions" fun "IDLgrBuffer" (system) "Result = Obj->[%s::]%s( TextObj)" ("objects_gr19.html" ("DESCENT" . 1008088) ("PATH" . 1008090))) | 1440 | ("GetTextDimensions" fun "IDLgrBuffer" (system) "Result = Obj->[%s::]%s( TextObj)" ("objects_gr19.html" ("DESCENT" . 1008088) ("PATH" . 1008090))) |
| 1441 | ("Init" fun "IDLgrBuffer" (system) "Result = Obj->[%s::]%s()" ("objects_gr20.html" ) ("objects_gr11.html" ("COLOR_MODEL" . 1050137) ("DIMENSIONS" . 1050141) ("GRAPHICS_TREE" . 1050143) ("N_COLORS" . 1092707) ("PALETTE" . 1050147) ("QUALITY" . 1050149) ("REGISTER_PROPERTIES" . 1050154) ("RESOLUTION " . 1093499) ("UNITS " . 1050189))) | 1441 | ("Init" fun "IDLgrBuffer" (system) "Result = Obj->[%s::]%s()" ("objects_gr20.html" ) ("objects_gr11.html" ("COLOR_MODEL" . 1050137) ("DIMENSIONS" . 1050141) ("GRAPHICS_TREE" . 1050143) ("N_COLORS" . 1092707) ("PALETTE" . 1050147) ("QUALITY" . 1050149) ("REGISTER_PROPERTIES" . 1050154) ("RESOLUTION" . 1093499) ("UNITS" . 1050189))) |
| 1442 | ("PickData" fun "IDLgrBuffer" (system) "Result = Obj->[%s::]%s( View, Object, Location, XYZLocation)" ("objects_gr21.html" ("DIMENSIONS" . 1008204) ("PATH" . 1008208) ("PICK_STATUS" . 1008214))) | 1442 | ("PickData" fun "IDLgrBuffer" (system) "Result = Obj->[%s::]%s( View, Object, Location, XYZLocation)" ("objects_gr21.html" ("DIMENSIONS" . 1008204) ("PATH" . 1008208) ("PICK_STATUS" . 1008214))) |
| 1443 | ("Read" fun "IDLgrBuffer" (system) "Result = Obj->[%s::]%s()" ("objects_gr22.html")) | 1443 | ("Read" fun "IDLgrBuffer" (system) "Result = Obj->[%s::]%s()" ("objects_gr22.html")) |
| 1444 | ("Select" fun "IDLgrBuffer" (system) "Result = Obj->[%s::]%s(Picture, XY)" ("objects_gr23.html" ("DIMENSIONS" . 1008316) ("ORDER" . 1008320) ("SUB_SELECTION" . 1343723) ("UNITS" . 1008323))) | 1444 | ("Select" fun "IDLgrBuffer" (system) "Result = Obj->[%s::]%s(Picture, XY)" ("objects_gr23.html" ("DIMENSIONS" . 1008316) ("ORDER" . 1008320) ("SUB_SELECTION" . 1343723) ("UNITS" . 1008323))) |
| 1445 | ("Cleanup" pro "IDLgrClipboard" (system) "Obj->[%s::]%s" ("objects_gr27.html")) | 1445 | ("Cleanup" pro "IDLgrClipboard" (system) "Obj->[%s::]%s" ("objects_gr27.html")) |
| 1446 | ("Draw" pro "IDLgrClipboard" (system) "Obj->[%s::]%s [, Picture]" ("objects_gr28.html" ("CMYK" . 1345463) ("FILENAME" . 1008514) ("POSTSCRIPT" . 1008516) ("VECT_SHADING" . 1340124) ("VECT_SORTING" . 1340189) ("VECT_TEXT_RENDER_METHOD" . 1340235) ("VECTOR" . 1008518))) | 1446 | ("Draw" pro "IDLgrClipboard" (system) "Obj->[%s::]%s [, Picture]" ("objects_gr28.html" ("CMYK" . 1345463) ("FILENAME" . 1008514) ("POSTSCRIPT" . 1008516) ("VECT_SHADING" . 1340124) ("VECT_SORTING" . 1340189) ("VECT_TEXT_RENDER_METHOD" . 1340235) ("VECTOR" . 1008518))) |
| 1447 | ("GetDeviceInfo" pro "IDLgrClipboard" (system) "Obj->[%s::]%s" ("objects_gr30.html" ("ALL" . 1008688) ("MAX_NUM_CLIP_PLANES" . 1008690) ("MAX_TEXTURE_DIMENSIONS" . 1008692) ("MAX_VIEWPORT_DIMENSIONS" . 1008694) ("NAME" . 1008696) ("NUM_CPUS" . 1008698) ("VENDOR" . 1008701) ("VERSION" . 1008703))) | 1447 | ("GetDeviceInfo" pro "IDLgrClipboard" (system) "Obj->[%s::]%s" ("objects_gr30.html" ("ALL" . 1008688) ("MAX_NUM_CLIP_PLANES" . 1008690) ("MAX_TEXTURE_DIMENSIONS" . 1008692) ("MAX_VIEWPORT_DIMENSIONS" . 1008694) ("NAME" . 1008696) ("NUM_CPUS" . 1008698) ("VENDOR" . 1008701) ("VERSION" . 1008703))) |
| 1448 | ("GetProperty" pro "IDLgrClipboard" (system) "Obj->[%s::]%s" ("objects_gr32.html" ) ("objects_gr26.html" ("ALL" . 1050377) ("COLOR_MODEL" . 1050391) ("DIMENSIONS" . 1050395) ("GRAPHICS_TREE" . 1050397) ("N_COLORS" . 1050399) ("PALETTE" . 1050401) ("QUALITY" . 1050403) ("RESOLUTION " . 1093541) ("SCREEN_DIMENSIONS" . 1050442) ("UNITS" . 1050439))) | 1448 | ("GetProperty" pro "IDLgrClipboard" (system) "Obj->[%s::]%s" ("objects_gr32.html" ) ("objects_gr26.html" ("ALL" . 1050377) ("COLOR_MODEL" . 1050391) ("DIMENSIONS" . 1050395) ("GRAPHICS_TREE" . 1050397) ("N_COLORS" . 1050399) ("PALETTE" . 1050401) ("QUALITY" . 1050403) ("RESOLUTION" . 1093541) ("SCREEN_DIMENSIONS" . 1050442) ("UNITS" . 1050439))) |
| 1449 | ("SetProperty" pro "IDLgrClipboard" (system) "Obj->[%s::]%s" ("objects_gr35.html" ) ("objects_gr26.html" ("DIMENSIONS" . 1050395) ("GRAPHICS_TREE" . 1050397) ("PALETTE" . 1050401) ("QUALITY" . 1050403) ("RESOLUTION " . 1093541) ("UNITS" . 1050439))) | 1449 | ("SetProperty" pro "IDLgrClipboard" (system) "Obj->[%s::]%s" ("objects_gr35.html" ) ("objects_gr26.html" ("DIMENSIONS" . 1050395) ("GRAPHICS_TREE" . 1050397) ("PALETTE" . 1050401) ("QUALITY" . 1050403) ("RESOLUTION" . 1093541) ("UNITS" . 1050439))) |
| 1450 | ("GetContiguousPixels" fun "IDLgrClipboard" (system) "Result = Obj->[%s::]%s()" ("objects_gr29.html")) | 1450 | ("GetContiguousPixels" fun "IDLgrClipboard" (system) "Result = Obj->[%s::]%s()" ("objects_gr29.html")) |
| 1451 | ("GetFontnames" fun "IDLgrClipboard" (system) "Result = Obj->[%s::]%s( FamilyName)" ("objects_gr31.html" ("IDL_FONTS" . 1008744) ("STYLES" . 1008746))) | 1451 | ("GetFontnames" fun "IDLgrClipboard" (system) "Result = Obj->[%s::]%s( FamilyName)" ("objects_gr31.html" ("IDL_FONTS" . 1008744) ("STYLES" . 1008746))) |
| 1452 | ("GetTextDimensions" fun "IDLgrClipboard" (system) "Result = Obj->[%s::]%s( TextObj)" ("objects_gr33.html" ("DESCENT" . 1008820) ("PATH" . 1008822))) | 1452 | ("GetTextDimensions" fun "IDLgrClipboard" (system) "Result = Obj->[%s::]%s( TextObj)" ("objects_gr33.html" ("DESCENT" . 1008820) ("PATH" . 1008822))) |
| 1453 | ("Init" fun "IDLgrClipboard" (system) "Result = Obj->[%s::]%s()" ("objects_gr34.html" ) ("objects_gr26.html" ("COLOR_MODEL" . 1050391) ("DIMENSIONS" . 1050395) ("GRAPHICS_TREE" . 1050397) ("N_COLORS" . 1050399) ("PALETTE" . 1050401) ("QUALITY" . 1050403) ("REGISTER_PROPERTIES" . 1050408) ("RESOLUTION " . 1093541) ("UNITS" . 1050439))) | 1453 | ("Init" fun "IDLgrClipboard" (system) "Result = Obj->[%s::]%s()" ("objects_gr34.html" ) ("objects_gr26.html" ("COLOR_MODEL" . 1050391) ("DIMENSIONS" . 1050395) ("GRAPHICS_TREE" . 1050397) ("N_COLORS" . 1050399) ("PALETTE" . 1050401) ("QUALITY" . 1050403) ("REGISTER_PROPERTIES" . 1050408) ("RESOLUTION" . 1093541) ("UNITS" . 1050439))) |
| 1454 | ("Cleanup" pro "IDLgrColorbar" (system) "Obj->[%s::]%s" ("objects_gr38.html")) | 1454 | ("Cleanup" pro "IDLgrColorbar" (system) "Obj->[%s::]%s" ("objects_gr38.html")) |
| 1455 | ("GetProperty" pro "IDLgrColorbar" (system) "Obj->[%s::]%s" ("objects_gr40.html" ) ("objects_gr37.html" ("ALL" . 1050584) ("BLUE_VALUES " . 1050601) ("COLOR " . 1050603) ("DIMENSIONS" . 1050605) ("GREEN_VALUES" . 1050607) ("HIDE" . 1050609) ("MAJOR" . 1050613) ("MINOR" . 1050615) ("PALETTE" . 1050619) ("PARENT" . 1050728) ("RED_VALUES" . 1050726) ("SHOW_AXIS" . 1050623) ("SHOW_OUTLINE" . 1050628) ("SUBTICKLEN" . 1050632) ("THICK" . 1050634) ("THREED " . 1050636) ("TICKFORMAT" . 1050638) ("TICKFRMTDATA" . 1050643) ("TICKLEN" . 1050645) ("TICKTEXT" . 1050647) ("TICKVALUES" . 1050649) ("TITLE " . 1050651) ("XCOORD_CONV" . 1050655) ("XRANGE" . 1050718) ("YCOORD_CONV" . 1050716) ("YRANGE" . 1050708) ("ZCOORD_CONV " . 1050706) ("ZRANGE" . 1050697))) | 1455 | ("GetProperty" pro "IDLgrColorbar" (system) "Obj->[%s::]%s" ("objects_gr40.html" ) ("objects_gr37.html" ("ALL" . 1050584) ("BLUE_VALUES" . 1050601) ("COLOR" . 1050603) ("DIMENSIONS" . 1050605) ("GREEN_VALUES" . 1050607) ("HIDE" . 1050609) ("MAJOR" . 1050613) ("MINOR" . 1050615) ("PALETTE" . 1050619) ("PARENT" . 1050728) ("RED_VALUES" . 1050726) ("SHOW_AXIS" . 1050623) ("SHOW_OUTLINE" . 1050628) ("SUBTICKLEN" . 1050632) ("THICK" . 1050634) ("THREED" . 1050636) ("TICKFORMAT" . 1050638) ("TICKFRMTDATA" . 1050643) ("TICKLEN" . 1050645) ("TICKTEXT" . 1050647) ("TICKVALUES" . 1050649) ("TITLE" . 1050651) ("XCOORD_CONV" . 1050655) ("XRANGE" . 1050718) ("YCOORD_CONV" . 1050716) ("YRANGE" . 1050708) ("ZCOORD_CONV" . 1050706) ("ZRANGE" . 1050697))) |
| 1456 | ("SetProperty" pro "IDLgrColorbar" (system) "Obj->[%s::]%s" ("objects_gr42.html" ) ("objects_gr37.html" ("BLUE_VALUES " . 1050601) ("COLOR " . 1050603) ("DIMENSIONS" . 1050605) ("GREEN_VALUES" . 1050607) ("HIDE" . 1050609) ("MAJOR" . 1050613) ("MINOR" . 1050615) ("PALETTE" . 1050619) ("RED_VALUES" . 1050726) ("SHOW_AXIS" . 1050623) ("SHOW_OUTLINE" . 1050628) ("SUBTICKLEN" . 1050632) ("THICK" . 1050634) ("THREED " . 1050636) ("TICKFORMAT" . 1050638) ("TICKFRMTDATA" . 1050643) ("TICKLEN" . 1050645) ("TICKTEXT" . 1050647) ("TICKVALUES" . 1050649) ("TITLE " . 1050651) ("XCOORD_CONV" . 1050655) ("YCOORD_CONV" . 1050716) ("ZCOORD_CONV " . 1050706))) | 1456 | ("SetProperty" pro "IDLgrColorbar" (system) "Obj->[%s::]%s" ("objects_gr42.html" ) ("objects_gr37.html" ("BLUE_VALUES" . 1050601) ("COLOR" . 1050603) ("DIMENSIONS" . 1050605) ("GREEN_VALUES" . 1050607) ("HIDE" . 1050609) ("MAJOR" . 1050613) ("MINOR" . 1050615) ("PALETTE" . 1050619) ("RED_VALUES" . 1050726) ("SHOW_AXIS" . 1050623) ("SHOW_OUTLINE" . 1050628) ("SUBTICKLEN" . 1050632) ("THICK" . 1050634) ("THREED" . 1050636) ("TICKFORMAT" . 1050638) ("TICKFRMTDATA" . 1050643) ("TICKLEN" . 1050645) ("TICKTEXT" . 1050647) ("TICKVALUES" . 1050649) ("TITLE" . 1050651) ("XCOORD_CONV" . 1050655) ("YCOORD_CONV" . 1050716) ("ZCOORD_CONV" . 1050706))) |
| 1457 | ("ComputeDimensions" fun "IDLgrColorbar" (system) "Result = Obj->[%s::]%s( DestinationObj)" ("objects_gr39.html" ("PATH" . 1009084))) | 1457 | ("ComputeDimensions" fun "IDLgrColorbar" (system) "Result = Obj->[%s::]%s( DestinationObj)" ("objects_gr39.html" ("PATH" . 1009084))) |
| 1458 | ("Init" fun "IDLgrColorbar" (system) "Result = Obj->[%s::]%s([, aRed, aGreen, aBlue])" ("objects_gr41.html" ) ("objects_gr37.html" ("BLUE_VALUES " . 1050601) ("COLOR " . 1050603) ("DIMENSIONS" . 1050605) ("GREEN_VALUES" . 1050607) ("HIDE" . 1050609) ("MAJOR" . 1050613) ("MINOR" . 1050615) ("PALETTE" . 1050619) ("RED_VALUES" . 1050726) ("SHOW_AXIS" . 1050623) ("SHOW_OUTLINE" . 1050628) ("SUBTICKLEN" . 1050632) ("THICK" . 1050634) ("THREED " . 1050636) ("TICKFORMAT" . 1050638) ("TICKFRMTDATA" . 1050643) ("TICKLEN" . 1050645) ("TICKTEXT" . 1050647) ("TICKVALUES" . 1050649) ("TITLE " . 1050651) ("XCOORD_CONV" . 1050655) ("YCOORD_CONV" . 1050716) ("ZCOORD_CONV " . 1050706))) | 1458 | ("Init" fun "IDLgrColorbar" (system) "Result = Obj->[%s::]%s([, aRed, aGreen, aBlue])" ("objects_gr41.html" ) ("objects_gr37.html" ("BLUE_VALUES" . 1050601) ("COLOR" . 1050603) ("DIMENSIONS" . 1050605) ("GREEN_VALUES" . 1050607) ("HIDE" . 1050609) ("MAJOR" . 1050613) ("MINOR" . 1050615) ("PALETTE" . 1050619) ("RED_VALUES" . 1050726) ("SHOW_AXIS" . 1050623) ("SHOW_OUTLINE" . 1050628) ("SUBTICKLEN" . 1050632) ("THICK" . 1050634) ("THREED" . 1050636) ("TICKFORMAT" . 1050638) ("TICKFRMTDATA" . 1050643) ("TICKLEN" . 1050645) ("TICKTEXT" . 1050647) ("TICKVALUES" . 1050649) ("TITLE" . 1050651) ("XCOORD_CONV" . 1050655) ("YCOORD_CONV" . 1050716) ("ZCOORD_CONV" . 1050706))) |
| 1459 | ("AdjustLabelOffsets" pro "IDLgrContour" (system) "Obj->[%s::]%s, LevelIndex, LabelOffsets" ("objects_gr45.html")) | 1459 | ("AdjustLabelOffsets" pro "IDLgrContour" (system) "Obj->[%s::]%s, LevelIndex, LabelOffsets" ("objects_gr45.html")) |
| 1460 | ("Cleanup" pro "IDLgrContour" (system) "Obj->[%s::]%s" ("objects_gr46.html")) | 1460 | ("Cleanup" pro "IDLgrContour" (system) "Obj->[%s::]%s" ("objects_gr46.html")) |
| 1461 | ("GetLabelInfo" pro "IDLgrContour" (system) "Obj->[%s::]%s, Destination, LevelIndex" ("objects_gr48.html" ("LABEL_OBJECTS" . 1009508) ("LABEL_OFFSETS" . 1009503) ("LABEL_POLYLINES" . 1009505))) | 1461 | ("GetLabelInfo" pro "IDLgrContour" (system) "Obj->[%s::]%s, Destination, LevelIndex" ("objects_gr48.html" ("LABEL_OBJECTS" . 1009508) ("LABEL_OFFSETS" . 1009503) ("LABEL_POLYLINES" . 1009505))) |
| 1462 | ("GetProperty" pro "IDLgrContour" (system) "Obj->[%s::]%s" ("objects_gr49.html" ) ("objects_gr44.html" ("ALL" . 1050990) ("ALPHA_CHANNEL" . 1312243) ("AM_PM" . 1051012) ("ANISOTROPY" . 1051014) ("C_COLOR" . 1051029) ("C_FILL_PATTERN" . 1051031) ("C_LABEL_INTERVAL" . 1051033) ("C_LABEL_NOGAPS" . 1051035) ("C_LABEL_OBJECTS" . 1051037) ("C_LABEL_SHOW" . 1051044) ("C_LINESTYLE" . 1051046) ("C_THICK" . 1051056) ("C_USE_LABEL_COLOR" . 1066031) ("C_USE_LABEL_ORIENTATION" . 1051060) ("C_VALUE" . 1051062) ("CLIP_PLANES" . 1051064) ("COLOR" . 1051069) ("DATA_VALUES" . 1051071) ("DAYS_OF_WEEK" . 1051073) ("DEPTH_OFFSET " . 1051075) ("DEPTH_TEST_DISABLE" . 1051081) ("DEPTH_TEST_FUNCTION" . 1093566) ("DEPTH_WRITE_DISABLE" . 1093567) ("DOUBLE_DATA" . 1093568) ("DOUBLE_GEOM" . 1051083) ("DOWNHILL " . 1051085) ("FILL" . 1051087) ("GEOM" . 1051284) ("HIDE" . 1051101) ("LABEL_FONT" . 1051105) ("LABEL_FORMAT" . 1051107) ("LABEL_UNITS" . 1051116) ("MAX_VALUE" . 1051130) ("MIN_VALUE" . 1051134) ("MONTHS " . 1051132) ("N_LEVELS" . 1051138) ("PARENT" . 1051274) ("PLANAR" . 1051272) ("POLYGONS" . 1051144) ("SHADE_RANGE " . 1094439) ("SHADING" . 1051149) ("TICKINTERVAL " . 1051154) ("TICKLEN" . 1051156) ("USE_TEXT_ALIGNMENTS" . 1051158) ("XCOORD_CONV" . 1051162) ("XRANGE" . 1051264) ("YCOORD_CONV" . 1051168) ("YRANGE " . 1051250) ("ZCOORD_CONV " . 1051174) ("ZRANGE" . 1051240))) | 1462 | ("GetProperty" pro "IDLgrContour" (system) "Obj->[%s::]%s" ("objects_gr49.html" ) ("objects_gr44.html" ("ALL" . 1050990) ("ALPHA_CHANNEL" . 1312243) ("AM_PM" . 1051012) ("ANISOTROPY" . 1051014) ("C_COLOR" . 1051029) ("C_FILL_PATTERN" . 1051031) ("C_LABEL_INTERVAL" . 1051033) ("C_LABEL_NOGAPS" . 1051035) ("C_LABEL_OBJECTS" . 1051037) ("C_LABEL_SHOW" . 1051044) ("C_LINESTYLE" . 1051046) ("C_THICK" . 1051056) ("C_USE_LABEL_COLOR" . 1066031) ("C_USE_LABEL_ORIENTATION" . 1051060) ("C_VALUE" . 1051062) ("CLIP_PLANES" . 1051064) ("COLOR" . 1051069) ("DATA_VALUES" . 1051071) ("DAYS_OF_WEEK" . 1051073) ("DEPTH_OFFSET" . 1051075) ("DEPTH_TEST_DISABLE" . 1051081) ("DEPTH_TEST_FUNCTION" . 1093566) ("DEPTH_WRITE_DISABLE" . 1093567) ("DOUBLE_DATA" . 1093568) ("DOUBLE_GEOM" . 1051083) ("DOWNHILL" . 1051085) ("FILL" . 1051087) ("GEOM" . 1051284) ("HIDE" . 1051101) ("LABEL_FONT" . 1051105) ("LABEL_FORMAT" . 1051107) ("LABEL_UNITS" . 1051116) ("MAX_VALUE" . 1051130) ("MIN_VALUE" . 1051134) ("MONTHS" . 1051132) ("N_LEVELS" . 1051138) ("PARENT" . 1051274) ("PLANAR" . 1051272) ("POLYGONS" . 1051144) ("SHADE_RANGE" . 1094439) ("SHADING" . 1051149) ("TICKINTERVAL" . 1051154) ("TICKLEN" . 1051156) ("USE_TEXT_ALIGNMENTS" . 1051158) ("XCOORD_CONV" . 1051162) ("XRANGE" . 1051264) ("YCOORD_CONV" . 1051168) ("YRANGE" . 1051250) ("ZCOORD_CONV" . 1051174) ("ZRANGE" . 1051240))) |
| 1463 | ("SetProperty" pro "IDLgrContour" (system) "Obj->[%s::]%s" ("objects_gr51.html" ) ("objects_gr44.html" ("ALPHA_CHANNEL" . 1312243) ("AM_PM" . 1051012) ("ANISOTROPY" . 1051014) ("C_COLOR" . 1051029) ("C_FILL_PATTERN" . 1051031) ("C_LABEL_INTERVAL" . 1051033) ("C_LABEL_NOGAPS" . 1051035) ("C_LABEL_OBJECTS" . 1051037) ("C_LABEL_SHOW" . 1051044) ("C_LINESTYLE" . 1051046) ("C_THICK" . 1051056) ("C_USE_LABEL_COLOR" . 1066031) ("C_USE_LABEL_ORIENTATION" . 1051060) ("C_VALUE" . 1051062) ("CLIP_PLANES" . 1051064) ("COLOR" . 1051069) ("DATA_VALUES" . 1051071) ("DAYS_OF_WEEK" . 1051073) ("DEPTH_OFFSET " . 1051075) ("DEPTH_TEST_DISABLE" . 1051081) ("DEPTH_TEST_FUNCTION" . 1093566) ("DEPTH_WRITE_DISABLE" . 1093567) ("DOUBLE_DATA" . 1093568) ("DOUBLE_GEOM" . 1051083) ("DOWNHILL " . 1051085) ("FILL" . 1051087) ("GEOMX" . 1051282) ("GEOMY" . 1051091) ("GEOMZ" . 1051093) ("HIDE" . 1051101) ("LABEL_FONT" . 1051105) ("LABEL_FORMAT" . 1051107) ("LABEL_UNITS" . 1051116) ("MAX_VALUE" . 1051130) ("MIN_VALUE" . 1051134) ("MONTHS " . 1051132) ("N_LEVELS" . 1051138) ("PLANAR" . 1051272) ("POLYGONS" . 1051144) ("SHADE_RANGE " . 1094439) ("SHADING" . 1051149) ("TICKINTERVAL " . 1051154) ("TICKLEN" . 1051156) ("USE_TEXT_ALIGNMENTS" . 1051158) ("XCOORD_CONV" . 1051162) ("YCOORD_CONV" . 1051168) ("ZCOORD_CONV " . 1051174))) | 1463 | ("SetProperty" pro "IDLgrContour" (system) "Obj->[%s::]%s" ("objects_gr51.html" ) ("objects_gr44.html" ("ALPHA_CHANNEL" . 1312243) ("AM_PM" . 1051012) ("ANISOTROPY" . 1051014) ("C_COLOR" . 1051029) ("C_FILL_PATTERN" . 1051031) ("C_LABEL_INTERVAL" . 1051033) ("C_LABEL_NOGAPS" . 1051035) ("C_LABEL_OBJECTS" . 1051037) ("C_LABEL_SHOW" . 1051044) ("C_LINESTYLE" . 1051046) ("C_THICK" . 1051056) ("C_USE_LABEL_COLOR" . 1066031) ("C_USE_LABEL_ORIENTATION" . 1051060) ("C_VALUE" . 1051062) ("CLIP_PLANES" . 1051064) ("COLOR" . 1051069) ("DATA_VALUES" . 1051071) ("DAYS_OF_WEEK" . 1051073) ("DEPTH_OFFSET" . 1051075) ("DEPTH_TEST_DISABLE" . 1051081) ("DEPTH_TEST_FUNCTION" . 1093566) ("DEPTH_WRITE_DISABLE" . 1093567) ("DOUBLE_DATA" . 1093568) ("DOUBLE_GEOM" . 1051083) ("DOWNHILL" . 1051085) ("FILL" . 1051087) ("GEOMX" . 1051282) ("GEOMY" . 1051091) ("GEOMZ" . 1051093) ("HIDE" . 1051101) ("LABEL_FONT" . 1051105) ("LABEL_FORMAT" . 1051107) ("LABEL_UNITS" . 1051116) ("MAX_VALUE" . 1051130) ("MIN_VALUE" . 1051134) ("MONTHS" . 1051132) ("N_LEVELS" . 1051138) ("PLANAR" . 1051272) ("POLYGONS" . 1051144) ("SHADE_RANGE" . 1094439) ("SHADING" . 1051149) ("TICKINTERVAL" . 1051154) ("TICKLEN" . 1051156) ("USE_TEXT_ALIGNMENTS" . 1051158) ("XCOORD_CONV" . 1051162) ("YCOORD_CONV" . 1051168) ("ZCOORD_CONV" . 1051174))) |
| 1464 | ("GetCTM" fun "IDLgrContour" (system) "Result = Obj->[%s::]%s()" ("objects_gr47.html" ("DESTINATION" . 1009456) ("PATH" . 1009458) ("TOP" . 1009464))) | 1464 | ("GetCTM" fun "IDLgrContour" (system) "Result = Obj->[%s::]%s()" ("objects_gr47.html" ("DESTINATION" . 1009456) ("PATH" . 1009458) ("TOP" . 1009464))) |
| 1465 | ("Init" fun "IDLgrContour" (system) "Result = Obj->[%s::]%s([, Values])" ("objects_gr50.html" ) ("objects_gr44.html" ("ALPHA_CHANNEL" . 1312243) ("AM_PM" . 1051012) ("ANISOTROPY" . 1051014) ("C_COLOR" . 1051029) ("C_FILL_PATTERN" . 1051031) ("C_LABEL_INTERVAL" . 1051033) ("C_LABEL_NOGAPS" . 1051035) ("C_LABEL_OBJECTS" . 1051037) ("C_LABEL_SHOW" . 1051044) ("C_LINESTYLE" . 1051046) ("C_THICK" . 1051056) ("C_USE_LABEL_COLOR" . 1066031) ("C_USE_LABEL_ORIENTATION" . 1051060) ("C_VALUE" . 1051062) ("CLIP_PLANES" . 1051064) ("COLOR" . 1051069) ("DATA_VALUES" . 1051071) ("DAYS_OF_WEEK" . 1051073) ("DEPTH_OFFSET " . 1051075) ("DEPTH_TEST_DISABLE" . 1051081) ("DEPTH_TEST_FUNCTION" . 1093566) ("DEPTH_WRITE_DISABLE" . 1093567) ("DOUBLE_DATA" . 1093568) ("DOUBLE_GEOM" . 1051083) ("DOWNHILL " . 1051085) ("FILL" . 1051087) ("GEOMX" . 1051282) ("GEOMY" . 1051091) ("GEOMZ" . 1051093) ("HIDE" . 1051101) ("LABEL_FONT" . 1051105) ("LABEL_FORMAT" . 1051107) ("LABEL_FRMTDATA " . 1051113) ("LABEL_UNITS" . 1051116) ("MAX_VALUE" . 1051130) ("MIN_VALUE" . 1051134) ("MONTHS " . 1051132) ("N_LEVELS" . 1051138) ("PALETTE " . 1051140) ("PLANAR" . 1051272) ("POLYGONS" . 1051144) ("REGISTER_PROPERTIES" . 1051147) ("SHADE_RANGE " . 1094439) ("SHADING" . 1051149) ("TICKINTERVAL " . 1051154) ("TICKLEN" . 1051156) ("USE_TEXT_ALIGNMENTS" . 1051158) ("XCOORD_CONV" . 1051162) ("YCOORD_CONV" . 1051168) ("ZCOORD_CONV " . 1051174))) | 1465 | ("Init" fun "IDLgrContour" (system) "Result = Obj->[%s::]%s([, Values])" ("objects_gr50.html" ) ("objects_gr44.html" ("ALPHA_CHANNEL" . 1312243) ("AM_PM" . 1051012) ("ANISOTROPY" . 1051014) ("C_COLOR" . 1051029) ("C_FILL_PATTERN" . 1051031) ("C_LABEL_INTERVAL" . 1051033) ("C_LABEL_NOGAPS" . 1051035) ("C_LABEL_OBJECTS" . 1051037) ("C_LABEL_SHOW" . 1051044) ("C_LINESTYLE" . 1051046) ("C_THICK" . 1051056) ("C_USE_LABEL_COLOR" . 1066031) ("C_USE_LABEL_ORIENTATION" . 1051060) ("C_VALUE" . 1051062) ("CLIP_PLANES" . 1051064) ("COLOR" . 1051069) ("DATA_VALUES" . 1051071) ("DAYS_OF_WEEK" . 1051073) ("DEPTH_OFFSET" . 1051075) ("DEPTH_TEST_DISABLE" . 1051081) ("DEPTH_TEST_FUNCTION" . 1093566) ("DEPTH_WRITE_DISABLE" . 1093567) ("DOUBLE_DATA" . 1093568) ("DOUBLE_GEOM" . 1051083) ("DOWNHILL" . 1051085) ("FILL" . 1051087) ("GEOMX" . 1051282) ("GEOMY" . 1051091) ("GEOMZ" . 1051093) ("HIDE" . 1051101) ("LABEL_FONT" . 1051105) ("LABEL_FORMAT" . 1051107) ("LABEL_FRMTDATA" . 1051113) ("LABEL_UNITS" . 1051116) ("MAX_VALUE" . 1051130) ("MIN_VALUE" . 1051134) ("MONTHS" . 1051132) ("N_LEVELS" . 1051138) ("PALETTE" . 1051140) ("PLANAR" . 1051272) ("POLYGONS" . 1051144) ("REGISTER_PROPERTIES" . 1051147) ("SHADE_RANGE" . 1094439) ("SHADING" . 1051149) ("TICKINTERVAL" . 1051154) ("TICKLEN" . 1051156) ("USE_TEXT_ALIGNMENTS" . 1051158) ("XCOORD_CONV" . 1051162) ("YCOORD_CONV" . 1051168) ("ZCOORD_CONV" . 1051174))) |
| 1466 | ("Cleanup" pro "IDLgrFont" (system) "Obj->[%s::]%s" ("objects_gr54.html")) | 1466 | ("Cleanup" pro "IDLgrFont" (system) "Obj->[%s::]%s" ("objects_gr54.html")) |
| 1467 | ("GetProperty" pro "IDLgrFont" (system) "Obj->[%s::]%s" ("objects_gr55.html" ) ("objects_gr53.html" ("ALL" . 1051913) ("SIZE" . 1051936) ("SUBSTITUTE" . 1051938) ("THICK" . 1051940))) | 1467 | ("GetProperty" pro "IDLgrFont" (system) "Obj->[%s::]%s" ("objects_gr55.html" ) ("objects_gr53.html" ("ALL" . 1051913) ("SIZE" . 1051936) ("SUBSTITUTE" . 1051938) ("THICK" . 1051940))) |
| 1468 | ("SetProperty" pro "IDLgrFont" (system) "Obj->[%s::]%s" ("objects_gr57.html" ) ("objects_gr53.html" ("SIZE" . 1051936) ("SUBSTITUTE" . 1051938) ("THICK" . 1051940))) | 1468 | ("SetProperty" pro "IDLgrFont" (system) "Obj->[%s::]%s" ("objects_gr57.html" ) ("objects_gr53.html" ("SIZE" . 1051936) ("SUBSTITUTE" . 1051938) ("THICK" . 1051940))) |
| 1469 | ("Init" fun "IDLgrFont" (system) "Result = Obj->[%s::]%s([, Fontname])" ("objects_gr56.html" ) ("objects_gr53.html" ("SIZE" . 1051936) ("SUBSTITUTE" . 1051938) ("THICK" . 1051940))) | 1469 | ("Init" fun "IDLgrFont" (system) "Result = Obj->[%s::]%s([, Fontname])" ("objects_gr56.html" ) ("objects_gr53.html" ("SIZE" . 1051936) ("SUBSTITUTE" . 1051938) ("THICK" . 1051940))) |
| 1470 | ("Cleanup" pro "IDLgrImage" (system) "Obj->[%s::]%s" ("objects_gr60.html")) | 1470 | ("Cleanup" pro "IDLgrImage" (system) "Obj->[%s::]%s" ("objects_gr60.html")) |
| 1471 | ("GetProperty" pro "IDLgrImage" (system) "Obj->[%s::]%s" ("objects_gr62.html" ) ("objects_gr59.html" ("ALL " . 1052050) ("BLEND_FUNCTION" . 1052068) ("CHANNEL" . 1052124) ("CLIP_PLANES" . 1287882) ("DATA" . 1052132) ("DEPTH_TEST_DISABLE" . 1095165) ("DEPTH_TEST_FUNCTION" . 1095212) ("DEPTH_WRITE_DISABLE" . 1095251) ("DIMENSIONS" . 1095169) ("GREYSCALE" . 1052136) ("HIDE" . 1052140) ("INTERLEAVE" . 1052144) ("INTERPOLATE" . 1052150) ("LOCATION" . 1052152) ("NO_COPY" . 1052156) ("ORDER" . 1052158) ("PALETTE " . 1052160) ("PARENT" . 1052253) ("SUB_RECT" . 1052171) ("XCOORD_CONV" . 1052175) ("XRANGE" . 1052243) ("YCOORD_CONV" . 1052181) ("YRANGE" . 1052233) ("ZCOORD_CONV" . 1052187) ("ZRANGE" . 1052223))) | 1471 | ("GetProperty" pro "IDLgrImage" (system) "Obj->[%s::]%s" ("objects_gr62.html" ) ("objects_gr59.html" ("ALL" . 1052050) ("BLEND_FUNCTION" . 1052068) ("CHANNEL" . 1052124) ("CLIP_PLANES" . 1287882) ("DATA" . 1052132) ("DEPTH_TEST_DISABLE" . 1095165) ("DEPTH_TEST_FUNCTION" . 1095212) ("DEPTH_WRITE_DISABLE" . 1095251) ("DIMENSIONS" . 1095169) ("GREYSCALE" . 1052136) ("HIDE" . 1052140) ("INTERLEAVE" . 1052144) ("INTERPOLATE" . 1052150) ("LOCATION" . 1052152) ("NO_COPY" . 1052156) ("ORDER" . 1052158) ("PALETTE" . 1052160) ("PARENT" . 1052253) ("SUB_RECT" . 1052171) ("XCOORD_CONV" . 1052175) ("XRANGE" . 1052243) ("YCOORD_CONV" . 1052181) ("YRANGE" . 1052233) ("ZCOORD_CONV" . 1052187) ("ZRANGE" . 1052223))) |
| 1472 | ("SetProperty" pro "IDLgrImage" (system) "Obj->[%s::]%s" ("objects_gr64.html" ) ("objects_gr59.html" ("BLEND_FUNCTION" . 1052068) ("CHANNEL" . 1052124) ("CLIP_PLANES" . 1287882) ("DATA" . 1052132) ("DEPTH_TEST_DISABLE" . 1095165) ("DEPTH_TEST_FUNCTION" . 1095212) ("DEPTH_WRITE_DISABLE" . 1095251) ("DIMENSIONS" . 1095169) ("GREYSCALE" . 1052136) ("HIDE" . 1052140) ("INTERLEAVE" . 1052144) ("INTERPOLATE" . 1052150) ("LOCATION" . 1052152) ("NO_COPY" . 1052156) ("ORDER" . 1052158) ("PALETTE " . 1052160) ("RESET_DATA " . 1093772) ("SHARE_DATA" . 1052169) ("SUB_RECT" . 1052171) ("XCOORD_CONV" . 1052175) ("YCOORD_CONV" . 1052181) ("ZCOORD_CONV" . 1052187))) | 1472 | ("SetProperty" pro "IDLgrImage" (system) "Obj->[%s::]%s" ("objects_gr64.html" ) ("objects_gr59.html" ("BLEND_FUNCTION" . 1052068) ("CHANNEL" . 1052124) ("CLIP_PLANES" . 1287882) ("DATA" . 1052132) ("DEPTH_TEST_DISABLE" . 1095165) ("DEPTH_TEST_FUNCTION" . 1095212) ("DEPTH_WRITE_DISABLE" . 1095251) ("DIMENSIONS" . 1095169) ("GREYSCALE" . 1052136) ("HIDE" . 1052140) ("INTERLEAVE" . 1052144) ("INTERPOLATE" . 1052150) ("LOCATION" . 1052152) ("NO_COPY" . 1052156) ("ORDER" . 1052158) ("PALETTE" . 1052160) ("RESET_DATA" . 1093772) ("SHARE_DATA" . 1052169) ("SUB_RECT" . 1052171) ("XCOORD_CONV" . 1052175) ("YCOORD_CONV" . 1052181) ("ZCOORD_CONV" . 1052187))) |
| 1473 | ("GetCTM" fun "IDLgrImage" (system) "Result = Obj->[%s::]%s()" ("objects_gr61.html" ("DESTINATION" . 1010164) ("PATH" . 1010166) ("TOP" . 1010172))) | 1473 | ("GetCTM" fun "IDLgrImage" (system) "Result = Obj->[%s::]%s()" ("objects_gr61.html" ("DESTINATION" . 1010164) ("PATH" . 1010166) ("TOP" . 1010172))) |
| 1474 | ("Init" fun "IDLgrImage" (system) "Result = Obj->[%s::]%s([, ImageData])" ("objects_gr63.html" ) ("objects_gr59.html" ("BLEND_FUNCTION" . 1052068) ("CHANNEL" . 1052124) ("CLIP_PLANES" . 1287882) ("DATA" . 1052132) ("DEPTH_TEST_DISABLE" . 1095165) ("DEPTH_TEST_FUNCTION" . 1095212) ("DEPTH_WRITE_DISABLE" . 1095251) ("DIMENSIONS" . 1095169) ("GREYSCALE" . 1052136) ("HIDE" . 1052140) ("INTERLEAVE" . 1052144) ("INTERPOLATE" . 1052150) ("LOCATION" . 1052152) ("NO_COPY" . 1052156) ("ORDER" . 1052158) ("PALETTE " . 1052160) ("REGISTER_PROPERTIES" . 1052251) ("RESET_DATA " . 1093772) ("SHARE_DATA" . 1052169) ("SUB_RECT" . 1052171) ("XCOORD_CONV" . 1052175) ("YCOORD_CONV" . 1052181) ("ZCOORD_CONV" . 1052187))) | 1474 | ("Init" fun "IDLgrImage" (system) "Result = Obj->[%s::]%s([, ImageData])" ("objects_gr63.html" ) ("objects_gr59.html" ("BLEND_FUNCTION" . 1052068) ("CHANNEL" . 1052124) ("CLIP_PLANES" . 1287882) ("DATA" . 1052132) ("DEPTH_TEST_DISABLE" . 1095165) ("DEPTH_TEST_FUNCTION" . 1095212) ("DEPTH_WRITE_DISABLE" . 1095251) ("DIMENSIONS" . 1095169) ("GREYSCALE" . 1052136) ("HIDE" . 1052140) ("INTERLEAVE" . 1052144) ("INTERPOLATE" . 1052150) ("LOCATION" . 1052152) ("NO_COPY" . 1052156) ("ORDER" . 1052158) ("PALETTE" . 1052160) ("REGISTER_PROPERTIES" . 1052251) ("RESET_DATA" . 1093772) ("SHARE_DATA" . 1052169) ("SUB_RECT" . 1052171) ("XCOORD_CONV" . 1052175) ("YCOORD_CONV" . 1052181) ("ZCOORD_CONV" . 1052187))) |
| 1475 | ("Cleanup" pro "IDLgrLegend" (system) "Obj->[%s::]%s" ("objects_gr67.html")) | 1475 | ("Cleanup" pro "IDLgrLegend" (system) "Obj->[%s::]%s" ("objects_gr67.html")) |
| 1476 | ("GetProperty" pro "IDLgrLegend" (system) "Obj->[%s::]%s" ("objects_gr69.html" ) ("objects_gr66.html" ("ALL " . 1053896) ("BORDER_GAP" . 1053903) ("COLUMNS" . 1053905) ("FILL_COLOR" . 1053907) ("FONT" . 1053909) ("GAP" . 1053912) ("GLYPH_WIDTH" . 1053914) ("HIDE" . 1053916) ("ITEM_COLOR" . 1069308) ("ITEM_LINESTYLE " . 1053922) ("ITEM_NAME" . 1053935) ("ITEM_OBJECT " . 1053937) ("ITEM_THICK" . 1053940) ("ITEM_TYPE" . 1053942) ("OUTLINE_COLOR " . 1053948) ("OUTLINE_THICK" . 1053950) ("PARENT" . 1055362) ("SHOW_FILL" . 1053952) ("SHOW_OUTLINE " . 1053956) ("TEXT_COLOR " . 1053960) ("TITLE" . 1053962) ("XCOORD_CONV " . 1053966) ("XRANGE " . 1055399) ("YCOORD_CONV " . 1053972) ("YRANGE " . 1055389) ("ZCOORD_CONV" . 1053978) ("ZRANGE" . 1070059))) | 1476 | ("GetProperty" pro "IDLgrLegend" (system) "Obj->[%s::]%s" ("objects_gr69.html" ) ("objects_gr66.html" ("ALL" . 1053896) ("BORDER_GAP" . 1053903) ("COLUMNS" . 1053905) ("FILL_COLOR" . 1053907) ("FONT" . 1053909) ("GAP" . 1053912) ("GLYPH_WIDTH" . 1053914) ("HIDE" . 1053916) ("ITEM_COLOR" . 1069308) ("ITEM_LINESTYLE" . 1053922) ("ITEM_NAME" . 1053935) ("ITEM_OBJECT" . 1053937) ("ITEM_THICK" . 1053940) ("ITEM_TYPE" . 1053942) ("OUTLINE_COLOR" . 1053948) ("OUTLINE_THICK" . 1053950) ("PARENT" . 1055362) ("SHOW_FILL" . 1053952) ("SHOW_OUTLINE" . 1053956) ("TEXT_COLOR" . 1053960) ("TITLE" . 1053962) ("XCOORD_CONV" . 1053966) ("XRANGE" . 1055399) ("YCOORD_CONV" . 1053972) ("YRANGE" . 1055389) ("ZCOORD_CONV" . 1053978) ("ZRANGE" . 1070059))) |
| 1477 | ("SetProperty" pro "IDLgrLegend" (system) "Obj->[%s::]%s" ("objects_gr71.html" ) ("objects_gr66.html" ("BORDER_GAP" . 1053903) ("COLUMNS" . 1053905) ("FILL_COLOR" . 1053907) ("FONT" . 1053909) ("GAP" . 1053912) ("GLYPH_WIDTH" . 1053914) ("HIDE" . 1053916) ("ITEM_COLOR" . 1069308) ("ITEM_LINESTYLE " . 1053922) ("ITEM_NAME" . 1053935) ("ITEM_OBJECT " . 1053937) ("ITEM_THICK" . 1053940) ("ITEM_TYPE" . 1053942) ("OUTLINE_COLOR " . 1053948) ("OUTLINE_THICK" . 1053950) ("RECOMPUTE " . 1055360) ("SHOW_FILL" . 1053952) ("SHOW_OUTLINE " . 1053956) ("TEXT_COLOR " . 1053960) ("TITLE" . 1053962) ("XCOORD_CONV " . 1053966) ("YCOORD_CONV " . 1053972) ("ZCOORD_CONV" . 1053978))) | 1477 | ("SetProperty" pro "IDLgrLegend" (system) "Obj->[%s::]%s" ("objects_gr71.html" ) ("objects_gr66.html" ("BORDER_GAP" . 1053903) ("COLUMNS" . 1053905) ("FILL_COLOR" . 1053907) ("FONT" . 1053909) ("GAP" . 1053912) ("GLYPH_WIDTH" . 1053914) ("HIDE" . 1053916) ("ITEM_COLOR" . 1069308) ("ITEM_LINESTYLE" . 1053922) ("ITEM_NAME" . 1053935) ("ITEM_OBJECT" . 1053937) ("ITEM_THICK" . 1053940) ("ITEM_TYPE" . 1053942) ("OUTLINE_COLOR" . 1053948) ("OUTLINE_THICK" . 1053950) ("RECOMPUTE" . 1055360) ("SHOW_FILL" . 1053952) ("SHOW_OUTLINE" . 1053956) ("TEXT_COLOR" . 1053960) ("TITLE" . 1053962) ("XCOORD_CONV" . 1053966) ("YCOORD_CONV" . 1053972) ("ZCOORD_CONV" . 1053978))) |
| 1478 | ("ComputeDimensions" fun "IDLgrLegend" (system) "Result = Obj->[%s::]%s( DestinationObject)" ("objects_gr68.html" ("PATH" . 1010563))) | 1478 | ("ComputeDimensions" fun "IDLgrLegend" (system) "Result = Obj->[%s::]%s( DestinationObject)" ("objects_gr68.html" ("PATH" . 1010563))) |
| 1479 | ("Init" fun "IDLgrLegend" (system) "Result = Obj->[%s::]%s([, aItemNames])" ("objects_gr70.html" ) ("objects_gr66.html" ("BORDER_GAP" . 1053903) ("COLUMNS" . 1053905) ("FILL_COLOR" . 1053907) ("FONT" . 1053909) ("GAP" . 1053912) ("GLYPH_WIDTH" . 1053914) ("HIDE" . 1053916) ("ITEM_COLOR" . 1069308) ("ITEM_LINESTYLE " . 1053922) ("ITEM_NAME" . 1053935) ("ITEM_OBJECT " . 1053937) ("ITEM_THICK" . 1053940) ("ITEM_TYPE" . 1053942) ("OUTLINE_COLOR " . 1053948) ("OUTLINE_THICK" . 1053950) ("SHOW_FILL" . 1053952) ("SHOW_OUTLINE " . 1053956) ("TEXT_COLOR " . 1053960) ("TITLE" . 1053962) ("XCOORD_CONV " . 1053966) ("YCOORD_CONV " . 1053972) ("ZCOORD_CONV" . 1053978))) | 1479 | ("Init" fun "IDLgrLegend" (system) "Result = Obj->[%s::]%s([, aItemNames])" ("objects_gr70.html" ) ("objects_gr66.html" ("BORDER_GAP" . 1053903) ("COLUMNS" . 1053905) ("FILL_COLOR" . 1053907) ("FONT" . 1053909) ("GAP" . 1053912) ("GLYPH_WIDTH" . 1053914) ("HIDE" . 1053916) ("ITEM_COLOR" . 1069308) ("ITEM_LINESTYLE" . 1053922) ("ITEM_NAME" . 1053935) ("ITEM_OBJECT" . 1053937) ("ITEM_THICK" . 1053940) ("ITEM_TYPE" . 1053942) ("OUTLINE_COLOR" . 1053948) ("OUTLINE_THICK" . 1053950) ("SHOW_FILL" . 1053952) ("SHOW_OUTLINE" . 1053956) ("TEXT_COLOR" . 1053960) ("TITLE" . 1053962) ("XCOORD_CONV" . 1053966) ("YCOORD_CONV" . 1053972) ("ZCOORD_CONV" . 1053978))) |
| 1480 | ("Cleanup" pro "IDLgrLight" (system) "Obj->[%s::]%s" ("objects_gr74.html")) | 1480 | ("Cleanup" pro "IDLgrLight" (system) "Obj->[%s::]%s" ("objects_gr74.html")) |
| 1481 | ("GetProperty" pro "IDLgrLight" (system) "Obj->[%s::]%s" ("objects_gr76.html" ) ("objects_gr73.html" ("ALL" . 1055555) ("ATTENUATION " . 1055572) ("COLOR" . 1055581) ("CONEANGLE" . 1055583) ("DIRECTION" . 1055585) ("FOCUS" . 1055588) ("HIDE" . 1055590) ("INTENSITY" . 1055595) ("LOCATION" . 1055597) ("PALETTE" . 1088211) ("PARENT" . 1055635) ("TYPE" . 1093801) ("XCOORD_CONV " . 1055609) ("YCOORD_CONV" . 1055615) ("ZCOORD_CONV " . 1055621))) | 1481 | ("GetProperty" pro "IDLgrLight" (system) "Obj->[%s::]%s" ("objects_gr76.html" ) ("objects_gr73.html" ("ALL" . 1055555) ("ATTENUATION" . 1055572) ("COLOR" . 1055581) ("CONEANGLE" . 1055583) ("DIRECTION" . 1055585) ("FOCUS" . 1055588) ("HIDE" . 1055590) ("INTENSITY" . 1055595) ("LOCATION" . 1055597) ("PALETTE" . 1088211) ("PARENT" . 1055635) ("TYPE" . 1093801) ("XCOORD_CONV" . 1055609) ("YCOORD_CONV" . 1055615) ("ZCOORD_CONV" . 1055621))) |
| 1482 | ("SetProperty" pro "IDLgrLight" (system) "Obj->[%s::]%s" ("objects_gr78.html" ) ("objects_gr73.html" ("ATTENUATION " . 1055572) ("COLOR" . 1055581) ("CONEANGLE" . 1055583) ("DIRECTION" . 1055585) ("FOCUS" . 1055588) ("HIDE" . 1055590) ("INTENSITY" . 1055595) ("LOCATION" . 1055597) ("PALETTE" . 1088211) ("TYPE" . 1093801) ("XCOORD_CONV " . 1055609) ("YCOORD_CONV" . 1055615) ("ZCOORD_CONV " . 1055621))) | 1482 | ("SetProperty" pro "IDLgrLight" (system) "Obj->[%s::]%s" ("objects_gr78.html" ) ("objects_gr73.html" ("ATTENUATION" . 1055572) ("COLOR" . 1055581) ("CONEANGLE" . 1055583) ("DIRECTION" . 1055585) ("FOCUS" . 1055588) ("HIDE" . 1055590) ("INTENSITY" . 1055595) ("LOCATION" . 1055597) ("PALETTE" . 1088211) ("TYPE" . 1093801) ("XCOORD_CONV" . 1055609) ("YCOORD_CONV" . 1055615) ("ZCOORD_CONV" . 1055621))) |
| 1483 | ("GetCTM" fun "IDLgrLight" (system) "Result = Obj->[%s::]%s()" ("objects_gr75.html" ("DESTINATION" . 1010900) ("PATH" . 1010902) ("TOP" . 1010908))) | 1483 | ("GetCTM" fun "IDLgrLight" (system) "Result = Obj->[%s::]%s()" ("objects_gr75.html" ("DESTINATION" . 1010900) ("PATH" . 1010902) ("TOP" . 1010908))) |
| 1484 | ("Init" fun "IDLgrLight" (system) "Result = Obj->[%s::]%s()" ("objects_gr77.html" ) ("objects_gr73.html" ("ATTENUATION " . 1055572) ("COLOR" . 1055581) ("CONEANGLE" . 1055583) ("DIRECTION" . 1055585) ("FOCUS" . 1055588) ("HIDE" . 1055590) ("INTENSITY" . 1055595) ("LOCATION" . 1055597) ("PALETTE" . 1088211) ("REGISTER_PROPERTIES" . 1088158) ("TYPE" . 1093801) ("XCOORD_CONV " . 1055609) ("YCOORD_CONV" . 1055615) ("ZCOORD_CONV " . 1055621))) | 1484 | ("Init" fun "IDLgrLight" (system) "Result = Obj->[%s::]%s()" ("objects_gr77.html" ) ("objects_gr73.html" ("ATTENUATION" . 1055572) ("COLOR" . 1055581) ("CONEANGLE" . 1055583) ("DIRECTION" . 1055585) ("FOCUS" . 1055588) ("HIDE" . 1055590) ("INTENSITY" . 1055595) ("LOCATION" . 1055597) ("PALETTE" . 1088211) ("REGISTER_PROPERTIES" . 1088158) ("TYPE" . 1093801) ("XCOORD_CONV" . 1055609) ("YCOORD_CONV" . 1055615) ("ZCOORD_CONV" . 1055621))) |
| 1485 | ("Add" pro "IDLgrModel" (system) "Obj->[%s::]%s, Object" ("objects_gr81.html" ("ALIAS" . 1011206) ("POSITION" . 1011208))) | 1485 | ("Add" pro "IDLgrModel" (system) "Obj->[%s::]%s, Object" ("objects_gr81.html" ("ALIAS" . 1011206) ("POSITION" . 1011208))) |
| 1486 | ("Cleanup" pro "IDLgrModel" (system) "Obj->[%s::]%s" ("objects_gr82.html")) | 1486 | ("Cleanup" pro "IDLgrModel" (system) "Obj->[%s::]%s" ("objects_gr82.html")) |
| 1487 | ("Draw" pro "IDLgrModel" (system) "Obj->[%s::]%s, Destination, Picture" ("objects_gr83.html")) | 1487 | ("Draw" pro "IDLgrModel" (system) "Obj->[%s::]%s, Destination, Picture" ("objects_gr83.html")) |
| 1488 | ("GetProperty" pro "IDLgrModel" (system) "Obj->[%s::]%s" ("objects_gr86.html" ) ("objects_gr80.html" ("ALL " . 1055726) ("CLIP_PLANES " . 1055740) ("DEPTH_TEST_DISABLE" . 1094976) ("DEPTH_TEST_FUNCTION" . 1095322) ("DEPTH_WRITE_DISABLE" . 1095361) ("HIDE " . 1088312) ("LIGHTING" . 1055751) ("PARENT " . 1055781) ("SELECT_TARGET " . 1093831) ("TRANSFORM " . 1055764))) | 1488 | ("GetProperty" pro "IDLgrModel" (system) "Obj->[%s::]%s" ("objects_gr86.html" ) ("objects_gr80.html" ("ALL" . 1055726) ("CLIP_PLANES" . 1055740) ("DEPTH_TEST_DISABLE" . 1094976) ("DEPTH_TEST_FUNCTION" . 1095322) ("DEPTH_WRITE_DISABLE" . 1095361) ("HIDE" . 1088312) ("LIGHTING" . 1055751) ("PARENT" . 1055781) ("SELECT_TARGET" . 1093831) ("TRANSFORM" . 1055764))) |
| 1489 | ("Reset" pro "IDLgrModel" (system) "Obj->[%s::]%s" ("objects_gr88.html")) | 1489 | ("Reset" pro "IDLgrModel" (system) "Obj->[%s::]%s" ("objects_gr88.html")) |
| 1490 | ("Rotate" pro "IDLgrModel" (system) "Obj->[%s::]%s, Axis, Angle" ("objects_gr89.html" ("PREMULTIPLY" . 1011584))) | 1490 | ("Rotate" pro "IDLgrModel" (system) "Obj->[%s::]%s, Axis, Angle" ("objects_gr89.html" ("PREMULTIPLY" . 1011584))) |
| 1491 | ("Scale" pro "IDLgrModel" (system) "Obj->[%s::]%s, Sx, Sy, Sz" ("objects_gr90.html" ("PREMULTIPLY" . 1011618))) | 1491 | ("Scale" pro "IDLgrModel" (system) "Obj->[%s::]%s, Sx, Sy, Sz" ("objects_gr90.html" ("PREMULTIPLY" . 1011618))) |
| 1492 | ("SetProperty" pro "IDLgrModel" (system) "Obj->[%s::]%s" ("objects_gr91.html" ) ("objects_gr80.html" ("CLIP_PLANES " . 1055740) ("DEPTH_TEST_DISABLE" . 1094976) ("DEPTH_TEST_FUNCTION" . 1095322) ("DEPTH_WRITE_DISABLE" . 1095361) ("HIDE " . 1088312) ("LIGHTING" . 1055751) ("SELECT_TARGET " . 1093831) ("TRANSFORM " . 1055764))) | 1492 | ("SetProperty" pro "IDLgrModel" (system) "Obj->[%s::]%s" ("objects_gr91.html" ) ("objects_gr80.html" ("CLIP_PLANES" . 1055740) ("DEPTH_TEST_DISABLE" . 1094976) ("DEPTH_TEST_FUNCTION" . 1095322) ("DEPTH_WRITE_DISABLE" . 1095361) ("HIDE" . 1088312) ("LIGHTING" . 1055751) ("SELECT_TARGET" . 1093831) ("TRANSFORM" . 1055764))) |
| 1493 | ("Translate" pro "IDLgrModel" (system) "Obj->[%s::]%s, Tx, Ty, Tz" ("objects_gr92.html" ("PREMULTIPLY" . 1011687))) | 1493 | ("Translate" pro "IDLgrModel" (system) "Obj->[%s::]%s, Tx, Ty, Tz" ("objects_gr92.html" ("PREMULTIPLY" . 1011687))) |
| 1494 | ("GetByName" fun "IDLgrModel" (system) "Result = Obj->[%s::]%s(Name)" ("objects_gr84.html")) | 1494 | ("GetByName" fun "IDLgrModel" (system) "Result = Obj->[%s::]%s(Name)" ("objects_gr84.html")) |
| 1495 | ("GetCTM" fun "IDLgrModel" (system) "Result = Obj->[%s::]%s()" ("objects_gr85.html" ("DESTINATION" . 1011369) ("PATH" . 1011371) ("TOP" . 1011377))) | 1495 | ("GetCTM" fun "IDLgrModel" (system) "Result = Obj->[%s::]%s()" ("objects_gr85.html" ("DESTINATION" . 1011369) ("PATH" . 1011371) ("TOP" . 1011377))) |
| 1496 | ("Init" fun "IDLgrModel" (system) "Result = Obj->[%s::]%s()" ("objects_gr87.html" ) ("objects_gr80.html" ("CLIP_PLANES " . 1055740) ("DEPTH_TEST_DISABLE" . 1094976) ("DEPTH_TEST_FUNCTION" . 1095322) ("DEPTH_WRITE_DISABLE" . 1095361) ("HIDE " . 1088312) ("LIGHTING" . 1055751) ("REGISTER_PROPERTIES" . 1055779) ("SELECT_TARGET " . 1093831) ("TRANSFORM " . 1055764))) | 1496 | ("Init" fun "IDLgrModel" (system) "Result = Obj->[%s::]%s()" ("objects_gr87.html" ) ("objects_gr80.html" ("CLIP_PLANES" . 1055740) ("DEPTH_TEST_DISABLE" . 1094976) ("DEPTH_TEST_FUNCTION" . 1095322) ("DEPTH_WRITE_DISABLE" . 1095361) ("HIDE" . 1088312) ("LIGHTING" . 1055751) ("REGISTER_PROPERTIES" . 1055779) ("SELECT_TARGET" . 1093831) ("TRANSFORM" . 1055764))) |
| 1497 | ("Cleanup" pro "IDLgrMPEG" (system) "Obj->[%s::]%s" ("objects_gr95.html")) | 1497 | ("Cleanup" pro "IDLgrMPEG" (system) "Obj->[%s::]%s" ("objects_gr95.html")) |
| 1498 | ("GetProperty" pro "IDLgrMPEG" (system) "Obj->[%s::]%s" ("objects_gr96.html" ) ("objects_gr94.html" ("ALL " . 1055838) ("BITRATE " . 1055845) ("FILENAME" . 1055875) ("FORMAT " . 1055877) ("FRAME_RATE " . 1055881) ("IFRAME_GAP" . 1055927) ("INTERLACED" . 1055934) ("MOTION_VEC_LENGTH" . 1055936) ("QUALITY" . 1055964) ("SCALE" . 1055967) ("STATISTICS" . 1055969))) | 1498 | ("GetProperty" pro "IDLgrMPEG" (system) "Obj->[%s::]%s" ("objects_gr96.html" ) ("objects_gr94.html" ("ALL" . 1055838) ("BITRATE" . 1055845) ("FILENAME" . 1055875) ("FORMAT" . 1055877) ("FRAME_RATE" . 1055881) ("IFRAME_GAP" . 1055927) ("INTERLACED" . 1055934) ("MOTION_VEC_LENGTH" . 1055936) ("QUALITY" . 1055964) ("SCALE" . 1055967) ("STATISTICS" . 1055969))) |
| 1499 | ("Put" pro "IDLgrMPEG" (system) "Obj->[%s::]%s, Image[, Frame]" ("objects_gr98.html")) | 1499 | ("Put" pro "IDLgrMPEG" (system) "Obj->[%s::]%s, Image[, Frame]" ("objects_gr98.html")) |
| 1500 | ("Save" pro "IDLgrMPEG" (system) "Obj->[%s::]%s" ("objects_gr99.html" ("FILENAME" . 1012062))) | 1500 | ("Save" pro "IDLgrMPEG" (system) "Obj->[%s::]%s" ("objects_gr99.html" ("FILENAME" . 1012062))) |
| 1501 | ("SetProperty" pro "IDLgrMPEG" (system) "Obj->[%s::]%s" ("objects_gr100.html" ) ("objects_gr94.html" ("BITRATE " . 1055845) ("FILENAME" . 1055875) ("FORMAT " . 1055877) ("FRAME_RATE " . 1055881) ("IFRAME_GAP" . 1055927) ("INTERLACED" . 1055934) ("MOTION_VEC_LENGTH" . 1055936) ("QUALITY" . 1055964) ("SCALE" . 1055967) ("STATISTICS" . 1055969))) | 1501 | ("SetProperty" pro "IDLgrMPEG" (system) "Obj->[%s::]%s" ("objects_gr100.html" ) ("objects_gr94.html" ("BITRATE" . 1055845) ("FILENAME" . 1055875) ("FORMAT" . 1055877) ("FRAME_RATE" . 1055881) ("IFRAME_GAP" . 1055927) ("INTERLACED" . 1055934) ("MOTION_VEC_LENGTH" . 1055936) ("QUALITY" . 1055964) ("SCALE" . 1055967) ("STATISTICS" . 1055969))) |
| 1502 | ("Init" fun "IDLgrMPEG" (system) "Result = Obj->[%s::]%s()" ("objects_gr97.html" ) ("objects_gr94.html" ("BITRATE " . 1055845) ("FILENAME" . 1055875) ("FORMAT " . 1055877) ("FRAME_RATE " . 1055881) ("IFRAME_GAP" . 1055927) ("INTERLACED" . 1055934) ("MOTION_VEC_LENGTH" . 1055936) ("QUALITY" . 1055964) ("SCALE" . 1055967) ("STATISTICS" . 1055969) ("TEMP_DIRECTORY " . 1055971))) | 1502 | ("Init" fun "IDLgrMPEG" (system) "Result = Obj->[%s::]%s()" ("objects_gr97.html" ) ("objects_gr94.html" ("BITRATE" . 1055845) ("FILENAME" . 1055875) ("FORMAT" . 1055877) ("FRAME_RATE" . 1055881) ("IFRAME_GAP" . 1055927) ("INTERLACED" . 1055934) ("MOTION_VEC_LENGTH" . 1055936) ("QUALITY" . 1055964) ("SCALE" . 1055967) ("STATISTICS" . 1055969) ("TEMP_DIRECTORY" . 1055971))) |
| 1503 | ("Cleanup" pro "IDLgrPalette" (system) "Obj->[%s::]%s" ("objects_gr103.html")) | 1503 | ("Cleanup" pro "IDLgrPalette" (system) "Obj->[%s::]%s" ("objects_gr103.html")) |
| 1504 | ("GetProperty" pro "IDLgrPalette" (system) "Obj->[%s::]%s" ("objects_gr105.html" ) ("objects_gr102.html" ("ALL" . 1056048) ("BLUE_VALUES " . 1056069) ("BOTTOM_STRETCH " . 1056071) ("GAMMA" . 1056073) ("GREEN_VALUES" . 1056075) ("N_COLORS" . 1056093) ("RED_VALUES" . 1056079) ("TOP_STRETCH " . 1056081))) | 1504 | ("GetProperty" pro "IDLgrPalette" (system) "Obj->[%s::]%s" ("objects_gr105.html" ) ("objects_gr102.html" ("ALL" . 1056048) ("BLUE_VALUES" . 1056069) ("BOTTOM_STRETCH" . 1056071) ("GAMMA" . 1056073) ("GREEN_VALUES" . 1056075) ("N_COLORS" . 1056093) ("RED_VALUES" . 1056079) ("TOP_STRETCH" . 1056081))) |
| 1505 | ("LoadCT" pro "IDLgrPalette" (system) "Obj->[%s::]%s, TableNum" ("objects_gr107.html" ("FILE" . 1012379))) | 1505 | ("LoadCT" pro "IDLgrPalette" (system) "Obj->[%s::]%s, TableNum" ("objects_gr107.html" ("FILE" . 1012379))) |
| 1506 | ("SetProperty" pro "IDLgrPalette" (system) "Obj->[%s::]%s" ("objects_gr110.html" ) ("objects_gr102.html" ("BLUE_VALUES " . 1056069) ("BOTTOM_STRETCH " . 1056071) ("GAMMA" . 1056073) ("GREEN_VALUES" . 1056075) ("RED_VALUES" . 1056079) ("TOP_STRETCH " . 1056081))) | 1506 | ("SetProperty" pro "IDLgrPalette" (system) "Obj->[%s::]%s" ("objects_gr110.html" ) ("objects_gr102.html" ("BLUE_VALUES" . 1056069) ("BOTTOM_STRETCH" . 1056071) ("GAMMA" . 1056073) ("GREEN_VALUES" . 1056075) ("RED_VALUES" . 1056079) ("TOP_STRETCH" . 1056081))) |
| 1507 | ("SetRGB" pro "IDLgrPalette" (system) "Obj->[%s::]%s, Index, Red, Green, Blue" ("objects_gr109.html")) | 1507 | ("SetRGB" pro "IDLgrPalette" (system) "Obj->[%s::]%s, Index, Red, Green, Blue" ("objects_gr109.html")) |
| 1508 | ("GetRGB" fun "IDLgrPalette" (system) "Result = Obj->[%s::]%s(Index)" ("objects_gr104.html")) | 1508 | ("GetRGB" fun "IDLgrPalette" (system) "Result = Obj->[%s::]%s(Index)" ("objects_gr104.html")) |
| 1509 | ("Init" fun "IDLgrPalette" (system) "Result = Obj->[%s::]%s(, aRed, aGreen, aBlue)" ("objects_gr106.html" ) ("objects_gr102.html" ("BLUE_VALUES " . 1056069) ("BOTTOM_STRETCH " . 1056071) ("GAMMA" . 1056073) ("GREEN_VALUES" . 1056075) ("RED_VALUES" . 1056079) ("TOP_STRETCH " . 1056081))) | 1509 | ("Init" fun "IDLgrPalette" (system) "Result = Obj->[%s::]%s(, aRed, aGreen, aBlue)" ("objects_gr106.html" ) ("objects_gr102.html" ("BLUE_VALUES" . 1056069) ("BOTTOM_STRETCH" . 1056071) ("GAMMA" . 1056073) ("GREEN_VALUES" . 1056075) ("RED_VALUES" . 1056079) ("TOP_STRETCH" . 1056081))) |
| 1510 | ("NearestColor" fun "IDLgrPalette" (system) "Result = Obj->[%s::]%s(Red, Green, Blue)" ("objects_gr108.html")) | 1510 | ("NearestColor" fun "IDLgrPalette" (system) "Result = Obj->[%s::]%s(Red, Green, Blue)" ("objects_gr108.html")) |
| 1511 | ("Cleanup" pro "IDLgrPattern" (system) "Obj->[%s::]%s" ("objects_gr113.html")) | 1511 | ("Cleanup" pro "IDLgrPattern" (system) "Obj->[%s::]%s" ("objects_gr113.html")) |
| 1512 | ("GetProperty" pro "IDLgrPattern" (system) "Obj->[%s::]%s" ("objects_gr114.html" ) ("objects_gr112.html" ("ALL" . 1056154) ("ORIENTATION " . 1056165) ("PATTERN" . 1056169) ("SPACING " . 1056171) ("STYLE" . 1056173))) | 1512 | ("GetProperty" pro "IDLgrPattern" (system) "Obj->[%s::]%s" ("objects_gr114.html" ) ("objects_gr112.html" ("ALL" . 1056154) ("ORIENTATION" . 1056165) ("PATTERN" . 1056169) ("SPACING" . 1056171) ("STYLE" . 1056173))) |
| 1513 | ("SetProperty" pro "IDLgrPattern" (system) "Obj->[%s::]%s" ("objects_gr116.html" ) ("objects_gr112.html" ("ORIENTATION " . 1056165) ("PATTERN" . 1056169) ("SPACING " . 1056171) ("STYLE" . 1056173))) | 1513 | ("SetProperty" pro "IDLgrPattern" (system) "Obj->[%s::]%s" ("objects_gr116.html" ) ("objects_gr112.html" ("ORIENTATION" . 1056165) ("PATTERN" . 1056169) ("SPACING" . 1056171) ("STYLE" . 1056173))) |
| 1514 | ("Init" fun "IDLgrPattern" (system) "Result = Obj->[%s::]%s([, Style])" ("objects_gr115.html" ) ("objects_gr112.html" ("ORIENTATION " . 1056165) ("PATTERN" . 1056169) ("SPACING " . 1056171) ("STYLE" . 1056173) ("THICK " . 1056179))) | 1514 | ("Init" fun "IDLgrPattern" (system) "Result = Obj->[%s::]%s([, Style])" ("objects_gr115.html" ) ("objects_gr112.html" ("ORIENTATION" . 1056165) ("PATTERN" . 1056169) ("SPACING" . 1056171) ("STYLE" . 1056173) ("THICK" . 1056179))) |
| 1515 | ("Cleanup" pro "IDLgrPlot" (system) "Obj->[%s::]%s" ("objects_gr119.html")) | 1515 | ("Cleanup" pro "IDLgrPlot" (system) "Obj->[%s::]%s" ("objects_gr119.html")) |
| 1516 | ("GetProperty" pro "IDLgrPlot" (system) "Obj->[%s::]%s" ("objects_gr121.html" ) ("objects_gr118.html" ("ALL" . 1056243) ("ALPHA_CHANNEL" . 1056258) ("CLIP_PLANES " . 1314217) ("COLOR " . 1056263) ("DATA" . 1056381) ("DEPTH_TEST_DISABLE" . 1094982) ("DEPTH_TEST_FUNCTION" . 1095444) ("DEPTH_WRITE_DISABLE" . 1095483) ("DOUBLE " . 1056269) ("HIDE " . 1056271) ("HISTOGRAM" . 1092755) ("LINESTYLE" . 1056277) ("MAX_VALUE " . 1056290) ("MIN_VALUE " . 1056292) ("NSUM" . 1056296) ("PALETTE" . 1056298) ("PARENT " . 1056392) ("POLAR " . 1056389) ("SYMBOL " . 1056306) ("THICK" . 1056311) ("VERT_COLORS" . 1056317) ("XCOORD_CONV" . 1056319) ("XRANGE " . 1056325) ("YCOORD_CONV " . 1056327) ("YRANGE" . 1056333) ("ZCOORD_CONV" . 1056335) ("ZRANGE" . 1074286) ("ZVALUE" . 1056400))) | 1516 | ("GetProperty" pro "IDLgrPlot" (system) "Obj->[%s::]%s" ("objects_gr121.html" ) ("objects_gr118.html" ("ALL" . 1056243) ("ALPHA_CHANNEL" . 1056258) ("CLIP_PLANES" . 1314217) ("COLOR" . 1056263) ("DATA" . 1056381) ("DEPTH_TEST_DISABLE" . 1094982) ("DEPTH_TEST_FUNCTION" . 1095444) ("DEPTH_WRITE_DISABLE" . 1095483) ("DOUBLE" . 1056269) ("HIDE" . 1056271) ("HISTOGRAM" . 1092755) ("LINESTYLE" . 1056277) ("MAX_VALUE" . 1056290) ("MIN_VALUE" . 1056292) ("NSUM" . 1056296) ("PALETTE" . 1056298) ("PARENT" . 1056392) ("POLAR" . 1056389) ("SYMBOL" . 1056306) ("THICK" . 1056311) ("VERT_COLORS" . 1056317) ("XCOORD_CONV" . 1056319) ("XRANGE" . 1056325) ("YCOORD_CONV" . 1056327) ("YRANGE" . 1056333) ("ZCOORD_CONV" . 1056335) ("ZRANGE" . 1074286) ("ZVALUE" . 1056400))) |
| 1517 | ("SetProperty" pro "IDLgrPlot" (system) "Obj->[%s::]%s" ("objects_gr123.html" ) ("objects_gr118.html" ("ALPHA_CHANNEL" . 1056258) ("CLIP_PLANES " . 1314217) ("COLOR " . 1056263) ("DATAX" . 1056378) ("DATAY" . 1056267) ("DEPTH_TEST_DISABLE" . 1094982) ("DEPTH_TEST_FUNCTION" . 1095444) ("DEPTH_WRITE_DISABLE" . 1095483) ("DOUBLE " . 1056269) ("HIDE " . 1056271) ("HISTOGRAM" . 1092755) ("LINESTYLE" . 1056277) ("MAX_VALUE " . 1056290) ("MIN_VALUE " . 1056292) ("NSUM" . 1056296) ("PALETTE" . 1056298) ("POLAR " . 1056389) ("RESET_DATA " . 1093845) ("SHARE_DATA " . 1056304) ("SYMBOL " . 1056306) ("THICK" . 1056311) ("VERT_COLORS" . 1056317) ("XCOORD_CONV" . 1056319) ("XRANGE " . 1056325) ("YCOORD_CONV " . 1056327) ("YRANGE" . 1056333) ("ZCOORD_CONV" . 1056335) ("ZVALUE" . 1056400))) | 1517 | ("SetProperty" pro "IDLgrPlot" (system) "Obj->[%s::]%s" ("objects_gr123.html" ) ("objects_gr118.html" ("ALPHA_CHANNEL" . 1056258) ("CLIP_PLANES" . 1314217) ("COLOR" . 1056263) ("DATAX" . 1056378) ("DATAY" . 1056267) ("DEPTH_TEST_DISABLE" . 1094982) ("DEPTH_TEST_FUNCTION" . 1095444) ("DEPTH_WRITE_DISABLE" . 1095483) ("DOUBLE" . 1056269) ("HIDE" . 1056271) ("HISTOGRAM" . 1092755) ("LINESTYLE" . 1056277) ("MAX_VALUE" . 1056290) ("MIN_VALUE" . 1056292) ("NSUM" . 1056296) ("PALETTE" . 1056298) ("POLAR" . 1056389) ("RESET_DATA" . 1093845) ("SHARE_DATA" . 1056304) ("SYMBOL" . 1056306) ("THICK" . 1056311) ("VERT_COLORS" . 1056317) ("XCOORD_CONV" . 1056319) ("XRANGE" . 1056325) ("YCOORD_CONV" . 1056327) ("YRANGE" . 1056333) ("ZCOORD_CONV" . 1056335) ("ZVALUE" . 1056400))) |
| 1518 | ("GetCTM" fun "IDLgrPlot" (system) "Result = Obj->[%s::]%s()" ("objects_gr120.html" ("DESTINATION" . 1012838) ("PATH" . 1012840) ("TOP" . 1012846))) | 1518 | ("GetCTM" fun "IDLgrPlot" (system) "Result = Obj->[%s::]%s()" ("objects_gr120.html" ("DESTINATION" . 1012838) ("PATH" . 1012840) ("TOP" . 1012846))) |
| 1519 | ("Init" fun "IDLgrPlot" (system) "Result = Obj->[%s::]%s([, [X,] Y])" ("objects_gr122.html" ) ("objects_gr118.html" ("ALPHA_CHANNEL" . 1056258) ("CLIP_PLANES " . 1314217) ("COLOR " . 1056263) ("DATAX" . 1056378) ("DATAY" . 1056267) ("DEPTH_TEST_DISABLE" . 1094982) ("DEPTH_TEST_FUNCTION" . 1095444) ("DEPTH_WRITE_DISABLE" . 1095483) ("DOUBLE " . 1056269) ("HIDE " . 1056271) ("HISTOGRAM" . 1092755) ("LINESTYLE" . 1056277) ("MAX_VALUE " . 1056290) ("MIN_VALUE " . 1056292) ("NSUM" . 1056296) ("PALETTE" . 1056298) ("POLAR " . 1056389) ("REGISTER_PROPERTIES" . 1056302) ("RESET_DATA " . 1093845) ("SHARE_DATA " . 1056304) ("SYMBOL " . 1056306) ("THICK" . 1056311) ("USE_ZVALUE" . 1056313) ("VERT_COLORS" . 1056317) ("XCOORD_CONV" . 1056319) ("XRANGE " . 1056325) ("YCOORD_CONV " . 1056327) ("YRANGE" . 1056333) ("ZCOORD_CONV" . 1056335) ("ZVALUE" . 1056400))) | 1519 | ("Init" fun "IDLgrPlot" (system) "Result = Obj->[%s::]%s([, [X,] Y])" ("objects_gr122.html" ) ("objects_gr118.html" ("ALPHA_CHANNEL" . 1056258) ("CLIP_PLANES" . 1314217) ("COLOR" . 1056263) ("DATAX" . 1056378) ("DATAY" . 1056267) ("DEPTH_TEST_DISABLE" . 1094982) ("DEPTH_TEST_FUNCTION" . 1095444) ("DEPTH_WRITE_DISABLE" . 1095483) ("DOUBLE" . 1056269) ("HIDE" . 1056271) ("HISTOGRAM" . 1092755) ("LINESTYLE" . 1056277) ("MAX_VALUE" . 1056290) ("MIN_VALUE" . 1056292) ("NSUM" . 1056296) ("PALETTE" . 1056298) ("POLAR" . 1056389) ("REGISTER_PROPERTIES" . 1056302) ("RESET_DATA" . 1093845) ("SHARE_DATA" . 1056304) ("SYMBOL" . 1056306) ("THICK" . 1056311) ("USE_ZVALUE" . 1056313) ("VERT_COLORS" . 1056317) ("XCOORD_CONV" . 1056319) ("XRANGE" . 1056325) ("YCOORD_CONV" . 1056327) ("YRANGE" . 1056333) ("ZCOORD_CONV" . 1056335) ("ZVALUE" . 1056400))) |
| 1520 | ("Cleanup" pro "IDLgrPolygon" (system) "Obj->[%s::]%s" ("objects_gr126.html")) | 1520 | ("Cleanup" pro "IDLgrPolygon" (system) "Obj->[%s::]%s" ("objects_gr126.html")) |
| 1521 | ("GetProperty" pro "IDLgrPolygon" (system) "Obj->[%s::]%s" ("objects_gr128.html" ) ("objects_gr125.html" ("ALL" . 1056563) ("ALPHA_CHANNEL" . 1316054) ("AMBIENT" . 1309898) ("BOTTOM" . 1074388) ("CLIP_PLANES" . 1056581) ("COLOR " . 1056586) ("DATA" . 1309971) ("DEPTH_OFFSET " . 1056590) ("DEPTH_TEST_DISABLE" . 1094995) ("DEPTH_TEST_FUNCTION" . 1095559) ("DEPTH_WRITE_DISABLE" . 1095598) ("DIFFUSE" . 1310292) ("DOUBLE " . 1310286) ("EMISSION" . 1310032) ("FILL_PATTERN " . 1056598) ("HIDE " . 1056602) ("LINESTYLE " . 1056606) ("NORMALS" . 1056621) ("PARENT " . 1056792) ("POLYGONS" . 1056790) ("REJECT " . 1093870) ("SHADE_RANGE " . 1056643) ("SHADING " . 1056645) ("SHININESS" . 1310128) ("SPECULAR" . 1310225) ("STYLE " . 1310253) ("TEXTURE_COORD" . 1214343) ("TEXTURE_INTERP " . 1056664) ("TEXTURE_MAP " . 1056666) ("THICK " . 1056674) ("VERT_COLORS " . 1056679) ("XCOORD_CONV " . 1088401) ("XRANGE" . 1056808) ("YCOORD_CONV " . 1075980) ("YRANGE" . 1056822) ("ZCOORD_CONV" . 1056694) ("ZERO_OPACITY_SKIP " . 1056700) ("ZRANGE" . 1056834))) | 1521 | ("GetProperty" pro "IDLgrPolygon" (system) "Obj->[%s::]%s" ("objects_gr128.html" ) ("objects_gr125.html" ("ALL" . 1056563) ("ALPHA_CHANNEL" . 1316054) ("AMBIENT" . 1309898) ("BOTTOM" . 1074388) ("CLIP_PLANES" . 1056581) ("COLOR" . 1056586) ("DATA" . 1309971) ("DEPTH_OFFSET" . 1056590) ("DEPTH_TEST_DISABLE" . 1094995) ("DEPTH_TEST_FUNCTION" . 1095559) ("DEPTH_WRITE_DISABLE" . 1095598) ("DIFFUSE" . 1310292) ("DOUBLE" . 1310286) ("EMISSION" . 1310032) ("FILL_PATTERN" . 1056598) ("HIDE" . 1056602) ("LINESTYLE" . 1056606) ("NORMALS" . 1056621) ("PARENT" . 1056792) ("POLYGONS" . 1056790) ("REJECT" . 1093870) ("SHADE_RANGE" . 1056643) ("SHADING" . 1056645) ("SHININESS" . 1310128) ("SPECULAR" . 1310225) ("STYLE" . 1310253) ("TEXTURE_COORD" . 1214343) ("TEXTURE_INTERP" . 1056664) ("TEXTURE_MAP" . 1056666) ("THICK" . 1056674) ("VERT_COLORS" . 1056679) ("XCOORD_CONV" . 1088401) ("XRANGE" . 1056808) ("YCOORD_CONV" . 1075980) ("YRANGE" . 1056822) ("ZCOORD_CONV" . 1056694) ("ZERO_OPACITY_SKIP" . 1056700) ("ZRANGE" . 1056834))) |
| 1522 | ("SetProperty" pro "IDLgrPolygon" (system) "Obj->[%s::]%s" ("objects_gr130.html" ) ("objects_gr125.html" ("ALPHA_CHANNEL" . 1316054) ("AMBIENT" . 1309898) ("BOTTOM" . 1074388) ("CLIP_PLANES" . 1056581) ("COLOR " . 1056586) ("DATA" . 1309971) ("DEPTH_OFFSET " . 1056590) ("DEPTH_TEST_DISABLE" . 1094995) ("DEPTH_TEST_FUNCTION" . 1095559) ("DEPTH_WRITE_DISABLE" . 1095598) ("DIFFUSE" . 1310292) ("DOUBLE " . 1310286) ("EMISSION" . 1310032) ("FILL_PATTERN " . 1056598) ("HIDE " . 1056602) ("LINESTYLE " . 1056606) ("NORMALS" . 1056621) ("POLYGONS" . 1056790) ("REJECT " . 1093870) ("RESET_DATA " . 1056641) ("SHADE_RANGE " . 1056643) ("SHADING " . 1056645) ("SHARE_DATA " . 1056650) ("SHININESS" . 1310128) ("SPECULAR" . 1310225) ("STYLE " . 1310253) ("TEXTURE_COORD" . 1214343) ("TEXTURE_INTERP " . 1056664) ("TEXTURE_MAP " . 1056666) ("THICK " . 1056674) ("VERT_COLORS " . 1056679) ("XCOORD_CONV " . 1088401) ("YCOORD_CONV " . 1075980) ("ZCOORD_CONV" . 1056694) ("ZERO_OPACITY_SKIP " . 1056700))) | 1522 | ("SetProperty" pro "IDLgrPolygon" (system) "Obj->[%s::]%s" ("objects_gr130.html" ) ("objects_gr125.html" ("ALPHA_CHANNEL" . 1316054) ("AMBIENT" . 1309898) ("BOTTOM" . 1074388) ("CLIP_PLANES" . 1056581) ("COLOR" . 1056586) ("DATA" . 1309971) ("DEPTH_OFFSET" . 1056590) ("DEPTH_TEST_DISABLE" . 1094995) ("DEPTH_TEST_FUNCTION" . 1095559) ("DEPTH_WRITE_DISABLE" . 1095598) ("DIFFUSE" . 1310292) ("DOUBLE" . 1310286) ("EMISSION" . 1310032) ("FILL_PATTERN" . 1056598) ("HIDE" . 1056602) ("LINESTYLE" . 1056606) ("NORMALS" . 1056621) ("POLYGONS" . 1056790) ("REJECT" . 1093870) ("RESET_DATA" . 1056641) ("SHADE_RANGE" . 1056643) ("SHADING" . 1056645) ("SHARE_DATA" . 1056650) ("SHININESS" . 1310128) ("SPECULAR" . 1310225) ("STYLE" . 1310253) ("TEXTURE_COORD" . 1214343) ("TEXTURE_INTERP" . 1056664) ("TEXTURE_MAP" . 1056666) ("THICK" . 1056674) ("VERT_COLORS" . 1056679) ("XCOORD_CONV" . 1088401) ("YCOORD_CONV" . 1075980) ("ZCOORD_CONV" . 1056694) ("ZERO_OPACITY_SKIP" . 1056700))) |
| 1523 | ("GetCTM" fun "IDLgrPolygon" (system) "Result = Obj->[%s::]%s()" ("objects_gr127.html" ("DESTINATION" . 1013188) ("PATH" . 1013190) ("TOP" . 1013196))) | 1523 | ("GetCTM" fun "IDLgrPolygon" (system) "Result = Obj->[%s::]%s()" ("objects_gr127.html" ("DESTINATION" . 1013188) ("PATH" . 1013190) ("TOP" . 1013196))) |
| 1524 | ("Init" fun "IDLgrPolygon" (system) "Result = Obj->[%s::]%s([, X [, Y[, Z]]])" ("objects_gr129.html" ) ("objects_gr125.html" ("ALPHA_CHANNEL" . 1316054) ("AMBIENT" . 1309898) ("BOTTOM" . 1074388) ("CLIP_PLANES" . 1056581) ("COLOR " . 1056586) ("DATA" . 1309971) ("DEPTH_OFFSET " . 1056590) ("DEPTH_TEST_DISABLE" . 1094995) ("DEPTH_TEST_FUNCTION" . 1095559) ("DEPTH_WRITE_DISABLE" . 1095598) ("DIFFUSE" . 1310292) ("DOUBLE " . 1310286) ("EMISSION" . 1310032) ("FILL_PATTERN " . 1056598) ("HIDDEN_LINES" . 1056600) ("HIDE " . 1056602) ("LINESTYLE " . 1056606) ("NORMALS" . 1056621) ("PALETTE" . 1056629) ("POLYGONS" . 1056790) ("REGISTER_PROPERTIES" . 1327262) ("REJECT " . 1093870) ("RESET_DATA " . 1056641) ("SHADE_RANGE " . 1056643) ("SHADING " . 1056645) ("SHARE_DATA " . 1056650) ("SHININESS" . 1310128) ("SPECULAR" . 1310225) ("STYLE " . 1310253) ("TEXTURE_COORD" . 1214343) ("TEXTURE_INTERP " . 1056664) ("TEXTURE_MAP " . 1056666) ("THICK " . 1056674) ("VERT_COLORS " . 1056679) ("XCOORD_CONV " . 1088401) ("YCOORD_CONV " . 1075980) ("ZCOORD_CONV" . 1056694) ("ZERO_OPACITY_SKIP " . 1056700))) | 1524 | ("Init" fun "IDLgrPolygon" (system) "Result = Obj->[%s::]%s([, X [, Y[, Z]]])" ("objects_gr129.html" ) ("objects_gr125.html" ("ALPHA_CHANNEL" . 1316054) ("AMBIENT" . 1309898) ("BOTTOM" . 1074388) ("CLIP_PLANES" . 1056581) ("COLOR" . 1056586) ("DATA" . 1309971) ("DEPTH_OFFSET" . 1056590) ("DEPTH_TEST_DISABLE" . 1094995) ("DEPTH_TEST_FUNCTION" . 1095559) ("DEPTH_WRITE_DISABLE" . 1095598) ("DIFFUSE" . 1310292) ("DOUBLE" . 1310286) ("EMISSION" . 1310032) ("FILL_PATTERN" . 1056598) ("HIDDEN_LINES" . 1056600) ("HIDE" . 1056602) ("LINESTYLE" . 1056606) ("NORMALS" . 1056621) ("PALETTE" . 1056629) ("POLYGONS" . 1056790) ("REGISTER_PROPERTIES" . 1327262) ("REJECT" . 1093870) ("RESET_DATA" . 1056641) ("SHADE_RANGE" . 1056643) ("SHADING" . 1056645) ("SHARE_DATA" . 1056650) ("SHININESS" . 1310128) ("SPECULAR" . 1310225) ("STYLE" . 1310253) ("TEXTURE_COORD" . 1214343) ("TEXTURE_INTERP" . 1056664) ("TEXTURE_MAP" . 1056666) ("THICK" . 1056674) ("VERT_COLORS" . 1056679) ("XCOORD_CONV" . 1088401) ("YCOORD_CONV" . 1075980) ("ZCOORD_CONV" . 1056694) ("ZERO_OPACITY_SKIP" . 1056700))) |
| 1525 | ("Cleanup" pro "IDLgrPolyline" (system) "Obj->[%s::]%s" ("objects_gr133.html")) | 1525 | ("Cleanup" pro "IDLgrPolyline" (system) "Obj->[%s::]%s" ("objects_gr133.html")) |
| 1526 | ("GetProperty" pro "IDLgrPolyline" (system) "Obj->[%s::]%s" ("objects_gr135.html" ) ("objects_gr132.html" ("ALL" . 1056980) ("ALPHA_CHANNEL" . 1329463) ("CLIP_PLANES " . 1056996) ("COLOR" . 1057001) ("DATA" . 1057003) ("DEPTH_TEST_DISABLE" . 1095001) ("DEPTH_TEST_FUNCTION" . 1095681) ("DEPTH_WRITE_DISABLE" . 1095720) ("DOUBLE" . 1057005) ("HIDE" . 1057007) ("LABEL_NOGAPS" . 1057011) ("LABEL_OBJECTS" . 1057019) ("LABEL_OFFSETS " . 1057017) ("LABEL_POLYLINES" . 1057330) ("LABEL_USE_VERTEX_COLOR" . 1077987) ("LINESTYLE" . 1057029) ("PALETTE " . 1057044) ("PARENT" . 1057101) ("POLYLINES" . 1057099) ("SHADING" . 1057051) ("SYMBOL" . 1057058) ("THICK" . 1057063) ("USE_LABEL_COLOR" . 1057065) ("USE_LABEL_ORIENTATION" . 1057067) ("USE_TEXT_ALIGNMENTS" . 1057069) ("VERT_COLORS " . 1057073) ("XCOORD_CONV " . 1057075) ("XRANGE" . 1057143) ("YCOORD_CONV" . 1057081) ("YRANGE " . 1057133) ("ZCOORD_CONV" . 1077892) ("ZRANGE" . 1057121))) | 1526 | ("GetProperty" pro "IDLgrPolyline" (system) "Obj->[%s::]%s" ("objects_gr135.html" ) ("objects_gr132.html" ("ALL" . 1056980) ("ALPHA_CHANNEL" . 1329463) ("CLIP_PLANES" . 1056996) ("COLOR" . 1057001) ("DATA" . 1057003) ("DEPTH_TEST_DISABLE" . 1095001) ("DEPTH_TEST_FUNCTION" . 1095681) ("DEPTH_WRITE_DISABLE" . 1095720) ("DOUBLE" . 1057005) ("HIDE" . 1057007) ("LABEL_NOGAPS" . 1057011) ("LABEL_OBJECTS" . 1057019) ("LABEL_OFFSETS" . 1057017) ("LABEL_POLYLINES" . 1057330) ("LABEL_USE_VERTEX_COLOR" . 1077987) ("LINESTYLE" . 1057029) ("PALETTE" . 1057044) ("PARENT" . 1057101) ("POLYLINES" . 1057099) ("SHADING" . 1057051) ("SYMBOL" . 1057058) ("THICK" . 1057063) ("USE_LABEL_COLOR" . 1057065) ("USE_LABEL_ORIENTATION" . 1057067) ("USE_TEXT_ALIGNMENTS" . 1057069) ("VERT_COLORS" . 1057073) ("XCOORD_CONV" . 1057075) ("XRANGE" . 1057143) ("YCOORD_CONV" . 1057081) ("YRANGE" . 1057133) ("ZCOORD_CONV" . 1077892) ("ZRANGE" . 1057121))) |
| 1527 | ("SetProperty" pro "IDLgrPolyline" (system) "Obj->[%s::]%s" ("objects_gr137.html" ) ("objects_gr132.html" ("ALPHA_CHANNEL" . 1329463) ("CLIP_PLANES " . 1056996) ("COLOR" . 1057001) ("DATA" . 1057003) ("DEPTH_TEST_DISABLE" . 1095001) ("DEPTH_TEST_FUNCTION" . 1095681) ("DEPTH_WRITE_DISABLE" . 1095720) ("DOUBLE" . 1057005) ("HIDE" . 1057007) ("LABEL_NOGAPS" . 1057011) ("LABEL_OBJECTS" . 1057019) ("LABEL_OFFSETS " . 1057017) ("LABEL_POLYLINES" . 1057330) ("LABEL_USE_VERTEX_COLOR" . 1077987) ("LINESTYLE" . 1057029) ("PALETTE " . 1057044) ("POLYLINES" . 1057099) ("RESET_DATA" . 1093906) ("SHADING" . 1057051) ("SHARE_DATA " . 1057056) ("SYMBOL" . 1057058) ("THICK" . 1057063) ("USE_LABEL_COLOR" . 1057065) ("USE_LABEL_ORIENTATION" . 1057067) ("USE_TEXT_ALIGNMENTS" . 1057069) ("VERT_COLORS " . 1057073) ("XCOORD_CONV " . 1057075) ("YCOORD_CONV" . 1057081) ("ZCOORD_CONV" . 1077892))) | 1527 | ("SetProperty" pro "IDLgrPolyline" (system) "Obj->[%s::]%s" ("objects_gr137.html" ) ("objects_gr132.html" ("ALPHA_CHANNEL" . 1329463) ("CLIP_PLANES" . 1056996) ("COLOR" . 1057001) ("DATA" . 1057003) ("DEPTH_TEST_DISABLE" . 1095001) ("DEPTH_TEST_FUNCTION" . 1095681) ("DEPTH_WRITE_DISABLE" . 1095720) ("DOUBLE" . 1057005) ("HIDE" . 1057007) ("LABEL_NOGAPS" . 1057011) ("LABEL_OBJECTS" . 1057019) ("LABEL_OFFSETS" . 1057017) ("LABEL_POLYLINES" . 1057330) ("LABEL_USE_VERTEX_COLOR" . 1077987) ("LINESTYLE" . 1057029) ("PALETTE" . 1057044) ("POLYLINES" . 1057099) ("RESET_DATA" . 1093906) ("SHADING" . 1057051) ("SHARE_DATA" . 1057056) ("SYMBOL" . 1057058) ("THICK" . 1057063) ("USE_LABEL_COLOR" . 1057065) ("USE_LABEL_ORIENTATION" . 1057067) ("USE_TEXT_ALIGNMENTS" . 1057069) ("VERT_COLORS" . 1057073) ("XCOORD_CONV" . 1057075) ("YCOORD_CONV" . 1057081) ("ZCOORD_CONV" . 1077892))) |
| 1528 | ("GetCTM" fun "IDLgrPolyline" (system) "Result = Obj->[%s::]%s()" ("objects_gr134.html" ("DESTINATION" . 1013579) ("PATH" . 1013581) ("TOP" . 1013587))) | 1528 | ("GetCTM" fun "IDLgrPolyline" (system) "Result = Obj->[%s::]%s()" ("objects_gr134.html" ("DESTINATION" . 1013579) ("PATH" . 1013581) ("TOP" . 1013587))) |
| 1529 | ("Init" fun "IDLgrPolyline" (system) "Result = Obj->[%s::]%s([, X [, Y[, Z]]])" ("objects_gr136.html" ) ("objects_gr132.html" ("ALPHA_CHANNEL" . 1329463) ("CLIP_PLANES " . 1056996) ("COLOR" . 1057001) ("DATA" . 1057003) ("DEPTH_TEST_DISABLE" . 1095001) ("DEPTH_TEST_FUNCTION" . 1095681) ("DEPTH_WRITE_DISABLE" . 1095720) ("DOUBLE" . 1057005) ("HIDE" . 1057007) ("LABEL_NOGAPS" . 1057011) ("LABEL_OBJECTS" . 1057019) ("LABEL_OFFSETS " . 1057017) ("LABEL_POLYLINES" . 1057330) ("LABEL_USE_VERTEX_COLOR" . 1077987) ("LINESTYLE" . 1057029) ("PALETTE " . 1057044) ("POLYLINES" . 1057099) ("REGISTER_PROPERTIES" . 1057049) ("RESET_DATA" . 1093906) ("SHADING" . 1057051) ("SHARE_DATA " . 1057056) ("SYMBOL" . 1057058) ("THICK" . 1057063) ("USE_LABEL_COLOR" . 1057065) ("USE_LABEL_ORIENTATION" . 1057067) ("USE_TEXT_ALIGNMENTS" . 1057069) ("VERT_COLORS " . 1057073) ("XCOORD_CONV " . 1057075) ("YCOORD_CONV" . 1057081) ("ZCOORD_CONV" . 1077892))) | 1529 | ("Init" fun "IDLgrPolyline" (system) "Result = Obj->[%s::]%s([, X [, Y[, Z]]])" ("objects_gr136.html" ) ("objects_gr132.html" ("ALPHA_CHANNEL" . 1329463) ("CLIP_PLANES" . 1056996) ("COLOR" . 1057001) ("DATA" . 1057003) ("DEPTH_TEST_DISABLE" . 1095001) ("DEPTH_TEST_FUNCTION" . 1095681) ("DEPTH_WRITE_DISABLE" . 1095720) ("DOUBLE" . 1057005) ("HIDE" . 1057007) ("LABEL_NOGAPS" . 1057011) ("LABEL_OBJECTS" . 1057019) ("LABEL_OFFSETS" . 1057017) ("LABEL_POLYLINES" . 1057330) ("LABEL_USE_VERTEX_COLOR" . 1077987) ("LINESTYLE" . 1057029) ("PALETTE" . 1057044) ("POLYLINES" . 1057099) ("REGISTER_PROPERTIES" . 1057049) ("RESET_DATA" . 1093906) ("SHADING" . 1057051) ("SHARE_DATA" . 1057056) ("SYMBOL" . 1057058) ("THICK" . 1057063) ("USE_LABEL_COLOR" . 1057065) ("USE_LABEL_ORIENTATION" . 1057067) ("USE_TEXT_ALIGNMENTS" . 1057069) ("VERT_COLORS" . 1057073) ("XCOORD_CONV" . 1057075) ("YCOORD_CONV" . 1057081) ("ZCOORD_CONV" . 1077892))) |
| 1530 | ("Cleanup" pro "IDLgrPrinter" (system) "Obj->[%s::]%s" ("objects_gr140.html")) | 1530 | ("Cleanup" pro "IDLgrPrinter" (system) "Obj->[%s::]%s" ("objects_gr140.html")) |
| 1531 | ("Draw" pro "IDLgrPrinter" (system) "Obj->[%s::]%s [, Picture]" ("objects_gr141.html" ("VECT_SORTING" . 1340440) ("VECT_TEXT_RENDER_METHOD" . 1340452) ("VECTOR" . 1013979))) | 1531 | ("Draw" pro "IDLgrPrinter" (system) "Obj->[%s::]%s [, Picture]" ("objects_gr141.html" ("VECT_SORTING" . 1340440) ("VECT_TEXT_RENDER_METHOD" . 1340452) ("VECTOR" . 1013979))) |
| 1532 | ("GetProperty" pro "IDLgrPrinter" (system) "Obj->[%s::]%s" ("objects_gr144.html" ) ("objects_gr139.html" ("ALL " . 1057354) ("COLOR_MODEL" . 1057403) ("DIMENSIONS" . 1057476) ("GAMMA" . 1057474) ("GRAPHICS_TREE " . 1057413) ("LANDSCAPE" . 1057415) ("N_COLORS " . 1057418) ("N_COPIES" . 1057420) ("NAME " . 1344875) ("PALETTE" . 1057464) ("PRINT_QUALITY" . 1057428) ("QUALITY" . 1057435) ("RESOLUTION " . 1093938) ("UNITS" . 1057441))) | 1532 | ("GetProperty" pro "IDLgrPrinter" (system) "Obj->[%s::]%s" ("objects_gr144.html" ) ("objects_gr139.html" ("ALL" . 1057354) ("COLOR_MODEL" . 1057403) ("DIMENSIONS" . 1057476) ("GAMMA" . 1057474) ("GRAPHICS_TREE" . 1057413) ("LANDSCAPE" . 1057415) ("N_COLORS" . 1057418) ("N_COPIES" . 1057420) ("NAME" . 1344875) ("PALETTE" . 1057464) ("PRINT_QUALITY" . 1057428) ("QUALITY" . 1057435) ("RESOLUTION" . 1093938) ("UNITS" . 1057441))) |
| 1533 | ("NewDocument" pro "IDLgrPrinter" (system) "Obj->[%s::]%s" ("objects_gr147.html")) | 1533 | ("NewDocument" pro "IDLgrPrinter" (system) "Obj->[%s::]%s" ("objects_gr147.html")) |
| 1534 | ("NewPage" pro "IDLgrPrinter" (system) "Obj->[%s::]%s" ("objects_gr148.html")) | 1534 | ("NewPage" pro "IDLgrPrinter" (system) "Obj->[%s::]%s" ("objects_gr148.html")) |
| 1535 | ("SetProperty" pro "IDLgrPrinter" (system) "Obj->[%s::]%s" ("objects_gr149.html" ) ("objects_gr139.html" ("GAMMA" . 1057474) ("GRAPHICS_TREE " . 1057413) ("LANDSCAPE" . 1057415) ("N_COPIES" . 1057420) ("PALETTE" . 1057464) ("PRINT_QUALITY" . 1057428) ("QUALITY" . 1057435) ("UNITS" . 1057441))) | 1535 | ("SetProperty" pro "IDLgrPrinter" (system) "Obj->[%s::]%s" ("objects_gr149.html" ) ("objects_gr139.html" ("GAMMA" . 1057474) ("GRAPHICS_TREE" . 1057413) ("LANDSCAPE" . 1057415) ("N_COPIES" . 1057420) ("PALETTE" . 1057464) ("PRINT_QUALITY" . 1057428) ("QUALITY" . 1057435) ("UNITS" . 1057441))) |
| 1536 | ("GetContiguousPixels" fun "IDLgrPrinter" (system) "Result = Obj->[%s::]%s()" ("objects_gr142.html")) | 1536 | ("GetContiguousPixels" fun "IDLgrPrinter" (system) "Result = Obj->[%s::]%s()" ("objects_gr142.html")) |
| 1537 | ("GetFontnames" fun "IDLgrPrinter" (system) "Result = Obj->[%s::]%s( FamilyName)" ("objects_gr143.html" ("IDL_FONTS" . 1014147) ("STYLES" . 1014149))) | 1537 | ("GetFontnames" fun "IDLgrPrinter" (system) "Result = Obj->[%s::]%s( FamilyName)" ("objects_gr143.html" ("IDL_FONTS" . 1014147) ("STYLES" . 1014149))) |
| 1538 | ("GetTextDimensions" fun "IDLgrPrinter" (system) "Result = Obj->[%s::]%s( TextObj)" ("objects_gr145.html" ("DESCENT" . 1014231) ("PATH" . 1014233))) | 1538 | ("GetTextDimensions" fun "IDLgrPrinter" (system) "Result = Obj->[%s::]%s( TextObj)" ("objects_gr145.html" ("DESCENT" . 1014231) ("PATH" . 1014233))) |
| 1539 | ("Init" fun "IDLgrPrinter" (system) "Result = Obj->[%s::]%s()" ("objects_gr146.html" ) ("objects_gr139.html" ("COLOR_MODEL" . 1057403) ("GAMMA" . 1057474) ("GRAPHICS_TREE " . 1057413) ("LANDSCAPE" . 1057415) ("N_COLORS " . 1057418) ("N_COPIES" . 1057420) ("PALETTE" . 1057464) ("PRINT_QUALITY" . 1057428) ("QUALITY" . 1057435) ("REGISTER_PROPERTIES" . 1057456) ("UNITS" . 1057441))) | 1539 | ("Init" fun "IDLgrPrinter" (system) "Result = Obj->[%s::]%s()" ("objects_gr146.html" ) ("objects_gr139.html" ("COLOR_MODEL" . 1057403) ("GAMMA" . 1057474) ("GRAPHICS_TREE" . 1057413) ("LANDSCAPE" . 1057415) ("N_COLORS" . 1057418) ("N_COPIES" . 1057420) ("PALETTE" . 1057464) ("PRINT_QUALITY" . 1057428) ("QUALITY" . 1057435) ("REGISTER_PROPERTIES" . 1057456) ("UNITS" . 1057441))) |
| 1540 | ("Cleanup" pro "IDLgrROI" (system) "Obj->[%s::]%s" ("objects_gr152.html")) | 1540 | ("Cleanup" pro "IDLgrROI" (system) "Obj->[%s::]%s" ("objects_gr152.html")) |
| 1541 | ("GetProperty" pro "IDLgrROI" (system) "Obj->[%s::]%s" ("objects_gr153.html" ) ("objects_gr151.html" ("ALL" . 1057567) ("ALPHA_CHANNEL" . 1315614) ("CLIP_PLANES" . 1057587) ("COLOR " . 1057592) ("DEPTH_TEST_DISABLE" . 1095007) ("DEPTH_TEST_FUNCTION" . 1095803) ("DEPTH_WRITE_DISABLE" . 1095842) ("DOUBLE" . 1078228) ("HIDE" . 1078231) ("LINESTYLE " . 1057600) ("PALETTE " . 1057611) ("PARENT " . 1345141) ("STYLE" . 1093956) ("SYMBOL" . 1057621) ("THICK" . 1057626) ("XCOORD_CONV" . 1057630) ("XRANGE" . 1057656) ("YCOORD_CONV" . 1057636) ("YRANGE" . 1057668) ("ZCOORD_CONV" . 1057666) ("ZRANGE" . 1057574))) | 1541 | ("GetProperty" pro "IDLgrROI" (system) "Obj->[%s::]%s" ("objects_gr153.html" ) ("objects_gr151.html" ("ALL" . 1057567) ("ALPHA_CHANNEL" . 1315614) ("CLIP_PLANES" . 1057587) ("COLOR" . 1057592) ("DEPTH_TEST_DISABLE" . 1095007) ("DEPTH_TEST_FUNCTION" . 1095803) ("DEPTH_WRITE_DISABLE" . 1095842) ("DOUBLE" . 1078228) ("HIDE" . 1078231) ("LINESTYLE" . 1057600) ("PALETTE" . 1057611) ("PARENT" . 1345141) ("STYLE" . 1093956) ("SYMBOL" . 1057621) ("THICK" . 1057626) ("XCOORD_CONV" . 1057630) ("XRANGE" . 1057656) ("YCOORD_CONV" . 1057636) ("YRANGE" . 1057668) ("ZCOORD_CONV" . 1057666) ("ZRANGE" . 1057574))) |
| 1542 | ("SetProperty" pro "IDLgrROI" (system) "Obj->[%s::]%s" ("objects_gr156.html" ) ("objects_gr151.html" ("ALPHA_CHANNEL" . 1315614) ("CLIP_PLANES" . 1057587) ("COLOR " . 1057592) ("DEPTH_TEST_DISABLE" . 1095007) ("DEPTH_TEST_FUNCTION" . 1095803) ("DEPTH_WRITE_DISABLE" . 1095842) ("DOUBLE" . 1078228) ("HIDE" . 1078231) ("LINESTYLE " . 1057600) ("PALETTE " . 1057611) ("STYLE" . 1093956) ("SYMBOL" . 1057621) ("THICK" . 1057626) ("XCOORD_CONV" . 1057630) ("YCOORD_CONV" . 1057636) ("ZCOORD_CONV" . 1057666))) | 1542 | ("SetProperty" pro "IDLgrROI" (system) "Obj->[%s::]%s" ("objects_gr156.html" ) ("objects_gr151.html" ("ALPHA_CHANNEL" . 1315614) ("CLIP_PLANES" . 1057587) ("COLOR" . 1057592) ("DEPTH_TEST_DISABLE" . 1095007) ("DEPTH_TEST_FUNCTION" . 1095803) ("DEPTH_WRITE_DISABLE" . 1095842) ("DOUBLE" . 1078228) ("HIDE" . 1078231) ("LINESTYLE" . 1057600) ("PALETTE" . 1057611) ("STYLE" . 1093956) ("SYMBOL" . 1057621) ("THICK" . 1057626) ("XCOORD_CONV" . 1057630) ("YCOORD_CONV" . 1057636) ("ZCOORD_CONV" . 1057666))) |
| 1543 | ("Init" fun "IDLgrROI" (system) "Result = Obj->[%s::]%s([, X[, Y[, Z]]])" ("objects_gr154.html" ) ("objects_gr151.html" ("ALPHA_CHANNEL" . 1315614) ("CLIP_PLANES" . 1057587) ("COLOR " . 1057592) ("DEPTH_TEST_DISABLE" . 1095007) ("DEPTH_TEST_FUNCTION" . 1095803) ("DEPTH_WRITE_DISABLE" . 1095842) ("DOUBLE" . 1078228) ("HIDE" . 1078231) ("LINESTYLE " . 1057600) ("PALETTE " . 1057611) ("REGISTER_PROPERTIES" . 1057616) ("STYLE" . 1093956) ("SYMBOL" . 1057621) ("THICK" . 1057626) ("XCOORD_CONV" . 1057630) ("YCOORD_CONV" . 1057636) ("ZCOORD_CONV" . 1057666))) | 1543 | ("Init" fun "IDLgrROI" (system) "Result = Obj->[%s::]%s([, X[, Y[, Z]]])" ("objects_gr154.html" ) ("objects_gr151.html" ("ALPHA_CHANNEL" . 1315614) ("CLIP_PLANES" . 1057587) ("COLOR" . 1057592) ("DEPTH_TEST_DISABLE" . 1095007) ("DEPTH_TEST_FUNCTION" . 1095803) ("DEPTH_WRITE_DISABLE" . 1095842) ("DOUBLE" . 1078228) ("HIDE" . 1078231) ("LINESTYLE" . 1057600) ("PALETTE" . 1057611) ("REGISTER_PROPERTIES" . 1057616) ("STYLE" . 1093956) ("SYMBOL" . 1057621) ("THICK" . 1057626) ("XCOORD_CONV" . 1057630) ("YCOORD_CONV" . 1057636) ("ZCOORD_CONV" . 1057666))) |
| 1544 | ("PickVertex" fun "IDLgrROI" (system) "Result = Obj->[%s::]%s( Dest, View, Point)" ("objects_gr155.html" ("PATH" . 1014753))) | 1544 | ("PickVertex" fun "IDLgrROI" (system) "Result = Obj->[%s::]%s( Dest, View, Point)" ("objects_gr155.html" ("PATH" . 1014753))) |
| 1545 | ("Add" pro "IDLgrROIGroup" (system) "Obj->[%s::]%s, ROI" ("objects_gr159.html")) | 1545 | ("Add" pro "IDLgrROIGroup" (system) "Obj->[%s::]%s, ROI" ("objects_gr159.html")) |
| 1546 | ("Cleanup" pro "IDLgrROIGroup" (system) "Obj->[%s::]%s" ("objects_gr160.html")) | 1546 | ("Cleanup" pro "IDLgrROIGroup" (system) "Obj->[%s::]%s" ("objects_gr160.html")) |
| 1547 | ("GetProperty" pro "IDLgrROIGroup" (system) "Obj->[%s::]%s" ("objects_gr161.html" ) ("objects_gr158.html" ("ALL" . 1057772) ("CLIP_PLANES" . 1057798) ("COLOR " . 1057803) ("DEPTH_TEST_DISABLE" . 1095013) ("DEPTH_TEST_FUNCTION" . 1095918) ("DEPTH_WRITE_DISABLE" . 1095957) ("HIDE" . 1057805) ("PARENT " . 1057863) ("XCOORD_CONV" . 1057861) ("XRANGE " . 1057853) ("YCOORD_CONV" . 1057851) ("YRANGE" . 1080305) ("ZCOORD_CONV" . 1057839) ("ZRANGE" . 1057781))) | 1547 | ("GetProperty" pro "IDLgrROIGroup" (system) "Obj->[%s::]%s" ("objects_gr161.html" ) ("objects_gr158.html" ("ALL" . 1057772) ("CLIP_PLANES" . 1057798) ("COLOR" . 1057803) ("DEPTH_TEST_DISABLE" . 1095013) ("DEPTH_TEST_FUNCTION" . 1095918) ("DEPTH_WRITE_DISABLE" . 1095957) ("HIDE" . 1057805) ("PARENT" . 1057863) ("XCOORD_CONV" . 1057861) ("XRANGE" . 1057853) ("YCOORD_CONV" . 1057851) ("YRANGE" . 1080305) ("ZCOORD_CONV" . 1057839) ("ZRANGE" . 1057781))) |
| 1548 | ("SetProperty" pro "IDLgrROIGroup" (system) "Obj->[%s::]%s" ("objects_gr164.html" ) ("objects_gr158.html" ("CLIP_PLANES" . 1057798) ("COLOR " . 1057803) ("DEPTH_TEST_DISABLE" . 1095013) ("DEPTH_TEST_FUNCTION" . 1095918) ("DEPTH_WRITE_DISABLE" . 1095957) ("HIDE" . 1057805) ("XCOORD_CONV" . 1057861) ("YCOORD_CONV" . 1057851) ("ZCOORD_CONV" . 1057839))) | 1548 | ("SetProperty" pro "IDLgrROIGroup" (system) "Obj->[%s::]%s" ("objects_gr164.html" ) ("objects_gr158.html" ("CLIP_PLANES" . 1057798) ("COLOR" . 1057803) ("DEPTH_TEST_DISABLE" . 1095013) ("DEPTH_TEST_FUNCTION" . 1095918) ("DEPTH_WRITE_DISABLE" . 1095957) ("HIDE" . 1057805) ("XCOORD_CONV" . 1057861) ("YCOORD_CONV" . 1057851) ("ZCOORD_CONV" . 1057839))) |
| 1549 | ("Init" fun "IDLgrROIGroup" (system) "Result = Obj->[%s::]%s()" ("objects_gr162.html" ) ("objects_gr158.html" ("CLIP_PLANES" . 1057798) ("COLOR " . 1057803) ("DEPTH_TEST_DISABLE" . 1095013) ("DEPTH_TEST_FUNCTION" . 1095918) ("DEPTH_WRITE_DISABLE" . 1095957) ("HIDE" . 1057805) ("XCOORD_CONV" . 1057861) ("YCOORD_CONV" . 1057851) ("ZCOORD_CONV" . 1057839))) | 1549 | ("Init" fun "IDLgrROIGroup" (system) "Result = Obj->[%s::]%s()" ("objects_gr162.html" ) ("objects_gr158.html" ("CLIP_PLANES" . 1057798) ("COLOR" . 1057803) ("DEPTH_TEST_DISABLE" . 1095013) ("DEPTH_TEST_FUNCTION" . 1095918) ("DEPTH_WRITE_DISABLE" . 1095957) ("HIDE" . 1057805) ("XCOORD_CONV" . 1057861) ("YCOORD_CONV" . 1057851) ("ZCOORD_CONV" . 1057839))) |
| 1550 | ("PickRegion" fun "IDLgrROIGroup" (system) "Result = Obj->[%s::]%s( Dest, View, Point)" ("objects_gr163.html" ("PATH" . 1015096))) | 1550 | ("PickRegion" fun "IDLgrROIGroup" (system) "Result = Obj->[%s::]%s( Dest, View, Point)" ("objects_gr163.html" ("PATH" . 1015096))) |
| 1551 | ("Add" pro "IDLgrScene" (system) "Obj->[%s::]%s, View" ("objects_gr167.html" ("POSITION" . 1015243))) | 1551 | ("Add" pro "IDLgrScene" (system) "Obj->[%s::]%s, View" ("objects_gr167.html" ("POSITION" . 1015243))) |
| 1552 | ("Cleanup" pro "IDLgrScene" (system) "Obj->[%s::]%s" ("objects_gr168.html")) | 1552 | ("Cleanup" pro "IDLgrScene" (system) "Obj->[%s::]%s" ("objects_gr168.html")) |
| @@ -1555,10 +1555,10 @@ | |||
| 1555 | ("GetByName" fun "IDLgrScene" (system) "Result = Obj->[%s::]%s(Name)" ("objects_gr169.html")) | 1555 | ("GetByName" fun "IDLgrScene" (system) "Result = Obj->[%s::]%s(Name)" ("objects_gr169.html")) |
| 1556 | ("Init" fun "IDLgrScene" (system) "Result = Obj->[%s::]%s()" ("objects_gr171.html" ) ("objects_gr166.html" ("COLOR" . 1080480) ("HIDE" . 1057961) ("REGISTER_PROPERTIES" . 1057969))) | 1556 | ("Init" fun "IDLgrScene" (system) "Result = Obj->[%s::]%s()" ("objects_gr171.html" ) ("objects_gr166.html" ("COLOR" . 1080480) ("HIDE" . 1057961) ("REGISTER_PROPERTIES" . 1057969))) |
| 1557 | ("Cleanup" pro "IDLgrSurface" (system) "Obj->[%s::]%s" ("objects_gr175.html")) | 1557 | ("Cleanup" pro "IDLgrSurface" (system) "Obj->[%s::]%s" ("objects_gr175.html")) |
| 1558 | ("GetProperty" pro "IDLgrSurface" (system) "Obj->[%s::]%s" ("objects_gr177.html" ) ("objects_gr174.html" ("ALL" . 1058014) ("ALPHA_CHANNEL" . 1314657) ("AMBIENT" . 1310692) ("BOTTOM" . 1058035) ("CLIP_PLANES" . 1058037) ("COLOR" . 1058042) ("DATA" . 1339889) ("DEPTH_OFFSET " . 1058050) ("DEPTH_TEST_DISABLE" . 1095019) ("DEPTH_TEST_FUNCTION" . 1096040) ("DEPTH_WRITE_DISABLE" . 1096079) ("DIFFUSE" . 1310743) ("DOUBLE" . 1058056) ("EMISSION" . 1310780) ("EXTENDED_LEGO" . 1058059) ("HIDDEN_LINES" . 1058061) ("HIDE" . 1058063) ("LINESTYLE " . 1058067) ("MAX_VALUE " . 1058080) ("MIN_VALUE" . 1058082) ("PALETTE " . 1058086) ("PARENT " . 1058283) ("SHADE_RANGE" . 1058090) ("SHADING" . 1058092) ("SHININESS" . 1310817) ("SHOW_SKIRT" . 1058099) ("SKIRT" . 1058101) ("SPECULAR" . 1310884) ("STYLE" . 1058103) ("TEXTURE_COORD" . 1604848) ("TEXTURE_HIGHRES" . 1058120) ("TEXTURE_INTERP" . 1058123) ("TEXTURE_MAP" . 1058125) ("THICK " . 1058136) ("USE_TRIANGLES" . 1058140) ("VERT_COLORS" . 1058142) ("XCOORD_CONV" . 1058145) ("XRANGE " . 1058297) ("YCOORD_CONV" . 1058295) ("YRANGE" . 1058309) ("ZCOORD_CONV" . 1058307) ("ZERO_OPACITY_SKIP" . 1058163) ("ZRANGE" . 1082521))) | 1558 | ("GetProperty" pro "IDLgrSurface" (system) "Obj->[%s::]%s" ("objects_gr177.html" ) ("objects_gr174.html" ("ALL" . 1058014) ("ALPHA_CHANNEL" . 1314657) ("AMBIENT" . 1310692) ("BOTTOM" . 1058035) ("CLIP_PLANES" . 1058037) ("COLOR" . 1058042) ("DATA" . 1339889) ("DEPTH_OFFSET" . 1058050) ("DEPTH_TEST_DISABLE" . 1095019) ("DEPTH_TEST_FUNCTION" . 1096040) ("DEPTH_WRITE_DISABLE" . 1096079) ("DIFFUSE" . 1310743) ("DOUBLE" . 1058056) ("EMISSION" . 1310780) ("EXTENDED_LEGO" . 1058059) ("HIDDEN_LINES" . 1058061) ("HIDE" . 1058063) ("LINESTYLE" . 1058067) ("MAX_VALUE" . 1058080) ("MIN_VALUE" . 1058082) ("PALETTE" . 1058086) ("PARENT" . 1058283) ("SHADE_RANGE" . 1058090) ("SHADING" . 1058092) ("SHININESS" . 1310817) ("SHOW_SKIRT" . 1058099) ("SKIRT" . 1058101) ("SPECULAR" . 1310884) ("STYLE" . 1058103) ("TEXTURE_COORD" . 1604848) ("TEXTURE_HIGHRES" . 1058120) ("TEXTURE_INTERP" . 1058123) ("TEXTURE_MAP" . 1058125) ("THICK" . 1058136) ("USE_TRIANGLES" . 1058140) ("VERT_COLORS" . 1058142) ("XCOORD_CONV" . 1058145) ("XRANGE" . 1058297) ("YCOORD_CONV" . 1058295) ("YRANGE" . 1058309) ("ZCOORD_CONV" . 1058307) ("ZERO_OPACITY_SKIP" . 1058163) ("ZRANGE" . 1082521))) |
| 1559 | ("SetProperty" pro "IDLgrSurface" (system) "Obj->[%s::]%s" ("objects_gr179.html" ) ("objects_gr174.html" ("ALPHA_CHANNEL" . 1314657) ("AMBIENT" . 1310692) ("BOTTOM" . 1058035) ("CLIP_PLANES" . 1058037) ("COLOR" . 1058042) ("DATAX" . 1339826) ("DATAY" . 1058046) ("DATAZ" . 1058048) ("DEPTH_OFFSET " . 1058050) ("DEPTH_TEST_DISABLE" . 1095019) ("DEPTH_TEST_FUNCTION" . 1096040) ("DEPTH_WRITE_DISABLE" . 1096079) ("DIFFUSE" . 1310743) ("DOUBLE" . 1058056) ("EMISSION" . 1310780) ("EXTENDED_LEGO" . 1058059) ("HIDDEN_LINES" . 1058061) ("HIDE" . 1058063) ("LINESTYLE " . 1058067) ("MAX_VALUE " . 1058080) ("MIN_VALUE" . 1058082) ("PALETTE " . 1058086) ("RESET_DATA" . 1094044) ("SHADE_RANGE" . 1058090) ("SHADING" . 1058092) ("SHARE_DATA" . 1082385) ("SHININESS" . 1310817) ("SHOW_SKIRT" . 1058099) ("SKIRT" . 1058101) ("SPECULAR" . 1310884) ("STYLE" . 1058103) ("TEXTURE_COORD" . 1604848) ("TEXTURE_HIGHRES" . 1058120) ("TEXTURE_INTERP" . 1058123) ("TEXTURE_MAP" . 1058125) ("THICK " . 1058136) ("USE_TRIANGLES" . 1058140) ("VERT_COLORS" . 1058142) ("XCOORD_CONV" . 1058145) ("YCOORD_CONV" . 1058295) ("ZCOORD_CONV" . 1058307) ("ZERO_OPACITY_SKIP" . 1058163))) | 1559 | ("SetProperty" pro "IDLgrSurface" (system) "Obj->[%s::]%s" ("objects_gr179.html" ) ("objects_gr174.html" ("ALPHA_CHANNEL" . 1314657) ("AMBIENT" . 1310692) ("BOTTOM" . 1058035) ("CLIP_PLANES" . 1058037) ("COLOR" . 1058042) ("DATAX" . 1339826) ("DATAY" . 1058046) ("DATAZ" . 1058048) ("DEPTH_OFFSET" . 1058050) ("DEPTH_TEST_DISABLE" . 1095019) ("DEPTH_TEST_FUNCTION" . 1096040) ("DEPTH_WRITE_DISABLE" . 1096079) ("DIFFUSE" . 1310743) ("DOUBLE" . 1058056) ("EMISSION" . 1310780) ("EXTENDED_LEGO" . 1058059) ("HIDDEN_LINES" . 1058061) ("HIDE" . 1058063) ("LINESTYLE" . 1058067) ("MAX_VALUE" . 1058080) ("MIN_VALUE" . 1058082) ("PALETTE" . 1058086) ("RESET_DATA" . 1094044) ("SHADE_RANGE" . 1058090) ("SHADING" . 1058092) ("SHARE_DATA" . 1082385) ("SHININESS" . 1310817) ("SHOW_SKIRT" . 1058099) ("SKIRT" . 1058101) ("SPECULAR" . 1310884) ("STYLE" . 1058103) ("TEXTURE_COORD" . 1604848) ("TEXTURE_HIGHRES" . 1058120) ("TEXTURE_INTERP" . 1058123) ("TEXTURE_MAP" . 1058125) ("THICK" . 1058136) ("USE_TRIANGLES" . 1058140) ("VERT_COLORS" . 1058142) ("XCOORD_CONV" . 1058145) ("YCOORD_CONV" . 1058295) ("ZCOORD_CONV" . 1058307) ("ZERO_OPACITY_SKIP" . 1058163))) |
| 1560 | ("GetCTM" fun "IDLgrSurface" (system) "Result = Obj->[%s::]%s()" ("objects_gr176.html" ("DESTINATION" . 1015591) ("PATH" . 1015593) ("TOP" . 1015599))) | 1560 | ("GetCTM" fun "IDLgrSurface" (system) "Result = Obj->[%s::]%s()" ("objects_gr176.html" ("DESTINATION" . 1015591) ("PATH" . 1015593) ("TOP" . 1015599))) |
| 1561 | ("Init" fun "IDLgrSurface" (system) "Result = Obj->[%s::]%s([, Z [, X, Y]])" ("objects_gr178.html" ) ("objects_gr174.html" ("ALPHA_CHANNEL" . 1314657) ("AMBIENT" . 1310692) ("BOTTOM" . 1058035) ("CLIP_PLANES" . 1058037) ("COLOR" . 1058042) ("DATAX" . 1339826) ("DATAY" . 1058046) ("DATAZ" . 1058048) ("DEPTH_OFFSET " . 1058050) ("DEPTH_TEST_DISABLE" . 1095019) ("DEPTH_TEST_FUNCTION" . 1096040) ("DEPTH_WRITE_DISABLE" . 1096079) ("DIFFUSE" . 1310743) ("DOUBLE" . 1058056) ("EMISSION" . 1310780) ("EXTENDED_LEGO" . 1058059) ("HIDDEN_LINES" . 1058061) ("HIDE" . 1058063) ("LINESTYLE " . 1058067) ("MAX_VALUE " . 1058080) ("MIN_VALUE" . 1058082) ("PALETTE " . 1058086) ("REGISTER_PROPERTIES" . 1094041) ("RESET_DATA" . 1094044) ("SHADE_RANGE" . 1058090) ("SHADING" . 1058092) ("SHARE_DATA" . 1082385) ("SHININESS" . 1310817) ("SHOW_SKIRT" . 1058099) ("SKIRT" . 1058101) ("SPECULAR" . 1310884) ("STYLE" . 1058103) ("TEXTURE_COORD" . 1604848) ("TEXTURE_HIGHRES" . 1058120) ("TEXTURE_INTERP" . 1058123) ("TEXTURE_MAP" . 1058125) ("THICK " . 1058136) ("USE_TRIANGLES" . 1058140) ("VERT_COLORS" . 1058142) ("XCOORD_CONV" . 1058145) ("YCOORD_CONV" . 1058295) ("ZCOORD_CONV" . 1058307) ("ZERO_OPACITY_SKIP" . 1058163))) | 1561 | ("Init" fun "IDLgrSurface" (system) "Result = Obj->[%s::]%s([, Z [, X, Y]])" ("objects_gr178.html" ) ("objects_gr174.html" ("ALPHA_CHANNEL" . 1314657) ("AMBIENT" . 1310692) ("BOTTOM" . 1058035) ("CLIP_PLANES" . 1058037) ("COLOR" . 1058042) ("DATAX" . 1339826) ("DATAY" . 1058046) ("DATAZ" . 1058048) ("DEPTH_OFFSET" . 1058050) ("DEPTH_TEST_DISABLE" . 1095019) ("DEPTH_TEST_FUNCTION" . 1096040) ("DEPTH_WRITE_DISABLE" . 1096079) ("DIFFUSE" . 1310743) ("DOUBLE" . 1058056) ("EMISSION" . 1310780) ("EXTENDED_LEGO" . 1058059) ("HIDDEN_LINES" . 1058061) ("HIDE" . 1058063) ("LINESTYLE" . 1058067) ("MAX_VALUE" . 1058080) ("MIN_VALUE" . 1058082) ("PALETTE" . 1058086) ("REGISTER_PROPERTIES" . 1094041) ("RESET_DATA" . 1094044) ("SHADE_RANGE" . 1058090) ("SHADING" . 1058092) ("SHARE_DATA" . 1082385) ("SHININESS" . 1310817) ("SHOW_SKIRT" . 1058099) ("SKIRT" . 1058101) ("SPECULAR" . 1310884) ("STYLE" . 1058103) ("TEXTURE_COORD" . 1604848) ("TEXTURE_HIGHRES" . 1058120) ("TEXTURE_INTERP" . 1058123) ("TEXTURE_MAP" . 1058125) ("THICK" . 1058136) ("USE_TRIANGLES" . 1058140) ("VERT_COLORS" . 1058142) ("XCOORD_CONV" . 1058145) ("YCOORD_CONV" . 1058295) ("ZCOORD_CONV" . 1058307) ("ZERO_OPACITY_SKIP" . 1058163))) |
| 1562 | ("Cleanup" pro "IDLgrSymbol" (system) "Obj->[%s::]%s" ("objects_gr182.html")) | 1562 | ("Cleanup" pro "IDLgrSymbol" (system) "Obj->[%s::]%s" ("objects_gr182.html")) |
| 1563 | ("GetProperty" pro "IDLgrSymbol" (system) "Obj->[%s::]%s" ("objects_gr183.html" ) ("objects_gr181.html" ("ALL" . 1058799) ("ALPHA_CHANNEL" . 1315142) ("COLOR" . 1058811) ("DATA" . 1058813) ("SIZE" . 1058817) ("THICK" . 1058823))) | 1563 | ("GetProperty" pro "IDLgrSymbol" (system) "Obj->[%s::]%s" ("objects_gr183.html" ) ("objects_gr181.html" ("ALL" . 1058799) ("ALPHA_CHANNEL" . 1315142) ("COLOR" . 1058811) ("DATA" . 1058813) ("SIZE" . 1058817) ("THICK" . 1058823))) |
| 1564 | ("SetProperty" pro "IDLgrSymbol" (system) "Obj->[%s::]%s" ("objects_gr185.html" ) ("objects_gr181.html" ("ALPHA_CHANNEL" . 1315142) ("COLOR" . 1058811) ("DATA" . 1058813) ("SIZE" . 1058817) ("THICK" . 1058823))) | 1564 | ("SetProperty" pro "IDLgrSymbol" (system) "Obj->[%s::]%s" ("objects_gr185.html" ) ("objects_gr181.html" ("ALPHA_CHANNEL" . 1315142) ("COLOR" . 1058811) ("DATA" . 1058813) ("SIZE" . 1058817) ("THICK" . 1058823))) |
| @@ -1569,16 +1569,16 @@ | |||
| 1569 | ("Init" fun "IDLgrTessellator" (system) "Result = Obj->[%s::]%s()" ("objects_gr190.html" )) | 1569 | ("Init" fun "IDLgrTessellator" (system) "Result = Obj->[%s::]%s()" ("objects_gr190.html" )) |
| 1570 | ("Tessellate" fun "IDLgrTessellator" (system) "Result = Obj->[%s::]%s( Vertices, Poly)" ("objects_gr192.html" ("AUXDATA" . 1016374) ("QUIET" . 1016376))) | 1570 | ("Tessellate" fun "IDLgrTessellator" (system) "Result = Obj->[%s::]%s( Vertices, Poly)" ("objects_gr192.html" ("AUXDATA" . 1016374) ("QUIET" . 1016376))) |
| 1571 | ("Cleanup" pro "IDLgrText" (system) "Obj->[%s::]%s" ("objects_gr195.html")) | 1571 | ("Cleanup" pro "IDLgrText" (system) "Obj->[%s::]%s" ("objects_gr195.html")) |
| 1572 | ("GetProperty" pro "IDLgrText" (system) "Obj->[%s::]%s" ("objects_gr197.html" ) ("objects_gr194.html" ("ALIGNMENT" . 1058986) ("ALL" . 1058984) ("ALPHA_CHANNEL" . 1096721) ("BASELINE" . 1096723) ("CHAR_DIMENSIONS" . 1058905) ("CLIP_PLANES " . 1058910) ("COLOR " . 1058915) ("DEPTH_TEST_DISABLE" . 1095025) ("DEPTH_TEST_FUNCTION" . 1096162) ("DEPTH_WRITE_DISABLE" . 1096201) ("ENABLE_FORMATTING" . 1058917) ("FILL_BACKGROUND" . 1058922) ("FILL_COLOR" . 1090549) ("FONT" . 1090557) ("HIDE" . 1058929) ("KERNING" . 1058933) ("LOCATIONS" . 1090561) ("ONGLASS" . 1058937) ("PALETTE" . 1058939) ("PARENT" . 1058996) ("RECOMPUTE_DIMENSIONS " . 1058994) ("RENDER_METHOD" . 1096891) ("STRINGS " . 1096894) ("UPDIR " . 1058950) ("VERTICAL_ALIGNMENT" . 1058954) ("XCOORD_CONV" . 1058956) ("XRANGE" . 1059010) ("YCOORD_CONV" . 1059008) ("YRANGE" . 1059022) ("ZCOORD_CONV" . 1058968) ("ZRANGE" . 1058890))) | 1572 | ("GetProperty" pro "IDLgrText" (system) "Obj->[%s::]%s" ("objects_gr197.html" ) ("objects_gr194.html" ("ALIGNMENT" . 1058986) ("ALL" . 1058984) ("ALPHA_CHANNEL" . 1096721) ("BASELINE" . 1096723) ("CHAR_DIMENSIONS" . 1058905) ("CLIP_PLANES" . 1058910) ("COLOR" . 1058915) ("DEPTH_TEST_DISABLE" . 1095025) ("DEPTH_TEST_FUNCTION" . 1096162) ("DEPTH_WRITE_DISABLE" . 1096201) ("ENABLE_FORMATTING" . 1058917) ("FILL_BACKGROUND" . 1058922) ("FILL_COLOR" . 1090549) ("FONT" . 1090557) ("HIDE" . 1058929) ("KERNING" . 1058933) ("LOCATIONS" . 1090561) ("ONGLASS" . 1058937) ("PALETTE" . 1058939) ("PARENT" . 1058996) ("RECOMPUTE_DIMENSIONS" . 1058994) ("RENDER_METHOD" . 1096891) ("STRINGS" . 1096894) ("UPDIR" . 1058950) ("VERTICAL_ALIGNMENT" . 1058954) ("XCOORD_CONV" . 1058956) ("XRANGE" . 1059010) ("YCOORD_CONV" . 1059008) ("YRANGE" . 1059022) ("ZCOORD_CONV" . 1058968) ("ZRANGE" . 1058890))) |
| 1573 | ("SetProperty" pro "IDLgrText" (system) "Obj->[%s::]%s" ("objects_gr199.html" ) ("objects_gr194.html" ("ALIGNMENT" . 1058986) ("ALPHA_CHANNEL" . 1096721) ("BASELINE" . 1096723) ("CHAR_DIMENSIONS" . 1058905) ("CLIP_PLANES " . 1058910) ("COLOR " . 1058915) ("DEPTH_TEST_DISABLE" . 1095025) ("DEPTH_TEST_FUNCTION" . 1096162) ("DEPTH_WRITE_DISABLE" . 1096201) ("ENABLE_FORMATTING" . 1058917) ("FILL_BACKGROUND" . 1058922) ("FILL_COLOR" . 1090549) ("FONT" . 1090557) ("HIDE" . 1058929) ("KERNING" . 1058933) ("LOCATIONS" . 1090561) ("ONGLASS" . 1058937) ("PALETTE" . 1058939) ("RECOMPUTE_DIMENSIONS " . 1058994) ("RENDER_METHOD" . 1096891) ("STRINGS " . 1096894) ("UPDIR " . 1058950) ("VERTICAL_ALIGNMENT" . 1058954) ("XCOORD_CONV" . 1058956) ("YCOORD_CONV" . 1059008) ("ZCOORD_CONV" . 1058968))) | 1573 | ("SetProperty" pro "IDLgrText" (system) "Obj->[%s::]%s" ("objects_gr199.html" ) ("objects_gr194.html" ("ALIGNMENT" . 1058986) ("ALPHA_CHANNEL" . 1096721) ("BASELINE" . 1096723) ("CHAR_DIMENSIONS" . 1058905) ("CLIP_PLANES" . 1058910) ("COLOR" . 1058915) ("DEPTH_TEST_DISABLE" . 1095025) ("DEPTH_TEST_FUNCTION" . 1096162) ("DEPTH_WRITE_DISABLE" . 1096201) ("ENABLE_FORMATTING" . 1058917) ("FILL_BACKGROUND" . 1058922) ("FILL_COLOR" . 1090549) ("FONT" . 1090557) ("HIDE" . 1058929) ("KERNING" . 1058933) ("LOCATIONS" . 1090561) ("ONGLASS" . 1058937) ("PALETTE" . 1058939) ("RECOMPUTE_DIMENSIONS" . 1058994) ("RENDER_METHOD" . 1096891) ("STRINGS" . 1096894) ("UPDIR" . 1058950) ("VERTICAL_ALIGNMENT" . 1058954) ("XCOORD_CONV" . 1058956) ("YCOORD_CONV" . 1059008) ("ZCOORD_CONV" . 1058968))) |
| 1574 | ("GetCTM" fun "IDLgrText" (system) "Result = Obj->[%s::]%s()" ("objects_gr196.html" ("DESTINATION" . 1016508) ("PATH" . 1016510) ("TOP" . 1016516))) | 1574 | ("GetCTM" fun "IDLgrText" (system) "Result = Obj->[%s::]%s()" ("objects_gr196.html" ("DESTINATION" . 1016508) ("PATH" . 1016510) ("TOP" . 1016516))) |
| 1575 | ("Init" fun "IDLgrText" (system) "Result = Obj->[%s::]%s([, String or vector of strings])" ("objects_gr198.html" ) ("objects_gr194.html" ("ALIGNMENT" . 1058986) ("ALPHA_CHANNEL" . 1096721) ("BASELINE" . 1096723) ("CHAR_DIMENSIONS" . 1058905) ("CLIP_PLANES " . 1058910) ("COLOR " . 1058915) ("DEPTH_TEST_DISABLE" . 1095025) ("DEPTH_TEST_FUNCTION" . 1096162) ("DEPTH_WRITE_DISABLE" . 1096201) ("ENABLE_FORMATTING" . 1058917) ("FILL_BACKGROUND" . 1058922) ("FILL_COLOR" . 1090549) ("FONT" . 1090557) ("HIDE" . 1058929) ("KERNING" . 1058933) ("LOCATIONS" . 1090561) ("ONGLASS" . 1058937) ("PALETTE" . 1058939) ("RECOMPUTE_DIMENSIONS " . 1058994) ("REGISTER_PROPERTIES" . 1058946) ("RENDER_METHOD" . 1096891) ("STRINGS " . 1096894) ("UPDIR " . 1058950) ("VERTICAL_ALIGNMENT" . 1058954) ("XCOORD_CONV" . 1058956) ("YCOORD_CONV" . 1059008) ("ZCOORD_CONV" . 1058968))) | 1575 | ("Init" fun "IDLgrText" (system) "Result = Obj->[%s::]%s([, String or vector of strings])" ("objects_gr198.html" ) ("objects_gr194.html" ("ALIGNMENT" . 1058986) ("ALPHA_CHANNEL" . 1096721) ("BASELINE" . 1096723) ("CHAR_DIMENSIONS" . 1058905) ("CLIP_PLANES" . 1058910) ("COLOR" . 1058915) ("DEPTH_TEST_DISABLE" . 1095025) ("DEPTH_TEST_FUNCTION" . 1096162) ("DEPTH_WRITE_DISABLE" . 1096201) ("ENABLE_FORMATTING" . 1058917) ("FILL_BACKGROUND" . 1058922) ("FILL_COLOR" . 1090549) ("FONT" . 1090557) ("HIDE" . 1058929) ("KERNING" . 1058933) ("LOCATIONS" . 1090561) ("ONGLASS" . 1058937) ("PALETTE" . 1058939) ("RECOMPUTE_DIMENSIONS" . 1058994) ("REGISTER_PROPERTIES" . 1058946) ("RENDER_METHOD" . 1096891) ("STRINGS" . 1096894) ("UPDIR" . 1058950) ("VERTICAL_ALIGNMENT" . 1058954) ("XCOORD_CONV" . 1058956) ("YCOORD_CONV" . 1059008) ("ZCOORD_CONV" . 1058968))) |
| 1576 | ("Add" pro "IDLgrView" (system) "Obj->[%s::]%s, Model" ("objects_gr202.html" ("POSITION" . 1016823))) | 1576 | ("Add" pro "IDLgrView" (system) "Obj->[%s::]%s, Model" ("objects_gr202.html" ("POSITION" . 1016823))) |
| 1577 | ("Cleanup" pro "IDLgrView" (system) "Obj->[%s::]%s" ("objects_gr203.html")) | 1577 | ("Cleanup" pro "IDLgrView" (system) "Obj->[%s::]%s" ("objects_gr203.html")) |
| 1578 | ("GetProperty" pro "IDLgrView" (system) "Obj->[%s::]%s" ("objects_gr205.html" ) ("objects_gr201.html" ("ALL " . 1059162) ("COLOR" . 1059182) ("DEPTH_CUE" . 1059184) ("DIMENSIONS" . 1059192) ("DOUBLE" . 1059194) ("EYE" . 1059197) ("HIDE" . 1059199) ("LOCATION" . 1090641) ("PARENT " . 1092817) ("PROJECTION" . 1059231) ("TRANSPARENT" . 1094108) ("UNITS " . 1059207) ("VIEWPLANE_RECT " . 1059216) ("ZCLIP " . 1059219))) | 1578 | ("GetProperty" pro "IDLgrView" (system) "Obj->[%s::]%s" ("objects_gr205.html" ) ("objects_gr201.html" ("ALL" . 1059162) ("COLOR" . 1059182) ("DEPTH_CUE" . 1059184) ("DIMENSIONS" . 1059192) ("DOUBLE" . 1059194) ("EYE" . 1059197) ("HIDE" . 1059199) ("LOCATION" . 1090641) ("PARENT" . 1092817) ("PROJECTION" . 1059231) ("TRANSPARENT" . 1094108) ("UNITS" . 1059207) ("VIEWPLANE_RECT" . 1059216) ("ZCLIP" . 1059219))) |
| 1579 | ("SetProperty" pro "IDLgrView" (system) "Obj->[%s::]%s" ("objects_gr207.html" ) ("objects_gr201.html" ("COLOR" . 1059182) ("DEPTH_CUE" . 1059184) ("DIMENSIONS" . 1059192) ("DOUBLE" . 1059194) ("EYE" . 1059197) ("HIDE" . 1059199) ("LOCATION" . 1090641) ("PROJECTION" . 1059231) ("TRANSPARENT" . 1094108) ("UNITS " . 1059207) ("VIEWPLANE_RECT " . 1059216) ("ZCLIP " . 1059219))) | 1579 | ("SetProperty" pro "IDLgrView" (system) "Obj->[%s::]%s" ("objects_gr207.html" ) ("objects_gr201.html" ("COLOR" . 1059182) ("DEPTH_CUE" . 1059184) ("DIMENSIONS" . 1059192) ("DOUBLE" . 1059194) ("EYE" . 1059197) ("HIDE" . 1059199) ("LOCATION" . 1090641) ("PROJECTION" . 1059231) ("TRANSPARENT" . 1094108) ("UNITS" . 1059207) ("VIEWPLANE_RECT" . 1059216) ("ZCLIP" . 1059219))) |
| 1580 | ("GetByName" fun "IDLgrView" (system) "Result = Obj->[%s::]%s(Name)" ("objects_gr204.html")) | 1580 | ("GetByName" fun "IDLgrView" (system) "Result = Obj->[%s::]%s(Name)" ("objects_gr204.html")) |
| 1581 | ("Init" fun "IDLgrView" (system) "Result = Obj->[%s::]%s()" ("objects_gr206.html" ) ("objects_gr201.html" ("COLOR" . 1059182) ("DEPTH_CUE" . 1059184) ("DIMENSIONS" . 1059192) ("DOUBLE" . 1059194) ("EYE" . 1059197) ("HIDE" . 1059199) ("LOCATION" . 1090641) ("PROJECTION" . 1059231) ("REGISTER_PROPERTIES" . 1059205) ("TRANSPARENT" . 1094108) ("UNITS " . 1059207) ("VIEWPLANE_RECT " . 1059216) ("ZCLIP " . 1059219))) | 1581 | ("Init" fun "IDLgrView" (system) "Result = Obj->[%s::]%s()" ("objects_gr206.html" ) ("objects_gr201.html" ("COLOR" . 1059182) ("DEPTH_CUE" . 1059184) ("DIMENSIONS" . 1059192) ("DOUBLE" . 1059194) ("EYE" . 1059197) ("HIDE" . 1059199) ("LOCATION" . 1090641) ("PROJECTION" . 1059231) ("REGISTER_PROPERTIES" . 1059205) ("TRANSPARENT" . 1094108) ("UNITS" . 1059207) ("VIEWPLANE_RECT" . 1059216) ("ZCLIP" . 1059219))) |
| 1582 | ("Add" pro "IDLgrViewgroup" (system) "Obj->[%s::]%s, Object" ("objects_gr210.html" ("POSITION" . 1017170))) | 1582 | ("Add" pro "IDLgrViewgroup" (system) "Obj->[%s::]%s, Object" ("objects_gr210.html" ("POSITION" . 1017170))) |
| 1583 | ("Cleanup" pro "IDLgrViewgroup" (system) "Obj->[%s::]%s" ("objects_gr211.html")) | 1583 | ("Cleanup" pro "IDLgrViewgroup" (system) "Obj->[%s::]%s" ("objects_gr211.html")) |
| 1584 | ("GetProperty" pro "IDLgrViewgroup" (system) "Obj->[%s::]%s" ("objects_gr213.html" ) ("objects_gr209.html" ("ALL" . 1077311) ("HIDE" . 1059327) ("PARENT" . 1084394))) | 1584 | ("GetProperty" pro "IDLgrViewgroup" (system) "Obj->[%s::]%s" ("objects_gr213.html" ) ("objects_gr209.html" ("ALL" . 1077311) ("HIDE" . 1059327) ("PARENT" . 1084394))) |
| @@ -1587,28 +1587,28 @@ | |||
| 1587 | ("Init" fun "IDLgrViewgroup" (system) "Result = Obj->[%s::]%s()" ("objects_gr214.html" ) ("objects_gr209.html" ("HIDE" . 1059327) ("REGISTER_PROPERTIES" . 1059341))) | 1587 | ("Init" fun "IDLgrViewgroup" (system) "Result = Obj->[%s::]%s()" ("objects_gr214.html" ) ("objects_gr209.html" ("HIDE" . 1059327) ("REGISTER_PROPERTIES" . 1059341))) |
| 1588 | ("Cleanup" pro "IDLgrVolume" (system) "Obj->[%s::]%s" ("objects_gr218.html")) | 1588 | ("Cleanup" pro "IDLgrVolume" (system) "Obj->[%s::]%s" ("objects_gr218.html")) |
| 1589 | ("ComputeBounds" pro "IDLgrVolume" (system) "Obj->[%s::]%s" ("objects_gr219.html" ("OPACITY" . 1017518) ("RESET" . 1017520) ("VOLUMES" . 1017522))) | 1589 | ("ComputeBounds" pro "IDLgrVolume" (system) "Obj->[%s::]%s" ("objects_gr219.html" ("OPACITY" . 1017518) ("RESET" . 1017520) ("VOLUMES" . 1017522))) |
| 1590 | ("GetProperty" pro "IDLgrVolume" (system) "Obj->[%s::]%s" ("objects_gr221.html" ) ("objects_gr217.html" ("ALL" . 1059382) ("ALPHA_CHANNEL" . 1315212) ("AMBIENT" . 1059403) ("BOUNDS" . 1059406) ("CLIP_PLANES" . 1059408) ("COMPOSITE_FUNCTION" . 1092822) ("DATA0" . 1059427) ("DATA1 " . 1059429) ("DATA2" . 1059431) ("DATA3" . 1059433) ("DEPTH_CUE" . 1059436) ("DEPTH_TEST_DISABLE" . 1095038) ("DEPTH_TEST_FUNCTION" . 1096277) ("DEPTH_WRITE_DISABLE" . 1096316) ("HIDE" . 1059445) ("HINTS" . 1059449) ("INTERPOLATE" . 1059455) ("LIGHTING_MODEL" . 1059457) ("NO_COPY" . 1059462) ("OPACITY_TABLE0" . 1086135) ("OPACITY_TABLE1" . 1059466) ("PARENT" . 1088485) ("RENDER_STEP" . 1096662) ("RGB_TABLE0" . 1088582) ("RGB_TABLE1" . 1059472) ("TWO_SIDED " . 1059474) ("VALID_DATA" . 1059634) ("VOLUME_SELECT " . 1059632) ("XCOORD_CONV" . 1059489) ("XRANGE" . 1059648) ("YCOORD_CONV" . 1059495) ("YRANGE" . 1059660) ("ZBUFFER" . 1059501) ("ZCOORD_CONV" . 1059503) ("ZERO_OPACITY_SKIP" . 1059509) ("ZRANGE" . 1059393))) | 1590 | ("GetProperty" pro "IDLgrVolume" (system) "Obj->[%s::]%s" ("objects_gr221.html" ) ("objects_gr217.html" ("ALL" . 1059382) ("ALPHA_CHANNEL" . 1315212) ("AMBIENT" . 1059403) ("BOUNDS" . 1059406) ("CLIP_PLANES" . 1059408) ("COMPOSITE_FUNCTION" . 1092822) ("DATA0" . 1059427) ("DATA1" . 1059429) ("DATA2" . 1059431) ("DATA3" . 1059433) ("DEPTH_CUE" . 1059436) ("DEPTH_TEST_DISABLE" . 1095038) ("DEPTH_TEST_FUNCTION" . 1096277) ("DEPTH_WRITE_DISABLE" . 1096316) ("HIDE" . 1059445) ("HINTS" . 1059449) ("INTERPOLATE" . 1059455) ("LIGHTING_MODEL" . 1059457) ("NO_COPY" . 1059462) ("OPACITY_TABLE0" . 1086135) ("OPACITY_TABLE1" . 1059466) ("PARENT" . 1088485) ("RENDER_STEP" . 1096662) ("RGB_TABLE0" . 1088582) ("RGB_TABLE1" . 1059472) ("TWO_SIDED" . 1059474) ("VALID_DATA" . 1059634) ("VOLUME_SELECT" . 1059632) ("XCOORD_CONV" . 1059489) ("XRANGE" . 1059648) ("YCOORD_CONV" . 1059495) ("YRANGE" . 1059660) ("ZBUFFER" . 1059501) ("ZCOORD_CONV" . 1059503) ("ZERO_OPACITY_SKIP" . 1059509) ("ZRANGE" . 1059393))) |
| 1591 | ("SetProperty" pro "IDLgrVolume" (system) "Obj->[%s::]%s" ("objects_gr224.html" ) ("objects_gr217.html" ("ALPHA_CHANNEL" . 1315212) ("AMBIENT" . 1059403) ("BOUNDS" . 1059406) ("CLIP_PLANES" . 1059408) ("COMPOSITE_FUNCTION" . 1092822) ("DATA0" . 1059427) ("DATA1 " . 1059429) ("DATA2" . 1059431) ("DATA3" . 1059433) ("DEPTH_CUE" . 1059436) ("DEPTH_TEST_DISABLE" . 1095038) ("DEPTH_TEST_FUNCTION" . 1096277) ("DEPTH_WRITE_DISABLE" . 1096316) ("HIDE" . 1059445) ("HINTS" . 1059449) ("INTERPOLATE" . 1059455) ("LIGHTING_MODEL" . 1059457) ("NO_COPY" . 1059462) ("OPACITY_TABLE0" . 1086135) ("OPACITY_TABLE1" . 1059466) ("RENDER_STEP" . 1096662) ("RGB_TABLE0" . 1088582) ("RGB_TABLE1" . 1059472) ("TWO_SIDED " . 1059474) ("VOLUME_SELECT " . 1059632) ("XCOORD_CONV" . 1059489) ("YCOORD_CONV" . 1059495) ("ZBUFFER" . 1059501) ("ZCOORD_CONV" . 1059503) ("ZERO_OPACITY_SKIP" . 1059509))) | 1591 | ("SetProperty" pro "IDLgrVolume" (system) "Obj->[%s::]%s" ("objects_gr224.html" ) ("objects_gr217.html" ("ALPHA_CHANNEL" . 1315212) ("AMBIENT" . 1059403) ("BOUNDS" . 1059406) ("CLIP_PLANES" . 1059408) ("COMPOSITE_FUNCTION" . 1092822) ("DATA0" . 1059427) ("DATA1" . 1059429) ("DATA2" . 1059431) ("DATA3" . 1059433) ("DEPTH_CUE" . 1059436) ("DEPTH_TEST_DISABLE" . 1095038) ("DEPTH_TEST_FUNCTION" . 1096277) ("DEPTH_WRITE_DISABLE" . 1096316) ("HIDE" . 1059445) ("HINTS" . 1059449) ("INTERPOLATE" . 1059455) ("LIGHTING_MODEL" . 1059457) ("NO_COPY" . 1059462) ("OPACITY_TABLE0" . 1086135) ("OPACITY_TABLE1" . 1059466) ("RENDER_STEP" . 1096662) ("RGB_TABLE0" . 1088582) ("RGB_TABLE1" . 1059472) ("TWO_SIDED" . 1059474) ("VOLUME_SELECT" . 1059632) ("XCOORD_CONV" . 1059489) ("YCOORD_CONV" . 1059495) ("ZBUFFER" . 1059501) ("ZCOORD_CONV" . 1059503) ("ZERO_OPACITY_SKIP" . 1059509))) |
| 1592 | ("GetCTM" fun "IDLgrVolume" (system) "Result = Obj->[%s::]%s()" ("objects_gr220.html" ("DESTINATION" . 1017555) ("PATH" . 1017557) ("TOP" . 1017563))) | 1592 | ("GetCTM" fun "IDLgrVolume" (system) "Result = Obj->[%s::]%s()" ("objects_gr220.html" ("DESTINATION" . 1017555) ("PATH" . 1017557) ("TOP" . 1017563))) |
| 1593 | ("Init" fun "IDLgrVolume" (system) "Result = Obj->[%s::]%s([, vol0 [, vol1 [, vol2 [, vol3]]]])" ("objects_gr222.html" ) ("objects_gr217.html" ("ALPHA_CHANNEL" . 1315212) ("AMBIENT" . 1059403) ("BOUNDS" . 1059406) ("CLIP_PLANES" . 1059408) ("COMPOSITE_FUNCTION" . 1092822) ("DATA0" . 1059427) ("DATA1 " . 1059429) ("DATA2" . 1059431) ("DATA3" . 1059433) ("DEPTH_CUE" . 1059436) ("DEPTH_TEST_DISABLE" . 1095038) ("DEPTH_TEST_FUNCTION" . 1096277) ("DEPTH_WRITE_DISABLE" . 1096316) ("HIDE" . 1059445) ("HINTS" . 1059449) ("INTERPOLATE" . 1059455) ("LIGHTING_MODEL" . 1059457) ("NO_COPY" . 1059462) ("OPACITY_TABLE0" . 1086135) ("OPACITY_TABLE1" . 1059466) ("REGISTER_PROPERTIES" . 1059616) ("RENDER_STEP" . 1096662) ("RGB_TABLE0" . 1088582) ("RGB_TABLE1" . 1059472) ("TWO_SIDED " . 1059474) ("VOLUME_SELECT " . 1059632) ("XCOORD_CONV" . 1059489) ("YCOORD_CONV" . 1059495) ("ZBUFFER" . 1059501) ("ZCOORD_CONV" . 1059503) ("ZERO_OPACITY_SKIP" . 1059509))) | 1593 | ("Init" fun "IDLgrVolume" (system) "Result = Obj->[%s::]%s([, vol0 [, vol1 [, vol2 [, vol3]]]])" ("objects_gr222.html" ) ("objects_gr217.html" ("ALPHA_CHANNEL" . 1315212) ("AMBIENT" . 1059403) ("BOUNDS" . 1059406) ("CLIP_PLANES" . 1059408) ("COMPOSITE_FUNCTION" . 1092822) ("DATA0" . 1059427) ("DATA1" . 1059429) ("DATA2" . 1059431) ("DATA3" . 1059433) ("DEPTH_CUE" . 1059436) ("DEPTH_TEST_DISABLE" . 1095038) ("DEPTH_TEST_FUNCTION" . 1096277) ("DEPTH_WRITE_DISABLE" . 1096316) ("HIDE" . 1059445) ("HINTS" . 1059449) ("INTERPOLATE" . 1059455) ("LIGHTING_MODEL" . 1059457) ("NO_COPY" . 1059462) ("OPACITY_TABLE0" . 1086135) ("OPACITY_TABLE1" . 1059466) ("REGISTER_PROPERTIES" . 1059616) ("RENDER_STEP" . 1096662) ("RGB_TABLE0" . 1088582) ("RGB_TABLE1" . 1059472) ("TWO_SIDED" . 1059474) ("VOLUME_SELECT" . 1059632) ("XCOORD_CONV" . 1059489) ("YCOORD_CONV" . 1059495) ("ZBUFFER" . 1059501) ("ZCOORD_CONV" . 1059503) ("ZERO_OPACITY_SKIP" . 1059509))) |
| 1594 | ("PickVoxel" fun "IDLgrVolume" (system) "Result = Obj->[%s::]%s ( Win, View, Point)" ("objects_gr223.html" ("PATH" . 1017818))) | 1594 | ("PickVoxel" fun "IDLgrVolume" (system) "Result = Obj->[%s::]%s ( Win, View, Point)" ("objects_gr223.html" ("PATH" . 1017818))) |
| 1595 | ("Cleanup" pro "IDLgrVRML" (system) "Obj->[%s::]%s" ("objects_gr227.html")) | 1595 | ("Cleanup" pro "IDLgrVRML" (system) "Obj->[%s::]%s" ("objects_gr227.html")) |
| 1596 | ("Draw" pro "IDLgrVRML" (system) "Obj->[%s::]%s [, Picture]" ("objects_gr228.html")) | 1596 | ("Draw" pro "IDLgrVRML" (system) "Obj->[%s::]%s [, Picture]" ("objects_gr228.html")) |
| 1597 | ("GetDeviceInfo" pro "IDLgrVRML" (system) "Obj->[%s::]%s" ("objects_gr229.html" ("ALL" . 1018053) ("MAX_NUM_CLIP_PLANES" . 1018055) ("MAX_TEXTURE_DIMENSIONS" . 1018057) ("MAX_VIEWPORT_DIMENSIONS" . 1018059) ("NAME" . 1018061) ("NUM_CPUS" . 1018063) ("VENDOR" . 1018066) ("VERSION" . 1018068))) | 1597 | ("GetDeviceInfo" pro "IDLgrVRML" (system) "Obj->[%s::]%s" ("objects_gr229.html" ("ALL" . 1018053) ("MAX_NUM_CLIP_PLANES" . 1018055) ("MAX_TEXTURE_DIMENSIONS" . 1018057) ("MAX_VIEWPORT_DIMENSIONS" . 1018059) ("NAME" . 1018061) ("NUM_CPUS" . 1018063) ("VENDOR" . 1018066) ("VERSION" . 1018068))) |
| 1598 | ("GetProperty" pro "IDLgrVRML" (system) "Obj->[%s::]%s" ("objects_gr231.html" ) ("objects_gr226.html" ("ALL" . 1059804) ("COLOR_MODEL" . 1059817) ("DIMENSIONS" . 1059821) ("FILENAME" . 1059824) ("GRAPHICS_TREE " . 1059826) ("N_COLORS" . 1059828) ("PALETTE" . 1059830) ("QUALITY " . 1059832) ("RESOLUTION" . 1094159) ("SCREEN_DIMENSIONS" . 1059862) ("UNITS" . 1059860))) | 1598 | ("GetProperty" pro "IDLgrVRML" (system) "Obj->[%s::]%s" ("objects_gr231.html" ) ("objects_gr226.html" ("ALL" . 1059804) ("COLOR_MODEL" . 1059817) ("DIMENSIONS" . 1059821) ("FILENAME" . 1059824) ("GRAPHICS_TREE" . 1059826) ("N_COLORS" . 1059828) ("PALETTE" . 1059830) ("QUALITY" . 1059832) ("RESOLUTION" . 1094159) ("SCREEN_DIMENSIONS" . 1059862) ("UNITS" . 1059860))) |
| 1599 | ("SetProperty" pro "IDLgrVRML" (system) "Obj->[%s::]%s" ("objects_gr234.html" ) ("objects_gr226.html" ("DIMENSIONS" . 1059821) ("FILENAME" . 1059824) ("GRAPHICS_TREE " . 1059826) ("PALETTE" . 1059830) ("QUALITY " . 1059832) ("RESOLUTION" . 1094159) ("UNITS" . 1059860))) | 1599 | ("SetProperty" pro "IDLgrVRML" (system) "Obj->[%s::]%s" ("objects_gr234.html" ) ("objects_gr226.html" ("DIMENSIONS" . 1059821) ("FILENAME" . 1059824) ("GRAPHICS_TREE" . 1059826) ("PALETTE" . 1059830) ("QUALITY" . 1059832) ("RESOLUTION" . 1094159) ("UNITS" . 1059860))) |
| 1600 | ("GetFontnames" fun "IDLgrVRML" (system) "Result = Obj->[%s::]%s( FamilyName)" ("objects_gr230.html" ("IDL_FONTS" . 1018109) ("STYLES" . 1018111))) | 1600 | ("GetFontnames" fun "IDLgrVRML" (system) "Result = Obj->[%s::]%s( FamilyName)" ("objects_gr230.html" ("IDL_FONTS" . 1018109) ("STYLES" . 1018111))) |
| 1601 | ("GetTextDimensions" fun "IDLgrVRML" (system) "Result = Obj->[%s::]%s( TextObj)" ("objects_gr232.html" ("DESCENT" . 1018185) ("PATH" . 1018187))) | 1601 | ("GetTextDimensions" fun "IDLgrVRML" (system) "Result = Obj->[%s::]%s( TextObj)" ("objects_gr232.html" ("DESCENT" . 1018185) ("PATH" . 1018187))) |
| 1602 | ("Init" fun "IDLgrVRML" (system) "Result = Obj->[%s::]%s()" ("objects_gr233.html" ) ("objects_gr226.html" ("COLOR_MODEL" . 1059817) ("DIMENSIONS" . 1059821) ("FILENAME" . 1059824) ("GRAPHICS_TREE " . 1059826) ("N_COLORS" . 1059828) ("PALETTE" . 1059830) ("QUALITY " . 1059832) ("REGISTER_PROPERTIES" . 1059837) ("RESOLUTION" . 1094159) ("UNITS" . 1059860) ("WORLDINFO " . 1059848) ("WORLDTITLE" . 1059850))) | 1602 | ("Init" fun "IDLgrVRML" (system) "Result = Obj->[%s::]%s()" ("objects_gr233.html" ) ("objects_gr226.html" ("COLOR_MODEL" . 1059817) ("DIMENSIONS" . 1059821) ("FILENAME" . 1059824) ("GRAPHICS_TREE" . 1059826) ("N_COLORS" . 1059828) ("PALETTE" . 1059830) ("QUALITY" . 1059832) ("REGISTER_PROPERTIES" . 1059837) ("RESOLUTION" . 1094159) ("UNITS" . 1059860) ("WORLDINFO" . 1059848) ("WORLDTITLE" . 1059850))) |
| 1603 | ("Cleanup" pro "IDLgrWindow" (system) "Obj->[%s::]%s" ("objects_gr237.html")) | 1603 | ("Cleanup" pro "IDLgrWindow" (system) "Obj->[%s::]%s" ("objects_gr237.html")) |
| 1604 | ("Draw" pro "IDLgrWindow" (system) "Obj->[%s::]%s [, Picture]" ("objects_gr238.html" ("CREATE_INSTANCE" . 1018509) ("DRAW_INSTANCE" . 1018511))) | 1604 | ("Draw" pro "IDLgrWindow" (system) "Obj->[%s::]%s [, Picture]" ("objects_gr238.html" ("CREATE_INSTANCE" . 1018509) ("DRAW_INSTANCE" . 1018511))) |
| 1605 | ("Erase" pro "IDLgrWindow" (system) "Obj->[%s::]%s" ("objects_gr239.html" ("COLOR" . 1018544))) | 1605 | ("Erase" pro "IDLgrWindow" (system) "Obj->[%s::]%s" ("objects_gr239.html" ("COLOR" . 1018544))) |
| 1606 | ("GetDeviceInfo" pro "IDLgrWindow" (system) "Obj->[%s::]%s" ("objects_gr241.html" ("ALL" . 1018622) ("MAX_NUM_CLIP_PLANES" . 1018624) ("MAX_TEXTURE_DIMENSIONS" . 1018626) ("MAX_VIEWPORT_DIMENSIONS" . 1018628) ("NAME" . 1018630) ("NUM_CPUS" . 1018632) ("VENDOR" . 1018635) ("VERSION" . 1018637))) | 1606 | ("GetDeviceInfo" pro "IDLgrWindow" (system) "Obj->[%s::]%s" ("objects_gr241.html" ("ALL" . 1018622) ("MAX_NUM_CLIP_PLANES" . 1018624) ("MAX_TEXTURE_DIMENSIONS" . 1018626) ("MAX_VIEWPORT_DIMENSIONS" . 1018628) ("NAME" . 1018630) ("NUM_CPUS" . 1018632) ("VENDOR" . 1018635) ("VERSION" . 1018637))) |
| 1607 | ("GetProperty" pro "IDLgrWindow" (system) "Obj->[%s::]%s" ("objects_gr244.html" ) ("objects_gr236.html" ("ALL" . 1059951) ("COLOR_MODEL" . 1059974) ("CURRENT_ZOOM" . 1249228) ("DIMENSIONS " . 1249231) ("DISPLAY_NAME (X Only)" . 1059985) ("GRAPHICS_TREE" . 1059987) ("IMAGE_DATA " . 1060084) ("LOCATION " . 1060082) ("MINIMUM_VIRTUAL_DIMENSIONS" . 1343479) ("N_COLORS" . 1059992) ("PALETTE" . 1059998) ("QUALITY" . 1060003) ("RENDERER" . 1094184) ("RESOLUTION" . 1060060) ("RETAIN" . 1060058) ("SCREEN_DIMENSIONS " . 1060073) ("TITLE" . 1060071) ("UNITS" . 1060033) ("VIRTUAL_DIMENSIONS" . 1060050) ("VISIBLE_LOCATION" . 1097046) ("ZBUFFER_DATA" . 1091007) ("ZOOM_BASE" . 1342797) ("ZOOM_NSTEP" . 1342953))) | 1607 | ("GetProperty" pro "IDLgrWindow" (system) "Obj->[%s::]%s" ("objects_gr244.html" ) ("objects_gr236.html" ("ALL" . 1059951) ("COLOR_MODEL" . 1059974) ("CURRENT_ZOOM" . 1249228) ("DIMENSIONS" . 1249231) ("DISPLAY_NAME (X Only)" . 1059985) ("GRAPHICS_TREE" . 1059987) ("IMAGE_DATA" . 1060084) ("LOCATION" . 1060082) ("MINIMUM_VIRTUAL_DIMENSIONS" . 1343479) ("N_COLORS" . 1059992) ("PALETTE" . 1059998) ("QUALITY" . 1060003) ("RENDERER" . 1094184) ("RESOLUTION" . 1060060) ("RETAIN" . 1060058) ("SCREEN_DIMENSIONS" . 1060073) ("TITLE" . 1060071) ("UNITS" . 1060033) ("VIRTUAL_DIMENSIONS" . 1060050) ("VISIBLE_LOCATION" . 1097046) ("ZBUFFER_DATA" . 1091007) ("ZOOM_BASE" . 1342797) ("ZOOM_NSTEP" . 1342953))) |
| 1608 | ("Iconify" pro "IDLgrWindow" (system) "Obj->[%s::]%s, IconFlag" ("objects_gr246.html")) | 1608 | ("Iconify" pro "IDLgrWindow" (system) "Obj->[%s::]%s, IconFlag" ("objects_gr246.html")) |
| 1609 | ("SetCurrentCursor" pro "IDLgrWindow" (system) "Obj->[%s::]%s [, CursorName]" ("objects_gr251.html" ("HOTSPOT" . 1019148) ("IMAGE" . 1019144) ("MASK" . 1019146) ("STANDARD" . 1019150))) | 1609 | ("SetCurrentCursor" pro "IDLgrWindow" (system) "Obj->[%s::]%s [, CursorName]" ("objects_gr251.html" ("HOTSPOT" . 1019148) ("IMAGE" . 1019144) ("MASK" . 1019146) ("STANDARD" . 1019150))) |
| 1610 | ("SetCurrentZoom" pro "IDLgrWindow" (system) "Obj-> [%s::]%s, ZoomFactor" ("objects_gr252.html" ("RESET" . 1360383))) | 1610 | ("SetCurrentZoom" pro "IDLgrWindow" (system) "Obj-> [%s::]%s, ZoomFactor" ("objects_gr252.html" ("RESET" . 1360383))) |
| 1611 | ("SetProperty" pro "IDLgrWindow" (system) "Obj->[%s::]%s" ("objects_gr253.html" ) ("objects_gr236.html" ("DIMENSIONS " . 1249231) ("DISPLAY_NAME (X Only)" . 1059985) ("GRAPHICS_TREE" . 1059987) ("LOCATION " . 1060082) ("MINIMUM_VIRTUAL_DIMENSIONS" . 1343479) ("PALETTE" . 1059998) ("QUALITY" . 1060003) ("TITLE" . 1060071) ("UNITS" . 1060033) ("VIRTUAL_DIMENSIONS" . 1060050) ("VISIBLE_LOCATION" . 1097046) ("ZOOM_BASE" . 1342797))) | 1611 | ("SetProperty" pro "IDLgrWindow" (system) "Obj->[%s::]%s" ("objects_gr253.html" ) ("objects_gr236.html" ("DIMENSIONS" . 1249231) ("DISPLAY_NAME (X Only)" . 1059985) ("GRAPHICS_TREE" . 1059987) ("LOCATION" . 1060082) ("MINIMUM_VIRTUAL_DIMENSIONS" . 1343479) ("PALETTE" . 1059998) ("QUALITY" . 1060003) ("TITLE" . 1060071) ("UNITS" . 1060033) ("VIRTUAL_DIMENSIONS" . 1060050) ("VISIBLE_LOCATION" . 1097046) ("ZOOM_BASE" . 1342797))) |
| 1612 | ("Show" pro "IDLgrWindow" (system) "Obj->[%s::]%s, Position" ("objects_gr254.html")) | 1612 | ("Show" pro "IDLgrWindow" (system) "Obj->[%s::]%s, Position" ("objects_gr254.html")) |
| 1613 | ("ZoomIn" pro "IDLgrWindow" (system) "Obj->[%s::]%s" ("objects_gr255.html")) | 1613 | ("ZoomIn" pro "IDLgrWindow" (system) "Obj->[%s::]%s" ("objects_gr255.html")) |
| 1614 | ("ZoomOut" pro "IDLgrWindow" (system) "Obj->[%s::]%s" ("objects_gr256.html")) | 1614 | ("ZoomOut" pro "IDLgrWindow" (system) "Obj->[%s::]%s" ("objects_gr256.html")) |
| @@ -1616,7 +1616,7 @@ | |||
| 1616 | ("GetDimensions" fun "IDLgrWindow" (system) "Result = Obj -> [%s::]%s ()" ("objects_gr242.html" ("MINIMUM_VIRTUAL_DIMENSIONS" . 1360348) ("ORIGINAL_VIRTUAL_DIMENSIONS" . 1360355) ("VIRTUAL_DIMENSIONS" . 1360358) ("VISIBLE_LOCATION" . 1360361))) | 1616 | ("GetDimensions" fun "IDLgrWindow" (system) "Result = Obj -> [%s::]%s ()" ("objects_gr242.html" ("MINIMUM_VIRTUAL_DIMENSIONS" . 1360348) ("ORIGINAL_VIRTUAL_DIMENSIONS" . 1360355) ("VIRTUAL_DIMENSIONS" . 1360358) ("VISIBLE_LOCATION" . 1360361))) |
| 1617 | ("GetFontnames" fun "IDLgrWindow" (system) "Result = Obj->[%s::]%s(FamilyName)" ("objects_gr243.html" ("IDL_FONTS" . 1018678) ("STYLES" . 1018680))) | 1617 | ("GetFontnames" fun "IDLgrWindow" (system) "Result = Obj->[%s::]%s(FamilyName)" ("objects_gr243.html" ("IDL_FONTS" . 1018678) ("STYLES" . 1018680))) |
| 1618 | ("GetTextDimensions" fun "IDLgrWindow" (system) "Result = Obj->[%s::]%s( TextObj)" ("objects_gr245.html" ("DESCENT" . 1018765) ("PATH" . 1018767))) | 1618 | ("GetTextDimensions" fun "IDLgrWindow" (system) "Result = Obj->[%s::]%s( TextObj)" ("objects_gr245.html" ("DESCENT" . 1018765) ("PATH" . 1018767))) |
| 1619 | ("Init" fun "IDLgrWindow" (system) "Result = Obj->[%s::]%s()" ("objects_gr247.html" ) ("objects_gr236.html" ("COLOR_MODEL" . 1059974) ("DIMENSIONS " . 1249231) ("GRAPHICS_TREE" . 1059987) ("LOCATION " . 1060082) ("MINIMUM_VIRTUAL_DIMENSIONS" . 1343479) ("N_COLORS" . 1059992) ("PALETTE" . 1059998) ("QUALITY" . 1060003) ("REGISTER_PROPERTIES" . 1060008) ("RENDERER" . 1094184) ("RETAIN" . 1060058) ("TITLE" . 1060071) ("UNITS" . 1060033) ("VIRTUAL_DIMENSIONS" . 1060050) ("VISIBLE_LOCATION" . 1097046) ("ZOOM_BASE" . 1342797))) | 1619 | ("Init" fun "IDLgrWindow" (system) "Result = Obj->[%s::]%s()" ("objects_gr247.html" ) ("objects_gr236.html" ("COLOR_MODEL" . 1059974) ("DIMENSIONS" . 1249231) ("GRAPHICS_TREE" . 1059987) ("LOCATION" . 1060082) ("MINIMUM_VIRTUAL_DIMENSIONS" . 1343479) ("N_COLORS" . 1059992) ("PALETTE" . 1059998) ("QUALITY" . 1060003) ("REGISTER_PROPERTIES" . 1060008) ("RENDERER" . 1094184) ("RETAIN" . 1060058) ("TITLE" . 1060071) ("UNITS" . 1060033) ("VIRTUAL_DIMENSIONS" . 1060050) ("VISIBLE_LOCATION" . 1097046) ("ZOOM_BASE" . 1342797))) |
| 1620 | ("PickData" fun "IDLgrWindow" (system) "Result = Obj->[%s::]%s( View, Object, Location, XYZLocation)" ("objects_gr248.html" ("DIMENSIONS" . 1018957) ("PATH" . 1018961) ("PICK_STATUS" . 1018967))) | 1620 | ("PickData" fun "IDLgrWindow" (system) "Result = Obj->[%s::]%s( View, Object, Location, XYZLocation)" ("objects_gr248.html" ("DIMENSIONS" . 1018957) ("PATH" . 1018961) ("PICK_STATUS" . 1018967))) |
| 1621 | ("Read" fun "IDLgrWindow" (system) "Result = Obj->[%s::]%s()" ("objects_gr249.html")) | 1621 | ("Read" fun "IDLgrWindow" (system) "Result = Obj->[%s::]%s()" ("objects_gr249.html")) |
| 1622 | ("Select" fun "IDLgrWindow" (system) "Result = Obj->[%s::]%s( Picture, XY)" ("objects_gr250.html" ("DIMENSIONS" . 1019069) ("ORDER" . 1019073) ("SUB_SELECTION" . 1343670) ("UNITS" . 1019076))) | 1622 | ("Select" fun "IDLgrWindow" (system) "Result = Obj->[%s::]%s( Picture, XY)" ("objects_gr250.html" ("DIMENSIONS" . 1019069) ("ORDER" . 1019073) ("SUB_SELECTION" . 1343670) ("UNITS" . 1019076))) |
| @@ -1691,7 +1691,7 @@ | |||
| 1691 | ("PromptUserText" fun "IDLitIMessaging" (system) "Result = Obj->[%s::]%s(StrPrompt, Answer)" ("objects_it86.html" ("TITLE" . 1080016))) | 1691 | ("PromptUserText" fun "IDLitIMessaging" (system) "Result = Obj->[%s::]%s(StrPrompt, Answer)" ("objects_it86.html" ("TITLE" . 1080016))) |
| 1692 | ("PromptUserYesNo" fun "IDLitIMessaging" (system) "Result = Obj->[%s::]%s(StrPrompt, Answer)" ("objects_it87.html" ("TITLE" . 1080036))) | 1692 | ("PromptUserYesNo" fun "IDLitIMessaging" (system) "Result = Obj->[%s::]%s(StrPrompt, Answer)" ("objects_it87.html" ("TITLE" . 1080036))) |
| 1693 | ("Cleanup" pro "IDLitManipulator" (system) "Obj->[%s::]%s" ("objects_it93.html")) | 1693 | ("Cleanup" pro "IDLitManipulator" (system) "Obj->[%s::]%s" ("objects_it93.html")) |
| 1694 | ("GetProperty" pro "IDLitManipulator" (system) "Obj->[%s::]%s" ("objects_it96.html" ) ("objects_it92.html" ("BUTTON_EVENTS" . 1080361) ("DESCRIPTION" . 1080417) ("KEYBOARD_EVENTS" . 1080504) ("MOTION_EVENTS" . 1080532) ("OPERATION_IDENTIFIER" . 1080560) ("PARAMETER_IDENTIFIER" . 1080588) ("TRANSIENT_DEFAULT " . 1080617) ("TRANSIENT_MOTION" . 1080650) ("TYPES" . 1080678) ("VISUAL_TYPE" . 1080735))) | 1694 | ("GetProperty" pro "IDLitManipulator" (system) "Obj->[%s::]%s" ("objects_it96.html" ) ("objects_it92.html" ("BUTTON_EVENTS" . 1080361) ("DESCRIPTION" . 1080417) ("KEYBOARD_EVENTS" . 1080504) ("MOTION_EVENTS" . 1080532) ("OPERATION_IDENTIFIER" . 1080560) ("PARAMETER_IDENTIFIER" . 1080588) ("TRANSIENT_DEFAULT" . 1080617) ("TRANSIENT_MOTION" . 1080650) ("TYPES" . 1080678) ("VISUAL_TYPE" . 1080735))) |
| 1695 | ("OnKeyboard" pro "IDLitManipulator" (system) "Obj->[%s::]%s, Win, IsASCII, Character, KeyValue, X, Y, Press, Release, KeyMods" ("objects_it98.html")) | 1695 | ("OnKeyboard" pro "IDLitManipulator" (system) "Obj->[%s::]%s, Win, IsASCII, Character, KeyValue, X, Y, Press, Release, KeyMods" ("objects_it98.html")) |
| 1696 | ("OnLoseCurrentManipulator" pro "IDLitManipulator" (system) "Obj->[%s::]%s" ("objects_it99.html")) | 1696 | ("OnLoseCurrentManipulator" pro "IDLitManipulator" (system) "Obj->[%s::]%s" ("objects_it99.html")) |
| 1697 | ("OnMouseDown" pro "IDLitManipulator" (system) "Obj->[%s::]%s, Win, X, Y, IButton, KeyMods, NClicks" ("objects_it100.html")) | 1697 | ("OnMouseDown" pro "IDLitManipulator" (system) "Obj->[%s::]%s, Win, X, Y, IButton, KeyMods, NClicks" ("objects_it100.html")) |
| @@ -1699,10 +1699,10 @@ | |||
| 1699 | ("OnMouseUp" pro "IDLitManipulator" (system) "Obj->[%s::]%s, Win, X, Y, IButton" ("objects_it102.html")) | 1699 | ("OnMouseUp" pro "IDLitManipulator" (system) "Obj->[%s::]%s, Win, X, Y, IButton" ("objects_it102.html")) |
| 1700 | ("RegisterCursor" pro "IDLitManipulator" (system) "Obj->[%s::]%s, ArrCursor, Name" ("objects_it104.html" ("DEFAULT" . 1281810))) | 1700 | ("RegisterCursor" pro "IDLitManipulator" (system) "Obj->[%s::]%s, ArrCursor, Name" ("objects_it104.html" ("DEFAULT" . 1281810))) |
| 1701 | ("SetCurrentManipulator" pro "IDLitManipulator" (system) "Obj->[%s::]%s [, Item]" ("objects_it105.html")) | 1701 | ("SetCurrentManipulator" pro "IDLitManipulator" (system) "Obj->[%s::]%s [, Item]" ("objects_it105.html")) |
| 1702 | ("SetProperty" pro "IDLitManipulator" (system) "Obj->[%s::]%s" ("objects_it120.html" ) ("objects_it92.html" ("BUTTON_EVENTS" . 1080361) ("DESCRIPTION" . 1080417) ("DISABLE" . 1080445) ("KEYBOARD_EVENTS" . 1080504) ("MOTION_EVENTS" . 1080532) ("OPERATION_IDENTIFIER" . 1080560) ("PARAMETER_IDENTIFIER" . 1080588) ("TRANSIENT_DEFAULT " . 1080617) ("TRANSIENT_MOTION" . 1080650) ("VISUAL_TYPE" . 1080735))) | 1702 | ("SetProperty" pro "IDLitManipulator" (system) "Obj->[%s::]%s" ("objects_it120.html" ) ("objects_it92.html" ("BUTTON_EVENTS" . 1080361) ("DESCRIPTION" . 1080417) ("DISABLE" . 1080445) ("KEYBOARD_EVENTS" . 1080504) ("MOTION_EVENTS" . 1080532) ("OPERATION_IDENTIFIER" . 1080560) ("PARAMETER_IDENTIFIER" . 1080588) ("TRANSIENT_DEFAULT" . 1080617) ("TRANSIENT_MOTION" . 1080650) ("VISUAL_TYPE" . 1080735))) |
| 1703 | ("CommitUndoValues" fun "IDLitManipulator" (system) "Result = Obj->[%s::]%s()" ("objects_it94.html" ("UNCOMMIT" . 1080828))) | 1703 | ("CommitUndoValues" fun "IDLitManipulator" (system) "Result = Obj->[%s::]%s()" ("objects_it94.html" ("UNCOMMIT" . 1080828))) |
| 1704 | ("GetCursorType" fun "IDLitManipulator" (system) "Result = Obj->[%s::]%s(TypeIn, KeyMods)" ("objects_it95.html")) | 1704 | ("GetCursorType" fun "IDLitManipulator" (system) "Result = Obj->[%s::]%s(TypeIn, KeyMods)" ("objects_it95.html")) |
| 1705 | ("Init" fun "IDLitManipulator" (system) "Result = Obj->[%s::]%s()" ("objects_it97.html" ) ("objects_it92.html" ("BUTTON_EVENTS" . 1080361) ("DEFAULT_CURSOR" . 1080389) ("DESCRIPTION" . 1080417) ("DISABLE" . 1080445) ("KEYBOARD_EVENTS" . 1080504) ("MOTION_EVENTS" . 1080532) ("OPERATION_IDENTIFIER" . 1080560) ("PARAMETER_IDENTIFIER" . 1080588) ("TRANSIENT_DEFAULT " . 1080617) ("TRANSIENT_MOTION" . 1080650) ("TYPES" . 1080678) ("VIEWS_ONLY" . 1080706) ("VISUAL_TYPE" . 1080735))) | 1705 | ("Init" fun "IDLitManipulator" (system) "Result = Obj->[%s::]%s()" ("objects_it97.html" ) ("objects_it92.html" ("BUTTON_EVENTS" . 1080361) ("DEFAULT_CURSOR" . 1080389) ("DESCRIPTION" . 1080417) ("DISABLE" . 1080445) ("KEYBOARD_EVENTS" . 1080504) ("MOTION_EVENTS" . 1080532) ("OPERATION_IDENTIFIER" . 1080560) ("PARAMETER_IDENTIFIER" . 1080588) ("TRANSIENT_DEFAULT" . 1080617) ("TRANSIENT_MOTION" . 1080650) ("TYPES" . 1080678) ("VIEWS_ONLY" . 1080706) ("VISUAL_TYPE" . 1080735))) |
| 1706 | ("RecordUndoValues" fun "IDLitManipulator" (system) "Result = Obj->[%s::]%s()" ("objects_it103.html")) | 1706 | ("RecordUndoValues" fun "IDLitManipulator" (system) "Result = Obj->[%s::]%s()" ("objects_it103.html")) |
| 1707 | ("Add" pro "IDLitManipulatorContainer" (system) "Obj->[%s::]%s, Manipulator" ("objects_it109.html")) | 1707 | ("Add" pro "IDLitManipulatorContainer" (system) "Obj->[%s::]%s, Manipulator" ("objects_it109.html")) |
| 1708 | ("GetProperty" pro "IDLitManipulatorContainer" (system) "Obj->[%s::]%s" ("objects_it112.html" )) | 1708 | ("GetProperty" pro "IDLitManipulatorContainer" (system) "Obj->[%s::]%s" ("objects_it112.html" )) |
| @@ -1816,7 +1816,7 @@ | |||
| 1816 | ("BeginManipulation" pro "IDLitVisualization" (system) "Obj->[%s::]%s, Manipulator" ("objects_it241.html")) | 1816 | ("BeginManipulation" pro "IDLitVisualization" (system) "Obj->[%s::]%s, Manipulator" ("objects_it241.html")) |
| 1817 | ("Cleanup" pro "IDLitVisualization" (system) "Obj->[%s::]%s" ("objects_it242.html")) | 1817 | ("Cleanup" pro "IDLitVisualization" (system) "Obj->[%s::]%s" ("objects_it242.html")) |
| 1818 | ("EndManipulation" pro "IDLitVisualization" (system) "Obj->[%s::]%s, Manipulator" ("objects_it243.html")) | 1818 | ("EndManipulation" pro "IDLitVisualization" (system) "Obj->[%s::]%s, Manipulator" ("objects_it243.html")) |
| 1819 | ("GetProperty" pro "IDLitVisualization" (system) "Obj->[%s::]%s" ("objects_it251.html" ) ("objects_it238.html" ("CENTER_OF_ROTATION" . 1086295) ("IMPACTS_RANGE " . 1255230) ("ISOTROPIC" . 1086379) ("MANIPULATOR_TARGET " . 1086407) ("PROPERTY_INTERSECTION" . 1153078))) | 1819 | ("GetProperty" pro "IDLitVisualization" (system) "Obj->[%s::]%s" ("objects_it251.html" ) ("objects_it238.html" ("CENTER_OF_ROTATION" . 1086295) ("IMPACTS_RANGE" . 1255230) ("ISOTROPIC" . 1086379) ("MANIPULATOR_TARGET" . 1086407) ("PROPERTY_INTERSECTION" . 1153078))) |
| 1820 | ("Move" pro "IDLitVisualization" (system) "Obj->[%s::]%s, Source, Destination" ("objects_it261.html")) | 1820 | ("Move" pro "IDLitVisualization" (system) "Obj->[%s::]%s, Source, Destination" ("objects_it261.html")) |
| 1821 | ("On2DRotate" pro "IDLitVisualization" (system) "Obj->[%s::]%s, Notifier, IsRotated" ("objects_it262.html")) | 1821 | ("On2DRotate" pro "IDLitVisualization" (system) "Obj->[%s::]%s, Notifier, IsRotated" ("objects_it262.html")) |
| 1822 | ("OnAxesRequestChange" pro "IDLitVisualization" (system) "Obj->[%s::]%s, Notifier, AxesRequest" ("objects_it263.html")) | 1822 | ("OnAxesRequestChange" pro "IDLitVisualization" (system) "Obj->[%s::]%s, Notifier, AxesRequest" ("objects_it263.html")) |
| @@ -1836,7 +1836,7 @@ | |||
| 1836 | ("SetAxesStyleRequest" pro "IDLitVisualization" (system) "Obj->[%s::]%s, StyleRequest" ("objects_it278.html" ("NO_NOTIFY" . 1264441))) | 1836 | ("SetAxesStyleRequest" pro "IDLitVisualization" (system) "Obj->[%s::]%s, StyleRequest" ("objects_it278.html" ("NO_NOTIFY" . 1264441))) |
| 1837 | ("SetCurrentSelectionVisual" pro "IDLitVisualization" (system) "Obj->[%s::]%s, Manipulator" ("objects_it279.html")) | 1837 | ("SetCurrentSelectionVisual" pro "IDLitVisualization" (system) "Obj->[%s::]%s, Manipulator" ("objects_it279.html")) |
| 1838 | ("SetDefaultSelectionVisual" pro "IDLitVisualization" (system) "Obj->[%s::]%s, SelectionVisual" ("objects_it281.html" ("POSITION" . 1087891))) | 1838 | ("SetDefaultSelectionVisual" pro "IDLitVisualization" (system) "Obj->[%s::]%s, SelectionVisual" ("objects_it281.html" ("POSITION" . 1087891))) |
| 1839 | ("SetProperty" pro "IDLitVisualization" (system) "Obj->[%s::]%s" ("objects_it283.html" ) ("objects_it238.html" ("CENTER_OF_ROTATION" . 1086295) ("IMPACTS_RANGE " . 1255230) ("ISOTROPIC" . 1086379) ("MANIPULATOR_TARGET " . 1086407) ("TYPE" . 1086465))) | 1839 | ("SetProperty" pro "IDLitVisualization" (system) "Obj->[%s::]%s" ("objects_it283.html" ) ("objects_it238.html" ("CENTER_OF_ROTATION" . 1086295) ("IMPACTS_RANGE" . 1255230) ("ISOTROPIC" . 1086379) ("MANIPULATOR_TARGET" . 1086407) ("TYPE" . 1086465))) |
| 1840 | ("UpdateSelectionVisual" pro "IDLitVisualization" (system) "Obj->[%s::]%s" ("objects_it284.html")) | 1840 | ("UpdateSelectionVisual" pro "IDLitVisualization" (system) "Obj->[%s::]%s" ("objects_it284.html")) |
| 1841 | ("VisToWindow" pro "IDLitVisualization" (system) "Obj->[%s::]%s, InX, InY, InZ, OutX, OutY, OutZ" ("objects_it285.html" ("NO_TRANSFORM" . 1157092))) | 1841 | ("VisToWindow" pro "IDLitVisualization" (system) "Obj->[%s::]%s, InX, InY, InZ, OutX, OutY, OutZ" ("objects_it285.html" ("NO_TRANSFORM" . 1157092))) |
| 1842 | ("WindowToVis" pro "IDLitVisualization" (system) "Obj->[%s::]%s, InX, InY, InZ, OutX, OutY, OutZ or Obj->[%s::]%s, InX, InY, OutX, OutY or Obj->[%s::]%s, InVerts, OutVerts" ("objects_it286.html")) | 1842 | ("WindowToVis" pro "IDLitVisualization" (system) "Obj->[%s::]%s, InX, InY, InZ, OutX, OutY, OutZ or Obj->[%s::]%s, InX, InY, OutX, OutY or Obj->[%s::]%s, InVerts, OutVerts" ("objects_it286.html")) |
| @@ -1851,7 +1851,7 @@ | |||
| 1851 | ("GetSelectionVisual" fun "IDLitVisualization" (system) "Result = Obj->[%s::]%s(Manipulator)" ("objects_it253.html")) | 1851 | ("GetSelectionVisual" fun "IDLitVisualization" (system) "Result = Obj->[%s::]%s(Manipulator)" ("objects_it253.html")) |
| 1852 | ("GetTypes" fun "IDLitVisualization" (system) "Result = Obj->[%s::]%s()" ("objects_it254.html")) | 1852 | ("GetTypes" fun "IDLitVisualization" (system) "Result = Obj->[%s::]%s()" ("objects_it254.html")) |
| 1853 | ("GetXYZRange" fun "IDLitVisualization" (system) "Result = Obj->[%s::]%s(XRange,YRange, ZRange)" ("objects_it255.html" ("DATA" . 1087296) ("NO_TRANSFORM" . 1087298))) | 1853 | ("GetXYZRange" fun "IDLitVisualization" (system) "Result = Obj->[%s::]%s(XRange,YRange, ZRange)" ("objects_it255.html" ("DATA" . 1087296) ("NO_TRANSFORM" . 1087298))) |
| 1854 | ("Init" fun "IDLitVisualization" (system) "Result = Obj->[%s::]%s()" ("objects_it256.html" ) ("objects_it238.html" ("CENTER_OF_ROTATION" . 1086295) ("IMPACTS_RANGE " . 1255230) ("ISOTROPIC" . 1086379) ("MANIPULATOR_TARGET " . 1086407) ("PROPERTY_INTERSECTION" . 1153078) ("TYPE" . 1086465))) | 1854 | ("Init" fun "IDLitVisualization" (system) "Result = Obj->[%s::]%s()" ("objects_it256.html" ) ("objects_it238.html" ("CENTER_OF_ROTATION" . 1086295) ("IMPACTS_RANGE" . 1255230) ("ISOTROPIC" . 1086379) ("MANIPULATOR_TARGET" . 1086407) ("PROPERTY_INTERSECTION" . 1153078) ("TYPE" . 1086465))) |
| 1855 | ("Is3D" fun "IDLitVisualization" (system) "Result = Obj->[%s::]%s()" ("objects_it257.html")) | 1855 | ("Is3D" fun "IDLitVisualization" (system) "Result = Obj->[%s::]%s()" ("objects_it257.html")) |
| 1856 | ("IsIsotropic" fun "IDLitVisualization" (system) "Result = Obj->[%s::]%s()" ("objects_it258.html")) | 1856 | ("IsIsotropic" fun "IDLitVisualization" (system) "Result = Obj->[%s::]%s()" ("objects_it258.html")) |
| 1857 | ("IsManipulatorTarget" fun "IDLitVisualization" (system) "Result = Obj->[%s::]%s()" ("objects_it259.html")) | 1857 | ("IsManipulatorTarget" fun "IDLitVisualization" (system) "Result = Obj->[%s::]%s()" ("objects_it259.html")) |
| @@ -1942,11 +1942,11 @@ | |||
| 1942 | ("IDLgrLegend" (tags "OSCALENODE" "BORDER_GAP" "COLUMNS" "OOUTLINE" "OFILL" "OFONT" "GAP" "GLYPHWIDTH" "PITEM_COLOR" "PITEM_LINESTYLE" "PITEM_NAME" "PITEM_OBJECT" "PITEM_THICK" "PITEM_TYPE" "OTITLE" "PTEXT_COLOR" "BRECOMPUTE" "PGLYPHS" "PTEXTS" "HGLYPHWIDTH" "VGLYPHWIDTH" "COLORMODE" "CLEANLEAVE" "CLEANGLYPHS" "IDLGRLEGENDVERSION") (inherits "IDLgrModel") (link "objects_gr65.html")) | 1942 | ("IDLgrLegend" (tags "OSCALENODE" "BORDER_GAP" "COLUMNS" "OOUTLINE" "OFILL" "OFONT" "GAP" "GLYPHWIDTH" "PITEM_COLOR" "PITEM_LINESTYLE" "PITEM_NAME" "PITEM_OBJECT" "PITEM_THICK" "PITEM_TYPE" "OTITLE" "PTEXT_COLOR" "BRECOMPUTE" "PGLYPHS" "PTEXTS" "HGLYPHWIDTH" "VGLYPHWIDTH" "COLORMODE" "CLEANLEAVE" "CLEANGLYPHS" "IDLGRLEGENDVERSION") (inherits "IDLgrModel") (link "objects_gr65.html")) |
| 1943 | ("IDLgrPolygon" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRPOLYGON_TOP" "IDLGRPOLYGONVERSION" "DATA" "PRECISION" "FILLPATTERN" "POLYGONS" "NORMALS" "POLYGONFLAGS" "SHADING" "SHADERANGE" "STYLE" "TXTRCOORD" "TXTRMAP" "VERTCOLORS" "BTMCOLOR" "AMBIENT" "DIFFUSE" "SPECULAR" "EMISSION" "SHININESS" "LINESTYLE" "THICK" "DEPTHOFFSET" "IDLGRPOLYGON_BOTTOM") (inherits "IDLitComponent") (link "objects_gr124.html")) | 1943 | ("IDLgrPolygon" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRPOLYGON_TOP" "IDLGRPOLYGONVERSION" "DATA" "PRECISION" "FILLPATTERN" "POLYGONS" "NORMALS" "POLYGONFLAGS" "SHADING" "SHADERANGE" "STYLE" "TXTRCOORD" "TXTRMAP" "VERTCOLORS" "BTMCOLOR" "AMBIENT" "DIFFUSE" "SPECULAR" "EMISSION" "SHININESS" "LINESTYLE" "THICK" "DEPTHOFFSET" "IDLGRPOLYGON_BOTTOM") (inherits "IDLitComponent") (link "objects_gr124.html")) |
| 1944 | ("IDLgrWindow" (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRWINDOW_TOP" "IDLGRWINDOWVERSION" "WINDOWFLAGS" "CURRENT_ZOOM" "DIMENSIONS" "DISPLAYNAME" "INDEX" "LOCATION" "MINIMUM_VIRTUAL_DIMENSIONS" "ORIGINAL_VIRTUAL_DIMENSIONS" "RENDERER" "RETAIN" "SCREENDIMENSIONS" "SELF" "TITLE" "UNITS" "VIRTUAL_DIMENSIONS" "VISIBLE_LOCATION" "ZOOM_BASE" "ZOOM_NSTEP" "EXTERNAL_WINDOW" "NEXT" "WFILL1" "PARENT" "WFILL2" "IDLGRWINDOW_BOTTOM") (inherits "IDLitComponent") (link "objects_gr235.html")) | 1944 | ("IDLgrWindow" (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRWINDOW_TOP" "IDLGRWINDOWVERSION" "WINDOWFLAGS" "CURRENT_ZOOM" "DIMENSIONS" "DISPLAYNAME" "INDEX" "LOCATION" "MINIMUM_VIRTUAL_DIMENSIONS" "ORIGINAL_VIRTUAL_DIMENSIONS" "RENDERER" "RETAIN" "SCREENDIMENSIONS" "SELF" "TITLE" "UNITS" "VIRTUAL_DIMENSIONS" "VISIBLE_LOCATION" "ZOOM_BASE" "ZOOM_NSTEP" "EXTERNAL_WINDOW" "NEXT" "WFILL1" "PARENT" "WFILL2" "IDLGRWINDOW_BOTTOM") (inherits "IDLitComponent") (link "objects_gr235.html")) |
| 1945 | ("IDLgrROI" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRROI_TOP" "IDLGRROIVERSION" "LINESTYLE" "STYLE" "SYMBOL" "THICK" "IDLGRROI_BOTTOM") (inherits "IDLanROI" "IDLitComponent") (link "objects_gr150.html")) | ||
| 1946 | ("IDLgrPolyline" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRPOLYLINE_TOP" "IDLGRPOLYLINEVERSION" "POLYLINEFLAGS" "DATA" "PRECISION" "LABEL_NOGAPS" "LABEL_OBJECTS" "LABEL_OFFSETS" "LABEL_POLYLINES" "LINESTYLE" "POLYLINES" "SYMBOL" "PSYMBOL" "THICK" "SHADING" "USE_LABEL_COLOR" "USE_LABEL_ORIENTATION" "VERTCOLORS" "LABEL_INFO" "FILL1" "IDLGRPOLYLINE_BOTTOM") (inherits "IDLitComponent") (link "objects_gr131.html")) | 1945 | ("IDLgrPolyline" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRPOLYLINE_TOP" "IDLGRPOLYLINEVERSION" "POLYLINEFLAGS" "DATA" "PRECISION" "LABEL_NOGAPS" "LABEL_OBJECTS" "LABEL_OFFSETS" "LABEL_POLYLINES" "LINESTYLE" "POLYLINES" "SYMBOL" "PSYMBOL" "THICK" "SHADING" "USE_LABEL_COLOR" "USE_LABEL_ORIENTATION" "VERTCOLORS" "LABEL_INFO" "FILL1" "IDLGRPOLYLINE_BOTTOM") (inherits "IDLitComponent") (link "objects_gr131.html")) |
| 1946 | ("IDLgrROI" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRROI_TOP" "IDLGRROIVERSION" "LINESTYLE" "STYLE" "SYMBOL" "THICK" "IDLGRROI_BOTTOM") (inherits "IDLanROI" "IDLitComponent") (link "objects_gr150.html")) | ||
| 1947 | ("IDLitManipulatorManager" (tags "_OOLDCURR" "_ODEFAULT" "_OWINCURR" "_CURROBS") (inherits "IDLitManipulatorContainer") (link "objects_it121.html")) | 1947 | ("IDLitManipulatorManager" (tags "_OOLDCURR" "_ODEFAULT" "_OWINCURR" "_CURROBS") (inherits "IDLitManipulatorContainer") (link "objects_it121.html")) |
| 1948 | ("IDLgrPlot" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRPLOT_TOP" "IDLGRPLOTVERSION" "DATA" "PLOTFLAGS" "LINESTYLE" "PRECISION" "MAXVAL" "MINVAL" "NSUM" "SYMBOL" "PSYMBOL" "THICK" "VERTCOLORS" "ZVALUE" "LINEDATA" "PFILL1" "IDLGRPLOT_BOTTOM") (inherits "IDLitComponent") (link "objects_gr117.html")) | ||
| 1949 | ("IDLgrVolume" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRVOLUME_TOP" "IDLGRVOLUMEVERSION" "AMBIENT" "BOUNDS" "LIMITS" "DIMENSIONS" "COLORTABLE" "COMPOSITEFUNC" "CUTPLANES" "NUMCUTPLANES" "DEPTH_CUE" "OPACITYTABLE" "RENDERSTEP" "DATA" "EDM_VOLUME" "VOLUMEFLAGS" "IDLGRVOLUME_BOTTOM") (inherits "IDLitComponent") (link "objects_gr216.html")) | 1948 | ("IDLgrVolume" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRVOLUME_TOP" "IDLGRVOLUMEVERSION" "AMBIENT" "BOUNDS" "LIMITS" "DIMENSIONS" "COLORTABLE" "COMPOSITEFUNC" "CUTPLANES" "NUMCUTPLANES" "DEPTH_CUE" "OPACITYTABLE" "RENDERSTEP" "DATA" "EDM_VOLUME" "VOLUMEFLAGS" "IDLGRVOLUME_BOTTOM") (inherits "IDLitComponent") (link "objects_gr216.html")) |
| 1949 | ("IDLgrPlot" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRPLOT_TOP" "IDLGRPLOTVERSION" "DATA" "PLOTFLAGS" "LINESTYLE" "PRECISION" "MAXVAL" "MINVAL" "NSUM" "SYMBOL" "PSYMBOL" "THICK" "VERTCOLORS" "ZVALUE" "LINEDATA" "PFILL1" "IDLGRPLOT_BOTTOM") (inherits "IDLitComponent") (link "objects_gr117.html")) | ||
| 1950 | ("IDLgrROIGroup" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRROIGROUP_TOP" "IDLGRROIGROUPVERSION" "IDLGRROIGROUP_BOTTOM") (inherits "IDLanROIGroup" "IDLitComponent") (link "objects_gr157.html")) | 1950 | ("IDLgrROIGroup" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRROIGROUP_TOP" "IDLGRROIGROUPVERSION" "IDLGRROIGROUP_BOTTOM") (inherits "IDLanROIGroup" "IDLitComponent") (link "objects_gr157.html")) |
| 1951 | ("IDLgrText" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRTEXT_TOP" "IDLGRTEXTVERSION" "TEXTFLAGS" "ALIGNMENT" "BASELINE" "CHAR_DIMENSIONS" "RECOMP_CTM" "FONT" "LOCATIONS" "STRINGS" "SUBPARENT" "UPDIR" "VERTICAL_ALIGNMENT" "FILL_COLOR" "RENDER_MODE" "IDLGRTEXT_BOTTOM") (inherits "IDLitComponent") (link "objects_gr193.html")) | 1951 | ("IDLgrText" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRTEXT_TOP" "IDLGRTEXTVERSION" "TEXTFLAGS" "ALIGNMENT" "BASELINE" "CHAR_DIMENSIONS" "RECOMP_CTM" "FONT" "LOCATIONS" "STRINGS" "SUBPARENT" "UPDIR" "VERTICAL_ALIGNMENT" "FILL_COLOR" "RENDER_MODE" "IDLGRTEXT_BOTTOM") (inherits "IDLitComponent") (link "objects_gr193.html")) |
| 1952 | ("IDLitManipulatorContainer" (tags "_BISMESSAGER" "_CLASSNAME" "_OCHILDREN" "M_BAUTOSWITCH" "M_CURRMANIP") (inherits "IDLitManipulator" "IDL_Container") (link "objects_it107.html")) | 1952 | ("IDLitManipulatorContainer" (tags "_BISMESSAGER" "_CLASSNAME" "_OCHILDREN" "M_BAUTOSWITCH" "M_CURRMANIP") (inherits "IDLitManipulator" "IDL_Container") (link "objects_it107.html")) |
| @@ -1955,33 +1955,33 @@ | |||
| 1955 | ("IDLgrImage" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRIMAGE_TOP" "IDLGRIMAGEVERSION" "CHANNEL" "DATA" "DIMENSIONS" "SUB_RECT" "IMAGEFLAGS" "LOCATION" "INTERLEAVE" "INTERPOLATE" "BLEND_FUNCTIONS" "IDLGRIMAGE_BOTTOM") (inherits "IDLitComponent") (link "objects_gr58.html")) | 1955 | ("IDLgrImage" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRIMAGE_TOP" "IDLGRIMAGEVERSION" "CHANNEL" "DATA" "DIMENSIONS" "SUB_RECT" "IMAGEFLAGS" "LOCATION" "INTERLEAVE" "INTERPOLATE" "BLEND_FUNCTIONS" "IDLGRIMAGE_BOTTOM") (inherits "IDLitComponent") (link "objects_gr58.html")) |
| 1956 | ("IDLgrLight" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRLIGHT_TOP" "IDLGRLIGHTVERSION" "ATTENUATION" "CONEANGLE" "DIRECTION" "FOCUS" "INTENSITY" "LOCATION" "TYPE" "IDLGRLIGHT_BOTTOM") (inherits "IDLitComponent") (link "objects_gr72.html")) | 1956 | ("IDLgrLight" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "ALPHACHANNEL" "CLIP_PLANES" "COLOR" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRLIGHT_TOP" "IDLGRLIGHTVERSION" "ATTENUATION" "CONEANGLE" "DIRECTION" "FOCUS" "INTENSITY" "LOCATION" "TYPE" "IDLGRLIGHT_BOTTOM") (inherits "IDLitComponent") (link "objects_gr72.html")) |
| 1957 | ("IDLgrView" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRCONTAINER_TOP" "IDLGRCONTAINERVERSION" "ISDYING" "IDLGRCONTAINER_BOTTOM" "IDLGRVIEW_TOP" "IDLGRVIEWVERSION" "VIEWFLAGS" "COLOR" "DEPTH_CUE" "DIMENSIONS" "PRECISION" "EYE" "LOCATION" "OBLIQUE" "PROJECTION" "TRANSPARENT" "UNITS" "VIEW" "ZCLIP" "IDLGRVIEW_BOTTOM") (inherits "IDLitComponent" "IDL_Container") (link "objects_gr200.html")) | 1957 | ("IDLgrView" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRCONTAINER_TOP" "IDLGRCONTAINERVERSION" "ISDYING" "IDLGRCONTAINER_BOTTOM" "IDLGRVIEW_TOP" "IDLGRVIEWVERSION" "VIEWFLAGS" "COLOR" "DEPTH_CUE" "DIMENSIONS" "PRECISION" "EYE" "LOCATION" "OBLIQUE" "PROJECTION" "TRANSPARENT" "UNITS" "VIEW" "ZCLIP" "IDLGRVIEW_BOTTOM") (inherits "IDLitComponent" "IDL_Container") (link "objects_gr200.html")) |
| 1958 | ("IDLgrClipboard" (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRCLIPBOARD_TOP" "IDLGRCLIPBOARDVERSION" "UNITS" "DIMENSIONS" "FILENAME" "VECTOR" "POSTSCRIPT" "IDLGRCLIPBOARD_BOTTOM") (inherits "IDLitComponent") (link "objects_gr25.html")) | ||
| 1959 | ("IDLgrVRML" (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRVRML_TOP" "IDLGRVRMLVERSION" "UNITS" "DIMENSIONS" "FILENAME" "WORLDINFO" "WORLDTITLE" "IDLGRVRML_BOTTOM") (inherits "IDLitComponent") (link "objects_gr225.html")) | 1958 | ("IDLgrVRML" (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRVRML_TOP" "IDLGRVRMLVERSION" "UNITS" "DIMENSIONS" "FILENAME" "WORLDINFO" "WORLDTITLE" "IDLGRVRML_BOTTOM") (inherits "IDLitComponent") (link "objects_gr225.html")) |
| 1960 | ("IDLitManipulator" (tags "PSELECTIONLIST" "NSELECTIONLIST" "BUTTONPRESS" "_OCMDSET" "_TYPES" "_OHITVIS" "_OHITVIEWGROUP" "_PSUBHITLIST" "_STRVISUALTYPE" "_IDOPERATION" "_IDPARAMETER" "_DEFAULTCURSOR" "_SUBTYPE" "_STRTMPMSG" "_SKIPMACROHISTORY" "_TRANSMOTION" "_INTRANSMOTION" "_TRANSIENT" "_KEYTRANSIENT" "_DISABLE" "_VIEWMODE" "_UIEVENTMASK" "_OLDQUALITY" "_DRAQQUAL" "_NORMALIZEDZ") (inherits "IDLitComponent" "IDLitIMessaging") (link "objects_it91.html")) | 1959 | ("IDLgrClipboard" (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRCLIPBOARD_TOP" "IDLGRCLIPBOARDVERSION" "UNITS" "DIMENSIONS" "FILENAME" "VECTOR" "POSTSCRIPT" "IDLGRCLIPBOARD_BOTTOM") (inherits "IDLitComponent") (link "objects_gr25.html")) |
| 1961 | ("IDLgrPrinter" (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRPRINTER_TOP" "IDLGRPRINTERVERSION" "PRINTERFLAGS" "NCOPIES" "UNITS" "GAMMA" "IDLGRPRINTER_BOTTOM") (inherits "IDLitComponent") (link "objects_gr138.html")) | 1960 | ("IDLgrPrinter" (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRPRINTER_TOP" "IDLGRPRINTERVERSION" "PRINTERFLAGS" "NCOPIES" "UNITS" "GAMMA" "IDLGRPRINTER_BOTTOM") (inherits "IDLitComponent") (link "objects_gr138.html")) |
| 1961 | ("IDLitManipulator" (tags "PSELECTIONLIST" "NSELECTIONLIST" "BUTTONPRESS" "_OCMDSET" "_TYPES" "_OHITVIS" "_OHITVIEWGROUP" "_PSUBHITLIST" "_STRVISUALTYPE" "_IDOPERATION" "_IDPARAMETER" "_DEFAULTCURSOR" "_SUBTYPE" "_STRTMPMSG" "_SKIPMACROHISTORY" "_TRANSMOTION" "_INTRANSMOTION" "_TRANSIENT" "_KEYTRANSIENT" "_DISABLE" "_VIEWMODE" "_UIEVENTMASK" "_OLDQUALITY" "_DRAQQUAL" "_NORMALIZEDZ") (inherits "IDLitComponent" "IDLitIMessaging") (link "objects_it91.html")) | ||
| 1962 | ("IDLgrModel" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRCONTAINER_TOP" "IDLGRCONTAINERVERSION" "ISDYING" "IDLGRCONTAINER_BOTTOM" "IDLGRMODEL_TOP" "IDLGRMODELVERSION" "MODELFLAGS" "CLIP_PLANES" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "TRANSFORM" "IDLGRMODEL_BOTTOM") (inherits "IDLitComponent" "IDL_Container") (link "objects_gr79.html")) | 1962 | ("IDLgrModel" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRCONTAINER_TOP" "IDLGRCONTAINERVERSION" "ISDYING" "IDLGRCONTAINER_BOTTOM" "IDLGRMODEL_TOP" "IDLGRMODELVERSION" "MODELFLAGS" "CLIP_PLANES" "DEPTH_TEST_DISABLE" "DEPTH_TEST_FUNCTION" "DEPTH_WRITE_DISABLE" "TRANSFORM" "IDLGRMODEL_BOTTOM") (inherits "IDLitComponent" "IDL_Container") (link "objects_gr79.html")) |
| 1963 | ("IDLgrBuffer" (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRBUFFER_TOP" "IDLGRBUFFERVERSION" "UNITS" "DIMENSIONS" "IDLGRBUFFER_BOTTOM") (inherits "IDLitComponent") (link "objects_gr10.html")) | 1963 | ("IDLgrBuffer" (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRBUFFER_TOP" "IDLGRBUFFERVERSION" "UNITS" "DIMENSIONS" "IDLGRBUFFER_BOTTOM") (inherits "IDLitComponent") (link "objects_gr10.html")) |
| 1964 | ("IDLitParameterSet" (tags "_PNAMES") (inherits "IDLitDataContainer") (link "objects_it159.html")) | 1964 | ("IDLitParameterSet" (tags "_PNAMES") (inherits "IDLitDataContainer") (link "objects_it159.html")) |
| 1965 | ("IDLitDataContainer" (tags "_BISMESSAGER" "_CLASSNAME" "_OCHILDREN" "_IDISABLE" "_IUPDATES" "_BINSEARCH") (inherits "IDLitData" "IDL_Container") (link "objects_it59.html")) | 1965 | ("IDLitDataContainer" (tags "_ONOTIFIER" "_PDATA" "_PMETADATA" "_TYPE" "_AUTODELETE" "_NREF" "_PDESTRUCT" "_HIDE" "_READ_ONLY" "_IDISABLE" "_IUPDATES" "_BINSEARCH") (inherits "IDLitContainer") (link "objects_it59.html")) |
| 1966 | ("IDLgrScene" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRCONTAINER_TOP" "IDLGRCONTAINERVERSION" "ISDYING" "IDLGRCONTAINER_BOTTOM" "IDLGRSCENE_TOP" "IDLGRSCENEVERSION" "COLOR" "TRANSPARENT" "IDLGRSCENE_BOTTOM") (inherits "IDLitComponent" "IDL_Container") (link "objects_gr165.html")) | 1966 | ("IDLgrScene" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRCONTAINER_TOP" "IDLGRCONTAINERVERSION" "ISDYING" "IDLGRCONTAINER_BOTTOM" "IDLGRSCENE_TOP" "IDLGRSCENEVERSION" "COLOR" "TRANSPARENT" "IDLGRSCENE_BOTTOM") (inherits "IDLitComponent" "IDL_Container") (link "objects_gr165.html")) |
| 1967 | ("IDLitUI" (tags "_MENUBARS" "_TOOLBARS" "_STATUSBAR" "_UISERVICES" "_PDISPATCHSUBJECT" "_PDISPATCHOBSERVER" "_OTOOL" "_IDISPATCH" "_WBASE") (inherits "IDLitContainer") (link "objects_it222.html")) | ||
| 1968 | ("IDLgrViewgroup" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRCONTAINER_TOP" "IDLGRCONTAINERVERSION" "ISDYING" "IDLGRCONTAINER_BOTTOM" "IDLGRVIEWGROUP_TOP" "IDLGRVIEWGROUPVERSION" "IDLGRVIEWGROUP_BOTTOM") (inherits "IDLitComponent" "IDL_Container") (link "objects_gr208.html")) | 1967 | ("IDLgrViewgroup" (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "PARENT" "IDLGRCOMPONENT_BOTTOM" "IDLGRCONTAINER_TOP" "IDLGRCONTAINERVERSION" "ISDYING" "IDLGRCONTAINER_BOTTOM" "IDLGRVIEWGROUP_TOP" "IDLGRVIEWGROUPVERSION" "IDLGRVIEWGROUP_BOTTOM") (inherits "IDLitComponent" "IDL_Container") (link "objects_gr208.html")) |
| 1968 | ("IDLitUI" (tags "_MENUBARS" "_TOOLBARS" "_STATUSBAR" "_UISERVICES" "_PDISPATCHSUBJECT" "_PDISPATCHOBSERVER" "_OTOOL" "_IDISPATCH" "_WBASE") (inherits "IDLitContainer") (link "objects_it222.html")) | ||
| 1969 | ("IDLitDataOperation" (tags "_NAN" "_WITHINUI" "_RECORDPROPERTIES") (inherits "IDLitOperation") (link "objects_it69.html")) | 1969 | ("IDLitDataOperation" (tags "_NAN" "_WITHINUI" "_RECORDPROPERTIES") (inherits "IDLitOperation") (link "objects_it69.html")) |
| 1970 | ("IDLgrMPEG" (tags "IDLGRMPEG_TOP" "IDLGRMPEGVERSION" "DIMENSIONS" "FILENAME" "FORMAT" "FRAMERATE" "INTERLACED" "QUALITY" "SCALE" "STATISTICS" "DISPLAYDIMS" "FIRSTFRAME" "LASTFRAME" "MPEGID" "TEMPNODE" "TEMPNODEFILLER" "TEMP_DIRECTORY" "BITRATE" "IFRAME_GAP" "MOTION_LENGTH" "FLAGS" "IDLGRMPEG_BOTTOM") (link "objects_gr93.html")) | 1970 | ("IDLgrMPEG" (tags "IDLGRMPEG_TOP" "IDLGRMPEGVERSION" "DIMENSIONS" "FILENAME" "FORMAT" "FRAMERATE" "INTERLACED" "QUALITY" "SCALE" "STATISTICS" "DISPLAYDIMS" "FIRSTFRAME" "LASTFRAME" "MPEGID" "TEMPNODE" "TEMPNODEFILLER" "TEMP_DIRECTORY" "BITRATE" "IFRAME_GAP" "MOTION_LENGTH" "FLAGS" "IDLGRMPEG_BOTTOM") (link "objects_gr93.html")) |
| 1971 | ("IDLitCommandSet" (inherits "IDLitCommand" "IDL_Container") (link "objects_it12.html")) | 1971 | ("IDLitCommandSet" (inherits "IDLitCommand" "IDL_Container") (link "objects_it12.html")) |
| 1972 | ("IDLitData" (tags "_ONOTIFIER" "_PDATA" "_PMETADATA" "_TYPE" "_AUTODELETE" "_NREF" "_PDESTRUCT" "_HIDE" "_READ_ONLY") (inherits "IDLitComponent") (link "objects_it44.html")) | ||
| 1973 | ("IDLitOperation" (tags "_BEXPENSIVE" "_REVERSIBLE" "_BSHOWEXECUTIONUI" "_BSKIPHISTORY" "_BSKIPMACRO" "_BMACROSHOWUIIFNULLCMD" "_BMACROSUPPRESSREFRESH" "_TYPES") (inherits "IDLitComponent" "IDLitIMessaging") (link "objects_it134.html")) | ||
| 1974 | ("IDLitContainer" (tags "_BISMESSAGER" "_CLASSNAME" "_OCHILDREN") (inherits "IDLitComponent" "IDL_Container") (link "objects_it33.html")) | 1972 | ("IDLitContainer" (tags "_BISMESSAGER" "_CLASSNAME" "_OCHILDREN") (inherits "IDLitComponent" "IDL_Container") (link "objects_it33.html")) |
| 1973 | ("IDLitOperation" (tags "_BEXPENSIVE" "_REVERSIBLE" "_BSHOWEXECUTIONUI" "_BSKIPHISTORY" "_BSKIPMACRO" "_BMACROSHOWUIIFNULLCMD" "_BMACROSUPPRESSREFRESH" "_TYPES") (inherits "IDLitComponent" "IDLitIMessaging") (link "objects_it134.html")) | ||
| 1974 | ("IDLitData" (tags "_ONOTIFIER" "_PDATA" "_PMETADATA" "_TYPE" "_AUTODELETE" "_NREF" "_PDESTRUCT" "_HIDE" "_READ_ONLY") (inherits "IDLitComponent") (link "objects_it44.html")) | ||
| 1975 | ("IDLitWriter" (tags "_TYPES" "_BITDEPTH" "_GRAPHICSFORMAT" "_SCALEFACTOR") (inherits "IDLitReader") (link "objects_it311.html")) | 1975 | ("IDLitWriter" (tags "_TYPES" "_BITDEPTH" "_GRAPHICSFORMAT" "_SCALEFACTOR") (inherits "IDLitReader") (link "objects_it311.html")) |
| 1976 | ("IDLdbRecordset" (tags "IDLDBRECORDSET_TOP" "IDLDBRECORDSETVERSION" "ISTABLE" "PDBOBJ" "ISREADONLY" "NFIELDS" "CURROW" "SOURCE" "CURSORTYPE" "PFIELDS" "PSDEF" "ROWSTATUS" "ROWSET" "ROWPOS" "HSTMT" "HDBC" "IDLDBRECORDSET_BOTTOM") (link "api14.html")) | 1976 | ("IDLdbRecordset" (tags "IDLDBRECORDSET_TOP" "IDLDBRECORDSETVERSION" "ISTABLE" "PDBOBJ" "ISREADONLY" "NFIELDS" "CURROW" "SOURCE" "CURSORTYPE" "PFIELDS" "PSDEF" "ROWSTATUS" "ROWSET" "ROWPOS" "HSTMT" "HDBC" "IDLDBRECORDSET_BOTTOM") (link "api14.html")) |
| 1977 | ("IDLdbDatabase" (tags "IDLDBDATABASE_TOP" "IDLDBDATABASEVERSION" "READONLY" "ISCONNECTED" "FETCHDIR" "POSOPS" "POSSTATEMENTS" "SCROLLCONCUR" "SCROLLOPTIONS" "STATICSENSE" "GETDATAEXT" "USINGCURSOR" "NSTATEMENTS" "P_RECOBJS" "HDBC" "IDLDBDATABASE_BOTTOM") (link "api6.html")) | ||
| 1978 | ("IDLitCommand" (tags "_PDATADICTIONARY" "_SIZEITEMS" "_STRIDTARGET" "_STRIDOPERATION") (inherits "IDLitComponent") (link "objects_it3.html")) | ||
| 1979 | ("IDLffLangCat" (tags "FILENAMES" "_AVAILABLE_FILES" "LANGUAGE" "DEFAULT_LANGUAGE" "APPLICATIONS" "APPLICATION_PATH" "KEYS" "N_KEYS" "STRINGS" "DEF_KEYS" "N_DEF_KEYS" "DEF_STRINGS" "AVAILABLE_LANGUAGES" "VERBOSE" "STRICT" "IDLFFLANGCATVERSION") (link "objects_ff44.html")) | 1977 | ("IDLffLangCat" (tags "FILENAMES" "_AVAILABLE_FILES" "LANGUAGE" "DEFAULT_LANGUAGE" "APPLICATIONS" "APPLICATION_PATH" "KEYS" "N_KEYS" "STRINGS" "DEF_KEYS" "N_DEF_KEYS" "DEF_STRINGS" "AVAILABLE_LANGUAGES" "VERBOSE" "STRICT" "IDLFFLANGCATVERSION") (link "objects_ff44.html")) |
| 1978 | ("IDLitCommand" (tags "_PDATADICTIONARY" "_SIZEITEMS" "_STRIDTARGET" "_STRIDOPERATION") (inherits "IDLitComponent") (link "objects_it3.html")) | ||
| 1979 | ("IDLdbDatabase" (tags "IDLDBDATABASE_TOP" "IDLDBDATABASEVERSION" "READONLY" "ISCONNECTED" "FETCHDIR" "POSOPS" "POSSTATEMENTS" "SCROLLCONCUR" "SCROLLOPTIONS" "STATICSENSE" "GETDATAEXT" "USINGCURSOR" "NSTATEMENTS" "P_RECOBJS" "HDBC" "IDLDBDATABASE_BOTTOM") (link "api6.html")) | ||
| 1980 | ("IDLitReader" (tags "_STRFILENAME" "_PEXTENSIONS") (inherits "IDLitComponent" "IDLitIMessaging") (link "objects_it169.html")) | 1980 | ("IDLitReader" (tags "_STRFILENAME" "_PEXTENSIONS") (inherits "IDLitComponent" "IDLitIMessaging") (link "objects_it169.html")) |
| 1981 | ("IDLanROI" (tags "IDLANROI_TOP" "IDLANROIVERSION" "IDLANROIFLAGS" "NALLOCVERTS" "NUSEDVERTS" "BLOCKSIZE" "DATA" "TYPE" "PRECISION" "PLANE" "ROI_XRANGE" "ROI_YRANGE" "ROI_ZRANGE" "IDLANROI_BOTTOM") (link "objects_an3.html")) | 1981 | ("IDLanROI" (tags "IDLANROI_TOP" "IDLANROIVERSION" "IDLANROIFLAGS" "NALLOCVERTS" "NUSEDVERTS" "BLOCKSIZE" "DATA" "TYPE" "PRECISION" "PLANE" "ROI_XRANGE" "ROI_YRANGE" "ROI_ZRANGE" "IDLANROI_BOTTOM") (link "objects_an3.html")) |
| 1982 | ("IDLgrPalette" (tags "IDLGRPALETTE_TOP" "IDLGRPALETTE_SERIALNUM" "IDLGRPALETTEVERSION" "GAMMA" "BOTTOMSTRETCH" "TOPSTRETCH" "NENTRIES" "ORIGLUT" "CURRLUT" "INVTABLE" "UVALUE" "NAME" "IDLGRPALETTE_BOTTOM") (link "objects_gr101.html")) | ||
| 1983 | ("IDLanROIGroup" (tags "IDLANROIGROUP_TOP" "IDLANROIGROUPVERSION" "IDLANROIGROUPFLAGS" "ROIGROUP_XRANGE" "ROIGROUP_YRANGE" "ROIGROUP_ZRANGE" "IDLANROIGROUP_BOTTOM") (inherits "IDL_Container") (link "objects_an18.html")) | 1982 | ("IDLanROIGroup" (tags "IDLANROIGROUP_TOP" "IDLANROIGROUPVERSION" "IDLANROIGROUPFLAGS" "ROIGROUP_XRANGE" "ROIGROUP_YRANGE" "ROIGROUP_ZRANGE" "IDLANROIGROUP_BOTTOM") (inherits "IDL_Container") (link "objects_an18.html")) |
| 1984 | ("IDLffXMLDOMDocument" (tags "IDLFFXMLDOMDOCUMENT_TOP" "_DOM_IMPLEMENTATION" "_DOM_PARSER" "_DOM_ERROR_REPORTER" "_DOM_MEMORY_MANAGER" "IDLFFXMLDOMDOCUMENT_BOTTOM") (inherits "IDLffXMLDOMNode") (link "objects_ff102.html")) | 1983 | ("IDLffXMLDOMDocument" (tags "IDLFFXMLDOMDOCUMENT_TOP" "_DOM_IMPLEMENTATION" "_DOM_PARSER" "_DOM_ERROR_REPORTER" "_DOM_MEMORY_MANAGER" "IDLFFXMLDOMDOCUMENT_BOTTOM") (inherits "IDLffXMLDOMText") (link "objects_ff102.html")) |
| 1984 | ("IDLgrPalette" (tags "IDLGRPALETTE_TOP" "IDLGRPALETTE_SERIALNUM" "IDLGRPALETTEVERSION" "GAMMA" "BOTTOMSTRETCH" "TOPSTRETCH" "NENTRIES" "ORIGLUT" "CURRLUT" "INVTABLE" "UVALUE" "NAME" "IDLGRPALETTE_BOTTOM") (link "objects_gr101.html")) | ||
| 1985 | ("IDLitComponent" (tags "IDLITCOMPONENT_TOP" "IDLITCOMPONENTVERSION" "DESCRIPTION" "NAME" "ICON" "IDENTIFIER" "HELP" "UVALUE" "_PARENT" "PROPERTYDESCRIPTORS" "_FLAGS" "IDLITCOMPONENT_BOTTOM") (link "objects_it17.html")) | 1985 | ("IDLitComponent" (tags "IDLITCOMPONENT_TOP" "IDLITCOMPONENTVERSION" "DESCRIPTION" "NAME" "ICON" "IDENTIFIER" "HELP" "UVALUE" "_PARENT" "PROPERTYDESCRIPTORS" "_FLAGS" "IDLITCOMPONENT_BOTTOM") (link "objects_it17.html")) |
| 1986 | ("IDLgrSymbol" (tags "IDLGRSYMBOL_TOP" "IDLGRSYMBOLVERSION" "COLOR" "DATA" "SIZE" "THICK" "FLAGS" "UVALUE" "NAME" "ALPHA_CHANNEL" "IDLGRSYMBOL_BOTTOM") (link "objects_gr180.html")) | 1986 | ("IDLgrSymbol" (tags "IDLGRSYMBOL_TOP" "IDLGRSYMBOLVERSION" "COLOR" "DATA" "SIZE" "THICK" "FLAGS" "UVALUE" "NAME" "ALPHA_CHANNEL" "IDLGRSYMBOL_BOTTOM") (link "objects_gr180.html")) |
| 1987 | ("IDLgrFont" (tags "IDLGRFONT_TOP" "IDLGRFONTVERSION" "FONTFLAGS" "HERSHEY" "NAME" "SIZE" "SUBSTITUTE" "THICK" "ID" "UVALUE" "IDLGRFONT_BOTTOM") (link "objects_gr52.html")) | 1987 | ("IDLgrFont" (tags "IDLGRFONT_TOP" "IDLGRFONTVERSION" "FONTFLAGS" "HERSHEY" "NAME" "SIZE" "SUBSTITUTE" "THICK" "ID" "UVALUE" "IDLGRFONT_BOTTOM") (link "objects_gr52.html")) |
| @@ -1989,45 +1989,45 @@ | |||
| 1989 | ("IDLffDXF" (tags "IDLFFDXF_TOP" "IDLFFDXFVERSION" "DXFREADVALID" "DXFHANDLEVALID" "DXFLUT" "SERIAL" "DXFHANDLE" "DXFHANDLEFILLER" "IDLFFDXF_BOTTOM") (link "objects_ff21.html")) | 1989 | ("IDLffDXF" (tags "IDLFFDXF_TOP" "IDLFFDXFVERSION" "DXFREADVALID" "DXFHANDLEVALID" "DXFLUT" "SERIAL" "DXFHANDLE" "DXFHANDLEFILLER" "IDLFFDXF_BOTTOM") (link "objects_ff21.html")) |
| 1990 | ("IDLffShape" (tags "IDLFFSHAPE_TOP" "IDLFFSHAPEVERSION" "FILENAME" "ISOPEN" "SHPTYPE" "PATTRIBUTE" "SHAPEHANDLE" "DBFHANDLE" "IDLFFSHAPE_BOTTOM") (link "objects_ff59.html")) | 1990 | ("IDLffShape" (tags "IDLFFSHAPE_TOP" "IDLFFSHAPEVERSION" "FILENAME" "ISOPEN" "SHPTYPE" "PATTRIBUTE" "SHAPEHANDLE" "DBFHANDLE" "IDLFFSHAPE_BOTTOM") (link "objects_ff59.html")) |
| 1991 | ("IDLffXMLSAX" (tags "IDLFFXMLSAX_TOP" "IDLFFXMLSAXVERSION" "VALIDATION_MODE" "HALT_PROCESSING" "FILENAME" "_XML_PARSER" "_XML_LOCATOR" "IDLFFXMLSAX_BOTTOM") (link "objects_ff209.html")) | 1991 | ("IDLffXMLSAX" (tags "IDLFFXMLSAX_TOP" "IDLFFXMLSAXVERSION" "VALIDATION_MODE" "HALT_PROCESSING" "FILENAME" "_XML_PARSER" "_XML_LOCATOR" "IDLFFXMLSAX_BOTTOM") (link "objects_ff209.html")) |
| 1992 | ("IDLffDICOM" (tags "IDLFFDICOM_TOP" "IDLFFDICOMVERSION" "DICOMFLAGS" "DICOMELEMENTS" "DICOMPREAMBLE" "DICOMHANDLE" "DICOMHANDLEFILLER" "IDLFFDICOM_BOTTOM") (link "objects_ff3.html")) | ||
| 1993 | ("TrackBall" (tags "BTNDOWN" "AXIS" "CONSTRAIN" "MOUSE" "CENTER" "RADIUS" "PT0" "PT1") (link "objects_misc33.html")) | 1992 | ("TrackBall" (tags "BTNDOWN" "AXIS" "CONSTRAIN" "MOUSE" "CENTER" "RADIUS" "PT0" "PT1") (link "objects_misc33.html")) |
| 1994 | ("IDLgrTessellator" (tags "IDLGRTESSELLATOR_TOP" "IDLGRTESSELLATORVERSION" "ITESSFLAGS" "IVERTS" "HVIDLIST" "IAUXSIZE" "IAUXTYPE" "IDLGRTESSELLATOR_BOTTOM") (link "objects_gr186.html")) | 1993 | ("IDLgrTessellator" (tags "IDLGRTESSELLATOR_TOP" "IDLGRTESSELLATORVERSION" "ITESSFLAGS" "IVERTS" "HVIDLIST" "IAUXSIZE" "IAUXTYPE" "IDLGRTESSELLATOR_BOTTOM") (link "objects_gr186.html")) |
| 1995 | ("IDLffXMLDOMNode" (inherits "IDLffXMLDOMDocumentType") (link "objects_ff162.html")) | 1994 | ("IDLffDICOM" (tags "IDLFFDICOM_TOP" "IDLFFDICOMVERSION" "DICOMFLAGS" "DICOMELEMENTS" "DICOMPREAMBLE" "DICOMHANDLE" "DICOMHANDLEFILLER" "IDLFFDICOM_BOTTOM") (link "objects_ff3.html")) |
| 1996 | ("IDLffXMLDOMDocumentType" (inherits "IDLffXMLDOMElement") (link "objects_ff123.html")) | 1995 | ("IDLffXMLDOMText" (inherits "IDLffXMLDOMProcessingInstruction") (link "objects_ff203.html")) |
| 1996 | ("IDLffXMLDOMProcessingInstruction" (inherits "IDLffXMLDOMAttr") (link "objects_ff196.html")) | ||
| 1997 | ("IDLffXMLDOMAttr" (inherits "IDLffXMLDOMElement") (link "objects_ff74.html")) | ||
| 1998 | ("IDLffXMLDOMElement" (inherits "IDLffXMLDOMNode") (link "objects_ff130.html")) | ||
| 1997 | ("IDLffXMLDOMNamedNodeMap" (tags "IDLFFXMLDOMNAMEDNODEMAP_TOP" "IDLFFXMLDOMNAMEDNODEMAPVERSION" "_IDLFFXMLDOMNAMEDNODEMAPNODE" "_IDLFFXMLDOMNAMEDNODEMAPOWNEDNODES" "_IDLFFXMLDOMNAMEDNODEMAPOWNER" "_IDLFFXMLDOMNAMEDNODEMAPDOCUMENT" "IDLFFXMLDOMNAMEDNODEMAP_BOTTOM") (link "objects_ff153.html")) | 1999 | ("IDLffXMLDOMNamedNodeMap" (tags "IDLFFXMLDOMNAMEDNODEMAP_TOP" "IDLFFXMLDOMNAMEDNODEMAPVERSION" "_IDLFFXMLDOMNAMEDNODEMAPNODE" "_IDLFFXMLDOMNAMEDNODEMAPOWNEDNODES" "_IDLFFXMLDOMNAMEDNODEMAPOWNER" "_IDLFFXMLDOMNAMEDNODEMAPDOCUMENT" "IDLFFXMLDOMNAMEDNODEMAP_BOTTOM") (link "objects_ff153.html")) |
| 1998 | ("IDLffXMLDOMElement" (inherits "IDLffXMLDOMNotation") (link "objects_ff130.html")) | 2000 | ("IDLffXMLDOMNode" (inherits "IDLffXMLDOMNotation") (link "objects_ff162.html")) |
| 1999 | ("IDLffXMLDOMNotation" (inherits "IDLffXMLDOMEntity") (link "objects_ff190.html")) | 2001 | ("IDLffXMLDOMNotation" (inherits "IDLffXMLDOMCharacterData") (link "objects_ff190.html")) |
| 2000 | ("IDLffXMLDOMEntity" (inherits "IDLffXMLDOMCharacterData") (link "objects_ff142.html")) | ||
| 2001 | ("IDLffXMLDOMCharacterData" (inherits "IDLffXMLDOMProcessingInstruction") (link "objects_ff86.html")) | ||
| 2002 | ("IDLffXMLDOMProcessingInstruction" (inherits "IDLffXMLDOMText") (link "objects_ff196.html")) | ||
| 2003 | ("IDLffXMLDOMText" (inherits "IDLffXMLDOMAttr") (link "objects_ff203.html")) | ||
| 2004 | ("IDLffXMLDOMAttr" (tags "IDLFFXMLDOMNODE_TOP" "IDLFFXMLDOMNODEVERSION" "_IDLFFXMLDOMNODEDOMNODE" "_IDLFFXMLDOMNODEOWNEDNODES" "_IDLFFXMLDOMNODEOWNER" "_IDLFFXMLDOMNODEDOCUMENT" "IDLFFXMLDOMNODE_BOTTOM") (link "objects_ff74.html")) | ||
| 2005 | ("IDLffXMLDOMNodeList" (tags "IDLFFXMLDOMNODELIST_TOP" "IDLFFXMLDOMNODELISTVERSION" "_IDLFFXMLDOMNODELISTNODE" "_IDLFFXMLDOMNODELISTOWNEDNODES" "_IDLFFXMLDOMNODELISTOWNER" "_IDLFFXMLDOMNODELISTDOCUMENT" "IDLFFXMLDOMNODELIST_BOTTOM") (link "objects_ff184.html")) | 2002 | ("IDLffXMLDOMNodeList" (tags "IDLFFXMLDOMNODELIST_TOP" "IDLFFXMLDOMNODELISTVERSION" "_IDLFFXMLDOMNODELISTNODE" "_IDLFFXMLDOMNODELISTOWNEDNODES" "_IDLFFXMLDOMNODELISTOWNER" "_IDLFFXMLDOMNODELISTDOCUMENT" "IDLFFXMLDOMNODELIST_BOTTOM") (link "objects_ff184.html")) |
| 2003 | ("IDLffXMLDOMCharacterData" (inherits "IDLffXMLDOMEntity") (link "objects_ff86.html")) | ||
| 2004 | ("IDLffXMLDOMEntity" (inherits "IDLffXMLDOMDocumentType") (link "objects_ff142.html")) | ||
| 2005 | ("IDLffXMLDOMDocumentType" (tags "IDLFFXMLDOMNODE_TOP" "IDLFFXMLDOMNODEVERSION" "_IDLFFXMLDOMNODEDOMNODE" "_IDLFFXMLDOMNODEOWNEDNODES" "_IDLFFXMLDOMNODEOWNER" "_IDLFFXMLDOMNODEDOCUMENT" "IDLFFXMLDOMNODE_BOTTOM") (link "objects_ff123.html")) | ||
| 2006 | ("IDL_Container" (tags "IDL_CONTAINER_TOP" "IDLCONTAINERVERSION" "PHEAD" "PTAIL" "NLIST" "IDL_CONTAINER_BOTTOM") (link "objects_misc3.html")) | 2006 | ("IDL_Container" (tags "IDL_CONTAINER_TOP" "IDLCONTAINERVERSION" "PHEAD" "PTAIL" "NLIST" "IDL_CONTAINER_BOTTOM") (link "objects_misc3.html")) |
| 2007 | ("IDLffJPEG2000" (tags "IDLFFJPEG2000_TOP" "CJPEG2000PTR" "IDLFFJPEG2000_BOTTOM") (link "objects_ff34.html")) | 2007 | ("IDLffJPEG2000" (tags "IDLFFJPEG2000_TOP" "CJPEG2000PTR" "IDLFFJPEG2000_BOTTOM") (link "objects_ff34.html")) |
| 2008 | ("IDLitParameter" (tags "_OPARAMETERDESCRIPTORS" "_OPARAMETERSET" "_PPARAMNAMES") (link "objects_it145.html")) | 2008 | ("IDLitParameter" (tags "_OPARAMETERDESCRIPTORS" "_OPARAMETERSET" "_PPARAMNAMES") (link "objects_it145.html")) |
| 2009 | ("IDL_Savefile" (tags "IDL_SAVEFILE_FILENAME" "IDL_SAVEFILE_RELAXED_STRUCTURE_ASSIGNMENT") (link "objects_misc13.html")) | 2009 | ("IDL_Savefile" (tags "IDL_SAVEFILE_FILENAME" "IDL_SAVEFILE_RELAXED_STRUCTURE_ASSIGNMENT") (link "objects_misc13.html")) |
| 2010 | ("IDLitIMessaging" (tags "__OTOOL") (link "objects_it78.html")) | 2010 | ("IDLitIMessaging" (tags "__OTOOL") (link "objects_it78.html")) |
| 2011 | ("IDLjavaObject" (link "objects_misc28.html")) | ||
| 2012 | ("IDLcomIDispatch" (link "objects_misc23.html")) | 2011 | ("IDLcomIDispatch" (link "objects_misc23.html")) |
| 2013 | ("IDLffMrSID" (link "objects_ff52.html")))) | 2012 | ("IDLffMrSID" (link "objects_ff52.html")) |
| 2013 | ("IDLjavaObject" (link "objects_misc28.html")))) | ||
| 2014 | 2014 | ||
| 2015 | 2015 | ||
| 2016 | (setq idlwave-executive-commands-alist '( | 2016 | (setq idlwave-executive-commands-alist '( |
| 2017 | ("GO" . "symbols6.html") | 2017 | ("RESET_SESSION" . "symbols8.html") |
| 2018 | ("OUT" . "symbols7.html") | ||
| 2019 | ("RETURN" . "symbols9.html") | ||
| 2020 | ("TRACE" . "symbols15.html") | 2018 | ("TRACE" . "symbols15.html") |
| 2019 | ("RNEW" . "symbols10.html") | ||
| 2020 | ("EDIT" . "symbols4.html") | ||
| 2021 | ("STEPOVER" . "symbols14.html") | ||
| 2022 | ("OUT" . "symbols7.html") | ||
| 2021 | ("RUN" . "symbols11.html") | 2023 | ("RUN" . "symbols11.html") |
| 2022 | ("SKIP" . "symbols12.html") | ||
| 2023 | ("COMPILE" . "symbols2.html") | ||
| 2024 | ("CONTINUE" . "symbols3.html") | 2024 | ("CONTINUE" . "symbols3.html") |
| 2025 | ("RESET_SESSION" . "symbols8.html") | ||
| 2026 | ("STEP" . "symbols13.html") | 2025 | ("STEP" . "symbols13.html") |
| 2027 | ("RNEW" . "symbols10.html") | 2026 | ("RETURN" . "symbols9.html") |
| 2027 | ("GO" . "symbols6.html") | ||
| 2028 | ("SKIP" . "symbols12.html") | ||
| 2028 | ("FULL_RESET_SESSION" . "symbols5.html") | 2029 | ("FULL_RESET_SESSION" . "symbols5.html") |
| 2029 | ("EDIT" . "symbols4.html") | 2030 | ("COMPILE" . "symbols2.html") |
| 2030 | ("STEPOVER" . "symbols14.html") | ||
| 2031 | )) | 2031 | )) |
| 2032 | 2032 | ||
| 2033 | ;; Special words with associated help topic files | 2033 | ;; Special words with associated help topic files |
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el index 04e6a28ee40..be49e613b6c 100644 --- a/lisp/progmodes/idlw-shell.el +++ b/lisp/progmodes/idlw-shell.el | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | ;; Carsten Dominik <dominik@astro.uva.nl> | 5 | ;; Carsten Dominik <dominik@astro.uva.nl> |
| 6 | ;; Chris Chase <chase@att.com> | 6 | ;; Chris Chase <chase@att.com> |
| 7 | ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu> | 7 | ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu> |
| 8 | ;; Version: 5.5 | 8 | ;; Version: 5.7_22 |
| 9 | ;; Keywords: processes | 9 | ;; Keywords: processes |
| 10 | 10 | ||
| 11 | ;; This file is part of GNU Emacs. | 11 | ;; This file is part of GNU Emacs. |
| @@ -45,7 +45,7 @@ | |||
| 45 | ;; | 45 | ;; |
| 46 | ;; INSTALLATION: | 46 | ;; INSTALLATION: |
| 47 | ;; ============= | 47 | ;; ============= |
| 48 | ;; | 48 | ;; |
| 49 | ;; Follow the instructions in the INSTALL file of the distribution. | 49 | ;; Follow the instructions in the INSTALL file of the distribution. |
| 50 | ;; In short, put this file on your load path and add the following | 50 | ;; In short, put this file on your load path and add the following |
| 51 | ;; lines to your .emacs file: | 51 | ;; lines to your .emacs file: |
| @@ -58,9 +58,9 @@ | |||
| 58 | ;; | 58 | ;; |
| 59 | ;; The newest version of this file can be found on the maintainers | 59 | ;; The newest version of this file can be found on the maintainers |
| 60 | ;; web site. | 60 | ;; web site. |
| 61 | ;; | 61 | ;; |
| 62 | ;; http://idlwave.org | 62 | ;; http://idlwave.org |
| 63 | ;; | 63 | ;; |
| 64 | ;; DOCUMENTATION | 64 | ;; DOCUMENTATION |
| 65 | ;; ============= | 65 | ;; ============= |
| 66 | ;; | 66 | ;; |
| @@ -77,7 +77,7 @@ | |||
| 77 | ;; it is a bug in XEmacs. | 77 | ;; it is a bug in XEmacs. |
| 78 | ;; The Debug menu in source buffers *does* display the bindings correctly. | 78 | ;; The Debug menu in source buffers *does* display the bindings correctly. |
| 79 | ;; | 79 | ;; |
| 80 | ;; | 80 | ;; |
| 81 | ;; CUSTOMIZATION VARIABLES | 81 | ;; CUSTOMIZATION VARIABLES |
| 82 | ;; ======================= | 82 | ;; ======================= |
| 83 | ;; | 83 | ;; |
| @@ -101,12 +101,12 @@ | |||
| 101 | (condition-case () (require 'custom) (error nil)) | 101 | (condition-case () (require 'custom) (error nil)) |
| 102 | (if (and (featurep 'custom) | 102 | (if (and (featurep 'custom) |
| 103 | (fboundp 'custom-declare-variable) | 103 | (fboundp 'custom-declare-variable) |
| 104 | (fboundp 'defface)) | 104 | (fboundp 'defface)) |
| 105 | ;; We've got what we needed | 105 | ;; We've got what we needed |
| 106 | (setq idlwave-shell-have-new-custom t) | 106 | (setq idlwave-shell-have-new-custom t) |
| 107 | ;; We have the old or no custom-library, hack around it! | 107 | ;; We have the old or no custom-library, hack around it! |
| 108 | (defmacro defgroup (&rest args) nil) | 108 | (defmacro defgroup (&rest args) nil) |
| 109 | (defmacro defcustom (var value doc &rest args) | 109 | (defmacro defcustom (var value doc &rest args) |
| 110 | `(defvar ,var ,value ,doc)))) | 110 | `(defvar ,var ,value ,doc)))) |
| 111 | 111 | ||
| 112 | ;;; Customizations: idlwave-shell group | 112 | ;;; Customizations: idlwave-shell group |
| @@ -117,11 +117,12 @@ | |||
| 117 | :prefix "idlwave-shell" | 117 | :prefix "idlwave-shell" |
| 118 | :group 'idlwave) | 118 | :group 'idlwave) |
| 119 | 119 | ||
| 120 | (defcustom idlwave-shell-prompt-pattern "^ ?IDL> " | 120 | (defcustom idlwave-shell-prompt-pattern "^\r? ?IDL> " |
| 121 | "*Regexp to match IDL prompt at beginning of a line. | 121 | "*Regexp to match IDL prompt at beginning of a line. |
| 122 | For example, \"^IDL> \" or \"^WAVE> \". | 122 | For example, \"^\r?IDL> \" or \"^\r?WAVE> \". |
| 123 | The \"^\" means beginning of line, and is required. | 123 | The \"^\r?\" is needed, to indicate the beginning of the line, with |
| 124 | This variable is used to initialize `comint-prompt-regexp' in the | 124 | optional return character (which IDL seems to output randomly). |
| 125 | This variable is used to initialize `comint-prompt-regexp' in the | ||
| 125 | process buffer. | 126 | process buffer. |
| 126 | 127 | ||
| 127 | This is a fine thing to set in your `.emacs' file." | 128 | This is a fine thing to set in your `.emacs' file." |
| @@ -210,7 +211,7 @@ So by default setting a breakpoint will be on C-c C-d C-b." | |||
| 210 | :type 'boolean) | 211 | :type 'boolean) |
| 211 | 212 | ||
| 212 | (defcustom idlwave-shell-automatic-electric-debug 'breakpoint | 213 | (defcustom idlwave-shell-automatic-electric-debug 'breakpoint |
| 213 | "Enter the electric-debug minor mode automatically. | 214 | "Enter the electric-debug minor mode automatically. |
| 214 | This occurs at a breakpoint or any other halt. The mode is exited | 215 | This occurs at a breakpoint or any other halt. The mode is exited |
| 215 | upon return to the main level. Can be set to 'breakpoint to enter | 216 | upon return to the main level. Can be set to 'breakpoint to enter |
| 216 | electric debug mode only when breakpoints are tripped." | 217 | electric debug mode only when breakpoints are tripped." |
| @@ -295,7 +296,7 @@ The history is only saved if the variable `idlwave-shell-save-command-history' | |||
| 295 | is non-nil." | 296 | is non-nil." |
| 296 | :group 'idlwave-shell-command-setup | 297 | :group 'idlwave-shell-command-setup |
| 297 | :type 'file) | 298 | :type 'file) |
| 298 | 299 | ||
| 299 | (defcustom idlwave-shell-show-commands | 300 | (defcustom idlwave-shell-show-commands |
| 300 | '(run misc breakpoint) | 301 | '(run misc breakpoint) |
| 301 | "*A list of command types to show output from in the shell. | 302 | "*A list of command types to show output from in the shell. |
| @@ -306,12 +307,12 @@ the copious shell traffic to be displayed." | |||
| 306 | :type '(choice | 307 | :type '(choice |
| 307 | (const everything) | 308 | (const everything) |
| 308 | (set :tag "Checklist" :greedy t | 309 | (set :tag "Checklist" :greedy t |
| 309 | (const :tag "All .run and .compile commands" run) | 310 | (const :tag "All .run and .compile commands" run) |
| 310 | (const :tag "All breakpoint commands" breakpoint) | 311 | (const :tag "All breakpoint commands" breakpoint) |
| 311 | (const :tag "All debug and stepping commands" debug) | 312 | (const :tag "All debug and stepping commands" debug) |
| 312 | (const :tag "Close, window, retall, etc. commands" misc)))) | 313 | (const :tag "Close, window, retall, etc. commands" misc)))) |
| 313 | 314 | ||
| 314 | (defcustom idlwave-shell-examine-alist | 315 | (defcustom idlwave-shell-examine-alist |
| 315 | '(("Print" . "print,___") | 316 | '(("Print" . "print,___") |
| 316 | ("Help" . "help,___") | 317 | ("Help" . "help,___") |
| 317 | ("Structure Help" . "help,___,/STRUCTURE") | 318 | ("Structure Help" . "help,___,/STRUCTURE") |
| @@ -322,14 +323,14 @@ the copious shell traffic to be displayed." | |||
| 322 | ("Ptr Valid" . "print,ptr_valid(___)") | 323 | ("Ptr Valid" . "print,ptr_valid(___)") |
| 323 | ("Widget Valid" . "print,widget_info(___,/VALID)") | 324 | ("Widget Valid" . "print,widget_info(___,/VALID)") |
| 324 | ("Widget Geometry" . "help,widget_info(___,/GEOMETRY)")) | 325 | ("Widget Geometry" . "help,widget_info(___,/GEOMETRY)")) |
| 325 | "Alist of special examine commands for popup selection. | 326 | "Alist of special examine commands for popup selection. |
| 326 | The keys are used in the selection popup created by | 327 | The keys are used in the selection popup created by |
| 327 | `idlwave-shell-examine-select', and the corresponding value is sent as | 328 | `idlwave-shell-examine-select', and the corresponding value is sent as |
| 328 | a command to the shell, with special sequence `___' replaced by the | 329 | a command to the shell, with special sequence `___' replaced by the |
| 329 | expression being examined." | 330 | expression being examined." |
| 330 | :group 'idlwave-shell-command-setup | 331 | :group 'idlwave-shell-command-setup |
| 331 | :type '(repeat | 332 | :type '(repeat |
| 332 | (cons | 333 | (cons |
| 333 | (string :tag "Label ") | 334 | (string :tag "Label ") |
| 334 | (string :tag "Command")))) | 335 | (string :tag "Command")))) |
| 335 | 336 | ||
| @@ -340,11 +341,12 @@ expression being examined." | |||
| 340 | "*Non-nil mean, put output of examine commands in their own buffer." | 341 | "*Non-nil mean, put output of examine commands in their own buffer." |
| 341 | :group 'idlwave-shell-command-setup | 342 | :group 'idlwave-shell-command-setup |
| 342 | :type 'boolean) | 343 | :type 'boolean) |
| 343 | 344 | ||
| 344 | (defcustom idlwave-shell-comint-settings | 345 | (defcustom idlwave-shell-comint-settings |
| 345 | '((comint-scroll-to-bottom-on-input . t) | 346 | '((comint-scroll-to-bottom-on-input . t) |
| 346 | (comint-scroll-to-bottom-on-output . t) | 347 | (comint-scroll-to-bottom-on-output . t) |
| 347 | (comint-scroll-show-maximum-output . nil)) | 348 | (comint-scroll-show-maximum-output . nil) |
| 349 | (comint-prompt-read-only . t)) | ||
| 348 | 350 | ||
| 349 | "Alist of special settings for the comint variables in the IDLWAVE Shell. | 351 | "Alist of special settings for the comint variables in the IDLWAVE Shell. |
| 350 | Each entry is a cons cell with the name of a variable and a value. | 352 | Each entry is a cons cell with the name of a variable and a value. |
| @@ -403,7 +405,7 @@ strings. Here is some example code which makes use of the default spells. | |||
| 403 | answer = GET_KBRD(1) | 405 | answer = GET_KBRD(1) |
| 404 | 406 | ||
| 405 | Since the IDLWAVE shell defines the system variable `!IDLWAVE_VERSION', | 407 | Since the IDLWAVE shell defines the system variable `!IDLWAVE_VERSION', |
| 406 | you could actually check if you are running under Emacs before printing | 408 | you could actually check if you are running under Emacs before printing |
| 407 | the magic strings. Here is a procedure which uses this. | 409 | the magic strings. Here is a procedure which uses this. |
| 408 | 410 | ||
| 409 | Usage: | 411 | Usage: |
| @@ -420,7 +422,7 @@ pro idlwave_char_input,on=on,off=off | |||
| 420 | if keyword_set(on) then print,'<chars>' $ | 422 | if keyword_set(on) then print,'<chars>' $ |
| 421 | else if keyword_set(off) then print,'</chars>' $ | 423 | else if keyword_set(off) then print,'</chars>' $ |
| 422 | else print,'<onechar>' | 424 | else print,'<onechar>' |
| 423 | endif | 425 | endif |
| 424 | end" | 426 | end" |
| 425 | :group 'idlwave-shell-command-setup | 427 | :group 'idlwave-shell-command-setup |
| 426 | :type '(list | 428 | :type '(list |
| @@ -428,6 +430,11 @@ end" | |||
| 428 | (regexp :tag "Char-mode regexp") | 430 | (regexp :tag "Char-mode regexp") |
| 429 | (regexp :tag "Line-mode regexp"))) | 431 | (regexp :tag "Line-mode regexp"))) |
| 430 | 432 | ||
| 433 | (defcustom idlwave-shell-breakpoint-popup-menu t | ||
| 434 | "*If non-nil, provide a menu on mouse-3 on breakpoint lines, and | ||
| 435 | popup help text on the line." | ||
| 436 | :group 'idlwave-shell-command-setup | ||
| 437 | :type 'boolean) | ||
| 431 | 438 | ||
| 432 | ;; Breakpoint Overlays etc | 439 | ;; Breakpoint Overlays etc |
| 433 | (defgroup idlwave-shell-highlighting-and-faces nil | 440 | (defgroup idlwave-shell-highlighting-and-faces nil |
| @@ -478,10 +485,10 @@ line where IDL is stopped. See also `idlwave-shell-mark-stop-line'." | |||
| 478 | :group 'idlwave-shell-highlighting-and-faces | 485 | :group 'idlwave-shell-highlighting-and-faces |
| 479 | :type 'string) | 486 | :type 'string) |
| 480 | 487 | ||
| 481 | (defcustom idlwave-shell-electric-stop-line-face | 488 | (defcustom idlwave-shell-electric-stop-line-face |
| 482 | (prog1 | 489 | (prog1 |
| 483 | (copy-face 'modeline 'idlwave-shell-electric-stop-line-face) | 490 | (copy-face 'modeline 'idlwave-shell-electric-stop-line-face) |
| 484 | (set-face-background 'idlwave-shell-electric-stop-line-face | 491 | (set-face-background 'idlwave-shell-electric-stop-line-face |
| 485 | idlwave-shell-electric-stop-color) | 492 | idlwave-shell-electric-stop-color) |
| 486 | (condition-case nil | 493 | (condition-case nil |
| 487 | (set-face-foreground 'idlwave-shell-electric-stop-line-face nil) | 494 | (set-face-foreground 'idlwave-shell-electric-stop-line-face nil) |
| @@ -529,7 +536,7 @@ lines which have a breakpoint. See also `idlwave-shell-mark-breakpoints'." | |||
| 529 | ;; backward-compatibility alias | 536 | ;; backward-compatibility alias |
| 530 | (put 'idlwave-shell-bp-face 'face-alias 'idlwave-shell-bp)) | 537 | (put 'idlwave-shell-bp-face 'face-alias 'idlwave-shell-bp)) |
| 531 | 538 | ||
| 532 | (defcustom idlwave-shell-disabled-breakpoint-face | 539 | (defcustom idlwave-shell-disabled-breakpoint-face |
| 533 | 'idlwave-shell-disabled-bp | 540 | 'idlwave-shell-disabled-bp |
| 534 | "*The face for disabled breakpoint lines in the source code. | 541 | "*The face for disabled breakpoint lines in the source code. |
| 535 | Allows you to choose the font, color and other properties for | 542 | Allows you to choose the font, color and other properties for |
| @@ -584,18 +591,18 @@ before use by the shell.") | |||
| 584 | 591 | ||
| 585 | TYPE is either 'pro' or 'rinfo', and `idlwave-shell-temp-pro-file' or | 592 | TYPE is either 'pro' or 'rinfo', and `idlwave-shell-temp-pro-file' or |
| 586 | `idlwave-shell-temp-rinfo-save-file' is set (respectively)." | 593 | `idlwave-shell-temp-rinfo-save-file' is set (respectively)." |
| 587 | (cond | 594 | (cond |
| 588 | ((eq type 'rinfo) | 595 | ((eq type 'rinfo) |
| 589 | (or idlwave-shell-temp-rinfo-save-file | 596 | (or idlwave-shell-temp-rinfo-save-file |
| 590 | (setq idlwave-shell-temp-rinfo-save-file | 597 | (setq idlwave-shell-temp-rinfo-save-file |
| 591 | (idlwave-shell-make-temp-file idlwave-shell-temp-pro-prefix)))) | 598 | (idlwave-shell-make-temp-file idlwave-shell-temp-pro-prefix)))) |
| 592 | ((eq type 'pro) | 599 | ((eq type 'pro) |
| 593 | (or idlwave-shell-temp-pro-file | 600 | (or idlwave-shell-temp-pro-file |
| 594 | (setq idlwave-shell-temp-pro-file | 601 | (setq idlwave-shell-temp-pro-file |
| 595 | (idlwave-shell-make-temp-file idlwave-shell-temp-pro-prefix)))) | 602 | (idlwave-shell-make-temp-file idlwave-shell-temp-pro-prefix)))) |
| 596 | (t (error "Wrong argument (idlwave-shell-temp-file): %s" | 603 | (t (error "Wrong argument (idlwave-shell-temp-file): %s" |
| 597 | (symbol-name type))))) | 604 | (symbol-name type))))) |
| 598 | 605 | ||
| 599 | 606 | ||
| 600 | (defun idlwave-shell-make-temp-file (prefix) | 607 | (defun idlwave-shell-make-temp-file (prefix) |
| 601 | "Create a temporary file." | 608 | "Create a temporary file." |
| @@ -623,7 +630,7 @@ TYPE is either 'pro' or 'rinfo', and `idlwave-shell-temp-pro-file' or | |||
| 623 | 630 | ||
| 624 | 631 | ||
| 625 | (defvar idlwave-shell-dirstack-query "cd,current=___cur & print,___cur" | 632 | (defvar idlwave-shell-dirstack-query "cd,current=___cur & print,___cur" |
| 626 | "Command used by `idlwave-shell-resync-dirs' to query IDL for | 633 | "Command used by `idlwave-shell-resync-dirs' to query IDL for |
| 627 | the directory stack.") | 634 | the directory stack.") |
| 628 | 635 | ||
| 629 | (defvar idlwave-shell-path-query "print,'PATH:<'+transpose(expand_path(!PATH,/ARRAY))+'>' & print,'SYSDIR:<'+!dir+'>'" | 636 | (defvar idlwave-shell-path-query "print,'PATH:<'+transpose(expand_path(!PATH,/ARRAY))+'>' & print,'SYSDIR:<'+!dir+'>'" |
| @@ -631,7 +638,7 @@ the directory stack.") | |||
| 631 | "The command which gets !PATH and !DIR info from the shell.") | 638 | "The command which gets !PATH and !DIR info from the shell.") |
| 632 | 639 | ||
| 633 | (defvar idlwave-shell-mode-line-info nil | 640 | (defvar idlwave-shell-mode-line-info nil |
| 634 | "Additional info displayed in the mode line") | 641 | "Additional info displayed in the mode line") |
| 635 | 642 | ||
| 636 | (defvar idlwave-shell-default-directory nil | 643 | (defvar idlwave-shell-default-directory nil |
| 637 | "The default directory in the idlwave-shell buffer, of outside use.") | 644 | "The default directory in the idlwave-shell buffer, of outside use.") |
| @@ -682,7 +689,7 @@ the directory stack.") | |||
| 682 | window-system) ; Window systems always | 689 | window-system) ; Window systems always |
| 683 | (progn | 690 | (progn |
| 684 | (setq idlwave-shell-stop-line-overlay (make-overlay 1 1)) | 691 | (setq idlwave-shell-stop-line-overlay (make-overlay 1 1)) |
| 685 | (overlay-put idlwave-shell-stop-line-overlay | 692 | (overlay-put idlwave-shell-stop-line-overlay |
| 686 | 'face idlwave-shell-stop-line-face)))) | 693 | 'face idlwave-shell-stop-line-face)))) |
| 687 | 694 | ||
| 688 | (t | 695 | (t |
| @@ -690,7 +697,7 @@ the directory stack.") | |||
| 690 | (if window-system | 697 | (if window-system |
| 691 | (progn | 698 | (progn |
| 692 | (setq idlwave-shell-stop-line-overlay (make-overlay 1 1)) | 699 | (setq idlwave-shell-stop-line-overlay (make-overlay 1 1)) |
| 693 | (overlay-put idlwave-shell-stop-line-overlay | 700 | (overlay-put idlwave-shell-stop-line-overlay |
| 694 | 'face idlwave-shell-stop-line-face))))) | 701 | 'face idlwave-shell-stop-line-face))))) |
| 695 | 702 | ||
| 696 | ;; Now the expression and output overlays | 703 | ;; Now the expression and output overlays |
| @@ -746,12 +753,9 @@ with `*'s." | |||
| 746 | (defvar idlwave-shell-ready nil | 753 | (defvar idlwave-shell-ready nil |
| 747 | "If non-nil can send next command to IDL process.") | 754 | "If non-nil can send next command to IDL process.") |
| 748 | 755 | ||
| 749 | (defvar idlwave-shell-wait-for-output nil | ||
| 750 | "Whether to wait for output to accumulate.") | ||
| 751 | |||
| 752 | ;;; The following are the types of messages we attempt to catch to | 756 | ;;; The following are the types of messages we attempt to catch to |
| 753 | ;;; resync our idea of where IDL execution currently is. | 757 | ;;; resync our idea of where IDL execution currently is. |
| 754 | ;;; | 758 | ;;; |
| 755 | 759 | ||
| 756 | (defvar idlwave-shell-halt-frame nil | 760 | (defvar idlwave-shell-halt-frame nil |
| 757 | "The frame associated with halt/breakpoint messages.") | 761 | "The frame associated with halt/breakpoint messages.") |
| @@ -795,7 +799,7 @@ IDL has currently stepped.") | |||
| 795 | 799 | ||
| 796 | (defconst idlwave-shell-electric-debug-help | 800 | (defconst idlwave-shell-electric-debug-help |
| 797 | " ==> IDLWAVE Electric Debug Mode Help <== | 801 | " ==> IDLWAVE Electric Debug Mode Help <== |
| 798 | 802 | ||
| 799 | Break Point Setting and Clearing: | 803 | Break Point Setting and Clearing: |
| 800 | b Set breakpoint ([C-u b] for conditional, [C-n b] nth hit, etc.). | 804 | b Set breakpoint ([C-u b] for conditional, [C-n b] nth hit, etc.). |
| 801 | d Clear nearby breakpoint. | 805 | d Clear nearby breakpoint. |
| @@ -821,7 +825,7 @@ IDL has currently stepped.") | |||
| 821 | Examining Expressions (with prefix for examining the region): | 825 | Examining Expressions (with prefix for examining the region): |
| 822 | p Print expression near point or in region ([C-u p]). | 826 | p Print expression near point or in region ([C-u p]). |
| 823 | ? Help on expression near point or in region ([C-u ?]). | 827 | ? Help on expression near point or in region ([C-u ?]). |
| 824 | x Examine expression near point or in region ([C-u x]) with | 828 | x Examine expression near point or in region ([C-u x]) with |
| 825 | letter completion of the examine type. | 829 | letter completion of the examine type. |
| 826 | 830 | ||
| 827 | Miscellaneous: | 831 | Miscellaneous: |
| @@ -875,18 +879,18 @@ IDL has currently stepped.") | |||
| 875 | `\\[idlwave-routine-info]' displays information about an IDL routine near point, | 879 | `\\[idlwave-routine-info]' displays information about an IDL routine near point, |
| 876 | just like in `idlwave-mode'. The module used is the one at point or | 880 | just like in `idlwave-mode'. The module used is the one at point or |
| 877 | the one whose argument list is being edited. | 881 | the one whose argument list is being edited. |
| 878 | To update IDLWAVE's knowledge about compiled or edited modules, use | 882 | To update IDLWAVE's knowledge about compiled or edited modules, use |
| 879 | \\[idlwave-update-routine-info]. | 883 | \\[idlwave-update-routine-info]. |
| 880 | \\[idlwave-find-module] find the source of a module. | 884 | \\[idlwave-find-module] find the source of a module. |
| 881 | \\[idlwave-resolve] tells IDL to compile an unresolved module. | 885 | \\[idlwave-resolve] tells IDL to compile an unresolved module. |
| 882 | \\[idlwave-context-help] shows the online help on the item at | 886 | \\[idlwave-context-help] shows the online help on the item at |
| 883 | point, if online help has been installed. | 887 | point, if online help has been installed. |
| 884 | 888 | ||
| 885 | 889 | ||
| 886 | 4. Debugging | 890 | 4. Debugging |
| 887 | --------- | 891 | --------- |
| 888 | A complete set of commands for compiling and debugging IDL programs | 892 | A complete set of commands for compiling and debugging IDL programs |
| 889 | is available from the menu. Also keybindings starting with a | 893 | is available from the menu. Also keybindings starting with a |
| 890 | `C-c C-d' prefix are available for most commands in the *idl* buffer | 894 | `C-c C-d' prefix are available for most commands in the *idl* buffer |
| 891 | and also in source buffers. The best place to learn about the | 895 | and also in source buffers. The best place to learn about the |
| 892 | keybindings is again the menu. | 896 | keybindings is again the menu. |
| @@ -978,8 +982,8 @@ IDL has currently stepped.") | |||
| 978 | (idlwave-shell-display-line nil) | 982 | (idlwave-shell-display-line nil) |
| 979 | (setq idlwave-shell-calling-stack-index 0) | 983 | (setq idlwave-shell-calling-stack-index 0) |
| 980 | (setq idlwave-shell-only-prompt-pattern | 984 | (setq idlwave-shell-only-prompt-pattern |
| 981 | (concat "\\`[ \t\n]*" | 985 | (concat "\\`[ \t\n]*" |
| 982 | (substring idlwave-shell-prompt-pattern 1) | 986 | (substring idlwave-shell-prompt-pattern 1) |
| 983 | "[ \t\n]*\\'")) | 987 | "[ \t\n]*\\'")) |
| 984 | 988 | ||
| 985 | (when idlwave-shell-query-for-class | 989 | (when idlwave-shell-query-for-class |
| @@ -992,15 +996,12 @@ IDL has currently stepped.") | |||
| 992 | (set-marker comint-last-input-end (point)) | 996 | (set-marker comint-last-input-end (point)) |
| 993 | (setq idlwave-idlwave_routine_info-compiled nil) | 997 | (setq idlwave-idlwave_routine_info-compiled nil) |
| 994 | (setq idlwave-shell-ready nil) | 998 | (setq idlwave-shell-ready nil) |
| 995 | (setq idlwave-shell-wait-for-output nil) | ||
| 996 | (setq idlwave-shell-bp-alist nil) | 999 | (setq idlwave-shell-bp-alist nil) |
| 997 | (idlwave-shell-update-bp-overlays) ; Throw away old overlays | 1000 | (idlwave-shell-update-bp-overlays) ; Throw away old overlays |
| 998 | (setq idlwave-shell-sources-alist nil) | 1001 | (setq idlwave-shell-sources-alist nil) |
| 999 | (setq idlwave-shell-default-directory default-directory) | 1002 | (setq idlwave-shell-default-directory default-directory) |
| 1000 | (setq idlwave-shell-hide-output nil) | 1003 | (setq idlwave-shell-hide-output nil) |
| 1001 | 1004 | ||
| 1002 | ;; NB: `make-local-hook' needed for older/alternative Emacs compatibility | ||
| 1003 | ;;(make-local-hook 'kill-buffer-hook) | ||
| 1004 | (add-hook 'kill-buffer-hook 'idlwave-shell-kill-shell-buffer-confirm | 1005 | (add-hook 'kill-buffer-hook 'idlwave-shell-kill-shell-buffer-confirm |
| 1005 | nil 'local) | 1006 | nil 'local) |
| 1006 | (add-hook 'kill-buffer-hook 'idlwave-shell-delete-temp-files nil 'local) | 1007 | (add-hook 'kill-buffer-hook 'idlwave-shell-delete-temp-files nil 'local) |
| @@ -1014,14 +1015,14 @@ IDL has currently stepped.") | |||
| 1014 | (while (setq entry (pop list)) | 1015 | (while (setq entry (pop list)) |
| 1015 | (set (make-local-variable (car entry)) (cdr entry))))) | 1016 | (set (make-local-variable (car entry)) (cdr entry))))) |
| 1016 | 1017 | ||
| 1017 | 1018 | ||
| 1018 | (unless (memq 'comint-carriage-motion | 1019 | (unless (memq 'comint-carriage-motion |
| 1019 | (default-value 'comint-output-filter-functions)) | 1020 | (default-value 'comint-output-filter-functions)) |
| 1020 | ;; Strip those pesky ctrl-m's. | 1021 | ;; Strip those pesky ctrl-m's. |
| 1021 | (add-hook 'comint-output-filter-functions | 1022 | (add-hook 'comint-output-filter-functions |
| 1022 | (lambda (string) | 1023 | (lambda (string) |
| 1023 | (when (string-match "\r" string) | 1024 | (when (string-match "\r" string) |
| 1024 | (let ((pmark (process-mark (get-buffer-process | 1025 | (let ((pmark (process-mark (get-buffer-process |
| 1025 | (current-buffer))))) | 1026 | (current-buffer))))) |
| 1026 | (save-excursion | 1027 | (save-excursion |
| 1027 | ;; bare CR -> delete preceding line | 1028 | ;; bare CR -> delete preceding line |
| @@ -1043,8 +1044,6 @@ IDL has currently stepped.") | |||
| 1043 | (set (make-local-variable 'comment-start) ";") | 1044 | (set (make-local-variable 'comment-start) ";") |
| 1044 | (setq abbrev-mode t) | 1045 | (setq abbrev-mode t) |
| 1045 | 1046 | ||
| 1046 | ;; NB: `make-local-hook' needed for older/alternative Emacs compatibility | ||
| 1047 | ;;(make-local-hook 'post-command-hook) | ||
| 1048 | (add-hook 'post-command-hook 'idlwave-command-hook nil t) | 1047 | (add-hook 'post-command-hook 'idlwave-command-hook nil t) |
| 1049 | 1048 | ||
| 1050 | ;; Read the command history? | 1049 | ;; Read the command history? |
| @@ -1063,9 +1062,8 @@ IDL has currently stepped.") | |||
| 1063 | (idlwave-shell-send-command idlwave-shell-initial-commands nil 'hide) | 1062 | (idlwave-shell-send-command idlwave-shell-initial-commands nil 'hide) |
| 1064 | ;; Turn off IDL's ^d interpreting, and define a system | 1063 | ;; Turn off IDL's ^d interpreting, and define a system |
| 1065 | ;; variable which knows the version of IDLWAVE | 1064 | ;; variable which knows the version of IDLWAVE |
| 1066 | (idlwave-shell-send-command | 1065 | (idlwave-shell-send-command |
| 1067 | (format "defsysv,'!idlwave_version','%s',1" | 1066 | (format "defsysv,'!idlwave_version','%s',1" idlwave-mode-version) |
| 1068 | idlwave-mode-version) | ||
| 1069 | nil 'hide) | 1067 | nil 'hide) |
| 1070 | ;; Get the paths if they weren't read in from file | 1068 | ;; Get the paths if they weren't read in from file |
| 1071 | (if (and (not idlwave-path-alist) | 1069 | (if (and (not idlwave-path-alist) |
| @@ -1085,7 +1083,7 @@ IDL has currently stepped.") | |||
| 1085 | (setq idlwave-system-directory sysdir) | 1083 | (setq idlwave-system-directory sysdir) |
| 1086 | (put 'idlwave-system-directory 'from-shell t)) | 1084 | (put 'idlwave-system-directory 'from-shell t)) |
| 1087 | ;; Preserve any existing flags | 1085 | ;; Preserve any existing flags |
| 1088 | (setq idlwave-path-alist | 1086 | (setq idlwave-path-alist |
| 1089 | (mapcar (lambda (x) | 1087 | (mapcar (lambda (x) |
| 1090 | (let ((old-entry (assoc x old-path-alist))) | 1088 | (let ((old-entry (assoc x old-path-alist))) |
| 1091 | (if old-entry | 1089 | (if old-entry |
| @@ -1093,7 +1091,7 @@ IDL has currently stepped.") | |||
| 1093 | (list x)))) | 1091 | (list x)))) |
| 1094 | dirs)) | 1092 | dirs)) |
| 1095 | (put 'idlwave-path-alist 'from-shell t) | 1093 | (put 'idlwave-path-alist 'from-shell t) |
| 1096 | (if idlwave-path-alist | 1094 | (if idlwave-path-alist |
| 1097 | (if (and idlwave-auto-write-paths | 1095 | (if (and idlwave-auto-write-paths |
| 1098 | (not idlwave-library-path) | 1096 | (not idlwave-library-path) |
| 1099 | (not no-write) ) | 1097 | (not no-write) ) |
| @@ -1129,8 +1127,8 @@ IDL has currently stepped.") | |||
| 1129 | (frame (selected-frame))) | 1127 | (frame (selected-frame))) |
| 1130 | (catch 'exit | 1128 | (catch 'exit |
| 1131 | (while flist | 1129 | (while flist |
| 1132 | (if (not (eq (car flist) | 1130 | (if (not (eq (car flist) |
| 1133 | idlwave-shell-idl-wframe)) | 1131 | idlwave-shell-idl-wframe)) |
| 1134 | (throw 'exit (car flist)) | 1132 | (throw 'exit (car flist)) |
| 1135 | (setq flist (cdr flist)))))) | 1133 | (setq flist (cdr flist)))))) |
| 1136 | (make-frame)) | 1134 | (make-frame)) |
| @@ -1148,9 +1146,9 @@ IDL has currently stepped.") | |||
| 1148 | ;; We do not have a source frame, so we use this one. | 1146 | ;; We do not have a source frame, so we use this one. |
| 1149 | (setq idlwave-shell-display-wframe (selected-frame))) | 1147 | (setq idlwave-shell-display-wframe (selected-frame))) |
| 1150 | ;; Return a new frame | 1148 | ;; Return a new frame |
| 1151 | (setq idlwave-shell-idl-wframe | 1149 | (setq idlwave-shell-idl-wframe |
| 1152 | (make-frame idlwave-shell-frame-parameters))))) | 1150 | (make-frame idlwave-shell-frame-parameters))))) |
| 1153 | 1151 | ||
| 1154 | ;;;###autoload | 1152 | ;;;###autoload |
| 1155 | (defun idlwave-shell (&optional arg quick) | 1153 | (defun idlwave-shell (&optional arg quick) |
| 1156 | "Run an inferior IDL, with I/O through buffer `(idlwave-shell-buffer)'. | 1154 | "Run an inferior IDL, with I/O through buffer `(idlwave-shell-buffer)'. |
| @@ -1177,14 +1175,14 @@ See also the variable `idlwave-shell-prompt-pattern'. | |||
| 1177 | (delete-other-windows)) | 1175 | (delete-other-windows)) |
| 1178 | (and idlwave-shell-use-dedicated-frame | 1176 | (and idlwave-shell-use-dedicated-frame |
| 1179 | (setq idlwave-shell-idl-wframe (selected-frame))) | 1177 | (setq idlwave-shell-idl-wframe (selected-frame))) |
| 1180 | (add-hook 'idlwave-shell-sentinel-hook | 1178 | (add-hook 'idlwave-shell-sentinel-hook |
| 1181 | 'save-buffers-kill-emacs t)) | 1179 | 'save-buffers-kill-emacs t)) |
| 1182 | 1180 | ||
| 1183 | ;; A non-nil arg means, we want a dedicated frame. This will last | 1181 | ;; A non-nil arg means, we want a dedicated frame. This will last |
| 1184 | ;; for the current editing session. | 1182 | ;; for the current editing session. |
| 1185 | (if arg (setq idlwave-shell-use-dedicated-frame t)) | 1183 | (if arg (setq idlwave-shell-use-dedicated-frame t)) |
| 1186 | (if (equal arg '(16)) (setq idlwave-shell-use-dedicated-frame nil)) | 1184 | (if (equal arg '(16)) (setq idlwave-shell-use-dedicated-frame nil)) |
| 1187 | 1185 | ||
| 1188 | ;; Check if the process still exists. If not, create it. | 1186 | ;; Check if the process still exists. If not, create it. |
| 1189 | (unless (comint-check-proc (idlwave-shell-buffer)) | 1187 | (unless (comint-check-proc (idlwave-shell-buffer)) |
| 1190 | (let* ((prg (or idlwave-shell-explicit-file-name "idl")) | 1188 | (let* ((prg (or idlwave-shell-explicit-file-name "idl")) |
| @@ -1211,9 +1209,9 @@ See also the variable `idlwave-shell-prompt-pattern'. | |||
| 1211 | (if (eq (selected-frame) (window-frame window)) | 1209 | (if (eq (selected-frame) (window-frame window)) |
| 1212 | (select-window window)))) | 1210 | (select-window window)))) |
| 1213 | ;; Save the paths at the end | 1211 | ;; Save the paths at the end |
| 1214 | (add-hook 'idlwave-shell-sentinel-hook | 1212 | (add-hook 'idlwave-shell-sentinel-hook |
| 1215 | (lambda () | 1213 | (lambda () |
| 1216 | (if (and | 1214 | (if (and |
| 1217 | idlwave-auto-write-paths | 1215 | idlwave-auto-write-paths |
| 1218 | idlwave-path-alist | 1216 | idlwave-path-alist |
| 1219 | (not idlwave-library-path) | 1217 | (not idlwave-library-path) |
| @@ -1244,7 +1242,7 @@ Return either nil or 'hide." | |||
| 1244 | (setq idlwave-shell-show-commands (list type)))) | 1242 | (setq idlwave-shell-show-commands (list type)))) |
| 1245 | 1243 | ||
| 1246 | 1244 | ||
| 1247 | (defun idlwave-shell-send-command (&optional cmd pcmd hide preempt | 1245 | (defun idlwave-shell-send-command (&optional cmd pcmd hide preempt |
| 1248 | show-if-error) | 1246 | show-if-error) |
| 1249 | "Send a command to IDL process. | 1247 | "Send a command to IDL process. |
| 1250 | 1248 | ||
| @@ -1265,18 +1263,18 @@ If optional fourth argument PREEMPT is non-nil CMD is put at front of | |||
| 1265 | `idlwave-shell-pending-commands'. If PREEMPT is 'wait, wait for all | 1263 | `idlwave-shell-pending-commands'. If PREEMPT is 'wait, wait for all |
| 1266 | output to complete and the next prompt to arrive before returning | 1264 | output to complete and the next prompt to arrive before returning |
| 1267 | \(useful if you need an answer now\). IDL is considered ready if the | 1265 | \(useful if you need an answer now\). IDL is considered ready if the |
| 1268 | prompt is present and if `idlwave-shell-ready' is non-nil. | 1266 | prompt is present and if `idlwave-shell-ready' is non-nil. |
| 1269 | 1267 | ||
| 1270 | If SHOW-IF-ERROR is non-nil, show the output it it contains an error | 1268 | If SHOW-IF-ERROR is non-nil, show the output it it contains an error |
| 1271 | message, independent of what HIDE is set to." | 1269 | message, independent of what HIDE is set to." |
| 1272 | 1270 | ||
| 1273 | ; (setq hide nil) ; FIXME: turn this on for debugging only | 1271 | ; (setq hide nil) ; FIXME: turn this on for debugging only |
| 1274 | ; (if (null cmd) | 1272 | ; (if (null cmd) |
| 1275 | ; (progn | 1273 | ; (progn |
| 1276 | ; (message "SENDING Pending commands: %s" | 1274 | ; (message "SENDING Pending commands: %s" |
| 1277 | ; (prin1-to-string idlwave-shell-pending-commands))) | 1275 | ; (prin1-to-string idlwave-shell-pending-commands))) |
| 1278 | ; (message "SENDING %s|||%s" cmd pcmd)) | 1276 | ; (message "SENDING %s|||%s" cmd pcmd)) |
| 1279 | (if (and (symbolp idlwave-shell-show-commands) | 1277 | (if (and (symbolp idlwave-shell-show-commands) |
| 1280 | (eq idlwave-shell-show-commands 'everything)) | 1278 | (eq idlwave-shell-show-commands 'everything)) |
| 1281 | (setq hide nil)) | 1279 | (setq hide nil)) |
| 1282 | (let ((save-buffer (current-buffer)) | 1280 | (let ((save-buffer (current-buffer)) |
| @@ -1304,7 +1302,7 @@ message, independent of what HIDE is set to." | |||
| 1304 | (append (list (list cmd pcmd hide show-if-error)) | 1302 | (append (list (list cmd pcmd hide show-if-error)) |
| 1305 | idlwave-shell-pending-commands) | 1303 | idlwave-shell-pending-commands) |
| 1306 | ;; Put at end. | 1304 | ;; Put at end. |
| 1307 | (append idlwave-shell-pending-commands | 1305 | (append idlwave-shell-pending-commands |
| 1308 | (list (list cmd pcmd hide show-if-error)))))) | 1306 | (list (list cmd pcmd hide show-if-error)))))) |
| 1309 | ;; Check if IDL ready | 1307 | ;; Check if IDL ready |
| 1310 | (let ((save-point (point-marker))) | 1308 | (let ((save-point (point-marker))) |
| @@ -1339,9 +1337,11 @@ message, independent of what HIDE is set to." | |||
| 1339 | (set-marker comint-last-input-end (point)) | 1337 | (set-marker comint-last-input-end (point)) |
| 1340 | (comint-simple-send proc cmd) | 1338 | (comint-simple-send proc cmd) |
| 1341 | (setq idlwave-shell-ready nil) | 1339 | (setq idlwave-shell-ready nil) |
| 1342 | (when (equal preempt 'wait) ; Get all the output at once | 1340 | (if (equal preempt 'wait) ; Get all the output at once |
| 1343 | (setq idlwave-shell-wait-for-output t) | 1341 | (while (not idlwave-shell-ready) |
| 1344 | (accept-process-output proc)))) | 1342 | (when (not (accept-process-output proc 6)) ; long wait |
| 1343 | (setq idlwave-shell-pending-commands nil) | ||
| 1344 | (error "Process timed out")))))) | ||
| 1345 | (goto-char save-point)) | 1345 | (goto-char save-point)) |
| 1346 | (set-buffer save-buffer)))) | 1346 | (set-buffer save-buffer)))) |
| 1347 | 1347 | ||
| @@ -1353,7 +1353,7 @@ message, independent of what HIDE is set to." | |||
| 1353 | (if (or (not (setq buf (get-buffer (idlwave-shell-buffer)))) | 1353 | (if (or (not (setq buf (get-buffer (idlwave-shell-buffer)))) |
| 1354 | (not (setq proc (get-buffer-process buf)))) | 1354 | (not (setq proc (get-buffer-process buf)))) |
| 1355 | (funcall errf "Shell is not running")) | 1355 | (funcall errf "Shell is not running")) |
| 1356 | (if (equal c ?\C-g) | 1356 | (if (equal c ?\C-g) |
| 1357 | (funcall errf "Abort") | 1357 | (funcall errf "Abort") |
| 1358 | (comint-send-string proc (char-to-string c))))) | 1358 | (comint-send-string proc (char-to-string c))))) |
| 1359 | 1359 | ||
| @@ -1394,7 +1394,7 @@ when the IDL prompt gets displayed again after the current IDL command." | |||
| 1394 | (if idlwave-shell-ready | 1394 | (if idlwave-shell-ready |
| 1395 | (funcall errf "No IDL program seems to be waiting for input")) | 1395 | (funcall errf "No IDL program seems to be waiting for input")) |
| 1396 | 1396 | ||
| 1397 | ;; OK, start the loop | 1397 | ;; OK, start the loop |
| 1398 | (message "Character mode on: Sending single chars (`C-g' to exit)") | 1398 | (message "Character mode on: Sending single chars (`C-g' to exit)") |
| 1399 | (message | 1399 | (message |
| 1400 | (catch 'exit | 1400 | (catch 'exit |
| @@ -1474,133 +1474,123 @@ error messages, etc." | |||
| 1474 | (setq output (substring output (string-match "\n" output))) | 1474 | (setq output (substring output (string-match "\n" output))) |
| 1475 | (while (string-match "\\(\n\\|\\`\\)%.*\\(\n .*\\)*" output) | 1475 | (while (string-match "\\(\n\\|\\`\\)%.*\\(\n .*\\)*" output) |
| 1476 | (setq output (replace-match "" nil t output))) | 1476 | (setq output (replace-match "" nil t output))) |
| 1477 | (unless | 1477 | (unless |
| 1478 | (string-match idlwave-shell-only-prompt-pattern output) | 1478 | (string-match idlwave-shell-only-prompt-pattern output) |
| 1479 | output)) | 1479 | output)) |
| 1480 | 1480 | ||
| 1481 | (defvar idlwave-shell-hidden-output-buffer " *idlwave-shell-hidden-output*" | 1481 | (defvar idlwave-shell-hidden-output-buffer " *idlwave-shell-hidden-output*" |
| 1482 | "Buffer containing hidden output from IDL commands.") | 1482 | "Buffer containing hidden output from IDL commands.") |
| 1483 | (defvar idlwave-shell-current-state nil) | 1483 | (defvar idlwave-shell-current-state nil) |
| 1484 | 1484 | ||
| 1485 | (defun idlwave-shell-filter (proc string) | 1485 | (defun idlwave-shell-filter (proc string) |
| 1486 | "Watch for IDL prompt and filter incoming text. | 1486 | "Watch for IDL prompt and filter incoming text. |
| 1487 | When the IDL prompt is received executes `idlwave-shell-post-command-hook' | 1487 | When the IDL prompt is received executes `idlwave-shell-post-command-hook' |
| 1488 | and then calls `idlwave-shell-send-command' for any pending commands." | 1488 | and then calls `idlwave-shell-send-command' for any pending commands." |
| 1489 | ;; We no longer do the cleanup here - this is done by the process sentinel | 1489 | ;; We no longer do the cleanup here - this is done by the process sentinel |
| 1490 | (when (eq (process-status idlwave-shell-process-name) 'run) | 1490 | (if (eq (process-status idlwave-shell-process-name) 'run) |
| 1491 | ;; OK, process is still running, so we can use it. | 1491 | ;; OK, process is still running, so we can use it. |
| 1492 | (let ((data (match-data)) p full-output) | 1492 | (let ((data (match-data)) p full-output) |
| 1493 | (unwind-protect | 1493 | (unwind-protect |
| 1494 | (progn | 1494 | (progn |
| 1495 | ;; Ring the bell if necessary | 1495 | ;; Ring the bell if necessary |
| 1496 | (while (setq p (string-match "\C-G" string)) | 1496 | (while (setq p (string-match "\C-G" string)) |
| 1497 | (ding) | 1497 | (ding) |
| 1498 | (aset string p ?\C-j )) | 1498 | (aset string p ?\C-j )) |
| 1499 | (if idlwave-shell-hide-output | 1499 | (if idlwave-shell-hide-output |
| 1500 | (save-excursion | 1500 | (save-excursion |
| 1501 | (while (setq p (string-match "\C-M" string)) | 1501 | (while (setq p (string-match "\C-M" string)) |
| 1502 | (aset string p ?\ )) | 1502 | (aset string p ?\ )) |
| 1503 | (set-buffer | 1503 | (set-buffer |
| 1504 | (get-buffer-create idlwave-shell-hidden-output-buffer)) | 1504 | (get-buffer-create idlwave-shell-hidden-output-buffer)) |
| 1505 | (goto-char (point-max)) | 1505 | (goto-char (point-max)) |
| 1506 | (insert string)) | 1506 | (insert string)) |
| 1507 | (idlwave-shell-comint-filter proc string)) | 1507 | (idlwave-shell-comint-filter proc string)) |
| 1508 | ;; Watch for magic - need to accumulate the current line | 1508 | ;; Watch for magic - need to accumulate the current line |
| 1509 | ;; since it may not be sent all at once. | 1509 | ;; since it may not be sent all at once. |
| 1510 | (if (string-match "\n" string) | 1510 | (if (string-match "\n" string) |
| 1511 | (progn | 1511 | (progn |
| 1512 | (if idlwave-shell-use-input-mode-magic | 1512 | (if idlwave-shell-use-input-mode-magic |
| 1513 | (idlwave-shell-input-mode-magic | 1513 | (idlwave-shell-input-mode-magic |
| 1514 | (concat idlwave-shell-accumulation string))) | 1514 | (concat idlwave-shell-accumulation string))) |
| 1515 | (setq idlwave-shell-accumulation | 1515 | (setq idlwave-shell-accumulation |
| 1516 | (substring string | 1516 | (substring string |
| 1517 | (progn (string-match "\\(.*[\n\r]+\\)*" | 1517 | (progn (string-match "\\(.*[\n\r]+\\)*" |
| 1518 | string) | 1518 | string) |
| 1519 | (match-end 0))))) | 1519 | (match-end 0))))) |
| 1520 | (setq idlwave-shell-accumulation | 1520 | (setq idlwave-shell-accumulation |
| 1521 | (concat idlwave-shell-accumulation string))) | 1521 | (concat idlwave-shell-accumulation string))) |
| 1522 | 1522 | ||
| 1523 | 1523 | ||
| 1524 | ;;; Test/Debug code | 1524 | ;;; Test/Debug code |
| 1525 | ; (save-excursion (set-buffer | 1525 | ; (save-excursion (set-buffer |
| 1526 | ; (get-buffer-create "*idlwave-shell-output*")) | 1526 | ; (get-buffer-create "*idlwave-shell-output*")) |
| 1527 | ; (goto-char (point-max)) | 1527 | ; (goto-char (point-max)) |
| 1528 | ; (insert "\nSTRING===>\n" string "\n<====\n")) | 1528 | ; (insert "\nSTRING===>\n" string "\n<====\n")) |
| 1529 | 1529 | ||
| 1530 | ;; Check for prompt in current accumulating output | 1530 | ;; Check for prompt in current accumulating output |
| 1531 | (if (setq idlwave-shell-ready | 1531 | (when (setq idlwave-shell-ready |
| 1532 | (string-match idlwave-shell-prompt-pattern | 1532 | (string-match idlwave-shell-prompt-pattern |
| 1533 | idlwave-shell-accumulation)) | 1533 | idlwave-shell-accumulation)) |
| 1534 | (progn | 1534 | ;; Gather the command output |
| 1535 | ;; Gather the command output | 1535 | (if idlwave-shell-hide-output |
| 1536 | (save-excursion | ||
| 1537 | (set-buffer idlwave-shell-hidden-output-buffer) | ||
| 1538 | (setq full-output (buffer-string)) | ||
| 1539 | (goto-char (point-max)) | ||
| 1540 | (re-search-backward idlwave-shell-prompt-pattern nil t) | ||
| 1541 | (goto-char (match-end 0)) | ||
| 1542 | (setq idlwave-shell-command-output | ||
| 1543 | (buffer-substring (point-min) (point))) | ||
| 1544 | (delete-region (point-min) (point))) | ||
| 1545 | (setq idlwave-shell-command-output | ||
| 1546 | (with-current-buffer (process-buffer proc) | ||
| 1547 | (buffer-substring | ||
| 1548 | (save-excursion | ||
| 1549 | (goto-char (process-mark proc)) | ||
| 1550 | (forward-line 0) | ||
| 1551 | (point)) | ||
| 1552 | comint-last-input-end)))) | ||
| 1553 | |||
| 1554 | ;; Scan for state and do post commands - bracket | ||
| 1555 | ;; them with idlwave-shell-ready=nil since they may | ||
| 1556 | ;; call idlwave-shell-send-command themselves. | ||
| 1557 | (let ((idlwave-shell-ready nil)) | ||
| 1558 | (idlwave-shell-scan-for-state) | ||
| 1559 | ;; Show the output in the shell if it contains an error | ||
| 1536 | (if idlwave-shell-hide-output | 1560 | (if idlwave-shell-hide-output |
| 1537 | (save-excursion | 1561 | (if (and idlwave-shell-show-if-error |
| 1538 | (set-buffer idlwave-shell-hidden-output-buffer) | 1562 | (eq idlwave-shell-current-state 'error)) |
| 1539 | (setq full-output (buffer-string)) | 1563 | (idlwave-shell-comint-filter proc full-output) |
| 1540 | (goto-char (point-max)) | 1564 | ;; If it's only *mostly* hidden, filter % lines, |
| 1541 | (re-search-backward idlwave-shell-prompt-pattern nil t) | 1565 | ;; and show anything that remains |
| 1542 | (goto-char (match-end 0)) | 1566 | (if (eq idlwave-shell-hide-output 'mostly) |
| 1543 | (setq idlwave-shell-command-output | 1567 | (let ((filtered |
| 1544 | (buffer-substring (point-min) (point))) | 1568 | (idlwave-shell-filter-hidden-output |
| 1545 | (delete-region (point-min) (point))) | 1569 | full-output))) |
| 1546 | (setq idlwave-shell-command-output | 1570 | (if filtered |
| 1547 | (with-current-buffer (process-buffer proc) | 1571 | (idlwave-shell-comint-filter |
| 1548 | (buffer-substring | 1572 | proc filtered)))))) |
| 1549 | (save-excursion | 1573 | |
| 1550 | (goto-char (process-mark proc)) | 1574 | ;; Call the post-command hook |
| 1551 | (beginning-of-line nil) | 1575 | (if (listp idlwave-shell-post-command-hook) |
| 1552 | (point)) | 1576 | (progn |
| 1553 | comint-last-input-end)))) | 1577 | ;(message "Calling list") |
| 1554 | 1578 | ;(prin1 idlwave-shell-post-command-hook) | |
| 1555 | ;; Scan for state and do post commands - bracket | 1579 | (eval idlwave-shell-post-command-hook)) |
| 1556 | ;; them with idlwave-shell-ready=nil since they may | 1580 | ;(message "Calling command function") |
| 1557 | ;; call idlwave-shell-send-command themselves. | 1581 | (funcall idlwave-shell-post-command-hook)) |
| 1558 | (let ((idlwave-shell-ready nil)) | 1582 | |
| 1559 | (idlwave-shell-scan-for-state) | 1583 | ;; Reset to default state for next command. |
| 1560 | ;; Show the output in the shell if it contains an error | 1584 | ;; Also we do not want to find this prompt again. |
| 1561 | (if idlwave-shell-hide-output | 1585 | (setq idlwave-shell-accumulation nil |
| 1562 | (if (and idlwave-shell-show-if-error | 1586 | idlwave-shell-command-output nil |
| 1563 | (eq idlwave-shell-current-state 'error)) | 1587 | idlwave-shell-post-command-hook nil |
| 1564 | (idlwave-shell-comint-filter proc full-output) | 1588 | idlwave-shell-hide-output nil |
| 1565 | ;; If it's only *mostly* hidden, filter % lines, | 1589 | idlwave-shell-show-if-error nil)) |
| 1566 | ;; and show anything that remains | 1590 | ;; Done with post command. Do pending command if |
| 1567 | (if (eq idlwave-shell-hide-output 'mostly) | 1591 | ;; any. |
| 1568 | (let ((filtered | 1592 | (idlwave-shell-send-command))) |
| 1569 | (idlwave-shell-filter-hidden-output | 1593 | (store-match-data data))))) |
| 1570 | full-output))) | ||
| 1571 | (if filtered | ||
| 1572 | (idlwave-shell-comint-filter | ||
| 1573 | proc filtered)))))) | ||
| 1574 | |||
| 1575 | ;; Call the post-command hook | ||
| 1576 | (if (listp idlwave-shell-post-command-hook) | ||
| 1577 | (progn | ||
| 1578 | ;(message "Calling list") | ||
| 1579 | ;(prin1 idlwave-shell-post-command-hook) | ||
| 1580 | (eval idlwave-shell-post-command-hook)) | ||
| 1581 | ;(message "Calling command function") | ||
| 1582 | (funcall idlwave-shell-post-command-hook)) | ||
| 1583 | |||
| 1584 | ;; Reset to default state for next command. | ||
| 1585 | ;; Also we do not want to find this prompt again. | ||
| 1586 | (setq idlwave-shell-accumulation nil | ||
| 1587 | idlwave-shell-command-output nil | ||
| 1588 | idlwave-shell-post-command-hook nil | ||
| 1589 | idlwave-shell-hide-output nil | ||
| 1590 | idlwave-shell-show-if-error nil | ||
| 1591 | idlwave-shell-wait-for-output nil)) | ||
| 1592 | ;; Done with post command. Do pending command if | ||
| 1593 | ;; any. | ||
| 1594 | (idlwave-shell-send-command)) | ||
| 1595 | ;; We didn't get the prompt yet... maybe accept more output | ||
| 1596 | (when idlwave-shell-wait-for-output | ||
| 1597 | ;;; Test/Debug code | ||
| 1598 | ; (save-excursion (set-buffer | ||
| 1599 | ; (get-buffer-create "*idlwave-shell-output*")) | ||
| 1600 | ; (goto-char (point-max)) | ||
| 1601 | ; (insert "\n<=== WAITING ON OUTPUT ==>\n")) | ||
| 1602 | (accept-process-output proc 1)))) | ||
| 1603 | (store-match-data data))))) | ||
| 1604 | 1594 | ||
| 1605 | (defun idlwave-shell-sentinel (process event) | 1595 | (defun idlwave-shell-sentinel (process event) |
| 1606 | "The sentinel function for the IDLWAVE shell process." | 1596 | "The sentinel function for the IDLWAVE shell process." |
| @@ -1616,7 +1606,7 @@ and then calls `idlwave-shell-send-command' for any pending commands." | |||
| 1616 | (condition-case nil | 1606 | (condition-case nil |
| 1617 | (comint-write-input-ring) | 1607 | (comint-write-input-ring) |
| 1618 | (error nil))))) | 1608 | (error nil))))) |
| 1619 | 1609 | ||
| 1620 | (when (and (> (length (frame-list)) 1) | 1610 | (when (and (> (length (frame-list)) 1) |
| 1621 | (frame-live-p idlwave-shell-idl-wframe)) | 1611 | (frame-live-p idlwave-shell-idl-wframe)) |
| 1622 | (delete-frame idlwave-shell-idl-wframe) | 1612 | (delete-frame idlwave-shell-idl-wframe) |
| @@ -1640,8 +1630,8 @@ and then calls `idlwave-shell-send-command' for any pending commands." | |||
| 1640 | ;; in module and file names. I am not sure if it will be necessary to | 1630 | ;; in module and file names. I am not sure if it will be necessary to |
| 1641 | ;; change this. Currently it seems to work the way it is. | 1631 | ;; change this. Currently it seems to work the way it is. |
| 1642 | (defvar idlwave-shell-syntax-error | 1632 | (defvar idlwave-shell-syntax-error |
| 1643 | "^% Syntax error.\\s-*\n\\s-*At:\\s-*\\(.*\\),\\s-*Line\\s-*\\(.*\\)" | 1633 | "^% Syntax error.\\s-*\n\\s-*At:\\s-*\\(.*\\),\\s-*Line\\s-*\\(.*\\)" |
| 1644 | "A regular expression to match an IDL syntax error. | 1634 | "A regular expression to match an IDL syntax error. |
| 1645 | The 1st pair matches the file name, the second pair matches the line | 1635 | The 1st pair matches the file name, the second pair matches the line |
| 1646 | number.") | 1636 | number.") |
| 1647 | 1637 | ||
| @@ -1649,16 +1639,16 @@ number.") | |||
| 1649 | "^% .*\n\\s-*At:\\s-*\\(.*\\),\\s-*Line\\s-*\\(.*\\)" | 1639 | "^% .*\n\\s-*At:\\s-*\\(.*\\),\\s-*Line\\s-*\\(.*\\)" |
| 1650 | "A regular expression to match any IDL error.") | 1640 | "A regular expression to match any IDL error.") |
| 1651 | 1641 | ||
| 1652 | (defvar idlwave-shell-halting-error | 1642 | (defvar idlwave-shell-halting-error |
| 1653 | "^% .*\n\\([^%].*\n\\)*% Execution halted at:\\(\\s-*\\S-+\\s-*[0-9]+\\s-*.*\\)\n" | 1643 | "^% .*\n\\([^%].*\n\\)*% Execution halted at:\\(\\s-*\\S-+\\s-*[0-9]+\\s-*.*\\)\n" |
| 1654 | "A regular expression to match errors which halt execution.") | 1644 | "A regular expression to match errors which halt execution.") |
| 1655 | 1645 | ||
| 1656 | (defvar idlwave-shell-cant-continue-error | 1646 | (defvar idlwave-shell-cant-continue-error |
| 1657 | "^% Can't continue from this point.\n" | 1647 | "^% Can't continue from this point.\n" |
| 1658 | "A regular expression to match errors stepping errors.") | 1648 | "A regular expression to match errors stepping errors.") |
| 1659 | 1649 | ||
| 1660 | (defvar idlwave-shell-file-line-message | 1650 | (defvar idlwave-shell-file-line-message |
| 1661 | (concat | 1651 | (concat |
| 1662 | "\\(" ; program name group (1) | 1652 | "\\(" ; program name group (1) |
| 1663 | "\\$MAIN\\$\\|" ; main level routine | 1653 | "\\$MAIN\\$\\|" ; main level routine |
| 1664 | "\\<[a-zA-Z][a-zA-Z0-9_$:]*" ; start with a letter followed by [..] | 1654 | "\\<[a-zA-Z][a-zA-Z0-9_$:]*" ; start with a letter followed by [..] |
| @@ -1676,7 +1666,7 @@ number.") | |||
| 1676 | "\\)" ; end line number group (5) | 1666 | "\\)" ; end line number group (5) |
| 1677 | ) | 1667 | ) |
| 1678 | "*A regular expression to parse out the file name and line number. | 1668 | "*A regular expression to parse out the file name and line number. |
| 1679 | The 1st group should match the subroutine name. | 1669 | The 1st group should match the subroutine name. |
| 1680 | The 3rd group is the line number. | 1670 | The 3rd group is the line number. |
| 1681 | The 5th group is the file name. | 1671 | The 5th group is the file name. |
| 1682 | All parts may contain linebreaks surrounded by spaces. This is important | 1672 | All parts may contain linebreaks surrounded by spaces. This is important |
| @@ -1695,9 +1685,9 @@ the above." | |||
| 1695 | (cond | 1685 | (cond |
| 1696 | ;; Make sure we have output | 1686 | ;; Make sure we have output |
| 1697 | ((not idlwave-shell-command-output)) | 1687 | ((not idlwave-shell-command-output)) |
| 1698 | 1688 | ||
| 1699 | ;; First Priority: Syntax and other errors | 1689 | ;; First Priority: Syntax and other errors |
| 1700 | ((or | 1690 | ((or |
| 1701 | (string-match idlwave-shell-syntax-error | 1691 | (string-match idlwave-shell-syntax-error |
| 1702 | idlwave-shell-command-output) | 1692 | idlwave-shell-command-output) |
| 1703 | (string-match idlwave-shell-other-error | 1693 | (string-match idlwave-shell-other-error |
| @@ -1711,19 +1701,19 @@ the above." | |||
| 1711 | (setq idlwave-shell-error-last (point))) | 1701 | (setq idlwave-shell-error-last (point))) |
| 1712 | (setq idlwave-shell-current-state 'error) | 1702 | (setq idlwave-shell-current-state 'error) |
| 1713 | (idlwave-shell-goto-next-error)) | 1703 | (idlwave-shell-goto-next-error)) |
| 1714 | 1704 | ||
| 1715 | ;; Second Priority: Halting errors | 1705 | ;; Second Priority: Halting errors |
| 1716 | ((string-match idlwave-shell-halting-error | 1706 | ((string-match idlwave-shell-halting-error |
| 1717 | idlwave-shell-command-output) | 1707 | idlwave-shell-command-output) |
| 1718 | ;; Grab the file and line state info. | 1708 | ;; Grab the file and line state info. |
| 1719 | (setq idlwave-shell-calling-stack-index 0) | 1709 | (setq idlwave-shell-calling-stack-index 0) |
| 1720 | (setq idlwave-shell-halt-frame | 1710 | (setq idlwave-shell-halt-frame |
| 1721 | (idlwave-shell-parse-line | 1711 | (idlwave-shell-parse-line |
| 1722 | (substring idlwave-shell-command-output | 1712 | (substring idlwave-shell-command-output |
| 1723 | (match-beginning 2))) | 1713 | (match-beginning 2))) |
| 1724 | idlwave-shell-current-state 'error) | 1714 | idlwave-shell-current-state 'error) |
| 1725 | (idlwave-shell-display-line (idlwave-shell-pc-frame))) | 1715 | (idlwave-shell-display-line (idlwave-shell-pc-frame))) |
| 1726 | 1716 | ||
| 1727 | ;; Third Priority: Various types of innocuous HALT and | 1717 | ;; Third Priority: Various types of innocuous HALT and |
| 1728 | ;; TRACEBACK messages. | 1718 | ;; TRACEBACK messages. |
| 1729 | ((or (setq trace (string-match idlwave-shell-trace-message-re | 1719 | ((or (setq trace (string-match idlwave-shell-trace-message-re |
| @@ -1733,25 +1723,25 @@ the above." | |||
| 1733 | ;; Grab the file and line state info. | 1723 | ;; Grab the file and line state info. |
| 1734 | (setq idlwave-shell-calling-stack-index 0) | 1724 | (setq idlwave-shell-calling-stack-index 0) |
| 1735 | (setq idlwave-shell-halt-frame | 1725 | (setq idlwave-shell-halt-frame |
| 1736 | (idlwave-shell-parse-line | 1726 | (idlwave-shell-parse-line |
| 1737 | (substring idlwave-shell-command-output (match-end 0)))) | 1727 | (substring idlwave-shell-command-output (match-end 0)))) |
| 1738 | (setq idlwave-shell-current-state 'halt) | 1728 | (setq idlwave-shell-current-state 'halt) |
| 1739 | ;; Don't debug trace messages | 1729 | ;; Don't debug trace messages |
| 1740 | (idlwave-shell-display-line (idlwave-shell-pc-frame) nil | 1730 | (idlwave-shell-display-line (idlwave-shell-pc-frame) nil |
| 1741 | (if trace 'no-debug))) | 1731 | (if trace 'no-debug))) |
| 1742 | 1732 | ||
| 1743 | ;; Fourth Priority: Breakpoints | 1733 | ;; Fourth Priority: Breakpoints |
| 1744 | ((string-match idlwave-shell-break-message | 1734 | ((string-match idlwave-shell-break-message |
| 1745 | idlwave-shell-command-output) | 1735 | idlwave-shell-command-output) |
| 1746 | (setq idlwave-shell-calling-stack-index 0) | 1736 | (setq idlwave-shell-calling-stack-index 0) |
| 1747 | (setq idlwave-shell-halt-frame | 1737 | (setq idlwave-shell-halt-frame |
| 1748 | (idlwave-shell-parse-line | 1738 | (idlwave-shell-parse-line |
| 1749 | (substring idlwave-shell-command-output (match-end 0)))) | 1739 | (substring idlwave-shell-command-output (match-end 0)))) |
| 1750 | ;; We used to count hits on breakpoints | 1740 | ;; We used to count hits on breakpoints |
| 1751 | ;; this is no longer supported since IDL breakpoints | 1741 | ;; this is no longer supported since IDL breakpoints |
| 1752 | ;; have learned counting. | 1742 | ;; have learned counting. |
| 1753 | ;; Do breakpoint command processing | 1743 | ;; Do breakpoint command processing |
| 1754 | (let ((bp (assoc | 1744 | (let ((bp (assoc |
| 1755 | (list | 1745 | (list |
| 1756 | (nth 0 idlwave-shell-halt-frame) | 1746 | (nth 0 idlwave-shell-halt-frame) |
| 1757 | (nth 1 idlwave-shell-halt-frame)) | 1747 | (nth 1 idlwave-shell-halt-frame)) |
| @@ -1764,9 +1754,9 @@ the above." | |||
| 1764 | ;; A breakpoint that we did not know about - perhaps it was | 1754 | ;; A breakpoint that we did not know about - perhaps it was |
| 1765 | ;; set by the user... Let's update our list. | 1755 | ;; set by the user... Let's update our list. |
| 1766 | (idlwave-shell-bp-query))) | 1756 | (idlwave-shell-bp-query))) |
| 1767 | (setq idlwave-shell-current-state 'breakpoint) | 1757 | (setq idlwave-shell-current-state 'breakpoint) |
| 1768 | (idlwave-shell-display-line (idlwave-shell-pc-frame))) | 1758 | (idlwave-shell-display-line (idlwave-shell-pc-frame))) |
| 1769 | 1759 | ||
| 1770 | ;; Last Priority: Can't Step errors | 1760 | ;; Last Priority: Can't Step errors |
| 1771 | ((string-match idlwave-shell-cant-continue-error | 1761 | ((string-match idlwave-shell-cant-continue-error |
| 1772 | idlwave-shell-command-output) | 1762 | idlwave-shell-command-output) |
| @@ -1775,13 +1765,14 @@ the above." | |||
| 1775 | ;; Otherwise, no particular state | 1765 | ;; Otherwise, no particular state |
| 1776 | (t (setq idlwave-shell-current-state nil))))) | 1766 | (t (setq idlwave-shell-current-state nil))))) |
| 1777 | 1767 | ||
| 1768 | |||
| 1778 | (defun idlwave-shell-parse-line (string &optional skip-main) | 1769 | (defun idlwave-shell-parse-line (string &optional skip-main) |
| 1779 | "Parse IDL message for the subroutine, file name and line number. | 1770 | "Parse IDL message for the subroutine, file name and line number. |
| 1780 | We need to work hard here to remove the stupid line breaks inserted by | 1771 | We need to work hard here to remove the stupid line breaks inserted by |
| 1781 | IDL5. These line breaks can be right in the middle of procedure | 1772 | IDL5. These line breaks can be right in the middle of procedure |
| 1782 | or file names. | 1773 | or file names. |
| 1783 | It is very difficult to come up with a robust solution. This one seems | 1774 | It is very difficult to come up with a robust solution. This one seems |
| 1784 | to be pretty good though. | 1775 | to be pretty good though. |
| 1785 | 1776 | ||
| 1786 | Here is in what ways it improves over the previous solution: | 1777 | Here is in what ways it improves over the previous solution: |
| 1787 | 1778 | ||
| @@ -1806,7 +1797,7 @@ statements." | |||
| 1806 | (setq procedure (match-string 1 string) | 1797 | (setq procedure (match-string 1 string) |
| 1807 | number (match-string 3 string) | 1798 | number (match-string 3 string) |
| 1808 | file (match-string 5 string)) | 1799 | file (match-string 5 string)) |
| 1809 | 1800 | ||
| 1810 | ;; Repair the strings | 1801 | ;; Repair the strings |
| 1811 | (setq procedure (idlwave-shell-repair-string procedure)) | 1802 | (setq procedure (idlwave-shell-repair-string procedure)) |
| 1812 | (setq number (idlwave-shell-repair-string number)) | 1803 | (setq number (idlwave-shell-repair-string number)) |
| @@ -1832,7 +1823,7 @@ The last line of STRING may be garbage - we check which one makes a valid | |||
| 1832 | file name." | 1823 | file name." |
| 1833 | (let ((file1 "") (file2 "") (start 0)) | 1824 | (let ((file1 "") (file2 "") (start 0)) |
| 1834 | ;; We scan no further than to the next "^%" line | 1825 | ;; We scan no further than to the next "^%" line |
| 1835 | (if (string-match "^%" file) | 1826 | (if (string-match "^%" file) |
| 1836 | (setq file (substring file 0 (match-beginning 0)))) | 1827 | (setq file (substring file 0 (match-beginning 0)))) |
| 1837 | ;; Take out the line breaks | 1828 | ;; Take out the line breaks |
| 1838 | (while (string-match "[ \t]*\n[ \t]*" file start) | 1829 | (while (string-match "[ \t]*\n[ \t]*" file start) |
| @@ -1887,7 +1878,7 @@ file name." | |||
| 1887 | The size is given by `idlwave-shell-graphics-window-size'." | 1878 | The size is given by `idlwave-shell-graphics-window-size'." |
| 1888 | (interactive "P") | 1879 | (interactive "P") |
| 1889 | (let ((n (if n (prefix-numeric-value n) 0))) | 1880 | (let ((n (if n (prefix-numeric-value n) 0))) |
| 1890 | (idlwave-shell-send-command | 1881 | (idlwave-shell-send-command |
| 1891 | (apply 'format "window,%d,xs=%d,ys=%d" | 1882 | (apply 'format "window,%d,xs=%d,ys=%d" |
| 1892 | n idlwave-shell-graphics-window-size) | 1883 | n idlwave-shell-graphics-window-size) |
| 1893 | nil (idlwave-shell-hide-p 'misc) nil t))) | 1884 | nil (idlwave-shell-hide-p 'misc) nil t))) |
| @@ -1907,16 +1898,16 @@ directory." | |||
| 1907 | Also get rid of widget events in the queue." | 1898 | Also get rid of widget events in the queue." |
| 1908 | (interactive "P") | 1899 | (interactive "P") |
| 1909 | (save-selected-window | 1900 | (save-selected-window |
| 1910 | ;;if (widget_info(/MANAGED))[0] gt 0 then for i=0,n_elements(widget_info(/MANAGED))-1 do widget_control,(widget_info(/MANAGED))[i],/clear_events & | 1901 | ;;if (widget_info(/MANAGED))[0] gt 0 then for i=0,n_elements(widget_info(/MANAGED))-1 do widget_control,(widget_info(/MANAGED))[i],/clear_events & |
| 1911 | (idlwave-shell-send-command "retall" nil | 1902 | (idlwave-shell-send-command "retall" nil |
| 1912 | (if (idlwave-shell-hide-p 'misc) 'mostly) | 1903 | (if (idlwave-shell-hide-p 'misc) 'mostly) |
| 1913 | nil t) | 1904 | nil t) |
| 1914 | (idlwave-shell-display-line nil))) | 1905 | (idlwave-shell-display-line nil))) |
| 1915 | 1906 | ||
| 1916 | (defun idlwave-shell-closeall (&optional arg) | 1907 | (defun idlwave-shell-closeall (&optional arg) |
| 1917 | "Close all open files." | 1908 | "Close all open files." |
| 1918 | (interactive "P") | 1909 | (interactive "P") |
| 1919 | (idlwave-shell-send-command "close,/all" nil | 1910 | (idlwave-shell-send-command "close,/all" nil |
| 1920 | (idlwave-shell-hide-p 'misc) nil t)) | 1911 | (idlwave-shell-hide-p 'misc) nil t)) |
| 1921 | 1912 | ||
| 1922 | (defun idlwave-shell-quit (&optional arg) | 1913 | (defun idlwave-shell-quit (&optional arg) |
| @@ -1932,7 +1923,7 @@ With prefix ARG, exit without confirmation." | |||
| 1932 | 1923 | ||
| 1933 | (defun idlwave-shell-reset (&optional hidden) | 1924 | (defun idlwave-shell-reset (&optional hidden) |
| 1934 | "Reset IDL. Return to main level and destroy the leftover variables. | 1925 | "Reset IDL. Return to main level and destroy the leftover variables. |
| 1935 | This issues the following commands: | 1926 | This issues the following commands: |
| 1936 | RETALL | 1927 | RETALL |
| 1937 | WIDGET_CONTROL,/RESET | 1928 | WIDGET_CONTROL,/RESET |
| 1938 | CLOSE, /ALL | 1929 | CLOSE, /ALL |
| @@ -1982,14 +1973,14 @@ HEAP_GC, /VERBOSE" | |||
| 1982 | ;; Set dummy values and kill the text | 1973 | ;; Set dummy values and kill the text |
| 1983 | (setq sep "@" sep-re "@ *" text "") | 1974 | (setq sep "@" sep-re "@ *" text "") |
| 1984 | (if idlwave-idlwave_routine_info-compiled | 1975 | (if idlwave-idlwave_routine_info-compiled |
| 1985 | (message | 1976 | (message |
| 1986 | "Routine Info warning: No match for BEGIN line in \n>>>\n%s\n<<<\n" | 1977 | "Routine Info warning: No match for BEGIN line in \n>>>\n%s\n<<<\n" |
| 1987 | idlwave-shell-command-output))) | 1978 | idlwave-shell-command-output))) |
| 1988 | (if (string-match "^>>>END OF IDLWAVE ROUTINE INFO.*" text) | 1979 | (if (string-match "^>>>END OF IDLWAVE ROUTINE INFO.*" text) |
| 1989 | (setq text (substring text 0 (match-beginning 0))) | 1980 | (setq text (substring text 0 (match-beginning 0))) |
| 1990 | (if idlwave-idlwave_routine_info-compiled | 1981 | (if idlwave-idlwave_routine_info-compiled |
| 1991 | (message | 1982 | (message |
| 1992 | "Routine Info warning: No match for END line in \n>>>\n%s\n<<<\n" | 1983 | "Routine Info warning: No match for END line in \n>>>\n%s\n<<<\n" |
| 1993 | idlwave-shell-command-output))) | 1984 | idlwave-shell-command-output))) |
| 1994 | (if (string-match "\\S-" text) | 1985 | (if (string-match "\\S-" text) |
| 1995 | ;; Obviously, the pro worked. Make a note that we have it now. | 1986 | ;; Obviously, the pro worked. Make a note that we have it now. |
| @@ -2007,59 +1998,59 @@ HEAP_GC, /VERBOSE" | |||
| 2007 | key (nth 4 specs) | 1998 | key (nth 4 specs) |
| 2008 | keys (if (and (stringp key) | 1999 | keys (if (and (stringp key) |
| 2009 | (not (string-match "\\` *\\'" key))) | 2000 | (not (string-match "\\` *\\'" key))) |
| 2010 | (mapcar 'list | 2001 | (mapcar 'list |
| 2011 | (delete "" (idlwave-split-string key " +"))))) | 2002 | (delete "" (idlwave-split-string key " +"))))) |
| 2012 | (setq name (idlwave-sintern-routine-or-method name class t) | 2003 | (setq name (idlwave-sintern-routine-or-method name class t) |
| 2013 | class (idlwave-sintern-class class t) | 2004 | class (idlwave-sintern-class class t) |
| 2014 | file (if (equal file "") nil file) | 2005 | file (if (equal file "") nil file) |
| 2015 | keys (mapcar (lambda (x) | 2006 | keys (mapcar (lambda (x) |
| 2016 | (list (idlwave-sintern-keyword (car x) t))) keys)) | 2007 | (list (idlwave-sintern-keyword (car x) t))) keys)) |
| 2017 | 2008 | ||
| 2018 | ;; In the following ignore routines already defined in buffers, | 2009 | ;; In the following ignore routines already defined in buffers, |
| 2019 | ;; assuming that if the buffer stuff differs, it is a "new" | 2010 | ;; assuming that if the buffer stuff differs, it is a "new" |
| 2020 | ;; version, not yet compiled, and should take precedence. | 2011 | ;; version, not yet compiled, and should take precedence. |
| 2021 | ;; We could do the same for the library to avoid duplicates - | 2012 | ;; We could do the same for the library to avoid duplicates - |
| 2022 | ;; but I think frequently a user might have several versions of | 2013 | ;; but I think frequently a user might have several versions of |
| 2023 | ;; the same function in different programs, and in this case the | 2014 | ;; the same function in different programs, and in this case the |
| 2024 | ;; compiled one will be the best guess of all versions. | 2015 | ;; compiled one will be the best guess of all versions. |
| 2025 | ;; Therefore, we leave duplicates of library routines in. | 2016 | ;; Therefore, we leave duplicates of library routines in. |
| 2026 | (cond ((string= name "$MAIN$")) ; ignore this one | 2017 | (cond ((string= name "$MAIN$")) ; ignore this one |
| 2027 | ((and (string= type "PRO") | 2018 | ((and (string= type "PRO") |
| 2028 | ;; FIXME: is it OK to make the buffer routines dominate? | 2019 | ;; FIXME: is it OK to make the buffer routines dominate? |
| 2029 | (or t (null file) | 2020 | (or t (null file) |
| 2030 | (not (idlwave-rinfo-assq name 'pro class | 2021 | (not (idlwave-rinfo-assq name 'pro class |
| 2031 | idlwave-buffer-routines))) | 2022 | idlwave-buffer-routines))) |
| 2032 | ;; FIXME: is it OK to make the library routines dominate? | 2023 | ;; FIXME: is it OK to make the library routines dominate? |
| 2033 | ;;(not (idlwave-rinfo-assq name 'pro class | 2024 | ;;(not (idlwave-rinfo-assq name 'pro class |
| 2034 | ;; idlwave-library-routines)) | 2025 | ;; idlwave-library-routines)) |
| 2035 | ) | 2026 | ) |
| 2036 | (setq entry (list name 'pro class | 2027 | (setq entry (list name 'pro class |
| 2037 | (cons 'compiled | 2028 | (cons 'compiled |
| 2038 | (if file | 2029 | (if file |
| 2039 | (list | 2030 | (list |
| 2040 | (file-name-nondirectory file) | 2031 | (file-name-nondirectory file) |
| 2041 | (idlwave-sintern-dir | 2032 | (idlwave-sintern-dir |
| 2042 | (file-name-directory file))))) | 2033 | (file-name-directory file))))) |
| 2043 | cs (cons nil keys))) | 2034 | cs (cons nil keys))) |
| 2044 | (if file | 2035 | (if file |
| 2045 | (push entry idlwave-compiled-routines) | 2036 | (push entry idlwave-compiled-routines) |
| 2046 | (push entry idlwave-unresolved-routines))) | 2037 | (push entry idlwave-unresolved-routines))) |
| 2047 | 2038 | ||
| 2048 | ((and (string= type "FUN") | 2039 | ((and (string= type "FUN") |
| 2049 | ;; FIXME: is it OK to make the buffer routines dominate? | 2040 | ;; FIXME: is it OK to make the buffer routines dominate? |
| 2050 | (or t (not file) | 2041 | (or t (not file) |
| 2051 | (not (idlwave-rinfo-assq name 'fun class | 2042 | (not (idlwave-rinfo-assq name 'fun class |
| 2052 | idlwave-buffer-routines))) | 2043 | idlwave-buffer-routines))) |
| 2053 | ;; FIXME: is it OK to make the library routines dominate? | 2044 | ;; FIXME: is it OK to make the library routines dominate? |
| 2054 | ;; (not (idlwave-rinfo-assq name 'fun class | 2045 | ;; (not (idlwave-rinfo-assq name 'fun class |
| 2055 | ;; idlwave-library-routines)) | 2046 | ;; idlwave-library-routines)) |
| 2056 | ) | 2047 | ) |
| 2057 | (setq entry (list name 'fun class | 2048 | (setq entry (list name 'fun class |
| 2058 | (cons 'compiled | 2049 | (cons 'compiled |
| 2059 | (if file | 2050 | (if file |
| 2060 | (list | 2051 | (list |
| 2061 | (file-name-nondirectory file) | 2052 | (file-name-nondirectory file) |
| 2062 | (idlwave-sintern-dir | 2053 | (idlwave-sintern-dir |
| 2063 | (file-name-directory file))))) | 2054 | (file-name-directory file))))) |
| 2064 | cs (cons nil keys))) | 2055 | cs (cons nil keys))) |
| 2065 | (if file | 2056 | (if file |
| @@ -2076,7 +2067,7 @@ Change the default directory for the process buffer to concur." | |||
| 2076 | (set-buffer (idlwave-shell-buffer)) | 2067 | (set-buffer (idlwave-shell-buffer)) |
| 2077 | (if (string-match ",___cur[\n\r]\\(\\S-*\\) *[\n\r]" | 2068 | (if (string-match ",___cur[\n\r]\\(\\S-*\\) *[\n\r]" |
| 2078 | idlwave-shell-command-output) | 2069 | idlwave-shell-command-output) |
| 2079 | (let ((dir (substring idlwave-shell-command-output | 2070 | (let ((dir (substring idlwave-shell-command-output |
| 2080 | (match-beginning 1) (match-end 1)))) | 2071 | (match-beginning 1) (match-end 1)))) |
| 2081 | ; (message "Setting Emacs working dir to %s" dir) | 2072 | ; (message "Setting Emacs working dir to %s" dir) |
| 2082 | (setq idlwave-shell-default-directory dir) | 2073 | (setq idlwave-shell-default-directory dir) |
| @@ -2090,10 +2081,10 @@ Change the default directory for the process buffer to concur." | |||
| 2090 | expression) | 2081 | expression) |
| 2091 | (save-excursion | 2082 | (save-excursion |
| 2092 | (goto-char apos) | 2083 | (goto-char apos) |
| 2093 | (setq expression (buffer-substring | 2084 | (setq expression (buffer-substring |
| 2094 | (catch 'exit | 2085 | (catch 'exit |
| 2095 | (while t | 2086 | (while t |
| 2096 | (if (not (re-search-backward | 2087 | (if (not (re-search-backward |
| 2097 | "[^][.A-Za-z0-9_() ]" bos t)) | 2088 | "[^][.A-Za-z0-9_() ]" bos t)) |
| 2098 | (throw 'exit bos)) ;ran into bos | 2089 | (throw 'exit bos)) ;ran into bos |
| 2099 | (if (not (idlwave-is-pointer-dereference bol)) | 2090 | (if (not (idlwave-is-pointer-dereference bol)) |
| @@ -2102,7 +2093,8 @@ Change the default directory for the process buffer to concur." | |||
| 2102 | (when (not (string= expression "")) | 2093 | (when (not (string= expression "")) |
| 2103 | (setq idlwave-shell-get-object-class nil) | 2094 | (setq idlwave-shell-get-object-class nil) |
| 2104 | (idlwave-shell-send-command | 2095 | (idlwave-shell-send-command |
| 2105 | (concat "print,obj_class(" expression ")") | 2096 | (concat "if obj_valid(" expression ") then print,obj_class(" |
| 2097 | expression ")") | ||
| 2106 | 'idlwave-shell-parse-object-class | 2098 | 'idlwave-shell-parse-object-class |
| 2107 | 'hide 'wait) | 2099 | 'hide 'wait) |
| 2108 | ;; If we don't know anything about the class, update shell routines | 2100 | ;; If we don't know anything about the class, update shell routines |
| @@ -2114,14 +2106,11 @@ Change the default directory for the process buffer to concur." | |||
| 2114 | 2106 | ||
| 2115 | (defun idlwave-shell-parse-object-class () | 2107 | (defun idlwave-shell-parse-object-class () |
| 2116 | "Parse the output of the obj_class command." | 2108 | "Parse the output of the obj_class command." |
| 2117 | (let ((match "print,obj_class([^\n\r]+[\n\r ]")) | 2109 | (let ((match "obj_class([^\n\r]+[\n\r ]")) |
| 2118 | (if (and | 2110 | (if (string-match (concat match "\\([A-Za-z_0-9]+\\) *[\n\r]\\(" |
| 2119 | (not (string-match (concat match match "\\s-*^[\n\r]+" | 2111 | idlwave-shell-prompt-pattern "\\)") |
| 2120 | "% Syntax error") | 2112 | idlwave-shell-command-output) |
| 2121 | idlwave-shell-command-output)) | 2113 | (setq idlwave-shell-get-object-class |
| 2122 | (string-match (concat match "\\([A-Za-z_0-9]+\\)") | ||
| 2123 | idlwave-shell-command-output)) | ||
| 2124 | (setq idlwave-shell-get-object-class | ||
| 2125 | (match-string 1 idlwave-shell-command-output))))) | 2114 | (match-string 1 idlwave-shell-command-output))))) |
| 2126 | 2115 | ||
| 2127 | (defvar idlwave-sint-sysvars nil) | 2116 | (defvar idlwave-sint-sysvars nil) |
| @@ -2135,7 +2124,7 @@ keywords." | |||
| 2135 | (interactive "P") | 2124 | (interactive "P") |
| 2136 | (let (exec-cmd) | 2125 | (let (exec-cmd) |
| 2137 | (cond | 2126 | (cond |
| 2138 | ((and | 2127 | ((and |
| 2139 | (setq exec-cmd (idlwave-shell-executive-command)) | 2128 | (setq exec-cmd (idlwave-shell-executive-command)) |
| 2140 | (cdr exec-cmd) | 2129 | (cdr exec-cmd) |
| 2141 | (member (upcase (cdr exec-cmd)) | 2130 | (member (upcase (cdr exec-cmd)) |
| @@ -2145,7 +2134,7 @@ keywords." | |||
| 2145 | (idlwave-shell-complete-filename)) | 2134 | (idlwave-shell-complete-filename)) |
| 2146 | 2135 | ||
| 2147 | ((car-safe exec-cmd) | 2136 | ((car-safe exec-cmd) |
| 2148 | (setq idlwave-completion-help-info | 2137 | (setq idlwave-completion-help-info |
| 2149 | '(idlwave-shell-complete-execcomm-help)) | 2138 | '(idlwave-shell-complete-execcomm-help)) |
| 2150 | (idlwave-complete-in-buffer 'execcomm 'execcomm | 2139 | (idlwave-complete-in-buffer 'execcomm 'execcomm |
| 2151 | idlwave-executive-commands-alist nil | 2140 | idlwave-executive-commands-alist nil |
| @@ -2164,7 +2153,7 @@ keywords." | |||
| 2164 | (let ((case-fold-search t)) | 2153 | (let ((case-fold-search t)) |
| 2165 | (not (looking-at ".*obj_new"))))) | 2154 | (not (looking-at ".*obj_new"))))) |
| 2166 | (idlwave-shell-complete-filename)) | 2155 | (idlwave-shell-complete-filename)) |
| 2167 | 2156 | ||
| 2168 | (t | 2157 | (t |
| 2169 | ;; Default completion of modules and keywords | 2158 | ;; Default completion of modules and keywords |
| 2170 | (idlwave-complete arg))))) | 2159 | (idlwave-complete arg))))) |
| @@ -2186,7 +2175,7 @@ keywords." | |||
| 2186 | We assume that we are after a file name when completing one of the | 2175 | We assume that we are after a file name when completing one of the |
| 2187 | args of an executive .run, .rnew or .compile." | 2176 | args of an executive .run, .rnew or .compile." |
| 2188 | ;; CWD might have changed, resync, to set default directory | 2177 | ;; CWD might have changed, resync, to set default directory |
| 2189 | (idlwave-shell-resync-dirs) | 2178 | (idlwave-shell-resync-dirs) |
| 2190 | (let ((comint-file-name-chars idlwave-shell-file-name-chars)) | 2179 | (let ((comint-file-name-chars idlwave-shell-file-name-chars)) |
| 2191 | (comint-dynamic-complete-as-filename))) | 2180 | (comint-dynamic-complete-as-filename))) |
| 2192 | 2181 | ||
| @@ -2227,7 +2216,7 @@ args of an executive .run, .rnew or .compile." | |||
| 2227 | 2216 | ||
| 2228 | (defun idlwave-shell-redisplay (&optional hide) | 2217 | (defun idlwave-shell-redisplay (&optional hide) |
| 2229 | "Tries to resync the display with where execution has stopped. | 2218 | "Tries to resync the display with where execution has stopped. |
| 2230 | Issues a \"help,/trace\" command followed by a call to | 2219 | Issues a \"help,/trace\" command followed by a call to |
| 2231 | `idlwave-shell-display-line'. Also updates the breakpoint | 2220 | `idlwave-shell-display-line'. Also updates the breakpoint |
| 2232 | overlays." | 2221 | overlays." |
| 2233 | (interactive) | 2222 | (interactive) |
| @@ -2240,7 +2229,7 @@ overlays." | |||
| 2240 | (idlwave-shell-bp-query)) | 2229 | (idlwave-shell-bp-query)) |
| 2241 | 2230 | ||
| 2242 | (defun idlwave-shell-display-level-in-calling-stack (&optional hide) | 2231 | (defun idlwave-shell-display-level-in-calling-stack (&optional hide) |
| 2243 | (idlwave-shell-send-command | 2232 | (idlwave-shell-send-command |
| 2244 | "help,/trace" | 2233 | "help,/trace" |
| 2245 | `(progn | 2234 | `(progn |
| 2246 | ;; scanning for the state will reset the stack level - restore it | 2235 | ;; scanning for the state will reset the stack level - restore it |
| @@ -2271,14 +2260,14 @@ overlays." | |||
| 2271 | (setq idlwave-shell-calling-stack-index nmin | 2260 | (setq idlwave-shell-calling-stack-index nmin |
| 2272 | message (format "%d is the current calling stack level - can't go further down" | 2261 | message (format "%d is the current calling stack level - can't go further down" |
| 2273 | (- nmin))))) | 2262 | (- nmin))))) |
| 2274 | (setq idlwave-shell-calling-stack-routine | 2263 | (setq idlwave-shell-calling-stack-routine |
| 2275 | (nth 2 (nth idlwave-shell-calling-stack-index stack))) | 2264 | (nth 2 (nth idlwave-shell-calling-stack-index stack))) |
| 2276 | 2265 | ||
| 2277 | ;; only edebug if in that mode already | 2266 | ;; only edebug if in that mode already |
| 2278 | (idlwave-shell-display-line | 2267 | (idlwave-shell-display-line |
| 2279 | (nth idlwave-shell-calling-stack-index stack) nil | 2268 | (nth idlwave-shell-calling-stack-index stack) nil |
| 2280 | (unless idlwave-shell-electric-debug-mode 'no-debug)) | 2269 | (unless idlwave-shell-electric-debug-mode 'no-debug)) |
| 2281 | (message (or message | 2270 | (message (or message |
| 2282 | (format "In routine %s (stack level %d)" | 2271 | (format "In routine %s (stack level %d)" |
| 2283 | idlwave-shell-calling-stack-routine | 2272 | idlwave-shell-calling-stack-routine |
| 2284 | (- idlwave-shell-calling-stack-index)))))) | 2273 | (- idlwave-shell-calling-stack-index)))))) |
| @@ -2309,7 +2298,7 @@ used. Does nothing if the resulting frame is nil." | |||
| 2309 | (defun idlwave-shell-pc-frame () | 2298 | (defun idlwave-shell-pc-frame () |
| 2310 | "Returns the frame for IDL execution." | 2299 | "Returns the frame for IDL execution." |
| 2311 | (and idlwave-shell-halt-frame | 2300 | (and idlwave-shell-halt-frame |
| 2312 | (list (nth 0 idlwave-shell-halt-frame) | 2301 | (list (nth 0 idlwave-shell-halt-frame) |
| 2313 | (nth 1 idlwave-shell-halt-frame) | 2302 | (nth 1 idlwave-shell-halt-frame) |
| 2314 | (nth 2 idlwave-shell-halt-frame)))) | 2303 | (nth 2 idlwave-shell-halt-frame)))) |
| 2315 | 2304 | ||
| @@ -2327,7 +2316,7 @@ column in the line. If NO-DEBUG is non-nil, do *not* toggle the electric | |||
| 2327 | debug mode." | 2316 | debug mode." |
| 2328 | (if (not frame) | 2317 | (if (not frame) |
| 2329 | ;; Remove stop-line overlay from old position | 2318 | ;; Remove stop-line overlay from old position |
| 2330 | (progn | 2319 | (progn |
| 2331 | (setq overlay-arrow-string nil) | 2320 | (setq overlay-arrow-string nil) |
| 2332 | (setq idlwave-shell-mode-line-info nil) | 2321 | (setq idlwave-shell-mode-line-info nil) |
| 2333 | (setq idlwave-shell-is-stopped nil) | 2322 | (setq idlwave-shell-is-stopped nil) |
| @@ -2344,10 +2333,10 @@ debug mode." | |||
| 2344 | ;;; | 2333 | ;;; |
| 2345 | ;;; buffer : the buffer to display a line in. | 2334 | ;;; buffer : the buffer to display a line in. |
| 2346 | ;;; select-shell: current buffer is the shell. | 2335 | ;;; select-shell: current buffer is the shell. |
| 2347 | ;;; | 2336 | ;;; |
| 2348 | (setq idlwave-shell-mode-line-info | 2337 | (setq idlwave-shell-mode-line-info |
| 2349 | (if (nth 2 frame) | 2338 | (if (nth 2 frame) |
| 2350 | (format "[%d:%s]" | 2339 | (format "[%d:%s]" |
| 2351 | (- idlwave-shell-calling-stack-index) | 2340 | (- idlwave-shell-calling-stack-index) |
| 2352 | (nth 2 frame)))) | 2341 | (nth 2 frame)))) |
| 2353 | (let* ((buffer (idlwave-find-file-noselect (car frame) 'shell)) | 2342 | (let* ((buffer (idlwave-find-file-noselect (car frame) 'shell)) |
| @@ -2371,7 +2360,7 @@ debug mode." | |||
| 2371 | (forward-line 0) | 2360 | (forward-line 0) |
| 2372 | (setq pos (point)) | 2361 | (setq pos (point)) |
| 2373 | (setq idlwave-shell-is-stopped t) | 2362 | (setq idlwave-shell-is-stopped t) |
| 2374 | 2363 | ||
| 2375 | (if idlwave-shell-stop-line-overlay | 2364 | (if idlwave-shell-stop-line-overlay |
| 2376 | ;; Move overlay | 2365 | ;; Move overlay |
| 2377 | (move-overlay idlwave-shell-stop-line-overlay | 2366 | (move-overlay idlwave-shell-stop-line-overlay |
| @@ -2393,12 +2382,12 @@ debug mode." | |||
| 2393 | ;; If we have the column of the error, move the cursor there. | 2382 | ;; If we have the column of the error, move the cursor there. |
| 2394 | (if col (move-to-column col)) | 2383 | (if col (move-to-column col)) |
| 2395 | (setq pos (point)) | 2384 | (setq pos (point)) |
| 2396 | 2385 | ||
| 2397 | ;; Enter electric debug mode, if not prohibited and not in | 2386 | ;; Enter electric debug mode, if not prohibited and not in |
| 2398 | ;; it already | 2387 | ;; it already |
| 2399 | (when (and (or | 2388 | (when (and (or |
| 2400 | (eq idlwave-shell-automatic-electric-debug t) | 2389 | (eq idlwave-shell-automatic-electric-debug t) |
| 2401 | (and | 2390 | (and |
| 2402 | (eq idlwave-shell-automatic-electric-debug 'breakpoint) | 2391 | (eq idlwave-shell-automatic-electric-debug 'breakpoint) |
| 2403 | (not (eq idlwave-shell-current-state 'error)))) | 2392 | (not (eq idlwave-shell-current-state 'error)))) |
| 2404 | (not no-debug) | 2393 | (not no-debug) |
| @@ -2406,14 +2395,14 @@ debug mode." | |||
| 2406 | (not idlwave-shell-electric-debug-mode)) | 2395 | (not idlwave-shell-electric-debug-mode)) |
| 2407 | (idlwave-shell-electric-debug-mode) | 2396 | (idlwave-shell-electric-debug-mode) |
| 2408 | (setq electric t))) | 2397 | (setq electric t))) |
| 2409 | 2398 | ||
| 2410 | ;; Make sure pos is really displayed in the window. | 2399 | ;; Make sure pos is really displayed in the window. |
| 2411 | (set-window-point window pos) | 2400 | (set-window-point window pos) |
| 2412 | 2401 | ||
| 2413 | ;; If we came from the shell, go back there. Otherwise select | 2402 | ;; If we came from the shell, go back there. Otherwise select |
| 2414 | ;; the window where the error is displayed. | 2403 | ;; the window where the error is displayed. |
| 2415 | (if (or (and idlwave-shell-electric-zap-to-file electric) | 2404 | (if (or (and idlwave-shell-electric-zap-to-file electric) |
| 2416 | (and (equal (buffer-name) (idlwave-shell-buffer)) | 2405 | (and (equal (buffer-name) (idlwave-shell-buffer)) |
| 2417 | (not select-shell))) | 2406 | (not select-shell))) |
| 2418 | (select-window window)))))) | 2407 | (select-window window)))))) |
| 2419 | 2408 | ||
| @@ -2423,23 +2412,24 @@ debug mode." | |||
| 2423 | (interactive "p") | 2412 | (interactive "p") |
| 2424 | (or (not arg) (< arg 1) | 2413 | (or (not arg) (< arg 1) |
| 2425 | (setq arg 1)) | 2414 | (setq arg 1)) |
| 2426 | (idlwave-shell-send-command | 2415 | (idlwave-shell-send-command |
| 2427 | (concat ".s " (if (integerp arg) (int-to-string arg) arg)) | 2416 | (concat ".s " (if (integerp arg) (int-to-string arg) arg)) |
| 2428 | nil (if (idlwave-shell-hide-p 'debug) 'mostly) nil t)) | 2417 | nil (if (idlwave-shell-hide-p 'debug) 'mostly) nil t)) |
| 2429 | 2418 | ||
| 2430 | (defun idlwave-shell-stepover (arg) | 2419 | (defun idlwave-shell-stepover (arg) |
| 2431 | "Stepover one source line. | 2420 | "Stepover one source line. |
| 2432 | If given prefix argument ARG, step ARG source lines. | 2421 | If given prefix argument ARG, step ARG source lines. |
| 2433 | Uses IDL's stepover executive command which does not enter called functions." | 2422 | Uses IDL's stepover executive command which does not enter called functions." |
| 2434 | (interactive "p") | 2423 | (interactive "p") |
| 2435 | (or (not arg) (< arg 1) | 2424 | (or (not arg) (< arg 1) |
| 2436 | (setq arg 1)) | 2425 | (setq arg 1)) |
| 2437 | (idlwave-shell-send-command | 2426 | (idlwave-shell-send-command |
| 2438 | (concat ".so " (if (integerp arg) (int-to-string arg) arg)) | 2427 | (concat ".so " (if (integerp arg) (int-to-string arg) arg)) |
| 2439 | nil (if (idlwave-shell-hide-p 'debug) 'mostly) nil t)) | 2428 | nil (if (idlwave-shell-hide-p 'debug) 'mostly) nil t)) |
| 2440 | 2429 | ||
| 2441 | (defun idlwave-shell-break-here (&optional count cmd condition no-show) | 2430 | (defun idlwave-shell-break-here (&optional count cmd condition disabled |
| 2442 | "Set breakpoint at current line. | 2431 | no-show) |
| 2432 | "Set breakpoint at current line. | ||
| 2443 | 2433 | ||
| 2444 | If Count is nil then an ordinary breakpoint is set. We treat a count | 2434 | If Count is nil then an ordinary breakpoint is set. We treat a count |
| 2445 | of 1 as a temporary breakpoint using the ONCE keyword. Counts greater | 2435 | of 1 as a temporary breakpoint using the ONCE keyword. Counts greater |
| @@ -2447,17 +2437,17 @@ than 1 use the IDL AFTER=count keyword to break only after reaching | |||
| 2447 | the statement count times. | 2437 | the statement count times. |
| 2448 | 2438 | ||
| 2449 | Optional argument CMD is a list or function to evaluate upon reaching | 2439 | Optional argument CMD is a list or function to evaluate upon reaching |
| 2450 | the breakpoint." | 2440 | the breakpoint. CONDITION is a break condition, and DISABLED, if |
| 2451 | 2441 | non-nil disables the breakpoint" | |
| 2452 | (interactive "P") | 2442 | (interactive "P") |
| 2453 | (when (listp count) | 2443 | (when (listp count) |
| 2454 | (if (equal (car count) 4) | 2444 | (if (equal (car count) 4) |
| 2455 | (setq condition (read-string "Break Condition: "))) | 2445 | (setq condition (read-string "Break Condition: "))) |
| 2456 | (setq count nil)) | 2446 | (setq count nil)) |
| 2457 | (idlwave-shell-set-bp | 2447 | (idlwave-shell-set-bp |
| 2458 | ;; Create breakpoint | 2448 | ;; Create breakpoint |
| 2459 | (idlwave-shell-bp (idlwave-shell-current-frame) | 2449 | (idlwave-shell-bp (idlwave-shell-current-frame) |
| 2460 | (list count cmd condition nil) | 2450 | (list count cmd condition disabled) |
| 2461 | (idlwave-shell-current-module)) | 2451 | (idlwave-shell-current-module)) |
| 2462 | no-show)) | 2452 | no-show)) |
| 2463 | 2453 | ||
| @@ -2467,14 +2457,14 @@ This is run on `idlwave-shell-post-command-hook'. | |||
| 2467 | Offers to recompile the procedure if we failed. This usually fixes | 2457 | Offers to recompile the procedure if we failed. This usually fixes |
| 2468 | the problem with not being able to set the breakpoint." | 2458 | the problem with not being able to set the breakpoint." |
| 2469 | ;; Scan for message | 2459 | ;; Scan for message |
| 2470 | (if (and idlwave-shell-command-output | 2460 | (if idlwave-shell-command-output |
| 2471 | (string-match "% BREAKPOINT: *Unable to find code" | 2461 | (cond |
| 2472 | idlwave-shell-command-output)) | 2462 | ((string-match "% BREAKPOINT: *Unable to find code" |
| 2473 | ;; Offer to recompile | 2463 | idlwave-shell-command-output) |
| 2474 | (progn | 2464 | ;; Offer to recompile |
| 2475 | (if (progn | 2465 | (if (progn |
| 2476 | (beep) | 2466 | (beep) |
| 2477 | (y-or-n-p | 2467 | (y-or-n-p |
| 2478 | (concat "Okay to recompile file " | 2468 | (concat "Okay to recompile file " |
| 2479 | (idlwave-shell-bp-get bp 'file) " "))) | 2469 | (idlwave-shell-bp-get bp 'file) " "))) |
| 2480 | ;; Recompile | 2470 | ;; Recompile |
| @@ -2482,17 +2472,21 @@ the problem with not being able to set the breakpoint." | |||
| 2482 | ;; Clean up before retrying | 2472 | ;; Clean up before retrying |
| 2483 | (idlwave-shell-command-failure) | 2473 | (idlwave-shell-command-failure) |
| 2484 | (idlwave-shell-send-command | 2474 | (idlwave-shell-send-command |
| 2485 | (concat ".run " (idlwave-shell-bp-get bp 'file)) nil | 2475 | (concat ".run " (idlwave-shell-bp-get bp 'file)) nil |
| 2486 | (if (idlwave-shell-hide-p 'run) 'mostly) nil t) | 2476 | (if (idlwave-shell-hide-p 'run) 'mostly) nil t) |
| 2487 | ;; Try setting breakpoint again | 2477 | ;; Try setting breakpoint again |
| 2488 | (idlwave-shell-set-bp bp)) | 2478 | (idlwave-shell-set-bp bp)) |
| 2489 | (beep) | 2479 | (beep) |
| 2490 | (message "Unable to set breakpoint.") | 2480 | (message "Unable to set breakpoint.") |
| 2491 | (idlwave-shell-command-failure) | 2481 | (idlwave-shell-command-failure)) |
| 2492 | ) | 2482 | nil) |
| 2493 | ;; return non-nil if no error found | 2483 | |
| 2494 | nil) | 2484 | ((string-match "% Syntax error" idlwave-shell-command-output) |
| 2495 | 'okay)) | 2485 | (message "Syntax error in condition.") |
| 2486 | (idlwave-shell-command-failure) | ||
| 2487 | nil) | ||
| 2488 | |||
| 2489 | (t 'okay)))) | ||
| 2496 | 2490 | ||
| 2497 | (defun idlwave-shell-command-failure () | 2491 | (defun idlwave-shell-command-failure () |
| 2498 | "Do any necessary clean up when an IDL command fails. | 2492 | "Do any necessary clean up when an IDL command fails. |
| @@ -2506,9 +2500,9 @@ breakpoint can not be set." | |||
| 2506 | (defun idlwave-shell-cont (&optional no-show) | 2500 | (defun idlwave-shell-cont (&optional no-show) |
| 2507 | "Continue executing." | 2501 | "Continue executing." |
| 2508 | (interactive) | 2502 | (interactive) |
| 2509 | (idlwave-shell-send-command ".c" (unless no-show | 2503 | (idlwave-shell-send-command ".c" (unless no-show |
| 2510 | '(idlwave-shell-redisplay 'hide)) | 2504 | '(idlwave-shell-redisplay 'hide)) |
| 2511 | (if (idlwave-shell-hide-p 'debug) 'mostly) | 2505 | (if (idlwave-shell-hide-p 'debug) 'mostly) |
| 2512 | nil t)) | 2506 | nil t)) |
| 2513 | 2507 | ||
| 2514 | (defun idlwave-shell-go () | 2508 | (defun idlwave-shell-go () |
| @@ -2589,7 +2583,7 @@ at a breakpoint." | |||
| 2589 | ((eq force 'enable) (setq disabled t))) | 2583 | ((eq force 'enable) (setq disabled t))) |
| 2590 | (when bp | 2584 | (when bp |
| 2591 | (setf (nth 3 (cdr (cdr bp))) (not disabled)) | 2585 | (setf (nth 3 (cdr (cdr bp))) (not disabled)) |
| 2592 | (idlwave-shell-send-command | 2586 | (idlwave-shell-send-command |
| 2593 | (concat "breakpoint," | 2587 | (concat "breakpoint," |
| 2594 | (if disabled "/enable," "/disable,") | 2588 | (if disabled "/enable," "/disable,") |
| 2595 | (int-to-string (idlwave-shell-bp-get bp))) | 2589 | (int-to-string (idlwave-shell-bp-get bp))) |
| @@ -2603,18 +2597,18 @@ If ENABLE is non-nil, enable them instead." | |||
| 2603 | (while bpl | 2597 | (while bpl |
| 2604 | (setq disabled (idlwave-shell-bp-get (car bpl) 'disabled)) | 2598 | (setq disabled (idlwave-shell-bp-get (car bpl) 'disabled)) |
| 2605 | (when (idlwave-xor (not disabled) (eq enable 'enable)) | 2599 | (when (idlwave-xor (not disabled) (eq enable 'enable)) |
| 2606 | (idlwave-shell-toggle-enable-current-bp | 2600 | (idlwave-shell-toggle-enable-current-bp |
| 2607 | (car bpl) (if (eq enable 'enable) 'enable 'disable) no-update) | 2601 | (car bpl) (if (eq enable 'enable) 'enable 'disable) no-update) |
| 2608 | (push (car bpl) modified)) | 2602 | (push (car bpl) modified)) |
| 2609 | (setq bpl (cdr bpl))) | 2603 | (setq bpl (cdr bpl))) |
| 2610 | (unless no-update (idlwave-shell-bp-query)) | 2604 | (unless no-update (idlwave-shell-bp-query)) |
| 2611 | modified)) | 2605 | modified)) |
| 2612 | 2606 | ||
| 2613 | (defun idlwave-shell-to-here () | 2607 | (defun idlwave-shell-to-here () |
| 2614 | "Set a breakpoint with count 1 then continue." | 2608 | "Set a breakpoint with count 1 then continue." |
| 2615 | (interactive) | 2609 | (interactive) |
| 2616 | (let ((disabled (idlwave-shell-enable-all-bp 'disable 'no-update))) | 2610 | (let ((disabled (idlwave-shell-enable-all-bp 'disable 'no-update))) |
| 2617 | (idlwave-shell-break-here 1 nil nil 'no-show) | 2611 | (idlwave-shell-break-here 1 nil nil nil 'no-show) |
| 2618 | (idlwave-shell-cont 'no-show) | 2612 | (idlwave-shell-cont 'no-show) |
| 2619 | (idlwave-shell-enable-all-bp 'enable 'no-update disabled)) | 2613 | (idlwave-shell-enable-all-bp 'enable 'no-update disabled)) |
| 2620 | (idlwave-shell-redisplay)) ; sync up everything at the end | 2614 | (idlwave-shell-redisplay)) ; sync up everything at the end |
| @@ -2631,23 +2625,19 @@ The command looks for an identifier near point and sets a breakpoint | |||
| 2631 | for the first line of the corresponding module. If MODULE is `t', set | 2625 | for the first line of the corresponding module. If MODULE is `t', set |
| 2632 | in the current routine." | 2626 | in the current routine." |
| 2633 | (interactive) | 2627 | (interactive) |
| 2634 | (let (module) | 2628 | (let ((module (idlwave-fix-module-if-obj_new (idlwave-what-module)))) |
| 2635 | (save-excursion | 2629 | (if module |
| 2636 | (skip-chars-backward "a-zA-Z0-9_$") | 2630 | (progn |
| 2637 | (if (looking-at idlwave-identifier) | 2631 | (setq module (idlwave-make-full-name (nth 2 module) (car module))) |
| 2638 | (setq module (match-string 0)) | 2632 | (idlwave-shell-module-source-query module) |
| 2639 | (error "No identifier at point"))) | 2633 | (idlwave-shell-set-bp-in-module module)) |
| 2640 | (idlwave-shell-send-command | 2634 | (error "No identifier at point")))) |
| 2641 | idlwave-shell-sources-query | 2635 | |
| 2642 | `(progn | ||
| 2643 | (idlwave-shell-sources-filter) | ||
| 2644 | (idlwave-shell-set-bp-in-module ,module)) | ||
| 2645 | 'hide))) | ||
| 2646 | 2636 | ||
| 2647 | (defun idlwave-shell-set-bp-in-module (module) | 2637 | (defun idlwave-shell-set-bp-in-module (module) |
| 2648 | "Set breakpoint in module. Assumes that `idlwave-shell-sources-alist' | 2638 | "Set breakpoint in module. Assumes that `idlwave-shell-sources-alist' |
| 2649 | contains an entry for that module." | 2639 | contains an entry for that module." |
| 2650 | (let ((source-file (car-safe | 2640 | (let ((source-file (car-safe |
| 2651 | (cdr-safe | 2641 | (cdr-safe |
| 2652 | (assoc (upcase module) | 2642 | (assoc (upcase module) |
| 2653 | idlwave-shell-sources-alist)))) | 2643 | idlwave-shell-sources-alist)))) |
| @@ -2666,7 +2656,7 @@ contains an entry for that module." | |||
| 2666 | (save-excursion | 2656 | (save-excursion |
| 2667 | (goto-char (point-min)) | 2657 | (goto-char (point-min)) |
| 2668 | (let ((case-fold-search t)) | 2658 | (let ((case-fold-search t)) |
| 2669 | (if (re-search-forward | 2659 | (if (re-search-forward |
| 2670 | (concat "^[ \t]*\\(pro\\|function\\)[ \t]+" | 2660 | (concat "^[ \t]*\\(pro\\|function\\)[ \t]+" |
| 2671 | (downcase module) | 2661 | (downcase module) |
| 2672 | "[ \t\n,]") nil t) | 2662 | "[ \t\n,]") nil t) |
| @@ -2708,7 +2698,7 @@ Sets a breakpoint with count 1 at end of block, then continues." | |||
| 2708 | "Attempt to run until this procedure exits. | 2698 | "Attempt to run until this procedure exits. |
| 2709 | Runs to the last statement and then steps 1 statement. Use the .out command." | 2699 | Runs to the last statement and then steps 1 statement. Use the .out command." |
| 2710 | (interactive) | 2700 | (interactive) |
| 2711 | (idlwave-shell-send-command ".o" nil | 2701 | (idlwave-shell-send-command ".o" nil |
| 2712 | (if (idlwave-shell-hide-p 'debug) 'mostly) | 2702 | (if (idlwave-shell-hide-p 'debug) 'mostly) |
| 2713 | nil t)) | 2703 | nil t)) |
| 2714 | 2704 | ||
| @@ -2755,7 +2745,7 @@ Runs to the last statement and then steps 1 statement. Use the .out command." | |||
| 2755 | (interactive "e") | 2745 | (interactive "e") |
| 2756 | (let ((transient-mark-mode t) | 2746 | (let ((transient-mark-mode t) |
| 2757 | (zmacs-regions t) | 2747 | (zmacs-regions t) |
| 2758 | (tracker (if (featurep 'xemacs) | 2748 | (tracker (if (featurep 'xemacs) |
| 2759 | (if (fboundp 'default-mouse-track-event-is-with-button) | 2749 | (if (fboundp 'default-mouse-track-event-is-with-button) |
| 2760 | 'idlwave-xemacs-hack-mouse-track | 2750 | 'idlwave-xemacs-hack-mouse-track |
| 2761 | 'mouse-track) | 2751 | 'mouse-track) |
| @@ -2773,7 +2763,7 @@ Runs to the last statement and then steps 1 statement. Use the .out command." | |||
| 2773 | (let ((oldfunc (symbol-function 'default-mouse-track-event-is-with-button))) | 2763 | (let ((oldfunc (symbol-function 'default-mouse-track-event-is-with-button))) |
| 2774 | (unwind-protect | 2764 | (unwind-protect |
| 2775 | (progn | 2765 | (progn |
| 2776 | (fset 'default-mouse-track-event-is-with-button | 2766 | (fset 'default-mouse-track-event-is-with-button |
| 2777 | 'idlwave-default-mouse-track-event-is-with-button) | 2767 | 'idlwave-default-mouse-track-event-is-with-button) |
| 2778 | (mouse-track event)) | 2768 | (mouse-track event)) |
| 2779 | (fset 'default-mouse-track-event-is-with-button oldfunc)))) | 2769 | (fset 'default-mouse-track-event-is-with-button oldfunc)))) |
| @@ -2805,7 +2795,7 @@ Runs to the last statement and then steps 1 statement. Use the .out command." | |||
| 2805 | (defvar idlwave-shell-examine-completion-list nil) | 2795 | (defvar idlwave-shell-examine-completion-list nil) |
| 2806 | 2796 | ||
| 2807 | (defun idlwave-shell-print (arg &optional help ev complete-help-type) | 2797 | (defun idlwave-shell-print (arg &optional help ev complete-help-type) |
| 2808 | "Print current expression. | 2798 | "Print current expression. |
| 2809 | 2799 | ||
| 2810 | With HELP non-nil, show help on expression. If HELP is a string, | 2800 | With HELP non-nil, show help on expression. If HELP is a string, |
| 2811 | the expression will be put in place of ___, e.g.: | 2801 | the expression will be put in place of ___, e.g.: |
| @@ -2838,11 +2828,11 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 2838 | (save-excursion | 2828 | (save-excursion |
| 2839 | (let* ((process (get-buffer-process (current-buffer))) | 2829 | (let* ((process (get-buffer-process (current-buffer))) |
| 2840 | (process-mark (if process (process-mark process))) | 2830 | (process-mark (if process (process-mark process))) |
| 2841 | (stack-label | 2831 | (stack-label |
| 2842 | (if (and (integerp idlwave-shell-calling-stack-index) | 2832 | (if (and (integerp idlwave-shell-calling-stack-index) |
| 2843 | (> idlwave-shell-calling-stack-index 0)) | 2833 | (> idlwave-shell-calling-stack-index 0)) |
| 2844 | (format " [-%d:%s]" | 2834 | (format " [-%d:%s]" |
| 2845 | idlwave-shell-calling-stack-index | 2835 | idlwave-shell-calling-stack-index |
| 2846 | idlwave-shell-calling-stack-routine))) | 2836 | idlwave-shell-calling-stack-routine))) |
| 2847 | expr beg end cmd examine-hook) | 2837 | expr beg end cmd examine-hook) |
| 2848 | (cond | 2838 | (cond |
| @@ -2872,7 +2862,7 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 2872 | ;; an array | 2862 | ;; an array |
| 2873 | (forward-sexp)) | 2863 | (forward-sexp)) |
| 2874 | (setq end (point))))) | 2864 | (setq end (point))))) |
| 2875 | 2865 | ||
| 2876 | ;; Get expression, but first move the begin mark if a | 2866 | ;; Get expression, but first move the begin mark if a |
| 2877 | ;; process-mark is inside the region, to keep the overlay from | 2867 | ;; process-mark is inside the region, to keep the overlay from |
| 2878 | ;; wandering in the Shell. | 2868 | ;; wandering in the Shell. |
| @@ -2883,61 +2873,61 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 2883 | 2873 | ||
| 2884 | ;; Show the overlay(s) and attach any necessary hooks and filters | 2874 | ;; Show the overlay(s) and attach any necessary hooks and filters |
| 2885 | (when (and beg end idlwave-shell-expression-overlay) | 2875 | (when (and beg end idlwave-shell-expression-overlay) |
| 2886 | (move-overlay idlwave-shell-expression-overlay beg end | 2876 | (move-overlay idlwave-shell-expression-overlay beg end |
| 2887 | (current-buffer)) | 2877 | (current-buffer)) |
| 2888 | (add-hook 'pre-command-hook | 2878 | (add-hook 'pre-command-hook |
| 2889 | 'idlwave-shell-delete-expression-overlay)) | 2879 | 'idlwave-shell-delete-expression-overlay)) |
| 2890 | (setq examine-hook | 2880 | (setq examine-hook |
| 2891 | (if idlwave-shell-separate-examine-output | 2881 | (if idlwave-shell-separate-examine-output |
| 2892 | 'idlwave-shell-examine-display | 2882 | 'idlwave-shell-examine-display |
| 2893 | 'idlwave-shell-examine-highlight)) | 2883 | 'idlwave-shell-examine-highlight)) |
| 2894 | (add-hook 'pre-command-hook | 2884 | (add-hook 'pre-command-hook |
| 2895 | 'idlwave-shell-delete-output-overlay) | 2885 | 'idlwave-shell-delete-output-overlay) |
| 2896 | 2886 | ||
| 2897 | ;; Remove empty or comment-only lines | 2887 | ;; Remove empty or comment-only lines |
| 2898 | (while (string-match "\n[ \t]*\\(;.*\\)?\r*\n" expr) | 2888 | (while (string-match "\n[ \t]*\\(;.*\\)?\r*\n" expr) |
| 2899 | (setq expr (replace-match "\n" t t expr))) | 2889 | (setq expr (replace-match "\n" t t expr))) |
| 2900 | ;; Concatenate continuation lines | 2890 | ;; Concatenate continuation lines |
| 2901 | (while (string-match "[ \t]*\\$.*\\(;.*\\)?\\(\n[ \t]*\\|$\\)" expr) | 2891 | (while (string-match "[ \t]*\\$[ \t]*\\(;.*\\)?\\(\n[ \t]*\\|$\\)" expr) |
| 2902 | (setq expr (replace-match "" t t expr))) | 2892 | (setq expr (replace-match "" t t expr))) |
| 2903 | ;; Remove final newline | 2893 | ;; Remove final newline |
| 2904 | (if (string-match "\n[ \t\r]*\\'" expr) | 2894 | (if (string-match "\n[ \t\r]*\\'" expr) |
| 2905 | (setq expr (replace-match "" t t expr))) | 2895 | (setq expr (replace-match "" t t expr))) |
| 2906 | 2896 | ||
| 2907 | (catch 'exit | 2897 | (catch 'exit |
| 2908 | ;; Pop-up or complete on the examine selection list, if appropriate | 2898 | ;; Pop-up or complete on the examine selection list, if appropriate |
| 2909 | (if (or | 2899 | (if (or |
| 2910 | complete-help-type | 2900 | complete-help-type |
| 2911 | (and ev idlwave-shell-examine-alist) | 2901 | (and ev idlwave-shell-examine-alist) |
| 2912 | (consp help)) | 2902 | (consp help)) |
| 2913 | (let ((help-cons | 2903 | (let ((help-cons |
| 2914 | (if (consp help) help | 2904 | (if (consp help) help |
| 2915 | (assoc | 2905 | (assoc |
| 2916 | ;; A cons from either a pop-up or mini-buffer completion | 2906 | ;; A cons from either a pop-up or mini-buffer completion |
| 2917 | (if complete-help-type | 2907 | (if complete-help-type |
| 2918 | (idlwave-one-key-select 'idlwave-shell-examine-alist | 2908 | (idlwave-one-key-select 'idlwave-shell-examine-alist |
| 2919 | "Examine with: " 1.5) | 2909 | "Examine with: " 1.5) |
| 2920 | ;; (idlwave-completing-read | 2910 | ;; (idlwave-completing-read |
| 2921 | ;; "Examine with: " | 2911 | ;; "Examine with: " |
| 2922 | ;; idlwave-shell-examine-alist nil nil nil | 2912 | ;; idlwave-shell-examine-alist nil nil nil |
| 2923 | ;; 'idlwave-shell-examine-completion-list | 2913 | ;; 'idlwave-shell-examine-completion-list |
| 2924 | ;; "Print") | 2914 | ;; "Print") |
| 2925 | (idlwave-popup-select | 2915 | (idlwave-popup-select |
| 2926 | ev | 2916 | ev |
| 2927 | (mapcar 'car idlwave-shell-examine-alist) | 2917 | (mapcar 'car idlwave-shell-examine-alist) |
| 2928 | "Examine with")) | 2918 | "Examine with")) |
| 2929 | idlwave-shell-examine-alist)))) | 2919 | idlwave-shell-examine-alist)))) |
| 2930 | (setq help (cdr help-cons)) | 2920 | (setq help (cdr help-cons)) |
| 2931 | (if (null help) (throw 'exit nil)) | 2921 | (if (null help) (throw 'exit nil)) |
| 2932 | (if idlwave-shell-separate-examine-output | 2922 | (if idlwave-shell-separate-examine-output |
| 2933 | (setq idlwave-shell-examine-label | 2923 | (setq idlwave-shell-examine-label |
| 2934 | (concat | 2924 | (concat |
| 2935 | (format "==>%s<==\n%s:" expr (car help-cons)) | 2925 | (format "==>%s<==\n%s:" expr (car help-cons)) |
| 2936 | stack-label "\n")))) | 2926 | stack-label "\n")))) |
| 2937 | ;; The regular help label (no popups, cons cells, etc.) | 2927 | ;; The regular help label (no popups, cons cells, etc.) |
| 2938 | (setq idlwave-shell-examine-label | 2928 | (setq idlwave-shell-examine-label |
| 2939 | (concat | 2929 | (concat |
| 2940 | (format "==>%s<==\n%s:" expr | 2930 | (format "==>%s<==\n%s:" expr |
| 2941 | (cond ((null help) "print") | 2931 | (cond ((null help) "print") |
| 2942 | ((stringp help) help) | 2932 | ((stringp help) help) |
| 2943 | (t (symbol-name help)))) | 2933 | (t (symbol-name help)))) |
| @@ -2950,9 +2940,9 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 2950 | idlwave-shell-calling-stack-index))) | 2940 | idlwave-shell-calling-stack-index))) |
| 2951 | (setq cmd (idlwave-shell-help-statement help expr)) | 2941 | (setq cmd (idlwave-shell-help-statement help expr)) |
| 2952 | ;;(idlwave-shell-recenter-shell-window) | 2942 | ;;(idlwave-shell-recenter-shell-window) |
| 2953 | (idlwave-shell-send-command | 2943 | (idlwave-shell-send-command |
| 2954 | cmd | 2944 | cmd |
| 2955 | examine-hook | 2945 | examine-hook |
| 2956 | (if idlwave-shell-separate-examine-output 'hide)))))) | 2946 | (if idlwave-shell-separate-examine-output 'hide)))))) |
| 2957 | 2947 | ||
| 2958 | (defvar idlwave-shell-examine-window-alist nil | 2948 | (defvar idlwave-shell-examine-window-alist nil |
| @@ -2979,9 +2969,9 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 2979 | (let* ((end (or | 2969 | (let* ((end (or |
| 2980 | (re-search-backward idlwave-shell-prompt-pattern nil t) | 2970 | (re-search-backward idlwave-shell-prompt-pattern nil t) |
| 2981 | (point-max))) | 2971 | (point-max))) |
| 2982 | (beg (progn | 2972 | (beg (progn |
| 2983 | (goto-char | 2973 | (goto-char |
| 2984 | (or (progn (if (re-search-backward | 2974 | (or (progn (if (re-search-backward |
| 2985 | idlwave-shell-prompt-pattern nil t) | 2975 | idlwave-shell-prompt-pattern nil t) |
| 2986 | (match-end 0))) | 2976 | (match-end 0))) |
| 2987 | (point-min))) | 2977 | (point-min))) |
| @@ -2998,21 +2988,21 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 2998 | (setq buffer-read-only t) | 2988 | (setq buffer-read-only t) |
| 2999 | (move-overlay idlwave-shell-output-overlay cur-beg cur-end | 2989 | (move-overlay idlwave-shell-output-overlay cur-beg cur-end |
| 3000 | (current-buffer)) | 2990 | (current-buffer)) |
| 3001 | 2991 | ||
| 3002 | ;; Look for the examine buffer in all windows. If one is | 2992 | ;; Look for the examine buffer in all windows. If one is |
| 3003 | ;; found in a frame all by itself, use that, otherwise, switch | 2993 | ;; found in a frame all by itself, use that, otherwise, switch |
| 3004 | ;; to or create an examine window in this frame, and resize if | 2994 | ;; to or create an examine window in this frame, and resize if |
| 3005 | ;; it's a newly created window | 2995 | ;; it's a newly created window |
| 3006 | (let* ((winlist (get-buffer-window-list "*Examine*" nil 'visible))) | 2996 | (let* ((winlist (get-buffer-window-list "*Examine*" nil 'visible))) |
| 3007 | (setq win (idlwave-display-buffer | 2997 | (setq win (idlwave-display-buffer |
| 3008 | "*Examine*" | 2998 | "*Examine*" |
| 3009 | nil | 2999 | nil |
| 3010 | (let ((list winlist) thiswin) | 3000 | (let ((list winlist) thiswin) |
| 3011 | (catch 'exit | 3001 | (catch 'exit |
| 3012 | (save-selected-window | 3002 | (save-selected-window |
| 3013 | (while (setq thiswin (pop list)) | 3003 | (while (setq thiswin (pop list)) |
| 3014 | (select-window thiswin) | 3004 | (select-window thiswin) |
| 3015 | (if (one-window-p) | 3005 | (if (one-window-p) |
| 3016 | (throw 'exit (window-frame thiswin))))))))) | 3006 | (throw 'exit (window-frame thiswin))))))))) |
| 3017 | (set-window-start win (point-min)) ; Ensure the point is visible. | 3007 | (set-window-start win (point-min)) ; Ensure the point is visible. |
| 3018 | (save-selected-window | 3008 | (save-selected-window |
| @@ -3033,7 +3023,7 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 3033 | ;; And add the new value. | 3023 | ;; And add the new value. |
| 3034 | (if (setq elt (assoc win idlwave-shell-examine-window-alist)) | 3024 | (if (setq elt (assoc win idlwave-shell-examine-window-alist)) |
| 3035 | (setcdr elt (window-height)) | 3025 | (setcdr elt (window-height)) |
| 3036 | (add-to-list 'idlwave-shell-examine-window-alist | 3026 | (add-to-list 'idlwave-shell-examine-window-alist |
| 3037 | (cons win (window-height))))))))) | 3027 | (cons win (window-height))))))))) |
| 3038 | ;; Recenter for maximum output, after widened | 3028 | ;; Recenter for maximum output, after widened |
| 3039 | (save-selected-window | 3029 | (save-selected-window |
| @@ -3051,7 +3041,7 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 3051 | 3041 | ||
| 3052 | (defun idlwave-shell-examine-display-clear () | 3042 | (defun idlwave-shell-examine-display-clear () |
| 3053 | (interactive) | 3043 | (interactive) |
| 3054 | (save-excursion | 3044 | (save-excursion |
| 3055 | (let ((buf (get-buffer "*Examine*"))) | 3045 | (let ((buf (get-buffer "*Examine*"))) |
| 3056 | (when (bufferp buf) | 3046 | (when (bufferp buf) |
| 3057 | (set-buffer buf) | 3047 | (set-buffer buf) |
| @@ -3072,36 +3062,58 @@ routine_names, there is no guarantee that this will work with future | |||
| 3072 | versions of IDL." | 3062 | versions of IDL." |
| 3073 | (let ((fetch (- 0 level)) | 3063 | (let ((fetch (- 0 level)) |
| 3074 | (start 0) | 3064 | (start 0) |
| 3075 | var rnvar pre post) | 3065 | var fetch-start fetch-end pre post) |
| 3076 | 3066 | ||
| 3077 | ;; FIXME: In the following we try to find the variables in expression | 3067 | ;; FIXME: In the following we try to find the variables in expression |
| 3078 | ;; This is quite empirical - I don't know in what situations this will | 3068 | ;; This is quite empirical - I don't know in what situations this will |
| 3079 | ;; break. We will look for identifiers and exclude cases where we | 3069 | ;; break. We will look for identifiers and exclude cases where we |
| 3080 | ;; know it is not a variable. To distinguish array references from | 3070 | ;; know it is not a variable. To distinguish array references from |
| 3081 | ;; function calls, we require that arrays use [] instead of () | 3071 | ;; function calls, we require that arrays use [] instead of () |
| 3082 | 3072 | ||
| 3083 | (while (string-match | 3073 | (while (string-match |
| 3084 | "\\(\\`\\|[^a-zA-Z0-9$_][ \t]*\\)\\([a-zA-Z][a-zA-Z0-9$_]*\\)\\([ \t]*[^a-zA-Z0-9$_]\\|\\'\\)" expr start) | 3074 | "\\(\\`\\|[^a-zA-Z0-9$_][ \t]*\\)\\([a-zA-Z][a-zA-Z0-9$_]*\\)\\([ \t]*[^a-zA-Z0-9$_]\\|\\'\\)" expr start) |
| 3085 | (setq var (match-string 2 expr) | 3075 | (setq var (match-string 2 expr) |
| 3086 | start (match-beginning 2) | 3076 | start (match-end 2) |
| 3087 | pre (substring expr 0 (match-beginning 2)) | 3077 | pre (substring expr 0 (match-beginning 2)) |
| 3088 | post (substring expr (match-end 2))) | 3078 | post (substring expr (match-end 2))) |
| 3089 | (cond | 3079 | (cond |
| 3090 | ;; Exclude identifiers which are not variables | 3080 | ((or |
| 3091 | ((string-match ",[ \t]*/\\'" pre)) ;; a `/' KEYWORD | 3081 | ;; Exclude identifiers which are not variables |
| 3092 | ((and (string-match "[,(][ \t]*\\'" pre) | 3082 | (string-match ",[ \t$\n]*/\\'" pre) ;; a `/' KEYWORD |
| 3093 | (string-match "\\`[ \t]*=" post))) ;; a `=' KEYWORD | 3083 | (and (string-match "[,(][ \t\n]*\\'" pre) |
| 3094 | ((string-match "\\`(" post)) ;; a function | 3084 | (string-match "\\`[ \t]*=" post)) ;; a `=' KEYWORD |
| 3095 | ((string-match "->[ \t]*\\'" pre)) ;; a method | 3085 | (string-match "\\`(" post) ;; a function |
| 3096 | ((string-match "\\.\\'" pre)) ;; structure member | 3086 | (string-match "->[ \t]*\\'" pre) ;; a method |
| 3087 | (string-match "\\.\\'" pre))) ;; structure member | ||
| 3088 | |||
| 3089 | ;; Skip over strings | ||
| 3097 | ((and (string-match "\\([\"\']\\)[^\1]*$" pre) | 3090 | ((and (string-match "\\([\"\']\\)[^\1]*$" pre) |
| 3098 | (string-match (concat "^[^" (match-string 1 pre) "]*" | 3091 | (string-match (concat "^[^" (match-string 1 pre) "]*" |
| 3099 | (match-string 1 pre)) post))) | 3092 | (match-string 1 pre)) post)) |
| 3100 | (t ;; seems to be a variable - replace its name in the | 3093 | (setq start (+ start (match-end 0)))) |
| 3101 | ;; expression with the fetch. | 3094 | |
| 3102 | (setq rnvar (format "(routine_names('%s',fetch=%d))" var fetch) | 3095 | |
| 3103 | expr (concat pre rnvar post) | 3096 | ;; seems to be a variable - delimit its name |
| 3104 | start (+ start (length rnvar)))))) | 3097 | (t |
| 3098 | (put-text-property start (- start (length var)) 'fetch t expr)))) | ||
| 3099 | |||
| 3100 | (setq start 0) | ||
| 3101 | (while (setq fetch-start | ||
| 3102 | (next-single-property-change start 'fetch expr)) | ||
| 3103 | (if (get-text-property start 'fetch expr) ; it's on in range | ||
| 3104 | (setq fetch-end fetch-start ;it's off in range | ||
| 3105 | fetch-start start) | ||
| 3106 | (setq fetch-end (next-single-property-change fetch-start 'fetch expr))) | ||
| 3107 | (unless fetch-end (setq fetch-end (length expr))) | ||
| 3108 | (remove-text-properties fetch-start fetch-end '(fetch) expr) | ||
| 3109 | (setq expr (concat (substring expr 0 fetch-start) | ||
| 3110 | (format "(routine_names('%s',fetch=%d))" | ||
| 3111 | (substring expr fetch-start fetch-end) | ||
| 3112 | fetch) | ||
| 3113 | (substring expr fetch-end))) | ||
| 3114 | (setq start fetch-end)) | ||
| 3115 | (if (get-text-property 0 'fetch expr) ; Full expression, left over | ||
| 3116 | (setq expr (format "(routine_names('%s',fetch=%d))" expr fetch))) | ||
| 3105 | expr)) | 3117 | expr)) |
| 3106 | 3118 | ||
| 3107 | 3119 | ||
| @@ -3113,13 +3125,13 @@ to insert expression in place of the marker ___, e.g.: print, | |||
| 3113 | size(___,/DIMENSIONS)" | 3125 | size(___,/DIMENSIONS)" |
| 3114 | (cond | 3126 | (cond |
| 3115 | ((null help) (concat "print, " expr)) | 3127 | ((null help) (concat "print, " expr)) |
| 3116 | ((stringp help) | 3128 | ((stringp help) |
| 3117 | (if (string-match "\\(^\\|[^_]\\)\\(___\\)\\([^_]\\|$\\)" help) | 3129 | (if (string-match "\\(^\\|[^_]\\)\\(___\\)\\([^_]\\|$\\)" help) |
| 3118 | (concat (substring help 0 (match-beginning 2)) | 3130 | (concat (substring help 0 (match-beginning 2)) |
| 3119 | expr | 3131 | expr |
| 3120 | (substring help (match-end 2))))) | 3132 | (substring help (match-end 2))))) |
| 3121 | (t (concat "help, " expr)))) | 3133 | (t (concat "help, " expr)))) |
| 3122 | 3134 | ||
| 3123 | 3135 | ||
| 3124 | (defun idlwave-shell-examine-highlight () | 3136 | (defun idlwave-shell-examine-highlight () |
| 3125 | "Highlight the most recent IDL output." | 3137 | "Highlight the most recent IDL output." |
| @@ -3127,7 +3139,7 @@ size(___,/DIMENSIONS)" | |||
| 3127 | (process (get-buffer-process buffer)) | 3139 | (process (get-buffer-process buffer)) |
| 3128 | (process-mark (if process (process-mark process))) | 3140 | (process-mark (if process (process-mark process))) |
| 3129 | output-begin output-end) | 3141 | output-begin output-end) |
| 3130 | (save-excursion | 3142 | (save-excursion |
| 3131 | (set-buffer buffer) | 3143 | (set-buffer buffer) |
| 3132 | (goto-char process-mark) | 3144 | (goto-char process-mark) |
| 3133 | (beginning-of-line) | 3145 | (beginning-of-line) |
| @@ -3135,12 +3147,12 @@ size(___,/DIMENSIONS)" | |||
| 3135 | (re-search-backward idlwave-shell-prompt-pattern nil t) | 3147 | (re-search-backward idlwave-shell-prompt-pattern nil t) |
| 3136 | (beginning-of-line 2) | 3148 | (beginning-of-line 2) |
| 3137 | (setq output-begin (point))) | 3149 | (setq output-begin (point))) |
| 3138 | 3150 | ||
| 3139 | ;; First make sure the shell window is visible | 3151 | ;; First make sure the shell window is visible |
| 3140 | (idlwave-display-buffer (idlwave-shell-buffer) | 3152 | (idlwave-display-buffer (idlwave-shell-buffer) |
| 3141 | nil (idlwave-shell-shell-frame)) | 3153 | nil (idlwave-shell-shell-frame)) |
| 3142 | (if (and idlwave-shell-output-overlay process-mark) | 3154 | (if (and idlwave-shell-output-overlay process-mark) |
| 3143 | (move-overlay idlwave-shell-output-overlay | 3155 | (move-overlay idlwave-shell-output-overlay |
| 3144 | output-begin output-end buffer)))) | 3156 | output-begin output-end buffer)))) |
| 3145 | 3157 | ||
| 3146 | (defun idlwave-shell-delete-output-overlay () | 3158 | (defun idlwave-shell-delete-output-overlay () |
| @@ -3151,7 +3163,7 @@ size(___,/DIMENSIONS)" | |||
| 3151 | (delete-overlay idlwave-shell-output-overlay)) | 3163 | (delete-overlay idlwave-shell-output-overlay)) |
| 3152 | (error nil)) | 3164 | (error nil)) |
| 3153 | (remove-hook 'pre-command-hook 'idlwave-shell-delete-output-overlay))) | 3165 | (remove-hook 'pre-command-hook 'idlwave-shell-delete-output-overlay))) |
| 3154 | 3166 | ||
| 3155 | (defun idlwave-shell-delete-expression-overlay () | 3167 | (defun idlwave-shell-delete-expression-overlay () |
| 3156 | (unless (or (eq this-command 'idlwave-shell-mouse-nop) | 3168 | (unless (or (eq this-command 'idlwave-shell-mouse-nop) |
| 3157 | (eq this-command 'handle-switch-frame)) | 3169 | (eq this-command 'handle-switch-frame)) |
| @@ -3180,7 +3192,7 @@ contains four items: | |||
| 3180 | count - number of times to execute breakpoint. When count reaches 0 | 3192 | count - number of times to execute breakpoint. When count reaches 0 |
| 3181 | the breakpoint is cleared and removed from the alist. | 3193 | the breakpoint is cleared and removed from the alist. |
| 3182 | 3194 | ||
| 3183 | command - command to execute when breakpoint is reached, either a | 3195 | command - command to execute when breakpoint is reached, either a |
| 3184 | lisp function to be called with `funcall' with no arguments or a | 3196 | lisp function to be called with `funcall' with no arguments or a |
| 3185 | list to be evaluated with `eval'. | 3197 | list to be evaluated with `eval'. |
| 3186 | 3198 | ||
| @@ -3213,11 +3225,11 @@ If there is a prefix argument, display IDL process." | |||
| 3213 | (insert "\nend\n")) | 3225 | (insert "\nend\n")) |
| 3214 | (save-buffer 0))) | 3226 | (save-buffer 0))) |
| 3215 | (idlwave-shell-send-command (concat ".run " idlwave-shell-temp-pro-file) | 3227 | (idlwave-shell-send-command (concat ".run " idlwave-shell-temp-pro-file) |
| 3216 | nil | 3228 | nil |
| 3217 | (if (idlwave-shell-hide-p 'run) 'mostly) | 3229 | (if (idlwave-shell-hide-p 'run) 'mostly) |
| 3218 | nil t) | 3230 | nil t) |
| 3219 | (if n | 3231 | (if n |
| 3220 | (idlwave-display-buffer (idlwave-shell-buffer) | 3232 | (idlwave-display-buffer (idlwave-shell-buffer) |
| 3221 | nil (idlwave-shell-shell-frame)))) | 3233 | nil (idlwave-shell-shell-frame)))) |
| 3222 | 3234 | ||
| 3223 | (defun idlwave-shell-evaluate-region (beg end &optional n) | 3235 | (defun idlwave-shell-evaluate-region (beg end &optional n) |
| @@ -3228,7 +3240,7 @@ Does not work for a region with multiline blocks - use | |||
| 3228 | (interactive "r\nP") | 3240 | (interactive "r\nP") |
| 3229 | (idlwave-shell-send-command (buffer-substring beg end)) | 3241 | (idlwave-shell-send-command (buffer-substring beg end)) |
| 3230 | (if n | 3242 | (if n |
| 3231 | (idlwave-display-buffer (idlwave-shell-buffer) | 3243 | (idlwave-display-buffer (idlwave-shell-buffer) |
| 3232 | nil (idlwave-shell-shell-frame)))) | 3244 | nil (idlwave-shell-shell-frame)))) |
| 3233 | 3245 | ||
| 3234 | (defun idlwave-shell-delete-temp-files () | 3246 | (defun idlwave-shell-delete-temp-files () |
| @@ -3283,7 +3295,7 @@ Queries IDL using the string in `idlwave-shell-bp-query'." | |||
| 3283 | 'hide)) | 3295 | 'hide)) |
| 3284 | 3296 | ||
| 3285 | (defun idlwave-shell-bp-get (bp &optional item) | 3297 | (defun idlwave-shell-bp-get (bp &optional item) |
| 3286 | "Get a value for a breakpoint. | 3298 | "Get a value for a breakpoint. |
| 3287 | BP has the form of elements in idlwave-shell-bp-alist. Optional | 3299 | BP has the form of elements in idlwave-shell-bp-alist. Optional |
| 3288 | second arg ITEM is the particular value to retrieve. ITEM can be | 3300 | second arg ITEM is the particular value to retrieve. ITEM can be |
| 3289 | 'file, 'line, 'index, 'module, 'count, 'cmd, 'condition, 'disabled or | 3301 | 'file, 'line, 'index, 'module, 'count, 'cmd, 'condition, 'disabled or |
| @@ -3318,8 +3330,8 @@ breakpoint overlays." | |||
| 3318 | ;; Searching the breakpoints | 3330 | ;; Searching the breakpoints |
| 3319 | ;; In IDL 5.5, the breakpoint reporting format changed. | 3331 | ;; In IDL 5.5, the breakpoint reporting format changed. |
| 3320 | (bp-re54 "^[ \t]*\\([0-9]+\\)[ \t]+\\(\\S-+\\)?[ \t]+\\([0-9]+\\)[ \t]+\\(\\S-+\\)") | 3332 | (bp-re54 "^[ \t]*\\([0-9]+\\)[ \t]+\\(\\S-+\\)?[ \t]+\\([0-9]+\\)[ \t]+\\(\\S-+\\)") |
| 3321 | (bp-re55 | 3333 | (bp-re55 |
| 3322 | (concat | 3334 | (concat |
| 3323 | "^\\s-*\\([0-9]+\\)" ; 1 index | 3335 | "^\\s-*\\([0-9]+\\)" ; 1 index |
| 3324 | "\\s-+\\([0-9]+\\)" ; 2 line number | 3336 | "\\s-+\\([0-9]+\\)" ; 2 line number |
| 3325 | "\\s-+\\(Uncompiled\\|" ; 3-6 either uncompiled or routine name | 3337 | "\\s-+\\(Uncompiled\\|" ; 3-6 either uncompiled or routine name |
| @@ -3334,11 +3346,11 @@ breakpoint overlays." | |||
| 3334 | bp-re indmap) | 3346 | bp-re indmap) |
| 3335 | (setq idlwave-shell-bp-alist (list nil)) | 3347 | (setq idlwave-shell-bp-alist (list nil)) |
| 3336 | ;; Search for either header type, and set the correct regexp | 3348 | ;; Search for either header type, and set the correct regexp |
| 3337 | (when (or | 3349 | (when (or |
| 3338 | (if (re-search-forward "^\\s-*Index.*\n\\s-*-" nil t) | 3350 | (if (re-search-forward "^\\s-*Index.*\n\\s-*-" nil t) |
| 3339 | (setq bp-re bp-re54 ; versions <= 5.4 | 3351 | (setq bp-re bp-re54 ; versions <= 5.4 |
| 3340 | indmap '(1 2 3 4))) ;index module line file | 3352 | indmap '(1 2 3 4))) ;index module line file |
| 3341 | (if (re-search-forward | 3353 | (if (re-search-forward |
| 3342 | "^\\s-*Index\\s-*Line\\s-*Attributes\\s-*File" nil t) | 3354 | "^\\s-*Index\\s-*Line\\s-*Attributes\\s-*File" nil t) |
| 3343 | (setq bp-re bp-re55 ; versions >= 5.5 | 3355 | (setq bp-re bp-re55 ; versions >= 5.5 |
| 3344 | indmap '(1 6 2 16)))) ; index module line file | 3356 | indmap '(1 6 2 16)))) ; index module line file |
| @@ -3349,12 +3361,12 @@ breakpoint overlays." | |||
| 3349 | line (string-to-number (match-string (nth 2 indmap))) | 3361 | line (string-to-number (match-string (nth 2 indmap))) |
| 3350 | file (idlwave-shell-file-name (match-string (nth 3 indmap)))) | 3362 | file (idlwave-shell-file-name (match-string (nth 3 indmap)))) |
| 3351 | (if (eq bp-re bp-re55) | 3363 | (if (eq bp-re bp-re55) |
| 3352 | (setq count (if (match-string 10) 1 | 3364 | (setq count (if (match-string 10) 1 |
| 3353 | (if (match-string 8) | 3365 | (if (match-string 8) |
| 3354 | (string-to-number (match-string 8)))) | 3366 | (string-to-number (match-string 8)))) |
| 3355 | condition (match-string 13) | 3367 | condition (match-string 13) |
| 3356 | disabled (not (null (match-string 15))))) | 3368 | disabled (not (null (match-string 15))))) |
| 3357 | 3369 | ||
| 3358 | ;; Add the breakpoint info to the list | 3370 | ;; Add the breakpoint info to the list |
| 3359 | (nconc idlwave-shell-bp-alist | 3371 | (nconc idlwave-shell-bp-alist |
| 3360 | (list (cons (list file line) | 3372 | (list (cons (list file line) |
| @@ -3364,7 +3376,7 @@ breakpoint overlays." | |||
| 3364 | count nil condition disabled)))))) | 3376 | count nil condition disabled)))))) |
| 3365 | (setq idlwave-shell-bp-alist (cdr idlwave-shell-bp-alist)) | 3377 | (setq idlwave-shell-bp-alist (cdr idlwave-shell-bp-alist)) |
| 3366 | ;; Update breakpoint data | 3378 | ;; Update breakpoint data |
| 3367 | (if (eq bp-re bp-re54) | 3379 | (if (eq bp-re bp-re54) |
| 3368 | (mapcar 'idlwave-shell-update-bp old-bp-alist) | 3380 | (mapcar 'idlwave-shell-update-bp old-bp-alist) |
| 3369 | (mapcar 'idlwave-shell-update-bp-command-only old-bp-alist)))) | 3381 | (mapcar 'idlwave-shell-update-bp-command-only old-bp-alist)))) |
| 3370 | ;; Update the breakpoint overlays | 3382 | ;; Update the breakpoint overlays |
| @@ -3379,8 +3391,8 @@ breakpoint overlays." | |||
| 3379 | "Update BP data in breakpoint list. | 3391 | "Update BP data in breakpoint list. |
| 3380 | If BP frame is in `idlwave-shell-bp-alist' updates the breakpoint data." | 3392 | If BP frame is in `idlwave-shell-bp-alist' updates the breakpoint data." |
| 3381 | (let ((match (assoc (car bp) idlwave-shell-bp-alist))) | 3393 | (let ((match (assoc (car bp) idlwave-shell-bp-alist))) |
| 3382 | (if match | 3394 | (if match |
| 3383 | (if command-only | 3395 | (if command-only |
| 3384 | (setf (nth 1 (cdr (cdr match))) (nth 1 (cdr (cdr match)))) | 3396 | (setf (nth 1 (cdr (cdr match))) (nth 1 (cdr (cdr match)))) |
| 3385 | (setcdr (cdr match) (cdr (cdr bp))))))) | 3397 | (setcdr (cdr match) (cdr (cdr bp))))))) |
| 3386 | 3398 | ||
| @@ -3405,42 +3417,31 @@ Otherwise return the filename in bp." | |||
| 3405 | (let* | 3417 | (let* |
| 3406 | ((bp-file (idlwave-shell-bp-get bp 'file)) | 3418 | ((bp-file (idlwave-shell-bp-get bp 'file)) |
| 3407 | (bp-module (idlwave-shell-bp-get bp 'module)) | 3419 | (bp-module (idlwave-shell-bp-get bp 'module)) |
| 3408 | (internal-file-list | 3420 | (internal-file-list |
| 3409 | (cdr (assoc bp-module idlwave-shell-sources-alist)))) | 3421 | (if bp-module |
| 3422 | (cdr (assoc bp-module idlwave-shell-sources-alist))))) | ||
| 3410 | (if (and internal-file-list | 3423 | (if (and internal-file-list |
| 3411 | (equal bp-file (nth 0 internal-file-list))) | 3424 | (equal bp-file (nth 0 internal-file-list))) |
| 3412 | (nth 1 internal-file-list) | 3425 | (nth 1 internal-file-list) |
| 3413 | bp-file))) | 3426 | bp-file))) |
| 3414 | 3427 | ||
| 3415 | (defun idlwave-shell-set-bp (bp &optional no-show) | 3428 | (defun idlwave-shell-set-bp (bp &optional no-show) |
| 3416 | "Try to set a breakpoint BP. | 3429 | "Try to set a breakpoint BP. |
| 3417 | The breakpoint will be placed at the beginning of the statement on the | 3430 | The breakpoint will be placed at the beginning of the statement on the |
| 3418 | line specified by BP or at the next IDL statement if that line is not | 3431 | line specified by BP or at the next IDL statement if that line is not |
| 3419 | a statement. Determines IDL's internal representation for the | 3432 | a statement. Determines IDL's internal representation for the |
| 3420 | breakpoint, which may have occurred at a different line than | 3433 | breakpoint, which may have occurred at a different line than |
| 3421 | specified. If NO-SHOW is non-nil, don't do any updating." | 3434 | specified. If NO-SHOW is non-nil, don't do any updating." |
| 3422 | ;; Get and save the old breakpoints | 3435 | ;; Get and save the old breakpoints |
| 3423 | (idlwave-shell-send-command | 3436 | (idlwave-shell-send-command |
| 3424 | idlwave-shell-bp-query | 3437 | idlwave-shell-bp-query |
| 3425 | `(progn | 3438 | `(progn |
| 3426 | (idlwave-shell-filter-bp (quote ,no-show)) | 3439 | (idlwave-shell-filter-bp (quote ,no-show)) |
| 3427 | (setq idlwave-shell-old-bp idlwave-shell-bp-alist)) | 3440 | (setq idlwave-shell-old-bp idlwave-shell-bp-alist)) |
| 3428 | 'hide) | 3441 | 'hide) |
| 3429 | ;; Get sources for IDL compiled procedures followed by setting | ||
| 3430 | ;; breakpoint. | ||
| 3431 | (idlwave-shell-send-command | ||
| 3432 | idlwave-shell-sources-query | ||
| 3433 | `(progn | ||
| 3434 | (idlwave-shell-sources-filter) | ||
| 3435 | (idlwave-shell-set-bp2 (quote ,bp) (quote ,no-show))) | ||
| 3436 | 'hide)) | ||
| 3437 | 3442 | ||
| 3438 | (defun idlwave-shell-set-bp2 (bp &optional no-show) | 3443 | ;; Get sources for this routine in the sources list |
| 3439 | "Use results of breakpoint and sources query to set bp. | 3444 | (idlwave-shell-module-source-query (idlwave-shell-bp-get bp 'module)) |
| 3440 | Use the count argument with IDLs breakpoint command. | ||
| 3441 | We treat a count of 1 as a temporary breakpoint. | ||
| 3442 | Counts greater than 1 use the IDL AFTER=count keyword to break | ||
| 3443 | only after reaching the statement count times." | ||
| 3444 | (let* | 3445 | (let* |
| 3445 | ((arg (idlwave-shell-bp-get bp 'count)) | 3446 | ((arg (idlwave-shell-bp-get bp 'count)) |
| 3446 | (key (cond | 3447 | (key (cond |
| @@ -3450,32 +3451,35 @@ only after reaching the statement count times." | |||
| 3450 | ((> arg 1) | 3451 | ((> arg 1) |
| 3451 | (format ",after=%d" arg)))) | 3452 | (format ",after=%d" arg)))) |
| 3452 | (condition (idlwave-shell-bp-get bp 'condition)) | 3453 | (condition (idlwave-shell-bp-get bp 'condition)) |
| 3453 | (key (concat key | 3454 | (disabled (idlwave-shell-bp-get bp 'disabled)) |
| 3455 | (key (concat key | ||
| 3454 | (if condition (concat ",CONDITION=\"" condition "\"")))) | 3456 | (if condition (concat ",CONDITION=\"" condition "\"")))) |
| 3457 | (key (concat key (if disabled ",/DISABLE"))) | ||
| 3455 | (line (idlwave-shell-bp-get bp 'line))) | 3458 | (line (idlwave-shell-bp-get bp 'line))) |
| 3456 | (idlwave-shell-send-command | 3459 | (idlwave-shell-send-command |
| 3457 | (concat "breakpoint,'" | 3460 | (concat "breakpoint,'" |
| 3458 | (idlwave-shell-sources-bp bp) "'," | 3461 | (idlwave-shell-sources-bp bp) "'," |
| 3459 | (if (integerp line) (setq line (int-to-string line))) | 3462 | (if (integerp line) (setq line (int-to-string line))) |
| 3460 | key) | 3463 | key) |
| 3461 | ;; Check for failure and look for breakpoint in IDL's list | 3464 | ;; Check for failure and adjust breakpoint to match IDL's list |
| 3462 | `(progn | 3465 | `(progn |
| 3463 | (if (idlwave-shell-set-bp-check (quote ,bp)) | 3466 | (if (idlwave-shell-set-bp-check (quote ,bp)) |
| 3464 | (idlwave-shell-set-bp3 (quote ,bp) (quote ,no-show)))) | 3467 | (idlwave-shell-set-bp-adjust (quote ,bp) (quote ,no-show)))) |
| 3465 | ;; hide output? | 3468 | ;; hide output? |
| 3466 | (idlwave-shell-hide-p 'breakpoint) | 3469 | (idlwave-shell-hide-p 'breakpoint) |
| 3467 | 'preempt t))) | 3470 | 'preempt t))) |
| 3468 | 3471 | ||
| 3469 | (defun idlwave-shell-set-bp3 (bp &optional no-show) | 3472 | (defun idlwave-shell-set-bp-adjust (bp &optional no-show) |
| 3470 | "Find the breakpoint in IDL's internal list of breakpoints." | 3473 | "Find the breakpoint in IDL's internal list of breakpoints." |
| 3471 | (idlwave-shell-send-command idlwave-shell-bp-query | 3474 | (idlwave-shell-send-command |
| 3472 | `(progn | 3475 | idlwave-shell-bp-query |
| 3473 | (idlwave-shell-filter-bp (quote ,no-show)) | 3476 | `(progn |
| 3474 | (idlwave-shell-new-bp (quote ,bp)) | 3477 | (idlwave-shell-filter-bp 'no-show) |
| 3475 | (unless (quote ,no-show) | 3478 | (idlwave-shell-new-bp (quote ,bp)) |
| 3476 | (idlwave-shell-update-bp-overlays))) | 3479 | (unless (quote ,no-show) |
| 3477 | 'hide | 3480 | (idlwave-shell-update-bp-overlays))) |
| 3478 | 'preempt)) | 3481 | 'hide |
| 3482 | 'preempt)) | ||
| 3479 | 3483 | ||
| 3480 | (defun idlwave-shell-find-bp (frame) | 3484 | (defun idlwave-shell-find-bp (frame) |
| 3481 | "Return breakpoint from `idlwave-shell-bp-alist' for frame. | 3485 | "Return breakpoint from `idlwave-shell-bp-alist' for frame. |
| @@ -3526,10 +3530,14 @@ considered the new breakpoint if the file name of frame matches." | |||
| 3526 | "Alist of overlays marking breakpoints") | 3530 | "Alist of overlays marking breakpoints") |
| 3527 | (defvar idlwave-shell-bp-glyph) | 3531 | (defvar idlwave-shell-bp-glyph) |
| 3528 | 3532 | ||
| 3533 | (defvar idlwave-shell-debug-line-map (make-sparse-keymap)) | ||
| 3534 | (define-key idlwave-shell-debug-line-map | ||
| 3535 | (if (featurep 'xemacs) [button3] [mouse-3]) | ||
| 3536 | 'idlwave-shell-mouse-active-bp) | ||
| 3537 | |||
| 3529 | (defun idlwave-shell-update-bp-overlays () | 3538 | (defun idlwave-shell-update-bp-overlays () |
| 3530 | "Update the overlays which mark breakpoints in the source code. | 3539 | "Update the overlays which mark breakpoints in the source code. |
| 3531 | Existing overlays are recycled, in order to minimize consumption." | 3540 | Existing overlays are recycled, in order to minimize consumption." |
| 3532 | ;(message "Updating Overlays") | ||
| 3533 | (when idlwave-shell-mark-breakpoints | 3541 | (when idlwave-shell-mark-breakpoints |
| 3534 | (let ((ov-alist (copy-alist idlwave-shell-bp-overlays)) | 3542 | (let ((ov-alist (copy-alist idlwave-shell-bp-overlays)) |
| 3535 | (bp-list idlwave-shell-bp-alist) | 3543 | (bp-list idlwave-shell-bp-alist) |
| @@ -3538,14 +3546,14 @@ Existing overlays are recycled, in order to minimize consumption." | |||
| 3538 | ov ov-list bp buf old-buffers win) | 3546 | ov ov-list bp buf old-buffers win) |
| 3539 | 3547 | ||
| 3540 | ;; Delete the old overlays from their buffers | 3548 | ;; Delete the old overlays from their buffers |
| 3541 | (if ov-alist | 3549 | (if ov-alist |
| 3542 | (while (setq ov-list (pop ov-alist)) | 3550 | (while (setq ov-list (pop ov-alist)) |
| 3543 | (while (setq ov (pop (cdr ov-list))) | 3551 | (while (setq ov (pop (cdr ov-list))) |
| 3544 | (add-to-list 'old-buffers (overlay-buffer ov)) | 3552 | (add-to-list 'old-buffers (overlay-buffer ov)) |
| 3545 | (delete-overlay ov)))) | 3553 | (delete-overlay ov)))) |
| 3546 | 3554 | ||
| 3547 | (setq ov-alist idlwave-shell-bp-overlays | 3555 | (setq ov-alist idlwave-shell-bp-overlays |
| 3548 | idlwave-shell-bp-overlays | 3556 | idlwave-shell-bp-overlays |
| 3549 | (if idlwave-shell-bp-glyph | 3557 | (if idlwave-shell-bp-glyph |
| 3550 | (mapcar 'list (mapcar 'car idlwave-shell-bp-glyph)) | 3558 | (mapcar 'list (mapcar 'car idlwave-shell-bp-glyph)) |
| 3551 | (list (list 'bp)))) | 3559 | (list (list 'bp)))) |
| @@ -3569,16 +3577,23 @@ Existing overlays are recycled, in order to minimize consumption." | |||
| 3569 | (t 'bp-n))) | 3577 | (t 'bp-n))) |
| 3570 | (t 'bp)) | 3578 | (t 'bp)) |
| 3571 | 'bp)) | 3579 | 'bp)) |
| 3572 | (help-list | 3580 | (help-list |
| 3573 | (delq nil | 3581 | (delq nil |
| 3574 | (list | 3582 | (list |
| 3575 | (if count | 3583 | (if count |
| 3576 | (concat "n=" (int-to-string count))) | 3584 | (concat "after:" (int-to-string count))) |
| 3577 | (if condition | 3585 | (if condition |
| 3578 | (concat "condition: " condition)) | 3586 | (concat "condition:" condition)) |
| 3579 | (if disabled "disabled")))) | 3587 | (if disabled "disabled")))) |
| 3580 | (help-text (if help-list | 3588 | (help-text (concat |
| 3581 | (mapconcat 'identity help-list ","))) | 3589 | "BP " |
| 3590 | (int-to-string (idlwave-shell-bp-get bp)) | ||
| 3591 | (if help-list | ||
| 3592 | (concat | ||
| 3593 | " - " | ||
| 3594 | (mapconcat 'identity help-list ", "))) | ||
| 3595 | (if (and (not count) (not condition)) | ||
| 3596 | " (use mouse-3 for breakpoint actions)"))) | ||
| 3582 | (full-type (if disabled | 3597 | (full-type (if disabled |
| 3583 | (intern (concat (symbol-name type) | 3598 | (intern (concat (symbol-name type) |
| 3584 | "-disabled")) | 3599 | "-disabled")) |
| @@ -3586,9 +3601,10 @@ Existing overlays are recycled, in order to minimize consumption." | |||
| 3586 | (ov-existing (assq full-type ov-alist)) | 3601 | (ov-existing (assq full-type ov-alist)) |
| 3587 | (ov (or (and (cdr ov-existing) | 3602 | (ov (or (and (cdr ov-existing) |
| 3588 | (pop (cdr ov-existing))) | 3603 | (pop (cdr ov-existing))) |
| 3589 | (idlwave-shell-make-new-bp-overlay | 3604 | (idlwave-shell-make-new-bp-overlay type disabled))) |
| 3590 | type disabled help-text))) | ||
| 3591 | match) | 3605 | match) |
| 3606 | (if idlwave-shell-breakpoint-popup-menu | ||
| 3607 | (overlay-put ov 'help-echo help-text)) | ||
| 3592 | (move-overlay ov beg end) | 3608 | (move-overlay ov beg end) |
| 3593 | (if (setq match (assq full-type idlwave-shell-bp-overlays)) | 3609 | (if (setq match (assq full-type idlwave-shell-bp-overlays)) |
| 3594 | (push ov (cdr match)) | 3610 | (push ov (cdr match)) |
| @@ -3596,7 +3612,7 @@ Existing overlays are recycled, in order to minimize consumption." | |||
| 3596 | (list (list full-type ov))))) | 3612 | (list (list full-type ov))))) |
| 3597 | ;; Take care of margins if using a glyph | 3613 | ;; Take care of margins if using a glyph |
| 3598 | (when use-glyph | 3614 | (when use-glyph |
| 3599 | (if old-buffers | 3615 | (if old-buffers |
| 3600 | (setq old-buffers (delq (current-buffer) old-buffers))) | 3616 | (setq old-buffers (delq (current-buffer) old-buffers))) |
| 3601 | (if (fboundp 'set-specifier) ;; XEmacs | 3617 | (if (fboundp 'set-specifier) ;; XEmacs |
| 3602 | (set-specifier left-margin-width (cons (current-buffer) 2)) | 3618 | (set-specifier left-margin-width (cons (current-buffer) 2)) |
| @@ -3612,29 +3628,31 @@ Existing overlays are recycled, in order to minimize consumption." | |||
| 3612 | (if (setq win (get-buffer-window buf t)) | 3628 | (if (setq win (get-buffer-window buf t)) |
| 3613 | (set-window-buffer win buf)))))))) | 3629 | (set-window-buffer win buf)))))))) |
| 3614 | 3630 | ||
| 3615 | 3631 | (defun idlwave-shell-make-new-bp-overlay (&optional type disabled) | |
| 3616 | (defun idlwave-shell-make-new-bp-overlay (&optional type disabled help) | 3632 | "Make a new overlay for highlighting breakpoints. |
| 3617 | "Make a new overlay for highlighting breakpoints. | ||
| 3618 | 3633 | ||
| 3619 | This stuff is strongly dependant upon the version of Emacs. If TYPE | 3634 | This stuff is strongly dependant upon the version of Emacs. If TYPE |
| 3620 | is passed, make an overlay of that type ('bp or 'bp-cond, currently | 3635 | is passed, make an overlay of that type ('bp or 'bp-cond, currently |
| 3621 | only for glyphs). If HELP is set, use it to make a tooltip with that | 3636 | only for glyphs)." |
| 3622 | text popup." | ||
| 3623 | (let ((ov (make-overlay 1 1)) | 3637 | (let ((ov (make-overlay 1 1)) |
| 3624 | (use-glyph (and (memq idlwave-shell-mark-breakpoints '(t glyph)) | 3638 | (use-glyph (and (memq idlwave-shell-mark-breakpoints '(t glyph)) |
| 3625 | idlwave-shell-bp-glyph)) | 3639 | idlwave-shell-bp-glyph)) |
| 3626 | (type (or type 'bp)) | 3640 | (type (or type 'bp)) |
| 3627 | (face (if disabled | 3641 | (face (if disabled |
| 3628 | idlwave-shell-disabled-breakpoint-face | 3642 | idlwave-shell-disabled-breakpoint-face |
| 3629 | idlwave-shell-breakpoint-face))) | 3643 | idlwave-shell-breakpoint-face))) |
| 3630 | (if (featurep 'xemacs) | 3644 | (if (featurep 'xemacs) |
| 3631 | ;; This is XEmacs | 3645 | ;; This is XEmacs |
| 3632 | (progn | 3646 | (progn |
| 3633 | (cond | 3647 | (when idlwave-shell-breakpoint-popup-menu |
| 3648 | (set-extent-property ov 'mouse-face 'highlight) | ||
| 3649 | (set-extent-property ov 'keymap idlwave-shell-debug-line-map)) | ||
| 3650 | |||
| 3651 | (cond | ||
| 3634 | ;; tty's cannot display glyphs | 3652 | ;; tty's cannot display glyphs |
| 3635 | ((eq (console-type) 'tty) | 3653 | ((eq (console-type) 'tty) |
| 3636 | (set-extent-property ov 'face face)) | 3654 | (set-extent-property ov 'face face)) |
| 3637 | 3655 | ||
| 3638 | ;; use the glyph | 3656 | ;; use the glyph |
| 3639 | (use-glyph | 3657 | (use-glyph |
| 3640 | (let ((glyph (cdr (assq type idlwave-shell-bp-glyph)))) | 3658 | (let ((glyph (cdr (assq type idlwave-shell-bp-glyph)))) |
| @@ -3650,22 +3668,23 @@ text popup." | |||
| 3650 | (t nil)) | 3668 | (t nil)) |
| 3651 | (set-extent-priority ov -1)) ; make stop line face prevail | 3669 | (set-extent-priority ov -1)) ; make stop line face prevail |
| 3652 | ;; This is Emacs | 3670 | ;; This is Emacs |
| 3671 | (when idlwave-shell-breakpoint-popup-menu | ||
| 3672 | (overlay-put ov 'mouse-face 'highlight) | ||
| 3673 | (overlay-put ov 'keymap idlwave-shell-debug-line-map)) | ||
| 3653 | (cond | 3674 | (cond |
| 3654 | (window-system | 3675 | (window-system |
| 3655 | (if use-glyph | 3676 | (if use-glyph |
| 3656 | (let ((image-props (cdr (assq type idlwave-shell-bp-glyph))) | 3677 | (let ((image-props (cdr (assq type idlwave-shell-bp-glyph))) |
| 3657 | string) | 3678 | string) |
| 3658 | 3679 | ||
| 3659 | (if disabled (setq image-props | 3680 | (if disabled (setq image-props |
| 3660 | (append image-props | 3681 | (append image-props |
| 3661 | (list :conversion 'disabled)))) | 3682 | (list :conversion 'disabled)))) |
| 3662 | (setq string | 3683 | (setq string |
| 3663 | (propertize "@" | 3684 | (propertize "@" |
| 3664 | 'display | 3685 | 'display |
| 3665 | (list (list 'margin 'left-margin) | 3686 | (list (list 'margin 'left-margin) |
| 3666 | image-props) | 3687 | image-props))) |
| 3667 | 'mouse-face 'highlight | ||
| 3668 | 'help-echo help)) | ||
| 3669 | (overlay-put ov 'before-string string)) | 3688 | (overlay-put ov 'before-string string)) |
| 3670 | ;; just the face | 3689 | ;; just the face |
| 3671 | (overlay-put ov 'face face))) | 3690 | (overlay-put ov 'face face))) |
| @@ -3678,6 +3697,54 @@ text popup." | |||
| 3678 | (t nil))) | 3697 | (t nil))) |
| 3679 | ov)) | 3698 | ov)) |
| 3680 | 3699 | ||
| 3700 | (defun idlwave-shell-mouse-active-bp (ev) | ||
| 3701 | "Does right-click mouse action on breakpoint lines." | ||
| 3702 | (interactive "e") | ||
| 3703 | (if ev (mouse-set-point ev)) | ||
| 3704 | (let ((bp (idlwave-shell-find-bp (idlwave-shell-current-frame))) | ||
| 3705 | index condition count select cmd disabled) | ||
| 3706 | (unless bp | ||
| 3707 | (error "Breakpoint not found")) | ||
| 3708 | (setq index (int-to-string (idlwave-shell-bp-get bp)) | ||
| 3709 | condition (idlwave-shell-bp-get bp 'condition) | ||
| 3710 | cmd (idlwave-shell-bp-get bp 'cmd) | ||
| 3711 | count (idlwave-shell-bp-get bp 'count) | ||
| 3712 | disabled (idlwave-shell-bp-get bp 'disabled)) | ||
| 3713 | (setq select (idlwave-popup-select | ||
| 3714 | ev | ||
| 3715 | (delq nil | ||
| 3716 | (list (if disabled "Enable" "Disable") | ||
| 3717 | "Clear" | ||
| 3718 | "Clear All" | ||
| 3719 | (if condition "Remove Condition" "Add Condition") | ||
| 3720 | (if condition "Change Condition") | ||
| 3721 | (if count "Remove Repeat Count" | ||
| 3722 | "Add Repeat Count") | ||
| 3723 | (if count "Change Repeat Count"))) | ||
| 3724 | (concat "BreakPoint " index))) | ||
| 3725 | (if select | ||
| 3726 | (cond | ||
| 3727 | ((string-equal select "Clear All") | ||
| 3728 | (idlwave-shell-clear-all-bp)) | ||
| 3729 | ((string-equal select "Clear") | ||
| 3730 | (idlwave-shell-clear-current-bp)) | ||
| 3731 | ((string-match "Condition" select) | ||
| 3732 | (idlwave-shell-break-here count cmd | ||
| 3733 | (if (or (not condition) | ||
| 3734 | (string-match "Change" select)) | ||
| 3735 | (read-string "Break Condition: ")) | ||
| 3736 | disabled)) | ||
| 3737 | ((string-match "Count" select) | ||
| 3738 | (idlwave-shell-break-here (if (or (not count) | ||
| 3739 | (string-match "Change" select)) | ||
| 3740 | (string-to-number | ||
| 3741 | (read-string "Break After Count: "))) | ||
| 3742 | cmd condition disabled)) | ||
| 3743 | ((string-match "able$" select) | ||
| 3744 | (idlwave-shell-toggle-enable-current-bp)) | ||
| 3745 | (t | ||
| 3746 | (message "Unimplemented: %s" select)))))) | ||
| 3747 | |||
| 3681 | (defun idlwave-shell-edit-default-command-line (arg) | 3748 | (defun idlwave-shell-edit-default-command-line (arg) |
| 3682 | "Edit the current execute command." | 3749 | "Edit the current execute command." |
| 3683 | (interactive "P") | 3750 | (interactive "P") |
| @@ -3689,14 +3756,14 @@ text popup." | |||
| 3689 | Also with prefix arg, ask for the command. You can also use the command | 3756 | Also with prefix arg, ask for the command. You can also use the command |
| 3690 | `idlwave-shell-edit-default-command-line' to edit the line." | 3757 | `idlwave-shell-edit-default-command-line' to edit the line." |
| 3691 | (interactive "P") | 3758 | (interactive "P") |
| 3692 | (cond | 3759 | (cond |
| 3693 | ((equal arg '(16)) | 3760 | ((equal arg '(16)) |
| 3694 | (setq idlwave-shell-command-line-to-execute nil)) | 3761 | (setq idlwave-shell-command-line-to-execute nil)) |
| 3695 | ((equal arg '(4)) | 3762 | ((equal arg '(4)) |
| 3696 | (setq idlwave-shell-command-line-to-execute | 3763 | (setq idlwave-shell-command-line-to-execute |
| 3697 | (read-string "IDL> " idlwave-shell-command-line-to-execute)))) | 3764 | (read-string "IDL> " idlwave-shell-command-line-to-execute)))) |
| 3698 | (idlwave-shell-reset 'hidden) | 3765 | (idlwave-shell-reset 'hidden) |
| 3699 | (idlwave-shell-send-command | 3766 | (idlwave-shell-send-command |
| 3700 | (or idlwave-shell-command-line-to-execute | 3767 | (or idlwave-shell-command-line-to-execute |
| 3701 | (with-current-buffer (idlwave-shell-buffer) | 3768 | (with-current-buffer (idlwave-shell-buffer) |
| 3702 | (ring-ref comint-input-ring 0))) | 3769 | (ring-ref comint-input-ring 0))) |
| @@ -3706,7 +3773,7 @@ Also with prefix arg, ask for the command. You can also use the command | |||
| 3706 | "Save file and run it in IDL. | 3773 | "Save file and run it in IDL. |
| 3707 | Runs `save-buffer' and sends a '.RUN' command for the associated file to IDL. | 3774 | Runs `save-buffer' and sends a '.RUN' command for the associated file to IDL. |
| 3708 | When called from the shell buffer, re-run the file which was last handled by | 3775 | When called from the shell buffer, re-run the file which was last handled by |
| 3709 | one of the save-and-.. commands." | 3776 | one of the save-and-.. commands." |
| 3710 | (interactive) | 3777 | (interactive) |
| 3711 | (idlwave-shell-save-and-action 'run)) | 3778 | (idlwave-shell-save-and-action 'run)) |
| 3712 | 3779 | ||
| @@ -3722,7 +3789,7 @@ one of the save-and-.. commands." | |||
| 3722 | "Save file and batch it in IDL. | 3789 | "Save file and batch it in IDL. |
| 3723 | Runs `save-buffer' and sends a '@file' command for the associated file to IDL. | 3790 | Runs `save-buffer' and sends a '@file' command for the associated file to IDL. |
| 3724 | When called from the shell buffer, re-batch the file which was last handled by | 3791 | When called from the shell buffer, re-batch the file which was last handled by |
| 3725 | one of the save-and-.. commands." | 3792 | one of the save-and-.. commands." |
| 3726 | (interactive) | 3793 | (interactive) |
| 3727 | (idlwave-shell-save-and-action 'batch)) | 3794 | (idlwave-shell-save-and-action 'batch)) |
| 3728 | 3795 | ||
| @@ -3762,7 +3829,7 @@ handled by this command." | |||
| 3762 | 'idlwave-shell-maybe-update-routine-info | 3829 | 'idlwave-shell-maybe-update-routine-info |
| 3763 | (if (idlwave-shell-hide-p 'run) 'mostly) nil t) | 3830 | (if (idlwave-shell-hide-p 'run) 'mostly) nil t) |
| 3764 | (idlwave-shell-bp-query)) | 3831 | (idlwave-shell-bp-query)) |
| 3765 | (let ((msg (format "No such file %s" | 3832 | (let ((msg (format "No such file %s" |
| 3766 | idlwave-shell-last-save-and-action-file))) | 3833 | idlwave-shell-last-save-and-action-file))) |
| 3767 | (setq idlwave-shell-last-save-and-action-file nil) | 3834 | (setq idlwave-shell-last-save-and-action-file nil) |
| 3768 | (error msg)))) | 3835 | (error msg)))) |
| @@ -3785,17 +3852,42 @@ Elements of the alist have the form: | |||
| 3785 | 3852 | ||
| 3786 | (module name . (source-file-truename idlwave-internal-filename)).") | 3853 | (module name . (source-file-truename idlwave-internal-filename)).") |
| 3787 | 3854 | ||
| 3855 | (defun idlwave-shell-module-source-query (module) | ||
| 3856 | "Determine the source file for a given module." | ||
| 3857 | (if module | ||
| 3858 | (idlwave-shell-send-command | ||
| 3859 | (format "print,(routine_info('%s',/SOURCE)).PATH" module) | ||
| 3860 | `(idlwave-shell-module-source-filter ,module) | ||
| 3861 | 'hide))) | ||
| 3862 | |||
| 3863 | (defun idlwave-shell-module-source-filter (module) | ||
| 3864 | "Get module source, and update idlwave-shell-sources-alist." | ||
| 3865 | (let ((old (assoc (upcase module) idlwave-shell-sources-alist)) | ||
| 3866 | filename) | ||
| 3867 | (if (string-match "\.PATH *[\n\r]\\([^\r\n]+\\)[\n\r]" | ||
| 3868 | idlwave-shell-command-output) | ||
| 3869 | (setq filename (substring idlwave-shell-command-output | ||
| 3870 | (match-beginning 1) (match-end 1))) | ||
| 3871 | (error "No file matching module found.")) | ||
| 3872 | (if old | ||
| 3873 | (setcdr old (list (idlwave-shell-file-name filename) filename)) | ||
| 3874 | (setq idlwave-shell-sources-alist | ||
| 3875 | (append idlwave-shell-sources-alist | ||
| 3876 | (list (cons (upcase module) | ||
| 3877 | (list (idlwave-shell-file-name filename) | ||
| 3878 | filename)))))))) | ||
| 3879 | |||
| 3788 | (defun idlwave-shell-sources-query () | 3880 | (defun idlwave-shell-sources-query () |
| 3789 | "Determine source files for IDL compiled procedures. | 3881 | "Determine source files for all IDL compiled procedures. |
| 3790 | Queries IDL using the string in `idlwave-shell-sources-query'." | 3882 | Queries IDL using the string in `idlwave-shell-sources-query'." |
| 3791 | ' (interactive) | 3883 | (interactive) |
| 3792 | (idlwave-shell-send-command idlwave-shell-sources-query | 3884 | (idlwave-shell-send-command idlwave-shell-sources-query |
| 3793 | 'idlwave-shell-sources-filter | 3885 | 'idlwave-shell-sources-filter |
| 3794 | 'hide)) | 3886 | 'hide)) |
| 3795 | 3887 | ||
| 3796 | (defun idlwave-shell-sources-filter () | 3888 | (defun idlwave-shell-sources-filter () |
| 3797 | "Get source files from `idlwave-shell-sources-query' output. | 3889 | "Get source files from `idlwave-shell-sources-query' output. |
| 3798 | Create `idlwave-shell-sources-alist' consisting of | 3890 | Create `idlwave-shell-sources-alist' consisting of |
| 3799 | list elements of the form: | 3891 | list elements of the form: |
| 3800 | (module name . (source-file-truename idlwave-internal-filename))." | 3892 | (module name . (source-file-truename idlwave-internal-filename))." |
| 3801 | (save-excursion | 3893 | (save-excursion |
| @@ -3880,7 +3972,7 @@ list elements of the form: | |||
| 3880 | (list | 3972 | (list |
| 3881 | (save-match-data | 3973 | (save-match-data |
| 3882 | (idlwave-shell-file-name | 3974 | (idlwave-shell-file-name |
| 3883 | (buffer-substring (match-beginning 1 ) | 3975 | (buffer-substring (match-beginning 1 ) |
| 3884 | (match-end 1)))) | 3976 | (match-end 1)))) |
| 3885 | (string-to-number | 3977 | (string-to-number |
| 3886 | (buffer-substring (match-beginning 2) | 3978 | (buffer-substring (match-beginning 2) |
| @@ -3947,13 +4039,13 @@ Otherwise, just expand the file name." | |||
| 3947 | 4039 | ||
| 3948 | ;; The mouse bindings for PRINT and HELP | 4040 | ;; The mouse bindings for PRINT and HELP |
| 3949 | (idlwave-shell-define-key-both | 4041 | (idlwave-shell-define-key-both |
| 3950 | (if (featurep 'xemacs) | 4042 | (if (featurep 'xemacs) |
| 3951 | [(shift button2)] | 4043 | [(shift button2)] |
| 3952 | [(shift down-mouse-2)]) | 4044 | [(shift down-mouse-2)]) |
| 3953 | 'idlwave-shell-mouse-print) | 4045 | 'idlwave-shell-mouse-print) |
| 3954 | (idlwave-shell-define-key-both | 4046 | (idlwave-shell-define-key-both |
| 3955 | (if (featurep 'xemacs) | 4047 | (if (featurep 'xemacs) |
| 3956 | [(control meta button2)] | 4048 | [(control meta button2)] |
| 3957 | [(control meta down-mouse-2)]) | 4049 | [(control meta down-mouse-2)]) |
| 3958 | 'idlwave-shell-mouse-help) | 4050 | 'idlwave-shell-mouse-help) |
| 3959 | (idlwave-shell-define-key-both | 4051 | (idlwave-shell-define-key-both |
| @@ -3962,14 +4054,14 @@ Otherwise, just expand the file name." | |||
| 3962 | [(control shift down-mouse-2)]) | 4054 | [(control shift down-mouse-2)]) |
| 3963 | 'idlwave-shell-examine-select) | 4055 | 'idlwave-shell-examine-select) |
| 3964 | ;; Add this one from the idlwave-mode-map | 4056 | ;; Add this one from the idlwave-mode-map |
| 3965 | (define-key idlwave-shell-mode-map | 4057 | (define-key idlwave-shell-mode-map |
| 3966 | (if (featurep 'xemacs) | 4058 | (if (featurep 'xemacs) |
| 3967 | [(shift button3)] | 4059 | [(shift button3)] |
| 3968 | [(shift mouse-3)]) | 4060 | [(shift mouse-3)]) |
| 3969 | 'idlwave-mouse-context-help) | 4061 | 'idlwave-mouse-context-help) |
| 3970 | 4062 | ||
| 3971 | ;; For Emacs, we need to turn off the button release events. | 4063 | ;; For Emacs, we need to turn off the button release events. |
| 3972 | (defun idlwave-shell-mouse-nop (event) | 4064 | (defun idlwave-shell-mouse-nop (event) |
| 3973 | (interactive "e")) | 4065 | (interactive "e")) |
| 3974 | (unless (featurep 'xemacs) | 4066 | (unless (featurep 'xemacs) |
| 3975 | (idlwave-shell-define-key-both | 4067 | (idlwave-shell-define-key-both |
| @@ -3979,7 +4071,7 @@ Otherwise, just expand the file name." | |||
| 3979 | (idlwave-shell-define-key-both | 4071 | (idlwave-shell-define-key-both |
| 3980 | [(control meta mouse-2)] 'idlwave-shell-mouse-nop)) | 4072 | [(control meta mouse-2)] 'idlwave-shell-mouse-nop)) |
| 3981 | 4073 | ||
| 3982 | 4074 | ||
| 3983 | ;; The following set of bindings is used to bind the debugging keys. | 4075 | ;; The following set of bindings is used to bind the debugging keys. |
| 3984 | ;; If `idlwave-shell-activate-prefix-keybindings' is non-nil, the | 4076 | ;; If `idlwave-shell-activate-prefix-keybindings' is non-nil, the |
| 3985 | ;; first key in the list gets bound the C-c C-d prefix map. If | 4077 | ;; first key in the list gets bound the C-c C-d prefix map. If |
| @@ -3988,10 +4080,10 @@ Otherwise, just expand the file name." | |||
| 3988 | ;; `idlwave-mode-map' and `idlwave-shell-mode-map'. The next list | 4080 | ;; `idlwave-mode-map' and `idlwave-shell-mode-map'. The next list |
| 3989 | ;; item, if non-nil, means to bind this as a single key in the | 4081 | ;; item, if non-nil, means to bind this as a single key in the |
| 3990 | ;; electric-debug-mode-map. | 4082 | ;; electric-debug-mode-map. |
| 3991 | ;; | 4083 | ;; |
| 3992 | ;; [C-c C-d]-binding debug-modifier-key command bind-electric-debug buf-only | 4084 | ;; [C-c C-d]-binding debug-modifier-key command bind-electric-debug buf-only |
| 3993 | ;; Used keys: abcdef hijklmnopqrstuvwxyz | 4085 | ;; Used keys: abcdef hijklmnopqrstuvwxyz |
| 3994 | ;; Unused keys: g | 4086 | ;; Unused keys: g |
| 3995 | (let* ((specs | 4087 | (let* ((specs |
| 3996 | '(([(control ?b)] ?b idlwave-shell-break-here t t) | 4088 | '(([(control ?b)] ?b idlwave-shell-break-here t t) |
| 3997 | ([(control ?i)] ?i idlwave-shell-break-in t t) | 4089 | ([(control ?i)] ?i idlwave-shell-break-in t t) |
| @@ -4041,10 +4133,10 @@ Otherwise, just expand the file name." | |||
| 4041 | electric (nth 3 s) | 4133 | electric (nth 3 s) |
| 4042 | only-buffer (nth 4 s) | 4134 | only-buffer (nth 4 s) |
| 4043 | cannotshift (and shift (char-valid-p c2) (eq c2 (upcase c2)))) | 4135 | cannotshift (and shift (char-valid-p c2) (eq c2 (upcase c2)))) |
| 4044 | 4136 | ||
| 4045 | ;; The regular prefix keymap. | 4137 | ;; The regular prefix keymap. |
| 4046 | (when (and idlwave-shell-activate-prefix-keybindings k1) | 4138 | (when (and idlwave-shell-activate-prefix-keybindings k1) |
| 4047 | (unless only-buffer | 4139 | (unless only-buffer |
| 4048 | (define-key idlwave-shell-mode-prefix-map k1 cmd)) | 4140 | (define-key idlwave-shell-mode-prefix-map k1 cmd)) |
| 4049 | (define-key idlwave-mode-prefix-map k1 cmd)) | 4141 | (define-key idlwave-mode-prefix-map k1 cmd)) |
| 4050 | ;; The debug modifier map | 4142 | ;; The debug modifier map |
| @@ -4058,24 +4150,24 @@ Otherwise, just expand the file name." | |||
| 4058 | (unless only-buffer (define-key idlwave-shell-mode-map k2 cmd)))) | 4150 | (unless only-buffer (define-key idlwave-shell-mode-map k2 cmd)))) |
| 4059 | ;; The electric debug single-keystroke map | 4151 | ;; The electric debug single-keystroke map |
| 4060 | (if (and electric (char-or-string-p c2)) | 4152 | (if (and electric (char-or-string-p c2)) |
| 4061 | (define-key idlwave-shell-electric-debug-mode-map (char-to-string c2) | 4153 | (define-key idlwave-shell-electric-debug-mode-map (char-to-string c2) |
| 4062 | cmd)))) | 4154 | cmd)))) |
| 4063 | 4155 | ||
| 4064 | ;; A few extras in the electric debug map | 4156 | ;; A few extras in the electric debug map |
| 4065 | (define-key idlwave-shell-electric-debug-mode-map " " 'idlwave-shell-step) | 4157 | (define-key idlwave-shell-electric-debug-mode-map " " 'idlwave-shell-step) |
| 4066 | (define-key idlwave-shell-electric-debug-mode-map "+" 'idlwave-shell-stack-up) | 4158 | (define-key idlwave-shell-electric-debug-mode-map "+" 'idlwave-shell-stack-up) |
| 4067 | (define-key idlwave-shell-electric-debug-mode-map "=" 'idlwave-shell-stack-up) | 4159 | (define-key idlwave-shell-electric-debug-mode-map "=" 'idlwave-shell-stack-up) |
| 4068 | (define-key idlwave-shell-electric-debug-mode-map "-" | 4160 | (define-key idlwave-shell-electric-debug-mode-map "-" |
| 4069 | 'idlwave-shell-stack-down) | 4161 | 'idlwave-shell-stack-down) |
| 4070 | (define-key idlwave-shell-electric-debug-mode-map "_" | 4162 | (define-key idlwave-shell-electric-debug-mode-map "_" |
| 4071 | 'idlwave-shell-stack-down) | 4163 | 'idlwave-shell-stack-down) |
| 4072 | (define-key idlwave-shell-electric-debug-mode-map "q" 'idlwave-shell-retall) | 4164 | (define-key idlwave-shell-electric-debug-mode-map "q" 'idlwave-shell-retall) |
| 4073 | (define-key idlwave-shell-electric-debug-mode-map "t" | 4165 | (define-key idlwave-shell-electric-debug-mode-map "t" |
| 4074 | '(lambda () (interactive) (idlwave-shell-send-command "help,/TRACE"))) | 4166 | '(lambda () (interactive) (idlwave-shell-send-command "help,/TRACE"))) |
| 4075 | (define-key idlwave-shell-electric-debug-mode-map [(control ??)] | 4167 | (define-key idlwave-shell-electric-debug-mode-map [(control ??)] |
| 4076 | 'idlwave-shell-electric-debug-help) | 4168 | 'idlwave-shell-electric-debug-help) |
| 4077 | (define-key idlwave-shell-electric-debug-mode-map "x" | 4169 | (define-key idlwave-shell-electric-debug-mode-map "x" |
| 4078 | '(lambda (arg) (interactive "P") | 4170 | '(lambda (arg) (interactive "P") |
| 4079 | (idlwave-shell-print arg nil nil t))) | 4171 | (idlwave-shell-print arg nil nil t))) |
| 4080 | 4172 | ||
| 4081 | 4173 | ||
| @@ -4096,12 +4188,12 @@ Otherwise, just expand the file name." | |||
| 4096 | (setq idlwave-shell-suppress-electric-debug nil)) | 4188 | (setq idlwave-shell-suppress-electric-debug nil)) |
| 4097 | (idlwave-shell-electric-debug-mode)) | 4189 | (idlwave-shell-electric-debug-mode)) |
| 4098 | 4190 | ||
| 4099 | (defvar idlwave-shell-electric-debug-read-only) | 4191 | (defvar idlwave-shell-electric-debug-read-only) |
| 4100 | (defvar idlwave-shell-electric-debug-buffers nil) | 4192 | (defvar idlwave-shell-electric-debug-buffers nil) |
| 4101 | 4193 | ||
| 4102 | (easy-mmode-define-minor-mode idlwave-shell-electric-debug-mode | 4194 | (easy-mmode-define-minor-mode idlwave-shell-electric-debug-mode |
| 4103 | "Toggle Electric Debug mode. | 4195 | "Toggle Electric Debug mode. |
| 4104 | With no argument, this command toggles the mode. | 4196 | With no argument, this command toggles the mode. |
| 4105 | Non-null prefix argument turns on the mode. | 4197 | Non-null prefix argument turns on the mode. |
| 4106 | Null prefix argument turns off the mode. | 4198 | Null prefix argument turns off the mode. |
| 4107 | 4199 | ||
| @@ -4111,7 +4203,7 @@ nil | |||
| 4111 | " *Debugging*" | 4203 | " *Debugging*" |
| 4112 | idlwave-shell-electric-debug-mode-map) | 4204 | idlwave-shell-electric-debug-mode-map) |
| 4113 | 4205 | ||
| 4114 | (add-hook | 4206 | (add-hook |
| 4115 | 'idlwave-shell-electric-debug-mode-on-hook | 4207 | 'idlwave-shell-electric-debug-mode-on-hook |
| 4116 | (lambda () | 4208 | (lambda () |
| 4117 | (set (make-local-variable 'idlwave-shell-electric-debug-read-only) | 4209 | (set (make-local-variable 'idlwave-shell-electric-debug-read-only) |
| @@ -4119,13 +4211,13 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4119 | (setq buffer-read-only t) | 4211 | (setq buffer-read-only t) |
| 4120 | (add-to-list 'idlwave-shell-electric-debug-buffers (current-buffer)) | 4212 | (add-to-list 'idlwave-shell-electric-debug-buffers (current-buffer)) |
| 4121 | (if idlwave-shell-stop-line-overlay | 4213 | (if idlwave-shell-stop-line-overlay |
| 4122 | (overlay-put idlwave-shell-stop-line-overlay 'face | 4214 | (overlay-put idlwave-shell-stop-line-overlay 'face |
| 4123 | idlwave-shell-electric-stop-line-face)) | 4215 | idlwave-shell-electric-stop-line-face)) |
| 4124 | (if (facep 'fringe) | 4216 | (if (facep 'fringe) |
| 4125 | (set-face-foreground 'fringe idlwave-shell-electric-stop-color | 4217 | (set-face-foreground 'fringe idlwave-shell-electric-stop-color |
| 4126 | (selected-frame))))) | 4218 | (selected-frame))))) |
| 4127 | 4219 | ||
| 4128 | (add-hook | 4220 | (add-hook |
| 4129 | 'idlwave-shell-electric-debug-mode-off-hook | 4221 | 'idlwave-shell-electric-debug-mode-off-hook |
| 4130 | (lambda () | 4222 | (lambda () |
| 4131 | ;; Return to previous read-only state | 4223 | ;; Return to previous read-only state |
| @@ -4134,7 +4226,7 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4134 | (setq idlwave-shell-electric-debug-buffers | 4226 | (setq idlwave-shell-electric-debug-buffers |
| 4135 | (delq (current-buffer) idlwave-shell-electric-debug-buffers)) | 4227 | (delq (current-buffer) idlwave-shell-electric-debug-buffers)) |
| 4136 | (if idlwave-shell-stop-line-overlay | 4228 | (if idlwave-shell-stop-line-overlay |
| 4137 | (overlay-put idlwave-shell-stop-line-overlay 'face | 4229 | (overlay-put idlwave-shell-stop-line-overlay 'face |
| 4138 | idlwave-shell-stop-line-face) | 4230 | idlwave-shell-stop-line-face) |
| 4139 | (if (facep 'fringe) | 4231 | (if (facep 'fringe) |
| 4140 | (set-face-foreground 'fringe (face-foreground 'default)))))) | 4232 | (set-face-foreground 'fringe (face-foreground 'default)))))) |
| @@ -4148,6 +4240,7 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4148 | (force-mode-line-update)) | 4240 | (force-mode-line-update)) |
| 4149 | 4241 | ||
| 4150 | ;; Turn it off in all relevant buffers | 4242 | ;; Turn it off in all relevant buffers |
| 4243 | (defvar idlwave-shell-electric-debug-buffers nil) | ||
| 4151 | (defun idlwave-shell-electric-debug-all-off () | 4244 | (defun idlwave-shell-electric-debug-all-off () |
| 4152 | (setq idlwave-shell-suppress-electric-debug nil) | 4245 | (setq idlwave-shell-suppress-electric-debug nil) |
| 4153 | (let ((buffers idlwave-shell-electric-debug-buffers) | 4246 | (let ((buffers idlwave-shell-electric-debug-buffers) |
| @@ -4165,7 +4258,7 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4165 | ;; Show the help text | 4258 | ;; Show the help text |
| 4166 | (defun idlwave-shell-electric-debug-help () | 4259 | (defun idlwave-shell-electric-debug-help () |
| 4167 | (interactive) | 4260 | (interactive) |
| 4168 | (with-output-to-temp-buffer "*IDLWAVE Electric Debug Help*" | 4261 | (with-output-to-temp-buffer "*IDLWAVE Electric Debug Help*" |
| 4169 | (princ idlwave-shell-electric-debug-help)) | 4262 | (princ idlwave-shell-electric-debug-help)) |
| 4170 | (let* ((current-window (selected-window)) | 4263 | (let* ((current-window (selected-window)) |
| 4171 | (window (get-buffer-window "*IDLWAVE Electric Debug Help*")) | 4264 | (window (get-buffer-window "*IDLWAVE Electric Debug Help*")) |
| @@ -4180,7 +4273,7 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4180 | `("Debug" | 4273 | `("Debug" |
| 4181 | ["Electric Debug Mode" | 4274 | ["Electric Debug Mode" |
| 4182 | idlwave-shell-electric-debug-mode | 4275 | idlwave-shell-electric-debug-mode |
| 4183 | :style toggle :selected idlwave-shell-electric-debug-mode | 4276 | :style toggle :selected idlwave-shell-electric-debug-mode |
| 4184 | :included (eq major-mode 'idlwave-mode) :keys "C-c C-d C-v"] | 4277 | :included (eq major-mode 'idlwave-mode) :keys "C-c C-d C-v"] |
| 4185 | "--" | 4278 | "--" |
| 4186 | ("Compile & Run" | 4279 | ("Compile & Run" |
| @@ -4196,15 +4289,15 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4196 | "--" | 4289 | "--" |
| 4197 | ["Goto Next Error" idlwave-shell-goto-next-error t] | 4290 | ["Goto Next Error" idlwave-shell-goto-next-error t] |
| 4198 | "--" | 4291 | "--" |
| 4199 | ["Compile and Run Region" idlwave-shell-run-region | 4292 | ["Compile and Run Region" idlwave-shell-run-region |
| 4200 | (eq major-mode 'idlwave-mode)] | 4293 | (eq major-mode 'idlwave-mode)] |
| 4201 | ["Evaluate Region" idlwave-shell-evaluate-region | 4294 | ["Evaluate Region" idlwave-shell-evaluate-region |
| 4202 | (eq major-mode 'idlwave-mode)] | 4295 | (eq major-mode 'idlwave-mode)] |
| 4203 | "--" | 4296 | "--" |
| 4204 | ["Execute Default Cmd" idlwave-shell-execute-default-command-line t] | 4297 | ["Execute Default Cmd" idlwave-shell-execute-default-command-line t] |
| 4205 | ["Edit Default Cmd" idlwave-shell-edit-default-command-line t]) | 4298 | ["Edit Default Cmd" idlwave-shell-edit-default-command-line t]) |
| 4206 | ("Breakpoints" | 4299 | ("Breakpoints" |
| 4207 | ["Set Breakpoint" idlwave-shell-break-here | 4300 | ["Set Breakpoint" idlwave-shell-break-here |
| 4208 | :keys "C-c C-d C-c" :active (eq major-mode 'idlwave-mode)] | 4301 | :keys "C-c C-d C-c" :active (eq major-mode 'idlwave-mode)] |
| 4209 | ("Set Special Breakpoint" | 4302 | ("Set Special Breakpoint" |
| 4210 | ["Set After Count Breakpoint" | 4303 | ["Set After Count Breakpoint" |
| @@ -4215,16 +4308,16 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4215 | ["Set Condition Breakpoint" | 4308 | ["Set Condition Breakpoint" |
| 4216 | (idlwave-shell-break-here '(4)) | 4309 | (idlwave-shell-break-here '(4)) |
| 4217 | :active (eq major-mode 'idlwave-mode)]) | 4310 | :active (eq major-mode 'idlwave-mode)]) |
| 4218 | ["Break in Module" idlwave-shell-break-in | 4311 | ["Break in Module" idlwave-shell-break-in |
| 4219 | :keys "C-c C-d C-i" :active (eq major-mode 'idlwave-mode)] | 4312 | :keys "C-c C-d C-i" :active (eq major-mode 'idlwave-mode)] |
| 4220 | ["Break in this Module" idlwave-shell-break-this-module | 4313 | ["Break in this Module" idlwave-shell-break-this-module |
| 4221 | :keys "C-c C-d C-j" :active (eq major-mode 'idlwave-mode)] | 4314 | :keys "C-c C-d C-j" :active (eq major-mode 'idlwave-mode)] |
| 4222 | ["Clear Breakpoint" idlwave-shell-clear-current-bp t] | 4315 | ["Clear Breakpoint" idlwave-shell-clear-current-bp t] |
| 4223 | ["Clear All Breakpoints" idlwave-shell-clear-all-bp t] | 4316 | ["Clear All Breakpoints" idlwave-shell-clear-all-bp t] |
| 4224 | ["Disable/Enable Breakpoint" idlwave-shell-toggle-enable-current-bp t] | 4317 | ["Disable/Enable Breakpoint" idlwave-shell-toggle-enable-current-bp t] |
| 4225 | ["Goto Previous Breakpoint" idlwave-shell-goto-previous-bp | 4318 | ["Goto Previous Breakpoint" idlwave-shell-goto-previous-bp |
| 4226 | :keys "C-c C-d [" :active (eq major-mode 'idlwave-mode)] | 4319 | :keys "C-c C-d [" :active (eq major-mode 'idlwave-mode)] |
| 4227 | ["Goto Next Breakpoint" idlwave-shell-goto-next-bp | 4320 | ["Goto Next Breakpoint" idlwave-shell-goto-next-bp |
| 4228 | :keys "C-c C-d ]" :active (eq major-mode 'idlwave-mode)] | 4321 | :keys "C-c C-d ]" :active (eq major-mode 'idlwave-mode)] |
| 4229 | ["List All Breakpoints" idlwave-shell-list-all-bp t] | 4322 | ["List All Breakpoints" idlwave-shell-list-all-bp t] |
| 4230 | ["Resync Breakpoints" idlwave-shell-bp-query t]) | 4323 | ["Resync Breakpoints" idlwave-shell-bp-query t]) |
| @@ -4256,38 +4349,38 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4256 | ["Redisplay and Sync" idlwave-shell-redisplay t]) | 4349 | ["Redisplay and Sync" idlwave-shell-redisplay t]) |
| 4257 | ("Show Commands" | 4350 | ("Show Commands" |
| 4258 | ["Everything" (if (eq idlwave-shell-show-commands 'everything) | 4351 | ["Everything" (if (eq idlwave-shell-show-commands 'everything) |
| 4259 | (progn | 4352 | (progn |
| 4260 | (setq idlwave-shell-show-commands | 4353 | (setq idlwave-shell-show-commands |
| 4261 | (get 'idlwave-shell-show-commands 'last-val)) | 4354 | (get 'idlwave-shell-show-commands 'last-val)) |
| 4262 | (put 'idlwave-shell-show-commands 'last-val nil)) | 4355 | (put 'idlwave-shell-show-commands 'last-val nil)) |
| 4263 | (put 'idlwave-shell-show-commands 'last-val | 4356 | (put 'idlwave-shell-show-commands 'last-val |
| 4264 | idlwave-shell-show-commands) | 4357 | idlwave-shell-show-commands) |
| 4265 | (setq idlwave-shell-show-commands 'everything)) | 4358 | (setq idlwave-shell-show-commands 'everything)) |
| 4266 | :style toggle :selected (and (not (listp idlwave-shell-show-commands)) | 4359 | :style toggle :selected (and (not (listp idlwave-shell-show-commands)) |
| 4267 | (eq idlwave-shell-show-commands | 4360 | (eq idlwave-shell-show-commands |
| 4268 | 'everything))] | 4361 | 'everything))] |
| 4269 | "--" | 4362 | "--" |
| 4270 | ["Compiling Commands" (idlwave-shell-add-or-remove-show 'run) | 4363 | ["Compiling Commands" (idlwave-shell-add-or-remove-show 'run) |
| 4271 | :style toggle | 4364 | :style toggle |
| 4272 | :selected (not (idlwave-shell-hide-p | 4365 | :selected (not (idlwave-shell-hide-p |
| 4273 | 'run | 4366 | 'run |
| 4274 | (get 'idlwave-shell-show-commands 'last-val))) | 4367 | (get 'idlwave-shell-show-commands 'last-val))) |
| 4275 | :active (not (eq idlwave-shell-show-commands 'everything))] | 4368 | :active (not (eq idlwave-shell-show-commands 'everything))] |
| 4276 | ["Breakpoint Commands" (idlwave-shell-add-or-remove-show 'breakpoint) | 4369 | ["Breakpoint Commands" (idlwave-shell-add-or-remove-show 'breakpoint) |
| 4277 | :style toggle | 4370 | :style toggle |
| 4278 | :selected (not (idlwave-shell-hide-p | 4371 | :selected (not (idlwave-shell-hide-p |
| 4279 | 'breakpoint | 4372 | 'breakpoint |
| 4280 | (get 'idlwave-shell-show-commands 'last-val))) | 4373 | (get 'idlwave-shell-show-commands 'last-val))) |
| 4281 | :active (not (eq idlwave-shell-show-commands 'everything))] | 4374 | :active (not (eq idlwave-shell-show-commands 'everything))] |
| 4282 | ["Debug Commands" (idlwave-shell-add-or-remove-show 'debug) | 4375 | ["Debug Commands" (idlwave-shell-add-or-remove-show 'debug) |
| 4283 | :style toggle | 4376 | :style toggle |
| 4284 | :selected (not (idlwave-shell-hide-p | 4377 | :selected (not (idlwave-shell-hide-p |
| 4285 | 'debug | 4378 | 'debug |
| 4286 | (get 'idlwave-shell-show-commands 'last-val))) | 4379 | (get 'idlwave-shell-show-commands 'last-val))) |
| 4287 | :active (not (eq idlwave-shell-show-commands 'everything))] | 4380 | :active (not (eq idlwave-shell-show-commands 'everything))] |
| 4288 | ["Miscellaneous Commands" (idlwave-shell-add-or-remove-show 'misc) | 4381 | ["Miscellaneous Commands" (idlwave-shell-add-or-remove-show 'misc) |
| 4289 | :style toggle | 4382 | :style toggle |
| 4290 | :selected (not (idlwave-shell-hide-p | 4383 | :selected (not (idlwave-shell-hide-p |
| 4291 | 'misc | 4384 | 'misc |
| 4292 | (get 'idlwave-shell-show-commands 'last-val))) | 4385 | (get 'idlwave-shell-show-commands 'last-val))) |
| 4293 | :active (not (eq idlwave-shell-show-commands 'everything))]) | 4386 | :active (not (eq idlwave-shell-show-commands 'everything))]) |
| @@ -4301,7 +4394,7 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4301 | :style toggle :selected idlwave-shell-use-input-mode-magic]) | 4394 | :style toggle :selected idlwave-shell-use-input-mode-magic]) |
| 4302 | "--" | 4395 | "--" |
| 4303 | ["Update Working Dir" idlwave-shell-resync-dirs t] | 4396 | ["Update Working Dir" idlwave-shell-resync-dirs t] |
| 4304 | ["Save Path Info" | 4397 | ["Save Path Info" |
| 4305 | (idlwave-shell-send-command idlwave-shell-path-query | 4398 | (idlwave-shell-send-command idlwave-shell-path-query |
| 4306 | 'idlwave-shell-get-path-info | 4399 | 'idlwave-shell-get-path-info |
| 4307 | 'hide) | 4400 | 'hide) |
| @@ -4313,7 +4406,7 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4313 | 4406 | ||
| 4314 | (if (or (featurep 'easymenu) (load "easymenu" t)) | 4407 | (if (or (featurep 'easymenu) (load "easymenu" t)) |
| 4315 | (progn | 4408 | (progn |
| 4316 | (easy-menu-define | 4409 | (easy-menu-define |
| 4317 | idlwave-mode-debug-menu idlwave-mode-map "IDL debugging menus" | 4410 | idlwave-mode-debug-menu idlwave-mode-map "IDL debugging menus" |
| 4318 | idlwave-shell-menu-def) | 4411 | idlwave-shell-menu-def) |
| 4319 | (easy-menu-define | 4412 | (easy-menu-define |
| @@ -4333,7 +4426,7 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4333 | (defvar idlwave-shell-bp-glyph nil | 4426 | (defvar idlwave-shell-bp-glyph nil |
| 4334 | "The glyphs to mark breakpoint lines in the source code.") | 4427 | "The glyphs to mark breakpoint lines in the source code.") |
| 4335 | 4428 | ||
| 4336 | (let ((image-alist | 4429 | (let ((image-alist |
| 4337 | '((bp . "/* XPM */ | 4430 | '((bp . "/* XPM */ |
| 4338 | static char * file[] = { | 4431 | static char * file[] = { |
| 4339 | \"14 12 3 1\", | 4432 | \"14 12 3 1\", |
| @@ -4466,7 +4559,7 @@ static char * file[] = { | |||
| 4466 | \" .XXXX. \", | 4559 | \" .XXXX. \", |
| 4467 | \" .... \", | 4560 | \" .... \", |
| 4468 | \" \"};"))) im-cons im) | 4561 | \" \"};"))) im-cons im) |
| 4469 | 4562 | ||
| 4470 | (while (setq im-cons (pop image-alist)) | 4563 | (while (setq im-cons (pop image-alist)) |
| 4471 | (setq im (cond ((and (featurep 'xemacs) | 4564 | (setq im (cond ((and (featurep 'xemacs) |
| 4472 | (featurep 'xpm)) | 4565 | (featurep 'xpm)) |
| @@ -4479,7 +4572,7 @@ static char * file[] = { | |||
| 4479 | ((and (not (featurep 'xemacs)) | 4572 | ((and (not (featurep 'xemacs)) |
| 4480 | (fboundp 'image-type-available-p) | 4573 | (fboundp 'image-type-available-p) |
| 4481 | (image-type-available-p 'xpm)) | 4574 | (image-type-available-p 'xpm)) |
| 4482 | (list 'image :type 'xpm :data (cdr im-cons) | 4575 | (list 'image :type 'xpm :data (cdr im-cons) |
| 4483 | :ascent 'center)) | 4576 | :ascent 'center)) |
| 4484 | (t nil))) | 4577 | (t nil))) |
| 4485 | (if im (push (cons (car im-cons) im) idlwave-shell-bp-glyph)))) | 4578 | (if im (push (cons (car im-cons) im) idlwave-shell-bp-glyph)))) |
| @@ -4489,7 +4582,7 @@ static char * file[] = { | |||
| 4489 | 4582 | ||
| 4490 | ;;; Load the toolbar when wanted by the user. | 4583 | ;;; Load the toolbar when wanted by the user. |
| 4491 | 4584 | ||
| 4492 | (autoload 'idlwave-toolbar-toggle "idlw-toolbar" | 4585 | (autoload 'idlwave-toolbar-toggle "idlw-toolbar" |
| 4493 | "Toggle the IDLWAVE toolbar") | 4586 | "Toggle the IDLWAVE toolbar") |
| 4494 | (autoload 'idlwave-toolbar-add-everywhere "idlw-toolbar" | 4587 | (autoload 'idlwave-toolbar-add-everywhere "idlw-toolbar" |
| 4495 | "Add IDLWAVE toolbar") | 4588 | "Add IDLWAVE toolbar") |
diff --git a/lisp/progmodes/idlw-toolbar.el b/lisp/progmodes/idlw-toolbar.el index 48d1a24a091..dfd8c50529f 100644 --- a/lisp/progmodes/idlw-toolbar.el +++ b/lisp/progmodes/idlw-toolbar.el | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | ;;; idlw-toolbar.el --- a debugging toolbar for IDLWAVE | 1 | ;;; idlw-toolbar.el --- a debugging toolbar for IDLWAVE |
| 2 | ;; Copyright (c) 1999, 2000, 2001,2002 Free Software Foundation | 2 | ;; Copyright (c) 1999, 2000, 2001,2002,2004 Free Software Foundation |
| 3 | 3 | ||
| 4 | ;; Author: Carsten Dominik <dominik@astro.uva.nl> | 4 | ;; Author: Carsten Dominik <dominik@astro.uva.nl> |
| 5 | ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu> | 5 | ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu> |
| 6 | ;; Version: 5.5 | 6 | ;; Version: 5.7_22 |
| 7 | ;; Keywords: processes | 7 | ;; Keywords: processes |
| 8 | 8 | ||
| 9 | ;; This file is part of GNU Emacs. | 9 | ;; This file is part of GNU Emacs. |
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el index 273c3296180..a54174c0f5a 100644 --- a/lisp/progmodes/idlwave.el +++ b/lisp/progmodes/idlwave.el | |||
| @@ -1,12 +1,12 @@ | |||
| 1 | ;; idlwave.el --- IDL editing mode for GNU Emacs | 1 | ;; idlwave.el --- IDL editing mode for GNU Emacs |
| 2 | ;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005 | 2 | ;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005 |
| 3 | ;; Free Software Foundation | 3 | ;; Free Software Foundation |
| 4 | 4 | ||
| 5 | ;; Authors: J.D. Smith <jdsmith@as.arizona.edu> | 5 | ;; Authors: J.D. Smith <jdsmith@as.arizona.edu> |
| 6 | ;; Carsten Dominik <dominik@science.uva.nl> | 6 | ;; Carsten Dominik <dominik@science.uva.nl> |
| 7 | ;; Chris Chase <chase@att.com> | 7 | ;; Chris Chase <chase@att.com> |
| 8 | ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu> | 8 | ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu> |
| 9 | ;; Version: 5.5 | 9 | ;; Version: 5.7_22 |
| 10 | ;; Keywords: languages | 10 | ;; Keywords: languages |
| 11 | 11 | ||
| 12 | ;; This file is part of GNU Emacs. | 12 | ;; This file is part of GNU Emacs. |
| @@ -28,6 +28,8 @@ | |||
| 28 | 28 | ||
| 29 | ;;; Commentary: | 29 | ;;; Commentary: |
| 30 | 30 | ||
| 31 | ;; IDLWAVE enables feature-rich development and interaction with IDL. | ||
| 32 | |||
| 31 | ;; In the remotely distant past, based on pascal.el, though bears | 33 | ;; In the remotely distant past, based on pascal.el, though bears |
| 32 | ;; little resemblance to it now. | 34 | ;; little resemblance to it now. |
| 33 | ;; | 35 | ;; |
| @@ -111,7 +113,7 @@ | |||
| 111 | ;; IDLWAVE support for the IDL-derived PV-WAVE CL language of Visual | 113 | ;; IDLWAVE support for the IDL-derived PV-WAVE CL language of Visual |
| 112 | ;; Numerics, Inc. is growing less and less complete as the two | 114 | ;; Numerics, Inc. is growing less and less complete as the two |
| 113 | ;; languages grow increasingly apart. The mode probably shouldn't | 115 | ;; languages grow increasingly apart. The mode probably shouldn't |
| 114 | ;; even have "WAVE" in it's title, but it's catchy, and was required | 116 | ;; even have "WAVE" in its title, but it's catchy, and was required |
| 115 | ;; to avoid conflict with the CORBA idl.el mode. Caveat WAVEor. | 117 | ;; to avoid conflict with the CORBA idl.el mode. Caveat WAVEor. |
| 116 | ;; | 118 | ;; |
| 117 | ;; Moving the point backwards in conjunction with abbrev expansion | 119 | ;; Moving the point backwards in conjunction with abbrev expansion |
| @@ -159,6 +161,11 @@ | |||
| 159 | (unless (fboundp 'char-valid-p) | 161 | (unless (fboundp 'char-valid-p) |
| 160 | (defalias 'char-valid-p 'characterp)) | 162 | (defalias 'char-valid-p 'characterp)) |
| 161 | 163 | ||
| 164 | (if (not (fboundp 'cancel-timer)) | ||
| 165 | (condition-case nil | ||
| 166 | (require 'timer) | ||
| 167 | (error nil))) | ||
| 168 | |||
| 162 | (eval-and-compile | 169 | (eval-and-compile |
| 163 | ;; Kludge to allow `defcustom' for Emacs 19. | 170 | ;; Kludge to allow `defcustom' for Emacs 19. |
| 164 | (condition-case () (require 'custom) (error nil)) | 171 | (condition-case () (require 'custom) (error nil)) |
| @@ -170,7 +177,7 @@ | |||
| 170 | `(defvar ,var ,value ,doc)))) | 177 | `(defvar ,var ,value ,doc)))) |
| 171 | 178 | ||
| 172 | (defgroup idlwave nil | 179 | (defgroup idlwave nil |
| 173 | "Major mode for editing IDL .pro files" | 180 | "Major mode for editing IDL .pro files." |
| 174 | :tag "IDLWAVE" | 181 | :tag "IDLWAVE" |
| 175 | :link '(url-link :tag "Home Page" | 182 | :link '(url-link :tag "Home Page" |
| 176 | "http://idlwave.org") | 183 | "http://idlwave.org") |
| @@ -1377,7 +1384,7 @@ Normally a space.") | |||
| 1377 | "Character which is inserted as a last character on previous line by | 1384 | "Character which is inserted as a last character on previous line by |
| 1378 | \\[idlwave-split-line] to begin a continuation line. Normally $.") | 1385 | \\[idlwave-split-line] to begin a continuation line. Normally $.") |
| 1379 | 1386 | ||
| 1380 | (defconst idlwave-mode-version "5.5") | 1387 | (defconst idlwave-mode-version "5.7_22") |
| 1381 | 1388 | ||
| 1382 | (defmacro idlwave-keyword-abbrev (&rest args) | 1389 | (defmacro idlwave-keyword-abbrev (&rest args) |
| 1383 | "Creates a function for abbrev hooks to call `idlwave-check-abbrev' with args." | 1390 | "Creates a function for abbrev hooks to call `idlwave-check-abbrev' with args." |
| @@ -1484,12 +1491,13 @@ Capitalize system variables - action only | |||
| 1484 | ;; Add action | 1491 | ;; Add action |
| 1485 | (let* ((table (if select 'idlwave-indent-action-table | 1492 | (let* ((table (if select 'idlwave-indent-action-table |
| 1486 | 'idlwave-indent-expand-table)) | 1493 | 'idlwave-indent-expand-table)) |
| 1487 | (cell (assoc key (eval table)))) | 1494 | (table-key (regexp-quote key)) |
| 1495 | (cell (assoc table-key (eval table)))) | ||
| 1488 | (if cell | 1496 | (if cell |
| 1489 | ;; Replace action command | 1497 | ;; Replace action command |
| 1490 | (setcdr cell cmd) | 1498 | (setcdr cell cmd) |
| 1491 | ;; New action | 1499 | ;; New action |
| 1492 | (set table (append (eval table) (list (cons key cmd))))))) | 1500 | (set table (append (eval table) (list (cons table-key cmd))))))) |
| 1493 | ;; Make key binding for action | 1501 | ;; Make key binding for action |
| 1494 | (if (or (and (null select) (= (length key) 1)) | 1502 | (if (or (and (null select) (= (length key) 1)) |
| 1495 | (equal select 'noaction) | 1503 | (equal select 'noaction) |
| @@ -1516,7 +1524,7 @@ Capitalize system variables - action only | |||
| 1516 | (define-key idlwave-mode-map "\C-c{" 'idlwave-beginning-of-block) | 1524 | (define-key idlwave-mode-map "\C-c{" 'idlwave-beginning-of-block) |
| 1517 | (define-key idlwave-mode-map "\C-c}" 'idlwave-end-of-block) | 1525 | (define-key idlwave-mode-map "\C-c}" 'idlwave-end-of-block) |
| 1518 | (define-key idlwave-mode-map "\C-c]" 'idlwave-close-block) | 1526 | (define-key idlwave-mode-map "\C-c]" 'idlwave-close-block) |
| 1519 | (define-key idlwave-mode-map "\M-\C-h" 'idlwave-mark-subprogram) | 1527 | (define-key idlwave-mode-map [(meta control h)] 'idlwave-mark-subprogram) |
| 1520 | (define-key idlwave-mode-map "\M-\C-n" 'idlwave-forward-block) | 1528 | (define-key idlwave-mode-map "\M-\C-n" 'idlwave-forward-block) |
| 1521 | (define-key idlwave-mode-map "\M-\C-p" 'idlwave-backward-block) | 1529 | (define-key idlwave-mode-map "\M-\C-p" 'idlwave-backward-block) |
| 1522 | (define-key idlwave-mode-map "\M-\C-d" 'idlwave-down-block) | 1530 | (define-key idlwave-mode-map "\M-\C-d" 'idlwave-down-block) |
| @@ -1575,6 +1583,7 @@ Capitalize system variables - action only | |||
| 1575 | (autoload 'idlwave-shell-run-region "idlw-shell" | 1583 | (autoload 'idlwave-shell-run-region "idlw-shell" |
| 1576 | "Compile and run the region." t) | 1584 | "Compile and run the region." t) |
| 1577 | (define-key idlwave-mode-map "\C-c\C-v" 'idlwave-find-module) | 1585 | (define-key idlwave-mode-map "\C-c\C-v" 'idlwave-find-module) |
| 1586 | (define-key idlwave-mode-map "\C-c\C-t" 'idlwave-find-module-this-file) | ||
| 1578 | (define-key idlwave-mode-map "\C-c?" 'idlwave-routine-info) | 1587 | (define-key idlwave-mode-map "\C-c?" 'idlwave-routine-info) |
| 1579 | (define-key idlwave-mode-map "\M-?" 'idlwave-context-help) | 1588 | (define-key idlwave-mode-map "\M-?" 'idlwave-context-help) |
| 1580 | (define-key idlwave-mode-map [(control meta ?\?)] 'idlwave-online-help) | 1589 | (define-key idlwave-mode-map [(control meta ?\?)] 'idlwave-online-help) |
| @@ -1702,6 +1711,8 @@ idlwave-mode-abbrev-table unless TABLE is non-nil." | |||
| 1702 | (idlwave-define-abbrev "s" "size()" (idlwave-keyword-abbrev 1)) | 1711 | (idlwave-define-abbrev "s" "size()" (idlwave-keyword-abbrev 1)) |
| 1703 | (idlwave-define-abbrev "wi" "widget_info()" (idlwave-keyword-abbrev 1)) | 1712 | (idlwave-define-abbrev "wi" "widget_info()" (idlwave-keyword-abbrev 1)) |
| 1704 | (idlwave-define-abbrev "wc" "widget_control," (idlwave-keyword-abbrev 0)) | 1713 | (idlwave-define-abbrev "wc" "widget_control," (idlwave-keyword-abbrev 0)) |
| 1714 | (idlwave-define-abbrev "pv" "ptr_valid()" (idlwave-keyword-abbrev 1)) | ||
| 1715 | (idlwave-define-abbrev "ipv" "if ptr_valid() then" (idlwave-keyword-abbrev 6)) | ||
| 1705 | 1716 | ||
| 1706 | ;; This section is reserved words only. (From IDL user manual) | 1717 | ;; This section is reserved words only. (From IDL user manual) |
| 1707 | ;; | 1718 | ;; |
| @@ -1756,7 +1767,7 @@ idlwave-mode-abbrev-table unless TABLE is non-nil." | |||
| 1756 | 1767 | ||
| 1757 | ;;;###autoload | 1768 | ;;;###autoload |
| 1758 | (defun idlwave-mode () | 1769 | (defun idlwave-mode () |
| 1759 | "Major mode for editing IDL source files (version 5.5). | 1770 | "Major mode for editing IDL source files (version 5.7_22). |
| 1760 | 1771 | ||
| 1761 | The main features of this mode are | 1772 | The main features of this mode are |
| 1762 | 1773 | ||
| @@ -1935,15 +1946,10 @@ The main features of this mode are | |||
| 1935 | 'idlwave-prev-index-position) | 1946 | 'idlwave-prev-index-position) |
| 1936 | 1947 | ||
| 1937 | ;; Make a local post-command-hook and add our hook to it | 1948 | ;; Make a local post-command-hook and add our hook to it |
| 1938 | ;; NB: `make-local-hook' needed for older/alternative Emacs compatibility | ||
| 1939 | (make-local-hook 'post-command-hook) | ||
| 1940 | (add-hook 'post-command-hook 'idlwave-command-hook nil 'local) | 1949 | (add-hook 'post-command-hook 'idlwave-command-hook nil 'local) |
| 1941 | 1950 | ||
| 1942 | ;; Make local hooks for buffer updates | 1951 | ;; Make local hooks for buffer updates |
| 1943 | ;; NB: `make-local-hook' needed for older/alternative Emacs compatibility | ||
| 1944 | (make-local-hook 'kill-buffer-hook) | ||
| 1945 | (add-hook 'kill-buffer-hook 'idlwave-kill-buffer-update nil 'local) | 1952 | (add-hook 'kill-buffer-hook 'idlwave-kill-buffer-update nil 'local) |
| 1946 | (make-local-hook 'after-save-hook) | ||
| 1947 | (add-hook 'after-save-hook 'idlwave-save-buffer-update nil 'local) | 1953 | (add-hook 'after-save-hook 'idlwave-save-buffer-update nil 'local) |
| 1948 | (add-hook 'after-save-hook 'idlwave-revoke-license-to-kill nil 'local) | 1954 | (add-hook 'after-save-hook 'idlwave-revoke-license-to-kill nil 'local) |
| 1949 | 1955 | ||
| @@ -2696,7 +2702,7 @@ See `idlwave-surround'." | |||
| 2696 | (re-search-backward "\\(#\\)\\=" nil t)) | 2702 | (re-search-backward "\\(#\\)\\=" nil t)) |
| 2697 | (setq len (1+ (length (match-string 1)))) | 2703 | (setq len (1+ (length (match-string 1)))) |
| 2698 | (when (re-search-backward an-ops nil t) | 2704 | (when (re-search-backward an-ops nil t) |
| 2699 | (setq begin nil) ; won't modify begin | 2705 | ;(setq begin nil) ; won't modify begin |
| 2700 | (setq len (1+ (length (match-string 1)))))))) | 2706 | (setq len (1+ (length (match-string 1)))))))) |
| 2701 | 2707 | ||
| 2702 | (if (eq t idlwave-pad-keyword) | 2708 | (if (eq t idlwave-pad-keyword) |
| @@ -4267,7 +4273,9 @@ This defines the function `idlwave-sintern-TAG' and the variable | |||
| 4267 | (defvar idlwave-user-catalog-routines nil | 4273 | (defvar idlwave-user-catalog-routines nil |
| 4268 | "Holds the procedure routine-info from the user scan.") | 4274 | "Holds the procedure routine-info from the user scan.") |
| 4269 | (defvar idlwave-library-catalog-routines nil | 4275 | (defvar idlwave-library-catalog-routines nil |
| 4270 | "Holds the procedure routine-info from the library catalog files.") | 4276 | "Holds the procedure routine-info from the .idlwave_catalog library files.") |
| 4277 | (defvar idlwave-library-catalog-libname nil | ||
| 4278 | "Name of library catalog loaded from .idlwave_catalog files.") | ||
| 4271 | (defvar idlwave-path-alist nil | 4279 | (defvar idlwave-path-alist nil |
| 4272 | "Alist with !PATH directories and zero or more flags if the dir has | 4280 | "Alist with !PATH directories and zero or more flags if the dir has |
| 4273 | been scanned in a user catalog ('user) or discovered in a library | 4281 | been scanned in a user catalog ('user) or discovered in a library |
| @@ -4384,6 +4392,8 @@ will re-read the catalog." | |||
| 4384 | 4392 | ||
| 4385 | 4393 | ||
| 4386 | (defvar idlwave-load-rinfo-idle-timer) | 4394 | (defvar idlwave-load-rinfo-idle-timer) |
| 4395 | (defvar idlwave-shell-path-query) | ||
| 4396 | |||
| 4387 | (defun idlwave-update-routine-info (&optional arg no-concatenate) | 4397 | (defun idlwave-update-routine-info (&optional arg no-concatenate) |
| 4388 | "Update the internal routine-info lists. | 4398 | "Update the internal routine-info lists. |
| 4389 | These lists are used by `idlwave-routine-info' (\\[idlwave-routine-info]) | 4399 | These lists are used by `idlwave-routine-info' (\\[idlwave-routine-info]) |
| @@ -4508,6 +4518,8 @@ information updated immediately, leave NO-CONCATENATE nil." | |||
| 4508 | nil 'idlwave-load-rinfo-next-step))) | 4518 | nil 'idlwave-load-rinfo-next-step))) |
| 4509 | (error nil)))) | 4519 | (error nil)))) |
| 4510 | 4520 | ||
| 4521 | (defvar idlwave-library-routines nil "Obsolete variable.") | ||
| 4522 | |||
| 4511 | (defun idlwave-load-rinfo-next-step () | 4523 | (defun idlwave-load-rinfo-next-step () |
| 4512 | (let ((inhibit-quit t) | 4524 | (let ((inhibit-quit t) |
| 4513 | (arr idlwave-load-rinfo-steps-done)) | 4525 | (arr idlwave-load-rinfo-steps-done)) |
| @@ -4816,12 +4828,15 @@ information updated immediately, leave NO-CONCATENATE nil." | |||
| 4816 | 4828 | ||
| 4817 | (defun idlwave-sys-dir () | 4829 | (defun idlwave-sys-dir () |
| 4818 | "Return the syslib directory, or a dummy that never matches." | 4830 | "Return the syslib directory, or a dummy that never matches." |
| 4819 | (if (string= idlwave-system-directory "") | 4831 | (cond |
| 4820 | "@@@@@@@@" | 4832 | ((and idlwave-system-directory |
| 4821 | idlwave-system-directory)) | 4833 | (not (string= idlwave-system-directory ""))) |
| 4834 | idlwave-system-directory) | ||
| 4835 | ((getenv "IDL_DIR")) | ||
| 4836 | (t "@@@@@@@@"))) | ||
| 4837 | |||
| 4822 | 4838 | ||
| 4823 | 4839 | ||
| 4824 | (defvar idlwave-shell-path-query) | ||
| 4825 | (defun idlwave-create-user-catalog-file (&optional arg) | 4840 | (defun idlwave-create-user-catalog-file (&optional arg) |
| 4826 | "Scan all files on selected dirs of IDL search path for routine information. | 4841 | "Scan all files on selected dirs of IDL search path for routine information. |
| 4827 | 4842 | ||
| @@ -5140,6 +5155,9 @@ directories and save the routine info. | |||
| 5140 | 5155 | ||
| 5141 | ;;----- Scanning the library catalogs ------------------ | 5156 | ;;----- Scanning the library catalogs ------------------ |
| 5142 | 5157 | ||
| 5158 | |||
| 5159 | |||
| 5160 | |||
| 5143 | (defun idlwave-scan-library-catalogs (&optional message-base no-load) | 5161 | (defun idlwave-scan-library-catalogs (&optional message-base no-load) |
| 5144 | "Scan for library catalog files (.idlwave_catalog) and ingest. | 5162 | "Scan for library catalog files (.idlwave_catalog) and ingest. |
| 5145 | 5163 | ||
| @@ -5488,13 +5506,15 @@ When we force a method or a method keyword, CLASS can specify the class." | |||
| 5488 | (isa (format "procedure%s-keyword" (if class "-method" ""))) | 5506 | (isa (format "procedure%s-keyword" (if class "-method" ""))) |
| 5489 | (entry (idlwave-best-rinfo-assq | 5507 | (entry (idlwave-best-rinfo-assq |
| 5490 | name 'pro class (idlwave-routines))) | 5508 | name 'pro class (idlwave-routines))) |
| 5509 | (system (if entry (eq (car (nth 3 entry)) 'system))) | ||
| 5491 | (list (idlwave-entry-keywords entry 'do-link))) | 5510 | (list (idlwave-entry-keywords entry 'do-link))) |
| 5492 | (unless (or entry (eq class t)) | 5511 | (unless (or entry (eq class t)) |
| 5493 | (error "Nothing known about procedure %s" | 5512 | (error "Nothing known about procedure %s" |
| 5494 | (idlwave-make-full-name class name))) | 5513 | (idlwave-make-full-name class name))) |
| 5495 | (setq list (idlwave-fix-keywords name 'pro class list super-classes)) | 5514 | (setq list (idlwave-fix-keywords name 'pro class list |
| 5515 | super-classes system)) | ||
| 5496 | (unless list (error "No keywords available for procedure %s" | 5516 | (unless list (error "No keywords available for procedure %s" |
| 5497 | (idlwave-make-full-name class name))) | 5517 | (idlwave-make-full-name class name))) |
| 5498 | (setq idlwave-completion-help-info | 5518 | (setq idlwave-completion-help-info |
| 5499 | (list 'keyword name type-selector class-selector entry super-classes)) | 5519 | (list 'keyword name type-selector class-selector entry super-classes)) |
| 5500 | (idlwave-complete-in-buffer | 5520 | (idlwave-complete-in-buffer |
| @@ -5519,12 +5539,14 @@ When we force a method or a method keyword, CLASS can specify the class." | |||
| 5519 | (isa (format "function%s-keyword" (if class "-method" ""))) | 5539 | (isa (format "function%s-keyword" (if class "-method" ""))) |
| 5520 | (entry (idlwave-best-rinfo-assq | 5540 | (entry (idlwave-best-rinfo-assq |
| 5521 | name 'fun class (idlwave-routines))) | 5541 | name 'fun class (idlwave-routines))) |
| 5542 | (system (if entry (eq (car (nth 3 entry)) 'system))) | ||
| 5522 | (list (idlwave-entry-keywords entry 'do-link)) | 5543 | (list (idlwave-entry-keywords entry 'do-link)) |
| 5523 | msg-name) | 5544 | msg-name) |
| 5524 | (unless (or entry (eq class t)) | 5545 | (unless (or entry (eq class t)) |
| 5525 | (error "Nothing known about function %s" | 5546 | (error "Nothing known about function %s" |
| 5526 | (idlwave-make-full-name class name))) | 5547 | (idlwave-make-full-name class name))) |
| 5527 | (setq list (idlwave-fix-keywords name 'fun class list super-classes)) | 5548 | (setq list (idlwave-fix-keywords name 'fun class list |
| 5549 | super-classes system)) | ||
| 5528 | ;; OBJ_NEW: Messages mention the proper Init method | 5550 | ;; OBJ_NEW: Messages mention the proper Init method |
| 5529 | (setq msg-name (if (and (null class) | 5551 | (setq msg-name (if (and (null class) |
| 5530 | (string= (upcase name) "OBJ_NEW")) | 5552 | (string= (upcase name) "OBJ_NEW")) |
| @@ -5532,7 +5554,7 @@ When we force a method or a method keyword, CLASS can specify the class." | |||
| 5532 | "::Init (via OBJ_NEW)") | 5554 | "::Init (via OBJ_NEW)") |
| 5533 | (idlwave-make-full-name class name))) | 5555 | (idlwave-make-full-name class name))) |
| 5534 | (unless list (error "No keywords available for function %s" | 5556 | (unless list (error "No keywords available for function %s" |
| 5535 | msg-name)) | 5557 | msg-name)) |
| 5536 | (setq idlwave-completion-help-info | 5558 | (setq idlwave-completion-help-info |
| 5537 | (list 'keyword name type-selector class-selector nil super-classes)) | 5559 | (list 'keyword name type-selector class-selector nil super-classes)) |
| 5538 | (idlwave-complete-in-buffer | 5560 | (idlwave-complete-in-buffer |
| @@ -6155,7 +6177,7 @@ This function is not general, can only be used for completion stuff." | |||
| 6155 | ((memq (preceding-char) '(?\; ?\$)) (throw 'exit nil)) | 6177 | ((memq (preceding-char) '(?\; ?\$)) (throw 'exit nil)) |
| 6156 | ((eq (preceding-char) ?\n) | 6178 | ((eq (preceding-char) ?\n) |
| 6157 | (beginning-of-line 0) | 6179 | (beginning-of-line 0) |
| 6158 | (if (looking-at "\\([^;\n]*\\)\\$[ \t]*\\(;[^\n]*\\)?\n") | 6180 | (if (looking-at "\\([^\n]*\\)\\$[ \t]*\\(;[^\n]*\\)?\n") |
| 6159 | ;; continuation line | 6181 | ;; continuation line |
| 6160 | (goto-char (match-end 1)) | 6182 | (goto-char (match-end 1)) |
| 6161 | (throw 'exit nil))) | 6183 | (throw 'exit nil))) |
| @@ -7159,6 +7181,7 @@ Gets set in `idlw-rinfo.el'.") | |||
| 7159 | t)) ; return t to skip other completions | 7181 | t)) ; return t to skip other completions |
| 7160 | (t nil)))) | 7182 | (t nil)))) |
| 7161 | 7183 | ||
| 7184 | (defvar link) ;dynamic | ||
| 7162 | (defun idlwave-complete-sysvar-help (mode word) | 7185 | (defun idlwave-complete-sysvar-help (mode word) |
| 7163 | (let ((word (or (nth 1 idlwave-completion-help-info) word)) | 7186 | (let ((word (or (nth 1 idlwave-completion-help-info) word)) |
| 7164 | (entry (assoc word idlwave-system-variables-alist))) | 7187 | (entry (assoc word idlwave-system-variables-alist))) |
| @@ -7462,6 +7485,10 @@ With ARG, enforce query for the class of object methods." | |||
| 7462 | '(idlwave-update-routine-info) | 7485 | '(idlwave-update-routine-info) |
| 7463 | nil t)))))) | 7486 | nil t)))))) |
| 7464 | 7487 | ||
| 7488 | (defun idlwave-find-module-this-file () | ||
| 7489 | (interactive) | ||
| 7490 | (idlwave-find-module '(4))) | ||
| 7491 | |||
| 7465 | (defun idlwave-find-module (&optional arg) | 7492 | (defun idlwave-find-module (&optional arg) |
| 7466 | "Find the source code of an IDL module. | 7493 | "Find the source code of an IDL module. |
| 7467 | Works for modules for which IDLWAVE has routine info available. The | 7494 | Works for modules for which IDLWAVE has routine info available. The |
| @@ -7662,10 +7689,12 @@ appropriate Init method." | |||
| 7662 | (idlwave-sintern-class class))))) | 7689 | (idlwave-sintern-class class))))) |
| 7663 | module)) | 7690 | module)) |
| 7664 | 7691 | ||
| 7665 | (defun idlwave-fix-keywords (name type class keywords &optional super-classes) | 7692 | (defun idlwave-fix-keywords (name type class keywords |
| 7693 | &optional super-classes system) | ||
| 7666 | "Update a list of keywords. | 7694 | "Update a list of keywords. |
| 7667 | Translate OBJ_NEW, adding all super-class keywords, or all keywords | 7695 | Translate OBJ_NEW, adding all super-class keywords, or all keywords |
| 7668 | from all classes if class equals t." | 7696 | from all classes if class equals t. If SYSTEM is non-nil, don't |
| 7697 | demand _EXTRA in the keyword list." | ||
| 7669 | (let ((case-fold-search t)) | 7698 | (let ((case-fold-search t)) |
| 7670 | 7699 | ||
| 7671 | ;; If this is the OBJ_NEW function, try to figure out the class and use | 7700 | ;; If this is the OBJ_NEW function, try to figure out the class and use |
| @@ -7708,8 +7737,10 @@ from all classes if class equals t." | |||
| 7708 | super-classes | 7737 | super-classes |
| 7709 | idlwave-keyword-class-inheritance | 7738 | idlwave-keyword-class-inheritance |
| 7710 | (stringp class) | 7739 | (stringp class) |
| 7711 | (or (assq (idlwave-sintern-keyword "_extra") keywords) | 7740 | (or |
| 7712 | (assq (idlwave-sintern-keyword "_ref_extra") keywords)) | 7741 | system |
| 7742 | (assq (idlwave-sintern-keyword "_extra") keywords) | ||
| 7743 | (assq (idlwave-sintern-keyword "_ref_extra") keywords)) | ||
| 7713 | ;; Check if one of the keyword-class regexps matches the name | 7744 | ;; Check if one of the keyword-class regexps matches the name |
| 7714 | (let ((regexps idlwave-keyword-class-inheritance) re) | 7745 | (let ((regexps idlwave-keyword-class-inheritance) re) |
| 7715 | (catch 'exit | 7746 | (catch 'exit |
| @@ -8048,7 +8079,8 @@ Optional args RIGHT and SHIFT indicate, if mouse-3 was used, and if SHIFT | |||
| 8048 | was pressed." | 8079 | was pressed." |
| 8049 | (interactive "e") | 8080 | (interactive "e") |
| 8050 | (if ev (mouse-set-point ev)) | 8081 | (if ev (mouse-set-point ev)) |
| 8051 | (let (data id name type class buf bufwin source word initial-class) | 8082 | (let (data id name type class buf bufwin source link keyword |
| 8083 | word initial-class) | ||
| 8052 | (setq data (get-text-property (point) 'data) | 8084 | (setq data (get-text-property (point) 'data) |
| 8053 | source (get-text-property (point) 'source) | 8085 | source (get-text-property (point) 'source) |
| 8054 | keyword (get-text-property (point) 'keyword) | 8086 | keyword (get-text-property (point) 'keyword) |
| @@ -8333,7 +8365,6 @@ routines, and may have been scanned." | |||
| 8333 | (setcar entry 'builtin)) | 8365 | (setcar entry 'builtin)) |
| 8334 | (sort alist 'idlwave-routine-twin-compare))) | 8366 | (sort alist 'idlwave-routine-twin-compare))) |
| 8335 | 8367 | ||
| 8336 | (defvar name) | ||
| 8337 | (defvar type) | 8368 | (defvar type) |
| 8338 | (defvar class) | 8369 | (defvar class) |
| 8339 | (defvar idlwave-sort-prefer-buffer-info t | 8370 | (defvar idlwave-sort-prefer-buffer-info t |
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el index e4d36244537..252dca5624b 100644 --- a/lisp/progmodes/pascal.el +++ b/lisp/progmodes/pascal.el | |||
| @@ -61,7 +61,7 @@ | |||
| 61 | ;;; Code: | 61 | ;;; Code: |
| 62 | 62 | ||
| 63 | (defgroup pascal nil | 63 | (defgroup pascal nil |
| 64 | "Major mode for editing Pascal source in Emacs" | 64 | "Major mode for editing Pascal source in Emacs." |
| 65 | :group 'languages) | 65 | :group 'languages) |
| 66 | 66 | ||
| 67 | (defvar pascal-mode-abbrev-table nil | 67 | (defvar pascal-mode-abbrev-table nil |
diff --git a/lisp/progmodes/prolog.el b/lisp/progmodes/prolog.el index 73450dec61a..b6c4dd8c662 100644 --- a/lisp/progmodes/prolog.el +++ b/lisp/progmodes/prolog.el | |||
| @@ -31,7 +31,7 @@ | |||
| 31 | ;;; Code: | 31 | ;;; Code: |
| 32 | 32 | ||
| 33 | (defgroup prolog nil | 33 | (defgroup prolog nil |
| 34 | "Major mode for editing and running Prolog under Emacs" | 34 | "Major mode for editing and running Prolog under Emacs." |
| 35 | :group 'languages) | 35 | :group 'languages) |
| 36 | 36 | ||
| 37 | 37 | ||
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 3f556bdb695..d31ac29c01f 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el | |||
| @@ -70,7 +70,7 @@ | |||
| 70 | (autoload 'compilation-start "compile") | 70 | (autoload 'compilation-start "compile") |
| 71 | 71 | ||
| 72 | (defgroup python nil | 72 | (defgroup python nil |
| 73 | "Silly walks in the Python language" | 73 | "Silly walks in the Python language." |
| 74 | :group 'languages | 74 | :group 'languages |
| 75 | :version "22.1" | 75 | :version "22.1" |
| 76 | :link '(emacs-commentary-link "python")) | 76 | :link '(emacs-commentary-link "python")) |
| @@ -949,6 +949,7 @@ See `python-check-command' for the default." | |||
| 949 | (if name | 949 | (if name |
| 950 | (file-name-nondirectory name)))))))) | 950 | (file-name-nondirectory name)))))))) |
| 951 | (setq python-saved-check-command command) | 951 | (setq python-saved-check-command command) |
| 952 | (require 'compile) ;To define compilation-* variables. | ||
| 952 | (save-some-buffers (not compilation-ask-about-save) nil) | 953 | (save-some-buffers (not compilation-ask-about-save) nil) |
| 953 | (let ((compilation-error-regexp-alist | 954 | (let ((compilation-error-regexp-alist |
| 954 | (cons '("(\\([^,]+\\), line \\([0-9]+\\))" 1 2) | 955 | (cons '("(\\([^,]+\\), line \\([0-9]+\\))" 1 2) |
| @@ -1066,7 +1067,7 @@ For running multiple processes in multiple buffers, see `python-buffer'. | |||
| 1066 | ;; Still required by `comint-redirect-send-command', for instance | 1067 | ;; Still required by `comint-redirect-send-command', for instance |
| 1067 | ;; (and we need to match things like `>>> ... >>> '): | 1068 | ;; (and we need to match things like `>>> ... >>> '): |
| 1068 | (set (make-local-variable 'comint-prompt-regexp) | 1069 | (set (make-local-variable 'comint-prompt-regexp) |
| 1069 | (rx (and line-start (1+ (and (repeat 3 (any ">.")) ?\ ))))) | 1070 | (rx (and line-start (1+ (and (repeat 3 (any ">.")) ?\s))))) |
| 1070 | (set (make-local-variable 'compilation-error-regexp-alist) | 1071 | (set (make-local-variable 'compilation-error-regexp-alist) |
| 1071 | python-compilation-regexp-alist) | 1072 | python-compilation-regexp-alist) |
| 1072 | (compilation-shell-minor-mode 1)) | 1073 | (compilation-shell-minor-mode 1)) |
diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el index c792b59ad87..4df71e3a2a2 100644 --- a/lisp/progmodes/scheme.el +++ b/lisp/progmodes/scheme.el | |||
| @@ -82,7 +82,7 @@ | |||
| 82 | (modify-syntax-entry ?\n "> " st) | 82 | (modify-syntax-entry ?\n "> " st) |
| 83 | (modify-syntax-entry ?\f " " st) | 83 | (modify-syntax-entry ?\f " " st) |
| 84 | (modify-syntax-entry ?\r " " st) | 84 | (modify-syntax-entry ?\r " " st) |
| 85 | (modify-syntax-entry ? " " st) | 85 | (modify-syntax-entry ?\s " " st) |
| 86 | 86 | ||
| 87 | ;; These characters are delimiters but otherwise undefined. | 87 | ;; These characters are delimiters but otherwise undefined. |
| 88 | ;; Brackets and braces balance for editing convenience. | 88 | ;; Brackets and braces balance for editing convenience. |
| @@ -228,7 +228,7 @@ if that value is non-nil." | |||
| 228 | (run-mode-hooks 'scheme-mode-hook)) | 228 | (run-mode-hooks 'scheme-mode-hook)) |
| 229 | 229 | ||
| 230 | (defgroup scheme nil | 230 | (defgroup scheme nil |
| 231 | "Editing Scheme code" | 231 | "Editing Scheme code." |
| 232 | :group 'lisp) | 232 | :group 'lisp) |
| 233 | 233 | ||
| 234 | (defcustom scheme-mit-dialect t | 234 | (defcustom scheme-mit-dialect t |
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index 23d8374818e..faf98f6292f 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el | |||
| @@ -202,12 +202,12 @@ | |||
| 202 | 202 | ||
| 203 | 203 | ||
| 204 | (defgroup sh nil | 204 | (defgroup sh nil |
| 205 | "Shell programming utilities" | 205 | "Shell programming utilities." |
| 206 | :group 'unix | 206 | :group 'unix |
| 207 | :group 'languages) | 207 | :group 'languages) |
| 208 | 208 | ||
| 209 | (defgroup sh-script nil | 209 | (defgroup sh-script nil |
| 210 | "Shell script mode" | 210 | "Shell script mode." |
| 211 | :group 'sh | 211 | :group 'sh |
| 212 | :prefix "sh-") | 212 | :prefix "sh-") |
| 213 | 213 | ||
| @@ -2370,7 +2370,7 @@ If AND-MOVE is non-nil then move to end of word." | |||
| 2370 | (goto-char where)) | 2370 | (goto-char where)) |
| 2371 | (prog1 | 2371 | (prog1 |
| 2372 | (buffer-substring (point) | 2372 | (buffer-substring (point) |
| 2373 | (progn (skip-chars-forward "^ \t\n;")(point))) | 2373 | (progn (skip-chars-forward "^ \t\n;&")(point))) |
| 2374 | (unless and-move | 2374 | (unless and-move |
| 2375 | (goto-char start))))) | 2375 | (goto-char start))))) |
| 2376 | 2376 | ||
| @@ -3535,7 +3535,7 @@ The document is bounded by `sh-here-document-word'." | |||
| 3535 | (delim (replace-regexp-in-string "['\"]" "" | 3535 | (delim (replace-regexp-in-string "['\"]" "" |
| 3536 | sh-here-document-word))) | 3536 | sh-here-document-word))) |
| 3537 | (insert sh-here-document-word) | 3537 | (insert sh-here-document-word) |
| 3538 | (or (eolp) (looking-at "[ \t]") (insert ? )) | 3538 | (or (eolp) (looking-at "[ \t]") (insert ?\s)) |
| 3539 | (end-of-line 1) | 3539 | (end-of-line 1) |
| 3540 | (while | 3540 | (while |
| 3541 | (sh-quoted-p) | 3541 | (sh-quoted-p) |
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el index 9b819ceae00..1f2e7eb4863 100644 --- a/lisp/progmodes/sql.el +++ b/lisp/progmodes/sql.el | |||
| @@ -221,7 +221,7 @@ | |||
| 221 | ;;; Allow customization | 221 | ;;; Allow customization |
| 222 | 222 | ||
| 223 | (defgroup SQL nil | 223 | (defgroup SQL nil |
| 224 | "Running a SQL interpreter from within Emacs buffers" | 224 | "Running a SQL interpreter from within Emacs buffers." |
| 225 | :version "20.4" | 225 | :version "20.4" |
| 226 | :group 'processes) | 226 | :group 'processes) |
| 227 | 227 | ||
| @@ -2077,7 +2077,7 @@ Inserts SELECT or commas if appropriate." | |||
| 2077 | (insert ", ")) | 2077 | (insert ", ")) |
| 2078 | ;; else insert a space | 2078 | ;; else insert a space |
| 2079 | (t | 2079 | (t |
| 2080 | (if (eq (preceding-char) ? ) | 2080 | (if (eq (preceding-char) ?\s) |
| 2081 | nil | 2081 | nil |
| 2082 | (insert " "))))) | 2082 | (insert " "))))) |
| 2083 | ;; in any case, insert the column | 2083 | ;; in any case, insert the column |
diff --git a/lisp/progmodes/tcl.el b/lisp/progmodes/tcl.el index a3447befa20..2669369645f 100644 --- a/lisp/progmodes/tcl.el +++ b/lisp/progmodes/tcl.el | |||
| @@ -118,7 +118,7 @@ | |||
| 118 | ;; | 118 | ;; |
| 119 | 119 | ||
| 120 | (defgroup tcl nil | 120 | (defgroup tcl nil |
| 121 | "Major mode for editing Tcl source in Emacs" | 121 | "Major mode for editing Tcl source in Emacs." |
| 122 | :group 'languages) | 122 | :group 'languages) |
| 123 | 123 | ||
| 124 | (defcustom tcl-indent-level 4 | 124 | (defcustom tcl-indent-level 4 |
| @@ -1489,7 +1489,7 @@ styles." | |||
| 1489 | (unless (or (bolp) (tcl-real-command-p)) | 1489 | (unless (or (bolp) (tcl-real-command-p)) |
| 1490 | (insert ";") | 1490 | (insert ";") |
| 1491 | ;; Try and erase a non-significant char to keep charpos identical. | 1491 | ;; Try and erase a non-significant char to keep charpos identical. |
| 1492 | (if (memq (char-after) '(?\t ?\ )) (delete-char 1)))) | 1492 | (if (memq (char-after) '(?\t ?\s)) (delete-char 1)))) |
| 1493 | (funcall (default-value 'comment-indent-function))) | 1493 | (funcall (default-value 'comment-indent-function))) |
| 1494 | 1494 | ||
| 1495 | ;; The following was inspired by the Tcl editing mode written by | 1495 | ;; The following was inspired by the Tcl editing mode written by |
| @@ -1533,7 +1533,7 @@ The first line is assumed to look like \"#!.../program ...\"." | |||
| 1533 | (defun tcl-quote (string) | 1533 | (defun tcl-quote (string) |
| 1534 | "Quote STRING according to Tcl rules." | 1534 | "Quote STRING according to Tcl rules." |
| 1535 | (mapconcat (lambda (char) | 1535 | (mapconcat (lambda (char) |
| 1536 | (if (memq char '(?[ ?] ?{ ?} ?\\ ?\" ?$ ? ?\;)) | 1536 | (if (memq char '(?[ ?] ?{ ?} ?\\ ?\" ?$ ?\s ?\;)) |
| 1537 | (concat "\\" (char-to-string char)) | 1537 | (concat "\\" (char-to-string char)) |
| 1538 | (char-to-string char))) | 1538 | (char-to-string char))) |
| 1539 | string "")) | 1539 | string "")) |
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el index 54e7ab8a049..95d3d652d67 100644 --- a/lisp/progmodes/vhdl-mode.el +++ b/lisp/progmodes/vhdl-mode.el | |||
| @@ -1133,7 +1133,7 @@ If TO STRING is empty, the instance name is queried." | |||
| 1133 | 1133 | ||
| 1134 | 1134 | ||
| 1135 | (defgroup vhdl-testbench nil | 1135 | (defgroup vhdl-testbench nil |
| 1136 | "Customizations for testbench generation ." | 1136 | "Customizations for testbench generation." |
| 1137 | :group 'vhdl-port) | 1137 | :group 'vhdl-port) |
| 1138 | 1138 | ||
| 1139 | (defcustom vhdl-testbench-entity-name '(".*" . "\\&_tb") | 1139 | (defcustom vhdl-testbench-entity-name '(".*" . "\\&_tb") |
diff --git a/lisp/ps-print.el b/lisp/ps-print.el index e62ab644a1c..79215f2a8ad 100644 --- a/lisp/ps-print.el +++ b/lisp/ps-print.el | |||
| @@ -10,12 +10,12 @@ | |||
| 10 | ;; Maintainer: Kenichi Handa <handa@etl.go.jp> (multi-byte characters) | 10 | ;; Maintainer: Kenichi Handa <handa@etl.go.jp> (multi-byte characters) |
| 11 | ;; Vinicius Jose Latorre <viniciusjl@ig.com.br> | 11 | ;; Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 12 | ;; Keywords: wp, print, PostScript | 12 | ;; Keywords: wp, print, PostScript |
| 13 | ;; Time-stamp: <2005/03/19 00:40:12 vinicius> | 13 | ;; Time-stamp: <2005/06/27 00:57:22 vinicius> |
| 14 | ;; Version: 6.6.6 | 14 | ;; Version: 6.6.7 |
| 15 | ;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/ | 15 | ;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/ |
| 16 | 16 | ||
| 17 | (defconst ps-print-version "6.6.6" | 17 | (defconst ps-print-version "6.6.7" |
| 18 | "ps-print.el, v 6.6.6 <2005/03/19 vinicius> | 18 | "ps-print.el, v 6.6.7 <2005/06/27 vinicius> |
| 19 | 19 | ||
| 20 | Vinicius's last change version -- this file may have been edited as part of | 20 | Vinicius's last change version -- this file may have been edited as part of |
| 21 | Emacs without changes to the version number. When reporting bugs, please also | 21 | Emacs without changes to the version number. When reporting bugs, please also |
| @@ -1562,13 +1562,13 @@ Please send all bug fixes and enhancements to | |||
| 1562 | ;;; Interface to the command system | 1562 | ;;; Interface to the command system |
| 1563 | 1563 | ||
| 1564 | (defgroup postscript nil | 1564 | (defgroup postscript nil |
| 1565 | "PostScript Group" | 1565 | "PostScript Group." |
| 1566 | :tag "PostScript" | 1566 | :tag "PostScript" |
| 1567 | :version "20" | 1567 | :version "20" |
| 1568 | :group 'emacs) | 1568 | :group 'emacs) |
| 1569 | 1569 | ||
| 1570 | (defgroup ps-print nil | 1570 | (defgroup ps-print nil |
| 1571 | "PostScript generator for Emacs" | 1571 | "PostScript generator for Emacs." |
| 1572 | :link '(emacs-library-link :tag "Source Lisp File" "ps-print.el") | 1572 | :link '(emacs-library-link :tag "Source Lisp File" "ps-print.el") |
| 1573 | :prefix "ps-" | 1573 | :prefix "ps-" |
| 1574 | :version "20" | 1574 | :version "20" |
| @@ -1576,42 +1576,42 @@ Please send all bug fixes and enhancements to | |||
| 1576 | :group 'postscript) | 1576 | :group 'postscript) |
| 1577 | 1577 | ||
| 1578 | (defgroup ps-print-horizontal nil | 1578 | (defgroup ps-print-horizontal nil |
| 1579 | "Horizontal page layout" | 1579 | "Horizontal page layout." |
| 1580 | :prefix "ps-" | 1580 | :prefix "ps-" |
| 1581 | :tag "Horizontal" | 1581 | :tag "Horizontal" |
| 1582 | :version "20" | 1582 | :version "20" |
| 1583 | :group 'ps-print) | 1583 | :group 'ps-print) |
| 1584 | 1584 | ||
| 1585 | (defgroup ps-print-vertical nil | 1585 | (defgroup ps-print-vertical nil |
| 1586 | "Vertical page layout" | 1586 | "Vertical page layout." |
| 1587 | :prefix "ps-" | 1587 | :prefix "ps-" |
| 1588 | :tag "Vertical" | 1588 | :tag "Vertical" |
| 1589 | :version "20" | 1589 | :version "20" |
| 1590 | :group 'ps-print) | 1590 | :group 'ps-print) |
| 1591 | 1591 | ||
| 1592 | (defgroup ps-print-headers nil | 1592 | (defgroup ps-print-headers nil |
| 1593 | "Headers & footers layout" | 1593 | "Headers & footers layout." |
| 1594 | :prefix "ps-" | 1594 | :prefix "ps-" |
| 1595 | :tag "Header & Footer" | 1595 | :tag "Header & Footer" |
| 1596 | :version "20" | 1596 | :version "20" |
| 1597 | :group 'ps-print) | 1597 | :group 'ps-print) |
| 1598 | 1598 | ||
| 1599 | (defgroup ps-print-font nil | 1599 | (defgroup ps-print-font nil |
| 1600 | "Fonts customization" | 1600 | "Fonts customization." |
| 1601 | :prefix "ps-" | 1601 | :prefix "ps-" |
| 1602 | :tag "Font" | 1602 | :tag "Font" |
| 1603 | :version "20" | 1603 | :version "20" |
| 1604 | :group 'ps-print) | 1604 | :group 'ps-print) |
| 1605 | 1605 | ||
| 1606 | (defgroup ps-print-color nil | 1606 | (defgroup ps-print-color nil |
| 1607 | "Color customization" | 1607 | "Color customization." |
| 1608 | :prefix "ps-" | 1608 | :prefix "ps-" |
| 1609 | :tag "Color" | 1609 | :tag "Color" |
| 1610 | :version "20" | 1610 | :version "20" |
| 1611 | :group 'ps-print) | 1611 | :group 'ps-print) |
| 1612 | 1612 | ||
| 1613 | (defgroup ps-print-face nil | 1613 | (defgroup ps-print-face nil |
| 1614 | "Faces customization" | 1614 | "Faces customization." |
| 1615 | :prefix "ps-" | 1615 | :prefix "ps-" |
| 1616 | :tag "PS Faces" | 1616 | :tag "PS Faces" |
| 1617 | :version "20" | 1617 | :version "20" |
| @@ -1619,42 +1619,42 @@ Please send all bug fixes and enhancements to | |||
| 1619 | :group 'faces) | 1619 | :group 'faces) |
| 1620 | 1620 | ||
| 1621 | (defgroup ps-print-n-up nil | 1621 | (defgroup ps-print-n-up nil |
| 1622 | "N-up customization" | 1622 | "N-up customization." |
| 1623 | :prefix "ps-" | 1623 | :prefix "ps-" |
| 1624 | :tag "N-Up" | 1624 | :tag "N-Up" |
| 1625 | :version "20" | 1625 | :version "20" |
| 1626 | :group 'ps-print) | 1626 | :group 'ps-print) |
| 1627 | 1627 | ||
| 1628 | (defgroup ps-print-zebra nil | 1628 | (defgroup ps-print-zebra nil |
| 1629 | "Zebra customization" | 1629 | "Zebra customization." |
| 1630 | :prefix "ps-" | 1630 | :prefix "ps-" |
| 1631 | :tag "Zebra" | 1631 | :tag "Zebra" |
| 1632 | :version "20" | 1632 | :version "20" |
| 1633 | :group 'ps-print) | 1633 | :group 'ps-print) |
| 1634 | 1634 | ||
| 1635 | (defgroup ps-print-background nil | 1635 | (defgroup ps-print-background nil |
| 1636 | "Background customization" | 1636 | "Background customization." |
| 1637 | :prefix "ps-" | 1637 | :prefix "ps-" |
| 1638 | :tag "Background" | 1638 | :tag "Background" |
| 1639 | :version "20" | 1639 | :version "20" |
| 1640 | :group 'ps-print) | 1640 | :group 'ps-print) |
| 1641 | 1641 | ||
| 1642 | (defgroup ps-print-printer '((lpr custom-group)) | 1642 | (defgroup ps-print-printer '((lpr custom-group)) |
| 1643 | "Printer customization" | 1643 | "Printer customization." |
| 1644 | :prefix "ps-" | 1644 | :prefix "ps-" |
| 1645 | :tag "Printer" | 1645 | :tag "Printer" |
| 1646 | :version "20" | 1646 | :version "20" |
| 1647 | :group 'ps-print) | 1647 | :group 'ps-print) |
| 1648 | 1648 | ||
| 1649 | (defgroup ps-print-page nil | 1649 | (defgroup ps-print-page nil |
| 1650 | "Page customization" | 1650 | "Page customization." |
| 1651 | :prefix "ps-" | 1651 | :prefix "ps-" |
| 1652 | :tag "Page" | 1652 | :tag "Page" |
| 1653 | :version "20" | 1653 | :version "20" |
| 1654 | :group 'ps-print) | 1654 | :group 'ps-print) |
| 1655 | 1655 | ||
| 1656 | (defgroup ps-print-miscellany nil | 1656 | (defgroup ps-print-miscellany nil |
| 1657 | "Miscellany customization" | 1657 | "Miscellany customization." |
| 1658 | :prefix "ps-" | 1658 | :prefix "ps-" |
| 1659 | :tag "Miscellany" | 1659 | :tag "Miscellany" |
| 1660 | :version "20" | 1660 | :version "20" |
| @@ -3760,7 +3760,7 @@ If `ps-prefix-quote' is nil, it's set to t after generating string." | |||
| 3760 | "(setq ") | 3760 | "(setq ") |
| 3761 | key | 3761 | key |
| 3762 | (if (> col len) | 3762 | (if (> col len) |
| 3763 | (make-string (- col len) ?\ ) | 3763 | (make-string (- col len) ?\s) |
| 3764 | " ") | 3764 | " ") |
| 3765 | (ps-value-string val)))) | 3765 | (ps-value-string val)))) |
| 3766 | (t "") | 3766 | (t "") |
| @@ -5961,10 +5961,14 @@ XSTART YSTART are the relative position for the first page in a sheet.") | |||
| 5961 | (ps-begin-page)) | 5961 | (ps-begin-page)) |
| 5962 | 5962 | ||
| 5963 | 5963 | ||
| 5964 | (defun ps-end-sheet () | ||
| 5965 | (and ps-print-page-p (> ps-page-sheet 0) | ||
| 5966 | (ps-output "EndSheet\n"))) | ||
| 5967 | |||
| 5968 | |||
| 5964 | (defun ps-header-sheet () | 5969 | (defun ps-header-sheet () |
| 5965 | ;; Print only when a new sheet begins. | 5970 | ;; Print only when a new sheet begins. |
| 5966 | (and ps-print-page-p (> ps-page-sheet 0) | 5971 | (ps-end-sheet) |
| 5967 | (ps-output "EndSheet\n")) | ||
| 5968 | (setq ps-page-sheet (1+ ps-page-sheet)) | 5972 | (setq ps-page-sheet (1+ ps-page-sheet)) |
| 5969 | (when (ps-print-sheet-p) | 5973 | (when (ps-print-sheet-p) |
| 5970 | (setq ps-page-order (1+ ps-page-order)) | 5974 | (setq ps-page-order (1+ ps-page-order)) |
| @@ -6689,8 +6693,7 @@ If FACE is not a valid face name, it is used default face." | |||
| 6689 | 6693 | ||
| 6690 | 6694 | ||
| 6691 | (defun ps-end-job (needs-begin-file) | 6695 | (defun ps-end-job (needs-begin-file) |
| 6692 | (let ((previous-print ps-print-page-p) | 6696 | (let ((ps-print-page-p t)) |
| 6693 | (ps-print-page-p t)) | ||
| 6694 | (ps-flush-output) | 6697 | (ps-flush-output) |
| 6695 | (save-excursion | 6698 | (save-excursion |
| 6696 | (let ((pages-per-sheet (mod ps-page-printed ps-n-up-printing)) | 6699 | (let ((pages-per-sheet (mod ps-page-printed ps-n-up-printing)) |
| @@ -6717,8 +6720,7 @@ If FACE is not a valid face name, it is used default face." | |||
| 6717 | (number-to-string ps-lines-printed) " BeginPage\n") | 6720 | (number-to-string ps-lines-printed) " BeginPage\n") |
| 6718 | (ps-end-page))) | 6721 | (ps-end-page))) |
| 6719 | ;; Set end of PostScript file | 6722 | ;; Set end of PostScript file |
| 6720 | (and previous-print | 6723 | (ps-end-sheet) |
| 6721 | (ps-output "EndSheet\n")) | ||
| 6722 | (ps-output "\n%%Trailer\n%%Pages: " | 6724 | (ps-output "\n%%Trailer\n%%Pages: " |
| 6723 | (number-to-string | 6725 | (number-to-string |
| 6724 | (if (and needs-begin-file | 6726 | (if (and needs-begin-file |
diff --git a/lisp/recentf.el b/lisp/recentf.el index 1ea3ae6ecb2..64af3b1da3f 100644 --- a/lisp/recentf.el +++ b/lisp/recentf.el | |||
| @@ -28,18 +28,18 @@ | |||
| 28 | ;;; Commentary: | 28 | ;;; Commentary: |
| 29 | 29 | ||
| 30 | ;; This package maintains a menu for visiting files that were operated | 30 | ;; This package maintains a menu for visiting files that were operated |
| 31 | ;; on recently. When enabled a new "Open Recent" submenu is displayed | 31 | ;; on recently. When enabled a new "Open Recent" sub menu is |
| 32 | ;; in the "Files" menu. The recent files list is automatically saved | 32 | ;; displayed in the "Files" menu. The recent files list is |
| 33 | ;; across Emacs sessions. You can customize the number of recent | 33 | ;; automatically saved across Emacs sessions. You can customize the |
| 34 | ;; files displayed, the location of the menu and others options (see | 34 | ;; number of recent files displayed, the location of the menu and |
| 35 | ;; the source code for details). | 35 | ;; others options (see the source code for details). |
| 36 | 36 | ||
| 37 | ;;; History: | 37 | ;;; History: |
| 38 | ;; | 38 | ;; |
| 39 | 39 | ||
| 40 | ;;; Code: | 40 | ;;; Code: |
| 41 | (require 'easymenu) | 41 | (require 'easymenu) |
| 42 | (require 'wid-edit) | 42 | (require 'tree-widget) |
| 43 | (require 'timer) | 43 | (require 'timer) |
| 44 | 44 | ||
| 45 | ;;; Internal data | 45 | ;;; Internal data |
| @@ -259,7 +259,8 @@ If `file-name-history' is not empty, do nothing." | |||
| 259 | It is passed a filename to give a chance to transform it. | 259 | It is passed a filename to give a chance to transform it. |
| 260 | If it returns nil, the filename is left unchanged." | 260 | If it returns nil, the filename is left unchanged." |
| 261 | :group 'recentf | 261 | :group 'recentf |
| 262 | :type 'function) | 262 | :type '(choice (const :tag "None" nil) |
| 263 | function)) | ||
| 263 | 264 | ||
| 264 | ;;; Utilities | 265 | ;;; Utilities |
| 265 | ;; | 266 | ;; |
| @@ -904,30 +905,54 @@ unchanged." | |||
| 904 | ;; | 905 | ;; |
| 905 | (defun recentf-cancel-dialog (&rest ignore) | 906 | (defun recentf-cancel-dialog (&rest ignore) |
| 906 | "Cancel the current dialog. | 907 | "Cancel the current dialog. |
| 907 | Used internally by recentf dialogs. | ||
| 908 | IGNORE arguments." | 908 | IGNORE arguments." |
| 909 | (interactive) | 909 | (interactive) |
| 910 | (kill-buffer (current-buffer)) | 910 | (kill-buffer (current-buffer)) |
| 911 | (message "Dialog canceled")) | 911 | (message "Dialog canceled")) |
| 912 | 912 | ||
| 913 | (defun recentf-dialog-goto-first (widget-type) | ||
| 914 | "Move the cursor to the first WIDGET-TYPE in current dialog. | ||
| 915 | Go to the beginning of buffer if not found." | ||
| 916 | (goto-char (point-min)) | ||
| 917 | (condition-case nil | ||
| 918 | (let (done) | ||
| 919 | (widget-move 1) | ||
| 920 | (while (not done) | ||
| 921 | (if (eq widget-type (widget-type (widget-at (point)))) | ||
| 922 | (setq done t) | ||
| 923 | (widget-move 1)))) | ||
| 924 | (goto-char (point-min)))) | ||
| 925 | |||
| 913 | (defvar recentf-dialog-mode-map | 926 | (defvar recentf-dialog-mode-map |
| 914 | (let ((km (make-sparse-keymap))) | 927 | (let ((km (make-sparse-keymap))) |
| 928 | (set-keymap-parent km widget-keymap) | ||
| 915 | (define-key km "q" 'recentf-cancel-dialog) | 929 | (define-key km "q" 'recentf-cancel-dialog) |
| 916 | (define-key km [down-mouse-1] 'widget-button-click) | 930 | (define-key km [down-mouse-1] 'widget-button-click) |
| 917 | (set-keymap-parent km widget-keymap) | ||
| 918 | km) | 931 | km) |
| 919 | "Keymap used in recentf dialogs.") | 932 | "Keymap used in recentf dialogs.") |
| 920 | 933 | ||
| 921 | (defun recentf-dialog-mode () | 934 | (define-derived-mode recentf-dialog-mode nil "recentf-dialog" |
| 922 | "Major mode of recentf dialogs. | 935 | "Major mode of recentf dialogs. |
| 923 | 936 | ||
| 924 | \\{recentf-dialog-mode-map}" | 937 | \\{recentf-dialog-mode-map}" |
| 925 | (interactive) | 938 | :syntax-table nil |
| 926 | (kill-all-local-variables) | 939 | :abbrev-table nil |
| 927 | (setq major-mode 'recentf-dialog-mode) | 940 | (setq truncate-lines t)) |
| 928 | (setq mode-name "recentf-dialog") | 941 | |
| 929 | (use-local-map recentf-dialog-mode-map) | 942 | (defmacro recentf-dialog (name &rest forms) |
| 930 | (run-mode-hooks 'recentf-dialog-mode-hook)) | 943 | "Show a dialog buffer with NAME, setup with FORMS." |
| 944 | (declare (indent 1) (debug t)) | ||
| 945 | `(with-current-buffer (get-buffer-create ,name) | ||
| 946 | ;; Cleanup buffer | ||
| 947 | (let ((inhibit-read-only t) | ||
| 948 | (ol (overlay-lists))) | ||
| 949 | (mapc 'delete-overlay (car ol)) | ||
| 950 | (mapc 'delete-overlay (cdr ol)) | ||
| 951 | (erase-buffer)) | ||
| 952 | (recentf-dialog-mode) | ||
| 953 | ,@forms | ||
| 954 | (widget-setup) | ||
| 955 | (switch-to-buffer (current-buffer)))) | ||
| 931 | 956 | ||
| 932 | ;;; Hooks | 957 | ;;; Hooks |
| 933 | ;; | 958 | ;; |
| @@ -976,163 +1001,127 @@ That is, remove a non kept file from the recent list." | |||
| 976 | 1001 | ||
| 977 | ;;; Commands | 1002 | ;;; Commands |
| 978 | ;; | 1003 | ;; |
| 979 | (defvar recentf-edit-selected-items nil | ||
| 980 | "List of files to be deleted from the recent list. | ||
| 981 | Used internally by `recentf-edit-list'.") | ||
| 982 | 1004 | ||
| 983 | (defun recentf-edit-list-action (widget &rest ignore) | 1005 | ;;; Edit list dialog |
| 984 | "Checkbox WIDGET action that toogles a file selection. | 1006 | ;; |
| 985 | Used internally by `recentf-edit-list'. | 1007 | (defvar recentf-edit-list nil) |
| 1008 | |||
| 1009 | (defun recentf-edit-list-select (widget &rest ignore) | ||
| 1010 | "Toggle a file selection based on the checkbox WIDGET state. | ||
| 986 | IGNORE other arguments." | 1011 | IGNORE other arguments." |
| 987 | (let ((value (widget-get widget ':tag))) | 1012 | (let ((value (widget-get widget :tag)) |
| 988 | ;; if value is already in the selected items | 1013 | (check (widget-value widget))) |
| 989 | (if (memq value recentf-edit-selected-items) | 1014 | (if check |
| 990 | ;; then remove it | 1015 | (add-to-list 'recentf-edit-list value) |
| 991 | (progn | 1016 | (setq recentf-edit-list (delq value recentf-edit-list))) |
| 992 | (setq recentf-edit-selected-items | 1017 | (message "%s %sselected" value (if check "" "un")))) |
| 993 | (delq value recentf-edit-selected-items)) | 1018 | |
| 994 | (message "%s removed from selection" value)) | 1019 | (defun recentf-edit-list-validate (&rest ignore) |
| 995 | ;; else add it | 1020 | "Process the recent list when the edit list dialog is committed. |
| 996 | (push value recentf-edit-selected-items) | 1021 | IGNORE arguments." |
| 997 | (message "%s added to selection" value)))) | 1022 | (if recentf-edit-list |
| 1023 | (let ((i 0)) | ||
| 1024 | (dolist (e recentf-edit-list) | ||
| 1025 | (setq recentf-list (delq e recentf-list) | ||
| 1026 | i (1+ i))) | ||
| 1027 | (kill-buffer (current-buffer)) | ||
| 1028 | (message "%S file(s) removed from the list" i) | ||
| 1029 | (recentf-clear-data)) | ||
| 1030 | (message "No file selected"))) | ||
| 998 | 1031 | ||
| 999 | (defun recentf-edit-list () | 1032 | (defun recentf-edit-list () |
| 1000 | "Show a dialog buffer to edit the recent list. | 1033 | "Show a dialog to delete selected files from the recent list." |
| 1001 | That is to select files to be deleted from the recent list." | ||
| 1002 | (interactive) | 1034 | (interactive) |
| 1003 | (with-current-buffer | 1035 | (recentf-dialog (format "*%s - Edit list*" recentf-menu-title) |
| 1004 | (get-buffer-create (format "*%s - Edit list*" recentf-menu-title)) | 1036 | (set (make-local-variable 'recentf-edit-list) nil) |
| 1005 | (switch-to-buffer (current-buffer)) | ||
| 1006 | ;; Cleanup buffer | ||
| 1007 | (let ((inhibit-read-only t) | ||
| 1008 | (ol (overlay-lists))) | ||
| 1009 | (erase-buffer) | ||
| 1010 | ;; Delete all the overlays. | ||
| 1011 | (mapc 'delete-overlay (car ol)) | ||
| 1012 | (mapc 'delete-overlay (cdr ol))) | ||
| 1013 | (recentf-dialog-mode) | ||
| 1014 | (setq recentf-edit-selected-items nil) | ||
| 1015 | ;; Insert the dialog header | ||
| 1016 | (widget-insert | 1037 | (widget-insert |
| 1017 | "\ | 1038 | "Click on OK to delete selected files from the recent list. |
| 1018 | Select the files to be deleted from the recent list.\n\n\ | 1039 | Click on Cancel or type `q' to cancel.\n") |
| 1019 | Click on Ok to update the list. \ | ||
| 1020 | Click on Cancel or type \"q\" to quit.\n") | ||
| 1021 | ;; Insert the list of files as checkboxes | 1040 | ;; Insert the list of files as checkboxes |
| 1022 | (dolist (item recentf-list) | 1041 | (dolist (item recentf-list) |
| 1023 | (widget-create | 1042 | (widget-create 'checkbox |
| 1024 | 'checkbox | 1043 | :value nil ; unselected checkbox |
| 1025 | :value nil ; unselected checkbox | 1044 | :format "\n %[%v%] %t" |
| 1026 | :format "\n %[%v%] %t" | 1045 | :tag item |
| 1027 | :tag item | 1046 | :notify 'recentf-edit-list-select)) |
| 1028 | :notify 'recentf-edit-list-action)) | ||
| 1029 | (widget-insert "\n\n") | 1047 | (widget-insert "\n\n") |
| 1030 | ;; Insert the Ok button | ||
| 1031 | (widget-create | 1048 | (widget-create |
| 1032 | 'push-button | 1049 | 'push-button |
| 1033 | :notify (lambda (&rest ignore) | 1050 | :notify 'recentf-edit-list-validate |
| 1034 | (if recentf-edit-selected-items | 1051 | :help-echo "Delete selected files from the recent list" |
| 1035 | (let ((i 0)) | 1052 | "Ok") |
| 1036 | (kill-buffer (current-buffer)) | ||
| 1037 | (dolist (e recentf-edit-selected-items) | ||
| 1038 | (setq recentf-list (delq e recentf-list) | ||
| 1039 | i (1+ i))) | ||
| 1040 | (message "%S file(s) removed from the list" i) | ||
| 1041 | (recentf-clear-data)) | ||
| 1042 | (message "No file selected"))) | ||
| 1043 | "Ok") | ||
| 1044 | (widget-insert " ") | 1053 | (widget-insert " ") |
| 1045 | ;; Insert the Cancel button | ||
| 1046 | (widget-create | 1054 | (widget-create |
| 1047 | 'push-button | 1055 | 'push-button |
| 1048 | :notify 'recentf-cancel-dialog | 1056 | :notify 'recentf-cancel-dialog |
| 1049 | "Cancel") | 1057 | "Cancel") |
| 1050 | (widget-setup) | 1058 | (recentf-dialog-goto-first 'checkbox))) |
| 1051 | (goto-char (point-min)))) | ||
| 1052 | 1059 | ||
| 1060 | ;;; Open file dialog | ||
| 1061 | ;; | ||
| 1053 | (defun recentf-open-files-action (widget &rest ignore) | 1062 | (defun recentf-open-files-action (widget &rest ignore) |
| 1054 | "Button WIDGET action that open a file. | 1063 | "Open the file stored in WIDGET's value when notified. |
| 1055 | Used internally by `recentf-open-files'. | ||
| 1056 | IGNORE other arguments." | 1064 | IGNORE other arguments." |
| 1057 | (kill-buffer (current-buffer)) | 1065 | (kill-buffer (current-buffer)) |
| 1058 | (funcall recentf-menu-action (widget-value widget))) | 1066 | (funcall recentf-menu-action (widget-value widget))) |
| 1059 | 1067 | ||
| 1060 | (defvar recentf-open-files-item-shift "" | ||
| 1061 | "Amount of space to shift right sub-menu items. | ||
| 1062 | Used internally by `recentf-open-files'.") | ||
| 1063 | |||
| 1064 | (defun recentf-open-files-item (menu-element) | 1068 | (defun recentf-open-files-item (menu-element) |
| 1065 | "Insert an item widget for MENU-ELEMENT in the current dialog buffer. | 1069 | "Return a widget to display MENU-ELEMENT in a dialog buffer." |
| 1066 | Used internally by `recentf-open-files'." | 1070 | (if (consp (cdr menu-element)) |
| 1067 | (let ((item (car menu-element)) | 1071 | ;; Represent a sub-menu with a tree widget |
| 1068 | (file (cdr menu-element))) | 1072 | `(tree-widget |
| 1069 | (if (consp file) ; This is a sub-menu | 1073 | :open t |
| 1070 | (let* ((shift recentf-open-files-item-shift) | 1074 | :match ignore |
| 1071 | (recentf-open-files-item-shift (concat shift " "))) | 1075 | :node (item :tag ,(car menu-element) |
| 1072 | (widget-create | 1076 | :sample-face bold |
| 1073 | 'item | 1077 | :format "%{%t%}:\n") |
| 1074 | :tag item | 1078 | ,@(mapcar 'recentf-open-files-item |
| 1075 | :sample-face 'bold | 1079 | (cdr menu-element))) |
| 1076 | :format (concat shift "%{%t%}:\n")) | 1080 | ;; Represent a single file with a link widget |
| 1077 | (mapc 'recentf-open-files-item file) | 1081 | `(link :tag ,(car menu-element) |
| 1078 | (widget-insert "\n")) | 1082 | :button-prefix "" |
| 1079 | (widget-create | 1083 | :button-suffix "" |
| 1080 | 'push-button | 1084 | :button-face default |
| 1081 | :button-face 'default | 1085 | :format "%[%t%]\n" |
| 1082 | :tag item | 1086 | :help-echo ,(concat "Open " (cdr menu-element)) |
| 1083 | :help-echo (concat "Open " file) | 1087 | :action recentf-open-files-action |
| 1084 | :format (concat recentf-open-files-item-shift "%[%t%]") | 1088 | ,(cdr menu-element)))) |
| 1085 | :notify 'recentf-open-files-action | ||
| 1086 | file) | ||
| 1087 | (widget-insert "\n")))) | ||
| 1088 | 1089 | ||
| 1089 | (defun recentf-open-files (&optional files buffer-name) | 1090 | (defun recentf-open-files (&optional files buffer-name) |
| 1090 | "Show a dialog buffer to open a recent file. | 1091 | "Show a dialog to open a recent file. |
| 1091 | If optional argument FILES is non-nil, it specifies the list of | 1092 | If optional argument FILES is non-nil, it is a list of recently-opened |
| 1092 | recently-opened files to choose from. It is the whole recent list | 1093 | files to choose from. It defaults to the whole recent list. |
| 1093 | otherwise. | 1094 | If optional argument BUFFER-NAME is non-nil, it is a buffer name to |
| 1094 | If optional argument BUFFER-NAME is non-nil, it specifies which buffer | 1095 | use for the dialog. It defaults to \"*`recentf-menu-title'*\"." |
| 1095 | name to use for the interaction. It is \"*`recentf-menu-title'*\" by | ||
| 1096 | default." | ||
| 1097 | (interactive) | 1096 | (interactive) |
| 1098 | (unless files | 1097 | (recentf-dialog (or buffer-name (format "*%s*" recentf-menu-title)) |
| 1099 | (setq files recentf-list)) | 1098 | (widget-insert "Click on a file to open it. |
| 1100 | (unless buffer-name | 1099 | Click on Cancel or type `q' to cancel.\n" ) |
| 1101 | (setq buffer-name (format "*%s*" recentf-menu-title))) | 1100 | ;; Use a L&F that looks like the recentf menu. |
| 1102 | (with-current-buffer (get-buffer-create buffer-name) | 1101 | (tree-widget-set-theme "folder") |
| 1103 | (switch-to-buffer (current-buffer)) | 1102 | (apply 'widget-create |
| 1104 | ;; Cleanup buffer | 1103 | `(group |
| 1105 | (let ((inhibit-read-only t) | 1104 | :indent 2 |
| 1106 | (ol (overlay-lists))) | 1105 | :format "\n%v\n" |
| 1107 | (erase-buffer) | 1106 | ,@(mapcar 'recentf-open-files-item |
| 1108 | ;; Delete all the overlays. | 1107 | (recentf-apply-menu-filter |
| 1109 | (mapc 'delete-overlay (car ol)) | 1108 | recentf-menu-filter |
| 1110 | (mapc 'delete-overlay (cdr ol))) | 1109 | (mapcar 'recentf-make-default-menu-element |
| 1111 | (recentf-dialog-mode) | 1110 | (or files recentf-list)))))) |
| 1112 | ;; Insert the dialog header | ||
| 1113 | (widget-insert "Click on a file to open it. ") | ||
| 1114 | (widget-insert "Click on Cancel or type \"q\" to quit.\n\n" ) | ||
| 1115 | ;; Insert the list of files as buttons | ||
| 1116 | (let ((recentf-open-files-item-shift "")) | ||
| 1117 | (mapc 'recentf-open-files-item | ||
| 1118 | (recentf-apply-menu-filter | ||
| 1119 | recentf-menu-filter | ||
| 1120 | (mapcar 'recentf-make-default-menu-element files)))) | ||
| 1121 | (widget-insert "\n") | ||
| 1122 | ;; Insert the Cancel button | ||
| 1123 | (widget-create | 1111 | (widget-create |
| 1124 | 'push-button | 1112 | 'push-button |
| 1125 | :notify 'recentf-cancel-dialog | 1113 | :notify 'recentf-cancel-dialog |
| 1126 | "Cancel") | 1114 | "Cancel") |
| 1127 | (widget-setup) | 1115 | (recentf-dialog-goto-first 'link))) |
| 1128 | (goto-char (point-min)))) | ||
| 1129 | 1116 | ||
| 1130 | (defun recentf-open-more-files () | 1117 | (defun recentf-open-more-files () |
| 1131 | "Show a dialog buffer to open a recent file that is not in the menu." | 1118 | "Show a dialog to open a recent file that is not in the menu." |
| 1132 | (interactive) | 1119 | (interactive) |
| 1133 | (recentf-open-files (nthcdr recentf-max-menu-items recentf-list) | 1120 | (recentf-open-files (nthcdr recentf-max-menu-items recentf-list) |
| 1134 | (format "*%s - More*" recentf-menu-title))) | 1121 | (format "*%s - More*" recentf-menu-title))) |
| 1135 | 1122 | ||
| 1123 | ;;; Save/load/cleanup the recent list | ||
| 1124 | ;; | ||
| 1136 | (defconst recentf-save-file-header | 1125 | (defconst recentf-save-file-header |
| 1137 | ";;; Automatically generated by `recentf' on %s.\n" | 1126 | ";;; Automatically generated by `recentf' on %s.\n" |
| 1138 | "Header to be written into the `recentf-save-file'.") | 1127 | "Header to be written into the `recentf-save-file'.") |
| @@ -1149,16 +1138,16 @@ Write data into the file specified by `recentf-save-file'." | |||
| 1149 | (interactive) | 1138 | (interactive) |
| 1150 | (condition-case error | 1139 | (condition-case error |
| 1151 | (with-temp-buffer | 1140 | (with-temp-buffer |
| 1152 | (erase-buffer) | 1141 | (erase-buffer) |
| 1153 | (set-buffer-file-coding-system recentf-save-file-coding-system) | 1142 | (set-buffer-file-coding-system recentf-save-file-coding-system) |
| 1154 | (insert (format recentf-save-file-header (current-time-string))) | 1143 | (insert (format recentf-save-file-header (current-time-string))) |
| 1155 | (recentf-dump-variable 'recentf-list recentf-max-saved-items) | 1144 | (recentf-dump-variable 'recentf-list recentf-max-saved-items) |
| 1156 | (recentf-dump-variable 'recentf-filter-changer-state) | 1145 | (recentf-dump-variable 'recentf-filter-changer-state) |
| 1157 | (insert "\n\n;;; Local Variables:\n" | 1146 | (insert "\n\n;;; Local Variables:\n" |
| 1158 | (format ";;; coding: %s\n" recentf-save-file-coding-system) | 1147 | (format ";;; coding: %s\n" recentf-save-file-coding-system) |
| 1159 | ";;; End:\n") | 1148 | ";;; End:\n") |
| 1160 | (write-file (expand-file-name recentf-save-file)) | 1149 | (write-file (expand-file-name recentf-save-file)) |
| 1161 | nil) | 1150 | nil) |
| 1162 | (error | 1151 | (error |
| 1163 | (warn "recentf mode: %s" (error-message-string error))))) | 1152 | (warn "recentf mode: %s" (error-message-string error))))) |
| 1164 | 1153 | ||
| @@ -1218,5 +1207,5 @@ that were operated on recently." | |||
| 1218 | 1207 | ||
| 1219 | (run-hooks 'recentf-load-hook) | 1208 | (run-hooks 'recentf-load-hook) |
| 1220 | 1209 | ||
| 1221 | ;;; arch-tag: 78f1eec9-0d16-4d19-a4eb-2e4529edb62a | 1210 | ;; arch-tag: 78f1eec9-0d16-4d19-a4eb-2e4529edb62a |
| 1222 | ;;; recentf.el ends here | 1211 | ;;; recentf.el ends here |
diff --git a/lisp/replace.el b/lisp/replace.el index 2896ce133de..3b93761a0cc 100644 --- a/lisp/replace.el +++ b/lisp/replace.el | |||
| @@ -516,21 +516,32 @@ which will run faster and will not set the mark or print anything." | |||
| 516 | Prompt for a regexp with PROMPT. | 516 | Prompt for a regexp with PROMPT. |
| 517 | Value is a list, (REGEXP)." | 517 | Value is a list, (REGEXP)." |
| 518 | (list (read-from-minibuffer prompt nil nil nil | 518 | (list (read-from-minibuffer prompt nil nil nil |
| 519 | 'regexp-history nil t))) | 519 | 'regexp-history nil t) |
| 520 | nil nil t)) | ||
| 520 | 521 | ||
| 521 | (defun keep-lines (regexp &optional rstart rend) | 522 | (defun keep-lines (regexp &optional rstart rend interactive) |
| 522 | "Delete all lines except those containing matches for REGEXP. | 523 | "Delete all lines except those containing matches for REGEXP. |
| 523 | A match split across lines preserves all the lines it lies in. | 524 | A match split across lines preserves all the lines it lies in. |
| 524 | Applies to all lines after point. | 525 | When called from Lisp (and usually interactively as well, see below) |
| 526 | applies to all lines starting after point. | ||
| 525 | 527 | ||
| 526 | If REGEXP contains upper case characters (excluding those preceded by `\\'), | 528 | If REGEXP contains upper case characters (excluding those preceded by `\\'), |
| 527 | the matching is case-sensitive. | 529 | the matching is case-sensitive. |
| 528 | 530 | ||
| 529 | Second and third arg RSTART and REND specify the region to operate on. | 531 | Second and third arg RSTART and REND specify the region to operate on. |
| 532 | This command operates on (the accessible part of) all lines whose | ||
| 533 | accessible part is entirely contained in the region determined by RSTART | ||
| 534 | and REND. (A newline ending a line counts as part of that line.) | ||
| 530 | 535 | ||
| 531 | Interactively, in Transient Mark mode when the mark is active, operate | 536 | Interactively, in Transient Mark mode when the mark is active, operate |
| 532 | on the contents of the region. Otherwise, operate from point to the | 537 | on all lines whose accessible part is entirely contained in the region. |
| 533 | end of the buffer." | 538 | Otherwise, the command applies to all lines starting after point. |
| 539 | When calling this function from Lisp, you can pretend that it was | ||
| 540 | called interactively by passing a non-nil INTERACTIVE argument. | ||
| 541 | |||
| 542 | This function starts looking for the next match from the end of | ||
| 543 | the previous match. Hence, it ignores matches that overlap | ||
| 544 | a previously found match." | ||
| 534 | 545 | ||
| 535 | (interactive | 546 | (interactive |
| 536 | (progn | 547 | (progn |
| @@ -539,10 +550,20 @@ end of the buffer." | |||
| 539 | (if rstart | 550 | (if rstart |
| 540 | (progn | 551 | (progn |
| 541 | (goto-char (min rstart rend)) | 552 | (goto-char (min rstart rend)) |
| 542 | (setq rend (copy-marker (max rstart rend)))) | 553 | (setq rend |
| 543 | (if (and transient-mark-mode mark-active) | 554 | (progn |
| 555 | (save-excursion | ||
| 556 | (goto-char (max rstart rend)) | ||
| 557 | (unless (or (bolp) (eobp)) | ||
| 558 | (forward-line 0)) | ||
| 559 | (point-marker))))) | ||
| 560 | (if (and interactive transient-mark-mode mark-active) | ||
| 544 | (setq rstart (region-beginning) | 561 | (setq rstart (region-beginning) |
| 545 | rend (copy-marker (region-end))) | 562 | rend (progn |
| 563 | (goto-char (region-end)) | ||
| 564 | (unless (or (bolp) (eobp)) | ||
| 565 | (forward-line 0)) | ||
| 566 | (point-marker))) | ||
| 546 | (setq rstart (point) | 567 | (setq rstart (point) |
| 547 | rend (point-max-marker))) | 568 | rend (point-max-marker))) |
| 548 | (goto-char rstart)) | 569 | (goto-char rstart)) |
| @@ -556,7 +577,7 @@ end of the buffer." | |||
| 556 | (if (not (re-search-forward regexp rend 'move)) | 577 | (if (not (re-search-forward regexp rend 'move)) |
| 557 | (delete-region start rend) | 578 | (delete-region start rend) |
| 558 | (let ((end (save-excursion (goto-char (match-beginning 0)) | 579 | (let ((end (save-excursion (goto-char (match-beginning 0)) |
| 559 | (beginning-of-line) | 580 | (forward-line 0) |
| 560 | (point)))) | 581 | (point)))) |
| 561 | ;; Now end is first char preserved by the new match. | 582 | ;; Now end is first char preserved by the new match. |
| 562 | (if (< start end) | 583 | (if (< start end) |
| @@ -566,22 +587,34 @@ end of the buffer." | |||
| 566 | ;; If the match was empty, avoid matching again at same place. | 587 | ;; If the match was empty, avoid matching again at same place. |
| 567 | (and (< (point) rend) | 588 | (and (< (point) rend) |
| 568 | (= (match-beginning 0) (match-end 0)) | 589 | (= (match-beginning 0) (match-end 0)) |
| 569 | (forward-char 1)))))) | 590 | (forward-char 1))))) |
| 591 | (set-marker rend nil) | ||
| 592 | nil) | ||
| 570 | 593 | ||
| 571 | 594 | ||
| 572 | (defun flush-lines (regexp &optional rstart rend) | 595 | (defun flush-lines (regexp &optional rstart rend interactive) |
| 573 | "Delete lines containing matches for REGEXP. | 596 | "Delete lines containing matches for REGEXP. |
| 574 | If a match is split across lines, all the lines it lies in are deleted. | 597 | When called from Lisp (and usually when called interactively as |
| 575 | Applies to lines after point. | 598 | well, see below), applies to the part of the buffer after point. |
| 599 | The line point is in is deleted if and only if it contains a | ||
| 600 | match for regexp starting after point. | ||
| 576 | 601 | ||
| 577 | If REGEXP contains upper case characters (excluding those preceded by `\\'), | 602 | If REGEXP contains upper case characters (excluding those preceded by `\\'), |
| 578 | the matching is case-sensitive. | 603 | the matching is case-sensitive. |
| 579 | 604 | ||
| 580 | Second and third arg RSTART and REND specify the region to operate on. | 605 | Second and third arg RSTART and REND specify the region to operate on. |
| 606 | Lines partially contained in this region are deleted if and only if | ||
| 607 | they contain a match entirely contained in it. | ||
| 581 | 608 | ||
| 582 | Interactively, in Transient Mark mode when the mark is active, operate | 609 | Interactively, in Transient Mark mode when the mark is active, operate |
| 583 | on the contents of the region. Otherwise, operate from point to the | 610 | on the contents of the region. Otherwise, operate from point to the |
| 584 | end of the buffer." | 611 | end of (the accessible portion of) the buffer. When calling this function |
| 612 | from Lisp, you can pretend that it was called interactively by passing | ||
| 613 | a non-nil INTERACTIVE argument. | ||
| 614 | |||
| 615 | If a match is split across lines, all the lines it lies in are deleted. | ||
| 616 | They are deleted _before_ looking for the next match. Hence, a match | ||
| 617 | starting on the same line at which another match ended is ignored." | ||
| 585 | 618 | ||
| 586 | (interactive | 619 | (interactive |
| 587 | (progn | 620 | (progn |
| @@ -591,7 +624,7 @@ end of the buffer." | |||
| 591 | (progn | 624 | (progn |
| 592 | (goto-char (min rstart rend)) | 625 | (goto-char (min rstart rend)) |
| 593 | (setq rend (copy-marker (max rstart rend)))) | 626 | (setq rend (copy-marker (max rstart rend)))) |
| 594 | (if (and transient-mark-mode mark-active) | 627 | (if (and interactive transient-mark-mode mark-active) |
| 595 | (setq rstart (region-beginning) | 628 | (setq rstart (region-beginning) |
| 596 | rend (copy-marker (region-end))) | 629 | rend (copy-marker (region-end))) |
| 597 | (setq rstart (point) | 630 | (setq rstart (point) |
| @@ -603,13 +636,18 @@ end of the buffer." | |||
| 603 | (while (and (< (point) rend) | 636 | (while (and (< (point) rend) |
| 604 | (re-search-forward regexp rend t)) | 637 | (re-search-forward regexp rend t)) |
| 605 | (delete-region (save-excursion (goto-char (match-beginning 0)) | 638 | (delete-region (save-excursion (goto-char (match-beginning 0)) |
| 606 | (beginning-of-line) | 639 | (forward-line 0) |
| 607 | (point)) | 640 | (point)) |
| 608 | (progn (forward-line 1) (point))))))) | 641 | (progn (forward-line 1) (point)))))) |
| 642 | (set-marker rend nil) | ||
| 643 | nil) | ||
| 609 | 644 | ||
| 610 | 645 | ||
| 611 | (defun how-many (regexp &optional rstart rend) | 646 | (defun how-many (regexp &optional rstart rend interactive) |
| 612 | "Print number of matches for REGEXP following point. | 647 | "Print and return number of matches for REGEXP following point. |
| 648 | When called from Lisp and INTERACTIVE is omitted or nil, just return | ||
| 649 | the number, do not print it; if INTERACTIVE is t, the function behaves | ||
| 650 | in all respects has if it had been called interactively. | ||
| 613 | 651 | ||
| 614 | If REGEXP contains upper case characters (excluding those preceded by `\\'), | 652 | If REGEXP contains upper case characters (excluding those preceded by `\\'), |
| 615 | the matching is case-sensitive. | 653 | the matching is case-sensitive. |
| @@ -618,18 +656,24 @@ Second and third arg RSTART and REND specify the region to operate on. | |||
| 618 | 656 | ||
| 619 | Interactively, in Transient Mark mode when the mark is active, operate | 657 | Interactively, in Transient Mark mode when the mark is active, operate |
| 620 | on the contents of the region. Otherwise, operate from point to the | 658 | on the contents of the region. Otherwise, operate from point to the |
| 621 | end of the buffer." | 659 | end of (the accessible portion of) the buffer. |
| 660 | |||
| 661 | This function starts looking for the next match from the end of | ||
| 662 | the previous match. Hence, it ignores matches that overlap | ||
| 663 | a previously found match." | ||
| 622 | 664 | ||
| 623 | (interactive | 665 | (interactive |
| 624 | (keep-lines-read-args "How many matches for (regexp): ")) | 666 | (keep-lines-read-args "How many matches for (regexp): ")) |
| 625 | (save-excursion | 667 | (save-excursion |
| 626 | (if rstart | 668 | (if rstart |
| 627 | (goto-char (min rstart rend)) | 669 | (progn |
| 628 | (if (and transient-mark-mode mark-active) | 670 | (goto-char (min rstart rend)) |
| 671 | (setq rend (max rstart rend))) | ||
| 672 | (if (and interactive transient-mark-mode mark-active) | ||
| 629 | (setq rstart (region-beginning) | 673 | (setq rstart (region-beginning) |
| 630 | rend (copy-marker (region-end))) | 674 | rend (region-end)) |
| 631 | (setq rstart (point) | 675 | (setq rstart (point) |
| 632 | rend (point-max-marker))) | 676 | rend (point-max))) |
| 633 | (goto-char rstart)) | 677 | (goto-char rstart)) |
| 634 | (let ((count 0) | 678 | (let ((count 0) |
| 635 | opoint | 679 | opoint |
| @@ -641,7 +685,10 @@ end of the buffer." | |||
| 641 | (if (= opoint (point)) | 685 | (if (= opoint (point)) |
| 642 | (forward-char 1) | 686 | (forward-char 1) |
| 643 | (setq count (1+ count)))) | 687 | (setq count (1+ count)))) |
| 644 | (message "%d occurrences" count)))) | 688 | (when interactive (message "%d occurrence%s" |
| 689 | count | ||
| 690 | (if (= count 1) "" "s"))) | ||
| 691 | count))) | ||
| 645 | 692 | ||
| 646 | 693 | ||
| 647 | (defvar occur-mode-map | 694 | (defvar occur-mode-map |
| @@ -672,7 +719,7 @@ See `occur-revert-function'.") | |||
| 672 | :group 'matching) | 719 | :group 'matching) |
| 673 | 720 | ||
| 674 | (defcustom occur-hook nil | 721 | (defcustom occur-hook nil |
| 675 | "Hook run when `occur' is called." | 722 | "Hook run by Occur when there are any matches." |
| 676 | :type 'hook | 723 | :type 'hook |
| 677 | :group 'matching) | 724 | :group 'matching) |
| 678 | 725 | ||
| @@ -879,7 +926,7 @@ If the value is nil, don't highlight the buffer names specially." | |||
| 879 | Here `original-buffer-name' is the buffer name were occur was originally run. | 926 | Here `original-buffer-name' is the buffer name were occur was originally run. |
| 880 | When given the prefix argument, the renaming will not clobber the existing | 927 | When given the prefix argument, the renaming will not clobber the existing |
| 881 | buffer(s) of that name, but use `generate-new-buffer-name' instead. | 928 | buffer(s) of that name, but use `generate-new-buffer-name' instead. |
| 882 | You can add this to `occur-hook' if you always want a separate *Occur* | 929 | You can add this to `occur-mode-hook' if you always want a separate *Occur* |
| 883 | buffer for each buffer where you invoke `occur'." | 930 | buffer for each buffer where you invoke `occur'." |
| 884 | (interactive "P") | 931 | (interactive "P") |
| 885 | (with-current-buffer | 932 | (with-current-buffer |
| @@ -892,8 +939,7 @@ buffer for each buffer where you invoke `occur'." | |||
| 892 | 939 | ||
| 893 | (defun occur (regexp &optional nlines) | 940 | (defun occur (regexp &optional nlines) |
| 894 | "Show all lines in the current buffer containing a match for REGEXP. | 941 | "Show all lines in the current buffer containing a match for REGEXP. |
| 895 | 942 | This function can not handle matches that span more than one line. | |
| 896 | If a match spreads across multiple lines, all those lines are shown. | ||
| 897 | 943 | ||
| 898 | Each line is displayed with NLINES lines before and after, or -NLINES | 944 | Each line is displayed with NLINES lines before and after, or -NLINES |
| 899 | before if NLINES is negative. | 945 | before if NLINES is negative. |
| @@ -996,14 +1042,13 @@ See also `multi-occur'." | |||
| 996 | (if (= count 1) "" "es") | 1042 | (if (= count 1) "" "es") |
| 997 | regexp)) | 1043 | regexp)) |
| 998 | (setq occur-revert-arguments (list regexp nlines bufs)) | 1044 | (setq occur-revert-arguments (list regexp nlines bufs)) |
| 999 | (if (> count 0) | 1045 | (if (= count 0) |
| 1000 | (progn | 1046 | (kill-buffer occur-buf) |
| 1001 | (display-buffer occur-buf) | 1047 | (display-buffer occur-buf) |
| 1002 | (setq next-error-last-buffer occur-buf)) | 1048 | (setq next-error-last-buffer occur-buf) |
| 1003 | (kill-buffer occur-buf))) | 1049 | (setq buffer-read-only t) |
| 1004 | (setq buffer-read-only t) | 1050 | (set-buffer-modified-p nil) |
| 1005 | (set-buffer-modified-p nil) | 1051 | (run-hooks 'occur-hook))))))) |
| 1006 | (run-hooks 'occur-hook))))) | ||
| 1007 | 1052 | ||
| 1008 | (defun occur-engine-add-prefix (lines) | 1053 | (defun occur-engine-add-prefix (lines) |
| 1009 | (mapcar | 1054 | (mapcar |
| @@ -1603,15 +1648,15 @@ make, or the user didn't cancel the call." | |||
| 1603 | ;; Change markers to numbers in the match data | 1648 | ;; Change markers to numbers in the match data |
| 1604 | ;; since lots of markers slow down editing. | 1649 | ;; since lots of markers slow down editing. |
| 1605 | (push (list (point) replaced | 1650 | (push (list (point) replaced |
| 1606 | ;;; If the replacement has already happened, all we need is the | 1651 | ;;; If the replacement has already happened, all we need is the |
| 1607 | ;;; current match start and end. We could get this with a trivial | 1652 | ;;; current match start and end. We could get this with a trivial |
| 1608 | ;;; match like | 1653 | ;;; match like |
| 1609 | ;;; (save-excursion (goto-char (match-beginning 0)) | 1654 | ;;; (save-excursion (goto-char (match-beginning 0)) |
| 1610 | ;;; (search-forward (match-string 0)) | 1655 | ;;; (search-forward (match-string 0)) |
| 1611 | ;;; (match-data t)) | 1656 | ;;; (match-data t)) |
| 1612 | ;;; if we really wanted to avoid manually constructing match data. | 1657 | ;;; if we really wanted to avoid manually constructing match data. |
| 1613 | ;;; Adding current-buffer is necessary so that match-data calls can | 1658 | ;;; Adding current-buffer is necessary so that match-data calls can |
| 1614 | ;;; return markers which are appropriate for editing. | 1659 | ;;; return markers which are appropriate for editing. |
| 1615 | (if replaced | 1660 | (if replaced |
| 1616 | (list | 1661 | (list |
| 1617 | (match-beginning 0) | 1662 | (match-beginning 0) |
diff --git a/lisp/ses.el b/lisp/ses.el index 09f7809752b..bad396bbe94 100644 --- a/lisp/ses.el +++ b/lisp/ses.el | |||
| @@ -49,7 +49,7 @@ | |||
| 49 | ;;---------------------------------------------------------------------------- | 49 | ;;---------------------------------------------------------------------------- |
| 50 | 50 | ||
| 51 | (defgroup ses nil | 51 | (defgroup ses nil |
| 52 | "Simple Emacs Spreadsheet" | 52 | "Simple Emacs Spreadsheet." |
| 53 | :group 'applications | 53 | :group 'applications |
| 54 | :prefix "ses-" | 54 | :prefix "ses-" |
| 55 | :version "21.1") | 55 | :version "21.1") |
| @@ -376,7 +376,7 @@ macro to prevent propagate-on-load viruses." | |||
| 376 | ;;print area (excluding the terminating newline) | 376 | ;;print area (excluding the terminating newline) |
| 377 | (setq ses--col-widths widths | 377 | (setq ses--col-widths widths |
| 378 | ses--linewidth (apply '+ -1 (mapcar '1+ widths)) | 378 | ses--linewidth (apply '+ -1 (mapcar '1+ widths)) |
| 379 | ses--blank-line (concat (make-string ses--linewidth ? ) "\n")) | 379 | ses--blank-line (concat (make-string ses--linewidth ?\s) "\n")) |
| 380 | t) | 380 | t) |
| 381 | 381 | ||
| 382 | (defmacro ses-column-printers (printers) | 382 | (defmacro ses-column-printers (printers) |
| @@ -798,7 +798,7 @@ preceding cell has spilled over." | |||
| 798 | (cond | 798 | (cond |
| 799 | ((< len width) | 799 | ((< len width) |
| 800 | ;;Fill field to length with spaces | 800 | ;;Fill field to length with spaces |
| 801 | (setq len (make-string (- width len) ? ) | 801 | (setq len (make-string (- width len) ?\s) |
| 802 | text (if (eq ses-call-printer-return t) | 802 | text (if (eq ses-call-printer-return t) |
| 803 | (concat text len) | 803 | (concat text len) |
| 804 | (concat len text)))) | 804 | (concat len text)))) |
| @@ -816,7 +816,7 @@ preceding cell has spilled over." | |||
| 816 | maxcol (1+ maxcol))) | 816 | maxcol (1+ maxcol))) |
| 817 | (if (<= len maxwidth) | 817 | (if (<= len maxwidth) |
| 818 | ;;Fill to complete width of all the fields spanned | 818 | ;;Fill to complete width of all the fields spanned |
| 819 | (setq text (concat text (make-string (- maxwidth len) ? ))) | 819 | (setq text (concat text (make-string (- maxwidth len) ?\s))) |
| 820 | ;;Not enough room to end of line or next non-nil field. Truncate | 820 | ;;Not enough room to end of line or next non-nil field. Truncate |
| 821 | ;;if string or decimal; otherwise fill with error indicator | 821 | ;;if string or decimal; otherwise fill with error indicator |
| 822 | (setq sig `(error "Too wide" ,text)) | 822 | (setq sig `(error "Too wide" ,text)) |
| @@ -906,12 +906,12 @@ printer signaled one (and \"%s\" is used as the default printer), else nil." | |||
| 906 | COL=NUMCOLS. Deletes characters if CHANGE < 0. Caller should bind | 906 | COL=NUMCOLS. Deletes characters if CHANGE < 0. Caller should bind |
| 907 | inhibit-quit to t." | 907 | inhibit-quit to t." |
| 908 | (let ((inhibit-read-only t) | 908 | (let ((inhibit-read-only t) |
| 909 | (blank (if (> change 0) (make-string change ? ))) | 909 | (blank (if (> change 0) (make-string change ?\s))) |
| 910 | (at-end (= col ses--numcols))) | 910 | (at-end (= col ses--numcols))) |
| 911 | (ses-set-with-undo 'ses--linewidth (+ ses--linewidth change)) | 911 | (ses-set-with-undo 'ses--linewidth (+ ses--linewidth change)) |
| 912 | ;;ses-set-with-undo always returns t for strings. | 912 | ;;ses-set-with-undo always returns t for strings. |
| 913 | (1value (ses-set-with-undo 'ses--blank-line | 913 | (1value (ses-set-with-undo 'ses--blank-line |
| 914 | (concat (make-string ses--linewidth ? ) "\n"))) | 914 | (concat (make-string ses--linewidth ?\s) "\n"))) |
| 915 | (dotimes (row ses--numrows) | 915 | (dotimes (row ses--numrows) |
| 916 | (ses-goto-print row col) | 916 | (ses-goto-print row col) |
| 917 | (when at-end | 917 | (when at-end |
| @@ -2901,7 +2901,7 @@ columns to include in width (default = 0)." | |||
| 2901 | (let ((printer (or (ses-col-printer col) ses--default-printer)) | 2901 | (let ((printer (or (ses-col-printer col) ses--default-printer)) |
| 2902 | (width (ses-col-width col)) | 2902 | (width (ses-col-width col)) |
| 2903 | half) | 2903 | half) |
| 2904 | (or fill (setq fill ? )) | 2904 | (or fill (setq fill ?\s)) |
| 2905 | (or span (setq span 0)) | 2905 | (or span (setq span 0)) |
| 2906 | (setq value (ses-call-printer printer value)) | 2906 | (setq value (ses-call-printer printer value)) |
| 2907 | (dotimes (x span) | 2907 | (dotimes (x span) |
diff --git a/lisp/shell.el b/lisp/shell.el index 7a9f261859d..a8f4790a054 100644 --- a/lisp/shell.el +++ b/lisp/shell.el | |||
| @@ -108,16 +108,16 @@ | |||
| 108 | ;;; Customization and Buffer Variables | 108 | ;;; Customization and Buffer Variables |
| 109 | 109 | ||
| 110 | (defgroup shell nil | 110 | (defgroup shell nil |
| 111 | "Running shell from within Emacs buffers" | 111 | "Running shell from within Emacs buffers." |
| 112 | :group 'processes | 112 | :group 'processes |
| 113 | :group 'unix) | 113 | :group 'unix) |
| 114 | 114 | ||
| 115 | (defgroup shell-directories nil | 115 | (defgroup shell-directories nil |
| 116 | "Directory support in shell mode" | 116 | "Directory support in shell mode." |
| 117 | :group 'shell) | 117 | :group 'shell) |
| 118 | 118 | ||
| 119 | (defgroup shell-faces nil | 119 | (defgroup shell-faces nil |
| 120 | "Faces in shell buffers" | 120 | "Faces in shell buffers." |
| 121 | :group 'shell) | 121 | :group 'shell) |
| 122 | 122 | ||
| 123 | ;;;###autoload | 123 | ;;;###autoload |
| @@ -178,7 +178,7 @@ This is a fine thing to set in your `.emacs' file.") | |||
| 178 | (defvar shell-file-name-quote-list | 178 | (defvar shell-file-name-quote-list |
| 179 | (if (memq system-type '(ms-dos windows-nt)) | 179 | (if (memq system-type '(ms-dos windows-nt)) |
| 180 | nil | 180 | nil |
| 181 | (append shell-delimiter-argument-list '(?\ ?\* ?\! ?\" ?\' ?\` ?\# ?\\))) | 181 | (append shell-delimiter-argument-list '(?\s ?\* ?\! ?\" ?\' ?\` ?\# ?\\))) |
| 182 | "List of characters to quote when in a file name. | 182 | "List of characters to quote when in a file name. |
| 183 | This variable is used to initialize `comint-file-name-quote-list' in the | 183 | This variable is used to initialize `comint-file-name-quote-list' in the |
| 184 | shell buffer. The value may depend on the operating system or shell. | 184 | shell buffer. The value may depend on the operating system or shell. |
diff --git a/lisp/simple.el b/lisp/simple.el index 1ee4580144b..3ee0a91c87d 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -4542,22 +4542,29 @@ With a prefix argument, set VARIABLE to VALUE buffer-locally." | |||
| 4542 | (read-variable "Set variable: "))) | 4542 | (read-variable "Set variable: "))) |
| 4543 | (minibuffer-help-form '(describe-variable var)) | 4543 | (minibuffer-help-form '(describe-variable var)) |
| 4544 | (prop (get var 'variable-interactive)) | 4544 | (prop (get var 'variable-interactive)) |
| 4545 | (prompt (format "Set %s%s to value: " var | 4545 | (obsolete (car (get var 'byte-obsolete-variable))) |
| 4546 | (prompt (format "Set %s %s to value: " var | ||
| 4546 | (cond ((local-variable-p var) | 4547 | (cond ((local-variable-p var) |
| 4547 | " (buffer-local)") | 4548 | "(buffer-local)") |
| 4548 | ((or current-prefix-arg | 4549 | ((or current-prefix-arg |
| 4549 | (local-variable-if-set-p var)) | 4550 | (local-variable-if-set-p var)) |
| 4550 | " buffer-locally") | 4551 | "buffer-locally") |
| 4551 | (t " globally")))) | 4552 | (t "globally")))) |
| 4552 | (val (if prop | 4553 | (val (progn |
| 4553 | ;; Use VAR's `variable-interactive' property | 4554 | (when obsolete |
| 4554 | ;; as an interactive spec for prompting. | 4555 | (message (concat "`%S' is obsolete; " |
| 4555 | (call-interactively `(lambda (arg) | 4556 | (if (symbolp obsolete) "use `%S' instead" "%s")) |
| 4556 | (interactive ,prop) | 4557 | var obsolete) |
| 4557 | arg)) | 4558 | (sit-for 3)) |
| 4558 | (read | 4559 | (if prop |
| 4559 | (read-string prompt nil | 4560 | ;; Use VAR's `variable-interactive' property |
| 4560 | 'set-variable-value-history))))) | 4561 | ;; as an interactive spec for prompting. |
| 4562 | (call-interactively `(lambda (arg) | ||
| 4563 | (interactive ,prop) | ||
| 4564 | arg)) | ||
| 4565 | (read | ||
| 4566 | (read-string prompt nil | ||
| 4567 | 'set-variable-value-history)))))) | ||
| 4561 | (list var val current-prefix-arg))) | 4568 | (list var val current-prefix-arg))) |
| 4562 | 4569 | ||
| 4563 | (and (custom-variable-p variable) | 4570 | (and (custom-variable-p variable) |
diff --git a/lisp/smerge-mode.el b/lisp/smerge-mode.el index 55000391777..9e129c3571d 100644 --- a/lisp/smerge-mode.el +++ b/lisp/smerge-mode.el | |||
| @@ -48,6 +48,9 @@ | |||
| 48 | (eval-when-compile (require 'cl)) | 48 | (eval-when-compile (require 'cl)) |
| 49 | 49 | ||
| 50 | 50 | ||
| 51 | ;;; The real definition comes later. | ||
| 52 | (defvar smerge-mode) | ||
| 53 | |||
| 51 | (defgroup smerge () | 54 | (defgroup smerge () |
| 52 | "Minor mode to resolve diff3 conflicts." | 55 | "Minor mode to resolve diff3 conflicts." |
| 53 | :group 'tools | 56 | :group 'tools |
diff --git a/lisp/startup.el b/lisp/startup.el index f1cce0325f5..1f7076b535a 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -44,7 +44,7 @@ The value is nil if the selected frame is on a text-only-terminal.") | |||
| 44 | (make-variable-frame-local 'window-system) | 44 | (make-variable-frame-local 'window-system) |
| 45 | 45 | ||
| 46 | (defgroup initialization nil | 46 | (defgroup initialization nil |
| 47 | "Emacs start-up procedure" | 47 | "Emacs start-up procedure." |
| 48 | :group 'internal) | 48 | :group 'internal) |
| 49 | 49 | ||
| 50 | (defcustom inhibit-startup-message nil | 50 | (defcustom inhibit-startup-message nil |
| @@ -294,6 +294,8 @@ from being initialized." | |||
| 294 | 294 | ||
| 295 | (defvar no-blinking-cursor nil) | 295 | (defvar no-blinking-cursor nil) |
| 296 | 296 | ||
| 297 | (defvar default-frame-background-mode) | ||
| 298 | |||
| 297 | (defvar pure-space-overflow nil | 299 | (defvar pure-space-overflow nil |
| 298 | "Non-nil if building Emacs overflowed pure space.") | 300 | "Non-nil if building Emacs overflowed pure space.") |
| 299 | 301 | ||
diff --git a/lisp/strokes.el b/lisp/strokes.el index 644ec2c4f62..396a44cec24 100644 --- a/lisp/strokes.el +++ b/lisp/strokes.el | |||
| @@ -208,7 +208,7 @@ static char * stroke_xpm[] = { | |||
| 208 | ;;; user variables... | 208 | ;;; user variables... |
| 209 | 209 | ||
| 210 | (defgroup strokes nil | 210 | (defgroup strokes nil |
| 211 | "Control Emacs through mouse strokes" | 211 | "Control Emacs through mouse strokes." |
| 212 | :link '(emacs-commentary-link "strokes") | 212 | :link '(emacs-commentary-link "strokes") |
| 213 | :link '(url-link "http://www.mit.edu/people/cadet/strokes-help.html") | 213 | :link '(url-link "http://www.mit.edu/people/cadet/strokes-help.html") |
| 214 | :group 'mouse) | 214 | :group 'mouse) |
| @@ -753,7 +753,7 @@ Optional EVENT is acceptable as the starting event of the stroke" | |||
| 753 | (progn | 753 | (progn |
| 754 | (goto-char point) | 754 | (goto-char point) |
| 755 | (subst-char-in-region point (1+ point) | 755 | (subst-char-in-region point (1+ point) |
| 756 | ?\ strokes-character)) | 756 | ?\s strokes-character)) |
| 757 | ;; otherwise, we can start drawing the next time... | 757 | ;; otherwise, we can start drawing the next time... |
| 758 | (setq safe-to-draw-p t)) | 758 | (setq safe-to-draw-p t)) |
| 759 | (push (cdr (mouse-pixel-position)) | 759 | (push (cdr (mouse-pixel-position)) |
| @@ -763,7 +763,7 @@ Optional EVENT is acceptable as the starting event of the stroke" | |||
| 763 | ;; clean up strokes buffer and then bury it. | 763 | ;; clean up strokes buffer and then bury it. |
| 764 | (when (equal (buffer-name) strokes-buffer-name) | 764 | (when (equal (buffer-name) strokes-buffer-name) |
| 765 | (subst-char-in-region (point-min) (point-max) | 765 | (subst-char-in-region (point-min) (point-max) |
| 766 | strokes-character ?\ ) | 766 | strokes-character ?\s) |
| 767 | (goto-char (point-min)) | 767 | (goto-char (point-min)) |
| 768 | (bury-buffer)))) | 768 | (bury-buffer)))) |
| 769 | ;; Otherwise, don't use strokes buffer and read stroke silently | 769 | ;; Otherwise, don't use strokes buffer and read stroke silently |
| @@ -813,7 +813,7 @@ Optional EVENT is acceptable as the starting event of the stroke" | |||
| 813 | (when point | 813 | (when point |
| 814 | (goto-char point) | 814 | (goto-char point) |
| 815 | (subst-char-in-region point (1+ point) | 815 | (subst-char-in-region point (1+ point) |
| 816 | ?\ strokes-character)) | 816 | ?\s strokes-character)) |
| 817 | (push (cdr (mouse-pixel-position)) | 817 | (push (cdr (mouse-pixel-position)) |
| 818 | pix-locs))) | 818 | pix-locs))) |
| 819 | (setq event (read-event))) | 819 | (setq event (read-event))) |
| @@ -831,7 +831,7 @@ Optional EVENT is acceptable as the starting event of the stroke" | |||
| 831 | ;; protected | 831 | ;; protected |
| 832 | (when (equal (buffer-name) strokes-buffer-name) | 832 | (when (equal (buffer-name) strokes-buffer-name) |
| 833 | (subst-char-in-region (point-min) (point-max) | 833 | (subst-char-in-region (point-min) (point-max) |
| 834 | strokes-character ?\ ) | 834 | strokes-character ?\s) |
| 835 | (goto-char (point-min)) | 835 | (goto-char (point-min)) |
| 836 | (bury-buffer))))))) | 836 | (bury-buffer))))))) |
| 837 | 837 | ||
| @@ -1035,7 +1035,7 @@ o Strokes are a bit computer-dependent in that they depend somewhat on | |||
| 1035 | "Erase the contents of the current buffer and fill it with whitespace." | 1035 | "Erase the contents of the current buffer and fill it with whitespace." |
| 1036 | (erase-buffer) | 1036 | (erase-buffer) |
| 1037 | (loop repeat (frame-height) do | 1037 | (loop repeat (frame-height) do |
| 1038 | (insert-char ?\ (1- (frame-width))) | 1038 | (insert-char ?\s (1- (frame-width))) |
| 1039 | (newline)) | 1039 | (newline)) |
| 1040 | (goto-char (point-min))) | 1040 | (goto-char (point-min))) |
| 1041 | 1041 | ||
| @@ -1169,7 +1169,7 @@ the stroke as a character in some language." | |||
| 1169 | (insert strokes-xpm-header) | 1169 | (insert strokes-xpm-header) |
| 1170 | (loop repeat 33 do | 1170 | (loop repeat 33 do |
| 1171 | (insert ?\") | 1171 | (insert ?\") |
| 1172 | (insert-char ?\ 33) | 1172 | (insert-char ?\s 33) |
| 1173 | (insert "\",") | 1173 | (insert "\",") |
| 1174 | (newline) | 1174 | (newline) |
| 1175 | finally | 1175 | finally |
| @@ -1195,7 +1195,7 @@ the stroke as a character in some language." | |||
| 1195 | ;; Otherwise, just plot the point... | 1195 | ;; Otherwise, just plot the point... |
| 1196 | (goto-line (+ 17 y)) | 1196 | (goto-line (+ 17 y)) |
| 1197 | (forward-char (+ 2 x)) | 1197 | (forward-char (+ 2 x)) |
| 1198 | (subst-char-in-region (point) (1+ (point)) ?\ ?\*))) | 1198 | (subst-char-in-region (point) (1+ (point)) ?\s ?\*))) |
| 1199 | ((strokes-lift-p point) | 1199 | ((strokes-lift-p point) |
| 1200 | ;; a lift--tell the loop to X out the next point... | 1200 | ;; a lift--tell the loop to X out the next point... |
| 1201 | (setq lift-flag t)))) | 1201 | (setq lift-flag t)))) |
| @@ -1286,7 +1286,7 @@ the stroke as a character in some language." | |||
| 1286 | ;; (command-name (symbol-name (cdr def)))) | 1286 | ;; (command-name (symbol-name (cdr def)))) |
| 1287 | ;; (strokes-xpm-for-stroke stroke " *strokes-xpm*") | 1287 | ;; (strokes-xpm-for-stroke stroke " *strokes-xpm*") |
| 1288 | ;; (newline 2) | 1288 | ;; (newline 2) |
| 1289 | ;; (insert-char ?\ 45) | 1289 | ;; (insert-char ?\s 45) |
| 1290 | ;; (beginning-of-line) | 1290 | ;; (beginning-of-line) |
| 1291 | ;; (insert command-name) | 1291 | ;; (insert command-name) |
| 1292 | ;; (beginning-of-line) | 1292 | ;; (beginning-of-line) |
| @@ -1342,7 +1342,7 @@ If STROKES-MAP is not given, `strokes-global-map' will be used instead." | |||
| 1342 | (prin1-to-string (cdr def))))) | 1342 | (prin1-to-string (cdr def))))) |
| 1343 | (strokes-xpm-for-stroke stroke " *strokes-xpm*") | 1343 | (strokes-xpm-for-stroke stroke " *strokes-xpm*") |
| 1344 | (newline 2) | 1344 | (newline 2) |
| 1345 | (insert-char ?\ 45) | 1345 | (insert-char ?\s 45) |
| 1346 | (beginning-of-line) | 1346 | (beginning-of-line) |
| 1347 | (insert command-name) | 1347 | (insert command-name) |
| 1348 | (beginning-of-line) | 1348 | (beginning-of-line) |
| @@ -1515,7 +1515,7 @@ Encode/decode your strokes with \\[strokes-encode-buffer], | |||
| 1515 | 1515 | ||
| 1516 | (defsubst strokes-xpm-char-bit-p (char) | 1516 | (defsubst strokes-xpm-char-bit-p (char) |
| 1517 | "Non-nil if CHAR represents an `on' or `off' bit in the XPM." | 1517 | "Non-nil if CHAR represents an `on' or `off' bit in the XPM." |
| 1518 | (or (eq char ?\ ) | 1518 | (or (eq char ?\s) |
| 1519 | (eq char ?*))) | 1519 | (eq char ?*))) |
| 1520 | 1520 | ||
| 1521 | ;;(defsubst strokes-xor (a b) ### Should I make this an inline function? ### | 1521 | ;;(defsubst strokes-xor (a b) ### Should I make this an inline function? ### |
| @@ -1716,7 +1716,7 @@ Store XPM in buffer BUFNAME if supplied \(default is ` *strokes-xpm*'\)" | |||
| 1716 | (insert-char | 1716 | (insert-char |
| 1717 | (if current-char-is-on-p | 1717 | (if current-char-is-on-p |
| 1718 | ?* | 1718 | ?* |
| 1719 | ?\ ) | 1719 | ?\s) |
| 1720 | (strokes-xpm-decode-char (char-after))) | 1720 | (strokes-xpm-decode-char (char-after))) |
| 1721 | (delete-char 1) | 1721 | (delete-char 1) |
| 1722 | (setq current-char-is-on-p (not current-char-is-on-p))) | 1722 | (setq current-char-is-on-p (not current-char-is-on-p))) |
diff --git a/lisp/subr.el b/lisp/subr.el index c7b565d48f5..846632d0832 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -937,7 +937,7 @@ the hook's buffer-local value rather than its default value." | |||
| 937 | (set hook hook-value)))))) | 937 | (set hook hook-value)))))) |
| 938 | 938 | ||
| 939 | (defun add-to-list (list-var element &optional append) | 939 | (defun add-to-list (list-var element &optional append) |
| 940 | "Add to the value of LIST-VAR the element ELEMENT if it isn't there yet. | 940 | "Add ELEMENT to the value of LIST-VAR if it isn't there yet. |
| 941 | The test for presence of ELEMENT is done with `equal'. | 941 | The test for presence of ELEMENT is done with `equal'. |
| 942 | If ELEMENT is added, it is added at the beginning of the list, | 942 | If ELEMENT is added, it is added at the beginning of the list, |
| 943 | unless the optional argument APPEND is non-nil, in which case | 943 | unless the optional argument APPEND is non-nil, in which case |
| @@ -959,15 +959,18 @@ other hooks, such as major mode hooks, can do the job." | |||
| 959 | 959 | ||
| 960 | 960 | ||
| 961 | (defun add-to-ordered-list (list-var element &optional order) | 961 | (defun add-to-ordered-list (list-var element &optional order) |
| 962 | "Add to the value of LIST-VAR the element ELEMENT if it isn't there yet. | 962 | "Add ELEMENT to the value of LIST-VAR if it isn't there yet. |
| 963 | The test for presence of ELEMENT is done with `eq'. | 963 | The test for presence of ELEMENT is done with `eq'. |
| 964 | 964 | ||
| 965 | The resulting list is reordered so that the elements are in the | 965 | The resulting list is reordered so that the elements are in the |
| 966 | order given by each element's numeric list order. Elements | 966 | order given by each element's numeric list order. Elements |
| 967 | without a numeric list order are placed at the end of the list. | 967 | without a numeric list order are placed at the end of the list. |
| 968 | 968 | ||
| 969 | If the third optional argument ORDER is non-nil, set the | 969 | If the third optional argument ORDER is a number (integer or |
| 970 | element's list order to the given value. | 970 | float), set the element's list order to the given value. If |
| 971 | ORDER is nil or omitted, do not change the numeric order of | ||
| 972 | ELEMENT. If ORDER has any other value, remove the numeric order | ||
| 973 | of ELEMENT if it has one. | ||
| 971 | 974 | ||
| 972 | The list order for each element is stored in LIST-VAR's | 975 | The list order for each element is stored in LIST-VAR's |
| 973 | `list-order' property. | 976 | `list-order' property. |
diff --git a/lisp/term.el b/lisp/term.el index 3295c87da14..122953af124 100644 --- a/lisp/term.el +++ b/lisp/term.el | |||
| @@ -405,7 +405,7 @@ | |||
| 405 | (require 'ehelp) | 405 | (require 'ehelp) |
| 406 | 406 | ||
| 407 | (defgroup term nil | 407 | (defgroup term nil |
| 408 | "General command interpreter in a window" | 408 | "General command interpreter in a window." |
| 409 | :group 'processes | 409 | :group 'processes |
| 410 | :group 'unix) | 410 | :group 'unix) |
| 411 | 411 | ||
| @@ -1574,7 +1574,7 @@ See also `term-read-input-ring'." | |||
| 1574 | (sit-for 0) | 1574 | (sit-for 0) |
| 1575 | (message "Hit space to flush") | 1575 | (message "Hit space to flush") |
| 1576 | (let ((ch (read-event))) | 1576 | (let ((ch (read-event))) |
| 1577 | (if (eq ch ?\ ) | 1577 | (if (eq ch ?\s) |
| 1578 | (set-window-configuration conf) | 1578 | (set-window-configuration conf) |
| 1579 | (setq unread-command-events (list ch))))))) | 1579 | (setq unread-command-events (list ch))))))) |
| 1580 | 1580 | ||
| @@ -4045,7 +4045,7 @@ Typing SPC flushes the help buffer." | |||
| 4045 | (progn | 4045 | (progn |
| 4046 | (mouse-choose-completion first) | 4046 | (mouse-choose-completion first) |
| 4047 | (set-window-configuration conf)) | 4047 | (set-window-configuration conf)) |
| 4048 | (if (eq first ?\ ) | 4048 | (if (eq first ?\s) |
| 4049 | (set-window-configuration conf) | 4049 | (set-window-configuration conf) |
| 4050 | (setq unread-command-events (listify-key-sequence key))))))) | 4050 | (setq unread-command-events (listify-key-sequence key))))))) |
| 4051 | 4051 | ||
diff --git a/lisp/term/rxvt.el b/lisp/term/rxvt.el index f5937701d1d..6e45cced2d3 100644 --- a/lisp/term/rxvt.el +++ b/lisp/term/rxvt.el | |||
| @@ -160,7 +160,7 @@ for the currently selected frame." | |||
| 160 | "Set background mode as appropriate for the default rxvt colors." | 160 | "Set background mode as appropriate for the default rxvt colors." |
| 161 | (let ((fgbg (server-getenv "COLORFGBG")) | 161 | (let ((fgbg (server-getenv "COLORFGBG")) |
| 162 | bg rgb) | 162 | bg rgb) |
| 163 | (setq frame-background-mode 'light) ; default | 163 | (setq default-frame-background-mode 'light) |
| 164 | (when (and fgbg | 164 | (when (and fgbg |
| 165 | (string-match ".*;\\([0-9][0-9]?\\)\\'" fgbg)) | 165 | (string-match ".*;\\([0-9][0-9]?\\)\\'" fgbg)) |
| 166 | (setq bg (string-to-number (substring fgbg (match-beginning 1)))) | 166 | (setq bg (string-to-number (substring fgbg (match-beginning 1)))) |
| @@ -173,7 +173,7 @@ for the currently selected frame." | |||
| 173 | ;; The following line assumes that white is the 15th | 173 | ;; The following line assumes that white is the 15th |
| 174 | ;; color in rxvt-standard-colors. | 174 | ;; color in rxvt-standard-colors. |
| 175 | (* (apply '+ (car (cddr (nth 15 rxvt-standard-colors)))) 0.6)) | 175 | (* (apply '+ (car (cddr (nth 15 rxvt-standard-colors)))) 0.6)) |
| 176 | (setq frame-background-mode 'dark))) | 176 | (setq default-frame-background-mode 'dark))) |
| 177 | (frame-set-background-mode (selected-frame)))) | 177 | (frame-set-background-mode (selected-frame)))) |
| 178 | 178 | ||
| 179 | ;; Do it! | 179 | ;; Do it! |
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el index af4e065779a..6465b08daf1 100644 --- a/lisp/term/xterm.el +++ b/lisp/term/xterm.el | |||
| @@ -376,7 +376,7 @@ versions of xterm." | |||
| 376 | "Set background mode as appropriate for the default rxvt colors." | 376 | "Set background mode as appropriate for the default rxvt colors." |
| 377 | (let ((fgbg (server-getenv "COLORFGBG")) | 377 | (let ((fgbg (server-getenv "COLORFGBG")) |
| 378 | bg rgb) | 378 | bg rgb) |
| 379 | (setq frame-background-mode 'light) ; default | 379 | (setq default-frame-background-mode 'light) |
| 380 | (when (and fgbg | 380 | (when (and fgbg |
| 381 | (string-match ".*;\\([0-9][0-9]?\\)\\'" fgbg)) | 381 | (string-match ".*;\\([0-9][0-9]?\\)\\'" fgbg)) |
| 382 | (setq bg (string-to-number (substring fgbg (match-beginning 1)))) | 382 | (setq bg (string-to-number (substring fgbg (match-beginning 1)))) |
| @@ -389,7 +389,7 @@ versions of xterm." | |||
| 389 | ;; The following line assumes that white is the 15th | 389 | ;; The following line assumes that white is the 15th |
| 390 | ;; color in xterm-standard-colors. | 390 | ;; color in xterm-standard-colors. |
| 391 | (* (apply '+ (car (cddr (nth 15 xterm-standard-colors)))) 0.6)) | 391 | (* (apply '+ (car (cddr (nth 15 xterm-standard-colors)))) 0.6)) |
| 392 | (setq frame-background-mode 'dark))) | 392 | (setq default-frame-background-mode 'dark))) |
| 393 | (frame-set-background-mode (selected-frame)))) | 393 | (frame-set-background-mode (selected-frame)))) |
| 394 | 394 | ||
| 395 | ;; Do it! | 395 | ;; Do it! |
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el index 2d40d6da026..3729453b82f 100644 --- a/lisp/textmodes/artist.el +++ b/lisp/textmodes/artist.el | |||
| @@ -502,7 +502,18 @@ This variable is initialized by the artist-make-prev-next-op-alist function.") | |||
| 502 | (if artist-picture-compatibility | 502 | (if artist-picture-compatibility |
| 503 | (require 'picture)) | 503 | (require 'picture)) |
| 504 | 504 | ||
| 505 | 505 | ;; Variables that are made local in artist-mode-init | |
| 506 | (defvar artist-key-is-drawing nil) | ||
| 507 | (defvar artist-key-endpoint1 nil) | ||
| 508 | (defvar artist-key-poly-point-list nil) | ||
| 509 | (defvar artist-key-shape nil) | ||
| 510 | (defvar artist-key-draw-how nil) | ||
| 511 | (defvar artist-popup-menu-table nil) | ||
| 512 | (defvar artist-key-compl-table nil) | ||
| 513 | (defvar artist-rb-save-data nil) | ||
| 514 | (defvar artist-arrow-point-1 nil) | ||
| 515 | (defvar artist-arrow-point-2 nil) | ||
| 516 | |||
| 506 | (defvar artist-mode-map | 517 | (defvar artist-mode-map |
| 507 | (let ((map (make-sparse-keymap))) | 518 | (let ((map (make-sparse-keymap))) |
| 508 | (setq artist-mode-map (make-sparse-keymap)) | 519 | (setq artist-mode-map (make-sparse-keymap)) |
| @@ -1370,21 +1381,6 @@ Keymap summary | |||
| 1370 | minor-mode-map-alist))) | 1381 | minor-mode-map-alist))) |
| 1371 | 1382 | ||
| 1372 | 1383 | ||
| 1373 | |||
| 1374 | (eval-when-compile | ||
| 1375 | ;; Variables that are made local in artist-mode-init | ||
| 1376 | (defvar artist-key-is-drawing nil) | ||
| 1377 | (defvar artist-key-endpoint1 nil) | ||
| 1378 | (defvar artist-key-poly-point-list nil) | ||
| 1379 | (defvar artist-key-shape nil) | ||
| 1380 | (defvar artist-key-draw-how nil) | ||
| 1381 | (defvar artist-popup-menu-table nil) | ||
| 1382 | (defvar artist-key-compl-table nil) | ||
| 1383 | (defvar artist-rb-save-data nil) | ||
| 1384 | (defvar artist-arrow-point-1 nil) | ||
| 1385 | (defvar artist-arrow-point-2 nil)) | ||
| 1386 | |||
| 1387 | |||
| 1388 | ;; Init and exit | 1384 | ;; Init and exit |
| 1389 | (defun artist-mode-init () | 1385 | (defun artist-mode-init () |
| 1390 | "Init Artist mode. This will call the hook `artist-mode-init-hook'." | 1386 | "Init Artist mode. This will call the hook `artist-mode-init-hook'." |
| @@ -2875,7 +2871,7 @@ Returns a list of strings." | |||
| 2875 | 2871 | ||
| 2876 | (defun artist-figlet-get-extra-args () | 2872 | (defun artist-figlet-get-extra-args () |
| 2877 | "Read any extra arguments for figlet." | 2873 | "Read any extra arguments for figlet." |
| 2878 | (let ((extra-args (read-input "Extra args to figlet: "))) | 2874 | (let ((extra-args (read-string "Extra args to figlet: "))) |
| 2879 | (if (string= extra-args "") | 2875 | (if (string= extra-args "") |
| 2880 | nil | 2876 | nil |
| 2881 | extra-args))) | 2877 | extra-args))) |
| @@ -2916,7 +2912,7 @@ This is done by calling the function specified by `artist-text-renderer', | |||
| 2916 | which must return a list of strings, to be inserted in the buffer. | 2912 | which must return a list of strings, to be inserted in the buffer. |
| 2917 | 2913 | ||
| 2918 | Text already in the buffer ``shines thru'' blanks in the rendered text." | 2914 | Text already in the buffer ``shines thru'' blanks in the rendered text." |
| 2919 | (let* ((input-text (read-input "Type text to render: ")) | 2915 | (let* ((input-text (read-string "Type text to render: ")) |
| 2920 | (rendered-text (artist-funcall artist-text-renderer input-text))) | 2916 | (rendered-text (artist-funcall artist-text-renderer input-text))) |
| 2921 | (artist-text-insert-see-thru x y rendered-text))) | 2917 | (artist-text-insert-see-thru x y rendered-text))) |
| 2922 | 2918 | ||
| @@ -2927,7 +2923,7 @@ This is done by calling the function specified by `artist-text-renderer', | |||
| 2927 | which must return a list of strings, to be inserted in the buffer. | 2923 | which must return a list of strings, to be inserted in the buffer. |
| 2928 | 2924 | ||
| 2929 | Blanks in the rendered text overwrites any text in the buffer." | 2925 | Blanks in the rendered text overwrites any text in the buffer." |
| 2930 | (let* ((input-text (read-input "Type text to render: ")) | 2926 | (let* ((input-text (read-string "Type text to render: ")) |
| 2931 | (rendered-text (artist-funcall artist-text-renderer input-text))) | 2927 | (rendered-text (artist-funcall artist-text-renderer input-text))) |
| 2932 | (artist-text-insert-overwrite x y rendered-text))) | 2928 | (artist-text-insert-overwrite x y rendered-text))) |
| 2933 | 2929 | ||
| @@ -3850,8 +3846,8 @@ Optional argument STATE can be used to set state (default is nil)." | |||
| 3850 | (x2 (artist-endpoint-get-x ep2)) | 3846 | (x2 (artist-endpoint-get-x ep2)) |
| 3851 | (y2 (artist-endpoint-get-y ep2)) | 3847 | (y2 (artist-endpoint-get-y ep2)) |
| 3852 | (dir1 (artist-find-direction x2 y2 x1 y1)) | 3848 | (dir1 (artist-find-direction x2 y2 x1 y1)) |
| 3853 | (epn (artist-last point-list)) | 3849 | (epn (last point-list)) |
| 3854 | (epn-1 (artist-last point-list 2)) | 3850 | (epn-1 (last point-list 2)) |
| 3855 | (xn (artist-endpoint-get-x epn)) | 3851 | (xn (artist-endpoint-get-x epn)) |
| 3856 | (yn (artist-endpoint-get-y epn)) | 3852 | (yn (artist-endpoint-get-y epn)) |
| 3857 | (xn-1 (artist-endpoint-get-x epn-1)) | 3853 | (xn-1 (artist-endpoint-get-x epn-1)) |
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el index 5f4a83b07eb..956d2947456 100644 --- a/lisp/textmodes/bibtex.el +++ b/lisp/textmodes/bibtex.el | |||
| @@ -48,12 +48,12 @@ | |||
| 48 | ;; User Options: | 48 | ;; User Options: |
| 49 | 49 | ||
| 50 | (defgroup bibtex nil | 50 | (defgroup bibtex nil |
| 51 | "BibTeX mode" | 51 | "BibTeX mode." |
| 52 | :group 'tex | 52 | :group 'tex |
| 53 | :prefix "bibtex-") | 53 | :prefix "bibtex-") |
| 54 | 54 | ||
| 55 | (defgroup bibtex-autokey nil | 55 | (defgroup bibtex-autokey nil |
| 56 | "Generate automatically a key from the author/editor and the title field" | 56 | "Generate automatically a key from the author/editor and the title field." |
| 57 | :group 'bibtex | 57 | :group 'bibtex |
| 58 | :prefix "bibtex-autokey-") | 58 | :prefix "bibtex-autokey-") |
| 59 | 59 | ||
| @@ -2800,7 +2800,7 @@ if that value is non-nil. | |||
| 2800 | (set (make-local-variable 'fill-paragraph-function) 'bibtex-fill-field) | 2800 | (set (make-local-variable 'fill-paragraph-function) 'bibtex-fill-field) |
| 2801 | (set (make-local-variable 'fill-prefix) (make-string (+ bibtex-entry-offset | 2801 | (set (make-local-variable 'fill-prefix) (make-string (+ bibtex-entry-offset |
| 2802 | bibtex-contline-indentation) | 2802 | bibtex-contline-indentation) |
| 2803 | ? )) | 2803 | ?\s)) |
| 2804 | (set (make-local-variable 'font-lock-defaults) | 2804 | (set (make-local-variable 'font-lock-defaults) |
| 2805 | '(bibtex-font-lock-keywords | 2805 | '(bibtex-font-lock-keywords |
| 2806 | nil t ((?$ . "\"") | 2806 | nil t ((?$ . "\"") |
diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el index b1b5abc488f..b6bcb83e2a3 100644 --- a/lisp/textmodes/enriched.el +++ b/lisp/textmodes/enriched.el | |||
| @@ -47,7 +47,7 @@ | |||
| 47 | ;;; | 47 | ;;; |
| 48 | 48 | ||
| 49 | (defgroup enriched nil | 49 | (defgroup enriched nil |
| 50 | "Read and save files in text/enriched format" | 50 | "Read and save files in text/enriched format." |
| 51 | :group 'wp) | 51 | :group 'wp) |
| 52 | 52 | ||
| 53 | (defcustom enriched-verbose t | 53 | (defcustom enriched-verbose t |
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el index 8c2d0937a5a..fc74fc67041 100644 --- a/lisp/textmodes/flyspell.el +++ b/lisp/textmodes/flyspell.el | |||
| @@ -66,10 +66,6 @@ | |||
| 66 | 'emacs)) | 66 | 'emacs)) |
| 67 | "The type of Emacs we are currently running.") | 67 | "The type of Emacs we are currently running.") |
| 68 | 68 | ||
| 69 | (defvar flyspell-use-local-map | ||
| 70 | (or (eq flyspell-emacs 'xemacs) | ||
| 71 | (not (string< emacs-version "20")))) | ||
| 72 | |||
| 73 | ;*---------------------------------------------------------------------*/ | 69 | ;*---------------------------------------------------------------------*/ |
| 74 | ;* User configuration ... */ | 70 | ;* User configuration ... */ |
| 75 | ;*---------------------------------------------------------------------*/ | 71 | ;*---------------------------------------------------------------------*/ |
| @@ -403,34 +399,22 @@ property of the major mode name.") | |||
| 403 | ;*---------------------------------------------------------------------*/ | 399 | ;*---------------------------------------------------------------------*/ |
| 404 | ;* The minor mode declaration. */ | 400 | ;* The minor mode declaration. */ |
| 405 | ;*---------------------------------------------------------------------*/ | 401 | ;*---------------------------------------------------------------------*/ |
| 406 | (eval-when-compile (defvar flyspell-local-mouse-map)) | ||
| 407 | |||
| 408 | (defvar flyspell-mouse-map | 402 | (defvar flyspell-mouse-map |
| 409 | (let ((map (make-sparse-keymap))) | 403 | (let ((map (make-sparse-keymap))) |
| 410 | (if flyspell-use-meta-tab | ||
| 411 | (define-key map "\M-\t" #'flyspell-auto-correct-word)) | ||
| 412 | (define-key map (if (featurep 'xemacs) [button2] [down-mouse-2]) | 404 | (define-key map (if (featurep 'xemacs) [button2] [down-mouse-2]) |
| 413 | #'flyspell-correct-word) | 405 | #'flyspell-correct-word) |
| 414 | (define-key map flyspell-auto-correct-binding 'flyspell-auto-correct-previous-word) | 406 | map) |
| 415 | (define-key map [(control \,)] 'flyspell-goto-next-error) | 407 | "Keymap for Flyspell to put on erroneous words.") |
| 416 | (define-key map [(control \.)] 'flyspell-auto-correct-word) | ||
| 417 | map)) | ||
| 418 | 408 | ||
| 419 | (defvar flyspell-mode-map | 409 | (defvar flyspell-mode-map |
| 420 | (let ((map (make-sparse-keymap))) | 410 | (let ((map (make-sparse-keymap))) |
| 421 | ;; mouse, keyboard bindings and misc definition | ||
| 422 | (if flyspell-use-meta-tab | 411 | (if flyspell-use-meta-tab |
| 423 | (define-key map "\M-\t" 'flyspell-auto-correct-word)) | 412 | (define-key map "\M-\t" 'flyspell-auto-correct-word)) |
| 424 | (cond | 413 | (define-key map flyspell-auto-correct-binding 'flyspell-auto-correct-previous-word) |
| 425 | ;; I don't understand this test, so I left it as is. --Stef | 414 | (define-key map [(control ?\,)] 'flyspell-goto-next-error) |
| 426 | ((or (featurep 'xemacs) flyspell-use-local-map) | 415 | (define-key map [(control ?\.)] 'flyspell-auto-correct-word) |
| 427 | (define-key map flyspell-auto-correct-binding 'flyspell-auto-correct-previous-word) | 416 | map) |
| 428 | (define-key map [(control ?\,)] 'flyspell-goto-next-error) | 417 | "Minor mode keymap for Flyspell mode--for the whole buffer.") |
| 429 | (define-key map [(control ?\.)] 'flyspell-auto-correct-word))) | ||
| 430 | map)) | ||
| 431 | |||
| 432 | ;; the name of the overlay property that defines the keymap | ||
| 433 | (defvar flyspell-overlay-keymap-property-name 'keymap) | ||
| 434 | 418 | ||
| 435 | ;; dash character machinery | 419 | ;; dash character machinery |
| 436 | (defvar flyspell-consider-dash-as-word-delimiter-flag nil | 420 | (defvar flyspell-consider-dash-as-word-delimiter-flag nil |
| @@ -569,22 +553,6 @@ in your .emacs file. | |||
| 569 | (let ((mode-predicate (get major-mode 'flyspell-mode-predicate))) | 553 | (let ((mode-predicate (get major-mode 'flyspell-mode-predicate))) |
| 570 | (if mode-predicate | 554 | (if mode-predicate |
| 571 | (setq flyspell-generic-check-word-p mode-predicate))) | 555 | (setq flyspell-generic-check-word-p mode-predicate))) |
| 572 | ;; work around the fact that the `local-map' text-property replaces the | ||
| 573 | ;; buffer's local map rather than shadowing it. | ||
| 574 | (set (make-local-variable 'flyspell-mouse-map) | ||
| 575 | (let ((map (copy-keymap flyspell-mouse-map))) | ||
| 576 | (set-keymap-parent map (current-local-map)) | ||
| 577 | (if (and (eq flyspell-emacs 'emacs) | ||
| 578 | (not (string< emacs-version "20"))) | ||
| 579 | (define-key map '[tool-bar] nil)) | ||
| 580 | map)) | ||
| 581 | (set (make-local-variable 'flyspell-mode-map) | ||
| 582 | (let ((map (copy-keymap flyspell-mode-map))) | ||
| 583 | (set-keymap-parent map (current-local-map)) | ||
| 584 | (if (and (eq flyspell-emacs 'emacs) | ||
| 585 | (not (string< emacs-version "20"))) | ||
| 586 | (define-key map '[tool-bar] nil)) | ||
| 587 | map)) | ||
| 588 | ;; the welcome message | 556 | ;; the welcome message |
| 589 | (if (and flyspell-issue-message-flag | 557 | (if (and flyspell-issue-message-flag |
| 590 | flyspell-issue-welcome-flag | 558 | flyspell-issue-welcome-flag |
| @@ -1570,10 +1538,7 @@ for the overlay." | |||
| 1570 | (overlay-put flyspell-overlay 'flyspell-overlay t) | 1538 | (overlay-put flyspell-overlay 'flyspell-overlay t) |
| 1571 | (overlay-put flyspell-overlay 'evaporate t) | 1539 | (overlay-put flyspell-overlay 'evaporate t) |
| 1572 | (overlay-put flyspell-overlay 'help-echo "mouse-2: correct word at point") | 1540 | (overlay-put flyspell-overlay 'help-echo "mouse-2: correct word at point") |
| 1573 | (if flyspell-use-local-map | 1541 | (overlay-put flyspell-overlay 'keymap flyspell-mouse-map) |
| 1574 | (overlay-put flyspell-overlay | ||
| 1575 | flyspell-overlay-keymap-property-name | ||
| 1576 | flyspell-mouse-map)) | ||
| 1577 | (when (eq face 'flyspell-incorrect) | 1542 | (when (eq face 'flyspell-incorrect) |
| 1578 | (and (stringp flyspell-before-incorrect-word-string) | 1543 | (and (stringp flyspell-before-incorrect-word-string) |
| 1579 | (overlay-put flyspell-overlay 'before-string | 1544 | (overlay-put flyspell-overlay 'before-string |
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index afdfc951b96..5d966c07abf 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el | |||
| @@ -1468,80 +1468,79 @@ quit spell session exited." | |||
| 1468 | end (car (cdr (cdr word))) | 1468 | end (car (cdr (cdr word))) |
| 1469 | word (car word)) | 1469 | word (car word)) |
| 1470 | 1470 | ||
| 1471 | ;; now check spelling of word if it has 3 or more characters. | 1471 | ;; At this point it used to ignore 2-letter words. |
| 1472 | (cond | 1472 | ;; But that is silly; if the user asks for it, we should do it. - rms. |
| 1473 | ((> (length word) 2) | 1473 | (or quietly |
| 1474 | (or quietly | 1474 | (message "Checking spelling of %s..." |
| 1475 | (message "Checking spelling of %s..." | 1475 | (funcall ispell-format-word word))) |
| 1476 | (funcall ispell-format-word word))) | 1476 | (ispell-send-string "%\n") ; put in verbose mode |
| 1477 | (ispell-send-string "%\n") ; put in verbose mode | 1477 | (ispell-send-string (concat "^" word "\n")) |
| 1478 | (ispell-send-string (concat "^" word "\n")) | 1478 | ;; wait until ispell has processed word |
| 1479 | ;; wait until ispell has processed word | 1479 | (while (progn |
| 1480 | (while (progn | 1480 | (ispell-accept-output) |
| 1481 | (ispell-accept-output) | 1481 | (not (string= "" (car ispell-filter))))) |
| 1482 | (not (string= "" (car ispell-filter))))) | 1482 | ;;(ispell-send-string "!\n") ;back to terse mode. |
| 1483 | ;;(ispell-send-string "!\n") ;back to terse mode. | 1483 | (setq ispell-filter (cdr ispell-filter)) ; remove extra \n |
| 1484 | (setq ispell-filter (cdr ispell-filter)) ; remove extra \n | 1484 | (if (and ispell-filter (listp ispell-filter)) |
| 1485 | (if (and ispell-filter (listp ispell-filter)) | 1485 | (if (> (length ispell-filter) 1) |
| 1486 | (if (> (length ispell-filter) 1) | 1486 | (error "Ispell and its process have different character maps") |
| 1487 | (error "Ispell and its process have different character maps") | 1487 | (setq poss (ispell-parse-output (car ispell-filter))))) |
| 1488 | (setq poss (ispell-parse-output (car ispell-filter))))) | 1488 | (cond ((eq poss t) |
| 1489 | (cond ((eq poss t) | 1489 | (or quietly |
| 1490 | (or quietly | 1490 | (message "%s is correct" |
| 1491 | (message "%s is correct" | 1491 | (funcall ispell-format-word word))) |
| 1492 | (funcall ispell-format-word word))) | 1492 | (and (fboundp 'extent-at) |
| 1493 | (and (fboundp 'extent-at) | 1493 | (extent-at start) |
| 1494 | (extent-at start) | 1494 | (delete-extent (extent-at start)))) |
| 1495 | (delete-extent (extent-at start)))) | 1495 | ((stringp poss) |
| 1496 | ((stringp poss) | 1496 | (or quietly |
| 1497 | (or quietly | 1497 | (message "%s is correct because of root %s" |
| 1498 | (message "%s is correct because of root %s" | 1498 | (funcall ispell-format-word word) |
| 1499 | (funcall ispell-format-word word) | 1499 | (funcall ispell-format-word poss))) |
| 1500 | (funcall ispell-format-word poss))) | 1500 | (and (fboundp 'extent-at) |
| 1501 | (and (fboundp 'extent-at) | 1501 | (extent-at start) |
| 1502 | (extent-at start) | 1502 | (delete-extent (extent-at start)))) |
| 1503 | (delete-extent (extent-at start)))) | 1503 | ((null poss) (message "Error in ispell process")) |
| 1504 | ((null poss) (message "Error in ispell process")) | 1504 | (ispell-check-only ; called from ispell minor mode. |
| 1505 | (ispell-check-only ; called from ispell minor mode. | 1505 | (if (fboundp 'make-extent) |
| 1506 | (if (fboundp 'make-extent) | 1506 | (let ((ext (make-extent start end))) |
| 1507 | (let ((ext (make-extent start end))) | 1507 | (set-extent-property ext 'face ispell-highlight-face) |
| 1508 | (set-extent-property ext 'face ispell-highlight-face) | 1508 | (set-extent-property ext 'priority 2000)) |
| 1509 | (set-extent-property ext 'priority 2000)) | 1509 | (beep) |
| 1510 | (beep) | 1510 | (message "%s is incorrect"(funcall ispell-format-word word)))) |
| 1511 | (message "%s is incorrect"(funcall ispell-format-word word)))) | 1511 | (t ; prompt for correct word. |
| 1512 | (t ; prompt for correct word. | 1512 | (save-window-excursion |
| 1513 | (save-window-excursion | 1513 | (setq replace (ispell-command-loop |
| 1514 | (setq replace (ispell-command-loop | 1514 | (car (cdr (cdr poss))) |
| 1515 | (car (cdr (cdr poss))) | 1515 | (car (cdr (cdr (cdr poss)))) |
| 1516 | (car (cdr (cdr (cdr poss)))) | 1516 | (car poss) start end))) |
| 1517 | (car poss) start end))) | 1517 | (cond ((equal 0 replace) |
| 1518 | (cond ((equal 0 replace) | 1518 | (ispell-add-per-file-word-list (car poss))) |
| 1519 | (ispell-add-per-file-word-list (car poss))) | 1519 | (replace |
| 1520 | (replace | 1520 | (setq new-word (if (atom replace) replace (car replace)) |
| 1521 | (setq new-word (if (atom replace) replace (car replace)) | 1521 | cursor-location (+ (- (length word) (- end start)) |
| 1522 | cursor-location (+ (- (length word) (- end start)) | 1522 | cursor-location)) |
| 1523 | cursor-location)) | 1523 | (if (not (equal new-word (car poss))) |
| 1524 | (if (not (equal new-word (car poss))) | 1524 | (progn |
| 1525 | (progn | 1525 | (delete-region start end) |
| 1526 | (delete-region start end) | 1526 | (setq start (point)) |
| 1527 | (setq start (point)) | 1527 | (ispell-insert-word new-word) |
| 1528 | (ispell-insert-word new-word) | 1528 | (setq end (point)))) |
| 1529 | (setq end (point)))) | 1529 | (if (not (atom replace)) ;recheck spelling of replacement |
| 1530 | (if (not (atom replace)) ;recheck spelling of replacement | 1530 | (progn |
| 1531 | (progn | 1531 | (if (car (cdr replace)) ; query replace requested |
| 1532 | (if (car (cdr replace)) ; query replace requested | 1532 | (save-window-excursion |
| 1533 | (save-window-excursion | 1533 | (query-replace word new-word t))) |
| 1534 | (query-replace word new-word t))) | 1534 | (goto-char start) |
| 1535 | (goto-char start) | 1535 | ;; single word could be split into multiple words |
| 1536 | ;; single word could be split into multiple words | 1536 | (setq ispell-quit (not (ispell-region start end))) |
| 1537 | (setq ispell-quit (not (ispell-region start end))) | 1537 | )))) |
| 1538 | )))) | 1538 | ;; keep if rechecking word and we keep choices win. |
| 1539 | ;; keep if rechecking word and we keep choices win. | 1539 | (if (get-buffer ispell-choices-buffer) |
| 1540 | (if (get-buffer ispell-choices-buffer) | 1540 | (kill-buffer ispell-choices-buffer)))) |
| 1541 | (kill-buffer ispell-choices-buffer)))) | 1541 | (ispell-pdict-save ispell-silently-savep) |
| 1542 | (ispell-pdict-save ispell-silently-savep) | 1542 | ;; NB: Cancels ispell-quit incorrectly if called from ispell-region |
| 1543 | ;; NB: Cancels ispell-quit incorrectly if called from ispell-region | 1543 | (if ispell-quit (setq ispell-quit nil replace 'quit)) |
| 1544 | (if ispell-quit (setq ispell-quit nil replace 'quit)))) | ||
| 1545 | (goto-char cursor-location) ; return to original location | 1544 | (goto-char cursor-location) ; return to original location |
| 1546 | replace))) | 1545 | replace))) |
| 1547 | 1546 | ||
diff --git a/lisp/textmodes/makeinfo.el b/lisp/textmodes/makeinfo.el index 9136cb52202..7327cf9840a 100644 --- a/lisp/textmodes/makeinfo.el +++ b/lisp/textmodes/makeinfo.el | |||
| @@ -50,7 +50,7 @@ | |||
| 50 | (require 'info) | 50 | (require 'info) |
| 51 | 51 | ||
| 52 | (defgroup makeinfo nil | 52 | (defgroup makeinfo nil |
| 53 | "Run makeinfo conveniently" | 53 | "Run makeinfo conveniently." |
| 54 | :group 'docs) | 54 | :group 'docs) |
| 55 | 55 | ||
| 56 | 56 | ||
diff --git a/lisp/textmodes/org.el b/lisp/textmodes/org.el index 635bb6b5a98..1551738050b 100644 --- a/lisp/textmodes/org.el +++ b/lisp/textmodes/org.el | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | ;;; org.el --- Outline-based notes management and organizer | 1 | ;; org.el --- Outline-based notes management and organizer |
| 2 | ;; Carstens outline-mode for keeping track of everything. | 2 | ;; Carstens outline-mode for keeping track of everything. |
| 3 | ;; Copyright (c) 2004, 2005 Free Software Foundation | 3 | ;; Copyright (c) 2004, 2005 Free Software Foundation |
| 4 | ;; | 4 | ;; |
| 5 | ;; Author: Carsten Dominik <dominik at science dot uva dot nl> | 5 | ;; Author: Carsten Dominik <dominik at science dot uva dot nl> |
| 6 | ;; Keywords: outlines, hypermedia, calendar | 6 | ;; Keywords: outlines, hypermedia, calendar |
| 7 | ;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/ | 7 | ;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/ |
| 8 | ;; Version: 3.11 | 8 | ;; Version: 3.12 |
| 9 | ;; | 9 | ;; |
| 10 | ;; This file is part of GNU Emacs. | 10 | ;; This file is part of GNU Emacs. |
| 11 | ;; | 11 | ;; |
| @@ -80,10 +80,20 @@ | |||
| 80 | ;; | 80 | ;; |
| 81 | ;; Changes: | 81 | ;; Changes: |
| 82 | ;; ------- | 82 | ;; ------- |
| 83 | ;; Version 3.12 | ||
| 84 | ;; - Tables can store formulas (one per column) and compute fields. | ||
| 85 | ;; Not quite like a full spreadsheet, but very powerful. | ||
| 86 | ;; - table.el keybinding is now `C-c ~'. | ||
| 87 | ;; - Numeric argument to org-cycle does `show-subtree' above on level ARG. | ||
| 88 | ;; - Small changes to keys in agenda buffer. Affected keys: | ||
| 89 | ;; [w] weekly view; [d] daily view; [D] toggle diary inclusion. | ||
| 90 | ;; - Bug fixes. | ||
| 91 | ;; | ||
| 83 | ;; Version 3.11 | 92 | ;; Version 3.11 |
| 84 | ;; - Links inserted with C-c C-l are now by default enclosed in angle | 93 | ;; - Links inserted with C-c C-l are now by default enclosed in angle |
| 85 | ;; brackets. See the new variable `org-link-format'. | 94 | ;; brackets. See the new variable `org-link-format'. |
| 86 | ;; - ">" terminates a link, this is a way to have several links in a line. | 95 | ;; - ">" terminates a link, this is a way to have several links in a line. |
| 96 | ;; Both "<" and ">" are no longer allowed as characters in a link. | ||
| 87 | ;; - Archiving of finished tasks. | 97 | ;; - Archiving of finished tasks. |
| 88 | ;; - C-<up>/<down> bindings removed, to allow access to paragraph commands. | 98 | ;; - C-<up>/<down> bindings removed, to allow access to paragraph commands. |
| 89 | ;; - Compatibility with CUA-mode (see variable `org-CUA-compatible'). | 99 | ;; - Compatibility with CUA-mode (see variable `org-CUA-compatible'). |
| @@ -168,7 +178,7 @@ | |||
| 168 | 178 | ||
| 169 | ;;; Customization variables | 179 | ;;; Customization variables |
| 170 | 180 | ||
| 171 | (defvar org-version "3.11" | 181 | (defvar org-version "3.12" |
| 172 | "The version number of the file org.el.") | 182 | "The version number of the file org.el.") |
| 173 | (defun org-version () | 183 | (defun org-version () |
| 174 | (interactive) | 184 | (interactive) |
| @@ -183,7 +193,7 @@ | |||
| 183 | "Are we using the new outline mode?") | 193 | "Are we using the new outline mode?") |
| 184 | 194 | ||
| 185 | (defgroup org nil | 195 | (defgroup org nil |
| 186 | "Outline-based notes management and organizer " | 196 | "Outline-based notes management and organizer." |
| 187 | :tag "Org" | 197 | :tag "Org" |
| 188 | :group 'outlines | 198 | :group 'outlines |
| 189 | :group 'hypermedia | 199 | :group 'hypermedia |
| @@ -584,7 +594,7 @@ When nil, only the days which actually have entries are shown." | |||
| 584 | ;; require a variable ndays treatment. | 594 | ;; require a variable ndays treatment. |
| 585 | (defcustom org-agenda-start-on-weekday 1 | 595 | (defcustom org-agenda-start-on-weekday 1 |
| 586 | "Non-nil means, start the overview always on the specified weekday. | 596 | "Non-nil means, start the overview always on the specified weekday. |
| 587 | 0 Denotes Sunday, 1 denotes Monday etc. | 597 | 0 denotes Sunday, 1 denotes Monday etc. |
| 588 | When nil, always start on the current day." | 598 | When nil, always start on the current day." |
| 589 | :group 'org-agenda | 599 | :group 'org-agenda |
| 590 | :type '(choice (const :tag "Today" nil) | 600 | :type '(choice (const :tag "Today" nil) |
| @@ -613,8 +623,8 @@ the entries for specific days." | |||
| 613 | (defcustom org-calendar-to-agenda-key [?c] | 623 | (defcustom org-calendar-to-agenda-key [?c] |
| 614 | "The key to be installed in `calendar-mode-map' for switching to the agenda. | 624 | "The key to be installed in `calendar-mode-map' for switching to the agenda. |
| 615 | The command `org-calendar-goto-agenda' will be bound to this key. The | 625 | The command `org-calendar-goto-agenda' will be bound to this key. The |
| 616 | default is the character `c' because then`c' can be used to switch back and | 626 | default is the character `c' because then `c' can be used to switch back and |
| 617 | force between agenda and calendar." | 627 | forth between agenda and calendar." |
| 618 | :group 'org-agenda | 628 | :group 'org-agenda |
| 619 | :type 'sexp) | 629 | :type 'sexp) |
| 620 | 630 | ||
| @@ -622,7 +632,7 @@ force between agenda and calendar." | |||
| 622 | "Sorting structure for the agenda items of a single day. | 632 | "Sorting structure for the agenda items of a single day. |
| 623 | This is a list of symbols which will be used in sequence to determine | 633 | This is a list of symbols which will be used in sequence to determine |
| 624 | if an entry should be listed before another entry. The following | 634 | if an entry should be listed before another entry. The following |
| 625 | symbols are recognized. | 635 | symbols are recognized: |
| 626 | 636 | ||
| 627 | time-up Put entries with time-of-day indications first, early first | 637 | time-up Put entries with time-of-day indications first, early first |
| 628 | time-down Put entries with time-of-day indications first, late first | 638 | time-down Put entries with time-of-day indications first, late first |
| @@ -715,9 +725,9 @@ of `org-agenda-prefix-format' or `org-timeline-prefix-format'.") | |||
| 715 | (defcustom org-agenda-use-time-grid t | 725 | (defcustom org-agenda-use-time-grid t |
| 716 | "Non-nil means, show a time grid in the agenda schedule. | 726 | "Non-nil means, show a time grid in the agenda schedule. |
| 717 | A time grid is a set of lines for specific times (like every two hours between | 727 | A time grid is a set of lines for specific times (like every two hours between |
| 718 | 8:00 and 20:00. The items scheduled for a day at specific times are | 728 | 8:00 and 20:00). The items scheduled for a day at specific times are |
| 719 | sorted in between these lines. | 729 | sorted in between these lines. |
| 720 | For deails about when the grid will be shown, and what it will look like, see | 730 | For details about when the grid will be shown, and what it will look like, see |
| 721 | the variable `org-agenda-time-grid'." | 731 | the variable `org-agenda-time-grid'." |
| 722 | :group 'org-agenda | 732 | :group 'org-agenda |
| 723 | :type 'boolean) | 733 | :type 'boolean) |
| @@ -838,7 +848,7 @@ unnecessary clutter." | |||
| 838 | This string consists of two parts, separated by a double-colon. | 848 | This string consists of two parts, separated by a double-colon. |
| 839 | 849 | ||
| 840 | The first part is a file name - when omitted, archiving happens in the same | 850 | The first part is a file name - when omitted, archiving happens in the same |
| 841 | file. %s will be replaced by the current file name (without directory part). | 851 | file. `%s' will be replaced by the current file name (without directory part). |
| 842 | Archiving to a different file is useful to keep archived entries from | 852 | Archiving to a different file is useful to keep archived entries from |
| 843 | contributing to the Org-mode Agenda. | 853 | contributing to the Org-mode Agenda. |
| 844 | 854 | ||
| @@ -905,7 +915,7 @@ recommend an additional URL: prefix, so the format would be \"<URL:%s>\"." | |||
| 905 | When nil, it becomes possible to put several links into a line. | 915 | When nil, it becomes possible to put several links into a line. |
| 906 | Note that in tables, a link never extends accross fields, so in a table | 916 | Note that in tables, a link never extends accross fields, so in a table |
| 907 | it is always possible to put several links into a line. | 917 | it is always possible to put several links into a line. |
| 908 | Changing this varable requires a re-launch of Emacs of become effective." | 918 | Changing this variable requires a re-launch of Emacs to become effective." |
| 909 | :group 'org-link | 919 | :group 'org-link |
| 910 | :type 'boolean) | 920 | :type 'boolean) |
| 911 | 921 | ||
| @@ -970,7 +980,7 @@ another window." | |||
| 970 | (const find-file-other-frame))))) | 980 | (const find-file-other-frame))))) |
| 971 | 981 | ||
| 972 | (defcustom org-usenet-links-prefer-google nil | 982 | (defcustom org-usenet-links-prefer-google nil |
| 973 | "Non-nil means, `org-store-link' will create web links to google groups. | 983 | "Non-nil means, `org-store-link' will create web links to Google groups. |
| 974 | When nil, Gnus will be used for such links. | 984 | When nil, Gnus will be used for such links. |
| 975 | Using a prefix arg to the command \\[org-store-link] (`org-store-link') | 985 | Using a prefix arg to the command \\[org-store-link] (`org-store-link') |
| 976 | negates this setting for the duration of the command." | 986 | negates this setting for the duration of the command." |
| @@ -1109,13 +1119,13 @@ When nil, new notes will be filed to the end of a file or entry." | |||
| 1109 | When nil, such lines will be treated like ordinary lines. | 1119 | When nil, such lines will be treated like ordinary lines. |
| 1110 | 1120 | ||
| 1111 | When equal to the symbol `optimized', the table editor will be optimized to | 1121 | When equal to the symbol `optimized', the table editor will be optimized to |
| 1112 | do the following | 1122 | do the following: |
| 1113 | - Use automatic overwrite mode in front of whitespace in table fields. | 1123 | - Use automatic overwrite mode in front of whitespace in table fields. |
| 1114 | This make the structure of the table stay in tact as long as the edited | 1124 | This makes the structure of the table stay intact as long as the edited |
| 1115 | field does not exceed the column width. | 1125 | field does not exceed the column width. |
| 1116 | - Minimize the number of realigns. Normally, the table is aligned each time | 1126 | - Minimize the number of realigns. Normally, the table is aligned each time |
| 1117 | TAB or RET are pressed to move to another field. With optimization this | 1127 | TAB or RET are pressed to move to another field. With optimization this |
| 1118 | happens only if changes to a field might have changed the column width. | 1128 | happens only if changes to a field might have changed the column width. |
| 1119 | Optimization requires replacing the functions `self-insert-command', | 1129 | Optimization requires replacing the functions `self-insert-command', |
| 1120 | `delete-char', and `backward-delete-char' in Org-mode buffers, with a | 1130 | `delete-char', and `backward-delete-char' in Org-mode buffers, with a |
| 1121 | slight (in fact: unnoticeable) speed impact for normal typing. Org-mode is | 1131 | slight (in fact: unnoticeable) speed impact for normal typing. Org-mode is |
| @@ -1201,9 +1211,70 @@ line will be formatted with <th> tags." | |||
| 1201 | :group 'org-table | 1211 | :group 'org-table |
| 1202 | :type 'boolean) | 1212 | :type 'boolean) |
| 1203 | 1213 | ||
| 1214 | |||
| 1215 | (defgroup org-table-calculation nil | ||
| 1216 | "Options concerning tables in Org-mode." | ||
| 1217 | :tag "Org Table Calculation" | ||
| 1218 | :group 'org) | ||
| 1219 | |||
| 1204 | (defcustom org-table-copy-increment t | 1220 | (defcustom org-table-copy-increment t |
| 1205 | "Non-nil means, increment when copying current field with \\[org-table-copy-down]." | 1221 | "Non-nil means, increment when copying current field with \\[org-table-copy-down]." |
| 1206 | :group 'org-table | 1222 | :group 'org-table-calculation |
| 1223 | :type 'boolean) | ||
| 1224 | |||
| 1225 | (defcustom org-calc-default-modes | ||
| 1226 | '(calc-internal-prec 12 | ||
| 1227 | calc-float-format (float 5) | ||
| 1228 | calc-angle-mode deg | ||
| 1229 | calc-prefer-frac nil | ||
| 1230 | calc-symbolic-mode nil) | ||
| 1231 | "List with Calc mode settings for use in calc-eval for table formulas. | ||
| 1232 | The list must contain alternating symbols (calc modes variables and values. | ||
| 1233 | Don't remove any of the default settings, just change the values. Org-mode | ||
| 1234 | relies on the variables to be present in the list." | ||
| 1235 | :group 'org-table-calculation | ||
| 1236 | :type 'plist) | ||
| 1237 | |||
| 1238 | (defcustom org-table-formula-evaluate-inline t | ||
| 1239 | "Non-nil means, TAB and RET evaluate a formula in current table field. | ||
| 1240 | If the current field starts with an equal sign, it is assumed to be a formula | ||
| 1241 | which should be evaluated as described in the manual and in the documentation | ||
| 1242 | string of the command `org-table-eval-formula'. This feature requires the | ||
| 1243 | Emacs calc package. | ||
| 1244 | When this variable is nil, formula calculation is only available through | ||
| 1245 | the command \\[org-table-eval-formula]." | ||
| 1246 | :group 'org-table-calculation | ||
| 1247 | :type 'boolean) | ||
| 1248 | |||
| 1249 | |||
| 1250 | (defcustom org-table-formula-use-constants t | ||
| 1251 | "Non-nil means, interpret constants in formulas in tables. | ||
| 1252 | A constant looks like `$c' or `$Grav' and will be replaced before evaluation | ||
| 1253 | by the value given in `org-table-formula-constants', or by a value obtained | ||
| 1254 | from the `constants.el' package." | ||
| 1255 | :group 'org-table-calculation | ||
| 1256 | :type 'boolean) | ||
| 1257 | |||
| 1258 | (defcustom org-table-formula-constants nil | ||
| 1259 | "Alist with constant names and values, for use in table formulas. | ||
| 1260 | The car of each element is a name of a constant, without the `$' before it. | ||
| 1261 | The cdr is the value as a string. For example, if you'd like to use the | ||
| 1262 | speed of light in a formula, you would configure | ||
| 1263 | |||
| 1264 | (setq org-table-formula-constants '((\"c\" . \"299792458.\"))) | ||
| 1265 | |||
| 1266 | and then use it in an equation like `$1*$c'." | ||
| 1267 | :group 'org-table-calculation | ||
| 1268 | :type '(repeat | ||
| 1269 | (cons (string :tag "name") | ||
| 1270 | (string :tag "value")))) | ||
| 1271 | |||
| 1272 | (defcustom org-table-formula-numbers-only nil | ||
| 1273 | "Non-nil means, calculate only with numbers in table formulas. | ||
| 1274 | Then all input fields will be converted to a number, and the result | ||
| 1275 | must also be a number. When nil, calc's full potential is available | ||
| 1276 | in table calculations, including symbolics etc." | ||
| 1277 | :group 'org-table-calculation | ||
| 1207 | :type 'boolean) | 1278 | :type 'boolean) |
| 1208 | 1279 | ||
| 1209 | (defcustom org-table-tab-recognizes-table.el t | 1280 | (defcustom org-table-tab-recognizes-table.el t |
| @@ -1259,7 +1330,7 @@ or use the +OPTION lines for a per-file setting." | |||
| 1259 | 1330 | ||
| 1260 | (defcustom org-export-default-language "en" | 1331 | (defcustom org-export-default-language "en" |
| 1261 | "The default language of HTML export, as a string. | 1332 | "The default language of HTML export, as a string. |
| 1262 | This should have an association in `org-export-language-setup'" | 1333 | This should have an association in `org-export-language-setup'." |
| 1263 | :group 'org-export | 1334 | :group 'org-export |
| 1264 | :type 'string) | 1335 | :type 'string) |
| 1265 | 1336 | ||
| @@ -1427,12 +1498,11 @@ Otherwise the buffer will just be saved to a file and stay hidden." | |||
| 1427 | :type 'boolean) | 1498 | :type 'boolean) |
| 1428 | 1499 | ||
| 1429 | (defcustom org-export-html-show-new-buffer nil | 1500 | (defcustom org-export-html-show-new-buffer nil |
| 1430 | "Non-nil means, popup buffer containing the exported html text. | 1501 | "Non-nil means, popup buffer containing the exported HTML text. |
| 1431 | Otherwise, the buffer will just be saved to a file and stay hidden." | 1502 | Otherwise, the buffer will just be saved to a file and stay hidden." |
| 1432 | :group 'org-export | 1503 | :group 'org-export |
| 1433 | :type 'boolean) | 1504 | :type 'boolean) |
| 1434 | 1505 | ||
| 1435 | |||
| 1436 | (defgroup org-faces nil | 1506 | (defgroup org-faces nil |
| 1437 | "Faces for highlighting in Org-mode." | 1507 | "Faces for highlighting in Org-mode." |
| 1438 | :tag "Org Faces" | 1508 | :tag "Org Faces" |
| @@ -1556,6 +1626,15 @@ When this is non-nil, the headline after the keyword is set to the | |||
| 1556 | "Face for items scheduled previously, and not yet done." | 1626 | "Face for items scheduled previously, and not yet done." |
| 1557 | :group 'org-faces) | 1627 | :group 'org-faces) |
| 1558 | 1628 | ||
| 1629 | (defface org-formula | ||
| 1630 | '((((type tty pc) (class color) (background light)) (:foreground "red")) | ||
| 1631 | (((type tty pc) (class color) (background dark)) (:foreground "red1")) | ||
| 1632 | (((class color) (background light)) (:foreground "Firebrick")) | ||
| 1633 | (((class color) (background dark)) (:foreground "chocolate1")) | ||
| 1634 | (t (:bold t :italic t))) | ||
| 1635 | "Face for items scheduled previously, and not yet done." | ||
| 1636 | :group 'org-faces) | ||
| 1637 | |||
| 1559 | (defface org-link | 1638 | (defface org-link |
| 1560 | '((((type tty) (class color)) (:foreground "cyan" :weight bold)) | 1639 | '((((type tty) (class color)) (:foreground "cyan" :weight bold)) |
| 1561 | (((class color) (background light)) (:foreground "Purple")) | 1640 | (((class color) (background light)) (:foreground "Purple")) |
| @@ -1585,7 +1664,7 @@ When this is non-nil, the headline after the keyword is set to the | |||
| 1585 | (((class color) (background light)) (:foreground "DarkGoldenrod")) | 1664 | (((class color) (background light)) (:foreground "DarkGoldenrod")) |
| 1586 | (((class color) (background dark)) (:foreground "LightGoldenrod")) | 1665 | (((class color) (background dark)) (:foreground "LightGoldenrod")) |
| 1587 | (t (:bold t :italic t))) | 1666 | (t (:bold t :italic t))) |
| 1588 | "Face used for level 2 headlines." | 1667 | "Face used for time grids." |
| 1589 | :group 'org-faces) | 1668 | :group 'org-faces) |
| 1590 | 1669 | ||
| 1591 | (defvar org-level-faces | 1670 | (defvar org-level-faces |
| @@ -1649,6 +1728,7 @@ When this is non-nil, the headline after the keyword is set to the | |||
| 1649 | 1728 | ||
| 1650 | (defvar org-struct-menu) | 1729 | (defvar org-struct-menu) |
| 1651 | (defvar org-org-menu) | 1730 | (defvar org-org-menu) |
| 1731 | (defvar org-tbl-menu) | ||
| 1652 | 1732 | ||
| 1653 | ;; We use a before-change function to check if a table might need | 1733 | ;; We use a before-change function to check if a table might need |
| 1654 | ;; an update. | 1734 | ;; an update. |
| @@ -1656,7 +1736,6 @@ When this is non-nil, the headline after the keyword is set to the | |||
| 1656 | "Indicates of a table might need an update. | 1736 | "Indicates of a table might need an update. |
| 1657 | This variable is set by `org-before-change-function'. `org-table-align' | 1737 | This variable is set by `org-before-change-function'. `org-table-align' |
| 1658 | sets it back to nil.") | 1738 | sets it back to nil.") |
| 1659 | |||
| 1660 | (defvar org-mode-hook nil) | 1739 | (defvar org-mode-hook nil) |
| 1661 | (defvar org-inhibit-startup nil) ; Dynamically-scoped param. | 1740 | (defvar org-inhibit-startup nil) ; Dynamically-scoped param. |
| 1662 | 1741 | ||
| @@ -1681,6 +1760,7 @@ The following commands are available: | |||
| 1681 | 1760 | ||
| 1682 | \\{org-mode-map}" | 1761 | \\{org-mode-map}" |
| 1683 | (easy-menu-add org-org-menu) | 1762 | (easy-menu-add org-org-menu) |
| 1763 | (easy-menu-add org-tbl-menu) | ||
| 1684 | (org-install-agenda-files-menu) | 1764 | (org-install-agenda-files-menu) |
| 1685 | (setq outline-regexp "\\*+") | 1765 | (setq outline-regexp "\\*+") |
| 1686 | (if org-startup-truncated (setq truncate-lines t)) | 1766 | (if org-startup-truncated (setq truncate-lines t)) |
| @@ -1693,11 +1773,11 @@ The following commands are available: | |||
| 1693 | (add-hook 'before-change-functions 'org-before-change-function nil | 1773 | (add-hook 'before-change-functions 'org-before-change-function nil |
| 1694 | 'local) | 1774 | 'local) |
| 1695 | ;; Paragraph regular expressions | 1775 | ;; Paragraph regular expressions |
| 1696 | (set (make-local-variable 'paragraph-separate) "\f\\|[ ]*$") | 1776 | (set (make-local-variable 'paragraph-separate) "\f\\|[ ]*$\\|\\([*\f]+\\)") |
| 1697 | (set (make-local-variable 'paragraph-start) "\f\\|[ ]*$\\|\\([*\f]+\\)") | 1777 | (set (make-local-variable 'paragraph-start) "\f\\|[ ]*$\\|\\([*\f]+\\)") |
| 1698 | ;; Inhibit auto-fill for headers, tables and fixed-width lines. | 1778 | ;; Inhibit auto-fill for headers, tables and fixed-width lines. |
| 1699 | (set (make-local-variable 'auto-fill-inhibit-regexp) | 1779 | (set (make-local-variable 'auto-fill-inhibit-regexp) |
| 1700 | (concat "\\*" | 1780 | (concat "\\*\\|#" |
| 1701 | (if (or org-enable-table-editor org-enable-fixed-width-editor) | 1781 | (if (or org-enable-table-editor org-enable-fixed-width-editor) |
| 1702 | (concat | 1782 | (concat |
| 1703 | "\\|[ \t]*[" | 1783 | "\\|[ \t]*[" |
| @@ -1709,6 +1789,20 @@ The following commands are available: | |||
| 1709 | (interactive-p) | 1789 | (interactive-p) |
| 1710 | (= (point-min) (point-max))) | 1790 | (= (point-min) (point-max))) |
| 1711 | (insert " -*- mode: org -*-\n\n")) | 1791 | (insert " -*- mode: org -*-\n\n")) |
| 1792 | |||
| 1793 | ;; Get rid of Outline menus, they are not needed | ||
| 1794 | ;; Need to do this here because define-derived-mode sets up | ||
| 1795 | ;; the keymap so late. | ||
| 1796 | (if org-xemacs-p | ||
| 1797 | (progn | ||
| 1798 | (delete-menu-item '("Headings")) | ||
| 1799 | (delete-menu-item '("Show")) | ||
| 1800 | (delete-menu-item '("Hide")) | ||
| 1801 | (set-menubar-dirty-flag)) | ||
| 1802 | (define-key org-mode-map [menu-bar headings] 'undefined) | ||
| 1803 | (define-key org-mode-map [menu-bar hide] 'undefined) | ||
| 1804 | (define-key org-mode-map [menu-bar show] 'undefined)) | ||
| 1805 | |||
| 1712 | (unless org-inhibit-startup | 1806 | (unless org-inhibit-startup |
| 1713 | (if org-startup-with-deadline-check | 1807 | (if org-startup-with-deadline-check |
| 1714 | (call-interactively 'org-check-deadlines) | 1808 | (call-interactively 'org-check-deadlines) |
| @@ -1720,11 +1814,14 @@ The following commands are available: | |||
| 1720 | (org-cycle '(4)) (org-cycle '(4)))))))) | 1814 | (org-cycle '(4)) (org-cycle '(4)))))))) |
| 1721 | 1815 | ||
| 1722 | (defun org-fill-paragraph (&optional justify) | 1816 | (defun org-fill-paragraph (&optional justify) |
| 1723 | "Re-align a table, pass through to fill-paragraph if no table." | 1817 | "Re-align a table, pass through to `fill-paragraph' if no table." |
| 1724 | (save-excursion | 1818 | (save-excursion |
| 1725 | (beginning-of-line 1) | 1819 | (beginning-of-line 1) |
| 1726 | (looking-at "\\s-*\\(|\\|\\+-+\\)"))) | 1820 | (looking-at "\\s-*\\(|\\|\\+-+\\)"))) |
| 1727 | 1821 | ||
| 1822 | (defsubst org-current-line (&optional pos) | ||
| 1823 | (+ (if (bolp) 1 0) (count-lines (point-min) (or pos (point))))) | ||
| 1824 | |||
| 1728 | ;;; Font-Lock stuff | 1825 | ;;; Font-Lock stuff |
| 1729 | 1826 | ||
| 1730 | (defvar org-mouse-map (make-sparse-keymap)) | 1827 | (defvar org-mouse-map (make-sparse-keymap)) |
| @@ -1808,7 +1905,6 @@ The following commands are available: | |||
| 1808 | ;; (3 'italic)) | 1905 | ;; (3 'italic)) |
| 1809 | ;; '("\\(\\s-\\|^\\)\\(_\\([a-zA-Z]+\\)_\\)\\([^a-zA-Z*]\\|$\\)" | 1906 | ;; '("\\(\\s-\\|^\\)\\(_\\([a-zA-Z]+\\)_\\)\\([^a-zA-Z*]\\|$\\)" |
| 1810 | ;; (3 'underline)) | 1907 | ;; (3 'underline)) |
| 1811 | '("\\<FIXME\\>" (0 'org-warning t)) | ||
| 1812 | (list (concat "^\\*+[ \t]*\\<\\(" org-comment-string "\\)\\>") | 1908 | (list (concat "^\\*+[ \t]*\\<\\(" org-comment-string "\\)\\>") |
| 1813 | '(1 'org-warning t)) | 1909 | '(1 'org-warning t)) |
| 1814 | '("^#.*" (0 'font-lock-comment-face t)) | 1910 | '("^#.*" (0 'font-lock-comment-face t)) |
| @@ -1819,7 +1915,10 @@ The following commands are available: | |||
| 1819 | '(1 'org-done t))) | 1915 | '(1 'org-done t))) |
| 1820 | '("^[ \t]*\\(\\(|\\|\\+-[-+]\\).*\\S-\\)" | 1916 | '("^[ \t]*\\(\\(|\\|\\+-[-+]\\).*\\S-\\)" |
| 1821 | (1 'org-table t)) | 1917 | (1 'org-table t)) |
| 1822 | '("^[ \t]*\\(:.*\\)" (1 'org-table t))))) | 1918 | '("^[ \t]*\\(:.*\\)" (1 'org-table t)) |
| 1919 | '("| *\\(=[^|\n]*\\)" (1 'org-formula t)) | ||
| 1920 | '("^[ \t]*| *\\([#!$*]\\) *|" (1 'org-formula t)) | ||
| 1921 | ))) | ||
| 1823 | (set (make-local-variable 'org-font-lock-keywords) | 1922 | (set (make-local-variable 'org-font-lock-keywords) |
| 1824 | (append | 1923 | (append |
| 1825 | (if org-noutline-p ; FIXME: I am not sure if eval will work | 1924 | (if org-noutline-p ; FIXME: I am not sure if eval will work |
| @@ -1857,21 +1956,22 @@ The following commands are available: | |||
| 1857 | "Visibility cycling for Org-mode. | 1956 | "Visibility cycling for Org-mode. |
| 1858 | 1957 | ||
| 1859 | - When this function is called with a prefix argument, rotate the entire | 1958 | - When this function is called with a prefix argument, rotate the entire |
| 1860 | buffer through 3 states (global cycling) | 1959 | buffer through 3 states (global cycling): |
| 1861 | 1. OVERVIEW: Show only top-level headlines. | 1960 | 1. OVERVIEW: Show only top-level headlines. |
| 1862 | 2. CONTENTS: Show all headlines of all levels, but no body text. | 1961 | 2. CONTENTS: Show all headlines of all levels, but no body text. |
| 1863 | 3. SHOW ALL: Show everything. | 1962 | 3. SHOW ALL: Show everything. |
| 1864 | 1963 | ||
| 1865 | - When point is at the beginning of a headline, rotate the subtree started | 1964 | - When point is at the beginning of a headline, rotate the subtree started |
| 1866 | by this line through 3 different states (local cycling) | 1965 | by this line through 3 different states (local cycling): |
| 1867 | 1. FOLDED: Only the main headline is shown. | 1966 | 1. FOLDED: Only the main headline is shown. |
| 1868 | 2. CHILDREN: The main headline and the direct children are shown. From | 1967 | 2. CHILDREN: The main headline and the direct children are shown. From |
| 1869 | this state, you can move to one of the children and | 1968 | this state, you can move to one of the children and |
| 1870 | zoom in further. | 1969 | zoom in further. |
| 1871 | 3. SUBTREE: Show the entire subtree, including body text. | 1970 | 3. SUBTREE: Show the entire subtree, including body text. |
| 1872 | 1971 | ||
| 1873 | - When there is a numeric prefix, go ARG levels up and do a `show-subtree', | 1972 | - When there is a numeric prefix, go up to a heading with level ARG, do |
| 1874 | keeping cursor position. | 1973 | a `show-subtree' and return to the previous cursor position. If ARG |
| 1974 | is negative, go up that many levels. | ||
| 1875 | 1975 | ||
| 1876 | - When point is not at the beginning of a headline, execute | 1976 | - When point is not at the beginning of a headline, execute |
| 1877 | `indent-relative', like TAB normally does. See the option | 1977 | `indent-relative', like TAB normally does. See the option |
| @@ -1937,7 +2037,8 @@ The following commands are available: | |||
| 1937 | ;; Show-subtree, ARG levels up from here. | 2037 | ;; Show-subtree, ARG levels up from here. |
| 1938 | (save-excursion | 2038 | (save-excursion |
| 1939 | (org-back-to-heading) | 2039 | (org-back-to-heading) |
| 1940 | (outline-up-heading arg) | 2040 | (outline-up-heading (if (< arg 0) (- arg) |
| 2041 | (- (outline-level) arg))) | ||
| 1941 | (org-show-subtree))) | 2042 | (org-show-subtree))) |
| 1942 | 2043 | ||
| 1943 | ((save-excursion (beginning-of-line 1) (looking-at outline-regexp)) | 2044 | ((save-excursion (beginning-of-line 1) (looking-at outline-regexp)) |
| @@ -2117,14 +2218,14 @@ or nil." | |||
| 2117 | 2218 | ||
| 2118 | ;; FIXME: It may not be a good idea to temper with the prefix argument... | 2219 | ;; FIXME: It may not be a good idea to temper with the prefix argument... |
| 2119 | (defun org-goto-ret (&optional arg) | 2220 | (defun org-goto-ret (&optional arg) |
| 2120 | "Finish org-goto by going to the new location." | 2221 | "Finish `org-goto' by going to the new location." |
| 2121 | (interactive "P") | 2222 | (interactive "P") |
| 2122 | (setq org-selected-point (point) | 2223 | (setq org-selected-point (point) |
| 2123 | current-prefix-arg arg) | 2224 | current-prefix-arg arg) |
| 2124 | (throw 'exit nil)) | 2225 | (throw 'exit nil)) |
| 2125 | 2226 | ||
| 2126 | (defun org-goto-left () | 2227 | (defun org-goto-left () |
| 2127 | "Finish org-goto by going to the new location." | 2228 | "Finish `org-goto' by going to the new location." |
| 2128 | (interactive) | 2229 | (interactive) |
| 2129 | (if (org-on-heading-p) | 2230 | (if (org-on-heading-p) |
| 2130 | (progn | 2231 | (progn |
| @@ -2135,7 +2236,7 @@ or nil." | |||
| 2135 | (error "Not on a heading"))) | 2236 | (error "Not on a heading"))) |
| 2136 | 2237 | ||
| 2137 | (defun org-goto-right () | 2238 | (defun org-goto-right () |
| 2138 | "Finish org-goto by going to the new location." | 2239 | "Finish `org-goto' by going to the new location." |
| 2139 | (interactive) | 2240 | (interactive) |
| 2140 | (if (org-on-heading-p) | 2241 | (if (org-on-heading-p) |
| 2141 | (progn | 2242 | (progn |
| @@ -2147,7 +2248,7 @@ or nil." | |||
| 2147 | (error "Not on a heading"))) | 2248 | (error "Not on a heading"))) |
| 2148 | 2249 | ||
| 2149 | (defun org-goto-quit () | 2250 | (defun org-goto-quit () |
| 2150 | "Finish org-goto without cursor motion." | 2251 | "Finish `org-goto' without cursor motion." |
| 2151 | (interactive) | 2252 | (interactive) |
| 2152 | (setq org-selected-point nil) | 2253 | (setq org-selected-point nil) |
| 2153 | (throw 'exit nil)) | 2254 | (throw 'exit nil)) |
| @@ -2273,8 +2374,6 @@ in the region." | |||
| 2273 | (save-excursion | 2374 | (save-excursion |
| 2274 | (setq end (copy-marker end)) | 2375 | (setq end (copy-marker end)) |
| 2275 | (goto-char beg) | 2376 | (goto-char beg) |
| 2276 | ;; (if (fboundp 'deactivate-mark) (deactivate-mark)) | ||
| 2277 | ;; (if (fboundp 'zmacs-deactivate-region) (zmacs-deactivate-region)) | ||
| 2278 | (if (and (re-search-forward (concat "^" outline-regexp) nil t) | 2377 | (if (and (re-search-forward (concat "^" outline-regexp) nil t) |
| 2279 | (< (point) end)) | 2378 | (< (point) end)) |
| 2280 | (funcall fun)) | 2379 | (funcall fun)) |
| @@ -2605,9 +2704,10 @@ At all other locations, this simply calls `ispell-complete-word'." | |||
| 2605 | (let* ((end (point)) | 2704 | (let* ((end (point)) |
| 2606 | (beg (save-excursion | 2705 | (beg (save-excursion |
| 2607 | (if (equal (char-before (point)) ?\ ) (backward-char 1)) | 2706 | (if (equal (char-before (point)) ?\ ) (backward-char 1)) |
| 2608 | (skip-chars-backward "a-zA-Z0-9_:") | 2707 | (skip-chars-backward "a-zA-Z0-9_:$") |
| 2609 | (point))) | 2708 | (point))) |
| 2610 | (texp (equal (char-before beg) ?\\)) | 2709 | (texp (equal (char-before beg) ?\\)) |
| 2710 | (form (equal (char-before beg) ?=)) | ||
| 2611 | (opt (equal (buffer-substring (max (point-at-bol) (- beg 2)) | 2711 | (opt (equal (buffer-substring (max (point-at-bol) (- beg 2)) |
| 2612 | beg) | 2712 | beg) |
| 2613 | "#+")) | 2713 | "#+")) |
| @@ -2624,6 +2724,9 @@ At all other locations, this simply calls `ispell-complete-word'." | |||
| 2624 | (texp | 2724 | (texp |
| 2625 | (setq type :tex) | 2725 | (setq type :tex) |
| 2626 | org-html-entities) | 2726 | org-html-entities) |
| 2727 | (form | ||
| 2728 | (setq type :form) | ||
| 2729 | '(("sum") ("sumv") ("sumh"))) | ||
| 2627 | ((string-match "\\`\\*+[ \t]*\\'" | 2730 | ((string-match "\\`\\*+[ \t]*\\'" |
| 2628 | (buffer-substring (point-at-bol) beg)) | 2731 | (buffer-substring (point-at-bol) beg)) |
| 2629 | (setq type :todo) | 2732 | (setq type :todo) |
| @@ -2776,7 +2879,7 @@ to modify it to the correct date." | |||
| 2776 | The tree will show the lines where the regexp matches, and all higher | 2879 | The tree will show the lines where the regexp matches, and all higher |
| 2777 | headlines above the match. It will also show the heading after the match, | 2880 | headlines above the match. It will also show the heading after the match, |
| 2778 | to make sure editing the matching entry is easy. | 2881 | to make sure editing the matching entry is easy. |
| 2779 | if CALLBACK is non-nil, it is a function which is called to confirm | 2882 | If CALLBACK is non-nil, it is a function which is called to confirm |
| 2780 | that the match should indeed be shown." | 2883 | that the match should indeed be shown." |
| 2781 | (interactive "sRegexp: ") | 2884 | (interactive "sRegexp: ") |
| 2782 | (setq regexp (org-check-occur-regexp regexp)) | 2885 | (setq regexp (org-check-occur-regexp regexp)) |
| @@ -3047,7 +3150,7 @@ used to insert the time stamp into the buffer to include the time." | |||
| 3047 | 3150 | ||
| 3048 | (defun org-eval-in-calendar (form) | 3151 | (defun org-eval-in-calendar (form) |
| 3049 | "Eval FORM in the calendar window and return to current window. | 3152 | "Eval FORM in the calendar window and return to current window. |
| 3050 | Also, store the cursor date in variable ans2." | 3153 | Also, store the cursor date in variable `ans2'." |
| 3051 | (let ((sw (selected-window))) | 3154 | (let ((sw (selected-window))) |
| 3052 | (select-window (get-buffer-window "*Calendar*")) | 3155 | (select-window (get-buffer-window "*Calendar*")) |
| 3053 | (eval form) | 3156 | (eval form) |
| @@ -3221,7 +3324,7 @@ With prefix ARG, change that many days." | |||
| 3221 | (>= (match-end n) pos))) | 3324 | (>= (match-end n) pos))) |
| 3222 | 3325 | ||
| 3223 | (defun org-at-timestamp-p () | 3326 | (defun org-at-timestamp-p () |
| 3224 | "Determine if the cursor is or at a timestamp." | 3327 | "Determine if the cursor is at a timestamp." |
| 3225 | (interactive) | 3328 | (interactive) |
| 3226 | (let* ((tsr org-ts-regexp2) | 3329 | (let* ((tsr org-ts-regexp2) |
| 3227 | (pos (point)) | 3330 | (pos (point)) |
| @@ -3378,7 +3481,8 @@ The following commands are available: | |||
| 3378 | (define-key org-agenda-mode-map "l" 'org-agenda-recenter) | 3481 | (define-key org-agenda-mode-map "l" 'org-agenda-recenter) |
| 3379 | (define-key org-agenda-mode-map "t" 'org-agenda-todo) | 3482 | (define-key org-agenda-mode-map "t" 'org-agenda-todo) |
| 3380 | (define-key org-agenda-mode-map "." 'org-agenda-goto-today) | 3483 | (define-key org-agenda-mode-map "." 'org-agenda-goto-today) |
| 3381 | (define-key org-agenda-mode-map "w" 'org-agenda-toggle-week-view) | 3484 | (define-key org-agenda-mode-map "d" 'org-agenda-day-view) |
| 3485 | (define-key org-agenda-mode-map "w" 'org-agenda-week-view) | ||
| 3382 | (define-key org-agenda-mode-map (org-key 'S-right) 'org-agenda-date-later) | 3486 | (define-key org-agenda-mode-map (org-key 'S-right) 'org-agenda-date-later) |
| 3383 | (define-key org-agenda-mode-map (org-key 'S-left) 'org-agenda-date-earlier) | 3487 | (define-key org-agenda-mode-map (org-key 'S-left) 'org-agenda-date-earlier) |
| 3384 | 3488 | ||
| @@ -3388,7 +3492,7 @@ The following commands are available: | |||
| 3388 | (int-to-string (pop l)) 'digit-argument))) | 3492 | (int-to-string (pop l)) 'digit-argument))) |
| 3389 | 3493 | ||
| 3390 | (define-key org-agenda-mode-map "f" 'org-agenda-follow-mode) | 3494 | (define-key org-agenda-mode-map "f" 'org-agenda-follow-mode) |
| 3391 | (define-key org-agenda-mode-map "d" 'org-agenda-toggle-diary) | 3495 | (define-key org-agenda-mode-map "D" 'org-agenda-toggle-diary) |
| 3392 | (define-key org-agenda-mode-map "g" 'org-agenda-toggle-time-grid) | 3496 | (define-key org-agenda-mode-map "g" 'org-agenda-toggle-time-grid) |
| 3393 | (define-key org-agenda-mode-map "r" 'org-agenda-redo) | 3497 | (define-key org-agenda-mode-map "r" 'org-agenda-redo) |
| 3394 | (define-key org-agenda-mode-map "q" 'org-agenda-quit) | 3498 | (define-key org-agenda-mode-map "q" 'org-agenda-quit) |
| @@ -3454,8 +3558,11 @@ The following commands are available: | |||
| 3454 | ["Next Dates" org-agenda-later (local-variable-p 'starting-day)] | 3558 | ["Next Dates" org-agenda-later (local-variable-p 'starting-day)] |
| 3455 | ["Previous Dates" org-agenda-earlier (local-variable-p 'starting-day)] | 3559 | ["Previous Dates" org-agenda-earlier (local-variable-p 'starting-day)] |
| 3456 | "--" | 3560 | "--" |
| 3457 | ["Week/Day View" org-agenda-toggle-week-view | 3561 | ["Day View" org-agenda-day-view :active (local-variable-p 'starting-day) |
| 3458 | (local-variable-p 'starting-day)] | 3562 | :style radio :selected (equal org-agenda-ndays 1)] |
| 3563 | ["Week View" org-agenda-week-view :active (local-variable-p 'starting-day) | ||
| 3564 | :style radio :selected (equal org-agenda-ndays 7)] | ||
| 3565 | "--" | ||
| 3459 | ["Include Diary" org-agenda-toggle-diary | 3566 | ["Include Diary" org-agenda-toggle-diary |
| 3460 | :style toggle :selected org-agenda-include-diary :active t] | 3567 | :style toggle :selected org-agenda-include-diary :active t] |
| 3461 | ["Use Time Grid" org-agenda-toggle-time-grid | 3568 | ["Use Time Grid" org-agenda-toggle-time-grid |
| @@ -3784,19 +3891,29 @@ With prefix ARG, go back that many times `org-agenda-ndays'." | |||
| 3784 | (org-agenda (if (boundp 'include-all-loc) include-all-loc nil) | 3891 | (org-agenda (if (boundp 'include-all-loc) include-all-loc nil) |
| 3785 | (- starting-day (* arg org-agenda-ndays)))) | 3892 | (- starting-day (* arg org-agenda-ndays)))) |
| 3786 | 3893 | ||
| 3787 | (defun org-agenda-toggle-week-view () | 3894 | (defun org-agenda-week-view () |
| 3788 | "Toggle weekly/daily view for aagenda." | 3895 | "Switch to weekly view for agenda." |
| 3896 | (interactive) | ||
| 3897 | (unless (boundp 'starting-day) | ||
| 3898 | (error "Not allowed")) | ||
| 3899 | (setq org-agenda-ndays 7) | ||
| 3900 | (org-agenda include-all-loc | ||
| 3901 | (or (get-text-property (point) 'day) | ||
| 3902 | starting-day)) | ||
| 3903 | (org-agenda-set-mode-name) | ||
| 3904 | (message "Switched to week view")) | ||
| 3905 | |||
| 3906 | (defun org-agenda-day-view () | ||
| 3907 | "Switch to daily view for agenda." | ||
| 3789 | (interactive) | 3908 | (interactive) |
| 3790 | (unless (boundp 'starting-day) | 3909 | (unless (boundp 'starting-day) |
| 3791 | (error "Not allowed")) | 3910 | (error "Not allowed")) |
| 3792 | (setq org-agenda-ndays | 3911 | (setq org-agenda-ndays 1) |
| 3793 | (if (equal org-agenda-ndays 1) 7 1)) | ||
| 3794 | (org-agenda include-all-loc | 3912 | (org-agenda include-all-loc |
| 3795 | (or (get-text-property (point) 'day) | 3913 | (or (get-text-property (point) 'day) |
| 3796 | starting-day)) | 3914 | starting-day)) |
| 3797 | (org-agenda-set-mode-name) | 3915 | (org-agenda-set-mode-name) |
| 3798 | (message "Switched to %s view" | 3916 | (message "Switched to day view")) |
| 3799 | (if (equal org-agenda-ndays 1) "day" "week"))) | ||
| 3800 | 3917 | ||
| 3801 | (defun org-agenda-next-date-line (&optional arg) | 3918 | (defun org-agenda-next-date-line (&optional arg) |
| 3802 | "Jump to the next line indicating a date in agenda buffer." | 3919 | "Jump to the next line indicating a date in agenda buffer." |
| @@ -3840,7 +3957,7 @@ With prefix ARG, go back that many times `org-agenda-ndays'." | |||
| 3840 | (if org-agenda-follow-mode "on" "off"))) | 3957 | (if org-agenda-follow-mode "on" "off"))) |
| 3841 | 3958 | ||
| 3842 | (defun org-agenda-toggle-diary () | 3959 | (defun org-agenda-toggle-diary () |
| 3843 | "Toggle follow mode in an agenda buffer." | 3960 | "Toggle diary inclusion in an agenda buffer." |
| 3844 | (interactive) | 3961 | (interactive) |
| 3845 | (setq org-agenda-include-diary (not org-agenda-include-diary)) | 3962 | (setq org-agenda-include-diary (not org-agenda-include-diary)) |
| 3846 | (org-agenda-redo) | 3963 | (org-agenda-redo) |
| @@ -3849,7 +3966,7 @@ With prefix ARG, go back that many times `org-agenda-ndays'." | |||
| 3849 | (if org-agenda-include-diary "on" "off"))) | 3966 | (if org-agenda-include-diary "on" "off"))) |
| 3850 | 3967 | ||
| 3851 | (defun org-agenda-toggle-time-grid () | 3968 | (defun org-agenda-toggle-time-grid () |
| 3852 | "Toggle follow mode in an agenda buffer." | 3969 | "Toggle time-grid in an agenda buffer." |
| 3853 | (interactive) | 3970 | (interactive) |
| 3854 | (setq org-agenda-use-time-grid (not org-agenda-use-time-grid)) | 3971 | (setq org-agenda-use-time-grid (not org-agenda-use-time-grid)) |
| 3855 | (org-agenda-redo) | 3972 | (org-agenda-redo) |
| @@ -3917,10 +4034,10 @@ With prefix ARG, go back that many times `org-agenda-ndays'." | |||
| 3917 | entries))))) | 4034 | entries))))) |
| 3918 | 4035 | ||
| 3919 | (defun org-agenda-cleanup-fancy-diary () | 4036 | (defun org-agenda-cleanup-fancy-diary () |
| 3920 | "Remove unwanted stuff in buffer created by fancy-diary-display. | 4037 | "Remove unwanted stuff in buffer created by `fancy-diary-display'. |
| 3921 | This gets rid of the date, the underline under the date, and | 4038 | This gets rid of the date, the underline under the date, and |
| 3922 | the dummy entry installed by `org-mode' to ensure non-empty diary for each | 4039 | the dummy entry installed by `org-mode' to ensure non-empty diary for each |
| 3923 | date. Itt also removes lines that contain only whitespace." | 4040 | date. It also removes lines that contain only whitespace." |
| 3924 | (goto-char (point-min)) | 4041 | (goto-char (point-min)) |
| 3925 | (if (looking-at ".*?:[ \t]*") | 4042 | (if (looking-at ".*?:[ \t]*") |
| 3926 | (progn | 4043 | (progn |
| @@ -4091,7 +4208,7 @@ The function expects the lisp variables `entry' and `date' to be provided | |||
| 4091 | by the caller, because this is how the calendar works. Don't use this | 4208 | by the caller, because this is how the calendar works. Don't use this |
| 4092 | function from a program - use `org-agenda-get-day-entries' instead." | 4209 | function from a program - use `org-agenda-get-day-entries' instead." |
| 4093 | (org-agenda-maybe-reset-markers) | 4210 | (org-agenda-maybe-reset-markers) |
| 4094 | (org-compile-agenda-prefix-format org-agenda-prefix-format) | 4211 | (org-compile-prefix-format org-agenda-prefix-format) |
| 4095 | (setq args (or args '(:deadline :scheduled :timestamp))) | 4212 | (setq args (or args '(:deadline :scheduled :timestamp))) |
| 4096 | (let* ((files (if (and entry (stringp entry) (string-match "\\S-" entry)) | 4213 | (let* ((files (if (and entry (stringp entry) (string-match "\\S-" entry)) |
| 4097 | (list entry) | 4214 | (list entry) |
| @@ -4214,7 +4331,7 @@ the documentation of `org-diary'." | |||
| 4214 | (nreverse ee))) | 4331 | (nreverse ee))) |
| 4215 | 4332 | ||
| 4216 | (defconst org-agenda-no-heading-message | 4333 | (defconst org-agenda-no-heading-message |
| 4217 | "No heading for this item in buffer or region") | 4334 | "No heading for this item in buffer or region.") |
| 4218 | 4335 | ||
| 4219 | (defun org-agenda-get-timestamps () | 4336 | (defun org-agenda-get-timestamps () |
| 4220 | "Return the date stamp information for agenda display." | 4337 | "Return the date stamp information for agenda display." |
| @@ -4625,7 +4742,7 @@ HH:MM." | |||
| 4625 | (mapconcat 'identity (sort list 'org-entries-lessp) "\n")) | 4742 | (mapconcat 'identity (sort list 'org-entries-lessp) "\n")) |
| 4626 | 4743 | ||
| 4627 | (defsubst org-cmp-priority (a b) | 4744 | (defsubst org-cmp-priority (a b) |
| 4628 | "Compare the priorities of string a and b." | 4745 | "Compare the priorities of strings A and B." |
| 4629 | (let ((pa (or (get-text-property 1 'priority a) 0)) | 4746 | (let ((pa (or (get-text-property 1 'priority a) 0)) |
| 4630 | (pb (or (get-text-property 1 'priority b) 0))) | 4747 | (pb (or (get-text-property 1 'priority b) 0))) |
| 4631 | (cond ((> pa pb) +1) | 4748 | (cond ((> pa pb) +1) |
| @@ -4633,7 +4750,7 @@ HH:MM." | |||
| 4633 | (t nil)))) | 4750 | (t nil)))) |
| 4634 | 4751 | ||
| 4635 | (defsubst org-cmp-category (a b) | 4752 | (defsubst org-cmp-category (a b) |
| 4636 | "Compare the string values of categories of strings a and b." | 4753 | "Compare the string values of categories of strings A and B." |
| 4637 | (let ((ca (or (get-text-property 1 'category a) "")) | 4754 | (let ((ca (or (get-text-property 1 'category a) "")) |
| 4638 | (cb (or (get-text-property 1 'category b) ""))) | 4755 | (cb (or (get-text-property 1 'category b) ""))) |
| 4639 | (cond ((string-lessp ca cb) -1) | 4756 | (cond ((string-lessp ca cb) -1) |
| @@ -4641,7 +4758,7 @@ HH:MM." | |||
| 4641 | (t nil)))) | 4758 | (t nil)))) |
| 4642 | 4759 | ||
| 4643 | (defsubst org-cmp-time (a b) | 4760 | (defsubst org-cmp-time (a b) |
| 4644 | "Compare the time-of-day values of strings a and b." | 4761 | "Compare the time-of-day values of strings A and B." |
| 4645 | (let* ((def (if org-sort-agenda-notime-is-late 2401 -1)) | 4762 | (let* ((def (if org-sort-agenda-notime-is-late 2401 -1)) |
| 4646 | (ta (or (get-text-property 1 'time-of-day a) def)) | 4763 | (ta (or (get-text-property 1 'time-of-day a) def)) |
| 4647 | (tb (or (get-text-property 1 'time-of-day b) def))) | 4764 | (tb (or (get-text-property 1 'time-of-day b) def))) |
| @@ -4777,7 +4894,7 @@ the same tree node, and the headline of the tree node in the Org-mode file." | |||
| 4777 | (move-to-column col))) | 4894 | (move-to-column col))) |
| 4778 | 4895 | ||
| 4779 | (defun org-agenda-change-all-lines (newhead hdmarker &optional fixface) | 4896 | (defun org-agenda-change-all-lines (newhead hdmarker &optional fixface) |
| 4780 | "Change all lines in the agenda buffer which match hdmarker. | 4897 | "Change all lines in the agenda buffer which match HDMARKER. |
| 4781 | The new content of the line will be NEWHEAD (as modified by | 4898 | The new content of the line will be NEWHEAD (as modified by |
| 4782 | `org-format-agenda-item'). HDMARKER is checked with | 4899 | `org-format-agenda-item'). HDMARKER is checked with |
| 4783 | `equal' against all `org-hd-marker' text properties in the file. | 4900 | `equal' against all `org-hd-marker' text properties in the file. |
| @@ -4899,7 +5016,7 @@ be used to request time specification in the time stamp." | |||
| 4899 | 5016 | ||
| 4900 | (defun org-agenda-diary-entry () | 5017 | (defun org-agenda-diary-entry () |
| 4901 | "Make a diary entry, like the `i' command from the calendar. | 5018 | "Make a diary entry, like the `i' command from the calendar. |
| 4902 | All the standard commands work: block, weekly etc" | 5019 | All the standard commands work: block, weekly etc." |
| 4903 | (interactive) | 5020 | (interactive) |
| 4904 | (require 'diary-lib) | 5021 | (require 'diary-lib) |
| 4905 | (let* ((char (progn | 5022 | (let* ((char (progn |
| @@ -5437,7 +5554,7 @@ For file links, arg negates `org-line-numbers-in-file-links'." | |||
| 5437 | (if a (not b) b)) | 5554 | (if a (not b) b)) |
| 5438 | 5555 | ||
| 5439 | (defun org-get-header (header) | 5556 | (defun org-get-header (header) |
| 5440 | "Find a header field in the current buffer." | 5557 | "Find a HEADER field in the current buffer." |
| 5441 | (save-excursion | 5558 | (save-excursion |
| 5442 | (goto-char (point-min)) | 5559 | (goto-char (point-min)) |
| 5443 | (let ((case-fold-search t) s) | 5560 | (let ((case-fold-search t) s) |
| @@ -5546,7 +5663,7 @@ conventions in Org-mode. This function returns such a link." | |||
| 5546 | UP/DOWN=headline TAB=cycle visibility [Q]uit RET/<left>/<right>=Store | 5663 | UP/DOWN=headline TAB=cycle visibility [Q]uit RET/<left>/<right>=Store |
| 5547 | RET at beg-of-buf -> Append to file as level 2 headline | 5664 | RET at beg-of-buf -> Append to file as level 2 headline |
| 5548 | RET on headline -> Store as sublevel entry to current headline | 5665 | RET on headline -> Store as sublevel entry to current headline |
| 5549 | <left>/<right> -> before/after current headline, same headings level") | 5666 | <left>/<right> -> Before/after current headline, same headings level") |
| 5550 | 5667 | ||
| 5551 | ;;;###autoload | 5668 | ;;;###autoload |
| 5552 | (defun org-remember-handler () | 5669 | (defun org-remember-handler () |
| @@ -5687,6 +5804,10 @@ See also the variable `org-reverse-note-order'." | |||
| 5687 | "Detects an org-type table line.") | 5804 | "Detects an org-type table line.") |
| 5688 | (defconst org-table-dataline-regexp "^[ \t]*|[^-]" | 5805 | (defconst org-table-dataline-regexp "^[ \t]*|[^-]" |
| 5689 | "Detects an org-type table line.") | 5806 | "Detects an org-type table line.") |
| 5807 | (defconst org-table-auto-recalculate-regexp "^[ \t]*| *# *\\(|\\|$\\)" | ||
| 5808 | "Detects a table line marked for automatic recalculation.") | ||
| 5809 | (defconst org-table-recalculate-regexp "^[ \t]*| *[#*] *\\(|\\|$\\)" | ||
| 5810 | "Detects a table line marked for automatic recalculation.") | ||
| 5690 | (defconst org-table-hline-regexp "^[ \t]*|-" | 5811 | (defconst org-table-hline-regexp "^[ \t]*|-" |
| 5691 | "Detects an org-type table hline.") | 5812 | "Detects an org-type table hline.") |
| 5692 | (defconst org-table1-hline-regexp "^[ \t]*\\+-[-+]" | 5813 | (defconst org-table1-hline-regexp "^[ \t]*\\+-[-+]" |
| @@ -5752,7 +5873,7 @@ SIZE is a string Columns x Rows like for example \"3x2\"." | |||
| 5752 | The region goes from BEG0 to END0, but these borders will be moved | 5873 | The region goes from BEG0 to END0, but these borders will be moved |
| 5753 | slightly, to make sure a beginning of line in the first line is included. | 5874 | slightly, to make sure a beginning of line in the first line is included. |
| 5754 | When NSPACE is non-nil, it indicates the minimum number of spaces that | 5875 | When NSPACE is non-nil, it indicates the minimum number of spaces that |
| 5755 | separate columns (default: just one space)" | 5876 | separate columns (default: just one space)." |
| 5756 | (let* ((beg (min beg0 end0)) | 5877 | (let* ((beg (min beg0 end0)) |
| 5757 | (end (max beg0 end0)) | 5878 | (end (max beg0 end0)) |
| 5758 | (tabsep t) | 5879 | (tabsep t) |
| @@ -5843,6 +5964,7 @@ This is being used to correctly align a single field after TAB or RET.") | |||
| 5843 | "List of max width of fields in each column. | 5964 | "List of max width of fields in each column. |
| 5844 | This is being used to correctly align a single field after TAB or RET.") | 5965 | This is being used to correctly align a single field after TAB or RET.") |
| 5845 | 5966 | ||
| 5967 | (defvar org-last-recalc-line nil) | ||
| 5846 | 5968 | ||
| 5847 | (defun org-table-align () | 5969 | (defun org-table-align () |
| 5848 | "Align the table at point by aligning all vertical bars." | 5970 | "Align the table at point by aligning all vertical bars." |
| @@ -5878,7 +6000,12 @@ This is being used to correctly align a single field after TAB or RET.") | |||
| 5878 | (if (string-match "^ *" (car lines)) | 6000 | (if (string-match "^ *" (car lines)) |
| 5879 | (setq indent (make-string (- (match-end 0) (match-beginning 0)) ?\ ))) | 6001 | (setq indent (make-string (- (match-end 0) (match-beginning 0)) ?\ ))) |
| 5880 | ;; Mark the hlines | 6002 | ;; Mark the hlines |
| 5881 | (setq lines (mapcar (lambda (l) (if (string-match "^ *|-" l) nil l)) | 6003 | (setq lines (mapcar (lambda (l) |
| 6004 | (if (string-match "^ *|-" l) | ||
| 6005 | nil | ||
| 6006 | (if (string-match "[ \t]+$" l) | ||
| 6007 | (substring l 0 (match-beginning 0)) | ||
| 6008 | l))) | ||
| 5882 | lines)) | 6009 | lines)) |
| 5883 | ;; Get the data fields | 6010 | ;; Get the data fields |
| 5884 | (setq fields (mapcar | 6011 | (setq fields (mapcar |
| @@ -5994,15 +6121,17 @@ With argument TABLE-TYPE, go to the end of a table.el-type table." | |||
| 5994 | (let* ((pos (point)) s org-table-may-need-update | 6121 | (let* ((pos (point)) s org-table-may-need-update |
| 5995 | (col (org-table-current-column)) | 6122 | (col (org-table-current-column)) |
| 5996 | (num (nth (1- col) org-table-last-alignment)) | 6123 | (num (nth (1- col) org-table-last-alignment)) |
| 5997 | l f) | 6124 | l f n o) |
| 5998 | (when (> col 0) | 6125 | (when (> col 0) |
| 5999 | (skip-chars-backward "^|\n") | 6126 | (skip-chars-backward "^|\n") |
| 6000 | (if (looking-at " *\\([^|\n]*?\\) *|") | 6127 | (if (looking-at " *\\([^|\n]*?\\) *|") |
| 6001 | (progn | 6128 | (progn |
| 6002 | (setq s (match-string 1) | 6129 | (setq s (match-string 1) |
| 6130 | o (match-string 0) | ||
| 6003 | l (max 1 (- (match-end 0) (match-beginning 0) 3))) | 6131 | l (max 1 (- (match-end 0) (match-beginning 0) 3))) |
| 6004 | (setq f (format (if num " %%%ds |" " %%-%ds |") l)) | 6132 | (setq f (format (if num " %%%ds |" " %%-%ds |") l) |
| 6005 | (replace-match (format f s t t))) | 6133 | n (format f s t t)) |
| 6134 | (or (equal n o) (replace-match n))) | ||
| 6006 | (setq org-table-may-need-update t)) | 6135 | (setq org-table-may-need-update t)) |
| 6007 | (goto-char pos)))))) | 6136 | (goto-char pos)))))) |
| 6008 | 6137 | ||
| @@ -6010,6 +6139,8 @@ With argument TABLE-TYPE, go to the end of a table.el-type table." | |||
| 6010 | "Go to the next field in the current table. | 6139 | "Go to the next field in the current table. |
| 6011 | Before doing so, re-align the table if necessary." | 6140 | Before doing so, re-align the table if necessary." |
| 6012 | (interactive) | 6141 | (interactive) |
| 6142 | (org-table-maybe-eval-formula) | ||
| 6143 | (org-table-maybe-recalculate-line) | ||
| 6013 | (if (and org-table-automatic-realign | 6144 | (if (and org-table-automatic-realign |
| 6014 | org-table-may-need-update) | 6145 | org-table-may-need-update) |
| 6015 | (org-table-align)) | 6146 | (org-table-align)) |
| @@ -6032,6 +6163,8 @@ Before doing so, re-align the table if necessary." | |||
| 6032 | "Go to the previous field in the table. | 6163 | "Go to the previous field in the table. |
| 6033 | Before doing so, re-align the table if necessary." | 6164 | Before doing so, re-align the table if necessary." |
| 6034 | (interactive) | 6165 | (interactive) |
| 6166 | (org-table-justify-field-maybe) | ||
| 6167 | (org-table-maybe-recalculate-line) | ||
| 6035 | (if (and org-table-automatic-realign | 6168 | (if (and org-table-automatic-realign |
| 6036 | org-table-may-need-update) | 6169 | org-table-may-need-update) |
| 6037 | (org-table-align)) | 6170 | (org-table-align)) |
| @@ -6048,6 +6181,8 @@ Before doing so, re-align the table if necessary." | |||
| 6048 | "Go to the next row (same column) in the current table. | 6181 | "Go to the next row (same column) in the current table. |
| 6049 | Before doing so, re-align the table if necessary." | 6182 | Before doing so, re-align the table if necessary." |
| 6050 | (interactive) | 6183 | (interactive) |
| 6184 | (org-table-maybe-eval-formula) | ||
| 6185 | (org-table-maybe-recalculate-line) | ||
| 6051 | (if (or (looking-at "[ \t]*$") | 6186 | (if (or (looking-at "[ \t]*$") |
| 6052 | (save-excursion (skip-chars-backward " \t") (bolp))) | 6187 | (save-excursion (skip-chars-backward " \t") (bolp))) |
| 6053 | (newline) | 6188 | (newline) |
| @@ -6081,23 +6216,29 @@ integer, it will be incremented while copying." | |||
| 6081 | (beg (org-table-begin)) | 6216 | (beg (org-table-begin)) |
| 6082 | txt) | 6217 | txt) |
| 6083 | (org-table-check-inside-data-field) | 6218 | (org-table-check-inside-data-field) |
| 6084 | (if non-empty (progn (org-table-next-row) (org-table-blank-field))) | 6219 | (if non-empty |
| 6085 | (if (save-excursion | 6220 | (progn |
| 6086 | (setq txt | 6221 | (setq txt (org-trim field)) |
| 6087 | (catch 'exit | 6222 | (org-table-next-row) |
| 6088 | (while (progn (beginning-of-line 1) | 6223 | (org-table-blank-field)) |
| 6089 | (re-search-backward org-table-dataline-regexp | 6224 | (save-excursion |
| 6090 | beg t)) | 6225 | (setq txt |
| 6091 | (org-table-goto-column colpos t) | 6226 | (catch 'exit |
| 6092 | (if (and (looking-at | 6227 | (while (progn (beginning-of-line 1) |
| 6093 | "|[ \t]*\\([^| \t][^|]*?\\)[ \t]*|") | 6228 | (re-search-backward org-table-dataline-regexp |
| 6094 | (= (setq n (1- n)) 0)) | 6229 | beg t)) |
| 6095 | (throw 'exit (match-string 1))))))) | 6230 | (org-table-goto-column colpos t) |
| 6231 | (if (and (looking-at | ||
| 6232 | "|[ \t]*\\([^| \t][^|]*?\\)[ \t]*|") | ||
| 6233 | (= (setq n (1- n)) 0)) | ||
| 6234 | (throw 'exit (match-string 1)))))))) | ||
| 6235 | (if txt | ||
| 6096 | (progn | 6236 | (progn |
| 6097 | (if (and org-table-copy-increment | 6237 | (if (and org-table-copy-increment |
| 6098 | (string-match "^[0-9]+$" txt)) | 6238 | (string-match "^[0-9]+$" txt)) |
| 6099 | (setq txt (format "%d" (+ (string-to-int txt) 1)))) | 6239 | (setq txt (format "%d" (+ (string-to-int txt) 1)))) |
| 6100 | (insert txt) | 6240 | (insert txt) |
| 6241 | (org-table-maybe-recalculate-line) | ||
| 6101 | (org-table-align)) | 6242 | (org-table-align)) |
| 6102 | (error "No non-empty field found")))) | 6243 | (error "No non-empty field found")))) |
| 6103 | 6244 | ||
| @@ -6119,10 +6260,10 @@ I.e. not on a hline or before the first or after the last column?" | |||
| 6119 | (org-table-check-inside-data-field) | 6260 | (org-table-check-inside-data-field) |
| 6120 | (if (and (interactive-p) (org-region-active-p)) | 6261 | (if (and (interactive-p) (org-region-active-p)) |
| 6121 | (let (org-table-clip) | 6262 | (let (org-table-clip) |
| 6122 | (org-table-cut-region)) | 6263 | (org-table-cut-region (region-beginning) (region-end))) |
| 6123 | (skip-chars-backward "^|") | 6264 | (skip-chars-backward "^|") |
| 6124 | (backward-char 1) | 6265 | (backward-char 1) |
| 6125 | (if (looking-at "|[^|]+") | 6266 | (if (looking-at "|[^|\n]+") |
| 6126 | (let* ((pos (match-beginning 0)) | 6267 | (let* ((pos (match-beginning 0)) |
| 6127 | (match (match-string 0)) | 6268 | (match (match-string 0)) |
| 6128 | (len (length match))) | 6269 | (len (length match))) |
| @@ -6136,15 +6277,16 @@ N defaults to current field. | |||
| 6136 | If REPLACE is a string, replace field with this value. The return value | 6277 | If REPLACE is a string, replace field with this value. The return value |
| 6137 | is always the old value." | 6278 | is always the old value." |
| 6138 | (and n (org-table-goto-column n)) | 6279 | (and n (org-table-goto-column n)) |
| 6139 | (skip-chars-backward "^|") | 6280 | (skip-chars-backward "^|\n") |
| 6140 | (backward-char 1) | 6281 | (backward-char 1) |
| 6141 | (if (looking-at "|[^|\r\n]*") | 6282 | (if (looking-at "|[^|\r\n]*") |
| 6142 | (let* ((pos (match-beginning 0)) | 6283 | (let* ((pos (match-beginning 0)) |
| 6143 | (val (buffer-substring (1+ pos) (match-end 0)))) | 6284 | (val (buffer-substring (1+ pos) (match-end 0)))) |
| 6144 | (if replace | 6285 | (if replace |
| 6145 | (replace-match (concat "|" replace))) | 6286 | (replace-match (concat "|" replace))) |
| 6146 | (goto-char (+ 2 pos)) | 6287 | (goto-char (min (point-at-eol) (+ 2 pos))) |
| 6147 | val))) | 6288 | val) |
| 6289 | (forward-char 1) "")) | ||
| 6148 | 6290 | ||
| 6149 | (defun org-table-current-column () | 6291 | (defun org-table-current-column () |
| 6150 | "Find out which column we are in. | 6292 | "Find out which column we are in. |
| @@ -6173,17 +6315,17 @@ However, when FORCE is non-nil, create new columns if necessary." | |||
| 6173 | (and force | 6315 | (and force |
| 6174 | (progn (end-of-line 1) | 6316 | (progn (end-of-line 1) |
| 6175 | (skip-chars-backward "^|") | 6317 | (skip-chars-backward "^|") |
| 6176 | (insert " |") | 6318 | (insert " | ")))))) |
| 6177 | (backward-char 2) t))))) | 6319 | ; (backward-char 2) t))))) |
| 6178 | (when (and force (not (looking-at ".*|"))) | 6320 | (when (and force (not (looking-at ".*|"))) |
| 6179 | (save-excursion (end-of-line 1) (insert "|"))) | 6321 | (save-excursion (end-of-line 1) (insert " | "))) |
| 6180 | (if on-delim | 6322 | (if on-delim |
| 6181 | (backward-char 1) | 6323 | (backward-char 1) |
| 6182 | (if (looking-at " ") (forward-char 1)))))) | 6324 | (if (looking-at " ") (forward-char 1)))))) |
| 6183 | 6325 | ||
| 6184 | (defun org-at-table-p (&optional table-type) | 6326 | (defun org-at-table-p (&optional table-type) |
| 6185 | "Return t if the cursor is inside an org-type table. | 6327 | "Return t if the cursor is inside an org-type table. |
| 6186 | If TABLE-TYPE is non-nil, also chack for table.el-type tables." | 6328 | If TABLE-TYPE is non-nil, also check for table.el-type tables." |
| 6187 | (if org-enable-table-editor | 6329 | (if org-enable-table-editor |
| 6188 | (save-excursion | 6330 | (save-excursion |
| 6189 | (beginning-of-line 1) | 6331 | (beginning-of-line 1) |
| @@ -6255,8 +6397,9 @@ If TABLE-TYPE is non-nil, also chack for table.el-type tables." | |||
| 6255 | (beginning-of-line 2)) | 6397 | (beginning-of-line 2)) |
| 6256 | (move-marker end nil) | 6398 | (move-marker end nil) |
| 6257 | (goto-line linepos) | 6399 | (goto-line linepos) |
| 6258 | (org-table-goto-column colpos)) | 6400 | (org-table-goto-column colpos) |
| 6259 | (org-table-align)) | 6401 | (org-table-align) |
| 6402 | (org-table-modify-formulas 'insert col))) | ||
| 6260 | 6403 | ||
| 6261 | (defun org-table-find-dataline () | 6404 | (defun org-table-find-dataline () |
| 6262 | "Find a dataline in the current table, which is needed for column commands." | 6405 | "Find a dataline in the current table, which is needed for column commands." |
| @@ -6300,8 +6443,9 @@ If TABLE-TYPE is non-nil, also chack for table.el-type tables." | |||
| 6300 | (beginning-of-line 2)) | 6443 | (beginning-of-line 2)) |
| 6301 | (move-marker end nil) | 6444 | (move-marker end nil) |
| 6302 | (goto-line linepos) | 6445 | (goto-line linepos) |
| 6303 | (org-table-goto-column colpos)) | 6446 | (org-table-goto-column colpos) |
| 6304 | (org-table-align)) | 6447 | (org-table-align) |
| 6448 | (org-table-modify-formulas 'remove col))) | ||
| 6305 | 6449 | ||
| 6306 | (defun org-table-move-column-right () | 6450 | (defun org-table-move-column-right () |
| 6307 | "Move column to the right." | 6451 | "Move column to the right." |
| @@ -6340,8 +6484,9 @@ If TABLE-TYPE is non-nil, also chack for table.el-type tables." | |||
| 6340 | (beginning-of-line 2)) | 6484 | (beginning-of-line 2)) |
| 6341 | (move-marker end nil) | 6485 | (move-marker end nil) |
| 6342 | (goto-line linepos) | 6486 | (goto-line linepos) |
| 6343 | (org-table-goto-column colpos)) | 6487 | (org-table-goto-column colpos) |
| 6344 | (org-table-align)) | 6488 | (org-table-align) |
| 6489 | (org-table-modify-formulas 'swap col (if left (1- col) (1+ col))))) | ||
| 6345 | 6490 | ||
| 6346 | (defun org-table-move-row-down () | 6491 | (defun org-table-move-row-down () |
| 6347 | "Move table row down." | 6492 | "Move table row down." |
| @@ -6380,13 +6525,18 @@ With prefix ARG, insert below the current line." | |||
| 6380 | (interactive "P") | 6525 | (interactive "P") |
| 6381 | (if (not (org-at-table-p)) | 6526 | (if (not (org-at-table-p)) |
| 6382 | (error "Not at a table")) | 6527 | (error "Not at a table")) |
| 6383 | (let ((line (buffer-substring-no-properties (point-at-bol) (point-at-eol)))) | 6528 | (let* ((line (buffer-substring-no-properties (point-at-bol) (point-at-eol))) |
| 6529 | new) | ||
| 6384 | (if (string-match "^[ \t]*|-" line) | 6530 | (if (string-match "^[ \t]*|-" line) |
| 6385 | (setq line (mapcar (lambda (x) (if (member x '(?| ?+)) ?| ?\ )) line)) | 6531 | (setq new (mapcar (lambda (x) (if (member x '(?| ?+)) ?| ?\ )) line)) |
| 6386 | (setq line (mapcar (lambda (x) (if (equal x ?|) ?| ?\ )) line))) | 6532 | (setq new (mapcar (lambda (x) (if (equal x ?|) ?| ?\ )) line))) |
| 6533 | ;; Fix the first field if necessary | ||
| 6534 | (setq new (concat new)) | ||
| 6535 | (if (string-match "^[ \t]*| *[#$] *|" line) | ||
| 6536 | (setq new (replace-match (match-string 0 line) t t new))) | ||
| 6387 | (beginning-of-line (if arg 2 1)) | 6537 | (beginning-of-line (if arg 2 1)) |
| 6388 | (let (org-table-may-need-update) | 6538 | (let (org-table-may-need-update) |
| 6389 | (apply 'insert-before-markers line) | 6539 | (insert-before-markers new) |
| 6390 | (insert-before-markers "\n")) | 6540 | (insert-before-markers "\n")) |
| 6391 | (beginning-of-line 0) | 6541 | (beginning-of-line 0) |
| 6392 | (re-search-forward "| ?" (point-at-eol) t) | 6542 | (re-search-forward "| ?" (point-at-eol) t) |
| @@ -6431,20 +6581,17 @@ With prefix ARG, insert above the current line." | |||
| 6431 | (move-to-column col))) | 6581 | (move-to-column col))) |
| 6432 | 6582 | ||
| 6433 | 6583 | ||
| 6434 | (defun org-table-cut-region () | 6584 | (defun org-table-cut-region (beg end) |
| 6435 | "Copy region in table to the clipboard and blank all relevant fields." | 6585 | "Copy region in table to the clipboard and blank all relevant fields." |
| 6436 | (interactive) | 6586 | (interactive "r") |
| 6437 | (org-table-copy-region 'cut)) | 6587 | (org-table-copy-region beg end 'cut)) |
| 6438 | 6588 | ||
| 6439 | (defun org-table-copy-region (&optional cut) | 6589 | (defun org-table-copy-region (beg end &optional cut) |
| 6440 | "Copy rectangular region in table to clipboard. | 6590 | "Copy rectangular region in table to clipboard. |
| 6441 | A special clipboard is used which can only be accessed | 6591 | A special clipboard is used which can only be accessed |
| 6442 | with `org-table-paste-rectangle'" | 6592 | with `org-table-paste-rectangle'." |
| 6443 | (interactive "P") | 6593 | (interactive "rP") |
| 6444 | (unless (org-region-active-p) (error "No active region")) | 6594 | (let* (l01 c01 l02 c02 l1 c1 l2 c2 ic1 ic2 |
| 6445 | (let* ((beg (region-beginning)) | ||
| 6446 | (end (region-end)) | ||
| 6447 | l01 c01 l02 c02 l1 c1 l2 c2 ic1 ic2 | ||
| 6448 | region cols | 6595 | region cols |
| 6449 | (rpl (if cut " " nil))) | 6596 | (rpl (if cut " " nil))) |
| 6450 | (goto-char beg) | 6597 | (goto-char beg) |
| @@ -6470,7 +6617,8 @@ with `org-table-paste-rectangle'" | |||
| 6470 | (push (nreverse cols) region) | 6617 | (push (nreverse cols) region) |
| 6471 | (setq l1 (1+ l1))))) | 6618 | (setq l1 (1+ l1))))) |
| 6472 | (setq org-table-clip (nreverse region)) | 6619 | (setq org-table-clip (nreverse region)) |
| 6473 | (if cut (org-table-align)))) | 6620 | (if cut (org-table-align)) |
| 6621 | org-table-clip)) | ||
| 6474 | 6622 | ||
| 6475 | (defun org-table-paste-rectangle () | 6623 | (defun org-table-paste-rectangle () |
| 6476 | "Paste a rectangular region into a table. | 6624 | "Paste a rectangular region into a table. |
| @@ -6574,7 +6722,7 @@ blank, and the content is appended to the field above." | |||
| 6574 | ;; There is a region: fill as a paragraph | 6722 | ;; There is a region: fill as a paragraph |
| 6575 | (let ((beg (region-beginning)) | 6723 | (let ((beg (region-beginning)) |
| 6576 | nlines) | 6724 | nlines) |
| 6577 | (org-table-cut-region) | 6725 | (org-table-cut-region (region-beginning) (region-end)) |
| 6578 | (if (> (length (car org-table-clip)) 1) | 6726 | (if (> (length (car org-table-clip)) 1) |
| 6579 | (error "Region must be limited to single column")) | 6727 | (error "Region must be limited to single column")) |
| 6580 | (setq nlines (if arg | 6728 | (setq nlines (if arg |
| @@ -6611,7 +6759,8 @@ blank, and the content is appended to the field above." | |||
| 6611 | (defun org-trim (s) | 6759 | (defun org-trim (s) |
| 6612 | "Remove whitespace at beginning and end of string." | 6760 | "Remove whitespace at beginning and end of string." |
| 6613 | (if (string-match "^[ \t]+" s) (setq s (replace-match "" t t s))) | 6761 | (if (string-match "^[ \t]+" s) (setq s (replace-match "" t t s))) |
| 6614 | (if (string-match "[ \t]+$" s) (setq s (replace-match "" t t s)))) | 6762 | (if (string-match "[ \t]+$" s) (setq s (replace-match "" t t s))) |
| 6763 | s) | ||
| 6615 | 6764 | ||
| 6616 | (defun org-wrap (string &optional width lines) | 6765 | (defun org-wrap (string &optional width lines) |
| 6617 | "Wrap string to either a number of lines, or a width in characters. | 6766 | "Wrap string to either a number of lines, or a width in characters. |
| @@ -6701,7 +6850,7 @@ and end of string." | |||
| 6701 | "Toggle the visibility of table vertical lines. | 6850 | "Toggle the visibility of table vertical lines. |
| 6702 | The effect is immediate and on all tables in the file. | 6851 | The effect is immediate and on all tables in the file. |
| 6703 | With prefix ARG, make lines invisible when ARG is positive, make lines | 6852 | With prefix ARG, make lines invisible when ARG is positive, make lines |
| 6704 | visible when ARG is not positive" | 6853 | visible when ARG is not positive." |
| 6705 | (interactive "P") | 6854 | (interactive "P") |
| 6706 | (let ((action (cond | 6855 | (let ((action (cond |
| 6707 | ((and arg (> (prefix-numeric-value arg) 0)) 'on) | 6856 | ((and arg (> (prefix-numeric-value arg) 0)) 'on) |
| @@ -6734,7 +6883,7 @@ visible when ARG is not positive" | |||
| 6734 | (save-excursion (funcall function))) | 6883 | (save-excursion (funcall function))) |
| 6735 | (re-search-forward org-table-any-border-regexp nil 1))))) | 6884 | (re-search-forward org-table-any-border-regexp nil 1))))) |
| 6736 | 6885 | ||
| 6737 | (defun org-table-sum () | 6886 | (defun org-table-sum (&optional beg end nlast) |
| 6738 | "Sum numbers in region of current table column. | 6887 | "Sum numbers in region of current table column. |
| 6739 | The result will be displayed in the echo area, and will be available | 6888 | The result will be displayed in the echo area, and will be available |
| 6740 | as kill to be inserted with \\[yank]. | 6889 | as kill to be inserted with \\[yank]. |
| @@ -6746,35 +6895,38 @@ column. | |||
| 6746 | 6895 | ||
| 6747 | If at least one number looks like a time HH:MM or HH:MM:SS, all other | 6896 | If at least one number looks like a time HH:MM or HH:MM:SS, all other |
| 6748 | numbers are assumed to be times as well (in decimal hours) and the | 6897 | numbers are assumed to be times as well (in decimal hours) and the |
| 6749 | numbers are added as such." | 6898 | numbers are added as such. |
| 6899 | |||
| 6900 | If NLAST is a number, only the NLAST fields will actually be summed." | ||
| 6750 | (interactive) | 6901 | (interactive) |
| 6751 | (save-excursion | 6902 | (save-excursion |
| 6752 | (let (beg end col (timecnt 0) diff h m s) | 6903 | (let (col (timecnt 0) diff h m s org-table-clip) |
| 6753 | (if (org-region-active-p) | 6904 | (cond |
| 6754 | (setq beg (region-beginning) end (region-end)) | 6905 | ((and beg end)) ; beg and end given explicitly |
| 6906 | ((org-region-active-p) | ||
| 6907 | (setq beg (region-beginning) end (region-end))) | ||
| 6908 | (t | ||
| 6755 | (setq col (org-table-current-column)) | 6909 | (setq col (org-table-current-column)) |
| 6756 | (goto-char (org-table-begin)) | 6910 | (goto-char (org-table-begin)) |
| 6757 | (unless (re-search-forward "^[ \t]*|[^-]" nil t) | 6911 | (unless (re-search-forward "^[ \t]*|[^-]" nil t) |
| 6758 | (error "No table data")) | 6912 | (error "No table data")) |
| 6759 | (org-table-goto-column col) | 6913 | (org-table-goto-column col) |
| 6760 | (skip-chars-backward "^|") | 6914 | ;not needed? (skip-chars-backward "^|") |
| 6761 | (setq beg (point)) | 6915 | (setq beg (point)) |
| 6762 | (goto-char (org-table-end)) | 6916 | (goto-char (org-table-end)) |
| 6763 | (unless (re-search-backward "^[ \t]*|[^-]" nil t) | 6917 | (unless (re-search-backward "^[ \t]*|[^-]" nil t) |
| 6764 | (error "No table data")) | 6918 | (error "No table data")) |
| 6765 | (org-table-goto-column col) | 6919 | (org-table-goto-column col) |
| 6766 | (skip-chars-forward "^|") | 6920 | ;not needed? (skip-chars-forward "^|") |
| 6767 | (setq end (point))) | 6921 | (setq end (point)))) |
| 6768 | (let* ((l1 (progn (goto-char beg) | 6922 | (let* ((items (apply 'append (org-table-copy-region beg end))) |
| 6769 | (+ (if (bolp) 1 0) (count-lines (point-min) (point))))) | 6923 | (items1 (cond ((not nlast) items) |
| 6770 | (l2 (progn (goto-char end) | 6924 | ((>= nlast (length items)) items) |
| 6771 | (+ (if (bolp) 1 0) (count-lines (point-min) (point))))) | 6925 | (t (setq items (reverse items)) |
| 6772 | (items (if (= l1 l2) | 6926 | (setcdr (nthcdr (1- nlast) items) nil) |
| 6773 | (split-string (buffer-substring beg end)) | 6927 | (nreverse items)))) |
| 6774 | (split-string | ||
| 6775 | (mapconcat 'identity (extract-rectangle beg end) " ")))) | ||
| 6776 | (numbers (delq nil (mapcar 'org-table-get-number-for-summing | 6928 | (numbers (delq nil (mapcar 'org-table-get-number-for-summing |
| 6777 | items))) | 6929 | items1))) |
| 6778 | (res (apply '+ numbers)) | 6930 | (res (apply '+ numbers)) |
| 6779 | (sres (if (= timecnt 0) | 6931 | (sres (if (= timecnt 0) |
| 6780 | (format "%g" res) | 6932 | (format "%g" res) |
| @@ -6784,9 +6936,11 @@ numbers are added as such." | |||
| 6784 | s diff) | 6936 | s diff) |
| 6785 | (format "%d:%02d:%02d" h m s)))) | 6937 | (format "%d:%02d:%02d" h m s)))) |
| 6786 | (kill-new sres) | 6938 | (kill-new sres) |
| 6787 | (message (substitute-command-keys | 6939 | (if (interactive-p) |
| 6788 | (format "Sum of %d items: %-20s (\\[yank] will insert result into buffer)" | 6940 | (message (substitute-command-keys |
| 6789 | (length numbers) sres))))))) | 6941 | (format "Sum of %d items: %-20s (\\[yank] will insert result into buffer)" |
| 6942 | (length numbers) sres)))) | ||
| 6943 | sres)))) | ||
| 6790 | 6944 | ||
| 6791 | (defun org-table-get-number-for-summing (s) | 6945 | (defun org-table-get-number-for-summing (s) |
| 6792 | (let (n) | 6946 | (let (n) |
| @@ -6808,15 +6962,136 @@ numbers are added as such." | |||
| 6808 | ((equal n 0) nil) | 6962 | ((equal n 0) nil) |
| 6809 | (t n)))) | 6963 | (t n)))) |
| 6810 | 6964 | ||
| 6811 | (defvar org-table-current-formula nil) | ||
| 6812 | (defvar org-table-formula-history nil) | 6965 | (defvar org-table-formula-history nil) |
| 6813 | (defun org-table-get-formula (current) | 6966 | |
| 6814 | (if (and current (not (equal "" org-table-current-formula))) | 6967 | (defun org-table-get-formula (&optional equation) |
| 6815 | org-table-current-formula | 6968 | "Read a formula from the minibuffer, offer stored formula as default." |
| 6816 | (setq org-table-current-formula | 6969 | (let* ((col (org-table-current-column)) |
| 6817 | (read-string | 6970 | (stored-list (org-table-get-stored-formulas)) |
| 6818 | "Formula [last]: " "" 'org-table-formula-history | 6971 | (stored (cdr (assoc col stored-list))) |
| 6819 | org-table-current-formula)))) | 6972 | (eq (cond |
| 6973 | ((and stored equation (string-match "^ *= *$" equation)) | ||
| 6974 | stored) | ||
| 6975 | ((stringp equation) | ||
| 6976 | equation) | ||
| 6977 | (t (read-string | ||
| 6978 | "Formula: " (or stored "") 'org-table-formula-history | ||
| 6979 | stored))))) | ||
| 6980 | (if (not (string-match "\\S-" eq)) | ||
| 6981 | (error "Empty formula")) | ||
| 6982 | (if (string-match "^ *=?" eq) (setq eq (replace-match "" t t eq))) | ||
| 6983 | (if (string-match " *$" eq) (setq eq (replace-match "" t t eq))) | ||
| 6984 | (if stored | ||
| 6985 | (setcdr (assoc col stored-list) eq) | ||
| 6986 | (setq stored-list (cons (cons col eq) stored-list))) | ||
| 6987 | (if (not (equal stored eq)) | ||
| 6988 | (org-table-store-formulas stored-list)) | ||
| 6989 | eq)) | ||
| 6990 | |||
| 6991 | (defun org-table-store-formulas (alist) | ||
| 6992 | "Store the list of formulas below the current table." | ||
| 6993 | (setq alist (sort alist (lambda (a b) (< (car a) (car b))))) | ||
| 6994 | (save-excursion | ||
| 6995 | (goto-char (org-table-end)) | ||
| 6996 | (if (looking-at "\\([ \t]*\n\\)*#\\+TBLFM:.*\n?") | ||
| 6997 | (delete-region (point) (match-end 0))) | ||
| 6998 | (insert "#+TBLFM: " | ||
| 6999 | (mapconcat (lambda (x) | ||
| 7000 | (concat "$" (int-to-string (car x)) "=" (cdr x))) | ||
| 7001 | alist "::") | ||
| 7002 | "\n"))) | ||
| 7003 | |||
| 7004 | (defun org-table-get-stored-formulas () | ||
| 7005 | "Return an alist with the stored formulas directly after current table." | ||
| 7006 | (interactive) | ||
| 7007 | (let (col eq eq-alist strings string) | ||
| 7008 | (save-excursion | ||
| 7009 | (goto-char (org-table-end)) | ||
| 7010 | (when (looking-at "\\([ \t]*\n\\)*#\\+TBLFM: *\\(.*\\)") | ||
| 7011 | (setq strings (org-split-string (match-string 2) " *:: *")) | ||
| 7012 | (while (setq string (pop strings)) | ||
| 7013 | (if (string-match "\\$\\([0-9]+\\) *= *\\(.*[^ \t]\\)" string) | ||
| 7014 | (setq col (string-to-number (match-string 1 string)) | ||
| 7015 | eq (match-string 2 string) | ||
| 7016 | eq-alist (cons (cons col eq) eq-alist)))))) | ||
| 7017 | eq-alist)) | ||
| 7018 | |||
| 7019 | (defun org-table-modify-formulas (action &rest columns) | ||
| 7020 | "Modify the formulas stored below the current table. | ||
| 7021 | ACTION can be `remove', `insert', `swap'. For `swap', two column numbers are | ||
| 7022 | expected, for the other action only a single column number is needed." | ||
| 7023 | (let ((list (org-table-get-stored-formulas)) | ||
| 7024 | (nmax (length (org-split-string (buffer-substring (point-at-bol) (point-at-eol)) | ||
| 7025 | "|"))) | ||
| 7026 | col col1 col2) | ||
| 7027 | (cond | ||
| 7028 | ((null list)) ; No action needed if there are no stored formulas | ||
| 7029 | ((eq action 'remove) | ||
| 7030 | (setq col (car columns)) | ||
| 7031 | (org-table-replace-in-formulas list col "INVALID") | ||
| 7032 | (if (assoc col list) (setq list (delq (assoc col list) list))) | ||
| 7033 | (loop for i from (1+ col) upto nmax by 1 do | ||
| 7034 | (org-table-replace-in-formulas list i (1- i)) | ||
| 7035 | (if (assoc i list) (setcar (assoc i list) (1- i))))) | ||
| 7036 | ((eq action 'insert) | ||
| 7037 | (setq col (car columns)) | ||
| 7038 | (loop for i from nmax downto col by 1 do | ||
| 7039 | (org-table-replace-in-formulas list i (1+ i)) | ||
| 7040 | (if (assoc i list) (setcar (assoc i list) (1+ i))))) | ||
| 7041 | ((eq action 'swap) | ||
| 7042 | (setq col1 (car columns) col2 (nth 1 columns)) | ||
| 7043 | (org-table-replace-in-formulas list col1 "Z") | ||
| 7044 | (org-table-replace-in-formulas list col2 col1) | ||
| 7045 | (org-table-replace-in-formulas list "Z" col2) | ||
| 7046 | (if (assoc col1 list) (setcar (assoc col1 list) "Z")) | ||
| 7047 | (if (assoc col2 list) (setcar (assoc col2 list) col1)) | ||
| 7048 | (if (assoc "Z" list) (setcar (assoc "Z" list) col2))) | ||
| 7049 | (t (error "Invalid action in `org-table-modify-formulas'"))) | ||
| 7050 | (if list (org-table-store-formulas list)))) | ||
| 7051 | |||
| 7052 | (defun org-table-replace-in-formulas (list s1 s2) | ||
| 7053 | (let (elt re s) | ||
| 7054 | (setq s1 (concat "$" (if (integerp s1) (int-to-string s1) s1)) | ||
| 7055 | s2 (concat "$" (if (integerp s2) (int-to-string s2) s2)) | ||
| 7056 | re (concat (regexp-quote s1) "\\>")) | ||
| 7057 | (while (setq elt (pop list)) | ||
| 7058 | (setq s (cdr elt)) | ||
| 7059 | (while (string-match re s) | ||
| 7060 | (setq s (replace-match s2 t t s))) | ||
| 7061 | (setcdr elt s)))) | ||
| 7062 | |||
| 7063 | (defvar org-table-column-names nil | ||
| 7064 | "Alist with column names, derived from the `!' line.") | ||
| 7065 | (defvar org-table-column-name-regexp nil | ||
| 7066 | "Regular expression matching the current column names.") | ||
| 7067 | (defvar org-table-local-parameters nil | ||
| 7068 | "Alist with parameter names, derived from the `$' line.") | ||
| 7069 | |||
| 7070 | (defun org-table-get-specials () | ||
| 7071 | "Get the column names and local parameters for this table." | ||
| 7072 | (save-excursion | ||
| 7073 | (let ((beg (org-table-begin)) (end (org-table-end)) | ||
| 7074 | names name fields field cnt) | ||
| 7075 | (setq org-table-column-names nil | ||
| 7076 | org-table-local-parameters nil) | ||
| 7077 | (goto-char beg) | ||
| 7078 | (when (re-search-forward "^[ \t]*| *! *\\(|.*\\)" end t) | ||
| 7079 | (setq names (org-split-string (match-string 1) " *| *") | ||
| 7080 | cnt 1) | ||
| 7081 | (while (setq name (pop names)) | ||
| 7082 | (setq cnt (1+ cnt)) | ||
| 7083 | (if (string-match "^[a-zA-Z][a-zA-Z0-9]*$" name) | ||
| 7084 | (push (cons name (int-to-string cnt)) org-table-column-names)))) | ||
| 7085 | (setq org-table-column-names (nreverse org-table-column-names)) | ||
| 7086 | (setq org-table-column-name-regexp | ||
| 7087 | (concat "\\$\\(" (mapconcat 'car org-table-column-names "\\|") "\\)\\>")) | ||
| 7088 | (goto-char beg) | ||
| 7089 | (while (re-search-forward "^[ \t]*| *\\$ *\\(|.*\\)" end t) | ||
| 7090 | (setq fields (org-split-string (match-string 1) " *| *")) | ||
| 7091 | (while (setq field (pop fields)) | ||
| 7092 | (if (string-match "^\\([a-zA-Z][a-zA-Z0-9]*\\) *= *\\(.*\\)" field) | ||
| 7093 | (push (cons (match-string 1 field) (match-string 2 field)) | ||
| 7094 | org-table-local-parameters))))))) | ||
| 6820 | 7095 | ||
| 6821 | (defun org-this-word () | 7096 | (defun org-this-word () |
| 6822 | ;; Get the current word | 7097 | ;; Get the current word |
| @@ -6825,24 +7100,157 @@ numbers are added as such." | |||
| 6825 | (end (progn (skip-chars-forward "^ \t\n") (point)))) | 7100 | (end (progn (skip-chars-forward "^ \t\n") (point)))) |
| 6826 | (buffer-substring-no-properties beg end)))) | 7101 | (buffer-substring-no-properties beg end)))) |
| 6827 | 7102 | ||
| 6828 | (defun org-table-eval-formula (&optional ndown) | 7103 | (defun org-table-maybe-eval-formula () |
| 7104 | "Check if the current field starts with \"=\" and evaluate the formula." | ||
| 7105 | ;; We already know we are in a table. Get field will only return a formula | ||
| 7106 | ;; when appropriate. It might return a separator line, but no problem. | ||
| 7107 | (when org-table-formula-evaluate-inline | ||
| 7108 | (let* ((field (org-trim (or (org-table-get-field) ""))) | ||
| 7109 | (dfield (downcase field)) | ||
| 7110 | col bolpos nlast) | ||
| 7111 | (when (equal (string-to-char field) ?=) | ||
| 7112 | (if (string-match "^\\(=sum[vh]?\\)\\([0-9]+\\)$" dfield) | ||
| 7113 | (setq nlast (1+ (string-to-number (match-string 2 dfield))) | ||
| 7114 | dfield (match-string 1 dfield))) | ||
| 7115 | (cond | ||
| 7116 | ((equal dfield "=sumh") | ||
| 7117 | (org-table-get-field | ||
| 7118 | nil (org-table-sum | ||
| 7119 | (save-excursion (org-table-goto-column 1) (point)) | ||
| 7120 | (point) nlast))) | ||
| 7121 | ((member dfield '("=sum" "=sumv")) | ||
| 7122 | (setq col (org-table-current-column) | ||
| 7123 | bolpos (point-at-bol)) | ||
| 7124 | (org-table-get-field | ||
| 7125 | nil (org-table-sum | ||
| 7126 | (save-excursion | ||
| 7127 | (goto-char (org-table-begin)) | ||
| 7128 | (if (re-search-forward org-table-dataline-regexp bolpos t) | ||
| 7129 | (progn | ||
| 7130 | (goto-char (match-beginning 0)) | ||
| 7131 | (org-table-goto-column col) | ||
| 7132 | (point)) | ||
| 7133 | (error "No datalines above current"))) | ||
| 7134 | (point) nlast))) | ||
| 7135 | ((and (string-match "^ *=" field) | ||
| 7136 | (fboundp 'calc-eval)) | ||
| 7137 | (org-table-eval-formula nil field))))))) | ||
| 7138 | |||
| 7139 | (defvar org-last-recalc-undo-list nil) | ||
| 7140 | (defcustom org-table-allow-line-recalculation t | ||
| 7141 | "FIXME:" | ||
| 7142 | :group 'org-table | ||
| 7143 | :type 'boolean) | ||
| 7144 | |||
| 7145 | (defvar org-recalc-commands nil | ||
| 7146 | "List of commands triggering the recalculation of a line. | ||
| 7147 | Will be filled automatically during use.") | ||
| 7148 | |||
| 7149 | (defvar org-recalc-marks | ||
| 7150 | '((" " . "Unmarked: no special line, no automatic recalculation") | ||
| 7151 | ("#" . "Automatically recalculate this line upon TAB, RET, and C-c C-c in the line") | ||
| 7152 | ("*" . "Recalculate only when entire table is recalculated with `C-u C-c *'") | ||
| 7153 | ("!" . "Column name definition line. Reference in formula as $name.") | ||
| 7154 | ("$" . "Parameter definition line name=value. Reference in formula as $name."))) | ||
| 7155 | |||
| 7156 | (defun org-table-rotate-recalc-marks (&optional newchar) | ||
| 7157 | "Rotate the recalculation mark in the first column. | ||
| 7158 | If in any row, the first field is not consistent with a mark, | ||
| 7159 | insert a new column for the makers. | ||
| 7160 | When there is an active region, change all the lines in the region, | ||
| 7161 | after prompting for the marking character. | ||
| 7162 | After each change, a message will be displayed indication the meaning | ||
| 7163 | of the new mark." | ||
| 7164 | (interactive) | ||
| 7165 | (unless (org-at-table-p) (error "Not at a table")) | ||
| 7166 | (let* ((marks (append (mapcar 'car org-recalc-marks) '(" "))) | ||
| 7167 | (beg (org-table-begin)) | ||
| 7168 | (end (org-table-end)) | ||
| 7169 | (l (org-current-line)) | ||
| 7170 | (l1 (if (org-region-active-p) (org-current-line (region-beginning)))) | ||
| 7171 | (l2 (if (org-region-active-p) (org-current-line (region-end)))) | ||
| 7172 | (have-col | ||
| 7173 | (save-excursion | ||
| 7174 | (goto-char beg) | ||
| 7175 | (not (re-search-forward "^[ \t]*|[^-|][^|]*[^#!$*| \t][^|]*|" end t)))) | ||
| 7176 | (col (org-table-current-column)) | ||
| 7177 | (forcenew (car (assoc newchar org-recalc-marks))) | ||
| 7178 | epos new) | ||
| 7179 | (if l1 (setq newchar (char-to-string (read-char-exclusive "Change region to what mark? Type # * ! $ or SPC: ")) | ||
| 7180 | forcenew (car (assoc newchar org-recalc-marks)))) | ||
| 7181 | (if (and newchar (not forcenew)) | ||
| 7182 | (error "Invalid NEWCHAR `%s' in `org-table-rotate-recalc-marks'" | ||
| 7183 | newchar)) | ||
| 7184 | (if l1 (goto-line l1)) | ||
| 7185 | (save-excursion | ||
| 7186 | (beginning-of-line 1) | ||
| 7187 | (unless (looking-at org-table-dataline-regexp) | ||
| 7188 | (error "Not at a table data line"))) | ||
| 7189 | (unless have-col | ||
| 7190 | (org-table-goto-column 1) | ||
| 7191 | (org-table-insert-column) | ||
| 7192 | (org-table-goto-column (1+ col))) | ||
| 7193 | (setq epos (point-at-eol)) | ||
| 7194 | (save-excursion | ||
| 7195 | (beginning-of-line 1) | ||
| 7196 | (org-table-get-field | ||
| 7197 | 1 (if (looking-at "^[ \t]*| *\\([#!$* ]\\) *|") | ||
| 7198 | (concat " " | ||
| 7199 | (setq new (or forcenew | ||
| 7200 | (cadr (member (match-string 1) marks)))) | ||
| 7201 | " ") | ||
| 7202 | " # "))) | ||
| 7203 | (if (and l1 l2) | ||
| 7204 | (progn | ||
| 7205 | (goto-line l1) | ||
| 7206 | (while (progn (beginning-of-line 2) (not (= (org-current-line) l2))) | ||
| 7207 | (and (looking-at org-table-dataline-regexp) | ||
| 7208 | (org-table-get-field 1 (concat " " new " ")))) | ||
| 7209 | (goto-line l1))) | ||
| 7210 | (if (not (= epos (point-at-eol))) (org-table-align)) | ||
| 7211 | (goto-line l) | ||
| 7212 | (and (interactive-p) (message (cdr (assoc new org-recalc-marks)))))) | ||
| 7213 | |||
| 7214 | (defun org-table-maybe-recalculate-line () | ||
| 7215 | "Recompute the current line if marked for it, and if we haven't just done it." | ||
| 7216 | (interactive) | ||
| 7217 | (and org-table-allow-line-recalculation | ||
| 7218 | (not (and (memq last-command org-recalc-commands) | ||
| 7219 | (equal org-last-recalc-line (org-current-line)))) | ||
| 7220 | (save-excursion (beginning-of-line 1) | ||
| 7221 | (looking-at org-table-auto-recalculate-regexp)) | ||
| 7222 | (fboundp 'calc-eval) | ||
| 7223 | (org-table-recalculate) t)) | ||
| 7224 | |||
| 7225 | (defvar org-table-formula-debug nil | ||
| 7226 | "Non-nil means, debug table formulas. | ||
| 7227 | When nil, simply write \"#ERROR\" in corrupted fields.") | ||
| 7228 | |||
| 7229 | (defvar modes) | ||
| 7230 | (defsubst org-set-calc-mode (var value) | ||
| 7231 | (setcar (or (cdr (memq var modes)) (cons nil nil)) value)) | ||
| 7232 | |||
| 7233 | (defun org-table-eval-formula (&optional ndown equation | ||
| 7234 | suppress-align suppress-const | ||
| 7235 | suppress-store) | ||
| 6829 | "Replace the table field value at the cursor by the result of a calculation. | 7236 | "Replace the table field value at the cursor by the result of a calculation. |
| 6830 | 7237 | ||
| 6831 | This function makes use of Dave Gillespie's calc package, arguably the most | 7238 | This function makes use of Dave Gillespie's calc package, in my view the |
| 6832 | exciting program ever written for GNU Emacs. So you need to have calc | 7239 | most exciting program ever written for GNU Emacs. So you need to have calc |
| 6833 | installed in order to use this function. | 7240 | installed in order to use this function. |
| 6834 | 7241 | ||
| 6835 | In a table, this command replaces the value in the current field with the | 7242 | In a table, this command replaces the value in the current field with the |
| 6836 | result of a formula. While nowhere near the computation options of a | 7243 | result of a formula. While nowhere near the computation options of a |
| 6837 | spreadsheet program, this is still very useful. Note that there is no | 7244 | spreadsheet program, this is still very useful. There is no automatic |
| 6838 | automatic updating of a calculated field, nor will the field remember the | 7245 | updating of a calculated field, but the table will remember the last |
| 6839 | formula. The command needs to be applied again after changing input | 7246 | formula for each column. The command needs to be applied again after |
| 6840 | fields. | 7247 | changing input fields. |
| 6841 | 7248 | ||
| 6842 | When called, the command first prompts for a formula, which is read in the | 7249 | When called, the command first prompts for a formula, which is read in the |
| 6843 | minibuffer. Previously entered formulae are available through the history | 7250 | minibuffer. Previously entered formulas are available through the history |
| 6844 | list, and the last used formula is the default, reachable by simply | 7251 | list, and the last used formula for each column is offered as a default. |
| 6845 | pressing RET. | 7252 | These stored formulas are adapted correctly when moving, inserting, or |
| 7253 | deleting columns with the corresponding commands. | ||
| 6846 | 7254 | ||
| 6847 | The formula can be any algebraic expression understood by the calc package. | 7255 | The formula can be any algebraic expression understood by the calc package. |
| 6848 | Before evaluation, variable substitution takes place: \"$\" is replaced by | 7256 | Before evaluation, variable substitution takes place: \"$\" is replaced by |
| @@ -6852,50 +7260,113 @@ here, so the command supports only horizontal computing. The formula can | |||
| 6852 | contain an optional printf format specifier after a semicolon, to reformat | 7260 | contain an optional printf format specifier after a semicolon, to reformat |
| 6853 | the result. | 7261 | the result. |
| 6854 | 7262 | ||
| 6855 | A few examples for formulae: | 7263 | A few examples for formulas: |
| 6856 | $1+$2 Sum of first and second field | 7264 | $1+$2 Sum of first and second field |
| 6857 | $1+$2;%.2f Same, and format result to two digits after dec.point | 7265 | $1+$2;%.2f Same, and format result to two digits after dec.point |
| 6858 | exp($2)+exp($1) Math functions can be used | 7266 | exp($2)+exp($1) Math functions can be used |
| 6859 | $;%.1f Reformat current cell to 1 digit after dec.point | 7267 | $;%.1f Reformat current cell to 1 digit after dec.point |
| 6860 | ($3-32)*5/9 degrees F -> C conversion | 7268 | ($3-32)*5/9 Degrees F -> C conversion |
| 6861 | 7269 | ||
| 6862 | When called with a raw \\[universal-argument] prefix, the formula is applied to the current | 7270 | When called with a raw \\[universal-argument] prefix, the formula is applied to the current |
| 6863 | field, and to the same same column in all following rows, until reaching a | 7271 | field, and to the same same column in all following rows, until reaching a |
| 6864 | horizontal line or the end of the table. When the command is called with a | 7272 | horizontal line or the end of the table. When the command is called with a |
| 6865 | numeric prefix argument (like M-3 or C-7 or \\[universal-argument] 24), the formula is applied | 7273 | numeric prefix argument (like M-3 or C-7 or \\[universal-argument] 24), the formula is applied |
| 6866 | to the current row, and to the following n-1 rows (but not beyond a | 7274 | to the current row, and to the following n-1 rows (but not beyond a |
| 6867 | separator line)." | 7275 | separator line). |
| 7276 | |||
| 7277 | This function can also be called from Lisp programs and offers two additional | ||
| 7278 | Arguments: EQUATION can be the formula to apply. If this argument is given, | ||
| 7279 | the user will not be prompted. SUPPRESS-ALIGN is used to speed-up | ||
| 7280 | recursive calls by by-passing unnecessary aligns. SUPPRESS-CONST suppresses | ||
| 7281 | the interpretation of constants in the formula. SUPPRESS-STORE means the | ||
| 7282 | formula should not be stored, either because it is already stored, or because | ||
| 7283 | it is a modified equation that should not overwrite the stored one." | ||
| 6868 | (interactive "P") | 7284 | (interactive "P") |
| 6869 | (setq ndown (if (equal ndown '(4)) 10000 (prefix-numeric-value ndown))) | 7285 | (setq ndown (if (equal ndown '(4)) 10000 (prefix-numeric-value ndown))) |
| 6870 | (require 'calc) | 7286 | (require 'calc) |
| 6871 | (org-table-check-inside-data-field) | 7287 | (org-table-check-inside-data-field) |
| 7288 | (org-table-get-specials) | ||
| 6872 | (let* (fields | 7289 | (let* (fields |
| 6873 | (org-table-automatic-realign nil) | 7290 | (org-table-automatic-realign nil) |
| 7291 | (case-fold-search nil) | ||
| 6874 | (down (> ndown 1)) | 7292 | (down (> ndown 1)) |
| 6875 | (formula (org-table-get-formula nil)) | 7293 | (formula (if (and equation suppress-store) |
| 7294 | equation | ||
| 7295 | (org-table-get-formula equation))) | ||
| 6876 | (n0 (org-table-current-column)) | 7296 | (n0 (org-table-current-column)) |
| 6877 | n form fmt x ev) | 7297 | (modes (copy-sequence org-calc-default-modes)) |
| 7298 | n form fmt x ev orig c) | ||
| 7299 | ;; Parse the format | ||
| 6878 | (if (string-match ";" formula) | 7300 | (if (string-match ";" formula) |
| 6879 | (let ((tmp (org-split-string formula ";"))) | 7301 | (let ((tmp (org-split-string formula ";"))) |
| 6880 | (setq formula (car tmp) fmt (nth 1 tmp)))) | 7302 | (setq formula (car tmp) fmt (or (nth 1 tmp) "")) |
| 7303 | (while (string-match "[pnfse]\\(-?[0-9]+\\)" fmt) | ||
| 7304 | (setq c (string-to-char (match-string 1 fmt)) | ||
| 7305 | n (string-to-number (or (match-string 1 fmt) ""))) | ||
| 7306 | (if (= c ?p) (org-set-calc-mode 'calc-internal-prec n) | ||
| 7307 | (org-set-calc-mode 'calc-float-format | ||
| 7308 | (list (cdr (assoc c '((?n. float) (?f. fix) | ||
| 7309 | (?s. sci) (?e. eng)))) | ||
| 7310 | n))) | ||
| 7311 | (setq fmt (replace-match "" t t fmt))) | ||
| 7312 | (when (string-match "[DR]" fmt) | ||
| 7313 | (org-set-calc-mode 'calc-angle-mode | ||
| 7314 | (if (equal (match-string 0 fmt) "D") | ||
| 7315 | 'deg 'rad)) | ||
| 7316 | (setq fmt (replace-match "" t t fmt))) | ||
| 7317 | (when (string-match "F" fmt) | ||
| 7318 | (org-set-calc-mode 'calc-prefer-frac t) | ||
| 7319 | (setq fmt (replace-match "" t t fmt))) | ||
| 7320 | (when (string-match "S" fmt) | ||
| 7321 | (org-set-calc-mode 'calc-symbolic-mode t) | ||
| 7322 | (setq fmt (replace-match "" t t fmt))) | ||
| 7323 | (unless (string-match "\\S-" fmt) | ||
| 7324 | (setq fmt nil)))) | ||
| 7325 | (if (and (not suppress-const) org-table-formula-use-constants) | ||
| 7326 | (setq formula (org-table-formula-substitute-names formula))) | ||
| 7327 | (setq orig (or (get-text-property 1 :orig-formula formula) "?")) | ||
| 6881 | (while (> ndown 0) | 7328 | (while (> ndown 0) |
| 6882 | (setq fields (org-split-string | 7329 | (setq fields (org-split-string |
| 6883 | (concat " " (buffer-substring | 7330 | (buffer-substring |
| 6884 | (point-at-bol) (point-at-eol))) "|")) | 7331 | (point-at-bol) (point-at-eol)) " *| *")) |
| 7332 | (if org-table-formula-numbers-only | ||
| 7333 | (setq fields (mapcar | ||
| 7334 | (lambda (x) (number-to-string (string-to-number x))) | ||
| 7335 | fields))) | ||
| 6885 | (setq ndown (1- ndown)) | 7336 | (setq ndown (1- ndown)) |
| 6886 | (setq form (copy-sequence formula)) | 7337 | (setq form (copy-sequence formula)) |
| 6887 | (while (string-match "\\$\\([0-9]+\\)?" form) | 7338 | (while (string-match "\\$\\([0-9]+\\)?" form) |
| 6888 | (setq n (if (match-beginning 1) | 7339 | (setq n (if (match-beginning 1) |
| 6889 | (string-to-int (match-string 1 form)) | 7340 | (string-to-int (match-string 1 form)) |
| 6890 | n0) | 7341 | n0) |
| 6891 | x (nth n fields)) | 7342 | x (nth (1- n) fields)) |
| 6892 | (unless x (error "Invalid field specifier \"%s\"" | 7343 | (unless x (error "Invalid field specifier \"%s\"" |
| 6893 | (match-string 0 form))) | 7344 | (match-string 0 form))) |
| 6894 | (if (equal (string-to-number x) 0) (setq x "0")) | 7345 | (if (equal x "") (setq x "0")) |
| 6895 | (setq form (replace-match x t t form))) | 7346 | (setq form (replace-match (concat "(" x ")") t t form))) |
| 6896 | (setq ev (calc-eval (list form) 'num)) | 7347 | (setq ev (calc-eval (cons form modes) |
| 7348 | (if org-table-formula-numbers-only 'num))) | ||
| 7349 | |||
| 7350 | (when org-table-formula-debug | ||
| 7351 | (with-output-to-temp-buffer "*Help*" | ||
| 7352 | (princ (format "Substitution history of formula | ||
| 7353 | Orig: %s | ||
| 7354 | $xyz-> %s | ||
| 7355 | $1-> %s\n" orig formula form)) | ||
| 7356 | (if (listp ev) | ||
| 7357 | (princ (format " %s^\nError: %s" | ||
| 7358 | (make-string (car ev) ?\-) (nth 1 ev))) | ||
| 7359 | (princ (format "Result: %s" ev)))) | ||
| 7360 | (shrink-window-if-larger-than-buffer (get-buffer-window "*Help*")) | ||
| 7361 | (unless (and (interactive-p) (not ndown)) | ||
| 7362 | (unless (let (inhibit-redisplay) | ||
| 7363 | (y-or-n-p "Debugging Formula. Continue to next? ")) | ||
| 7364 | (org-table-align) | ||
| 7365 | (error "Abort")) | ||
| 7366 | (delete-window (get-buffer-window "*Help*")) | ||
| 7367 | (message ""))) | ||
| 6897 | (if (listp ev) | 7368 | (if (listp ev) |
| 6898 | (error "Invalid expression: %s (%s at %d)" form (nth 1 ev) (car ev))) | 7369 | (setq fmt nil ev "#ERROR")) |
| 6899 | (org-table-blank-field) | 7370 | (org-table-blank-field) |
| 6900 | (if fmt | 7371 | (if fmt |
| 6901 | (insert (format fmt (string-to-number ev))) | 7372 | (insert (format fmt (string-to-number ev))) |
| @@ -6903,7 +7374,96 @@ separator line)." | |||
| 6903 | (if (and down (> ndown 0) (looking-at ".*\n[ \t]*|[^-]")) | 7374 | (if (and down (> ndown 0) (looking-at ".*\n[ \t]*|[^-]")) |
| 6904 | (call-interactively 'org-return) | 7375 | (call-interactively 'org-return) |
| 6905 | (setq ndown 0))) | 7376 | (setq ndown 0))) |
| 6906 | (org-table-align))) | 7377 | (or suppress-align (org-table-align)))) |
| 7378 | |||
| 7379 | (defun org-table-recalculate (&optional all noalign) | ||
| 7380 | "Recalculate the current table line by applying all stored formulas." | ||
| 7381 | (interactive "P") | ||
| 7382 | (or (memq this-command org-recalc-commands) | ||
| 7383 | (setq org-recalc-commands (cons this-command org-recalc-commands))) | ||
| 7384 | (unless (org-at-table-p) (error "Not at a table")) | ||
| 7385 | (org-table-get-specials) | ||
| 7386 | (let* ((eqlist (sort (org-table-get-stored-formulas) | ||
| 7387 | (lambda (a b) (< (car a) (car b))))) | ||
| 7388 | (inhibit-redisplay t) | ||
| 7389 | (line-re org-table-dataline-regexp) | ||
| 7390 | (thisline (+ (if (bolp) 1 0) (count-lines (point-min) (point)))) | ||
| 7391 | (thiscol (org-table-current-column)) | ||
| 7392 | beg end entry eql (cnt 0)) | ||
| 7393 | ;; Insert constants in all formulas | ||
| 7394 | (setq eqlist | ||
| 7395 | (mapcar (lambda (x) | ||
| 7396 | (setcdr x (org-table-formula-substitute-names (cdr x))) | ||
| 7397 | x) | ||
| 7398 | eqlist)) | ||
| 7399 | (if all | ||
| 7400 | (progn | ||
| 7401 | (setq end (move-marker (make-marker) (1+ (org-table-end)))) | ||
| 7402 | (goto-char (setq beg (org-table-begin))) | ||
| 7403 | (if (re-search-forward org-table-recalculate-regexp end t) | ||
| 7404 | (setq line-re org-table-recalculate-regexp) | ||
| 7405 | (if (and (re-search-forward org-table-dataline-regexp end t) | ||
| 7406 | (re-search-forward org-table-hline-regexp end t) | ||
| 7407 | (re-search-forward org-table-dataline-regexp end t)) | ||
| 7408 | (setq beg (match-beginning 0)) | ||
| 7409 | nil))) ;; just leave beg where it is | ||
| 7410 | (setq beg (point-at-bol) | ||
| 7411 | end (move-marker (make-marker) (1+ (point-at-eol))))) | ||
| 7412 | (goto-char beg) | ||
| 7413 | (and all (message "Re-applying formulas to full table...")) | ||
| 7414 | (while (re-search-forward line-re end t) | ||
| 7415 | (unless (string-match "^ *[!$] *$" (org-table-get-field 1)) | ||
| 7416 | ;; Unprotected line, recalculate | ||
| 7417 | (and all (message "Re-applying formulas to full table...(line %d)" | ||
| 7418 | (setq cnt (1+ cnt)))) | ||
| 7419 | (setq org-last-recalc-line (org-current-line)) | ||
| 7420 | (setq eql eqlist) | ||
| 7421 | (while (setq entry (pop eql)) | ||
| 7422 | (goto-line org-last-recalc-line) | ||
| 7423 | (org-table-goto-column (car entry) nil 'force) | ||
| 7424 | (org-table-eval-formula nil (cdr entry) 'noalign 'nocst 'nostore)))) | ||
| 7425 | (goto-line thisline) | ||
| 7426 | (org-table-goto-column thiscol) | ||
| 7427 | (or noalign (org-table-align) | ||
| 7428 | (and all (message "Re-applying formulas to %d lines...done" cnt))))) | ||
| 7429 | |||
| 7430 | (defun org-table-formula-substitute-names (f) | ||
| 7431 | "Replace $const with values in string F." | ||
| 7432 | (let ((start 0) a n1 n2 nn1 nn2 s (f1 f)) | ||
| 7433 | ;; First, check for column names | ||
| 7434 | (while (setq start (string-match org-table-column-name-regexp f start)) | ||
| 7435 | (setq start (1+ start)) | ||
| 7436 | (setq a (assoc (match-string 1 f) org-table-column-names)) | ||
| 7437 | (setq f (replace-match (concat "$" (cdr a)) t t f))) | ||
| 7438 | ;; Expand ranges to vectors | ||
| 7439 | (while (string-match "\\$\\([0-9]+\\)\\.\\.\\.?\\$\\([0-9]+\\)" f) | ||
| 7440 | (setq n1 (string-to-number (match-string 1 f)) | ||
| 7441 | n2 (string-to-number (match-string 2 f)) | ||
| 7442 | nn1 (1+ (min n1 n2)) nn2 (max n1 n2) | ||
| 7443 | s (concat "[($" (number-to-string (1- nn1)) ")")) | ||
| 7444 | (loop for i from nn1 upto nn2 do | ||
| 7445 | (setq s (concat s ",($" (int-to-string i) ")"))) | ||
| 7446 | (setq s (concat s "]")) | ||
| 7447 | (if (< n2 n1) (setq s (concat "rev(" s ")"))) | ||
| 7448 | (setq f (replace-match s t t f))) | ||
| 7449 | ;; Parameters and constants | ||
| 7450 | (setq start 0) | ||
| 7451 | (while (setq start (string-match "\\$\\([a-zA-Z][a-zA-Z0-9]*\\)" f start)) | ||
| 7452 | (setq start (1+ start)) | ||
| 7453 | (if (setq a (save-match-data | ||
| 7454 | (org-table-get-constant (match-string 1 f)))) | ||
| 7455 | (setq f (replace-match (concat "(" a ")") t t f)))) | ||
| 7456 | (if org-table-formula-debug | ||
| 7457 | (put-text-property 0 (length f) :orig-formula f1 f)) | ||
| 7458 | f)) | ||
| 7459 | |||
| 7460 | (defun org-table-get-constant (const) | ||
| 7461 | "Find the value for a parameter or constant in a formula. | ||
| 7462 | Parameters get priority." | ||
| 7463 | (or (cdr (assoc const org-table-local-parameters)) | ||
| 7464 | (cdr (assoc const org-table-formula-constants)) | ||
| 7465 | (and (fboundp 'constants-get) (constants-get const)) | ||
| 7466 | "#UNDEFINED_NAME")) | ||
| 6907 | 7467 | ||
| 6908 | ;;; The orgtbl minor mode | 7468 | ;;; The orgtbl minor mode |
| 6909 | 7469 | ||
| @@ -6972,6 +7532,11 @@ table editor in arbitrary modes.") | |||
| 6972 | (if arg (> (prefix-numeric-value arg) 0) (not orgtbl-mode))) | 7532 | (if arg (> (prefix-numeric-value arg) 0) (not orgtbl-mode))) |
| 6973 | (if orgtbl-mode | 7533 | (if orgtbl-mode |
| 6974 | (progn | 7534 | (progn |
| 7535 | (and (orgtbl-setup) (defun orgtbl-setup () nil)) | ||
| 7536 | ;; Make sure we are first in minor-mode-map-alist | ||
| 7537 | (let ((c (assq 'orgtbl-mode minor-mode-map-alist))) | ||
| 7538 | (and c (setq minor-mode-map-alist | ||
| 7539 | (cons c (delq c minor-mode-map-alist))))) | ||
| 6975 | (set (make-local-variable (quote org-table-may-need-update)) t) | 7540 | (set (make-local-variable (quote org-table-may-need-update)) t) |
| 6976 | (make-local-hook (quote before-change-functions)) | 7541 | (make-local-hook (quote before-change-functions)) |
| 6977 | (add-hook 'before-change-functions 'org-before-change-function | 7542 | (add-hook 'before-change-functions 'org-before-change-function |
| @@ -6994,81 +7559,134 @@ table editor in arbitrary modes.") | |||
| 6994 | (put 'orgtbl-mode :menu-tag "Org Table Mode") | 7559 | (put 'orgtbl-mode :menu-tag "Org Table Mode") |
| 6995 | (add-minor-mode 'orgtbl-mode " OrgTbl" orgtbl-mode-map) | 7560 | (add-minor-mode 'orgtbl-mode " OrgTbl" orgtbl-mode-map) |
| 6996 | 7561 | ||
| 6997 | (defun orgtbl-make-binding (fun &rest keys) | 7562 | (defun orgtbl-make-binding (fun n &rest keys) |
| 6998 | "Create a function for binding in the table minor mode." | 7563 | "Create a function for binding in the table minor mode. |
| 6999 | (list 'lambda '(arg) | 7564 | FUN is the command to call inside a table. N is used to create a unique |
| 7000 | (concat "Run `" (symbol-name fun) "' or the default binding.") | 7565 | command name. KEYS are keys that should be checked in for a command |
| 7001 | '(interactive "p") | 7566 | to execute outside of tables." |
| 7002 | (list 'if | 7567 | (eval |
| 7003 | '(org-at-table-p) | 7568 | (list 'defun |
| 7004 | (list 'call-interactively (list 'quote fun)) | 7569 | (intern (concat "orgtbl-hijacker-command-" (int-to-string n))) |
| 7005 | (list 'let '(orgtbl-mode) | 7570 | '(arg) |
| 7006 | (list 'call-interactively | 7571 | (concat "In tables, run `" (symbol-name fun) "'.\n" |
| 7007 | (append '(or) | 7572 | "Outside of tables, run the binding of `" |
| 7008 | (mapcar (lambda (k) | 7573 | (mapconcat (lambda (x) (format "%s" x)) keys "' or `") |
| 7009 | (list 'key-binding k)) | 7574 | "'.") |
| 7010 | keys) | 7575 | '(interactive "p") |
| 7011 | '('orgtbl-error))))))) | 7576 | (list 'if |
| 7577 | '(org-at-table-p) | ||
| 7578 | (list 'call-interactively (list 'quote fun)) | ||
| 7579 | (list 'let '(orgtbl-mode) | ||
| 7580 | (list 'call-interactively | ||
| 7581 | (append '(or) | ||
| 7582 | (mapcar (lambda (k) | ||
| 7583 | (list 'key-binding k)) | ||
| 7584 | keys) | ||
| 7585 | '('orgtbl-error)))))))) | ||
| 7012 | 7586 | ||
| 7013 | (defun orgtbl-error () | 7587 | (defun orgtbl-error () |
| 7014 | "Error when there is no default binding for a table key." | 7588 | "Error when there is no default binding for a table key." |
| 7015 | (interactive) | 7589 | (interactive) |
| 7016 | (error "This key is has no function outside tables")) | 7590 | (error "This key has no function outside tables")) |
| 7017 | 7591 | ||
| 7018 | ;; Keybindings for the minor mode | 7592 | (defun orgtbl-setup () |
| 7019 | (let ((bindings | 7593 | "Setup orgtbl keymaps." |
| 7020 | (list | 7594 | (let ((nfunc 0) |
| 7021 | '([(meta shift left)] org-table-delete-column) | 7595 | (bindings |
| 7022 | '([(meta left)] org-table-move-column-left) | 7596 | (list |
| 7023 | '([(meta right)] org-table-move-column-right) | 7597 | '([(meta shift left)] org-table-delete-column) |
| 7024 | '([(meta shift right)] org-table-insert-column) | 7598 | '([(meta left)] org-table-move-column-left) |
| 7025 | '([(meta shift up)] org-table-kill-row) | 7599 | '([(meta right)] org-table-move-column-right) |
| 7026 | '([(meta shift down)] org-table-insert-row) | 7600 | '([(meta shift right)] org-table-insert-column) |
| 7027 | '([(meta up)] org-table-move-row-up) | 7601 | '([(meta shift up)] org-table-kill-row) |
| 7028 | '([(meta down)] org-table-move-row-down) | 7602 | '([(meta shift down)] org-table-insert-row) |
| 7029 | '("\C-c\C-w" org-table-cut-region) | 7603 | '([(meta up)] org-table-move-row-up) |
| 7030 | '("\C-c\M-w" org-table-copy-region) | 7604 | '([(meta down)] org-table-move-row-down) |
| 7031 | '("\C-c\C-y" org-table-paste-rectangle) | 7605 | '("\C-c\C-w" org-table-cut-region) |
| 7032 | '("\C-c-" org-table-insert-hline) | 7606 | '("\C-c\M-w" org-table-copy-region) |
| 7033 | '([(shift tab)] org-table-previous-field) | 7607 | '("\C-c\C-y" org-table-paste-rectangle) |
| 7034 | '("\C-c\C-c" org-table-align) | 7608 | '("\C-c-" org-table-insert-hline) |
| 7035 | '("\C-m" org-table-next-row) | 7609 | '([(shift tab)] org-table-previous-field) |
| 7036 | (list (org-key 'S-return) 'org-table-copy-down) | 7610 | '("\C-c\C-c" org-ctrl-c-ctrl-c) |
| 7037 | '([(meta return)] org-table-wrap-region) | 7611 | '("\C-m" org-table-next-row) |
| 7038 | '("\C-c\C-q" org-table-wrap-region) | 7612 | (list (org-key 'S-return) 'org-table-copy-down) |
| 7039 | '("\C-c?" org-table-current-column) | 7613 | '([(meta return)] org-table-wrap-region) |
| 7040 | '("\C-c " org-table-blank-field) | 7614 | '("\C-c\C-q" org-table-wrap-region) |
| 7041 | '("\C-c+" org-table-sum) | 7615 | '("\C-c?" org-table-current-column) |
| 7042 | '("\C-c|" org-table-toggle-vline-visibility) | 7616 | '("\C-c " org-table-blank-field) |
| 7043 | '("\C-c=" org-table-eval-formula))) | 7617 | '("\C-c+" org-table-sum) |
| 7044 | elt key fun cmd) | 7618 | '("\C-c|" org-table-toggle-vline-visibility) |
| 7045 | (while (setq elt (pop bindings)) | 7619 | '("\C-c=" org-table-eval-formula) |
| 7046 | (setq key (car elt) | 7620 | '("\C-c*" org-table-recalculate) |
| 7047 | fun (nth 1 elt) | 7621 | '([(control ?#)] org-table-rotate-recalc-marks))) |
| 7048 | cmd (orgtbl-make-binding fun key)) | 7622 | elt key fun cmd) |
| 7049 | (define-key orgtbl-mode-map key cmd))) | 7623 | (while (setq elt (pop bindings)) |
| 7050 | 7624 | (setq nfunc (1+ nfunc)) | |
| 7051 | ;; Special treatment needed for TAB and RET | 7625 | (setq key (car elt) |
| 7052 | 7626 | fun (nth 1 elt) | |
| 7053 | (define-key orgtbl-mode-map [(return)] | 7627 | cmd (orgtbl-make-binding fun nfunc key)) |
| 7054 | (orgtbl-make-binding 'orgtbl-ret [(return)] "\C-m")) | 7628 | (define-key orgtbl-mode-map key cmd)) |
| 7055 | (define-key orgtbl-mode-map "\C-m" | 7629 | ;; Special treatment needed for TAB and RET |
| 7056 | (orgtbl-make-binding 'orgtbl-ret "\C-m" [(return)])) | 7630 | (define-key orgtbl-mode-map [(return)] |
| 7057 | (define-key orgtbl-mode-map [(tab)] | 7631 | (orgtbl-make-binding 'orgtbl-ret 100 [(return)] "\C-m")) |
| 7058 | (orgtbl-make-binding 'orgtbl-tab [(tab)] "\C-i")) | 7632 | (define-key orgtbl-mode-map "\C-m" |
| 7059 | (define-key orgtbl-mode-map "\C-i" | 7633 | (orgtbl-make-binding 'orgtbl-ret 101 "\C-m" [(return)])) |
| 7060 | (orgtbl-make-binding 'orgtbl-tab "\C-i" [(tab)])) | 7634 | (define-key orgtbl-mode-map [(tab)] |
| 7061 | 7635 | (orgtbl-make-binding 'orgtbl-tab 102 [(tab)] "\C-i")) | |
| 7062 | (when orgtbl-optimized | 7636 | (define-key orgtbl-mode-map "\C-i" |
| 7063 | ;; If the user wants maximum table support, we need to hijack | 7637 | (orgtbl-make-binding 'orgtbl-tab 103 "\C-i" [(tab)]))) |
| 7064 | ;; some standard editing functions | 7638 | (when orgtbl-optimized |
| 7065 | (substitute-key-definition 'self-insert-command 'orgtbl-self-insert-command | 7639 | ;; If the user wants maximum table support, we need to hijack |
| 7066 | orgtbl-mode-map global-map) | 7640 | ;; some standard editing functions |
| 7067 | (substitute-key-definition 'delete-char 'orgtbl-delete-char | 7641 | (substitute-key-definition 'self-insert-command 'orgtbl-self-insert-command |
| 7068 | orgtbl-mode-map global-map) | 7642 | orgtbl-mode-map global-map) |
| 7069 | (substitute-key-definition 'delete-backward-char 'orgtbl-delete-backward-char | 7643 | (substitute-key-definition 'delete-char 'orgtbl-delete-char |
| 7070 | orgtbl-mode-map global-map) | 7644 | orgtbl-mode-map global-map) |
| 7071 | (define-key org-mode-map "|" 'self-insert-command)) | 7645 | (substitute-key-definition 'delete-backward-char 'orgtbl-delete-backward-char |
| 7646 | orgtbl-mode-map global-map) | ||
| 7647 | (define-key org-mode-map "|" 'self-insert-command)) | ||
| 7648 | (easy-menu-define orgtbl-mode-menu orgtbl-mode-map "OrgTbl menu" | ||
| 7649 | '("OrgTbl" | ||
| 7650 | ["Align" org-ctrl-c-ctrl-c :active (org-at-table-p) :keys "C-c C-c"] | ||
| 7651 | ["Next Field" org-cycle :active (org-at-table-p) :keys "TAB"] | ||
| 7652 | ["Previous Field" org-shifttab :active (org-at-table-p) :keys "S-TAB"] | ||
| 7653 | ["Next Row" org-return :active (org-at-table-p) :keys "RET"] | ||
| 7654 | "--" | ||
| 7655 | ["Blank Field" org-table-blank-field :active (org-at-table-p) :keys "C-c SPC"] | ||
| 7656 | ["Copy Field from Above" | ||
| 7657 | org-table-copy-down :active (org-at-table-p) :keys "S-RET"] | ||
| 7658 | "--" | ||
| 7659 | ("Column" | ||
| 7660 | ["Move Column Left" org-metaleft :active (org-at-table-p) :keys "M-<left>"] | ||
| 7661 | ["Move Column Right" org-metaright :active (org-at-table-p) :keys "M-<right>"] | ||
| 7662 | ["Delete Column" org-shiftmetaleft :active (org-at-table-p) :keys "M-S-<left>"] | ||
| 7663 | ["Insert Column" org-shiftmetaright :active (org-at-table-p) :keys "M-S-<right>"]) | ||
| 7664 | ("Row" | ||
| 7665 | ["Move Row Up" org-metaup :active (org-at-table-p) :keys "M-<up>"] | ||
| 7666 | ["Move Row Down" org-metadown :active (org-at-table-p) :keys "M-<down>"] | ||
| 7667 | ["Delete Row" org-shiftmetaup :active (org-at-table-p) :keys "M-S-<up>"] | ||
| 7668 | ["Insert Row" org-shiftmetadown :active (org-at-table-p) :keys "M-S-<down>"] | ||
| 7669 | "--" | ||
| 7670 | ["Insert Hline" org-table-insert-hline :active (org-at-table-p) :keys "C-c -"]) | ||
| 7671 | ("Rectangle" | ||
| 7672 | ["Copy Rectangle" org-copy-special :active (org-at-table-p) :keys "C-c M-w"] | ||
| 7673 | ["Cut Rectangle" org-cut-special :active (org-at-table-p) :keys "C-c C-w"] | ||
| 7674 | ["Paste Rectangle" org-paste-special :active (org-at-table-p) :keys "C-c C-y"] | ||
| 7675 | ["Fill Rectangle" org-table-wrap-region :active (org-at-table-p) :keys "C-c C-q"]) | ||
| 7676 | "--" | ||
| 7677 | ["Eval Formula" org-table-eval-formula :active (org-at-table-p) :keys "C-c ="] | ||
| 7678 | ["Eval Formula Down " (org-table-eval-formula '(4)) :active (org-at-table-p) :keys "C-u C-c ="] | ||
| 7679 | ["Recalculate line" org-table-recalculate :active (org-at-table-p) :keys "C-c *"] | ||
| 7680 | ["Recalculate all" (org-table-recalculate '(4)) :active (org-at-table-p) :keys "C-u C-c *"] | ||
| 7681 | ["Toggle Recalculate Mark" org-table-rotate-recalc-marks :active (org-at-table-p) :keys "C-c #"] | ||
| 7682 | ["Sum Column/Rectangle" org-table-sum | ||
| 7683 | :active (or (org-at-table-p) (org-region-active-p)) :keys "C-c +"] | ||
| 7684 | ["Which Column?" org-table-current-column :active (org-at-table-p) :keys "C-c ?"] | ||
| 7685 | ["Debug Formulas" | ||
| 7686 | (setq org-table-formula-debug (not org-table-formula-debug)) | ||
| 7687 | :style toggle :selected org-table-formula-debug] | ||
| 7688 | )) | ||
| 7689 | t) | ||
| 7072 | 7690 | ||
| 7073 | (defun orgtbl-tab () | 7691 | (defun orgtbl-tab () |
| 7074 | "Justification and field motion for `orgtbl-mode'." | 7692 | "Justification and field motion for `orgtbl-mode'." |
| @@ -7108,13 +7726,13 @@ reduced column width." | |||
| 7108 | (interactive "p") | 7726 | (interactive "p") |
| 7109 | (if (and (org-at-table-p) | 7727 | (if (and (org-at-table-p) |
| 7110 | (eq N 1) | 7728 | (eq N 1) |
| 7729 | (string-match "|" (buffer-substring (point-at-bol) (point))) | ||
| 7111 | (looking-at ".*?|")) | 7730 | (looking-at ".*?|")) |
| 7112 | (let ((pos (point))) | 7731 | (let ((pos (point))) |
| 7113 | (backward-delete-char N) | 7732 | (backward-delete-char N) |
| 7114 | (skip-chars-forward "^|") | 7733 | (skip-chars-forward "^|") |
| 7115 | (insert " ") | 7734 | (insert " ") |
| 7116 | (goto-char (1- pos))) | 7735 | (goto-char (1- pos))) |
| 7117 | (message "%s" last-input-event) (sit-for 1) | ||
| 7118 | (delete-backward-char N))) | 7736 | (delete-backward-char N))) |
| 7119 | 7737 | ||
| 7120 | (defun orgtbl-delete-char (N) | 7738 | (defun orgtbl-delete-char (N) |
| @@ -7125,6 +7743,8 @@ will still be marked for re-alignment, because a narrow field may lead to | |||
| 7125 | a reduced column width." | 7743 | a reduced column width." |
| 7126 | (interactive "p") | 7744 | (interactive "p") |
| 7127 | (if (and (org-at-table-p) | 7745 | (if (and (org-at-table-p) |
| 7746 | (not (bolp)) | ||
| 7747 | (not (= (char-after) ?|)) | ||
| 7128 | (eq N 1)) | 7748 | (eq N 1)) |
| 7129 | (if (looking-at ".*?|") | 7749 | (if (looking-at ".*?|") |
| 7130 | (let ((pos (point))) | 7750 | (let ((pos (point))) |
| @@ -7134,41 +7754,6 @@ a reduced column width." | |||
| 7134 | (goto-char pos))) | 7754 | (goto-char pos))) |
| 7135 | (delete-char N))) | 7755 | (delete-char N))) |
| 7136 | 7756 | ||
| 7137 | (easy-menu-define orgtbl-mode-menu orgtbl-mode-map "OrgTbl menu" | ||
| 7138 | '("Tbl" | ||
| 7139 | ["Align" org-ctrl-c-ctrl-c :active (org-at-table-p) :keys "C-c C-c"] | ||
| 7140 | ["Next Field" org-cycle :active (org-at-table-p) :keys "TAB"] | ||
| 7141 | ["Previous Field" org-shifttab :active (org-at-table-p) :keys "S-TAB"] | ||
| 7142 | ["Next Row" org-return :active (org-at-table-p) :keys "RET"] | ||
| 7143 | "--" | ||
| 7144 | ["Blank Field" org-table-blank-field :active (org-at-table-p) :keys "C-c SPC"] | ||
| 7145 | ["Copy Field from Above" | ||
| 7146 | org-table-copy-down :active (org-at-table-p) :keys "S-RET"] | ||
| 7147 | "--" | ||
| 7148 | ("Column" | ||
| 7149 | ["Move Column Left" org-metaleft :active (org-at-table-p) :keys "M-<left>"] | ||
| 7150 | ["Move Column Right" org-metaright :active (org-at-table-p) :keys "M-<right>"] | ||
| 7151 | ["Delete Column" org-shiftmetaleft :active (org-at-table-p) :keys "M-S-<left>"] | ||
| 7152 | ["Insert Column" org-shiftmetaright :active (org-at-table-p) :keys "M-S-<right>"]) | ||
| 7153 | ("Row" | ||
| 7154 | ["Move Row Up" org-metaup :active (org-at-table-p) :keys "M-<up>"] | ||
| 7155 | ["Move Row Down" org-metadown :active (org-at-table-p) :keys "M-<down>"] | ||
| 7156 | ["Delete Row" org-shiftmetaup :active (org-at-table-p) :keys "M-S-<up>"] | ||
| 7157 | ["Insert Row" org-shiftmetadown :active (org-at-table-p) :keys "M-S-<down>"] | ||
| 7158 | "--" | ||
| 7159 | ["Insert Hline" org-table-insert-hline :active (org-at-table-p) :keys "C-c -"]) | ||
| 7160 | ("Rectangle" | ||
| 7161 | ["Copy Rectangle" org-copy-special :active (org-at-table-p) :keys "C-c M-w"] | ||
| 7162 | ["Cut Rectangle" org-cut-special :active (org-at-table-p) :keys "C-c C-w"] | ||
| 7163 | ["Paste Rectangle" org-paste-special :active (org-at-table-p) :keys "C-c C-y"] | ||
| 7164 | ["Fill Rectangle" org-table-wrap-region :active (org-at-table-p) :keys "C-c C-q"]) | ||
| 7165 | "--" | ||
| 7166 | ["Which Column?" org-table-current-column :active (org-at-table-p) :keys "C-c ?"] | ||
| 7167 | ["Sum Column/Rectangle" org-table-sum | ||
| 7168 | :active (or (org-at-table-p) (org-region-active-p)) :keys "C-c +"] | ||
| 7169 | ["Eval Formula" org-table-eval-formula :active (org-at-table-p) :keys "C-c ="] | ||
| 7170 | )) | ||
| 7171 | |||
| 7172 | ;;; Exporting | 7757 | ;;; Exporting |
| 7173 | 7758 | ||
| 7174 | (defconst org-level-max 20) | 7759 | (defconst org-level-max 20) |
| @@ -7503,7 +8088,7 @@ Entries can be like (\"ent\"), in which case \"\\ent\" will be translated to | |||
| 7503 | In that case, \"\\ent\" will be translated to \"&other;\". | 8088 | In that case, \"\\ent\" will be translated to \"&other;\". |
| 7504 | The list contains HTML entities for Latin-1, Greek and other symbols. | 8089 | The list contains HTML entities for Latin-1, Greek and other symbols. |
| 7505 | It is supplemented by a number of commonly used TeX macros with appropriate | 8090 | It is supplemented by a number of commonly used TeX macros with appropriate |
| 7506 | translations.") | 8091 | translations. There is currently no way for users to extend this.") |
| 7507 | 8092 | ||
| 7508 | (defvar org-last-level nil) ; dynamically scoped variable | 8093 | (defvar org-last-level nil) ; dynamically scoped variable |
| 7509 | 8094 | ||
| @@ -8095,7 +8680,7 @@ headlines. The default is 3. Lower levels will become bulleted lists." | |||
| 8095 | (org-format-table-table-html-using-table-generate-source olines))))) | 8680 | (org-format-table-table-html-using-table-generate-source olines))))) |
| 8096 | 8681 | ||
| 8097 | (defun org-format-org-table-html (lines) | 8682 | (defun org-format-org-table-html (lines) |
| 8098 | "Format a table into html." | 8683 | "Format a table into HTML." |
| 8099 | (if (string-match "^[ \t]*|-" (car lines)) (setq lines (cdr lines))) | 8684 | (if (string-match "^[ \t]*|-" (car lines)) (setq lines (cdr lines))) |
| 8100 | (setq lines (nreverse lines)) | 8685 | (setq lines (nreverse lines)) |
| 8101 | (if (string-match "^[ \t]*|-" (car lines)) (setq lines (cdr lines))) | 8686 | (if (string-match "^[ \t]*|-" (car lines)) (setq lines (cdr lines))) |
| @@ -8138,7 +8723,7 @@ headlines. The default is 3. Lower levels will become bulleted lists." | |||
| 8138 | newstr)) | 8723 | newstr)) |
| 8139 | 8724 | ||
| 8140 | (defun org-format-table-table-html (lines) | 8725 | (defun org-format-table-table-html (lines) |
| 8141 | "Format a table generated by table.el into html. | 8726 | "Format a table generated by table.el into HTML. |
| 8142 | This conversion does *not* use `table-generate-source' from table.el. | 8727 | This conversion does *not* use `table-generate-source' from table.el. |
| 8143 | This has the advantage that Org-mode's HTML conversions can be used. | 8728 | This has the advantage that Org-mode's HTML conversions can be used. |
| 8144 | But it has the disadvantage, that no cell- or row-spanning is allowed." | 8729 | But it has the disadvantage, that no cell- or row-spanning is allowed." |
| @@ -8182,7 +8767,7 @@ But it has the disadvantage, that no cell- or row-spanning is allowed." | |||
| 8182 | html)) | 8767 | html)) |
| 8183 | 8768 | ||
| 8184 | (defun org-format-table-table-html-using-table-generate-source (lines) | 8769 | (defun org-format-table-table-html-using-table-generate-source (lines) |
| 8185 | "Format a table into html, using `table-generate-source' from table.el. | 8770 | "Format a table into HTML, using `table-generate-source' from table.el. |
| 8186 | This has the advantage that cell- or row-spanning is allowed. | 8771 | This has the advantage that cell- or row-spanning is allowed. |
| 8187 | But it has the disadvantage, that Org-mode's HTML conversions cannot be used." | 8772 | But it has the disadvantage, that Org-mode's HTML conversions cannot be used." |
| 8188 | (require 'table) | 8773 | (require 'table) |
| @@ -8413,10 +8998,10 @@ When LEVEL is non-nil, increase section numbers on that level." | |||
| 8413 | 8998 | ||
| 8414 | ;; - Bindings in Org-mode map are currently | 8999 | ;; - Bindings in Org-mode map are currently |
| 8415 | ;; 0123456789abcdefghijklmnopqrstuvwxyz!?@#$%^&-+*/=()_{}[]:;"|,.<>~`'\t the alphabet | 9000 | ;; 0123456789abcdefghijklmnopqrstuvwxyz!?@#$%^&-+*/=()_{}[]:;"|,.<>~`'\t the alphabet |
| 8416 | ;; abcd fgh j lmnopqrstuvwxyz ? # -+ /= [] ; |,.<> \t necessary bindings | 9001 | ;; abcd fgh j lmnopqrstuvwxyz ? #$ -+*/= [] ; |,.<>~ \t necessary bindings |
| 8417 | ;; e (?) useful from outline-mode | 9002 | ;; e (?) useful from outline-mode |
| 8418 | ;; i k @ expendable from outline-mode | 9003 | ;; i k @ expendable from outline-mode |
| 8419 | ;; 0123456789 ! $%^& * ()_{} " ~`' free | 9004 | ;; 0123456789 ! %^& ()_{} " `' free |
| 8420 | 9005 | ||
| 8421 | (define-key org-mode-map "\C-i" 'org-cycle) | 9006 | (define-key org-mode-map "\C-i" 'org-cycle) |
| 8422 | (define-key org-mode-map [(meta tab)] 'org-complete) | 9007 | (define-key org-mode-map [(meta tab)] 'org-complete) |
| @@ -8476,7 +9061,9 @@ When LEVEL is non-nil, increase section numbers on that level." | |||
| 8476 | (define-key org-mode-map "\C-c+" 'org-table-sum) | 9061 | (define-key org-mode-map "\C-c+" 'org-table-sum) |
| 8477 | (define-key org-mode-map "\C-c|" 'org-table-toggle-vline-visibility) | 9062 | (define-key org-mode-map "\C-c|" 'org-table-toggle-vline-visibility) |
| 8478 | (define-key org-mode-map "\C-c=" 'org-table-eval-formula) | 9063 | (define-key org-mode-map "\C-c=" 'org-table-eval-formula) |
| 8479 | (define-key org-mode-map "\C-c#" 'org-table-create-with-table.el) | 9064 | (define-key org-mode-map "\C-c*" 'org-table-recalculate) |
| 9065 | (define-key org-mode-map [(control ?#)] 'org-table-rotate-recalc-marks) | ||
| 9066 | (define-key org-mode-map "\C-c~" 'org-table-create-with-table.el) | ||
| 8480 | (define-key org-mode-map "\C-c\C-q" 'org-table-wrap-region) | 9067 | (define-key org-mode-map "\C-c\C-q" 'org-table-wrap-region) |
| 8481 | (define-key org-mode-map "\C-c\C-xa" 'org-export-as-ascii) | 9068 | (define-key org-mode-map "\C-c\C-xa" 'org-export-as-ascii) |
| 8482 | (define-key org-mode-map "\C-c\C-x\C-a" 'org-export-as-ascii) | 9069 | (define-key org-mode-map "\C-c\C-x\C-a" 'org-export-as-ascii) |
| @@ -8489,12 +9076,7 @@ When LEVEL is non-nil, increase section numbers on that level." | |||
| 8489 | (define-key org-mode-map "\C-c\C-xh" 'org-export-as-html) | 9076 | (define-key org-mode-map "\C-c\C-xh" 'org-export-as-html) |
| 8490 | (define-key org-mode-map "\C-c\C-x\C-h" 'org-export-as-html-and-open) | 9077 | (define-key org-mode-map "\C-c\C-x\C-h" 'org-export-as-html-and-open) |
| 8491 | 9078 | ||
| 8492 | (defsubst org-table-p () | 9079 | (defsubst org-table-p () (org-at-table-p)) |
| 8493 | (if (and (eq major-mode 'org-mode) font-lock-mode) | ||
| 8494 | (eq (get-text-property (point) 'face) 'org-table) | ||
| 8495 | ;; (save-match-data (org-at-table-p)))) ; FIXME: OK to not use this? | ||
| 8496 | (org-at-table-p))) | ||
| 8497 | |||
| 8498 | 9080 | ||
| 8499 | (defun org-self-insert-command (N) | 9081 | (defun org-self-insert-command (N) |
| 8500 | "Like `self-insert-command', use overwrite-mode for whitespace in tables. | 9082 | "Like `self-insert-command', use overwrite-mode for whitespace in tables. |
| @@ -8525,6 +9107,7 @@ reduced column width." | |||
| 8525 | (interactive "p") | 9107 | (interactive "p") |
| 8526 | (if (and (org-table-p) | 9108 | (if (and (org-table-p) |
| 8527 | (eq N 1) | 9109 | (eq N 1) |
| 9110 | (string-match "|" (buffer-substring (point-at-bol) (point))) | ||
| 8528 | (looking-at ".*?|")) | 9111 | (looking-at ".*?|")) |
| 8529 | (let ((pos (point))) | 9112 | (let ((pos (point))) |
| 8530 | (backward-delete-char N) | 9113 | (backward-delete-char N) |
| @@ -8541,6 +9124,8 @@ will still be marked for re-alignment, because a narrow field may lead to | |||
| 8541 | a reduced column width." | 9124 | a reduced column width." |
| 8542 | (interactive "p") | 9125 | (interactive "p") |
| 8543 | (if (and (org-table-p) | 9126 | (if (and (org-table-p) |
| 9127 | (not (bolp)) | ||
| 9128 | (not (= (char-after) ?|)) | ||
| 8544 | (eq N 1)) | 9129 | (eq N 1)) |
| 8545 | (if (looking-at ".*?|") | 9130 | (if (looking-at ".*?|") |
| 8546 | (let ((pos (point))) | 9131 | (let ((pos (point))) |
| @@ -8655,16 +9240,14 @@ a reduced column width." | |||
| 8655 | (defun org-copy-special () | 9240 | (defun org-copy-special () |
| 8656 | "Call either `org-table-copy' or `org-copy-subtree'." | 9241 | "Call either `org-table-copy' or `org-copy-subtree'." |
| 8657 | (interactive) | 9242 | (interactive) |
| 8658 | (if (org-at-table-p) | 9243 | (call-interactively |
| 8659 | (org-table-copy-region) | 9244 | (if (org-at-table-p) 'org-table-copy-region 'org-copy-subtree))) |
| 8660 | (org-copy-subtree))) | ||
| 8661 | 9245 | ||
| 8662 | (defun org-cut-special () | 9246 | (defun org-cut-special () |
| 8663 | "Call either `org-table-copy' or `org-cut-subtree'." | 9247 | "Call either `org-table-copy' or `org-cut-subtree'." |
| 8664 | (interactive) | 9248 | (interactive) |
| 8665 | (if (org-at-table-p) | 9249 | (call-interactively |
| 8666 | (org-table-cut-region) | 9250 | (if (org-at-table-p) 'org-table-cut-region 'org-cut-subtree))) |
| 8667 | (org-cut-subtree))) | ||
| 8668 | 9251 | ||
| 8669 | (defun org-paste-special (arg) | 9252 | (defun org-paste-special (arg) |
| 8670 | "Call either `org-table-paste-rectangle' or `org-paste-subtree'." | 9253 | "Call either `org-table-paste-rectangle' or `org-paste-subtree'." |
| @@ -8674,23 +9257,37 @@ a reduced column width." | |||
| 8674 | (org-paste-subtree arg))) | 9257 | (org-paste-subtree arg))) |
| 8675 | 9258 | ||
| 8676 | (defun org-ctrl-c-ctrl-c (&optional arg) | 9259 | (defun org-ctrl-c-ctrl-c (&optional arg) |
| 8677 | "Call realign table, or recognize a table.el table. | 9260 | "Call realign table, or recognize a table.el table, or update keywords. |
| 8678 | When the cursor is inside a table created by the table.el package, | 9261 | When the cursor is inside a table created by the table.el package, |
| 8679 | activate that table. Otherwise, if the cursor is at a normal table | 9262 | activate that table. Otherwise, if the cursor is at a normal table |
| 8680 | created with org.el, re-align that table. This command works even if | 9263 | created with org.el, re-align that table. This command works even if |
| 8681 | the automatic table editor has been turned off." | 9264 | the automatic table editor has been turned off. |
| 9265 | If the cursor is in one of the special #+KEYWORD lines, this triggers | ||
| 9266 | scanning the buffer for these lines and updating the information." | ||
| 8682 | (interactive "P") | 9267 | (interactive "P") |
| 8683 | (let ((org-enable-table-editor t)) | 9268 | (let ((org-enable-table-editor t)) |
| 8684 | (cond | 9269 | (cond |
| 8685 | ((org-at-table.el-p) | 9270 | ((org-at-table.el-p) |
| 8686 | (require 'table) | 9271 | (require 'table) |
| 8687 | (beginning-of-line 1) | 9272 | (beginning-of-line 1) |
| 8688 | (re-search-forward "|" (save-excursion (end-of-line 2) (point))) ;FIXME: line-end-position? | 9273 | (re-search-forward "|" (save-excursion (end-of-line 2) (point))) |
| 8689 | (table-recognize-table)) | 9274 | (table-recognize-table)) |
| 8690 | ((org-at-table-p) | 9275 | ((org-at-table-p) |
| 9276 | (org-table-maybe-eval-formula) | ||
| 9277 | (if arg | ||
| 9278 | (org-table-recalculate t) | ||
| 9279 | (org-table-maybe-recalculate-line)) | ||
| 8691 | (org-table-align)) | 9280 | (org-table-align)) |
| 8692 | ((save-excursion (beginning-of-line 1) (looking-at "#\\+[A-Z]+")) | 9281 | ((save-excursion (beginning-of-line 1) (looking-at "#\\+\\([A-Z]+\\)")) |
| 8693 | (let ((org-inhibit-startup t)) (org-mode))) | 9282 | (cond |
| 9283 | ((equal (match-string 1) "TBLFM") | ||
| 9284 | ;; Recalculate the table before this line | ||
| 9285 | (save-excursion | ||
| 9286 | (beginning-of-line 1) | ||
| 9287 | (skip-chars-backward " \r\n\t") | ||
| 9288 | (if (org-at-table-p) (org-table-recalculate t)))) | ||
| 9289 | (t | ||
| 9290 | (let ((org-inhibit-startup t)) (org-mode))))) | ||
| 8694 | ((org-region-active-p) | 9291 | ((org-region-active-p) |
| 8695 | (org-table-convert-region (region-beginning) (region-end) arg)) | 9292 | (org-table-convert-region (region-beginning) (region-end) arg)) |
| 8696 | ((and (region-beginning) (region-end)) | 9293 | ((and (region-beginning) (region-end)) |
| @@ -8718,18 +9315,59 @@ the automatic table editor has been turned off." | |||
| 8718 | 9315 | ||
| 8719 | ;;; Menu entries | 9316 | ;;; Menu entries |
| 8720 | 9317 | ||
| 8721 | ;; First, remove the outline menus. Org-mode does not neede these commands. | ||
| 8722 | (if org-xemacs-p | ||
| 8723 | (add-hook 'org-mode-hook | ||
| 8724 | (lambda () | ||
| 8725 | (delete-menu-item '("Headings")) | ||
| 8726 | (delete-menu-item '("Show")) | ||
| 8727 | (delete-menu-item '("Hide")) | ||
| 8728 | (set-menubar-dirty-flag))) | ||
| 8729 | (setq org-mode-map (delq (assoc 'menu-bar (cdr org-mode-map)) | ||
| 8730 | org-mode-map))) | ||
| 8731 | |||
| 8732 | ;; Define the Org-mode menus | 9318 | ;; Define the Org-mode menus |
| 9319 | (easy-menu-define org-tbl-menu org-mode-map "Tbl menu" | ||
| 9320 | '("Tbl" | ||
| 9321 | ["Align" org-ctrl-c-ctrl-c (org-at-table-p)] | ||
| 9322 | ["Next Field" org-cycle (org-at-table-p)] | ||
| 9323 | ["Previous Field" org-shifttab (org-at-table-p)] | ||
| 9324 | ["Next Row" org-return (org-at-table-p)] | ||
| 9325 | "--" | ||
| 9326 | ["Blank Field" org-table-blank-field (org-at-table-p)] | ||
| 9327 | ["Copy Field from Above" org-table-copy-down (org-at-table-p)] | ||
| 9328 | "--" | ||
| 9329 | ("Column" | ||
| 9330 | ["Move Column Left" org-metaleft (org-at-table-p)] | ||
| 9331 | ["Move Column Right" org-metaright (org-at-table-p)] | ||
| 9332 | ["Delete Column" org-shiftmetaleft (org-at-table-p)] | ||
| 9333 | ["Insert Column" org-shiftmetaright (org-at-table-p)]) | ||
| 9334 | ("Row" | ||
| 9335 | ["Move Row Up" org-metaup (org-at-table-p)] | ||
| 9336 | ["Move Row Down" org-metadown (org-at-table-p)] | ||
| 9337 | ["Delete Row" org-shiftmetaup (org-at-table-p)] | ||
| 9338 | ["Insert Row" org-shiftmetadown (org-at-table-p)] | ||
| 9339 | "--" | ||
| 9340 | ["Insert Hline" org-table-insert-hline (org-at-table-p)]) | ||
| 9341 | ("Rectangle" | ||
| 9342 | ["Copy Rectangle" org-copy-special (org-at-table-p)] | ||
| 9343 | ["Cut Rectangle" org-cut-special (org-at-table-p)] | ||
| 9344 | ["Paste Rectangle" org-paste-special (org-at-table-p)] | ||
| 9345 | ["Fill Rectangle" org-table-wrap-region (org-at-table-p)]) | ||
| 9346 | "--" | ||
| 9347 | ("Calculate" | ||
| 9348 | ["Eval Formula" org-table-eval-formula (org-at-table-p)] | ||
| 9349 | ["Eval Formula Down" (org-table-eval-formula '(4)) :active (org-at-table-p) :keys "C-u C-c ="] | ||
| 9350 | ["Recalculate line" org-table-recalculate (org-at-table-p)] | ||
| 9351 | ["Recalculate all" (lambda () (interactive) (org-table-recalculate '(4))) :active (org-at-table-p) :keys "C-u C-c *"] | ||
| 9352 | ["Toggle Recalculate Mark" org-table-rotate-recalc-marks (org-at-table-p)] | ||
| 9353 | ["Sum Column/Rectangle" org-table-sum | ||
| 9354 | (or (org-at-table-p) (org-region-active-p))] | ||
| 9355 | ["Which Column?" org-table-current-column (org-at-table-p)]) | ||
| 9356 | ["Debug Formulas" | ||
| 9357 | (setq org-table-formula-debug (not org-table-formula-debug)) | ||
| 9358 | :style toggle :selected org-table-formula-debug] | ||
| 9359 | "--" | ||
| 9360 | ["Invisible Vlines" org-table-toggle-vline-visibility | ||
| 9361 | :style toggle :selected (org-in-invisibility-spec-p '(org-table))] | ||
| 9362 | "--" | ||
| 9363 | ["Create" org-table-create (and (not (org-at-table-p)) | ||
| 9364 | org-enable-table-editor)] | ||
| 9365 | ["Convert Region" org-ctrl-c-ctrl-c (not (org-at-table-p 'any))] | ||
| 9366 | ["Import from File" org-table-import (not (org-at-table-p))] | ||
| 9367 | ["Export to File" org-table-export (org-at-table-p)] | ||
| 9368 | "--" | ||
| 9369 | ["Create/Convert from/to table.el" org-table-create-with-table.el t])) | ||
| 9370 | |||
| 8733 | (easy-menu-define org-org-menu org-mode-map "Org menu" | 9371 | (easy-menu-define org-org-menu org-mode-map "Org menu" |
| 8734 | '("Org" | 9372 | '("Org" |
| 8735 | ["Cycle Visibility" org-cycle (or (bobp) (outline-on-heading-p))] | 9373 | ["Cycle Visibility" org-cycle (or (bobp) (outline-on-heading-p))] |
| @@ -8794,49 +9432,6 @@ the automatic table editor has been turned off." | |||
| 8794 | ["Insert Link" org-insert-link t] | 9432 | ["Insert Link" org-insert-link t] |
| 8795 | ["Follow Link" org-open-at-point t]) | 9433 | ["Follow Link" org-open-at-point t]) |
| 8796 | "--" | 9434 | "--" |
| 8797 | ("Table" | ||
| 8798 | ["Align" org-ctrl-c-ctrl-c (org-at-table-p)] | ||
| 8799 | ["Next Field" org-cycle (org-at-table-p)] | ||
| 8800 | ["Previous Field" org-shifttab (org-at-table-p)] | ||
| 8801 | ["Next Row" org-return (org-at-table-p)] | ||
| 8802 | "--" | ||
| 8803 | ["Blank Field" org-table-blank-field (org-at-table-p)] | ||
| 8804 | ["Copy Field from Above" org-table-copy-down (org-at-table-p)] | ||
| 8805 | "--" | ||
| 8806 | ("Column" | ||
| 8807 | ["Move Column Left" org-metaleft (org-at-table-p)] | ||
| 8808 | ["Move Column Right" org-metaright (org-at-table-p)] | ||
| 8809 | ["Delete Column" org-shiftmetaleft (org-at-table-p)] | ||
| 8810 | ["Insert Column" org-shiftmetaright (org-at-table-p)]) | ||
| 8811 | ("Row" | ||
| 8812 | ["Move Row Up" org-metaup (org-at-table-p)] | ||
| 8813 | ["Move Row Down" org-metadown (org-at-table-p)] | ||
| 8814 | ["Delete Row" org-shiftmetaup (org-at-table-p)] | ||
| 8815 | ["Insert Row" org-shiftmetadown (org-at-table-p)] | ||
| 8816 | "--" | ||
| 8817 | ["Insert Hline" org-table-insert-hline (org-at-table-p)]) | ||
| 8818 | ("Rectangle" | ||
| 8819 | ["Copy Rectangle" org-copy-special (org-at-table-p)] | ||
| 8820 | ["Cut Rectangle" org-cut-special (org-at-table-p)] | ||
| 8821 | ["Paste Rectangle" org-paste-special (org-at-table-p)] | ||
| 8822 | ["Fill Rectangle" org-table-wrap-region (org-at-table-p)]) | ||
| 8823 | "--" | ||
| 8824 | ["Which Column?" org-table-current-column (org-at-table-p)] | ||
| 8825 | ["Sum Column/Rectangle" org-table-sum | ||
| 8826 | (or (org-at-table-p) (org-region-active-p))] | ||
| 8827 | ["Eval Formula" org-table-eval-formula (org-at-table-p)] | ||
| 8828 | "--" | ||
| 8829 | ["Invisible Vlines" org-table-toggle-vline-visibility | ||
| 8830 | :style toggle :selected (org-in-invisibility-spec-p '(org-table))] | ||
| 8831 | "--" | ||
| 8832 | ["Create" org-table-create (and (not (org-at-table-p)) | ||
| 8833 | org-enable-table-editor)] | ||
| 8834 | ["Convert Region" org-ctrl-c-ctrl-c (not (org-at-table-p 'any))] | ||
| 8835 | ["Import from File" org-table-import (not (org-at-table-p))] | ||
| 8836 | ["Export to File" org-table-export (org-at-table-p)] | ||
| 8837 | "--" | ||
| 8838 | ["Create/Convert from/to table.el" org-table-create-with-table.el t]) | ||
| 8839 | "--" | ||
| 8840 | ("Export" | 9435 | ("Export" |
| 8841 | ["ASCII" org-export-as-ascii t] | 9436 | ["ASCII" org-export-as-ascii t] |
| 8842 | ["Extract Visible Text" org-export-copy-visible t] | 9437 | ["Extract Visible Text" org-export-copy-visible t] |
| @@ -8878,7 +9473,7 @@ With optional NODE, go directly to that node." | |||
| 8878 | ;;; Documentation | 9473 | ;;; Documentation |
| 8879 | 9474 | ||
| 8880 | (defun org-customize () | 9475 | (defun org-customize () |
| 8881 | "Call the customize function with org as argument." | 9476 | "Call the customize function with `org' as argument." |
| 8882 | (interactive) | 9477 | (interactive) |
| 8883 | (customize-browse 'org)) | 9478 | (customize-browse 'org)) |
| 8884 | 9479 | ||
| @@ -9017,7 +9612,7 @@ to a visible line beginning. This makes the function of C-a more intuitive." | |||
| 9017 | (equal (char-before) ?\r)))) | 9612 | (equal (char-before) ?\r)))) |
| 9018 | 9613 | ||
| 9019 | (defun org-back-to-heading (&optional invisible-ok) | 9614 | (defun org-back-to-heading (&optional invisible-ok) |
| 9020 | "Move to previous heading line, or beg of this line if it's a heading. | 9615 | "Move to previous heading line, or beginning of this line if it's a heading. |
| 9021 | Only visible heading lines are considered, unless INVISIBLE-OK is non-nil." | 9616 | Only visible heading lines are considered, unless INVISIBLE-OK is non-nil." |
| 9022 | (if org-noutline-p | 9617 | (if org-noutline-p |
| 9023 | (outline-back-to-heading invisible-ok) | 9618 | (outline-back-to-heading invisible-ok) |
diff --git a/lisp/textmodes/picture.el b/lisp/textmodes/picture.el index b3c69ca657f..34b661afcc4 100644 --- a/lisp/textmodes/picture.el +++ b/lisp/textmodes/picture.el | |||
| @@ -359,7 +359,7 @@ With positive argument insert that many lines." | |||
| 359 | (point)))) | 359 | (point)))) |
| 360 | (replace-match newtext fixedcase literal) | 360 | (replace-match newtext fixedcase literal) |
| 361 | (if (< change 0) | 361 | (if (< change 0) |
| 362 | (insert-char ?\ (- change))))) | 362 | (insert-char ?\s (- change))))) |
| 363 | 363 | ||
| 364 | ;; Picture Tabs | 364 | ;; Picture Tabs |
| 365 | 365 | ||
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el index 8e83a8fe90f..a4b5787981d 100644 --- a/lisp/textmodes/sgml-mode.el +++ b/lisp/textmodes/sgml-mode.el | |||
| @@ -40,7 +40,7 @@ | |||
| 40 | (require 'cl)) | 40 | (require 'cl)) |
| 41 | 41 | ||
| 42 | (defgroup sgml nil | 42 | (defgroup sgml nil |
| 43 | "SGML editing mode" | 43 | "SGML editing mode." |
| 44 | :group 'languages) | 44 | :group 'languages) |
| 45 | 45 | ||
| 46 | (defcustom sgml-basic-offset 2 | 46 | (defcustom sgml-basic-offset 2 |
| @@ -670,12 +670,12 @@ If QUIET, do not print a message when there are no attributes for TAG." | |||
| 670 | (message "No attributes configured.")) | 670 | (message "No attributes configured.")) |
| 671 | (if (stringp (car alist)) | 671 | (if (stringp (car alist)) |
| 672 | (progn | 672 | (progn |
| 673 | (insert (if (eq (preceding-char) ? ) "" ? ) | 673 | (insert (if (eq (preceding-char) ?\s) "" ?\s) |
| 674 | (funcall skeleton-transformation (car alist))) | 674 | (funcall skeleton-transformation (car alist))) |
| 675 | (sgml-value alist)) | 675 | (sgml-value alist)) |
| 676 | (setq i (length alist)) | 676 | (setq i (length alist)) |
| 677 | (while (> i 0) | 677 | (while (> i 0) |
| 678 | (insert ? ) | 678 | (insert ?\s) |
| 679 | (insert (funcall skeleton-transformation | 679 | (insert (funcall skeleton-transformation |
| 680 | (setq attribute | 680 | (setq attribute |
| 681 | (skeleton-read '(completing-read | 681 | (skeleton-read '(completing-read |
| @@ -685,7 +685,7 @@ If QUIET, do not print a message when there are no attributes for TAG." | |||
| 685 | (setq i 0) | 685 | (setq i 0) |
| 686 | (sgml-value (assoc (downcase attribute) alist)) | 686 | (sgml-value (assoc (downcase attribute) alist)) |
| 687 | (setq i (1- i)))) | 687 | (setq i (1- i)))) |
| 688 | (if (eq (preceding-char) ? ) | 688 | (if (eq (preceding-char) ?\s) |
| 689 | (delete-backward-char 1))) | 689 | (delete-backward-char 1))) |
| 690 | car))) | 690 | car))) |
| 691 | 691 | ||
| @@ -701,7 +701,7 @@ With prefix argument, only self insert." | |||
| 701 | (eq (aref tag 0) ?/)) | 701 | (eq (aref tag 0) ?/)) |
| 702 | (self-insert-command (prefix-numeric-value arg)) | 702 | (self-insert-command (prefix-numeric-value arg)) |
| 703 | (sgml-attributes tag) | 703 | (sgml-attributes tag) |
| 704 | (setq last-command-char ? ) | 704 | (setq last-command-char ?\s) |
| 705 | (or (> (point) point) | 705 | (or (> (point) point) |
| 706 | (self-insert-command 1))))) | 706 | (self-insert-command 1))))) |
| 707 | 707 | ||
| @@ -1875,7 +1875,7 @@ The third `match-string' will be the used in the menu.") | |||
| 1875 | (setq toc-index | 1875 | (setq toc-index |
| 1876 | (cons (cons (concat (make-string | 1876 | (cons (cons (concat (make-string |
| 1877 | (* 2 (1- (string-to-number (match-string 1)))) | 1877 | (* 2 (1- (string-to-number (match-string 1)))) |
| 1878 | ?\ ) | 1878 | ?\s) |
| 1879 | (match-string 3)) | 1879 | (match-string 3)) |
| 1880 | (line-beginning-position)) | 1880 | (line-beginning-position)) |
| 1881 | toc-index)))) | 1881 | toc-index)))) |
diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el index af13c2fe61c..d220d6b85e9 100644 --- a/lisp/textmodes/table.el +++ b/lisp/textmodes/table.el | |||
| @@ -650,7 +650,7 @@ See `table-insert' for examples about how to use." | |||
| 650 | :version "22.1") | 650 | :version "22.1") |
| 651 | 651 | ||
| 652 | (defgroup table-hooks nil | 652 | (defgroup table-hooks nil |
| 653 | "Hooks for table manipulation utilities" | 653 | "Hooks for table manipulation utilities." |
| 654 | :group 'table) | 654 | :group 'table) |
| 655 | 655 | ||
| 656 | (defcustom table-time-before-update 0.2 | 656 | (defcustom table-time-before-update 0.2 |
| @@ -1678,7 +1678,7 @@ Inside a table cell has a special keymap. | |||
| 1678 | (setq i 0) | 1678 | (setq i 0) |
| 1679 | (while (< i columns) | 1679 | (while (< i columns) |
| 1680 | (let ((beg (point))) | 1680 | (let ((beg (point))) |
| 1681 | (insert (make-string (car cw) ?\ )) | 1681 | (insert (make-string (car cw) ?\s)) |
| 1682 | (insert table-cell-vertical-char) | 1682 | (insert table-cell-vertical-char) |
| 1683 | (table--put-cell-line-property beg (1- (point)))) | 1683 | (table--put-cell-line-property beg (1- (point)))) |
| 1684 | (if (cdr cw) (setq cw (cdr cw))) | 1684 | (if (cdr cw) (setq cw (cdr cw))) |
| @@ -2247,7 +2247,7 @@ table structure." | |||
| 2247 | (end (table--goto-coordinate (cons (cadr this) bottom-border-y))) | 2247 | (end (table--goto-coordinate (cons (cadr this) bottom-border-y))) |
| 2248 | (rect (extract-rectangle beg end)) | 2248 | (rect (extract-rectangle beg end)) |
| 2249 | (height (+ (- (cddr this) (cdar this)) 1)) | 2249 | (height (+ (- (cddr this) (cdar this)) 1)) |
| 2250 | (blank-line (make-string (- (cadr this) (caar this)) ?\ ))) | 2250 | (blank-line (make-string (- (cadr this) (caar this)) ?\s))) |
| 2251 | ;; delete lines from the bottom of the cell | 2251 | ;; delete lines from the bottom of the cell |
| 2252 | (setcdr (nthcdr (- height bottom-budget 1) rect) (nthcdr height rect)) | 2252 | (setcdr (nthcdr (- height bottom-budget 1) rect) (nthcdr height rect)) |
| 2253 | ;; delete lines from the top of the cell | 2253 | ;; delete lines from the top of the cell |
| @@ -3363,7 +3363,7 @@ Currently this method is for LaTeX only." | |||
| 3363 | ;; insert a column separator and column/multicolumn contents | 3363 | ;; insert a column separator and column/multicolumn contents |
| 3364 | (with-current-buffer dest-buffer | 3364 | (with-current-buffer dest-buffer |
| 3365 | (unless first-p | 3365 | (unless first-p |
| 3366 | (insert (if (eq (char-before) ?\ ) "" " ") "& ")) | 3366 | (insert (if (eq (char-before) ?\s) "" " ") "& ")) |
| 3367 | (if (> span 1) | 3367 | (if (> span 1) |
| 3368 | (insert (format "\\multicolumn{%d}{%sl|}{%s}" span (if first-p "|" "") line)) | 3368 | (insert (format "\\multicolumn{%d}{%sl|}{%s}" span (if first-p "|" "") line)) |
| 3369 | (insert line))) | 3369 | (insert line))) |
| @@ -3379,7 +3379,7 @@ Currently this method is for LaTeX only." | |||
| 3379 | (setq i (1+ i))) | 3379 | (setq i (1+ i))) |
| 3380 | (funcall insert-column start x1)) | 3380 | (funcall insert-column start x1)) |
| 3381 | (with-current-buffer dest-buffer | 3381 | (with-current-buffer dest-buffer |
| 3382 | (insert (if (eq (char-before) ?\ ) "" " ") "\\\\\n")))) | 3382 | (insert (if (eq (char-before) ?\s) "" " ") "\\\\\n")))) |
| 3383 | (setq y (1+ y))) | 3383 | (setq y (1+ y))) |
| 3384 | (with-current-buffer dest-buffer | 3384 | (with-current-buffer dest-buffer |
| 3385 | (insert "\\hline\n")) | 3385 | (insert "\\hline\n")) |
| @@ -3534,7 +3534,7 @@ consists from cells of same height." | |||
| 3534 | ;; insert the remaining area while appending blank lines below it | 3534 | ;; insert the remaining area while appending blank lines below it |
| 3535 | (table--insert-rectangle | 3535 | (table--insert-rectangle |
| 3536 | (append rect (make-list (+ 2 (- (cdr rb-coord) (cdr lu-coord))) | 3536 | (append rect (make-list (+ 2 (- (cdr rb-coord) (cdr lu-coord))) |
| 3537 | (make-string (+ 2 (- (car rb-coord) (car lu-coord))) ?\ )))) | 3537 | (make-string (+ 2 (- (car rb-coord) (car lu-coord))) ?\s)))) |
| 3538 | ;; remove the appended blank lines below the table if they are unnecessary | 3538 | ;; remove the appended blank lines below the table if they are unnecessary |
| 3539 | (table--goto-coordinate (cons 0 (- (cdr bt-coord) (- (cdr rb-coord) (cdr lu-coord))))) | 3539 | (table--goto-coordinate (cons 0 (- (cdr bt-coord) (- (cdr rb-coord) (cdr lu-coord))))) |
| 3540 | (table--remove-blank-lines (+ 2 (- (cdr rb-coord) (cdr lu-coord)))) | 3540 | (table--remove-blank-lines (+ 2 (- (cdr rb-coord) (cdr lu-coord)))) |
| @@ -4014,7 +4014,7 @@ converts a table into plain text without frames. It is a companion to | |||
| 4014 | (unless (eolp) | 4014 | (unless (eolp) |
| 4015 | (delete-char 1))) | 4015 | (delete-char 1))) |
| 4016 | (delete-char -1) | 4016 | (delete-char -1) |
| 4017 | (insert ?\ ) | 4017 | (insert ?\s) |
| 4018 | (forward-char -1))) | 4018 | (forward-char -1))) |
| 4019 | (setq n (1+ n))) | 4019 | (setq n (1+ n))) |
| 4020 | (setq table-inhibit-auto-fill-paragraph t)) | 4020 | (setq table-inhibit-auto-fill-paragraph t)) |
| @@ -4446,16 +4446,16 @@ Replace frame characters with spaces." | |||
| 4446 | (move-to-column col) | 4446 | (move-to-column col) |
| 4447 | (table--spacify-frame)))) | 4447 | (table--spacify-frame)))) |
| 4448 | (delete-char 1) | 4448 | (delete-char 1) |
| 4449 | (insert-before-markers ?\ )) | 4449 | (insert-before-markers ?\s)) |
| 4450 | ((table--cell-horizontal-char-p (char-after)) | 4450 | ((table--cell-horizontal-char-p (char-after)) |
| 4451 | (while (progn | 4451 | (while (progn |
| 4452 | (delete-char 1) | 4452 | (delete-char 1) |
| 4453 | (insert-before-markers ?\ ) | 4453 | (insert-before-markers ?\s) |
| 4454 | (table--cell-horizontal-char-p (char-after))))) | 4454 | (table--cell-horizontal-char-p (char-after))))) |
| 4455 | ((eq (char-after) table-cell-vertical-char) | 4455 | ((eq (char-after) table-cell-vertical-char) |
| 4456 | (while (let ((col (current-column))) | 4456 | (while (let ((col (current-column))) |
| 4457 | (delete-char 1) | 4457 | (delete-char 1) |
| 4458 | (insert-before-markers ?\ ) | 4458 | (insert-before-markers ?\s) |
| 4459 | (and (zerop (forward-line 1)) | 4459 | (and (zerop (forward-line 1)) |
| 4460 | (zerop (current-column)) | 4460 | (zerop (current-column)) |
| 4461 | (move-to-column col) | 4461 | (move-to-column col) |
| @@ -4611,7 +4611,7 @@ list. This list can be any vertical list within the table." | |||
| 4611 | (table--untabify-line) | 4611 | (table--untabify-line) |
| 4612 | (delete-char columns-to-extend)) | 4612 | (delete-char columns-to-extend)) |
| 4613 | (table--untabify-line (point)) | 4613 | (table--untabify-line (point)) |
| 4614 | (insert (make-string columns-to-extend ?\ ))) | 4614 | (insert (make-string columns-to-extend ?\s))) |
| 4615 | (setcdr coord (1- (cdr coord))))) | 4615 | (setcdr coord (1- (cdr coord))))) |
| 4616 | (table--goto-coordinate (caar (last top-to-bottom-coord-list))) | 4616 | (table--goto-coordinate (caar (last top-to-bottom-coord-list))) |
| 4617 | (let ((coord (table--get-coordinate (cdr (table--horizontal-cell-list nil 'first-only 'bottom))))) | 4617 | (let ((coord (table--get-coordinate (cdr (table--horizontal-cell-list nil 'first-only 'bottom))))) |
| @@ -4625,7 +4625,7 @@ list. This list can be any vertical list within the table." | |||
| 4625 | (table--untabify-line) | 4625 | (table--untabify-line) |
| 4626 | (delete-char columns-to-extend)) | 4626 | (delete-char columns-to-extend)) |
| 4627 | (table--untabify-line (point)) | 4627 | (table--untabify-line (point)) |
| 4628 | (insert (make-string columns-to-extend ?\ ))) | 4628 | (insert (make-string columns-to-extend ?\s))) |
| 4629 | (setcdr coord (1+ (cdr coord))))) | 4629 | (setcdr coord (1+ (cdr coord))))) |
| 4630 | (while (<= (cdr beg-coord) (cdr end-coord)) | 4630 | (while (<= (cdr beg-coord) (cdr end-coord)) |
| 4631 | (table--untabify-line (table--goto-coordinate beg-coord 'no-extension)) | 4631 | (table--untabify-line (table--goto-coordinate beg-coord 'no-extension)) |
| @@ -4854,7 +4854,7 @@ in the list." | |||
| 4854 | (insert char) | 4854 | (insert char) |
| 4855 | (unless (eolp) | 4855 | (unless (eolp) |
| 4856 | (delete-char 1)))) | 4856 | (delete-char 1)))) |
| 4857 | (if (not (eq char ?\ )) | 4857 | (if (not (eq char ?\s)) |
| 4858 | (if char (insert char)) | 4858 | (if char (insert char)) |
| 4859 | (if (not (looking-at "\\s *$")) | 4859 | (if (not (looking-at "\\s *$")) |
| 4860 | (if (and table-fixed-width-mode | 4860 | (if (and table-fixed-width-mode |
| @@ -5398,7 +5398,7 @@ works better than the previous versions however not fully compatible. | |||
| 5398 | 5398 | ||
| 5399 | (defun table--cell-blank-str (&optional n) | 5399 | (defun table--cell-blank-str (&optional n) |
| 5400 | "Return blank table cell string of length N." | 5400 | "Return blank table cell string of length N." |
| 5401 | (let ((str (make-string (or n 1) ?\ ))) | 5401 | (let ((str (make-string (or n 1) ?\s))) |
| 5402 | (table--put-cell-content-property 0 (length str) str) | 5402 | (table--put-cell-content-property 0 (length str) str) |
| 5403 | str)) | 5403 | str)) |
| 5404 | 5404 | ||
| @@ -5481,7 +5481,7 @@ chopped location is indicated with table-word-continuation-char." | |||
| 5481 | (and (zerop (forward-line 1)) | 5481 | (and (zerop (forward-line 1)) |
| 5482 | (< (point) end))) | 5482 | (< (point) end))) |
| 5483 | (t (forward-char -1) | 5483 | (t (forward-char -1) |
| 5484 | (insert-before-markers (if (equal (char-before) ?\ ) ?\ table-word-continuation-char) | 5484 | (insert-before-markers (if (equal (char-before) ?\s) ?\s table-word-continuation-char) |
| 5485 | "\n") | 5485 | "\n") |
| 5486 | t))))) | 5486 | t))))) |
| 5487 | 5487 | ||
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index 7d04464346a..e0f1d78bb31 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el | |||
| @@ -40,17 +40,17 @@ | |||
| 40 | (require 'compile) | 40 | (require 'compile) |
| 41 | 41 | ||
| 42 | (defgroup tex-file nil | 42 | (defgroup tex-file nil |
| 43 | "TeX files and directories" | 43 | "TeX files and directories." |
| 44 | :prefix "tex-" | 44 | :prefix "tex-" |
| 45 | :group 'tex) | 45 | :group 'tex) |
| 46 | 46 | ||
| 47 | (defgroup tex-run nil | 47 | (defgroup tex-run nil |
| 48 | "Running external commands from TeX mode" | 48 | "Running external commands from TeX mode." |
| 49 | :prefix "tex-" | 49 | :prefix "tex-" |
| 50 | :group 'tex) | 50 | :group 'tex) |
| 51 | 51 | ||
| 52 | (defgroup tex-view nil | 52 | (defgroup tex-view nil |
| 53 | "Viewing and printing TeX files" | 53 | "Viewing and printing TeX files." |
| 54 | :prefix "tex-" | 54 | :prefix "tex-" |
| 55 | :group 'tex) | 55 | :group 'tex) |
| 56 | 56 | ||
| @@ -1114,7 +1114,7 @@ inserts \" characters." | |||
| 1114 | (delete-char (length tex-open-quote)) | 1114 | (delete-char (length tex-open-quote)) |
| 1115 | t))) | 1115 | t))) |
| 1116 | (self-insert-command (prefix-numeric-value arg)) | 1116 | (self-insert-command (prefix-numeric-value arg)) |
| 1117 | (insert (if (memq (char-syntax (preceding-char)) '(?\( ?> ?\ )) | 1117 | (insert (if (memq (char-syntax (preceding-char)) '(?\( ?> ?\s)) |
| 1118 | tex-open-quote tex-close-quote)))) | 1118 | tex-open-quote tex-close-quote)))) |
| 1119 | 1119 | ||
| 1120 | (defun tex-validate-buffer () | 1120 | (defun tex-validate-buffer () |
| @@ -2421,7 +2421,7 @@ There might be text before point." | |||
| 2421 | (+ indent (current-column) tex-indent-item)) | 2421 | (+ indent (current-column) tex-indent-item)) |
| 2422 | (t | 2422 | (t |
| 2423 | (let ((col (current-column))) | 2423 | (let ((col (current-column))) |
| 2424 | (if (or (not (eq (char-syntax (or (char-after pos) ?\ )) ?\()) | 2424 | (if (or (not (eq (char-syntax (or (char-after pos) ?\s)) ?\()) |
| 2425 | ;; Can't be an arg if there's an empty line inbetween. | 2425 | ;; Can't be an arg if there's an empty line inbetween. |
| 2426 | (save-excursion (re-search-forward "^[ \t]*$" pos t))) | 2426 | (save-excursion (re-search-forward "^[ \t]*$" pos t))) |
| 2427 | ;; If the first char was not an open-paren, there's | 2427 | ;; If the first char was not an open-paren, there's |
diff --git a/lisp/textmodes/texinfo.el b/lisp/textmodes/texinfo.el index 2be01d630f9..048dfa99f31 100644 --- a/lisp/textmodes/texinfo.el +++ b/lisp/textmodes/texinfo.el | |||
| @@ -44,7 +44,7 @@ | |||
| 44 | (eval-when-compile (require 'tex-mode) (require 'cl)) | 44 | (eval-when-compile (require 'tex-mode) (require 'cl)) |
| 45 | 45 | ||
| 46 | (defgroup texinfo nil | 46 | (defgroup texinfo nil |
| 47 | "Texinfo Mode" | 47 | "Texinfo Mode." |
| 48 | :group 'docs) | 48 | :group 'docs) |
| 49 | 49 | ||
| 50 | ;;;###autoload | 50 | ;;;###autoload |
| @@ -701,7 +701,7 @@ With prefix argument or inside @code or @example, inserts a plain \"." | |||
| 701 | (setq in-env t))))) | 701 | (setq in-env t))))) |
| 702 | (self-insert-command (prefix-numeric-value arg)) | 702 | (self-insert-command (prefix-numeric-value arg)) |
| 703 | (insert | 703 | (insert |
| 704 | (if (memq (char-syntax (preceding-char)) '(?\( ?> ?\ )) | 704 | (if (memq (char-syntax (preceding-char)) '(?\( ?> ?\s)) |
| 705 | texinfo-open-quote | 705 | texinfo-open-quote |
| 706 | texinfo-close-quote))))) | 706 | texinfo-close-quote))))) |
| 707 | 707 | ||
| @@ -816,7 +816,7 @@ Otherwise, follow with a newline." | |||
| 816 | (texinfo-last-unended-begin) | 816 | (texinfo-last-unended-begin) |
| 817 | (match-string 1))) | 817 | (match-string 1))) |
| 818 | "table") | 818 | "table") |
| 819 | ? ;space | 819 | ?\s |
| 820 | ?\n))) | 820 | ?\n))) |
| 821 | 821 | ||
| 822 | (defun texinfo-insert-@kbd (&optional arg) | 822 | (defun texinfo-insert-@kbd (&optional arg) |
diff --git a/lisp/textmodes/two-column.el b/lisp/textmodes/two-column.el index 71687f431c0..dc50cc68aa9 100644 --- a/lisp/textmodes/two-column.el +++ b/lisp/textmodes/two-column.el | |||
| @@ -200,7 +200,7 @@ | |||
| 200 | ;;;;; variable declarations ;;;;; | 200 | ;;;;; variable declarations ;;;;; |
| 201 | 201 | ||
| 202 | (defgroup two-column nil | 202 | (defgroup two-column nil |
| 203 | "Minor mode for editing of two-column text" | 203 | "Minor mode for editing of two-column text." |
| 204 | :prefix "2C-" | 204 | :prefix "2C-" |
| 205 | :group 'frames) | 205 | :group 'frames) |
| 206 | 206 | ||
diff --git a/lisp/tooltip.el b/lisp/tooltip.el index cb668f9cd00..6b78acd0597 100644 --- a/lisp/tooltip.el +++ b/lisp/tooltip.el | |||
| @@ -136,6 +136,8 @@ the last mouse movement event that occurred.") | |||
| 136 | (defvar tooltip-hide-time nil | 136 | (defvar tooltip-hide-time nil |
| 137 | "Time when the last tooltip was hidden.") | 137 | "Time when the last tooltip was hidden.") |
| 138 | 138 | ||
| 139 | (defvar gud-tooltip-mode) ;; Prevent warning. | ||
| 140 | |||
| 139 | ;;; Event accessors | 141 | ;;; Event accessors |
| 140 | 142 | ||
| 141 | (defun tooltip-event-buffer (event) | 143 | (defun tooltip-event-buffer (event) |
diff --git a/lisp/uniquify.el b/lisp/uniquify.el index 792a81f3221..e9b8b1e1da2 100644 --- a/lisp/uniquify.el +++ b/lisp/uniquify.el | |||
| @@ -90,7 +90,7 @@ | |||
| 90 | ;;; User-visible variables | 90 | ;;; User-visible variables |
| 91 | 91 | ||
| 92 | (defgroup uniquify nil | 92 | (defgroup uniquify nil |
| 93 | "Unique buffer names dependent on file name" | 93 | "Unique buffer names dependent on file name." |
| 94 | :group 'applications) | 94 | :group 'applications) |
| 95 | 95 | ||
| 96 | 96 | ||
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index 4da3d22584a..7e1f8c1fe24 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog | |||
| @@ -1,3 +1,36 @@ | |||
| 1 | 2005-07-04 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * url-history.el (url-history-track): Doc fix. | ||
| 4 | (url-history): Finish `defgroup' description with period. | ||
| 5 | |||
| 6 | * url-cookie.el (url-cookie): | ||
| 7 | * url-gw.el (url-gateway): | ||
| 8 | * url-news.el (url-news): | ||
| 9 | * url-vars.el (url, url-file, url-cache, url-mime, url-hairy): | ||
| 10 | Finish `defgroup' description with period. | ||
| 11 | |||
| 12 | 2005-06-28 Klaus Straubinger <KSNetz@Arcor.DE> (tiny change) | ||
| 13 | |||
| 14 | * url-http.el (url-http-create-request): Call url-recreate-url | ||
| 15 | in proxy case. | ||
| 16 | |||
| 17 | 2005-06-27 Klaus Straubinger <KSNetz@Arcor.DE> (tiny change) | ||
| 18 | |||
| 19 | * url-http.el (url-http-create-request): When computing real-fname, | ||
| 20 | call url-filename in both cases. | ||
| 21 | |||
| 22 | 2005-06-27 Richard M. Stallman <rms@gnu.org> | ||
| 23 | |||
| 24 | * url-cookie.el (url-cookie-store): Rename arg PATH to LOCALPART. | ||
| 25 | (url-cookie-retrieve): Likewise. | ||
| 26 | (url-cookie-generate-header-lines): Likewise. | ||
| 27 | (url-cookie-handle-set-cookie): Likewise. | ||
| 28 | (url-cookie-create): Expect :localpart instead of :path. | ||
| 29 | (url-cookie-localpart): Renamed from url-cookie-path. | ||
| 30 | (url-cookie-set-localpart): Renamed from url-cookie-set-path. | ||
| 31 | (url-cookie-file): Doc fix. | ||
| 32 | (url-cookie-p): Add doc string. | ||
| 33 | |||
| 1 | 2005-06-23 Richard M. Stallman <rms@gnu.org> | 34 | 2005-06-23 Richard M. Stallman <rms@gnu.org> |
| 2 | 35 | ||
| 3 | * url-cookie.el (url-cookie-generate-header-lines): Fix autoload cookie. | 36 | * url-cookie.el (url-cookie-generate-header-lines): Fix autoload cookie. |
diff --git a/lisp/url/url-cookie.el b/lisp/url/url-cookie.el index db50f289521..039e3b0150b 100644 --- a/lisp/url/url-cookie.el +++ b/lisp/url/url-cookie.el | |||
| @@ -34,46 +34,60 @@ | |||
| 34 | ;; 'open standard' defining this crap. | 34 | ;; 'open standard' defining this crap. |
| 35 | ;; | 35 | ;; |
| 36 | ;; A cookie is stored internally as a vector of 7 slots | 36 | ;; A cookie is stored internally as a vector of 7 slots |
| 37 | ;; [ 'cookie name value expires path domain secure ] | 37 | ;; [ cookie NAME VALUE EXPIRES LOCALPART DOMAIN SECURE ] |
| 38 | 38 | ||
| 39 | (defsubst url-cookie-name (cookie) (aref cookie 1)) | 39 | (defsubst url-cookie-name (cookie) (aref cookie 1)) |
| 40 | (defsubst url-cookie-value (cookie) (aref cookie 2)) | 40 | (defsubst url-cookie-value (cookie) (aref cookie 2)) |
| 41 | (defsubst url-cookie-expires (cookie) (aref cookie 3)) | 41 | (defsubst url-cookie-expires (cookie) (aref cookie 3)) |
| 42 | (defsubst url-cookie-path (cookie) (aref cookie 4)) | 42 | (defsubst url-cookie-localpart (cookie) (aref cookie 4)) |
| 43 | (defsubst url-cookie-domain (cookie) (aref cookie 5)) | 43 | (defsubst url-cookie-domain (cookie) (aref cookie 5)) |
| 44 | (defsubst url-cookie-secure (cookie) (aref cookie 6)) | 44 | (defsubst url-cookie-secure (cookie) (aref cookie 6)) |
| 45 | 45 | ||
| 46 | (defsubst url-cookie-set-name (cookie val) (aset cookie 1 val)) | 46 | (defsubst url-cookie-set-name (cookie val) (aset cookie 1 val)) |
| 47 | (defsubst url-cookie-set-value (cookie val) (aset cookie 2 val)) | 47 | (defsubst url-cookie-set-value (cookie val) (aset cookie 2 val)) |
| 48 | (defsubst url-cookie-set-expires (cookie val) (aset cookie 3 val)) | 48 | (defsubst url-cookie-set-expires (cookie val) (aset cookie 3 val)) |
| 49 | (defsubst url-cookie-set-path (cookie val) (aset cookie 4 val)) | 49 | (defsubst url-cookie-set-localpart (cookie val) (aset cookie 4 val)) |
| 50 | (defsubst url-cookie-set-domain (cookie val) (aset cookie 5 val)) | 50 | (defsubst url-cookie-set-domain (cookie val) (aset cookie 5 val)) |
| 51 | (defsubst url-cookie-set-secure (cookie val) (aset cookie 6 val)) | 51 | (defsubst url-cookie-set-secure (cookie val) (aset cookie 6 val)) |
| 52 | (defsubst url-cookie-retrieve-arg (key args) (nth 1 (memq key args))) | 52 | (defsubst url-cookie-retrieve-arg (key args) (nth 1 (memq key args))) |
| 53 | 53 | ||
| 54 | (defsubst url-cookie-create (&rest args) | 54 | (defsubst url-cookie-create (&rest args) |
| 55 | "Create a cookie vector object from keyword-value pairs ARGS. | ||
| 56 | The keywords allowed are | ||
| 57 | :name NAME | ||
| 58 | :value VALUE | ||
| 59 | :expires TIME | ||
| 60 | :localpart LOCALPAR | ||
| 61 | :domain DOMAIN | ||
| 62 | :secure ??? | ||
| 63 | Could someone fill in more information?" | ||
| 55 | (let ((retval (make-vector 7 nil))) | 64 | (let ((retval (make-vector 7 nil))) |
| 56 | (aset retval 0 'cookie) | 65 | (aset retval 0 'cookie) |
| 57 | (url-cookie-set-name retval (url-cookie-retrieve-arg :name args)) | 66 | (url-cookie-set-name retval (url-cookie-retrieve-arg :name args)) |
| 58 | (url-cookie-set-value retval (url-cookie-retrieve-arg :value args)) | 67 | (url-cookie-set-value retval (url-cookie-retrieve-arg :value args)) |
| 59 | (url-cookie-set-expires retval (url-cookie-retrieve-arg :expires args)) | 68 | (url-cookie-set-expires retval (url-cookie-retrieve-arg :expires args)) |
| 60 | (url-cookie-set-path retval (url-cookie-retrieve-arg :path args)) | 69 | (url-cookie-set-localpart retval (url-cookie-retrieve-arg :localpart args)) |
| 61 | (url-cookie-set-domain retval (url-cookie-retrieve-arg :domain args)) | 70 | (url-cookie-set-domain retval (url-cookie-retrieve-arg :domain args)) |
| 62 | (url-cookie-set-secure retval (url-cookie-retrieve-arg :secure args)) | 71 | (url-cookie-set-secure retval (url-cookie-retrieve-arg :secure args)) |
| 63 | retval)) | 72 | retval)) |
| 64 | 73 | ||
| 65 | (defun url-cookie-p (obj) | 74 | (defun url-cookie-p (obj) |
| 75 | "Return non-nil if OBJ is a cookie vector object. | ||
| 76 | These objects represent cookies in the URL package. | ||
| 77 | A cookie vector object is a vector of 7 slots: | ||
| 78 | [cookie NAME VALUE EXPIRES LOCALPART DOMAIN SECURE]." | ||
| 66 | (and (vectorp obj) (= (length obj) 7) (eq (aref obj 0) 'cookie))) | 79 | (and (vectorp obj) (= (length obj) 7) (eq (aref obj 0) 'cookie))) |
| 67 | 80 | ||
| 68 | (defgroup url-cookie nil | 81 | (defgroup url-cookie nil |
| 69 | "URL cookies" | 82 | "URL cookies." |
| 70 | :prefix "url-" | 83 | :prefix "url-" |
| 71 | :prefix "url-cookie-" | 84 | :prefix "url-cookie-" |
| 72 | :group 'url) | 85 | :group 'url) |
| 73 | 86 | ||
| 74 | (defvar url-cookie-storage nil "Where cookies are stored.") | 87 | (defvar url-cookie-storage nil "Where cookies are stored.") |
| 75 | (defvar url-cookie-secure-storage nil "Where secure cookies are stored.") | 88 | (defvar url-cookie-secure-storage nil "Where secure cookies are stored.") |
| 76 | (defcustom url-cookie-file nil "*Where cookies are stored on disk." | 89 | (defcustom url-cookie-file nil |
| 90 | "*File where cookies are stored on disk." | ||
| 77 | :type '(choice (const :tag "Default" :value nil) file) | 91 | :type '(choice (const :tag "Default" :value nil) file) |
| 78 | :group 'url-file | 92 | :group 'url-file |
| 79 | :group 'url-cookie) | 93 | :group 'url-cookie) |
| @@ -154,7 +168,7 @@ telling Microsoft that." | |||
| 154 | (write-file fname) | 168 | (write-file fname) |
| 155 | (kill-buffer (current-buffer)))))) | 169 | (kill-buffer (current-buffer)))))) |
| 156 | 170 | ||
| 157 | (defun url-cookie-store (name value &optional expires domain path secure) | 171 | (defun url-cookie-store (name value &optional expires domain localpart secure) |
| 158 | "Store a netscape-style cookie." | 172 | "Store a netscape-style cookie." |
| 159 | (let* ((storage (if secure url-cookie-secure-storage url-cookie-storage)) | 173 | (let* ((storage (if secure url-cookie-secure-storage url-cookie-storage)) |
| 160 | (tmp storage) | 174 | (tmp storage) |
| @@ -173,7 +187,7 @@ telling Microsoft that." | |||
| 173 | (while storage | 187 | (while storage |
| 174 | (setq cur (car storage) | 188 | (setq cur (car storage) |
| 175 | storage (cdr storage)) | 189 | storage (cdr storage)) |
| 176 | (if (and (equal path (url-cookie-path cur)) | 190 | (if (and (equal localpart (url-cookie-localpart cur)) |
| 177 | (equal name (url-cookie-name cur))) | 191 | (equal name (url-cookie-name cur))) |
| 178 | (progn | 192 | (progn |
| 179 | (url-cookie-set-expires cur expires) | 193 | (url-cookie-set-expires cur expires) |
| @@ -186,7 +200,7 @@ telling Microsoft that." | |||
| 186 | :value value | 200 | :value value |
| 187 | :expires expires | 201 | :expires expires |
| 188 | :domain domain | 202 | :domain domain |
| 189 | :path path | 203 | :localpart localpart |
| 190 | :secure secure) | 204 | :secure secure) |
| 191 | (cdr found-domain))))) | 205 | (cdr found-domain))))) |
| 192 | ;; Need to add a new top-level domain | 206 | ;; Need to add a new top-level domain |
| @@ -194,7 +208,7 @@ telling Microsoft that." | |||
| 194 | :value value | 208 | :value value |
| 195 | :expires expires | 209 | :expires expires |
| 196 | :domain domain | 210 | :domain domain |
| 197 | :path path | 211 | :localpart localpart |
| 198 | :secure secure)) | 212 | :secure secure)) |
| 199 | (cond | 213 | (cond |
| 200 | (storage | 214 | (storage |
| @@ -235,8 +249,8 @@ telling Microsoft that." | |||
| 235 | (> (- cur-norm exp-norm) 1)))))) | 249 | (> (- cur-norm exp-norm) 1)))))) |
| 236 | 250 | ||
| 237 | ;;;###autoload | 251 | ;;;###autoload |
| 238 | (defun url-cookie-retrieve (host path &optional secure) | 252 | (defun url-cookie-retrieve (host localpart &optional secure) |
| 239 | "Retrieve all the netscape-style cookies for a specified HOST and PATH." | 253 | "Retrieve all the netscape-style cookies for a specified HOST and LOCALPART." |
| 240 | (let ((storage (if secure | 254 | (let ((storage (if secure |
| 241 | (append url-cookie-secure-storage url-cookie-storage) | 255 | (append url-cookie-secure-storage url-cookie-storage) |
| 242 | url-cookie-storage)) | 256 | url-cookie-storage)) |
| @@ -244,7 +258,7 @@ telling Microsoft that." | |||
| 244 | (cookies nil) | 258 | (cookies nil) |
| 245 | (cur nil) | 259 | (cur nil) |
| 246 | (retval nil) | 260 | (retval nil) |
| 247 | (path-regexp nil)) | 261 | (localpart-regexp nil)) |
| 248 | (while storage | 262 | (while storage |
| 249 | (setq cur (car storage) | 263 | (setq cur (car storage) |
| 250 | storage (cdr storage) | 264 | storage (cdr storage) |
| @@ -255,26 +269,26 @@ telling Microsoft that." | |||
| 255 | (while cookies | 269 | (while cookies |
| 256 | (setq cur (car cookies) | 270 | (setq cur (car cookies) |
| 257 | cookies (cdr cookies) | 271 | cookies (cdr cookies) |
| 258 | path-regexp (concat "^" (regexp-quote | 272 | localpart-regexp (concat "^" (regexp-quote |
| 259 | (url-cookie-path cur)))) | 273 | (url-cookie-localpart cur)))) |
| 260 | (if (and (string-match path-regexp path) | 274 | (if (and (string-match localpart-regexp localpart) |
| 261 | (not (url-cookie-expired-p cur))) | 275 | (not (url-cookie-expired-p cur))) |
| 262 | (setq retval (cons cur retval)))))) | 276 | (setq retval (cons cur retval)))))) |
| 263 | retval)) | 277 | retval)) |
| 264 | 278 | ||
| 265 | ;;;###autoload | 279 | ;;;###autoload |
| 266 | (defun url-cookie-generate-header-lines (host path secure) | 280 | (defun url-cookie-generate-header-lines (host localpart secure) |
| 267 | (let* ((cookies (url-cookie-retrieve host path secure)) | 281 | (let* ((cookies (url-cookie-retrieve host localpart secure)) |
| 268 | (retval nil) | 282 | (retval nil) |
| 269 | (cur nil) | 283 | (cur nil) |
| 270 | (chunk nil)) | 284 | (chunk nil)) |
| 271 | ;; Have to sort this for sending most specific cookies first | 285 | ;; Have to sort this for sending most specific cookies first |
| 272 | (setq cookies (and cookies | 286 | (setq cookies (and cookies |
| 273 | (sort cookies | 287 | (sort cookies |
| 274 | (function | 288 | (function |
| 275 | (lambda (x y) | 289 | (lambda (x y) |
| 276 | (> (length (url-cookie-path x)) | 290 | (> (length (url-cookie-localpart x)) |
| 277 | (length (url-cookie-path y)))))))) | 291 | (length (url-cookie-localpart y)))))))) |
| 278 | (while cookies | 292 | (while cookies |
| 279 | (setq cur (car cookies) | 293 | (setq cur (car cookies) |
| 280 | cookies (cdr cookies) | 294 | cookies (cdr cookies) |
| @@ -340,9 +354,9 @@ telling Microsoft that." | |||
| 340 | (trusted url-cookie-trusted-urls) | 354 | (trusted url-cookie-trusted-urls) |
| 341 | (untrusted url-cookie-untrusted-urls) | 355 | (untrusted url-cookie-untrusted-urls) |
| 342 | (expires (cdr-safe (assoc-string "expires" args t))) | 356 | (expires (cdr-safe (assoc-string "expires" args t))) |
| 343 | (path (or (cdr-safe (assoc-string "path" args t)) | 357 | (localpart (or (cdr-safe (assoc-string "path" args t)) |
| 344 | (file-name-directory | 358 | (file-name-directory |
| 345 | (url-filename url-current-object)))) | 359 | (url-filename url-current-object)))) |
| 346 | (rest nil)) | 360 | (rest nil)) |
| 347 | (while args | 361 | (while args |
| 348 | (if (not (member (downcase (car (car args))) | 362 | (if (not (member (downcase (car (car args))) |
| @@ -422,7 +436,7 @@ telling Microsoft that." | |||
| 422 | (while rest | 436 | (while rest |
| 423 | (setq cur (pop rest)) | 437 | (setq cur (pop rest)) |
| 424 | (url-cookie-store (car cur) (cdr cur) | 438 | (url-cookie-store (car cur) (cdr cur) |
| 425 | expires domain path secure)))) | 439 | expires domain localpart secure)))) |
| 426 | (t | 440 | (t |
| 427 | (message "%s tried to set a cookie for domain %s - rejected." | 441 | (message "%s tried to set a cookie for domain %s - rejected." |
| 428 | (url-host url-current-object) domain))))) | 442 | (url-host url-current-object) domain))))) |
diff --git a/lisp/url/url-gw.el b/lisp/url/url-gw.el index 153d146b608..35104821782 100644 --- a/lisp/url/url-gw.el +++ b/lisp/url/url-gw.el | |||
| @@ -34,7 +34,7 @@ | |||
| 34 | (autoload 'open-tls-stream "tls") | 34 | (autoload 'open-tls-stream "tls") |
| 35 | 35 | ||
| 36 | (defgroup url-gateway nil | 36 | (defgroup url-gateway nil |
| 37 | "URL gateway variables" | 37 | "URL gateway variables." |
| 38 | :group 'url) | 38 | :group 'url) |
| 39 | 39 | ||
| 40 | (defcustom url-gateway-local-host-regexp nil | 40 | (defcustom url-gateway-local-host-regexp nil |
diff --git a/lisp/url/url-history.el b/lisp/url/url-history.el index 3f9a82b9afd..9483b255d8e 100644 --- a/lisp/url/url-history.el +++ b/lisp/url/url-history.el | |||
| @@ -32,14 +32,14 @@ | |||
| 32 | (autoload 'url-do-setup "url") | 32 | (autoload 'url-do-setup "url") |
| 33 | 33 | ||
| 34 | (defgroup url-history nil | 34 | (defgroup url-history nil |
| 35 | "History variables in the URL package" | 35 | "History variables in the URL package." |
| 36 | :prefix "url-history" | 36 | :prefix "url-history" |
| 37 | :group 'url) | 37 | :group 'url) |
| 38 | 38 | ||
| 39 | (defcustom url-history-track nil | 39 | (defcustom url-history-track nil |
| 40 | "*Controls whether to keep a list of all the URLS being visited. | 40 | "*Controls whether to keep a list of all the URLS being visited. |
| 41 | If non-nil, url will keep track of all the URLS visited. | 41 | If non-nil, url will keep track of all the URLS visited. |
| 42 | If eq to `t', then the list is saved to disk at the end of each emacs | 42 | If set to t, then the list is saved to disk at the end of each Emacs |
| 43 | session." | 43 | session." |
| 44 | :type 'boolean | 44 | :type 'boolean |
| 45 | :group 'url-history) | 45 | :group 'url-history) |
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el index f5bbf4a7bf4..0b7e2cef8a1 100644 --- a/lisp/url/url-http.el +++ b/lisp/url/url-http.el | |||
| @@ -156,8 +156,7 @@ request. | |||
| 156 | (let ((url-basic-auth-storage | 156 | (let ((url-basic-auth-storage |
| 157 | 'url-http-proxy-basic-auth-storage)) | 157 | 'url-http-proxy-basic-auth-storage)) |
| 158 | (url-get-authentication url nil 'any nil)))) | 158 | (url-get-authentication url nil 'any nil)))) |
| 159 | (real-fname (if proxy-obj (url-recreate-url proxy-obj) | 159 | (real-fname (url-filename (or proxy-obj url))) |
| 160 | (url-filename url))) | ||
| 161 | (host (url-host (or proxy-obj url))) | 160 | (host (url-host (or proxy-obj url))) |
| 162 | (auth (if (cdr-safe (assoc "Authorization" url-request-extra-headers)) | 161 | (auth (if (cdr-safe (assoc "Authorization" url-request-extra-headers)) |
| 163 | nil | 162 | nil |
| @@ -200,7 +199,9 @@ request. | |||
| 200 | (setq request | 199 | (setq request |
| 201 | (concat | 200 | (concat |
| 202 | ;; The request | 201 | ;; The request |
| 203 | (or url-request-method "GET") " " real-fname " HTTP/" url-http-version "\r\n" | 202 | (or url-request-method "GET") " " |
| 203 | (if proxy-obj (url-recreate-url proxy-obj) real-fname) | ||
| 204 | " HTTP/" url-http-version "\r\n" | ||
| 204 | ;; Version of MIME we speak | 205 | ;; Version of MIME we speak |
| 205 | "MIME-Version: 1.0\r\n" | 206 | "MIME-Version: 1.0\r\n" |
| 206 | ;; (maybe) Try to keep the connection open | 207 | ;; (maybe) Try to keep the connection open |
diff --git a/lisp/url/url-news.el b/lisp/url/url-news.el index 9d7f64bb4a4..21dd13ec17a 100644 --- a/lisp/url/url-news.el +++ b/lisp/url/url-news.el | |||
| @@ -32,7 +32,7 @@ | |||
| 32 | (eval-when-compile (require 'cl)) | 32 | (eval-when-compile (require 'cl)) |
| 33 | 33 | ||
| 34 | (defgroup url-news nil | 34 | (defgroup url-news nil |
| 35 | "News related options" | 35 | "News related options." |
| 36 | :group 'url) | 36 | :group 'url) |
| 37 | 37 | ||
| 38 | (defun url-news-open-host (host port user pass) | 38 | (defun url-news-open-host (host port user pass) |
| @@ -105,7 +105,7 @@ | |||
| 105 | nntp-open-connection-function) | 105 | nntp-open-connection-function) |
| 106 | nil | 106 | nil |
| 107 | (cons (current-buffer) 'browse))) | 107 | (cons (current-buffer) 'browse))) |
| 108 | 108 | ||
| 109 | ;;;###autoload | 109 | ;;;###autoload |
| 110 | (defun url-news (url) | 110 | (defun url-news (url) |
| 111 | ;; Find a news reference | 111 | ;; Find a news reference |
diff --git a/lisp/url/url-vars.el b/lisp/url/url-vars.el index 53b144f0f98..1921a6e295f 100644 --- a/lisp/url/url-vars.el +++ b/lisp/url/url-vars.el | |||
| @@ -29,28 +29,28 @@ | |||
| 29 | "Version number of URL package.") | 29 | "Version number of URL package.") |
| 30 | 30 | ||
| 31 | (defgroup url nil | 31 | (defgroup url nil |
| 32 | "Uniform Resource Locator tool" | 32 | "Uniform Resource Locator tool." |
| 33 | :version "22.1" | 33 | :version "22.1" |
| 34 | :group 'hypermedia) | 34 | :group 'hypermedia) |
| 35 | 35 | ||
| 36 | (defgroup url-file nil | 36 | (defgroup url-file nil |
| 37 | "URL storage" | 37 | "URL storage." |
| 38 | :prefix "url-" | 38 | :prefix "url-" |
| 39 | :group 'url) | 39 | :group 'url) |
| 40 | 40 | ||
| 41 | (defgroup url-cache nil | 41 | (defgroup url-cache nil |
| 42 | "URL cache" | 42 | "URL cache." |
| 43 | :prefix "url-" | 43 | :prefix "url-" |
| 44 | :prefix "url-cache-" | 44 | :prefix "url-cache-" |
| 45 | :group 'url) | 45 | :group 'url) |
| 46 | 46 | ||
| 47 | (defgroup url-mime nil | 47 | (defgroup url-mime nil |
| 48 | "MIME options of URL" | 48 | "MIME options of URL." |
| 49 | :prefix "url-" | 49 | :prefix "url-" |
| 50 | :group 'url) | 50 | :group 'url) |
| 51 | 51 | ||
| 52 | (defgroup url-hairy nil | 52 | (defgroup url-hairy nil |
| 53 | "Hairy options of URL" | 53 | "Hairy options of URL." |
| 54 | :prefix "url-" | 54 | :prefix "url-" |
| 55 | :group 'url) | 55 | :group 'url) |
| 56 | 56 | ||
diff --git a/lisp/w32-vars.el b/lisp/w32-vars.el index 1877e159ae7..30dae3f9987 100644 --- a/lisp/w32-vars.el +++ b/lisp/w32-vars.el | |||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | ;; Custom group for w32 specific settings | 29 | ;; Custom group for w32 specific settings |
| 30 | (defgroup w32 nil | 30 | (defgroup w32 nil |
| 31 | "MS-Windows specific features" | 31 | "MS-Windows specific features." |
| 32 | :group 'environment | 32 | :group 'environment |
| 33 | :version "22.1" | 33 | :version "22.1" |
| 34 | :prefix "w32") | 34 | :prefix "w32") |
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 6e6e8f4a9ed..b06aaa2f869 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,47 @@ | |||
| 1 | 2005-07-03 Luc Teirlinck <teirllm@auburn.edu> | ||
| 2 | |||
| 3 | * display.texi (The Echo Area): Correct menu. | ||
| 4 | |||
| 5 | 2005-07-03 Richard M. Stallman <rms@gnu.org> | ||
| 6 | |||
| 7 | * elisp.texi (Top): Update subnode menu for Display. | ||
| 8 | |||
| 9 | * display.texi (Displaying Messages): New node, with most | ||
| 10 | of what was in The Echo Area. | ||
| 11 | (Progress): Moved under The Echo Area. | ||
| 12 | (Logging Messages): New node with new text. | ||
| 13 | (Echo Area Customization): New node, the rest of what was | ||
| 14 | in The Echo Area. Document message-truncate-lines with @defvar. | ||
| 15 | (Display): Update menu. | ||
| 16 | |||
| 17 | * windows.texi (Textual Scrolling): Doc 3 values for | ||
| 18 | scroll-preserve-screen-position. | ||
| 19 | |||
| 20 | * text.texi (Special Properties): Change hook functions | ||
| 21 | should bind inhibit-modification-hooks around altering buffer text. | ||
| 22 | |||
| 23 | * keymaps.texi (Key Binding Commands): Call binding BINDING | ||
| 24 | rather than DEFINITION. | ||
| 25 | |||
| 26 | 2005-06-29 Juanma Barranquero <lekktu@gmail.com> | ||
| 27 | |||
| 28 | * variables.texi (Defining Variables): `user-variable-p' returns t | ||
| 29 | for aliases of user options, nil for alias loops. | ||
| 30 | |||
| 31 | 2005-06-28 Richard M. Stallman <rms@gnu.org> | ||
| 32 | |||
| 33 | * keymaps.texi (Creating Keymaps): Put make-sparse-keymap before | ||
| 34 | make-keymap. | ||
| 35 | |||
| 36 | 2005-06-27 Luc Teirlinck <teirllm@auburn.edu> | ||
| 37 | |||
| 38 | * variables.texi (Setting Variables): Correct and clarify | ||
| 39 | description of `add-to-ordered-list'. | ||
| 40 | |||
| 41 | 2005-06-26 Richard M. Stallman <rms@gnu.org> | ||
| 42 | |||
| 43 | * display.texi (Faces): Minor cleanup. | ||
| 44 | |||
| 1 | 2005-06-25 Luc Teirlinck <teirllm@auburn.edu> | 45 | 2005-06-25 Luc Teirlinck <teirllm@auburn.edu> |
| 2 | 46 | ||
| 3 | * display.texi (Faces): `facep' returns t for strings that are | 47 | * display.texi (Faces): `facep' returns t for strings that are |
diff --git a/lispref/display.texi b/lispref/display.texi index fe0797f1a1c..958ca0325e9 100644 --- a/lispref/display.texi +++ b/lispref/display.texi | |||
| @@ -14,9 +14,8 @@ that Emacs presents to the user. | |||
| 14 | * Refresh Screen:: Clearing the screen and redrawing everything on it. | 14 | * Refresh Screen:: Clearing the screen and redrawing everything on it. |
| 15 | * Forcing Redisplay:: Forcing redisplay. | 15 | * Forcing Redisplay:: Forcing redisplay. |
| 16 | * Truncation:: Folding or wrapping long text lines. | 16 | * Truncation:: Folding or wrapping long text lines. |
| 17 | * The Echo Area:: Where messages are displayed. | 17 | * The Echo Area:: Displaying messages at the bottom of the screen. |
| 18 | * Warnings:: Displaying warning messages for the user. | 18 | * Warnings:: Displaying warning messages for the user. |
| 19 | * Progress:: Informing user about progress of a long operation. | ||
| 20 | * Invisible Text:: Hiding part of the buffer text. | 19 | * Invisible Text:: Hiding part of the buffer text. |
| 21 | * Selective Display:: Hiding part of the buffer text (the old way). | 20 | * Selective Display:: Hiding part of the buffer text (the old way). |
| 22 | * Temporary Displays:: Displays that go away automatically. | 21 | * Temporary Displays:: Displays that go away automatically. |
| @@ -184,7 +183,7 @@ This variable is automatically buffer-local in every buffer. | |||
| 184 | @cindex error display | 183 | @cindex error display |
| 185 | @cindex echo area | 184 | @cindex echo area |
| 186 | 185 | ||
| 187 | The @dfn{echo area} is used for displaying error messages | 186 | The @dfn{echo area} is used for displaying error messages |
| 188 | (@pxref{Errors}), for messages made with the @code{message} primitive, | 187 | (@pxref{Errors}), for messages made with the @code{message} primitive, |
| 189 | and for echoing keystrokes. It is not the same as the minibuffer, | 188 | and for echoing keystrokes. It is not the same as the minibuffer, |
| 190 | despite the fact that the minibuffer appears (when active) in the same | 189 | despite the fact that the minibuffer appears (when active) in the same |
| @@ -193,9 +192,22 @@ specifies the rules for resolving conflicts between the echo area and | |||
| 193 | the minibuffer for use of that screen space (@pxref{Minibuffer,, The | 192 | the minibuffer for use of that screen space (@pxref{Minibuffer,, The |
| 194 | Minibuffer, emacs, The GNU Emacs Manual}). | 193 | Minibuffer, emacs, The GNU Emacs Manual}). |
| 195 | 194 | ||
| 196 | You can write output in the echo area by using the Lisp printing | 195 | You can write output in the echo area by using the Lisp printing |
| 197 | functions with @code{t} as the stream (@pxref{Output Functions}), or as | 196 | functions with @code{t} as the stream (@pxref{Output Functions}), or |
| 198 | follows: | 197 | explicitly. |
| 198 | |||
| 199 | @menu | ||
| 200 | * Displaying Messages:: Explicitly displaying text in the echo area. | ||
| 201 | * Progress:: Informing user about progress of a long operation. | ||
| 202 | * Logging Messages:: Echo area messages are logged for the user. | ||
| 203 | * Echo Area Customization:: Controlling the echo area. | ||
| 204 | @end menu | ||
| 205 | |||
| 206 | @node Displaying Messages | ||
| 207 | @subsection Displaying Messages in the Echo Area | ||
| 208 | |||
| 209 | This section describes the functions for explicitly producing echo | ||
| 210 | area messages. Many other Emacs features display messages there, too. | ||
| 199 | 211 | ||
| 200 | @defun message string &rest arguments | 212 | @defun message string &rest arguments |
| 201 | This function displays a message in the echo area. The | 213 | This function displays a message in the echo area. The |
| @@ -216,12 +228,6 @@ the echo area has been expanded automatically, this brings it back to | |||
| 216 | its normal size. If the minibuffer is active, this brings the | 228 | its normal size. If the minibuffer is active, this brings the |
| 217 | minibuffer contents back onto the screen immediately. | 229 | minibuffer contents back onto the screen immediately. |
| 218 | 230 | ||
| 219 | @vindex message-truncate-lines | ||
| 220 | Normally, displaying a long message resizes the echo area to display | ||
| 221 | the entire message. But if the variable @code{message-truncate-lines} | ||
| 222 | is non-@code{nil}, the echo area does not resize, and the message is | ||
| 223 | truncated to fit it, as in Emacs 20 and before. | ||
| 224 | |||
| 225 | @example | 231 | @example |
| 226 | @group | 232 | @group |
| 227 | (message "Minibuffer depth is %d." | 233 | (message "Minibuffer depth is %d." |
| @@ -241,12 +247,6 @@ To automatically display a message in the echo area or in a pop-buffer, | |||
| 241 | depending on its size, use @code{display-message-or-buffer} (see below). | 247 | depending on its size, use @code{display-message-or-buffer} (see below). |
| 242 | @end defun | 248 | @end defun |
| 243 | 249 | ||
| 244 | @defopt max-mini-window-height | ||
| 245 | This variable specifies the maximum height for resizing minibuffer | ||
| 246 | windows. If a float, it specifies a fraction of the height of the | ||
| 247 | frame. If an integer, it specifies a number of lines. | ||
| 248 | @end defopt | ||
| 249 | |||
| 250 | @tindex with-temp-message | 250 | @tindex with-temp-message |
| 251 | @defmac with-temp-message message &rest body | 251 | @defmac with-temp-message message &rest body |
| 252 | This construct displays a message in the echo area temporarily, during | 252 | This construct displays a message in the echo area temporarily, during |
| @@ -303,23 +303,130 @@ This function returns the message currently being displayed in the | |||
| 303 | echo area, or @code{nil} if there is none. | 303 | echo area, or @code{nil} if there is none. |
| 304 | @end defun | 304 | @end defun |
| 305 | 305 | ||
| 306 | @defvar cursor-in-echo-area | 306 | @node Progress |
| 307 | This variable controls where the cursor appears when a message is | 307 | @subsection Reporting Operation Progress |
| 308 | displayed in the echo area. If it is non-@code{nil}, then the cursor | 308 | @cindex progress reporting |
| 309 | appears at the end of the message. Otherwise, the cursor appears at | ||
| 310 | point---not in the echo area at all. | ||
| 311 | 309 | ||
| 312 | The value is normally @code{nil}; Lisp programs bind it to @code{t} | 310 | When an operation can take a while to finish, you should inform the |
| 313 | for brief periods of time. | 311 | user about the progress it makes. This way the user can estimate |
| 314 | @end defvar | 312 | remaining time and clearly see that Emacs is busy working, not hung. |
| 315 | 313 | ||
| 316 | @defvar echo-area-clear-hook | 314 | Functions listed in this section provide simple and efficient way of |
| 317 | This normal hook is run whenever the echo area is cleared---either by | 315 | reporting operation progress. Here is a working example that does |
| 318 | @code{(message nil)} or for any other reason. | 316 | nothing useful: |
| 319 | @end defvar | 317 | |
| 318 | @smallexample | ||
| 319 | (let ((progress-reporter | ||
| 320 | (make-progress-reporter "Collecting mana for Emacs..." | ||
| 321 | 0 500))) | ||
| 322 | (dotimes (k 500) | ||
| 323 | (sit-for 0.01) | ||
| 324 | (progress-reporter-update progress-reporter k)) | ||
| 325 | (progress-reporter-done progress-reporter)) | ||
| 326 | @end smallexample | ||
| 327 | |||
| 328 | @defun make-progress-reporter message min-value max-value &optional current-value min-change min-time | ||
| 329 | This function creates and returns a @dfn{progress reporter}---an | ||
| 330 | object you will use as an argument for all other functions listed | ||
| 331 | here. The idea is to precompute as much data as possible to make | ||
| 332 | progress reporting very fast. | ||
| 333 | |||
| 334 | When this progress reporter is subsequently used, it will display | ||
| 335 | @var{message} in the echo area, followed by progress percentage. | ||
| 336 | @var{message} is treated as a simple string. If you need it to depend | ||
| 337 | on a filename, for instance, use @code{format} before calling this | ||
| 338 | function. | ||
| 339 | |||
| 340 | @var{min-value} and @var{max-value} arguments stand for starting and | ||
| 341 | final states of your operation. For instance, if you scan a buffer, | ||
| 342 | they should be the results of @code{point-min} and @code{point-max} | ||
| 343 | correspondingly. It is required that @var{max-value} is greater than | ||
| 344 | @var{min-value}. If you create progress reporter when some part of | ||
| 345 | the operation has already been completed, then specify | ||
| 346 | @var{current-value} argument. But normally you should omit it or set | ||
| 347 | it to @code{nil}---it will default to @var{min-value} then. | ||
| 348 | |||
| 349 | Remaining arguments control the rate of echo area updates. Progress | ||
| 350 | reporter will wait for at least @var{min-change} more percents of the | ||
| 351 | operation to be completed before printing next message. | ||
| 352 | @var{min-time} specifies the minimum time in seconds to pass between | ||
| 353 | successive prints. It can be fractional. Depending on Emacs and | ||
| 354 | system capabilities, progress reporter may or may not respect this | ||
| 355 | last argument or do it with varying precision. Default value for | ||
| 356 | @var{min-change} is 1 (one percent), for @var{min-time}---0.2 | ||
| 357 | (seconds.) | ||
| 320 | 358 | ||
| 321 | Almost all the messages displayed in the echo area are also recorded | 359 | This function calls @code{progress-reporter-update}, so the first |
| 322 | in the @samp{*Messages*} buffer. | 360 | message is printed immediately. |
| 361 | @end defun | ||
| 362 | |||
| 363 | @defun progress-reporter-update reporter value | ||
| 364 | This function does the main work of reporting progress of your | ||
| 365 | operation. It displays the message of @var{reporter}, followed by | ||
| 366 | progress percentage determined by @var{value}. If percentage is zero, | ||
| 367 | or close enough according to the @var{min-change} and @var{min-time} | ||
| 368 | arguments, then it is omitted from the output. | ||
| 369 | |||
| 370 | @var{reporter} must be the result of a call to | ||
| 371 | @code{make-progress-reporter}. @var{value} specifies the current | ||
| 372 | state of your operation and must be between @var{min-value} and | ||
| 373 | @var{max-value} (inclusive) as passed to | ||
| 374 | @code{make-progress-reporter}. For instance, if you scan a buffer, | ||
| 375 | then @var{value} should be the result of a call to @code{point}. | ||
| 376 | |||
| 377 | This function respects @var{min-change} and @var{min-time} as passed | ||
| 378 | to @code{make-progress-reporter} and so does not output new messages | ||
| 379 | on every invocation. It is thus very fast and normally you should not | ||
| 380 | try to reduce the number of calls to it: resulting overhead will most | ||
| 381 | likely negate your effort. | ||
| 382 | @end defun | ||
| 383 | |||
| 384 | @defun progress-reporter-force-update reporter value &optional new-message | ||
| 385 | This function is similar to @code{progress-reporter-update} except | ||
| 386 | that it prints a message in the echo area unconditionally. | ||
| 387 | |||
| 388 | The first two arguments have the same meaning as for | ||
| 389 | @code{progress-reporter-update}. Optional @var{new-message} allows | ||
| 390 | you to change the message of the @var{reporter}. Since this functions | ||
| 391 | always updates the echo area, such a change will be immediately | ||
| 392 | presented to the user. | ||
| 393 | @end defun | ||
| 394 | |||
| 395 | @defun progress-reporter-done reporter | ||
| 396 | This function should be called when the operation is finished. It | ||
| 397 | prints the message of @var{reporter} followed by word ``done'' in the | ||
| 398 | echo area. | ||
| 399 | |||
| 400 | You should always call this function and not hope for | ||
| 401 | @code{progress-reporter-update} to print ``100%.'' Firstly, it may | ||
| 402 | never print it, there are many good reasons for this not to happen. | ||
| 403 | Secondly, ``done'' is more explicit. | ||
| 404 | @end defun | ||
| 405 | |||
| 406 | @defmac dotimes-with-progress-reporter (var count [result]) message body... | ||
| 407 | This is a convenience macro that works the same way as @code{dotimes} | ||
| 408 | does, but also reports loop progress using the functions described | ||
| 409 | above. It allows you to save some typing. | ||
| 410 | |||
| 411 | You can rewrite the example in the beginning of this node using | ||
| 412 | this macro this way: | ||
| 413 | |||
| 414 | @example | ||
| 415 | (dotimes-with-progress-reporter | ||
| 416 | (k 500) | ||
| 417 | "Collecting some mana for Emacs..." | ||
| 418 | (sit-for 0.01)) | ||
| 419 | @end example | ||
| 420 | @end defmac | ||
| 421 | |||
| 422 | @node Logging Messages | ||
| 423 | @subsection Logging Messages in @samp{*Messages*} | ||
| 424 | @cindex logging echo-area messages | ||
| 425 | |||
| 426 | Almost all the messages displayed in the echo area are also recorded | ||
| 427 | in the @samp{*Messages*} buffer so that the user can refer back to | ||
| 428 | them. This includes all the messages that are output with | ||
| 429 | @code{message}. | ||
| 323 | 430 | ||
| 324 | @defopt message-log-max | 431 | @defopt message-log-max |
| 325 | This variable specifies how many lines to keep in the @samp{*Messages*} | 432 | This variable specifies how many lines to keep in the @samp{*Messages*} |
| @@ -333,6 +440,48 @@ how to display a message and prevent it from being logged: | |||
| 333 | @end example | 440 | @end example |
| 334 | @end defopt | 441 | @end defopt |
| 335 | 442 | ||
| 443 | To make @samp{*Messages*} more convenient for the user, the logging | ||
| 444 | facility combines successive identical messages. It also combines | ||
| 445 | successive related messages for the sake of two cases: question | ||
| 446 | followed by answer, and a series of progress messages. | ||
| 447 | |||
| 448 | A ``question followed by an answer'' means two messages like the | ||
| 449 | ones produced by @code{y-or-n-p}: the first is @samp{@var{question}}, | ||
| 450 | and the second is @samp{@var{question}...@var{answer}}. The first | ||
| 451 | message conveys no additional information beyond what's in the second, | ||
| 452 | so logging the second message discards the first from the log. | ||
| 453 | |||
| 454 | A ``series of progress messages'' means successive messages like | ||
| 455 | those produced by @code{make-progress-reporter}. They have the form | ||
| 456 | @samp{@var{base}...@var{how-far}}, where @var{base} is the same each | ||
| 457 | time, while @var{how-far} varies. Logging each message in the series | ||
| 458 | discards the previous one, provided they are consecutive. | ||
| 459 | |||
| 460 | The functions @code{make-progress-reporter} and @code{y-or-n-p} | ||
| 461 | don't have to do anything special to activate the message log | ||
| 462 | combination feature. It operates whenever two consecutive messages | ||
| 463 | are logged that share a common prefix ending in @samp{...}. | ||
| 464 | |||
| 465 | @node Echo Area Customization | ||
| 466 | @subsection Echo Area Customization | ||
| 467 | |||
| 468 | These variables control details of how the echo area works. | ||
| 469 | |||
| 470 | @defvar cursor-in-echo-area | ||
| 471 | This variable controls where the cursor appears when a message is | ||
| 472 | displayed in the echo area. If it is non-@code{nil}, then the cursor | ||
| 473 | appears at the end of the message. Otherwise, the cursor appears at | ||
| 474 | point---not in the echo area at all. | ||
| 475 | |||
| 476 | The value is normally @code{nil}; Lisp programs bind it to @code{t} | ||
| 477 | for brief periods of time. | ||
| 478 | @end defvar | ||
| 479 | |||
| 480 | @defvar echo-area-clear-hook | ||
| 481 | This normal hook is run whenever the echo area is cleared---either by | ||
| 482 | @code{(message nil)} or for any other reason. | ||
| 483 | @end defvar | ||
| 484 | |||
| 336 | @defvar echo-keystrokes | 485 | @defvar echo-keystrokes |
| 337 | This variable determines how much time should elapse before command | 486 | This variable determines how much time should elapse before command |
| 338 | characters echo. Its value must be an integer or floating point number, | 487 | characters echo. Its value must be an integer or floating point number, |
| @@ -346,6 +495,19 @@ sequence are echoed immediately.) | |||
| 346 | If the value is zero, then command input is not echoed. | 495 | If the value is zero, then command input is not echoed. |
| 347 | @end defvar | 496 | @end defvar |
| 348 | 497 | ||
| 498 | @defopt max-mini-window-height | ||
| 499 | This variable specifies the maximum height for resizing minibuffer | ||
| 500 | windows. If a float, it specifies a fraction of the height of the | ||
| 501 | frame. If an integer, it specifies a number of lines. | ||
| 502 | @end defopt | ||
| 503 | |||
| 504 | @defvar message-truncate-lines | ||
| 505 | Normally, displaying a long message resizes the echo area to display | ||
| 506 | the entire message. But if the variable @code{message-truncate-lines} | ||
| 507 | is non-@code{nil}, the echo area does not resize, and the message is | ||
| 508 | truncated to fit it, as in Emacs 20 and before. | ||
| 509 | @end defvar | ||
| 510 | |||
| 349 | @node Warnings | 511 | @node Warnings |
| 350 | @section Reporting Warnings | 512 | @section Reporting Warnings |
| 351 | @cindex warnings | 513 | @cindex warnings |
| @@ -535,122 +697,6 @@ symbols. If it matches the first few elements in a warning type, then | |||
| 535 | that warning is not logged. | 697 | that warning is not logged. |
| 536 | @end defopt | 698 | @end defopt |
| 537 | 699 | ||
| 538 | @node Progress | ||
| 539 | @section Reporting Operation Progress | ||
| 540 | @cindex progress reporting | ||
| 541 | |||
| 542 | When an operation can take a while to finish, you should inform the | ||
| 543 | user about the progress it makes. This way the user can estimate | ||
| 544 | remaining time and clearly see that Emacs is busy working, not hung. | ||
| 545 | |||
| 546 | Functions listed in this section provide simple and efficient way of | ||
| 547 | reporting operation progress. Here is a working example that does | ||
| 548 | nothing useful: | ||
| 549 | |||
| 550 | @smallexample | ||
| 551 | (let ((progress-reporter | ||
| 552 | (make-progress-reporter "Collecting mana for Emacs..." | ||
| 553 | 0 500))) | ||
| 554 | (dotimes (k 500) | ||
| 555 | (sit-for 0.01) | ||
| 556 | (progress-reporter-update progress-reporter k)) | ||
| 557 | (progress-reporter-done progress-reporter)) | ||
| 558 | @end smallexample | ||
| 559 | |||
| 560 | @defun make-progress-reporter message min-value max-value &optional current-value min-change min-time | ||
| 561 | This function creates and returns a @dfn{progress reporter}---an | ||
| 562 | object you will use as an argument for all other functions listed | ||
| 563 | here. The idea is to precompute as much data as possible to make | ||
| 564 | progress reporting very fast. | ||
| 565 | |||
| 566 | When this progress reporter is subsequently used, it will display | ||
| 567 | @var{message} in the echo area, followed by progress percentage. | ||
| 568 | @var{message} is treated as a simple string. If you need it to depend | ||
| 569 | on a filename, for instance, use @code{format} before calling this | ||
| 570 | function. | ||
| 571 | |||
| 572 | @var{min-value} and @var{max-value} arguments stand for starting and | ||
| 573 | final states of your operation. For instance, if you scan a buffer, | ||
| 574 | they should be the results of @code{point-min} and @code{point-max} | ||
| 575 | correspondingly. It is required that @var{max-value} is greater than | ||
| 576 | @var{min-value}. If you create progress reporter when some part of | ||
| 577 | the operation has already been completed, then specify | ||
| 578 | @var{current-value} argument. But normally you should omit it or set | ||
| 579 | it to @code{nil}---it will default to @var{min-value} then. | ||
| 580 | |||
| 581 | Remaining arguments control the rate of echo area updates. Progress | ||
| 582 | reporter will wait for at least @var{min-change} more percents of the | ||
| 583 | operation to be completed before printing next message. | ||
| 584 | @var{min-time} specifies the minimum time in seconds to pass between | ||
| 585 | successive prints. It can be fractional. Depending on Emacs and | ||
| 586 | system capabilities, progress reporter may or may not respect this | ||
| 587 | last argument or do it with varying precision. Default value for | ||
| 588 | @var{min-change} is 1 (one percent), for @var{min-time}---0.2 | ||
| 589 | (seconds.) | ||
| 590 | |||
| 591 | This function calls @code{progress-reporter-update}, so the first | ||
| 592 | message is printed immediately. | ||
| 593 | @end defun | ||
| 594 | |||
| 595 | @defun progress-reporter-update reporter value | ||
| 596 | This function does the main work of reporting progress of your | ||
| 597 | operation. It displays the message of @var{reporter}, followed by | ||
| 598 | progress percentage determined by @var{value}. If percentage is zero, | ||
| 599 | or close enough according to the @var{min-change} and @var{min-time} | ||
| 600 | arguments, then it is omitted from the output. | ||
| 601 | |||
| 602 | @var{reporter} must be the result of a call to | ||
| 603 | @code{make-progress-reporter}. @var{value} specifies the current | ||
| 604 | state of your operation and must be between @var{min-value} and | ||
| 605 | @var{max-value} (inclusive) as passed to | ||
| 606 | @code{make-progress-reporter}. For instance, if you scan a buffer, | ||
| 607 | then @var{value} should be the result of a call to @code{point}. | ||
| 608 | |||
| 609 | This function respects @var{min-change} and @var{min-time} as passed | ||
| 610 | to @code{make-progress-reporter} and so does not output new messages | ||
| 611 | on every invocation. It is thus very fast and normally you should not | ||
| 612 | try to reduce the number of calls to it: resulting overhead will most | ||
| 613 | likely negate your effort. | ||
| 614 | @end defun | ||
| 615 | |||
| 616 | @defun progress-reporter-force-update reporter value &optional new-message | ||
| 617 | This function is similar to @code{progress-reporter-update} except | ||
| 618 | that it prints a message in the echo area unconditionally. | ||
| 619 | |||
| 620 | The first two arguments have the same meaning as for | ||
| 621 | @code{progress-reporter-update}. Optional @var{new-message} allows | ||
| 622 | you to change the message of the @var{reporter}. Since this functions | ||
| 623 | always updates the echo area, such a change will be immediately | ||
| 624 | presented to the user. | ||
| 625 | @end defun | ||
| 626 | |||
| 627 | @defun progress-reporter-done reporter | ||
| 628 | This function should be called when the operation is finished. It | ||
| 629 | prints the message of @var{reporter} followed by word ``done'' in the | ||
| 630 | echo area. | ||
| 631 | |||
| 632 | You should always call this function and not hope for | ||
| 633 | @code{progress-reporter-update} to print ``100%.'' Firstly, it may | ||
| 634 | never print it, there are many good reasons for this not to happen. | ||
| 635 | Secondly, ``done'' is more explicit. | ||
| 636 | @end defun | ||
| 637 | |||
| 638 | @defmac dotimes-with-progress-reporter (var count [result]) message body... | ||
| 639 | This is a convenience macro that works the same way as @code{dotimes} | ||
| 640 | does, but also reports loop progress using the functions described | ||
| 641 | above. It allows you to save some typing. | ||
| 642 | |||
| 643 | You can rewrite the example in the beginning of this node using | ||
| 644 | this macro this way: | ||
| 645 | |||
| 646 | @example | ||
| 647 | (dotimes-with-progress-reporter | ||
| 648 | (k 500) | ||
| 649 | "Collecting some mana for Emacs..." | ||
| 650 | (sit-for 0.01)) | ||
| 651 | @end example | ||
| 652 | @end defmac | ||
| 653 | |||
| 654 | @node Invisible Text | 700 | @node Invisible Text |
| 655 | @section Invisible Text | 701 | @section Invisible Text |
| 656 | 702 | ||
| @@ -1628,7 +1674,7 @@ particular parts of the text or the frame. | |||
| 1628 | @cindex face id | 1674 | @cindex face id |
| 1629 | Each face has its own @dfn{face number}, which distinguishes faces at | 1675 | Each face has its own @dfn{face number}, which distinguishes faces at |
| 1630 | low levels within Emacs. However, for most purposes, you refer to | 1676 | low levels within Emacs. However, for most purposes, you refer to |
| 1631 | faces in Lisp programs by the symbol that names them. | 1677 | faces in Lisp programs by the symbols that name them. |
| 1632 | 1678 | ||
| 1633 | @defun facep object | 1679 | @defun facep object |
| 1634 | This function returns @code{t} if @var{object} is a face name string | 1680 | This function returns @code{t} if @var{object} is a face name string |
diff --git a/lispref/elisp.texi b/lispref/elisp.texi index 9e52b39223e..f954cdc220e 100644 --- a/lispref/elisp.texi +++ b/lispref/elisp.texi | |||
| @@ -984,11 +984,10 @@ Emacs Display | |||
| 984 | * Refresh Screen:: Clearing the screen and redrawing everything on it. | 984 | * Refresh Screen:: Clearing the screen and redrawing everything on it. |
| 985 | * Forcing Redisplay:: Forcing redisplay. | 985 | * Forcing Redisplay:: Forcing redisplay. |
| 986 | * Truncation:: Folding or wrapping long text lines. | 986 | * Truncation:: Folding or wrapping long text lines. |
| 987 | * The Echo Area:: Where messages are displayed. | 987 | * The Echo Area:: Displaying messages at the bottom of the screen. |
| 988 | * Warnings:: Displaying warning messages for the user. | 988 | * Warnings:: Displaying warning messages for the user. |
| 989 | * Progress:: Informing user about progress of a long operation. | ||
| 990 | * Invisible Text:: Hiding part of the buffer text. | 989 | * Invisible Text:: Hiding part of the buffer text. |
| 991 | * Selective Display:: Hiding part of the buffer text. | 990 | * Selective Display:: Hiding part of the buffer text (the old way). |
| 992 | * Temporary Displays:: Displays that go away automatically. | 991 | * Temporary Displays:: Displays that go away automatically. |
| 993 | * Overlays:: Use overlays to highlight parts of the buffer. | 992 | * Overlays:: Use overlays to highlight parts of the buffer. |
| 994 | * Width:: How wide a character or string is on the screen. | 993 | * Width:: How wide a character or string is on the screen. |
diff --git a/lispref/keymaps.texi b/lispref/keymaps.texi index 79cbe478ea2..895ca48109b 100644 --- a/lispref/keymaps.texi +++ b/lispref/keymaps.texi | |||
| @@ -257,18 +257,16 @@ satisfies @code{keymapp}. | |||
| 257 | 257 | ||
| 258 | Here we describe the functions for creating keymaps. | 258 | Here we describe the functions for creating keymaps. |
| 259 | 259 | ||
| 260 | @c ??? This should come after make-sparse-keymap | 260 | @defun make-sparse-keymap &optional prompt |
| 261 | @defun make-keymap &optional prompt | 261 | This function creates and returns a new sparse keymap with no entries. |
| 262 | This function creates and returns a new full keymap. That keymap | 262 | (A sparse keymap is the kind of keymap you usually want.) The new |
| 263 | contains a char-table (@pxref{Char-Tables}) with slots for all | 263 | keymap does not contain a char-table, unlike @code{make-keymap}, and |
| 264 | characters without modifiers. The new keymap initially binds all | 264 | does not bind any events. |
| 265 | these characters to @code{nil}, and does not bind any other kind of | ||
| 266 | event. | ||
| 267 | 265 | ||
| 268 | @example | 266 | @example |
| 269 | @group | 267 | @group |
| 270 | (make-keymap) | 268 | (make-sparse-keymap) |
| 271 | @result{} (keymap #^[t nil nil nil @dots{} nil nil keymap]) | 269 | @result{} (keymap) |
| 272 | @end group | 270 | @end group |
| 273 | @end example | 271 | @end example |
| 274 | 272 | ||
| @@ -277,18 +275,23 @@ the keymap. The prompt string should be provided for menu keymaps | |||
| 277 | (@pxref{Defining Menus}). | 275 | (@pxref{Defining Menus}). |
| 278 | @end defun | 276 | @end defun |
| 279 | 277 | ||
| 280 | @defun make-sparse-keymap &optional prompt | 278 | @defun make-keymap &optional prompt |
| 281 | This function creates and returns a new sparse keymap with no entries. | 279 | This function creates and returns a new full keymap. That keymap |
| 282 | The new keymap does not contain a char-table, unlike @code{make-keymap}, | 280 | contains a char-table (@pxref{Char-Tables}) with slots for all |
| 283 | and does not bind any events. The argument @var{prompt} specifies a | 281 | characters without modifiers. The new keymap initially binds all |
| 284 | prompt string, as in @code{make-keymap}. | 282 | these characters to @code{nil}, and does not bind any other kind of |
| 283 | event. The argument @var{prompt} specifies a | ||
| 284 | prompt string, as in @code{make-sparse-keymap}. | ||
| 285 | 285 | ||
| 286 | @example | 286 | @example |
| 287 | @group | 287 | @group |
| 288 | (make-sparse-keymap) | 288 | (make-keymap) |
| 289 | @result{} (keymap) | 289 | @result{} (keymap #^[t nil nil nil @dots{} nil nil keymap]) |
| 290 | @end group | 290 | @end group |
| 291 | @end example | 291 | @end example |
| 292 | |||
| 293 | A full keymap is more efficient than a sparse keymap when it holds | ||
| 294 | lots of bindings; for just a few, the sparse keymap is better. | ||
| 292 | @end defun | 295 | @end defun |
| 293 | 296 | ||
| 294 | @defun copy-keymap keymap | 297 | @defun copy-keymap keymap |
| @@ -1435,15 +1438,15 @@ input. One way to do this is by using an appropriate input method | |||
| 1435 | construct the key sequence string using @code{multibyte-char-to-unibyte} | 1438 | construct the key sequence string using @code{multibyte-char-to-unibyte} |
| 1436 | or @code{string-make-unibyte} (@pxref{Converting Representations}). | 1439 | or @code{string-make-unibyte} (@pxref{Converting Representations}). |
| 1437 | 1440 | ||
| 1438 | @deffn Command global-set-key key definition | 1441 | @deffn Command global-set-key key binding |
| 1439 | This function sets the binding of @var{key} in the current global map | 1442 | This function sets the binding of @var{key} in the current global map |
| 1440 | to @var{definition}. | 1443 | to @var{binding}. |
| 1441 | 1444 | ||
| 1442 | @smallexample | 1445 | @smallexample |
| 1443 | @group | 1446 | @group |
| 1444 | (global-set-key @var{key} @var{definition}) | 1447 | (global-set-key @var{key} @var{binding}) |
| 1445 | @equiv{} | 1448 | @equiv{} |
| 1446 | (define-key (current-global-map) @var{key} @var{definition}) | 1449 | (define-key (current-global-map) @var{key} @var{binding}) |
| 1447 | @end group | 1450 | @end group |
| 1448 | @end smallexample | 1451 | @end smallexample |
| 1449 | @end deffn | 1452 | @end deffn |
| @@ -1479,15 +1482,15 @@ This function is implemented simply using @code{define-key}: | |||
| 1479 | @end smallexample | 1482 | @end smallexample |
| 1480 | @end deffn | 1483 | @end deffn |
| 1481 | 1484 | ||
| 1482 | @deffn Command local-set-key key definition | 1485 | @deffn Command local-set-key key binding |
| 1483 | This function sets the binding of @var{key} in the current local | 1486 | This function sets the binding of @var{key} in the current local |
| 1484 | keymap to @var{definition}. | 1487 | keymap to @var{binding}. |
| 1485 | 1488 | ||
| 1486 | @smallexample | 1489 | @smallexample |
| 1487 | @group | 1490 | @group |
| 1488 | (local-set-key @var{key} @var{definition}) | 1491 | (local-set-key @var{key} @var{binding}) |
| 1489 | @equiv{} | 1492 | @equiv{} |
| 1490 | (define-key (current-local-map) @var{key} @var{definition}) | 1493 | (define-key (current-local-map) @var{key} @var{binding}) |
| 1491 | @end group | 1494 | @end group |
| 1492 | @end smallexample | 1495 | @end smallexample |
| 1493 | @end deffn | 1496 | @end deffn |
diff --git a/lispref/text.texi b/lispref/text.texi index 3d668738250..5b9b4259a1c 100644 --- a/lispref/text.texi +++ b/lispref/text.texi | |||
| @@ -3152,6 +3152,10 @@ particular modification hook function appears on several characters | |||
| 3152 | being modified by a single primitive, you can't predict how many times | 3152 | being modified by a single primitive, you can't predict how many times |
| 3153 | the function will be called. | 3153 | the function will be called. |
| 3154 | 3154 | ||
| 3155 | If these functions modify the buffer, they should bind | ||
| 3156 | @code{inhibit-modification-hooks} to @code{t} around doing so, to | ||
| 3157 | avoid confusing the internal mechanism that calls these hooks. | ||
| 3158 | |||
| 3155 | @item insert-in-front-hooks | 3159 | @item insert-in-front-hooks |
| 3156 | @itemx insert-behind-hooks | 3160 | @itemx insert-behind-hooks |
| 3157 | @kindex insert-in-front-hooks @r{(text property)} | 3161 | @kindex insert-in-front-hooks @r{(text property)} |
diff --git a/lispref/variables.texi b/lispref/variables.texi index 31e42b59c79..38fb929c16d 100644 --- a/lispref/variables.texi +++ b/lispref/variables.texi | |||
| @@ -569,7 +569,7 @@ though being declared using @code{defcustom}@footnote{They may also be | |||
| 569 | declared equivalently in @file{cus-start.el}.} or by the first character | 569 | declared equivalently in @file{cus-start.el}.} or by the first character |
| 570 | of their @code{variable-documentation} property. If the property exists | 570 | of their @code{variable-documentation} property. If the property exists |
| 571 | and is a string, and its first character is @samp{*}, then the variable | 571 | and is a string, and its first character is @samp{*}, then the variable |
| 572 | is a user option. | 572 | is a user option. Aliases of user options are also user options. |
| 573 | @end defun | 573 | @end defun |
| 574 | 574 | ||
| 575 | @kindex variable-interactive | 575 | @kindex variable-interactive |
| @@ -909,18 +909,25 @@ This function sets the variable @var{symbol} by inserting | |||
| 909 | position specified by @var{order}. If @var{element} is already a | 909 | position specified by @var{order}. If @var{element} is already a |
| 910 | member of the list, its position in the list is adjusted according | 910 | member of the list, its position in the list is adjusted according |
| 911 | to @var{order}. Membership is tested using @code{eq}. | 911 | to @var{order}. Membership is tested using @code{eq}. |
| 912 | The valued returned is the resulting list, whether updated or not. | 912 | This function returns the resulting list, whether updated or not. |
| 913 | 913 | ||
| 914 | The @var{order} is a number, and the elements on list are sorted in | 914 | The @var{order} is typically a number (integer or float), and the |
| 915 | increasing numerical order. Elements without a numeric list order are | 915 | elements of the list are sorted in non-decreasing numerical order. |
| 916 | placed at the end of @var{symbol}. | 916 | |
| 917 | @var{order} may also be omitted or @code{nil}. Then the numeric order | ||
| 918 | of @var{element} stays unchanged if it already has one; otherwise, | ||
| 919 | @var{element} has no numeric order. Elements without a numeric list | ||
| 920 | order are placed at the end of the list, in no particular order. | ||
| 921 | |||
| 922 | Any other value for @var{order} removes the numeric order of @var{element} | ||
| 923 | if it already has one; otherwise, it is equivalent to @code{nil}. | ||
| 917 | 924 | ||
| 918 | The argument @var{symbol} is not implicitly quoted; | 925 | The argument @var{symbol} is not implicitly quoted; |
| 919 | @code{add-to-ordered-list} is an ordinary function, like @code{set} | 926 | @code{add-to-ordered-list} is an ordinary function, like @code{set} |
| 920 | and unlike @code{setq}. Quote the argument yourself if that is what | 927 | and unlike @code{setq}. Quote the argument yourself if that is what |
| 921 | you want. | 928 | you want. |
| 922 | 929 | ||
| 923 | The ordering information is stored in an alist on @var{symbol}'s | 930 | The ordering information is stored in a hash table on @var{symbol}'s |
| 924 | @code{list-order} property. | 931 | @code{list-order} property. |
| 925 | @end defun | 932 | @end defun |
| 926 | 933 | ||
| @@ -945,11 +952,11 @@ Here's a scenario showing how to use @code{add-to-ordered-list}: | |||
| 945 | (add-to-ordered-list 'foo 'd) ;; @r{Append @code{d}.} | 952 | (add-to-ordered-list 'foo 'd) ;; @r{Append @code{d}.} |
| 946 | @result{} (a c b d) | 953 | @result{} (a c b d) |
| 947 | 954 | ||
| 948 | (add-to-ordered-list 'foo 'b 2) ;; @r{Move @code{b}.} | 955 | (add-to-ordered-list 'foo 'e) ;; @r{Add @code{e}}. |
| 949 | @result{} (a b c d) | 956 | @result{} (a c b e d) |
| 950 | 957 | ||
| 951 | foo ;; @r{@code{foo} was changed.} | 958 | foo ;; @r{@code{foo} was changed.} |
| 952 | @result{} (a b c d) | 959 | @result{} (a c b e d) |
| 953 | @end example | 960 | @end example |
| 954 | 961 | ||
| 955 | @node Variable Scoping | 962 | @node Variable Scoping |
diff --git a/lispref/windows.texi b/lispref/windows.texi index 5a58c31f39a..ec372d98aa8 100644 --- a/lispref/windows.texi +++ b/lispref/windows.texi | |||
| @@ -1523,9 +1523,12 @@ does not work with @code{scroll-margin}. The default value is zero. | |||
| 1523 | @end defopt | 1523 | @end defopt |
| 1524 | 1524 | ||
| 1525 | @defopt scroll-preserve-screen-position | 1525 | @defopt scroll-preserve-screen-position |
| 1526 | If this option is non-@code{nil}, the scroll functions move point so | 1526 | If this option is @code{t}, scrolling which would move the current |
| 1527 | that the vertical position of the cursor is unchanged, when that is | 1527 | point position out of the window chooses the new position of point |
| 1528 | possible. | 1528 | so that the vertical position of the cursor is unchanged, if possible. |
| 1529 | |||
| 1530 | If it is non-@code{nil} and not @code{t}, then the scrolling functions | ||
| 1531 | always preserve the vertical position of point, if possible. | ||
| 1529 | @end defopt | 1532 | @end defopt |
| 1530 | 1533 | ||
| 1531 | @defopt next-screen-context-lines | 1534 | @defopt next-screen-context-lines |
diff --git a/lwlib/COPYING b/lwlib/COPYING index d60c31a97a5..3912109b5cd 100644 --- a/lwlib/COPYING +++ b/lwlib/COPYING | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | Version 2, June 1991 | 2 | Version 2, June 1991 |
| 3 | 3 | ||
| 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
| 5 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 5 | 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 6 | Everyone is permitted to copy and distribute verbatim copies | 6 | Everyone is permitted to copy and distribute verbatim copies |
| 7 | of this license document, but changing it is not allowed. | 7 | of this license document, but changing it is not allowed. |
| 8 | 8 | ||
| @@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found. | |||
| 305 | 305 | ||
| 306 | You should have received a copy of the GNU General Public License | 306 | You should have received a copy of the GNU General Public License |
| 307 | along with this program; if not, write to the Free Software | 307 | along with this program; if not, write to the Free Software |
| 308 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 308 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 309 | 309 | ||
| 310 | 310 | ||
| 311 | Also add information on how to contact you by electronic and paper mail. | 311 | Also add information on how to contact you by electronic and paper mail. |
| @@ -313,7 +313,7 @@ Also add information on how to contact you by electronic and paper mail. | |||
| 313 | If the program is interactive, make it output a short notice like this | 313 | If the program is interactive, make it output a short notice like this |
| 314 | when it starts in an interactive mode: | 314 | when it starts in an interactive mode: |
| 315 | 315 | ||
| 316 | Gnomovision version 69, Copyright (C) year name of author | 316 | Gnomovision version 69, Copyright (C) year name of author |
| 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
| 318 | This is free software, and you are welcome to redistribute it | 318 | This is free software, and you are welcome to redistribute it |
| 319 | under certain conditions; type `show c' for details. | 319 | under certain conditions; type `show c' for details. |
diff --git a/mac/COPYING b/mac/COPYING index d60c31a97a5..3912109b5cd 100644 --- a/mac/COPYING +++ b/mac/COPYING | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | Version 2, June 1991 | 2 | Version 2, June 1991 |
| 3 | 3 | ||
| 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
| 5 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 5 | 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 6 | Everyone is permitted to copy and distribute verbatim copies | 6 | Everyone is permitted to copy and distribute verbatim copies |
| 7 | of this license document, but changing it is not allowed. | 7 | of this license document, but changing it is not allowed. |
| 8 | 8 | ||
| @@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found. | |||
| 305 | 305 | ||
| 306 | You should have received a copy of the GNU General Public License | 306 | You should have received a copy of the GNU General Public License |
| 307 | along with this program; if not, write to the Free Software | 307 | along with this program; if not, write to the Free Software |
| 308 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 308 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 309 | 309 | ||
| 310 | 310 | ||
| 311 | Also add information on how to contact you by electronic and paper mail. | 311 | Also add information on how to contact you by electronic and paper mail. |
| @@ -313,7 +313,7 @@ Also add information on how to contact you by electronic and paper mail. | |||
| 313 | If the program is interactive, make it output a short notice like this | 313 | If the program is interactive, make it output a short notice like this |
| 314 | when it starts in an interactive mode: | 314 | when it starts in an interactive mode: |
| 315 | 315 | ||
| 316 | Gnomovision version 69, Copyright (C) year name of author | 316 | Gnomovision version 69, Copyright (C) year name of author |
| 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
| 318 | This is free software, and you are welcome to redistribute it | 318 | This is free software, and you are welcome to redistribute it |
| 319 | under certain conditions; type `show c' for details. | 319 | under certain conditions; type `show c' for details. |
diff --git a/man/ChangeLog b/man/ChangeLog index 1357692cc6c..11dc6f1b5cb 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,16 @@ | |||
| 1 | 2005-07-03 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * flymake.texi (Example -- Configuring a tool called directly): | ||
| 4 | Update name of flymake-build-relative-filename. | ||
| 5 | |||
| 6 | 2005-06-29 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 7 | |||
| 8 | * gnus.texi (NoCeM): gnus-nocem-verifyer defaults to pgg-verify. | ||
| 9 | |||
| 10 | 2005-06-29 Carsten Dominik <dominik@science.uva.nl> | ||
| 11 | |||
| 12 | * org.texi: Version 3.12 | ||
| 13 | |||
| 1 | 2005-06-24 Richard M. Stallman <rms@gnu.org> | 14 | 2005-06-24 Richard M. Stallman <rms@gnu.org> |
| 2 | 15 | ||
| 3 | * display.texi (Text Display): Change index entries. | 16 | * display.texi (Text Display): Change index entries. |
| @@ -422,8 +435,7 @@ | |||
| 422 | 435 | ||
| 423 | 2005-04-12 Luc Teirlinck <teirllm@auburn.edu> | 436 | 2005-04-12 Luc Teirlinck <teirllm@auburn.edu> |
| 424 | 437 | ||
| 425 | * frames.texi (XTerm Mouse): Xterm Mouse mode is now enabled by | 438 | * frames.texi (XTerm Mouse): Xterm Mouse mode is now enabled by default. |
| 426 | default. | ||
| 427 | 439 | ||
| 428 | 2005-04-12 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 440 | 2005-04-12 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 429 | 441 | ||
| @@ -451,8 +463,7 @@ | |||
| 451 | 2005-04-10 Luc Teirlinck <teirllm@auburn.edu> | 463 | 2005-04-10 Luc Teirlinck <teirllm@auburn.edu> |
| 452 | 464 | ||
| 453 | * rmail.texi (Rmail Basics): Clarify description of `q' and `b'. | 465 | * rmail.texi (Rmail Basics): Clarify description of `q' and `b'. |
| 454 | (Rmail Deletion): `C-d' in RMAIL buffer does not accept a numeric | 466 | (Rmail Deletion): `C-d' in RMAIL buffer does not accept a numeric arg. |
| 455 | argument. | ||
| 456 | (Rmail Inbox): Give full name of `rmail-primary-inbox-list'. | 467 | (Rmail Inbox): Give full name of `rmail-primary-inbox-list'. |
| 457 | (Rmail Output): Clarify which statements apply to `o', `C-o' and | 468 | (Rmail Output): Clarify which statements apply to `o', `C-o' and |
| 458 | `w', respectively. | 469 | `w', respectively. |
| @@ -462,7 +473,7 @@ | |||
| 462 | 473 | ||
| 463 | 2005-04-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 474 | 2005-04-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 464 | 475 | ||
| 465 | * xresources.texi (Lucid Resources): Added fonSet resource. | 476 | * xresources.texi (Lucid Resources): Add fonSet resource. |
| 466 | 477 | ||
| 467 | 2005-04-06 Katsumi Yamaoka <yamaoka@jpl.org> | 478 | 2005-04-06 Katsumi Yamaoka <yamaoka@jpl.org> |
| 468 | 479 | ||
| @@ -570,8 +581,7 @@ | |||
| 570 | 581 | ||
| 571 | * programs.texi (ForIndent Vars): `fortran-if-indent' does other | 582 | * programs.texi (ForIndent Vars): `fortran-if-indent' does other |
| 572 | constructs as well. | 583 | constructs as well. |
| 573 | (Fortran Motion): Add fortran-end-of-block, | 584 | (Fortran Motion): Add fortran-end-of-block, fortran-beginning-of-block. |
| 574 | fortran-beginning-of-block. | ||
| 575 | 585 | ||
| 576 | 2005-03-29 Kenichi Handa <handa@m17n.org> | 586 | 2005-03-29 Kenichi Handa <handa@m17n.org> |
| 577 | 587 | ||
| @@ -636,8 +646,8 @@ | |||
| 636 | (Special Diary Entries, Importing Diary): Change some xrefs to | 646 | (Special Diary Entries, Importing Diary): Change some xrefs to |
| 637 | point to emacs-xtra rather than elisp. | 647 | point to emacs-xtra rather than elisp. |
| 638 | 648 | ||
| 639 | * emacs-xtra.texi (Calendar Customizing): Move | 649 | * emacs-xtra.texi (Calendar Customizing): |
| 640 | view-diary-entries-initially, view-calendar-holidays-initially, | 650 | Move view-diary-entries-initially, view-calendar-holidays-initially, |
| 641 | mark-diary-entries-in-calendar, mark-holidays-in-calendar to main | 651 | mark-diary-entries-in-calendar, mark-holidays-in-calendar to main |
| 642 | Emacs Manual. | 652 | Emacs Manual. |
| 643 | (Appt Customizing): Merge entire section into main Emacs Manual. | 653 | (Appt Customizing): Merge entire section into main Emacs Manual. |
| @@ -683,8 +693,8 @@ | |||
| 683 | 693 | ||
| 684 | 2005-03-26 Jay Belanger <belanger@truman.edu> | 694 | 2005-03-26 Jay Belanger <belanger@truman.edu> |
| 685 | 695 | ||
| 686 | * calc.texi (Simplifying Formulas, Rewrite Rules): Change | 696 | * calc.texi (Simplifying Formulas, Rewrite Rules): |
| 687 | description of top and bottom of fraction. | 697 | Change description of top and bottom of fraction. |
| 688 | (Modulo Forms): Move description of how to create modulo forms to | 698 | (Modulo Forms): Move description of how to create modulo forms to |
| 689 | earlier in the section. | 699 | earlier in the section. |
| 690 | (Fraction Mode): Suggest using : to get a fraction by dividing. | 700 | (Fraction Mode): Suggest using : to get a fraction by dividing. |
| @@ -730,8 +740,8 @@ | |||
| 730 | 740 | ||
| 731 | 2005-03-25 Werner Lemberg <wl@gnu.org> | 741 | 2005-03-25 Werner Lemberg <wl@gnu.org> |
| 732 | 742 | ||
| 733 | * calc.texi, cl.texi, gnus.texi, idlwave.texi, reftex.texi: Replace | 743 | * calc.texi, cl.texi, gnus.texi, idlwave.texi, reftex.texi: |
| 734 | `legal' with `valid'. | 744 | Replace `legal' with `valid'. |
| 735 | 745 | ||
| 736 | 2005-03-25 Werner Lemberg <wl@gnu.org> | 746 | 2005-03-25 Werner Lemberg <wl@gnu.org> |
| 737 | 747 | ||
| @@ -740,7 +750,7 @@ | |||
| 740 | 2005-03-24 Jay Belanger <belanger@truman.edu> | 750 | 2005-03-24 Jay Belanger <belanger@truman.edu> |
| 741 | 751 | ||
| 742 | * calc.texi (General Mode Commands) | 752 | * calc.texi (General Mode Commands) |
| 743 | (Mode Settings in Embedded Mode): Added some explanation of | 753 | (Mode Settings in Embedded Mode): Add some explanation of |
| 744 | recording mode settings. | 754 | recording mode settings. |
| 745 | 755 | ||
| 746 | 2005-03-24 Richard M. Stallman <rms@gnu.org> | 756 | 2005-03-24 Richard M. Stallman <rms@gnu.org> |
diff --git a/man/flymake.texi b/man/flymake.texi index bf224b28fde..7a9ca11f4d5 100644 --- a/man/flymake.texi +++ b/man/flymake.texi | |||
| @@ -422,7 +422,7 @@ First, we write the @code{init-function}: | |||
| 422 | (defun flymake-perl-init (buffer) | 422 | (defun flymake-perl-init (buffer) |
| 423 | (let* ((temp-file (flymake-init-create-temp-buffer-copy | 423 | (let* ((temp-file (flymake-init-create-temp-buffer-copy |
| 424 | buffer 'flymake-create-temp-inplace)) | 424 | buffer 'flymake-create-temp-inplace)) |
| 425 | (local-file (concat (flymake-build-relative-path | 425 | (local-file (concat (flymake-build-relative-filename |
| 426 | (file-name-directory | 426 | (file-name-directory |
| 427 | (buffer-file-name | 427 | (buffer-file-name |
| 428 | (current-buffer))) | 428 | (current-buffer))) |
diff --git a/man/gnus.texi b/man/gnus.texi index f386297e925..b1d5be22651 100644 --- a/man/gnus.texi +++ b/man/gnus.texi | |||
| @@ -21750,27 +21750,18 @@ The specs are applied left-to-right. | |||
| 21750 | 21750 | ||
| 21751 | @item gnus-nocem-verifyer | 21751 | @item gnus-nocem-verifyer |
| 21752 | @vindex gnus-nocem-verifyer | 21752 | @vindex gnus-nocem-verifyer |
| 21753 | @findex mc-verify | 21753 | @findex pgg-verify |
| 21754 | This should be a function for verifying that the NoCeM issuer is who she | 21754 | This should be a function for verifying that the NoCeM issuer is who she |
| 21755 | says she is. The default is @code{mc-verify}, which is a Mailcrypt | 21755 | says she is. The default is @code{pgg-verify}, which returns |
| 21756 | function. If this is too slow and you don't care for verification | 21756 | non-@code{nil} if the verification is successful, otherwise (including |
| 21757 | (which may be dangerous), you can set this variable to @code{nil}. | 21757 | the case the NoCeM message was not signed) returns @code{nil}. If this |
| 21758 | 21758 | is too slow and you don't care for verification (which may be dangerous), | |
| 21759 | If you want signed NoCeM messages to be verified and unsigned messages | 21759 | you can set this variable to @code{nil}. |
| 21760 | not to be verified (but used anyway), you could do something like: | 21760 | |
| 21761 | 21761 | Formerly the default was @code{mc-verify}, which is a Mailcrypt | |
| 21762 | @lisp | 21762 | function. While you can still use it, you can change it into |
| 21763 | (setq gnus-nocem-verifyer 'my-gnus-mc-verify) | 21763 | @code{pgg-verify} running with GnuPG if you are willing to add the |
| 21764 | 21764 | @acronym{PGP} public keys to GnuPG's keyring. | |
| 21765 | (defun my-gnus-mc-verify () | ||
| 21766 | (not (eq 'forged | ||
| 21767 | (ignore-errors | ||
| 21768 | (if (mc-verify) | ||
| 21769 | t | ||
| 21770 | 'forged))))) | ||
| 21771 | @end lisp | ||
| 21772 | |||
| 21773 | This might be dangerous, though. | ||
| 21774 | 21765 | ||
| 21775 | @item gnus-nocem-directory | 21766 | @item gnus-nocem-directory |
| 21776 | @vindex gnus-nocem-directory | 21767 | @vindex gnus-nocem-directory |
diff --git a/man/org.texi b/man/org.texi index e3d35cf19fa..1c1ac5ae4f9 100644 --- a/man/org.texi +++ b/man/org.texi | |||
| @@ -4,8 +4,8 @@ | |||
| 4 | @setfilename ../info/org | 4 | @setfilename ../info/org |
| 5 | @settitle Org Mode Manual | 5 | @settitle Org Mode Manual |
| 6 | 6 | ||
| 7 | @set VERSION 3.11 | 7 | @set VERSION 3.13 |
| 8 | @set DATE June 2005 | 8 | @set DATE July 2005 |
| 9 | 9 | ||
| 10 | @dircategory Emacs | 10 | @dircategory Emacs |
| 11 | @direntry | 11 | @direntry |
| @@ -109,8 +109,16 @@ Document Structure | |||
| 109 | Tables | 109 | Tables |
| 110 | 110 | ||
| 111 | * Built-in table editor:: Simple tables | 111 | * Built-in table editor:: Simple tables |
| 112 | * table.el:: Complex tables | 112 | * Table calculations:: Compute a field from other fields |
| 113 | * orgtbl-mode:: The table editor as minor mode | 113 | * orgtbl-mode:: The table editor as minor mode |
| 114 | * table.el:: Complex tables | ||
| 115 | |||
| 116 | Calculations in tables | ||
| 117 | |||
| 118 | * Formula syntax:: How to write a formula | ||
| 119 | * Applying a formula:: How to get a formula executed | ||
| 120 | * Recalculation:: Re-applying all formulas in a table | ||
| 121 | * Summing:: Summing columns and rows | ||
| 114 | 122 | ||
| 115 | Hyperlinks | 123 | Hyperlinks |
| 116 | 124 | ||
| @@ -203,6 +211,7 @@ different levels and in different ways, for example | |||
| 203 | @example | 211 | @example |
| 204 | @r{@bullet{} as an outline extension with visibility cycling and structure editing} | 212 | @r{@bullet{} as an outline extension with visibility cycling and structure editing} |
| 205 | @r{@bullet{} as an ASCII system and table editor to take structured notes} | 213 | @r{@bullet{} as an ASCII system and table editor to take structured notes} |
| 214 | @r{@bullet{} as an ASCII table editor with some spreadsheet-like capabilities} | ||
| 206 | @r{@bullet{} as a simple hypertext system, with HTML export} | 215 | @r{@bullet{} as a simple hypertext system, with HTML export} |
| 207 | @r{@bullet{} as a TODO list editor} | 216 | @r{@bullet{} as a TODO list editor} |
| 208 | @r{@bullet{} as a full agenda and planner with deadlines and work scheduling} | 217 | @r{@bullet{} as a full agenda and planner with deadlines and work scheduling} |
| @@ -384,7 +393,7 @@ Note that inside tables, @kbd{S-@key{TAB}} jumps to the previous field. | |||
| 384 | Show all. | 393 | Show all. |
| 385 | @end table | 394 | @end table |
| 386 | 395 | ||
| 387 | When Emacs firsts visits a Org-mode file, the global state is set to | 396 | When Emacs first visits an Org-mode file, the global state is set to |
| 388 | OVERVIEW, i.e. only the top level headlines are visible. This can be | 397 | OVERVIEW, i.e. only the top level headlines are visible. This can be |
| 389 | configured through the variable @code{org-startup-folded}, or on a | 398 | configured through the variable @code{org-startup-folded}, or on a |
| 390 | per-file basis by adding one of the following lines anywhere in the | 399 | per-file basis by adding one of the following lines anywhere in the |
| @@ -435,9 +444,9 @@ visible. | |||
| 435 | @cindex promotion, of subtrees | 444 | @cindex promotion, of subtrees |
| 436 | @cindex demotion, of subtrees | 445 | @cindex demotion, of subtrees |
| 437 | @cindex subtree, cut and paste | 446 | @cindex subtree, cut and paste |
| 438 | @cindex pasting, subtrees | 447 | @cindex pasting, of subtrees |
| 439 | @cindex cutting, subtrees | 448 | @cindex cutting, of subtrees |
| 440 | @cindex copying, subtrees | 449 | @cindex copying, of subtrees |
| 441 | 450 | ||
| 442 | @table @kbd | 451 | @table @kbd |
| 443 | @kindex M-@key{RET} | 452 | @kindex M-@key{RET} |
| @@ -493,11 +502,11 @@ functionality. | |||
| 493 | @section Archiving | 502 | @section Archiving |
| 494 | @cindex archiving | 503 | @cindex archiving |
| 495 | 504 | ||
| 496 | When an project represented by a (sub)tree is finished, you may want | 505 | When a project represented by a (sub)tree is finished, you may want |
| 497 | to move the tree to an Archive place, either in the same file under a | 506 | to move the tree to an archive place, either in the same file under a |
| 498 | special top-level heading, or even to a different file. | 507 | special top-level heading, or even to a different file. |
| 499 | @table @kbd | 508 | @table @kbd |
| 500 | @kindex @kbd{C-c $} | 509 | @kindex C-c $ |
| 501 | @item @kbd{C-c $} | 510 | @item @kbd{C-c $} |
| 502 | Archive the subtree starting at the cursor position to the location | 511 | Archive the subtree starting at the cursor position to the location |
| 503 | given by @code{org-archive-location}. | 512 | given by @code{org-archive-location}. |
| @@ -524,7 +533,7 @@ An important feature of Org-mode is the ability to construct | |||
| 524 | sparse tree means that the entire document is folded as much as | 533 | sparse tree means that the entire document is folded as much as |
| 525 | possible, but the selected information is made visible along with the | 534 | possible, but the selected information is made visible along with the |
| 526 | headline structure above it@footnote{See also the variable | 535 | headline structure above it@footnote{See also the variable |
| 527 | @code{org-show-following-heading}}. Just try it out and you will see | 536 | @code{org-show-following-heading}.}. Just try it out and you will see |
| 528 | immediately how it works. | 537 | immediately how it works. |
| 529 | 538 | ||
| 530 | Org-mode contains several commands creating such trees. The most | 539 | Org-mode contains several commands creating such trees. The most |
| @@ -549,7 +558,7 @@ C-v} creates a sparse TODO tree (@pxref{TODO basics}). | |||
| 549 | @cindex visible text, printing | 558 | @cindex visible text, printing |
| 550 | To print a sparse tree, you can use the Emacs command | 559 | To print a sparse tree, you can use the Emacs command |
| 551 | @code{ps-print-buffer-with-faces} which does not print invisible parts | 560 | @code{ps-print-buffer-with-faces} which does not print invisible parts |
| 552 | of the document @footnote{this does not work under XEmacs, because | 561 | of the document @footnote{This does not work under XEmacs, because |
| 553 | XEmacs uses selective display for outlining, not text properties}. | 562 | XEmacs uses selective display for outlining, not text properties}. |
| 554 | Or you can use the command @kbd{C-c C-x v} to copy the visible part of | 563 | Or you can use the command @kbd{C-c C-x v} to copy the visible part of |
| 555 | the document to another file (extension @file{.txt}) which then can be | 564 | the document to another file (extension @file{.txt}) which then can be |
| @@ -559,18 +568,18 @@ printed in any desired way. | |||
| 559 | @chapter Tables | 568 | @chapter Tables |
| 560 | @cindex tables | 569 | @cindex tables |
| 561 | 570 | ||
| 562 | For taking notes, tables are an essential tool because they allow | 571 | Org-mode has a very fast and intuitive table editor built-in. |
| 563 | immediate and clear structuring of data. Org-mode has a very fast and | 572 | Spreadsheet-like calculations are supported in connection with the |
| 564 | intuitive table editor built-in. More complex tables can be created | 573 | Emacs @file{calc} package. |
| 565 | with the Emacs table.el package. | ||
| 566 | 574 | ||
| 567 | @menu | 575 | @menu |
| 568 | * Built-in table editor:: Simple tables | 576 | * Built-in table editor:: Simple tables |
| 569 | * table.el:: Complex tables | 577 | * Table calculations:: Compute a field from other fields |
| 570 | * orgtbl-mode:: The table editor as minor mode | 578 | * orgtbl-mode:: The table editor as minor mode |
| 579 | * table.el:: Complex tables | ||
| 571 | @end menu | 580 | @end menu |
| 572 | 581 | ||
| 573 | @node Built-in table editor, table.el, Tables, Tables | 582 | @node Built-in table editor, Table calculations, Tables, Tables |
| 574 | @section The built-in table editor | 583 | @section The built-in table editor |
| 575 | @cindex table editor, builtin | 584 | @cindex table editor, builtin |
| 576 | 585 | ||
| @@ -587,13 +596,13 @@ like this: | |||
| 587 | @end example | 596 | @end example |
| 588 | 597 | ||
| 589 | A table is re-aligned automatically each time you press @key{TAB} or | 598 | A table is re-aligned automatically each time you press @key{TAB} or |
| 590 | @key{RET} inside the table. @key{TAB} also moves to the next field | 599 | @key{RET} or @kbd{C-c C-c} inside the table. @key{TAB} also moves to |
| 591 | (@key{RET} to the next row) and creates new table rows at the end of the | 600 | the next field (@key{RET} to the next row) and creates new table rows |
| 592 | table or before horizontal lines. The indentation of the table is set | 601 | at the end of the table or before horizontal lines. The indentation |
| 593 | by the first line. Any line starting with @samp{|-} is considered as a | 602 | of the table is set by the first line. Any line starting with |
| 594 | horizontal separator line and will be expanded on the next re-align to | 603 | @samp{|-} is considered as a horizontal separator line and will be |
| 595 | span the whole table width. So, to create the above table, you would | 604 | expanded on the next re-align to span the whole table width. So, to |
| 596 | only type | 605 | create the above table, you would only type |
| 597 | 606 | ||
| 598 | @example | 607 | @example |
| 599 | |Name|Phone|Age | 608 | |Name|Phone|Age |
| @@ -605,10 +614,9 @@ fields. | |||
| 605 | 614 | ||
| 606 | @table @kbd | 615 | @table @kbd |
| 607 | @tsubheading{Creation and conversion} | 616 | @tsubheading{Creation and conversion} |
| 608 | @kindex C-c C-c | 617 | @item M-x org-table-create |
| 609 | @item C-c C-c | 618 | Creates an empty Org-mode table. However, it is much easier to just |
| 610 | Recognize @file{table.el} table. Works when the cursor is in a | 619 | start typing, like @kbd{|Name|Phone|Age @key{RET} |- @key{TAB}} |
| 611 | table.el table | ||
| 612 | 620 | ||
| 613 | @kindex C-c C-c | 621 | @kindex C-c C-c |
| 614 | @item C-c C-c | 622 | @item C-c C-c |
| @@ -619,10 +627,6 @@ separated. If not, lines are split at whitespace into fields. You | |||
| 619 | can use a prefix argument to indicate how many consecutive spaces are | 627 | can use a prefix argument to indicate how many consecutive spaces are |
| 620 | at least required to indicate a field separator (default: just one). | 628 | at least required to indicate a field separator (default: just one). |
| 621 | 629 | ||
| 622 | @item M-x org-table-create | ||
| 623 | Creates an empty Org-mode table. However, it is much easier to just | ||
| 624 | start typing, like @kbd{|Name|Phone|Age @key{RET} |- @key{TAB}} | ||
| 625 | |||
| 626 | @tsubheading{Re-aligning and field motion} | 630 | @tsubheading{Re-aligning and field motion} |
| 627 | @kindex C-c C-c | 631 | @kindex C-c C-c |
| 628 | @item C-c C-c | 632 | @item C-c C-c |
| @@ -635,7 +639,7 @@ necessary. | |||
| 635 | 639 | ||
| 636 | @kindex S-@key{TAB} | 640 | @kindex S-@key{TAB} |
| 637 | @item S-@key{TAB} | 641 | @item S-@key{TAB} |
| 638 | Move to previous field. | 642 | Re-align, move to previous field. |
| 639 | 643 | ||
| 640 | @kindex @key{RET} | 644 | @kindex @key{RET} |
| 641 | @item @key{RET} | 645 | @item @key{RET} |
| @@ -674,19 +678,19 @@ Insert a new row above (with arg: below) the current row. | |||
| 674 | 678 | ||
| 675 | @kindex C-c - | 679 | @kindex C-c - |
| 676 | @item C-c - | 680 | @item C-c - |
| 677 | Insert a horizontal line below current row. With prefix arg, line is | 681 | Insert a horizontal line below current row. With prefix arg, the line |
| 678 | created above the current line. | 682 | is created above the current line. |
| 679 | 683 | ||
| 680 | @tsubheading{Regions} | 684 | @tsubheading{Regions} |
| 681 | @kindex C-c C-h M-w | 685 | @kindex C-c C-h M-w |
| 682 | @item C-c C-h M-w | 686 | @item C-c C-h M-w |
| 683 | Copy an rectangular region from a table to a special clipboard. Point | 687 | Copy a rectangular region from a table to a special clipboard. Point |
| 684 | and mark determine edge fields of the rectangle. The process ignores | 688 | and mark determine edge fields of the rectangle. The process ignores |
| 685 | horizontal separator lines. | 689 | horizontal separator lines. |
| 686 | @kindex C-c C-h C-w | 690 | @kindex C-c C-h C-w |
| 687 | @item C-c C-h C-w | 691 | @item C-c C-h C-w |
| 688 | Copy an rectangular region from a table to a special clipboard, and | 692 | Copy a rectangular region from a table to a special clipboard, and |
| 689 | blank all fields in the rectangle. | 693 | blank all fields in the rectangle. So this is the ``cut'' operation. |
| 690 | @kindex C-c C-h C-y | 694 | @kindex C-c C-h C-y |
| 691 | @item C-c C-h C-y | 695 | @item C-c C-h C-y |
| 692 | Paste a rectangular region into a table. | 696 | Paste a rectangular region into a table. |
| @@ -707,6 +711,29 @@ current field gets blank, and the content is appended to the field | |||
| 707 | above. | 711 | above. |
| 708 | 712 | ||
| 709 | @tsubheading{Calculations} | 713 | @tsubheading{Calculations} |
| 714 | @cindex formula, in tables | ||
| 715 | @cindex calculations, in tables | ||
| 716 | @kindex C-c = | ||
| 717 | @item C-c = | ||
| 718 | Replace current field with the result of a formula. When called with a | ||
| 719 | @kbd{C-u} prefix, apply the equation in the current field and down | ||
| 720 | through the current column to a horizonal separator line or the end of | ||
| 721 | the table. For details, see @ref{Table calculations}. | ||
| 722 | |||
| 723 | @kindex C-c * | ||
| 724 | @item C-c * | ||
| 725 | Recalculate the current row by applying the stored formulas from left | ||
| 726 | to right. When called with a @kbd{C-u} prefix, recalculate the | ||
| 727 | entire table, starting with the first non-header line (i.e. below the | ||
| 728 | first horizontal separator line). For details, see @ref{Table calculations}. | ||
| 729 | |||
| 730 | @kindex C-# | ||
| 731 | @item C-# | ||
| 732 | Rotate the recalculation mark in first column through the states | ||
| 733 | @samp{}, @samp{#}, @samp{*}, @samp{!}, @samp{$}. For the meaning of | ||
| 734 | these marks see @ref{Table calculations}. When there is an active | ||
| 735 | region, change all marks in the region. | ||
| 736 | |||
| 710 | @kindex C-c ? | 737 | @kindex C-c ? |
| 711 | @item C-c ? | 738 | @item C-c ? |
| 712 | Which table column is the cursor in? Displays number >0 in echo | 739 | Which table column is the cursor in? Displays number >0 in echo |
| @@ -718,7 +745,7 @@ area. | |||
| 718 | @kindex C-c + | 745 | @kindex C-c + |
| 719 | @item C-c + | 746 | @item C-c + |
| 720 | Sum the numbers in the current column, or in the rectangle defined by | 747 | Sum the numbers in the current column, or in the rectangle defined by |
| 721 | the active region. The result is displayed in the echo area and can | 748 | the active region. The result is shown in the echo area and can |
| 722 | be inserted with @kbd{C-y}. | 749 | be inserted with @kbd{C-y}. |
| 723 | 750 | ||
| 724 | @kindex S-@key{RET} | 751 | @kindex S-@key{RET} |
| @@ -730,23 +757,12 @@ along with it. Depending on the variable | |||
| 730 | incremented during copy. This key is also used by CUA-mode | 757 | incremented during copy. This key is also used by CUA-mode |
| 731 | (@pxref{Interaction}). | 758 | (@pxref{Interaction}). |
| 732 | 759 | ||
| 733 | @cindex formula, in tables | ||
| 734 | @cindex calculations, in tables | ||
| 735 | @kindex C-c = | ||
| 736 | @item C-c = | ||
| 737 | Replace current field with the result of a formula. Requires the | ||
| 738 | Emacs calc package. The formula can access the current field with | ||
| 739 | @samp{$}, and the other fields in the current row | ||
| 740 | with @samp{$1}, @samp{$2},... For details see the documentation of the | ||
| 741 | command @command{org-table-eval-formula}. | ||
| 742 | |||
| 743 | @tsubheading{Miscellaneous} | 760 | @tsubheading{Miscellaneous} |
| 744 | @kindex C-c | | 761 | @kindex C-c | |
| 745 | @item C-c | | 762 | @item C-c | |
| 746 | Toggle the visibility of vertical lines in tables. The lines are | 763 | Toggle the visibility of vertical lines in tables. The lines are |
| 747 | still there, only made invisible with a text property. Any @samp{|} | 764 | still there, only made invisible with a text property. Any @samp{|} |
| 748 | added by hand will become invisible on the next align. | 765 | added by hand will become invisible on the next align. |
| 749 | Typographically it is good style to have no vertical lines in tables. | ||
| 750 | 766 | ||
| 751 | @item M-x org-table-import | 767 | @item M-x org-table-import |
| 752 | Import a file as a table. The table should be TAB- or whitespace | 768 | Import a file as a table. The table should be TAB- or whitespace |
| @@ -771,23 +787,237 @@ it off with | |||
| 771 | @noindent The only table command which then still works is | 787 | @noindent The only table command which then still works is |
| 772 | @kbd{C-c C-c} to do a manual re-align. | 788 | @kbd{C-c C-c} to do a manual re-align. |
| 773 | 789 | ||
| 774 | @node table.el, orgtbl-mode, Built-in table editor, Tables | 790 | @node Table calculations, orgtbl-mode, Built-in table editor, Tables |
| 791 | @section Calculations in tables | ||
| 792 | @cindex calculations, in tables | ||
| 793 | |||
| 794 | While the Org-mode table editor misses many features of a full | ||
| 795 | spreadsheet, it nevertheless has very useful capabilities to compute | ||
| 796 | fields. In horizontal direction, it can use complex expressions to | ||
| 797 | compute a field from other fields @emph{in the same row}, using named | ||
| 798 | columns, constants and parameters. The Emacs @file{calc} package is | ||
| 799 | required for this feature to work. In vertical direction, only | ||
| 800 | summing is supported. | ||
| 801 | |||
| 802 | @menu | ||
| 803 | * Formula syntax:: How to write a formula | ||
| 804 | * Applying a formula:: How to get a formula executed | ||
| 805 | * Recalculation:: Re-applying all formulas in a table | ||
| 806 | * Summing:: Summing columns and rows | ||
| 807 | @end menu | ||
| 808 | |||
| 809 | @node Formula syntax, Applying a formula, Table calculations, Table calculations | ||
| 810 | @subsection Formula syntax | ||
| 811 | |||
| 812 | A formula for horizontal computations can be any algebraic expression | ||
| 813 | understood by the Emacs @file{calc} package. Before evaluation, | ||
| 814 | variable substitution takes place: @samp{$} is replaced by the field | ||
| 815 | the cursor is currently in, and $1..$n reference the fields in the | ||
| 816 | current row. @samp{$name} is interpreted as the name of a column, | ||
| 817 | parameter or constant. Constants are defined globally through the | ||
| 818 | variable @code{org-table-formula-constants}. If you have the | ||
| 819 | @file{constants.el} package, it will also be used to resolve | ||
| 820 | constants, including natural constants like @samp{$k} for Plancks | ||
| 821 | constant, units like @samp{$km} for kilometers. Column names and | ||
| 822 | parameters can be specified in special table lines. These are | ||
| 823 | described below, see @ref{Recalculation}. | ||
| 824 | |||
| 825 | A formula can contain an optional mode string after a semicolon. This | ||
| 826 | string consists of flags to influence calc's modes@footnote{By | ||
| 827 | default, Org-mode uses the standard calc modes (precision 12, angular | ||
| 828 | units degrees, fraction and symbolic modes off). However, the display | ||
| 829 | format which has been changed to @code{(float 5)} to keep tables | ||
| 830 | compact. The default settings can be configured using the variable | ||
| 831 | @code{org-calc-default-modes}.} during execution, e.g. @samp{p20} to | ||
| 832 | switch the internal precision to 20 digits, @samp{n3}, @samp{s3}, | ||
| 833 | @samp{e2} or @samp{f4} to switch to normal, scientific, engineering, | ||
| 834 | or fix display format, respectively, and @samp{D}, @samp{R}, @samp{F}, | ||
| 835 | and @samp{S} to turn on degrees, radians, fraction and symbolic modes, | ||
| 836 | respectively. In addition, you may provide a @code{printf} specifier | ||
| 837 | to reformat the final result. A few examples: | ||
| 838 | @example | ||
| 839 | $1+$2 @r{Sum of first and second field} | ||
| 840 | $1+$2;%.2f @r{Same, format result to two decimals} | ||
| 841 | exp($2)+exp($1) @r{Math functions can be used} | ||
| 842 | $;%.1f @r{Reformat current cell to 1 decimal} | ||
| 843 | ($3-32)*5/9 @r{degrees F -> C conversion} | ||
| 844 | $c/$1/$cm @r{Hz -> cm conversion, using @file{constants.el}} | ||
| 845 | tan($1);Dp3s1 @r{compute in degrees, precision 3, display SCI 1} | ||
| 846 | vmean($2..$7) @r{compute column range mean, using vector function} | ||
| 847 | taylor($3,x=7,2) @r{taylor series of $3, at x=7, second degree} | ||
| 848 | @end example | ||
| 849 | |||
| 850 | @node Applying a formula, Recalculation, Formula syntax, Table calculations | ||
| 851 | @subsection Applying a formula | ||
| 852 | |||
| 853 | To apply a formula to a field, type it directly into the field, | ||
| 854 | preceded by an equal sign, like @samp{=$1+$2}. When you press | ||
| 855 | @key{TAB} or @key{RET} or @kbd{C-c C-c} with the cursor still in the | ||
| 856 | field, the formula will be evaluated and replaced with the result. If | ||
| 857 | the field contains only @samp{=}, the formula most recently applied | ||
| 858 | anywhere in the @emph{same column} will be used. | ||
| 859 | |||
| 860 | For each column, Org-mode will remember the most recently used | ||
| 861 | formula. The information is stored in a special line directly below | ||
| 862 | the table. When adding/deleting/moving columns with the appropriate | ||
| 863 | commands, the stored equations will be modified accordingly. When a | ||
| 864 | column used in a calculation is removed, references to this column | ||
| 865 | become invalid and will cause an error upon applying the equation. | ||
| 866 | |||
| 867 | Instead of typing an equation into the field, you may also use the | ||
| 868 | command @kbd{C-c =}. It prompts for a formula (with default taken | ||
| 869 | from the @samp{#+TBLFM:} line) and applies it to the current field. | ||
| 870 | If you use a prefix argument (i.e. @kbd{C-u C-c =}), the formula will | ||
| 871 | be applied to the current field and down to the next separator line | ||
| 872 | or the end of the table. A numerical prefix will apply it to that | ||
| 873 | many fields in the current column. | ||
| 874 | |||
| 875 | When the evaluation of a formula leads to an error, the field content | ||
| 876 | becomes the string @samp{#ERROR}. If you would like see what is going | ||
| 877 | on during variable substitution and calculation in order to find a | ||
| 878 | bug, turn on formula debugging in the menu and repeat the calculation | ||
| 879 | by pressing, for example by pressing @kbd{C-c = @key{RET}} in a field. | ||
| 880 | Detailed information will be displayed. | ||
| 881 | |||
| 882 | @node Recalculation, Summing, Applying a formula, Table calculations | ||
| 883 | @subsection Recalculation | ||
| 884 | |||
| 885 | To recompute all the fields in a line, use the command @kbd{C-c *}. | ||
| 886 | It re-applies all stored equations to the current row, from left to | ||
| 887 | right. With a @kbd{C-u} prefix, this will be done to every line in | ||
| 888 | the table, so use this command it you want to make sure the entire | ||
| 889 | table is up-to-date. A more automatic way of recalculating the | ||
| 890 | current line requires marking the line: If the first column of a row | ||
| 891 | contains only @samp{#}, the row will be re-computed with every | ||
| 892 | @key{TAB}, @key{RET}, and @kbd{C-c C-c} in this row. Here is an | ||
| 893 | example of a table that collects exam results of students, with some | ||
| 894 | rows activated for semi-automatic computations. | ||
| 895 | |||
| 896 | @example | ||
| 897 | @group | ||
| 898 | |---+---------+--------+--------+--------+-------+------| | ||
| 899 | | | Student | Prob 1 | Prob 2 | Prob 3 | Total | Note | | ||
| 900 | |---+---------+--------+--------+--------+-------+------| | ||
| 901 | | ! | | P1 | P2 | P3 | Tot | | | ||
| 902 | | # | Maximum | 10 | 15 | 25 | 50 | 10.0 | | ||
| 903 | | ^ | | m1 | m2 | m3 | mt | | | ||
| 904 | |---+---------+--------+--------+--------+-------+------| | ||
| 905 | | # | Peter | 10 | 8 | 23 | 41 | 8.2 | | ||
| 906 | | # | Sara | 7 | 14 | 19 | 40 | 8.0 | | ||
| 907 | | # | Sam | 2 | 4 | 3 | 9 | 1.8 | | ||
| 908 | |---+---------+--------+--------+--------+-------+------| | ||
| 909 | | $ | max=50 | | | | | | | ||
| 910 | |---+---------+--------+--------+--------+-------+------| | ||
| 911 | #+TBLFM: $6=vsum($P1..$P3)::$7=10*$Tot/$max;%.1f | ||
| 912 | @end group | ||
| 913 | @end example | ||
| 914 | @noindent | ||
| 915 | The example also demonstrates a number of features: | ||
| 916 | @enumerate | ||
| 917 | @item | ||
| 918 | If the first field of a row contains only @samp{!}, this row defines | ||
| 919 | @emph{names} for the different columns so that you can write | ||
| 920 | @samp{$Tot} instead of @samp{$6} --- useful in larger tables, | ||
| 921 | when counting columns becomes error prone. | ||
| 922 | @item | ||
| 923 | If the first field of a row contains only @samp{$}, fields in this row | ||
| 924 | can define @emph{parameters} for formulas. For example, if a field in | ||
| 925 | a @samp{$} row contains @samp{max=50}, then formulas in this table can | ||
| 926 | refer to the value 50 using @samp{$max}. Parameters work exactly like | ||
| 927 | constants, only that they can be defined on a per-table basis. | ||
| 928 | Changing a parameter and then recalculating the table can be useful | ||
| 929 | and fun. | ||
| 930 | @item | ||
| 931 | It the first field contains only @samp{^}, fields in this row define | ||
| 932 | names for the fields in the row above, for example @samp{$m1} for | ||
| 933 | @samp{10}. Similarly, if the marking character is @samp{_}, the names | ||
| 934 | are valie for the fields in the row below. | ||
| 935 | @item | ||
| 936 | A column range @samp{$P1..$P3} is expanded to a vector, so that calc's | ||
| 937 | vector functions (in this case @samp{vsum}, but there are many more) | ||
| 938 | can be applied to ranges. For a range, columns may be referenced by | ||
| 939 | name or number, in either sequence. | ||
| 940 | @end enumerate | ||
| 941 | |||
| 942 | @noindent If a table contains any line with @samp{#} as the | ||
| 943 | first field, @kbd{C-u C-c *} will only change the marked lines and | ||
| 944 | leave all unmarked lines alone. You can also mark a line with | ||
| 945 | @samp{*}. These lines will also be recalculated with @kbd{C-u C-c *}, | ||
| 946 | but not upon @key{TAB} and @key{RET}. Use this for lines which are | ||
| 947 | slow to calculate. | ||
| 948 | |||
| 949 | Just to wet your appetite on what can be done with the fantastic | ||
| 950 | @file{calc} package, here is a table that computes the Taylor series | ||
| 951 | for a couple of functions (homework: try that with Excel :-) | ||
| 952 | |||
| 953 | @example | ||
| 954 | @group | ||
| 955 | |---+-------------+---+-----+--------------------------------------| | ||
| 956 | | | Func | n | x | Result | | ||
| 957 | |---+-------------+---+-----+--------------------------------------| | ||
| 958 | | # | exp(x) | 1 | x | 1 + x | | ||
| 959 | | # | exp(x) | 2 | x | 1 + x + x^2 / 2 | | ||
| 960 | | # | exp(x) | 3 | x | 1 + x + x^2 / 2 + x^3 / 6 | | ||
| 961 | | # | x^2+sqrt(x) | 2 | x=0 | x*(0.5 / 0) + x^2 (2 - 0.25 / 0) / 2 | | ||
| 962 | | # | x^2+sqrt(x) | 2 | x=1 | 2 + 2.5 x - 2.5 + 0.875 (x - 1)^2 | | ||
| 963 | | * | tan(x) | 3 | x | 0.0175 x + 1.77e-6 x^3 | | ||
| 964 | |---+-------------+---+-----+--------------------------------------| | ||
| 965 | #+TBLFM: $5=taylor($2,$4,$3);n3 | ||
| 966 | @end group | ||
| 967 | @end example | ||
| 968 | |||
| 969 | @node Summing, , Recalculation, Table calculations | ||
| 970 | @subsection Summing | ||
| 971 | |||
| 972 | Finally, when typing a formula into a field, a number of special | ||
| 973 | keywords execute predefined sums over the current row or column and | ||
| 974 | enter the result into the current field. These calculations are | ||
| 975 | one-off, the formula is not stored, and you will neet to re-enter it | ||
| 976 | in order to compute again. | ||
| 977 | |||
| 978 | @example | ||
| 979 | = @r{Execute the stored formula valid in this column.} | ||
| 980 | =sum @r{Sum all fields above the current (alias @code{=sumv}).} | ||
| 981 | =sumh @r{Sum all fields to the left of the current field.} | ||
| 982 | =sum3 @r{Same as @samp{=sum}, but use just 3 fields above current.} | ||
| 983 | @end example | ||
| 984 | |||
| 985 | @node orgtbl-mode, table.el, Table calculations, Tables | ||
| 986 | @section The Orgtbl minor mode | ||
| 987 | @cindex orgtbl-mode | ||
| 988 | @cindex minor mode for tables | ||
| 989 | |||
| 990 | If you like the intuitive way the Org-mode table editor works, you | ||
| 991 | might want to use it also in other modes like text-mode or mail-mode. | ||
| 992 | The minor mode Orgtbl-mode makes this possible. You can always toggle | ||
| 993 | the mode with @kbd{M-x orgtbl-mode}. To turn it on by default, for | ||
| 994 | example in mail mode, use | ||
| 995 | @lisp | ||
| 996 | (add-hook 'mail-mode-hook 'turn-on-orgtbl) | ||
| 997 | @end lisp | ||
| 998 | |||
| 999 | @node table.el, , orgtbl-mode, Tables | ||
| 775 | @section The @file{table.el} package | 1000 | @section The @file{table.el} package |
| 776 | @kindex C-c C-c | 1001 | @kindex C-c C-c |
| 777 | @cindex table editor, table.el | 1002 | @cindex table editor, @file{table.el} |
| 778 | @cindex @file{table.el} | 1003 | @cindex @file{table.el} |
| 779 | 1004 | ||
| 780 | More complex ASCII tables (with automatic line wrapping, column- and | 1005 | Complex ASCII tables with automatic line wrapping, column- and |
| 781 | row-spanning, and alignment) can be created using the Emacs table | 1006 | row-spanning, and alignment can be created using the Emacs table |
| 782 | package by Takaaki Ota (@uref{http://sourceforge.net/projects/table}). | 1007 | package by Takaaki Ota (@uref{http://sourceforge.net/projects/table}). |
| 783 | When @key{TAB} or @kbd{C-c C-c} is pressed in such a table, Org-mode | 1008 | When @key{TAB} or @kbd{C-c C-c} is pressed in such a table, Org-mode |
| 784 | will call @command{table-recognize-table} and move the cursor into the | 1009 | will call @command{table-recognize-table} and move the cursor into the |
| 785 | table. Inside a table, the keymap of Org-mode is inactive. In order | 1010 | table. Inside a table, the keymap of Org-mode is inactive. In order |
| 786 | to execute org-related commands, leave the table. | 1011 | to execute Org-mode-related commands, leave the table. |
| 787 | 1012 | ||
| 788 | @table @kbd | 1013 | @table @kbd |
| 789 | @kindex C-c # | 1014 | @kindex C-c C-c |
| 790 | @item C-c # | 1015 | @item C-c C-c |
| 1016 | Recognize @file{table.el} table. Works when the cursor is in a | ||
| 1017 | table.el table. | ||
| 1018 | |||
| 1019 | @kindex C-c ~ | ||
| 1020 | @item C-c ~ | ||
| 791 | Insert a table.el table. If there is already a table at point, this | 1021 | Insert a table.el table. If there is already a table at point, this |
| 792 | command converts it between the table.el format and the Org-mode | 1022 | command converts it between the table.el format and the Org-mode |
| 793 | format. See the documentation string of the command | 1023 | format. See the documentation string of the command |
| @@ -795,20 +1025,6 @@ format. See the documentation string of the command | |||
| 795 | possible. | 1025 | possible. |
| 796 | @end table | 1026 | @end table |
| 797 | 1027 | ||
| 798 | @node orgtbl-mode, , table.el, Tables | ||
| 799 | @section The Orgtbl minor mode | ||
| 800 | @cindex orgtbl-mode | ||
| 801 | @cindex Minor mode for tables | ||
| 802 | |||
| 803 | If you like the intuitive way the Org-mode table editor works, you | ||
| 804 | might want to use it also in other modes like text-mode or mail-mode. | ||
| 805 | The minor mode Orgtbl-mode makes this possible. You can always toggle | ||
| 806 | the mode with @kbd{M-x orgtbl-mode}. To turn it on by default, for | ||
| 807 | example in mail mode, use | ||
| 808 | @lisp | ||
| 809 | (add-hook 'mail-mode-hook 'turn-on-orgtbl) | ||
| 810 | @end lisp | ||
| 811 | |||
| 812 | @node Hyperlinks, TODO items, Tables, Top | 1028 | @node Hyperlinks, TODO items, Tables, Top |
| 813 | @chapter Hyperlinks | 1029 | @chapter Hyperlinks |
| 814 | @cindex hyperlinks | 1030 | @cindex hyperlinks |
| @@ -826,6 +1042,8 @@ articles, emails and much more. | |||
| 826 | @cindex links | 1042 | @cindex links |
| 827 | @cindex GNUS links | 1043 | @cindex GNUS links |
| 828 | @cindex BBDB links | 1044 | @cindex BBDB links |
| 1045 | @cindex URL links | ||
| 1046 | @cindex file links | ||
| 829 | @cindex VM links | 1047 | @cindex VM links |
| 830 | @cindex RMAIL links | 1048 | @cindex RMAIL links |
| 831 | @cindex WANDERLUST links | 1049 | @cindex WANDERLUST links |
| @@ -877,6 +1095,8 @@ The key binding @kbd{C-c l} is only a suggestion - see | |||
| 877 | @ref{Installation and Activation}. | 1095 | @ref{Installation and Activation}. |
| 878 | 1096 | ||
| 879 | @kindex C-c C-l | 1097 | @kindex C-c C-l |
| 1098 | @cindex completion, of links | ||
| 1099 | @cindex completion, of file names | ||
| 880 | @item C-c C-l | 1100 | @item C-c C-l |
| 881 | Insert a link. This prompts for a link to be inserted into the | 1101 | Insert a link. This prompts for a link to be inserted into the |
| 882 | buffer. You can just type a link, using one of the link type prefixes | 1102 | buffer. You can just type a link, using one of the link type prefixes |
| @@ -969,8 +1189,8 @@ Before inserting the text into a tree, the function ensures that the | |||
| 969 | text has a headline, i.e. a first line that starts with a @samp{*}. | 1189 | text has a headline, i.e. a first line that starts with a @samp{*}. |
| 970 | If not, a headline is constructed from the current date and some | 1190 | If not, a headline is constructed from the current date and some |
| 971 | additional data. If the variable @code{org-adapt-indentation} is | 1191 | additional data. If the variable @code{org-adapt-indentation} is |
| 972 | non-@code{nil}, the entire text is also indented so that it starts in | 1192 | non-nil, the entire text is also indented so that it starts in the |
| 973 | the same column as the headline (after the asterisks). | 1193 | same column as the headline (after the asterisks). |
| 974 | 1194 | ||
| 975 | @node TODO items, Timestamps, Hyperlinks, Top | 1195 | @node TODO items, Timestamps, Hyperlinks, Top |
| 976 | @chapter TODO items | 1196 | @chapter TODO items |
| @@ -1057,6 +1277,7 @@ of working on an item, for example | |||
| 1057 | org-todo-interpretation 'sequence) | 1277 | org-todo-interpretation 'sequence) |
| 1058 | @end lisp | 1278 | @end lisp |
| 1059 | 1279 | ||
| 1280 | @cindex completion, of TODO keywords | ||
| 1060 | With this setup, the command @kbd{C-c C-t} will cycle an entry from | 1281 | With this setup, the command @kbd{C-c C-t} will cycle an entry from |
| 1061 | TODO to FEEDBACK, then to VERIFY, and finally too DONE. You may also | 1282 | TODO to FEEDBACK, then to VERIFY, and finally too DONE. You may also |
| 1062 | use a prefix argument to quickly select a specific state. For example | 1283 | use a prefix argument to quickly select a specific state. For example |
| @@ -1084,9 +1305,9 @@ would be set up like this: | |||
| 1084 | 1305 | ||
| 1085 | In this case, different keywords do not indicate a sequence, but | 1306 | In this case, different keywords do not indicate a sequence, but |
| 1086 | rather different types. So it is normally not useful to change from | 1307 | rather different types. So it is normally not useful to change from |
| 1087 | one type to another. Therefore, in this case the the behavior of the | 1308 | one type to another. Therefore, in this case the behavior of the |
| 1088 | command @kbd{C-c C-t} is changed slightly@footnote{This is also true | 1309 | command @kbd{C-c C-t} is changed slightly@footnote{This is also true |
| 1089 | for the @kbd{t} command in the timeline and agenda buffers}. When | 1310 | for the @kbd{t} command in the timeline and agenda buffers.}. When |
| 1090 | used several times in succession, it will still cycle through all | 1311 | used several times in succession, it will still cycle through all |
| 1091 | names. But when when you return to the item after some time and | 1312 | names. But when when you return to the item after some time and |
| 1092 | execute @kbd{C-c C-t} again, it will switch from each name directly to | 1313 | execute @kbd{C-c C-t} again, it will switch from each name directly to |
| @@ -1111,7 +1332,7 @@ anywhere in the file: | |||
| 1111 | #+TYP_TODO: Fred Sara Lucy Mike DONE | 1332 | #+TYP_TODO: Fred Sara Lucy Mike DONE |
| 1112 | @end example | 1333 | @end example |
| 1113 | 1334 | ||
| 1114 | @cindex Completing option keywords | 1335 | @cindex Completion, of option keywords |
| 1115 | @kindex M-@key{TAB} | 1336 | @kindex M-@key{TAB} |
| 1116 | @noindent To make sure you are using the correct keyword, type | 1337 | @noindent To make sure you are using the correct keyword, type |
| 1117 | @samp{#+} into the buffer and then use @kbd{M-@key{TAB}} completion. | 1338 | @samp{#+} into the buffer and then use @kbd{M-@key{TAB}} completion. |
| @@ -1171,7 +1392,7 @@ agenda buffer with the @kbd{,} command (@pxref{Agenda commands}). | |||
| 1171 | @itemx S-@key{down} | 1392 | @itemx S-@key{down} |
| 1172 | Increase/decrease priority of current item. Note that these keys are | 1393 | Increase/decrease priority of current item. Note that these keys are |
| 1173 | also used to modify time stamps (@pxref{Creating timestamps}). | 1394 | also used to modify time stamps (@pxref{Creating timestamps}). |
| 1174 | Furthermore, these keys is also used by CUA-mode | 1395 | Furthermore, these keys are also used by CUA-mode |
| 1175 | (@pxref{Interaction}). | 1396 | (@pxref{Interaction}). |
| 1176 | @end table | 1397 | @end table |
| 1177 | 1398 | ||
| @@ -1221,27 +1442,27 @@ example: | |||
| 1221 | @end example | 1442 | @end example |
| 1222 | 1443 | ||
| 1223 | @item DEADLINE | 1444 | @item DEADLINE |
| 1224 | @cindex deadline | 1445 | @cindex DEADLINE keyword |
| 1225 | If a time stamp is preceded by the word @samp{DEADLINE:}, the task | 1446 | If a time stamp is preceded by the word @samp{DEADLINE:}, the task |
| 1226 | (most likely a TODO item) is supposed to be finished on that date, and | 1447 | (most likely a TODO item) is supposed to be finished on that date, and |
| 1227 | it will be listed then. In addition, the compilation for the | 1448 | it will be listed then. In addition, the compilation for @emph{today} |
| 1228 | @emph{current day} will carry a warning about the approaching or | 1449 | will carry a warning about the approaching or missed deadline, |
| 1229 | missed deadline, starting @code{org-deadline-warning-days} before the | 1450 | starting @code{org-deadline-warning-days} before the due date, and |
| 1230 | due date, and continuing until the entry is marked DONE. An example: | 1451 | continuing until the entry is marked DONE. An example: |
| 1231 | 1452 | ||
| 1232 | @example | 1453 | @example |
| 1233 | *** TODO write article about the Earth for the Guide | 1454 | *** TODO write article about the Earth for the Guide |
| 1234 | The editor in charge is bbdb:Ford Prefect | 1455 | The editor in charge is <bbdb:Ford Prefect> |
| 1235 | DEADLINE: <2004-02-29 Sun> | 1456 | DEADLINE: <2004-02-29 Sun> |
| 1236 | @end example | 1457 | @end example |
| 1237 | 1458 | ||
| 1238 | @item SCHEDULED | 1459 | @item SCHEDULED |
| 1239 | @cindex scheduled | 1460 | @cindex DEADLINE keyword |
| 1240 | If a time stamp is preceded by the word @samp{SCHEDULED:}, it means | 1461 | If a time stamp is preceded by the word @samp{SCHEDULED:}, it means |
| 1241 | you are planning to start working on that task on the given date. The | 1462 | you are planning to start working on that task on the given date. The |
| 1242 | headline will be listed under the given date. In addition, a reminder | 1463 | headline will be listed under the given date. In addition, a reminder |
| 1243 | that the scheduled date has passed will be present in the compilation | 1464 | that the scheduled date has passed will be present in the compilation |
| 1244 | for the @emph{current day}, until the entry is marked DONE. I.e., the | 1465 | for @emph{today}, until the entry is marked DONE. I.e., the |
| 1245 | task will automatically be forwarded. | 1466 | task will automatically be forwarded. |
| 1246 | @end table | 1467 | @end table |
| 1247 | 1468 | ||
| @@ -1310,7 +1531,7 @@ CUA-mode (@pxref{Interaction}). | |||
| 1310 | Change the item under the cursor in a timestamp. The cursor can be on | 1531 | Change the item under the cursor in a timestamp. The cursor can be on |
| 1311 | a year, month, day, hour or minute. Note that if the cursor is not at | 1532 | a year, month, day, hour or minute. Note that if the cursor is not at |
| 1312 | a time stamp, these same keys modify the priority of an item. | 1533 | a time stamp, these same keys modify the priority of an item. |
| 1313 | (@pxref{Priorities}). These key bindings conflict with CUA-mode | 1534 | (@pxref{Priorities}). The key bindings also conflict with CUA-mode |
| 1314 | (@pxref{Interaction}). | 1535 | (@pxref{Interaction}). |
| 1315 | 1536 | ||
| 1316 | 1537 | ||
| @@ -1325,9 +1546,9 @@ into the following column). | |||
| 1325 | @cindex date, reading in minibuffer | 1546 | @cindex date, reading in minibuffer |
| 1326 | @cindex time, reading in minibuffer | 1547 | @cindex time, reading in minibuffer |
| 1327 | @cindex calendar, for selecting date | 1548 | @cindex calendar, for selecting date |
| 1328 | When org prompts for a date/time, the function reading your input will | 1549 | When Org-mode prompts for a date/time, the function reading your input |
| 1329 | replace anything you choose not to specify with the current date and | 1550 | will replace anything you choose not to specify with the current date |
| 1330 | time. For details, see the documentation string of | 1551 | and time. For details, see the documentation string of |
| 1331 | @command{org-read-date}. Also, a calender will pop up to allow | 1552 | @command{org-read-date}. Also, a calender will pop up to allow |
| 1332 | selecting a date. The calendar can be fully controlled from the | 1553 | selecting a date. The calendar can be fully controlled from the |
| 1333 | minibuffer, and a date can be selected with the following commands: | 1554 | minibuffer, and a date can be selected with the following commands: |
| @@ -1487,12 +1708,12 @@ Emacs. | |||
| 1487 | The display in the agenda buffer looks best if the category is not | 1708 | The display in the agenda buffer looks best if the category is not |
| 1488 | longer than 10 characters. | 1709 | longer than 10 characters. |
| 1489 | 1710 | ||
| 1490 | @subsection Time Specifications | 1711 | @subsection Time-of-Day Specifications |
| 1491 | 1712 | ||
| 1492 | Org-mode checks each agenda item for a time specification. The time | 1713 | Org-mode checks each agenda item for a time-of-day specification. The |
| 1493 | can be part of the time stamp that triggered inclusion into the agenda, | 1714 | time can be part of the time stamp that triggered inclusion into the |
| 1494 | for example as in @w{@samp{<2005-05-10 Tue 19:00>}}. Time ranges can | 1715 | agenda, for example as in @w{@samp{<2005-05-10 Tue 19:00>}}. Time |
| 1495 | be specified with two time stamps, like | 1716 | ranges can be specified with two time stamps, like |
| 1496 | @c | 1717 | @c |
| 1497 | @w{@samp{<2005-05-10 Tue 20:30>--<2005-05-10 Tue 22:15>}}. | 1718 | @w{@samp{<2005-05-10 Tue 20:30>--<2005-05-10 Tue 22:15>}}. |
| 1498 | 1719 | ||
| @@ -1608,10 +1829,14 @@ Delete other windows. | |||
| 1608 | 1829 | ||
| 1609 | @kindex w | 1830 | @kindex w |
| 1610 | @item w | 1831 | @item w |
| 1611 | Toggle between weekly and daily view. | 1832 | Switch to weekly view (7 days displayed together) |
| 1612 | 1833 | ||
| 1613 | @kindex d | 1834 | @kindex d |
| 1614 | @item d | 1835 | @item d |
| 1836 | Switch to daily view (just one day displayed) | ||
| 1837 | |||
| 1838 | @kindex D | ||
| 1839 | @item D | ||
| 1615 | Toggle the inclusion of diary entries. See @ref{Calendar/Diary integration}. | 1840 | Toggle the inclusion of diary entries. See @ref{Calendar/Diary integration}. |
| 1616 | 1841 | ||
| 1617 | @kindex g | 1842 | @kindex g |
| @@ -1663,7 +1888,7 @@ Display weighted priority of current item. | |||
| 1663 | @kindex + | 1888 | @kindex + |
| 1664 | @kindex S-@key{up} | 1889 | @kindex S-@key{up} |
| 1665 | @item + | 1890 | @item + |
| 1666 | @item S-@key{up} | 1891 | @itemx S-@key{up} |
| 1667 | Increase the priority of the current item. The priority is changed in | 1892 | Increase the priority of the current item. The priority is changed in |
| 1668 | the original buffer, but the agenda is not resorted. Use the @kbd{r} | 1893 | the original buffer, but the agenda is not resorted. Use the @kbd{r} |
| 1669 | key for this. | 1894 | key for this. |
| @@ -1671,7 +1896,7 @@ key for this. | |||
| 1671 | @kindex - | 1896 | @kindex - |
| 1672 | @kindex S-@key{down} | 1897 | @kindex S-@key{down} |
| 1673 | @item - | 1898 | @item - |
| 1674 | @item S-@key{down} | 1899 | @itemx S-@key{down} |
| 1675 | Decrease the priority of the current item. | 1900 | Decrease the priority of the current item. |
| 1676 | 1901 | ||
| 1677 | @kindex S-@key{right} | 1902 | @kindex S-@key{right} |
| @@ -1782,12 +2007,12 @@ agenda, you only need to customize the variable | |||
| 1782 | entries including holidays, anniversaries etc will be included in the | 2007 | entries including holidays, anniversaries etc will be included in the |
| 1783 | agenda buffer created by Org-mode. @key{SPC}, @key{TAB}, and | 2008 | agenda buffer created by Org-mode. @key{SPC}, @key{TAB}, and |
| 1784 | @key{RET} can be used from the agenda buffer to jump to the diary | 2009 | @key{RET} can be used from the agenda buffer to jump to the diary |
| 1785 | file, in order to edit existing diary entries. Also the @kbd{i} | 2010 | file, in order to edit existing diary entries. The @kbd{i} command to |
| 1786 | command to insert new entries for the current date works in the agenda | 2011 | insert new entries for the current date works in the agenda buffer, as |
| 1787 | buffer, as well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to | 2012 | well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to display |
| 1788 | display Sunrise/Sunset times, show lunar phases and to convert to | 2013 | Sunrise/Sunset times, show lunar phases and to convert to other |
| 1789 | other calendars, respectively. @kbd{c} can be used to switch back and | 2014 | calendars, respectively. @kbd{c} can be used to switch back and forth |
| 1790 | forth between calendar and agenda. | 2015 | between calendar and agenda. |
| 1791 | 2016 | ||
| 1792 | @node Agenda to diary, , Diary to agenda, Calendar/Diary integration | 2017 | @node Agenda to diary, , Diary to agenda, Calendar/Diary integration |
| 1793 | @subsection Including the agenda into the diary | 2018 | @subsection Including the agenda into the diary |
| @@ -1827,9 +2052,8 @@ also the documentation of the @command{org-diary} function. | |||
| 1827 | @node Exporting, Miscellaneous, Timeline and Agenda, Top | 2052 | @node Exporting, Miscellaneous, Timeline and Agenda, Top |
| 1828 | @chapter Exporting | 2053 | @chapter Exporting |
| 1829 | @cindex exporting | 2054 | @cindex exporting |
| 1830 | @cindex ASCII file | 2055 | @cindex ASCII export |
| 1831 | @cindex HTML | 2056 | @cindex HTML export |
| 1832 | |||
| 1833 | 2057 | ||
| 1834 | @cindex headline levels, for exporting | 2058 | @cindex headline levels, for exporting |
| 1835 | For printing and sharing of notes, an Org-mode document can be | 2059 | For printing and sharing of notes, an Org-mode document can be |
| @@ -1896,6 +2120,7 @@ You can make words @b{*bold*}, @i{/italic/}, and _underlined_ | |||
| 1896 | @item | 2120 | @item |
| 1897 | Simple @TeX{}-like math constructs are interpreted: | 2121 | Simple @TeX{}-like math constructs are interpreted: |
| 1898 | 2122 | ||
| 2123 | @cindex completion, of @TeX{} symbols | ||
| 1899 | @itemize @minus | 2124 | @itemize @minus |
| 1900 | @item | 2125 | @item |
| 1901 | @samp{10^22} and @samp{J_n} are super- and subscripts. You can quote | 2126 | @samp{10^22} and @samp{J_n} are super- and subscripts. You can quote |
| @@ -1931,6 +2156,7 @@ they can all be turned off with corresponding variables. | |||
| 1931 | @section Export options | 2156 | @section Export options |
| 1932 | @cindex options, for export | 2157 | @cindex options, for export |
| 1933 | 2158 | ||
| 2159 | @cindex completion, of option keywords | ||
| 1934 | The exporter recognizes special lines in the buffer which provide | 2160 | The exporter recognizes special lines in the buffer which provide |
| 1935 | additional information. These lines may be put anywhere in the file. | 2161 | additional information. These lines may be put anywhere in the file. |
| 1936 | The whole set of lines can be inserted into the buffer with @kbd{C-c | 2162 | The whole set of lines can be inserted into the buffer with @kbd{C-c |
| @@ -1953,7 +2179,7 @@ you can | |||
| 1953 | @cindex headline levels | 2179 | @cindex headline levels |
| 1954 | @cindex section-numbers | 2180 | @cindex section-numbers |
| 1955 | @cindex table of contents | 2181 | @cindex table of contents |
| 1956 | @cindex linebreak-preservation | 2182 | @cindex linebreak preservation |
| 1957 | @cindex quoted html tags | 2183 | @cindex quoted html tags |
| 1958 | @cindex fixed-width sections | 2184 | @cindex fixed-width sections |
| 1959 | @cindex tables | 2185 | @cindex tables |
| @@ -2003,10 +2229,11 @@ Toggle the COMMENT keyword at the beginning of an entry. | |||
| 2003 | 2229 | ||
| 2004 | @node Completion, Customization, Miscellaneous, Miscellaneous | 2230 | @node Completion, Customization, Miscellaneous, Miscellaneous |
| 2005 | @section Completion | 2231 | @section Completion |
| 2006 | @cindex complete @TeX{} symbols | 2232 | @cindex completion, of @TeX{} symbols |
| 2007 | @cindex complete TODO keywords | 2233 | @cindex completion, of TODO keywords |
| 2008 | @cindex complete dictionary words | 2234 | @cindex completion, of dictionary words |
| 2009 | @cindex complete option keywords | 2235 | @cindex completion, of option keywords |
| 2236 | @cindex completion, of keyword formulas | ||
| 2010 | 2237 | ||
| 2011 | Org-mode supports in-buffer completion. This type of completion does | 2238 | Org-mode supports in-buffer completion. This type of completion does |
| 2012 | not make use of the minibuffer. You simply type a few letters into | 2239 | not make use of the minibuffer. You simply type a few letters into |
| @@ -2027,6 +2254,8 @@ After @samp{#+}, complete the special keywords like @samp{TYP_TODO} or | |||
| 2027 | option keyword is already complete, pressing @kbd{M-@key{TAB}} again | 2254 | option keyword is already complete, pressing @kbd{M-@key{TAB}} again |
| 2028 | will insert example settings for this keyword. | 2255 | will insert example settings for this keyword. |
| 2029 | @item | 2256 | @item |
| 2257 | After @samp{=}, complete keyword formulas for tables. | ||
| 2258 | @item | ||
| 2030 | Elsewhere, complete dictionary words using ispell. | 2259 | Elsewhere, complete dictionary words using ispell. |
| 2031 | @end itemize | 2260 | @end itemize |
| 2032 | @end table | 2261 | @end table |
| @@ -2047,7 +2276,7 @@ Group} from the @code{Org->Customization} menu. | |||
| 2047 | @section Frequently asked questions | 2276 | @section Frequently asked questions |
| 2048 | 2277 | ||
| 2049 | @enumerate | 2278 | @enumerate |
| 2050 | @item @b{Org-mode seems to be useful default mode for the various | 2279 | @item @b{Org-mode seems to be a useful default mode for the various |
| 2051 | @file{README} files I have scattered through my directories. How do I | 2280 | @file{README} files I have scattered through my directories. How do I |
| 2052 | turn it on for all @file{README} files?} | 2281 | turn it on for all @file{README} files?} |
| 2053 | @example | 2282 | @example |
| @@ -2065,8 +2294,8 @@ possible because of the different outline implementation. | |||
| 2065 | 2294 | ||
| 2066 | @item @b{Is there an easy way to insert links to web locations?}@* | 2295 | @item @b{Is there an easy way to insert links to web locations?}@* |
| 2067 | @cindex URL, paste into buffer | 2296 | @cindex URL, paste into buffer |
| 2068 | Sure, just paste them into the buffer. A plain-text URL-like string | 2297 | Sure, just type or paste them into the buffer. A plain-text URL-like |
| 2069 | is directly interpreted as a link. | 2298 | string is directly interpreted as a link. |
| 2070 | 2299 | ||
| 2071 | @item @b{When I export my TODO list, every TODO item becomes a | 2300 | @item @b{When I export my TODO list, every TODO item becomes a |
| 2072 | separate section. How do I enforce these items to be exported as an | 2301 | separate section. How do I enforce these items to be exported as an |
| @@ -2107,6 +2336,13 @@ To insert an empty table template, just type @samp{|-} and use | |||
| 2107 | @code{org-table-default-size}. However, just starting to type the | 2336 | @code{org-table-default-size}. However, just starting to type the |
| 2108 | first line is usually much easier. | 2337 | first line is usually much easier. |
| 2109 | 2338 | ||
| 2339 | @item @b{One of my table columns has started to fill up with | ||
| 2340 | @samp{#ERROR}. What is going on?}@* | ||
| 2341 | Org-mode tried to compute the column from other fields using a | ||
| 2342 | formula stored in the @samp{#+TBLFMT:} line just below the table, and | ||
| 2343 | the evaluation of the formula fails. Fix the fields used in the | ||
| 2344 | formula, or fix the formula, or remove it! | ||
| 2345 | |||
| 2110 | @item @b{When I am in the last column of a table and just above a | 2346 | @item @b{When I am in the last column of a table and just above a |
| 2111 | horizontal line in the table, pressing TAB creates a new table line | 2347 | horizontal line in the table, pressing TAB creates a new table line |
| 2112 | @i{before} the horizontal line. How can I quickly move to the line | 2348 | @i{before} the horizontal line. How can I quickly move to the line |
| @@ -2125,34 +2361,42 @@ indentation of the first line and realign with @key{TAB}. | |||
| 2125 | @node Interaction, Bugs, FAQ, Miscellaneous | 2361 | @node Interaction, Bugs, FAQ, Miscellaneous |
| 2126 | @section Interaction with other packages | 2362 | @section Interaction with other packages |
| 2127 | @cindex packages, interaction with other | 2363 | @cindex packages, interaction with other |
| 2128 | @cindex @file{planner.el} | 2364 | Org-mode can cooperate with the following packages: |
| 2129 | @cindex @file{remember.el} | ||
| 2130 | @cindex @file{table.el} | ||
| 2131 | @file{Org.el} can cooperate with the following packages: | ||
| 2132 | 2365 | ||
| 2133 | @table @asis | 2366 | @table @asis |
| 2134 | @cindex @file{remember.el} | ||
| 2135 | @item @file{remember.el} by John Wiegley | ||
| 2136 | Org mode cooperates with remember, see @ref{Remember}. | ||
| 2137 | @cindex @file{plannner.el} | ||
| 2138 | @item @file{planner.el} by John Wiegley | ||
| 2139 | Planner is another tool to plan work and keep track of tasks. Planner | ||
| 2140 | uses a multi-file approach with project pages and day pages. Is based | ||
| 2141 | on Emacs-Wiki. It can be useful to display the agenda entries | ||
| 2142 | resulting from org files in day-pages of the planner. This can be | ||
| 2143 | done through the diary of the calendar: Integrate org files into the | ||
| 2144 | diary as described above, and then turn on the diary support of | ||
| 2145 | planner. | ||
| 2146 | @cindex @file{table.el} | 2367 | @cindex @file{table.el} |
| 2147 | @item @file{table.el} by Takaaki Ota | 2368 | @item @file{table.el} by Takaaki Ota |
| 2148 | Org mode cooperates with table.el, see @ref{table.el}. | 2369 | Org mode cooperates with table.el, see @ref{table.el}. |
| 2370 | @cindex @file{calc.el} | ||
| 2371 | @item @file{calc.el} by Dave Gillespie | ||
| 2372 | Org-mode uses the calc package for implementing spreadsheet | ||
| 2373 | functionality in its tables (@pxref{Table calculations}). Org-modes | ||
| 2374 | checks for the availability of calc by looking for the function | ||
| 2375 | @code{calc-eval} which should be autoloaded in your setup if calc has | ||
| 2376 | been installed properly. As of Emacs 22, calc is part of the Emacs | ||
| 2377 | distribution. Another possibility for interaction between the two | ||
| 2378 | packages is using calc for embedded calculations. @xref{Embedded Mode, | ||
| 2379 | , Embedded Mode, calc, The calc maanual}. | ||
| 2380 | @cindex @file{constants.el} | ||
| 2381 | @item @file{constants.el} by Carsten Dominik | ||
| 2382 | In a table formula (@pxref{Table calculations}), it is possible to use | ||
| 2383 | names for natural constants or units. Instead of defining you own | ||
| 2384 | constants in the variable @code{org-table-formula-constants}, install | ||
| 2385 | the @file{constants} package which defines a large number of constants | ||
| 2386 | and units, and lets you use unit prefixes like @samp{M} for | ||
| 2387 | @samp{Mega} etc. You will need version 2.0 of this package, available | ||
| 2388 | at @url{http://www.astro.uva.nl/~dominik/Tools}. Org-mode checks for | ||
| 2389 | the function @code{constants-get}, which has to be autoloaded in your | ||
| 2390 | setup. See the installation instructions in the file | ||
| 2391 | @file{constants.el}. | ||
| 2392 | @cindex @file{remember.el} | ||
| 2149 | @cindex @file{CUA.el} | 2393 | @cindex @file{CUA.el} |
| 2150 | @item @file{CUA.el} by Kim. F. Storm | 2394 | @item @file{CUA.el} by Kim. F. Storm |
| 2151 | Keybindings in Org-mode conflict with the @kbd{S-<cursor>} keys | 2395 | Keybindings in Org-mode conflict with the @kbd{S-<cursor>} keys |
| 2152 | used by CUA-mode (as well as pc-select-mode and s-region-mode) to | 2396 | used by CUA-mode (as well as pc-select-mode and s-region-mode) to |
| 2153 | select and extend the region. If you want to use one of these | 2397 | select and extend the region. If you want to use one of these |
| 2154 | packages along with Org-mode, configure the variable | 2398 | packages along with Org-mode, configure the variable |
| 2155 | @code{org-CUA-compatible}. When set, Org-mode will move the folowing | 2399 | @code{org-CUA-compatible}. When set, Org-mode will move the following |
| 2156 | keybindings in org-mode files, and in the agenda buffer (but not | 2400 | keybindings in org-mode files, and in the agenda buffer (but not |
| 2157 | during date selection). | 2401 | during date selection). |
| 2158 | @example | 2402 | @example |
| @@ -2163,7 +2407,17 @@ S-RET -> C-S-RET | |||
| 2163 | Yes, these are unfortunately more difficult to remember. If you want | 2407 | Yes, these are unfortunately more difficult to remember. If you want |
| 2164 | to have other replacement keys, look at the variable | 2408 | to have other replacement keys, look at the variable |
| 2165 | @code{org-disputed-keys}. | 2409 | @code{org-disputed-keys}. |
| 2166 | 2410 | @item @file{remember.el} by John Wiegley | |
| 2411 | Org mode cooperates with remember, see @ref{Remember}. | ||
| 2412 | @cindex @file{planner.el} | ||
| 2413 | @item @file{planner.el} by John Wiegley | ||
| 2414 | Planner is another tool to plan work and keep track of tasks. Planner | ||
| 2415 | uses a multi-file approach with project pages and day pages. Is based | ||
| 2416 | on Emacs-Wiki. If Planner is your primary tool, it can be useful to | ||
| 2417 | display the agenda entries resulting from org files in day-pages of | ||
| 2418 | the planner. This can be done through the diary of the calendar: | ||
| 2419 | Integrate org files into the diary as described above, and then turn | ||
| 2420 | on the diary support of planner. | ||
| 2167 | @end table | 2421 | @end table |
| 2168 | 2422 | ||
| 2169 | @node Bugs, Acknowledgments, Interaction, Miscellaneous | 2423 | @node Bugs, Acknowledgments, Interaction, Miscellaneous |
| @@ -2177,7 +2431,7 @@ have found too hard to fix. | |||
| 2177 | @item | 2431 | @item |
| 2178 | If you call @code{fill-paragraph} (bound to @kbd{M-q}) in a table, the | 2432 | If you call @code{fill-paragraph} (bound to @kbd{M-q}) in a table, the |
| 2179 | filling is correctly disabled. However, if some text directly | 2433 | filling is correctly disabled. However, if some text directly |
| 2180 | (without an empty line in between) preceeds or follws a table, calling | 2434 | (without an empty line in between) preceeds or follows a table, calling |
| 2181 | @code{fill-paragraph} in that text will also fill the table like | 2435 | @code{fill-paragraph} in that text will also fill the table like |
| 2182 | normal text. Also, @code{fill-region} does bypass the | 2436 | normal text. Also, @code{fill-region} does bypass the |
| 2183 | @code{fill-paragraph} code and will fill tables like normal text. | 2437 | @code{fill-paragraph} code and will fill tables like normal text. |
| @@ -2186,6 +2440,10 @@ When the application called by @kbd{C-c C-o} to open a file link fails | |||
| 2186 | (for example because the application does not exits or refuses to open | 2440 | (for example because the application does not exits or refuses to open |
| 2187 | the file), it does so silently. No error message is displayed. | 2441 | the file), it does so silently. No error message is displayed. |
| 2188 | @item | 2442 | @item |
| 2443 | Recalculating a table line applies the formulas from left to right. | ||
| 2444 | If a formula calculated fields further down the row, multiple | ||
| 2445 | recalculation may be needed to get all fields consistent. | ||
| 2446 | @item | ||
| 2189 | Under XEmacs, if Org-mode entries are included into the diary, it is | 2447 | Under XEmacs, if Org-mode entries are included into the diary, it is |
| 2190 | not possible to jump back from the diary to the org file. Apparently, | 2448 | not possible to jump back from the diary to the org file. Apparently, |
| 2191 | the text properties are lost when the fancy-diary-display is used. | 2449 | the text properties are lost when the fancy-diary-display is used. |
| @@ -2214,8 +2472,8 @@ suggestions and patches. | |||
| 2214 | 2472 | ||
| 2215 | @itemize @bullet | 2473 | @itemize @bullet |
| 2216 | @item | 2474 | @item |
| 2217 | Matthias Rempe (Oelde) provided ideas and suggestions, a patch | 2475 | Matthias Rempe (Oelde) provided ideas, a patch introducing Windows |
| 2218 | introducing Windows NT/2000 support, and quality control. | 2476 | NT/2000 support, and quality control. |
| 2219 | @item | 2477 | @item |
| 2220 | Kevin Rogers contributed code to access VM files on remote hosts. | 2478 | Kevin Rogers contributed code to access VM files on remote hosts. |
| 2221 | @item | 2479 | @item |
| @@ -2229,8 +2487,8 @@ his ideas have found their way into the agenda. | |||
| 2229 | Philip Rooke created the Org-mode reference card. He also helped with | 2487 | Philip Rooke created the Org-mode reference card. He also helped with |
| 2230 | beta testing and contributed a number of very useful ideas. | 2488 | beta testing and contributed a number of very useful ideas. |
| 2231 | @item | 2489 | @item |
| 2232 | Christian Schlauer proposed angular brackets around links, and some | 2490 | Christian Schlauer proposed angular brackets around links, among other |
| 2233 | other useful stuff. | 2491 | things. |
| 2234 | @item | 2492 | @item |
| 2235 | David Wainberg suggested to implement an archiving mechanism. | 2493 | David Wainberg suggested to implement an archiving mechanism. |
| 2236 | @item | 2494 | @item |
| @@ -2269,7 +2527,6 @@ conflict with other packages. | |||
| 2269 | 2527 | ||
| 2270 | @bye | 2528 | @bye |
| 2271 | 2529 | ||
| 2272 | |||
| 2273 | @ignore | 2530 | @ignore |
| 2274 | arch-tag: 7893d1fe-cc57-4d13-b5e5-f494a1bcc7ac | 2531 | arch-tag: 7893d1fe-cc57-4d13-b5e5-f494a1bcc7ac |
| 2275 | @end ignore | 2532 | @end ignore |
diff --git a/msdos/COPYING b/msdos/COPYING index d60c31a97a5..3912109b5cd 100644 --- a/msdos/COPYING +++ b/msdos/COPYING | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | Version 2, June 1991 | 2 | Version 2, June 1991 |
| 3 | 3 | ||
| 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
| 5 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 5 | 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 6 | Everyone is permitted to copy and distribute verbatim copies | 6 | Everyone is permitted to copy and distribute verbatim copies |
| 7 | of this license document, but changing it is not allowed. | 7 | of this license document, but changing it is not allowed. |
| 8 | 8 | ||
| @@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found. | |||
| 305 | 305 | ||
| 306 | You should have received a copy of the GNU General Public License | 306 | You should have received a copy of the GNU General Public License |
| 307 | along with this program; if not, write to the Free Software | 307 | along with this program; if not, write to the Free Software |
| 308 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 308 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 309 | 309 | ||
| 310 | 310 | ||
| 311 | Also add information on how to contact you by electronic and paper mail. | 311 | Also add information on how to contact you by electronic and paper mail. |
| @@ -313,7 +313,7 @@ Also add information on how to contact you by electronic and paper mail. | |||
| 313 | If the program is interactive, make it output a short notice like this | 313 | If the program is interactive, make it output a short notice like this |
| 314 | when it starts in an interactive mode: | 314 | when it starts in an interactive mode: |
| 315 | 315 | ||
| 316 | Gnomovision version 69, Copyright (C) year name of author | 316 | Gnomovision version 69, Copyright (C) year name of author |
| 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
| 318 | This is free software, and you are welcome to redistribute it | 318 | This is free software, and you are welcome to redistribute it |
| 319 | under certain conditions; type `show c' for details. | 319 | under certain conditions; type `show c' for details. |
diff --git a/nt/COPYING b/nt/COPYING index d60c31a97a5..3912109b5cd 100644 --- a/nt/COPYING +++ b/nt/COPYING | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | Version 2, June 1991 | 2 | Version 2, June 1991 |
| 3 | 3 | ||
| 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
| 5 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 5 | 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 6 | Everyone is permitted to copy and distribute verbatim copies | 6 | Everyone is permitted to copy and distribute verbatim copies |
| 7 | of this license document, but changing it is not allowed. | 7 | of this license document, but changing it is not allowed. |
| 8 | 8 | ||
| @@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found. | |||
| 305 | 305 | ||
| 306 | You should have received a copy of the GNU General Public License | 306 | You should have received a copy of the GNU General Public License |
| 307 | along with this program; if not, write to the Free Software | 307 | along with this program; if not, write to the Free Software |
| 308 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 308 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 309 | 309 | ||
| 310 | 310 | ||
| 311 | Also add information on how to contact you by electronic and paper mail. | 311 | Also add information on how to contact you by electronic and paper mail. |
| @@ -313,7 +313,7 @@ Also add information on how to contact you by electronic and paper mail. | |||
| 313 | If the program is interactive, make it output a short notice like this | 313 | If the program is interactive, make it output a short notice like this |
| 314 | when it starts in an interactive mode: | 314 | when it starts in an interactive mode: |
| 315 | 315 | ||
| 316 | Gnomovision version 69, Copyright (C) year name of author | 316 | Gnomovision version 69, Copyright (C) year name of author |
| 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
| 318 | This is free software, and you are welcome to redistribute it | 318 | This is free software, and you are welcome to redistribute it |
| 319 | under certain conditions; type `show c' for details. | 319 | under certain conditions; type `show c' for details. |
diff --git a/src/COPYING b/src/COPYING index d60c31a97a5..3912109b5cd 100644 --- a/src/COPYING +++ b/src/COPYING | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | Version 2, June 1991 | 2 | Version 2, June 1991 |
| 3 | 3 | ||
| 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
| 5 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 5 | 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 6 | Everyone is permitted to copy and distribute verbatim copies | 6 | Everyone is permitted to copy and distribute verbatim copies |
| 7 | of this license document, but changing it is not allowed. | 7 | of this license document, but changing it is not allowed. |
| 8 | 8 | ||
| @@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found. | |||
| 305 | 305 | ||
| 306 | You should have received a copy of the GNU General Public License | 306 | You should have received a copy of the GNU General Public License |
| 307 | along with this program; if not, write to the Free Software | 307 | along with this program; if not, write to the Free Software |
| 308 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 308 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 309 | 309 | ||
| 310 | 310 | ||
| 311 | Also add information on how to contact you by electronic and paper mail. | 311 | Also add information on how to contact you by electronic and paper mail. |
| @@ -313,7 +313,7 @@ Also add information on how to contact you by electronic and paper mail. | |||
| 313 | If the program is interactive, make it output a short notice like this | 313 | If the program is interactive, make it output a short notice like this |
| 314 | when it starts in an interactive mode: | 314 | when it starts in an interactive mode: |
| 315 | 315 | ||
| 316 | Gnomovision version 69, Copyright (C) year name of author | 316 | Gnomovision version 69, Copyright (C) year name of author |
| 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
| 318 | This is free software, and you are welcome to redistribute it | 318 | This is free software, and you are welcome to redistribute it |
| 319 | under certain conditions; type `show c' for details. | 319 | under certain conditions; type `show c' for details. |
diff --git a/src/ChangeLog b/src/ChangeLog index 046d1a321fe..3753d88a0e8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,81 @@ | |||
| 1 | 2005-07-03 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * xdisp.c (try_window): Fix previous change in how it handles | ||
| 4 | a partially-visible line or one only partly past the margin. | ||
| 5 | |||
| 6 | * window.c (window_scroll_pixel_based): Take account | ||
| 7 | of this_scroll_margin when finding point when scrolling up. | ||
| 8 | |||
| 9 | 2005-06-29 Ralf Angeli <angeli@iwi.uni-sb.de> | ||
| 10 | |||
| 11 | * window.c (window_scroll_pixel_based, window_scroll_line_based): | ||
| 12 | Handle `scroll-preserve-screen-position' non-nil, non-t specially. | ||
| 13 | (syms_of_window): <scroll-preserve-screen-position>: Doc fix. | ||
| 14 | |||
| 15 | 2005-07-02 Juri Linkov <juri@jurta.org> | ||
| 16 | |||
| 17 | * w32term.c (w32_draw_vertical_window_border): Use foreground of | ||
| 18 | VERTICAL_BORDER_FACE_ID for vertical border line. | ||
| 19 | |||
| 20 | 2005-07-02 Eli Zaretskii <eliz@gnu.org> | ||
| 21 | |||
| 22 | * fileio.c (Fcopy_file): Rearrange the code that calls fchown and | ||
| 23 | fchmod so that chmod doesn't get called on MSDOS before the file | ||
| 24 | is closed. | ||
| 25 | |||
| 26 | 2005-07-01 Jason Rumney <jasonr@gnu.org> | ||
| 27 | |||
| 28 | * w32term.c (cleartype_active): New flag for enabling sub-pixel | ||
| 29 | workaround. | ||
| 30 | (w32_initialize): Initialize it. | ||
| 31 | (w32_native_per_char_metric): Allow a couple of extra pixels when | ||
| 32 | Cleartype is active. | ||
| 33 | |||
| 34 | * w32term.c (w32_initialize): Move check for screen reader here | ||
| 35 | from syms_of_w32term. | ||
| 36 | |||
| 37 | 2005-06-30 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 38 | |||
| 39 | * xterm.c (handle_one_xevent): bzero compose_status when nbytes | ||
| 40 | is not zero. | ||
| 41 | |||
| 42 | 2005-07-01 Masatake YAMATO <jet@gyve.org> | ||
| 43 | |||
| 44 | * emacs.c (main): Passing ADD_NO_RANDOMIZE to | ||
| 45 | `personality'. | ||
| 46 | |||
| 47 | 2005-06-30 Juri Linkov <juri@jurta.org> | ||
| 48 | |||
| 49 | * xdisp.c (x_draw_vertical_border): If left fringe is not present | ||
| 50 | decrease x coord of vertical border by 1 pixel to not occupy text | ||
| 51 | area of the right window. | ||
| 52 | |||
| 53 | * xterm.c (x_draw_vertical_window_border): Use foreground of | ||
| 54 | VERTICAL_BORDER_FACE_ID for vertical border line. | ||
| 55 | |||
| 56 | * term.c (turn_on_face): In standout mode apply specified | ||
| 57 | fg to bg, and specified bg to fg (this makes the logic of | ||
| 58 | inversion on terminal consistent with X). | ||
| 59 | |||
| 60 | 2005-06-29 Juanma Barranquero <lekktu@gmail.com> | ||
| 61 | |||
| 62 | * eval.c (user_variable_p_eh): New function. | ||
| 63 | (Fuser_variable_p): Use it. Clarify docstring. | ||
| 64 | Return t for aliases of user options, nil for alias loops. | ||
| 65 | |||
| 66 | 2005-06-27 Richard M. Stallman <rms@gnu.org> | ||
| 67 | |||
| 68 | * eval.c (Fdefvar): Improve error message. | ||
| 69 | |||
| 70 | 2005-06-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 71 | |||
| 72 | * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Fix last | ||
| 73 | change. | ||
| 74 | |||
| 75 | 2005-06-27 Juanma Barranquero <lekktu@gmail.com> | ||
| 76 | |||
| 77 | * eval.c (Fdefvar): Don't try to set constant symbols. | ||
| 78 | |||
| 1 | 2005-06-25 Richard M. Stallman <rms@gnu.org> | 79 | 2005-06-25 Richard M. Stallman <rms@gnu.org> |
| 2 | 80 | ||
| 3 | * macfns.c (Fx_show_tip): Pass new arg to try_window. | 81 | * macfns.c (Fx_show_tip): Pass new arg to try_window. |
| @@ -46,17 +124,16 @@ | |||
| 46 | * xdisp.c (syms_of_xdisp) <nobreak-char-display>: Doc fix. | 124 | * xdisp.c (syms_of_xdisp) <nobreak-char-display>: Doc fix. |
| 47 | (syms_of_xdisp) <void-text-area-pointer>: Doc fix. | 125 | (syms_of_xdisp) <void-text-area-pointer>: Doc fix. |
| 48 | 126 | ||
| 49 | * fileio.c (Frename_file)[!DOS_NT]: Don't call chown on | 127 | * fileio.c (Frename_file)[!DOS_NT]: Don't call chown on MSDOS/Windows. |
| 50 | MSDOS/Windows. | ||
| 51 | 128 | ||
| 52 | 2005-06-23 Richard M. Stallman <rms@gnu.org> | 129 | 2005-06-23 Richard M. Stallman <rms@gnu.org> |
| 53 | 130 | ||
| 54 | * xdisp.c (get_next_display_element): Finish reversing the tests of | 131 | * xdisp.c (get_next_display_element): Finish reversing the tests of |
| 55 | Vnobreak_char_display. | 132 | Vnobreak_char_display. |
| 56 | 133 | ||
| 57 | * xdisp.c (Vnobreak_char_display): Renamed from Vshow_nonbreak_escape. | 134 | * xdisp.c (Vnobreak_char_display): Rename from Vshow_nonbreak_escape. |
| 58 | All uses changed. | 135 | All uses changed. |
| 59 | (Qnobreak_space): Renamed from Qno_break_space. All uses changed. | 136 | (Qnobreak_space): Rename from Qno_break_space. All uses changed. |
| 60 | (syms_of_xdisp): Define nobreak-char-display and nobreak-space. | 137 | (syms_of_xdisp): Define nobreak-char-display and nobreak-space. |
| 61 | 138 | ||
| 62 | * fileio.c (Frename_file): Preserve owner and group, if possible, | 139 | * fileio.c (Frename_file): Preserve owner and group, if possible, |
| @@ -352,8 +429,7 @@ | |||
| 352 | 429 | ||
| 353 | 2005-06-06 Eli Zaretskii <eliz@gnu.org> | 430 | 2005-06-06 Eli Zaretskii <eliz@gnu.org> |
| 354 | 431 | ||
| 355 | * w32heap.h (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_PTR): | 432 | * w32heap.h (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_PTR): Remove macros. |
| 356 | Remove macros. | ||
| 357 | 433 | ||
| 358 | * unexw32.c (RVA_TO_PTR): Move here from w32heap.h. | 434 | * unexw32.c (RVA_TO_PTR): Move here from w32heap.h. |
| 359 | 435 | ||
diff --git a/src/emacs.c b/src/emacs.c index c26dc9de9e3..5e0f42981f7 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -919,7 +919,13 @@ main (argc, argv | |||
| 919 | { | 919 | { |
| 920 | /* Set this so we only do this once. */ | 920 | /* Set this so we only do this once. */ |
| 921 | putenv("EMACS_HEAP_EXEC=true"); | 921 | putenv("EMACS_HEAP_EXEC=true"); |
| 922 | personality (PER_LINUX32); | 922 | |
| 923 | /* A flag to turn off address randomization which is introduced | ||
| 924 | in linux kernel shipped with fedora core 4 */ | ||
| 925 | #define ADD_NO_RANDOMIZE 0x0040000 | ||
| 926 | personality (PER_LINUX32 | ADD_NO_RANDOMIZE); | ||
| 927 | #undef ADD_NO_RANDOMIZE | ||
| 928 | |||
| 923 | execvp (argv[0], argv); | 929 | execvp (argv[0], argv); |
| 924 | 930 | ||
| 925 | /* If the exec fails, try to dump anyway. */ | 931 | /* If the exec fails, try to dump anyway. */ |
diff --git a/src/eval.c b/src/eval.c index c33021da7b7..17e9f7f4360 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -806,6 +806,10 @@ usage: (defvar SYMBOL &optional INITVALUE DOCSTRING) */) | |||
| 806 | register Lisp_Object sym, tem, tail; | 806 | register Lisp_Object sym, tem, tail; |
| 807 | 807 | ||
| 808 | sym = Fcar (args); | 808 | sym = Fcar (args); |
| 809 | if (SYMBOL_CONSTANT_P (sym)) | ||
| 810 | error ("Constant symbol `%s' specified in defvar", | ||
| 811 | SDATA (SYMBOL_NAME (sym))); | ||
| 812 | |||
| 809 | tail = Fcdr (args); | 813 | tail = Fcdr (args); |
| 810 | if (!NILP (Fcdr (Fcdr (tail)))) | 814 | if (!NILP (Fcdr (Fcdr (tail)))) |
| 811 | error ("Too many arguments"); | 815 | error ("Too many arguments"); |
| @@ -885,12 +889,24 @@ usage: (defconst SYMBOL INITVALUE [DOCSTRING]) */) | |||
| 885 | return sym; | 889 | return sym; |
| 886 | } | 890 | } |
| 887 | 891 | ||
| 892 | /* Error handler used in Fuser_variable_p. */ | ||
| 893 | static Lisp_Object | ||
| 894 | user_variable_p_eh (ignore) | ||
| 895 | Lisp_Object ignore; | ||
| 896 | { | ||
| 897 | return Qnil; | ||
| 898 | } | ||
| 899 | |||
| 888 | DEFUN ("user-variable-p", Fuser_variable_p, Suser_variable_p, 1, 1, 0, | 900 | DEFUN ("user-variable-p", Fuser_variable_p, Suser_variable_p, 1, 1, 0, |
| 889 | doc: /* Returns t if VARIABLE is intended to be set and modified by users. | 901 | doc: /* Return t if VARIABLE is intended to be set and modified by users. |
| 890 | \(The alternative is a variable used internally in a Lisp program.) | 902 | \(The alternative is a variable used internally in a Lisp program.) |
| 891 | Determined by whether the first character of the documentation | 903 | A variable is a user variable if |
| 892 | for the variable is `*' or if the variable is customizable (has a non-nil | 904 | \(1) the first character of its documentation is `*', or |
| 893 | value of `standard-value' or of `custom-autoload' on its property list). */) | 905 | \(2) it is customizable (its property list contains a non-nil value |
| 906 | of `standard-value' or `custom-autoload'), or | ||
| 907 | \(3) it is an alias for another user variable. | ||
| 908 | Return nil if VARIABLE is an alias and there is a loop in the | ||
| 909 | chain of symbols. */) | ||
| 894 | (variable) | 910 | (variable) |
| 895 | Lisp_Object variable; | 911 | Lisp_Object variable; |
| 896 | { | 912 | { |
| @@ -899,23 +915,37 @@ value of `standard-value' or of `custom-autoload' on its property list). */) | |||
| 899 | if (!SYMBOLP (variable)) | 915 | if (!SYMBOLP (variable)) |
| 900 | return Qnil; | 916 | return Qnil; |
| 901 | 917 | ||
| 902 | documentation = Fget (variable, Qvariable_documentation); | 918 | /* If indirect and there's an alias loop, don't check anything else. */ |
| 903 | if (INTEGERP (documentation) && XINT (documentation) < 0) | 919 | if (XSYMBOL (variable)->indirect_variable |
| 904 | return Qt; | 920 | && NILP (internal_condition_case_1 (indirect_variable, variable, |
| 905 | if (STRINGP (documentation) | 921 | Qt, user_variable_p_eh))) |
| 906 | && ((unsigned char) SREF (documentation, 0) == '*')) | 922 | return Qnil; |
| 907 | return Qt; | 923 | |
| 908 | /* If it is (STRING . INTEGER), a negative integer means a user variable. */ | 924 | while (1) |
| 909 | if (CONSP (documentation) | 925 | { |
| 910 | && STRINGP (XCAR (documentation)) | 926 | documentation = Fget (variable, Qvariable_documentation); |
| 911 | && INTEGERP (XCDR (documentation)) | 927 | if (INTEGERP (documentation) && XINT (documentation) < 0) |
| 912 | && XINT (XCDR (documentation)) < 0) | 928 | return Qt; |
| 913 | return Qt; | 929 | if (STRINGP (documentation) |
| 914 | /* Customizable? See `custom-variable-p'. */ | 930 | && ((unsigned char) SREF (documentation, 0) == '*')) |
| 915 | if ((!NILP (Fget (variable, intern ("standard-value")))) | 931 | return Qt; |
| 916 | || (!NILP (Fget (variable, intern ("custom-autoload"))))) | 932 | /* If it is (STRING . INTEGER), a negative integer means a user variable. */ |
| 917 | return Qt; | 933 | if (CONSP (documentation) |
| 918 | return Qnil; | 934 | && STRINGP (XCAR (documentation)) |
| 935 | && INTEGERP (XCDR (documentation)) | ||
| 936 | && XINT (XCDR (documentation)) < 0) | ||
| 937 | return Qt; | ||
| 938 | /* Customizable? See `custom-variable-p'. */ | ||
| 939 | if ((!NILP (Fget (variable, intern ("standard-value")))) | ||
| 940 | || (!NILP (Fget (variable, intern ("custom-autoload"))))) | ||
| 941 | return Qt; | ||
| 942 | |||
| 943 | if (!XSYMBOL (variable)->indirect_variable) | ||
| 944 | return Qnil; | ||
| 945 | |||
| 946 | /* An indirect variable? Let's follow the chain. */ | ||
| 947 | variable = XSYMBOL (variable)->value; | ||
| 948 | } | ||
| 919 | } | 949 | } |
| 920 | 950 | ||
| 921 | DEFUN ("let*", FletX, SletX, 1, UNEVALLED, 0, | 951 | DEFUN ("let*", FletX, SletX, 1, UNEVALLED, 0, |
diff --git a/src/fileio.c b/src/fileio.c index ac81f73df16..24820f6d3f9 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -2523,7 +2523,7 @@ uid and gid of FILE to NEWNAME. */) | |||
| 2523 | copyable by us. */ | 2523 | copyable by us. */ |
| 2524 | input_file_statable_p = (fstat (ifd, &st) >= 0); | 2524 | input_file_statable_p = (fstat (ifd, &st) >= 0); |
| 2525 | 2525 | ||
| 2526 | #if !defined (DOS_NT) || __DJGPP__ > 1 | 2526 | #if !defined (MSDOS) || __DJGPP__ > 1 |
| 2527 | if (out_st.st_mode != 0 | 2527 | if (out_st.st_mode != 0 |
| 2528 | && st.st_dev == out_st.st_dev && st.st_ino == out_st.st_ino) | 2528 | && st.st_dev == out_st.st_dev && st.st_ino == out_st.st_ino) |
| 2529 | { | 2529 | { |
| @@ -2576,25 +2576,16 @@ uid and gid of FILE to NEWNAME. */) | |||
| 2576 | report_file_error ("I/O error", Fcons (newname, Qnil)); | 2576 | report_file_error ("I/O error", Fcons (newname, Qnil)); |
| 2577 | immediate_quit = 0; | 2577 | immediate_quit = 0; |
| 2578 | 2578 | ||
| 2579 | /* Preserve the owner and group, if requested. */ | 2579 | #ifndef MSDOS |
| 2580 | if (input_file_statable_p && ! NILP (preserve_uid_gid)) | 2580 | /* Preserve the original file modes, and if requested, also its |
| 2581 | fchown (ofd, st.st_uid, st.st_gid); | 2581 | owner and group. */ |
| 2582 | |||
| 2583 | if (input_file_statable_p) | 2582 | if (input_file_statable_p) |
| 2584 | { | 2583 | { |
| 2585 | #ifndef MSDOS | 2584 | if (! NILP (preserve_uid_gid)) |
| 2585 | fchown (ofd, st.st_uid, st.st_gid); | ||
| 2586 | fchmod (ofd, st.st_mode & 07777); | 2586 | fchmod (ofd, st.st_mode & 07777); |
| 2587 | #else /* MSDOS */ | ||
| 2588 | #if defined (__DJGPP__) && __DJGPP__ > 1 | ||
| 2589 | /* In DJGPP v2.0 and later, fstat usually returns true file mode bits, | ||
| 2590 | and if it can't, it tells so. Otherwise, under MSDOS we usually | ||
| 2591 | get only the READ bit, which will make the copied file read-only, | ||
| 2592 | so it's better not to chmod at all. */ | ||
| 2593 | if ((_djstat_flags & _STFAIL_WRITEBIT) == 0) | ||
| 2594 | chmod (SDATA (encoded_newname), st.st_mode & 07777); | ||
| 2595 | #endif /* DJGPP version 2 or newer */ | ||
| 2596 | #endif /* MSDOS */ | ||
| 2597 | } | 2587 | } |
| 2588 | #endif /* not MSDOS */ | ||
| 2598 | 2589 | ||
| 2599 | /* Closing the output clobbers the file times on some systems. */ | 2590 | /* Closing the output clobbers the file times on some systems. */ |
| 2600 | if (emacs_close (ofd) < 0) | 2591 | if (emacs_close (ofd) < 0) |
| @@ -2616,7 +2607,19 @@ uid and gid of FILE to NEWNAME. */) | |||
| 2616 | } | 2607 | } |
| 2617 | 2608 | ||
| 2618 | emacs_close (ifd); | 2609 | emacs_close (ifd); |
| 2619 | #endif /* WINDOWSNT */ | 2610 | |
| 2611 | #if defined (__DJGPP__) && __DJGPP__ > 1 | ||
| 2612 | if (input_file_statable_p) | ||
| 2613 | { | ||
| 2614 | /* In DJGPP v2.0 and later, fstat usually returns true file mode bits, | ||
| 2615 | and if it can't, it tells so. Otherwise, under MSDOS we usually | ||
| 2616 | get only the READ bit, which will make the copied file read-only, | ||
| 2617 | so it's better not to chmod at all. */ | ||
| 2618 | if ((_djstat_flags & _STFAIL_WRITEBIT) == 0) | ||
| 2619 | chmod (SDATA (encoded_newname), st.st_mode & 07777); | ||
| 2620 | } | ||
| 2621 | #endif /* DJGPP version 2 or newer */ | ||
| 2622 | #endif /* not WINDOWSNT */ | ||
| 2620 | 2623 | ||
| 2621 | /* Discard the unwind protects. */ | 2624 | /* Discard the unwind protects. */ |
| 2622 | specpdl_ptr = specpdl + count; | 2625 | specpdl_ptr = specpdl + count; |
diff --git a/src/macterm.c b/src/macterm.c index f5c71ab2c24..a97dc6203f6 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -7640,6 +7640,7 @@ static Boolean mac_convert_event_ref (EventRef eventRef, EventRecord *eventRec) | |||
| 7640 | default: | 7640 | default: |
| 7641 | break; | 7641 | break; |
| 7642 | } | 7642 | } |
| 7643 | break; | ||
| 7643 | 7644 | ||
| 7644 | case kEventClassKeyboard: | 7645 | case kEventClassKeyboard: |
| 7645 | switch (GetEventKind (eventRef)) | 7646 | switch (GetEventKind (eventRef)) |
| @@ -7662,6 +7663,7 @@ static Boolean mac_convert_event_ref (EventRef eventRef, EventRecord *eventRec) | |||
| 7662 | default: | 7663 | default: |
| 7663 | break; | 7664 | break; |
| 7664 | } | 7665 | } |
| 7666 | break; | ||
| 7665 | 7667 | ||
| 7666 | default: | 7668 | default: |
| 7667 | break; | 7669 | break; |
diff --git a/src/term.c b/src/term.c index 1d165d36aca..4fbf87daba8 100644 --- a/src/term.c +++ b/src/term.c | |||
| @@ -1850,14 +1850,20 @@ turn_on_face (f, face_id) | |||
| 1850 | 1850 | ||
| 1851 | if (fg >= 0 && tty->TS_set_foreground) | 1851 | if (fg >= 0 && tty->TS_set_foreground) |
| 1852 | { | 1852 | { |
| 1853 | p = tparam (tty->TS_set_foreground, NULL, 0, (int) fg); | 1853 | if (tty->standout_mode) |
| 1854 | p = tparam (tty->TS_set_background, NULL, 0, (int) fg); | ||
| 1855 | else | ||
| 1856 | p = tparam (tty->TS_set_foreground, NULL, 0, (int) fg); | ||
| 1854 | OUTPUT (tty, p); | 1857 | OUTPUT (tty, p); |
| 1855 | xfree (p); | 1858 | xfree (p); |
| 1856 | } | 1859 | } |
| 1857 | 1860 | ||
| 1858 | if (bg >= 0 && tty->TS_set_background) | 1861 | if (bg >= 0 && tty->TS_set_background) |
| 1859 | { | 1862 | { |
| 1860 | p = tparam (tty->TS_set_background, NULL, 0, (int) bg); | 1863 | if (tty->standout_mode) |
| 1864 | p = tparam (tty->TS_set_foreground, NULL, 0, (int) bg); | ||
| 1865 | else | ||
| 1866 | p = tparam (tty->TS_set_background, NULL, 0, (int) bg); | ||
| 1861 | OUTPUT (tty, p); | 1867 | OUTPUT (tty, p); |
| 1862 | xfree (p); | 1868 | xfree (p); |
| 1863 | } | 1869 | } |
diff --git a/src/w32term.c b/src/w32term.c index 57f27d70e4d..9e6f50e9c21 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -138,6 +138,9 @@ int w32_use_visible_system_caret; | |||
| 138 | for Far East languages. */ | 138 | for Far East languages. */ |
| 139 | int w32_enable_unicode_output; | 139 | int w32_enable_unicode_output; |
| 140 | 140 | ||
| 141 | /* Flag to enable Cleartype hack for font metrics. */ | ||
| 142 | static int cleartype_active; | ||
| 143 | |||
| 141 | DWORD dwWindowsThreadId = 0; | 144 | DWORD dwWindowsThreadId = 0; |
| 142 | HANDLE hWindowsThread = NULL; | 145 | HANDLE hWindowsThread = NULL; |
| 143 | DWORD dwMainThreadId = 0; | 146 | DWORD dwMainThreadId = 0; |
| @@ -507,6 +510,7 @@ w32_draw_vertical_window_border (w, x, y0, y1) | |||
| 507 | struct frame *f = XFRAME (WINDOW_FRAME (w)); | 510 | struct frame *f = XFRAME (WINDOW_FRAME (w)); |
| 508 | RECT r; | 511 | RECT r; |
| 509 | HDC hdc; | 512 | HDC hdc; |
| 513 | struct face *face; | ||
| 510 | 514 | ||
| 511 | r.left = x; | 515 | r.left = x; |
| 512 | r.right = x + 1; | 516 | r.right = x + 1; |
| @@ -514,7 +518,12 @@ w32_draw_vertical_window_border (w, x, y0, y1) | |||
| 514 | r.bottom = y1; | 518 | r.bottom = y1; |
| 515 | 519 | ||
| 516 | hdc = get_frame_dc (f); | 520 | hdc = get_frame_dc (f); |
| 517 | w32_fill_rect (f, hdc, FRAME_FOREGROUND_PIXEL (f), &r); | 521 | face = FACE_FROM_ID (f, VERTICAL_BORDER_FACE_ID); |
| 522 | if (face) | ||
| 523 | w32_fill_rect (f, hdc, face->foreground, &r); | ||
| 524 | else | ||
| 525 | w32_fill_rect (f, hdc, FRAME_FOREGROUND_PIXEL (f), &r); | ||
| 526 | |||
| 518 | release_frame_dc (f, hdc); | 527 | release_frame_dc (f, hdc); |
| 519 | } | 528 | } |
| 520 | 529 | ||
| @@ -907,6 +916,16 @@ w32_native_per_char_metric (font, char2b, font_type, pcm) | |||
| 907 | int real_width; | 916 | int real_width; |
| 908 | GetCharWidth (hdc, *char2b, *char2b, &real_width); | 917 | GetCharWidth (hdc, *char2b, *char2b, &real_width); |
| 909 | #endif | 918 | #endif |
| 919 | if (cleartype_active) | ||
| 920 | { | ||
| 921 | /* Cleartype antialiasing causes characters to overhang | ||
| 922 | by a pixel on each side compared with what GetCharABCWidths | ||
| 923 | reports. */ | ||
| 924 | char_widths.abcA -= 1; | ||
| 925 | char_widths.abcC -= 1; | ||
| 926 | char_widths.abcB += 2; | ||
| 927 | } | ||
| 928 | |||
| 910 | pcm->width = char_widths.abcA + char_widths.abcB + char_widths.abcC; | 929 | pcm->width = char_widths.abcA + char_widths.abcB + char_widths.abcC; |
| 911 | #if 0 | 930 | #if 0 |
| 912 | /* As far as I can tell, this is the best way to determine what | 931 | /* As far as I can tell, this is the best way to determine what |
| @@ -6404,6 +6423,12 @@ w32_initialize () | |||
| 6404 | w32_system_caret_x = 0; | 6423 | w32_system_caret_x = 0; |
| 6405 | w32_system_caret_y = 0; | 6424 | w32_system_caret_y = 0; |
| 6406 | 6425 | ||
| 6426 | /* Initialize w32_use_visible_system_caret based on whether a screen | ||
| 6427 | reader is in use. */ | ||
| 6428 | if (!SystemParametersInfo (SPI_GETSCREENREADER, 0, | ||
| 6429 | &w32_use_visible_system_caret, 0)) | ||
| 6430 | w32_use_visible_system_caret = 0; | ||
| 6431 | |||
| 6407 | last_tool_bar_item = -1; | 6432 | last_tool_bar_item = -1; |
| 6408 | any_help_event_p = 0; | 6433 | any_help_event_p = 0; |
| 6409 | 6434 | ||
| @@ -6448,6 +6473,8 @@ w32_initialize () | |||
| 6448 | /* Dynamically link to optional system components. */ | 6473 | /* Dynamically link to optional system components. */ |
| 6449 | { | 6474 | { |
| 6450 | HANDLE user_lib = LoadLibrary ("user32.dll"); | 6475 | HANDLE user_lib = LoadLibrary ("user32.dll"); |
| 6476 | UINT smoothing_type; | ||
| 6477 | BOOL smoothing_enabled; | ||
| 6451 | 6478 | ||
| 6452 | #define LOAD_PROC(fn) pfn##fn = (void *) GetProcAddress (user_lib, #fn) | 6479 | #define LOAD_PROC(fn) pfn##fn = (void *) GetProcAddress (user_lib, #fn) |
| 6453 | 6480 | ||
| @@ -6468,6 +6495,28 @@ w32_initialize () | |||
| 6468 | effectively form the border of the main scroll bar range. */ | 6495 | effectively form the border of the main scroll bar range. */ |
| 6469 | vertical_scroll_bar_top_border = vertical_scroll_bar_bottom_border | 6496 | vertical_scroll_bar_top_border = vertical_scroll_bar_bottom_border |
| 6470 | = GetSystemMetrics (SM_CYVSCROLL); | 6497 | = GetSystemMetrics (SM_CYVSCROLL); |
| 6498 | |||
| 6499 | /* Constants that are not always defined by the system headers | ||
| 6500 | since they only exist on certain versions of Windows. */ | ||
| 6501 | #ifndef SPI_GETFONTSMOOTHING | ||
| 6502 | #define SPI_GETFONTSMOOTHING 0x4A | ||
| 6503 | #endif | ||
| 6504 | #ifndef SPI_GETFONTSMOOTHINGTYPE | ||
| 6505 | #define SPI_GETFONTSMOOTHINGTYPE 0x0200A | ||
| 6506 | #endif | ||
| 6507 | #ifndef FE_FONTSMOOTHINGCLEARTYPE | ||
| 6508 | #define FE_FONTSMOOTHINGCLEARTYPE 0x2 | ||
| 6509 | #endif | ||
| 6510 | |||
| 6511 | /* Determine if Cleartype is in use. Used to enable a hack in | ||
| 6512 | the char metric calculations which adds extra pixels to | ||
| 6513 | compensate for the "sub-pixels" that are not counted by the | ||
| 6514 | system APIs. */ | ||
| 6515 | cleartype_active = | ||
| 6516 | SystemParametersInfo (SPI_GETFONTSMOOTHING, 0, &smoothing_enabled, 0) | ||
| 6517 | && smoothing_enabled | ||
| 6518 | && SystemParametersInfo (SPI_GETFONTSMOOTHINGTYPE, 0, &smoothing_type, 0) | ||
| 6519 | && smoothing_type == FE_FONTSMOOTHINGCLEARTYPE; | ||
| 6471 | } | 6520 | } |
| 6472 | } | 6521 | } |
| 6473 | 6522 | ||
| @@ -6537,11 +6586,7 @@ software is running as it starts up. | |||
| 6537 | When this variable is set, other variables affecting the appearance of | 6586 | When this variable is set, other variables affecting the appearance of |
| 6538 | the cursor have no effect. */); | 6587 | the cursor have no effect. */); |
| 6539 | 6588 | ||
| 6540 | /* Initialize w32_use_visible_system_caret based on whether a screen | 6589 | w32_use_visible_system_caret = 0; |
| 6541 | reader is in use. */ | ||
| 6542 | if (!SystemParametersInfo (SPI_GETSCREENREADER, 0, | ||
| 6543 | &w32_use_visible_system_caret, 0)) | ||
| 6544 | w32_use_visible_system_caret = 0; | ||
| 6545 | 6590 | ||
| 6546 | /* We don't yet support this, but defining this here avoids whining | 6591 | /* We don't yet support this, but defining this here avoids whining |
| 6547 | from cus-start.el and other places, like "M-x set-variable". */ | 6592 | from cus-start.el and other places, like "M-x set-variable". */ |
diff --git a/src/window.c b/src/window.c index df284420ddf..38d680fbc72 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -4785,7 +4785,9 @@ window_scroll_pixel_based (window, n, whole, noerror) | |||
| 4785 | /* We moved the window start towards ZV, so PT may be now | 4785 | /* We moved the window start towards ZV, so PT may be now |
| 4786 | in the scroll margin at the top. */ | 4786 | in the scroll margin at the top. */ |
| 4787 | move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS); | 4787 | move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS); |
| 4788 | if (IT_CHARPOS (it) == PT && it.current_y >= this_scroll_margin) | 4788 | if (IT_CHARPOS (it) == PT && it.current_y >= this_scroll_margin |
| 4789 | && (NILP (Vscroll_preserve_screen_position) | ||
| 4790 | || EQ (Vscroll_preserve_screen_position, Qt))) | ||
| 4789 | /* We found PT at a legitimate height. Leave it alone. */ | 4791 | /* We found PT at a legitimate height. Leave it alone. */ |
| 4790 | ; | 4792 | ; |
| 4791 | else if (preserve_y >= 0) | 4793 | else if (preserve_y >= 0) |
| @@ -4822,7 +4824,9 @@ window_scroll_pixel_based (window, n, whole, noerror) | |||
| 4822 | /* We moved the window start towards BEGV, so PT may be now | 4824 | /* We moved the window start towards BEGV, so PT may be now |
| 4823 | in the scroll margin at the bottom. */ | 4825 | in the scroll margin at the bottom. */ |
| 4824 | move_it_to (&it, PT, -1, | 4826 | move_it_to (&it, PT, -1, |
| 4825 | it.last_visible_y - this_scroll_margin - 1, -1, | 4827 | (it.last_visible_y - CURRENT_HEADER_LINE_HEIGHT (w) |
| 4828 | - this_scroll_margin - 1), | ||
| 4829 | -1, | ||
| 4826 | MOVE_TO_POS | MOVE_TO_Y); | 4830 | MOVE_TO_POS | MOVE_TO_Y); |
| 4827 | 4831 | ||
| 4828 | /* Save our position, in case it's correct. */ | 4832 | /* Save our position, in case it's correct. */ |
| @@ -4838,7 +4842,9 @@ window_scroll_pixel_based (window, n, whole, noerror) | |||
| 4838 | partial_p = it.current_y > it.last_visible_y; | 4842 | partial_p = it.current_y > it.last_visible_y; |
| 4839 | } | 4843 | } |
| 4840 | 4844 | ||
| 4841 | if (charpos == PT && !partial_p) | 4845 | if (charpos == PT && !partial_p |
| 4846 | && (NILP (Vscroll_preserve_screen_position) | ||
| 4847 | || EQ (Vscroll_preserve_screen_position, Qt))) | ||
| 4842 | /* We found PT before we found the display margin, so PT is ok. */ | 4848 | /* We found PT before we found the display margin, so PT is ok. */ |
| 4843 | ; | 4849 | ; |
| 4844 | else if (preserve_y >= 0) | 4850 | else if (preserve_y >= 0) |
| @@ -4953,7 +4959,8 @@ window_scroll_line_based (window, n, whole, noerror) | |||
| 4953 | the window-scroll-functions. */ | 4959 | the window-scroll-functions. */ |
| 4954 | w->force_start = Qt; | 4960 | w->force_start = Qt; |
| 4955 | 4961 | ||
| 4956 | if (whole && !NILP (Vscroll_preserve_screen_position)) | 4962 | if (!NILP (Vscroll_preserve_screen_position) |
| 4963 | && (whole || !EQ (Vscroll_preserve_screen_position, Qt))) | ||
| 4957 | { | 4964 | { |
| 4958 | SET_PT_BOTH (pos, pos_byte); | 4965 | SET_PT_BOTH (pos, pos_byte); |
| 4959 | Fvertical_motion (make_number (original_vpos), window); | 4966 | Fvertical_motion (make_number (original_vpos), window); |
| @@ -6916,9 +6923,13 @@ If there is only one window, it is split regardless of this value. */); | |||
| 6916 | 6923 | ||
| 6917 | DEFVAR_LISP ("scroll-preserve-screen-position", | 6924 | DEFVAR_LISP ("scroll-preserve-screen-position", |
| 6918 | &Vscroll_preserve_screen_position, | 6925 | &Vscroll_preserve_screen_position, |
| 6919 | doc: /* *Non-nil means scroll commands move point to keep its screen line unchanged. | 6926 | doc: /* *Controls if scroll commands move point to keep its screen line unchanged. |
| 6920 | This is only when it is impossible to keep point fixed and still | 6927 | A value of nil means point does not keep its screen position except |
| 6921 | scroll as specified. */); | 6928 | at the scroll margin or window boundary respectively. |
| 6929 | A value of t means point keeps its screen position if the scroll | ||
| 6930 | command moved it vertically out of the window, e.g. when scrolling | ||
| 6931 | by full screens. | ||
| 6932 | Any other value means point always keeps its screen position. */); | ||
| 6922 | Vscroll_preserve_screen_position = Qnil; | 6933 | Vscroll_preserve_screen_position = Qnil; |
| 6923 | 6934 | ||
| 6924 | DEFVAR_LISP ("window-configuration-change-hook", | 6935 | DEFVAR_LISP ("window-configuration-change-hook", |
diff --git a/src/xdisp.c b/src/xdisp.c index 1fc5a8b277c..40eaaa46779 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -12748,11 +12748,11 @@ try_window (window, pos, check_margins) | |||
| 12748 | 12748 | ||
| 12749 | if ((w->cursor.y < this_scroll_margin | 12749 | if ((w->cursor.y < this_scroll_margin |
| 12750 | && CHARPOS (pos) > BEGV) | 12750 | && CHARPOS (pos) > BEGV) |
| 12751 | /* Old redisplay didn't take scroll margin into account at the bottom, | 12751 | /* rms: considering make_cursor_line_fully_visible_p here |
| 12752 | but then global-hl-line-mode doesn't scroll. KFS 2004-06-14 */ | 12752 | seems to give wrong results. We don't want to recenter |
| 12753 | || (w->cursor.y + (make_cursor_line_fully_visible_p | 12753 | when the last line is partly visible, we want to allow |
| 12754 | ? cursor_height + this_scroll_margin | 12754 | that case to be handled in the usual way. */ |
| 12755 | : 1)) > it.last_visible_y) | 12755 | || (w->cursor.y + 1) > it.last_visible_y) |
| 12756 | { | 12756 | { |
| 12757 | w->cursor.vpos = -1; | 12757 | w->cursor.vpos = -1; |
| 12758 | clear_glyph_matrix (w->desired_matrix); | 12758 | clear_glyph_matrix (w->desired_matrix); |
| @@ -22409,6 +22409,9 @@ x_draw_vertical_border (w) | |||
| 22409 | window_box_edges (w, -1, &x0, &y0, &x1, &y1); | 22409 | window_box_edges (w, -1, &x0, &y0, &x1, &y1); |
| 22410 | y1 -= 1; | 22410 | y1 -= 1; |
| 22411 | 22411 | ||
| 22412 | if (WINDOW_LEFT_FRINGE_WIDTH (w) == 0) | ||
| 22413 | x1 -= 1; | ||
| 22414 | |||
| 22412 | FRAME_RIF (f)->draw_vertical_window_border (w, x1, y0, y1); | 22415 | FRAME_RIF (f)->draw_vertical_window_border (w, x1, y0, y1); |
| 22413 | } | 22416 | } |
| 22414 | else if (!WINDOW_LEFTMOST_P (w) | 22417 | else if (!WINDOW_LEFTMOST_P (w) |
| @@ -22419,6 +22422,9 @@ x_draw_vertical_border (w) | |||
| 22419 | window_box_edges (w, -1, &x0, &y0, &x1, &y1); | 22422 | window_box_edges (w, -1, &x0, &y0, &x1, &y1); |
| 22420 | y1 -= 1; | 22423 | y1 -= 1; |
| 22421 | 22424 | ||
| 22425 | if (WINDOW_LEFT_FRINGE_WIDTH (w) == 0) | ||
| 22426 | x0 -= 1; | ||
| 22427 | |||
| 22422 | FRAME_RIF (f)->draw_vertical_window_border (w, x0, y0, y1); | 22428 | FRAME_RIF (f)->draw_vertical_window_border (w, x0, y0, y1); |
| 22423 | } | 22429 | } |
| 22424 | } | 22430 | } |
diff --git a/src/xterm.c b/src/xterm.c index 68d2e46cc77..1a52e0e5893 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -546,6 +546,12 @@ x_draw_vertical_window_border (w, x, y0, y1) | |||
| 546 | int x, y0, y1; | 546 | int x, y0, y1; |
| 547 | { | 547 | { |
| 548 | struct frame *f = XFRAME (WINDOW_FRAME (w)); | 548 | struct frame *f = XFRAME (WINDOW_FRAME (w)); |
| 549 | struct face *face; | ||
| 550 | |||
| 551 | face = FACE_FROM_ID (f, VERTICAL_BORDER_FACE_ID); | ||
| 552 | if (face) | ||
| 553 | XSetForeground (FRAME_X_DISPLAY (f), f->output_data.x->normal_gc, | ||
| 554 | face->foreground); | ||
| 549 | 555 | ||
| 550 | XDrawLine (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), | 556 | XDrawLine (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
| 551 | f->output_data.x->normal_gc, x, y0, x, y1); | 557 | f->output_data.x->normal_gc, x, y0, x, y1); |
| @@ -6294,6 +6300,7 @@ handle_one_xevent (dpyinfo, eventp, finish, hold_quit) | |||
| 6294 | if (compose_status.chars_matched > 0 && nbytes == 0) | 6300 | if (compose_status.chars_matched > 0 && nbytes == 0) |
| 6295 | break; | 6301 | break; |
| 6296 | 6302 | ||
| 6303 | bzero (&compose_status, sizeof (compose_status)); | ||
| 6297 | orig_keysym = keysym; | 6304 | orig_keysym = keysym; |
| 6298 | 6305 | ||
| 6299 | /* Common for all keysym input events. */ | 6306 | /* Common for all keysym input events. */ |